From ca7dd290107856c4bd2a02108f22632243f1401c Mon Sep 17 00:00:00 2001 From: Avinash Kunnath <avinash.kunnath@fivetran.com> Date: Mon, 18 Nov 2024 08:59:11 -0800 Subject: [PATCH 1/4] Test branch for net income adjustment fix for no revenue/expense lines in accouning periods --- CHANGELOG.md | 7 ++++ README.md | 2 +- docs/catalog.json | 2 +- docs/index.html | 37 ++++++++++++++++--- docs/manifest.json | 2 +- .../int_quickbooks__retained_earnings.sql | 34 +++-------------- 6 files changed, 47 insertions(+), 37 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 80c6356a..60883743 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# dbt_quickbooks v0.17.0 +[PR #147](https://github.com/fivetran/dbt_quickbooks/pull/147) introduces the following updates: + +## Bug Fix +- Updated the logic in `int_quickbooks__retained_earnings` to ensure accounting periods with no revenue and expense class lines were accounted for. + - This will ensure the net income adjustment is available regardless of existing revenue or expenses. + # dbt_quickbooks v0.16.0 [PR #143](https://github.com/fivetran/dbt_quickbooks/pull/143) introduces the following updates: diff --git a/README.md b/README.md index 249b1d12..0e3d9a2d 100644 --- a/README.md +++ b/README.md @@ -73,7 +73,7 @@ Include the following QuickBooks package version in your `packages.yml` file. ```yaml packages: - package: fivetran/quickbooks - version: [">=0.16.0", "<0.17.0"] # we recommend using ranges to capture non-breaking changes automatically + version: [">=0.17.0", "<0.18.0"] # we recommend using ranges to capture non-breaking changes automatically ``` Do NOT include the `quickbooks_source` package in this file. The transformation package itself has a dependency on it and will install the source package as well. diff --git a/docs/catalog.json b/docs/catalog.json index 0d8a8fe0..1ece75e3 100644 --- a/docs/catalog.json +++ b/docs/catalog.json @@ -1 +1 @@ -{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/catalog/v1.json", "dbt_version": "1.7.17", "generated_at": "2024-10-30T18:14:01.952000Z", "invocation_id": "5e462e89-eb06-4175-ba3f-5765b3765c13", "env": {}}, "nodes": {"seed.quickbooks_integration_tests.account_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "account_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "account_number": {"type": "integer", "index": 3, "name": "account_number", "comment": null}, "account_sub_type": {"type": "text", "index": 4, "name": "account_sub_type", "comment": null}, "account_type": {"type": "text", "index": 5, "name": "account_type", "comment": null}, "active": {"type": "boolean", "index": 6, "name": "active", "comment": null}, "balance": {"type": "integer", "index": 7, "name": "balance", "comment": null}, "balance_with_sub_accounts": {"type": "integer", "index": 8, "name": "balance_with_sub_accounts", "comment": null}, "classification": {"type": "text", "index": 9, "name": "classification", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 10, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 11, "name": "currency_id", "comment": null}, "description": {"type": "integer", "index": 12, "name": "description", "comment": null}, "fully_qualified_name": {"type": "text", "index": 13, "name": "fully_qualified_name", "comment": null}, "name": {"type": "text", "index": 14, "name": "name", "comment": null}, "parent_account_id": {"type": "integer", "index": 15, "name": "parent_account_id", "comment": null}, "sub_account": {"type": "boolean", "index": 16, "name": "sub_account", "comment": null}, "sync_token": {"type": "integer", "index": 17, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 18, "name": "tax_code_id", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 19, "name": "updated_at", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 20, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.account_data"}, "seed.quickbooks_integration_tests.address_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "address_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "city": {"type": "text", "index": 3, "name": "city", "comment": null}, "country": {"type": "text", "index": 4, "name": "country", "comment": null}, "country_sub_division_code": {"type": "text", "index": 5, "name": "country_sub_division_code", "comment": null}, "latitude": {"type": "integer", "index": 6, "name": "latitude", "comment": null}, "line_1": {"type": "text", "index": 7, "name": "line_1", "comment": null}, "line_2": {"type": "text", "index": 8, "name": "line_2", "comment": null}, "line_3": {"type": "integer", "index": 9, "name": "line_3", "comment": null}, "line_4": {"type": "integer", "index": 10, "name": "line_4", "comment": null}, "line_5": {"type": "integer", "index": 11, "name": "line_5", "comment": null}, "longitude": {"type": "integer", "index": 12, "name": "longitude", "comment": null}, "postal_code": {"type": "integer", "index": 13, "name": "postal_code", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.address_data"}, "seed.quickbooks_integration_tests.bill_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "bill_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "balance": {"type": "integer", "index": 4, "name": "balance", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 6, "name": "currency_id", "comment": null}, "department_id": {"type": "integer", "index": 7, "name": "department_id", "comment": null}, "doc_number": {"type": "date", "index": 8, "name": "doc_number", "comment": null}, "due_date": {"type": "date", "index": 9, "name": "due_date", "comment": null}, "exchange_rate": {"type": "integer", "index": 10, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 11, "name": "global_tax_calculation", "comment": null}, "home_balance": {"type": "integer", "index": 12, "name": "home_balance", "comment": null}, "payable_account_id": {"type": "integer", "index": 13, "name": "payable_account_id", "comment": null}, "private_note": {"type": "text", "index": 14, "name": "private_note", "comment": null}, "sales_term_id": {"type": "integer", "index": 15, "name": "sales_term_id", "comment": null}, "sync_token": {"type": "integer", "index": 16, "name": "sync_token", "comment": null}, "total_amount": {"type": "integer", "index": 17, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 18, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 19, "name": "updated_at", "comment": null}, "vendor_id": {"type": "integer", "index": 20, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.bill_data"}, "seed.quickbooks_integration_tests.bill_line_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "bill_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bill_id": {"type": "integer", "index": 1, "name": "bill_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_expense_account_id": {"type": "integer", "index": 4, "name": "account_expense_account_id", "comment": null}, "account_expense_billable_status": {"type": "character varying(100)", "index": 5, "name": "account_expense_billable_status", "comment": null}, "account_expense_class_id": {"type": "integer", "index": 6, "name": "account_expense_class_id", "comment": null}, "account_expense_customer_id": {"type": "integer", "index": 7, "name": "account_expense_customer_id", "comment": null}, "account_expense_tax_amount": {"type": "integer", "index": 8, "name": "account_expense_tax_amount", "comment": null}, "account_expense_tax_code_id": {"type": "text", "index": 9, "name": "account_expense_tax_code_id", "comment": null}, "amount": {"type": "double precision", "index": 10, "name": "amount", "comment": null}, "description": {"type": "text", "index": 11, "name": "description", "comment": null}, "item_expense_billable_status": {"type": "character varying(100)", "index": 12, "name": "item_expense_billable_status", "comment": null}, "item_expense_class_id": {"type": "integer", "index": 13, "name": "item_expense_class_id", "comment": null}, "item_expense_customer_id": {"type": "integer", "index": 14, "name": "item_expense_customer_id", "comment": null}, "item_expense_item_id": {"type": "integer", "index": 15, "name": "item_expense_item_id", "comment": null}, "item_expense_quantity": {"type": "integer", "index": 16, "name": "item_expense_quantity", "comment": null}, "item_expense_tax_code_id": {"type": "integer", "index": 17, "name": "item_expense_tax_code_id", "comment": null}, "item_expense_unit_price": {"type": "integer", "index": 18, "name": "item_expense_unit_price", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.bill_line_data"}, "seed.quickbooks_integration_tests.bill_linked_txn_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "bill_linked_txn_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bill_id": {"type": "integer", "index": 1, "name": "bill_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "bill_payment_id": {"type": "integer", "index": 4, "name": "bill_payment_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.bill_linked_txn_data"}, "seed.quickbooks_integration_tests.bill_payment_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "bill_payment_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "check_bank_account_id": {"type": "integer", "index": 4, "name": "check_bank_account_id", "comment": null}, "check_print_status": {"type": "text", "index": 5, "name": "check_print_status", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 6, "name": "created_at", "comment": null}, "credit_card_account_id": {"type": "integer", "index": 7, "name": "credit_card_account_id", "comment": null}, "currency_id": {"type": "text", "index": 8, "name": "currency_id", "comment": null}, "department_id": {"type": "integer", "index": 9, "name": "department_id", "comment": null}, "doc_number": {"type": "integer", "index": 10, "name": "doc_number", "comment": null}, "exchange_rate": {"type": "integer", "index": 11, "name": "exchange_rate", "comment": null}, "pay_type": {"type": "text", "index": 12, "name": "pay_type", "comment": null}, "payable_account_id": {"type": "integer", "index": 13, "name": "payable_account_id", "comment": null}, "private_note": {"type": "integer", "index": 14, "name": "private_note", "comment": null}, "process_bill_payment": {"type": "integer", "index": 15, "name": "process_bill_payment", "comment": null}, "sync_token": {"type": "integer", "index": 16, "name": "sync_token", "comment": null}, "total_amount": {"type": "integer", "index": 17, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 18, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 19, "name": "updated_at", "comment": null}, "vendor_id": {"type": "integer", "index": 20, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.bill_payment_data"}, "seed.quickbooks_integration_tests.bill_payment_line_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "bill_payment_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bill_payment_id": {"type": "integer", "index": 1, "name": "bill_payment_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "bill_id": {"type": "integer", "index": 5, "name": "bill_id", "comment": null}, "check_id": {"type": "integer", "index": 6, "name": "check_id", "comment": null}, "credit_card_charge_id": {"type": "integer", "index": 7, "name": "credit_card_charge_id", "comment": null}, "credit_card_credit_id": {"type": "integer", "index": 8, "name": "credit_card_credit_id", "comment": null}, "deposit_id": {"type": "integer", "index": 9, "name": "deposit_id", "comment": null}, "expense_id": {"type": "integer", "index": 10, "name": "expense_id", "comment": null}, "journal_entry_id": {"type": "integer", "index": 11, "name": "journal_entry_id", "comment": null}, "linked_bill_payment_id": {"type": "integer", "index": 12, "name": "linked_bill_payment_id", "comment": null}, "vendor_credit_id": {"type": "integer", "index": 13, "name": "vendor_credit_id", "comment": null}, "bill_payment_credit_card_id": {"type": "integer", "index": 14, "name": "bill_payment_credit_card_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.bill_payment_line_data"}, "seed.quickbooks_integration_tests.bundle_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "bundle_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "active": {"type": "boolean", "index": 3, "name": "active", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 4, "name": "created_at", "comment": null}, "description": {"type": "text", "index": 5, "name": "description", "comment": null}, "fully_qualified_name": {"type": "text", "index": 6, "name": "fully_qualified_name", "comment": null}, "name": {"type": "text", "index": 7, "name": "name", "comment": null}, "print_grouped_items": {"type": "boolean", "index": 8, "name": "print_grouped_items", "comment": null}, "purchase_cost": {"type": "integer", "index": 9, "name": "purchase_cost", "comment": null}, "sync_token": {"type": "integer", "index": 10, "name": "sync_token", "comment": null}, "taxable": {"type": "boolean", "index": 11, "name": "taxable", "comment": null}, "unit_price": {"type": "integer", "index": 12, "name": "unit_price", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 13, "name": "updated_at", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 14, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.bundle_data"}, "seed.quickbooks_integration_tests.bundle_item_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "bundle_item_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bundle_id": {"type": "integer", "index": 1, "name": "bundle_id", "comment": null}, "item_id": {"type": "integer", "index": 2, "name": "item_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "item_quantity": {"type": "integer", "index": 4, "name": "item_quantity", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.bundle_item_data"}, "seed.quickbooks_integration_tests.credit_card_payment_txn_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "credit_card_payment_txn_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "amount": {"type": "double precision", "index": 2, "name": "amount", "comment": null}, "bank_account_id": {"type": "integer", "index": 3, "name": "bank_account_id", "comment": null}, "credit_card_account_id": {"type": "integer", "index": 4, "name": "credit_card_account_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 6, "name": "updated_at", "comment": null}, "currency_id": {"type": "text", "index": 7, "name": "currency_id", "comment": null}, "transaction_date": {"type": "date", "index": 8, "name": "transaction_date", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 9, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.credit_card_payment_txn_data"}, "seed.quickbooks_integration_tests.credit_memo_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "credit_memo_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "apply_tax_after_discount": {"type": "boolean", "index": 4, "name": "apply_tax_after_discount", "comment": null}, "balance": {"type": "integer", "index": 5, "name": "balance", "comment": null}, "bill_email": {"type": "text", "index": 6, "name": "bill_email", "comment": null}, "billing_address_id": {"type": "integer", "index": 7, "name": "billing_address_id", "comment": null}, "class_id": {"type": "integer", "index": 8, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 9, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 10, "name": "currency_id", "comment": null}, "custom_p_o_number": {"type": "integer", "index": 11, "name": "custom_p_o_number", "comment": null}, "customer_id": {"type": "integer", "index": 12, "name": "customer_id", "comment": null}, "customer_memo": {"type": "text", "index": 13, "name": "customer_memo", "comment": null}, "department_id": {"type": "integer", "index": 14, "name": "department_id", "comment": null}, "doc_number": {"type": "integer", "index": 15, "name": "doc_number", "comment": null}, "email_status": {"type": "text", "index": 16, "name": "email_status", "comment": null}, "exchange_rate": {"type": "integer", "index": 17, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 18, "name": "global_tax_calculation", "comment": null}, "home_balance": {"type": "integer", "index": 19, "name": "home_balance", "comment": null}, "home_total_amount": {"type": "integer", "index": 20, "name": "home_total_amount", "comment": null}, "payment_method_id": {"type": "integer", "index": 21, "name": "payment_method_id", "comment": null}, "print_status": {"type": "text", "index": 22, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 23, "name": "private_note", "comment": null}, "remaining_credit": {"type": "integer", "index": 24, "name": "remaining_credit", "comment": null}, "sales_term_id": {"type": "integer", "index": 25, "name": "sales_term_id", "comment": null}, "shipping_address_id": {"type": "integer", "index": 26, "name": "shipping_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 27, "name": "sync_token", "comment": null}, "total_amount": {"type": "integer", "index": 28, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 29, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 30, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 31, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.credit_memo_data"}, "seed.quickbooks_integration_tests.credit_memo_line_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "credit_memo_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"credit_memo_id": {"type": "integer", "index": 1, "name": "credit_memo_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "bundle_id": {"type": "integer", "index": 5, "name": "bundle_id", "comment": null}, "bundle_quantity": {"type": "integer", "index": 6, "name": "bundle_quantity", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 8, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 9, "name": "description_tax_code_id", "comment": null}, "discount_account_id": {"type": "integer", "index": 10, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "integer", "index": 11, "name": "discount_class_id", "comment": null}, "discount_discount_percent": {"type": "integer", "index": 12, "name": "discount_discount_percent", "comment": null}, "discount_percent_based": {"type": "integer", "index": 13, "name": "discount_percent_based", "comment": null}, "discount_tax_code_id": {"type": "integer", "index": 14, "name": "discount_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 15, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "integer", "index": 16, "name": "sales_item_class_id", "comment": null}, "sales_item_discount_amount": {"type": "integer", "index": 17, "name": "sales_item_discount_amount", "comment": null}, "sales_item_discount_rate": {"type": "integer", "index": 18, "name": "sales_item_discount_rate", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 19, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "double precision", "index": 20, "name": "sales_item_quantity", "comment": null}, "sales_item_service_date": {"type": "integer", "index": 21, "name": "sales_item_service_date", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 22, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_unit_price": {"type": "double precision", "index": 23, "name": "sales_item_unit_price", "comment": null}, "sub_total_item_id": {"type": "integer", "index": 24, "name": "sub_total_item_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.credit_memo_line_data"}, "seed.quickbooks_integration_tests.customer_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "customer_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "active": {"type": "boolean", "index": 3, "name": "active", "comment": null}, "alternate_phone_number": {"type": "integer", "index": 4, "name": "alternate_phone_number", "comment": null}, "ar_account_id": {"type": "integer", "index": 5, "name": "ar_account_id", "comment": null}, "balance": {"type": "integer", "index": 6, "name": "balance", "comment": null}, "balance_with_jobs": {"type": "integer", "index": 7, "name": "balance_with_jobs", "comment": null}, "bill_address_id": {"type": "integer", "index": 8, "name": "bill_address_id", "comment": null}, "bill_with_parent": {"type": "boolean", "index": 9, "name": "bill_with_parent", "comment": null}, "company_name": {"type": "text", "index": 10, "name": "company_name", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 11, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 12, "name": "currency_id", "comment": null}, "default_tax_code_id": {"type": "integer", "index": 13, "name": "default_tax_code_id", "comment": null}, "display_name": {"type": "text", "index": 14, "name": "display_name", "comment": null}, "email": {"type": "text", "index": 15, "name": "email", "comment": null}, "family_name": {"type": "text", "index": 16, "name": "family_name", "comment": null}, "fax_number": {"type": "integer", "index": 17, "name": "fax_number", "comment": null}, "fully_qualified_name": {"type": "text", "index": 18, "name": "fully_qualified_name", "comment": null}, "given_name": {"type": "text", "index": 19, "name": "given_name", "comment": null}, "job": {"type": "boolean", "index": 20, "name": "job", "comment": null}, "level": {"type": "integer", "index": 21, "name": "level", "comment": null}, "middle_name": {"type": "integer", "index": 22, "name": "middle_name", "comment": null}, "mobile_number": {"type": "integer", "index": 23, "name": "mobile_number", "comment": null}, "notes": {"type": "integer", "index": 24, "name": "notes", "comment": null}, "open_balance_date": {"type": "integer", "index": 25, "name": "open_balance_date", "comment": null}, "parent_customer_id": {"type": "integer", "index": 26, "name": "parent_customer_id", "comment": null}, "payment_method_id": {"type": "integer", "index": 27, "name": "payment_method_id", "comment": null}, "phone_number": {"type": "integer", "index": 28, "name": "phone_number", "comment": null}, "preferred_delivery_method": {"type": "text", "index": 29, "name": "preferred_delivery_method", "comment": null}, "print_on_check_name": {"type": "text", "index": 30, "name": "print_on_check_name", "comment": null}, "resale_number": {"type": "integer", "index": 31, "name": "resale_number", "comment": null}, "sales_term_id": {"type": "integer", "index": 32, "name": "sales_term_id", "comment": null}, "shipping_address_id": {"type": "integer", "index": 33, "name": "shipping_address_id", "comment": null}, "suffix": {"type": "integer", "index": 34, "name": "suffix", "comment": null}, "sync_token": {"type": "integer", "index": 35, "name": "sync_token", "comment": null}, "tax_exemption_reason_id": {"type": "integer", "index": 36, "name": "tax_exemption_reason_id", "comment": null}, "taxable": {"type": "boolean", "index": 37, "name": "taxable", "comment": null}, "title": {"type": "integer", "index": 38, "name": "title", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 39, "name": "updated_at", "comment": null}, "website": {"type": "integer", "index": 40, "name": "website", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 41, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.customer_data"}, "seed.quickbooks_integration_tests.department_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "department_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "active": {"type": "boolean", "index": 3, "name": "active", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 4, "name": "created_at", "comment": null}, "fully_qualified_name": {"type": "text", "index": 5, "name": "fully_qualified_name", "comment": null}, "name": {"type": "text", "index": 6, "name": "name", "comment": null}, "parent_department_id": {"type": "integer", "index": 7, "name": "parent_department_id", "comment": null}, "sub_department": {"type": "boolean", "index": 8, "name": "sub_department", "comment": null}, "sync_token": {"type": "integer", "index": 9, "name": "sync_token", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 10, "name": "updated_at", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 11, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.department_data"}, "seed.quickbooks_integration_tests.deposit_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "deposit_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_id": {"type": "integer", "index": 4, "name": "account_id", "comment": null}, "cash_back_account_id": {"type": "integer", "index": 5, "name": "cash_back_account_id", "comment": null}, "cash_back_amount": {"type": "integer", "index": 6, "name": "cash_back_amount", "comment": null}, "cash_back_memo": {"type": "integer", "index": 7, "name": "cash_back_memo", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 8, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 9, "name": "currency_id", "comment": null}, "department_id": {"type": "integer", "index": 10, "name": "department_id", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 11, "name": "global_tax_calculation", "comment": null}, "home_total_amount": {"type": "integer", "index": 12, "name": "home_total_amount", "comment": null}, "private_note": {"type": "text", "index": 13, "name": "private_note", "comment": null}, "sync_token": {"type": "integer", "index": 14, "name": "sync_token", "comment": null}, "total_amount": {"type": "integer", "index": 15, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 16, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 17, "name": "transaction_source", "comment": null}, "transaction_status": {"type": "integer", "index": 18, "name": "transaction_status", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 19, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.deposit_data"}, "seed.quickbooks_integration_tests.deposit_line_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "deposit_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"deposit_id": {"type": "integer", "index": 1, "name": "deposit_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "deposit_account_id": {"type": "bigint", "index": 5, "name": "deposit_account_id", "comment": null}, "deposit_check_number": {"type": "integer", "index": 6, "name": "deposit_check_number", "comment": null}, "deposit_class_id": {"type": "bigint", "index": 7, "name": "deposit_class_id", "comment": null}, "deposit_customer_id": {"type": "integer", "index": 8, "name": "deposit_customer_id", "comment": null}, "deposit_payment_method_id": {"type": "integer", "index": 9, "name": "deposit_payment_method_id", "comment": null}, "deposit_tax_applicable_on": {"type": "integer", "index": 10, "name": "deposit_tax_applicable_on", "comment": null}, "deposit_tax_code_id": {"type": "integer", "index": 11, "name": "deposit_tax_code_id", "comment": null}, "deposit_transaction_type": {"type": "integer", "index": 12, "name": "deposit_transaction_type", "comment": null}, "description": {"type": "text", "index": 13, "name": "description", "comment": null}, "detail_type": {"type": "text", "index": 14, "name": "detail_type", "comment": null}, "expense_id": {"type": "integer", "index": 15, "name": "expense_id", "comment": null}, "invoice_id": {"type": "integer", "index": 16, "name": "invoice_id", "comment": null}, "journal_entry_id": {"type": "integer", "index": 17, "name": "journal_entry_id", "comment": null}, "payment_id": {"type": "integer", "index": 18, "name": "payment_id", "comment": null}, "purchase_id": {"type": "integer", "index": 19, "name": "purchase_id", "comment": null}, "refund_receipt_id": {"type": "integer", "index": 20, "name": "refund_receipt_id", "comment": null}, "sales_receipt_id": {"type": "integer", "index": 21, "name": "sales_receipt_id", "comment": null}, "transfer_id": {"type": "integer", "index": 22, "name": "transfer_id", "comment": null}, "bill_id": {"type": "integer", "index": 23, "name": "bill_id", "comment": null}, "vendor_credit_id": {"type": "integer", "index": 24, "name": "vendor_credit_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.deposit_line_data"}, "seed.quickbooks_integration_tests.estimate_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "estimate_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "accepted_by": {"type": "integer", "index": 4, "name": "accepted_by", "comment": null}, "accepted_date": {"type": "integer", "index": 5, "name": "accepted_date", "comment": null}, "apply_tax_after_discount": {"type": "boolean", "index": 6, "name": "apply_tax_after_discount", "comment": null}, "bill_email": {"type": "text", "index": 7, "name": "bill_email", "comment": null}, "billing_address_id": {"type": "integer", "index": 8, "name": "billing_address_id", "comment": null}, "class_id": {"type": "integer", "index": 9, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 10, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 11, "name": "currency_id", "comment": null}, "custom_p_o_number": {"type": "integer", "index": 12, "name": "custom_p_o_number", "comment": null}, "custom_sales_rep": {"type": "integer", "index": 13, "name": "custom_sales_rep", "comment": null}, "customer_id": {"type": "integer", "index": 14, "name": "customer_id", "comment": null}, "customer_memo": {"type": "text", "index": 15, "name": "customer_memo", "comment": null}, "delivery_type": {"type": "integer", "index": 16, "name": "delivery_type", "comment": null}, "department_id": {"type": "integer", "index": 17, "name": "department_id", "comment": null}, "doc_number": {"type": "integer", "index": 18, "name": "doc_number", "comment": null}, "due_date": {"type": "date", "index": 19, "name": "due_date", "comment": null}, "email_status": {"type": "text", "index": 20, "name": "email_status", "comment": null}, "exchange_rate": {"type": "integer", "index": 21, "name": "exchange_rate", "comment": null}, "expiration_date": {"type": "integer", "index": 22, "name": "expiration_date", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 23, "name": "global_tax_calculation", "comment": null}, "home_total_amount": {"type": "integer", "index": 24, "name": "home_total_amount", "comment": null}, "print_status": {"type": "text", "index": 25, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 26, "name": "private_note", "comment": null}, "sales_term_id": {"type": "integer", "index": 27, "name": "sales_term_id", "comment": null}, "ship_date": {"type": "integer", "index": 28, "name": "ship_date", "comment": null}, "shipping_address_id": {"type": "integer", "index": 29, "name": "shipping_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 30, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 31, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "double precision", "index": 32, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 33, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 34, "name": "transaction_date", "comment": null}, "transaction_status": {"type": "text", "index": 35, "name": "transaction_status", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 36, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.estimate_data"}, "seed.quickbooks_integration_tests.estimate_line_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "estimate_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"estimate_id": {"type": "integer", "index": 1, "name": "estimate_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "bundle_id": {"type": "integer", "index": 5, "name": "bundle_id", "comment": null}, "bundle_quantity": {"type": "integer", "index": 6, "name": "bundle_quantity", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 8, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 9, "name": "description_tax_code_id", "comment": null}, "discount_account_id": {"type": "integer", "index": 10, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "integer", "index": 11, "name": "discount_class_id", "comment": null}, "discount_discount_percent": {"type": "integer", "index": 12, "name": "discount_discount_percent", "comment": null}, "discount_percent_based": {"type": "integer", "index": 13, "name": "discount_percent_based", "comment": null}, "discount_tax_code_id": {"type": "integer", "index": 14, "name": "discount_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 15, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "integer", "index": 16, "name": "sales_item_class_id", "comment": null}, "sales_item_discount_amount": {"type": "integer", "index": 17, "name": "sales_item_discount_amount", "comment": null}, "sales_item_discount_rate": {"type": "integer", "index": 18, "name": "sales_item_discount_rate", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 19, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "integer", "index": 20, "name": "sales_item_quantity", "comment": null}, "sales_item_service_date": {"type": "integer", "index": 21, "name": "sales_item_service_date", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 22, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_unit_price": {"type": "integer", "index": 23, "name": "sales_item_unit_price", "comment": null}, "sub_total_item_id": {"type": "integer", "index": 24, "name": "sub_total_item_id", "comment": null}, "item_id": {"type": "integer", "index": 25, "name": "item_id", "comment": null}, "quantity": {"type": "integer", "index": 26, "name": "quantity", "comment": null}, "tax_code_id": {"type": "integer", "index": 27, "name": "tax_code_id", "comment": null}, "account_id": {"type": "integer", "index": 28, "name": "account_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.estimate_line_data"}, "seed.quickbooks_integration_tests.invoice_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "invoice_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "allow_ipnpayment": {"type": "boolean", "index": 4, "name": "allow_ipnpayment", "comment": null}, "allow_online_achpayment": {"type": "boolean", "index": 5, "name": "allow_online_achpayment", "comment": null}, "allow_online_credit_card_payment": {"type": "boolean", "index": 6, "name": "allow_online_credit_card_payment", "comment": null}, "allow_online_payment": {"type": "boolean", "index": 7, "name": "allow_online_payment", "comment": null}, "apply_tax_after_discount": {"type": "boolean", "index": 8, "name": "apply_tax_after_discount", "comment": null}, "balance": {"type": "integer", "index": 9, "name": "balance", "comment": null}, "billing_address_id": {"type": "integer", "index": 10, "name": "billing_address_id", "comment": null}, "billing_bcc_email": {"type": "text", "index": 11, "name": "billing_bcc_email", "comment": null}, "billing_cc_email": {"type": "integer", "index": 12, "name": "billing_cc_email", "comment": null}, "billing_email": {"type": "text", "index": 13, "name": "billing_email", "comment": null}, "class_id": {"type": "integer", "index": 14, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 15, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 16, "name": "currency_id", "comment": null}, "custom_p_o_number": {"type": "integer", "index": 17, "name": "custom_p_o_number", "comment": null}, "custom_sales_rep": {"type": "integer", "index": 18, "name": "custom_sales_rep", "comment": null}, "customer_id": {"type": "integer", "index": 19, "name": "customer_id", "comment": null}, "customer_memo": {"type": "text", "index": 20, "name": "customer_memo", "comment": null}, "delivery_time": {"type": "timestamp without time zone", "index": 21, "name": "delivery_time", "comment": null}, "delivery_type": {"type": "text", "index": 22, "name": "delivery_type", "comment": null}, "department_id": {"type": "integer", "index": 23, "name": "department_id", "comment": null}, "deposit": {"type": "integer", "index": 24, "name": "deposit", "comment": null}, "deposit_to_account_id": {"type": "integer", "index": 25, "name": "deposit_to_account_id", "comment": null}, "doc_number": {"type": "integer", "index": 26, "name": "doc_number", "comment": null}, "due_date": {"type": "date", "index": 27, "name": "due_date", "comment": null}, "email_status": {"type": "text", "index": 28, "name": "email_status", "comment": null}, "exchange_rate": {"type": "integer", "index": 29, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 30, "name": "global_tax_calculation", "comment": null}, "home_balance": {"type": "integer", "index": 31, "name": "home_balance", "comment": null}, "home_total_amount": {"type": "integer", "index": 32, "name": "home_total_amount", "comment": null}, "print_status": {"type": "text", "index": 33, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 34, "name": "private_note", "comment": null}, "sales_term_id": {"type": "integer", "index": 35, "name": "sales_term_id", "comment": null}, "ship_date": {"type": "integer", "index": 36, "name": "ship_date", "comment": null}, "shipping_address_id": {"type": "integer", "index": 37, "name": "shipping_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 38, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 39, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "integer", "index": 40, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 41, "name": "total_tax", "comment": null}, "tracking_number": {"type": "integer", "index": 42, "name": "tracking_number", "comment": null}, "transaction_date": {"type": "date", "index": 43, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 44, "name": "transaction_source", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 45, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.invoice_data"}, "seed.quickbooks_integration_tests.invoice_line_bundle_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "invoice_line_bundle_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "invoice_id": {"type": "integer", "index": 2, "name": "invoice_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_id": {"type": "integer", "index": 4, "name": "account_id", "comment": null}, "amount": {"type": "double precision", "index": 5, "name": "amount", "comment": null}, "class_id": {"type": "integer", "index": 6, "name": "class_id", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "discount_amount": {"type": "integer", "index": 8, "name": "discount_amount", "comment": null}, "discount_rate": {"type": "integer", "index": 9, "name": "discount_rate", "comment": null}, "invoice_line_index": {"type": "integer", "index": 10, "name": "invoice_line_index", "comment": null}, "item_id": {"type": "integer", "index": 11, "name": "item_id", "comment": null}, "line_num": {"type": "integer", "index": 12, "name": "line_num", "comment": null}, "quantity": {"type": "double precision", "index": 13, "name": "quantity", "comment": null}, "service_date": {"type": "integer", "index": 14, "name": "service_date", "comment": null}, "tax_code_id": {"type": "text", "index": 15, "name": "tax_code_id", "comment": null}, "unit_price": {"type": "integer", "index": 16, "name": "unit_price", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 17, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "integer", "index": 18, "name": "sales_item_quantity", "comment": null}, "sales_item_tax_code_id": {"type": "integer", "index": 19, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 20, "name": "sales_item_account_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.invoice_line_bundle_data"}, "seed.quickbooks_integration_tests.invoice_line_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "invoice_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "invoice_id": {"type": "integer", "index": 2, "name": "invoice_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "double precision", "index": 4, "name": "amount", "comment": null}, "bundle_id": {"type": "integer", "index": 5, "name": "bundle_id", "comment": null}, "bundle_quantity": {"type": "double precision", "index": 6, "name": "bundle_quantity", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 8, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 9, "name": "description_tax_code_id", "comment": null}, "discount_account_id": {"type": "integer", "index": 10, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "integer", "index": 11, "name": "discount_class_id", "comment": null}, "discount_discount_percent": {"type": "integer", "index": 12, "name": "discount_discount_percent", "comment": null}, "discount_percent_based": {"type": "integer", "index": 13, "name": "discount_percent_based", "comment": null}, "discount_tax_code_id": {"type": "integer", "index": 14, "name": "discount_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 15, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "integer", "index": 16, "name": "sales_item_class_id", "comment": null}, "sales_item_discount_amount": {"type": "integer", "index": 17, "name": "sales_item_discount_amount", "comment": null}, "sales_item_discount_rate": {"type": "integer", "index": 18, "name": "sales_item_discount_rate", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 19, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "double precision", "index": 20, "name": "sales_item_quantity", "comment": null}, "sales_item_service_date": {"type": "integer", "index": 21, "name": "sales_item_service_date", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 22, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_unit_price": {"type": "integer", "index": 23, "name": "sales_item_unit_price", "comment": null}, "sub_total_item_id": {"type": "integer", "index": 24, "name": "sub_total_item_id", "comment": null}, "item_id": {"type": "integer", "index": 25, "name": "item_id", "comment": null}, "quantity": {"type": "integer", "index": 26, "name": "quantity", "comment": null}, "tax_code_id": {"type": "integer", "index": 27, "name": "tax_code_id", "comment": null}, "account_id": {"type": "integer", "index": 28, "name": "account_id", "comment": null}, "detail_type": {"type": "text", "index": 29, "name": "detail_type", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.invoice_line_data"}, "seed.quickbooks_integration_tests.invoice_linked_txn_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "invoice_linked_txn_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "invoice_id": {"type": "integer", "index": 2, "name": "invoice_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "charge_credit_id": {"type": "integer", "index": 4, "name": "charge_credit_id", "comment": null}, "estimate_id": {"type": "integer", "index": 5, "name": "estimate_id", "comment": null}, "payment_id": {"type": "integer", "index": 6, "name": "payment_id", "comment": null}, "reimburse_charge_id": {"type": "integer", "index": 7, "name": "reimburse_charge_id", "comment": null}, "statement_charge_id": {"type": "integer", "index": 8, "name": "statement_charge_id", "comment": null}, "time_activity_id": {"type": "integer", "index": 9, "name": "time_activity_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.invoice_linked_txn_data"}, "seed.quickbooks_integration_tests.item_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "item_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "active": {"type": "boolean", "index": 3, "name": "active", "comment": null}, "asset_account_id": {"type": "integer", "index": 4, "name": "asset_account_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "description": {"type": "integer", "index": 6, "name": "description", "comment": null}, "expense_account_id": {"type": "integer", "index": 7, "name": "expense_account_id", "comment": null}, "fully_qualified_name": {"type": "text", "index": 8, "name": "fully_qualified_name", "comment": null}, "income_account_id": {"type": "integer", "index": 9, "name": "income_account_id", "comment": null}, "inventory_start_date": {"type": "integer", "index": 10, "name": "inventory_start_date", "comment": null}, "level": {"type": "integer", "index": 11, "name": "level", "comment": null}, "name": {"type": "text", "index": 12, "name": "name", "comment": null}, "parent_item_id": {"type": "integer", "index": 13, "name": "parent_item_id", "comment": null}, "purchase_cost": {"type": "integer", "index": 14, "name": "purchase_cost", "comment": null}, "purchase_description": {"type": "integer", "index": 15, "name": "purchase_description", "comment": null}, "purchase_tax_code_id": {"type": "integer", "index": 16, "name": "purchase_tax_code_id", "comment": null}, "purchase_tax_included": {"type": "integer", "index": 17, "name": "purchase_tax_included", "comment": null}, "quantity_on_hand": {"type": "integer", "index": 18, "name": "quantity_on_hand", "comment": null}, "sales_tax_code_id": {"type": "integer", "index": 19, "name": "sales_tax_code_id", "comment": null}, "sales_tax_included": {"type": "integer", "index": 20, "name": "sales_tax_included", "comment": null}, "stock_keeping_unit": {"type": "integer", "index": 21, "name": "stock_keeping_unit", "comment": null}, "sub_item": {"type": "integer", "index": 22, "name": "sub_item", "comment": null}, "sync_token": {"type": "integer", "index": 23, "name": "sync_token", "comment": null}, "taxable": {"type": "boolean", "index": 24, "name": "taxable", "comment": null}, "track_quantity_on_hand": {"type": "boolean", "index": 25, "name": "track_quantity_on_hand", "comment": null}, "type": {"type": "text", "index": 26, "name": "type", "comment": null}, "unit_price": {"type": "integer", "index": 27, "name": "unit_price", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 28, "name": "updated_at", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 29, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.item_data"}, "seed.quickbooks_integration_tests.journal_entry_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "journal_entry_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "adjustment": {"type": "boolean", "index": 4, "name": "adjustment", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 6, "name": "currency_id", "comment": null}, "doc_number": {"type": "text", "index": 7, "name": "doc_number", "comment": null}, "exchange_rate": {"type": "integer", "index": 8, "name": "exchange_rate", "comment": null}, "home_total_amount": {"type": "integer", "index": 9, "name": "home_total_amount", "comment": null}, "private_note": {"type": "text", "index": 10, "name": "private_note", "comment": null}, "sync_token": {"type": "integer", "index": 11, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 12, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "integer", "index": 13, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 14, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 15, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 16, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.journal_entry_data"}, "seed.quickbooks_integration_tests.journal_entry_line_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "journal_entry_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "journal_entry_id": {"type": "integer", "index": 2, "name": "journal_entry_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_id": {"type": "integer", "index": 4, "name": "account_id", "comment": null}, "amount": {"type": "integer", "index": 5, "name": "amount", "comment": null}, "billable_status": {"type": "integer", "index": 6, "name": "billable_status", "comment": null}, "class_id": {"type": "integer", "index": 7, "name": "class_id", "comment": null}, "customer_id": {"type": "integer", "index": 8, "name": "customer_id", "comment": null}, "department_id": {"type": "integer", "index": 9, "name": "department_id", "comment": null}, "description": {"type": "text", "index": 10, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 11, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 12, "name": "description_tax_code_id", "comment": null}, "employee_id": {"type": "integer", "index": 13, "name": "employee_id", "comment": null}, "posting_type": {"type": "text", "index": 14, "name": "posting_type", "comment": null}, "tax_amount": {"type": "integer", "index": 15, "name": "tax_amount", "comment": null}, "tax_applicable_on": {"type": "integer", "index": 16, "name": "tax_applicable_on", "comment": null}, "tax_code_id": {"type": "integer", "index": 17, "name": "tax_code_id", "comment": null}, "vendor_id": {"type": "integer", "index": 18, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.journal_entry_line_data"}, "seed.quickbooks_integration_tests.payment_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "payment_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 4, "name": "created_at", "comment": null}, "credit_card_amount": {"type": "integer", "index": 5, "name": "credit_card_amount", "comment": null}, "credit_card_auth_code": {"type": "integer", "index": 6, "name": "credit_card_auth_code", "comment": null}, "credit_card_billing_address_street": {"type": "integer", "index": 7, "name": "credit_card_billing_address_street", "comment": null}, "credit_card_cc_expiry_month": {"type": "integer", "index": 8, "name": "credit_card_cc_expiry_month", "comment": null}, "credit_card_cc_expiry_year": {"type": "integer", "index": 9, "name": "credit_card_cc_expiry_year", "comment": null}, "credit_card_cctrans_id": {"type": "integer", "index": 10, "name": "credit_card_cctrans_id", "comment": null}, "credit_card_name_on_account": {"type": "integer", "index": 11, "name": "credit_card_name_on_account", "comment": null}, "credit_card_postal_code": {"type": "integer", "index": 12, "name": "credit_card_postal_code", "comment": null}, "credit_card_process_payment": {"type": "integer", "index": 13, "name": "credit_card_process_payment", "comment": null}, "credit_card_status": {"type": "integer", "index": 14, "name": "credit_card_status", "comment": null}, "credit_card_transaction_authorization_time": {"type": "integer", "index": 15, "name": "credit_card_transaction_authorization_time", "comment": null}, "credit_card_type": {"type": "integer", "index": 16, "name": "credit_card_type", "comment": null}, "currency_id": {"type": "text", "index": 17, "name": "currency_id", "comment": null}, "customer_id": {"type": "integer", "index": 18, "name": "customer_id", "comment": null}, "deposit_to_account_id": {"type": "integer", "index": 19, "name": "deposit_to_account_id", "comment": null}, "exchange_rate": {"type": "integer", "index": 20, "name": "exchange_rate", "comment": null}, "payment_method_id": {"type": "integer", "index": 21, "name": "payment_method_id", "comment": null}, "private_note": {"type": "text", "index": 22, "name": "private_note", "comment": null}, "process_payment": {"type": "boolean", "index": 23, "name": "process_payment", "comment": null}, "receivable_account_id": {"type": "integer", "index": 24, "name": "receivable_account_id", "comment": null}, "reference_number": {"type": "integer", "index": 25, "name": "reference_number", "comment": null}, "sync_token": {"type": "integer", "index": 26, "name": "sync_token", "comment": null}, "total_amount": {"type": "double precision", "index": 27, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 28, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 29, "name": "transaction_source", "comment": null}, "transaction_status": {"type": "integer", "index": 30, "name": "transaction_status", "comment": null}, "unapplied_amount": {"type": "integer", "index": 31, "name": "unapplied_amount", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 32, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.payment_data"}, "seed.quickbooks_integration_tests.payment_line_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "payment_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "payment_id": {"type": "integer", "index": 2, "name": "payment_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "double precision", "index": 4, "name": "amount", "comment": null}, "check_id": {"type": "integer", "index": 5, "name": "check_id", "comment": null}, "credit_card_charge_id": {"type": "integer", "index": 6, "name": "credit_card_charge_id", "comment": null}, "credit_card_credit_id": {"type": "integer", "index": 7, "name": "credit_card_credit_id", "comment": null}, "credit_memo_id": {"type": "integer", "index": 8, "name": "credit_memo_id", "comment": null}, "deposit_id": {"type": "integer", "index": 9, "name": "deposit_id", "comment": null}, "expense_id": {"type": "integer", "index": 10, "name": "expense_id", "comment": null}, "invoice_id": {"type": "integer", "index": 11, "name": "invoice_id", "comment": null}, "journal_entry_id": {"type": "integer", "index": 12, "name": "journal_entry_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.payment_line_data"}, "seed.quickbooks_integration_tests.purchase_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "purchase_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_id": {"type": "integer", "index": 4, "name": "account_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "credit": {"type": "boolean", "index": 6, "name": "credit", "comment": null}, "currency_id": {"type": "text", "index": 7, "name": "currency_id", "comment": null}, "customer_id": {"type": "integer", "index": 8, "name": "customer_id", "comment": null}, "department_id": {"type": "integer", "index": 9, "name": "department_id", "comment": null}, "doc_number": {"type": "integer", "index": 10, "name": "doc_number", "comment": null}, "employee_id": {"type": "integer", "index": 11, "name": "employee_id", "comment": null}, "exchange_rate": {"type": "integer", "index": 12, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 13, "name": "global_tax_calculation", "comment": null}, "payment_method_id": {"type": "integer", "index": 14, "name": "payment_method_id", "comment": null}, "payment_type": {"type": "text", "index": 15, "name": "payment_type", "comment": null}, "print_status": {"type": "integer", "index": 16, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 17, "name": "private_note", "comment": null}, "remit_to_address_id": {"type": "integer", "index": 18, "name": "remit_to_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 19, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 20, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "integer", "index": 21, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 22, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 23, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 24, "name": "transaction_source", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 25, "name": "updated_at", "comment": null}, "vendor_id": {"type": "integer", "index": 26, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.purchase_data"}, "seed.quickbooks_integration_tests.purchase_line_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "purchase_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "purchase_id": {"type": "integer", "index": 2, "name": "purchase_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_expense_account_id": {"type": "bigint", "index": 4, "name": "account_expense_account_id", "comment": null}, "account_expense_billable_status": {"type": "text", "index": 5, "name": "account_expense_billable_status", "comment": null}, "account_expense_class_id": {"type": "integer", "index": 6, "name": "account_expense_class_id", "comment": null}, "account_expense_customer_id": {"type": "integer", "index": 7, "name": "account_expense_customer_id", "comment": null}, "account_expense_tax_amount": {"type": "integer", "index": 8, "name": "account_expense_tax_amount", "comment": null}, "account_expense_tax_code_id": {"type": "text", "index": 9, "name": "account_expense_tax_code_id", "comment": null}, "amount": {"type": "integer", "index": 10, "name": "amount", "comment": null}, "description": {"type": "text", "index": 11, "name": "description", "comment": null}, "item_expense_billable_status": {"type": "character varying(100)", "index": 12, "name": "item_expense_billable_status", "comment": null}, "item_expense_class_id": {"type": "integer", "index": 13, "name": "item_expense_class_id", "comment": null}, "item_expense_customer_id": {"type": "integer", "index": 14, "name": "item_expense_customer_id", "comment": null}, "item_expense_item_id": {"type": "integer", "index": 15, "name": "item_expense_item_id", "comment": null}, "item_expense_quantity": {"type": "integer", "index": 16, "name": "item_expense_quantity", "comment": null}, "item_expense_tax_code_id": {"type": "integer", "index": 17, "name": "item_expense_tax_code_id", "comment": null}, "item_expense_unit_price": {"type": "integer", "index": 18, "name": "item_expense_unit_price", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.purchase_line_data"}, "seed.quickbooks_integration_tests.purchase_order_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "purchase_order_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "class_id": {"type": "integer", "index": 4, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 6, "name": "currency_id", "comment": null}, "custom_customer_type": {"type": "text", "index": 7, "name": "custom_customer_type", "comment": null}, "custom_p_o_number": {"type": "integer", "index": 8, "name": "custom_p_o_number", "comment": null}, "doc_number": {"type": "integer", "index": 9, "name": "doc_number", "comment": null}, "due_date": {"type": "date", "index": 10, "name": "due_date", "comment": null}, "exchange_rate": {"type": "integer", "index": 11, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 12, "name": "global_tax_calculation", "comment": null}, "memo": {"type": "text", "index": 13, "name": "memo", "comment": null}, "payable_account_id": {"type": "integer", "index": 14, "name": "payable_account_id", "comment": null}, "private_note": {"type": "text", "index": 15, "name": "private_note", "comment": null}, "sales_term_id": {"type": "integer", "index": 16, "name": "sales_term_id", "comment": null}, "shipping_address_id": {"type": "integer", "index": 17, "name": "shipping_address_id", "comment": null}, "status": {"type": "text", "index": 18, "name": "status", "comment": null}, "sync_token": {"type": "integer", "index": 19, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 20, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "double precision", "index": 21, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 22, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 23, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 24, "name": "updated_at", "comment": null}, "vendor_address_id": {"type": "integer", "index": 25, "name": "vendor_address_id", "comment": null}, "vendor_id": {"type": "integer", "index": 26, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.purchase_order_data"}, "seed.quickbooks_integration_tests.purchase_order_line_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "purchase_order_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "purchase_order_id": {"type": "integer", "index": 2, "name": "purchase_order_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_expense_account_id": {"type": "integer", "index": 4, "name": "account_expense_account_id", "comment": null}, "account_expense_billable_status": {"type": "integer", "index": 5, "name": "account_expense_billable_status", "comment": null}, "account_expense_class_id": {"type": "integer", "index": 6, "name": "account_expense_class_id", "comment": null}, "account_expense_customer_id": {"type": "integer", "index": 7, "name": "account_expense_customer_id", "comment": null}, "account_expense_tax_amount": {"type": "integer", "index": 8, "name": "account_expense_tax_amount", "comment": null}, "account_expense_tax_code_id": {"type": "integer", "index": 9, "name": "account_expense_tax_code_id", "comment": null}, "amount": {"type": "double precision", "index": 10, "name": "amount", "comment": null}, "description": {"type": "text", "index": 11, "name": "description", "comment": null}, "item_expense_billable_status": {"type": "text", "index": 12, "name": "item_expense_billable_status", "comment": null}, "item_expense_class_id": {"type": "integer", "index": 13, "name": "item_expense_class_id", "comment": null}, "item_expense_customer_id": {"type": "integer", "index": 14, "name": "item_expense_customer_id", "comment": null}, "item_expense_item_id": {"type": "integer", "index": 15, "name": "item_expense_item_id", "comment": null}, "item_expense_quantity": {"type": "integer", "index": 16, "name": "item_expense_quantity", "comment": null}, "item_expense_tax_code_id": {"type": "text", "index": 17, "name": "item_expense_tax_code_id", "comment": null}, "item_expense_unit_price": {"type": "double precision", "index": 18, "name": "item_expense_unit_price", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.purchase_order_line_data"}, "seed.quickbooks_integration_tests.purchase_order_linked_txn_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "purchase_order_linked_txn_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "purchase_order_id": {"type": "integer", "index": 2, "name": "purchase_order_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "bill_id": {"type": "integer", "index": 4, "name": "bill_id", "comment": null}, "purchase_id": {"type": "integer", "index": 5, "name": "purchase_id", "comment": null}, "vendor_credit_id": {"type": "integer", "index": 6, "name": "vendor_credit_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.purchase_order_linked_txn_data"}, "seed.quickbooks_integration_tests.refund_receipt_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "refund_receipt_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "apply_tax_after_discount": {"type": "integer", "index": 4, "name": "apply_tax_after_discount", "comment": null}, "balance": {"type": "integer", "index": 5, "name": "balance", "comment": null}, "bill_email": {"type": "text", "index": 6, "name": "bill_email", "comment": null}, "billing_address_id": {"type": "integer", "index": 7, "name": "billing_address_id", "comment": null}, "check_payment_account_number": {"type": "integer", "index": 8, "name": "check_payment_account_number", "comment": null}, "check_payment_bank_name": {"type": "integer", "index": 9, "name": "check_payment_bank_name", "comment": null}, "check_payment_check_number": {"type": "integer", "index": 10, "name": "check_payment_check_number", "comment": null}, "check_payment_name_on_account": {"type": "integer", "index": 11, "name": "check_payment_name_on_account", "comment": null}, "check_payment_status": {"type": "integer", "index": 12, "name": "check_payment_status", "comment": null}, "class_id": {"type": "integer", "index": 13, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 14, "name": "created_at", "comment": null}, "credit_card_amount": {"type": "integer", "index": 15, "name": "credit_card_amount", "comment": null}, "credit_card_auth_code": {"type": "integer", "index": 16, "name": "credit_card_auth_code", "comment": null}, "credit_card_billing_address_street": {"type": "integer", "index": 17, "name": "credit_card_billing_address_street", "comment": null}, "credit_card_cc_expiry_month": {"type": "integer", "index": 18, "name": "credit_card_cc_expiry_month", "comment": null}, "credit_card_cc_expiry_year": {"type": "integer", "index": 19, "name": "credit_card_cc_expiry_year", "comment": null}, "credit_card_cctrans_id": {"type": "integer", "index": 20, "name": "credit_card_cctrans_id", "comment": null}, "credit_card_name_on_account": {"type": "integer", "index": 21, "name": "credit_card_name_on_account", "comment": null}, "credit_card_postal_code": {"type": "integer", "index": 22, "name": "credit_card_postal_code", "comment": null}, "credit_card_process_payment": {"type": "integer", "index": 23, "name": "credit_card_process_payment", "comment": null}, "credit_card_status": {"type": "integer", "index": 24, "name": "credit_card_status", "comment": null}, "credit_card_transaction_authorization_time": {"type": "integer", "index": 25, "name": "credit_card_transaction_authorization_time", "comment": null}, "credit_card_type": {"type": "integer", "index": 26, "name": "credit_card_type", "comment": null}, "currency_id": {"type": "text", "index": 27, "name": "currency_id", "comment": null}, "customer_id": {"type": "integer", "index": 28, "name": "customer_id", "comment": null}, "customer_memo": {"type": "text", "index": 29, "name": "customer_memo", "comment": null}, "department_id": {"type": "integer", "index": 30, "name": "department_id", "comment": null}, "deposit_to_account_id": {"type": "integer", "index": 31, "name": "deposit_to_account_id", "comment": null}, "doc_number": {"type": "integer", "index": 32, "name": "doc_number", "comment": null}, "exchange_rate": {"type": "integer", "index": 33, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 34, "name": "global_tax_calculation", "comment": null}, "home_balance": {"type": "integer", "index": 35, "name": "home_balance", "comment": null}, "home_total_amount": {"type": "integer", "index": 36, "name": "home_total_amount", "comment": null}, "payment_method_id": {"type": "integer", "index": 37, "name": "payment_method_id", "comment": null}, "payment_reference_number": {"type": "integer", "index": 38, "name": "payment_reference_number", "comment": null}, "payment_type": {"type": "integer", "index": 39, "name": "payment_type", "comment": null}, "print_status": {"type": "integer", "index": 40, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 41, "name": "private_note", "comment": null}, "shipping_address_id": {"type": "integer", "index": 42, "name": "shipping_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 43, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 44, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "integer", "index": 45, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 46, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 47, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 48, "name": "transaction_source", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 49, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.refund_receipt_data"}, "seed.quickbooks_integration_tests.refund_receipt_line_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "refund_receipt_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "refund_id": {"type": "integer", "index": 2, "name": "refund_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "bundle_id": {"type": "integer", "index": 5, "name": "bundle_id", "comment": null}, "bundle_quantity": {"type": "integer", "index": 6, "name": "bundle_quantity", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 8, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 9, "name": "description_tax_code_id", "comment": null}, "discount_account_id": {"type": "integer", "index": 10, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "integer", "index": 11, "name": "discount_class_id", "comment": null}, "discount_discount_percent": {"type": "integer", "index": 12, "name": "discount_discount_percent", "comment": null}, "discount_percent_based": {"type": "integer", "index": 13, "name": "discount_percent_based", "comment": null}, "discount_tax_code_id": {"type": "integer", "index": 14, "name": "discount_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 15, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "integer", "index": 16, "name": "sales_item_class_id", "comment": null}, "sales_item_discount_amount": {"type": "integer", "index": 17, "name": "sales_item_discount_amount", "comment": null}, "sales_item_discount_rate": {"type": "integer", "index": 18, "name": "sales_item_discount_rate", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 19, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "integer", "index": 20, "name": "sales_item_quantity", "comment": null}, "sales_item_service_date": {"type": "integer", "index": 21, "name": "sales_item_service_date", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 22, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_unit_price": {"type": "integer", "index": 23, "name": "sales_item_unit_price", "comment": null}, "sub_total_item_id": {"type": "integer", "index": 24, "name": "sub_total_item_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.refund_receipt_line_data"}, "seed.quickbooks_integration_tests.sales_receipt_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "sales_receipt_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "apply_tax_after_discount": {"type": "integer", "index": 4, "name": "apply_tax_after_discount", "comment": null}, "balance": {"type": "integer", "index": 5, "name": "balance", "comment": null}, "bill_email": {"type": "text", "index": 6, "name": "bill_email", "comment": null}, "billing_address_id": {"type": "integer", "index": 7, "name": "billing_address_id", "comment": null}, "class_id": {"type": "integer", "index": 8, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 9, "name": "created_at", "comment": null}, "credit_card_amount": {"type": "integer", "index": 10, "name": "credit_card_amount", "comment": null}, "credit_card_auth_code": {"type": "integer", "index": 11, "name": "credit_card_auth_code", "comment": null}, "credit_card_billing_address_street": {"type": "integer", "index": 12, "name": "credit_card_billing_address_street", "comment": null}, "credit_card_cc_expiry_month": {"type": "integer", "index": 13, "name": "credit_card_cc_expiry_month", "comment": null}, "credit_card_cc_expiry_year": {"type": "integer", "index": 14, "name": "credit_card_cc_expiry_year", "comment": null}, "credit_card_cctrans_id": {"type": "integer", "index": 15, "name": "credit_card_cctrans_id", "comment": null}, "credit_card_name_on_account": {"type": "integer", "index": 16, "name": "credit_card_name_on_account", "comment": null}, "credit_card_postal_code": {"type": "integer", "index": 17, "name": "credit_card_postal_code", "comment": null}, "credit_card_process_payment": {"type": "integer", "index": 18, "name": "credit_card_process_payment", "comment": null}, "credit_card_status": {"type": "integer", "index": 19, "name": "credit_card_status", "comment": null}, "credit_card_transaction_authorization_time": {"type": "integer", "index": 20, "name": "credit_card_transaction_authorization_time", "comment": null}, "credit_card_type": {"type": "integer", "index": 21, "name": "credit_card_type", "comment": null}, "currency_id": {"type": "text", "index": 22, "name": "currency_id", "comment": null}, "customer_id": {"type": "integer", "index": 23, "name": "customer_id", "comment": null}, "customer_memo": {"type": "text", "index": 24, "name": "customer_memo", "comment": null}, "delivery_time": {"type": "integer", "index": 25, "name": "delivery_time", "comment": null}, "delivery_type": {"type": "integer", "index": 26, "name": "delivery_type", "comment": null}, "department_id": {"type": "integer", "index": 27, "name": "department_id", "comment": null}, "deposit_to_account_id": {"type": "integer", "index": 28, "name": "deposit_to_account_id", "comment": null}, "doc_number": {"type": "integer", "index": 29, "name": "doc_number", "comment": null}, "email_status": {"type": "integer", "index": 30, "name": "email_status", "comment": null}, "exchange_rate": {"type": "integer", "index": 31, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 32, "name": "global_tax_calculation", "comment": null}, "home_balance": {"type": "integer", "index": 33, "name": "home_balance", "comment": null}, "home_total_amount": {"type": "integer", "index": 34, "name": "home_total_amount", "comment": null}, "payment_method_id": {"type": "integer", "index": 35, "name": "payment_method_id", "comment": null}, "payment_reference_number": {"type": "integer", "index": 36, "name": "payment_reference_number", "comment": null}, "print_status": {"type": "integer", "index": 37, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 38, "name": "private_note", "comment": null}, "ship_date": {"type": "integer", "index": 39, "name": "ship_date", "comment": null}, "shipping_address_id": {"type": "integer", "index": 40, "name": "shipping_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 41, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 42, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "integer", "index": 43, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 44, "name": "total_tax", "comment": null}, "tracking_number": {"type": "integer", "index": 45, "name": "tracking_number", "comment": null}, "transaction_date": {"type": "date", "index": 46, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 47, "name": "transaction_source", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 48, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.sales_receipt_data"}, "seed.quickbooks_integration_tests.sales_receipt_line_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "sales_receipt_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "sales_receipt_id": {"type": "integer", "index": 2, "name": "sales_receipt_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "bundle_id": {"type": "integer", "index": 5, "name": "bundle_id", "comment": null}, "bundle_quantity": {"type": "integer", "index": 6, "name": "bundle_quantity", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 8, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 9, "name": "description_tax_code_id", "comment": null}, "discount_account_id": {"type": "integer", "index": 10, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "integer", "index": 11, "name": "discount_class_id", "comment": null}, "discount_discount_percent": {"type": "integer", "index": 12, "name": "discount_discount_percent", "comment": null}, "discount_percent_based": {"type": "integer", "index": 13, "name": "discount_percent_based", "comment": null}, "discount_tax_code_id": {"type": "integer", "index": 14, "name": "discount_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 15, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "integer", "index": 16, "name": "sales_item_class_id", "comment": null}, "sales_item_discount_amount": {"type": "integer", "index": 17, "name": "sales_item_discount_amount", "comment": null}, "sales_item_discount_rate": {"type": "integer", "index": 18, "name": "sales_item_discount_rate", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 19, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "integer", "index": 20, "name": "sales_item_quantity", "comment": null}, "sales_item_service_date": {"type": "integer", "index": 21, "name": "sales_item_service_date", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 22, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_unit_price": {"type": "integer", "index": 23, "name": "sales_item_unit_price", "comment": null}, "sub_total_item_id": {"type": "integer", "index": 24, "name": "sub_total_item_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.sales_receipt_line_data"}, "seed.quickbooks_integration_tests.transfer_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "transfer_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "from_account_id": {"type": "integer", "index": 6, "name": "from_account_id", "comment": null}, "private_note": {"type": "text", "index": 7, "name": "private_note", "comment": null}, "sync_token": {"type": "integer", "index": 8, "name": "sync_token", "comment": null}, "to_account_id": {"type": "integer", "index": 9, "name": "to_account_id", "comment": null}, "transaction_date": {"type": "date", "index": 10, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 11, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.transfer_data"}, "seed.quickbooks_integration_tests.vendor_credit_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "vendor_credit_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "balance": {"type": "integer", "index": 4, "name": "balance", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 6, "name": "currency_id", "comment": null}, "department_id": {"type": "integer", "index": 7, "name": "department_id", "comment": null}, "doc_number": {"type": "integer", "index": 8, "name": "doc_number", "comment": null}, "exchange_rate": {"type": "integer", "index": 9, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 10, "name": "global_tax_calculation", "comment": null}, "payable_account_id": {"type": "integer", "index": 11, "name": "payable_account_id", "comment": null}, "private_note": {"type": "text", "index": 12, "name": "private_note", "comment": null}, "sync_token": {"type": "integer", "index": 13, "name": "sync_token", "comment": null}, "total_amount": {"type": "integer", "index": 14, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 15, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 16, "name": "updated_at", "comment": null}, "vendor_id": {"type": "integer", "index": 17, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.vendor_credit_data"}, "seed.quickbooks_integration_tests.vendor_credit_line_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "vendor_credit_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "vendor_credit_id": {"type": "integer", "index": 2, "name": "vendor_credit_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_expense_account_id": {"type": "integer", "index": 4, "name": "account_expense_account_id", "comment": null}, "account_expense_billable_status": {"type": "character varying(100)", "index": 5, "name": "account_expense_billable_status", "comment": null}, "account_expense_class_id": {"type": "integer", "index": 6, "name": "account_expense_class_id", "comment": null}, "account_expense_customer_id": {"type": "integer", "index": 7, "name": "account_expense_customer_id", "comment": null}, "account_expense_tax_amount": {"type": "integer", "index": 8, "name": "account_expense_tax_amount", "comment": null}, "account_expense_tax_code_id": {"type": "text", "index": 9, "name": "account_expense_tax_code_id", "comment": null}, "amount": {"type": "integer", "index": 10, "name": "amount", "comment": null}, "description": {"type": "text", "index": 11, "name": "description", "comment": null}, "item_expense_billable_status": {"type": "character varying(100)", "index": 12, "name": "item_expense_billable_status", "comment": null}, "item_expense_class_id": {"type": "integer", "index": 13, "name": "item_expense_class_id", "comment": null}, "item_expense_customer_id": {"type": "integer", "index": 14, "name": "item_expense_customer_id", "comment": null}, "item_expense_item_id": {"type": "integer", "index": 15, "name": "item_expense_item_id", "comment": null}, "item_expense_quantity": {"type": "integer", "index": 16, "name": "item_expense_quantity", "comment": null}, "item_expense_tax_code_id": {"type": "integer", "index": 17, "name": "item_expense_tax_code_id", "comment": null}, "item_expense_unit_price": {"type": "integer", "index": 18, "name": "item_expense_unit_price", "comment": null}, "private_note": {"type": "integer", "index": 19, "name": "private_note", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.vendor_credit_line_data"}, "seed.quickbooks_integration_tests.vendor_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "vendor_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "account_number": {"type": "integer", "index": 3, "name": "account_number", "comment": null}, "active": {"type": "boolean", "index": 4, "name": "active", "comment": null}, "alternate_phone": {"type": "integer", "index": 5, "name": "alternate_phone", "comment": null}, "balance": {"type": "integer", "index": 6, "name": "balance", "comment": null}, "billing_address_id": {"type": "integer", "index": 7, "name": "billing_address_id", "comment": null}, "company_name": {"type": "text", "index": 8, "name": "company_name", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 9, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 10, "name": "currency_id", "comment": null}, "display_name": {"type": "text", "index": 11, "name": "display_name", "comment": null}, "email": {"type": "text", "index": 12, "name": "email", "comment": null}, "family_name": {"type": "integer", "index": 13, "name": "family_name", "comment": null}, "fax_number": {"type": "integer", "index": 14, "name": "fax_number", "comment": null}, "given_name": {"type": "integer", "index": 15, "name": "given_name", "comment": null}, "middle_name": {"type": "integer", "index": 16, "name": "middle_name", "comment": null}, "mobile_phone": {"type": "integer", "index": 17, "name": "mobile_phone", "comment": null}, "other_contacts": {"type": "integer", "index": 18, "name": "other_contacts", "comment": null}, "primary_phone": {"type": "integer", "index": 19, "name": "primary_phone", "comment": null}, "print_on_check_name": {"type": "text", "index": 20, "name": "print_on_check_name", "comment": null}, "suffix": {"type": "integer", "index": 21, "name": "suffix", "comment": null}, "sync_token": {"type": "integer", "index": 22, "name": "sync_token", "comment": null}, "tax_identifier": {"type": "integer", "index": 23, "name": "tax_identifier", "comment": null}, "term_id": {"type": "integer", "index": 24, "name": "term_id", "comment": null}, "title": {"type": "integer", "index": 25, "name": "title", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 26, "name": "updated_at", "comment": null}, "vendor_1099": {"type": "boolean", "index": 27, "name": "vendor_1099", "comment": null}, "web_url": {"type": "integer", "index": 28, "name": "web_url", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 29, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.vendor_data"}, "model.quickbooks.int_quickbooks__account_classifications": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__account_classifications", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"account_id": {"type": "text", "index": 1, "name": "account_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "account_number": {"type": "text", "index": 3, "name": "account_number", "comment": null}, "is_sub_account": {"type": "boolean", "index": 4, "name": "is_sub_account", "comment": null}, "parent_account_id": {"type": "text", "index": 5, "name": "parent_account_id", "comment": null}, "name": {"type": "text", "index": 6, "name": "name", "comment": null}, "account_type": {"type": "text", "index": 7, "name": "account_type", "comment": null}, "account_sub_type": {"type": "text", "index": 8, "name": "account_sub_type", "comment": null}, "balance": {"type": "integer", "index": 9, "name": "balance", "comment": null}, "balance_with_sub_accounts": {"type": "integer", "index": 10, "name": "balance_with_sub_accounts", "comment": null}, "is_active": {"type": "boolean", "index": 11, "name": "is_active", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 12, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 13, "name": "currency_id", "comment": null}, "description": {"type": "integer", "index": 14, "name": "description", "comment": null}, "fully_qualified_name": {"type": "text", "index": 15, "name": "fully_qualified_name", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 16, "name": "updated_at", "comment": null}, "classification": {"type": "text", "index": 17, "name": "classification", "comment": null}, "multiplier": {"type": "integer", "index": 18, "name": "multiplier", "comment": null}, "financial_statement_helper": {"type": "text", "index": 19, "name": "financial_statement_helper", "comment": null}, "transaction_type": {"type": "text", "index": 20, "name": "transaction_type", "comment": null}, "adjusted_balance": {"type": "integer", "index": 21, "name": "adjusted_balance", "comment": null}, "parent_account_number": {"type": "text", "index": 22, "name": "parent_account_number", "comment": null}, "parent_account_name": {"type": "text", "index": 23, "name": "parent_account_name", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__account_classifications"}, "model.quickbooks.int_quickbooks__bill_double_entry": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__bill_double_entry", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "index": {"type": "integer", "index": 3, "name": "index", "comment": null}, "transaction_date": {"type": "date", "index": 4, "name": "transaction_date", "comment": null}, "customer_id": {"type": "text", "index": 5, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 6, "name": "vendor_id", "comment": null}, "amount": {"type": "double precision", "index": 7, "name": "amount", "comment": null}, "converted_amount": {"type": "double precision", "index": 8, "name": "converted_amount", "comment": null}, "account_id": {"type": "text", "index": 9, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 10, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 11, "name": "department_id", "comment": null}, "transaction_type": {"type": "text", "index": 12, "name": "transaction_type", "comment": null}, "transaction_source": {"type": "text", "index": 13, "name": "transaction_source", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__bill_double_entry"}, "model.quickbooks.int_quickbooks__bill_join": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__bill_join", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_type": {"type": "text", "index": 1, "name": "transaction_type", "comment": null}, "transaction_id": {"type": "text", "index": 2, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 3, "name": "source_relation", "comment": null}, "doc_number": {"type": "text", "index": 4, "name": "doc_number", "comment": null}, "department_id": {"type": "text", "index": 5, "name": "department_id", "comment": null}, "vendor_id": {"type": "text", "index": 6, "name": "vendor_id", "comment": null}, "payable_account_id": {"type": "text", "index": 7, "name": "payable_account_id", "comment": null}, "total_amount": {"type": "integer", "index": 8, "name": "total_amount", "comment": null}, "total_converted_amount": {"type": "integer", "index": 9, "name": "total_converted_amount", "comment": null}, "current_balance": {"type": "integer", "index": 10, "name": "current_balance", "comment": null}, "due_date": {"type": "date", "index": 11, "name": "due_date", "comment": null}, "initial_payment_date": {"type": "date", "index": 12, "name": "initial_payment_date", "comment": null}, "recent_payment_date": {"type": "date", "index": 13, "name": "recent_payment_date", "comment": null}, "total_current_payment": {"type": "bigint", "index": 14, "name": "total_current_payment", "comment": null}, "total_current_converted_payment": {"type": "bigint", "index": 15, "name": "total_current_converted_payment", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__bill_join"}, "model.quickbooks.int_quickbooks__bill_payment_double_entry": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__bill_payment_double_entry", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "index": {"type": "bigint", "index": 3, "name": "index", "comment": null}, "transaction_date": {"type": "date", "index": 4, "name": "transaction_date", "comment": null}, "customer_id": {"type": "text", "index": 5, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 6, "name": "vendor_id", "comment": null}, "amount": {"type": "integer", "index": 7, "name": "amount", "comment": null}, "converted_amount": {"type": "integer", "index": 8, "name": "converted_amount", "comment": null}, "account_id": {"type": "text", "index": 9, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 10, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 11, "name": "department_id", "comment": null}, "transaction_type": {"type": "text", "index": 12, "name": "transaction_type", "comment": null}, "transaction_source": {"type": "text", "index": 13, "name": "transaction_source", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__bill_payment_double_entry"}, "model.quickbooks.int_quickbooks__bill_transactions": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__bill_transactions", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "transaction_line_id": {"type": "integer", "index": 3, "name": "transaction_line_id", "comment": null}, "doc_number": {"type": "text", "index": 4, "name": "doc_number", "comment": null}, "transaction_type": {"type": "text", "index": 5, "name": "transaction_type", "comment": null}, "transaction_date": {"type": "date", "index": 6, "name": "transaction_date", "comment": null}, "account_id": {"type": "text", "index": 7, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 8, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 9, "name": "department_id", "comment": null}, "customer_id": {"type": "text", "index": 10, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 11, "name": "vendor_id", "comment": null}, "billable_status": {"type": "character varying(100)", "index": 12, "name": "billable_status", "comment": null}, "description": {"type": "text", "index": 13, "name": "description", "comment": null}, "amount": {"type": "double precision", "index": 14, "name": "amount", "comment": null}, "converted_amount": {"type": "double precision", "index": 15, "name": "converted_amount", "comment": null}, "total_amount": {"type": "integer", "index": 16, "name": "total_amount", "comment": null}, "total_converted_amount": {"type": "integer", "index": 17, "name": "total_converted_amount", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__bill_transactions"}, "model.quickbooks.int_quickbooks__cash_flow_classifications": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__cash_flow_classifications", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"cash_flow_period": {"type": "date", "index": 1, "name": "cash_flow_period", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "account_class": {"type": "text", "index": 3, "name": "account_class", "comment": null}, "class_id": {"type": "text", "index": 4, "name": "class_id", "comment": null}, "is_sub_account": {"type": "boolean", "index": 5, "name": "is_sub_account", "comment": null}, "parent_account_number": {"type": "text", "index": 6, "name": "parent_account_number", "comment": null}, "parent_account_name": {"type": "text", "index": 7, "name": "parent_account_name", "comment": null}, "account_type": {"type": "text", "index": 8, "name": "account_type", "comment": null}, "account_sub_type": {"type": "text", "index": 9, "name": "account_sub_type", "comment": null}, "account_number": {"type": "text", "index": 10, "name": "account_number", "comment": null}, "account_id": {"type": "text", "index": 11, "name": "account_id", "comment": null}, "account_name": {"type": "text", "index": 12, "name": "account_name", "comment": null}, "cash_ending_period": {"type": "numeric", "index": 13, "name": "cash_ending_period", "comment": null}, "cash_converted_ending_period": {"type": "numeric", "index": 14, "name": "cash_converted_ending_period", "comment": null}, "account_unique_id": {"type": "text", "index": 15, "name": "account_unique_id", "comment": null}, "cash_flow_type": {"type": "text", "index": 16, "name": "cash_flow_type", "comment": null}, "cash_flow_ordinal": {"type": "integer", "index": 17, "name": "cash_flow_ordinal", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__cash_flow_classifications"}, "model.quickbooks.int_quickbooks__credit_card_pymt_double_entry": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__credit_card_pymt_double_entry", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "index": {"type": "bigint", "index": 3, "name": "index", "comment": null}, "transaction_date": {"type": "date", "index": 4, "name": "transaction_date", "comment": null}, "customer_id": {"type": "text", "index": 5, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 6, "name": "vendor_id", "comment": null}, "amount": {"type": "double precision", "index": 7, "name": "amount", "comment": null}, "converted_amount": {"type": "double precision", "index": 8, "name": "converted_amount", "comment": null}, "account_id": {"type": "text", "index": 9, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 10, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 11, "name": "department_id", "comment": null}, "transaction_type": {"type": "text", "index": 12, "name": "transaction_type", "comment": null}, "transaction_source": {"type": "text", "index": 13, "name": "transaction_source", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__credit_card_pymt_double_entry"}, "model.quickbooks.int_quickbooks__credit_memo_double_entry": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__credit_memo_double_entry", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "index": {"type": "integer", "index": 3, "name": "index", "comment": null}, "transaction_date": {"type": "date", "index": 4, "name": "transaction_date", "comment": null}, "customer_id": {"type": "text", "index": 5, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 6, "name": "vendor_id", "comment": null}, "amount": {"type": "integer", "index": 7, "name": "amount", "comment": null}, "converted_amount": {"type": "integer", "index": 8, "name": "converted_amount", "comment": null}, "account_id": {"type": "text", "index": 9, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 10, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 11, "name": "department_id", "comment": null}, "transaction_type": {"type": "text", "index": 12, "name": "transaction_type", "comment": null}, "transaction_source": {"type": "text", "index": 13, "name": "transaction_source", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__credit_memo_double_entry"}, "model.quickbooks.int_quickbooks__credit_memo_transactions": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__credit_memo_transactions", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "transaction_line_id": {"type": "integer", "index": 3, "name": "transaction_line_id", "comment": null}, "doc_number": {"type": "text", "index": 4, "name": "doc_number", "comment": null}, "transaction_type": {"type": "text", "index": 5, "name": "transaction_type", "comment": null}, "transaction_date": {"type": "date", "index": 6, "name": "transaction_date", "comment": null}, "item_id": {"type": "text", "index": 7, "name": "item_id", "comment": null}, "item_quantity": {"type": "double precision", "index": 8, "name": "item_quantity", "comment": null}, "item_unit_price": {"type": "double precision", "index": 9, "name": "item_unit_price", "comment": null}, "account_id": {"type": "text", "index": 10, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 11, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 12, "name": "department_id", "comment": null}, "customer_id": {"type": "text", "index": 13, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 14, "name": "vendor_id", "comment": null}, "billable_status": {"type": "text", "index": 15, "name": "billable_status", "comment": null}, "description": {"type": "text", "index": 16, "name": "description", "comment": null}, "amount": {"type": "integer", "index": 17, "name": "amount", "comment": null}, "converted_amount": {"type": "integer", "index": 18, "name": "converted_amount", "comment": null}, "total_amount": {"type": "integer", "index": 19, "name": "total_amount", "comment": null}, "total_converted_amount": {"type": "integer", "index": 20, "name": "total_converted_amount", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__credit_memo_transactions"}, "model.quickbooks.int_quickbooks__deposit_double_entry": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__deposit_double_entry", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "index": {"type": "integer", "index": 3, "name": "index", "comment": null}, "transaction_date": {"type": "date", "index": 4, "name": "transaction_date", "comment": null}, "customer_id": {"type": "text", "index": 5, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 6, "name": "vendor_id", "comment": null}, "amount": {"type": "integer", "index": 7, "name": "amount", "comment": null}, "converted_amount": {"type": "integer", "index": 8, "name": "converted_amount", "comment": null}, "account_id": {"type": "text", "index": 9, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 10, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 11, "name": "department_id", "comment": null}, "transaction_type": {"type": "text", "index": 12, "name": "transaction_type", "comment": null}, "transaction_source": {"type": "text", "index": 13, "name": "transaction_source", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__deposit_double_entry"}, "model.quickbooks.int_quickbooks__deposit_transactions": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__deposit_transactions", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "transaction_line_id": {"type": "integer", "index": 3, "name": "transaction_line_id", "comment": null}, "doc_number": {"type": "text", "index": 4, "name": "doc_number", "comment": null}, "transaction_type": {"type": "text", "index": 5, "name": "transaction_type", "comment": null}, "transaction_date": {"type": "date", "index": 6, "name": "transaction_date", "comment": null}, "account_id": {"type": "text", "index": 7, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 8, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 9, "name": "department_id", "comment": null}, "customer_id": {"type": "text", "index": 10, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 11, "name": "vendor_id", "comment": null}, "billable_status": {"type": "text", "index": 12, "name": "billable_status", "comment": null}, "description": {"type": "text", "index": 13, "name": "description", "comment": null}, "amount": {"type": "integer", "index": 14, "name": "amount", "comment": null}, "converted_amount": {"type": "integer", "index": 15, "name": "converted_amount", "comment": null}, "total_amount": {"type": "integer", "index": 16, "name": "total_amount", "comment": null}, "total_converted_amount": {"type": "integer", "index": 17, "name": "total_converted_amount", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__deposit_transactions"}, "model.quickbooks.int_quickbooks__expenses_union": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__expenses_union", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_source": {"type": "text", "index": 1, "name": "transaction_source", "comment": null}, "transaction_id": {"type": "text", "index": 2, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 3, "name": "source_relation", "comment": null}, "transaction_line_id": {"type": "integer", "index": 4, "name": "transaction_line_id", "comment": null}, "doc_number": {"type": "text", "index": 5, "name": "doc_number", "comment": null}, "transaction_type": {"type": "text", "index": 6, "name": "transaction_type", "comment": null}, "transaction_date": {"type": "date", "index": 7, "name": "transaction_date", "comment": null}, "item_id": {"type": "text", "index": 8, "name": "item_id", "comment": null}, "item_quantity": {"type": "numeric(28,6)", "index": 9, "name": "item_quantity", "comment": null}, "item_unit_price": {"type": "numeric(28,6)", "index": 10, "name": "item_unit_price", "comment": null}, "account_id": {"type": "text", "index": 11, "name": "account_id", "comment": null}, "account_name": {"type": "text", "index": 12, "name": "account_name", "comment": null}, "account_sub_type": {"type": "text", "index": 13, "name": "account_sub_type", "comment": null}, "class_id": {"type": "text", "index": 14, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 15, "name": "department_id", "comment": null}, "department_name": {"type": "text", "index": 16, "name": "department_name", "comment": null}, "customer_id": {"type": "text", "index": 17, "name": "customer_id", "comment": null}, "customer_name": {"type": "text", "index": 18, "name": "customer_name", "comment": null}, "customer_website": {"type": "integer", "index": 19, "name": "customer_website", "comment": null}, "vendor_id": {"type": "text", "index": 20, "name": "vendor_id", "comment": null}, "vendor_name": {"type": "text", "index": 21, "name": "vendor_name", "comment": null}, "billable_status": {"type": "text", "index": 22, "name": "billable_status", "comment": null}, "description": {"type": "text", "index": 23, "name": "description", "comment": null}, "amount": {"type": "double precision", "index": 24, "name": "amount", "comment": null}, "converted_amount": {"type": "double precision", "index": 25, "name": "converted_amount", "comment": null}, "total_amount": {"type": "integer", "index": 26, "name": "total_amount", "comment": null}, "total_converted_amount": {"type": "integer", "index": 27, "name": "total_converted_amount", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__expenses_union"}, "model.quickbooks.int_quickbooks__general_ledger_balances": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__general_ledger_balances", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"account_id": {"type": "text", "index": 1, "name": "account_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "account_number": {"type": "text", "index": 3, "name": "account_number", "comment": null}, "account_name": {"type": "text", "index": 4, "name": "account_name", "comment": null}, "is_sub_account": {"type": "boolean", "index": 5, "name": "is_sub_account", "comment": null}, "parent_account_number": {"type": "text", "index": 6, "name": "parent_account_number", "comment": null}, "parent_account_name": {"type": "text", "index": 7, "name": "parent_account_name", "comment": null}, "account_type": {"type": "text", "index": 8, "name": "account_type", "comment": null}, "account_sub_type": {"type": "text", "index": 9, "name": "account_sub_type", "comment": null}, "account_class": {"type": "text", "index": 10, "name": "account_class", "comment": null}, "class_id": {"type": "text", "index": 11, "name": "class_id", "comment": null}, "financial_statement_helper": {"type": "text", "index": 12, "name": "financial_statement_helper", "comment": null}, "date_year": {"type": "date", "index": 13, "name": "date_year", "comment": null}, "period_first_day": {"type": "date", "index": 14, "name": "period_first_day", "comment": null}, "period_last_day": {"type": "date", "index": 15, "name": "period_last_day", "comment": null}, "period_net_change": {"type": "bigint", "index": 16, "name": "period_net_change", "comment": null}, "period_beginning_balance": {"type": "numeric", "index": 17, "name": "period_beginning_balance", "comment": null}, "period_ending_balance": {"type": "numeric", "index": 18, "name": "period_ending_balance", "comment": null}, "period_net_converted_change": {"type": "bigint", "index": 19, "name": "period_net_converted_change", "comment": null}, "period_beginning_converted_balance": {"type": "numeric", "index": 20, "name": "period_beginning_converted_balance", "comment": null}, "period_ending_converted_balance": {"type": "numeric", "index": 21, "name": "period_ending_converted_balance", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__general_ledger_balances"}, "model.quickbooks.int_quickbooks__general_ledger_date_spine": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__general_ledger_date_spine", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"account_id": {"type": "text", "index": 1, "name": "account_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "account_number": {"type": "text", "index": 3, "name": "account_number", "comment": null}, "account_name": {"type": "text", "index": 4, "name": "account_name", "comment": null}, "is_sub_account": {"type": "boolean", "index": 5, "name": "is_sub_account", "comment": null}, "parent_account_number": {"type": "text", "index": 6, "name": "parent_account_number", "comment": null}, "parent_account_name": {"type": "text", "index": 7, "name": "parent_account_name", "comment": null}, "account_type": {"type": "text", "index": 8, "name": "account_type", "comment": null}, "account_sub_type": {"type": "text", "index": 9, "name": "account_sub_type", "comment": null}, "account_class": {"type": "text", "index": 10, "name": "account_class", "comment": null}, "financial_statement_helper": {"type": "text", "index": 11, "name": "financial_statement_helper", "comment": null}, "class_id": {"type": "text", "index": 12, "name": "class_id", "comment": null}, "date_year": {"type": "date", "index": 13, "name": "date_year", "comment": null}, "period_first_day": {"type": "date", "index": 14, "name": "period_first_day", "comment": null}, "period_last_day": {"type": "date", "index": 15, "name": "period_last_day", "comment": null}, "period_index": {"type": "bigint", "index": 16, "name": "period_index", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__general_ledger_date_spine"}, "model.quickbooks.int_quickbooks__invoice_double_entry": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__invoice_double_entry", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "index": {"type": "integer", "index": 3, "name": "index", "comment": null}, "transaction_date": {"type": "date", "index": 4, "name": "transaction_date", "comment": null}, "customer_id": {"type": "text", "index": 5, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 6, "name": "vendor_id", "comment": null}, "amount": {"type": "double precision", "index": 7, "name": "amount", "comment": null}, "converted_amount": {"type": "double precision", "index": 8, "name": "converted_amount", "comment": null}, "account_id": {"type": "text", "index": 9, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 10, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 11, "name": "department_id", "comment": null}, "transaction_type": {"type": "text", "index": 12, "name": "transaction_type", "comment": null}, "transaction_source": {"type": "text", "index": 13, "name": "transaction_source", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__invoice_double_entry"}, "model.quickbooks.int_quickbooks__invoice_join": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__invoice_join", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_type": {"type": "text", "index": 1, "name": "transaction_type", "comment": null}, "transaction_id": {"type": "text", "index": 2, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 3, "name": "source_relation", "comment": null}, "doc_number": {"type": "text", "index": 4, "name": "doc_number", "comment": null}, "estimate_id": {"type": "text", "index": 5, "name": "estimate_id", "comment": null}, "department_id": {"type": "text", "index": 6, "name": "department_id", "comment": null}, "customer_id": {"type": "text", "index": 7, "name": "customer_id", "comment": null}, "billing_address_id": {"type": "text", "index": 8, "name": "billing_address_id", "comment": null}, "shipping_address_id": {"type": "integer", "index": 9, "name": "shipping_address_id", "comment": null}, "delivery_type": {"type": "text", "index": 10, "name": "delivery_type", "comment": null}, "total_amount": {"type": "integer", "index": 11, "name": "total_amount", "comment": null}, "total_converted_amount": {"type": "integer", "index": 12, "name": "total_converted_amount", "comment": null}, "current_balance": {"type": "integer", "index": 13, "name": "current_balance", "comment": null}, "estimate_total_amount": {"type": "double precision", "index": 14, "name": "estimate_total_amount", "comment": null}, "estimate_total_converted_amount": {"type": "double precision", "index": 15, "name": "estimate_total_converted_amount", "comment": null}, "estimate_status": {"type": "text", "index": 16, "name": "estimate_status", "comment": null}, "due_date": {"type": "date", "index": 17, "name": "due_date", "comment": null}, "initial_payment_date": {"type": "date", "index": 18, "name": "initial_payment_date", "comment": null}, "recent_payment_date": {"type": "date", "index": 19, "name": "recent_payment_date", "comment": null}, "total_current_payment": {"type": "double precision", "index": 20, "name": "total_current_payment", "comment": null}, "total_current_converted_payment": {"type": "double precision", "index": 21, "name": "total_current_converted_payment", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__invoice_join"}, "model.quickbooks.int_quickbooks__invoice_transactions": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__invoice_transactions", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "transaction_line_id": {"type": "integer", "index": 3, "name": "transaction_line_id", "comment": null}, "doc_number": {"type": "text", "index": 4, "name": "doc_number", "comment": null}, "transaction_type": {"type": "text", "index": 5, "name": "transaction_type", "comment": null}, "transaction_date": {"type": "date", "index": 6, "name": "transaction_date", "comment": null}, "item_id": {"type": "text", "index": 7, "name": "item_id", "comment": null}, "item_quantity": {"type": "double precision", "index": 8, "name": "item_quantity", "comment": null}, "item_unit_price": {"type": "integer", "index": 9, "name": "item_unit_price", "comment": null}, "account_id": {"type": "text", "index": 10, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 11, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 12, "name": "department_id", "comment": null}, "customer_id": {"type": "text", "index": 13, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 14, "name": "vendor_id", "comment": null}, "billable_status": {"type": "text", "index": 15, "name": "billable_status", "comment": null}, "description": {"type": "text", "index": 16, "name": "description", "comment": null}, "amount": {"type": "double precision", "index": 17, "name": "amount", "comment": null}, "converted_amount": {"type": "double precision", "index": 18, "name": "converted_amount", "comment": null}, "total_amount": {"type": "integer", "index": 19, "name": "total_amount", "comment": null}, "total_converted_amount": {"type": "integer", "index": 20, "name": "total_converted_amount", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__invoice_transactions"}, "model.quickbooks.int_quickbooks__journal_entry_double_entry": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__journal_entry_double_entry", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "index": {"type": "integer", "index": 3, "name": "index", "comment": null}, "transaction_date": {"type": "date", "index": 4, "name": "transaction_date", "comment": null}, "customer_id": {"type": "text", "index": 5, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 6, "name": "vendor_id", "comment": null}, "amount": {"type": "integer", "index": 7, "name": "amount", "comment": null}, "converted_amount": {"type": "integer", "index": 8, "name": "converted_amount", "comment": null}, "account_id": {"type": "text", "index": 9, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 10, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 11, "name": "department_id", "comment": null}, "transaction_type": {"type": "text", "index": 12, "name": "transaction_type", "comment": null}, "transaction_source": {"type": "text", "index": 13, "name": "transaction_source", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__journal_entry_double_entry"}, "model.quickbooks.int_quickbooks__journal_entry_transactions": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__journal_entry_transactions", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "transaction_line_id": {"type": "integer", "index": 3, "name": "transaction_line_id", "comment": null}, "doc_number": {"type": "text", "index": 4, "name": "doc_number", "comment": null}, "transaction_type": {"type": "text", "index": 5, "name": "transaction_type", "comment": null}, "transaction_date": {"type": "date", "index": 6, "name": "transaction_date", "comment": null}, "account_id": {"type": "text", "index": 7, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 8, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 9, "name": "department_id", "comment": null}, "customer_id": {"type": "text", "index": 10, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 11, "name": "vendor_id", "comment": null}, "billable_status": {"type": "text", "index": 12, "name": "billable_status", "comment": null}, "description": {"type": "text", "index": 13, "name": "description", "comment": null}, "amount": {"type": "integer", "index": 14, "name": "amount", "comment": null}, "converted_amount": {"type": "integer", "index": 15, "name": "converted_amount", "comment": null}, "total_amount": {"type": "integer", "index": 16, "name": "total_amount", "comment": null}, "total_converted_amount": {"type": "integer", "index": 17, "name": "total_converted_amount", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__journal_entry_transactions"}, "model.quickbooks.int_quickbooks__payment_double_entry": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__payment_double_entry", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "index": {"type": "bigint", "index": 3, "name": "index", "comment": null}, "transaction_date": {"type": "date", "index": 4, "name": "transaction_date", "comment": null}, "customer_id": {"type": "text", "index": 5, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 6, "name": "vendor_id", "comment": null}, "amount": {"type": "double precision", "index": 7, "name": "amount", "comment": null}, "converted_amount": {"type": "double precision", "index": 8, "name": "converted_amount", "comment": null}, "account_id": {"type": "text", "index": 9, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 10, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 11, "name": "department_id", "comment": null}, "transaction_type": {"type": "text", "index": 12, "name": "transaction_type", "comment": null}, "transaction_source": {"type": "text", "index": 13, "name": "transaction_source", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__payment_double_entry"}, "model.quickbooks.int_quickbooks__purchase_double_entry": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__purchase_double_entry", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "index": {"type": "integer", "index": 3, "name": "index", "comment": null}, "transaction_date": {"type": "date", "index": 4, "name": "transaction_date", "comment": null}, "customer_id": {"type": "text", "index": 5, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 6, "name": "vendor_id", "comment": null}, "amount": {"type": "integer", "index": 7, "name": "amount", "comment": null}, "converted_amount": {"type": "integer", "index": 8, "name": "converted_amount", "comment": null}, "account_id": {"type": "text", "index": 9, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 10, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 11, "name": "department_id", "comment": null}, "transaction_type": {"type": "text", "index": 12, "name": "transaction_type", "comment": null}, "transaction_source": {"type": "text", "index": 13, "name": "transaction_source", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__purchase_double_entry"}, "model.quickbooks.int_quickbooks__purchase_transactions": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__purchase_transactions", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "transaction_line_id": {"type": "integer", "index": 3, "name": "transaction_line_id", "comment": null}, "doc_number": {"type": "text", "index": 4, "name": "doc_number", "comment": null}, "transaction_type": {"type": "text", "index": 5, "name": "transaction_type", "comment": null}, "transaction_date": {"type": "date", "index": 6, "name": "transaction_date", "comment": null}, "account_id": {"type": "text", "index": 7, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 8, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 9, "name": "department_id", "comment": null}, "customer_id": {"type": "text", "index": 10, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 11, "name": "vendor_id", "comment": null}, "billable_status": {"type": "text", "index": 12, "name": "billable_status", "comment": null}, "description": {"type": "text", "index": 13, "name": "description", "comment": null}, "amount": {"type": "integer", "index": 14, "name": "amount", "comment": null}, "converted_amount": {"type": "integer", "index": 15, "name": "converted_amount", "comment": null}, "total_amount": {"type": "integer", "index": 16, "name": "total_amount", "comment": null}, "total_converted_amount": {"type": "integer", "index": 17, "name": "total_converted_amount", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__purchase_transactions"}, "model.quickbooks.int_quickbooks__refund_receipt_double_entry": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__refund_receipt_double_entry", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "index": {"type": "integer", "index": 3, "name": "index", "comment": null}, "transaction_date": {"type": "date", "index": 4, "name": "transaction_date", "comment": null}, "customer_id": {"type": "text", "index": 5, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 6, "name": "vendor_id", "comment": null}, "amount": {"type": "integer", "index": 7, "name": "amount", "comment": null}, "converted_amount": {"type": "integer", "index": 8, "name": "converted_amount", "comment": null}, "account_id": {"type": "text", "index": 9, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 10, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 11, "name": "department_id", "comment": null}, "transaction_type": {"type": "text", "index": 12, "name": "transaction_type", "comment": null}, "transaction_source": {"type": "text", "index": 13, "name": "transaction_source", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__refund_receipt_double_entry"}, "model.quickbooks.int_quickbooks__refund_receipt_transactions": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__refund_receipt_transactions", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "transaction_line_id": {"type": "integer", "index": 3, "name": "transaction_line_id", "comment": null}, "doc_number": {"type": "text", "index": 4, "name": "doc_number", "comment": null}, "transaction_type": {"type": "text", "index": 5, "name": "transaction_type", "comment": null}, "transaction_date": {"type": "date", "index": 6, "name": "transaction_date", "comment": null}, "item_id": {"type": "text", "index": 7, "name": "item_id", "comment": null}, "item_quantity": {"type": "integer", "index": 8, "name": "item_quantity", "comment": null}, "item_unit_price": {"type": "integer", "index": 9, "name": "item_unit_price", "comment": null}, "account_id": {"type": "text", "index": 10, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 11, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 12, "name": "department_id", "comment": null}, "customer_id": {"type": "text", "index": 13, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 14, "name": "vendor_id", "comment": null}, "billable_status": {"type": "text", "index": 15, "name": "billable_status", "comment": null}, "description": {"type": "text", "index": 16, "name": "description", "comment": null}, "amount": {"type": "integer", "index": 17, "name": "amount", "comment": null}, "converted_amount": {"type": "integer", "index": 18, "name": "converted_amount", "comment": null}, "total_amount": {"type": "integer", "index": 19, "name": "total_amount", "comment": null}, "total_converted_amount": {"type": "integer", "index": 20, "name": "total_converted_amount", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__refund_receipt_transactions"}, "model.quickbooks.int_quickbooks__retained_earnings": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__retained_earnings", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"account_id": {"type": "text", "index": 1, "name": "account_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "account_number": {"type": "text", "index": 3, "name": "account_number", "comment": null}, "account_name": {"type": "text", "index": 4, "name": "account_name", "comment": null}, "is_sub_account": {"type": "boolean", "index": 5, "name": "is_sub_account", "comment": null}, "parent_account_number": {"type": "text", "index": 6, "name": "parent_account_number", "comment": null}, "parent_account_name": {"type": "text", "index": 7, "name": "parent_account_name", "comment": null}, "account_type": {"type": "text", "index": 8, "name": "account_type", "comment": null}, "account_sub_type": {"type": "text", "index": 9, "name": "account_sub_type", "comment": null}, "account_class": {"type": "text", "index": 10, "name": "account_class", "comment": null}, "class_id": {"type": "text", "index": 11, "name": "class_id", "comment": null}, "financial_statement_helper": {"type": "text", "index": 12, "name": "financial_statement_helper", "comment": null}, "date_year": {"type": "date", "index": 13, "name": "date_year", "comment": null}, "period_first_day": {"type": "date", "index": 14, "name": "period_first_day", "comment": null}, "period_last_day": {"type": "date", "index": 15, "name": "period_last_day", "comment": null}, "period_net_change": {"type": "numeric", "index": 16, "name": "period_net_change", "comment": null}, "period_beginning_balance": {"type": "numeric", "index": 17, "name": "period_beginning_balance", "comment": null}, "period_ending_balance": {"type": "numeric", "index": 18, "name": "period_ending_balance", "comment": null}, "period_net_converted_change": {"type": "numeric", "index": 19, "name": "period_net_converted_change", "comment": null}, "period_beginning_converted_balance": {"type": "numeric", "index": 20, "name": "period_beginning_converted_balance", "comment": null}, "period_ending_converted_balance": {"type": "numeric", "index": 21, "name": "period_ending_converted_balance", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__retained_earnings"}, "model.quickbooks.int_quickbooks__sales_receipt_double_entry": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__sales_receipt_double_entry", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "index": {"type": "integer", "index": 3, "name": "index", "comment": null}, "transaction_date": {"type": "date", "index": 4, "name": "transaction_date", "comment": null}, "customer_id": {"type": "text", "index": 5, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 6, "name": "vendor_id", "comment": null}, "amount": {"type": "integer", "index": 7, "name": "amount", "comment": null}, "converted_amount": {"type": "integer", "index": 8, "name": "converted_amount", "comment": null}, "account_id": {"type": "text", "index": 9, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 10, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 11, "name": "department_id", "comment": null}, "transaction_type": {"type": "text", "index": 12, "name": "transaction_type", "comment": null}, "transaction_source": {"type": "text", "index": 13, "name": "transaction_source", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__sales_receipt_double_entry"}, "model.quickbooks.int_quickbooks__sales_receipt_transactions": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__sales_receipt_transactions", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "transaction_line_id": {"type": "integer", "index": 3, "name": "transaction_line_id", "comment": null}, "doc_number": {"type": "text", "index": 4, "name": "doc_number", "comment": null}, "transaction_type": {"type": "text", "index": 5, "name": "transaction_type", "comment": null}, "transaction_date": {"type": "date", "index": 6, "name": "transaction_date", "comment": null}, "item_id": {"type": "text", "index": 7, "name": "item_id", "comment": null}, "item_quantity": {"type": "integer", "index": 8, "name": "item_quantity", "comment": null}, "item_unit_price": {"type": "integer", "index": 9, "name": "item_unit_price", "comment": null}, "account_id": {"type": "text", "index": 10, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 11, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 12, "name": "department_id", "comment": null}, "customer_id": {"type": "text", "index": 13, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 14, "name": "vendor_id", "comment": null}, "billable_status": {"type": "text", "index": 15, "name": "billable_status", "comment": null}, "description": {"type": "text", "index": 16, "name": "description", "comment": null}, "amount": {"type": "integer", "index": 17, "name": "amount", "comment": null}, "converted_amount": {"type": "integer", "index": 18, "name": "converted_amount", "comment": null}, "total_amount": {"type": "integer", "index": 19, "name": "total_amount", "comment": null}, "total_converted_amount": {"type": "integer", "index": 20, "name": "total_converted_amount", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__sales_receipt_transactions"}, "model.quickbooks.int_quickbooks__sales_union": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__sales_union", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_source": {"type": "text", "index": 1, "name": "transaction_source", "comment": null}, "transaction_id": {"type": "text", "index": 2, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 3, "name": "source_relation", "comment": null}, "transaction_line_id": {"type": "integer", "index": 4, "name": "transaction_line_id", "comment": null}, "doc_number": {"type": "text", "index": 5, "name": "doc_number", "comment": null}, "transaction_type": {"type": "text", "index": 6, "name": "transaction_type", "comment": null}, "transaction_date": {"type": "date", "index": 7, "name": "transaction_date", "comment": null}, "item_id": {"type": "text", "index": 8, "name": "item_id", "comment": null}, "item_quantity": {"type": "double precision", "index": 9, "name": "item_quantity", "comment": null}, "item_unit_price": {"type": "double precision", "index": 10, "name": "item_unit_price", "comment": null}, "account_id": {"type": "text", "index": 11, "name": "account_id", "comment": null}, "account_name": {"type": "text", "index": 12, "name": "account_name", "comment": null}, "account_sub_type": {"type": "text", "index": 13, "name": "account_sub_type", "comment": null}, "class_id": {"type": "text", "index": 14, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 15, "name": "department_id", "comment": null}, "department_name": {"type": "text", "index": 16, "name": "department_name", "comment": null}, "customer_id": {"type": "text", "index": 17, "name": "customer_id", "comment": null}, "customer_name": {"type": "text", "index": 18, "name": "customer_name", "comment": null}, "customer_website": {"type": "integer", "index": 19, "name": "customer_website", "comment": null}, "vendor_id": {"type": "text", "index": 20, "name": "vendor_id", "comment": null}, "vendor_name": {"type": "text", "index": 21, "name": "vendor_name", "comment": null}, "billable_status": {"type": "text", "index": 22, "name": "billable_status", "comment": null}, "description": {"type": "text", "index": 23, "name": "description", "comment": null}, "amount": {"type": "double precision", "index": 24, "name": "amount", "comment": null}, "converted_amount": {"type": "double precision", "index": 25, "name": "converted_amount", "comment": null}, "total_amount": {"type": "integer", "index": 26, "name": "total_amount", "comment": null}, "total_converted_amount": {"type": "integer", "index": 27, "name": "total_converted_amount", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__sales_union"}, "model.quickbooks.int_quickbooks__transfer_double_entry": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__transfer_double_entry", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "index": {"type": "bigint", "index": 3, "name": "index", "comment": null}, "transaction_date": {"type": "date", "index": 4, "name": "transaction_date", "comment": null}, "customer_id": {"type": "text", "index": 5, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 6, "name": "vendor_id", "comment": null}, "amount": {"type": "integer", "index": 7, "name": "amount", "comment": null}, "converted_amount": {"type": "integer", "index": 8, "name": "converted_amount", "comment": null}, "account_id": {"type": "text", "index": 9, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 10, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 11, "name": "department_id", "comment": null}, "transaction_type": {"type": "text", "index": 12, "name": "transaction_type", "comment": null}, "transaction_source": {"type": "text", "index": 13, "name": "transaction_source", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__transfer_double_entry"}, "model.quickbooks.int_quickbooks__vendor_credit_double_entry": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__vendor_credit_double_entry", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "index": {"type": "integer", "index": 3, "name": "index", "comment": null}, "transaction_date": {"type": "date", "index": 4, "name": "transaction_date", "comment": null}, "customer_id": {"type": "text", "index": 5, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 6, "name": "vendor_id", "comment": null}, "amount": {"type": "integer", "index": 7, "name": "amount", "comment": null}, "converted_amount": {"type": "integer", "index": 8, "name": "converted_amount", "comment": null}, "account_id": {"type": "text", "index": 9, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 10, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 11, "name": "department_id", "comment": null}, "transaction_type": {"type": "text", "index": 12, "name": "transaction_type", "comment": null}, "transaction_source": {"type": "text", "index": 13, "name": "transaction_source", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__vendor_credit_double_entry"}, "model.quickbooks.int_quickbooks__vendor_credit_transactions": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__vendor_credit_transactions", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "transaction_line_id": {"type": "integer", "index": 3, "name": "transaction_line_id", "comment": null}, "doc_number": {"type": "text", "index": 4, "name": "doc_number", "comment": null}, "transaction_type": {"type": "text", "index": 5, "name": "transaction_type", "comment": null}, "transaction_date": {"type": "date", "index": 6, "name": "transaction_date", "comment": null}, "account_id": {"type": "text", "index": 7, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 8, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 9, "name": "department_id", "comment": null}, "customer_id": {"type": "text", "index": 10, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 11, "name": "vendor_id", "comment": null}, "billable_status": {"type": "character varying(100)", "index": 12, "name": "billable_status", "comment": null}, "description": {"type": "text", "index": 13, "name": "description", "comment": null}, "amount": {"type": "integer", "index": 14, "name": "amount", "comment": null}, "converted_amount": {"type": "integer", "index": 15, "name": "converted_amount", "comment": null}, "total_amount": {"type": "integer", "index": 16, "name": "total_amount", "comment": null}, "total_converted_amount": {"type": "integer", "index": 17, "name": "total_converted_amount", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__vendor_credit_transactions"}, "model.quickbooks.quickbooks__ap_ar_enhanced": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "quickbooks__ap_ar_enhanced", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_type": {"type": "text", "index": 1, "name": "transaction_type", "comment": null}, "transaction_id": {"type": "text", "index": 2, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 3, "name": "source_relation", "comment": null}, "doc_number": {"type": "text", "index": 4, "name": "doc_number", "comment": null}, "estimate_id": {"type": "text", "index": 5, "name": "estimate_id", "comment": null}, "department_name": {"type": "text", "index": 6, "name": "department_name", "comment": null}, "transaction_with": {"type": "text", "index": 7, "name": "transaction_with", "comment": null}, "customer_vendor_name": {"type": "text", "index": 8, "name": "customer_vendor_name", "comment": null}, "customer_vendor_balance": {"type": "integer", "index": 9, "name": "customer_vendor_balance", "comment": null}, "customer_vendor_address_city": {"type": "text", "index": 10, "name": "customer_vendor_address_city", "comment": null}, "customer_vendor_address_country": {"type": "text", "index": 11, "name": "customer_vendor_address_country", "comment": null}, "customer_vendor_address_line": {"type": "text", "index": 12, "name": "customer_vendor_address_line", "comment": null}, "customer_vendor_website": {"type": "integer", "index": 13, "name": "customer_vendor_website", "comment": null}, "delivery_type": {"type": "text", "index": 14, "name": "delivery_type", "comment": null}, "estimate_status": {"type": "text", "index": 15, "name": "estimate_status", "comment": null}, "total_amount": {"type": "integer", "index": 16, "name": "total_amount", "comment": null}, "total_converted_amount": {"type": "integer", "index": 17, "name": "total_converted_amount", "comment": null}, "estimate_total_amount": {"type": "double precision", "index": 18, "name": "estimate_total_amount", "comment": null}, "estimate_total_converted_amount": {"type": "double precision", "index": 19, "name": "estimate_total_converted_amount", "comment": null}, "current_balance": {"type": "integer", "index": 20, "name": "current_balance", "comment": null}, "due_date": {"type": "date", "index": 21, "name": "due_date", "comment": null}, "is_overdue": {"type": "boolean", "index": 22, "name": "is_overdue", "comment": null}, "days_overdue": {"type": "integer", "index": 23, "name": "days_overdue", "comment": null}, "initial_payment_date": {"type": "date", "index": 24, "name": "initial_payment_date", "comment": null}, "recent_payment_date": {"type": "date", "index": 25, "name": "recent_payment_date", "comment": null}, "total_current_payment": {"type": "double precision", "index": 26, "name": "total_current_payment", "comment": null}, "total_current_converted_payment": {"type": "double precision", "index": 27, "name": "total_current_converted_payment", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.quickbooks__ap_ar_enhanced"}, "analysis.quickbooks.quickbooks__balance_sheet": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "quickbooks__balance_sheet", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"calendar_date": {"type": "date", "index": 1, "name": "calendar_date", "comment": null}, "period_first_day": {"type": "date", "index": 2, "name": "period_first_day", "comment": null}, "period_last_day": {"type": "date", "index": 3, "name": "period_last_day", "comment": null}, "source_relation": {"type": "text", "index": 4, "name": "source_relation", "comment": null}, "account_class": {"type": "text", "index": 5, "name": "account_class", "comment": null}, "class_id": {"type": "text", "index": 6, "name": "class_id", "comment": null}, "is_sub_account": {"type": "boolean", "index": 7, "name": "is_sub_account", "comment": null}, "parent_account_number": {"type": "text", "index": 8, "name": "parent_account_number", "comment": null}, "parent_account_name": {"type": "text", "index": 9, "name": "parent_account_name", "comment": null}, "account_type": {"type": "text", "index": 10, "name": "account_type", "comment": null}, "account_sub_type": {"type": "text", "index": 11, "name": "account_sub_type", "comment": null}, "account_number": {"type": "text", "index": 12, "name": "account_number", "comment": null}, "account_id": {"type": "text", "index": 13, "name": "account_id", "comment": null}, "account_name": {"type": "text", "index": 14, "name": "account_name", "comment": null}, "amount": {"type": "numeric", "index": 15, "name": "amount", "comment": null}, "converted_amount": {"type": "numeric", "index": 16, "name": "converted_amount", "comment": null}, "account_ordinal": {"type": "integer", "index": 17, "name": "account_ordinal", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "analysis.quickbooks.quickbooks__balance_sheet"}, "model.quickbooks.quickbooks__cash_flow_statement": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "quickbooks__cash_flow_statement", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"cash_flow_period": {"type": "date", "index": 1, "name": "cash_flow_period", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "account_class": {"type": "text", "index": 3, "name": "account_class", "comment": null}, "class_id": {"type": "text", "index": 4, "name": "class_id", "comment": null}, "is_sub_account": {"type": "boolean", "index": 5, "name": "is_sub_account", "comment": null}, "parent_account_number": {"type": "text", "index": 6, "name": "parent_account_number", "comment": null}, "parent_account_name": {"type": "text", "index": 7, "name": "parent_account_name", "comment": null}, "account_type": {"type": "text", "index": 8, "name": "account_type", "comment": null}, "account_sub_type": {"type": "text", "index": 9, "name": "account_sub_type", "comment": null}, "account_number": {"type": "text", "index": 10, "name": "account_number", "comment": null}, "account_id": {"type": "text", "index": 11, "name": "account_id", "comment": null}, "account_name": {"type": "text", "index": 12, "name": "account_name", "comment": null}, "cash_ending_period": {"type": "numeric", "index": 13, "name": "cash_ending_period", "comment": null}, "cash_converted_ending_period": {"type": "numeric", "index": 14, "name": "cash_converted_ending_period", "comment": null}, "account_unique_id": {"type": "text", "index": 15, "name": "account_unique_id", "comment": null}, "cash_flow_type": {"type": "text", "index": 16, "name": "cash_flow_type", "comment": null}, "cash_flow_ordinal": {"type": "integer", "index": 17, "name": "cash_flow_ordinal", "comment": null}, "cash_beginning_period": {"type": "numeric", "index": 18, "name": "cash_beginning_period", "comment": null}, "cash_net_period": {"type": "numeric", "index": 19, "name": "cash_net_period", "comment": null}, "cash_converted_beginning_period": {"type": "numeric", "index": 20, "name": "cash_converted_beginning_period", "comment": null}, "cash_converted_net_period": {"type": "numeric", "index": 21, "name": "cash_converted_net_period", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.quickbooks__cash_flow_statement"}, "model.quickbooks.quickbooks__expenses_sales_enhanced": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "quickbooks__expenses_sales_enhanced", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_source": {"type": "text", "index": 1, "name": "transaction_source", "comment": null}, "transaction_id": {"type": "text", "index": 2, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 3, "name": "source_relation", "comment": null}, "transaction_line_id": {"type": "integer", "index": 4, "name": "transaction_line_id", "comment": null}, "doc_number": {"type": "text", "index": 5, "name": "doc_number", "comment": null}, "transaction_type": {"type": "text", "index": 6, "name": "transaction_type", "comment": null}, "transaction_date": {"type": "date", "index": 7, "name": "transaction_date", "comment": null}, "item_id": {"type": "text", "index": 8, "name": "item_id", "comment": null}, "item_quantity": {"type": "double precision", "index": 9, "name": "item_quantity", "comment": null}, "item_unit_price": {"type": "double precision", "index": 10, "name": "item_unit_price", "comment": null}, "account_id": {"type": "text", "index": 11, "name": "account_id", "comment": null}, "account_name": {"type": "text", "index": 12, "name": "account_name", "comment": null}, "account_sub_type": {"type": "text", "index": 13, "name": "account_sub_type", "comment": null}, "class_id": {"type": "text", "index": 14, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 15, "name": "department_id", "comment": null}, "department_name": {"type": "text", "index": 16, "name": "department_name", "comment": null}, "customer_id": {"type": "text", "index": 17, "name": "customer_id", "comment": null}, "customer_name": {"type": "text", "index": 18, "name": "customer_name", "comment": null}, "customer_website": {"type": "integer", "index": 19, "name": "customer_website", "comment": null}, "vendor_id": {"type": "text", "index": 20, "name": "vendor_id", "comment": null}, "vendor_name": {"type": "text", "index": 21, "name": "vendor_name", "comment": null}, "billable_status": {"type": "text", "index": 22, "name": "billable_status", "comment": null}, "description": {"type": "text", "index": 23, "name": "description", "comment": null}, "amount": {"type": "double precision", "index": 24, "name": "amount", "comment": null}, "converted_amount": {"type": "double precision", "index": 25, "name": "converted_amount", "comment": null}, "total_amount": {"type": "integer", "index": 26, "name": "total_amount", "comment": null}, "total_converted_amount": {"type": "integer", "index": 27, "name": "total_converted_amount", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.quickbooks__expenses_sales_enhanced"}, "model.quickbooks.quickbooks__general_ledger": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "quickbooks__general_ledger", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"unique_id": {"type": "text", "index": 1, "name": "unique_id", "comment": null}, "transaction_id": {"type": "text", "index": 2, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 3, "name": "source_relation", "comment": null}, "transaction_index": {"type": "integer", "index": 4, "name": "transaction_index", "comment": null}, "transaction_date": {"type": "date", "index": 5, "name": "transaction_date", "comment": null}, "customer_id": {"type": "text", "index": 6, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 7, "name": "vendor_id", "comment": null}, "amount": {"type": "integer", "index": 8, "name": "amount", "comment": null}, "account_id": {"type": "text", "index": 9, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 10, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 11, "name": "department_id", "comment": null}, "account_number": {"type": "text", "index": 12, "name": "account_number", "comment": null}, "account_name": {"type": "text", "index": 13, "name": "account_name", "comment": null}, "is_sub_account": {"type": "boolean", "index": 14, "name": "is_sub_account", "comment": null}, "parent_account_number": {"type": "text", "index": 15, "name": "parent_account_number", "comment": null}, "parent_account_name": {"type": "text", "index": 16, "name": "parent_account_name", "comment": null}, "account_type": {"type": "text", "index": 17, "name": "account_type", "comment": null}, "account_sub_type": {"type": "text", "index": 18, "name": "account_sub_type", "comment": null}, "financial_statement_helper": {"type": "text", "index": 19, "name": "financial_statement_helper", "comment": null}, "account_current_balance": {"type": "integer", "index": 20, "name": "account_current_balance", "comment": null}, "account_class": {"type": "text", "index": 21, "name": "account_class", "comment": null}, "transaction_type": {"type": "text", "index": 22, "name": "transaction_type", "comment": null}, "transaction_source": {"type": "text", "index": 23, "name": "transaction_source", "comment": null}, "account_transaction_type": {"type": "text", "index": 24, "name": "account_transaction_type", "comment": null}, "adjusted_amount": {"type": "integer", "index": 25, "name": "adjusted_amount", "comment": null}, "adjusted_converted_amount": {"type": "integer", "index": 26, "name": "adjusted_converted_amount", "comment": null}, "running_balance": {"type": "bigint", "index": 27, "name": "running_balance", "comment": null}, "running_converted_balance": {"type": "bigint", "index": 28, "name": "running_converted_balance", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.quickbooks__general_ledger"}, "model.quickbooks.quickbooks__general_ledger_by_period": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "quickbooks__general_ledger_by_period", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"account_id": {"type": "text", "index": 1, "name": "account_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "account_number": {"type": "text", "index": 3, "name": "account_number", "comment": null}, "account_name": {"type": "text", "index": 4, "name": "account_name", "comment": null}, "is_sub_account": {"type": "boolean", "index": 5, "name": "is_sub_account", "comment": null}, "parent_account_number": {"type": "text", "index": 6, "name": "parent_account_number", "comment": null}, "parent_account_name": {"type": "text", "index": 7, "name": "parent_account_name", "comment": null}, "account_type": {"type": "text", "index": 8, "name": "account_type", "comment": null}, "account_sub_type": {"type": "text", "index": 9, "name": "account_sub_type", "comment": null}, "account_class": {"type": "text", "index": 10, "name": "account_class", "comment": null}, "class_id": {"type": "text", "index": 11, "name": "class_id", "comment": null}, "financial_statement_helper": {"type": "text", "index": 12, "name": "financial_statement_helper", "comment": null}, "date_year": {"type": "date", "index": 13, "name": "date_year", "comment": null}, "period_first_day": {"type": "date", "index": 14, "name": "period_first_day", "comment": null}, "period_last_day": {"type": "date", "index": 15, "name": "period_last_day", "comment": null}, "period_net_change": {"type": "numeric", "index": 16, "name": "period_net_change", "comment": null}, "period_beginning_balance": {"type": "numeric", "index": 17, "name": "period_beginning_balance", "comment": null}, "period_ending_balance": {"type": "numeric", "index": 18, "name": "period_ending_balance", "comment": null}, "period_net_converted_change": {"type": "numeric", "index": 19, "name": "period_net_converted_change", "comment": null}, "period_beginning_converted_balance": {"type": "numeric", "index": 20, "name": "period_beginning_converted_balance", "comment": null}, "period_ending_converted_balance": {"type": "numeric", "index": 21, "name": "period_ending_converted_balance", "comment": null}, "account_ordinal": {"type": "integer", "index": 22, "name": "account_ordinal", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.quickbooks__general_ledger_by_period"}, "model.quickbooks.quickbooks__profit_and_loss": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "quickbooks__profit_and_loss", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"calendar_date": {"type": "date", "index": 1, "name": "calendar_date", "comment": null}, "period_first_day": {"type": "date", "index": 2, "name": "period_first_day", "comment": null}, "period_last_day": {"type": "date", "index": 3, "name": "period_last_day", "comment": null}, "source_relation": {"type": "text", "index": 4, "name": "source_relation", "comment": null}, "account_class": {"type": "text", "index": 5, "name": "account_class", "comment": null}, "class_id": {"type": "text", "index": 6, "name": "class_id", "comment": null}, "is_sub_account": {"type": "boolean", "index": 7, "name": "is_sub_account", "comment": null}, "parent_account_number": {"type": "text", "index": 8, "name": "parent_account_number", "comment": null}, "parent_account_name": {"type": "text", "index": 9, "name": "parent_account_name", "comment": null}, "account_type": {"type": "text", "index": 10, "name": "account_type", "comment": null}, "account_sub_type": {"type": "text", "index": 11, "name": "account_sub_type", "comment": null}, "account_number": {"type": "text", "index": 12, "name": "account_number", "comment": null}, "account_id": {"type": "text", "index": 13, "name": "account_id", "comment": null}, "account_name": {"type": "text", "index": 14, "name": "account_name", "comment": null}, "amount": {"type": "numeric", "index": 15, "name": "amount", "comment": null}, "converted_amount": {"type": "numeric", "index": 16, "name": "converted_amount", "comment": null}, "account_ordinal": {"type": "integer", "index": 17, "name": "account_ordinal", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.quickbooks__profit_and_loss"}, "model.quickbooks_source.stg_quickbooks__account": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__account", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"account_id": {"type": "text", "index": 1, "name": "account_id", "comment": null}, "account_number": {"type": "text", "index": 2, "name": "account_number", "comment": null}, "is_sub_account": {"type": "boolean", "index": 3, "name": "is_sub_account", "comment": null}, "parent_account_id": {"type": "text", "index": 4, "name": "parent_account_id", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "account_type": {"type": "text", "index": 6, "name": "account_type", "comment": null}, "account_sub_type": {"type": "text", "index": 7, "name": "account_sub_type", "comment": null}, "classification": {"type": "text", "index": 8, "name": "classification", "comment": null}, "balance": {"type": "integer", "index": 9, "name": "balance", "comment": null}, "balance_with_sub_accounts": {"type": "integer", "index": 10, "name": "balance_with_sub_accounts", "comment": null}, "is_active": {"type": "boolean", "index": 11, "name": "is_active", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 12, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 13, "name": "currency_id", "comment": null}, "description": {"type": "integer", "index": 14, "name": "description", "comment": null}, "fully_qualified_name": {"type": "text", "index": 15, "name": "fully_qualified_name", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 16, "name": "updated_at", "comment": null}, "source_relation": {"type": "text", "index": 17, "name": "source_relation", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 18, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__account"}, "model.quickbooks_source.stg_quickbooks__account_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__account_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "account_number": {"type": "integer", "index": 3, "name": "account_number", "comment": null}, "account_sub_type": {"type": "text", "index": 4, "name": "account_sub_type", "comment": null}, "account_type": {"type": "text", "index": 5, "name": "account_type", "comment": null}, "active": {"type": "boolean", "index": 6, "name": "active", "comment": null}, "balance": {"type": "integer", "index": 7, "name": "balance", "comment": null}, "balance_with_sub_accounts": {"type": "integer", "index": 8, "name": "balance_with_sub_accounts", "comment": null}, "classification": {"type": "text", "index": 9, "name": "classification", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 10, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 11, "name": "currency_id", "comment": null}, "description": {"type": "integer", "index": 12, "name": "description", "comment": null}, "fully_qualified_name": {"type": "text", "index": 13, "name": "fully_qualified_name", "comment": null}, "name": {"type": "text", "index": 14, "name": "name", "comment": null}, "parent_account_id": {"type": "integer", "index": 15, "name": "parent_account_id", "comment": null}, "sub_account": {"type": "boolean", "index": 16, "name": "sub_account", "comment": null}, "sync_token": {"type": "integer", "index": 17, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 18, "name": "tax_code_id", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 19, "name": "updated_at", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 20, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__account_tmp"}, "model.quickbooks_source.stg_quickbooks__address": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__address", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"address_id": {"type": "text", "index": 1, "name": "address_id", "comment": null}, "city": {"type": "text", "index": 2, "name": "city", "comment": null}, "country": {"type": "text", "index": 3, "name": "country", "comment": null}, "address_1": {"type": "text", "index": 4, "name": "address_1", "comment": null}, "address_2": {"type": "text", "index": 5, "name": "address_2", "comment": null}, "postal_code": {"type": "integer", "index": 6, "name": "postal_code", "comment": null}, "source_relation": {"type": "text", "index": 7, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__address"}, "model.quickbooks_source.stg_quickbooks__address_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__address_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "city": {"type": "text", "index": 3, "name": "city", "comment": null}, "country": {"type": "text", "index": 4, "name": "country", "comment": null}, "country_sub_division_code": {"type": "text", "index": 5, "name": "country_sub_division_code", "comment": null}, "latitude": {"type": "integer", "index": 6, "name": "latitude", "comment": null}, "line_1": {"type": "text", "index": 7, "name": "line_1", "comment": null}, "line_2": {"type": "text", "index": 8, "name": "line_2", "comment": null}, "line_3": {"type": "integer", "index": 9, "name": "line_3", "comment": null}, "line_4": {"type": "integer", "index": 10, "name": "line_4", "comment": null}, "line_5": {"type": "integer", "index": 11, "name": "line_5", "comment": null}, "longitude": {"type": "integer", "index": 12, "name": "longitude", "comment": null}, "postal_code": {"type": "integer", "index": 13, "name": "postal_code", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__address_tmp"}, "model.quickbooks_source.stg_quickbooks__bill": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__bill", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bill_id": {"type": "text", "index": 1, "name": "bill_id", "comment": null}, "balance": {"type": "integer", "index": 2, "name": "balance", "comment": null}, "doc_number": {"type": "text", "index": 3, "name": "doc_number", "comment": null}, "currency_id": {"type": "text", "index": 4, "name": "currency_id", "comment": null}, "department_id": {"type": "text", "index": 5, "name": "department_id", "comment": null}, "due_date_at": {"type": "date", "index": 6, "name": "due_date_at", "comment": null}, "transaction_date": {"type": "date", "index": 7, "name": "transaction_date", "comment": null}, "exchange_rate": {"type": "integer", "index": 8, "name": "exchange_rate", "comment": null}, "payable_account_id": {"type": "text", "index": 9, "name": "payable_account_id", "comment": null}, "total_amount": {"type": "integer", "index": 10, "name": "total_amount", "comment": null}, "vendor_id": {"type": "text", "index": 11, "name": "vendor_id", "comment": null}, "private_note": {"type": "text", "index": 12, "name": "private_note", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 13, "name": "_fivetran_deleted", "comment": null}, "source_relation": {"type": "text", "index": 14, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__bill"}, "model.quickbooks_source.stg_quickbooks__bill_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__bill_line", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bill_id": {"type": "text", "index": 1, "name": "bill_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "account_expense_account_id": {"type": "text", "index": 3, "name": "account_expense_account_id", "comment": null}, "account_expense_class_id": {"type": "text", "index": 4, "name": "account_expense_class_id", "comment": null}, "account_expense_billable_status": {"type": "character varying(100)", "index": 5, "name": "account_expense_billable_status", "comment": null}, "account_expense_tax_code_id": {"type": "text", "index": 6, "name": "account_expense_tax_code_id", "comment": null}, "account_expense_customer_id": {"type": "text", "index": 7, "name": "account_expense_customer_id", "comment": null}, "item_expense_item_id": {"type": "text", "index": 8, "name": "item_expense_item_id", "comment": null}, "item_expense_customer_id": {"type": "text", "index": 9, "name": "item_expense_customer_id", "comment": null}, "item_expense_billable_status": {"type": "character varying(100)", "index": 10, "name": "item_expense_billable_status", "comment": null}, "item_expense_class_id": {"type": "text", "index": 11, "name": "item_expense_class_id", "comment": null}, "amount": {"type": "double precision", "index": 12, "name": "amount", "comment": null}, "description": {"type": "text", "index": 13, "name": "description", "comment": null}, "source_relation": {"type": "text", "index": 14, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__bill_line"}, "model.quickbooks_source.stg_quickbooks__bill_line_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__bill_line_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bill_id": {"type": "integer", "index": 1, "name": "bill_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_expense_account_id": {"type": "integer", "index": 4, "name": "account_expense_account_id", "comment": null}, "account_expense_billable_status": {"type": "character varying(100)", "index": 5, "name": "account_expense_billable_status", "comment": null}, "account_expense_class_id": {"type": "integer", "index": 6, "name": "account_expense_class_id", "comment": null}, "account_expense_customer_id": {"type": "integer", "index": 7, "name": "account_expense_customer_id", "comment": null}, "account_expense_tax_amount": {"type": "integer", "index": 8, "name": "account_expense_tax_amount", "comment": null}, "account_expense_tax_code_id": {"type": "text", "index": 9, "name": "account_expense_tax_code_id", "comment": null}, "amount": {"type": "double precision", "index": 10, "name": "amount", "comment": null}, "description": {"type": "text", "index": 11, "name": "description", "comment": null}, "item_expense_billable_status": {"type": "character varying(100)", "index": 12, "name": "item_expense_billable_status", "comment": null}, "item_expense_class_id": {"type": "integer", "index": 13, "name": "item_expense_class_id", "comment": null}, "item_expense_customer_id": {"type": "integer", "index": 14, "name": "item_expense_customer_id", "comment": null}, "item_expense_item_id": {"type": "integer", "index": 15, "name": "item_expense_item_id", "comment": null}, "item_expense_quantity": {"type": "integer", "index": 16, "name": "item_expense_quantity", "comment": null}, "item_expense_tax_code_id": {"type": "integer", "index": 17, "name": "item_expense_tax_code_id", "comment": null}, "item_expense_unit_price": {"type": "integer", "index": 18, "name": "item_expense_unit_price", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__bill_line_tmp"}, "model.quickbooks_source.stg_quickbooks__bill_linked_txn": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__bill_linked_txn", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bill_id": {"type": "text", "index": 1, "name": "bill_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "bill_payment_id": {"type": "text", "index": 3, "name": "bill_payment_id", "comment": null}, "source_relation": {"type": "text", "index": 4, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__bill_linked_txn"}, "model.quickbooks_source.stg_quickbooks__bill_linked_txn_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__bill_linked_txn_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bill_id": {"type": "integer", "index": 1, "name": "bill_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "bill_payment_id": {"type": "integer", "index": 4, "name": "bill_payment_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__bill_linked_txn_tmp"}, "model.quickbooks_source.stg_quickbooks__bill_payment": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__bill_payment", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bill_payment_id": {"type": "text", "index": 1, "name": "bill_payment_id", "comment": null}, "check_bank_account_id": {"type": "text", "index": 2, "name": "check_bank_account_id", "comment": null}, "check_print_status": {"type": "text", "index": 3, "name": "check_print_status", "comment": null}, "credit_card_account_id": {"type": "text", "index": 4, "name": "credit_card_account_id", "comment": null}, "exchange_rate": {"type": "integer", "index": 5, "name": "exchange_rate", "comment": null}, "currency_id": {"type": "text", "index": 6, "name": "currency_id", "comment": null}, "department_id": {"type": "text", "index": 7, "name": "department_id", "comment": null}, "pay_type": {"type": "text", "index": 8, "name": "pay_type", "comment": null}, "total_amount": {"type": "integer", "index": 9, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 10, "name": "transaction_date", "comment": null}, "vendor_id": {"type": "text", "index": 11, "name": "vendor_id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 12, "name": "_fivetran_deleted", "comment": null}, "source_relation": {"type": "text", "index": 13, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__bill_payment"}, "model.quickbooks_source.stg_quickbooks__bill_payment_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__bill_payment_line", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bill_payment_id": {"type": "text", "index": 1, "name": "bill_payment_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "amount": {"type": "integer", "index": 3, "name": "amount", "comment": null}, "bill_id": {"type": "text", "index": 4, "name": "bill_id", "comment": null}, "deposit_id": {"type": "integer", "index": 5, "name": "deposit_id", "comment": null}, "expense_id": {"type": "integer", "index": 6, "name": "expense_id", "comment": null}, "journal_entry_id": {"type": "integer", "index": 7, "name": "journal_entry_id", "comment": null}, "linked_bill_payment_id": {"type": "integer", "index": 8, "name": "linked_bill_payment_id", "comment": null}, "vendor_credit_id": {"type": "integer", "index": 9, "name": "vendor_credit_id", "comment": null}, "source_relation": {"type": "text", "index": 10, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__bill_payment_line"}, "model.quickbooks_source.stg_quickbooks__bill_payment_line_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__bill_payment_line_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bill_payment_id": {"type": "integer", "index": 1, "name": "bill_payment_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "bill_id": {"type": "integer", "index": 5, "name": "bill_id", "comment": null}, "check_id": {"type": "integer", "index": 6, "name": "check_id", "comment": null}, "credit_card_charge_id": {"type": "integer", "index": 7, "name": "credit_card_charge_id", "comment": null}, "credit_card_credit_id": {"type": "integer", "index": 8, "name": "credit_card_credit_id", "comment": null}, "deposit_id": {"type": "integer", "index": 9, "name": "deposit_id", "comment": null}, "expense_id": {"type": "integer", "index": 10, "name": "expense_id", "comment": null}, "journal_entry_id": {"type": "integer", "index": 11, "name": "journal_entry_id", "comment": null}, "linked_bill_payment_id": {"type": "integer", "index": 12, "name": "linked_bill_payment_id", "comment": null}, "vendor_credit_id": {"type": "integer", "index": 13, "name": "vendor_credit_id", "comment": null}, "bill_payment_credit_card_id": {"type": "integer", "index": 14, "name": "bill_payment_credit_card_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__bill_payment_line_tmp"}, "model.quickbooks_source.stg_quickbooks__bill_payment_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__bill_payment_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "check_bank_account_id": {"type": "integer", "index": 4, "name": "check_bank_account_id", "comment": null}, "check_print_status": {"type": "text", "index": 5, "name": "check_print_status", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 6, "name": "created_at", "comment": null}, "credit_card_account_id": {"type": "integer", "index": 7, "name": "credit_card_account_id", "comment": null}, "currency_id": {"type": "text", "index": 8, "name": "currency_id", "comment": null}, "department_id": {"type": "integer", "index": 9, "name": "department_id", "comment": null}, "doc_number": {"type": "integer", "index": 10, "name": "doc_number", "comment": null}, "exchange_rate": {"type": "integer", "index": 11, "name": "exchange_rate", "comment": null}, "pay_type": {"type": "text", "index": 12, "name": "pay_type", "comment": null}, "payable_account_id": {"type": "integer", "index": 13, "name": "payable_account_id", "comment": null}, "private_note": {"type": "integer", "index": 14, "name": "private_note", "comment": null}, "process_bill_payment": {"type": "integer", "index": 15, "name": "process_bill_payment", "comment": null}, "sync_token": {"type": "integer", "index": 16, "name": "sync_token", "comment": null}, "total_amount": {"type": "integer", "index": 17, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 18, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 19, "name": "updated_at", "comment": null}, "vendor_id": {"type": "integer", "index": 20, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__bill_payment_tmp"}, "model.quickbooks_source.stg_quickbooks__bill_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__bill_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "balance": {"type": "integer", "index": 4, "name": "balance", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 6, "name": "currency_id", "comment": null}, "department_id": {"type": "integer", "index": 7, "name": "department_id", "comment": null}, "doc_number": {"type": "date", "index": 8, "name": "doc_number", "comment": null}, "due_date": {"type": "date", "index": 9, "name": "due_date", "comment": null}, "exchange_rate": {"type": "integer", "index": 10, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 11, "name": "global_tax_calculation", "comment": null}, "home_balance": {"type": "integer", "index": 12, "name": "home_balance", "comment": null}, "payable_account_id": {"type": "integer", "index": 13, "name": "payable_account_id", "comment": null}, "private_note": {"type": "text", "index": 14, "name": "private_note", "comment": null}, "sales_term_id": {"type": "integer", "index": 15, "name": "sales_term_id", "comment": null}, "sync_token": {"type": "integer", "index": 16, "name": "sync_token", "comment": null}, "total_amount": {"type": "integer", "index": 17, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 18, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 19, "name": "updated_at", "comment": null}, "vendor_id": {"type": "integer", "index": 20, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__bill_tmp"}, "model.quickbooks_source.stg_quickbooks__bundle": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__bundle", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bundle_id": {"type": "text", "index": 1, "name": "bundle_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 2, "name": "created_at", "comment": null}, "is_active": {"type": "boolean", "index": 3, "name": "is_active", "comment": null}, "fully_qualified_name": {"type": "text", "index": 4, "name": "fully_qualified_name", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 5, "name": "updated_at", "comment": null}, "source_relation": {"type": "text", "index": 6, "name": "source_relation", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 7, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__bundle"}, "model.quickbooks_source.stg_quickbooks__bundle_item": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__bundle_item", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bundle_id": {"type": "text", "index": 1, "name": "bundle_id", "comment": null}, "item_id": {"type": "text", "index": 2, "name": "item_id", "comment": null}, "item_quantity": {"type": "integer", "index": 3, "name": "item_quantity", "comment": null}, "source_relation": {"type": "text", "index": 4, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__bundle_item"}, "model.quickbooks_source.stg_quickbooks__bundle_item_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__bundle_item_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bundle_id": {"type": "integer", "index": 1, "name": "bundle_id", "comment": null}, "item_id": {"type": "integer", "index": 2, "name": "item_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "item_quantity": {"type": "integer", "index": 4, "name": "item_quantity", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__bundle_item_tmp"}, "model.quickbooks_source.stg_quickbooks__bundle_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__bundle_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "active": {"type": "boolean", "index": 3, "name": "active", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 4, "name": "created_at", "comment": null}, "description": {"type": "text", "index": 5, "name": "description", "comment": null}, "fully_qualified_name": {"type": "text", "index": 6, "name": "fully_qualified_name", "comment": null}, "name": {"type": "text", "index": 7, "name": "name", "comment": null}, "print_grouped_items": {"type": "boolean", "index": 8, "name": "print_grouped_items", "comment": null}, "purchase_cost": {"type": "integer", "index": 9, "name": "purchase_cost", "comment": null}, "sync_token": {"type": "integer", "index": 10, "name": "sync_token", "comment": null}, "taxable": {"type": "boolean", "index": 11, "name": "taxable", "comment": null}, "unit_price": {"type": "integer", "index": 12, "name": "unit_price", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 13, "name": "updated_at", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 14, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__bundle_tmp"}, "model.quickbooks_source.stg_quickbooks__credit_card_payment_txn": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__credit_card_payment_txn", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"credit_card_payment_id": {"type": "text", "index": 1, "name": "credit_card_payment_id", "comment": null}, "amount": {"type": "double precision", "index": 2, "name": "amount", "comment": null}, "bank_account_id": {"type": "integer", "index": 3, "name": "bank_account_id", "comment": null}, "credit_card_account_id": {"type": "integer", "index": 4, "name": "credit_card_account_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 6, "name": "updated_at", "comment": null}, "currency_id": {"type": "text", "index": 7, "name": "currency_id", "comment": null}, "transaction_date": {"type": "date", "index": 8, "name": "transaction_date", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 9, "name": "_fivetran_deleted", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 10, "name": "is_most_recent_record", "comment": null}, "source_relation": {"type": "text", "index": 11, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__credit_card_payment_txn"}, "model.quickbooks_source.stg_quickbooks__credit_card_payment_txn_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__credit_card_payment_txn_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "amount": {"type": "double precision", "index": 2, "name": "amount", "comment": null}, "bank_account_id": {"type": "integer", "index": 3, "name": "bank_account_id", "comment": null}, "credit_card_account_id": {"type": "integer", "index": 4, "name": "credit_card_account_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 6, "name": "updated_at", "comment": null}, "currency_id": {"type": "text", "index": 7, "name": "currency_id", "comment": null}, "transaction_date": {"type": "date", "index": 8, "name": "transaction_date", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 9, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__credit_card_payment_txn_tmp"}, "model.quickbooks_source.stg_quickbooks__credit_memo": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__credit_memo", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"credit_memo_id": {"type": "text", "index": 1, "name": "credit_memo_id", "comment": null}, "balance": {"type": "integer", "index": 2, "name": "balance", "comment": null}, "doc_number": {"type": "text", "index": 3, "name": "doc_number", "comment": null}, "total_amount": {"type": "integer", "index": 4, "name": "total_amount", "comment": null}, "currency_id": {"type": "text", "index": 5, "name": "currency_id", "comment": null}, "class_id": {"type": "text", "index": 6, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 7, "name": "department_id", "comment": null}, "customer_id": {"type": "text", "index": 8, "name": "customer_id", "comment": null}, "exchange_rate": {"type": "integer", "index": 9, "name": "exchange_rate", "comment": null}, "transaction_date": {"type": "date", "index": 10, "name": "transaction_date", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 11, "name": "_fivetran_deleted", "comment": null}, "source_relation": {"type": "text", "index": 12, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__credit_memo"}, "model.quickbooks_source.stg_quickbooks__credit_memo_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__credit_memo_line", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"credit_memo_id": {"type": "text", "index": 1, "name": "credit_memo_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "amount": {"type": "integer", "index": 3, "name": "amount", "comment": null}, "sales_item_account_id": {"type": "text", "index": 4, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "text", "index": 5, "name": "sales_item_class_id", "comment": null}, "sales_item_item_id": {"type": "text", "index": 6, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "double precision", "index": 7, "name": "sales_item_quantity", "comment": null}, "sales_item_unit_price": {"type": "double precision", "index": 8, "name": "sales_item_unit_price", "comment": null}, "discount_account_id": {"type": "text", "index": 9, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "text", "index": 10, "name": "discount_class_id", "comment": null}, "description": {"type": "text", "index": 11, "name": "description", "comment": null}, "source_relation": {"type": "text", "index": 12, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__credit_memo_line"}, "model.quickbooks_source.stg_quickbooks__credit_memo_line_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__credit_memo_line_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"credit_memo_id": {"type": "integer", "index": 1, "name": "credit_memo_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "bundle_id": {"type": "integer", "index": 5, "name": "bundle_id", "comment": null}, "bundle_quantity": {"type": "integer", "index": 6, "name": "bundle_quantity", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 8, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 9, "name": "description_tax_code_id", "comment": null}, "discount_account_id": {"type": "integer", "index": 10, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "integer", "index": 11, "name": "discount_class_id", "comment": null}, "discount_discount_percent": {"type": "integer", "index": 12, "name": "discount_discount_percent", "comment": null}, "discount_percent_based": {"type": "integer", "index": 13, "name": "discount_percent_based", "comment": null}, "discount_tax_code_id": {"type": "integer", "index": 14, "name": "discount_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 15, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "integer", "index": 16, "name": "sales_item_class_id", "comment": null}, "sales_item_discount_amount": {"type": "integer", "index": 17, "name": "sales_item_discount_amount", "comment": null}, "sales_item_discount_rate": {"type": "integer", "index": 18, "name": "sales_item_discount_rate", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 19, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "double precision", "index": 20, "name": "sales_item_quantity", "comment": null}, "sales_item_service_date": {"type": "integer", "index": 21, "name": "sales_item_service_date", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 22, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_unit_price": {"type": "double precision", "index": 23, "name": "sales_item_unit_price", "comment": null}, "sub_total_item_id": {"type": "integer", "index": 24, "name": "sub_total_item_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__credit_memo_line_tmp"}, "model.quickbooks_source.stg_quickbooks__credit_memo_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__credit_memo_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "apply_tax_after_discount": {"type": "boolean", "index": 4, "name": "apply_tax_after_discount", "comment": null}, "balance": {"type": "integer", "index": 5, "name": "balance", "comment": null}, "bill_email": {"type": "text", "index": 6, "name": "bill_email", "comment": null}, "billing_address_id": {"type": "integer", "index": 7, "name": "billing_address_id", "comment": null}, "class_id": {"type": "integer", "index": 8, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 9, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 10, "name": "currency_id", "comment": null}, "custom_p_o_number": {"type": "integer", "index": 11, "name": "custom_p_o_number", "comment": null}, "customer_id": {"type": "integer", "index": 12, "name": "customer_id", "comment": null}, "customer_memo": {"type": "text", "index": 13, "name": "customer_memo", "comment": null}, "department_id": {"type": "integer", "index": 14, "name": "department_id", "comment": null}, "doc_number": {"type": "integer", "index": 15, "name": "doc_number", "comment": null}, "email_status": {"type": "text", "index": 16, "name": "email_status", "comment": null}, "exchange_rate": {"type": "integer", "index": 17, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 18, "name": "global_tax_calculation", "comment": null}, "home_balance": {"type": "integer", "index": 19, "name": "home_balance", "comment": null}, "home_total_amount": {"type": "integer", "index": 20, "name": "home_total_amount", "comment": null}, "payment_method_id": {"type": "integer", "index": 21, "name": "payment_method_id", "comment": null}, "print_status": {"type": "text", "index": 22, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 23, "name": "private_note", "comment": null}, "remaining_credit": {"type": "integer", "index": 24, "name": "remaining_credit", "comment": null}, "sales_term_id": {"type": "integer", "index": 25, "name": "sales_term_id", "comment": null}, "shipping_address_id": {"type": "integer", "index": 26, "name": "shipping_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 27, "name": "sync_token", "comment": null}, "total_amount": {"type": "integer", "index": 28, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 29, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 30, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 31, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__credit_memo_tmp"}, "model.quickbooks_source.stg_quickbooks__customer": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__customer", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"customer_id": {"type": "text", "index": 1, "name": "customer_id", "comment": null}, "is_active": {"type": "boolean", "index": 2, "name": "is_active", "comment": null}, "balance": {"type": "integer", "index": 3, "name": "balance", "comment": null}, "balance_with_jobs": {"type": "integer", "index": 4, "name": "balance_with_jobs", "comment": null}, "bill_with_parent": {"type": "boolean", "index": 5, "name": "bill_with_parent", "comment": null}, "company_name": {"type": "text", "index": 6, "name": "company_name", "comment": null}, "fully_qualified_name": {"type": "text", "index": 7, "name": "fully_qualified_name", "comment": null}, "currency_id": {"type": "text", "index": 8, "name": "currency_id", "comment": null}, "display_name": {"type": "text", "index": 9, "name": "display_name", "comment": null}, "website": {"type": "integer", "index": 10, "name": "website", "comment": null}, "taxable": {"type": "boolean", "index": 11, "name": "taxable", "comment": null}, "source_relation": {"type": "text", "index": 12, "name": "source_relation", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 13, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__customer"}, "model.quickbooks_source.stg_quickbooks__customer_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__customer_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "active": {"type": "boolean", "index": 3, "name": "active", "comment": null}, "alternate_phone_number": {"type": "integer", "index": 4, "name": "alternate_phone_number", "comment": null}, "ar_account_id": {"type": "integer", "index": 5, "name": "ar_account_id", "comment": null}, "balance": {"type": "integer", "index": 6, "name": "balance", "comment": null}, "balance_with_jobs": {"type": "integer", "index": 7, "name": "balance_with_jobs", "comment": null}, "bill_address_id": {"type": "integer", "index": 8, "name": "bill_address_id", "comment": null}, "bill_with_parent": {"type": "boolean", "index": 9, "name": "bill_with_parent", "comment": null}, "company_name": {"type": "text", "index": 10, "name": "company_name", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 11, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 12, "name": "currency_id", "comment": null}, "default_tax_code_id": {"type": "integer", "index": 13, "name": "default_tax_code_id", "comment": null}, "display_name": {"type": "text", "index": 14, "name": "display_name", "comment": null}, "email": {"type": "text", "index": 15, "name": "email", "comment": null}, "family_name": {"type": "text", "index": 16, "name": "family_name", "comment": null}, "fax_number": {"type": "integer", "index": 17, "name": "fax_number", "comment": null}, "fully_qualified_name": {"type": "text", "index": 18, "name": "fully_qualified_name", "comment": null}, "given_name": {"type": "text", "index": 19, "name": "given_name", "comment": null}, "job": {"type": "boolean", "index": 20, "name": "job", "comment": null}, "level": {"type": "integer", "index": 21, "name": "level", "comment": null}, "middle_name": {"type": "integer", "index": 22, "name": "middle_name", "comment": null}, "mobile_number": {"type": "integer", "index": 23, "name": "mobile_number", "comment": null}, "notes": {"type": "integer", "index": 24, "name": "notes", "comment": null}, "open_balance_date": {"type": "integer", "index": 25, "name": "open_balance_date", "comment": null}, "parent_customer_id": {"type": "integer", "index": 26, "name": "parent_customer_id", "comment": null}, "payment_method_id": {"type": "integer", "index": 27, "name": "payment_method_id", "comment": null}, "phone_number": {"type": "integer", "index": 28, "name": "phone_number", "comment": null}, "preferred_delivery_method": {"type": "text", "index": 29, "name": "preferred_delivery_method", "comment": null}, "print_on_check_name": {"type": "text", "index": 30, "name": "print_on_check_name", "comment": null}, "resale_number": {"type": "integer", "index": 31, "name": "resale_number", "comment": null}, "sales_term_id": {"type": "integer", "index": 32, "name": "sales_term_id", "comment": null}, "shipping_address_id": {"type": "integer", "index": 33, "name": "shipping_address_id", "comment": null}, "suffix": {"type": "integer", "index": 34, "name": "suffix", "comment": null}, "sync_token": {"type": "integer", "index": 35, "name": "sync_token", "comment": null}, "tax_exemption_reason_id": {"type": "integer", "index": 36, "name": "tax_exemption_reason_id", "comment": null}, "taxable": {"type": "boolean", "index": 37, "name": "taxable", "comment": null}, "title": {"type": "integer", "index": 38, "name": "title", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 39, "name": "updated_at", "comment": null}, "website": {"type": "integer", "index": 40, "name": "website", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 41, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__customer_tmp"}, "model.quickbooks_source.stg_quickbooks__department": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__department", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"department_id": {"type": "text", "index": 1, "name": "department_id", "comment": null}, "is_active": {"type": "boolean", "index": 2, "name": "is_active", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 3, "name": "created_at", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 4, "name": "updated_at", "comment": null}, "fully_qualified_name": {"type": "text", "index": 5, "name": "fully_qualified_name", "comment": null}, "name": {"type": "text", "index": 6, "name": "name", "comment": null}, "is_sub_department": {"type": "boolean", "index": 7, "name": "is_sub_department", "comment": null}, "parent_department_id": {"type": "integer", "index": 8, "name": "parent_department_id", "comment": null}, "source_relation": {"type": "text", "index": 9, "name": "source_relation", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 10, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__department"}, "model.quickbooks_source.stg_quickbooks__department_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__department_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "active": {"type": "boolean", "index": 3, "name": "active", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 4, "name": "created_at", "comment": null}, "fully_qualified_name": {"type": "text", "index": 5, "name": "fully_qualified_name", "comment": null}, "name": {"type": "text", "index": 6, "name": "name", "comment": null}, "parent_department_id": {"type": "integer", "index": 7, "name": "parent_department_id", "comment": null}, "sub_department": {"type": "boolean", "index": 8, "name": "sub_department", "comment": null}, "sync_token": {"type": "integer", "index": 9, "name": "sync_token", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 10, "name": "updated_at", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 11, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__department_tmp"}, "model.quickbooks_source.stg_quickbooks__deposit": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__deposit", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"deposit_id": {"type": "text", "index": 1, "name": "deposit_id", "comment": null}, "account_id": {"type": "text", "index": 2, "name": "account_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 3, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 4, "name": "currency_id", "comment": null}, "department_id": {"type": "text", "index": 5, "name": "department_id", "comment": null}, "total_amount": {"type": "integer", "index": 6, "name": "total_amount", "comment": null}, "home_total_amount": {"type": "integer", "index": 7, "name": "home_total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 8, "name": "transaction_date", "comment": null}, "transaction_status": {"type": "integer", "index": 9, "name": "transaction_status", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 10, "name": "_fivetran_deleted", "comment": null}, "source_relation": {"type": "text", "index": 11, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__deposit"}, "model.quickbooks_source.stg_quickbooks__deposit_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__deposit_line", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"deposit_id": {"type": "text", "index": 1, "name": "deposit_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "amount": {"type": "integer", "index": 3, "name": "amount", "comment": null}, "description": {"type": "text", "index": 4, "name": "description", "comment": null}, "deposit_account_id": {"type": "text", "index": 5, "name": "deposit_account_id", "comment": null}, "deposit_class_id": {"type": "text", "index": 6, "name": "deposit_class_id", "comment": null}, "deposit_customer_id": {"type": "text", "index": 7, "name": "deposit_customer_id", "comment": null}, "source_relation": {"type": "text", "index": 8, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__deposit_line"}, "model.quickbooks_source.stg_quickbooks__deposit_line_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__deposit_line_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"deposit_id": {"type": "integer", "index": 1, "name": "deposit_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "deposit_account_id": {"type": "bigint", "index": 5, "name": "deposit_account_id", "comment": null}, "deposit_check_number": {"type": "integer", "index": 6, "name": "deposit_check_number", "comment": null}, "deposit_class_id": {"type": "bigint", "index": 7, "name": "deposit_class_id", "comment": null}, "deposit_customer_id": {"type": "integer", "index": 8, "name": "deposit_customer_id", "comment": null}, "deposit_payment_method_id": {"type": "integer", "index": 9, "name": "deposit_payment_method_id", "comment": null}, "deposit_tax_applicable_on": {"type": "integer", "index": 10, "name": "deposit_tax_applicable_on", "comment": null}, "deposit_tax_code_id": {"type": "integer", "index": 11, "name": "deposit_tax_code_id", "comment": null}, "deposit_transaction_type": {"type": "integer", "index": 12, "name": "deposit_transaction_type", "comment": null}, "description": {"type": "text", "index": 13, "name": "description", "comment": null}, "detail_type": {"type": "text", "index": 14, "name": "detail_type", "comment": null}, "expense_id": {"type": "integer", "index": 15, "name": "expense_id", "comment": null}, "invoice_id": {"type": "integer", "index": 16, "name": "invoice_id", "comment": null}, "journal_entry_id": {"type": "integer", "index": 17, "name": "journal_entry_id", "comment": null}, "payment_id": {"type": "integer", "index": 18, "name": "payment_id", "comment": null}, "purchase_id": {"type": "integer", "index": 19, "name": "purchase_id", "comment": null}, "refund_receipt_id": {"type": "integer", "index": 20, "name": "refund_receipt_id", "comment": null}, "sales_receipt_id": {"type": "integer", "index": 21, "name": "sales_receipt_id", "comment": null}, "transfer_id": {"type": "integer", "index": 22, "name": "transfer_id", "comment": null}, "bill_id": {"type": "integer", "index": 23, "name": "bill_id", "comment": null}, "vendor_credit_id": {"type": "integer", "index": 24, "name": "vendor_credit_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__deposit_line_tmp"}, "model.quickbooks_source.stg_quickbooks__deposit_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__deposit_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_id": {"type": "integer", "index": 4, "name": "account_id", "comment": null}, "cash_back_account_id": {"type": "integer", "index": 5, "name": "cash_back_account_id", "comment": null}, "cash_back_amount": {"type": "integer", "index": 6, "name": "cash_back_amount", "comment": null}, "cash_back_memo": {"type": "integer", "index": 7, "name": "cash_back_memo", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 8, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 9, "name": "currency_id", "comment": null}, "department_id": {"type": "integer", "index": 10, "name": "department_id", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 11, "name": "global_tax_calculation", "comment": null}, "home_total_amount": {"type": "integer", "index": 12, "name": "home_total_amount", "comment": null}, "private_note": {"type": "text", "index": 13, "name": "private_note", "comment": null}, "sync_token": {"type": "integer", "index": 14, "name": "sync_token", "comment": null}, "total_amount": {"type": "integer", "index": 15, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 16, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 17, "name": "transaction_source", "comment": null}, "transaction_status": {"type": "integer", "index": 18, "name": "transaction_status", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 19, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__deposit_tmp"}, "model.quickbooks_source.stg_quickbooks__estimate": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__estimate", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"estimate_id": {"type": "text", "index": 1, "name": "estimate_id", "comment": null}, "class_id": {"type": "text", "index": 2, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 3, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 4, "name": "currency_id", "comment": null}, "customer_id": {"type": "integer", "index": 5, "name": "customer_id", "comment": null}, "department_id": {"type": "text", "index": 6, "name": "department_id", "comment": null}, "due_date": {"type": "date", "index": 7, "name": "due_date", "comment": null}, "exchange_rate": {"type": "integer", "index": 8, "name": "exchange_rate", "comment": null}, "total_amount": {"type": "double precision", "index": 9, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 10, "name": "transaction_date", "comment": null}, "transaction_status": {"type": "text", "index": 11, "name": "transaction_status", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 12, "name": "_fivetran_deleted", "comment": null}, "source_relation": {"type": "text", "index": 13, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__estimate"}, "model.quickbooks_source.stg_quickbooks__estimate_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__estimate_line", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"estimate_id": {"type": "text", "index": 1, "name": "estimate_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "description": {"type": "text", "index": 3, "name": "description", "comment": null}, "discount_account_id": {"type": "integer", "index": 4, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "text", "index": 5, "name": "discount_class_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 6, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "text", "index": 7, "name": "sales_item_class_id", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 8, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "integer", "index": 9, "name": "sales_item_quantity", "comment": null}, "item_id": {"type": "integer", "index": 10, "name": "item_id", "comment": null}, "quantity": {"type": "integer", "index": 11, "name": "quantity", "comment": null}, "account_id": {"type": "integer", "index": 12, "name": "account_id", "comment": null}, "amount": {"type": "integer", "index": 13, "name": "amount", "comment": null}, "source_relation": {"type": "text", "index": 14, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__estimate_line"}, "model.quickbooks_source.stg_quickbooks__estimate_line_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__estimate_line_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"estimate_id": {"type": "integer", "index": 1, "name": "estimate_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "bundle_id": {"type": "integer", "index": 5, "name": "bundle_id", "comment": null}, "bundle_quantity": {"type": "integer", "index": 6, "name": "bundle_quantity", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 8, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 9, "name": "description_tax_code_id", "comment": null}, "discount_account_id": {"type": "integer", "index": 10, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "integer", "index": 11, "name": "discount_class_id", "comment": null}, "discount_discount_percent": {"type": "integer", "index": 12, "name": "discount_discount_percent", "comment": null}, "discount_percent_based": {"type": "integer", "index": 13, "name": "discount_percent_based", "comment": null}, "discount_tax_code_id": {"type": "integer", "index": 14, "name": "discount_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 15, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "integer", "index": 16, "name": "sales_item_class_id", "comment": null}, "sales_item_discount_amount": {"type": "integer", "index": 17, "name": "sales_item_discount_amount", "comment": null}, "sales_item_discount_rate": {"type": "integer", "index": 18, "name": "sales_item_discount_rate", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 19, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "integer", "index": 20, "name": "sales_item_quantity", "comment": null}, "sales_item_service_date": {"type": "integer", "index": 21, "name": "sales_item_service_date", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 22, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_unit_price": {"type": "integer", "index": 23, "name": "sales_item_unit_price", "comment": null}, "sub_total_item_id": {"type": "integer", "index": 24, "name": "sub_total_item_id", "comment": null}, "item_id": {"type": "integer", "index": 25, "name": "item_id", "comment": null}, "quantity": {"type": "integer", "index": 26, "name": "quantity", "comment": null}, "tax_code_id": {"type": "integer", "index": 27, "name": "tax_code_id", "comment": null}, "account_id": {"type": "integer", "index": 28, "name": "account_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__estimate_line_tmp"}, "model.quickbooks_source.stg_quickbooks__estimate_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__estimate_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "accepted_by": {"type": "integer", "index": 4, "name": "accepted_by", "comment": null}, "accepted_date": {"type": "integer", "index": 5, "name": "accepted_date", "comment": null}, "apply_tax_after_discount": {"type": "boolean", "index": 6, "name": "apply_tax_after_discount", "comment": null}, "bill_email": {"type": "text", "index": 7, "name": "bill_email", "comment": null}, "billing_address_id": {"type": "integer", "index": 8, "name": "billing_address_id", "comment": null}, "class_id": {"type": "integer", "index": 9, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 10, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 11, "name": "currency_id", "comment": null}, "custom_p_o_number": {"type": "integer", "index": 12, "name": "custom_p_o_number", "comment": null}, "custom_sales_rep": {"type": "integer", "index": 13, "name": "custom_sales_rep", "comment": null}, "customer_id": {"type": "integer", "index": 14, "name": "customer_id", "comment": null}, "customer_memo": {"type": "text", "index": 15, "name": "customer_memo", "comment": null}, "delivery_type": {"type": "integer", "index": 16, "name": "delivery_type", "comment": null}, "department_id": {"type": "integer", "index": 17, "name": "department_id", "comment": null}, "doc_number": {"type": "integer", "index": 18, "name": "doc_number", "comment": null}, "due_date": {"type": "date", "index": 19, "name": "due_date", "comment": null}, "email_status": {"type": "text", "index": 20, "name": "email_status", "comment": null}, "exchange_rate": {"type": "integer", "index": 21, "name": "exchange_rate", "comment": null}, "expiration_date": {"type": "integer", "index": 22, "name": "expiration_date", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 23, "name": "global_tax_calculation", "comment": null}, "home_total_amount": {"type": "integer", "index": 24, "name": "home_total_amount", "comment": null}, "print_status": {"type": "text", "index": 25, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 26, "name": "private_note", "comment": null}, "sales_term_id": {"type": "integer", "index": 27, "name": "sales_term_id", "comment": null}, "ship_date": {"type": "integer", "index": 28, "name": "ship_date", "comment": null}, "shipping_address_id": {"type": "integer", "index": 29, "name": "shipping_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 30, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 31, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "double precision", "index": 32, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 33, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 34, "name": "transaction_date", "comment": null}, "transaction_status": {"type": "text", "index": 35, "name": "transaction_status", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 36, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__estimate_tmp"}, "model.quickbooks_source.stg_quickbooks__invoice": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__invoice", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"invoice_id": {"type": "text", "index": 1, "name": "invoice_id", "comment": null}, "balance": {"type": "integer", "index": 2, "name": "balance", "comment": null}, "doc_number": {"type": "text", "index": 3, "name": "doc_number", "comment": null}, "total_amount": {"type": "integer", "index": 4, "name": "total_amount", "comment": null}, "currency_id": {"type": "text", "index": 5, "name": "currency_id", "comment": null}, "department_id": {"type": "text", "index": 6, "name": "department_id", "comment": null}, "deposit_to_account_id": {"type": "text", "index": 7, "name": "deposit_to_account_id", "comment": null}, "exchange_rate": {"type": "integer", "index": 8, "name": "exchange_rate", "comment": null}, "transaction_date": {"type": "date", "index": 9, "name": "transaction_date", "comment": null}, "customer_id": {"type": "text", "index": 10, "name": "customer_id", "comment": null}, "billing_address_id": {"type": "text", "index": 11, "name": "billing_address_id", "comment": null}, "shipping_address_id": {"type": "integer", "index": 12, "name": "shipping_address_id", "comment": null}, "delivery_type": {"type": "text", "index": 13, "name": "delivery_type", "comment": null}, "due_date": {"type": "date", "index": 14, "name": "due_date", "comment": null}, "class_id": {"type": "text", "index": 15, "name": "class_id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 16, "name": "_fivetran_deleted", "comment": null}, "source_relation": {"type": "text", "index": 17, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__invoice"}, "model.quickbooks_source.stg_quickbooks__invoice_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__invoice_line", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"invoice_id": {"type": "text", "index": 1, "name": "invoice_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "amount": {"type": "double precision", "index": 3, "name": "amount", "comment": null}, "sales_item_account_id": {"type": "text", "index": 4, "name": "sales_item_account_id", "comment": null}, "sales_item_item_id": {"type": "text", "index": 5, "name": "sales_item_item_id", "comment": null}, "sales_item_class_id": {"type": "text", "index": 6, "name": "sales_item_class_id", "comment": null}, "sales_item_quantity": {"type": "double precision", "index": 7, "name": "sales_item_quantity", "comment": null}, "sales_item_unit_price": {"type": "integer", "index": 8, "name": "sales_item_unit_price", "comment": null}, "discount_account_id": {"type": "text", "index": 9, "name": "discount_account_id", "comment": null}, "detail_type": {"type": "text", "index": 10, "name": "detail_type", "comment": null}, "discount_class_id": {"type": "text", "index": 11, "name": "discount_class_id", "comment": null}, "description": {"type": "text", "index": 12, "name": "description", "comment": null}, "quantity": {"type": "integer", "index": 13, "name": "quantity", "comment": null}, "bundle_quantity": {"type": "double precision", "index": 14, "name": "bundle_quantity", "comment": null}, "bundle_id": {"type": "text", "index": 15, "name": "bundle_id", "comment": null}, "account_id": {"type": "text", "index": 16, "name": "account_id", "comment": null}, "item_id": {"type": "text", "index": 17, "name": "item_id", "comment": null}, "source_relation": {"type": "text", "index": 18, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__invoice_line"}, "model.quickbooks_source.stg_quickbooks__invoice_line_bundle": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__invoice_line_bundle", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"invoice_id": {"type": "text", "index": 1, "name": "invoice_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "class_id": {"type": "text", "index": 3, "name": "class_id", "comment": null}, "description": {"type": "text", "index": 4, "name": "description", "comment": null}, "amount": {"type": "double precision", "index": 5, "name": "amount", "comment": null}, "sales_item_item_id": {"type": "text", "index": 6, "name": "sales_item_item_id", "comment": null}, "item_id": {"type": "text", "index": 7, "name": "item_id", "comment": null}, "quantity": {"type": "double precision", "index": 8, "name": "quantity", "comment": null}, "sales_item_quantity": {"type": "integer", "index": 9, "name": "sales_item_quantity", "comment": null}, "account_id": {"type": "text", "index": 10, "name": "account_id", "comment": null}, "unit_price": {"type": "integer", "index": 11, "name": "unit_price", "comment": null}, "invoice_line_index": {"type": "integer", "index": 12, "name": "invoice_line_index", "comment": null}, "source_relation": {"type": "text", "index": 13, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__invoice_line_bundle"}, "model.quickbooks_source.stg_quickbooks__invoice_line_bundle_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__invoice_line_bundle_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "invoice_id": {"type": "integer", "index": 2, "name": "invoice_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_id": {"type": "integer", "index": 4, "name": "account_id", "comment": null}, "amount": {"type": "double precision", "index": 5, "name": "amount", "comment": null}, "class_id": {"type": "integer", "index": 6, "name": "class_id", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "discount_amount": {"type": "integer", "index": 8, "name": "discount_amount", "comment": null}, "discount_rate": {"type": "integer", "index": 9, "name": "discount_rate", "comment": null}, "invoice_line_index": {"type": "integer", "index": 10, "name": "invoice_line_index", "comment": null}, "item_id": {"type": "integer", "index": 11, "name": "item_id", "comment": null}, "line_num": {"type": "integer", "index": 12, "name": "line_num", "comment": null}, "quantity": {"type": "double precision", "index": 13, "name": "quantity", "comment": null}, "service_date": {"type": "integer", "index": 14, "name": "service_date", "comment": null}, "tax_code_id": {"type": "text", "index": 15, "name": "tax_code_id", "comment": null}, "unit_price": {"type": "integer", "index": 16, "name": "unit_price", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 17, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "integer", "index": 18, "name": "sales_item_quantity", "comment": null}, "sales_item_tax_code_id": {"type": "integer", "index": 19, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 20, "name": "sales_item_account_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__invoice_line_bundle_tmp"}, "model.quickbooks_source.stg_quickbooks__invoice_line_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__invoice_line_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "invoice_id": {"type": "integer", "index": 2, "name": "invoice_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "double precision", "index": 4, "name": "amount", "comment": null}, "bundle_id": {"type": "integer", "index": 5, "name": "bundle_id", "comment": null}, "bundle_quantity": {"type": "double precision", "index": 6, "name": "bundle_quantity", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 8, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 9, "name": "description_tax_code_id", "comment": null}, "discount_account_id": {"type": "integer", "index": 10, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "integer", "index": 11, "name": "discount_class_id", "comment": null}, "discount_discount_percent": {"type": "integer", "index": 12, "name": "discount_discount_percent", "comment": null}, "discount_percent_based": {"type": "integer", "index": 13, "name": "discount_percent_based", "comment": null}, "discount_tax_code_id": {"type": "integer", "index": 14, "name": "discount_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 15, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "integer", "index": 16, "name": "sales_item_class_id", "comment": null}, "sales_item_discount_amount": {"type": "integer", "index": 17, "name": "sales_item_discount_amount", "comment": null}, "sales_item_discount_rate": {"type": "integer", "index": 18, "name": "sales_item_discount_rate", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 19, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "double precision", "index": 20, "name": "sales_item_quantity", "comment": null}, "sales_item_service_date": {"type": "integer", "index": 21, "name": "sales_item_service_date", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 22, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_unit_price": {"type": "integer", "index": 23, "name": "sales_item_unit_price", "comment": null}, "sub_total_item_id": {"type": "integer", "index": 24, "name": "sub_total_item_id", "comment": null}, "item_id": {"type": "integer", "index": 25, "name": "item_id", "comment": null}, "quantity": {"type": "integer", "index": 26, "name": "quantity", "comment": null}, "tax_code_id": {"type": "integer", "index": 27, "name": "tax_code_id", "comment": null}, "account_id": {"type": "integer", "index": 28, "name": "account_id", "comment": null}, "detail_type": {"type": "text", "index": 29, "name": "detail_type", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__invoice_line_tmp"}, "model.quickbooks_source.stg_quickbooks__invoice_linked_txn": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__invoice_linked_txn", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"invoice_id": {"type": "text", "index": 1, "name": "invoice_id", "comment": null}, "payment_id": {"type": "text", "index": 2, "name": "payment_id", "comment": null}, "estimate_id": {"type": "text", "index": 3, "name": "estimate_id", "comment": null}, "index": {"type": "integer", "index": 4, "name": "index", "comment": null}, "source_relation": {"type": "text", "index": 5, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__invoice_linked_txn"}, "model.quickbooks_source.stg_quickbooks__invoice_linked_txn_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__invoice_linked_txn_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "invoice_id": {"type": "integer", "index": 2, "name": "invoice_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "charge_credit_id": {"type": "integer", "index": 4, "name": "charge_credit_id", "comment": null}, "estimate_id": {"type": "integer", "index": 5, "name": "estimate_id", "comment": null}, "payment_id": {"type": "integer", "index": 6, "name": "payment_id", "comment": null}, "reimburse_charge_id": {"type": "integer", "index": 7, "name": "reimburse_charge_id", "comment": null}, "statement_charge_id": {"type": "integer", "index": 8, "name": "statement_charge_id", "comment": null}, "time_activity_id": {"type": "integer", "index": 9, "name": "time_activity_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__invoice_linked_txn_tmp"}, "model.quickbooks_source.stg_quickbooks__invoice_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__invoice_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "allow_ipnpayment": {"type": "boolean", "index": 4, "name": "allow_ipnpayment", "comment": null}, "allow_online_achpayment": {"type": "boolean", "index": 5, "name": "allow_online_achpayment", "comment": null}, "allow_online_credit_card_payment": {"type": "boolean", "index": 6, "name": "allow_online_credit_card_payment", "comment": null}, "allow_online_payment": {"type": "boolean", "index": 7, "name": "allow_online_payment", "comment": null}, "apply_tax_after_discount": {"type": "boolean", "index": 8, "name": "apply_tax_after_discount", "comment": null}, "balance": {"type": "integer", "index": 9, "name": "balance", "comment": null}, "billing_address_id": {"type": "integer", "index": 10, "name": "billing_address_id", "comment": null}, "billing_bcc_email": {"type": "text", "index": 11, "name": "billing_bcc_email", "comment": null}, "billing_cc_email": {"type": "integer", "index": 12, "name": "billing_cc_email", "comment": null}, "billing_email": {"type": "text", "index": 13, "name": "billing_email", "comment": null}, "class_id": {"type": "integer", "index": 14, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 15, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 16, "name": "currency_id", "comment": null}, "custom_p_o_number": {"type": "integer", "index": 17, "name": "custom_p_o_number", "comment": null}, "custom_sales_rep": {"type": "integer", "index": 18, "name": "custom_sales_rep", "comment": null}, "customer_id": {"type": "integer", "index": 19, "name": "customer_id", "comment": null}, "customer_memo": {"type": "text", "index": 20, "name": "customer_memo", "comment": null}, "delivery_time": {"type": "timestamp without time zone", "index": 21, "name": "delivery_time", "comment": null}, "delivery_type": {"type": "text", "index": 22, "name": "delivery_type", "comment": null}, "department_id": {"type": "integer", "index": 23, "name": "department_id", "comment": null}, "deposit": {"type": "integer", "index": 24, "name": "deposit", "comment": null}, "deposit_to_account_id": {"type": "integer", "index": 25, "name": "deposit_to_account_id", "comment": null}, "doc_number": {"type": "integer", "index": 26, "name": "doc_number", "comment": null}, "due_date": {"type": "date", "index": 27, "name": "due_date", "comment": null}, "email_status": {"type": "text", "index": 28, "name": "email_status", "comment": null}, "exchange_rate": {"type": "integer", "index": 29, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 30, "name": "global_tax_calculation", "comment": null}, "home_balance": {"type": "integer", "index": 31, "name": "home_balance", "comment": null}, "home_total_amount": {"type": "integer", "index": 32, "name": "home_total_amount", "comment": null}, "print_status": {"type": "text", "index": 33, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 34, "name": "private_note", "comment": null}, "sales_term_id": {"type": "integer", "index": 35, "name": "sales_term_id", "comment": null}, "ship_date": {"type": "integer", "index": 36, "name": "ship_date", "comment": null}, "shipping_address_id": {"type": "integer", "index": 37, "name": "shipping_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 38, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 39, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "integer", "index": 40, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 41, "name": "total_tax", "comment": null}, "tracking_number": {"type": "integer", "index": 42, "name": "tracking_number", "comment": null}, "transaction_date": {"type": "date", "index": 43, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 44, "name": "transaction_source", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 45, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__invoice_tmp"}, "model.quickbooks_source.stg_quickbooks__item": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__item", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"item_id": {"type": "text", "index": 1, "name": "item_id", "comment": null}, "is_active": {"type": "boolean", "index": 2, "name": "is_active", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 3, "name": "created_at", "comment": null}, "income_account_id": {"type": "text", "index": 4, "name": "income_account_id", "comment": null}, "asset_account_id": {"type": "text", "index": 5, "name": "asset_account_id", "comment": null}, "expense_account_id": {"type": "text", "index": 6, "name": "expense_account_id", "comment": null}, "name": {"type": "text", "index": 7, "name": "name", "comment": null}, "purchase_cost": {"type": "integer", "index": 8, "name": "purchase_cost", "comment": null}, "taxable": {"type": "boolean", "index": 9, "name": "taxable", "comment": null}, "type": {"type": "text", "index": 10, "name": "type", "comment": null}, "unit_price": {"type": "integer", "index": 11, "name": "unit_price", "comment": null}, "inventory_start_date": {"type": "integer", "index": 12, "name": "inventory_start_date", "comment": null}, "parent_item_id": {"type": "text", "index": 13, "name": "parent_item_id", "comment": null}, "source_relation": {"type": "text", "index": 14, "name": "source_relation", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 15, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__item"}, "model.quickbooks_source.stg_quickbooks__item_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__item_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "active": {"type": "boolean", "index": 3, "name": "active", "comment": null}, "asset_account_id": {"type": "integer", "index": 4, "name": "asset_account_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "description": {"type": "integer", "index": 6, "name": "description", "comment": null}, "expense_account_id": {"type": "integer", "index": 7, "name": "expense_account_id", "comment": null}, "fully_qualified_name": {"type": "text", "index": 8, "name": "fully_qualified_name", "comment": null}, "income_account_id": {"type": "integer", "index": 9, "name": "income_account_id", "comment": null}, "inventory_start_date": {"type": "integer", "index": 10, "name": "inventory_start_date", "comment": null}, "level": {"type": "integer", "index": 11, "name": "level", "comment": null}, "name": {"type": "text", "index": 12, "name": "name", "comment": null}, "parent_item_id": {"type": "integer", "index": 13, "name": "parent_item_id", "comment": null}, "purchase_cost": {"type": "integer", "index": 14, "name": "purchase_cost", "comment": null}, "purchase_description": {"type": "integer", "index": 15, "name": "purchase_description", "comment": null}, "purchase_tax_code_id": {"type": "integer", "index": 16, "name": "purchase_tax_code_id", "comment": null}, "purchase_tax_included": {"type": "integer", "index": 17, "name": "purchase_tax_included", "comment": null}, "quantity_on_hand": {"type": "integer", "index": 18, "name": "quantity_on_hand", "comment": null}, "sales_tax_code_id": {"type": "integer", "index": 19, "name": "sales_tax_code_id", "comment": null}, "sales_tax_included": {"type": "integer", "index": 20, "name": "sales_tax_included", "comment": null}, "stock_keeping_unit": {"type": "integer", "index": 21, "name": "stock_keeping_unit", "comment": null}, "sub_item": {"type": "integer", "index": 22, "name": "sub_item", "comment": null}, "sync_token": {"type": "integer", "index": 23, "name": "sync_token", "comment": null}, "taxable": {"type": "boolean", "index": 24, "name": "taxable", "comment": null}, "track_quantity_on_hand": {"type": "boolean", "index": 25, "name": "track_quantity_on_hand", "comment": null}, "type": {"type": "text", "index": 26, "name": "type", "comment": null}, "unit_price": {"type": "integer", "index": 27, "name": "unit_price", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 28, "name": "updated_at", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 29, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__item_tmp"}, "model.quickbooks_source.stg_quickbooks__journal_entry": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__journal_entry", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"journal_entry_id": {"type": "text", "index": 1, "name": "journal_entry_id", "comment": null}, "is_adjustment": {"type": "boolean", "index": 2, "name": "is_adjustment", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 3, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 4, "name": "currency_id", "comment": null}, "doc_number": {"type": "text", "index": 5, "name": "doc_number", "comment": null}, "exchange_rate": {"type": "integer", "index": 6, "name": "exchange_rate", "comment": null}, "private_note": {"type": "text", "index": 7, "name": "private_note", "comment": null}, "total_amount": {"type": "integer", "index": 8, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 9, "name": "transaction_date", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 10, "name": "_fivetran_deleted", "comment": null}, "source_relation": {"type": "text", "index": 11, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__journal_entry"}, "model.quickbooks_source.stg_quickbooks__journal_entry_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__journal_entry_line", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"journal_entry_id": {"type": "text", "index": 1, "name": "journal_entry_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "account_id": {"type": "text", "index": 3, "name": "account_id", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "customer_id": {"type": "text", "index": 5, "name": "customer_id", "comment": null}, "department_id": {"type": "text", "index": 6, "name": "department_id", "comment": null}, "class_id": {"type": "text", "index": 7, "name": "class_id", "comment": null}, "description": {"type": "text", "index": 8, "name": "description", "comment": null}, "billable_status": {"type": "integer", "index": 9, "name": "billable_status", "comment": null}, "posting_type": {"type": "text", "index": 10, "name": "posting_type", "comment": null}, "vendor_id": {"type": "text", "index": 11, "name": "vendor_id", "comment": null}, "source_relation": {"type": "text", "index": 12, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__journal_entry_line"}, "model.quickbooks_source.stg_quickbooks__journal_entry_line_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__journal_entry_line_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "journal_entry_id": {"type": "integer", "index": 2, "name": "journal_entry_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_id": {"type": "integer", "index": 4, "name": "account_id", "comment": null}, "amount": {"type": "integer", "index": 5, "name": "amount", "comment": null}, "billable_status": {"type": "integer", "index": 6, "name": "billable_status", "comment": null}, "class_id": {"type": "integer", "index": 7, "name": "class_id", "comment": null}, "customer_id": {"type": "integer", "index": 8, "name": "customer_id", "comment": null}, "department_id": {"type": "integer", "index": 9, "name": "department_id", "comment": null}, "description": {"type": "text", "index": 10, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 11, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 12, "name": "description_tax_code_id", "comment": null}, "employee_id": {"type": "integer", "index": 13, "name": "employee_id", "comment": null}, "posting_type": {"type": "text", "index": 14, "name": "posting_type", "comment": null}, "tax_amount": {"type": "integer", "index": 15, "name": "tax_amount", "comment": null}, "tax_applicable_on": {"type": "integer", "index": 16, "name": "tax_applicable_on", "comment": null}, "tax_code_id": {"type": "integer", "index": 17, "name": "tax_code_id", "comment": null}, "vendor_id": {"type": "integer", "index": 18, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__journal_entry_line_tmp"}, "model.quickbooks_source.stg_quickbooks__journal_entry_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__journal_entry_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "adjustment": {"type": "boolean", "index": 4, "name": "adjustment", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 6, "name": "currency_id", "comment": null}, "doc_number": {"type": "text", "index": 7, "name": "doc_number", "comment": null}, "exchange_rate": {"type": "integer", "index": 8, "name": "exchange_rate", "comment": null}, "home_total_amount": {"type": "integer", "index": 9, "name": "home_total_amount", "comment": null}, "private_note": {"type": "text", "index": 10, "name": "private_note", "comment": null}, "sync_token": {"type": "integer", "index": 11, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 12, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "integer", "index": 13, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 14, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 15, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 16, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__journal_entry_tmp"}, "model.quickbooks_source.stg_quickbooks__payment": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__payment", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"payment_id": {"type": "text", "index": 1, "name": "payment_id", "comment": null}, "unapplied_amount": {"type": "integer", "index": 2, "name": "unapplied_amount", "comment": null}, "total_amount": {"type": "double precision", "index": 3, "name": "total_amount", "comment": null}, "currency_id": {"type": "text", "index": 4, "name": "currency_id", "comment": null}, "receivable_account_id": {"type": "text", "index": 5, "name": "receivable_account_id", "comment": null}, "deposit_to_account_id": {"type": "text", "index": 6, "name": "deposit_to_account_id", "comment": null}, "exchange_rate": {"type": "integer", "index": 7, "name": "exchange_rate", "comment": null}, "transaction_date": {"type": "date", "index": 8, "name": "transaction_date", "comment": null}, "customer_id": {"type": "text", "index": 9, "name": "customer_id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 10, "name": "_fivetran_deleted", "comment": null}, "source_relation": {"type": "text", "index": 11, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__payment"}, "model.quickbooks_source.stg_quickbooks__payment_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__payment_line", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"payment_id": {"type": "text", "index": 1, "name": "payment_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "amount": {"type": "double precision", "index": 3, "name": "amount", "comment": null}, "journal_entry_id": {"type": "integer", "index": 4, "name": "journal_entry_id", "comment": null}, "deposit_id": {"type": "integer", "index": 5, "name": "deposit_id", "comment": null}, "invoice_id": {"type": "text", "index": 6, "name": "invoice_id", "comment": null}, "credit_memo_id": {"type": "integer", "index": 7, "name": "credit_memo_id", "comment": null}, "source_relation": {"type": "text", "index": 8, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__payment_line"}, "model.quickbooks_source.stg_quickbooks__payment_line_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__payment_line_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "payment_id": {"type": "integer", "index": 2, "name": "payment_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "double precision", "index": 4, "name": "amount", "comment": null}, "check_id": {"type": "integer", "index": 5, "name": "check_id", "comment": null}, "credit_card_charge_id": {"type": "integer", "index": 6, "name": "credit_card_charge_id", "comment": null}, "credit_card_credit_id": {"type": "integer", "index": 7, "name": "credit_card_credit_id", "comment": null}, "credit_memo_id": {"type": "integer", "index": 8, "name": "credit_memo_id", "comment": null}, "deposit_id": {"type": "integer", "index": 9, "name": "deposit_id", "comment": null}, "expense_id": {"type": "integer", "index": 10, "name": "expense_id", "comment": null}, "invoice_id": {"type": "integer", "index": 11, "name": "invoice_id", "comment": null}, "journal_entry_id": {"type": "integer", "index": 12, "name": "journal_entry_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__payment_line_tmp"}, "model.quickbooks_source.stg_quickbooks__payment_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__payment_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 4, "name": "created_at", "comment": null}, "credit_card_amount": {"type": "integer", "index": 5, "name": "credit_card_amount", "comment": null}, "credit_card_auth_code": {"type": "integer", "index": 6, "name": "credit_card_auth_code", "comment": null}, "credit_card_billing_address_street": {"type": "integer", "index": 7, "name": "credit_card_billing_address_street", "comment": null}, "credit_card_cc_expiry_month": {"type": "integer", "index": 8, "name": "credit_card_cc_expiry_month", "comment": null}, "credit_card_cc_expiry_year": {"type": "integer", "index": 9, "name": "credit_card_cc_expiry_year", "comment": null}, "credit_card_cctrans_id": {"type": "integer", "index": 10, "name": "credit_card_cctrans_id", "comment": null}, "credit_card_name_on_account": {"type": "integer", "index": 11, "name": "credit_card_name_on_account", "comment": null}, "credit_card_postal_code": {"type": "integer", "index": 12, "name": "credit_card_postal_code", "comment": null}, "credit_card_process_payment": {"type": "integer", "index": 13, "name": "credit_card_process_payment", "comment": null}, "credit_card_status": {"type": "integer", "index": 14, "name": "credit_card_status", "comment": null}, "credit_card_transaction_authorization_time": {"type": "integer", "index": 15, "name": "credit_card_transaction_authorization_time", "comment": null}, "credit_card_type": {"type": "integer", "index": 16, "name": "credit_card_type", "comment": null}, "currency_id": {"type": "text", "index": 17, "name": "currency_id", "comment": null}, "customer_id": {"type": "integer", "index": 18, "name": "customer_id", "comment": null}, "deposit_to_account_id": {"type": "integer", "index": 19, "name": "deposit_to_account_id", "comment": null}, "exchange_rate": {"type": "integer", "index": 20, "name": "exchange_rate", "comment": null}, "payment_method_id": {"type": "integer", "index": 21, "name": "payment_method_id", "comment": null}, "private_note": {"type": "text", "index": 22, "name": "private_note", "comment": null}, "process_payment": {"type": "boolean", "index": 23, "name": "process_payment", "comment": null}, "receivable_account_id": {"type": "integer", "index": 24, "name": "receivable_account_id", "comment": null}, "reference_number": {"type": "integer", "index": 25, "name": "reference_number", "comment": null}, "sync_token": {"type": "integer", "index": 26, "name": "sync_token", "comment": null}, "total_amount": {"type": "double precision", "index": 27, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 28, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 29, "name": "transaction_source", "comment": null}, "transaction_status": {"type": "integer", "index": 30, "name": "transaction_status", "comment": null}, "unapplied_amount": {"type": "integer", "index": 31, "name": "unapplied_amount", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 32, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__payment_tmp"}, "model.quickbooks_source.stg_quickbooks__purchase": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__purchase", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"purchase_id": {"type": "text", "index": 1, "name": "purchase_id", "comment": null}, "account_id": {"type": "text", "index": 2, "name": "account_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 3, "name": "created_at", "comment": null}, "doc_number": {"type": "text", "index": 4, "name": "doc_number", "comment": null}, "currency_id": {"type": "text", "index": 5, "name": "currency_id", "comment": null}, "exchange_rate": {"type": "integer", "index": 6, "name": "exchange_rate", "comment": null}, "credit": {"type": "boolean", "index": 7, "name": "credit", "comment": null}, "total_amount": {"type": "integer", "index": 8, "name": "total_amount", "comment": null}, "payment_type": {"type": "text", "index": 9, "name": "payment_type", "comment": null}, "department_id": {"type": "text", "index": 10, "name": "department_id", "comment": null}, "customer_id": {"type": "text", "index": 11, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 12, "name": "vendor_id", "comment": null}, "transaction_date": {"type": "date", "index": 13, "name": "transaction_date", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 14, "name": "_fivetran_deleted", "comment": null}, "source_relation": {"type": "text", "index": 15, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__purchase"}, "model.quickbooks_source.stg_quickbooks__purchase_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__purchase_line", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"purchase_id": {"type": "text", "index": 1, "name": "purchase_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "account_expense_account_id": {"type": "text", "index": 3, "name": "account_expense_account_id", "comment": null}, "account_expense_class_id": {"type": "text", "index": 4, "name": "account_expense_class_id", "comment": null}, "account_expense_billable_status": {"type": "text", "index": 5, "name": "account_expense_billable_status", "comment": null}, "account_expense_customer_id": {"type": "text", "index": 6, "name": "account_expense_customer_id", "comment": null}, "account_expense_tax_code_id": {"type": "text", "index": 7, "name": "account_expense_tax_code_id", "comment": null}, "item_expense_item_id": {"type": "text", "index": 8, "name": "item_expense_item_id", "comment": null}, "item_expense_billable_status": {"type": "character varying(100)", "index": 9, "name": "item_expense_billable_status", "comment": null}, "item_expense_customer_id": {"type": "text", "index": 10, "name": "item_expense_customer_id", "comment": null}, "item_expense_class_id": {"type": "text", "index": 11, "name": "item_expense_class_id", "comment": null}, "amount": {"type": "integer", "index": 12, "name": "amount", "comment": null}, "description": {"type": "text", "index": 13, "name": "description", "comment": null}, "source_relation": {"type": "text", "index": 14, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__purchase_line"}, "model.quickbooks_source.stg_quickbooks__purchase_line_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__purchase_line_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "purchase_id": {"type": "integer", "index": 2, "name": "purchase_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_expense_account_id": {"type": "bigint", "index": 4, "name": "account_expense_account_id", "comment": null}, "account_expense_billable_status": {"type": "text", "index": 5, "name": "account_expense_billable_status", "comment": null}, "account_expense_class_id": {"type": "integer", "index": 6, "name": "account_expense_class_id", "comment": null}, "account_expense_customer_id": {"type": "integer", "index": 7, "name": "account_expense_customer_id", "comment": null}, "account_expense_tax_amount": {"type": "integer", "index": 8, "name": "account_expense_tax_amount", "comment": null}, "account_expense_tax_code_id": {"type": "text", "index": 9, "name": "account_expense_tax_code_id", "comment": null}, "amount": {"type": "integer", "index": 10, "name": "amount", "comment": null}, "description": {"type": "text", "index": 11, "name": "description", "comment": null}, "item_expense_billable_status": {"type": "character varying(100)", "index": 12, "name": "item_expense_billable_status", "comment": null}, "item_expense_class_id": {"type": "integer", "index": 13, "name": "item_expense_class_id", "comment": null}, "item_expense_customer_id": {"type": "integer", "index": 14, "name": "item_expense_customer_id", "comment": null}, "item_expense_item_id": {"type": "integer", "index": 15, "name": "item_expense_item_id", "comment": null}, "item_expense_quantity": {"type": "integer", "index": 16, "name": "item_expense_quantity", "comment": null}, "item_expense_tax_code_id": {"type": "integer", "index": 17, "name": "item_expense_tax_code_id", "comment": null}, "item_expense_unit_price": {"type": "integer", "index": 18, "name": "item_expense_unit_price", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__purchase_line_tmp"}, "model.quickbooks_source.stg_quickbooks__purchase_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__purchase_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_id": {"type": "integer", "index": 4, "name": "account_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "credit": {"type": "boolean", "index": 6, "name": "credit", "comment": null}, "currency_id": {"type": "text", "index": 7, "name": "currency_id", "comment": null}, "customer_id": {"type": "integer", "index": 8, "name": "customer_id", "comment": null}, "department_id": {"type": "integer", "index": 9, "name": "department_id", "comment": null}, "doc_number": {"type": "integer", "index": 10, "name": "doc_number", "comment": null}, "employee_id": {"type": "integer", "index": 11, "name": "employee_id", "comment": null}, "exchange_rate": {"type": "integer", "index": 12, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 13, "name": "global_tax_calculation", "comment": null}, "payment_method_id": {"type": "integer", "index": 14, "name": "payment_method_id", "comment": null}, "payment_type": {"type": "text", "index": 15, "name": "payment_type", "comment": null}, "print_status": {"type": "integer", "index": 16, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 17, "name": "private_note", "comment": null}, "remit_to_address_id": {"type": "integer", "index": 18, "name": "remit_to_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 19, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 20, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "integer", "index": 21, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 22, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 23, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 24, "name": "transaction_source", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 25, "name": "updated_at", "comment": null}, "vendor_id": {"type": "integer", "index": 26, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__purchase_tmp"}, "model.quickbooks_source.stg_quickbooks__refund_receipt": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__refund_receipt", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"refund_id": {"type": "text", "index": 1, "name": "refund_id", "comment": null}, "balance": {"type": "integer", "index": 2, "name": "balance", "comment": null}, "doc_number": {"type": "text", "index": 3, "name": "doc_number", "comment": null}, "total_amount": {"type": "integer", "index": 4, "name": "total_amount", "comment": null}, "class_id": {"type": "text", "index": 5, "name": "class_id", "comment": null}, "deposit_to_account_id": {"type": "text", "index": 6, "name": "deposit_to_account_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 7, "name": "created_at", "comment": null}, "department_id": {"type": "text", "index": 8, "name": "department_id", "comment": null}, "customer_id": {"type": "text", "index": 9, "name": "customer_id", "comment": null}, "currency_id": {"type": "text", "index": 10, "name": "currency_id", "comment": null}, "exchange_rate": {"type": "integer", "index": 11, "name": "exchange_rate", "comment": null}, "transaction_date": {"type": "date", "index": 12, "name": "transaction_date", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 13, "name": "_fivetran_deleted", "comment": null}, "source_relation": {"type": "text", "index": 14, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__refund_receipt"}, "model.quickbooks_source.stg_quickbooks__refund_receipt_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__refund_receipt_line", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"refund_id": {"type": "text", "index": 1, "name": "refund_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "amount": {"type": "integer", "index": 3, "name": "amount", "comment": null}, "description": {"type": "text", "index": 4, "name": "description", "comment": null}, "discount_account_id": {"type": "text", "index": 5, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "text", "index": 6, "name": "discount_class_id", "comment": null}, "sales_item_account_id": {"type": "text", "index": 7, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "text", "index": 8, "name": "sales_item_class_id", "comment": null}, "sales_item_item_id": {"type": "text", "index": 9, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "integer", "index": 10, "name": "sales_item_quantity", "comment": null}, "sales_item_unit_price": {"type": "integer", "index": 11, "name": "sales_item_unit_price", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 12, "name": "sales_item_tax_code_id", "comment": null}, "source_relation": {"type": "text", "index": 13, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__refund_receipt_line"}, "model.quickbooks_source.stg_quickbooks__refund_receipt_line_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__refund_receipt_line_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "refund_id": {"type": "integer", "index": 2, "name": "refund_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "bundle_id": {"type": "integer", "index": 5, "name": "bundle_id", "comment": null}, "bundle_quantity": {"type": "integer", "index": 6, "name": "bundle_quantity", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 8, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 9, "name": "description_tax_code_id", "comment": null}, "discount_account_id": {"type": "integer", "index": 10, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "integer", "index": 11, "name": "discount_class_id", "comment": null}, "discount_discount_percent": {"type": "integer", "index": 12, "name": "discount_discount_percent", "comment": null}, "discount_percent_based": {"type": "integer", "index": 13, "name": "discount_percent_based", "comment": null}, "discount_tax_code_id": {"type": "integer", "index": 14, "name": "discount_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 15, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "integer", "index": 16, "name": "sales_item_class_id", "comment": null}, "sales_item_discount_amount": {"type": "integer", "index": 17, "name": "sales_item_discount_amount", "comment": null}, "sales_item_discount_rate": {"type": "integer", "index": 18, "name": "sales_item_discount_rate", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 19, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "integer", "index": 20, "name": "sales_item_quantity", "comment": null}, "sales_item_service_date": {"type": "integer", "index": 21, "name": "sales_item_service_date", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 22, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_unit_price": {"type": "integer", "index": 23, "name": "sales_item_unit_price", "comment": null}, "sub_total_item_id": {"type": "integer", "index": 24, "name": "sub_total_item_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__refund_receipt_line_tmp"}, "model.quickbooks_source.stg_quickbooks__refund_receipt_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__refund_receipt_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "apply_tax_after_discount": {"type": "integer", "index": 4, "name": "apply_tax_after_discount", "comment": null}, "balance": {"type": "integer", "index": 5, "name": "balance", "comment": null}, "bill_email": {"type": "text", "index": 6, "name": "bill_email", "comment": null}, "billing_address_id": {"type": "integer", "index": 7, "name": "billing_address_id", "comment": null}, "check_payment_account_number": {"type": "integer", "index": 8, "name": "check_payment_account_number", "comment": null}, "check_payment_bank_name": {"type": "integer", "index": 9, "name": "check_payment_bank_name", "comment": null}, "check_payment_check_number": {"type": "integer", "index": 10, "name": "check_payment_check_number", "comment": null}, "check_payment_name_on_account": {"type": "integer", "index": 11, "name": "check_payment_name_on_account", "comment": null}, "check_payment_status": {"type": "integer", "index": 12, "name": "check_payment_status", "comment": null}, "class_id": {"type": "integer", "index": 13, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 14, "name": "created_at", "comment": null}, "credit_card_amount": {"type": "integer", "index": 15, "name": "credit_card_amount", "comment": null}, "credit_card_auth_code": {"type": "integer", "index": 16, "name": "credit_card_auth_code", "comment": null}, "credit_card_billing_address_street": {"type": "integer", "index": 17, "name": "credit_card_billing_address_street", "comment": null}, "credit_card_cc_expiry_month": {"type": "integer", "index": 18, "name": "credit_card_cc_expiry_month", "comment": null}, "credit_card_cc_expiry_year": {"type": "integer", "index": 19, "name": "credit_card_cc_expiry_year", "comment": null}, "credit_card_cctrans_id": {"type": "integer", "index": 20, "name": "credit_card_cctrans_id", "comment": null}, "credit_card_name_on_account": {"type": "integer", "index": 21, "name": "credit_card_name_on_account", "comment": null}, "credit_card_postal_code": {"type": "integer", "index": 22, "name": "credit_card_postal_code", "comment": null}, "credit_card_process_payment": {"type": "integer", "index": 23, "name": "credit_card_process_payment", "comment": null}, "credit_card_status": {"type": "integer", "index": 24, "name": "credit_card_status", "comment": null}, "credit_card_transaction_authorization_time": {"type": "integer", "index": 25, "name": "credit_card_transaction_authorization_time", "comment": null}, "credit_card_type": {"type": "integer", "index": 26, "name": "credit_card_type", "comment": null}, "currency_id": {"type": "text", "index": 27, "name": "currency_id", "comment": null}, "customer_id": {"type": "integer", "index": 28, "name": "customer_id", "comment": null}, "customer_memo": {"type": "text", "index": 29, "name": "customer_memo", "comment": null}, "department_id": {"type": "integer", "index": 30, "name": "department_id", "comment": null}, "deposit_to_account_id": {"type": "integer", "index": 31, "name": "deposit_to_account_id", "comment": null}, "doc_number": {"type": "integer", "index": 32, "name": "doc_number", "comment": null}, "exchange_rate": {"type": "integer", "index": 33, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 34, "name": "global_tax_calculation", "comment": null}, "home_balance": {"type": "integer", "index": 35, "name": "home_balance", "comment": null}, "home_total_amount": {"type": "integer", "index": 36, "name": "home_total_amount", "comment": null}, "payment_method_id": {"type": "integer", "index": 37, "name": "payment_method_id", "comment": null}, "payment_reference_number": {"type": "integer", "index": 38, "name": "payment_reference_number", "comment": null}, "payment_type": {"type": "integer", "index": 39, "name": "payment_type", "comment": null}, "print_status": {"type": "integer", "index": 40, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 41, "name": "private_note", "comment": null}, "shipping_address_id": {"type": "integer", "index": 42, "name": "shipping_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 43, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 44, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "integer", "index": 45, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 46, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 47, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 48, "name": "transaction_source", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 49, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__refund_receipt_tmp"}, "model.quickbooks_source.stg_quickbooks__sales_receipt": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__sales_receipt", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"sales_receipt_id": {"type": "text", "index": 1, "name": "sales_receipt_id", "comment": null}, "balance": {"type": "integer", "index": 2, "name": "balance", "comment": null}, "doc_number": {"type": "text", "index": 3, "name": "doc_number", "comment": null}, "total_amount": {"type": "integer", "index": 4, "name": "total_amount", "comment": null}, "deposit_to_account_id": {"type": "text", "index": 5, "name": "deposit_to_account_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 6, "name": "created_at", "comment": null}, "customer_id": {"type": "text", "index": 7, "name": "customer_id", "comment": null}, "department_id": {"type": "text", "index": 8, "name": "department_id", "comment": null}, "class_id": {"type": "text", "index": 9, "name": "class_id", "comment": null}, "currency_id": {"type": "text", "index": 10, "name": "currency_id", "comment": null}, "exchange_rate": {"type": "integer", "index": 11, "name": "exchange_rate", "comment": null}, "transaction_date": {"type": "date", "index": 12, "name": "transaction_date", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 13, "name": "_fivetran_deleted", "comment": null}, "source_relation": {"type": "text", "index": 14, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__sales_receipt"}, "model.quickbooks_source.stg_quickbooks__sales_receipt_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__sales_receipt_line", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"sales_receipt_id": {"type": "text", "index": 1, "name": "sales_receipt_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "amount": {"type": "integer", "index": 3, "name": "amount", "comment": null}, "description": {"type": "text", "index": 4, "name": "description", "comment": null}, "discount_account_id": {"type": "text", "index": 5, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "text", "index": 6, "name": "discount_class_id", "comment": null}, "sales_item_account_id": {"type": "text", "index": 7, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "text", "index": 8, "name": "sales_item_class_id", "comment": null}, "sales_item_item_id": {"type": "text", "index": 9, "name": "sales_item_item_id", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 10, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_quantity": {"type": "integer", "index": 11, "name": "sales_item_quantity", "comment": null}, "sales_item_unit_price": {"type": "integer", "index": 12, "name": "sales_item_unit_price", "comment": null}, "source_relation": {"type": "text", "index": 13, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__sales_receipt_line"}, "model.quickbooks_source.stg_quickbooks__sales_receipt_line_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__sales_receipt_line_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "sales_receipt_id": {"type": "integer", "index": 2, "name": "sales_receipt_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "bundle_id": {"type": "integer", "index": 5, "name": "bundle_id", "comment": null}, "bundle_quantity": {"type": "integer", "index": 6, "name": "bundle_quantity", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 8, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 9, "name": "description_tax_code_id", "comment": null}, "discount_account_id": {"type": "integer", "index": 10, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "integer", "index": 11, "name": "discount_class_id", "comment": null}, "discount_discount_percent": {"type": "integer", "index": 12, "name": "discount_discount_percent", "comment": null}, "discount_percent_based": {"type": "integer", "index": 13, "name": "discount_percent_based", "comment": null}, "discount_tax_code_id": {"type": "integer", "index": 14, "name": "discount_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 15, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "integer", "index": 16, "name": "sales_item_class_id", "comment": null}, "sales_item_discount_amount": {"type": "integer", "index": 17, "name": "sales_item_discount_amount", "comment": null}, "sales_item_discount_rate": {"type": "integer", "index": 18, "name": "sales_item_discount_rate", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 19, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "integer", "index": 20, "name": "sales_item_quantity", "comment": null}, "sales_item_service_date": {"type": "integer", "index": 21, "name": "sales_item_service_date", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 22, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_unit_price": {"type": "integer", "index": 23, "name": "sales_item_unit_price", "comment": null}, "sub_total_item_id": {"type": "integer", "index": 24, "name": "sub_total_item_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__sales_receipt_line_tmp"}, "model.quickbooks_source.stg_quickbooks__sales_receipt_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__sales_receipt_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "apply_tax_after_discount": {"type": "integer", "index": 4, "name": "apply_tax_after_discount", "comment": null}, "balance": {"type": "integer", "index": 5, "name": "balance", "comment": null}, "bill_email": {"type": "text", "index": 6, "name": "bill_email", "comment": null}, "billing_address_id": {"type": "integer", "index": 7, "name": "billing_address_id", "comment": null}, "class_id": {"type": "integer", "index": 8, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 9, "name": "created_at", "comment": null}, "credit_card_amount": {"type": "integer", "index": 10, "name": "credit_card_amount", "comment": null}, "credit_card_auth_code": {"type": "integer", "index": 11, "name": "credit_card_auth_code", "comment": null}, "credit_card_billing_address_street": {"type": "integer", "index": 12, "name": "credit_card_billing_address_street", "comment": null}, "credit_card_cc_expiry_month": {"type": "integer", "index": 13, "name": "credit_card_cc_expiry_month", "comment": null}, "credit_card_cc_expiry_year": {"type": "integer", "index": 14, "name": "credit_card_cc_expiry_year", "comment": null}, "credit_card_cctrans_id": {"type": "integer", "index": 15, "name": "credit_card_cctrans_id", "comment": null}, "credit_card_name_on_account": {"type": "integer", "index": 16, "name": "credit_card_name_on_account", "comment": null}, "credit_card_postal_code": {"type": "integer", "index": 17, "name": "credit_card_postal_code", "comment": null}, "credit_card_process_payment": {"type": "integer", "index": 18, "name": "credit_card_process_payment", "comment": null}, "credit_card_status": {"type": "integer", "index": 19, "name": "credit_card_status", "comment": null}, "credit_card_transaction_authorization_time": {"type": "integer", "index": 20, "name": "credit_card_transaction_authorization_time", "comment": null}, "credit_card_type": {"type": "integer", "index": 21, "name": "credit_card_type", "comment": null}, "currency_id": {"type": "text", "index": 22, "name": "currency_id", "comment": null}, "customer_id": {"type": "integer", "index": 23, "name": "customer_id", "comment": null}, "customer_memo": {"type": "text", "index": 24, "name": "customer_memo", "comment": null}, "delivery_time": {"type": "integer", "index": 25, "name": "delivery_time", "comment": null}, "delivery_type": {"type": "integer", "index": 26, "name": "delivery_type", "comment": null}, "department_id": {"type": "integer", "index": 27, "name": "department_id", "comment": null}, "deposit_to_account_id": {"type": "integer", "index": 28, "name": "deposit_to_account_id", "comment": null}, "doc_number": {"type": "integer", "index": 29, "name": "doc_number", "comment": null}, "email_status": {"type": "integer", "index": 30, "name": "email_status", "comment": null}, "exchange_rate": {"type": "integer", "index": 31, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 32, "name": "global_tax_calculation", "comment": null}, "home_balance": {"type": "integer", "index": 33, "name": "home_balance", "comment": null}, "home_total_amount": {"type": "integer", "index": 34, "name": "home_total_amount", "comment": null}, "payment_method_id": {"type": "integer", "index": 35, "name": "payment_method_id", "comment": null}, "payment_reference_number": {"type": "integer", "index": 36, "name": "payment_reference_number", "comment": null}, "print_status": {"type": "integer", "index": 37, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 38, "name": "private_note", "comment": null}, "ship_date": {"type": "integer", "index": 39, "name": "ship_date", "comment": null}, "shipping_address_id": {"type": "integer", "index": 40, "name": "shipping_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 41, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 42, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "integer", "index": 43, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 44, "name": "total_tax", "comment": null}, "tracking_number": {"type": "integer", "index": 45, "name": "tracking_number", "comment": null}, "transaction_date": {"type": "date", "index": 46, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 47, "name": "transaction_source", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 48, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__sales_receipt_tmp"}, "model.quickbooks_source.stg_quickbooks__transfer": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__transfer", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transfer_id": {"type": "text", "index": 1, "name": "transfer_id", "comment": null}, "amount": {"type": "integer", "index": 2, "name": "amount", "comment": null}, "from_account_id": {"type": "text", "index": 3, "name": "from_account_id", "comment": null}, "to_account_id": {"type": "text", "index": 4, "name": "to_account_id", "comment": null}, "transaction_date": {"type": "date", "index": 5, "name": "transaction_date", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 6, "name": "_fivetran_deleted", "comment": null}, "source_relation": {"type": "text", "index": 7, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__transfer"}, "model.quickbooks_source.stg_quickbooks__transfer_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__transfer_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "from_account_id": {"type": "integer", "index": 6, "name": "from_account_id", "comment": null}, "private_note": {"type": "text", "index": 7, "name": "private_note", "comment": null}, "sync_token": {"type": "integer", "index": 8, "name": "sync_token", "comment": null}, "to_account_id": {"type": "integer", "index": 9, "name": "to_account_id", "comment": null}, "transaction_date": {"type": "date", "index": 10, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 11, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__transfer_tmp"}, "model.quickbooks_source.stg_quickbooks__vendor": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__vendor", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"vendor_id": {"type": "text", "index": 1, "name": "vendor_id", "comment": null}, "account_number": {"type": "integer", "index": 2, "name": "account_number", "comment": null}, "is_active": {"type": "boolean", "index": 3, "name": "is_active", "comment": null}, "balance": {"type": "integer", "index": 4, "name": "balance", "comment": null}, "billing_address_id": {"type": "text", "index": 5, "name": "billing_address_id", "comment": null}, "company_name": {"type": "text", "index": 6, "name": "company_name", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 7, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 8, "name": "currency_id", "comment": null}, "display_name": {"type": "text", "index": 9, "name": "display_name", "comment": null}, "web_url": {"type": "integer", "index": 10, "name": "web_url", "comment": null}, "is_vendor_1099": {"type": "boolean", "index": 11, "name": "is_vendor_1099", "comment": null}, "source_relation": {"type": "text", "index": 12, "name": "source_relation", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 13, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__vendor"}, "model.quickbooks_source.stg_quickbooks__vendor_credit": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__vendor_credit", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"vendor_credit_id": {"type": "text", "index": 1, "name": "vendor_credit_id", "comment": null}, "balance": {"type": "integer", "index": 2, "name": "balance", "comment": null}, "doc_number": {"type": "text", "index": 3, "name": "doc_number", "comment": null}, "total_amount": {"type": "integer", "index": 4, "name": "total_amount", "comment": null}, "currency_id": {"type": "text", "index": 5, "name": "currency_id", "comment": null}, "exchange_rate": {"type": "integer", "index": 6, "name": "exchange_rate", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 7, "name": "created_at", "comment": null}, "payable_account_id": {"type": "text", "index": 8, "name": "payable_account_id", "comment": null}, "department_id": {"type": "text", "index": 9, "name": "department_id", "comment": null}, "private_note": {"type": "text", "index": 10, "name": "private_note", "comment": null}, "transaction_date": {"type": "date", "index": 11, "name": "transaction_date", "comment": null}, "vendor_id": {"type": "text", "index": 12, "name": "vendor_id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 13, "name": "_fivetran_deleted", "comment": null}, "source_relation": {"type": "text", "index": 14, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__vendor_credit"}, "model.quickbooks_source.stg_quickbooks__vendor_credit_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__vendor_credit_line", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"vendor_credit_id": {"type": "text", "index": 1, "name": "vendor_credit_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "account_expense_customer_id": {"type": "text", "index": 3, "name": "account_expense_customer_id", "comment": null}, "account_expense_account_id": {"type": "text", "index": 4, "name": "account_expense_account_id", "comment": null}, "account_expense_billable_status": {"type": "character varying(100)", "index": 5, "name": "account_expense_billable_status", "comment": null}, "account_expense_tax_code_id": {"type": "text", "index": 6, "name": "account_expense_tax_code_id", "comment": null}, "account_expense_class_id": {"type": "text", "index": 7, "name": "account_expense_class_id", "comment": null}, "item_expense_customer_id": {"type": "text", "index": 8, "name": "item_expense_customer_id", "comment": null}, "item_expense_item_id": {"type": "text", "index": 9, "name": "item_expense_item_id", "comment": null}, "item_expense_quantity": {"type": "integer", "index": 10, "name": "item_expense_quantity", "comment": null}, "item_expense_unit_price": {"type": "integer", "index": 11, "name": "item_expense_unit_price", "comment": null}, "item_expense_class_id": {"type": "text", "index": 12, "name": "item_expense_class_id", "comment": null}, "item_expense_billable_status": {"type": "character varying(100)", "index": 13, "name": "item_expense_billable_status", "comment": null}, "amount": {"type": "integer", "index": 14, "name": "amount", "comment": null}, "description": {"type": "text", "index": 15, "name": "description", "comment": null}, "source_relation": {"type": "text", "index": 16, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__vendor_credit_line"}, "model.quickbooks_source.stg_quickbooks__vendor_credit_line_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__vendor_credit_line_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "vendor_credit_id": {"type": "integer", "index": 2, "name": "vendor_credit_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_expense_account_id": {"type": "integer", "index": 4, "name": "account_expense_account_id", "comment": null}, "account_expense_billable_status": {"type": "character varying(100)", "index": 5, "name": "account_expense_billable_status", "comment": null}, "account_expense_class_id": {"type": "integer", "index": 6, "name": "account_expense_class_id", "comment": null}, "account_expense_customer_id": {"type": "integer", "index": 7, "name": "account_expense_customer_id", "comment": null}, "account_expense_tax_amount": {"type": "integer", "index": 8, "name": "account_expense_tax_amount", "comment": null}, "account_expense_tax_code_id": {"type": "text", "index": 9, "name": "account_expense_tax_code_id", "comment": null}, "amount": {"type": "integer", "index": 10, "name": "amount", "comment": null}, "description": {"type": "text", "index": 11, "name": "description", "comment": null}, "item_expense_billable_status": {"type": "character varying(100)", "index": 12, "name": "item_expense_billable_status", "comment": null}, "item_expense_class_id": {"type": "integer", "index": 13, "name": "item_expense_class_id", "comment": null}, "item_expense_customer_id": {"type": "integer", "index": 14, "name": "item_expense_customer_id", "comment": null}, "item_expense_item_id": {"type": "integer", "index": 15, "name": "item_expense_item_id", "comment": null}, "item_expense_quantity": {"type": "integer", "index": 16, "name": "item_expense_quantity", "comment": null}, "item_expense_tax_code_id": {"type": "integer", "index": 17, "name": "item_expense_tax_code_id", "comment": null}, "item_expense_unit_price": {"type": "integer", "index": 18, "name": "item_expense_unit_price", "comment": null}, "private_note": {"type": "integer", "index": 19, "name": "private_note", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__vendor_credit_line_tmp"}, "model.quickbooks_source.stg_quickbooks__vendor_credit_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__vendor_credit_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "balance": {"type": "integer", "index": 4, "name": "balance", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 6, "name": "currency_id", "comment": null}, "department_id": {"type": "integer", "index": 7, "name": "department_id", "comment": null}, "doc_number": {"type": "integer", "index": 8, "name": "doc_number", "comment": null}, "exchange_rate": {"type": "integer", "index": 9, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 10, "name": "global_tax_calculation", "comment": null}, "payable_account_id": {"type": "integer", "index": 11, "name": "payable_account_id", "comment": null}, "private_note": {"type": "text", "index": 12, "name": "private_note", "comment": null}, "sync_token": {"type": "integer", "index": 13, "name": "sync_token", "comment": null}, "total_amount": {"type": "integer", "index": 14, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 15, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 16, "name": "updated_at", "comment": null}, "vendor_id": {"type": "integer", "index": 17, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__vendor_credit_tmp"}, "model.quickbooks_source.stg_quickbooks__vendor_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__vendor_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "account_number": {"type": "integer", "index": 3, "name": "account_number", "comment": null}, "active": {"type": "boolean", "index": 4, "name": "active", "comment": null}, "alternate_phone": {"type": "integer", "index": 5, "name": "alternate_phone", "comment": null}, "balance": {"type": "integer", "index": 6, "name": "balance", "comment": null}, "billing_address_id": {"type": "integer", "index": 7, "name": "billing_address_id", "comment": null}, "company_name": {"type": "text", "index": 8, "name": "company_name", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 9, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 10, "name": "currency_id", "comment": null}, "display_name": {"type": "text", "index": 11, "name": "display_name", "comment": null}, "email": {"type": "text", "index": 12, "name": "email", "comment": null}, "family_name": {"type": "integer", "index": 13, "name": "family_name", "comment": null}, "fax_number": {"type": "integer", "index": 14, "name": "fax_number", "comment": null}, "given_name": {"type": "integer", "index": 15, "name": "given_name", "comment": null}, "middle_name": {"type": "integer", "index": 16, "name": "middle_name", "comment": null}, "mobile_phone": {"type": "integer", "index": 17, "name": "mobile_phone", "comment": null}, "other_contacts": {"type": "integer", "index": 18, "name": "other_contacts", "comment": null}, "primary_phone": {"type": "integer", "index": 19, "name": "primary_phone", "comment": null}, "print_on_check_name": {"type": "text", "index": 20, "name": "print_on_check_name", "comment": null}, "suffix": {"type": "integer", "index": 21, "name": "suffix", "comment": null}, "sync_token": {"type": "integer", "index": 22, "name": "sync_token", "comment": null}, "tax_identifier": {"type": "integer", "index": 23, "name": "tax_identifier", "comment": null}, "term_id": {"type": "integer", "index": 24, "name": "term_id", "comment": null}, "title": {"type": "integer", "index": 25, "name": "title", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 26, "name": "updated_at", "comment": null}, "vendor_1099": {"type": "boolean", "index": 27, "name": "vendor_1099", "comment": null}, "web_url": {"type": "integer", "index": 28, "name": "web_url", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 29, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__vendor_tmp"}}, "sources": {"source.quickbooks_source.quickbooks.account": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "account_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "account_number": {"type": "integer", "index": 3, "name": "account_number", "comment": null}, "account_sub_type": {"type": "text", "index": 4, "name": "account_sub_type", "comment": null}, "account_type": {"type": "text", "index": 5, "name": "account_type", "comment": null}, "active": {"type": "boolean", "index": 6, "name": "active", "comment": null}, "balance": {"type": "integer", "index": 7, "name": "balance", "comment": null}, "balance_with_sub_accounts": {"type": "integer", "index": 8, "name": "balance_with_sub_accounts", "comment": null}, "classification": {"type": "text", "index": 9, "name": "classification", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 10, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 11, "name": "currency_id", "comment": null}, "description": {"type": "integer", "index": 12, "name": "description", "comment": null}, "fully_qualified_name": {"type": "text", "index": 13, "name": "fully_qualified_name", "comment": null}, "name": {"type": "text", "index": 14, "name": "name", "comment": null}, "parent_account_id": {"type": "integer", "index": 15, "name": "parent_account_id", "comment": null}, "sub_account": {"type": "boolean", "index": 16, "name": "sub_account", "comment": null}, "sync_token": {"type": "integer", "index": 17, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 18, "name": "tax_code_id", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 19, "name": "updated_at", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 20, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.account"}, "source.quickbooks_source.quickbooks.address": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "address_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "city": {"type": "text", "index": 3, "name": "city", "comment": null}, "country": {"type": "text", "index": 4, "name": "country", "comment": null}, "country_sub_division_code": {"type": "text", "index": 5, "name": "country_sub_division_code", "comment": null}, "latitude": {"type": "integer", "index": 6, "name": "latitude", "comment": null}, "line_1": {"type": "text", "index": 7, "name": "line_1", "comment": null}, "line_2": {"type": "text", "index": 8, "name": "line_2", "comment": null}, "line_3": {"type": "integer", "index": 9, "name": "line_3", "comment": null}, "line_4": {"type": "integer", "index": 10, "name": "line_4", "comment": null}, "line_5": {"type": "integer", "index": 11, "name": "line_5", "comment": null}, "longitude": {"type": "integer", "index": 12, "name": "longitude", "comment": null}, "postal_code": {"type": "integer", "index": 13, "name": "postal_code", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.address"}, "source.quickbooks_source.quickbooks.bill": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "bill_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "balance": {"type": "integer", "index": 4, "name": "balance", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 6, "name": "currency_id", "comment": null}, "department_id": {"type": "integer", "index": 7, "name": "department_id", "comment": null}, "doc_number": {"type": "date", "index": 8, "name": "doc_number", "comment": null}, "due_date": {"type": "date", "index": 9, "name": "due_date", "comment": null}, "exchange_rate": {"type": "integer", "index": 10, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 11, "name": "global_tax_calculation", "comment": null}, "home_balance": {"type": "integer", "index": 12, "name": "home_balance", "comment": null}, "payable_account_id": {"type": "integer", "index": 13, "name": "payable_account_id", "comment": null}, "private_note": {"type": "text", "index": 14, "name": "private_note", "comment": null}, "sales_term_id": {"type": "integer", "index": 15, "name": "sales_term_id", "comment": null}, "sync_token": {"type": "integer", "index": 16, "name": "sync_token", "comment": null}, "total_amount": {"type": "integer", "index": 17, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 18, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 19, "name": "updated_at", "comment": null}, "vendor_id": {"type": "integer", "index": 20, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.bill"}, "source.quickbooks_source.quickbooks.bill_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "bill_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bill_id": {"type": "integer", "index": 1, "name": "bill_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_expense_account_id": {"type": "integer", "index": 4, "name": "account_expense_account_id", "comment": null}, "account_expense_billable_status": {"type": "character varying(100)", "index": 5, "name": "account_expense_billable_status", "comment": null}, "account_expense_class_id": {"type": "integer", "index": 6, "name": "account_expense_class_id", "comment": null}, "account_expense_customer_id": {"type": "integer", "index": 7, "name": "account_expense_customer_id", "comment": null}, "account_expense_tax_amount": {"type": "integer", "index": 8, "name": "account_expense_tax_amount", "comment": null}, "account_expense_tax_code_id": {"type": "text", "index": 9, "name": "account_expense_tax_code_id", "comment": null}, "amount": {"type": "double precision", "index": 10, "name": "amount", "comment": null}, "description": {"type": "text", "index": 11, "name": "description", "comment": null}, "item_expense_billable_status": {"type": "character varying(100)", "index": 12, "name": "item_expense_billable_status", "comment": null}, "item_expense_class_id": {"type": "integer", "index": 13, "name": "item_expense_class_id", "comment": null}, "item_expense_customer_id": {"type": "integer", "index": 14, "name": "item_expense_customer_id", "comment": null}, "item_expense_item_id": {"type": "integer", "index": 15, "name": "item_expense_item_id", "comment": null}, "item_expense_quantity": {"type": "integer", "index": 16, "name": "item_expense_quantity", "comment": null}, "item_expense_tax_code_id": {"type": "integer", "index": 17, "name": "item_expense_tax_code_id", "comment": null}, "item_expense_unit_price": {"type": "integer", "index": 18, "name": "item_expense_unit_price", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.bill_line"}, "source.quickbooks_source.quickbooks.bill_linked_txn": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "bill_linked_txn_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bill_id": {"type": "integer", "index": 1, "name": "bill_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "bill_payment_id": {"type": "integer", "index": 4, "name": "bill_payment_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.bill_linked_txn"}, "source.quickbooks_source.quickbooks.bill_payment": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "bill_payment_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "check_bank_account_id": {"type": "integer", "index": 4, "name": "check_bank_account_id", "comment": null}, "check_print_status": {"type": "text", "index": 5, "name": "check_print_status", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 6, "name": "created_at", "comment": null}, "credit_card_account_id": {"type": "integer", "index": 7, "name": "credit_card_account_id", "comment": null}, "currency_id": {"type": "text", "index": 8, "name": "currency_id", "comment": null}, "department_id": {"type": "integer", "index": 9, "name": "department_id", "comment": null}, "doc_number": {"type": "integer", "index": 10, "name": "doc_number", "comment": null}, "exchange_rate": {"type": "integer", "index": 11, "name": "exchange_rate", "comment": null}, "pay_type": {"type": "text", "index": 12, "name": "pay_type", "comment": null}, "payable_account_id": {"type": "integer", "index": 13, "name": "payable_account_id", "comment": null}, "private_note": {"type": "integer", "index": 14, "name": "private_note", "comment": null}, "process_bill_payment": {"type": "integer", "index": 15, "name": "process_bill_payment", "comment": null}, "sync_token": {"type": "integer", "index": 16, "name": "sync_token", "comment": null}, "total_amount": {"type": "integer", "index": 17, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 18, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 19, "name": "updated_at", "comment": null}, "vendor_id": {"type": "integer", "index": 20, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.bill_payment"}, "source.quickbooks_source.quickbooks.bill_payment_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "bill_payment_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bill_payment_id": {"type": "integer", "index": 1, "name": "bill_payment_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "bill_id": {"type": "integer", "index": 5, "name": "bill_id", "comment": null}, "check_id": {"type": "integer", "index": 6, "name": "check_id", "comment": null}, "credit_card_charge_id": {"type": "integer", "index": 7, "name": "credit_card_charge_id", "comment": null}, "credit_card_credit_id": {"type": "integer", "index": 8, "name": "credit_card_credit_id", "comment": null}, "deposit_id": {"type": "integer", "index": 9, "name": "deposit_id", "comment": null}, "expense_id": {"type": "integer", "index": 10, "name": "expense_id", "comment": null}, "journal_entry_id": {"type": "integer", "index": 11, "name": "journal_entry_id", "comment": null}, "linked_bill_payment_id": {"type": "integer", "index": 12, "name": "linked_bill_payment_id", "comment": null}, "vendor_credit_id": {"type": "integer", "index": 13, "name": "vendor_credit_id", "comment": null}, "bill_payment_credit_card_id": {"type": "integer", "index": 14, "name": "bill_payment_credit_card_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.bill_payment_line"}, "source.quickbooks_source.quickbooks.bundle": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "bundle_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "active": {"type": "boolean", "index": 3, "name": "active", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 4, "name": "created_at", "comment": null}, "description": {"type": "text", "index": 5, "name": "description", "comment": null}, "fully_qualified_name": {"type": "text", "index": 6, "name": "fully_qualified_name", "comment": null}, "name": {"type": "text", "index": 7, "name": "name", "comment": null}, "print_grouped_items": {"type": "boolean", "index": 8, "name": "print_grouped_items", "comment": null}, "purchase_cost": {"type": "integer", "index": 9, "name": "purchase_cost", "comment": null}, "sync_token": {"type": "integer", "index": 10, "name": "sync_token", "comment": null}, "taxable": {"type": "boolean", "index": 11, "name": "taxable", "comment": null}, "unit_price": {"type": "integer", "index": 12, "name": "unit_price", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 13, "name": "updated_at", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 14, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.bundle"}, "source.quickbooks_source.quickbooks.bundle_item": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "bundle_item_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bundle_id": {"type": "integer", "index": 1, "name": "bundle_id", "comment": null}, "item_id": {"type": "integer", "index": 2, "name": "item_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "item_quantity": {"type": "integer", "index": 4, "name": "item_quantity", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.bundle_item"}, "source.quickbooks_source.quickbooks.credit_card_payment_txn": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "credit_card_payment_txn_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "amount": {"type": "double precision", "index": 2, "name": "amount", "comment": null}, "bank_account_id": {"type": "integer", "index": 3, "name": "bank_account_id", "comment": null}, "credit_card_account_id": {"type": "integer", "index": 4, "name": "credit_card_account_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 6, "name": "updated_at", "comment": null}, "currency_id": {"type": "text", "index": 7, "name": "currency_id", "comment": null}, "transaction_date": {"type": "date", "index": 8, "name": "transaction_date", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 9, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.credit_card_payment_txn"}, "source.quickbooks_source.quickbooks.credit_memo": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "credit_memo_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "apply_tax_after_discount": {"type": "boolean", "index": 4, "name": "apply_tax_after_discount", "comment": null}, "balance": {"type": "integer", "index": 5, "name": "balance", "comment": null}, "bill_email": {"type": "text", "index": 6, "name": "bill_email", "comment": null}, "billing_address_id": {"type": "integer", "index": 7, "name": "billing_address_id", "comment": null}, "class_id": {"type": "integer", "index": 8, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 9, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 10, "name": "currency_id", "comment": null}, "custom_p_o_number": {"type": "integer", "index": 11, "name": "custom_p_o_number", "comment": null}, "customer_id": {"type": "integer", "index": 12, "name": "customer_id", "comment": null}, "customer_memo": {"type": "text", "index": 13, "name": "customer_memo", "comment": null}, "department_id": {"type": "integer", "index": 14, "name": "department_id", "comment": null}, "doc_number": {"type": "integer", "index": 15, "name": "doc_number", "comment": null}, "email_status": {"type": "text", "index": 16, "name": "email_status", "comment": null}, "exchange_rate": {"type": "integer", "index": 17, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 18, "name": "global_tax_calculation", "comment": null}, "home_balance": {"type": "integer", "index": 19, "name": "home_balance", "comment": null}, "home_total_amount": {"type": "integer", "index": 20, "name": "home_total_amount", "comment": null}, "payment_method_id": {"type": "integer", "index": 21, "name": "payment_method_id", "comment": null}, "print_status": {"type": "text", "index": 22, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 23, "name": "private_note", "comment": null}, "remaining_credit": {"type": "integer", "index": 24, "name": "remaining_credit", "comment": null}, "sales_term_id": {"type": "integer", "index": 25, "name": "sales_term_id", "comment": null}, "shipping_address_id": {"type": "integer", "index": 26, "name": "shipping_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 27, "name": "sync_token", "comment": null}, "total_amount": {"type": "integer", "index": 28, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 29, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 30, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 31, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.credit_memo"}, "source.quickbooks_source.quickbooks.credit_memo_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "credit_memo_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"credit_memo_id": {"type": "integer", "index": 1, "name": "credit_memo_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "bundle_id": {"type": "integer", "index": 5, "name": "bundle_id", "comment": null}, "bundle_quantity": {"type": "integer", "index": 6, "name": "bundle_quantity", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 8, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 9, "name": "description_tax_code_id", "comment": null}, "discount_account_id": {"type": "integer", "index": 10, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "integer", "index": 11, "name": "discount_class_id", "comment": null}, "discount_discount_percent": {"type": "integer", "index": 12, "name": "discount_discount_percent", "comment": null}, "discount_percent_based": {"type": "integer", "index": 13, "name": "discount_percent_based", "comment": null}, "discount_tax_code_id": {"type": "integer", "index": 14, "name": "discount_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 15, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "integer", "index": 16, "name": "sales_item_class_id", "comment": null}, "sales_item_discount_amount": {"type": "integer", "index": 17, "name": "sales_item_discount_amount", "comment": null}, "sales_item_discount_rate": {"type": "integer", "index": 18, "name": "sales_item_discount_rate", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 19, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "double precision", "index": 20, "name": "sales_item_quantity", "comment": null}, "sales_item_service_date": {"type": "integer", "index": 21, "name": "sales_item_service_date", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 22, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_unit_price": {"type": "double precision", "index": 23, "name": "sales_item_unit_price", "comment": null}, "sub_total_item_id": {"type": "integer", "index": 24, "name": "sub_total_item_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.credit_memo_line"}, "source.quickbooks_source.quickbooks.customer": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "customer_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "active": {"type": "boolean", "index": 3, "name": "active", "comment": null}, "alternate_phone_number": {"type": "integer", "index": 4, "name": "alternate_phone_number", "comment": null}, "ar_account_id": {"type": "integer", "index": 5, "name": "ar_account_id", "comment": null}, "balance": {"type": "integer", "index": 6, "name": "balance", "comment": null}, "balance_with_jobs": {"type": "integer", "index": 7, "name": "balance_with_jobs", "comment": null}, "bill_address_id": {"type": "integer", "index": 8, "name": "bill_address_id", "comment": null}, "bill_with_parent": {"type": "boolean", "index": 9, "name": "bill_with_parent", "comment": null}, "company_name": {"type": "text", "index": 10, "name": "company_name", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 11, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 12, "name": "currency_id", "comment": null}, "default_tax_code_id": {"type": "integer", "index": 13, "name": "default_tax_code_id", "comment": null}, "display_name": {"type": "text", "index": 14, "name": "display_name", "comment": null}, "email": {"type": "text", "index": 15, "name": "email", "comment": null}, "family_name": {"type": "text", "index": 16, "name": "family_name", "comment": null}, "fax_number": {"type": "integer", "index": 17, "name": "fax_number", "comment": null}, "fully_qualified_name": {"type": "text", "index": 18, "name": "fully_qualified_name", "comment": null}, "given_name": {"type": "text", "index": 19, "name": "given_name", "comment": null}, "job": {"type": "boolean", "index": 20, "name": "job", "comment": null}, "level": {"type": "integer", "index": 21, "name": "level", "comment": null}, "middle_name": {"type": "integer", "index": 22, "name": "middle_name", "comment": null}, "mobile_number": {"type": "integer", "index": 23, "name": "mobile_number", "comment": null}, "notes": {"type": "integer", "index": 24, "name": "notes", "comment": null}, "open_balance_date": {"type": "integer", "index": 25, "name": "open_balance_date", "comment": null}, "parent_customer_id": {"type": "integer", "index": 26, "name": "parent_customer_id", "comment": null}, "payment_method_id": {"type": "integer", "index": 27, "name": "payment_method_id", "comment": null}, "phone_number": {"type": "integer", "index": 28, "name": "phone_number", "comment": null}, "preferred_delivery_method": {"type": "text", "index": 29, "name": "preferred_delivery_method", "comment": null}, "print_on_check_name": {"type": "text", "index": 30, "name": "print_on_check_name", "comment": null}, "resale_number": {"type": "integer", "index": 31, "name": "resale_number", "comment": null}, "sales_term_id": {"type": "integer", "index": 32, "name": "sales_term_id", "comment": null}, "shipping_address_id": {"type": "integer", "index": 33, "name": "shipping_address_id", "comment": null}, "suffix": {"type": "integer", "index": 34, "name": "suffix", "comment": null}, "sync_token": {"type": "integer", "index": 35, "name": "sync_token", "comment": null}, "tax_exemption_reason_id": {"type": "integer", "index": 36, "name": "tax_exemption_reason_id", "comment": null}, "taxable": {"type": "boolean", "index": 37, "name": "taxable", "comment": null}, "title": {"type": "integer", "index": 38, "name": "title", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 39, "name": "updated_at", "comment": null}, "website": {"type": "integer", "index": 40, "name": "website", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 41, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.customer"}, "source.quickbooks_source.quickbooks.department": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "department_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "active": {"type": "boolean", "index": 3, "name": "active", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 4, "name": "created_at", "comment": null}, "fully_qualified_name": {"type": "text", "index": 5, "name": "fully_qualified_name", "comment": null}, "name": {"type": "text", "index": 6, "name": "name", "comment": null}, "parent_department_id": {"type": "integer", "index": 7, "name": "parent_department_id", "comment": null}, "sub_department": {"type": "boolean", "index": 8, "name": "sub_department", "comment": null}, "sync_token": {"type": "integer", "index": 9, "name": "sync_token", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 10, "name": "updated_at", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 11, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.department"}, "source.quickbooks_source.quickbooks.deposit": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "deposit_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_id": {"type": "integer", "index": 4, "name": "account_id", "comment": null}, "cash_back_account_id": {"type": "integer", "index": 5, "name": "cash_back_account_id", "comment": null}, "cash_back_amount": {"type": "integer", "index": 6, "name": "cash_back_amount", "comment": null}, "cash_back_memo": {"type": "integer", "index": 7, "name": "cash_back_memo", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 8, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 9, "name": "currency_id", "comment": null}, "department_id": {"type": "integer", "index": 10, "name": "department_id", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 11, "name": "global_tax_calculation", "comment": null}, "home_total_amount": {"type": "integer", "index": 12, "name": "home_total_amount", "comment": null}, "private_note": {"type": "text", "index": 13, "name": "private_note", "comment": null}, "sync_token": {"type": "integer", "index": 14, "name": "sync_token", "comment": null}, "total_amount": {"type": "integer", "index": 15, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 16, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 17, "name": "transaction_source", "comment": null}, "transaction_status": {"type": "integer", "index": 18, "name": "transaction_status", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 19, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.deposit"}, "source.quickbooks_source.quickbooks.deposit_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "deposit_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"deposit_id": {"type": "integer", "index": 1, "name": "deposit_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "deposit_account_id": {"type": "bigint", "index": 5, "name": "deposit_account_id", "comment": null}, "deposit_check_number": {"type": "integer", "index": 6, "name": "deposit_check_number", "comment": null}, "deposit_class_id": {"type": "bigint", "index": 7, "name": "deposit_class_id", "comment": null}, "deposit_customer_id": {"type": "integer", "index": 8, "name": "deposit_customer_id", "comment": null}, "deposit_payment_method_id": {"type": "integer", "index": 9, "name": "deposit_payment_method_id", "comment": null}, "deposit_tax_applicable_on": {"type": "integer", "index": 10, "name": "deposit_tax_applicable_on", "comment": null}, "deposit_tax_code_id": {"type": "integer", "index": 11, "name": "deposit_tax_code_id", "comment": null}, "deposit_transaction_type": {"type": "integer", "index": 12, "name": "deposit_transaction_type", "comment": null}, "description": {"type": "text", "index": 13, "name": "description", "comment": null}, "detail_type": {"type": "text", "index": 14, "name": "detail_type", "comment": null}, "expense_id": {"type": "integer", "index": 15, "name": "expense_id", "comment": null}, "invoice_id": {"type": "integer", "index": 16, "name": "invoice_id", "comment": null}, "journal_entry_id": {"type": "integer", "index": 17, "name": "journal_entry_id", "comment": null}, "payment_id": {"type": "integer", "index": 18, "name": "payment_id", "comment": null}, "purchase_id": {"type": "integer", "index": 19, "name": "purchase_id", "comment": null}, "refund_receipt_id": {"type": "integer", "index": 20, "name": "refund_receipt_id", "comment": null}, "sales_receipt_id": {"type": "integer", "index": 21, "name": "sales_receipt_id", "comment": null}, "transfer_id": {"type": "integer", "index": 22, "name": "transfer_id", "comment": null}, "bill_id": {"type": "integer", "index": 23, "name": "bill_id", "comment": null}, "vendor_credit_id": {"type": "integer", "index": 24, "name": "vendor_credit_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.deposit_line"}, "source.quickbooks_source.quickbooks.estimate": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "estimate_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "accepted_by": {"type": "integer", "index": 4, "name": "accepted_by", "comment": null}, "accepted_date": {"type": "integer", "index": 5, "name": "accepted_date", "comment": null}, "apply_tax_after_discount": {"type": "boolean", "index": 6, "name": "apply_tax_after_discount", "comment": null}, "bill_email": {"type": "text", "index": 7, "name": "bill_email", "comment": null}, "billing_address_id": {"type": "integer", "index": 8, "name": "billing_address_id", "comment": null}, "class_id": {"type": "integer", "index": 9, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 10, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 11, "name": "currency_id", "comment": null}, "custom_p_o_number": {"type": "integer", "index": 12, "name": "custom_p_o_number", "comment": null}, "custom_sales_rep": {"type": "integer", "index": 13, "name": "custom_sales_rep", "comment": null}, "customer_id": {"type": "integer", "index": 14, "name": "customer_id", "comment": null}, "customer_memo": {"type": "text", "index": 15, "name": "customer_memo", "comment": null}, "delivery_type": {"type": "integer", "index": 16, "name": "delivery_type", "comment": null}, "department_id": {"type": "integer", "index": 17, "name": "department_id", "comment": null}, "doc_number": {"type": "integer", "index": 18, "name": "doc_number", "comment": null}, "due_date": {"type": "date", "index": 19, "name": "due_date", "comment": null}, "email_status": {"type": "text", "index": 20, "name": "email_status", "comment": null}, "exchange_rate": {"type": "integer", "index": 21, "name": "exchange_rate", "comment": null}, "expiration_date": {"type": "integer", "index": 22, "name": "expiration_date", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 23, "name": "global_tax_calculation", "comment": null}, "home_total_amount": {"type": "integer", "index": 24, "name": "home_total_amount", "comment": null}, "print_status": {"type": "text", "index": 25, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 26, "name": "private_note", "comment": null}, "sales_term_id": {"type": "integer", "index": 27, "name": "sales_term_id", "comment": null}, "ship_date": {"type": "integer", "index": 28, "name": "ship_date", "comment": null}, "shipping_address_id": {"type": "integer", "index": 29, "name": "shipping_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 30, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 31, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "double precision", "index": 32, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 33, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 34, "name": "transaction_date", "comment": null}, "transaction_status": {"type": "text", "index": 35, "name": "transaction_status", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 36, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.estimate"}, "source.quickbooks_source.quickbooks.estimate_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "estimate_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"estimate_id": {"type": "integer", "index": 1, "name": "estimate_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "bundle_id": {"type": "integer", "index": 5, "name": "bundle_id", "comment": null}, "bundle_quantity": {"type": "integer", "index": 6, "name": "bundle_quantity", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 8, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 9, "name": "description_tax_code_id", "comment": null}, "discount_account_id": {"type": "integer", "index": 10, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "integer", "index": 11, "name": "discount_class_id", "comment": null}, "discount_discount_percent": {"type": "integer", "index": 12, "name": "discount_discount_percent", "comment": null}, "discount_percent_based": {"type": "integer", "index": 13, "name": "discount_percent_based", "comment": null}, "discount_tax_code_id": {"type": "integer", "index": 14, "name": "discount_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 15, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "integer", "index": 16, "name": "sales_item_class_id", "comment": null}, "sales_item_discount_amount": {"type": "integer", "index": 17, "name": "sales_item_discount_amount", "comment": null}, "sales_item_discount_rate": {"type": "integer", "index": 18, "name": "sales_item_discount_rate", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 19, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "integer", "index": 20, "name": "sales_item_quantity", "comment": null}, "sales_item_service_date": {"type": "integer", "index": 21, "name": "sales_item_service_date", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 22, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_unit_price": {"type": "integer", "index": 23, "name": "sales_item_unit_price", "comment": null}, "sub_total_item_id": {"type": "integer", "index": 24, "name": "sub_total_item_id", "comment": null}, "item_id": {"type": "integer", "index": 25, "name": "item_id", "comment": null}, "quantity": {"type": "integer", "index": 26, "name": "quantity", "comment": null}, "tax_code_id": {"type": "integer", "index": 27, "name": "tax_code_id", "comment": null}, "account_id": {"type": "integer", "index": 28, "name": "account_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.estimate_line"}, "source.quickbooks_source.quickbooks.invoice": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "invoice_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "allow_ipnpayment": {"type": "boolean", "index": 4, "name": "allow_ipnpayment", "comment": null}, "allow_online_achpayment": {"type": "boolean", "index": 5, "name": "allow_online_achpayment", "comment": null}, "allow_online_credit_card_payment": {"type": "boolean", "index": 6, "name": "allow_online_credit_card_payment", "comment": null}, "allow_online_payment": {"type": "boolean", "index": 7, "name": "allow_online_payment", "comment": null}, "apply_tax_after_discount": {"type": "boolean", "index": 8, "name": "apply_tax_after_discount", "comment": null}, "balance": {"type": "integer", "index": 9, "name": "balance", "comment": null}, "billing_address_id": {"type": "integer", "index": 10, "name": "billing_address_id", "comment": null}, "billing_bcc_email": {"type": "text", "index": 11, "name": "billing_bcc_email", "comment": null}, "billing_cc_email": {"type": "integer", "index": 12, "name": "billing_cc_email", "comment": null}, "billing_email": {"type": "text", "index": 13, "name": "billing_email", "comment": null}, "class_id": {"type": "integer", "index": 14, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 15, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 16, "name": "currency_id", "comment": null}, "custom_p_o_number": {"type": "integer", "index": 17, "name": "custom_p_o_number", "comment": null}, "custom_sales_rep": {"type": "integer", "index": 18, "name": "custom_sales_rep", "comment": null}, "customer_id": {"type": "integer", "index": 19, "name": "customer_id", "comment": null}, "customer_memo": {"type": "text", "index": 20, "name": "customer_memo", "comment": null}, "delivery_time": {"type": "timestamp without time zone", "index": 21, "name": "delivery_time", "comment": null}, "delivery_type": {"type": "text", "index": 22, "name": "delivery_type", "comment": null}, "department_id": {"type": "integer", "index": 23, "name": "department_id", "comment": null}, "deposit": {"type": "integer", "index": 24, "name": "deposit", "comment": null}, "deposit_to_account_id": {"type": "integer", "index": 25, "name": "deposit_to_account_id", "comment": null}, "doc_number": {"type": "integer", "index": 26, "name": "doc_number", "comment": null}, "due_date": {"type": "date", "index": 27, "name": "due_date", "comment": null}, "email_status": {"type": "text", "index": 28, "name": "email_status", "comment": null}, "exchange_rate": {"type": "integer", "index": 29, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 30, "name": "global_tax_calculation", "comment": null}, "home_balance": {"type": "integer", "index": 31, "name": "home_balance", "comment": null}, "home_total_amount": {"type": "integer", "index": 32, "name": "home_total_amount", "comment": null}, "print_status": {"type": "text", "index": 33, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 34, "name": "private_note", "comment": null}, "sales_term_id": {"type": "integer", "index": 35, "name": "sales_term_id", "comment": null}, "ship_date": {"type": "integer", "index": 36, "name": "ship_date", "comment": null}, "shipping_address_id": {"type": "integer", "index": 37, "name": "shipping_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 38, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 39, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "integer", "index": 40, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 41, "name": "total_tax", "comment": null}, "tracking_number": {"type": "integer", "index": 42, "name": "tracking_number", "comment": null}, "transaction_date": {"type": "date", "index": 43, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 44, "name": "transaction_source", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 45, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.invoice"}, "source.quickbooks_source.quickbooks.invoice_line_bundle": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "invoice_line_bundle_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "invoice_id": {"type": "integer", "index": 2, "name": "invoice_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_id": {"type": "integer", "index": 4, "name": "account_id", "comment": null}, "amount": {"type": "double precision", "index": 5, "name": "amount", "comment": null}, "class_id": {"type": "integer", "index": 6, "name": "class_id", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "discount_amount": {"type": "integer", "index": 8, "name": "discount_amount", "comment": null}, "discount_rate": {"type": "integer", "index": 9, "name": "discount_rate", "comment": null}, "invoice_line_index": {"type": "integer", "index": 10, "name": "invoice_line_index", "comment": null}, "item_id": {"type": "integer", "index": 11, "name": "item_id", "comment": null}, "line_num": {"type": "integer", "index": 12, "name": "line_num", "comment": null}, "quantity": {"type": "double precision", "index": 13, "name": "quantity", "comment": null}, "service_date": {"type": "integer", "index": 14, "name": "service_date", "comment": null}, "tax_code_id": {"type": "text", "index": 15, "name": "tax_code_id", "comment": null}, "unit_price": {"type": "integer", "index": 16, "name": "unit_price", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 17, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "integer", "index": 18, "name": "sales_item_quantity", "comment": null}, "sales_item_tax_code_id": {"type": "integer", "index": 19, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 20, "name": "sales_item_account_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.invoice_line_bundle"}, "source.quickbooks_source.quickbooks.invoice_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "invoice_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "invoice_id": {"type": "integer", "index": 2, "name": "invoice_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "double precision", "index": 4, "name": "amount", "comment": null}, "bundle_id": {"type": "integer", "index": 5, "name": "bundle_id", "comment": null}, "bundle_quantity": {"type": "double precision", "index": 6, "name": "bundle_quantity", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 8, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 9, "name": "description_tax_code_id", "comment": null}, "discount_account_id": {"type": "integer", "index": 10, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "integer", "index": 11, "name": "discount_class_id", "comment": null}, "discount_discount_percent": {"type": "integer", "index": 12, "name": "discount_discount_percent", "comment": null}, "discount_percent_based": {"type": "integer", "index": 13, "name": "discount_percent_based", "comment": null}, "discount_tax_code_id": {"type": "integer", "index": 14, "name": "discount_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 15, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "integer", "index": 16, "name": "sales_item_class_id", "comment": null}, "sales_item_discount_amount": {"type": "integer", "index": 17, "name": "sales_item_discount_amount", "comment": null}, "sales_item_discount_rate": {"type": "integer", "index": 18, "name": "sales_item_discount_rate", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 19, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "double precision", "index": 20, "name": "sales_item_quantity", "comment": null}, "sales_item_service_date": {"type": "integer", "index": 21, "name": "sales_item_service_date", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 22, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_unit_price": {"type": "integer", "index": 23, "name": "sales_item_unit_price", "comment": null}, "sub_total_item_id": {"type": "integer", "index": 24, "name": "sub_total_item_id", "comment": null}, "item_id": {"type": "integer", "index": 25, "name": "item_id", "comment": null}, "quantity": {"type": "integer", "index": 26, "name": "quantity", "comment": null}, "tax_code_id": {"type": "integer", "index": 27, "name": "tax_code_id", "comment": null}, "account_id": {"type": "integer", "index": 28, "name": "account_id", "comment": null}, "detail_type": {"type": "text", "index": 29, "name": "detail_type", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.invoice_line"}, "source.quickbooks_source.quickbooks.invoice_linked_txn": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "invoice_linked_txn_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "invoice_id": {"type": "integer", "index": 2, "name": "invoice_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "charge_credit_id": {"type": "integer", "index": 4, "name": "charge_credit_id", "comment": null}, "estimate_id": {"type": "integer", "index": 5, "name": "estimate_id", "comment": null}, "payment_id": {"type": "integer", "index": 6, "name": "payment_id", "comment": null}, "reimburse_charge_id": {"type": "integer", "index": 7, "name": "reimburse_charge_id", "comment": null}, "statement_charge_id": {"type": "integer", "index": 8, "name": "statement_charge_id", "comment": null}, "time_activity_id": {"type": "integer", "index": 9, "name": "time_activity_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.invoice_linked_txn"}, "source.quickbooks_source.quickbooks.item": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "item_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "active": {"type": "boolean", "index": 3, "name": "active", "comment": null}, "asset_account_id": {"type": "integer", "index": 4, "name": "asset_account_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "description": {"type": "integer", "index": 6, "name": "description", "comment": null}, "expense_account_id": {"type": "integer", "index": 7, "name": "expense_account_id", "comment": null}, "fully_qualified_name": {"type": "text", "index": 8, "name": "fully_qualified_name", "comment": null}, "income_account_id": {"type": "integer", "index": 9, "name": "income_account_id", "comment": null}, "inventory_start_date": {"type": "integer", "index": 10, "name": "inventory_start_date", "comment": null}, "level": {"type": "integer", "index": 11, "name": "level", "comment": null}, "name": {"type": "text", "index": 12, "name": "name", "comment": null}, "parent_item_id": {"type": "integer", "index": 13, "name": "parent_item_id", "comment": null}, "purchase_cost": {"type": "integer", "index": 14, "name": "purchase_cost", "comment": null}, "purchase_description": {"type": "integer", "index": 15, "name": "purchase_description", "comment": null}, "purchase_tax_code_id": {"type": "integer", "index": 16, "name": "purchase_tax_code_id", "comment": null}, "purchase_tax_included": {"type": "integer", "index": 17, "name": "purchase_tax_included", "comment": null}, "quantity_on_hand": {"type": "integer", "index": 18, "name": "quantity_on_hand", "comment": null}, "sales_tax_code_id": {"type": "integer", "index": 19, "name": "sales_tax_code_id", "comment": null}, "sales_tax_included": {"type": "integer", "index": 20, "name": "sales_tax_included", "comment": null}, "stock_keeping_unit": {"type": "integer", "index": 21, "name": "stock_keeping_unit", "comment": null}, "sub_item": {"type": "integer", "index": 22, "name": "sub_item", "comment": null}, "sync_token": {"type": "integer", "index": 23, "name": "sync_token", "comment": null}, "taxable": {"type": "boolean", "index": 24, "name": "taxable", "comment": null}, "track_quantity_on_hand": {"type": "boolean", "index": 25, "name": "track_quantity_on_hand", "comment": null}, "type": {"type": "text", "index": 26, "name": "type", "comment": null}, "unit_price": {"type": "integer", "index": 27, "name": "unit_price", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 28, "name": "updated_at", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 29, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.item"}, "source.quickbooks_source.quickbooks.journal_entry": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "journal_entry_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "adjustment": {"type": "boolean", "index": 4, "name": "adjustment", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 6, "name": "currency_id", "comment": null}, "doc_number": {"type": "text", "index": 7, "name": "doc_number", "comment": null}, "exchange_rate": {"type": "integer", "index": 8, "name": "exchange_rate", "comment": null}, "home_total_amount": {"type": "integer", "index": 9, "name": "home_total_amount", "comment": null}, "private_note": {"type": "text", "index": 10, "name": "private_note", "comment": null}, "sync_token": {"type": "integer", "index": 11, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 12, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "integer", "index": 13, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 14, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 15, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 16, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.journal_entry"}, "source.quickbooks_source.quickbooks.journal_entry_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "journal_entry_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "journal_entry_id": {"type": "integer", "index": 2, "name": "journal_entry_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_id": {"type": "integer", "index": 4, "name": "account_id", "comment": null}, "amount": {"type": "integer", "index": 5, "name": "amount", "comment": null}, "billable_status": {"type": "integer", "index": 6, "name": "billable_status", "comment": null}, "class_id": {"type": "integer", "index": 7, "name": "class_id", "comment": null}, "customer_id": {"type": "integer", "index": 8, "name": "customer_id", "comment": null}, "department_id": {"type": "integer", "index": 9, "name": "department_id", "comment": null}, "description": {"type": "text", "index": 10, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 11, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 12, "name": "description_tax_code_id", "comment": null}, "employee_id": {"type": "integer", "index": 13, "name": "employee_id", "comment": null}, "posting_type": {"type": "text", "index": 14, "name": "posting_type", "comment": null}, "tax_amount": {"type": "integer", "index": 15, "name": "tax_amount", "comment": null}, "tax_applicable_on": {"type": "integer", "index": 16, "name": "tax_applicable_on", "comment": null}, "tax_code_id": {"type": "integer", "index": 17, "name": "tax_code_id", "comment": null}, "vendor_id": {"type": "integer", "index": 18, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.journal_entry_line"}, "source.quickbooks_source.quickbooks.payment": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "payment_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 4, "name": "created_at", "comment": null}, "credit_card_amount": {"type": "integer", "index": 5, "name": "credit_card_amount", "comment": null}, "credit_card_auth_code": {"type": "integer", "index": 6, "name": "credit_card_auth_code", "comment": null}, "credit_card_billing_address_street": {"type": "integer", "index": 7, "name": "credit_card_billing_address_street", "comment": null}, "credit_card_cc_expiry_month": {"type": "integer", "index": 8, "name": "credit_card_cc_expiry_month", "comment": null}, "credit_card_cc_expiry_year": {"type": "integer", "index": 9, "name": "credit_card_cc_expiry_year", "comment": null}, "credit_card_cctrans_id": {"type": "integer", "index": 10, "name": "credit_card_cctrans_id", "comment": null}, "credit_card_name_on_account": {"type": "integer", "index": 11, "name": "credit_card_name_on_account", "comment": null}, "credit_card_postal_code": {"type": "integer", "index": 12, "name": "credit_card_postal_code", "comment": null}, "credit_card_process_payment": {"type": "integer", "index": 13, "name": "credit_card_process_payment", "comment": null}, "credit_card_status": {"type": "integer", "index": 14, "name": "credit_card_status", "comment": null}, "credit_card_transaction_authorization_time": {"type": "integer", "index": 15, "name": "credit_card_transaction_authorization_time", "comment": null}, "credit_card_type": {"type": "integer", "index": 16, "name": "credit_card_type", "comment": null}, "currency_id": {"type": "text", "index": 17, "name": "currency_id", "comment": null}, "customer_id": {"type": "integer", "index": 18, "name": "customer_id", "comment": null}, "deposit_to_account_id": {"type": "integer", "index": 19, "name": "deposit_to_account_id", "comment": null}, "exchange_rate": {"type": "integer", "index": 20, "name": "exchange_rate", "comment": null}, "payment_method_id": {"type": "integer", "index": 21, "name": "payment_method_id", "comment": null}, "private_note": {"type": "text", "index": 22, "name": "private_note", "comment": null}, "process_payment": {"type": "boolean", "index": 23, "name": "process_payment", "comment": null}, "receivable_account_id": {"type": "integer", "index": 24, "name": "receivable_account_id", "comment": null}, "reference_number": {"type": "integer", "index": 25, "name": "reference_number", "comment": null}, "sync_token": {"type": "integer", "index": 26, "name": "sync_token", "comment": null}, "total_amount": {"type": "double precision", "index": 27, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 28, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 29, "name": "transaction_source", "comment": null}, "transaction_status": {"type": "integer", "index": 30, "name": "transaction_status", "comment": null}, "unapplied_amount": {"type": "integer", "index": 31, "name": "unapplied_amount", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 32, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.payment"}, "source.quickbooks_source.quickbooks.payment_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "payment_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "payment_id": {"type": "integer", "index": 2, "name": "payment_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "double precision", "index": 4, "name": "amount", "comment": null}, "check_id": {"type": "integer", "index": 5, "name": "check_id", "comment": null}, "credit_card_charge_id": {"type": "integer", "index": 6, "name": "credit_card_charge_id", "comment": null}, "credit_card_credit_id": {"type": "integer", "index": 7, "name": "credit_card_credit_id", "comment": null}, "credit_memo_id": {"type": "integer", "index": 8, "name": "credit_memo_id", "comment": null}, "deposit_id": {"type": "integer", "index": 9, "name": "deposit_id", "comment": null}, "expense_id": {"type": "integer", "index": 10, "name": "expense_id", "comment": null}, "invoice_id": {"type": "integer", "index": 11, "name": "invoice_id", "comment": null}, "journal_entry_id": {"type": "integer", "index": 12, "name": "journal_entry_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.payment_line"}, "source.quickbooks_source.quickbooks.purchase": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "purchase_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_id": {"type": "integer", "index": 4, "name": "account_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "credit": {"type": "boolean", "index": 6, "name": "credit", "comment": null}, "currency_id": {"type": "text", "index": 7, "name": "currency_id", "comment": null}, "customer_id": {"type": "integer", "index": 8, "name": "customer_id", "comment": null}, "department_id": {"type": "integer", "index": 9, "name": "department_id", "comment": null}, "doc_number": {"type": "integer", "index": 10, "name": "doc_number", "comment": null}, "employee_id": {"type": "integer", "index": 11, "name": "employee_id", "comment": null}, "exchange_rate": {"type": "integer", "index": 12, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 13, "name": "global_tax_calculation", "comment": null}, "payment_method_id": {"type": "integer", "index": 14, "name": "payment_method_id", "comment": null}, "payment_type": {"type": "text", "index": 15, "name": "payment_type", "comment": null}, "print_status": {"type": "integer", "index": 16, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 17, "name": "private_note", "comment": null}, "remit_to_address_id": {"type": "integer", "index": 18, "name": "remit_to_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 19, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 20, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "integer", "index": 21, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 22, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 23, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 24, "name": "transaction_source", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 25, "name": "updated_at", "comment": null}, "vendor_id": {"type": "integer", "index": 26, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.purchase"}, "source.quickbooks_source.quickbooks.purchase_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "purchase_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "purchase_id": {"type": "integer", "index": 2, "name": "purchase_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_expense_account_id": {"type": "bigint", "index": 4, "name": "account_expense_account_id", "comment": null}, "account_expense_billable_status": {"type": "text", "index": 5, "name": "account_expense_billable_status", "comment": null}, "account_expense_class_id": {"type": "integer", "index": 6, "name": "account_expense_class_id", "comment": null}, "account_expense_customer_id": {"type": "integer", "index": 7, "name": "account_expense_customer_id", "comment": null}, "account_expense_tax_amount": {"type": "integer", "index": 8, "name": "account_expense_tax_amount", "comment": null}, "account_expense_tax_code_id": {"type": "text", "index": 9, "name": "account_expense_tax_code_id", "comment": null}, "amount": {"type": "integer", "index": 10, "name": "amount", "comment": null}, "description": {"type": "text", "index": 11, "name": "description", "comment": null}, "item_expense_billable_status": {"type": "character varying(100)", "index": 12, "name": "item_expense_billable_status", "comment": null}, "item_expense_class_id": {"type": "integer", "index": 13, "name": "item_expense_class_id", "comment": null}, "item_expense_customer_id": {"type": "integer", "index": 14, "name": "item_expense_customer_id", "comment": null}, "item_expense_item_id": {"type": "integer", "index": 15, "name": "item_expense_item_id", "comment": null}, "item_expense_quantity": {"type": "integer", "index": 16, "name": "item_expense_quantity", "comment": null}, "item_expense_tax_code_id": {"type": "integer", "index": 17, "name": "item_expense_tax_code_id", "comment": null}, "item_expense_unit_price": {"type": "integer", "index": 18, "name": "item_expense_unit_price", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.purchase_line"}, "source.quickbooks_source.quickbooks.purchase_order": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "purchase_order_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "class_id": {"type": "integer", "index": 4, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 6, "name": "currency_id", "comment": null}, "custom_customer_type": {"type": "text", "index": 7, "name": "custom_customer_type", "comment": null}, "custom_p_o_number": {"type": "integer", "index": 8, "name": "custom_p_o_number", "comment": null}, "doc_number": {"type": "integer", "index": 9, "name": "doc_number", "comment": null}, "due_date": {"type": "date", "index": 10, "name": "due_date", "comment": null}, "exchange_rate": {"type": "integer", "index": 11, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 12, "name": "global_tax_calculation", "comment": null}, "memo": {"type": "text", "index": 13, "name": "memo", "comment": null}, "payable_account_id": {"type": "integer", "index": 14, "name": "payable_account_id", "comment": null}, "private_note": {"type": "text", "index": 15, "name": "private_note", "comment": null}, "sales_term_id": {"type": "integer", "index": 16, "name": "sales_term_id", "comment": null}, "shipping_address_id": {"type": "integer", "index": 17, "name": "shipping_address_id", "comment": null}, "status": {"type": "text", "index": 18, "name": "status", "comment": null}, "sync_token": {"type": "integer", "index": 19, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 20, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "double precision", "index": 21, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 22, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 23, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 24, "name": "updated_at", "comment": null}, "vendor_address_id": {"type": "integer", "index": 25, "name": "vendor_address_id", "comment": null}, "vendor_id": {"type": "integer", "index": 26, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.purchase_order"}, "source.quickbooks_source.quickbooks.purchase_order_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "purchase_order_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "purchase_order_id": {"type": "integer", "index": 2, "name": "purchase_order_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_expense_account_id": {"type": "integer", "index": 4, "name": "account_expense_account_id", "comment": null}, "account_expense_billable_status": {"type": "integer", "index": 5, "name": "account_expense_billable_status", "comment": null}, "account_expense_class_id": {"type": "integer", "index": 6, "name": "account_expense_class_id", "comment": null}, "account_expense_customer_id": {"type": "integer", "index": 7, "name": "account_expense_customer_id", "comment": null}, "account_expense_tax_amount": {"type": "integer", "index": 8, "name": "account_expense_tax_amount", "comment": null}, "account_expense_tax_code_id": {"type": "integer", "index": 9, "name": "account_expense_tax_code_id", "comment": null}, "amount": {"type": "double precision", "index": 10, "name": "amount", "comment": null}, "description": {"type": "text", "index": 11, "name": "description", "comment": null}, "item_expense_billable_status": {"type": "text", "index": 12, "name": "item_expense_billable_status", "comment": null}, "item_expense_class_id": {"type": "integer", "index": 13, "name": "item_expense_class_id", "comment": null}, "item_expense_customer_id": {"type": "integer", "index": 14, "name": "item_expense_customer_id", "comment": null}, "item_expense_item_id": {"type": "integer", "index": 15, "name": "item_expense_item_id", "comment": null}, "item_expense_quantity": {"type": "integer", "index": 16, "name": "item_expense_quantity", "comment": null}, "item_expense_tax_code_id": {"type": "text", "index": 17, "name": "item_expense_tax_code_id", "comment": null}, "item_expense_unit_price": {"type": "double precision", "index": 18, "name": "item_expense_unit_price", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.purchase_order_line"}, "source.quickbooks_source.quickbooks.purchase_order_linked_txn": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "purchase_order_linked_txn_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "purchase_order_id": {"type": "integer", "index": 2, "name": "purchase_order_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "bill_id": {"type": "integer", "index": 4, "name": "bill_id", "comment": null}, "purchase_id": {"type": "integer", "index": 5, "name": "purchase_id", "comment": null}, "vendor_credit_id": {"type": "integer", "index": 6, "name": "vendor_credit_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.purchase_order_linked_txn"}, "source.quickbooks_source.quickbooks.refund_receipt": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "refund_receipt_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "apply_tax_after_discount": {"type": "integer", "index": 4, "name": "apply_tax_after_discount", "comment": null}, "balance": {"type": "integer", "index": 5, "name": "balance", "comment": null}, "bill_email": {"type": "text", "index": 6, "name": "bill_email", "comment": null}, "billing_address_id": {"type": "integer", "index": 7, "name": "billing_address_id", "comment": null}, "check_payment_account_number": {"type": "integer", "index": 8, "name": "check_payment_account_number", "comment": null}, "check_payment_bank_name": {"type": "integer", "index": 9, "name": "check_payment_bank_name", "comment": null}, "check_payment_check_number": {"type": "integer", "index": 10, "name": "check_payment_check_number", "comment": null}, "check_payment_name_on_account": {"type": "integer", "index": 11, "name": "check_payment_name_on_account", "comment": null}, "check_payment_status": {"type": "integer", "index": 12, "name": "check_payment_status", "comment": null}, "class_id": {"type": "integer", "index": 13, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 14, "name": "created_at", "comment": null}, "credit_card_amount": {"type": "integer", "index": 15, "name": "credit_card_amount", "comment": null}, "credit_card_auth_code": {"type": "integer", "index": 16, "name": "credit_card_auth_code", "comment": null}, "credit_card_billing_address_street": {"type": "integer", "index": 17, "name": "credit_card_billing_address_street", "comment": null}, "credit_card_cc_expiry_month": {"type": "integer", "index": 18, "name": "credit_card_cc_expiry_month", "comment": null}, "credit_card_cc_expiry_year": {"type": "integer", "index": 19, "name": "credit_card_cc_expiry_year", "comment": null}, "credit_card_cctrans_id": {"type": "integer", "index": 20, "name": "credit_card_cctrans_id", "comment": null}, "credit_card_name_on_account": {"type": "integer", "index": 21, "name": "credit_card_name_on_account", "comment": null}, "credit_card_postal_code": {"type": "integer", "index": 22, "name": "credit_card_postal_code", "comment": null}, "credit_card_process_payment": {"type": "integer", "index": 23, "name": "credit_card_process_payment", "comment": null}, "credit_card_status": {"type": "integer", "index": 24, "name": "credit_card_status", "comment": null}, "credit_card_transaction_authorization_time": {"type": "integer", "index": 25, "name": "credit_card_transaction_authorization_time", "comment": null}, "credit_card_type": {"type": "integer", "index": 26, "name": "credit_card_type", "comment": null}, "currency_id": {"type": "text", "index": 27, "name": "currency_id", "comment": null}, "customer_id": {"type": "integer", "index": 28, "name": "customer_id", "comment": null}, "customer_memo": {"type": "text", "index": 29, "name": "customer_memo", "comment": null}, "department_id": {"type": "integer", "index": 30, "name": "department_id", "comment": null}, "deposit_to_account_id": {"type": "integer", "index": 31, "name": "deposit_to_account_id", "comment": null}, "doc_number": {"type": "integer", "index": 32, "name": "doc_number", "comment": null}, "exchange_rate": {"type": "integer", "index": 33, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 34, "name": "global_tax_calculation", "comment": null}, "home_balance": {"type": "integer", "index": 35, "name": "home_balance", "comment": null}, "home_total_amount": {"type": "integer", "index": 36, "name": "home_total_amount", "comment": null}, "payment_method_id": {"type": "integer", "index": 37, "name": "payment_method_id", "comment": null}, "payment_reference_number": {"type": "integer", "index": 38, "name": "payment_reference_number", "comment": null}, "payment_type": {"type": "integer", "index": 39, "name": "payment_type", "comment": null}, "print_status": {"type": "integer", "index": 40, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 41, "name": "private_note", "comment": null}, "shipping_address_id": {"type": "integer", "index": 42, "name": "shipping_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 43, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 44, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "integer", "index": 45, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 46, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 47, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 48, "name": "transaction_source", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 49, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.refund_receipt"}, "source.quickbooks_source.quickbooks.refund_receipt_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "refund_receipt_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "refund_id": {"type": "integer", "index": 2, "name": "refund_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "bundle_id": {"type": "integer", "index": 5, "name": "bundle_id", "comment": null}, "bundle_quantity": {"type": "integer", "index": 6, "name": "bundle_quantity", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 8, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 9, "name": "description_tax_code_id", "comment": null}, "discount_account_id": {"type": "integer", "index": 10, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "integer", "index": 11, "name": "discount_class_id", "comment": null}, "discount_discount_percent": {"type": "integer", "index": 12, "name": "discount_discount_percent", "comment": null}, "discount_percent_based": {"type": "integer", "index": 13, "name": "discount_percent_based", "comment": null}, "discount_tax_code_id": {"type": "integer", "index": 14, "name": "discount_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 15, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "integer", "index": 16, "name": "sales_item_class_id", "comment": null}, "sales_item_discount_amount": {"type": "integer", "index": 17, "name": "sales_item_discount_amount", "comment": null}, "sales_item_discount_rate": {"type": "integer", "index": 18, "name": "sales_item_discount_rate", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 19, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "integer", "index": 20, "name": "sales_item_quantity", "comment": null}, "sales_item_service_date": {"type": "integer", "index": 21, "name": "sales_item_service_date", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 22, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_unit_price": {"type": "integer", "index": 23, "name": "sales_item_unit_price", "comment": null}, "sub_total_item_id": {"type": "integer", "index": 24, "name": "sub_total_item_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.refund_receipt_line"}, "source.quickbooks_source.quickbooks.sales_receipt": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "sales_receipt_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "apply_tax_after_discount": {"type": "integer", "index": 4, "name": "apply_tax_after_discount", "comment": null}, "balance": {"type": "integer", "index": 5, "name": "balance", "comment": null}, "bill_email": {"type": "text", "index": 6, "name": "bill_email", "comment": null}, "billing_address_id": {"type": "integer", "index": 7, "name": "billing_address_id", "comment": null}, "class_id": {"type": "integer", "index": 8, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 9, "name": "created_at", "comment": null}, "credit_card_amount": {"type": "integer", "index": 10, "name": "credit_card_amount", "comment": null}, "credit_card_auth_code": {"type": "integer", "index": 11, "name": "credit_card_auth_code", "comment": null}, "credit_card_billing_address_street": {"type": "integer", "index": 12, "name": "credit_card_billing_address_street", "comment": null}, "credit_card_cc_expiry_month": {"type": "integer", "index": 13, "name": "credit_card_cc_expiry_month", "comment": null}, "credit_card_cc_expiry_year": {"type": "integer", "index": 14, "name": "credit_card_cc_expiry_year", "comment": null}, "credit_card_cctrans_id": {"type": "integer", "index": 15, "name": "credit_card_cctrans_id", "comment": null}, "credit_card_name_on_account": {"type": "integer", "index": 16, "name": "credit_card_name_on_account", "comment": null}, "credit_card_postal_code": {"type": "integer", "index": 17, "name": "credit_card_postal_code", "comment": null}, "credit_card_process_payment": {"type": "integer", "index": 18, "name": "credit_card_process_payment", "comment": null}, "credit_card_status": {"type": "integer", "index": 19, "name": "credit_card_status", "comment": null}, "credit_card_transaction_authorization_time": {"type": "integer", "index": 20, "name": "credit_card_transaction_authorization_time", "comment": null}, "credit_card_type": {"type": "integer", "index": 21, "name": "credit_card_type", "comment": null}, "currency_id": {"type": "text", "index": 22, "name": "currency_id", "comment": null}, "customer_id": {"type": "integer", "index": 23, "name": "customer_id", "comment": null}, "customer_memo": {"type": "text", "index": 24, "name": "customer_memo", "comment": null}, "delivery_time": {"type": "integer", "index": 25, "name": "delivery_time", "comment": null}, "delivery_type": {"type": "integer", "index": 26, "name": "delivery_type", "comment": null}, "department_id": {"type": "integer", "index": 27, "name": "department_id", "comment": null}, "deposit_to_account_id": {"type": "integer", "index": 28, "name": "deposit_to_account_id", "comment": null}, "doc_number": {"type": "integer", "index": 29, "name": "doc_number", "comment": null}, "email_status": {"type": "integer", "index": 30, "name": "email_status", "comment": null}, "exchange_rate": {"type": "integer", "index": 31, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 32, "name": "global_tax_calculation", "comment": null}, "home_balance": {"type": "integer", "index": 33, "name": "home_balance", "comment": null}, "home_total_amount": {"type": "integer", "index": 34, "name": "home_total_amount", "comment": null}, "payment_method_id": {"type": "integer", "index": 35, "name": "payment_method_id", "comment": null}, "payment_reference_number": {"type": "integer", "index": 36, "name": "payment_reference_number", "comment": null}, "print_status": {"type": "integer", "index": 37, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 38, "name": "private_note", "comment": null}, "ship_date": {"type": "integer", "index": 39, "name": "ship_date", "comment": null}, "shipping_address_id": {"type": "integer", "index": 40, "name": "shipping_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 41, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 42, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "integer", "index": 43, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 44, "name": "total_tax", "comment": null}, "tracking_number": {"type": "integer", "index": 45, "name": "tracking_number", "comment": null}, "transaction_date": {"type": "date", "index": 46, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 47, "name": "transaction_source", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 48, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.sales_receipt"}, "source.quickbooks_source.quickbooks.sales_receipt_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "sales_receipt_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "sales_receipt_id": {"type": "integer", "index": 2, "name": "sales_receipt_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "bundle_id": {"type": "integer", "index": 5, "name": "bundle_id", "comment": null}, "bundle_quantity": {"type": "integer", "index": 6, "name": "bundle_quantity", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 8, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 9, "name": "description_tax_code_id", "comment": null}, "discount_account_id": {"type": "integer", "index": 10, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "integer", "index": 11, "name": "discount_class_id", "comment": null}, "discount_discount_percent": {"type": "integer", "index": 12, "name": "discount_discount_percent", "comment": null}, "discount_percent_based": {"type": "integer", "index": 13, "name": "discount_percent_based", "comment": null}, "discount_tax_code_id": {"type": "integer", "index": 14, "name": "discount_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 15, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "integer", "index": 16, "name": "sales_item_class_id", "comment": null}, "sales_item_discount_amount": {"type": "integer", "index": 17, "name": "sales_item_discount_amount", "comment": null}, "sales_item_discount_rate": {"type": "integer", "index": 18, "name": "sales_item_discount_rate", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 19, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "integer", "index": 20, "name": "sales_item_quantity", "comment": null}, "sales_item_service_date": {"type": "integer", "index": 21, "name": "sales_item_service_date", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 22, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_unit_price": {"type": "integer", "index": 23, "name": "sales_item_unit_price", "comment": null}, "sub_total_item_id": {"type": "integer", "index": 24, "name": "sub_total_item_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.sales_receipt_line"}, "source.quickbooks_source.quickbooks.transfer": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "transfer_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "from_account_id": {"type": "integer", "index": 6, "name": "from_account_id", "comment": null}, "private_note": {"type": "text", "index": 7, "name": "private_note", "comment": null}, "sync_token": {"type": "integer", "index": 8, "name": "sync_token", "comment": null}, "to_account_id": {"type": "integer", "index": 9, "name": "to_account_id", "comment": null}, "transaction_date": {"type": "date", "index": 10, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 11, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.transfer"}, "source.quickbooks_source.quickbooks.vendor_credit": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "vendor_credit_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "balance": {"type": "integer", "index": 4, "name": "balance", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 6, "name": "currency_id", "comment": null}, "department_id": {"type": "integer", "index": 7, "name": "department_id", "comment": null}, "doc_number": {"type": "integer", "index": 8, "name": "doc_number", "comment": null}, "exchange_rate": {"type": "integer", "index": 9, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 10, "name": "global_tax_calculation", "comment": null}, "payable_account_id": {"type": "integer", "index": 11, "name": "payable_account_id", "comment": null}, "private_note": {"type": "text", "index": 12, "name": "private_note", "comment": null}, "sync_token": {"type": "integer", "index": 13, "name": "sync_token", "comment": null}, "total_amount": {"type": "integer", "index": 14, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 15, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 16, "name": "updated_at", "comment": null}, "vendor_id": {"type": "integer", "index": 17, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.vendor_credit"}, "source.quickbooks_source.quickbooks.vendor_credit_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "vendor_credit_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "vendor_credit_id": {"type": "integer", "index": 2, "name": "vendor_credit_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_expense_account_id": {"type": "integer", "index": 4, "name": "account_expense_account_id", "comment": null}, "account_expense_billable_status": {"type": "character varying(100)", "index": 5, "name": "account_expense_billable_status", "comment": null}, "account_expense_class_id": {"type": "integer", "index": 6, "name": "account_expense_class_id", "comment": null}, "account_expense_customer_id": {"type": "integer", "index": 7, "name": "account_expense_customer_id", "comment": null}, "account_expense_tax_amount": {"type": "integer", "index": 8, "name": "account_expense_tax_amount", "comment": null}, "account_expense_tax_code_id": {"type": "text", "index": 9, "name": "account_expense_tax_code_id", "comment": null}, "amount": {"type": "integer", "index": 10, "name": "amount", "comment": null}, "description": {"type": "text", "index": 11, "name": "description", "comment": null}, "item_expense_billable_status": {"type": "character varying(100)", "index": 12, "name": "item_expense_billable_status", "comment": null}, "item_expense_class_id": {"type": "integer", "index": 13, "name": "item_expense_class_id", "comment": null}, "item_expense_customer_id": {"type": "integer", "index": 14, "name": "item_expense_customer_id", "comment": null}, "item_expense_item_id": {"type": "integer", "index": 15, "name": "item_expense_item_id", "comment": null}, "item_expense_quantity": {"type": "integer", "index": 16, "name": "item_expense_quantity", "comment": null}, "item_expense_tax_code_id": {"type": "integer", "index": 17, "name": "item_expense_tax_code_id", "comment": null}, "item_expense_unit_price": {"type": "integer", "index": 18, "name": "item_expense_unit_price", "comment": null}, "private_note": {"type": "integer", "index": 19, "name": "private_note", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.vendor_credit_line"}, "source.quickbooks_source.quickbooks.vendor": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_17", "name": "vendor_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "account_number": {"type": "integer", "index": 3, "name": "account_number", "comment": null}, "active": {"type": "boolean", "index": 4, "name": "active", "comment": null}, "alternate_phone": {"type": "integer", "index": 5, "name": "alternate_phone", "comment": null}, "balance": {"type": "integer", "index": 6, "name": "balance", "comment": null}, "billing_address_id": {"type": "integer", "index": 7, "name": "billing_address_id", "comment": null}, "company_name": {"type": "text", "index": 8, "name": "company_name", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 9, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 10, "name": "currency_id", "comment": null}, "display_name": {"type": "text", "index": 11, "name": "display_name", "comment": null}, "email": {"type": "text", "index": 12, "name": "email", "comment": null}, "family_name": {"type": "integer", "index": 13, "name": "family_name", "comment": null}, "fax_number": {"type": "integer", "index": 14, "name": "fax_number", "comment": null}, "given_name": {"type": "integer", "index": 15, "name": "given_name", "comment": null}, "middle_name": {"type": "integer", "index": 16, "name": "middle_name", "comment": null}, "mobile_phone": {"type": "integer", "index": 17, "name": "mobile_phone", "comment": null}, "other_contacts": {"type": "integer", "index": 18, "name": "other_contacts", "comment": null}, "primary_phone": {"type": "integer", "index": 19, "name": "primary_phone", "comment": null}, "print_on_check_name": {"type": "text", "index": 20, "name": "print_on_check_name", "comment": null}, "suffix": {"type": "integer", "index": 21, "name": "suffix", "comment": null}, "sync_token": {"type": "integer", "index": 22, "name": "sync_token", "comment": null}, "tax_identifier": {"type": "integer", "index": 23, "name": "tax_identifier", "comment": null}, "term_id": {"type": "integer", "index": 24, "name": "term_id", "comment": null}, "title": {"type": "integer", "index": 25, "name": "title", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 26, "name": "updated_at", "comment": null}, "vendor_1099": {"type": "boolean", "index": 27, "name": "vendor_1099", "comment": null}, "web_url": {"type": "integer", "index": 28, "name": "web_url", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 29, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.vendor"}}, "errors": null} \ No newline at end of file +{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/catalog/v1.json", "dbt_version": "1.7.16", "generated_at": "2024-11-18T16:58:23.716387Z", "invocation_id": "e8f8d5ea-2725-44bf-a933-259d0855423f", "env": {}}, "nodes": {"seed.quickbooks_integration_tests.account_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "account_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "account_number": {"type": "integer", "index": 3, "name": "account_number", "comment": null}, "account_sub_type": {"type": "text", "index": 4, "name": "account_sub_type", "comment": null}, "account_type": {"type": "text", "index": 5, "name": "account_type", "comment": null}, "active": {"type": "boolean", "index": 6, "name": "active", "comment": null}, "balance": {"type": "integer", "index": 7, "name": "balance", "comment": null}, "balance_with_sub_accounts": {"type": "integer", "index": 8, "name": "balance_with_sub_accounts", "comment": null}, "classification": {"type": "text", "index": 9, "name": "classification", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 10, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 11, "name": "currency_id", "comment": null}, "description": {"type": "integer", "index": 12, "name": "description", "comment": null}, "fully_qualified_name": {"type": "text", "index": 13, "name": "fully_qualified_name", "comment": null}, "name": {"type": "text", "index": 14, "name": "name", "comment": null}, "parent_account_id": {"type": "integer", "index": 15, "name": "parent_account_id", "comment": null}, "sub_account": {"type": "boolean", "index": 16, "name": "sub_account", "comment": null}, "sync_token": {"type": "integer", "index": 17, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 18, "name": "tax_code_id", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 19, "name": "updated_at", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 20, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.account_data"}, "seed.quickbooks_integration_tests.address_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "address_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "city": {"type": "text", "index": 3, "name": "city", "comment": null}, "country": {"type": "text", "index": 4, "name": "country", "comment": null}, "country_sub_division_code": {"type": "text", "index": 5, "name": "country_sub_division_code", "comment": null}, "latitude": {"type": "integer", "index": 6, "name": "latitude", "comment": null}, "line_1": {"type": "text", "index": 7, "name": "line_1", "comment": null}, "line_2": {"type": "text", "index": 8, "name": "line_2", "comment": null}, "line_3": {"type": "integer", "index": 9, "name": "line_3", "comment": null}, "line_4": {"type": "integer", "index": 10, "name": "line_4", "comment": null}, "line_5": {"type": "integer", "index": 11, "name": "line_5", "comment": null}, "longitude": {"type": "integer", "index": 12, "name": "longitude", "comment": null}, "postal_code": {"type": "integer", "index": 13, "name": "postal_code", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.address_data"}, "seed.quickbooks_integration_tests.bill_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "bill_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "balance": {"type": "integer", "index": 4, "name": "balance", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 6, "name": "currency_id", "comment": null}, "department_id": {"type": "integer", "index": 7, "name": "department_id", "comment": null}, "doc_number": {"type": "date", "index": 8, "name": "doc_number", "comment": null}, "due_date": {"type": "date", "index": 9, "name": "due_date", "comment": null}, "exchange_rate": {"type": "integer", "index": 10, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 11, "name": "global_tax_calculation", "comment": null}, "home_balance": {"type": "integer", "index": 12, "name": "home_balance", "comment": null}, "payable_account_id": {"type": "integer", "index": 13, "name": "payable_account_id", "comment": null}, "private_note": {"type": "text", "index": 14, "name": "private_note", "comment": null}, "sales_term_id": {"type": "integer", "index": 15, "name": "sales_term_id", "comment": null}, "sync_token": {"type": "integer", "index": 16, "name": "sync_token", "comment": null}, "total_amount": {"type": "integer", "index": 17, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 18, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 19, "name": "updated_at", "comment": null}, "vendor_id": {"type": "integer", "index": 20, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.bill_data"}, "seed.quickbooks_integration_tests.bill_line_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "bill_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bill_id": {"type": "integer", "index": 1, "name": "bill_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_expense_account_id": {"type": "integer", "index": 4, "name": "account_expense_account_id", "comment": null}, "account_expense_billable_status": {"type": "character varying(100)", "index": 5, "name": "account_expense_billable_status", "comment": null}, "account_expense_class_id": {"type": "integer", "index": 6, "name": "account_expense_class_id", "comment": null}, "account_expense_customer_id": {"type": "integer", "index": 7, "name": "account_expense_customer_id", "comment": null}, "account_expense_tax_amount": {"type": "integer", "index": 8, "name": "account_expense_tax_amount", "comment": null}, "account_expense_tax_code_id": {"type": "text", "index": 9, "name": "account_expense_tax_code_id", "comment": null}, "amount": {"type": "double precision", "index": 10, "name": "amount", "comment": null}, "description": {"type": "text", "index": 11, "name": "description", "comment": null}, "item_expense_billable_status": {"type": "character varying(100)", "index": 12, "name": "item_expense_billable_status", "comment": null}, "item_expense_class_id": {"type": "integer", "index": 13, "name": "item_expense_class_id", "comment": null}, "item_expense_customer_id": {"type": "integer", "index": 14, "name": "item_expense_customer_id", "comment": null}, "item_expense_item_id": {"type": "integer", "index": 15, "name": "item_expense_item_id", "comment": null}, "item_expense_quantity": {"type": "integer", "index": 16, "name": "item_expense_quantity", "comment": null}, "item_expense_tax_code_id": {"type": "integer", "index": 17, "name": "item_expense_tax_code_id", "comment": null}, "item_expense_unit_price": {"type": "integer", "index": 18, "name": "item_expense_unit_price", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.bill_line_data"}, "seed.quickbooks_integration_tests.bill_linked_txn_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "bill_linked_txn_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bill_id": {"type": "integer", "index": 1, "name": "bill_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "bill_payment_id": {"type": "integer", "index": 4, "name": "bill_payment_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.bill_linked_txn_data"}, "seed.quickbooks_integration_tests.bill_payment_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "bill_payment_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "check_bank_account_id": {"type": "integer", "index": 4, "name": "check_bank_account_id", "comment": null}, "check_print_status": {"type": "text", "index": 5, "name": "check_print_status", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 6, "name": "created_at", "comment": null}, "credit_card_account_id": {"type": "integer", "index": 7, "name": "credit_card_account_id", "comment": null}, "currency_id": {"type": "text", "index": 8, "name": "currency_id", "comment": null}, "department_id": {"type": "integer", "index": 9, "name": "department_id", "comment": null}, "doc_number": {"type": "integer", "index": 10, "name": "doc_number", "comment": null}, "exchange_rate": {"type": "integer", "index": 11, "name": "exchange_rate", "comment": null}, "pay_type": {"type": "text", "index": 12, "name": "pay_type", "comment": null}, "payable_account_id": {"type": "integer", "index": 13, "name": "payable_account_id", "comment": null}, "private_note": {"type": "integer", "index": 14, "name": "private_note", "comment": null}, "process_bill_payment": {"type": "integer", "index": 15, "name": "process_bill_payment", "comment": null}, "sync_token": {"type": "integer", "index": 16, "name": "sync_token", "comment": null}, "total_amount": {"type": "integer", "index": 17, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 18, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 19, "name": "updated_at", "comment": null}, "vendor_id": {"type": "integer", "index": 20, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.bill_payment_data"}, "seed.quickbooks_integration_tests.bill_payment_line_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "bill_payment_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bill_payment_id": {"type": "integer", "index": 1, "name": "bill_payment_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "bill_id": {"type": "integer", "index": 5, "name": "bill_id", "comment": null}, "check_id": {"type": "integer", "index": 6, "name": "check_id", "comment": null}, "credit_card_charge_id": {"type": "integer", "index": 7, "name": "credit_card_charge_id", "comment": null}, "credit_card_credit_id": {"type": "integer", "index": 8, "name": "credit_card_credit_id", "comment": null}, "deposit_id": {"type": "integer", "index": 9, "name": "deposit_id", "comment": null}, "expense_id": {"type": "integer", "index": 10, "name": "expense_id", "comment": null}, "journal_entry_id": {"type": "integer", "index": 11, "name": "journal_entry_id", "comment": null}, "linked_bill_payment_id": {"type": "integer", "index": 12, "name": "linked_bill_payment_id", "comment": null}, "vendor_credit_id": {"type": "integer", "index": 13, "name": "vendor_credit_id", "comment": null}, "bill_payment_credit_card_id": {"type": "integer", "index": 14, "name": "bill_payment_credit_card_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.bill_payment_line_data"}, "seed.quickbooks_integration_tests.bundle_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "bundle_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "active": {"type": "boolean", "index": 3, "name": "active", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 4, "name": "created_at", "comment": null}, "description": {"type": "text", "index": 5, "name": "description", "comment": null}, "fully_qualified_name": {"type": "text", "index": 6, "name": "fully_qualified_name", "comment": null}, "name": {"type": "text", "index": 7, "name": "name", "comment": null}, "print_grouped_items": {"type": "boolean", "index": 8, "name": "print_grouped_items", "comment": null}, "purchase_cost": {"type": "integer", "index": 9, "name": "purchase_cost", "comment": null}, "sync_token": {"type": "integer", "index": 10, "name": "sync_token", "comment": null}, "taxable": {"type": "boolean", "index": 11, "name": "taxable", "comment": null}, "unit_price": {"type": "integer", "index": 12, "name": "unit_price", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 13, "name": "updated_at", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 14, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.bundle_data"}, "seed.quickbooks_integration_tests.bundle_item_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "bundle_item_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bundle_id": {"type": "integer", "index": 1, "name": "bundle_id", "comment": null}, "item_id": {"type": "integer", "index": 2, "name": "item_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "item_quantity": {"type": "integer", "index": 4, "name": "item_quantity", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.bundle_item_data"}, "seed.quickbooks_integration_tests.credit_card_payment_txn_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "credit_card_payment_txn_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "amount": {"type": "double precision", "index": 2, "name": "amount", "comment": null}, "bank_account_id": {"type": "integer", "index": 3, "name": "bank_account_id", "comment": null}, "credit_card_account_id": {"type": "integer", "index": 4, "name": "credit_card_account_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 6, "name": "updated_at", "comment": null}, "currency_id": {"type": "text", "index": 7, "name": "currency_id", "comment": null}, "transaction_date": {"type": "date", "index": 8, "name": "transaction_date", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 9, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.credit_card_payment_txn_data"}, "seed.quickbooks_integration_tests.credit_memo_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "credit_memo_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "apply_tax_after_discount": {"type": "boolean", "index": 4, "name": "apply_tax_after_discount", "comment": null}, "balance": {"type": "integer", "index": 5, "name": "balance", "comment": null}, "bill_email": {"type": "text", "index": 6, "name": "bill_email", "comment": null}, "billing_address_id": {"type": "integer", "index": 7, "name": "billing_address_id", "comment": null}, "class_id": {"type": "integer", "index": 8, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 9, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 10, "name": "currency_id", "comment": null}, "custom_p_o_number": {"type": "integer", "index": 11, "name": "custom_p_o_number", "comment": null}, "customer_id": {"type": "integer", "index": 12, "name": "customer_id", "comment": null}, "customer_memo": {"type": "text", "index": 13, "name": "customer_memo", "comment": null}, "department_id": {"type": "integer", "index": 14, "name": "department_id", "comment": null}, "doc_number": {"type": "integer", "index": 15, "name": "doc_number", "comment": null}, "email_status": {"type": "text", "index": 16, "name": "email_status", "comment": null}, "exchange_rate": {"type": "integer", "index": 17, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 18, "name": "global_tax_calculation", "comment": null}, "home_balance": {"type": "integer", "index": 19, "name": "home_balance", "comment": null}, "home_total_amount": {"type": "integer", "index": 20, "name": "home_total_amount", "comment": null}, "payment_method_id": {"type": "integer", "index": 21, "name": "payment_method_id", "comment": null}, "print_status": {"type": "text", "index": 22, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 23, "name": "private_note", "comment": null}, "remaining_credit": {"type": "integer", "index": 24, "name": "remaining_credit", "comment": null}, "sales_term_id": {"type": "integer", "index": 25, "name": "sales_term_id", "comment": null}, "shipping_address_id": {"type": "integer", "index": 26, "name": "shipping_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 27, "name": "sync_token", "comment": null}, "total_amount": {"type": "integer", "index": 28, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 29, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 30, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 31, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.credit_memo_data"}, "seed.quickbooks_integration_tests.credit_memo_line_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "credit_memo_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"credit_memo_id": {"type": "integer", "index": 1, "name": "credit_memo_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "bundle_id": {"type": "integer", "index": 5, "name": "bundle_id", "comment": null}, "bundle_quantity": {"type": "integer", "index": 6, "name": "bundle_quantity", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 8, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 9, "name": "description_tax_code_id", "comment": null}, "discount_account_id": {"type": "integer", "index": 10, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "integer", "index": 11, "name": "discount_class_id", "comment": null}, "discount_discount_percent": {"type": "integer", "index": 12, "name": "discount_discount_percent", "comment": null}, "discount_percent_based": {"type": "integer", "index": 13, "name": "discount_percent_based", "comment": null}, "discount_tax_code_id": {"type": "integer", "index": 14, "name": "discount_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 15, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "integer", "index": 16, "name": "sales_item_class_id", "comment": null}, "sales_item_discount_amount": {"type": "integer", "index": 17, "name": "sales_item_discount_amount", "comment": null}, "sales_item_discount_rate": {"type": "integer", "index": 18, "name": "sales_item_discount_rate", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 19, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "double precision", "index": 20, "name": "sales_item_quantity", "comment": null}, "sales_item_service_date": {"type": "integer", "index": 21, "name": "sales_item_service_date", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 22, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_unit_price": {"type": "double precision", "index": 23, "name": "sales_item_unit_price", "comment": null}, "sub_total_item_id": {"type": "integer", "index": 24, "name": "sub_total_item_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.credit_memo_line_data"}, "seed.quickbooks_integration_tests.customer_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "customer_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "active": {"type": "boolean", "index": 3, "name": "active", "comment": null}, "alternate_phone_number": {"type": "integer", "index": 4, "name": "alternate_phone_number", "comment": null}, "ar_account_id": {"type": "integer", "index": 5, "name": "ar_account_id", "comment": null}, "balance": {"type": "integer", "index": 6, "name": "balance", "comment": null}, "balance_with_jobs": {"type": "integer", "index": 7, "name": "balance_with_jobs", "comment": null}, "bill_address_id": {"type": "integer", "index": 8, "name": "bill_address_id", "comment": null}, "bill_with_parent": {"type": "boolean", "index": 9, "name": "bill_with_parent", "comment": null}, "company_name": {"type": "text", "index": 10, "name": "company_name", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 11, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 12, "name": "currency_id", "comment": null}, "default_tax_code_id": {"type": "integer", "index": 13, "name": "default_tax_code_id", "comment": null}, "display_name": {"type": "text", "index": 14, "name": "display_name", "comment": null}, "email": {"type": "text", "index": 15, "name": "email", "comment": null}, "family_name": {"type": "text", "index": 16, "name": "family_name", "comment": null}, "fax_number": {"type": "integer", "index": 17, "name": "fax_number", "comment": null}, "fully_qualified_name": {"type": "text", "index": 18, "name": "fully_qualified_name", "comment": null}, "given_name": {"type": "text", "index": 19, "name": "given_name", "comment": null}, "job": {"type": "boolean", "index": 20, "name": "job", "comment": null}, "level": {"type": "integer", "index": 21, "name": "level", "comment": null}, "middle_name": {"type": "integer", "index": 22, "name": "middle_name", "comment": null}, "mobile_number": {"type": "integer", "index": 23, "name": "mobile_number", "comment": null}, "notes": {"type": "integer", "index": 24, "name": "notes", "comment": null}, "open_balance_date": {"type": "integer", "index": 25, "name": "open_balance_date", "comment": null}, "parent_customer_id": {"type": "integer", "index": 26, "name": "parent_customer_id", "comment": null}, "payment_method_id": {"type": "integer", "index": 27, "name": "payment_method_id", "comment": null}, "phone_number": {"type": "integer", "index": 28, "name": "phone_number", "comment": null}, "preferred_delivery_method": {"type": "text", "index": 29, "name": "preferred_delivery_method", "comment": null}, "print_on_check_name": {"type": "text", "index": 30, "name": "print_on_check_name", "comment": null}, "resale_number": {"type": "integer", "index": 31, "name": "resale_number", "comment": null}, "sales_term_id": {"type": "integer", "index": 32, "name": "sales_term_id", "comment": null}, "shipping_address_id": {"type": "integer", "index": 33, "name": "shipping_address_id", "comment": null}, "suffix": {"type": "integer", "index": 34, "name": "suffix", "comment": null}, "sync_token": {"type": "integer", "index": 35, "name": "sync_token", "comment": null}, "tax_exemption_reason_id": {"type": "integer", "index": 36, "name": "tax_exemption_reason_id", "comment": null}, "taxable": {"type": "boolean", "index": 37, "name": "taxable", "comment": null}, "title": {"type": "integer", "index": 38, "name": "title", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 39, "name": "updated_at", "comment": null}, "website": {"type": "integer", "index": 40, "name": "website", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 41, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.customer_data"}, "seed.quickbooks_integration_tests.department_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "department_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "active": {"type": "boolean", "index": 3, "name": "active", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 4, "name": "created_at", "comment": null}, "fully_qualified_name": {"type": "text", "index": 5, "name": "fully_qualified_name", "comment": null}, "name": {"type": "text", "index": 6, "name": "name", "comment": null}, "parent_department_id": {"type": "integer", "index": 7, "name": "parent_department_id", "comment": null}, "sub_department": {"type": "boolean", "index": 8, "name": "sub_department", "comment": null}, "sync_token": {"type": "integer", "index": 9, "name": "sync_token", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 10, "name": "updated_at", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 11, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.department_data"}, "seed.quickbooks_integration_tests.deposit_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "deposit_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_id": {"type": "integer", "index": 4, "name": "account_id", "comment": null}, "cash_back_account_id": {"type": "integer", "index": 5, "name": "cash_back_account_id", "comment": null}, "cash_back_amount": {"type": "integer", "index": 6, "name": "cash_back_amount", "comment": null}, "cash_back_memo": {"type": "integer", "index": 7, "name": "cash_back_memo", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 8, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 9, "name": "currency_id", "comment": null}, "department_id": {"type": "integer", "index": 10, "name": "department_id", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 11, "name": "global_tax_calculation", "comment": null}, "home_total_amount": {"type": "integer", "index": 12, "name": "home_total_amount", "comment": null}, "private_note": {"type": "text", "index": 13, "name": "private_note", "comment": null}, "sync_token": {"type": "integer", "index": 14, "name": "sync_token", "comment": null}, "total_amount": {"type": "integer", "index": 15, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 16, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 17, "name": "transaction_source", "comment": null}, "transaction_status": {"type": "integer", "index": 18, "name": "transaction_status", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 19, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.deposit_data"}, "seed.quickbooks_integration_tests.deposit_line_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "deposit_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"deposit_id": {"type": "integer", "index": 1, "name": "deposit_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "deposit_account_id": {"type": "bigint", "index": 5, "name": "deposit_account_id", "comment": null}, "deposit_check_number": {"type": "integer", "index": 6, "name": "deposit_check_number", "comment": null}, "deposit_class_id": {"type": "bigint", "index": 7, "name": "deposit_class_id", "comment": null}, "deposit_customer_id": {"type": "integer", "index": 8, "name": "deposit_customer_id", "comment": null}, "deposit_payment_method_id": {"type": "integer", "index": 9, "name": "deposit_payment_method_id", "comment": null}, "deposit_tax_applicable_on": {"type": "integer", "index": 10, "name": "deposit_tax_applicable_on", "comment": null}, "deposit_tax_code_id": {"type": "integer", "index": 11, "name": "deposit_tax_code_id", "comment": null}, "deposit_transaction_type": {"type": "integer", "index": 12, "name": "deposit_transaction_type", "comment": null}, "description": {"type": "text", "index": 13, "name": "description", "comment": null}, "detail_type": {"type": "text", "index": 14, "name": "detail_type", "comment": null}, "expense_id": {"type": "integer", "index": 15, "name": "expense_id", "comment": null}, "invoice_id": {"type": "integer", "index": 16, "name": "invoice_id", "comment": null}, "journal_entry_id": {"type": "integer", "index": 17, "name": "journal_entry_id", "comment": null}, "payment_id": {"type": "integer", "index": 18, "name": "payment_id", "comment": null}, "purchase_id": {"type": "integer", "index": 19, "name": "purchase_id", "comment": null}, "refund_receipt_id": {"type": "integer", "index": 20, "name": "refund_receipt_id", "comment": null}, "sales_receipt_id": {"type": "integer", "index": 21, "name": "sales_receipt_id", "comment": null}, "transfer_id": {"type": "integer", "index": 22, "name": "transfer_id", "comment": null}, "bill_id": {"type": "integer", "index": 23, "name": "bill_id", "comment": null}, "vendor_credit_id": {"type": "integer", "index": 24, "name": "vendor_credit_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.deposit_line_data"}, "seed.quickbooks_integration_tests.estimate_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "estimate_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "accepted_by": {"type": "integer", "index": 4, "name": "accepted_by", "comment": null}, "accepted_date": {"type": "integer", "index": 5, "name": "accepted_date", "comment": null}, "apply_tax_after_discount": {"type": "boolean", "index": 6, "name": "apply_tax_after_discount", "comment": null}, "bill_email": {"type": "text", "index": 7, "name": "bill_email", "comment": null}, "billing_address_id": {"type": "integer", "index": 8, "name": "billing_address_id", "comment": null}, "class_id": {"type": "integer", "index": 9, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 10, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 11, "name": "currency_id", "comment": null}, "custom_p_o_number": {"type": "integer", "index": 12, "name": "custom_p_o_number", "comment": null}, "custom_sales_rep": {"type": "integer", "index": 13, "name": "custom_sales_rep", "comment": null}, "customer_id": {"type": "integer", "index": 14, "name": "customer_id", "comment": null}, "customer_memo": {"type": "text", "index": 15, "name": "customer_memo", "comment": null}, "delivery_type": {"type": "integer", "index": 16, "name": "delivery_type", "comment": null}, "department_id": {"type": "integer", "index": 17, "name": "department_id", "comment": null}, "doc_number": {"type": "integer", "index": 18, "name": "doc_number", "comment": null}, "due_date": {"type": "date", "index": 19, "name": "due_date", "comment": null}, "email_status": {"type": "text", "index": 20, "name": "email_status", "comment": null}, "exchange_rate": {"type": "integer", "index": 21, "name": "exchange_rate", "comment": null}, "expiration_date": {"type": "integer", "index": 22, "name": "expiration_date", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 23, "name": "global_tax_calculation", "comment": null}, "home_total_amount": {"type": "integer", "index": 24, "name": "home_total_amount", "comment": null}, "print_status": {"type": "text", "index": 25, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 26, "name": "private_note", "comment": null}, "sales_term_id": {"type": "integer", "index": 27, "name": "sales_term_id", "comment": null}, "ship_date": {"type": "integer", "index": 28, "name": "ship_date", "comment": null}, "shipping_address_id": {"type": "integer", "index": 29, "name": "shipping_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 30, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 31, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "double precision", "index": 32, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 33, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 34, "name": "transaction_date", "comment": null}, "transaction_status": {"type": "text", "index": 35, "name": "transaction_status", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 36, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.estimate_data"}, "seed.quickbooks_integration_tests.estimate_line_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "estimate_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"estimate_id": {"type": "integer", "index": 1, "name": "estimate_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "bundle_id": {"type": "integer", "index": 5, "name": "bundle_id", "comment": null}, "bundle_quantity": {"type": "integer", "index": 6, "name": "bundle_quantity", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 8, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 9, "name": "description_tax_code_id", "comment": null}, "discount_account_id": {"type": "integer", "index": 10, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "integer", "index": 11, "name": "discount_class_id", "comment": null}, "discount_discount_percent": {"type": "integer", "index": 12, "name": "discount_discount_percent", "comment": null}, "discount_percent_based": {"type": "integer", "index": 13, "name": "discount_percent_based", "comment": null}, "discount_tax_code_id": {"type": "integer", "index": 14, "name": "discount_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 15, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "integer", "index": 16, "name": "sales_item_class_id", "comment": null}, "sales_item_discount_amount": {"type": "integer", "index": 17, "name": "sales_item_discount_amount", "comment": null}, "sales_item_discount_rate": {"type": "integer", "index": 18, "name": "sales_item_discount_rate", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 19, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "integer", "index": 20, "name": "sales_item_quantity", "comment": null}, "sales_item_service_date": {"type": "integer", "index": 21, "name": "sales_item_service_date", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 22, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_unit_price": {"type": "integer", "index": 23, "name": "sales_item_unit_price", "comment": null}, "sub_total_item_id": {"type": "integer", "index": 24, "name": "sub_total_item_id", "comment": null}, "item_id": {"type": "integer", "index": 25, "name": "item_id", "comment": null}, "quantity": {"type": "integer", "index": 26, "name": "quantity", "comment": null}, "tax_code_id": {"type": "integer", "index": 27, "name": "tax_code_id", "comment": null}, "account_id": {"type": "integer", "index": 28, "name": "account_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.estimate_line_data"}, "seed.quickbooks_integration_tests.invoice_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "invoice_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "allow_ipnpayment": {"type": "boolean", "index": 4, "name": "allow_ipnpayment", "comment": null}, "allow_online_achpayment": {"type": "boolean", "index": 5, "name": "allow_online_achpayment", "comment": null}, "allow_online_credit_card_payment": {"type": "boolean", "index": 6, "name": "allow_online_credit_card_payment", "comment": null}, "allow_online_payment": {"type": "boolean", "index": 7, "name": "allow_online_payment", "comment": null}, "apply_tax_after_discount": {"type": "boolean", "index": 8, "name": "apply_tax_after_discount", "comment": null}, "balance": {"type": "integer", "index": 9, "name": "balance", "comment": null}, "billing_address_id": {"type": "integer", "index": 10, "name": "billing_address_id", "comment": null}, "billing_bcc_email": {"type": "text", "index": 11, "name": "billing_bcc_email", "comment": null}, "billing_cc_email": {"type": "integer", "index": 12, "name": "billing_cc_email", "comment": null}, "billing_email": {"type": "text", "index": 13, "name": "billing_email", "comment": null}, "class_id": {"type": "integer", "index": 14, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 15, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 16, "name": "currency_id", "comment": null}, "custom_p_o_number": {"type": "integer", "index": 17, "name": "custom_p_o_number", "comment": null}, "custom_sales_rep": {"type": "integer", "index": 18, "name": "custom_sales_rep", "comment": null}, "customer_id": {"type": "integer", "index": 19, "name": "customer_id", "comment": null}, "customer_memo": {"type": "text", "index": 20, "name": "customer_memo", "comment": null}, "delivery_time": {"type": "timestamp without time zone", "index": 21, "name": "delivery_time", "comment": null}, "delivery_type": {"type": "text", "index": 22, "name": "delivery_type", "comment": null}, "department_id": {"type": "integer", "index": 23, "name": "department_id", "comment": null}, "deposit": {"type": "integer", "index": 24, "name": "deposit", "comment": null}, "deposit_to_account_id": {"type": "integer", "index": 25, "name": "deposit_to_account_id", "comment": null}, "doc_number": {"type": "integer", "index": 26, "name": "doc_number", "comment": null}, "due_date": {"type": "date", "index": 27, "name": "due_date", "comment": null}, "email_status": {"type": "text", "index": 28, "name": "email_status", "comment": null}, "exchange_rate": {"type": "integer", "index": 29, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 30, "name": "global_tax_calculation", "comment": null}, "home_balance": {"type": "integer", "index": 31, "name": "home_balance", "comment": null}, "home_total_amount": {"type": "integer", "index": 32, "name": "home_total_amount", "comment": null}, "print_status": {"type": "text", "index": 33, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 34, "name": "private_note", "comment": null}, "sales_term_id": {"type": "integer", "index": 35, "name": "sales_term_id", "comment": null}, "ship_date": {"type": "integer", "index": 36, "name": "ship_date", "comment": null}, "shipping_address_id": {"type": "integer", "index": 37, "name": "shipping_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 38, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 39, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "integer", "index": 40, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 41, "name": "total_tax", "comment": null}, "tracking_number": {"type": "integer", "index": 42, "name": "tracking_number", "comment": null}, "transaction_date": {"type": "date", "index": 43, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 44, "name": "transaction_source", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 45, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.invoice_data"}, "seed.quickbooks_integration_tests.invoice_line_bundle_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "invoice_line_bundle_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "invoice_id": {"type": "integer", "index": 2, "name": "invoice_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_id": {"type": "integer", "index": 4, "name": "account_id", "comment": null}, "amount": {"type": "double precision", "index": 5, "name": "amount", "comment": null}, "class_id": {"type": "integer", "index": 6, "name": "class_id", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "discount_amount": {"type": "integer", "index": 8, "name": "discount_amount", "comment": null}, "discount_rate": {"type": "integer", "index": 9, "name": "discount_rate", "comment": null}, "invoice_line_index": {"type": "integer", "index": 10, "name": "invoice_line_index", "comment": null}, "item_id": {"type": "integer", "index": 11, "name": "item_id", "comment": null}, "line_num": {"type": "integer", "index": 12, "name": "line_num", "comment": null}, "quantity": {"type": "double precision", "index": 13, "name": "quantity", "comment": null}, "service_date": {"type": "integer", "index": 14, "name": "service_date", "comment": null}, "tax_code_id": {"type": "text", "index": 15, "name": "tax_code_id", "comment": null}, "unit_price": {"type": "integer", "index": 16, "name": "unit_price", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 17, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "integer", "index": 18, "name": "sales_item_quantity", "comment": null}, "sales_item_tax_code_id": {"type": "integer", "index": 19, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 20, "name": "sales_item_account_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.invoice_line_bundle_data"}, "seed.quickbooks_integration_tests.invoice_line_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "invoice_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "invoice_id": {"type": "integer", "index": 2, "name": "invoice_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "double precision", "index": 4, "name": "amount", "comment": null}, "bundle_id": {"type": "integer", "index": 5, "name": "bundle_id", "comment": null}, "bundle_quantity": {"type": "double precision", "index": 6, "name": "bundle_quantity", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 8, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 9, "name": "description_tax_code_id", "comment": null}, "discount_account_id": {"type": "integer", "index": 10, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "integer", "index": 11, "name": "discount_class_id", "comment": null}, "discount_discount_percent": {"type": "integer", "index": 12, "name": "discount_discount_percent", "comment": null}, "discount_percent_based": {"type": "integer", "index": 13, "name": "discount_percent_based", "comment": null}, "discount_tax_code_id": {"type": "integer", "index": 14, "name": "discount_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 15, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "integer", "index": 16, "name": "sales_item_class_id", "comment": null}, "sales_item_discount_amount": {"type": "integer", "index": 17, "name": "sales_item_discount_amount", "comment": null}, "sales_item_discount_rate": {"type": "integer", "index": 18, "name": "sales_item_discount_rate", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 19, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "double precision", "index": 20, "name": "sales_item_quantity", "comment": null}, "sales_item_service_date": {"type": "integer", "index": 21, "name": "sales_item_service_date", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 22, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_unit_price": {"type": "integer", "index": 23, "name": "sales_item_unit_price", "comment": null}, "sub_total_item_id": {"type": "integer", "index": 24, "name": "sub_total_item_id", "comment": null}, "item_id": {"type": "integer", "index": 25, "name": "item_id", "comment": null}, "quantity": {"type": "integer", "index": 26, "name": "quantity", "comment": null}, "tax_code_id": {"type": "integer", "index": 27, "name": "tax_code_id", "comment": null}, "account_id": {"type": "integer", "index": 28, "name": "account_id", "comment": null}, "detail_type": {"type": "text", "index": 29, "name": "detail_type", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.invoice_line_data"}, "seed.quickbooks_integration_tests.invoice_linked_txn_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "invoice_linked_txn_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "invoice_id": {"type": "integer", "index": 2, "name": "invoice_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "charge_credit_id": {"type": "integer", "index": 4, "name": "charge_credit_id", "comment": null}, "estimate_id": {"type": "integer", "index": 5, "name": "estimate_id", "comment": null}, "payment_id": {"type": "integer", "index": 6, "name": "payment_id", "comment": null}, "reimburse_charge_id": {"type": "integer", "index": 7, "name": "reimburse_charge_id", "comment": null}, "statement_charge_id": {"type": "integer", "index": 8, "name": "statement_charge_id", "comment": null}, "time_activity_id": {"type": "integer", "index": 9, "name": "time_activity_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.invoice_linked_txn_data"}, "seed.quickbooks_integration_tests.item_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "item_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "active": {"type": "boolean", "index": 3, "name": "active", "comment": null}, "asset_account_id": {"type": "integer", "index": 4, "name": "asset_account_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "description": {"type": "integer", "index": 6, "name": "description", "comment": null}, "expense_account_id": {"type": "integer", "index": 7, "name": "expense_account_id", "comment": null}, "fully_qualified_name": {"type": "text", "index": 8, "name": "fully_qualified_name", "comment": null}, "income_account_id": {"type": "integer", "index": 9, "name": "income_account_id", "comment": null}, "inventory_start_date": {"type": "integer", "index": 10, "name": "inventory_start_date", "comment": null}, "level": {"type": "integer", "index": 11, "name": "level", "comment": null}, "name": {"type": "text", "index": 12, "name": "name", "comment": null}, "parent_item_id": {"type": "integer", "index": 13, "name": "parent_item_id", "comment": null}, "purchase_cost": {"type": "integer", "index": 14, "name": "purchase_cost", "comment": null}, "purchase_description": {"type": "integer", "index": 15, "name": "purchase_description", "comment": null}, "purchase_tax_code_id": {"type": "integer", "index": 16, "name": "purchase_tax_code_id", "comment": null}, "purchase_tax_included": {"type": "integer", "index": 17, "name": "purchase_tax_included", "comment": null}, "quantity_on_hand": {"type": "integer", "index": 18, "name": "quantity_on_hand", "comment": null}, "sales_tax_code_id": {"type": "integer", "index": 19, "name": "sales_tax_code_id", "comment": null}, "sales_tax_included": {"type": "integer", "index": 20, "name": "sales_tax_included", "comment": null}, "stock_keeping_unit": {"type": "integer", "index": 21, "name": "stock_keeping_unit", "comment": null}, "sub_item": {"type": "integer", "index": 22, "name": "sub_item", "comment": null}, "sync_token": {"type": "integer", "index": 23, "name": "sync_token", "comment": null}, "taxable": {"type": "boolean", "index": 24, "name": "taxable", "comment": null}, "track_quantity_on_hand": {"type": "boolean", "index": 25, "name": "track_quantity_on_hand", "comment": null}, "type": {"type": "text", "index": 26, "name": "type", "comment": null}, "unit_price": {"type": "integer", "index": 27, "name": "unit_price", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 28, "name": "updated_at", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 29, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.item_data"}, "seed.quickbooks_integration_tests.journal_entry_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "journal_entry_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "adjustment": {"type": "boolean", "index": 4, "name": "adjustment", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 6, "name": "currency_id", "comment": null}, "doc_number": {"type": "text", "index": 7, "name": "doc_number", "comment": null}, "exchange_rate": {"type": "integer", "index": 8, "name": "exchange_rate", "comment": null}, "home_total_amount": {"type": "integer", "index": 9, "name": "home_total_amount", "comment": null}, "private_note": {"type": "text", "index": 10, "name": "private_note", "comment": null}, "sync_token": {"type": "integer", "index": 11, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 12, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "integer", "index": 13, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 14, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 15, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 16, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.journal_entry_data"}, "seed.quickbooks_integration_tests.journal_entry_line_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "journal_entry_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "journal_entry_id": {"type": "integer", "index": 2, "name": "journal_entry_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_id": {"type": "integer", "index": 4, "name": "account_id", "comment": null}, "amount": {"type": "integer", "index": 5, "name": "amount", "comment": null}, "billable_status": {"type": "integer", "index": 6, "name": "billable_status", "comment": null}, "class_id": {"type": "integer", "index": 7, "name": "class_id", "comment": null}, "customer_id": {"type": "integer", "index": 8, "name": "customer_id", "comment": null}, "department_id": {"type": "integer", "index": 9, "name": "department_id", "comment": null}, "description": {"type": "text", "index": 10, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 11, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 12, "name": "description_tax_code_id", "comment": null}, "employee_id": {"type": "integer", "index": 13, "name": "employee_id", "comment": null}, "posting_type": {"type": "text", "index": 14, "name": "posting_type", "comment": null}, "tax_amount": {"type": "integer", "index": 15, "name": "tax_amount", "comment": null}, "tax_applicable_on": {"type": "integer", "index": 16, "name": "tax_applicable_on", "comment": null}, "tax_code_id": {"type": "integer", "index": 17, "name": "tax_code_id", "comment": null}, "vendor_id": {"type": "integer", "index": 18, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.journal_entry_line_data"}, "seed.quickbooks_integration_tests.payment_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "payment_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 4, "name": "created_at", "comment": null}, "credit_card_amount": {"type": "integer", "index": 5, "name": "credit_card_amount", "comment": null}, "credit_card_auth_code": {"type": "integer", "index": 6, "name": "credit_card_auth_code", "comment": null}, "credit_card_billing_address_street": {"type": "integer", "index": 7, "name": "credit_card_billing_address_street", "comment": null}, "credit_card_cc_expiry_month": {"type": "integer", "index": 8, "name": "credit_card_cc_expiry_month", "comment": null}, "credit_card_cc_expiry_year": {"type": "integer", "index": 9, "name": "credit_card_cc_expiry_year", "comment": null}, "credit_card_cctrans_id": {"type": "integer", "index": 10, "name": "credit_card_cctrans_id", "comment": null}, "credit_card_name_on_account": {"type": "integer", "index": 11, "name": "credit_card_name_on_account", "comment": null}, "credit_card_postal_code": {"type": "integer", "index": 12, "name": "credit_card_postal_code", "comment": null}, "credit_card_process_payment": {"type": "integer", "index": 13, "name": "credit_card_process_payment", "comment": null}, "credit_card_status": {"type": "integer", "index": 14, "name": "credit_card_status", "comment": null}, "credit_card_transaction_authorization_time": {"type": "integer", "index": 15, "name": "credit_card_transaction_authorization_time", "comment": null}, "credit_card_type": {"type": "integer", "index": 16, "name": "credit_card_type", "comment": null}, "currency_id": {"type": "text", "index": 17, "name": "currency_id", "comment": null}, "customer_id": {"type": "integer", "index": 18, "name": "customer_id", "comment": null}, "deposit_to_account_id": {"type": "integer", "index": 19, "name": "deposit_to_account_id", "comment": null}, "exchange_rate": {"type": "integer", "index": 20, "name": "exchange_rate", "comment": null}, "payment_method_id": {"type": "integer", "index": 21, "name": "payment_method_id", "comment": null}, "private_note": {"type": "text", "index": 22, "name": "private_note", "comment": null}, "process_payment": {"type": "boolean", "index": 23, "name": "process_payment", "comment": null}, "receivable_account_id": {"type": "integer", "index": 24, "name": "receivable_account_id", "comment": null}, "reference_number": {"type": "integer", "index": 25, "name": "reference_number", "comment": null}, "sync_token": {"type": "integer", "index": 26, "name": "sync_token", "comment": null}, "total_amount": {"type": "double precision", "index": 27, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 28, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 29, "name": "transaction_source", "comment": null}, "transaction_status": {"type": "integer", "index": 30, "name": "transaction_status", "comment": null}, "unapplied_amount": {"type": "integer", "index": 31, "name": "unapplied_amount", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 32, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.payment_data"}, "seed.quickbooks_integration_tests.payment_line_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "payment_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "payment_id": {"type": "integer", "index": 2, "name": "payment_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "double precision", "index": 4, "name": "amount", "comment": null}, "check_id": {"type": "integer", "index": 5, "name": "check_id", "comment": null}, "credit_card_charge_id": {"type": "integer", "index": 6, "name": "credit_card_charge_id", "comment": null}, "credit_card_credit_id": {"type": "integer", "index": 7, "name": "credit_card_credit_id", "comment": null}, "credit_memo_id": {"type": "integer", "index": 8, "name": "credit_memo_id", "comment": null}, "deposit_id": {"type": "integer", "index": 9, "name": "deposit_id", "comment": null}, "expense_id": {"type": "integer", "index": 10, "name": "expense_id", "comment": null}, "invoice_id": {"type": "integer", "index": 11, "name": "invoice_id", "comment": null}, "journal_entry_id": {"type": "integer", "index": 12, "name": "journal_entry_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.payment_line_data"}, "seed.quickbooks_integration_tests.purchase_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "purchase_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_id": {"type": "integer", "index": 4, "name": "account_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "credit": {"type": "boolean", "index": 6, "name": "credit", "comment": null}, "currency_id": {"type": "text", "index": 7, "name": "currency_id", "comment": null}, "customer_id": {"type": "integer", "index": 8, "name": "customer_id", "comment": null}, "department_id": {"type": "integer", "index": 9, "name": "department_id", "comment": null}, "doc_number": {"type": "integer", "index": 10, "name": "doc_number", "comment": null}, "employee_id": {"type": "integer", "index": 11, "name": "employee_id", "comment": null}, "exchange_rate": {"type": "integer", "index": 12, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 13, "name": "global_tax_calculation", "comment": null}, "payment_method_id": {"type": "integer", "index": 14, "name": "payment_method_id", "comment": null}, "payment_type": {"type": "text", "index": 15, "name": "payment_type", "comment": null}, "print_status": {"type": "integer", "index": 16, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 17, "name": "private_note", "comment": null}, "remit_to_address_id": {"type": "integer", "index": 18, "name": "remit_to_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 19, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 20, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "integer", "index": 21, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 22, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 23, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 24, "name": "transaction_source", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 25, "name": "updated_at", "comment": null}, "vendor_id": {"type": "integer", "index": 26, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.purchase_data"}, "seed.quickbooks_integration_tests.purchase_line_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "purchase_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "purchase_id": {"type": "integer", "index": 2, "name": "purchase_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_expense_account_id": {"type": "bigint", "index": 4, "name": "account_expense_account_id", "comment": null}, "account_expense_billable_status": {"type": "text", "index": 5, "name": "account_expense_billable_status", "comment": null}, "account_expense_class_id": {"type": "integer", "index": 6, "name": "account_expense_class_id", "comment": null}, "account_expense_customer_id": {"type": "integer", "index": 7, "name": "account_expense_customer_id", "comment": null}, "account_expense_tax_amount": {"type": "integer", "index": 8, "name": "account_expense_tax_amount", "comment": null}, "account_expense_tax_code_id": {"type": "text", "index": 9, "name": "account_expense_tax_code_id", "comment": null}, "amount": {"type": "integer", "index": 10, "name": "amount", "comment": null}, "description": {"type": "text", "index": 11, "name": "description", "comment": null}, "item_expense_billable_status": {"type": "character varying(100)", "index": 12, "name": "item_expense_billable_status", "comment": null}, "item_expense_class_id": {"type": "integer", "index": 13, "name": "item_expense_class_id", "comment": null}, "item_expense_customer_id": {"type": "integer", "index": 14, "name": "item_expense_customer_id", "comment": null}, "item_expense_item_id": {"type": "integer", "index": 15, "name": "item_expense_item_id", "comment": null}, "item_expense_quantity": {"type": "integer", "index": 16, "name": "item_expense_quantity", "comment": null}, "item_expense_tax_code_id": {"type": "integer", "index": 17, "name": "item_expense_tax_code_id", "comment": null}, "item_expense_unit_price": {"type": "integer", "index": 18, "name": "item_expense_unit_price", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.purchase_line_data"}, "seed.quickbooks_integration_tests.purchase_order_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "purchase_order_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "class_id": {"type": "integer", "index": 4, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 6, "name": "currency_id", "comment": null}, "custom_customer_type": {"type": "text", "index": 7, "name": "custom_customer_type", "comment": null}, "custom_p_o_number": {"type": "integer", "index": 8, "name": "custom_p_o_number", "comment": null}, "doc_number": {"type": "integer", "index": 9, "name": "doc_number", "comment": null}, "due_date": {"type": "date", "index": 10, "name": "due_date", "comment": null}, "exchange_rate": {"type": "integer", "index": 11, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 12, "name": "global_tax_calculation", "comment": null}, "memo": {"type": "text", "index": 13, "name": "memo", "comment": null}, "payable_account_id": {"type": "integer", "index": 14, "name": "payable_account_id", "comment": null}, "private_note": {"type": "text", "index": 15, "name": "private_note", "comment": null}, "sales_term_id": {"type": "integer", "index": 16, "name": "sales_term_id", "comment": null}, "shipping_address_id": {"type": "integer", "index": 17, "name": "shipping_address_id", "comment": null}, "status": {"type": "text", "index": 18, "name": "status", "comment": null}, "sync_token": {"type": "integer", "index": 19, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 20, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "double precision", "index": 21, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 22, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 23, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 24, "name": "updated_at", "comment": null}, "vendor_address_id": {"type": "integer", "index": 25, "name": "vendor_address_id", "comment": null}, "vendor_id": {"type": "integer", "index": 26, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.purchase_order_data"}, "seed.quickbooks_integration_tests.purchase_order_line_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "purchase_order_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "purchase_order_id": {"type": "integer", "index": 2, "name": "purchase_order_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_expense_account_id": {"type": "integer", "index": 4, "name": "account_expense_account_id", "comment": null}, "account_expense_billable_status": {"type": "integer", "index": 5, "name": "account_expense_billable_status", "comment": null}, "account_expense_class_id": {"type": "integer", "index": 6, "name": "account_expense_class_id", "comment": null}, "account_expense_customer_id": {"type": "integer", "index": 7, "name": "account_expense_customer_id", "comment": null}, "account_expense_tax_amount": {"type": "integer", "index": 8, "name": "account_expense_tax_amount", "comment": null}, "account_expense_tax_code_id": {"type": "integer", "index": 9, "name": "account_expense_tax_code_id", "comment": null}, "amount": {"type": "double precision", "index": 10, "name": "amount", "comment": null}, "description": {"type": "text", "index": 11, "name": "description", "comment": null}, "item_expense_billable_status": {"type": "text", "index": 12, "name": "item_expense_billable_status", "comment": null}, "item_expense_class_id": {"type": "integer", "index": 13, "name": "item_expense_class_id", "comment": null}, "item_expense_customer_id": {"type": "integer", "index": 14, "name": "item_expense_customer_id", "comment": null}, "item_expense_item_id": {"type": "integer", "index": 15, "name": "item_expense_item_id", "comment": null}, "item_expense_quantity": {"type": "integer", "index": 16, "name": "item_expense_quantity", "comment": null}, "item_expense_tax_code_id": {"type": "text", "index": 17, "name": "item_expense_tax_code_id", "comment": null}, "item_expense_unit_price": {"type": "double precision", "index": 18, "name": "item_expense_unit_price", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.purchase_order_line_data"}, "seed.quickbooks_integration_tests.purchase_order_linked_txn_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "purchase_order_linked_txn_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "purchase_order_id": {"type": "integer", "index": 2, "name": "purchase_order_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "bill_id": {"type": "integer", "index": 4, "name": "bill_id", "comment": null}, "purchase_id": {"type": "integer", "index": 5, "name": "purchase_id", "comment": null}, "vendor_credit_id": {"type": "integer", "index": 6, "name": "vendor_credit_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.purchase_order_linked_txn_data"}, "seed.quickbooks_integration_tests.refund_receipt_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "refund_receipt_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "apply_tax_after_discount": {"type": "integer", "index": 4, "name": "apply_tax_after_discount", "comment": null}, "balance": {"type": "integer", "index": 5, "name": "balance", "comment": null}, "bill_email": {"type": "text", "index": 6, "name": "bill_email", "comment": null}, "billing_address_id": {"type": "integer", "index": 7, "name": "billing_address_id", "comment": null}, "check_payment_account_number": {"type": "integer", "index": 8, "name": "check_payment_account_number", "comment": null}, "check_payment_bank_name": {"type": "integer", "index": 9, "name": "check_payment_bank_name", "comment": null}, "check_payment_check_number": {"type": "integer", "index": 10, "name": "check_payment_check_number", "comment": null}, "check_payment_name_on_account": {"type": "integer", "index": 11, "name": "check_payment_name_on_account", "comment": null}, "check_payment_status": {"type": "integer", "index": 12, "name": "check_payment_status", "comment": null}, "class_id": {"type": "integer", "index": 13, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 14, "name": "created_at", "comment": null}, "credit_card_amount": {"type": "integer", "index": 15, "name": "credit_card_amount", "comment": null}, "credit_card_auth_code": {"type": "integer", "index": 16, "name": "credit_card_auth_code", "comment": null}, "credit_card_billing_address_street": {"type": "integer", "index": 17, "name": "credit_card_billing_address_street", "comment": null}, "credit_card_cc_expiry_month": {"type": "integer", "index": 18, "name": "credit_card_cc_expiry_month", "comment": null}, "credit_card_cc_expiry_year": {"type": "integer", "index": 19, "name": "credit_card_cc_expiry_year", "comment": null}, "credit_card_cctrans_id": {"type": "integer", "index": 20, "name": "credit_card_cctrans_id", "comment": null}, "credit_card_name_on_account": {"type": "integer", "index": 21, "name": "credit_card_name_on_account", "comment": null}, "credit_card_postal_code": {"type": "integer", "index": 22, "name": "credit_card_postal_code", "comment": null}, "credit_card_process_payment": {"type": "integer", "index": 23, "name": "credit_card_process_payment", "comment": null}, "credit_card_status": {"type": "integer", "index": 24, "name": "credit_card_status", "comment": null}, "credit_card_transaction_authorization_time": {"type": "integer", "index": 25, "name": "credit_card_transaction_authorization_time", "comment": null}, "credit_card_type": {"type": "integer", "index": 26, "name": "credit_card_type", "comment": null}, "currency_id": {"type": "text", "index": 27, "name": "currency_id", "comment": null}, "customer_id": {"type": "integer", "index": 28, "name": "customer_id", "comment": null}, "customer_memo": {"type": "text", "index": 29, "name": "customer_memo", "comment": null}, "department_id": {"type": "integer", "index": 30, "name": "department_id", "comment": null}, "deposit_to_account_id": {"type": "integer", "index": 31, "name": "deposit_to_account_id", "comment": null}, "doc_number": {"type": "integer", "index": 32, "name": "doc_number", "comment": null}, "exchange_rate": {"type": "integer", "index": 33, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 34, "name": "global_tax_calculation", "comment": null}, "home_balance": {"type": "integer", "index": 35, "name": "home_balance", "comment": null}, "home_total_amount": {"type": "integer", "index": 36, "name": "home_total_amount", "comment": null}, "payment_method_id": {"type": "integer", "index": 37, "name": "payment_method_id", "comment": null}, "payment_reference_number": {"type": "integer", "index": 38, "name": "payment_reference_number", "comment": null}, "payment_type": {"type": "integer", "index": 39, "name": "payment_type", "comment": null}, "print_status": {"type": "integer", "index": 40, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 41, "name": "private_note", "comment": null}, "shipping_address_id": {"type": "integer", "index": 42, "name": "shipping_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 43, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 44, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "integer", "index": 45, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 46, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 47, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 48, "name": "transaction_source", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 49, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.refund_receipt_data"}, "seed.quickbooks_integration_tests.refund_receipt_line_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "refund_receipt_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "refund_id": {"type": "integer", "index": 2, "name": "refund_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "bundle_id": {"type": "integer", "index": 5, "name": "bundle_id", "comment": null}, "bundle_quantity": {"type": "integer", "index": 6, "name": "bundle_quantity", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 8, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 9, "name": "description_tax_code_id", "comment": null}, "discount_account_id": {"type": "integer", "index": 10, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "integer", "index": 11, "name": "discount_class_id", "comment": null}, "discount_discount_percent": {"type": "integer", "index": 12, "name": "discount_discount_percent", "comment": null}, "discount_percent_based": {"type": "integer", "index": 13, "name": "discount_percent_based", "comment": null}, "discount_tax_code_id": {"type": "integer", "index": 14, "name": "discount_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 15, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "integer", "index": 16, "name": "sales_item_class_id", "comment": null}, "sales_item_discount_amount": {"type": "integer", "index": 17, "name": "sales_item_discount_amount", "comment": null}, "sales_item_discount_rate": {"type": "integer", "index": 18, "name": "sales_item_discount_rate", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 19, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "integer", "index": 20, "name": "sales_item_quantity", "comment": null}, "sales_item_service_date": {"type": "integer", "index": 21, "name": "sales_item_service_date", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 22, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_unit_price": {"type": "integer", "index": 23, "name": "sales_item_unit_price", "comment": null}, "sub_total_item_id": {"type": "integer", "index": 24, "name": "sub_total_item_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.refund_receipt_line_data"}, "seed.quickbooks_integration_tests.sales_receipt_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "sales_receipt_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "apply_tax_after_discount": {"type": "integer", "index": 4, "name": "apply_tax_after_discount", "comment": null}, "balance": {"type": "integer", "index": 5, "name": "balance", "comment": null}, "bill_email": {"type": "text", "index": 6, "name": "bill_email", "comment": null}, "billing_address_id": {"type": "integer", "index": 7, "name": "billing_address_id", "comment": null}, "class_id": {"type": "integer", "index": 8, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 9, "name": "created_at", "comment": null}, "credit_card_amount": {"type": "integer", "index": 10, "name": "credit_card_amount", "comment": null}, "credit_card_auth_code": {"type": "integer", "index": 11, "name": "credit_card_auth_code", "comment": null}, "credit_card_billing_address_street": {"type": "integer", "index": 12, "name": "credit_card_billing_address_street", "comment": null}, "credit_card_cc_expiry_month": {"type": "integer", "index": 13, "name": "credit_card_cc_expiry_month", "comment": null}, "credit_card_cc_expiry_year": {"type": "integer", "index": 14, "name": "credit_card_cc_expiry_year", "comment": null}, "credit_card_cctrans_id": {"type": "integer", "index": 15, "name": "credit_card_cctrans_id", "comment": null}, "credit_card_name_on_account": {"type": "integer", "index": 16, "name": "credit_card_name_on_account", "comment": null}, "credit_card_postal_code": {"type": "integer", "index": 17, "name": "credit_card_postal_code", "comment": null}, "credit_card_process_payment": {"type": "integer", "index": 18, "name": "credit_card_process_payment", "comment": null}, "credit_card_status": {"type": "integer", "index": 19, "name": "credit_card_status", "comment": null}, "credit_card_transaction_authorization_time": {"type": "integer", "index": 20, "name": "credit_card_transaction_authorization_time", "comment": null}, "credit_card_type": {"type": "integer", "index": 21, "name": "credit_card_type", "comment": null}, "currency_id": {"type": "text", "index": 22, "name": "currency_id", "comment": null}, "customer_id": {"type": "integer", "index": 23, "name": "customer_id", "comment": null}, "customer_memo": {"type": "text", "index": 24, "name": "customer_memo", "comment": null}, "delivery_time": {"type": "integer", "index": 25, "name": "delivery_time", "comment": null}, "delivery_type": {"type": "integer", "index": 26, "name": "delivery_type", "comment": null}, "department_id": {"type": "integer", "index": 27, "name": "department_id", "comment": null}, "deposit_to_account_id": {"type": "integer", "index": 28, "name": "deposit_to_account_id", "comment": null}, "doc_number": {"type": "integer", "index": 29, "name": "doc_number", "comment": null}, "email_status": {"type": "integer", "index": 30, "name": "email_status", "comment": null}, "exchange_rate": {"type": "integer", "index": 31, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 32, "name": "global_tax_calculation", "comment": null}, "home_balance": {"type": "integer", "index": 33, "name": "home_balance", "comment": null}, "home_total_amount": {"type": "integer", "index": 34, "name": "home_total_amount", "comment": null}, "payment_method_id": {"type": "integer", "index": 35, "name": "payment_method_id", "comment": null}, "payment_reference_number": {"type": "integer", "index": 36, "name": "payment_reference_number", "comment": null}, "print_status": {"type": "integer", "index": 37, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 38, "name": "private_note", "comment": null}, "ship_date": {"type": "integer", "index": 39, "name": "ship_date", "comment": null}, "shipping_address_id": {"type": "integer", "index": 40, "name": "shipping_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 41, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 42, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "integer", "index": 43, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 44, "name": "total_tax", "comment": null}, "tracking_number": {"type": "integer", "index": 45, "name": "tracking_number", "comment": null}, "transaction_date": {"type": "date", "index": 46, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 47, "name": "transaction_source", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 48, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.sales_receipt_data"}, "seed.quickbooks_integration_tests.sales_receipt_line_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "sales_receipt_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "sales_receipt_id": {"type": "integer", "index": 2, "name": "sales_receipt_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "bundle_id": {"type": "integer", "index": 5, "name": "bundle_id", "comment": null}, "bundle_quantity": {"type": "integer", "index": 6, "name": "bundle_quantity", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 8, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 9, "name": "description_tax_code_id", "comment": null}, "discount_account_id": {"type": "integer", "index": 10, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "integer", "index": 11, "name": "discount_class_id", "comment": null}, "discount_discount_percent": {"type": "integer", "index": 12, "name": "discount_discount_percent", "comment": null}, "discount_percent_based": {"type": "integer", "index": 13, "name": "discount_percent_based", "comment": null}, "discount_tax_code_id": {"type": "integer", "index": 14, "name": "discount_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 15, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "integer", "index": 16, "name": "sales_item_class_id", "comment": null}, "sales_item_discount_amount": {"type": "integer", "index": 17, "name": "sales_item_discount_amount", "comment": null}, "sales_item_discount_rate": {"type": "integer", "index": 18, "name": "sales_item_discount_rate", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 19, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "integer", "index": 20, "name": "sales_item_quantity", "comment": null}, "sales_item_service_date": {"type": "integer", "index": 21, "name": "sales_item_service_date", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 22, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_unit_price": {"type": "integer", "index": 23, "name": "sales_item_unit_price", "comment": null}, "sub_total_item_id": {"type": "integer", "index": 24, "name": "sub_total_item_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.sales_receipt_line_data"}, "seed.quickbooks_integration_tests.transfer_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "transfer_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "from_account_id": {"type": "integer", "index": 6, "name": "from_account_id", "comment": null}, "private_note": {"type": "text", "index": 7, "name": "private_note", "comment": null}, "sync_token": {"type": "integer", "index": 8, "name": "sync_token", "comment": null}, "to_account_id": {"type": "integer", "index": 9, "name": "to_account_id", "comment": null}, "transaction_date": {"type": "date", "index": 10, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 11, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.transfer_data"}, "seed.quickbooks_integration_tests.vendor_credit_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "vendor_credit_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "balance": {"type": "integer", "index": 4, "name": "balance", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 6, "name": "currency_id", "comment": null}, "department_id": {"type": "integer", "index": 7, "name": "department_id", "comment": null}, "doc_number": {"type": "integer", "index": 8, "name": "doc_number", "comment": null}, "exchange_rate": {"type": "integer", "index": 9, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 10, "name": "global_tax_calculation", "comment": null}, "payable_account_id": {"type": "integer", "index": 11, "name": "payable_account_id", "comment": null}, "private_note": {"type": "text", "index": 12, "name": "private_note", "comment": null}, "sync_token": {"type": "integer", "index": 13, "name": "sync_token", "comment": null}, "total_amount": {"type": "integer", "index": 14, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 15, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 16, "name": "updated_at", "comment": null}, "vendor_id": {"type": "integer", "index": 17, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.vendor_credit_data"}, "seed.quickbooks_integration_tests.vendor_credit_line_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "vendor_credit_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "vendor_credit_id": {"type": "integer", "index": 2, "name": "vendor_credit_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_expense_account_id": {"type": "integer", "index": 4, "name": "account_expense_account_id", "comment": null}, "account_expense_billable_status": {"type": "character varying(100)", "index": 5, "name": "account_expense_billable_status", "comment": null}, "account_expense_class_id": {"type": "integer", "index": 6, "name": "account_expense_class_id", "comment": null}, "account_expense_customer_id": {"type": "integer", "index": 7, "name": "account_expense_customer_id", "comment": null}, "account_expense_tax_amount": {"type": "integer", "index": 8, "name": "account_expense_tax_amount", "comment": null}, "account_expense_tax_code_id": {"type": "text", "index": 9, "name": "account_expense_tax_code_id", "comment": null}, "amount": {"type": "integer", "index": 10, "name": "amount", "comment": null}, "description": {"type": "text", "index": 11, "name": "description", "comment": null}, "item_expense_billable_status": {"type": "character varying(100)", "index": 12, "name": "item_expense_billable_status", "comment": null}, "item_expense_class_id": {"type": "integer", "index": 13, "name": "item_expense_class_id", "comment": null}, "item_expense_customer_id": {"type": "integer", "index": 14, "name": "item_expense_customer_id", "comment": null}, "item_expense_item_id": {"type": "integer", "index": 15, "name": "item_expense_item_id", "comment": null}, "item_expense_quantity": {"type": "integer", "index": 16, "name": "item_expense_quantity", "comment": null}, "item_expense_tax_code_id": {"type": "integer", "index": 17, "name": "item_expense_tax_code_id", "comment": null}, "item_expense_unit_price": {"type": "integer", "index": 18, "name": "item_expense_unit_price", "comment": null}, "private_note": {"type": "integer", "index": 19, "name": "private_note", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.vendor_credit_line_data"}, "seed.quickbooks_integration_tests.vendor_data": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "vendor_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "account_number": {"type": "integer", "index": 3, "name": "account_number", "comment": null}, "active": {"type": "boolean", "index": 4, "name": "active", "comment": null}, "alternate_phone": {"type": "integer", "index": 5, "name": "alternate_phone", "comment": null}, "balance": {"type": "integer", "index": 6, "name": "balance", "comment": null}, "billing_address_id": {"type": "integer", "index": 7, "name": "billing_address_id", "comment": null}, "company_name": {"type": "text", "index": 8, "name": "company_name", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 9, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 10, "name": "currency_id", "comment": null}, "display_name": {"type": "text", "index": 11, "name": "display_name", "comment": null}, "email": {"type": "text", "index": 12, "name": "email", "comment": null}, "family_name": {"type": "integer", "index": 13, "name": "family_name", "comment": null}, "fax_number": {"type": "integer", "index": 14, "name": "fax_number", "comment": null}, "given_name": {"type": "integer", "index": 15, "name": "given_name", "comment": null}, "middle_name": {"type": "integer", "index": 16, "name": "middle_name", "comment": null}, "mobile_phone": {"type": "integer", "index": 17, "name": "mobile_phone", "comment": null}, "other_contacts": {"type": "integer", "index": 18, "name": "other_contacts", "comment": null}, "primary_phone": {"type": "integer", "index": 19, "name": "primary_phone", "comment": null}, "print_on_check_name": {"type": "text", "index": 20, "name": "print_on_check_name", "comment": null}, "suffix": {"type": "integer", "index": 21, "name": "suffix", "comment": null}, "sync_token": {"type": "integer", "index": 22, "name": "sync_token", "comment": null}, "tax_identifier": {"type": "integer", "index": 23, "name": "tax_identifier", "comment": null}, "term_id": {"type": "integer", "index": 24, "name": "term_id", "comment": null}, "title": {"type": "integer", "index": 25, "name": "title", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 26, "name": "updated_at", "comment": null}, "vendor_1099": {"type": "boolean", "index": 27, "name": "vendor_1099", "comment": null}, "web_url": {"type": "integer", "index": 28, "name": "web_url", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 29, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.quickbooks_integration_tests.vendor_data"}, "model.quickbooks.int_quickbooks__account_classifications": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__account_classifications", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"account_id": {"type": "text", "index": 1, "name": "account_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "account_number": {"type": "text", "index": 3, "name": "account_number", "comment": null}, "is_sub_account": {"type": "boolean", "index": 4, "name": "is_sub_account", "comment": null}, "parent_account_id": {"type": "text", "index": 5, "name": "parent_account_id", "comment": null}, "name": {"type": "text", "index": 6, "name": "name", "comment": null}, "account_type": {"type": "text", "index": 7, "name": "account_type", "comment": null}, "account_sub_type": {"type": "text", "index": 8, "name": "account_sub_type", "comment": null}, "balance": {"type": "integer", "index": 9, "name": "balance", "comment": null}, "balance_with_sub_accounts": {"type": "integer", "index": 10, "name": "balance_with_sub_accounts", "comment": null}, "is_active": {"type": "boolean", "index": 11, "name": "is_active", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 12, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 13, "name": "currency_id", "comment": null}, "description": {"type": "integer", "index": 14, "name": "description", "comment": null}, "fully_qualified_name": {"type": "text", "index": 15, "name": "fully_qualified_name", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 16, "name": "updated_at", "comment": null}, "classification": {"type": "text", "index": 17, "name": "classification", "comment": null}, "multiplier": {"type": "integer", "index": 18, "name": "multiplier", "comment": null}, "financial_statement_helper": {"type": "text", "index": 19, "name": "financial_statement_helper", "comment": null}, "transaction_type": {"type": "text", "index": 20, "name": "transaction_type", "comment": null}, "adjusted_balance": {"type": "integer", "index": 21, "name": "adjusted_balance", "comment": null}, "parent_account_number": {"type": "text", "index": 22, "name": "parent_account_number", "comment": null}, "parent_account_name": {"type": "text", "index": 23, "name": "parent_account_name", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__account_classifications"}, "model.quickbooks.int_quickbooks__bill_double_entry": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__bill_double_entry", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "index": {"type": "integer", "index": 3, "name": "index", "comment": null}, "transaction_date": {"type": "date", "index": 4, "name": "transaction_date", "comment": null}, "customer_id": {"type": "text", "index": 5, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 6, "name": "vendor_id", "comment": null}, "amount": {"type": "double precision", "index": 7, "name": "amount", "comment": null}, "converted_amount": {"type": "double precision", "index": 8, "name": "converted_amount", "comment": null}, "account_id": {"type": "text", "index": 9, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 10, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 11, "name": "department_id", "comment": null}, "transaction_type": {"type": "text", "index": 12, "name": "transaction_type", "comment": null}, "transaction_source": {"type": "text", "index": 13, "name": "transaction_source", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__bill_double_entry"}, "model.quickbooks.int_quickbooks__bill_join": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__bill_join", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_type": {"type": "text", "index": 1, "name": "transaction_type", "comment": null}, "transaction_id": {"type": "text", "index": 2, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 3, "name": "source_relation", "comment": null}, "doc_number": {"type": "text", "index": 4, "name": "doc_number", "comment": null}, "department_id": {"type": "text", "index": 5, "name": "department_id", "comment": null}, "vendor_id": {"type": "text", "index": 6, "name": "vendor_id", "comment": null}, "payable_account_id": {"type": "text", "index": 7, "name": "payable_account_id", "comment": null}, "total_amount": {"type": "integer", "index": 8, "name": "total_amount", "comment": null}, "total_converted_amount": {"type": "integer", "index": 9, "name": "total_converted_amount", "comment": null}, "current_balance": {"type": "integer", "index": 10, "name": "current_balance", "comment": null}, "due_date": {"type": "date", "index": 11, "name": "due_date", "comment": null}, "initial_payment_date": {"type": "date", "index": 12, "name": "initial_payment_date", "comment": null}, "recent_payment_date": {"type": "date", "index": 13, "name": "recent_payment_date", "comment": null}, "total_current_payment": {"type": "bigint", "index": 14, "name": "total_current_payment", "comment": null}, "total_current_converted_payment": {"type": "bigint", "index": 15, "name": "total_current_converted_payment", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__bill_join"}, "model.quickbooks.int_quickbooks__bill_payment_double_entry": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__bill_payment_double_entry", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "index": {"type": "bigint", "index": 3, "name": "index", "comment": null}, "transaction_date": {"type": "date", "index": 4, "name": "transaction_date", "comment": null}, "customer_id": {"type": "text", "index": 5, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 6, "name": "vendor_id", "comment": null}, "amount": {"type": "integer", "index": 7, "name": "amount", "comment": null}, "converted_amount": {"type": "integer", "index": 8, "name": "converted_amount", "comment": null}, "account_id": {"type": "text", "index": 9, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 10, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 11, "name": "department_id", "comment": null}, "transaction_type": {"type": "text", "index": 12, "name": "transaction_type", "comment": null}, "transaction_source": {"type": "text", "index": 13, "name": "transaction_source", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__bill_payment_double_entry"}, "model.quickbooks.int_quickbooks__bill_transactions": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__bill_transactions", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "transaction_line_id": {"type": "integer", "index": 3, "name": "transaction_line_id", "comment": null}, "doc_number": {"type": "text", "index": 4, "name": "doc_number", "comment": null}, "transaction_type": {"type": "text", "index": 5, "name": "transaction_type", "comment": null}, "transaction_date": {"type": "date", "index": 6, "name": "transaction_date", "comment": null}, "account_id": {"type": "text", "index": 7, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 8, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 9, "name": "department_id", "comment": null}, "customer_id": {"type": "text", "index": 10, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 11, "name": "vendor_id", "comment": null}, "billable_status": {"type": "character varying(100)", "index": 12, "name": "billable_status", "comment": null}, "description": {"type": "text", "index": 13, "name": "description", "comment": null}, "amount": {"type": "double precision", "index": 14, "name": "amount", "comment": null}, "converted_amount": {"type": "double precision", "index": 15, "name": "converted_amount", "comment": null}, "total_amount": {"type": "integer", "index": 16, "name": "total_amount", "comment": null}, "total_converted_amount": {"type": "integer", "index": 17, "name": "total_converted_amount", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__bill_transactions"}, "model.quickbooks.int_quickbooks__cash_flow_classifications": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__cash_flow_classifications", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"cash_flow_period": {"type": "date", "index": 1, "name": "cash_flow_period", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "account_class": {"type": "text", "index": 3, "name": "account_class", "comment": null}, "class_id": {"type": "text", "index": 4, "name": "class_id", "comment": null}, "is_sub_account": {"type": "boolean", "index": 5, "name": "is_sub_account", "comment": null}, "parent_account_number": {"type": "text", "index": 6, "name": "parent_account_number", "comment": null}, "parent_account_name": {"type": "text", "index": 7, "name": "parent_account_name", "comment": null}, "account_type": {"type": "text", "index": 8, "name": "account_type", "comment": null}, "account_sub_type": {"type": "text", "index": 9, "name": "account_sub_type", "comment": null}, "account_number": {"type": "text", "index": 10, "name": "account_number", "comment": null}, "account_id": {"type": "text", "index": 11, "name": "account_id", "comment": null}, "account_name": {"type": "text", "index": 12, "name": "account_name", "comment": null}, "cash_ending_period": {"type": "numeric", "index": 13, "name": "cash_ending_period", "comment": null}, "cash_converted_ending_period": {"type": "numeric", "index": 14, "name": "cash_converted_ending_period", "comment": null}, "account_unique_id": {"type": "text", "index": 15, "name": "account_unique_id", "comment": null}, "cash_flow_type": {"type": "text", "index": 16, "name": "cash_flow_type", "comment": null}, "cash_flow_ordinal": {"type": "integer", "index": 17, "name": "cash_flow_ordinal", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__cash_flow_classifications"}, "model.quickbooks.int_quickbooks__credit_card_pymt_double_entry": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__credit_card_pymt_double_entry", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "index": {"type": "bigint", "index": 3, "name": "index", "comment": null}, "transaction_date": {"type": "date", "index": 4, "name": "transaction_date", "comment": null}, "customer_id": {"type": "text", "index": 5, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 6, "name": "vendor_id", "comment": null}, "amount": {"type": "double precision", "index": 7, "name": "amount", "comment": null}, "converted_amount": {"type": "double precision", "index": 8, "name": "converted_amount", "comment": null}, "account_id": {"type": "text", "index": 9, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 10, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 11, "name": "department_id", "comment": null}, "transaction_type": {"type": "text", "index": 12, "name": "transaction_type", "comment": null}, "transaction_source": {"type": "text", "index": 13, "name": "transaction_source", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__credit_card_pymt_double_entry"}, "model.quickbooks.int_quickbooks__credit_memo_double_entry": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__credit_memo_double_entry", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "index": {"type": "integer", "index": 3, "name": "index", "comment": null}, "transaction_date": {"type": "date", "index": 4, "name": "transaction_date", "comment": null}, "customer_id": {"type": "text", "index": 5, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 6, "name": "vendor_id", "comment": null}, "amount": {"type": "integer", "index": 7, "name": "amount", "comment": null}, "converted_amount": {"type": "integer", "index": 8, "name": "converted_amount", "comment": null}, "account_id": {"type": "text", "index": 9, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 10, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 11, "name": "department_id", "comment": null}, "transaction_type": {"type": "text", "index": 12, "name": "transaction_type", "comment": null}, "transaction_source": {"type": "text", "index": 13, "name": "transaction_source", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__credit_memo_double_entry"}, "model.quickbooks.int_quickbooks__credit_memo_transactions": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__credit_memo_transactions", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "transaction_line_id": {"type": "integer", "index": 3, "name": "transaction_line_id", "comment": null}, "doc_number": {"type": "text", "index": 4, "name": "doc_number", "comment": null}, "transaction_type": {"type": "text", "index": 5, "name": "transaction_type", "comment": null}, "transaction_date": {"type": "date", "index": 6, "name": "transaction_date", "comment": null}, "item_id": {"type": "text", "index": 7, "name": "item_id", "comment": null}, "item_quantity": {"type": "double precision", "index": 8, "name": "item_quantity", "comment": null}, "item_unit_price": {"type": "double precision", "index": 9, "name": "item_unit_price", "comment": null}, "account_id": {"type": "text", "index": 10, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 11, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 12, "name": "department_id", "comment": null}, "customer_id": {"type": "text", "index": 13, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 14, "name": "vendor_id", "comment": null}, "billable_status": {"type": "text", "index": 15, "name": "billable_status", "comment": null}, "description": {"type": "text", "index": 16, "name": "description", "comment": null}, "amount": {"type": "integer", "index": 17, "name": "amount", "comment": null}, "converted_amount": {"type": "integer", "index": 18, "name": "converted_amount", "comment": null}, "total_amount": {"type": "integer", "index": 19, "name": "total_amount", "comment": null}, "total_converted_amount": {"type": "integer", "index": 20, "name": "total_converted_amount", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__credit_memo_transactions"}, "model.quickbooks.int_quickbooks__deposit_double_entry": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__deposit_double_entry", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "index": {"type": "integer", "index": 3, "name": "index", "comment": null}, "transaction_date": {"type": "date", "index": 4, "name": "transaction_date", "comment": null}, "customer_id": {"type": "text", "index": 5, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 6, "name": "vendor_id", "comment": null}, "amount": {"type": "integer", "index": 7, "name": "amount", "comment": null}, "converted_amount": {"type": "integer", "index": 8, "name": "converted_amount", "comment": null}, "account_id": {"type": "text", "index": 9, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 10, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 11, "name": "department_id", "comment": null}, "transaction_type": {"type": "text", "index": 12, "name": "transaction_type", "comment": null}, "transaction_source": {"type": "text", "index": 13, "name": "transaction_source", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__deposit_double_entry"}, "model.quickbooks.int_quickbooks__deposit_transactions": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__deposit_transactions", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "transaction_line_id": {"type": "integer", "index": 3, "name": "transaction_line_id", "comment": null}, "doc_number": {"type": "text", "index": 4, "name": "doc_number", "comment": null}, "transaction_type": {"type": "text", "index": 5, "name": "transaction_type", "comment": null}, "transaction_date": {"type": "date", "index": 6, "name": "transaction_date", "comment": null}, "account_id": {"type": "text", "index": 7, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 8, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 9, "name": "department_id", "comment": null}, "customer_id": {"type": "text", "index": 10, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 11, "name": "vendor_id", "comment": null}, "billable_status": {"type": "text", "index": 12, "name": "billable_status", "comment": null}, "description": {"type": "text", "index": 13, "name": "description", "comment": null}, "amount": {"type": "integer", "index": 14, "name": "amount", "comment": null}, "converted_amount": {"type": "integer", "index": 15, "name": "converted_amount", "comment": null}, "total_amount": {"type": "integer", "index": 16, "name": "total_amount", "comment": null}, "total_converted_amount": {"type": "integer", "index": 17, "name": "total_converted_amount", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__deposit_transactions"}, "model.quickbooks.int_quickbooks__expenses_union": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__expenses_union", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_source": {"type": "text", "index": 1, "name": "transaction_source", "comment": null}, "transaction_id": {"type": "text", "index": 2, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 3, "name": "source_relation", "comment": null}, "transaction_line_id": {"type": "integer", "index": 4, "name": "transaction_line_id", "comment": null}, "doc_number": {"type": "text", "index": 5, "name": "doc_number", "comment": null}, "transaction_type": {"type": "text", "index": 6, "name": "transaction_type", "comment": null}, "transaction_date": {"type": "date", "index": 7, "name": "transaction_date", "comment": null}, "item_id": {"type": "text", "index": 8, "name": "item_id", "comment": null}, "item_quantity": {"type": "numeric(28,6)", "index": 9, "name": "item_quantity", "comment": null}, "item_unit_price": {"type": "numeric(28,6)", "index": 10, "name": "item_unit_price", "comment": null}, "account_id": {"type": "text", "index": 11, "name": "account_id", "comment": null}, "account_name": {"type": "text", "index": 12, "name": "account_name", "comment": null}, "account_sub_type": {"type": "text", "index": 13, "name": "account_sub_type", "comment": null}, "class_id": {"type": "text", "index": 14, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 15, "name": "department_id", "comment": null}, "department_name": {"type": "text", "index": 16, "name": "department_name", "comment": null}, "customer_id": {"type": "text", "index": 17, "name": "customer_id", "comment": null}, "customer_name": {"type": "text", "index": 18, "name": "customer_name", "comment": null}, "customer_website": {"type": "integer", "index": 19, "name": "customer_website", "comment": null}, "vendor_id": {"type": "text", "index": 20, "name": "vendor_id", "comment": null}, "vendor_name": {"type": "text", "index": 21, "name": "vendor_name", "comment": null}, "billable_status": {"type": "text", "index": 22, "name": "billable_status", "comment": null}, "description": {"type": "text", "index": 23, "name": "description", "comment": null}, "amount": {"type": "double precision", "index": 24, "name": "amount", "comment": null}, "converted_amount": {"type": "double precision", "index": 25, "name": "converted_amount", "comment": null}, "total_amount": {"type": "integer", "index": 26, "name": "total_amount", "comment": null}, "total_converted_amount": {"type": "integer", "index": 27, "name": "total_converted_amount", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__expenses_union"}, "model.quickbooks.int_quickbooks__general_ledger_balances": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__general_ledger_balances", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"account_id": {"type": "text", "index": 1, "name": "account_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "account_number": {"type": "text", "index": 3, "name": "account_number", "comment": null}, "account_name": {"type": "text", "index": 4, "name": "account_name", "comment": null}, "is_sub_account": {"type": "boolean", "index": 5, "name": "is_sub_account", "comment": null}, "parent_account_number": {"type": "text", "index": 6, "name": "parent_account_number", "comment": null}, "parent_account_name": {"type": "text", "index": 7, "name": "parent_account_name", "comment": null}, "account_type": {"type": "text", "index": 8, "name": "account_type", "comment": null}, "account_sub_type": {"type": "text", "index": 9, "name": "account_sub_type", "comment": null}, "account_class": {"type": "text", "index": 10, "name": "account_class", "comment": null}, "class_id": {"type": "text", "index": 11, "name": "class_id", "comment": null}, "financial_statement_helper": {"type": "text", "index": 12, "name": "financial_statement_helper", "comment": null}, "date_year": {"type": "date", "index": 13, "name": "date_year", "comment": null}, "period_first_day": {"type": "date", "index": 14, "name": "period_first_day", "comment": null}, "period_last_day": {"type": "date", "index": 15, "name": "period_last_day", "comment": null}, "period_net_change": {"type": "bigint", "index": 16, "name": "period_net_change", "comment": null}, "period_beginning_balance": {"type": "numeric", "index": 17, "name": "period_beginning_balance", "comment": null}, "period_ending_balance": {"type": "numeric", "index": 18, "name": "period_ending_balance", "comment": null}, "period_net_converted_change": {"type": "bigint", "index": 19, "name": "period_net_converted_change", "comment": null}, "period_beginning_converted_balance": {"type": "numeric", "index": 20, "name": "period_beginning_converted_balance", "comment": null}, "period_ending_converted_balance": {"type": "numeric", "index": 21, "name": "period_ending_converted_balance", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__general_ledger_balances"}, "model.quickbooks.int_quickbooks__general_ledger_date_spine": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__general_ledger_date_spine", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"account_id": {"type": "text", "index": 1, "name": "account_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "account_number": {"type": "text", "index": 3, "name": "account_number", "comment": null}, "account_name": {"type": "text", "index": 4, "name": "account_name", "comment": null}, "is_sub_account": {"type": "boolean", "index": 5, "name": "is_sub_account", "comment": null}, "parent_account_number": {"type": "text", "index": 6, "name": "parent_account_number", "comment": null}, "parent_account_name": {"type": "text", "index": 7, "name": "parent_account_name", "comment": null}, "account_type": {"type": "text", "index": 8, "name": "account_type", "comment": null}, "account_sub_type": {"type": "text", "index": 9, "name": "account_sub_type", "comment": null}, "account_class": {"type": "text", "index": 10, "name": "account_class", "comment": null}, "financial_statement_helper": {"type": "text", "index": 11, "name": "financial_statement_helper", "comment": null}, "class_id": {"type": "text", "index": 12, "name": "class_id", "comment": null}, "date_year": {"type": "date", "index": 13, "name": "date_year", "comment": null}, "period_first_day": {"type": "date", "index": 14, "name": "period_first_day", "comment": null}, "period_last_day": {"type": "date", "index": 15, "name": "period_last_day", "comment": null}, "period_index": {"type": "bigint", "index": 16, "name": "period_index", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__general_ledger_date_spine"}, "model.quickbooks.int_quickbooks__invoice_double_entry": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__invoice_double_entry", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "index": {"type": "integer", "index": 3, "name": "index", "comment": null}, "transaction_date": {"type": "date", "index": 4, "name": "transaction_date", "comment": null}, "customer_id": {"type": "text", "index": 5, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 6, "name": "vendor_id", "comment": null}, "amount": {"type": "double precision", "index": 7, "name": "amount", "comment": null}, "converted_amount": {"type": "double precision", "index": 8, "name": "converted_amount", "comment": null}, "account_id": {"type": "text", "index": 9, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 10, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 11, "name": "department_id", "comment": null}, "transaction_type": {"type": "text", "index": 12, "name": "transaction_type", "comment": null}, "transaction_source": {"type": "text", "index": 13, "name": "transaction_source", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__invoice_double_entry"}, "model.quickbooks.int_quickbooks__invoice_join": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__invoice_join", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_type": {"type": "text", "index": 1, "name": "transaction_type", "comment": null}, "transaction_id": {"type": "text", "index": 2, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 3, "name": "source_relation", "comment": null}, "doc_number": {"type": "text", "index": 4, "name": "doc_number", "comment": null}, "estimate_id": {"type": "text", "index": 5, "name": "estimate_id", "comment": null}, "department_id": {"type": "text", "index": 6, "name": "department_id", "comment": null}, "customer_id": {"type": "text", "index": 7, "name": "customer_id", "comment": null}, "billing_address_id": {"type": "text", "index": 8, "name": "billing_address_id", "comment": null}, "shipping_address_id": {"type": "integer", "index": 9, "name": "shipping_address_id", "comment": null}, "delivery_type": {"type": "text", "index": 10, "name": "delivery_type", "comment": null}, "total_amount": {"type": "integer", "index": 11, "name": "total_amount", "comment": null}, "total_converted_amount": {"type": "integer", "index": 12, "name": "total_converted_amount", "comment": null}, "current_balance": {"type": "integer", "index": 13, "name": "current_balance", "comment": null}, "estimate_total_amount": {"type": "double precision", "index": 14, "name": "estimate_total_amount", "comment": null}, "estimate_total_converted_amount": {"type": "double precision", "index": 15, "name": "estimate_total_converted_amount", "comment": null}, "estimate_status": {"type": "text", "index": 16, "name": "estimate_status", "comment": null}, "due_date": {"type": "date", "index": 17, "name": "due_date", "comment": null}, "initial_payment_date": {"type": "date", "index": 18, "name": "initial_payment_date", "comment": null}, "recent_payment_date": {"type": "date", "index": 19, "name": "recent_payment_date", "comment": null}, "total_current_payment": {"type": "double precision", "index": 20, "name": "total_current_payment", "comment": null}, "total_current_converted_payment": {"type": "double precision", "index": 21, "name": "total_current_converted_payment", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__invoice_join"}, "model.quickbooks.int_quickbooks__invoice_transactions": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__invoice_transactions", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "transaction_line_id": {"type": "integer", "index": 3, "name": "transaction_line_id", "comment": null}, "doc_number": {"type": "text", "index": 4, "name": "doc_number", "comment": null}, "transaction_type": {"type": "text", "index": 5, "name": "transaction_type", "comment": null}, "transaction_date": {"type": "date", "index": 6, "name": "transaction_date", "comment": null}, "item_id": {"type": "text", "index": 7, "name": "item_id", "comment": null}, "item_quantity": {"type": "double precision", "index": 8, "name": "item_quantity", "comment": null}, "item_unit_price": {"type": "integer", "index": 9, "name": "item_unit_price", "comment": null}, "account_id": {"type": "text", "index": 10, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 11, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 12, "name": "department_id", "comment": null}, "customer_id": {"type": "text", "index": 13, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 14, "name": "vendor_id", "comment": null}, "billable_status": {"type": "text", "index": 15, "name": "billable_status", "comment": null}, "description": {"type": "text", "index": 16, "name": "description", "comment": null}, "amount": {"type": "double precision", "index": 17, "name": "amount", "comment": null}, "converted_amount": {"type": "double precision", "index": 18, "name": "converted_amount", "comment": null}, "total_amount": {"type": "integer", "index": 19, "name": "total_amount", "comment": null}, "total_converted_amount": {"type": "integer", "index": 20, "name": "total_converted_amount", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__invoice_transactions"}, "model.quickbooks.int_quickbooks__journal_entry_double_entry": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__journal_entry_double_entry", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "index": {"type": "integer", "index": 3, "name": "index", "comment": null}, "transaction_date": {"type": "date", "index": 4, "name": "transaction_date", "comment": null}, "customer_id": {"type": "text", "index": 5, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 6, "name": "vendor_id", "comment": null}, "amount": {"type": "integer", "index": 7, "name": "amount", "comment": null}, "converted_amount": {"type": "integer", "index": 8, "name": "converted_amount", "comment": null}, "account_id": {"type": "text", "index": 9, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 10, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 11, "name": "department_id", "comment": null}, "transaction_type": {"type": "text", "index": 12, "name": "transaction_type", "comment": null}, "transaction_source": {"type": "text", "index": 13, "name": "transaction_source", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__journal_entry_double_entry"}, "model.quickbooks.int_quickbooks__journal_entry_transactions": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__journal_entry_transactions", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "transaction_line_id": {"type": "integer", "index": 3, "name": "transaction_line_id", "comment": null}, "doc_number": {"type": "text", "index": 4, "name": "doc_number", "comment": null}, "transaction_type": {"type": "text", "index": 5, "name": "transaction_type", "comment": null}, "transaction_date": {"type": "date", "index": 6, "name": "transaction_date", "comment": null}, "account_id": {"type": "text", "index": 7, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 8, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 9, "name": "department_id", "comment": null}, "customer_id": {"type": "text", "index": 10, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 11, "name": "vendor_id", "comment": null}, "billable_status": {"type": "text", "index": 12, "name": "billable_status", "comment": null}, "description": {"type": "text", "index": 13, "name": "description", "comment": null}, "amount": {"type": "integer", "index": 14, "name": "amount", "comment": null}, "converted_amount": {"type": "integer", "index": 15, "name": "converted_amount", "comment": null}, "total_amount": {"type": "integer", "index": 16, "name": "total_amount", "comment": null}, "total_converted_amount": {"type": "integer", "index": 17, "name": "total_converted_amount", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__journal_entry_transactions"}, "model.quickbooks.int_quickbooks__payment_double_entry": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__payment_double_entry", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "index": {"type": "bigint", "index": 3, "name": "index", "comment": null}, "transaction_date": {"type": "date", "index": 4, "name": "transaction_date", "comment": null}, "customer_id": {"type": "text", "index": 5, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 6, "name": "vendor_id", "comment": null}, "amount": {"type": "double precision", "index": 7, "name": "amount", "comment": null}, "converted_amount": {"type": "double precision", "index": 8, "name": "converted_amount", "comment": null}, "account_id": {"type": "text", "index": 9, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 10, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 11, "name": "department_id", "comment": null}, "transaction_type": {"type": "text", "index": 12, "name": "transaction_type", "comment": null}, "transaction_source": {"type": "text", "index": 13, "name": "transaction_source", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__payment_double_entry"}, "model.quickbooks.int_quickbooks__purchase_double_entry": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__purchase_double_entry", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "index": {"type": "integer", "index": 3, "name": "index", "comment": null}, "transaction_date": {"type": "date", "index": 4, "name": "transaction_date", "comment": null}, "customer_id": {"type": "text", "index": 5, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 6, "name": "vendor_id", "comment": null}, "amount": {"type": "integer", "index": 7, "name": "amount", "comment": null}, "converted_amount": {"type": "integer", "index": 8, "name": "converted_amount", "comment": null}, "account_id": {"type": "text", "index": 9, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 10, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 11, "name": "department_id", "comment": null}, "transaction_type": {"type": "text", "index": 12, "name": "transaction_type", "comment": null}, "transaction_source": {"type": "text", "index": 13, "name": "transaction_source", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__purchase_double_entry"}, "model.quickbooks.int_quickbooks__purchase_transactions": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__purchase_transactions", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "transaction_line_id": {"type": "integer", "index": 3, "name": "transaction_line_id", "comment": null}, "doc_number": {"type": "text", "index": 4, "name": "doc_number", "comment": null}, "transaction_type": {"type": "text", "index": 5, "name": "transaction_type", "comment": null}, "transaction_date": {"type": "date", "index": 6, "name": "transaction_date", "comment": null}, "account_id": {"type": "text", "index": 7, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 8, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 9, "name": "department_id", "comment": null}, "customer_id": {"type": "text", "index": 10, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 11, "name": "vendor_id", "comment": null}, "billable_status": {"type": "text", "index": 12, "name": "billable_status", "comment": null}, "description": {"type": "text", "index": 13, "name": "description", "comment": null}, "amount": {"type": "integer", "index": 14, "name": "amount", "comment": null}, "converted_amount": {"type": "integer", "index": 15, "name": "converted_amount", "comment": null}, "total_amount": {"type": "integer", "index": 16, "name": "total_amount", "comment": null}, "total_converted_amount": {"type": "integer", "index": 17, "name": "total_converted_amount", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__purchase_transactions"}, "model.quickbooks.int_quickbooks__refund_receipt_double_entry": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__refund_receipt_double_entry", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "index": {"type": "integer", "index": 3, "name": "index", "comment": null}, "transaction_date": {"type": "date", "index": 4, "name": "transaction_date", "comment": null}, "customer_id": {"type": "text", "index": 5, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 6, "name": "vendor_id", "comment": null}, "amount": {"type": "integer", "index": 7, "name": "amount", "comment": null}, "converted_amount": {"type": "integer", "index": 8, "name": "converted_amount", "comment": null}, "account_id": {"type": "text", "index": 9, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 10, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 11, "name": "department_id", "comment": null}, "transaction_type": {"type": "text", "index": 12, "name": "transaction_type", "comment": null}, "transaction_source": {"type": "text", "index": 13, "name": "transaction_source", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__refund_receipt_double_entry"}, "model.quickbooks.int_quickbooks__refund_receipt_transactions": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__refund_receipt_transactions", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "transaction_line_id": {"type": "integer", "index": 3, "name": "transaction_line_id", "comment": null}, "doc_number": {"type": "text", "index": 4, "name": "doc_number", "comment": null}, "transaction_type": {"type": "text", "index": 5, "name": "transaction_type", "comment": null}, "transaction_date": {"type": "date", "index": 6, "name": "transaction_date", "comment": null}, "item_id": {"type": "text", "index": 7, "name": "item_id", "comment": null}, "item_quantity": {"type": "integer", "index": 8, "name": "item_quantity", "comment": null}, "item_unit_price": {"type": "integer", "index": 9, "name": "item_unit_price", "comment": null}, "account_id": {"type": "text", "index": 10, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 11, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 12, "name": "department_id", "comment": null}, "customer_id": {"type": "text", "index": 13, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 14, "name": "vendor_id", "comment": null}, "billable_status": {"type": "text", "index": 15, "name": "billable_status", "comment": null}, "description": {"type": "text", "index": 16, "name": "description", "comment": null}, "amount": {"type": "integer", "index": 17, "name": "amount", "comment": null}, "converted_amount": {"type": "integer", "index": 18, "name": "converted_amount", "comment": null}, "total_amount": {"type": "integer", "index": 19, "name": "total_amount", "comment": null}, "total_converted_amount": {"type": "integer", "index": 20, "name": "total_converted_amount", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__refund_receipt_transactions"}, "model.quickbooks.int_quickbooks__retained_earnings": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__retained_earnings", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"account_id": {"type": "text", "index": 1, "name": "account_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "account_number": {"type": "text", "index": 3, "name": "account_number", "comment": null}, "account_name": {"type": "text", "index": 4, "name": "account_name", "comment": null}, "is_sub_account": {"type": "boolean", "index": 5, "name": "is_sub_account", "comment": null}, "parent_account_number": {"type": "text", "index": 6, "name": "parent_account_number", "comment": null}, "parent_account_name": {"type": "text", "index": 7, "name": "parent_account_name", "comment": null}, "account_type": {"type": "text", "index": 8, "name": "account_type", "comment": null}, "account_sub_type": {"type": "text", "index": 9, "name": "account_sub_type", "comment": null}, "account_class": {"type": "text", "index": 10, "name": "account_class", "comment": null}, "class_id": {"type": "text", "index": 11, "name": "class_id", "comment": null}, "financial_statement_helper": {"type": "text", "index": 12, "name": "financial_statement_helper", "comment": null}, "date_year": {"type": "date", "index": 13, "name": "date_year", "comment": null}, "period_first_day": {"type": "date", "index": 14, "name": "period_first_day", "comment": null}, "period_last_day": {"type": "date", "index": 15, "name": "period_last_day", "comment": null}, "period_net_change": {"type": "numeric", "index": 16, "name": "period_net_change", "comment": null}, "period_beginning_balance": {"type": "numeric", "index": 17, "name": "period_beginning_balance", "comment": null}, "period_ending_balance": {"type": "numeric", "index": 18, "name": "period_ending_balance", "comment": null}, "period_net_converted_change": {"type": "numeric", "index": 19, "name": "period_net_converted_change", "comment": null}, "period_beginning_converted_balance": {"type": "numeric", "index": 20, "name": "period_beginning_converted_balance", "comment": null}, "period_ending_converted_balance": {"type": "numeric", "index": 21, "name": "period_ending_converted_balance", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__retained_earnings"}, "model.quickbooks.int_quickbooks__sales_receipt_double_entry": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__sales_receipt_double_entry", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "index": {"type": "integer", "index": 3, "name": "index", "comment": null}, "transaction_date": {"type": "date", "index": 4, "name": "transaction_date", "comment": null}, "customer_id": {"type": "text", "index": 5, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 6, "name": "vendor_id", "comment": null}, "amount": {"type": "integer", "index": 7, "name": "amount", "comment": null}, "converted_amount": {"type": "integer", "index": 8, "name": "converted_amount", "comment": null}, "account_id": {"type": "text", "index": 9, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 10, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 11, "name": "department_id", "comment": null}, "transaction_type": {"type": "text", "index": 12, "name": "transaction_type", "comment": null}, "transaction_source": {"type": "text", "index": 13, "name": "transaction_source", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__sales_receipt_double_entry"}, "model.quickbooks.int_quickbooks__sales_receipt_transactions": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__sales_receipt_transactions", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "transaction_line_id": {"type": "integer", "index": 3, "name": "transaction_line_id", "comment": null}, "doc_number": {"type": "text", "index": 4, "name": "doc_number", "comment": null}, "transaction_type": {"type": "text", "index": 5, "name": "transaction_type", "comment": null}, "transaction_date": {"type": "date", "index": 6, "name": "transaction_date", "comment": null}, "item_id": {"type": "text", "index": 7, "name": "item_id", "comment": null}, "item_quantity": {"type": "integer", "index": 8, "name": "item_quantity", "comment": null}, "item_unit_price": {"type": "integer", "index": 9, "name": "item_unit_price", "comment": null}, "account_id": {"type": "text", "index": 10, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 11, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 12, "name": "department_id", "comment": null}, "customer_id": {"type": "text", "index": 13, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 14, "name": "vendor_id", "comment": null}, "billable_status": {"type": "text", "index": 15, "name": "billable_status", "comment": null}, "description": {"type": "text", "index": 16, "name": "description", "comment": null}, "amount": {"type": "integer", "index": 17, "name": "amount", "comment": null}, "converted_amount": {"type": "integer", "index": 18, "name": "converted_amount", "comment": null}, "total_amount": {"type": "integer", "index": 19, "name": "total_amount", "comment": null}, "total_converted_amount": {"type": "integer", "index": 20, "name": "total_converted_amount", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__sales_receipt_transactions"}, "model.quickbooks.int_quickbooks__sales_union": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__sales_union", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_source": {"type": "text", "index": 1, "name": "transaction_source", "comment": null}, "transaction_id": {"type": "text", "index": 2, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 3, "name": "source_relation", "comment": null}, "transaction_line_id": {"type": "integer", "index": 4, "name": "transaction_line_id", "comment": null}, "doc_number": {"type": "text", "index": 5, "name": "doc_number", "comment": null}, "transaction_type": {"type": "text", "index": 6, "name": "transaction_type", "comment": null}, "transaction_date": {"type": "date", "index": 7, "name": "transaction_date", "comment": null}, "item_id": {"type": "text", "index": 8, "name": "item_id", "comment": null}, "item_quantity": {"type": "double precision", "index": 9, "name": "item_quantity", "comment": null}, "item_unit_price": {"type": "double precision", "index": 10, "name": "item_unit_price", "comment": null}, "account_id": {"type": "text", "index": 11, "name": "account_id", "comment": null}, "account_name": {"type": "text", "index": 12, "name": "account_name", "comment": null}, "account_sub_type": {"type": "text", "index": 13, "name": "account_sub_type", "comment": null}, "class_id": {"type": "text", "index": 14, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 15, "name": "department_id", "comment": null}, "department_name": {"type": "text", "index": 16, "name": "department_name", "comment": null}, "customer_id": {"type": "text", "index": 17, "name": "customer_id", "comment": null}, "customer_name": {"type": "text", "index": 18, "name": "customer_name", "comment": null}, "customer_website": {"type": "integer", "index": 19, "name": "customer_website", "comment": null}, "vendor_id": {"type": "text", "index": 20, "name": "vendor_id", "comment": null}, "vendor_name": {"type": "text", "index": 21, "name": "vendor_name", "comment": null}, "billable_status": {"type": "text", "index": 22, "name": "billable_status", "comment": null}, "description": {"type": "text", "index": 23, "name": "description", "comment": null}, "amount": {"type": "double precision", "index": 24, "name": "amount", "comment": null}, "converted_amount": {"type": "double precision", "index": 25, "name": "converted_amount", "comment": null}, "total_amount": {"type": "integer", "index": 26, "name": "total_amount", "comment": null}, "total_converted_amount": {"type": "integer", "index": 27, "name": "total_converted_amount", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__sales_union"}, "model.quickbooks.int_quickbooks__transfer_double_entry": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__transfer_double_entry", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "index": {"type": "bigint", "index": 3, "name": "index", "comment": null}, "transaction_date": {"type": "date", "index": 4, "name": "transaction_date", "comment": null}, "customer_id": {"type": "text", "index": 5, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 6, "name": "vendor_id", "comment": null}, "amount": {"type": "integer", "index": 7, "name": "amount", "comment": null}, "converted_amount": {"type": "integer", "index": 8, "name": "converted_amount", "comment": null}, "account_id": {"type": "text", "index": 9, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 10, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 11, "name": "department_id", "comment": null}, "transaction_type": {"type": "text", "index": 12, "name": "transaction_type", "comment": null}, "transaction_source": {"type": "text", "index": 13, "name": "transaction_source", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__transfer_double_entry"}, "model.quickbooks.int_quickbooks__vendor_credit_double_entry": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__vendor_credit_double_entry", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "index": {"type": "integer", "index": 3, "name": "index", "comment": null}, "transaction_date": {"type": "date", "index": 4, "name": "transaction_date", "comment": null}, "customer_id": {"type": "text", "index": 5, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 6, "name": "vendor_id", "comment": null}, "amount": {"type": "integer", "index": 7, "name": "amount", "comment": null}, "converted_amount": {"type": "integer", "index": 8, "name": "converted_amount", "comment": null}, "account_id": {"type": "text", "index": 9, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 10, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 11, "name": "department_id", "comment": null}, "transaction_type": {"type": "text", "index": 12, "name": "transaction_type", "comment": null}, "transaction_source": {"type": "text", "index": 13, "name": "transaction_source", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__vendor_credit_double_entry"}, "model.quickbooks.int_quickbooks__vendor_credit_transactions": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__vendor_credit_transactions", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_id": {"type": "text", "index": 1, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "transaction_line_id": {"type": "integer", "index": 3, "name": "transaction_line_id", "comment": null}, "doc_number": {"type": "text", "index": 4, "name": "doc_number", "comment": null}, "transaction_type": {"type": "text", "index": 5, "name": "transaction_type", "comment": null}, "transaction_date": {"type": "date", "index": 6, "name": "transaction_date", "comment": null}, "account_id": {"type": "text", "index": 7, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 8, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 9, "name": "department_id", "comment": null}, "customer_id": {"type": "text", "index": 10, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 11, "name": "vendor_id", "comment": null}, "billable_status": {"type": "character varying(100)", "index": 12, "name": "billable_status", "comment": null}, "description": {"type": "text", "index": 13, "name": "description", "comment": null}, "amount": {"type": "integer", "index": 14, "name": "amount", "comment": null}, "converted_amount": {"type": "integer", "index": 15, "name": "converted_amount", "comment": null}, "total_amount": {"type": "integer", "index": 16, "name": "total_amount", "comment": null}, "total_converted_amount": {"type": "integer", "index": 17, "name": "total_converted_amount", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.int_quickbooks__vendor_credit_transactions"}, "model.quickbooks.quickbooks__ap_ar_enhanced": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "quickbooks__ap_ar_enhanced", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_type": {"type": "text", "index": 1, "name": "transaction_type", "comment": null}, "transaction_id": {"type": "text", "index": 2, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 3, "name": "source_relation", "comment": null}, "doc_number": {"type": "text", "index": 4, "name": "doc_number", "comment": null}, "estimate_id": {"type": "text", "index": 5, "name": "estimate_id", "comment": null}, "department_name": {"type": "text", "index": 6, "name": "department_name", "comment": null}, "transaction_with": {"type": "text", "index": 7, "name": "transaction_with", "comment": null}, "customer_vendor_name": {"type": "text", "index": 8, "name": "customer_vendor_name", "comment": null}, "customer_vendor_balance": {"type": "integer", "index": 9, "name": "customer_vendor_balance", "comment": null}, "customer_vendor_address_city": {"type": "text", "index": 10, "name": "customer_vendor_address_city", "comment": null}, "customer_vendor_address_country": {"type": "text", "index": 11, "name": "customer_vendor_address_country", "comment": null}, "customer_vendor_address_line": {"type": "text", "index": 12, "name": "customer_vendor_address_line", "comment": null}, "customer_vendor_website": {"type": "integer", "index": 13, "name": "customer_vendor_website", "comment": null}, "delivery_type": {"type": "text", "index": 14, "name": "delivery_type", "comment": null}, "estimate_status": {"type": "text", "index": 15, "name": "estimate_status", "comment": null}, "total_amount": {"type": "integer", "index": 16, "name": "total_amount", "comment": null}, "total_converted_amount": {"type": "integer", "index": 17, "name": "total_converted_amount", "comment": null}, "estimate_total_amount": {"type": "double precision", "index": 18, "name": "estimate_total_amount", "comment": null}, "estimate_total_converted_amount": {"type": "double precision", "index": 19, "name": "estimate_total_converted_amount", "comment": null}, "current_balance": {"type": "integer", "index": 20, "name": "current_balance", "comment": null}, "due_date": {"type": "date", "index": 21, "name": "due_date", "comment": null}, "is_overdue": {"type": "boolean", "index": 22, "name": "is_overdue", "comment": null}, "days_overdue": {"type": "integer", "index": 23, "name": "days_overdue", "comment": null}, "initial_payment_date": {"type": "date", "index": 24, "name": "initial_payment_date", "comment": null}, "recent_payment_date": {"type": "date", "index": 25, "name": "recent_payment_date", "comment": null}, "total_current_payment": {"type": "double precision", "index": 26, "name": "total_current_payment", "comment": null}, "total_current_converted_payment": {"type": "double precision", "index": 27, "name": "total_current_converted_payment", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.quickbooks__ap_ar_enhanced"}, "analysis.quickbooks.quickbooks__balance_sheet": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "quickbooks__balance_sheet", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"calendar_date": {"type": "date", "index": 1, "name": "calendar_date", "comment": null}, "period_first_day": {"type": "date", "index": 2, "name": "period_first_day", "comment": null}, "period_last_day": {"type": "date", "index": 3, "name": "period_last_day", "comment": null}, "source_relation": {"type": "text", "index": 4, "name": "source_relation", "comment": null}, "account_class": {"type": "text", "index": 5, "name": "account_class", "comment": null}, "class_id": {"type": "text", "index": 6, "name": "class_id", "comment": null}, "is_sub_account": {"type": "boolean", "index": 7, "name": "is_sub_account", "comment": null}, "parent_account_number": {"type": "text", "index": 8, "name": "parent_account_number", "comment": null}, "parent_account_name": {"type": "text", "index": 9, "name": "parent_account_name", "comment": null}, "account_type": {"type": "text", "index": 10, "name": "account_type", "comment": null}, "account_sub_type": {"type": "text", "index": 11, "name": "account_sub_type", "comment": null}, "account_number": {"type": "text", "index": 12, "name": "account_number", "comment": null}, "account_id": {"type": "text", "index": 13, "name": "account_id", "comment": null}, "account_name": {"type": "text", "index": 14, "name": "account_name", "comment": null}, "amount": {"type": "numeric", "index": 15, "name": "amount", "comment": null}, "converted_amount": {"type": "numeric", "index": 16, "name": "converted_amount", "comment": null}, "account_ordinal": {"type": "integer", "index": 17, "name": "account_ordinal", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "analysis.quickbooks.quickbooks__balance_sheet"}, "model.quickbooks.quickbooks__cash_flow_statement": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "quickbooks__cash_flow_statement", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"cash_flow_period": {"type": "date", "index": 1, "name": "cash_flow_period", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "account_class": {"type": "text", "index": 3, "name": "account_class", "comment": null}, "class_id": {"type": "text", "index": 4, "name": "class_id", "comment": null}, "is_sub_account": {"type": "boolean", "index": 5, "name": "is_sub_account", "comment": null}, "parent_account_number": {"type": "text", "index": 6, "name": "parent_account_number", "comment": null}, "parent_account_name": {"type": "text", "index": 7, "name": "parent_account_name", "comment": null}, "account_type": {"type": "text", "index": 8, "name": "account_type", "comment": null}, "account_sub_type": {"type": "text", "index": 9, "name": "account_sub_type", "comment": null}, "account_number": {"type": "text", "index": 10, "name": "account_number", "comment": null}, "account_id": {"type": "text", "index": 11, "name": "account_id", "comment": null}, "account_name": {"type": "text", "index": 12, "name": "account_name", "comment": null}, "cash_ending_period": {"type": "numeric", "index": 13, "name": "cash_ending_period", "comment": null}, "cash_converted_ending_period": {"type": "numeric", "index": 14, "name": "cash_converted_ending_period", "comment": null}, "account_unique_id": {"type": "text", "index": 15, "name": "account_unique_id", "comment": null}, "cash_flow_type": {"type": "text", "index": 16, "name": "cash_flow_type", "comment": null}, "cash_flow_ordinal": {"type": "integer", "index": 17, "name": "cash_flow_ordinal", "comment": null}, "cash_beginning_period": {"type": "numeric", "index": 18, "name": "cash_beginning_period", "comment": null}, "cash_net_period": {"type": "numeric", "index": 19, "name": "cash_net_period", "comment": null}, "cash_converted_beginning_period": {"type": "numeric", "index": 20, "name": "cash_converted_beginning_period", "comment": null}, "cash_converted_net_period": {"type": "numeric", "index": 21, "name": "cash_converted_net_period", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.quickbooks__cash_flow_statement"}, "model.quickbooks.quickbooks__expenses_sales_enhanced": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "quickbooks__expenses_sales_enhanced", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transaction_source": {"type": "text", "index": 1, "name": "transaction_source", "comment": null}, "transaction_id": {"type": "text", "index": 2, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 3, "name": "source_relation", "comment": null}, "transaction_line_id": {"type": "integer", "index": 4, "name": "transaction_line_id", "comment": null}, "doc_number": {"type": "text", "index": 5, "name": "doc_number", "comment": null}, "transaction_type": {"type": "text", "index": 6, "name": "transaction_type", "comment": null}, "transaction_date": {"type": "date", "index": 7, "name": "transaction_date", "comment": null}, "item_id": {"type": "text", "index": 8, "name": "item_id", "comment": null}, "item_quantity": {"type": "double precision", "index": 9, "name": "item_quantity", "comment": null}, "item_unit_price": {"type": "double precision", "index": 10, "name": "item_unit_price", "comment": null}, "account_id": {"type": "text", "index": 11, "name": "account_id", "comment": null}, "account_name": {"type": "text", "index": 12, "name": "account_name", "comment": null}, "account_sub_type": {"type": "text", "index": 13, "name": "account_sub_type", "comment": null}, "class_id": {"type": "text", "index": 14, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 15, "name": "department_id", "comment": null}, "department_name": {"type": "text", "index": 16, "name": "department_name", "comment": null}, "customer_id": {"type": "text", "index": 17, "name": "customer_id", "comment": null}, "customer_name": {"type": "text", "index": 18, "name": "customer_name", "comment": null}, "customer_website": {"type": "integer", "index": 19, "name": "customer_website", "comment": null}, "vendor_id": {"type": "text", "index": 20, "name": "vendor_id", "comment": null}, "vendor_name": {"type": "text", "index": 21, "name": "vendor_name", "comment": null}, "billable_status": {"type": "text", "index": 22, "name": "billable_status", "comment": null}, "description": {"type": "text", "index": 23, "name": "description", "comment": null}, "amount": {"type": "double precision", "index": 24, "name": "amount", "comment": null}, "converted_amount": {"type": "double precision", "index": 25, "name": "converted_amount", "comment": null}, "total_amount": {"type": "integer", "index": 26, "name": "total_amount", "comment": null}, "total_converted_amount": {"type": "integer", "index": 27, "name": "total_converted_amount", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.quickbooks__expenses_sales_enhanced"}, "model.quickbooks.quickbooks__general_ledger": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "quickbooks__general_ledger", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"unique_id": {"type": "text", "index": 1, "name": "unique_id", "comment": null}, "transaction_id": {"type": "text", "index": 2, "name": "transaction_id", "comment": null}, "source_relation": {"type": "text", "index": 3, "name": "source_relation", "comment": null}, "transaction_index": {"type": "integer", "index": 4, "name": "transaction_index", "comment": null}, "transaction_date": {"type": "date", "index": 5, "name": "transaction_date", "comment": null}, "customer_id": {"type": "text", "index": 6, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 7, "name": "vendor_id", "comment": null}, "amount": {"type": "integer", "index": 8, "name": "amount", "comment": null}, "account_id": {"type": "text", "index": 9, "name": "account_id", "comment": null}, "class_id": {"type": "text", "index": 10, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 11, "name": "department_id", "comment": null}, "account_number": {"type": "text", "index": 12, "name": "account_number", "comment": null}, "account_name": {"type": "text", "index": 13, "name": "account_name", "comment": null}, "is_sub_account": {"type": "boolean", "index": 14, "name": "is_sub_account", "comment": null}, "parent_account_number": {"type": "text", "index": 15, "name": "parent_account_number", "comment": null}, "parent_account_name": {"type": "text", "index": 16, "name": "parent_account_name", "comment": null}, "account_type": {"type": "text", "index": 17, "name": "account_type", "comment": null}, "account_sub_type": {"type": "text", "index": 18, "name": "account_sub_type", "comment": null}, "financial_statement_helper": {"type": "text", "index": 19, "name": "financial_statement_helper", "comment": null}, "account_current_balance": {"type": "integer", "index": 20, "name": "account_current_balance", "comment": null}, "account_class": {"type": "text", "index": 21, "name": "account_class", "comment": null}, "transaction_type": {"type": "text", "index": 22, "name": "transaction_type", "comment": null}, "transaction_source": {"type": "text", "index": 23, "name": "transaction_source", "comment": null}, "account_transaction_type": {"type": "text", "index": 24, "name": "account_transaction_type", "comment": null}, "adjusted_amount": {"type": "integer", "index": 25, "name": "adjusted_amount", "comment": null}, "adjusted_converted_amount": {"type": "integer", "index": 26, "name": "adjusted_converted_amount", "comment": null}, "running_balance": {"type": "bigint", "index": 27, "name": "running_balance", "comment": null}, "running_converted_balance": {"type": "bigint", "index": 28, "name": "running_converted_balance", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.quickbooks__general_ledger"}, "model.quickbooks.quickbooks__general_ledger_by_period": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "quickbooks__general_ledger_by_period", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"account_id": {"type": "text", "index": 1, "name": "account_id", "comment": null}, "source_relation": {"type": "text", "index": 2, "name": "source_relation", "comment": null}, "account_number": {"type": "text", "index": 3, "name": "account_number", "comment": null}, "account_name": {"type": "text", "index": 4, "name": "account_name", "comment": null}, "is_sub_account": {"type": "boolean", "index": 5, "name": "is_sub_account", "comment": null}, "parent_account_number": {"type": "text", "index": 6, "name": "parent_account_number", "comment": null}, "parent_account_name": {"type": "text", "index": 7, "name": "parent_account_name", "comment": null}, "account_type": {"type": "text", "index": 8, "name": "account_type", "comment": null}, "account_sub_type": {"type": "text", "index": 9, "name": "account_sub_type", "comment": null}, "account_class": {"type": "text", "index": 10, "name": "account_class", "comment": null}, "class_id": {"type": "text", "index": 11, "name": "class_id", "comment": null}, "financial_statement_helper": {"type": "text", "index": 12, "name": "financial_statement_helper", "comment": null}, "date_year": {"type": "date", "index": 13, "name": "date_year", "comment": null}, "period_first_day": {"type": "date", "index": 14, "name": "period_first_day", "comment": null}, "period_last_day": {"type": "date", "index": 15, "name": "period_last_day", "comment": null}, "period_net_change": {"type": "numeric", "index": 16, "name": "period_net_change", "comment": null}, "period_beginning_balance": {"type": "numeric", "index": 17, "name": "period_beginning_balance", "comment": null}, "period_ending_balance": {"type": "numeric", "index": 18, "name": "period_ending_balance", "comment": null}, "period_net_converted_change": {"type": "numeric", "index": 19, "name": "period_net_converted_change", "comment": null}, "period_beginning_converted_balance": {"type": "numeric", "index": 20, "name": "period_beginning_converted_balance", "comment": null}, "period_ending_converted_balance": {"type": "numeric", "index": 21, "name": "period_ending_converted_balance", "comment": null}, "account_ordinal": {"type": "integer", "index": 22, "name": "account_ordinal", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.quickbooks__general_ledger_by_period"}, "model.quickbooks.quickbooks__profit_and_loss": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "quickbooks__profit_and_loss", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"calendar_date": {"type": "date", "index": 1, "name": "calendar_date", "comment": null}, "period_first_day": {"type": "date", "index": 2, "name": "period_first_day", "comment": null}, "period_last_day": {"type": "date", "index": 3, "name": "period_last_day", "comment": null}, "source_relation": {"type": "text", "index": 4, "name": "source_relation", "comment": null}, "account_class": {"type": "text", "index": 5, "name": "account_class", "comment": null}, "class_id": {"type": "text", "index": 6, "name": "class_id", "comment": null}, "is_sub_account": {"type": "boolean", "index": 7, "name": "is_sub_account", "comment": null}, "parent_account_number": {"type": "text", "index": 8, "name": "parent_account_number", "comment": null}, "parent_account_name": {"type": "text", "index": 9, "name": "parent_account_name", "comment": null}, "account_type": {"type": "text", "index": 10, "name": "account_type", "comment": null}, "account_sub_type": {"type": "text", "index": 11, "name": "account_sub_type", "comment": null}, "account_number": {"type": "text", "index": 12, "name": "account_number", "comment": null}, "account_id": {"type": "text", "index": 13, "name": "account_id", "comment": null}, "account_name": {"type": "text", "index": 14, "name": "account_name", "comment": null}, "amount": {"type": "numeric", "index": 15, "name": "amount", "comment": null}, "converted_amount": {"type": "numeric", "index": 16, "name": "converted_amount", "comment": null}, "account_ordinal": {"type": "integer", "index": 17, "name": "account_ordinal", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks.quickbooks__profit_and_loss"}, "model.quickbooks_source.stg_quickbooks__account": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__account", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"account_id": {"type": "text", "index": 1, "name": "account_id", "comment": null}, "account_number": {"type": "text", "index": 2, "name": "account_number", "comment": null}, "is_sub_account": {"type": "boolean", "index": 3, "name": "is_sub_account", "comment": null}, "parent_account_id": {"type": "text", "index": 4, "name": "parent_account_id", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "account_type": {"type": "text", "index": 6, "name": "account_type", "comment": null}, "account_sub_type": {"type": "text", "index": 7, "name": "account_sub_type", "comment": null}, "classification": {"type": "text", "index": 8, "name": "classification", "comment": null}, "balance": {"type": "integer", "index": 9, "name": "balance", "comment": null}, "balance_with_sub_accounts": {"type": "integer", "index": 10, "name": "balance_with_sub_accounts", "comment": null}, "is_active": {"type": "boolean", "index": 11, "name": "is_active", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 12, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 13, "name": "currency_id", "comment": null}, "description": {"type": "integer", "index": 14, "name": "description", "comment": null}, "fully_qualified_name": {"type": "text", "index": 15, "name": "fully_qualified_name", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 16, "name": "updated_at", "comment": null}, "source_relation": {"type": "text", "index": 17, "name": "source_relation", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 18, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__account"}, "model.quickbooks_source.stg_quickbooks__account_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__account_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "account_number": {"type": "integer", "index": 3, "name": "account_number", "comment": null}, "account_sub_type": {"type": "text", "index": 4, "name": "account_sub_type", "comment": null}, "account_type": {"type": "text", "index": 5, "name": "account_type", "comment": null}, "active": {"type": "boolean", "index": 6, "name": "active", "comment": null}, "balance": {"type": "integer", "index": 7, "name": "balance", "comment": null}, "balance_with_sub_accounts": {"type": "integer", "index": 8, "name": "balance_with_sub_accounts", "comment": null}, "classification": {"type": "text", "index": 9, "name": "classification", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 10, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 11, "name": "currency_id", "comment": null}, "description": {"type": "integer", "index": 12, "name": "description", "comment": null}, "fully_qualified_name": {"type": "text", "index": 13, "name": "fully_qualified_name", "comment": null}, "name": {"type": "text", "index": 14, "name": "name", "comment": null}, "parent_account_id": {"type": "integer", "index": 15, "name": "parent_account_id", "comment": null}, "sub_account": {"type": "boolean", "index": 16, "name": "sub_account", "comment": null}, "sync_token": {"type": "integer", "index": 17, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 18, "name": "tax_code_id", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 19, "name": "updated_at", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 20, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__account_tmp"}, "model.quickbooks_source.stg_quickbooks__address": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__address", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"address_id": {"type": "text", "index": 1, "name": "address_id", "comment": null}, "city": {"type": "text", "index": 2, "name": "city", "comment": null}, "country": {"type": "text", "index": 3, "name": "country", "comment": null}, "address_1": {"type": "text", "index": 4, "name": "address_1", "comment": null}, "address_2": {"type": "text", "index": 5, "name": "address_2", "comment": null}, "postal_code": {"type": "integer", "index": 6, "name": "postal_code", "comment": null}, "source_relation": {"type": "text", "index": 7, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__address"}, "model.quickbooks_source.stg_quickbooks__address_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__address_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "city": {"type": "text", "index": 3, "name": "city", "comment": null}, "country": {"type": "text", "index": 4, "name": "country", "comment": null}, "country_sub_division_code": {"type": "text", "index": 5, "name": "country_sub_division_code", "comment": null}, "latitude": {"type": "integer", "index": 6, "name": "latitude", "comment": null}, "line_1": {"type": "text", "index": 7, "name": "line_1", "comment": null}, "line_2": {"type": "text", "index": 8, "name": "line_2", "comment": null}, "line_3": {"type": "integer", "index": 9, "name": "line_3", "comment": null}, "line_4": {"type": "integer", "index": 10, "name": "line_4", "comment": null}, "line_5": {"type": "integer", "index": 11, "name": "line_5", "comment": null}, "longitude": {"type": "integer", "index": 12, "name": "longitude", "comment": null}, "postal_code": {"type": "integer", "index": 13, "name": "postal_code", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__address_tmp"}, "model.quickbooks_source.stg_quickbooks__bill": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__bill", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bill_id": {"type": "text", "index": 1, "name": "bill_id", "comment": null}, "balance": {"type": "integer", "index": 2, "name": "balance", "comment": null}, "doc_number": {"type": "text", "index": 3, "name": "doc_number", "comment": null}, "currency_id": {"type": "text", "index": 4, "name": "currency_id", "comment": null}, "department_id": {"type": "text", "index": 5, "name": "department_id", "comment": null}, "due_date_at": {"type": "date", "index": 6, "name": "due_date_at", "comment": null}, "transaction_date": {"type": "date", "index": 7, "name": "transaction_date", "comment": null}, "exchange_rate": {"type": "integer", "index": 8, "name": "exchange_rate", "comment": null}, "payable_account_id": {"type": "text", "index": 9, "name": "payable_account_id", "comment": null}, "total_amount": {"type": "integer", "index": 10, "name": "total_amount", "comment": null}, "vendor_id": {"type": "text", "index": 11, "name": "vendor_id", "comment": null}, "private_note": {"type": "text", "index": 12, "name": "private_note", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 13, "name": "_fivetran_deleted", "comment": null}, "source_relation": {"type": "text", "index": 14, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__bill"}, "model.quickbooks_source.stg_quickbooks__bill_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__bill_line", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bill_id": {"type": "text", "index": 1, "name": "bill_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "account_expense_account_id": {"type": "text", "index": 3, "name": "account_expense_account_id", "comment": null}, "account_expense_class_id": {"type": "text", "index": 4, "name": "account_expense_class_id", "comment": null}, "account_expense_billable_status": {"type": "character varying(100)", "index": 5, "name": "account_expense_billable_status", "comment": null}, "account_expense_tax_code_id": {"type": "text", "index": 6, "name": "account_expense_tax_code_id", "comment": null}, "account_expense_customer_id": {"type": "text", "index": 7, "name": "account_expense_customer_id", "comment": null}, "item_expense_item_id": {"type": "text", "index": 8, "name": "item_expense_item_id", "comment": null}, "item_expense_customer_id": {"type": "text", "index": 9, "name": "item_expense_customer_id", "comment": null}, "item_expense_billable_status": {"type": "character varying(100)", "index": 10, "name": "item_expense_billable_status", "comment": null}, "item_expense_class_id": {"type": "text", "index": 11, "name": "item_expense_class_id", "comment": null}, "amount": {"type": "double precision", "index": 12, "name": "amount", "comment": null}, "description": {"type": "text", "index": 13, "name": "description", "comment": null}, "source_relation": {"type": "text", "index": 14, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__bill_line"}, "model.quickbooks_source.stg_quickbooks__bill_line_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__bill_line_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bill_id": {"type": "integer", "index": 1, "name": "bill_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_expense_account_id": {"type": "integer", "index": 4, "name": "account_expense_account_id", "comment": null}, "account_expense_billable_status": {"type": "character varying(100)", "index": 5, "name": "account_expense_billable_status", "comment": null}, "account_expense_class_id": {"type": "integer", "index": 6, "name": "account_expense_class_id", "comment": null}, "account_expense_customer_id": {"type": "integer", "index": 7, "name": "account_expense_customer_id", "comment": null}, "account_expense_tax_amount": {"type": "integer", "index": 8, "name": "account_expense_tax_amount", "comment": null}, "account_expense_tax_code_id": {"type": "text", "index": 9, "name": "account_expense_tax_code_id", "comment": null}, "amount": {"type": "double precision", "index": 10, "name": "amount", "comment": null}, "description": {"type": "text", "index": 11, "name": "description", "comment": null}, "item_expense_billable_status": {"type": "character varying(100)", "index": 12, "name": "item_expense_billable_status", "comment": null}, "item_expense_class_id": {"type": "integer", "index": 13, "name": "item_expense_class_id", "comment": null}, "item_expense_customer_id": {"type": "integer", "index": 14, "name": "item_expense_customer_id", "comment": null}, "item_expense_item_id": {"type": "integer", "index": 15, "name": "item_expense_item_id", "comment": null}, "item_expense_quantity": {"type": "integer", "index": 16, "name": "item_expense_quantity", "comment": null}, "item_expense_tax_code_id": {"type": "integer", "index": 17, "name": "item_expense_tax_code_id", "comment": null}, "item_expense_unit_price": {"type": "integer", "index": 18, "name": "item_expense_unit_price", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__bill_line_tmp"}, "model.quickbooks_source.stg_quickbooks__bill_linked_txn": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__bill_linked_txn", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bill_id": {"type": "text", "index": 1, "name": "bill_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "bill_payment_id": {"type": "text", "index": 3, "name": "bill_payment_id", "comment": null}, "source_relation": {"type": "text", "index": 4, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__bill_linked_txn"}, "model.quickbooks_source.stg_quickbooks__bill_linked_txn_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__bill_linked_txn_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bill_id": {"type": "integer", "index": 1, "name": "bill_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "bill_payment_id": {"type": "integer", "index": 4, "name": "bill_payment_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__bill_linked_txn_tmp"}, "model.quickbooks_source.stg_quickbooks__bill_payment": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__bill_payment", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bill_payment_id": {"type": "text", "index": 1, "name": "bill_payment_id", "comment": null}, "check_bank_account_id": {"type": "text", "index": 2, "name": "check_bank_account_id", "comment": null}, "check_print_status": {"type": "text", "index": 3, "name": "check_print_status", "comment": null}, "credit_card_account_id": {"type": "text", "index": 4, "name": "credit_card_account_id", "comment": null}, "exchange_rate": {"type": "integer", "index": 5, "name": "exchange_rate", "comment": null}, "currency_id": {"type": "text", "index": 6, "name": "currency_id", "comment": null}, "department_id": {"type": "text", "index": 7, "name": "department_id", "comment": null}, "pay_type": {"type": "text", "index": 8, "name": "pay_type", "comment": null}, "total_amount": {"type": "integer", "index": 9, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 10, "name": "transaction_date", "comment": null}, "vendor_id": {"type": "text", "index": 11, "name": "vendor_id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 12, "name": "_fivetran_deleted", "comment": null}, "source_relation": {"type": "text", "index": 13, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__bill_payment"}, "model.quickbooks_source.stg_quickbooks__bill_payment_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__bill_payment_line", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bill_payment_id": {"type": "text", "index": 1, "name": "bill_payment_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "amount": {"type": "integer", "index": 3, "name": "amount", "comment": null}, "bill_id": {"type": "text", "index": 4, "name": "bill_id", "comment": null}, "deposit_id": {"type": "integer", "index": 5, "name": "deposit_id", "comment": null}, "expense_id": {"type": "integer", "index": 6, "name": "expense_id", "comment": null}, "journal_entry_id": {"type": "integer", "index": 7, "name": "journal_entry_id", "comment": null}, "linked_bill_payment_id": {"type": "integer", "index": 8, "name": "linked_bill_payment_id", "comment": null}, "vendor_credit_id": {"type": "integer", "index": 9, "name": "vendor_credit_id", "comment": null}, "source_relation": {"type": "text", "index": 10, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__bill_payment_line"}, "model.quickbooks_source.stg_quickbooks__bill_payment_line_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__bill_payment_line_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bill_payment_id": {"type": "integer", "index": 1, "name": "bill_payment_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "bill_id": {"type": "integer", "index": 5, "name": "bill_id", "comment": null}, "check_id": {"type": "integer", "index": 6, "name": "check_id", "comment": null}, "credit_card_charge_id": {"type": "integer", "index": 7, "name": "credit_card_charge_id", "comment": null}, "credit_card_credit_id": {"type": "integer", "index": 8, "name": "credit_card_credit_id", "comment": null}, "deposit_id": {"type": "integer", "index": 9, "name": "deposit_id", "comment": null}, "expense_id": {"type": "integer", "index": 10, "name": "expense_id", "comment": null}, "journal_entry_id": {"type": "integer", "index": 11, "name": "journal_entry_id", "comment": null}, "linked_bill_payment_id": {"type": "integer", "index": 12, "name": "linked_bill_payment_id", "comment": null}, "vendor_credit_id": {"type": "integer", "index": 13, "name": "vendor_credit_id", "comment": null}, "bill_payment_credit_card_id": {"type": "integer", "index": 14, "name": "bill_payment_credit_card_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__bill_payment_line_tmp"}, "model.quickbooks_source.stg_quickbooks__bill_payment_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__bill_payment_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "check_bank_account_id": {"type": "integer", "index": 4, "name": "check_bank_account_id", "comment": null}, "check_print_status": {"type": "text", "index": 5, "name": "check_print_status", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 6, "name": "created_at", "comment": null}, "credit_card_account_id": {"type": "integer", "index": 7, "name": "credit_card_account_id", "comment": null}, "currency_id": {"type": "text", "index": 8, "name": "currency_id", "comment": null}, "department_id": {"type": "integer", "index": 9, "name": "department_id", "comment": null}, "doc_number": {"type": "integer", "index": 10, "name": "doc_number", "comment": null}, "exchange_rate": {"type": "integer", "index": 11, "name": "exchange_rate", "comment": null}, "pay_type": {"type": "text", "index": 12, "name": "pay_type", "comment": null}, "payable_account_id": {"type": "integer", "index": 13, "name": "payable_account_id", "comment": null}, "private_note": {"type": "integer", "index": 14, "name": "private_note", "comment": null}, "process_bill_payment": {"type": "integer", "index": 15, "name": "process_bill_payment", "comment": null}, "sync_token": {"type": "integer", "index": 16, "name": "sync_token", "comment": null}, "total_amount": {"type": "integer", "index": 17, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 18, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 19, "name": "updated_at", "comment": null}, "vendor_id": {"type": "integer", "index": 20, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__bill_payment_tmp"}, "model.quickbooks_source.stg_quickbooks__bill_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__bill_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "balance": {"type": "integer", "index": 4, "name": "balance", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 6, "name": "currency_id", "comment": null}, "department_id": {"type": "integer", "index": 7, "name": "department_id", "comment": null}, "doc_number": {"type": "date", "index": 8, "name": "doc_number", "comment": null}, "due_date": {"type": "date", "index": 9, "name": "due_date", "comment": null}, "exchange_rate": {"type": "integer", "index": 10, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 11, "name": "global_tax_calculation", "comment": null}, "home_balance": {"type": "integer", "index": 12, "name": "home_balance", "comment": null}, "payable_account_id": {"type": "integer", "index": 13, "name": "payable_account_id", "comment": null}, "private_note": {"type": "text", "index": 14, "name": "private_note", "comment": null}, "sales_term_id": {"type": "integer", "index": 15, "name": "sales_term_id", "comment": null}, "sync_token": {"type": "integer", "index": 16, "name": "sync_token", "comment": null}, "total_amount": {"type": "integer", "index": 17, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 18, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 19, "name": "updated_at", "comment": null}, "vendor_id": {"type": "integer", "index": 20, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__bill_tmp"}, "model.quickbooks_source.stg_quickbooks__bundle": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__bundle", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bundle_id": {"type": "text", "index": 1, "name": "bundle_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 2, "name": "created_at", "comment": null}, "is_active": {"type": "boolean", "index": 3, "name": "is_active", "comment": null}, "fully_qualified_name": {"type": "text", "index": 4, "name": "fully_qualified_name", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 5, "name": "updated_at", "comment": null}, "source_relation": {"type": "text", "index": 6, "name": "source_relation", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 7, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__bundle"}, "model.quickbooks_source.stg_quickbooks__bundle_item": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__bundle_item", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bundle_id": {"type": "text", "index": 1, "name": "bundle_id", "comment": null}, "item_id": {"type": "text", "index": 2, "name": "item_id", "comment": null}, "item_quantity": {"type": "integer", "index": 3, "name": "item_quantity", "comment": null}, "source_relation": {"type": "text", "index": 4, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__bundle_item"}, "model.quickbooks_source.stg_quickbooks__bundle_item_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__bundle_item_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bundle_id": {"type": "integer", "index": 1, "name": "bundle_id", "comment": null}, "item_id": {"type": "integer", "index": 2, "name": "item_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "item_quantity": {"type": "integer", "index": 4, "name": "item_quantity", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__bundle_item_tmp"}, "model.quickbooks_source.stg_quickbooks__bundle_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__bundle_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "active": {"type": "boolean", "index": 3, "name": "active", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 4, "name": "created_at", "comment": null}, "description": {"type": "text", "index": 5, "name": "description", "comment": null}, "fully_qualified_name": {"type": "text", "index": 6, "name": "fully_qualified_name", "comment": null}, "name": {"type": "text", "index": 7, "name": "name", "comment": null}, "print_grouped_items": {"type": "boolean", "index": 8, "name": "print_grouped_items", "comment": null}, "purchase_cost": {"type": "integer", "index": 9, "name": "purchase_cost", "comment": null}, "sync_token": {"type": "integer", "index": 10, "name": "sync_token", "comment": null}, "taxable": {"type": "boolean", "index": 11, "name": "taxable", "comment": null}, "unit_price": {"type": "integer", "index": 12, "name": "unit_price", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 13, "name": "updated_at", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 14, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__bundle_tmp"}, "model.quickbooks_source.stg_quickbooks__credit_card_payment_txn": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__credit_card_payment_txn", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"credit_card_payment_id": {"type": "text", "index": 1, "name": "credit_card_payment_id", "comment": null}, "amount": {"type": "double precision", "index": 2, "name": "amount", "comment": null}, "bank_account_id": {"type": "integer", "index": 3, "name": "bank_account_id", "comment": null}, "credit_card_account_id": {"type": "integer", "index": 4, "name": "credit_card_account_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 6, "name": "updated_at", "comment": null}, "currency_id": {"type": "text", "index": 7, "name": "currency_id", "comment": null}, "transaction_date": {"type": "date", "index": 8, "name": "transaction_date", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 9, "name": "_fivetran_deleted", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 10, "name": "is_most_recent_record", "comment": null}, "source_relation": {"type": "text", "index": 11, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__credit_card_payment_txn"}, "model.quickbooks_source.stg_quickbooks__credit_card_payment_txn_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__credit_card_payment_txn_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "amount": {"type": "double precision", "index": 2, "name": "amount", "comment": null}, "bank_account_id": {"type": "integer", "index": 3, "name": "bank_account_id", "comment": null}, "credit_card_account_id": {"type": "integer", "index": 4, "name": "credit_card_account_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 6, "name": "updated_at", "comment": null}, "currency_id": {"type": "text", "index": 7, "name": "currency_id", "comment": null}, "transaction_date": {"type": "date", "index": 8, "name": "transaction_date", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 9, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__credit_card_payment_txn_tmp"}, "model.quickbooks_source.stg_quickbooks__credit_memo": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__credit_memo", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"credit_memo_id": {"type": "text", "index": 1, "name": "credit_memo_id", "comment": null}, "balance": {"type": "integer", "index": 2, "name": "balance", "comment": null}, "doc_number": {"type": "text", "index": 3, "name": "doc_number", "comment": null}, "total_amount": {"type": "integer", "index": 4, "name": "total_amount", "comment": null}, "currency_id": {"type": "text", "index": 5, "name": "currency_id", "comment": null}, "class_id": {"type": "text", "index": 6, "name": "class_id", "comment": null}, "department_id": {"type": "text", "index": 7, "name": "department_id", "comment": null}, "customer_id": {"type": "text", "index": 8, "name": "customer_id", "comment": null}, "exchange_rate": {"type": "integer", "index": 9, "name": "exchange_rate", "comment": null}, "transaction_date": {"type": "date", "index": 10, "name": "transaction_date", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 11, "name": "_fivetran_deleted", "comment": null}, "source_relation": {"type": "text", "index": 12, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__credit_memo"}, "model.quickbooks_source.stg_quickbooks__credit_memo_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__credit_memo_line", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"credit_memo_id": {"type": "text", "index": 1, "name": "credit_memo_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "amount": {"type": "integer", "index": 3, "name": "amount", "comment": null}, "sales_item_account_id": {"type": "text", "index": 4, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "text", "index": 5, "name": "sales_item_class_id", "comment": null}, "sales_item_item_id": {"type": "text", "index": 6, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "double precision", "index": 7, "name": "sales_item_quantity", "comment": null}, "sales_item_unit_price": {"type": "double precision", "index": 8, "name": "sales_item_unit_price", "comment": null}, "discount_account_id": {"type": "text", "index": 9, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "text", "index": 10, "name": "discount_class_id", "comment": null}, "description": {"type": "text", "index": 11, "name": "description", "comment": null}, "source_relation": {"type": "text", "index": 12, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__credit_memo_line"}, "model.quickbooks_source.stg_quickbooks__credit_memo_line_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__credit_memo_line_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"credit_memo_id": {"type": "integer", "index": 1, "name": "credit_memo_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "bundle_id": {"type": "integer", "index": 5, "name": "bundle_id", "comment": null}, "bundle_quantity": {"type": "integer", "index": 6, "name": "bundle_quantity", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 8, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 9, "name": "description_tax_code_id", "comment": null}, "discount_account_id": {"type": "integer", "index": 10, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "integer", "index": 11, "name": "discount_class_id", "comment": null}, "discount_discount_percent": {"type": "integer", "index": 12, "name": "discount_discount_percent", "comment": null}, "discount_percent_based": {"type": "integer", "index": 13, "name": "discount_percent_based", "comment": null}, "discount_tax_code_id": {"type": "integer", "index": 14, "name": "discount_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 15, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "integer", "index": 16, "name": "sales_item_class_id", "comment": null}, "sales_item_discount_amount": {"type": "integer", "index": 17, "name": "sales_item_discount_amount", "comment": null}, "sales_item_discount_rate": {"type": "integer", "index": 18, "name": "sales_item_discount_rate", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 19, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "double precision", "index": 20, "name": "sales_item_quantity", "comment": null}, "sales_item_service_date": {"type": "integer", "index": 21, "name": "sales_item_service_date", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 22, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_unit_price": {"type": "double precision", "index": 23, "name": "sales_item_unit_price", "comment": null}, "sub_total_item_id": {"type": "integer", "index": 24, "name": "sub_total_item_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__credit_memo_line_tmp"}, "model.quickbooks_source.stg_quickbooks__credit_memo_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__credit_memo_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "apply_tax_after_discount": {"type": "boolean", "index": 4, "name": "apply_tax_after_discount", "comment": null}, "balance": {"type": "integer", "index": 5, "name": "balance", "comment": null}, "bill_email": {"type": "text", "index": 6, "name": "bill_email", "comment": null}, "billing_address_id": {"type": "integer", "index": 7, "name": "billing_address_id", "comment": null}, "class_id": {"type": "integer", "index": 8, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 9, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 10, "name": "currency_id", "comment": null}, "custom_p_o_number": {"type": "integer", "index": 11, "name": "custom_p_o_number", "comment": null}, "customer_id": {"type": "integer", "index": 12, "name": "customer_id", "comment": null}, "customer_memo": {"type": "text", "index": 13, "name": "customer_memo", "comment": null}, "department_id": {"type": "integer", "index": 14, "name": "department_id", "comment": null}, "doc_number": {"type": "integer", "index": 15, "name": "doc_number", "comment": null}, "email_status": {"type": "text", "index": 16, "name": "email_status", "comment": null}, "exchange_rate": {"type": "integer", "index": 17, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 18, "name": "global_tax_calculation", "comment": null}, "home_balance": {"type": "integer", "index": 19, "name": "home_balance", "comment": null}, "home_total_amount": {"type": "integer", "index": 20, "name": "home_total_amount", "comment": null}, "payment_method_id": {"type": "integer", "index": 21, "name": "payment_method_id", "comment": null}, "print_status": {"type": "text", "index": 22, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 23, "name": "private_note", "comment": null}, "remaining_credit": {"type": "integer", "index": 24, "name": "remaining_credit", "comment": null}, "sales_term_id": {"type": "integer", "index": 25, "name": "sales_term_id", "comment": null}, "shipping_address_id": {"type": "integer", "index": 26, "name": "shipping_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 27, "name": "sync_token", "comment": null}, "total_amount": {"type": "integer", "index": 28, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 29, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 30, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 31, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__credit_memo_tmp"}, "model.quickbooks_source.stg_quickbooks__customer": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__customer", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"customer_id": {"type": "text", "index": 1, "name": "customer_id", "comment": null}, "is_active": {"type": "boolean", "index": 2, "name": "is_active", "comment": null}, "balance": {"type": "integer", "index": 3, "name": "balance", "comment": null}, "balance_with_jobs": {"type": "integer", "index": 4, "name": "balance_with_jobs", "comment": null}, "bill_with_parent": {"type": "boolean", "index": 5, "name": "bill_with_parent", "comment": null}, "company_name": {"type": "text", "index": 6, "name": "company_name", "comment": null}, "fully_qualified_name": {"type": "text", "index": 7, "name": "fully_qualified_name", "comment": null}, "currency_id": {"type": "text", "index": 8, "name": "currency_id", "comment": null}, "display_name": {"type": "text", "index": 9, "name": "display_name", "comment": null}, "website": {"type": "integer", "index": 10, "name": "website", "comment": null}, "taxable": {"type": "boolean", "index": 11, "name": "taxable", "comment": null}, "source_relation": {"type": "text", "index": 12, "name": "source_relation", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 13, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__customer"}, "model.quickbooks_source.stg_quickbooks__customer_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__customer_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "active": {"type": "boolean", "index": 3, "name": "active", "comment": null}, "alternate_phone_number": {"type": "integer", "index": 4, "name": "alternate_phone_number", "comment": null}, "ar_account_id": {"type": "integer", "index": 5, "name": "ar_account_id", "comment": null}, "balance": {"type": "integer", "index": 6, "name": "balance", "comment": null}, "balance_with_jobs": {"type": "integer", "index": 7, "name": "balance_with_jobs", "comment": null}, "bill_address_id": {"type": "integer", "index": 8, "name": "bill_address_id", "comment": null}, "bill_with_parent": {"type": "boolean", "index": 9, "name": "bill_with_parent", "comment": null}, "company_name": {"type": "text", "index": 10, "name": "company_name", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 11, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 12, "name": "currency_id", "comment": null}, "default_tax_code_id": {"type": "integer", "index": 13, "name": "default_tax_code_id", "comment": null}, "display_name": {"type": "text", "index": 14, "name": "display_name", "comment": null}, "email": {"type": "text", "index": 15, "name": "email", "comment": null}, "family_name": {"type": "text", "index": 16, "name": "family_name", "comment": null}, "fax_number": {"type": "integer", "index": 17, "name": "fax_number", "comment": null}, "fully_qualified_name": {"type": "text", "index": 18, "name": "fully_qualified_name", "comment": null}, "given_name": {"type": "text", "index": 19, "name": "given_name", "comment": null}, "job": {"type": "boolean", "index": 20, "name": "job", "comment": null}, "level": {"type": "integer", "index": 21, "name": "level", "comment": null}, "middle_name": {"type": "integer", "index": 22, "name": "middle_name", "comment": null}, "mobile_number": {"type": "integer", "index": 23, "name": "mobile_number", "comment": null}, "notes": {"type": "integer", "index": 24, "name": "notes", "comment": null}, "open_balance_date": {"type": "integer", "index": 25, "name": "open_balance_date", "comment": null}, "parent_customer_id": {"type": "integer", "index": 26, "name": "parent_customer_id", "comment": null}, "payment_method_id": {"type": "integer", "index": 27, "name": "payment_method_id", "comment": null}, "phone_number": {"type": "integer", "index": 28, "name": "phone_number", "comment": null}, "preferred_delivery_method": {"type": "text", "index": 29, "name": "preferred_delivery_method", "comment": null}, "print_on_check_name": {"type": "text", "index": 30, "name": "print_on_check_name", "comment": null}, "resale_number": {"type": "integer", "index": 31, "name": "resale_number", "comment": null}, "sales_term_id": {"type": "integer", "index": 32, "name": "sales_term_id", "comment": null}, "shipping_address_id": {"type": "integer", "index": 33, "name": "shipping_address_id", "comment": null}, "suffix": {"type": "integer", "index": 34, "name": "suffix", "comment": null}, "sync_token": {"type": "integer", "index": 35, "name": "sync_token", "comment": null}, "tax_exemption_reason_id": {"type": "integer", "index": 36, "name": "tax_exemption_reason_id", "comment": null}, "taxable": {"type": "boolean", "index": 37, "name": "taxable", "comment": null}, "title": {"type": "integer", "index": 38, "name": "title", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 39, "name": "updated_at", "comment": null}, "website": {"type": "integer", "index": 40, "name": "website", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 41, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__customer_tmp"}, "model.quickbooks_source.stg_quickbooks__department": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__department", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"department_id": {"type": "text", "index": 1, "name": "department_id", "comment": null}, "is_active": {"type": "boolean", "index": 2, "name": "is_active", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 3, "name": "created_at", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 4, "name": "updated_at", "comment": null}, "fully_qualified_name": {"type": "text", "index": 5, "name": "fully_qualified_name", "comment": null}, "name": {"type": "text", "index": 6, "name": "name", "comment": null}, "is_sub_department": {"type": "boolean", "index": 7, "name": "is_sub_department", "comment": null}, "parent_department_id": {"type": "integer", "index": 8, "name": "parent_department_id", "comment": null}, "source_relation": {"type": "text", "index": 9, "name": "source_relation", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 10, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__department"}, "model.quickbooks_source.stg_quickbooks__department_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__department_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "active": {"type": "boolean", "index": 3, "name": "active", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 4, "name": "created_at", "comment": null}, "fully_qualified_name": {"type": "text", "index": 5, "name": "fully_qualified_name", "comment": null}, "name": {"type": "text", "index": 6, "name": "name", "comment": null}, "parent_department_id": {"type": "integer", "index": 7, "name": "parent_department_id", "comment": null}, "sub_department": {"type": "boolean", "index": 8, "name": "sub_department", "comment": null}, "sync_token": {"type": "integer", "index": 9, "name": "sync_token", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 10, "name": "updated_at", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 11, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__department_tmp"}, "model.quickbooks_source.stg_quickbooks__deposit": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__deposit", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"deposit_id": {"type": "text", "index": 1, "name": "deposit_id", "comment": null}, "account_id": {"type": "text", "index": 2, "name": "account_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 3, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 4, "name": "currency_id", "comment": null}, "department_id": {"type": "text", "index": 5, "name": "department_id", "comment": null}, "total_amount": {"type": "integer", "index": 6, "name": "total_amount", "comment": null}, "home_total_amount": {"type": "integer", "index": 7, "name": "home_total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 8, "name": "transaction_date", "comment": null}, "transaction_status": {"type": "integer", "index": 9, "name": "transaction_status", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 10, "name": "_fivetran_deleted", "comment": null}, "source_relation": {"type": "text", "index": 11, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__deposit"}, "model.quickbooks_source.stg_quickbooks__deposit_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__deposit_line", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"deposit_id": {"type": "text", "index": 1, "name": "deposit_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "amount": {"type": "integer", "index": 3, "name": "amount", "comment": null}, "description": {"type": "text", "index": 4, "name": "description", "comment": null}, "deposit_account_id": {"type": "text", "index": 5, "name": "deposit_account_id", "comment": null}, "deposit_class_id": {"type": "text", "index": 6, "name": "deposit_class_id", "comment": null}, "deposit_customer_id": {"type": "text", "index": 7, "name": "deposit_customer_id", "comment": null}, "source_relation": {"type": "text", "index": 8, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__deposit_line"}, "model.quickbooks_source.stg_quickbooks__deposit_line_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__deposit_line_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"deposit_id": {"type": "integer", "index": 1, "name": "deposit_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "deposit_account_id": {"type": "bigint", "index": 5, "name": "deposit_account_id", "comment": null}, "deposit_check_number": {"type": "integer", "index": 6, "name": "deposit_check_number", "comment": null}, "deposit_class_id": {"type": "bigint", "index": 7, "name": "deposit_class_id", "comment": null}, "deposit_customer_id": {"type": "integer", "index": 8, "name": "deposit_customer_id", "comment": null}, "deposit_payment_method_id": {"type": "integer", "index": 9, "name": "deposit_payment_method_id", "comment": null}, "deposit_tax_applicable_on": {"type": "integer", "index": 10, "name": "deposit_tax_applicable_on", "comment": null}, "deposit_tax_code_id": {"type": "integer", "index": 11, "name": "deposit_tax_code_id", "comment": null}, "deposit_transaction_type": {"type": "integer", "index": 12, "name": "deposit_transaction_type", "comment": null}, "description": {"type": "text", "index": 13, "name": "description", "comment": null}, "detail_type": {"type": "text", "index": 14, "name": "detail_type", "comment": null}, "expense_id": {"type": "integer", "index": 15, "name": "expense_id", "comment": null}, "invoice_id": {"type": "integer", "index": 16, "name": "invoice_id", "comment": null}, "journal_entry_id": {"type": "integer", "index": 17, "name": "journal_entry_id", "comment": null}, "payment_id": {"type": "integer", "index": 18, "name": "payment_id", "comment": null}, "purchase_id": {"type": "integer", "index": 19, "name": "purchase_id", "comment": null}, "refund_receipt_id": {"type": "integer", "index": 20, "name": "refund_receipt_id", "comment": null}, "sales_receipt_id": {"type": "integer", "index": 21, "name": "sales_receipt_id", "comment": null}, "transfer_id": {"type": "integer", "index": 22, "name": "transfer_id", "comment": null}, "bill_id": {"type": "integer", "index": 23, "name": "bill_id", "comment": null}, "vendor_credit_id": {"type": "integer", "index": 24, "name": "vendor_credit_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__deposit_line_tmp"}, "model.quickbooks_source.stg_quickbooks__deposit_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__deposit_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_id": {"type": "integer", "index": 4, "name": "account_id", "comment": null}, "cash_back_account_id": {"type": "integer", "index": 5, "name": "cash_back_account_id", "comment": null}, "cash_back_amount": {"type": "integer", "index": 6, "name": "cash_back_amount", "comment": null}, "cash_back_memo": {"type": "integer", "index": 7, "name": "cash_back_memo", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 8, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 9, "name": "currency_id", "comment": null}, "department_id": {"type": "integer", "index": 10, "name": "department_id", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 11, "name": "global_tax_calculation", "comment": null}, "home_total_amount": {"type": "integer", "index": 12, "name": "home_total_amount", "comment": null}, "private_note": {"type": "text", "index": 13, "name": "private_note", "comment": null}, "sync_token": {"type": "integer", "index": 14, "name": "sync_token", "comment": null}, "total_amount": {"type": "integer", "index": 15, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 16, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 17, "name": "transaction_source", "comment": null}, "transaction_status": {"type": "integer", "index": 18, "name": "transaction_status", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 19, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__deposit_tmp"}, "model.quickbooks_source.stg_quickbooks__estimate": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__estimate", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"estimate_id": {"type": "text", "index": 1, "name": "estimate_id", "comment": null}, "class_id": {"type": "text", "index": 2, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 3, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 4, "name": "currency_id", "comment": null}, "customer_id": {"type": "integer", "index": 5, "name": "customer_id", "comment": null}, "department_id": {"type": "text", "index": 6, "name": "department_id", "comment": null}, "due_date": {"type": "date", "index": 7, "name": "due_date", "comment": null}, "exchange_rate": {"type": "integer", "index": 8, "name": "exchange_rate", "comment": null}, "total_amount": {"type": "double precision", "index": 9, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 10, "name": "transaction_date", "comment": null}, "transaction_status": {"type": "text", "index": 11, "name": "transaction_status", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 12, "name": "_fivetran_deleted", "comment": null}, "source_relation": {"type": "text", "index": 13, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__estimate"}, "model.quickbooks_source.stg_quickbooks__estimate_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__estimate_line", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"estimate_id": {"type": "text", "index": 1, "name": "estimate_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "description": {"type": "text", "index": 3, "name": "description", "comment": null}, "discount_account_id": {"type": "integer", "index": 4, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "text", "index": 5, "name": "discount_class_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 6, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "text", "index": 7, "name": "sales_item_class_id", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 8, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "integer", "index": 9, "name": "sales_item_quantity", "comment": null}, "item_id": {"type": "integer", "index": 10, "name": "item_id", "comment": null}, "quantity": {"type": "integer", "index": 11, "name": "quantity", "comment": null}, "account_id": {"type": "integer", "index": 12, "name": "account_id", "comment": null}, "amount": {"type": "integer", "index": 13, "name": "amount", "comment": null}, "source_relation": {"type": "text", "index": 14, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__estimate_line"}, "model.quickbooks_source.stg_quickbooks__estimate_line_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__estimate_line_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"estimate_id": {"type": "integer", "index": 1, "name": "estimate_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "bundle_id": {"type": "integer", "index": 5, "name": "bundle_id", "comment": null}, "bundle_quantity": {"type": "integer", "index": 6, "name": "bundle_quantity", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 8, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 9, "name": "description_tax_code_id", "comment": null}, "discount_account_id": {"type": "integer", "index": 10, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "integer", "index": 11, "name": "discount_class_id", "comment": null}, "discount_discount_percent": {"type": "integer", "index": 12, "name": "discount_discount_percent", "comment": null}, "discount_percent_based": {"type": "integer", "index": 13, "name": "discount_percent_based", "comment": null}, "discount_tax_code_id": {"type": "integer", "index": 14, "name": "discount_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 15, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "integer", "index": 16, "name": "sales_item_class_id", "comment": null}, "sales_item_discount_amount": {"type": "integer", "index": 17, "name": "sales_item_discount_amount", "comment": null}, "sales_item_discount_rate": {"type": "integer", "index": 18, "name": "sales_item_discount_rate", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 19, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "integer", "index": 20, "name": "sales_item_quantity", "comment": null}, "sales_item_service_date": {"type": "integer", "index": 21, "name": "sales_item_service_date", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 22, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_unit_price": {"type": "integer", "index": 23, "name": "sales_item_unit_price", "comment": null}, "sub_total_item_id": {"type": "integer", "index": 24, "name": "sub_total_item_id", "comment": null}, "item_id": {"type": "integer", "index": 25, "name": "item_id", "comment": null}, "quantity": {"type": "integer", "index": 26, "name": "quantity", "comment": null}, "tax_code_id": {"type": "integer", "index": 27, "name": "tax_code_id", "comment": null}, "account_id": {"type": "integer", "index": 28, "name": "account_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__estimate_line_tmp"}, "model.quickbooks_source.stg_quickbooks__estimate_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__estimate_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "accepted_by": {"type": "integer", "index": 4, "name": "accepted_by", "comment": null}, "accepted_date": {"type": "integer", "index": 5, "name": "accepted_date", "comment": null}, "apply_tax_after_discount": {"type": "boolean", "index": 6, "name": "apply_tax_after_discount", "comment": null}, "bill_email": {"type": "text", "index": 7, "name": "bill_email", "comment": null}, "billing_address_id": {"type": "integer", "index": 8, "name": "billing_address_id", "comment": null}, "class_id": {"type": "integer", "index": 9, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 10, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 11, "name": "currency_id", "comment": null}, "custom_p_o_number": {"type": "integer", "index": 12, "name": "custom_p_o_number", "comment": null}, "custom_sales_rep": {"type": "integer", "index": 13, "name": "custom_sales_rep", "comment": null}, "customer_id": {"type": "integer", "index": 14, "name": "customer_id", "comment": null}, "customer_memo": {"type": "text", "index": 15, "name": "customer_memo", "comment": null}, "delivery_type": {"type": "integer", "index": 16, "name": "delivery_type", "comment": null}, "department_id": {"type": "integer", "index": 17, "name": "department_id", "comment": null}, "doc_number": {"type": "integer", "index": 18, "name": "doc_number", "comment": null}, "due_date": {"type": "date", "index": 19, "name": "due_date", "comment": null}, "email_status": {"type": "text", "index": 20, "name": "email_status", "comment": null}, "exchange_rate": {"type": "integer", "index": 21, "name": "exchange_rate", "comment": null}, "expiration_date": {"type": "integer", "index": 22, "name": "expiration_date", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 23, "name": "global_tax_calculation", "comment": null}, "home_total_amount": {"type": "integer", "index": 24, "name": "home_total_amount", "comment": null}, "print_status": {"type": "text", "index": 25, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 26, "name": "private_note", "comment": null}, "sales_term_id": {"type": "integer", "index": 27, "name": "sales_term_id", "comment": null}, "ship_date": {"type": "integer", "index": 28, "name": "ship_date", "comment": null}, "shipping_address_id": {"type": "integer", "index": 29, "name": "shipping_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 30, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 31, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "double precision", "index": 32, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 33, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 34, "name": "transaction_date", "comment": null}, "transaction_status": {"type": "text", "index": 35, "name": "transaction_status", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 36, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__estimate_tmp"}, "model.quickbooks_source.stg_quickbooks__invoice": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__invoice", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"invoice_id": {"type": "text", "index": 1, "name": "invoice_id", "comment": null}, "balance": {"type": "integer", "index": 2, "name": "balance", "comment": null}, "doc_number": {"type": "text", "index": 3, "name": "doc_number", "comment": null}, "total_amount": {"type": "integer", "index": 4, "name": "total_amount", "comment": null}, "currency_id": {"type": "text", "index": 5, "name": "currency_id", "comment": null}, "department_id": {"type": "text", "index": 6, "name": "department_id", "comment": null}, "deposit_to_account_id": {"type": "text", "index": 7, "name": "deposit_to_account_id", "comment": null}, "exchange_rate": {"type": "integer", "index": 8, "name": "exchange_rate", "comment": null}, "transaction_date": {"type": "date", "index": 9, "name": "transaction_date", "comment": null}, "customer_id": {"type": "text", "index": 10, "name": "customer_id", "comment": null}, "billing_address_id": {"type": "text", "index": 11, "name": "billing_address_id", "comment": null}, "shipping_address_id": {"type": "integer", "index": 12, "name": "shipping_address_id", "comment": null}, "delivery_type": {"type": "text", "index": 13, "name": "delivery_type", "comment": null}, "due_date": {"type": "date", "index": 14, "name": "due_date", "comment": null}, "class_id": {"type": "text", "index": 15, "name": "class_id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 16, "name": "_fivetran_deleted", "comment": null}, "source_relation": {"type": "text", "index": 17, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__invoice"}, "model.quickbooks_source.stg_quickbooks__invoice_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__invoice_line", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"invoice_id": {"type": "text", "index": 1, "name": "invoice_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "amount": {"type": "double precision", "index": 3, "name": "amount", "comment": null}, "sales_item_account_id": {"type": "text", "index": 4, "name": "sales_item_account_id", "comment": null}, "sales_item_item_id": {"type": "text", "index": 5, "name": "sales_item_item_id", "comment": null}, "sales_item_class_id": {"type": "text", "index": 6, "name": "sales_item_class_id", "comment": null}, "sales_item_quantity": {"type": "double precision", "index": 7, "name": "sales_item_quantity", "comment": null}, "sales_item_unit_price": {"type": "integer", "index": 8, "name": "sales_item_unit_price", "comment": null}, "discount_account_id": {"type": "text", "index": 9, "name": "discount_account_id", "comment": null}, "detail_type": {"type": "text", "index": 10, "name": "detail_type", "comment": null}, "discount_class_id": {"type": "text", "index": 11, "name": "discount_class_id", "comment": null}, "description": {"type": "text", "index": 12, "name": "description", "comment": null}, "quantity": {"type": "integer", "index": 13, "name": "quantity", "comment": null}, "bundle_quantity": {"type": "double precision", "index": 14, "name": "bundle_quantity", "comment": null}, "bundle_id": {"type": "text", "index": 15, "name": "bundle_id", "comment": null}, "account_id": {"type": "text", "index": 16, "name": "account_id", "comment": null}, "item_id": {"type": "text", "index": 17, "name": "item_id", "comment": null}, "source_relation": {"type": "text", "index": 18, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__invoice_line"}, "model.quickbooks_source.stg_quickbooks__invoice_line_bundle": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__invoice_line_bundle", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"invoice_id": {"type": "text", "index": 1, "name": "invoice_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "class_id": {"type": "text", "index": 3, "name": "class_id", "comment": null}, "description": {"type": "text", "index": 4, "name": "description", "comment": null}, "amount": {"type": "double precision", "index": 5, "name": "amount", "comment": null}, "sales_item_item_id": {"type": "text", "index": 6, "name": "sales_item_item_id", "comment": null}, "item_id": {"type": "text", "index": 7, "name": "item_id", "comment": null}, "quantity": {"type": "double precision", "index": 8, "name": "quantity", "comment": null}, "sales_item_quantity": {"type": "integer", "index": 9, "name": "sales_item_quantity", "comment": null}, "account_id": {"type": "text", "index": 10, "name": "account_id", "comment": null}, "unit_price": {"type": "integer", "index": 11, "name": "unit_price", "comment": null}, "invoice_line_index": {"type": "integer", "index": 12, "name": "invoice_line_index", "comment": null}, "source_relation": {"type": "text", "index": 13, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__invoice_line_bundle"}, "model.quickbooks_source.stg_quickbooks__invoice_line_bundle_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__invoice_line_bundle_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "invoice_id": {"type": "integer", "index": 2, "name": "invoice_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_id": {"type": "integer", "index": 4, "name": "account_id", "comment": null}, "amount": {"type": "double precision", "index": 5, "name": "amount", "comment": null}, "class_id": {"type": "integer", "index": 6, "name": "class_id", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "discount_amount": {"type": "integer", "index": 8, "name": "discount_amount", "comment": null}, "discount_rate": {"type": "integer", "index": 9, "name": "discount_rate", "comment": null}, "invoice_line_index": {"type": "integer", "index": 10, "name": "invoice_line_index", "comment": null}, "item_id": {"type": "integer", "index": 11, "name": "item_id", "comment": null}, "line_num": {"type": "integer", "index": 12, "name": "line_num", "comment": null}, "quantity": {"type": "double precision", "index": 13, "name": "quantity", "comment": null}, "service_date": {"type": "integer", "index": 14, "name": "service_date", "comment": null}, "tax_code_id": {"type": "text", "index": 15, "name": "tax_code_id", "comment": null}, "unit_price": {"type": "integer", "index": 16, "name": "unit_price", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 17, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "integer", "index": 18, "name": "sales_item_quantity", "comment": null}, "sales_item_tax_code_id": {"type": "integer", "index": 19, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 20, "name": "sales_item_account_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__invoice_line_bundle_tmp"}, "model.quickbooks_source.stg_quickbooks__invoice_line_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__invoice_line_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "invoice_id": {"type": "integer", "index": 2, "name": "invoice_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "double precision", "index": 4, "name": "amount", "comment": null}, "bundle_id": {"type": "integer", "index": 5, "name": "bundle_id", "comment": null}, "bundle_quantity": {"type": "double precision", "index": 6, "name": "bundle_quantity", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 8, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 9, "name": "description_tax_code_id", "comment": null}, "discount_account_id": {"type": "integer", "index": 10, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "integer", "index": 11, "name": "discount_class_id", "comment": null}, "discount_discount_percent": {"type": "integer", "index": 12, "name": "discount_discount_percent", "comment": null}, "discount_percent_based": {"type": "integer", "index": 13, "name": "discount_percent_based", "comment": null}, "discount_tax_code_id": {"type": "integer", "index": 14, "name": "discount_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 15, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "integer", "index": 16, "name": "sales_item_class_id", "comment": null}, "sales_item_discount_amount": {"type": "integer", "index": 17, "name": "sales_item_discount_amount", "comment": null}, "sales_item_discount_rate": {"type": "integer", "index": 18, "name": "sales_item_discount_rate", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 19, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "double precision", "index": 20, "name": "sales_item_quantity", "comment": null}, "sales_item_service_date": {"type": "integer", "index": 21, "name": "sales_item_service_date", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 22, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_unit_price": {"type": "integer", "index": 23, "name": "sales_item_unit_price", "comment": null}, "sub_total_item_id": {"type": "integer", "index": 24, "name": "sub_total_item_id", "comment": null}, "item_id": {"type": "integer", "index": 25, "name": "item_id", "comment": null}, "quantity": {"type": "integer", "index": 26, "name": "quantity", "comment": null}, "tax_code_id": {"type": "integer", "index": 27, "name": "tax_code_id", "comment": null}, "account_id": {"type": "integer", "index": 28, "name": "account_id", "comment": null}, "detail_type": {"type": "text", "index": 29, "name": "detail_type", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__invoice_line_tmp"}, "model.quickbooks_source.stg_quickbooks__invoice_linked_txn": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__invoice_linked_txn", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"invoice_id": {"type": "text", "index": 1, "name": "invoice_id", "comment": null}, "payment_id": {"type": "text", "index": 2, "name": "payment_id", "comment": null}, "estimate_id": {"type": "text", "index": 3, "name": "estimate_id", "comment": null}, "index": {"type": "integer", "index": 4, "name": "index", "comment": null}, "source_relation": {"type": "text", "index": 5, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__invoice_linked_txn"}, "model.quickbooks_source.stg_quickbooks__invoice_linked_txn_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__invoice_linked_txn_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "invoice_id": {"type": "integer", "index": 2, "name": "invoice_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "charge_credit_id": {"type": "integer", "index": 4, "name": "charge_credit_id", "comment": null}, "estimate_id": {"type": "integer", "index": 5, "name": "estimate_id", "comment": null}, "payment_id": {"type": "integer", "index": 6, "name": "payment_id", "comment": null}, "reimburse_charge_id": {"type": "integer", "index": 7, "name": "reimburse_charge_id", "comment": null}, "statement_charge_id": {"type": "integer", "index": 8, "name": "statement_charge_id", "comment": null}, "time_activity_id": {"type": "integer", "index": 9, "name": "time_activity_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__invoice_linked_txn_tmp"}, "model.quickbooks_source.stg_quickbooks__invoice_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__invoice_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "allow_ipnpayment": {"type": "boolean", "index": 4, "name": "allow_ipnpayment", "comment": null}, "allow_online_achpayment": {"type": "boolean", "index": 5, "name": "allow_online_achpayment", "comment": null}, "allow_online_credit_card_payment": {"type": "boolean", "index": 6, "name": "allow_online_credit_card_payment", "comment": null}, "allow_online_payment": {"type": "boolean", "index": 7, "name": "allow_online_payment", "comment": null}, "apply_tax_after_discount": {"type": "boolean", "index": 8, "name": "apply_tax_after_discount", "comment": null}, "balance": {"type": "integer", "index": 9, "name": "balance", "comment": null}, "billing_address_id": {"type": "integer", "index": 10, "name": "billing_address_id", "comment": null}, "billing_bcc_email": {"type": "text", "index": 11, "name": "billing_bcc_email", "comment": null}, "billing_cc_email": {"type": "integer", "index": 12, "name": "billing_cc_email", "comment": null}, "billing_email": {"type": "text", "index": 13, "name": "billing_email", "comment": null}, "class_id": {"type": "integer", "index": 14, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 15, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 16, "name": "currency_id", "comment": null}, "custom_p_o_number": {"type": "integer", "index": 17, "name": "custom_p_o_number", "comment": null}, "custom_sales_rep": {"type": "integer", "index": 18, "name": "custom_sales_rep", "comment": null}, "customer_id": {"type": "integer", "index": 19, "name": "customer_id", "comment": null}, "customer_memo": {"type": "text", "index": 20, "name": "customer_memo", "comment": null}, "delivery_time": {"type": "timestamp without time zone", "index": 21, "name": "delivery_time", "comment": null}, "delivery_type": {"type": "text", "index": 22, "name": "delivery_type", "comment": null}, "department_id": {"type": "integer", "index": 23, "name": "department_id", "comment": null}, "deposit": {"type": "integer", "index": 24, "name": "deposit", "comment": null}, "deposit_to_account_id": {"type": "integer", "index": 25, "name": "deposit_to_account_id", "comment": null}, "doc_number": {"type": "integer", "index": 26, "name": "doc_number", "comment": null}, "due_date": {"type": "date", "index": 27, "name": "due_date", "comment": null}, "email_status": {"type": "text", "index": 28, "name": "email_status", "comment": null}, "exchange_rate": {"type": "integer", "index": 29, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 30, "name": "global_tax_calculation", "comment": null}, "home_balance": {"type": "integer", "index": 31, "name": "home_balance", "comment": null}, "home_total_amount": {"type": "integer", "index": 32, "name": "home_total_amount", "comment": null}, "print_status": {"type": "text", "index": 33, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 34, "name": "private_note", "comment": null}, "sales_term_id": {"type": "integer", "index": 35, "name": "sales_term_id", "comment": null}, "ship_date": {"type": "integer", "index": 36, "name": "ship_date", "comment": null}, "shipping_address_id": {"type": "integer", "index": 37, "name": "shipping_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 38, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 39, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "integer", "index": 40, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 41, "name": "total_tax", "comment": null}, "tracking_number": {"type": "integer", "index": 42, "name": "tracking_number", "comment": null}, "transaction_date": {"type": "date", "index": 43, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 44, "name": "transaction_source", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 45, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__invoice_tmp"}, "model.quickbooks_source.stg_quickbooks__item": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__item", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"item_id": {"type": "text", "index": 1, "name": "item_id", "comment": null}, "is_active": {"type": "boolean", "index": 2, "name": "is_active", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 3, "name": "created_at", "comment": null}, "income_account_id": {"type": "text", "index": 4, "name": "income_account_id", "comment": null}, "asset_account_id": {"type": "text", "index": 5, "name": "asset_account_id", "comment": null}, "expense_account_id": {"type": "text", "index": 6, "name": "expense_account_id", "comment": null}, "name": {"type": "text", "index": 7, "name": "name", "comment": null}, "purchase_cost": {"type": "integer", "index": 8, "name": "purchase_cost", "comment": null}, "taxable": {"type": "boolean", "index": 9, "name": "taxable", "comment": null}, "type": {"type": "text", "index": 10, "name": "type", "comment": null}, "unit_price": {"type": "integer", "index": 11, "name": "unit_price", "comment": null}, "inventory_start_date": {"type": "integer", "index": 12, "name": "inventory_start_date", "comment": null}, "parent_item_id": {"type": "text", "index": 13, "name": "parent_item_id", "comment": null}, "source_relation": {"type": "text", "index": 14, "name": "source_relation", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 15, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__item"}, "model.quickbooks_source.stg_quickbooks__item_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__item_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "active": {"type": "boolean", "index": 3, "name": "active", "comment": null}, "asset_account_id": {"type": "integer", "index": 4, "name": "asset_account_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "description": {"type": "integer", "index": 6, "name": "description", "comment": null}, "expense_account_id": {"type": "integer", "index": 7, "name": "expense_account_id", "comment": null}, "fully_qualified_name": {"type": "text", "index": 8, "name": "fully_qualified_name", "comment": null}, "income_account_id": {"type": "integer", "index": 9, "name": "income_account_id", "comment": null}, "inventory_start_date": {"type": "integer", "index": 10, "name": "inventory_start_date", "comment": null}, "level": {"type": "integer", "index": 11, "name": "level", "comment": null}, "name": {"type": "text", "index": 12, "name": "name", "comment": null}, "parent_item_id": {"type": "integer", "index": 13, "name": "parent_item_id", "comment": null}, "purchase_cost": {"type": "integer", "index": 14, "name": "purchase_cost", "comment": null}, "purchase_description": {"type": "integer", "index": 15, "name": "purchase_description", "comment": null}, "purchase_tax_code_id": {"type": "integer", "index": 16, "name": "purchase_tax_code_id", "comment": null}, "purchase_tax_included": {"type": "integer", "index": 17, "name": "purchase_tax_included", "comment": null}, "quantity_on_hand": {"type": "integer", "index": 18, "name": "quantity_on_hand", "comment": null}, "sales_tax_code_id": {"type": "integer", "index": 19, "name": "sales_tax_code_id", "comment": null}, "sales_tax_included": {"type": "integer", "index": 20, "name": "sales_tax_included", "comment": null}, "stock_keeping_unit": {"type": "integer", "index": 21, "name": "stock_keeping_unit", "comment": null}, "sub_item": {"type": "integer", "index": 22, "name": "sub_item", "comment": null}, "sync_token": {"type": "integer", "index": 23, "name": "sync_token", "comment": null}, "taxable": {"type": "boolean", "index": 24, "name": "taxable", "comment": null}, "track_quantity_on_hand": {"type": "boolean", "index": 25, "name": "track_quantity_on_hand", "comment": null}, "type": {"type": "text", "index": 26, "name": "type", "comment": null}, "unit_price": {"type": "integer", "index": 27, "name": "unit_price", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 28, "name": "updated_at", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 29, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__item_tmp"}, "model.quickbooks_source.stg_quickbooks__journal_entry": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__journal_entry", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"journal_entry_id": {"type": "text", "index": 1, "name": "journal_entry_id", "comment": null}, "is_adjustment": {"type": "boolean", "index": 2, "name": "is_adjustment", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 3, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 4, "name": "currency_id", "comment": null}, "doc_number": {"type": "text", "index": 5, "name": "doc_number", "comment": null}, "exchange_rate": {"type": "integer", "index": 6, "name": "exchange_rate", "comment": null}, "private_note": {"type": "text", "index": 7, "name": "private_note", "comment": null}, "total_amount": {"type": "integer", "index": 8, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 9, "name": "transaction_date", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 10, "name": "_fivetran_deleted", "comment": null}, "source_relation": {"type": "text", "index": 11, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__journal_entry"}, "model.quickbooks_source.stg_quickbooks__journal_entry_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__journal_entry_line", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"journal_entry_id": {"type": "text", "index": 1, "name": "journal_entry_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "account_id": {"type": "text", "index": 3, "name": "account_id", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "customer_id": {"type": "text", "index": 5, "name": "customer_id", "comment": null}, "department_id": {"type": "text", "index": 6, "name": "department_id", "comment": null}, "class_id": {"type": "text", "index": 7, "name": "class_id", "comment": null}, "description": {"type": "text", "index": 8, "name": "description", "comment": null}, "billable_status": {"type": "integer", "index": 9, "name": "billable_status", "comment": null}, "posting_type": {"type": "text", "index": 10, "name": "posting_type", "comment": null}, "vendor_id": {"type": "text", "index": 11, "name": "vendor_id", "comment": null}, "source_relation": {"type": "text", "index": 12, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__journal_entry_line"}, "model.quickbooks_source.stg_quickbooks__journal_entry_line_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__journal_entry_line_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "journal_entry_id": {"type": "integer", "index": 2, "name": "journal_entry_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_id": {"type": "integer", "index": 4, "name": "account_id", "comment": null}, "amount": {"type": "integer", "index": 5, "name": "amount", "comment": null}, "billable_status": {"type": "integer", "index": 6, "name": "billable_status", "comment": null}, "class_id": {"type": "integer", "index": 7, "name": "class_id", "comment": null}, "customer_id": {"type": "integer", "index": 8, "name": "customer_id", "comment": null}, "department_id": {"type": "integer", "index": 9, "name": "department_id", "comment": null}, "description": {"type": "text", "index": 10, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 11, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 12, "name": "description_tax_code_id", "comment": null}, "employee_id": {"type": "integer", "index": 13, "name": "employee_id", "comment": null}, "posting_type": {"type": "text", "index": 14, "name": "posting_type", "comment": null}, "tax_amount": {"type": "integer", "index": 15, "name": "tax_amount", "comment": null}, "tax_applicable_on": {"type": "integer", "index": 16, "name": "tax_applicable_on", "comment": null}, "tax_code_id": {"type": "integer", "index": 17, "name": "tax_code_id", "comment": null}, "vendor_id": {"type": "integer", "index": 18, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__journal_entry_line_tmp"}, "model.quickbooks_source.stg_quickbooks__journal_entry_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__journal_entry_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "adjustment": {"type": "boolean", "index": 4, "name": "adjustment", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 6, "name": "currency_id", "comment": null}, "doc_number": {"type": "text", "index": 7, "name": "doc_number", "comment": null}, "exchange_rate": {"type": "integer", "index": 8, "name": "exchange_rate", "comment": null}, "home_total_amount": {"type": "integer", "index": 9, "name": "home_total_amount", "comment": null}, "private_note": {"type": "text", "index": 10, "name": "private_note", "comment": null}, "sync_token": {"type": "integer", "index": 11, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 12, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "integer", "index": 13, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 14, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 15, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 16, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__journal_entry_tmp"}, "model.quickbooks_source.stg_quickbooks__payment": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__payment", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"payment_id": {"type": "text", "index": 1, "name": "payment_id", "comment": null}, "unapplied_amount": {"type": "integer", "index": 2, "name": "unapplied_amount", "comment": null}, "total_amount": {"type": "double precision", "index": 3, "name": "total_amount", "comment": null}, "currency_id": {"type": "text", "index": 4, "name": "currency_id", "comment": null}, "receivable_account_id": {"type": "text", "index": 5, "name": "receivable_account_id", "comment": null}, "deposit_to_account_id": {"type": "text", "index": 6, "name": "deposit_to_account_id", "comment": null}, "exchange_rate": {"type": "integer", "index": 7, "name": "exchange_rate", "comment": null}, "transaction_date": {"type": "date", "index": 8, "name": "transaction_date", "comment": null}, "customer_id": {"type": "text", "index": 9, "name": "customer_id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 10, "name": "_fivetran_deleted", "comment": null}, "source_relation": {"type": "text", "index": 11, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__payment"}, "model.quickbooks_source.stg_quickbooks__payment_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__payment_line", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"payment_id": {"type": "text", "index": 1, "name": "payment_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "amount": {"type": "double precision", "index": 3, "name": "amount", "comment": null}, "journal_entry_id": {"type": "integer", "index": 4, "name": "journal_entry_id", "comment": null}, "deposit_id": {"type": "integer", "index": 5, "name": "deposit_id", "comment": null}, "invoice_id": {"type": "text", "index": 6, "name": "invoice_id", "comment": null}, "credit_memo_id": {"type": "integer", "index": 7, "name": "credit_memo_id", "comment": null}, "source_relation": {"type": "text", "index": 8, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__payment_line"}, "model.quickbooks_source.stg_quickbooks__payment_line_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__payment_line_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "payment_id": {"type": "integer", "index": 2, "name": "payment_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "double precision", "index": 4, "name": "amount", "comment": null}, "check_id": {"type": "integer", "index": 5, "name": "check_id", "comment": null}, "credit_card_charge_id": {"type": "integer", "index": 6, "name": "credit_card_charge_id", "comment": null}, "credit_card_credit_id": {"type": "integer", "index": 7, "name": "credit_card_credit_id", "comment": null}, "credit_memo_id": {"type": "integer", "index": 8, "name": "credit_memo_id", "comment": null}, "deposit_id": {"type": "integer", "index": 9, "name": "deposit_id", "comment": null}, "expense_id": {"type": "integer", "index": 10, "name": "expense_id", "comment": null}, "invoice_id": {"type": "integer", "index": 11, "name": "invoice_id", "comment": null}, "journal_entry_id": {"type": "integer", "index": 12, "name": "journal_entry_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__payment_line_tmp"}, "model.quickbooks_source.stg_quickbooks__payment_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__payment_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 4, "name": "created_at", "comment": null}, "credit_card_amount": {"type": "integer", "index": 5, "name": "credit_card_amount", "comment": null}, "credit_card_auth_code": {"type": "integer", "index": 6, "name": "credit_card_auth_code", "comment": null}, "credit_card_billing_address_street": {"type": "integer", "index": 7, "name": "credit_card_billing_address_street", "comment": null}, "credit_card_cc_expiry_month": {"type": "integer", "index": 8, "name": "credit_card_cc_expiry_month", "comment": null}, "credit_card_cc_expiry_year": {"type": "integer", "index": 9, "name": "credit_card_cc_expiry_year", "comment": null}, "credit_card_cctrans_id": {"type": "integer", "index": 10, "name": "credit_card_cctrans_id", "comment": null}, "credit_card_name_on_account": {"type": "integer", "index": 11, "name": "credit_card_name_on_account", "comment": null}, "credit_card_postal_code": {"type": "integer", "index": 12, "name": "credit_card_postal_code", "comment": null}, "credit_card_process_payment": {"type": "integer", "index": 13, "name": "credit_card_process_payment", "comment": null}, "credit_card_status": {"type": "integer", "index": 14, "name": "credit_card_status", "comment": null}, "credit_card_transaction_authorization_time": {"type": "integer", "index": 15, "name": "credit_card_transaction_authorization_time", "comment": null}, "credit_card_type": {"type": "integer", "index": 16, "name": "credit_card_type", "comment": null}, "currency_id": {"type": "text", "index": 17, "name": "currency_id", "comment": null}, "customer_id": {"type": "integer", "index": 18, "name": "customer_id", "comment": null}, "deposit_to_account_id": {"type": "integer", "index": 19, "name": "deposit_to_account_id", "comment": null}, "exchange_rate": {"type": "integer", "index": 20, "name": "exchange_rate", "comment": null}, "payment_method_id": {"type": "integer", "index": 21, "name": "payment_method_id", "comment": null}, "private_note": {"type": "text", "index": 22, "name": "private_note", "comment": null}, "process_payment": {"type": "boolean", "index": 23, "name": "process_payment", "comment": null}, "receivable_account_id": {"type": "integer", "index": 24, "name": "receivable_account_id", "comment": null}, "reference_number": {"type": "integer", "index": 25, "name": "reference_number", "comment": null}, "sync_token": {"type": "integer", "index": 26, "name": "sync_token", "comment": null}, "total_amount": {"type": "double precision", "index": 27, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 28, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 29, "name": "transaction_source", "comment": null}, "transaction_status": {"type": "integer", "index": 30, "name": "transaction_status", "comment": null}, "unapplied_amount": {"type": "integer", "index": 31, "name": "unapplied_amount", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 32, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__payment_tmp"}, "model.quickbooks_source.stg_quickbooks__purchase": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__purchase", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"purchase_id": {"type": "text", "index": 1, "name": "purchase_id", "comment": null}, "account_id": {"type": "text", "index": 2, "name": "account_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 3, "name": "created_at", "comment": null}, "doc_number": {"type": "text", "index": 4, "name": "doc_number", "comment": null}, "currency_id": {"type": "text", "index": 5, "name": "currency_id", "comment": null}, "exchange_rate": {"type": "integer", "index": 6, "name": "exchange_rate", "comment": null}, "credit": {"type": "boolean", "index": 7, "name": "credit", "comment": null}, "total_amount": {"type": "integer", "index": 8, "name": "total_amount", "comment": null}, "payment_type": {"type": "text", "index": 9, "name": "payment_type", "comment": null}, "department_id": {"type": "text", "index": 10, "name": "department_id", "comment": null}, "customer_id": {"type": "text", "index": 11, "name": "customer_id", "comment": null}, "vendor_id": {"type": "text", "index": 12, "name": "vendor_id", "comment": null}, "transaction_date": {"type": "date", "index": 13, "name": "transaction_date", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 14, "name": "_fivetran_deleted", "comment": null}, "source_relation": {"type": "text", "index": 15, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__purchase"}, "model.quickbooks_source.stg_quickbooks__purchase_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__purchase_line", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"purchase_id": {"type": "text", "index": 1, "name": "purchase_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "account_expense_account_id": {"type": "text", "index": 3, "name": "account_expense_account_id", "comment": null}, "account_expense_class_id": {"type": "text", "index": 4, "name": "account_expense_class_id", "comment": null}, "account_expense_billable_status": {"type": "text", "index": 5, "name": "account_expense_billable_status", "comment": null}, "account_expense_customer_id": {"type": "text", "index": 6, "name": "account_expense_customer_id", "comment": null}, "account_expense_tax_code_id": {"type": "text", "index": 7, "name": "account_expense_tax_code_id", "comment": null}, "item_expense_item_id": {"type": "text", "index": 8, "name": "item_expense_item_id", "comment": null}, "item_expense_billable_status": {"type": "character varying(100)", "index": 9, "name": "item_expense_billable_status", "comment": null}, "item_expense_customer_id": {"type": "text", "index": 10, "name": "item_expense_customer_id", "comment": null}, "item_expense_class_id": {"type": "text", "index": 11, "name": "item_expense_class_id", "comment": null}, "amount": {"type": "integer", "index": 12, "name": "amount", "comment": null}, "description": {"type": "text", "index": 13, "name": "description", "comment": null}, "source_relation": {"type": "text", "index": 14, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__purchase_line"}, "model.quickbooks_source.stg_quickbooks__purchase_line_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__purchase_line_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "purchase_id": {"type": "integer", "index": 2, "name": "purchase_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_expense_account_id": {"type": "bigint", "index": 4, "name": "account_expense_account_id", "comment": null}, "account_expense_billable_status": {"type": "text", "index": 5, "name": "account_expense_billable_status", "comment": null}, "account_expense_class_id": {"type": "integer", "index": 6, "name": "account_expense_class_id", "comment": null}, "account_expense_customer_id": {"type": "integer", "index": 7, "name": "account_expense_customer_id", "comment": null}, "account_expense_tax_amount": {"type": "integer", "index": 8, "name": "account_expense_tax_amount", "comment": null}, "account_expense_tax_code_id": {"type": "text", "index": 9, "name": "account_expense_tax_code_id", "comment": null}, "amount": {"type": "integer", "index": 10, "name": "amount", "comment": null}, "description": {"type": "text", "index": 11, "name": "description", "comment": null}, "item_expense_billable_status": {"type": "character varying(100)", "index": 12, "name": "item_expense_billable_status", "comment": null}, "item_expense_class_id": {"type": "integer", "index": 13, "name": "item_expense_class_id", "comment": null}, "item_expense_customer_id": {"type": "integer", "index": 14, "name": "item_expense_customer_id", "comment": null}, "item_expense_item_id": {"type": "integer", "index": 15, "name": "item_expense_item_id", "comment": null}, "item_expense_quantity": {"type": "integer", "index": 16, "name": "item_expense_quantity", "comment": null}, "item_expense_tax_code_id": {"type": "integer", "index": 17, "name": "item_expense_tax_code_id", "comment": null}, "item_expense_unit_price": {"type": "integer", "index": 18, "name": "item_expense_unit_price", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__purchase_line_tmp"}, "model.quickbooks_source.stg_quickbooks__purchase_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__purchase_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_id": {"type": "integer", "index": 4, "name": "account_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "credit": {"type": "boolean", "index": 6, "name": "credit", "comment": null}, "currency_id": {"type": "text", "index": 7, "name": "currency_id", "comment": null}, "customer_id": {"type": "integer", "index": 8, "name": "customer_id", "comment": null}, "department_id": {"type": "integer", "index": 9, "name": "department_id", "comment": null}, "doc_number": {"type": "integer", "index": 10, "name": "doc_number", "comment": null}, "employee_id": {"type": "integer", "index": 11, "name": "employee_id", "comment": null}, "exchange_rate": {"type": "integer", "index": 12, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 13, "name": "global_tax_calculation", "comment": null}, "payment_method_id": {"type": "integer", "index": 14, "name": "payment_method_id", "comment": null}, "payment_type": {"type": "text", "index": 15, "name": "payment_type", "comment": null}, "print_status": {"type": "integer", "index": 16, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 17, "name": "private_note", "comment": null}, "remit_to_address_id": {"type": "integer", "index": 18, "name": "remit_to_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 19, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 20, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "integer", "index": 21, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 22, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 23, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 24, "name": "transaction_source", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 25, "name": "updated_at", "comment": null}, "vendor_id": {"type": "integer", "index": 26, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__purchase_tmp"}, "model.quickbooks_source.stg_quickbooks__refund_receipt": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__refund_receipt", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"refund_id": {"type": "text", "index": 1, "name": "refund_id", "comment": null}, "balance": {"type": "integer", "index": 2, "name": "balance", "comment": null}, "doc_number": {"type": "text", "index": 3, "name": "doc_number", "comment": null}, "total_amount": {"type": "integer", "index": 4, "name": "total_amount", "comment": null}, "class_id": {"type": "text", "index": 5, "name": "class_id", "comment": null}, "deposit_to_account_id": {"type": "text", "index": 6, "name": "deposit_to_account_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 7, "name": "created_at", "comment": null}, "department_id": {"type": "text", "index": 8, "name": "department_id", "comment": null}, "customer_id": {"type": "text", "index": 9, "name": "customer_id", "comment": null}, "currency_id": {"type": "text", "index": 10, "name": "currency_id", "comment": null}, "exchange_rate": {"type": "integer", "index": 11, "name": "exchange_rate", "comment": null}, "transaction_date": {"type": "date", "index": 12, "name": "transaction_date", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 13, "name": "_fivetran_deleted", "comment": null}, "source_relation": {"type": "text", "index": 14, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__refund_receipt"}, "model.quickbooks_source.stg_quickbooks__refund_receipt_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__refund_receipt_line", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"refund_id": {"type": "text", "index": 1, "name": "refund_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "amount": {"type": "integer", "index": 3, "name": "amount", "comment": null}, "description": {"type": "text", "index": 4, "name": "description", "comment": null}, "discount_account_id": {"type": "text", "index": 5, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "text", "index": 6, "name": "discount_class_id", "comment": null}, "sales_item_account_id": {"type": "text", "index": 7, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "text", "index": 8, "name": "sales_item_class_id", "comment": null}, "sales_item_item_id": {"type": "text", "index": 9, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "integer", "index": 10, "name": "sales_item_quantity", "comment": null}, "sales_item_unit_price": {"type": "integer", "index": 11, "name": "sales_item_unit_price", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 12, "name": "sales_item_tax_code_id", "comment": null}, "source_relation": {"type": "text", "index": 13, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__refund_receipt_line"}, "model.quickbooks_source.stg_quickbooks__refund_receipt_line_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__refund_receipt_line_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "refund_id": {"type": "integer", "index": 2, "name": "refund_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "bundle_id": {"type": "integer", "index": 5, "name": "bundle_id", "comment": null}, "bundle_quantity": {"type": "integer", "index": 6, "name": "bundle_quantity", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 8, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 9, "name": "description_tax_code_id", "comment": null}, "discount_account_id": {"type": "integer", "index": 10, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "integer", "index": 11, "name": "discount_class_id", "comment": null}, "discount_discount_percent": {"type": "integer", "index": 12, "name": "discount_discount_percent", "comment": null}, "discount_percent_based": {"type": "integer", "index": 13, "name": "discount_percent_based", "comment": null}, "discount_tax_code_id": {"type": "integer", "index": 14, "name": "discount_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 15, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "integer", "index": 16, "name": "sales_item_class_id", "comment": null}, "sales_item_discount_amount": {"type": "integer", "index": 17, "name": "sales_item_discount_amount", "comment": null}, "sales_item_discount_rate": {"type": "integer", "index": 18, "name": "sales_item_discount_rate", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 19, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "integer", "index": 20, "name": "sales_item_quantity", "comment": null}, "sales_item_service_date": {"type": "integer", "index": 21, "name": "sales_item_service_date", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 22, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_unit_price": {"type": "integer", "index": 23, "name": "sales_item_unit_price", "comment": null}, "sub_total_item_id": {"type": "integer", "index": 24, "name": "sub_total_item_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__refund_receipt_line_tmp"}, "model.quickbooks_source.stg_quickbooks__refund_receipt_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__refund_receipt_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "apply_tax_after_discount": {"type": "integer", "index": 4, "name": "apply_tax_after_discount", "comment": null}, "balance": {"type": "integer", "index": 5, "name": "balance", "comment": null}, "bill_email": {"type": "text", "index": 6, "name": "bill_email", "comment": null}, "billing_address_id": {"type": "integer", "index": 7, "name": "billing_address_id", "comment": null}, "check_payment_account_number": {"type": "integer", "index": 8, "name": "check_payment_account_number", "comment": null}, "check_payment_bank_name": {"type": "integer", "index": 9, "name": "check_payment_bank_name", "comment": null}, "check_payment_check_number": {"type": "integer", "index": 10, "name": "check_payment_check_number", "comment": null}, "check_payment_name_on_account": {"type": "integer", "index": 11, "name": "check_payment_name_on_account", "comment": null}, "check_payment_status": {"type": "integer", "index": 12, "name": "check_payment_status", "comment": null}, "class_id": {"type": "integer", "index": 13, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 14, "name": "created_at", "comment": null}, "credit_card_amount": {"type": "integer", "index": 15, "name": "credit_card_amount", "comment": null}, "credit_card_auth_code": {"type": "integer", "index": 16, "name": "credit_card_auth_code", "comment": null}, "credit_card_billing_address_street": {"type": "integer", "index": 17, "name": "credit_card_billing_address_street", "comment": null}, "credit_card_cc_expiry_month": {"type": "integer", "index": 18, "name": "credit_card_cc_expiry_month", "comment": null}, "credit_card_cc_expiry_year": {"type": "integer", "index": 19, "name": "credit_card_cc_expiry_year", "comment": null}, "credit_card_cctrans_id": {"type": "integer", "index": 20, "name": "credit_card_cctrans_id", "comment": null}, "credit_card_name_on_account": {"type": "integer", "index": 21, "name": "credit_card_name_on_account", "comment": null}, "credit_card_postal_code": {"type": "integer", "index": 22, "name": "credit_card_postal_code", "comment": null}, "credit_card_process_payment": {"type": "integer", "index": 23, "name": "credit_card_process_payment", "comment": null}, "credit_card_status": {"type": "integer", "index": 24, "name": "credit_card_status", "comment": null}, "credit_card_transaction_authorization_time": {"type": "integer", "index": 25, "name": "credit_card_transaction_authorization_time", "comment": null}, "credit_card_type": {"type": "integer", "index": 26, "name": "credit_card_type", "comment": null}, "currency_id": {"type": "text", "index": 27, "name": "currency_id", "comment": null}, "customer_id": {"type": "integer", "index": 28, "name": "customer_id", "comment": null}, "customer_memo": {"type": "text", "index": 29, "name": "customer_memo", "comment": null}, "department_id": {"type": "integer", "index": 30, "name": "department_id", "comment": null}, "deposit_to_account_id": {"type": "integer", "index": 31, "name": "deposit_to_account_id", "comment": null}, "doc_number": {"type": "integer", "index": 32, "name": "doc_number", "comment": null}, "exchange_rate": {"type": "integer", "index": 33, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 34, "name": "global_tax_calculation", "comment": null}, "home_balance": {"type": "integer", "index": 35, "name": "home_balance", "comment": null}, "home_total_amount": {"type": "integer", "index": 36, "name": "home_total_amount", "comment": null}, "payment_method_id": {"type": "integer", "index": 37, "name": "payment_method_id", "comment": null}, "payment_reference_number": {"type": "integer", "index": 38, "name": "payment_reference_number", "comment": null}, "payment_type": {"type": "integer", "index": 39, "name": "payment_type", "comment": null}, "print_status": {"type": "integer", "index": 40, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 41, "name": "private_note", "comment": null}, "shipping_address_id": {"type": "integer", "index": 42, "name": "shipping_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 43, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 44, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "integer", "index": 45, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 46, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 47, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 48, "name": "transaction_source", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 49, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__refund_receipt_tmp"}, "model.quickbooks_source.stg_quickbooks__sales_receipt": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__sales_receipt", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"sales_receipt_id": {"type": "text", "index": 1, "name": "sales_receipt_id", "comment": null}, "balance": {"type": "integer", "index": 2, "name": "balance", "comment": null}, "doc_number": {"type": "text", "index": 3, "name": "doc_number", "comment": null}, "total_amount": {"type": "integer", "index": 4, "name": "total_amount", "comment": null}, "deposit_to_account_id": {"type": "text", "index": 5, "name": "deposit_to_account_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 6, "name": "created_at", "comment": null}, "customer_id": {"type": "text", "index": 7, "name": "customer_id", "comment": null}, "department_id": {"type": "text", "index": 8, "name": "department_id", "comment": null}, "class_id": {"type": "text", "index": 9, "name": "class_id", "comment": null}, "currency_id": {"type": "text", "index": 10, "name": "currency_id", "comment": null}, "exchange_rate": {"type": "integer", "index": 11, "name": "exchange_rate", "comment": null}, "transaction_date": {"type": "date", "index": 12, "name": "transaction_date", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 13, "name": "_fivetran_deleted", "comment": null}, "source_relation": {"type": "text", "index": 14, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__sales_receipt"}, "model.quickbooks_source.stg_quickbooks__sales_receipt_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__sales_receipt_line", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"sales_receipt_id": {"type": "text", "index": 1, "name": "sales_receipt_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "amount": {"type": "integer", "index": 3, "name": "amount", "comment": null}, "description": {"type": "text", "index": 4, "name": "description", "comment": null}, "discount_account_id": {"type": "text", "index": 5, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "text", "index": 6, "name": "discount_class_id", "comment": null}, "sales_item_account_id": {"type": "text", "index": 7, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "text", "index": 8, "name": "sales_item_class_id", "comment": null}, "sales_item_item_id": {"type": "text", "index": 9, "name": "sales_item_item_id", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 10, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_quantity": {"type": "integer", "index": 11, "name": "sales_item_quantity", "comment": null}, "sales_item_unit_price": {"type": "integer", "index": 12, "name": "sales_item_unit_price", "comment": null}, "source_relation": {"type": "text", "index": 13, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__sales_receipt_line"}, "model.quickbooks_source.stg_quickbooks__sales_receipt_line_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__sales_receipt_line_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "sales_receipt_id": {"type": "integer", "index": 2, "name": "sales_receipt_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "bundle_id": {"type": "integer", "index": 5, "name": "bundle_id", "comment": null}, "bundle_quantity": {"type": "integer", "index": 6, "name": "bundle_quantity", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 8, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 9, "name": "description_tax_code_id", "comment": null}, "discount_account_id": {"type": "integer", "index": 10, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "integer", "index": 11, "name": "discount_class_id", "comment": null}, "discount_discount_percent": {"type": "integer", "index": 12, "name": "discount_discount_percent", "comment": null}, "discount_percent_based": {"type": "integer", "index": 13, "name": "discount_percent_based", "comment": null}, "discount_tax_code_id": {"type": "integer", "index": 14, "name": "discount_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 15, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "integer", "index": 16, "name": "sales_item_class_id", "comment": null}, "sales_item_discount_amount": {"type": "integer", "index": 17, "name": "sales_item_discount_amount", "comment": null}, "sales_item_discount_rate": {"type": "integer", "index": 18, "name": "sales_item_discount_rate", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 19, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "integer", "index": 20, "name": "sales_item_quantity", "comment": null}, "sales_item_service_date": {"type": "integer", "index": 21, "name": "sales_item_service_date", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 22, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_unit_price": {"type": "integer", "index": 23, "name": "sales_item_unit_price", "comment": null}, "sub_total_item_id": {"type": "integer", "index": 24, "name": "sub_total_item_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__sales_receipt_line_tmp"}, "model.quickbooks_source.stg_quickbooks__sales_receipt_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__sales_receipt_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "apply_tax_after_discount": {"type": "integer", "index": 4, "name": "apply_tax_after_discount", "comment": null}, "balance": {"type": "integer", "index": 5, "name": "balance", "comment": null}, "bill_email": {"type": "text", "index": 6, "name": "bill_email", "comment": null}, "billing_address_id": {"type": "integer", "index": 7, "name": "billing_address_id", "comment": null}, "class_id": {"type": "integer", "index": 8, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 9, "name": "created_at", "comment": null}, "credit_card_amount": {"type": "integer", "index": 10, "name": "credit_card_amount", "comment": null}, "credit_card_auth_code": {"type": "integer", "index": 11, "name": "credit_card_auth_code", "comment": null}, "credit_card_billing_address_street": {"type": "integer", "index": 12, "name": "credit_card_billing_address_street", "comment": null}, "credit_card_cc_expiry_month": {"type": "integer", "index": 13, "name": "credit_card_cc_expiry_month", "comment": null}, "credit_card_cc_expiry_year": {"type": "integer", "index": 14, "name": "credit_card_cc_expiry_year", "comment": null}, "credit_card_cctrans_id": {"type": "integer", "index": 15, "name": "credit_card_cctrans_id", "comment": null}, "credit_card_name_on_account": {"type": "integer", "index": 16, "name": "credit_card_name_on_account", "comment": null}, "credit_card_postal_code": {"type": "integer", "index": 17, "name": "credit_card_postal_code", "comment": null}, "credit_card_process_payment": {"type": "integer", "index": 18, "name": "credit_card_process_payment", "comment": null}, "credit_card_status": {"type": "integer", "index": 19, "name": "credit_card_status", "comment": null}, "credit_card_transaction_authorization_time": {"type": "integer", "index": 20, "name": "credit_card_transaction_authorization_time", "comment": null}, "credit_card_type": {"type": "integer", "index": 21, "name": "credit_card_type", "comment": null}, "currency_id": {"type": "text", "index": 22, "name": "currency_id", "comment": null}, "customer_id": {"type": "integer", "index": 23, "name": "customer_id", "comment": null}, "customer_memo": {"type": "text", "index": 24, "name": "customer_memo", "comment": null}, "delivery_time": {"type": "integer", "index": 25, "name": "delivery_time", "comment": null}, "delivery_type": {"type": "integer", "index": 26, "name": "delivery_type", "comment": null}, "department_id": {"type": "integer", "index": 27, "name": "department_id", "comment": null}, "deposit_to_account_id": {"type": "integer", "index": 28, "name": "deposit_to_account_id", "comment": null}, "doc_number": {"type": "integer", "index": 29, "name": "doc_number", "comment": null}, "email_status": {"type": "integer", "index": 30, "name": "email_status", "comment": null}, "exchange_rate": {"type": "integer", "index": 31, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 32, "name": "global_tax_calculation", "comment": null}, "home_balance": {"type": "integer", "index": 33, "name": "home_balance", "comment": null}, "home_total_amount": {"type": "integer", "index": 34, "name": "home_total_amount", "comment": null}, "payment_method_id": {"type": "integer", "index": 35, "name": "payment_method_id", "comment": null}, "payment_reference_number": {"type": "integer", "index": 36, "name": "payment_reference_number", "comment": null}, "print_status": {"type": "integer", "index": 37, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 38, "name": "private_note", "comment": null}, "ship_date": {"type": "integer", "index": 39, "name": "ship_date", "comment": null}, "shipping_address_id": {"type": "integer", "index": 40, "name": "shipping_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 41, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 42, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "integer", "index": 43, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 44, "name": "total_tax", "comment": null}, "tracking_number": {"type": "integer", "index": 45, "name": "tracking_number", "comment": null}, "transaction_date": {"type": "date", "index": 46, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 47, "name": "transaction_source", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 48, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__sales_receipt_tmp"}, "model.quickbooks_source.stg_quickbooks__transfer": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__transfer", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"transfer_id": {"type": "text", "index": 1, "name": "transfer_id", "comment": null}, "amount": {"type": "integer", "index": 2, "name": "amount", "comment": null}, "from_account_id": {"type": "text", "index": 3, "name": "from_account_id", "comment": null}, "to_account_id": {"type": "text", "index": 4, "name": "to_account_id", "comment": null}, "transaction_date": {"type": "date", "index": 5, "name": "transaction_date", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 6, "name": "_fivetran_deleted", "comment": null}, "source_relation": {"type": "text", "index": 7, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__transfer"}, "model.quickbooks_source.stg_quickbooks__transfer_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__transfer_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "from_account_id": {"type": "integer", "index": 6, "name": "from_account_id", "comment": null}, "private_note": {"type": "text", "index": 7, "name": "private_note", "comment": null}, "sync_token": {"type": "integer", "index": 8, "name": "sync_token", "comment": null}, "to_account_id": {"type": "integer", "index": 9, "name": "to_account_id", "comment": null}, "transaction_date": {"type": "date", "index": 10, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 11, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__transfer_tmp"}, "model.quickbooks_source.stg_quickbooks__vendor": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__vendor", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"vendor_id": {"type": "text", "index": 1, "name": "vendor_id", "comment": null}, "account_number": {"type": "integer", "index": 2, "name": "account_number", "comment": null}, "is_active": {"type": "boolean", "index": 3, "name": "is_active", "comment": null}, "balance": {"type": "integer", "index": 4, "name": "balance", "comment": null}, "billing_address_id": {"type": "text", "index": 5, "name": "billing_address_id", "comment": null}, "company_name": {"type": "text", "index": 6, "name": "company_name", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 7, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 8, "name": "currency_id", "comment": null}, "display_name": {"type": "text", "index": 9, "name": "display_name", "comment": null}, "web_url": {"type": "integer", "index": 10, "name": "web_url", "comment": null}, "is_vendor_1099": {"type": "boolean", "index": 11, "name": "is_vendor_1099", "comment": null}, "source_relation": {"type": "text", "index": 12, "name": "source_relation", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 13, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__vendor"}, "model.quickbooks_source.stg_quickbooks__vendor_credit": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__vendor_credit", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"vendor_credit_id": {"type": "text", "index": 1, "name": "vendor_credit_id", "comment": null}, "balance": {"type": "integer", "index": 2, "name": "balance", "comment": null}, "doc_number": {"type": "text", "index": 3, "name": "doc_number", "comment": null}, "total_amount": {"type": "integer", "index": 4, "name": "total_amount", "comment": null}, "currency_id": {"type": "text", "index": 5, "name": "currency_id", "comment": null}, "exchange_rate": {"type": "integer", "index": 6, "name": "exchange_rate", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 7, "name": "created_at", "comment": null}, "payable_account_id": {"type": "text", "index": 8, "name": "payable_account_id", "comment": null}, "department_id": {"type": "text", "index": 9, "name": "department_id", "comment": null}, "private_note": {"type": "text", "index": 10, "name": "private_note", "comment": null}, "transaction_date": {"type": "date", "index": 11, "name": "transaction_date", "comment": null}, "vendor_id": {"type": "text", "index": 12, "name": "vendor_id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 13, "name": "_fivetran_deleted", "comment": null}, "source_relation": {"type": "text", "index": 14, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__vendor_credit"}, "model.quickbooks_source.stg_quickbooks__vendor_credit_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__vendor_credit_line", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"vendor_credit_id": {"type": "text", "index": 1, "name": "vendor_credit_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "account_expense_customer_id": {"type": "text", "index": 3, "name": "account_expense_customer_id", "comment": null}, "account_expense_account_id": {"type": "text", "index": 4, "name": "account_expense_account_id", "comment": null}, "account_expense_billable_status": {"type": "character varying(100)", "index": 5, "name": "account_expense_billable_status", "comment": null}, "account_expense_tax_code_id": {"type": "text", "index": 6, "name": "account_expense_tax_code_id", "comment": null}, "account_expense_class_id": {"type": "text", "index": 7, "name": "account_expense_class_id", "comment": null}, "item_expense_customer_id": {"type": "text", "index": 8, "name": "item_expense_customer_id", "comment": null}, "item_expense_item_id": {"type": "text", "index": 9, "name": "item_expense_item_id", "comment": null}, "item_expense_quantity": {"type": "integer", "index": 10, "name": "item_expense_quantity", "comment": null}, "item_expense_unit_price": {"type": "integer", "index": 11, "name": "item_expense_unit_price", "comment": null}, "item_expense_class_id": {"type": "text", "index": 12, "name": "item_expense_class_id", "comment": null}, "item_expense_billable_status": {"type": "character varying(100)", "index": 13, "name": "item_expense_billable_status", "comment": null}, "amount": {"type": "integer", "index": 14, "name": "amount", "comment": null}, "description": {"type": "text", "index": 15, "name": "description", "comment": null}, "source_relation": {"type": "text", "index": 16, "name": "source_relation", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__vendor_credit_line"}, "model.quickbooks_source.stg_quickbooks__vendor_credit_line_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__vendor_credit_line_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "vendor_credit_id": {"type": "integer", "index": 2, "name": "vendor_credit_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_expense_account_id": {"type": "integer", "index": 4, "name": "account_expense_account_id", "comment": null}, "account_expense_billable_status": {"type": "character varying(100)", "index": 5, "name": "account_expense_billable_status", "comment": null}, "account_expense_class_id": {"type": "integer", "index": 6, "name": "account_expense_class_id", "comment": null}, "account_expense_customer_id": {"type": "integer", "index": 7, "name": "account_expense_customer_id", "comment": null}, "account_expense_tax_amount": {"type": "integer", "index": 8, "name": "account_expense_tax_amount", "comment": null}, "account_expense_tax_code_id": {"type": "text", "index": 9, "name": "account_expense_tax_code_id", "comment": null}, "amount": {"type": "integer", "index": 10, "name": "amount", "comment": null}, "description": {"type": "text", "index": 11, "name": "description", "comment": null}, "item_expense_billable_status": {"type": "character varying(100)", "index": 12, "name": "item_expense_billable_status", "comment": null}, "item_expense_class_id": {"type": "integer", "index": 13, "name": "item_expense_class_id", "comment": null}, "item_expense_customer_id": {"type": "integer", "index": 14, "name": "item_expense_customer_id", "comment": null}, "item_expense_item_id": {"type": "integer", "index": 15, "name": "item_expense_item_id", "comment": null}, "item_expense_quantity": {"type": "integer", "index": 16, "name": "item_expense_quantity", "comment": null}, "item_expense_tax_code_id": {"type": "integer", "index": 17, "name": "item_expense_tax_code_id", "comment": null}, "item_expense_unit_price": {"type": "integer", "index": 18, "name": "item_expense_unit_price", "comment": null}, "private_note": {"type": "integer", "index": 19, "name": "private_note", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__vendor_credit_line_tmp"}, "model.quickbooks_source.stg_quickbooks__vendor_credit_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__vendor_credit_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "balance": {"type": "integer", "index": 4, "name": "balance", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 6, "name": "currency_id", "comment": null}, "department_id": {"type": "integer", "index": 7, "name": "department_id", "comment": null}, "doc_number": {"type": "integer", "index": 8, "name": "doc_number", "comment": null}, "exchange_rate": {"type": "integer", "index": 9, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 10, "name": "global_tax_calculation", "comment": null}, "payable_account_id": {"type": "integer", "index": 11, "name": "payable_account_id", "comment": null}, "private_note": {"type": "text", "index": 12, "name": "private_note", "comment": null}, "sync_token": {"type": "integer", "index": 13, "name": "sync_token", "comment": null}, "total_amount": {"type": "integer", "index": 14, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 15, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 16, "name": "updated_at", "comment": null}, "vendor_id": {"type": "integer", "index": 17, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__vendor_credit_tmp"}, "model.quickbooks_source.stg_quickbooks__vendor_tmp": {"metadata": {"type": "VIEW", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__vendor_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "account_number": {"type": "integer", "index": 3, "name": "account_number", "comment": null}, "active": {"type": "boolean", "index": 4, "name": "active", "comment": null}, "alternate_phone": {"type": "integer", "index": 5, "name": "alternate_phone", "comment": null}, "balance": {"type": "integer", "index": 6, "name": "balance", "comment": null}, "billing_address_id": {"type": "integer", "index": 7, "name": "billing_address_id", "comment": null}, "company_name": {"type": "text", "index": 8, "name": "company_name", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 9, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 10, "name": "currency_id", "comment": null}, "display_name": {"type": "text", "index": 11, "name": "display_name", "comment": null}, "email": {"type": "text", "index": 12, "name": "email", "comment": null}, "family_name": {"type": "integer", "index": 13, "name": "family_name", "comment": null}, "fax_number": {"type": "integer", "index": 14, "name": "fax_number", "comment": null}, "given_name": {"type": "integer", "index": 15, "name": "given_name", "comment": null}, "middle_name": {"type": "integer", "index": 16, "name": "middle_name", "comment": null}, "mobile_phone": {"type": "integer", "index": 17, "name": "mobile_phone", "comment": null}, "other_contacts": {"type": "integer", "index": 18, "name": "other_contacts", "comment": null}, "primary_phone": {"type": "integer", "index": 19, "name": "primary_phone", "comment": null}, "print_on_check_name": {"type": "text", "index": 20, "name": "print_on_check_name", "comment": null}, "suffix": {"type": "integer", "index": 21, "name": "suffix", "comment": null}, "sync_token": {"type": "integer", "index": 22, "name": "sync_token", "comment": null}, "tax_identifier": {"type": "integer", "index": 23, "name": "tax_identifier", "comment": null}, "term_id": {"type": "integer", "index": 24, "name": "term_id", "comment": null}, "title": {"type": "integer", "index": 25, "name": "title", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 26, "name": "updated_at", "comment": null}, "vendor_1099": {"type": "boolean", "index": 27, "name": "vendor_1099", "comment": null}, "web_url": {"type": "integer", "index": 28, "name": "web_url", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 29, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.quickbooks_source.stg_quickbooks__vendor_tmp"}}, "sources": {"source.quickbooks_source.quickbooks.account": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "account_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "account_number": {"type": "integer", "index": 3, "name": "account_number", "comment": null}, "account_sub_type": {"type": "text", "index": 4, "name": "account_sub_type", "comment": null}, "account_type": {"type": "text", "index": 5, "name": "account_type", "comment": null}, "active": {"type": "boolean", "index": 6, "name": "active", "comment": null}, "balance": {"type": "integer", "index": 7, "name": "balance", "comment": null}, "balance_with_sub_accounts": {"type": "integer", "index": 8, "name": "balance_with_sub_accounts", "comment": null}, "classification": {"type": "text", "index": 9, "name": "classification", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 10, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 11, "name": "currency_id", "comment": null}, "description": {"type": "integer", "index": 12, "name": "description", "comment": null}, "fully_qualified_name": {"type": "text", "index": 13, "name": "fully_qualified_name", "comment": null}, "name": {"type": "text", "index": 14, "name": "name", "comment": null}, "parent_account_id": {"type": "integer", "index": 15, "name": "parent_account_id", "comment": null}, "sub_account": {"type": "boolean", "index": 16, "name": "sub_account", "comment": null}, "sync_token": {"type": "integer", "index": 17, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 18, "name": "tax_code_id", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 19, "name": "updated_at", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 20, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.account"}, "source.quickbooks_source.quickbooks.address": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "address_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "city": {"type": "text", "index": 3, "name": "city", "comment": null}, "country": {"type": "text", "index": 4, "name": "country", "comment": null}, "country_sub_division_code": {"type": "text", "index": 5, "name": "country_sub_division_code", "comment": null}, "latitude": {"type": "integer", "index": 6, "name": "latitude", "comment": null}, "line_1": {"type": "text", "index": 7, "name": "line_1", "comment": null}, "line_2": {"type": "text", "index": 8, "name": "line_2", "comment": null}, "line_3": {"type": "integer", "index": 9, "name": "line_3", "comment": null}, "line_4": {"type": "integer", "index": 10, "name": "line_4", "comment": null}, "line_5": {"type": "integer", "index": 11, "name": "line_5", "comment": null}, "longitude": {"type": "integer", "index": 12, "name": "longitude", "comment": null}, "postal_code": {"type": "integer", "index": 13, "name": "postal_code", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.address"}, "source.quickbooks_source.quickbooks.bill": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "bill_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "balance": {"type": "integer", "index": 4, "name": "balance", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 6, "name": "currency_id", "comment": null}, "department_id": {"type": "integer", "index": 7, "name": "department_id", "comment": null}, "doc_number": {"type": "date", "index": 8, "name": "doc_number", "comment": null}, "due_date": {"type": "date", "index": 9, "name": "due_date", "comment": null}, "exchange_rate": {"type": "integer", "index": 10, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 11, "name": "global_tax_calculation", "comment": null}, "home_balance": {"type": "integer", "index": 12, "name": "home_balance", "comment": null}, "payable_account_id": {"type": "integer", "index": 13, "name": "payable_account_id", "comment": null}, "private_note": {"type": "text", "index": 14, "name": "private_note", "comment": null}, "sales_term_id": {"type": "integer", "index": 15, "name": "sales_term_id", "comment": null}, "sync_token": {"type": "integer", "index": 16, "name": "sync_token", "comment": null}, "total_amount": {"type": "integer", "index": 17, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 18, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 19, "name": "updated_at", "comment": null}, "vendor_id": {"type": "integer", "index": 20, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.bill"}, "source.quickbooks_source.quickbooks.bill_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "bill_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bill_id": {"type": "integer", "index": 1, "name": "bill_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_expense_account_id": {"type": "integer", "index": 4, "name": "account_expense_account_id", "comment": null}, "account_expense_billable_status": {"type": "character varying(100)", "index": 5, "name": "account_expense_billable_status", "comment": null}, "account_expense_class_id": {"type": "integer", "index": 6, "name": "account_expense_class_id", "comment": null}, "account_expense_customer_id": {"type": "integer", "index": 7, "name": "account_expense_customer_id", "comment": null}, "account_expense_tax_amount": {"type": "integer", "index": 8, "name": "account_expense_tax_amount", "comment": null}, "account_expense_tax_code_id": {"type": "text", "index": 9, "name": "account_expense_tax_code_id", "comment": null}, "amount": {"type": "double precision", "index": 10, "name": "amount", "comment": null}, "description": {"type": "text", "index": 11, "name": "description", "comment": null}, "item_expense_billable_status": {"type": "character varying(100)", "index": 12, "name": "item_expense_billable_status", "comment": null}, "item_expense_class_id": {"type": "integer", "index": 13, "name": "item_expense_class_id", "comment": null}, "item_expense_customer_id": {"type": "integer", "index": 14, "name": "item_expense_customer_id", "comment": null}, "item_expense_item_id": {"type": "integer", "index": 15, "name": "item_expense_item_id", "comment": null}, "item_expense_quantity": {"type": "integer", "index": 16, "name": "item_expense_quantity", "comment": null}, "item_expense_tax_code_id": {"type": "integer", "index": 17, "name": "item_expense_tax_code_id", "comment": null}, "item_expense_unit_price": {"type": "integer", "index": 18, "name": "item_expense_unit_price", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.bill_line"}, "source.quickbooks_source.quickbooks.bill_linked_txn": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "bill_linked_txn_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bill_id": {"type": "integer", "index": 1, "name": "bill_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "bill_payment_id": {"type": "integer", "index": 4, "name": "bill_payment_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.bill_linked_txn"}, "source.quickbooks_source.quickbooks.bill_payment": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "bill_payment_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "check_bank_account_id": {"type": "integer", "index": 4, "name": "check_bank_account_id", "comment": null}, "check_print_status": {"type": "text", "index": 5, "name": "check_print_status", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 6, "name": "created_at", "comment": null}, "credit_card_account_id": {"type": "integer", "index": 7, "name": "credit_card_account_id", "comment": null}, "currency_id": {"type": "text", "index": 8, "name": "currency_id", "comment": null}, "department_id": {"type": "integer", "index": 9, "name": "department_id", "comment": null}, "doc_number": {"type": "integer", "index": 10, "name": "doc_number", "comment": null}, "exchange_rate": {"type": "integer", "index": 11, "name": "exchange_rate", "comment": null}, "pay_type": {"type": "text", "index": 12, "name": "pay_type", "comment": null}, "payable_account_id": {"type": "integer", "index": 13, "name": "payable_account_id", "comment": null}, "private_note": {"type": "integer", "index": 14, "name": "private_note", "comment": null}, "process_bill_payment": {"type": "integer", "index": 15, "name": "process_bill_payment", "comment": null}, "sync_token": {"type": "integer", "index": 16, "name": "sync_token", "comment": null}, "total_amount": {"type": "integer", "index": 17, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 18, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 19, "name": "updated_at", "comment": null}, "vendor_id": {"type": "integer", "index": 20, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.bill_payment"}, "source.quickbooks_source.quickbooks.bill_payment_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "bill_payment_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bill_payment_id": {"type": "integer", "index": 1, "name": "bill_payment_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "bill_id": {"type": "integer", "index": 5, "name": "bill_id", "comment": null}, "check_id": {"type": "integer", "index": 6, "name": "check_id", "comment": null}, "credit_card_charge_id": {"type": "integer", "index": 7, "name": "credit_card_charge_id", "comment": null}, "credit_card_credit_id": {"type": "integer", "index": 8, "name": "credit_card_credit_id", "comment": null}, "deposit_id": {"type": "integer", "index": 9, "name": "deposit_id", "comment": null}, "expense_id": {"type": "integer", "index": 10, "name": "expense_id", "comment": null}, "journal_entry_id": {"type": "integer", "index": 11, "name": "journal_entry_id", "comment": null}, "linked_bill_payment_id": {"type": "integer", "index": 12, "name": "linked_bill_payment_id", "comment": null}, "vendor_credit_id": {"type": "integer", "index": 13, "name": "vendor_credit_id", "comment": null}, "bill_payment_credit_card_id": {"type": "integer", "index": 14, "name": "bill_payment_credit_card_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.bill_payment_line"}, "source.quickbooks_source.quickbooks.bundle": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "bundle_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "active": {"type": "boolean", "index": 3, "name": "active", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 4, "name": "created_at", "comment": null}, "description": {"type": "text", "index": 5, "name": "description", "comment": null}, "fully_qualified_name": {"type": "text", "index": 6, "name": "fully_qualified_name", "comment": null}, "name": {"type": "text", "index": 7, "name": "name", "comment": null}, "print_grouped_items": {"type": "boolean", "index": 8, "name": "print_grouped_items", "comment": null}, "purchase_cost": {"type": "integer", "index": 9, "name": "purchase_cost", "comment": null}, "sync_token": {"type": "integer", "index": 10, "name": "sync_token", "comment": null}, "taxable": {"type": "boolean", "index": 11, "name": "taxable", "comment": null}, "unit_price": {"type": "integer", "index": 12, "name": "unit_price", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 13, "name": "updated_at", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 14, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.bundle"}, "source.quickbooks_source.quickbooks.bundle_item": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "bundle_item_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"bundle_id": {"type": "integer", "index": 1, "name": "bundle_id", "comment": null}, "item_id": {"type": "integer", "index": 2, "name": "item_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "item_quantity": {"type": "integer", "index": 4, "name": "item_quantity", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.bundle_item"}, "source.quickbooks_source.quickbooks.credit_card_payment_txn": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "credit_card_payment_txn_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "amount": {"type": "double precision", "index": 2, "name": "amount", "comment": null}, "bank_account_id": {"type": "integer", "index": 3, "name": "bank_account_id", "comment": null}, "credit_card_account_id": {"type": "integer", "index": 4, "name": "credit_card_account_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 6, "name": "updated_at", "comment": null}, "currency_id": {"type": "text", "index": 7, "name": "currency_id", "comment": null}, "transaction_date": {"type": "date", "index": 8, "name": "transaction_date", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 9, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.credit_card_payment_txn"}, "source.quickbooks_source.quickbooks.credit_memo": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "credit_memo_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "apply_tax_after_discount": {"type": "boolean", "index": 4, "name": "apply_tax_after_discount", "comment": null}, "balance": {"type": "integer", "index": 5, "name": "balance", "comment": null}, "bill_email": {"type": "text", "index": 6, "name": "bill_email", "comment": null}, "billing_address_id": {"type": "integer", "index": 7, "name": "billing_address_id", "comment": null}, "class_id": {"type": "integer", "index": 8, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 9, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 10, "name": "currency_id", "comment": null}, "custom_p_o_number": {"type": "integer", "index": 11, "name": "custom_p_o_number", "comment": null}, "customer_id": {"type": "integer", "index": 12, "name": "customer_id", "comment": null}, "customer_memo": {"type": "text", "index": 13, "name": "customer_memo", "comment": null}, "department_id": {"type": "integer", "index": 14, "name": "department_id", "comment": null}, "doc_number": {"type": "integer", "index": 15, "name": "doc_number", "comment": null}, "email_status": {"type": "text", "index": 16, "name": "email_status", "comment": null}, "exchange_rate": {"type": "integer", "index": 17, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 18, "name": "global_tax_calculation", "comment": null}, "home_balance": {"type": "integer", "index": 19, "name": "home_balance", "comment": null}, "home_total_amount": {"type": "integer", "index": 20, "name": "home_total_amount", "comment": null}, "payment_method_id": {"type": "integer", "index": 21, "name": "payment_method_id", "comment": null}, "print_status": {"type": "text", "index": 22, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 23, "name": "private_note", "comment": null}, "remaining_credit": {"type": "integer", "index": 24, "name": "remaining_credit", "comment": null}, "sales_term_id": {"type": "integer", "index": 25, "name": "sales_term_id", "comment": null}, "shipping_address_id": {"type": "integer", "index": 26, "name": "shipping_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 27, "name": "sync_token", "comment": null}, "total_amount": {"type": "integer", "index": 28, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 29, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 30, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 31, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.credit_memo"}, "source.quickbooks_source.quickbooks.credit_memo_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "credit_memo_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"credit_memo_id": {"type": "integer", "index": 1, "name": "credit_memo_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "bundle_id": {"type": "integer", "index": 5, "name": "bundle_id", "comment": null}, "bundle_quantity": {"type": "integer", "index": 6, "name": "bundle_quantity", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 8, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 9, "name": "description_tax_code_id", "comment": null}, "discount_account_id": {"type": "integer", "index": 10, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "integer", "index": 11, "name": "discount_class_id", "comment": null}, "discount_discount_percent": {"type": "integer", "index": 12, "name": "discount_discount_percent", "comment": null}, "discount_percent_based": {"type": "integer", "index": 13, "name": "discount_percent_based", "comment": null}, "discount_tax_code_id": {"type": "integer", "index": 14, "name": "discount_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 15, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "integer", "index": 16, "name": "sales_item_class_id", "comment": null}, "sales_item_discount_amount": {"type": "integer", "index": 17, "name": "sales_item_discount_amount", "comment": null}, "sales_item_discount_rate": {"type": "integer", "index": 18, "name": "sales_item_discount_rate", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 19, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "double precision", "index": 20, "name": "sales_item_quantity", "comment": null}, "sales_item_service_date": {"type": "integer", "index": 21, "name": "sales_item_service_date", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 22, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_unit_price": {"type": "double precision", "index": 23, "name": "sales_item_unit_price", "comment": null}, "sub_total_item_id": {"type": "integer", "index": 24, "name": "sub_total_item_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.credit_memo_line"}, "source.quickbooks_source.quickbooks.customer": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "customer_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "active": {"type": "boolean", "index": 3, "name": "active", "comment": null}, "alternate_phone_number": {"type": "integer", "index": 4, "name": "alternate_phone_number", "comment": null}, "ar_account_id": {"type": "integer", "index": 5, "name": "ar_account_id", "comment": null}, "balance": {"type": "integer", "index": 6, "name": "balance", "comment": null}, "balance_with_jobs": {"type": "integer", "index": 7, "name": "balance_with_jobs", "comment": null}, "bill_address_id": {"type": "integer", "index": 8, "name": "bill_address_id", "comment": null}, "bill_with_parent": {"type": "boolean", "index": 9, "name": "bill_with_parent", "comment": null}, "company_name": {"type": "text", "index": 10, "name": "company_name", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 11, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 12, "name": "currency_id", "comment": null}, "default_tax_code_id": {"type": "integer", "index": 13, "name": "default_tax_code_id", "comment": null}, "display_name": {"type": "text", "index": 14, "name": "display_name", "comment": null}, "email": {"type": "text", "index": 15, "name": "email", "comment": null}, "family_name": {"type": "text", "index": 16, "name": "family_name", "comment": null}, "fax_number": {"type": "integer", "index": 17, "name": "fax_number", "comment": null}, "fully_qualified_name": {"type": "text", "index": 18, "name": "fully_qualified_name", "comment": null}, "given_name": {"type": "text", "index": 19, "name": "given_name", "comment": null}, "job": {"type": "boolean", "index": 20, "name": "job", "comment": null}, "level": {"type": "integer", "index": 21, "name": "level", "comment": null}, "middle_name": {"type": "integer", "index": 22, "name": "middle_name", "comment": null}, "mobile_number": {"type": "integer", "index": 23, "name": "mobile_number", "comment": null}, "notes": {"type": "integer", "index": 24, "name": "notes", "comment": null}, "open_balance_date": {"type": "integer", "index": 25, "name": "open_balance_date", "comment": null}, "parent_customer_id": {"type": "integer", "index": 26, "name": "parent_customer_id", "comment": null}, "payment_method_id": {"type": "integer", "index": 27, "name": "payment_method_id", "comment": null}, "phone_number": {"type": "integer", "index": 28, "name": "phone_number", "comment": null}, "preferred_delivery_method": {"type": "text", "index": 29, "name": "preferred_delivery_method", "comment": null}, "print_on_check_name": {"type": "text", "index": 30, "name": "print_on_check_name", "comment": null}, "resale_number": {"type": "integer", "index": 31, "name": "resale_number", "comment": null}, "sales_term_id": {"type": "integer", "index": 32, "name": "sales_term_id", "comment": null}, "shipping_address_id": {"type": "integer", "index": 33, "name": "shipping_address_id", "comment": null}, "suffix": {"type": "integer", "index": 34, "name": "suffix", "comment": null}, "sync_token": {"type": "integer", "index": 35, "name": "sync_token", "comment": null}, "tax_exemption_reason_id": {"type": "integer", "index": 36, "name": "tax_exemption_reason_id", "comment": null}, "taxable": {"type": "boolean", "index": 37, "name": "taxable", "comment": null}, "title": {"type": "integer", "index": 38, "name": "title", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 39, "name": "updated_at", "comment": null}, "website": {"type": "integer", "index": 40, "name": "website", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 41, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.customer"}, "source.quickbooks_source.quickbooks.department": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "department_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "active": {"type": "boolean", "index": 3, "name": "active", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 4, "name": "created_at", "comment": null}, "fully_qualified_name": {"type": "text", "index": 5, "name": "fully_qualified_name", "comment": null}, "name": {"type": "text", "index": 6, "name": "name", "comment": null}, "parent_department_id": {"type": "integer", "index": 7, "name": "parent_department_id", "comment": null}, "sub_department": {"type": "boolean", "index": 8, "name": "sub_department", "comment": null}, "sync_token": {"type": "integer", "index": 9, "name": "sync_token", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 10, "name": "updated_at", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 11, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.department"}, "source.quickbooks_source.quickbooks.deposit": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "deposit_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_id": {"type": "integer", "index": 4, "name": "account_id", "comment": null}, "cash_back_account_id": {"type": "integer", "index": 5, "name": "cash_back_account_id", "comment": null}, "cash_back_amount": {"type": "integer", "index": 6, "name": "cash_back_amount", "comment": null}, "cash_back_memo": {"type": "integer", "index": 7, "name": "cash_back_memo", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 8, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 9, "name": "currency_id", "comment": null}, "department_id": {"type": "integer", "index": 10, "name": "department_id", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 11, "name": "global_tax_calculation", "comment": null}, "home_total_amount": {"type": "integer", "index": 12, "name": "home_total_amount", "comment": null}, "private_note": {"type": "text", "index": 13, "name": "private_note", "comment": null}, "sync_token": {"type": "integer", "index": 14, "name": "sync_token", "comment": null}, "total_amount": {"type": "integer", "index": 15, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 16, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 17, "name": "transaction_source", "comment": null}, "transaction_status": {"type": "integer", "index": 18, "name": "transaction_status", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 19, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.deposit"}, "source.quickbooks_source.quickbooks.deposit_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "deposit_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"deposit_id": {"type": "integer", "index": 1, "name": "deposit_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "deposit_account_id": {"type": "bigint", "index": 5, "name": "deposit_account_id", "comment": null}, "deposit_check_number": {"type": "integer", "index": 6, "name": "deposit_check_number", "comment": null}, "deposit_class_id": {"type": "bigint", "index": 7, "name": "deposit_class_id", "comment": null}, "deposit_customer_id": {"type": "integer", "index": 8, "name": "deposit_customer_id", "comment": null}, "deposit_payment_method_id": {"type": "integer", "index": 9, "name": "deposit_payment_method_id", "comment": null}, "deposit_tax_applicable_on": {"type": "integer", "index": 10, "name": "deposit_tax_applicable_on", "comment": null}, "deposit_tax_code_id": {"type": "integer", "index": 11, "name": "deposit_tax_code_id", "comment": null}, "deposit_transaction_type": {"type": "integer", "index": 12, "name": "deposit_transaction_type", "comment": null}, "description": {"type": "text", "index": 13, "name": "description", "comment": null}, "detail_type": {"type": "text", "index": 14, "name": "detail_type", "comment": null}, "expense_id": {"type": "integer", "index": 15, "name": "expense_id", "comment": null}, "invoice_id": {"type": "integer", "index": 16, "name": "invoice_id", "comment": null}, "journal_entry_id": {"type": "integer", "index": 17, "name": "journal_entry_id", "comment": null}, "payment_id": {"type": "integer", "index": 18, "name": "payment_id", "comment": null}, "purchase_id": {"type": "integer", "index": 19, "name": "purchase_id", "comment": null}, "refund_receipt_id": {"type": "integer", "index": 20, "name": "refund_receipt_id", "comment": null}, "sales_receipt_id": {"type": "integer", "index": 21, "name": "sales_receipt_id", "comment": null}, "transfer_id": {"type": "integer", "index": 22, "name": "transfer_id", "comment": null}, "bill_id": {"type": "integer", "index": 23, "name": "bill_id", "comment": null}, "vendor_credit_id": {"type": "integer", "index": 24, "name": "vendor_credit_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.deposit_line"}, "source.quickbooks_source.quickbooks.estimate": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "estimate_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "accepted_by": {"type": "integer", "index": 4, "name": "accepted_by", "comment": null}, "accepted_date": {"type": "integer", "index": 5, "name": "accepted_date", "comment": null}, "apply_tax_after_discount": {"type": "boolean", "index": 6, "name": "apply_tax_after_discount", "comment": null}, "bill_email": {"type": "text", "index": 7, "name": "bill_email", "comment": null}, "billing_address_id": {"type": "integer", "index": 8, "name": "billing_address_id", "comment": null}, "class_id": {"type": "integer", "index": 9, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 10, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 11, "name": "currency_id", "comment": null}, "custom_p_o_number": {"type": "integer", "index": 12, "name": "custom_p_o_number", "comment": null}, "custom_sales_rep": {"type": "integer", "index": 13, "name": "custom_sales_rep", "comment": null}, "customer_id": {"type": "integer", "index": 14, "name": "customer_id", "comment": null}, "customer_memo": {"type": "text", "index": 15, "name": "customer_memo", "comment": null}, "delivery_type": {"type": "integer", "index": 16, "name": "delivery_type", "comment": null}, "department_id": {"type": "integer", "index": 17, "name": "department_id", "comment": null}, "doc_number": {"type": "integer", "index": 18, "name": "doc_number", "comment": null}, "due_date": {"type": "date", "index": 19, "name": "due_date", "comment": null}, "email_status": {"type": "text", "index": 20, "name": "email_status", "comment": null}, "exchange_rate": {"type": "integer", "index": 21, "name": "exchange_rate", "comment": null}, "expiration_date": {"type": "integer", "index": 22, "name": "expiration_date", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 23, "name": "global_tax_calculation", "comment": null}, "home_total_amount": {"type": "integer", "index": 24, "name": "home_total_amount", "comment": null}, "print_status": {"type": "text", "index": 25, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 26, "name": "private_note", "comment": null}, "sales_term_id": {"type": "integer", "index": 27, "name": "sales_term_id", "comment": null}, "ship_date": {"type": "integer", "index": 28, "name": "ship_date", "comment": null}, "shipping_address_id": {"type": "integer", "index": 29, "name": "shipping_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 30, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 31, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "double precision", "index": 32, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 33, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 34, "name": "transaction_date", "comment": null}, "transaction_status": {"type": "text", "index": 35, "name": "transaction_status", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 36, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.estimate"}, "source.quickbooks_source.quickbooks.estimate_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "estimate_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"estimate_id": {"type": "integer", "index": 1, "name": "estimate_id", "comment": null}, "index": {"type": "integer", "index": 2, "name": "index", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "bundle_id": {"type": "integer", "index": 5, "name": "bundle_id", "comment": null}, "bundle_quantity": {"type": "integer", "index": 6, "name": "bundle_quantity", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 8, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 9, "name": "description_tax_code_id", "comment": null}, "discount_account_id": {"type": "integer", "index": 10, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "integer", "index": 11, "name": "discount_class_id", "comment": null}, "discount_discount_percent": {"type": "integer", "index": 12, "name": "discount_discount_percent", "comment": null}, "discount_percent_based": {"type": "integer", "index": 13, "name": "discount_percent_based", "comment": null}, "discount_tax_code_id": {"type": "integer", "index": 14, "name": "discount_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 15, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "integer", "index": 16, "name": "sales_item_class_id", "comment": null}, "sales_item_discount_amount": {"type": "integer", "index": 17, "name": "sales_item_discount_amount", "comment": null}, "sales_item_discount_rate": {"type": "integer", "index": 18, "name": "sales_item_discount_rate", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 19, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "integer", "index": 20, "name": "sales_item_quantity", "comment": null}, "sales_item_service_date": {"type": "integer", "index": 21, "name": "sales_item_service_date", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 22, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_unit_price": {"type": "integer", "index": 23, "name": "sales_item_unit_price", "comment": null}, "sub_total_item_id": {"type": "integer", "index": 24, "name": "sub_total_item_id", "comment": null}, "item_id": {"type": "integer", "index": 25, "name": "item_id", "comment": null}, "quantity": {"type": "integer", "index": 26, "name": "quantity", "comment": null}, "tax_code_id": {"type": "integer", "index": 27, "name": "tax_code_id", "comment": null}, "account_id": {"type": "integer", "index": 28, "name": "account_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.estimate_line"}, "source.quickbooks_source.quickbooks.invoice": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "invoice_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "allow_ipnpayment": {"type": "boolean", "index": 4, "name": "allow_ipnpayment", "comment": null}, "allow_online_achpayment": {"type": "boolean", "index": 5, "name": "allow_online_achpayment", "comment": null}, "allow_online_credit_card_payment": {"type": "boolean", "index": 6, "name": "allow_online_credit_card_payment", "comment": null}, "allow_online_payment": {"type": "boolean", "index": 7, "name": "allow_online_payment", "comment": null}, "apply_tax_after_discount": {"type": "boolean", "index": 8, "name": "apply_tax_after_discount", "comment": null}, "balance": {"type": "integer", "index": 9, "name": "balance", "comment": null}, "billing_address_id": {"type": "integer", "index": 10, "name": "billing_address_id", "comment": null}, "billing_bcc_email": {"type": "text", "index": 11, "name": "billing_bcc_email", "comment": null}, "billing_cc_email": {"type": "integer", "index": 12, "name": "billing_cc_email", "comment": null}, "billing_email": {"type": "text", "index": 13, "name": "billing_email", "comment": null}, "class_id": {"type": "integer", "index": 14, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 15, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 16, "name": "currency_id", "comment": null}, "custom_p_o_number": {"type": "integer", "index": 17, "name": "custom_p_o_number", "comment": null}, "custom_sales_rep": {"type": "integer", "index": 18, "name": "custom_sales_rep", "comment": null}, "customer_id": {"type": "integer", "index": 19, "name": "customer_id", "comment": null}, "customer_memo": {"type": "text", "index": 20, "name": "customer_memo", "comment": null}, "delivery_time": {"type": "timestamp without time zone", "index": 21, "name": "delivery_time", "comment": null}, "delivery_type": {"type": "text", "index": 22, "name": "delivery_type", "comment": null}, "department_id": {"type": "integer", "index": 23, "name": "department_id", "comment": null}, "deposit": {"type": "integer", "index": 24, "name": "deposit", "comment": null}, "deposit_to_account_id": {"type": "integer", "index": 25, "name": "deposit_to_account_id", "comment": null}, "doc_number": {"type": "integer", "index": 26, "name": "doc_number", "comment": null}, "due_date": {"type": "date", "index": 27, "name": "due_date", "comment": null}, "email_status": {"type": "text", "index": 28, "name": "email_status", "comment": null}, "exchange_rate": {"type": "integer", "index": 29, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 30, "name": "global_tax_calculation", "comment": null}, "home_balance": {"type": "integer", "index": 31, "name": "home_balance", "comment": null}, "home_total_amount": {"type": "integer", "index": 32, "name": "home_total_amount", "comment": null}, "print_status": {"type": "text", "index": 33, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 34, "name": "private_note", "comment": null}, "sales_term_id": {"type": "integer", "index": 35, "name": "sales_term_id", "comment": null}, "ship_date": {"type": "integer", "index": 36, "name": "ship_date", "comment": null}, "shipping_address_id": {"type": "integer", "index": 37, "name": "shipping_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 38, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 39, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "integer", "index": 40, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 41, "name": "total_tax", "comment": null}, "tracking_number": {"type": "integer", "index": 42, "name": "tracking_number", "comment": null}, "transaction_date": {"type": "date", "index": 43, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 44, "name": "transaction_source", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 45, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.invoice"}, "source.quickbooks_source.quickbooks.invoice_line_bundle": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "invoice_line_bundle_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "invoice_id": {"type": "integer", "index": 2, "name": "invoice_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_id": {"type": "integer", "index": 4, "name": "account_id", "comment": null}, "amount": {"type": "double precision", "index": 5, "name": "amount", "comment": null}, "class_id": {"type": "integer", "index": 6, "name": "class_id", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "discount_amount": {"type": "integer", "index": 8, "name": "discount_amount", "comment": null}, "discount_rate": {"type": "integer", "index": 9, "name": "discount_rate", "comment": null}, "invoice_line_index": {"type": "integer", "index": 10, "name": "invoice_line_index", "comment": null}, "item_id": {"type": "integer", "index": 11, "name": "item_id", "comment": null}, "line_num": {"type": "integer", "index": 12, "name": "line_num", "comment": null}, "quantity": {"type": "double precision", "index": 13, "name": "quantity", "comment": null}, "service_date": {"type": "integer", "index": 14, "name": "service_date", "comment": null}, "tax_code_id": {"type": "text", "index": 15, "name": "tax_code_id", "comment": null}, "unit_price": {"type": "integer", "index": 16, "name": "unit_price", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 17, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "integer", "index": 18, "name": "sales_item_quantity", "comment": null}, "sales_item_tax_code_id": {"type": "integer", "index": 19, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 20, "name": "sales_item_account_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.invoice_line_bundle"}, "source.quickbooks_source.quickbooks.invoice_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "invoice_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "invoice_id": {"type": "integer", "index": 2, "name": "invoice_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "double precision", "index": 4, "name": "amount", "comment": null}, "bundle_id": {"type": "integer", "index": 5, "name": "bundle_id", "comment": null}, "bundle_quantity": {"type": "double precision", "index": 6, "name": "bundle_quantity", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 8, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 9, "name": "description_tax_code_id", "comment": null}, "discount_account_id": {"type": "integer", "index": 10, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "integer", "index": 11, "name": "discount_class_id", "comment": null}, "discount_discount_percent": {"type": "integer", "index": 12, "name": "discount_discount_percent", "comment": null}, "discount_percent_based": {"type": "integer", "index": 13, "name": "discount_percent_based", "comment": null}, "discount_tax_code_id": {"type": "integer", "index": 14, "name": "discount_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 15, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "integer", "index": 16, "name": "sales_item_class_id", "comment": null}, "sales_item_discount_amount": {"type": "integer", "index": 17, "name": "sales_item_discount_amount", "comment": null}, "sales_item_discount_rate": {"type": "integer", "index": 18, "name": "sales_item_discount_rate", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 19, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "double precision", "index": 20, "name": "sales_item_quantity", "comment": null}, "sales_item_service_date": {"type": "integer", "index": 21, "name": "sales_item_service_date", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 22, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_unit_price": {"type": "integer", "index": 23, "name": "sales_item_unit_price", "comment": null}, "sub_total_item_id": {"type": "integer", "index": 24, "name": "sub_total_item_id", "comment": null}, "item_id": {"type": "integer", "index": 25, "name": "item_id", "comment": null}, "quantity": {"type": "integer", "index": 26, "name": "quantity", "comment": null}, "tax_code_id": {"type": "integer", "index": 27, "name": "tax_code_id", "comment": null}, "account_id": {"type": "integer", "index": 28, "name": "account_id", "comment": null}, "detail_type": {"type": "text", "index": 29, "name": "detail_type", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.invoice_line"}, "source.quickbooks_source.quickbooks.invoice_linked_txn": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "invoice_linked_txn_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "invoice_id": {"type": "integer", "index": 2, "name": "invoice_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "charge_credit_id": {"type": "integer", "index": 4, "name": "charge_credit_id", "comment": null}, "estimate_id": {"type": "integer", "index": 5, "name": "estimate_id", "comment": null}, "payment_id": {"type": "integer", "index": 6, "name": "payment_id", "comment": null}, "reimburse_charge_id": {"type": "integer", "index": 7, "name": "reimburse_charge_id", "comment": null}, "statement_charge_id": {"type": "integer", "index": 8, "name": "statement_charge_id", "comment": null}, "time_activity_id": {"type": "integer", "index": 9, "name": "time_activity_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.invoice_linked_txn"}, "source.quickbooks_source.quickbooks.item": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "item_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "active": {"type": "boolean", "index": 3, "name": "active", "comment": null}, "asset_account_id": {"type": "integer", "index": 4, "name": "asset_account_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "description": {"type": "integer", "index": 6, "name": "description", "comment": null}, "expense_account_id": {"type": "integer", "index": 7, "name": "expense_account_id", "comment": null}, "fully_qualified_name": {"type": "text", "index": 8, "name": "fully_qualified_name", "comment": null}, "income_account_id": {"type": "integer", "index": 9, "name": "income_account_id", "comment": null}, "inventory_start_date": {"type": "integer", "index": 10, "name": "inventory_start_date", "comment": null}, "level": {"type": "integer", "index": 11, "name": "level", "comment": null}, "name": {"type": "text", "index": 12, "name": "name", "comment": null}, "parent_item_id": {"type": "integer", "index": 13, "name": "parent_item_id", "comment": null}, "purchase_cost": {"type": "integer", "index": 14, "name": "purchase_cost", "comment": null}, "purchase_description": {"type": "integer", "index": 15, "name": "purchase_description", "comment": null}, "purchase_tax_code_id": {"type": "integer", "index": 16, "name": "purchase_tax_code_id", "comment": null}, "purchase_tax_included": {"type": "integer", "index": 17, "name": "purchase_tax_included", "comment": null}, "quantity_on_hand": {"type": "integer", "index": 18, "name": "quantity_on_hand", "comment": null}, "sales_tax_code_id": {"type": "integer", "index": 19, "name": "sales_tax_code_id", "comment": null}, "sales_tax_included": {"type": "integer", "index": 20, "name": "sales_tax_included", "comment": null}, "stock_keeping_unit": {"type": "integer", "index": 21, "name": "stock_keeping_unit", "comment": null}, "sub_item": {"type": "integer", "index": 22, "name": "sub_item", "comment": null}, "sync_token": {"type": "integer", "index": 23, "name": "sync_token", "comment": null}, "taxable": {"type": "boolean", "index": 24, "name": "taxable", "comment": null}, "track_quantity_on_hand": {"type": "boolean", "index": 25, "name": "track_quantity_on_hand", "comment": null}, "type": {"type": "text", "index": 26, "name": "type", "comment": null}, "unit_price": {"type": "integer", "index": 27, "name": "unit_price", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 28, "name": "updated_at", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 29, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.item"}, "source.quickbooks_source.quickbooks.journal_entry": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "journal_entry_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "adjustment": {"type": "boolean", "index": 4, "name": "adjustment", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 6, "name": "currency_id", "comment": null}, "doc_number": {"type": "text", "index": 7, "name": "doc_number", "comment": null}, "exchange_rate": {"type": "integer", "index": 8, "name": "exchange_rate", "comment": null}, "home_total_amount": {"type": "integer", "index": 9, "name": "home_total_amount", "comment": null}, "private_note": {"type": "text", "index": 10, "name": "private_note", "comment": null}, "sync_token": {"type": "integer", "index": 11, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 12, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "integer", "index": 13, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 14, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 15, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 16, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.journal_entry"}, "source.quickbooks_source.quickbooks.journal_entry_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "journal_entry_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "journal_entry_id": {"type": "integer", "index": 2, "name": "journal_entry_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_id": {"type": "integer", "index": 4, "name": "account_id", "comment": null}, "amount": {"type": "integer", "index": 5, "name": "amount", "comment": null}, "billable_status": {"type": "integer", "index": 6, "name": "billable_status", "comment": null}, "class_id": {"type": "integer", "index": 7, "name": "class_id", "comment": null}, "customer_id": {"type": "integer", "index": 8, "name": "customer_id", "comment": null}, "department_id": {"type": "integer", "index": 9, "name": "department_id", "comment": null}, "description": {"type": "text", "index": 10, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 11, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 12, "name": "description_tax_code_id", "comment": null}, "employee_id": {"type": "integer", "index": 13, "name": "employee_id", "comment": null}, "posting_type": {"type": "text", "index": 14, "name": "posting_type", "comment": null}, "tax_amount": {"type": "integer", "index": 15, "name": "tax_amount", "comment": null}, "tax_applicable_on": {"type": "integer", "index": 16, "name": "tax_applicable_on", "comment": null}, "tax_code_id": {"type": "integer", "index": 17, "name": "tax_code_id", "comment": null}, "vendor_id": {"type": "integer", "index": 18, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.journal_entry_line"}, "source.quickbooks_source.quickbooks.payment": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "payment_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 4, "name": "created_at", "comment": null}, "credit_card_amount": {"type": "integer", "index": 5, "name": "credit_card_amount", "comment": null}, "credit_card_auth_code": {"type": "integer", "index": 6, "name": "credit_card_auth_code", "comment": null}, "credit_card_billing_address_street": {"type": "integer", "index": 7, "name": "credit_card_billing_address_street", "comment": null}, "credit_card_cc_expiry_month": {"type": "integer", "index": 8, "name": "credit_card_cc_expiry_month", "comment": null}, "credit_card_cc_expiry_year": {"type": "integer", "index": 9, "name": "credit_card_cc_expiry_year", "comment": null}, "credit_card_cctrans_id": {"type": "integer", "index": 10, "name": "credit_card_cctrans_id", "comment": null}, "credit_card_name_on_account": {"type": "integer", "index": 11, "name": "credit_card_name_on_account", "comment": null}, "credit_card_postal_code": {"type": "integer", "index": 12, "name": "credit_card_postal_code", "comment": null}, "credit_card_process_payment": {"type": "integer", "index": 13, "name": "credit_card_process_payment", "comment": null}, "credit_card_status": {"type": "integer", "index": 14, "name": "credit_card_status", "comment": null}, "credit_card_transaction_authorization_time": {"type": "integer", "index": 15, "name": "credit_card_transaction_authorization_time", "comment": null}, "credit_card_type": {"type": "integer", "index": 16, "name": "credit_card_type", "comment": null}, "currency_id": {"type": "text", "index": 17, "name": "currency_id", "comment": null}, "customer_id": {"type": "integer", "index": 18, "name": "customer_id", "comment": null}, "deposit_to_account_id": {"type": "integer", "index": 19, "name": "deposit_to_account_id", "comment": null}, "exchange_rate": {"type": "integer", "index": 20, "name": "exchange_rate", "comment": null}, "payment_method_id": {"type": "integer", "index": 21, "name": "payment_method_id", "comment": null}, "private_note": {"type": "text", "index": 22, "name": "private_note", "comment": null}, "process_payment": {"type": "boolean", "index": 23, "name": "process_payment", "comment": null}, "receivable_account_id": {"type": "integer", "index": 24, "name": "receivable_account_id", "comment": null}, "reference_number": {"type": "integer", "index": 25, "name": "reference_number", "comment": null}, "sync_token": {"type": "integer", "index": 26, "name": "sync_token", "comment": null}, "total_amount": {"type": "double precision", "index": 27, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 28, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 29, "name": "transaction_source", "comment": null}, "transaction_status": {"type": "integer", "index": 30, "name": "transaction_status", "comment": null}, "unapplied_amount": {"type": "integer", "index": 31, "name": "unapplied_amount", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 32, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.payment"}, "source.quickbooks_source.quickbooks.payment_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "payment_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "payment_id": {"type": "integer", "index": 2, "name": "payment_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "double precision", "index": 4, "name": "amount", "comment": null}, "check_id": {"type": "integer", "index": 5, "name": "check_id", "comment": null}, "credit_card_charge_id": {"type": "integer", "index": 6, "name": "credit_card_charge_id", "comment": null}, "credit_card_credit_id": {"type": "integer", "index": 7, "name": "credit_card_credit_id", "comment": null}, "credit_memo_id": {"type": "integer", "index": 8, "name": "credit_memo_id", "comment": null}, "deposit_id": {"type": "integer", "index": 9, "name": "deposit_id", "comment": null}, "expense_id": {"type": "integer", "index": 10, "name": "expense_id", "comment": null}, "invoice_id": {"type": "integer", "index": 11, "name": "invoice_id", "comment": null}, "journal_entry_id": {"type": "integer", "index": 12, "name": "journal_entry_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.payment_line"}, "source.quickbooks_source.quickbooks.purchase": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "purchase_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_id": {"type": "integer", "index": 4, "name": "account_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "credit": {"type": "boolean", "index": 6, "name": "credit", "comment": null}, "currency_id": {"type": "text", "index": 7, "name": "currency_id", "comment": null}, "customer_id": {"type": "integer", "index": 8, "name": "customer_id", "comment": null}, "department_id": {"type": "integer", "index": 9, "name": "department_id", "comment": null}, "doc_number": {"type": "integer", "index": 10, "name": "doc_number", "comment": null}, "employee_id": {"type": "integer", "index": 11, "name": "employee_id", "comment": null}, "exchange_rate": {"type": "integer", "index": 12, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 13, "name": "global_tax_calculation", "comment": null}, "payment_method_id": {"type": "integer", "index": 14, "name": "payment_method_id", "comment": null}, "payment_type": {"type": "text", "index": 15, "name": "payment_type", "comment": null}, "print_status": {"type": "integer", "index": 16, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 17, "name": "private_note", "comment": null}, "remit_to_address_id": {"type": "integer", "index": 18, "name": "remit_to_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 19, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 20, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "integer", "index": 21, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 22, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 23, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 24, "name": "transaction_source", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 25, "name": "updated_at", "comment": null}, "vendor_id": {"type": "integer", "index": 26, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.purchase"}, "source.quickbooks_source.quickbooks.purchase_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "purchase_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "purchase_id": {"type": "integer", "index": 2, "name": "purchase_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_expense_account_id": {"type": "bigint", "index": 4, "name": "account_expense_account_id", "comment": null}, "account_expense_billable_status": {"type": "text", "index": 5, "name": "account_expense_billable_status", "comment": null}, "account_expense_class_id": {"type": "integer", "index": 6, "name": "account_expense_class_id", "comment": null}, "account_expense_customer_id": {"type": "integer", "index": 7, "name": "account_expense_customer_id", "comment": null}, "account_expense_tax_amount": {"type": "integer", "index": 8, "name": "account_expense_tax_amount", "comment": null}, "account_expense_tax_code_id": {"type": "text", "index": 9, "name": "account_expense_tax_code_id", "comment": null}, "amount": {"type": "integer", "index": 10, "name": "amount", "comment": null}, "description": {"type": "text", "index": 11, "name": "description", "comment": null}, "item_expense_billable_status": {"type": "character varying(100)", "index": 12, "name": "item_expense_billable_status", "comment": null}, "item_expense_class_id": {"type": "integer", "index": 13, "name": "item_expense_class_id", "comment": null}, "item_expense_customer_id": {"type": "integer", "index": 14, "name": "item_expense_customer_id", "comment": null}, "item_expense_item_id": {"type": "integer", "index": 15, "name": "item_expense_item_id", "comment": null}, "item_expense_quantity": {"type": "integer", "index": 16, "name": "item_expense_quantity", "comment": null}, "item_expense_tax_code_id": {"type": "integer", "index": 17, "name": "item_expense_tax_code_id", "comment": null}, "item_expense_unit_price": {"type": "integer", "index": 18, "name": "item_expense_unit_price", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.purchase_line"}, "source.quickbooks_source.quickbooks.purchase_order": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "purchase_order_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "class_id": {"type": "integer", "index": 4, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 6, "name": "currency_id", "comment": null}, "custom_customer_type": {"type": "text", "index": 7, "name": "custom_customer_type", "comment": null}, "custom_p_o_number": {"type": "integer", "index": 8, "name": "custom_p_o_number", "comment": null}, "doc_number": {"type": "integer", "index": 9, "name": "doc_number", "comment": null}, "due_date": {"type": "date", "index": 10, "name": "due_date", "comment": null}, "exchange_rate": {"type": "integer", "index": 11, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 12, "name": "global_tax_calculation", "comment": null}, "memo": {"type": "text", "index": 13, "name": "memo", "comment": null}, "payable_account_id": {"type": "integer", "index": 14, "name": "payable_account_id", "comment": null}, "private_note": {"type": "text", "index": 15, "name": "private_note", "comment": null}, "sales_term_id": {"type": "integer", "index": 16, "name": "sales_term_id", "comment": null}, "shipping_address_id": {"type": "integer", "index": 17, "name": "shipping_address_id", "comment": null}, "status": {"type": "text", "index": 18, "name": "status", "comment": null}, "sync_token": {"type": "integer", "index": 19, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 20, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "double precision", "index": 21, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 22, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 23, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 24, "name": "updated_at", "comment": null}, "vendor_address_id": {"type": "integer", "index": 25, "name": "vendor_address_id", "comment": null}, "vendor_id": {"type": "integer", "index": 26, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.purchase_order"}, "source.quickbooks_source.quickbooks.purchase_order_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "purchase_order_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "purchase_order_id": {"type": "integer", "index": 2, "name": "purchase_order_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_expense_account_id": {"type": "integer", "index": 4, "name": "account_expense_account_id", "comment": null}, "account_expense_billable_status": {"type": "integer", "index": 5, "name": "account_expense_billable_status", "comment": null}, "account_expense_class_id": {"type": "integer", "index": 6, "name": "account_expense_class_id", "comment": null}, "account_expense_customer_id": {"type": "integer", "index": 7, "name": "account_expense_customer_id", "comment": null}, "account_expense_tax_amount": {"type": "integer", "index": 8, "name": "account_expense_tax_amount", "comment": null}, "account_expense_tax_code_id": {"type": "integer", "index": 9, "name": "account_expense_tax_code_id", "comment": null}, "amount": {"type": "double precision", "index": 10, "name": "amount", "comment": null}, "description": {"type": "text", "index": 11, "name": "description", "comment": null}, "item_expense_billable_status": {"type": "text", "index": 12, "name": "item_expense_billable_status", "comment": null}, "item_expense_class_id": {"type": "integer", "index": 13, "name": "item_expense_class_id", "comment": null}, "item_expense_customer_id": {"type": "integer", "index": 14, "name": "item_expense_customer_id", "comment": null}, "item_expense_item_id": {"type": "integer", "index": 15, "name": "item_expense_item_id", "comment": null}, "item_expense_quantity": {"type": "integer", "index": 16, "name": "item_expense_quantity", "comment": null}, "item_expense_tax_code_id": {"type": "text", "index": 17, "name": "item_expense_tax_code_id", "comment": null}, "item_expense_unit_price": {"type": "double precision", "index": 18, "name": "item_expense_unit_price", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.purchase_order_line"}, "source.quickbooks_source.quickbooks.purchase_order_linked_txn": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "purchase_order_linked_txn_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "purchase_order_id": {"type": "integer", "index": 2, "name": "purchase_order_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "bill_id": {"type": "integer", "index": 4, "name": "bill_id", "comment": null}, "purchase_id": {"type": "integer", "index": 5, "name": "purchase_id", "comment": null}, "vendor_credit_id": {"type": "integer", "index": 6, "name": "vendor_credit_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.purchase_order_linked_txn"}, "source.quickbooks_source.quickbooks.refund_receipt": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "refund_receipt_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "apply_tax_after_discount": {"type": "integer", "index": 4, "name": "apply_tax_after_discount", "comment": null}, "balance": {"type": "integer", "index": 5, "name": "balance", "comment": null}, "bill_email": {"type": "text", "index": 6, "name": "bill_email", "comment": null}, "billing_address_id": {"type": "integer", "index": 7, "name": "billing_address_id", "comment": null}, "check_payment_account_number": {"type": "integer", "index": 8, "name": "check_payment_account_number", "comment": null}, "check_payment_bank_name": {"type": "integer", "index": 9, "name": "check_payment_bank_name", "comment": null}, "check_payment_check_number": {"type": "integer", "index": 10, "name": "check_payment_check_number", "comment": null}, "check_payment_name_on_account": {"type": "integer", "index": 11, "name": "check_payment_name_on_account", "comment": null}, "check_payment_status": {"type": "integer", "index": 12, "name": "check_payment_status", "comment": null}, "class_id": {"type": "integer", "index": 13, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 14, "name": "created_at", "comment": null}, "credit_card_amount": {"type": "integer", "index": 15, "name": "credit_card_amount", "comment": null}, "credit_card_auth_code": {"type": "integer", "index": 16, "name": "credit_card_auth_code", "comment": null}, "credit_card_billing_address_street": {"type": "integer", "index": 17, "name": "credit_card_billing_address_street", "comment": null}, "credit_card_cc_expiry_month": {"type": "integer", "index": 18, "name": "credit_card_cc_expiry_month", "comment": null}, "credit_card_cc_expiry_year": {"type": "integer", "index": 19, "name": "credit_card_cc_expiry_year", "comment": null}, "credit_card_cctrans_id": {"type": "integer", "index": 20, "name": "credit_card_cctrans_id", "comment": null}, "credit_card_name_on_account": {"type": "integer", "index": 21, "name": "credit_card_name_on_account", "comment": null}, "credit_card_postal_code": {"type": "integer", "index": 22, "name": "credit_card_postal_code", "comment": null}, "credit_card_process_payment": {"type": "integer", "index": 23, "name": "credit_card_process_payment", "comment": null}, "credit_card_status": {"type": "integer", "index": 24, "name": "credit_card_status", "comment": null}, "credit_card_transaction_authorization_time": {"type": "integer", "index": 25, "name": "credit_card_transaction_authorization_time", "comment": null}, "credit_card_type": {"type": "integer", "index": 26, "name": "credit_card_type", "comment": null}, "currency_id": {"type": "text", "index": 27, "name": "currency_id", "comment": null}, "customer_id": {"type": "integer", "index": 28, "name": "customer_id", "comment": null}, "customer_memo": {"type": "text", "index": 29, "name": "customer_memo", "comment": null}, "department_id": {"type": "integer", "index": 30, "name": "department_id", "comment": null}, "deposit_to_account_id": {"type": "integer", "index": 31, "name": "deposit_to_account_id", "comment": null}, "doc_number": {"type": "integer", "index": 32, "name": "doc_number", "comment": null}, "exchange_rate": {"type": "integer", "index": 33, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 34, "name": "global_tax_calculation", "comment": null}, "home_balance": {"type": "integer", "index": 35, "name": "home_balance", "comment": null}, "home_total_amount": {"type": "integer", "index": 36, "name": "home_total_amount", "comment": null}, "payment_method_id": {"type": "integer", "index": 37, "name": "payment_method_id", "comment": null}, "payment_reference_number": {"type": "integer", "index": 38, "name": "payment_reference_number", "comment": null}, "payment_type": {"type": "integer", "index": 39, "name": "payment_type", "comment": null}, "print_status": {"type": "integer", "index": 40, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 41, "name": "private_note", "comment": null}, "shipping_address_id": {"type": "integer", "index": 42, "name": "shipping_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 43, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 44, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "integer", "index": 45, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 46, "name": "total_tax", "comment": null}, "transaction_date": {"type": "date", "index": 47, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 48, "name": "transaction_source", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 49, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.refund_receipt"}, "source.quickbooks_source.quickbooks.refund_receipt_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "refund_receipt_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "refund_id": {"type": "integer", "index": 2, "name": "refund_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "bundle_id": {"type": "integer", "index": 5, "name": "bundle_id", "comment": null}, "bundle_quantity": {"type": "integer", "index": 6, "name": "bundle_quantity", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 8, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 9, "name": "description_tax_code_id", "comment": null}, "discount_account_id": {"type": "integer", "index": 10, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "integer", "index": 11, "name": "discount_class_id", "comment": null}, "discount_discount_percent": {"type": "integer", "index": 12, "name": "discount_discount_percent", "comment": null}, "discount_percent_based": {"type": "integer", "index": 13, "name": "discount_percent_based", "comment": null}, "discount_tax_code_id": {"type": "integer", "index": 14, "name": "discount_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 15, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "integer", "index": 16, "name": "sales_item_class_id", "comment": null}, "sales_item_discount_amount": {"type": "integer", "index": 17, "name": "sales_item_discount_amount", "comment": null}, "sales_item_discount_rate": {"type": "integer", "index": 18, "name": "sales_item_discount_rate", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 19, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "integer", "index": 20, "name": "sales_item_quantity", "comment": null}, "sales_item_service_date": {"type": "integer", "index": 21, "name": "sales_item_service_date", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 22, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_unit_price": {"type": "integer", "index": 23, "name": "sales_item_unit_price", "comment": null}, "sub_total_item_id": {"type": "integer", "index": 24, "name": "sub_total_item_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.refund_receipt_line"}, "source.quickbooks_source.quickbooks.sales_receipt": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "sales_receipt_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "apply_tax_after_discount": {"type": "integer", "index": 4, "name": "apply_tax_after_discount", "comment": null}, "balance": {"type": "integer", "index": 5, "name": "balance", "comment": null}, "bill_email": {"type": "text", "index": 6, "name": "bill_email", "comment": null}, "billing_address_id": {"type": "integer", "index": 7, "name": "billing_address_id", "comment": null}, "class_id": {"type": "integer", "index": 8, "name": "class_id", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 9, "name": "created_at", "comment": null}, "credit_card_amount": {"type": "integer", "index": 10, "name": "credit_card_amount", "comment": null}, "credit_card_auth_code": {"type": "integer", "index": 11, "name": "credit_card_auth_code", "comment": null}, "credit_card_billing_address_street": {"type": "integer", "index": 12, "name": "credit_card_billing_address_street", "comment": null}, "credit_card_cc_expiry_month": {"type": "integer", "index": 13, "name": "credit_card_cc_expiry_month", "comment": null}, "credit_card_cc_expiry_year": {"type": "integer", "index": 14, "name": "credit_card_cc_expiry_year", "comment": null}, "credit_card_cctrans_id": {"type": "integer", "index": 15, "name": "credit_card_cctrans_id", "comment": null}, "credit_card_name_on_account": {"type": "integer", "index": 16, "name": "credit_card_name_on_account", "comment": null}, "credit_card_postal_code": {"type": "integer", "index": 17, "name": "credit_card_postal_code", "comment": null}, "credit_card_process_payment": {"type": "integer", "index": 18, "name": "credit_card_process_payment", "comment": null}, "credit_card_status": {"type": "integer", "index": 19, "name": "credit_card_status", "comment": null}, "credit_card_transaction_authorization_time": {"type": "integer", "index": 20, "name": "credit_card_transaction_authorization_time", "comment": null}, "credit_card_type": {"type": "integer", "index": 21, "name": "credit_card_type", "comment": null}, "currency_id": {"type": "text", "index": 22, "name": "currency_id", "comment": null}, "customer_id": {"type": "integer", "index": 23, "name": "customer_id", "comment": null}, "customer_memo": {"type": "text", "index": 24, "name": "customer_memo", "comment": null}, "delivery_time": {"type": "integer", "index": 25, "name": "delivery_time", "comment": null}, "delivery_type": {"type": "integer", "index": 26, "name": "delivery_type", "comment": null}, "department_id": {"type": "integer", "index": 27, "name": "department_id", "comment": null}, "deposit_to_account_id": {"type": "integer", "index": 28, "name": "deposit_to_account_id", "comment": null}, "doc_number": {"type": "integer", "index": 29, "name": "doc_number", "comment": null}, "email_status": {"type": "integer", "index": 30, "name": "email_status", "comment": null}, "exchange_rate": {"type": "integer", "index": 31, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 32, "name": "global_tax_calculation", "comment": null}, "home_balance": {"type": "integer", "index": 33, "name": "home_balance", "comment": null}, "home_total_amount": {"type": "integer", "index": 34, "name": "home_total_amount", "comment": null}, "payment_method_id": {"type": "integer", "index": 35, "name": "payment_method_id", "comment": null}, "payment_reference_number": {"type": "integer", "index": 36, "name": "payment_reference_number", "comment": null}, "print_status": {"type": "integer", "index": 37, "name": "print_status", "comment": null}, "private_note": {"type": "integer", "index": 38, "name": "private_note", "comment": null}, "ship_date": {"type": "integer", "index": 39, "name": "ship_date", "comment": null}, "shipping_address_id": {"type": "integer", "index": 40, "name": "shipping_address_id", "comment": null}, "sync_token": {"type": "integer", "index": 41, "name": "sync_token", "comment": null}, "tax_code_id": {"type": "integer", "index": 42, "name": "tax_code_id", "comment": null}, "total_amount": {"type": "integer", "index": 43, "name": "total_amount", "comment": null}, "total_tax": {"type": "integer", "index": 44, "name": "total_tax", "comment": null}, "tracking_number": {"type": "integer", "index": 45, "name": "tracking_number", "comment": null}, "transaction_date": {"type": "date", "index": 46, "name": "transaction_date", "comment": null}, "transaction_source": {"type": "integer", "index": 47, "name": "transaction_source", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 48, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.sales_receipt"}, "source.quickbooks_source.quickbooks.sales_receipt_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "sales_receipt_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "sales_receipt_id": {"type": "integer", "index": 2, "name": "sales_receipt_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "bundle_id": {"type": "integer", "index": 5, "name": "bundle_id", "comment": null}, "bundle_quantity": {"type": "integer", "index": 6, "name": "bundle_quantity", "comment": null}, "description": {"type": "text", "index": 7, "name": "description", "comment": null}, "description_service_date": {"type": "integer", "index": 8, "name": "description_service_date", "comment": null}, "description_tax_code_id": {"type": "integer", "index": 9, "name": "description_tax_code_id", "comment": null}, "discount_account_id": {"type": "integer", "index": 10, "name": "discount_account_id", "comment": null}, "discount_class_id": {"type": "integer", "index": 11, "name": "discount_class_id", "comment": null}, "discount_discount_percent": {"type": "integer", "index": 12, "name": "discount_discount_percent", "comment": null}, "discount_percent_based": {"type": "integer", "index": 13, "name": "discount_percent_based", "comment": null}, "discount_tax_code_id": {"type": "integer", "index": 14, "name": "discount_tax_code_id", "comment": null}, "sales_item_account_id": {"type": "integer", "index": 15, "name": "sales_item_account_id", "comment": null}, "sales_item_class_id": {"type": "integer", "index": 16, "name": "sales_item_class_id", "comment": null}, "sales_item_discount_amount": {"type": "integer", "index": 17, "name": "sales_item_discount_amount", "comment": null}, "sales_item_discount_rate": {"type": "integer", "index": 18, "name": "sales_item_discount_rate", "comment": null}, "sales_item_item_id": {"type": "integer", "index": 19, "name": "sales_item_item_id", "comment": null}, "sales_item_quantity": {"type": "integer", "index": 20, "name": "sales_item_quantity", "comment": null}, "sales_item_service_date": {"type": "integer", "index": 21, "name": "sales_item_service_date", "comment": null}, "sales_item_tax_code_id": {"type": "text", "index": 22, "name": "sales_item_tax_code_id", "comment": null}, "sales_item_unit_price": {"type": "integer", "index": 23, "name": "sales_item_unit_price", "comment": null}, "sub_total_item_id": {"type": "integer", "index": 24, "name": "sub_total_item_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.sales_receipt_line"}, "source.quickbooks_source.quickbooks.transfer": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "transfer_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "amount": {"type": "integer", "index": 4, "name": "amount", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "from_account_id": {"type": "integer", "index": 6, "name": "from_account_id", "comment": null}, "private_note": {"type": "text", "index": 7, "name": "private_note", "comment": null}, "sync_token": {"type": "integer", "index": 8, "name": "sync_token", "comment": null}, "to_account_id": {"type": "integer", "index": 9, "name": "to_account_id", "comment": null}, "transaction_date": {"type": "date", "index": 10, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 11, "name": "updated_at", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.transfer"}, "source.quickbooks_source.quickbooks.vendor_credit": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "vendor_credit_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 2, "name": "_fivetran_deleted", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "balance": {"type": "integer", "index": 4, "name": "balance", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 5, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 6, "name": "currency_id", "comment": null}, "department_id": {"type": "integer", "index": 7, "name": "department_id", "comment": null}, "doc_number": {"type": "integer", "index": 8, "name": "doc_number", "comment": null}, "exchange_rate": {"type": "integer", "index": 9, "name": "exchange_rate", "comment": null}, "global_tax_calculation": {"type": "integer", "index": 10, "name": "global_tax_calculation", "comment": null}, "payable_account_id": {"type": "integer", "index": 11, "name": "payable_account_id", "comment": null}, "private_note": {"type": "text", "index": 12, "name": "private_note", "comment": null}, "sync_token": {"type": "integer", "index": 13, "name": "sync_token", "comment": null}, "total_amount": {"type": "integer", "index": 14, "name": "total_amount", "comment": null}, "transaction_date": {"type": "date", "index": 15, "name": "transaction_date", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 16, "name": "updated_at", "comment": null}, "vendor_id": {"type": "integer", "index": 17, "name": "vendor_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.vendor_credit"}, "source.quickbooks_source.quickbooks.vendor_credit_line": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "vendor_credit_line_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"index": {"type": "integer", "index": 1, "name": "index", "comment": null}, "vendor_credit_id": {"type": "integer", "index": 2, "name": "vendor_credit_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "account_expense_account_id": {"type": "integer", "index": 4, "name": "account_expense_account_id", "comment": null}, "account_expense_billable_status": {"type": "character varying(100)", "index": 5, "name": "account_expense_billable_status", "comment": null}, "account_expense_class_id": {"type": "integer", "index": 6, "name": "account_expense_class_id", "comment": null}, "account_expense_customer_id": {"type": "integer", "index": 7, "name": "account_expense_customer_id", "comment": null}, "account_expense_tax_amount": {"type": "integer", "index": 8, "name": "account_expense_tax_amount", "comment": null}, "account_expense_tax_code_id": {"type": "text", "index": 9, "name": "account_expense_tax_code_id", "comment": null}, "amount": {"type": "integer", "index": 10, "name": "amount", "comment": null}, "description": {"type": "text", "index": 11, "name": "description", "comment": null}, "item_expense_billable_status": {"type": "character varying(100)", "index": 12, "name": "item_expense_billable_status", "comment": null}, "item_expense_class_id": {"type": "integer", "index": 13, "name": "item_expense_class_id", "comment": null}, "item_expense_customer_id": {"type": "integer", "index": 14, "name": "item_expense_customer_id", "comment": null}, "item_expense_item_id": {"type": "integer", "index": 15, "name": "item_expense_item_id", "comment": null}, "item_expense_quantity": {"type": "integer", "index": 16, "name": "item_expense_quantity", "comment": null}, "item_expense_tax_code_id": {"type": "integer", "index": 17, "name": "item_expense_tax_code_id", "comment": null}, "item_expense_unit_price": {"type": "integer", "index": 18, "name": "item_expense_unit_price", "comment": null}, "private_note": {"type": "integer", "index": 19, "name": "private_note", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.vendor_credit_line"}, "source.quickbooks_source.quickbooks.vendor": {"metadata": {"type": "BASE TABLE", "schema": "quickbooks_integration_tests_18", "name": "vendor_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 2, "name": "_fivetran_synced", "comment": null}, "account_number": {"type": "integer", "index": 3, "name": "account_number", "comment": null}, "active": {"type": "boolean", "index": 4, "name": "active", "comment": null}, "alternate_phone": {"type": "integer", "index": 5, "name": "alternate_phone", "comment": null}, "balance": {"type": "integer", "index": 6, "name": "balance", "comment": null}, "billing_address_id": {"type": "integer", "index": 7, "name": "billing_address_id", "comment": null}, "company_name": {"type": "text", "index": 8, "name": "company_name", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 9, "name": "created_at", "comment": null}, "currency_id": {"type": "text", "index": 10, "name": "currency_id", "comment": null}, "display_name": {"type": "text", "index": 11, "name": "display_name", "comment": null}, "email": {"type": "text", "index": 12, "name": "email", "comment": null}, "family_name": {"type": "integer", "index": 13, "name": "family_name", "comment": null}, "fax_number": {"type": "integer", "index": 14, "name": "fax_number", "comment": null}, "given_name": {"type": "integer", "index": 15, "name": "given_name", "comment": null}, "middle_name": {"type": "integer", "index": 16, "name": "middle_name", "comment": null}, "mobile_phone": {"type": "integer", "index": 17, "name": "mobile_phone", "comment": null}, "other_contacts": {"type": "integer", "index": 18, "name": "other_contacts", "comment": null}, "primary_phone": {"type": "integer", "index": 19, "name": "primary_phone", "comment": null}, "print_on_check_name": {"type": "text", "index": 20, "name": "print_on_check_name", "comment": null}, "suffix": {"type": "integer", "index": 21, "name": "suffix", "comment": null}, "sync_token": {"type": "integer", "index": 22, "name": "sync_token", "comment": null}, "tax_identifier": {"type": "integer", "index": 23, "name": "tax_identifier", "comment": null}, "term_id": {"type": "integer", "index": 24, "name": "term_id", "comment": null}, "title": {"type": "integer", "index": 25, "name": "title", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 26, "name": "updated_at", "comment": null}, "vendor_1099": {"type": "boolean", "index": 27, "name": "vendor_1099", "comment": null}, "web_url": {"type": "integer", "index": 28, "name": "web_url", "comment": null}, "_fivetran_deleted": {"type": "boolean", "index": 29, "name": "_fivetran_deleted", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.quickbooks_source.quickbooks.vendor"}}, "errors": null} \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index fe9141ed..ca1e6f88 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,4 +1,30 @@ -<!doctype html><html dir="ltr" lang="en-US" ng-app="dbt" class="no-flash video supports no-touchevents formvalidation webgl no-cssgridlegacy cssgrid cssfilters objectfit object-fit click landscape videoautoplay loaded"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,minimum-scale=1,maximum-scale=1,initial-scale=1"/><title>dbt Docs</title><meta name="description" content="dbt Docs"/><link rel="canonical" href="/overview/"/><link rel="shortcut icon" href="${require('./assets/favicons/favicon.ico')}"/><meta name="msapplication-TileColor" content="#2b5797"><meta name="theme-color" content="#ffffff"><meta property="og:locale" content="en_US"/><meta property="og:type" content="website"/><meta property="og:site_name" content="dbt Docs"/><meta property="og:title" content="dbt Docs"/><meta property="og:description" content="documentation for dbt"/><meta name="twitter:title" content="dbt Docs"/><meta name="twitter:description" content="documentation for dbt"/></head><body><div style="display:none"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><title>icons</title><g id="icn"><rect width="16" height="16" fill="none"/></g><g id="icn-menu"><path d="M14.5,8a.5.5,0,0,1-.5.5H2a.5.5,0,0,1,0-1H14A.5.5,0,0,1,14.5,8ZM2,3H14a.5.5,0,0,0,0-1H2A.5.5,0,0,0,2,3ZM14,13H2a.5.5,0,0,0,0,1H14a.5.5,0,0,0,0-1Z" transform="translate(0 0)"/></g><g id="icn-dbt"><path d="M12.6,9.265l0,0L10.9,6.325a3.31,3.31,0,0,0-.529-.7h0a3.264,3.264,0,0,0-3.184-.867,4.022,4.022,0,0,1,4.194.938,3.977,3.977,0,0,1,.635.833l.38.657a2.488,2.488,0,0,1,.2-.465l2.226-3.851a1.2,1.2,0,0,0-.2-1.5,1.2,1.2,0,0,0-1.5-.2h0L9.27,3.4a2.539,2.539,0,0,1-2.54,0L2.877,1.178A1.253,1.253,0,0,0,2.247,1a1.247,1.247,0,0,0-.871.375,1.2,1.2,0,0,0-.2,1.5L3.4,6.726a2.542,2.542,0,0,1,0,2.539l-2.226,3.85a1.2,1.2,0,0,0,.2,1.5,1.2,1.2,0,0,0,1.5.2L6.73,12.588a2.455,2.455,0,0,1,.465-.2l-.657-.379a3.857,3.857,0,0,1-1.462-1.467,4.118,4.118,0,0,1-.288-3.368,3.453,3.453,0,0,0,.33,2.507A3.141,3.141,0,0,0,6.329,10.89l2.94,1.7h0l3.853,2.224a1.243,1.243,0,0,0,1.7-1.7Zm.814-7.353a.478.478,0,1,1,0,.676A.48.48,0,0,1,13.41,1.912ZM2.59,2.588a.478.478,0,1,1,0-.676A.479.479,0,0,1,2.59,2.588Zm0,11.49a.478.478,0,1,1,0-.676A.479.479,0,0,1,2.59,14.078Zm6.827-5.9a1.022,1.022,0,1,0-1.231,1.23,1.433,1.433,0,1,1,1.231-1.23Zm4.67,5.9a.478.478,0,1,1,0-.676A.479.479,0,0,1,14.087,14.078Z" transform="translate(0 0)"/></g><g id="icn-doc-on"><path d="M13.707,4.707,10.293,1.293A1,1,0,0,0,9.586,1H3A1,1,0,0,0,2,2V14a1,1,0,0,0,1,1H13a1,1,0,0,0,1-1V5.414A1,1,0,0,0,13.707,4.707ZM5,4H9V5H5Zm6,8H5V11h6Zm0-2H5V9h6Zm0-2H5V7h6Z" transform="translate(0 0)"/></g><g id="icn-doc"><path d="M9.586,2h0L13,5.414V14H3V2H9.586m0-1H3A1,1,0,0,0,2,2V14a1,1,0,0,0,1,1H13a1,1,0,0,0,1-1V5.414a1,1,0,0,0-.293-.707L10.293,1.293A1,1,0,0,0,9.586,1Z" transform="translate(0 0)"/><rect x="5" y="11" width="6" height="1" fill="#fff"/><polygon points="11 11 5 11 5 12 11 12 11 11 11 11"/><rect x="5" y="9" width="6" height="1" fill="#fff"/><polygon points="11 9 5 9 5 10 11 10 11 9 11 9"/><rect x="5" y="7" width="6" height="1" fill="#fff"/><polygon points="11 7 5 7 5 8 11 8 11 7 11 7"/><rect x="5" y="4" width="4" height="1" fill="#fff"/><polygon points="9 4 5 4 5 5 9 5 9 4 9 4"/></g><g id="icn-down"><path d="M8,10.5a.5.5,0,0,1-.354-.146l-3-3a.5.5,0,0,1,.708-.708L8,9.293l2.646-2.647a.5.5,0,0,1,.708.708l-3,3A.5.5,0,0,1,8,10.5Z" transform="translate(0 0)"/></g><g id="icn-up"><path d="M11,9.5a.5.5,0,0,1-.354-.146L8,6.707,5.354,9.354a.5.5,0,0,1-.708-.708l3-3a.5.5,0,0,1,.708,0l3,3A.5.5,0,0,1,11,9.5Z" transform="translate(0 0)"/></g><g id="icn-left"><path d="M9.5,5a.5.5,0,0,1-.146.354L6.707,8l2.647,2.646a.5.5,0,0,1-.708.708l-3-3a.5.5,0,0,1,0-.708l3-3A.5.5,0,0,1,9.5,5Z" transform="translate(0 0)"/></g><g id="icn-right"><path d="M10.5,8a.5.5,0,0,1-.146.354l-3,3a.5.5,0,0,1-.708-.708L9.293,8,6.646,5.354a.5.5,0,0,1,.708-.708l3,3A.5.5,0,0,1,10.5,8Z" transform="translate(0 0)"/></g><g id="icn-dir"><path d="M14,4H8.414a1,1,0,0,1-.707-.293L6.293,2.293A1,1,0,0,0,5.586,2H2A1,1,0,0,0,1,3V13a1,1,0,0,0,1,1H14a1,1,0,0,0,1-1V5A1,1,0,0,0,14,4ZM2,3H5.586l1,1H2ZM14,13H2V5H14Z" transform="translate(0 0)"/></g><g id="icn-tree"><path d="M14,5V2H11V3H4V2H1V5H4V4H7V14h4v1h3V12H11v1H8V9h3v1h3V7H11V8H8V4h3V5ZM3,4H2V3H3Zm9,9h1v1H12Zm0-5h1V9H12Zm0-5h1V4H12Z" transform="translate(0 0)"/></g><g id="icn-tree-on"><path d="M14,5V2H11V3H4V2H1V5H4V4H7V14h4v1h3V12H11v1H8V9h3v1h3V7H11V8H8V4h3V5Z" transform="translate(0 0)"/></g><g id="icn-dir-on"><path d="M14.878,7H14V5a1,1,0,0,0-1-1H7.414a1,1,0,0,1-.707-.293L5.293,2.293A1,1,0,0,0,4.586,2H1A1,1,0,0,0,0,3V13a1,1,0,0,0,1,1H13.271a1,1,0,0,0,.952-.694l1.607-5A1,1,0,0,0,14.878,7ZM4.586,3,6,4.414A1.986,1.986,0,0,0,7.414,5H13V7H2.979a1,1,0,0,0-.952.694L1,10.889V3Z" transform="translate(0 0)"/></g><g id="icn-db-on"><path d="M8,1C7,1,2,1.121,2,3.5v9C2,14.879,7,15,8,15s6-.121,6-2.5v-9C14,1.121,9,1,8,1Zm5,10.482c0,.828-2.239,1.5-5,1.5s-5-.672-5-1.5V11c1.511.915,4.281.982,5,.982s3.489-.067,5-.982ZM13,8.5c0,.828-2.239,1.5-5,1.5S3,9.328,3,8.5V8.018C4.511,8.933,7.281,9,8,9s3.489-.067,5-.982Zm0-3C13,6.328,10.761,7,8,7S3,6.328,3,5.5V5.018C4.511,5.933,7.281,6,8,6s3.489-.067,5-.982Z" transform="translate(0 0)"/></g><g id="icn-db"><path d="M8,1C7,1,2,1.121,2,3.5v9C2,14.879,7,15,8,15s6-.121,6-2.5v-9C14,1.121,9,1,8,1ZM3,8.018C4.511,8.933,7.281,9,8,9s3.489-.067,5-.982V9.5c0,.828-2.239,1.5-5,1.5s-5-.672-5-1.5ZM8,8C5.239,8,3,7.328,3,6.5V5.018C4.511,5.933,7.281,6,8,6s3.489-.067,5-.982V6.5C13,7.328,10.761,8,8,8ZM8,2c2.761,0,5,.672,5,1.5S10.761,5,8,5,3,4.328,3,3.5,5.239,2,8,2ZM8,14c-2.761,0-5-.672-5-1.5V11.018C4.511,11.933,7.281,12,8,12s3.489-.067,5-.982V12.5C13,13.328,10.761,14,8,14Z" transform="translate(0 0)"/></g><g id="icn-close"><path d="M12.354,11.646a.5.5,0,0,1-.708.708L8,8.707,4.354,12.354a.5.5,0,0,1-.708-.708L7.293,8,3.646,4.354a.5.5,0,0,1,.708-.708L8,7.293l3.646-3.647a.5.5,0,0,1,.708.708L8.707,8Z" transform="translate(0 0)"/></g><g id="icn-search"><path d="M6.5,1A5.5,5.5,0,1,0,12,6.5,5.5,5.5,0,0,0,6.5,1Zm0,10A4.5,4.5,0,1,1,11,6.5,4.505,4.505,0,0,1,6.5,11Zm8.854,4.354a.5.5,0,0,1-.708,0l-3-3a.5.5,0,0,1,.708-.708l3,3A.5.5,0,0,1,15.354,15.354Z" transform="translate(0 0)"/></g><g id="icn-more"><path d="M8,6a2,2,0,1,0,2,2A2,2,0,0,0,8,6ZM8,9A1,1,0,1,1,9,8,1,1,0,0,1,8,9ZM2,6A2,2,0,1,0,4,8,2,2,0,0,0,2,6ZM2,9A1,1,0,1,1,3,8,1,1,0,0,1,2,9ZM14,6a2,2,0,1,0,2,2A2,2,0,0,0,14,6Zm0,3a1,1,0,1,1,1-1A1,1,0,0,1,14,9Z" transform="translate(0 0)"/></g><g id="icn-flow"><path d="M4,3V2H1V5H4V4H7v9a1,1,0,0,0,1,1h5V13H8V9h5V8H8V4h5V3H4ZM3,4H2V3H3Z" transform="translate(0 0)"/><polygon points="13 1.5 13 5.5 15 3.5 13 1.5"/><polygon points="13 6.5 13 10.5 15 8.5 13 6.5"/><polygon points="13 11.5 13 15.5 15 13.5 13 11.5"/></g><g id="icn-expand"><path d="M6,2.5a.5.5,0,0,1-.5.5H3V5.5a.5.5,0,0,1-1,0v-3A.5.5,0,0,1,2.5,2h3A.5.5,0,0,1,6,2.5ZM13.5,2h-3a.5.5,0,0,0,0,1H13V5.5a.5.5,0,0,0,1,0v-3A.5.5,0,0,0,13.5,2Zm0,8a.5.5,0,0,0-.5.5V13H10.5a.5.5,0,0,0,0,1h3a.5.5,0,0,0,.5-.5v-3A.5.5,0,0,0,13.5,10Zm-8,3H3V10.5a.5.5,0,0,0-1,0v3a.5.5,0,0,0,.5.5h3a.5.5,0,0,0,0-1Z" transform="translate(0 0)"/></g><g id="icn-contract"><path d="M6,2.5v3a.5.5,0,0,1-.5.5h-3a.5.5,0,0,1,0-1H5V2.5a.5.5,0,0,1,1,0ZM10.5,6h3a.5.5,0,0,0,0-1H11V2.5a.5.5,0,0,0-1,0v3A.5.5,0,0,0,10.5,6Zm3,4h-3a.5.5,0,0,0-.5.5v3a.5.5,0,0,0,1,0V11h2.5a.5.5,0,0,0,0-1Zm-8,0h-3a.5.5,0,0,0,0,1H5v2.5a.5.5,0,0,0,1,0v-3A.5.5,0,0,0,5.5,10Z" transform="translate(0 0)"/></g><g id="icn-filter"><path d="M14.5,4.5A.5.5,0,0,1,14,5H2A.5.5,0,0,1,2,4H14A.5.5,0,0,1,14.5,4.5ZM12,8H4A.5.5,0,0,0,4,9h8a.5.5,0,0,0,0-1Zm-2,4H6a.5.5,0,0,0,0,1h4a.5.5,0,0,0,0-1Z" transform="translate(0 0)"/></g></svg></div><div ui-view></div><script>!function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=207)}([function(e,t,n){"use strict";(function(e){n.d(t,"M",(function(){return s})),n.d(t,"x",(function(){return c})),n.d(t,"Q",(function(){return u})),n.d(t,"w",(function(){return d})),n.d(t,"r",(function(){return p})),n.d(t,"q",(function(){return f})),n.d(t,"y",(function(){return h})),n.d(t,"E",(function(){return g})),n.d(t,"n",(function(){return m})),n.d(t,"A",(function(){return v})),n.d(t,"z",(function(){return b})),n.d(t,"b",(function(){return y})),n.d(t,"L",(function(){return x})),n.d(t,"d",(function(){return w})),n.d(t,"K",(function(){return k})),n.d(t,"c",(function(){return A})),n.d(t,"p",(function(){return E})),n.d(t,"o",(function(){return S})),n.d(t,"D",(function(){return $})),n.d(t,"f",(function(){return C})),n.d(t,"H",(function(){return _})),n.d(t,"F",(function(){return O})),n.d(t,"I",(function(){return T})),n.d(t,"s",(function(){return j})),n.d(t,"t",(function(){return P})),n.d(t,"C",(function(){return D})),n.d(t,"B",(function(){return R})),n.d(t,"U",(function(){return I})),n.d(t,"e",(function(){return N})),n.d(t,"g",(function(){return M})),n.d(t,"T",(function(){return z})),n.d(t,"v",(function(){return L})),n.d(t,"J",(function(){return B})),n.d(t,"R",(function(){return F})),n.d(t,"S",(function(){return q})),n.d(t,"u",(function(){return V})),n.d(t,"l",(function(){return U})),n.d(t,"k",(function(){return H})),n.d(t,"j",(function(){return G})),n.d(t,"G",(function(){return W})),n.d(t,"i",(function(){return Y})),n.d(t,"h",(function(){return X})),n.d(t,"P",(function(){return Z})),n.d(t,"m",(function(){return Q})),n.d(t,"a",(function(){return J})),n.d(t,"N",(function(){return ee})),n.d(t,"O",(function(){return te}));var r=n(1),i=n(3),o=n(6),a=function(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),i=0;for(t=0;t<n;t++)for(var o=arguments[t],a=0,s=o.length;a<s;a++,i++)r[i]=o[a];return r},s="object"==typeof self&&self.self===self&&self||"object"==typeof e&&e.global===e&&e||void 0,l=s.angular||{},c=l.fromJson||JSON.parse.bind(JSON),u=l.toJson||JSON.stringify.bind(JSON),d=l.forEach||function(e,t,n){if(Object(r.a)(e))return e.forEach(t,n);Object.keys(e).forEach((function(n){return t(e[n],n)}))},p=Object.assign||J,f=l.equals||K;function h(e){return e}function g(){}function m(e,t,n,r,i){void 0===i&&(i=!1);var o=function(t){return e()[t].bind(n())};return(r=r||Object.keys(e())).reduce((function(e,n){var r;return e[n]=i?(r=n,function(){return t[r]=o(r),t[r].apply(null,arguments)}):o(n),e}),t)}var v=function(e,t){return p(Object.create(e),t)},b=Object(i.e)(y);function y(e,t){return-1!==e.indexOf(t)}var x=Object(i.e)(w);function w(e,t){var n=e.indexOf(t);return n>=0&&e.splice(n,1),e}var k=Object(i.e)(A);function A(e,t){return e.push(t),t}var E=function(e){return e.slice().forEach((function(t){"function"==typeof t&&t(),x(e,t)}))};function S(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var r=p.apply(void 0,a([{}],t.reverse()));return p(r,_(e||{},Object.keys(r)))}var $=function(e,t){return p(e,t)};function C(e,t){var n=[];for(var r in e.path){if(e.path[r]!==t.path[r])break;n.push(e.path[r])}return n}function _(e,t){var n={};for(var r in e)-1!==t.indexOf(r)&&(n[r]=e[r]);return n}function O(e,t){return Object.keys(e).filter(Object(i.i)(b(t))).reduce((function(t,n){return t[n]=e[n],t}),{})}function T(e,t){return R(e,Object(i.n)(t))}function j(e,t){var n=Object(r.a)(e),i=n?[]:{},o=n?function(e){return i.push(e)}:function(e,t){return i[t]=e};return d(e,(function(e,n){t(e,n)&&o(e,n)})),i}function P(e,t){var n;return d(e,(function(e,r){n||t(e,r)&&(n=e)})),n}var D=R;function R(e,t,n){return n=n||(Object(r.a)(e)?[]:{}),d(e,(function(e,r){return n[r]=t(e,r)})),n}var I=function(e){return Object.keys(e).map((function(t){return e[t]}))},N=function(e,t){return e&&t},M=function(e,t){return e||t},z=function(e,t){return e.concat(t)},L=function(e,t){return Object(r.a)(t)?e.concat(t.reduce(L,[])):B(e,t)};function B(e,t){return e.push(t),e}var F=function(e,t){return b(e,t)?e:B(e,t)},q=function(e){return e.reduce(z,[])},V=function(e){return e.reduce(L,[])},U=G,H=G;function G(e,t){return void 0===t&&(t="assert failure"),function(n){var i=e(n);if(!i)throw new Error(Object(r.d)(t)?t(n):t);return i}}var W=function(e){return Object.keys(e).map((function(t){return[t,e[t]]}))};function Y(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];if(0===e.length)return[];for(var n=e.reduce((function(e,t){return Math.min(t.length,e)}),9007199254740991),r=[],i=function(t){switch(e.length){case 1:r.push([e[0][t]]);break;case 2:r.push([e[0][t],e[1][t]]);break;case 3:r.push([e[0][t],e[1][t],e[2][t]]);break;case 4:r.push([e[0][t],e[1][t],e[2][t],e[3][t]]);break;default:r.push(e.map((function(e){return e[t]})))}},o=0;o<n;o++)i(o);return r}function X(e,t){var n,i;if(Object(r.a)(t)&&(n=t[0],i=t[1]),!Object(r.l)(n))throw new Error("invalid parameters to applyPairs");return e[n]=i,e}function Z(e){return e.length&&e[e.length-1]||void 0}function Q(e,t){return t&&Object.keys(t).forEach((function(e){return delete t[e]})),t||(t={}),p(t,e)}function J(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];if(n)for(var r=Object.keys(n),i=0;i<r.length;i++)e[r[i]]=n[r[i]]}return e}function K(e,t){if(e===t)return!0;if(null===e||null===t)return!1;if(e!=e&&t!=t)return!0;var n=typeof e;if(n!==typeof t||"object"!==n)return!1;var o,a,s=[e,t];if(Object(i.a)(r.a)(s))return a=t,(o=e).length===a.length&&Y(o,a).reduce((function(e,t){return e&&K(t[0],t[1])}),!0);if(Object(i.a)(r.b)(s))return e.getTime()===t.getTime();if(Object(i.a)(r.k)(s))return e.toString()===t.toString();if(Object(i.a)(r.d)(s))return!0;if([r.d,r.a,r.b,r.k].map(i.c).reduce((function(e,t){return e||!!t(s)}),!1))return!1;var l={};for(var c in e){if(!K(e[c],t[c]))return!1;l[c]=!0}for(var c in t)if(!l[c])return!1;return!0}var ee=function(e){return e.catch((function(e){return 0}))&&e},te=function(e){return ee(o.b.$q.reject(e))}}).call(this,n(35))},function(e,t,n){"use strict";n.d(t,"m",(function(){return a})),n.d(t,"c",(function(){return s})),n.d(t,"f",(function(){return l})),n.d(t,"g",(function(){return c})),n.d(t,"d",(function(){return u})),n.d(t,"h",(function(){return d})),n.d(t,"l",(function(){return p})),n.d(t,"i",(function(){return f})),n.d(t,"a",(function(){return h})),n.d(t,"b",(function(){return g})),n.d(t,"k",(function(){return m})),n.d(t,"e",(function(){return v})),n.d(t,"j",(function(){return b}));var r=n(3),i=Object.prototype.toString,o=function(e){return function(t){return typeof t===e}},a=o("undefined"),s=Object(r.i)(a),l=function(e){return null===e},c=Object(r.j)(l,a),u=o("function"),d=o("number"),p=o("string"),f=function(e){return null!==e&&"object"==typeof e},h=Array.isArray,g=function(e){return"[object Date]"===i.call(e)},m=function(e){return"[object RegExp]"===i.call(e)};function v(e){if(h(e)&&e.length){var t=e.slice(0,-1),n=e.slice(-1);return!(t.filter(Object(r.i)(p)).length||n.filter(Object(r.i)(u)).length)}return u(e)}var b=Object(r.b)(f,Object(r.m)(Object(r.n)("then"),u))},function(e,t,n){"use strict";n.r(t);var r=n(4);n.d(t,"root",(function(){return r.Bb})),n.d(t,"fromJson",(function(){return r.J})),n.d(t,"toJson",(function(){return r.Mb})),n.d(t,"forEach",(function(){return r.I})),n.d(t,"extend",(function(){return r.C})),n.d(t,"equals",(function(){return r.B})),n.d(t,"identity",(function(){return r.M})),n.d(t,"noop",(function(){return r.lb})),n.d(t,"createProxyFunctions",(function(){return r.w})),n.d(t,"inherit",(function(){return r.O})),n.d(t,"inArray",(function(){return r.N})),n.d(t,"_inArray",(function(){return r.f})),n.d(t,"removeFrom",(function(){return r.Ab})),n.d(t,"_removeFrom",(function(){return r.h})),n.d(t,"pushTo",(function(){return r.zb})),n.d(t,"_pushTo",(function(){return r.g})),n.d(t,"deregAll",(function(){return r.z})),n.d(t,"defaults",(function(){return r.y})),n.d(t,"mergeR",(function(){return r.kb})),n.d(t,"ancestors",(function(){return r.k})),n.d(t,"pick",(function(){return r.tb})),n.d(t,"omit",(function(){return r.nb})),n.d(t,"pluck",(function(){return r.vb})),n.d(t,"filter",(function(){return r.D})),n.d(t,"find",(function(){return r.E})),n.d(t,"mapObj",(function(){return r.ib})),n.d(t,"map",(function(){return r.hb})),n.d(t,"values",(function(){return r.Tb})),n.d(t,"allTrueR",(function(){return r.j})),n.d(t,"anyTrueR",(function(){return r.n})),n.d(t,"unnestR",(function(){return r.Rb})),n.d(t,"flattenR",(function(){return r.G})),n.d(t,"pushR",(function(){return r.yb})),n.d(t,"uniqR",(function(){return r.Pb})),n.d(t,"unnest",(function(){return r.Qb})),n.d(t,"flatten",(function(){return r.F})),n.d(t,"assertPredicate",(function(){return r.s})),n.d(t,"assertMap",(function(){return r.r})),n.d(t,"assertFn",(function(){return r.q})),n.d(t,"pairs",(function(){return r.qb})),n.d(t,"arrayTuples",(function(){return r.p})),n.d(t,"applyPairs",(function(){return r.o})),n.d(t,"tail",(function(){return r.Lb})),n.d(t,"copy",(function(){return r.v})),n.d(t,"_extend",(function(){return r.e})),n.d(t,"silenceUncaughtInPromise",(function(){return r.Db})),n.d(t,"silentRejection",(function(){return r.Eb})),n.d(t,"makeStub",(function(){return r.gb})),n.d(t,"services",(function(){return r.Cb})),n.d(t,"Glob",(function(){return r.b})),n.d(t,"curry",(function(){return r.x})),n.d(t,"compose",(function(){return r.u})),n.d(t,"pipe",(function(){return r.ub})),n.d(t,"prop",(function(){return r.wb})),n.d(t,"propEq",(function(){return r.xb})),n.d(t,"parse",(function(){return r.rb})),n.d(t,"not",(function(){return r.mb})),n.d(t,"and",(function(){return r.l})),n.d(t,"or",(function(){return r.ob})),n.d(t,"all",(function(){return r.i})),n.d(t,"any",(function(){return r.m})),n.d(t,"is",(function(){return r.Q})),n.d(t,"eq",(function(){return r.A})),n.d(t,"val",(function(){return r.Sb})),n.d(t,"invoke",(function(){return r.P})),n.d(t,"pattern",(function(){return r.sb})),n.d(t,"isUndefined",(function(){return r.db})),n.d(t,"isDefined",(function(){return r.T})),n.d(t,"isNull",(function(){return r.W})),n.d(t,"isNullOrUndefined",(function(){return r.X})),n.d(t,"isFunction",(function(){return r.U})),n.d(t,"isNumber",(function(){return r.Y})),n.d(t,"isString",(function(){return r.cb})),n.d(t,"isObject",(function(){return r.Z})),n.d(t,"isArray",(function(){return r.R})),n.d(t,"isDate",(function(){return r.S})),n.d(t,"isRegExp",(function(){return r.bb})),n.d(t,"isInjectable",(function(){return r.V})),n.d(t,"isPromise",(function(){return r.ab})),n.d(t,"Queue",(function(){return r.c})),n.d(t,"maxLength",(function(){return r.jb})),n.d(t,"padString",(function(){return r.pb})),n.d(t,"kebobString",(function(){return r.fb})),n.d(t,"functionToString",(function(){return r.K})),n.d(t,"fnToString",(function(){return r.H})),n.d(t,"stringify",(function(){return r.Jb})),n.d(t,"beforeAfterSubstr",(function(){return r.t})),n.d(t,"hostRegex",(function(){return r.L})),n.d(t,"stripLastPathElement",(function(){return r.Kb})),n.d(t,"splitHash",(function(){return r.Gb})),n.d(t,"splitQuery",(function(){return r.Ib})),n.d(t,"splitEqual",(function(){return r.Fb})),n.d(t,"trimHashVal",(function(){return r.Ob})),n.d(t,"splitOnDelim",(function(){return r.Hb})),n.d(t,"joinNeighborsR",(function(){return r.eb})),n.d(t,"Category",(function(){return r.a})),n.d(t,"Trace",(function(){return r.d})),n.d(t,"trace",(function(){return r.Nb}));var i=n(26);for(var o in i)["default","root","fromJson","toJson","forEach","extend","equals","identity","noop","createProxyFunctions","inherit","inArray","_inArray","removeFrom","_removeFrom","pushTo","_pushTo","deregAll","defaults","mergeR","ancestors","pick","omit","pluck","filter","find","mapObj","map","values","allTrueR","anyTrueR","unnestR","flattenR","pushR","uniqR","unnest","flatten","assertPredicate","assertMap","assertFn","pairs","arrayTuples","applyPairs","tail","copy","_extend","silenceUncaughtInPromise","silentRejection","makeStub","services","Glob","curry","compose","pipe","prop","propEq","parse","not","and","or","all","any","is","eq","val","invoke","pattern","isUndefined","isDefined","isNull","isNullOrUndefined","isFunction","isNumber","isString","isObject","isArray","isDate","isRegExp","isInjectable","isPromise","Queue","maxLength","padString","kebobString","functionToString","fnToString","stringify","beforeAfterSubstr","hostRegex","stripLastPathElement","splitHash","splitQuery","splitEqual","trimHashVal","splitOnDelim","joinNeighborsR","Category","Trace","trace"].indexOf(o)<0&&function(e){n.d(t,e,(function(){return i[e]}))}(o);var a=n(136);n.d(t,"PathNode",(function(){return a.a})),n.d(t,"PathUtils",(function(){return a.b}));var s=n(38);n.d(t,"resolvePolicies",(function(){return s.e})),n.d(t,"defaultResolvePolicy",(function(){return s.d})),n.d(t,"Resolvable",(function(){return s.b})),n.d(t,"NATIVE_INJECTOR_TOKEN",(function(){return s.a})),n.d(t,"ResolveContext",(function(){return s.c}));var l=n(43);for(var o in l)["default","root","fromJson","toJson","forEach","extend","equals","identity","noop","createProxyFunctions","inherit","inArray","_inArray","removeFrom","_removeFrom","pushTo","_pushTo","deregAll","defaults","mergeR","ancestors","pick","omit","pluck","filter","find","mapObj","map","values","allTrueR","anyTrueR","unnestR","flattenR","pushR","uniqR","unnest","flatten","assertPredicate","assertMap","assertFn","pairs","arrayTuples","applyPairs","tail","copy","_extend","silenceUncaughtInPromise","silentRejection","makeStub","services","Glob","curry","compose","pipe","prop","propEq","parse","not","and","or","all","any","is","eq","val","invoke","pattern","isUndefined","isDefined","isNull","isNullOrUndefined","isFunction","isNumber","isString","isObject","isArray","isDate","isRegExp","isInjectable","isPromise","Queue","maxLength","padString","kebobString","functionToString","fnToString","stringify","beforeAfterSubstr","hostRegex","stripLastPathElement","splitHash","splitQuery","splitEqual","trimHashVal","splitOnDelim","joinNeighborsR","Category","Trace","trace","PathNode","PathUtils","resolvePolicies","defaultResolvePolicy","Resolvable","NATIVE_INJECTOR_TOKEN","ResolveContext"].indexOf(o)<0&&function(e){n.d(t,e,(function(){return l[e]}))}(o);var c=n(138);n.d(t,"TransitionHookPhase",(function(){return c.h})),n.d(t,"TransitionHookScope",(function(){return c.i})),n.d(t,"HookBuilder",(function(){return c.a})),n.d(t,"matchState",(function(){return c.m})),n.d(t,"RegisteredHook",(function(){return c.b})),n.d(t,"makeEvent",(function(){return c.l})),n.d(t,"RejectType",(function(){return c.c})),n.d(t,"Rejection",(function(){return c.d})),n.d(t,"Transition",(function(){return c.e})),n.d(t,"TransitionHook",(function(){return c.g})),n.d(t,"TransitionEventType",(function(){return c.f})),n.d(t,"defaultTransOpts",(function(){return c.k})),n.d(t,"TransitionService",(function(){return c.j}));var u=n(139);for(var o in u)["default","root","fromJson","toJson","forEach","extend","equals","identity","noop","createProxyFunctions","inherit","inArray","_inArray","removeFrom","_removeFrom","pushTo","_pushTo","deregAll","defaults","mergeR","ancestors","pick","omit","pluck","filter","find","mapObj","map","values","allTrueR","anyTrueR","unnestR","flattenR","pushR","uniqR","unnest","flatten","assertPredicate","assertMap","assertFn","pairs","arrayTuples","applyPairs","tail","copy","_extend","silenceUncaughtInPromise","silentRejection","makeStub","services","Glob","curry","compose","pipe","prop","propEq","parse","not","and","or","all","any","is","eq","val","invoke","pattern","isUndefined","isDefined","isNull","isNullOrUndefined","isFunction","isNumber","isString","isObject","isArray","isDate","isRegExp","isInjectable","isPromise","Queue","maxLength","padString","kebobString","functionToString","fnToString","stringify","beforeAfterSubstr","hostRegex","stripLastPathElement","splitHash","splitQuery","splitEqual","trimHashVal","splitOnDelim","joinNeighborsR","Category","Trace","trace","PathNode","PathUtils","resolvePolicies","defaultResolvePolicy","Resolvable","NATIVE_INJECTOR_TOKEN","ResolveContext","TransitionHookPhase","TransitionHookScope","HookBuilder","matchState","RegisteredHook","makeEvent","RejectType","Rejection","Transition","TransitionHook","TransitionEventType","defaultTransOpts","TransitionService"].indexOf(o)<0&&function(e){n.d(t,e,(function(){return u[e]}))}(o);var d=n(141);for(var o in d)["default","root","fromJson","toJson","forEach","extend","equals","identity","noop","createProxyFunctions","inherit","inArray","_inArray","removeFrom","_removeFrom","pushTo","_pushTo","deregAll","defaults","mergeR","ancestors","pick","omit","pluck","filter","find","mapObj","map","values","allTrueR","anyTrueR","unnestR","flattenR","pushR","uniqR","unnest","flatten","assertPredicate","assertMap","assertFn","pairs","arrayTuples","applyPairs","tail","copy","_extend","silenceUncaughtInPromise","silentRejection","makeStub","services","Glob","curry","compose","pipe","prop","propEq","parse","not","and","or","all","any","is","eq","val","invoke","pattern","isUndefined","isDefined","isNull","isNullOrUndefined","isFunction","isNumber","isString","isObject","isArray","isDate","isRegExp","isInjectable","isPromise","Queue","maxLength","padString","kebobString","functionToString","fnToString","stringify","beforeAfterSubstr","hostRegex","stripLastPathElement","splitHash","splitQuery","splitEqual","trimHashVal","splitOnDelim","joinNeighborsR","Category","Trace","trace","PathNode","PathUtils","resolvePolicies","defaultResolvePolicy","Resolvable","NATIVE_INJECTOR_TOKEN","ResolveContext","TransitionHookPhase","TransitionHookScope","HookBuilder","matchState","RegisteredHook","makeEvent","RejectType","Rejection","Transition","TransitionHook","TransitionEventType","defaultTransOpts","TransitionService"].indexOf(o)<0&&function(e){n.d(t,e,(function(){return d[e]}))}(o);var p=n(103);n.d(t,"UIRouterGlobals",(function(){return p.a}));var f=n(99);n.d(t,"UIRouter",(function(){return f.a}));var h=n(143);for(var o in h)["default","root","fromJson","toJson","forEach","extend","equals","identity","noop","createProxyFunctions","inherit","inArray","_inArray","removeFrom","_removeFrom","pushTo","_pushTo","deregAll","defaults","mergeR","ancestors","pick","omit","pluck","filter","find","mapObj","map","values","allTrueR","anyTrueR","unnestR","flattenR","pushR","uniqR","unnest","flatten","assertPredicate","assertMap","assertFn","pairs","arrayTuples","applyPairs","tail","copy","_extend","silenceUncaughtInPromise","silentRejection","makeStub","services","Glob","curry","compose","pipe","prop","propEq","parse","not","and","or","all","any","is","eq","val","invoke","pattern","isUndefined","isDefined","isNull","isNullOrUndefined","isFunction","isNumber","isString","isObject","isArray","isDate","isRegExp","isInjectable","isPromise","Queue","maxLength","padString","kebobString","functionToString","fnToString","stringify","beforeAfterSubstr","hostRegex","stripLastPathElement","splitHash","splitQuery","splitEqual","trimHashVal","splitOnDelim","joinNeighborsR","Category","Trace","trace","PathNode","PathUtils","resolvePolicies","defaultResolvePolicy","Resolvable","NATIVE_INJECTOR_TOKEN","ResolveContext","TransitionHookPhase","TransitionHookScope","HookBuilder","matchState","RegisteredHook","makeEvent","RejectType","Rejection","Transition","TransitionHook","TransitionEventType","defaultTransOpts","TransitionService","UIRouterGlobals","UIRouter"].indexOf(o)<0&&function(e){n.d(t,e,(function(){return h[e]}))}(o);var g=n(147);n.d(t,"UIRouterPluginBase",(function(){return g.a}))},function(e,t,n){"use strict";n.d(t,"e",(function(){return i})),n.d(t,"d",(function(){return o})),n.d(t,"m",(function(){return a})),n.d(t,"n",(function(){return s})),n.d(t,"o",(function(){return l})),n.d(t,"k",(function(){return c})),n.d(t,"i",(function(){return u})),n.d(t,"b",(function(){return d})),n.d(t,"j",(function(){return p})),n.d(t,"a",(function(){return f})),n.d(t,"c",(function(){return h})),n.d(t,"h",(function(){return g})),n.d(t,"f",(function(){return m})),n.d(t,"p",(function(){return v})),n.d(t,"g",(function(){return b})),n.d(t,"l",(function(){return y}));var r=function(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),i=0;for(t=0;t<n;t++)for(var o=arguments[t],a=0,s=o.length;a<s;a++,i++)r[i]=o[a];return r};function i(e){return function t(){if(arguments.length>=e.length)return e.apply(this,arguments);var n=Array.prototype.slice.call(arguments);return t.bind.apply(t,r([this],n))}}function o(){var e=arguments,t=e.length-1;return function(){for(var n=t,r=e[t].apply(this,arguments);n--;)r=e[n].call(this,r);return r}}function a(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return o.apply(null,[].slice.call(arguments).reverse())}var s=function(e){return function(t){return t&&t[e]}},l=i((function(e,t,n){return n&&n[e]===t})),c=function(e){return a.apply(null,e.split(".").map(s))},u=function(e){return function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return!e.apply(null,t)}};function d(e,t){return function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return e.apply(null,n)&&t.apply(null,n)}}function p(e,t){return function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return e.apply(null,n)||t.apply(null,n)}}var f=function(e){return function(t){return t.reduce((function(t,n){return t&&!!e(n)}),!0)}},h=function(e){return function(t){return t.reduce((function(t,n){return t||!!e(n)}),!1)}},g=function(e){return function(t){return null!=t&&t.constructor===e||t instanceof e}},m=function(e){return function(t){return e===t}},v=function(e){return function(){return e}};function b(e,t){return function(n){return n[e].apply(n,t)}}function y(e){return function(t){for(var n=0;n<e.length;n++)if(e[n][0](t))return e[n][1](t)}}},function(e,t,n){"use strict";var r=n(0);n.d(t,"e",(function(){return r.a})),n.d(t,"f",(function(){return r.b})),n.d(t,"g",(function(){return r.c})),n.d(t,"h",(function(){return r.d})),n.d(t,"j",(function(){return r.e})),n.d(t,"k",(function(){return r.f})),n.d(t,"n",(function(){return r.g})),n.d(t,"o",(function(){return r.h})),n.d(t,"p",(function(){return r.i})),n.d(t,"q",(function(){return r.j})),n.d(t,"r",(function(){return r.k})),n.d(t,"s",(function(){return r.l})),n.d(t,"v",(function(){return r.m})),n.d(t,"w",(function(){return r.n})),n.d(t,"y",(function(){return r.o})),n.d(t,"z",(function(){return r.p})),n.d(t,"B",(function(){return r.q})),n.d(t,"C",(function(){return r.r})),n.d(t,"D",(function(){return r.s})),n.d(t,"E",(function(){return r.t})),n.d(t,"F",(function(){return r.u})),n.d(t,"G",(function(){return r.v})),n.d(t,"I",(function(){return r.w})),n.d(t,"J",(function(){return r.x})),n.d(t,"M",(function(){return r.y})),n.d(t,"N",(function(){return r.z})),n.d(t,"O",(function(){return r.A})),n.d(t,"hb",(function(){return r.B})),n.d(t,"ib",(function(){return r.C})),n.d(t,"kb",(function(){return r.D})),n.d(t,"lb",(function(){return r.E})),n.d(t,"nb",(function(){return r.F})),n.d(t,"qb",(function(){return r.G})),n.d(t,"tb",(function(){return r.H})),n.d(t,"vb",(function(){return r.I})),n.d(t,"yb",(function(){return r.J})),n.d(t,"zb",(function(){return r.K})),n.d(t,"Ab",(function(){return r.L})),n.d(t,"Bb",(function(){return r.M})),n.d(t,"Db",(function(){return r.N})),n.d(t,"Eb",(function(){return r.O})),n.d(t,"Lb",(function(){return r.P})),n.d(t,"Mb",(function(){return r.Q})),n.d(t,"Pb",(function(){return r.R})),n.d(t,"Qb",(function(){return r.S})),n.d(t,"Rb",(function(){return r.T})),n.d(t,"Tb",(function(){return r.U}));var i=n(6);n.d(t,"gb",(function(){return i.a})),n.d(t,"Cb",(function(){return i.b}));var o=n(62);n.d(t,"b",(function(){return o.a}));var a=n(3);n.d(t,"i",(function(){return a.a})),n.d(t,"l",(function(){return a.b})),n.d(t,"m",(function(){return a.c})),n.d(t,"u",(function(){return a.d})),n.d(t,"x",(function(){return a.e})),n.d(t,"A",(function(){return a.f})),n.d(t,"P",(function(){return a.g})),n.d(t,"Q",(function(){return a.h})),n.d(t,"mb",(function(){return a.i})),n.d(t,"ob",(function(){return a.j})),n.d(t,"rb",(function(){return a.k})),n.d(t,"sb",(function(){return a.l})),n.d(t,"ub",(function(){return a.m})),n.d(t,"wb",(function(){return a.n})),n.d(t,"xb",(function(){return a.o})),n.d(t,"Sb",(function(){return a.p}));var s=n(1);n.d(t,"R",(function(){return s.a})),n.d(t,"S",(function(){return s.b})),n.d(t,"T",(function(){return s.c})),n.d(t,"U",(function(){return s.d})),n.d(t,"V",(function(){return s.e})),n.d(t,"W",(function(){return s.f})),n.d(t,"X",(function(){return s.g})),n.d(t,"Y",(function(){return s.h})),n.d(t,"Z",(function(){return s.i})),n.d(t,"ab",(function(){return s.j})),n.d(t,"bb",(function(){return s.k})),n.d(t,"cb",(function(){return s.l})),n.d(t,"db",(function(){return s.m}));var l=n(50);n.d(t,"c",(function(){return l.a}));var c=n(7);n.d(t,"t",(function(){return c.a})),n.d(t,"H",(function(){return c.b})),n.d(t,"K",(function(){return c.c})),n.d(t,"L",(function(){return c.d})),n.d(t,"eb",(function(){return c.e})),n.d(t,"fb",(function(){return c.f})),n.d(t,"jb",(function(){return c.g})),n.d(t,"pb",(function(){return c.h})),n.d(t,"Fb",(function(){return c.i})),n.d(t,"Gb",(function(){return c.j})),n.d(t,"Hb",(function(){return c.k})),n.d(t,"Ib",(function(){return c.l})),n.d(t,"Jb",(function(){return c.m})),n.d(t,"Kb",(function(){return c.n})),n.d(t,"Ob",(function(){return c.o}));var u=n(10);n.d(t,"a",(function(){return u.a})),n.d(t,"d",(function(){return u.b})),n.d(t,"Nb",(function(){return u.c}))},function(e,t,n){"use strict";(function(e){n.d(t,"e",(function(){return r})),n.d(t,"p",(function(){return i})),n.d(t,"a",(function(){return o})),n.d(t,"c",(function(){return a})),n.d(t,"d",(function(){return s})),n.d(t,"o",(function(){return l})),n.d(t,"q",(function(){return c})),n.d(t,"t",(function(){return u})),n.d(t,"i",(function(){return d})),n.d(t,"r",(function(){return p})),n.d(t,"s",(function(){return f})),n.d(t,"k",(function(){return h})),n.d(t,"m",(function(){return g})),n.d(t,"j",(function(){return m})),n.d(t,"l",(function(){return v})),n.d(t,"g",(function(){return b})),n.d(t,"f",(function(){return y})),n.d(t,"h",(function(){return x})),n.d(t,"n",(function(){return w})),n.d(t,"b",(function(){return k}));var r="1.13.4",i="object"==typeof self&&self.self===self&&self||"object"==typeof e&&e.global===e&&e||Function("return this")()||{},o=Array.prototype,a=Object.prototype,s="undefined"!=typeof Symbol?Symbol.prototype:null,l=o.push,c=o.slice,u=a.toString,d=a.hasOwnProperty,p="undefined"!=typeof ArrayBuffer,f="undefined"!=typeof DataView,h=Array.isArray,g=Object.keys,m=Object.create,v=p&&ArrayBuffer.isView,b=isNaN,y=isFinite,x=!{toString:null}.propertyIsEnumerable("toString"),w=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],k=Math.pow(2,53)-1}).call(this,n(35))},function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return i}));var r=function(e,t){return t.reduce((function(t,n){return t[n]=(r=e+"."+n+"()",function(){throw new Error("No implementation for "+r+". The framework specific code did not implement this method.")}),t;var r}),{})},i={$q:void 0,$injector:void 0}},function(e,t,n){"use strict";n.d(t,"g",(function(){return s})),n.d(t,"h",(function(){return l})),n.d(t,"f",(function(){return c})),n.d(t,"c",(function(){return u})),n.d(t,"b",(function(){return d})),n.d(t,"m",(function(){return h})),n.d(t,"a",(function(){return g})),n.d(t,"d",(function(){return m})),n.d(t,"n",(function(){return v})),n.d(t,"j",(function(){return b})),n.d(t,"l",(function(){return y})),n.d(t,"i",(function(){return x})),n.d(t,"o",(function(){return w})),n.d(t,"k",(function(){return k})),n.d(t,"e",(function(){return A}));var r=n(1),i=n(8),o=n(0),a=n(3);function s(e,t){return t.length<=e?t:t.substr(0,e-3)+"..."}function l(e,t){for(;t.length<e;)t+=" ";return t}function c(e){return e.replace(/^([A-Z])/,(function(e){return e.toLowerCase()})).replace(/([A-Z])/g,(function(e){return"-"+e.toLowerCase()}))}function u(e){var t=d(e),n=t.match(/^(function [^ ]+\([^)]*\))/),r=n?n[1]:t,i=e.name||"";return i&&r.match(/function \(/)?"function "+i+r.substr(9):r}function d(e){var t=Object(r.a)(e)?e.slice(-1)[0]:e;return t&&t.toString()||"undefined"}var p=i.b.isRejectionPromise,f=Object(a.l)([[r.m,Object(a.p)("undefined")],[r.f,Object(a.p)("null")],[r.j,Object(a.p)("[Promise]")],[p,function(e){return e._transitionRejection.toString()}],[function(e){return Object(r.i)(e)&&!Object(r.a)(e)&&e.constructor!==Object&&Object(r.d)(e.toString)},function(e){return e.toString()}],[r.e,u],[Object(a.p)(!0),o.y]]);function h(e){var t=[];function n(e){if(Object(r.i)(e)){if(-1!==t.indexOf(e))return"[circular ref]";t.push(e)}return f(e)}return Object(r.m)(e)?n(e):JSON.stringify(e,(function(e,t){return n(t)})).replace(/\\"/g,'"')}var g=function(e){return function(t){if(!t)return["",""];var n=t.indexOf(e);return-1===n?[t,""]:[t.substr(0,n),t.substr(n+1)]}},m=new RegExp("^(?:[a-z]+:)?//[^/]+/"),v=function(e){return e.replace(/\/[^/]*$/,"")},b=g("#"),y=g("?"),x=g("="),w=function(e){return e?e.replace(/^#/,""):""};function k(e){var t=new RegExp("("+e+")","g");return function(e){return e.split(t).filter(o.y)}}function A(e,t){return Object(r.l)(Object(o.P)(e))&&Object(r.l)(t)?e.slice(0,-1).concat(Object(o.P)(e)+t):Object(o.J)(e,t)}},function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return l}));var r,i=n(0),o=n(7),a=n(3);!function(e){e[e.SUPERSEDED=2]="SUPERSEDED",e[e.ABORTED=3]="ABORTED",e[e.INVALID=4]="INVALID",e[e.IGNORED=5]="IGNORED",e[e.ERROR=6]="ERROR"}(r||(r={}));var s=0,l=function(){function e(e,t,n){this.$id=s++,this.type=e,this.message=t,this.detail=n}return e.isRejectionPromise=function(t){return t&&"function"==typeof t.then&&Object(a.h)(e)(t._transitionRejection)},e.superseded=function(t,n){var i=new e(r.SUPERSEDED,"The transition has been superseded by a different transition",t);return n&&n.redirected&&(i.redirected=!0),i},e.redirected=function(t){return e.superseded(t,{redirected:!0})},e.invalid=function(t){return new e(r.INVALID,"This transition is invalid",t)},e.ignored=function(t){return new e(r.IGNORED,"The transition was ignored",t)},e.aborted=function(t){return new e(r.ABORTED,"The transition has been aborted",t)},e.errored=function(t){return new e(r.ERROR,"The transition errored",t)},e.normalize=function(t){return Object(a.h)(e)(t)?t:e.errored(t)},e.prototype.toString=function(){var e,t=(e=this.detail)&&e.toString!==Object.prototype.toString?e.toString():Object(o.m)(e);return"Transition Rejection($id: "+this.$id+" type: "+this.type+", message: "+this.message+", detail: "+t+")"},e.prototype.toPromise=function(){return Object(i.r)(Object(i.O)(this),{_transitionRejection:this})},e}()},function(e,t,n){n(208),e.exports=angular},function(e,t,n){"use strict";n.d(t,"a",(function(){return l})),n.d(t,"b",(function(){return f})),n.d(t,"c",(function(){return h}));var r=n(3),i=n(1),o=n(7),a=n(19);function s(e){if(!e)return"ui-view (defunct)";var t=e.creationContext?e.creationContext.name||"(root)":"(none)";return"[ui-view#"+e.id+" "+e.$type+":"+e.fqn+" ("+e.name+"@"+t+")]"}var l;function c(e){return Object(i.h)(e)?l[e]:l[l[e]]}!function(e){e[e.RESOLVE=0]="RESOLVE",e[e.TRANSITION=1]="TRANSITION",e[e.HOOK=2]="HOOK",e[e.UIVIEW=3]="UIVIEW",e[e.VIEWCONFIG=4]="VIEWCONFIG"}(l||(l={}));var u=Object(r.k)("$id"),d=Object(r.k)("router.$id"),p=function(e){return"Transition #"+u(e)+"-"+d(e)},f=function(){function e(){this._enabled={},this.approximateDigests=0}return e.prototype._set=function(e,t){var n=this;t.length||(t=Object.keys(l).map((function(e){return parseInt(e,10)})).filter((function(e){return!isNaN(e)})).map((function(e){return l[e]}))),t.map(c).forEach((function(t){return n._enabled[t]=e}))},e.prototype.enable=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this._set(!0,e)},e.prototype.disable=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this._set(!1,e)},e.prototype.enabled=function(e){return!!this._enabled[c(e)]},e.prototype.traceTransitionStart=function(e){this.enabled(l.TRANSITION)&&a.a.log(p(e)+": Started -> "+Object(o.m)(e))},e.prototype.traceTransitionIgnored=function(e){this.enabled(l.TRANSITION)&&a.a.log(p(e)+": Ignored <> "+Object(o.m)(e))},e.prototype.traceHookInvocation=function(e,t,n){if(this.enabled(l.HOOK)){var i=Object(r.k)("traceData.hookType")(n)||"internal",s=Object(r.k)("traceData.context.state.name")(n)||Object(r.k)("traceData.context")(n)||"unknown",c=Object(o.c)(e.registeredHook.callback);a.a.log(p(t)+": Hook -> "+i+" context: "+s+", "+Object(o.g)(200,c))}},e.prototype.traceHookResult=function(e,t,n){this.enabled(l.HOOK)&&a.a.log(p(t)+": <- Hook returned: "+Object(o.g)(200,Object(o.m)(e)))},e.prototype.traceResolvePath=function(e,t,n){this.enabled(l.RESOLVE)&&a.a.log(p(n)+": Resolving "+e+" ("+t+")")},e.prototype.traceResolvableResolved=function(e,t){this.enabled(l.RESOLVE)&&a.a.log(p(t)+": <- Resolved "+e+" to: "+Object(o.g)(200,Object(o.m)(e.data)))},e.prototype.traceError=function(e,t){this.enabled(l.TRANSITION)&&a.a.log(p(t)+": <- Rejected "+Object(o.m)(t)+", reason: "+e)},e.prototype.traceSuccess=function(e,t){this.enabled(l.TRANSITION)&&a.a.log(p(t)+": <- Success "+Object(o.m)(t)+", final state: "+e.name)},e.prototype.traceUIViewEvent=function(e,t,n){void 0===n&&(n=""),this.enabled(l.UIVIEW)&&a.a.log("ui-view: "+Object(o.h)(30,e)+" "+s(t)+n)},e.prototype.traceUIViewConfigUpdated=function(e,t){this.enabled(l.UIVIEW)&&this.traceUIViewEvent("Updating",e," with ViewConfig from context='"+t+"'")},e.prototype.traceUIViewFill=function(e,t){this.enabled(l.UIVIEW)&&this.traceUIViewEvent("Fill",e," with: "+Object(o.g)(200,t))},e.prototype.traceViewSync=function(e){if(this.enabled(l.VIEWCONFIG)){var t="uiview component fqn",n=e.map((function(e){var n,r=e.uiView,i=e.viewConfig,o=r&&r.fqn,a=i&&i.viewDecl.$context.name+": ("+i.viewDecl.$name+")";return(n={})[t]=o,n["view config state (view name)"]=a,n})).sort((function(e,n){return(e[t]||"").localeCompare(n[t]||"")}));a.a.table(n)}},e.prototype.traceViewServiceEvent=function(e,t){this.enabled(l.VIEWCONFIG)&&a.a.log("VIEWCONFIG: "+e+" "+function(e){var t=e.viewDecl,n=t.$context.name||"(root)";return"[View#"+e.$id+" from '"+n+"' state]: target ui-view: '"+t.$uiViewName+"@"+t.$uiViewContextAnchor+"'"}(t))},e.prototype.traceViewServiceUIViewEvent=function(e,t){this.enabled(l.VIEWCONFIG)&&a.a.log("VIEWCONFIG: "+e+" "+s(t))},e}(),h=new f},function(e,t,n){var r;try{r={cloneDeep:n(360),constant:n(126),defaults:n(361),each:n(167),filter:n(170),find:n(362),flatten:n(197),forEach:n(168),forIn:n(369),has:n(181),isUndefined:n(182),last:n(370),map:n(183),mapValues:n(371),max:n(372),merge:n(374),min:n(380),minBy:n(381),now:n(382),pick:n(383),range:n(388),reduce:n(185),sortBy:n(391),uniqueId:n(396),values:n(190),zipObject:n(397)}}catch(e){}r||(r=window._),e.exports=r},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(9),i=angular,o=r&&r.module?r:i},function(e,t){var n=Array.isArray;e.exports=n},function(e,t,n){"use strict";var r,i;n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return i})),function(e){e[e.CREATE=0]="CREATE",e[e.BEFORE=1]="BEFORE",e[e.RUN=2]="RUN",e[e.SUCCESS=3]="SUCCESS",e[e.ERROR=4]="ERROR"}(r||(r={})),function(e){e[e.TRANSITION=0]="TRANSITION",e[e.STATE=1]="STATE"}(i||(i={}))},function(e,t,n){"use strict";n.d(t,"b",(function(){return l})),n.d(t,"a",(function(){return c}));var r=n(0),i=n(6),o=n(10),a=n(7),s=n(1),l={when:"LAZY",async:"WAIT"},c=function(){function e(t,n,o,a,l){if(this.resolved=!1,this.promise=void 0,t instanceof e)Object(r.r)(this,t);else if(Object(s.d)(n)){if(Object(s.g)(t))throw new Error("new Resolvable(): token argument is required");if(!Object(s.d)(n))throw new Error("new Resolvable(): resolveFn argument must be a function");this.token=t,this.policy=a,this.resolveFn=n,this.deps=o||[],this.data=l,this.resolved=void 0!==l,this.promise=this.resolved?i.b.$q.when(this.data):void 0}else if(Object(s.i)(t)&&t.token&&(t.hasOwnProperty("resolveFn")||t.hasOwnProperty("data"))){var c=t;return new e(c.token,c.resolveFn,c.deps,c.policy,c.data)}}return e.prototype.getPolicy=function(e){var t=this.policy||{},n=e&&e.resolvePolicy||{};return{when:t.when||n.when||l.when,async:t.async||n.async||l.async}},e.prototype.resolve=function(e,t){var n=this,a=i.b.$q,l=e.findNode(this),c=l&&l.state,u=this.getPolicy(c).async,d=Object(s.d)(u)?u:r.y;return this.promise=a.when().then((function(){return a.all(e.getDependencies(n).map((function(n){return n.get(e,t)})))})).then((function(e){return n.resolveFn.apply(null,e)})).then(d).then((function(e){return n.data=e,n.resolved=!0,n.resolveFn=null,o.c.traceResolvableResolved(n,t),n.data}))},e.prototype.get=function(e,t){return this.promise||this.resolve(e,t)},e.prototype.toString=function(){return"Resolvable(token: "+Object(a.m)(this.token)+", requires: ["+this.deps.map(a.m)+"])"},e.prototype.clone=function(){return new e(this)},e.fromData=function(t,n){return new e(t,(function(){return n}),null,null,n)},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return d}));var r,i=n(0),o=n(3),a=n(1),s=n(6),l=n(51),c=Object.prototype.hasOwnProperty;function u(e,t,n){var o=!1===n.reloadOnSearch&&t===r.SEARCH||void 0,s=Object(i.t)([n.dynamic,o],a.c),l=Object(a.c)(s)?{dynamic:s}:{},u=function(e){function t(){return e.value}e=function(e){return 0===["value","type","squash","array","dynamic"].filter(c.bind(e||{})).length}(e)?{value:e}:e,t.__cacheable=!0;var n=Object(a.e)(e.value)?e.value:t;return Object(i.r)(e,{$$fn:n})}(n&&n.params&&n.params[e]);return Object(i.r)(l,u)}!function(e){e[e.PATH=0]="PATH",e[e.SEARCH=1]="SEARCH",e[e.CONFIG=2]="CONFIG"}(r||(r={}));var d=function(){function e(e,t,n,s,c){var d=u(e,n,c);t=function(e,t,n,i,o){if(e.type&&t&&"string"!==t.name)throw new Error("Param '"+i+"' has two type configurations.");if(e.type&&t&&"string"===t.name&&o.type(e.type))return o.type(e.type);if(t)return t;if(!e.type){var a=n===r.CONFIG?"any":n===r.PATH?"path":n===r.SEARCH?"query":"string";return o.type(a)}return e.type instanceof l.a?e.type:o.type(e.type)}(d,t,n,e,s.paramTypes);var p,f,h=(p={array:n===r.SEARCH&&"auto"},f=e.match(/\[\]$/)?{array:!0}:{},Object(i.r)(p,f,d).array);t=h?t.$asArray(h,n===r.SEARCH):t;var g=void 0!==d.value||n===r.SEARCH,m=Object(a.c)(d.dynamic)?!!d.dynamic:!!t.dynamic,v=Object(a.c)(d.raw)?!!d.raw:!!t.raw,b=function(e,t,n){var r=e.squash;if(!t||!1===r)return!1;if(!Object(a.c)(r)||null==r)return n;if(!0===r||Object(a.l)(r))return r;throw new Error("Invalid squash policy: '"+r+"'. Valid policies: false, true, or arbitrary string")}(d,g,s.defaultSquashPolicy()),y=function(e,t,n,r){var s=[{from:"",to:n||t?void 0:""},{from:null,to:n||t?void 0:""}],l=Object(a.a)(e.replace)?e.replace:[];Object(a.l)(r)&&l.push({from:r,to:void 0});var c=Object(i.B)(l,Object(o.n)("from"));return Object(i.s)(s,(function(e){return-1===c.indexOf(e.from)})).concat(l)}(d,h,g,b),x=Object(a.c)(d.inherit)?!!d.inherit:!!t.inherit;Object(i.r)(this,{id:e,type:t,location:n,isOptional:g,dynamic:m,raw:v,squash:b,replace:y,inherit:x,array:h,config:d})}return e.values=function(e,t){void 0===t&&(t={});for(var n={},r=0,i=e;r<i.length;r++){var o=i[r];n[o.id]=o.value(t[o.id])}return n},e.changed=function(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),e.filter((function(e){return!e.type.equals(t[e.id],n[e.id])}))},e.equals=function(t,n,r){return void 0===n&&(n={}),void 0===r&&(r={}),0===e.changed(t,n,r).length},e.validates=function(e,t){return void 0===t&&(t={}),e.map((function(e){return e.validates(t[e.id])})).reduce(i.e,!0)},e.prototype.isDefaultValue=function(e){return this.isOptional&&this.type.equals(this.value(),e)},e.prototype.value=function(e){var t=this;return e=function(e){for(var n=0,r=t.replace;n<r.length;n++){var i=r[n];if(i.from===e)return i.to}return e}(e),Object(a.m)(e)?function(){if(t._defaultValueCache)return t._defaultValueCache.defaultValue;if(!s.b.$injector)throw new Error("Injectable functions cannot be called at configuration time");var e=s.b.$injector.invoke(t.config.$$fn);if(null!=e&&!t.type.is(e))throw new Error("Default value ("+e+") for parameter '"+t.id+"' is not an instance of ParamType ("+t.type.name+")");return t.config.$$fn.__cacheable&&(t._defaultValueCache={defaultValue:e}),e}():this.type.$normalize(e)},e.prototype.isSearch=function(){return this.location===r.SEARCH},e.prototype.validates=function(e){if((Object(a.m)(e)||null===e)&&this.isOptional)return!0;var t=this.type.$normalize(e);if(!this.type.is(t))return!1;var n=this.type.encode(t);return!(Object(a.l)(n)&&!this.type.pattern.exec(n))},e.prototype.toString=function(){return"{Param:"+this.id+" "+this.type+" squash: '"+this.squash+"' optional: "+this.isOptional+"}"},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return f}));var r=n(14),i=n(0),o=n(7),a=n(1),s=n(3),l=n(10),c=n(6),u=n(8),d=n(24),p={current:i.E,transition:null,traceData:{},bind:null},f=function(){function e(e,t,n,o){var a=this;this.transition=e,this.stateContext=t,this.registeredHook=n,this.options=o,this.isSuperseded=function(){return a.type.hookPhase===r.a.RUN&&!a.options.transition.isActive()},this.options=Object(i.o)(o,p),this.type=n.eventType}return e.chain=function(e,t){return e.reduce((function(e,t){return e.then((function(){return t.invokeHook()}))}),t||c.b.$q.when())},e.invokeHooks=function(t,n){for(var r=0;r<t.length;r++){var i=t[r].invokeHook();if(Object(a.j)(i)){var o=t.slice(r+1);return e.chain(o,i).then(n)}}return n()},e.runAllHooks=function(e){e.forEach((function(e){return e.invokeHook()}))},e.prototype.logError=function(e){this.transition.router.stateService.defaultErrorHandler()(e)},e.prototype.invokeHook=function(){var e=this,t=this.registeredHook;if(!t._deregistered){var n=this.getNotCurrentRejection();if(n)return n;var r=this.options;l.c.traceHookInvocation(this,this.transition,r);var i=function(n){return t.eventType.getErrorHandler(e)(n)},o=function(n){return t.eventType.getResultHandler(e)(n)};try{var s=t.callback.call(r.bind,e.transition,e.stateContext);return!this.type.synchronous&&Object(a.j)(s)?s.catch((function(e){return u.b.normalize(e).toPromise()})).then(o,i):o(s)}catch(e){return i(u.b.normalize(e))}finally{t.invokeLimit&&++t.invokeCount>=t.invokeLimit&&t.deregister()}}},e.prototype.handleHookResult=function(e){var t=this,n=this.getNotCurrentRejection();return n||(Object(a.j)(e)?e.then((function(e){return t.handleHookResult(e)})):(l.c.traceHookResult(e,this.transition,this.options),!1===e?u.b.aborted("Hook aborted transition").toPromise():Object(s.h)(d.a)(e)?u.b.redirected(e).toPromise():void 0))},e.prototype.getNotCurrentRejection=function(){var e=this.transition.router;return e._disposed?u.b.aborted("UIRouter instance #"+e.$id+" has been stopped (disposed)").toPromise():this.transition._aborted?u.b.aborted().toPromise():this.isSuperseded()?u.b.superseded(this.options.current()).toPromise():void 0},e.prototype.toString=function(){var e=this.options,t=this.registeredHook,n=Object(s.k)("traceData.hookType")(e)||"internal",r=Object(s.k)("traceData.context.state.name")(e)||Object(s.k)("traceData.context")(e)||"unknown",i=Object(o.b)(t.callback);return n+" context: "+r+", "+Object(o.g)(200,i)},e.HANDLE_RESULT=function(e){return function(t){return e.handleHookResult(t)}},e.LOG_REJECTED_RESULT=function(e){return function(t){Object(a.j)(t)&&t.catch((function(t){return e.logError(u.b.normalize(t))}))}},e.LOG_ERROR=function(e){return function(t){return e.logError(t)}},e.REJECT_ERROR=function(e){return function(e){return Object(i.O)(e)}},e.THROW_ERROR=function(e){return function(e){throw e}},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=n(0),i=n(3),o=n(24),a=n(52),s=function(){function e(){}return e.makeTargetState=function(e,t){var n=Object(r.P)(t).state;return new o.a(e,n,t.map(Object(i.n)("paramValues")).reduce(r.D,{}),{})},e.buildPath=function(e){var t=e.params();return e.$state().path.map((function(e){return new a.a(e).applyRawParams(t)}))},e.buildToPath=function(t,n){var r=e.buildPath(n);return n.options().inherit?e.inheritParams(t,r,Object.keys(n.params())):r},e.applyViewConfigs=function(t,n,i){n.filter((function(e){return Object(r.z)(i,e.state)})).forEach((function(i){var o=Object(r.U)(i.state.views||{}),a=e.subPath(n,(function(e){return e===i})),s=o.map((function(e){return t.createViewConfig(a,e)}));i.views=s.reduce(r.T,[])}))},e.inheritParams=function(e,t,n){void 0===n&&(n=[]);var o=e.map((function(e){return e.paramSchema})).reduce(r.T,[]).filter((function(e){return!e.inherit})).map(Object(i.n)("id"));return t.map((function(t){var s=Object(r.r)({},t&&t.paramValues),l=Object(r.H)(s,n);s=Object(r.F)(s,n);var c,u,d,p=Object(r.F)((c=e,u=t.state,d=Object(r.t)(c,Object(i.o)("state",u)),Object(r.r)({},d&&d.paramValues)||{}),o),f=Object(r.r)(s,p,l);return new a.a(t.state).applyRawParams(f)}))},e.treeChanges=function(t,n,r){for(var i,o,a,s,l,c,u=Math.min(t.length,n.length),d=0;d<u&&t[d].state!==r&&(i=t[d],o=n[d],i.equals(o,e.nonDynamicParams));)d++;s=(a=t).slice(0,d),l=a.slice(d);var p=s.map((function(e,t){var r=e.clone();return r.paramValues=n[t].paramValues,r}));return c=n.slice(d),{from:a,to:p.concat(c),retained:s,retainedWithToParams:p,exiting:l,entering:c}},e.matching=function(e,t,n){var i=!1;return Object(r.i)(e,t).reduce((function(e,t){var r=t[0],o=t[1];return(i=i||!r.equals(o,n))?e:e.concat(r)}),[])},e.equals=function(t,n,r){return t.length===n.length&&e.matching(t,n,r).length===t.length},e.subPath=function(e,t){var n=Object(r.t)(e,t),i=e.indexOf(n);return-1===i?void 0:e.slice(0,i+1)},e.nonDynamicParams=function(e){return e.state.parameters({inherit:!1}).filter((function(e){return!e.dynamic}))},e.paramValues=function(e){return e.reduce((function(e,t){return Object(r.r)(e,t.paramValues)}),{})},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(0),i={log:r.E,error:r.E,table:r.E};var o="undefined"!=typeof document&&document.documentMode&&9===document.documentMode?window&&window.console?function(e){var t=function(t){return Function.prototype.bind.call(t,e)};return{log:t(e.log),error:t(e.log),table:t(e.log)}}(window.console):i:console.table&&console.error?console:function(e){var t=e.log.bind(e);return{log:t,error:e.error?e.error.bind(e):t,table:e.table?e.table.bind(e):t}}(console)},function(e,t,n){"use strict";var r=n(11),i=n(28).Graph;function o(e,t,n,i){var o;do{o=r.uniqueId(i)}while(e.hasNode(o));return n.dummy=t,e.setNode(o,n),o}function a(e){return r.max(r.map(e.nodes(),(function(t){var n=e.node(t).rank;if(!r.isUndefined(n))return n})))}e.exports={addDummyNode:o,simplify:function(e){var t=(new i).setGraph(e.graph());return r.forEach(e.nodes(),(function(n){t.setNode(n,e.node(n))})),r.forEach(e.edges(),(function(n){var r=t.edge(n.v,n.w)||{weight:0,minlen:1},i=e.edge(n);t.setEdge(n.v,n.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})})),t},asNonCompoundGraph:function(e){var t=new i({multigraph:e.isMultigraph()}).setGraph(e.graph());return r.forEach(e.nodes(),(function(n){e.children(n).length||t.setNode(n,e.node(n))})),r.forEach(e.edges(),(function(n){t.setEdge(n,e.edge(n))})),t},successorWeights:function(e){var t=r.map(e.nodes(),(function(t){var n={};return r.forEach(e.outEdges(t),(function(t){n[t.w]=(n[t.w]||0)+e.edge(t).weight})),n}));return r.zipObject(e.nodes(),t)},predecessorWeights:function(e){var t=r.map(e.nodes(),(function(t){var n={};return r.forEach(e.inEdges(t),(function(t){n[t.v]=(n[t.v]||0)+e.edge(t).weight})),n}));return r.zipObject(e.nodes(),t)},intersectRect:function(e,t){var n,r,i=e.x,o=e.y,a=t.x-i,s=t.y-o,l=e.width/2,c=e.height/2;if(!a&&!s)throw new Error("Not possible to find intersection inside of the rectangle");Math.abs(s)*l>Math.abs(a)*c?(s<0&&(c=-c),n=c*a/s,r=c):(a<0&&(l=-l),n=l,r=l*s/a);return{x:i+n,y:o+r}},buildLayerMatrix:function(e){var t=r.map(r.range(a(e)+1),(function(){return[]}));return r.forEach(e.nodes(),(function(n){var i=e.node(n),o=i.rank;r.isUndefined(o)||(t[o][i.order]=n)})),t},normalizeRanks:function(e){var t=r.min(r.map(e.nodes(),(function(t){return e.node(t).rank})));r.forEach(e.nodes(),(function(n){var i=e.node(n);r.has(i,"rank")&&(i.rank-=t)}))},removeEmptyRanks:function(e){var t=r.min(r.map(e.nodes(),(function(t){return e.node(t).rank}))),n=[];r.forEach(e.nodes(),(function(r){var i=e.node(r).rank-t;n[i]||(n[i]=[]),n[i].push(r)}));var i=0,o=e.graph().nodeRankFactor;r.forEach(n,(function(t,n){r.isUndefined(t)&&n%o!=0?--i:i&&r.forEach(t,(function(t){e.node(t).rank+=i}))}))},addBorderNode:function(e,t,n,r){var i={width:0,height:0};arguments.length>=4&&(i.rank=n,i.order=r);return o(e,"border",i,t)},maxRank:a,partition:function(e,t){var n={lhs:[],rhs:[]};return r.forEach(e,(function(e){t(e)?n.lhs.push(e):n.rhs.push(e)})),n},time:function(e,t){var n=r.now();try{return t()}finally{console.log(e+" time: "+(r.now()-n)+"ms")}},notime:function(e,t){return t()}}},function(e,t,n){"use strict";n.r(t),n.d(t,"default",(function(){return kn})),n.d(t,"VERSION",(function(){return i.e})),n.d(t,"restArguments",(function(){return o})),n.d(t,"isObject",(function(){return a})),n.d(t,"isNull",(function(){return s})),n.d(t,"isUndefined",(function(){return l})),n.d(t,"isBoolean",(function(){return c})),n.d(t,"isElement",(function(){return u})),n.d(t,"isString",(function(){return p})),n.d(t,"isNumber",(function(){return f})),n.d(t,"isDate",(function(){return h})),n.d(t,"isRegExp",(function(){return g})),n.d(t,"isError",(function(){return m})),n.d(t,"isSymbol",(function(){return v})),n.d(t,"isArrayBuffer",(function(){return b})),n.d(t,"isDataView",(function(){return $})),n.d(t,"isArray",(function(){return C})),n.d(t,"isFunction",(function(){return w})),n.d(t,"isArguments",(function(){return T})),n.d(t,"isFinite",(function(){return j})),n.d(t,"isNaN",(function(){return P})),n.d(t,"isTypedArray",(function(){return L})),n.d(t,"isEmpty",(function(){return V})),n.d(t,"isMatch",(function(){return U})),n.d(t,"isEqual",(function(){return Y})),n.d(t,"isMap",(function(){return re})),n.d(t,"isWeakMap",(function(){return ie})),n.d(t,"isSet",(function(){return oe})),n.d(t,"isWeakSet",(function(){return ae})),n.d(t,"keys",(function(){return q})),n.d(t,"allKeys",(function(){return X})),n.d(t,"values",(function(){return se})),n.d(t,"pairs",(function(){return le})),n.d(t,"invert",(function(){return ce})),n.d(t,"functions",(function(){return ue})),n.d(t,"methods",(function(){return ue})),n.d(t,"extend",(function(){return pe})),n.d(t,"extendOwn",(function(){return fe})),n.d(t,"assign",(function(){return fe})),n.d(t,"defaults",(function(){return he})),n.d(t,"create",(function(){return me})),n.d(t,"clone",(function(){return ve})),n.d(t,"tap",(function(){return be})),n.d(t,"get",(function(){return ke})),n.d(t,"has",(function(){return Ae})),n.d(t,"mapObject",(function(){return je})),n.d(t,"identity",(function(){return Ee})),n.d(t,"constant",(function(){return D})),n.d(t,"noop",(function(){return Pe})),n.d(t,"toPath",(function(){return ye})),n.d(t,"property",(function(){return $e})),n.d(t,"propertyOf",(function(){return De})),n.d(t,"matcher",(function(){return Se})),n.d(t,"matches",(function(){return Se})),n.d(t,"times",(function(){return Re})),n.d(t,"random",(function(){return Ie})),n.d(t,"now",(function(){return Ne})),n.d(t,"escape",(function(){return Le})),n.d(t,"unescape",(function(){return Be})),n.d(t,"templateSettings",(function(){return Fe})),n.d(t,"template",(function(){return We})),n.d(t,"result",(function(){return Ye})),n.d(t,"uniqueId",(function(){return Ze})),n.d(t,"chain",(function(){return Qe})),n.d(t,"iteratee",(function(){return Oe})),n.d(t,"partial",(function(){return et})),n.d(t,"bind",(function(){return tt})),n.d(t,"bindAll",(function(){return it})),n.d(t,"memoize",(function(){return ot})),n.d(t,"delay",(function(){return at})),n.d(t,"defer",(function(){return st})),n.d(t,"throttle",(function(){return lt})),n.d(t,"debounce",(function(){return ct})),n.d(t,"wrap",(function(){return ut})),n.d(t,"negate",(function(){return dt})),n.d(t,"compose",(function(){return pt})),n.d(t,"after",(function(){return ft})),n.d(t,"before",(function(){return ht})),n.d(t,"once",(function(){return gt})),n.d(t,"findKey",(function(){return mt})),n.d(t,"findIndex",(function(){return bt})),n.d(t,"findLastIndex",(function(){return yt})),n.d(t,"sortedIndex",(function(){return xt})),n.d(t,"indexOf",(function(){return kt})),n.d(t,"lastIndexOf",(function(){return At})),n.d(t,"find",(function(){return Et})),n.d(t,"detect",(function(){return Et})),n.d(t,"findWhere",(function(){return St})),n.d(t,"each",(function(){return $t})),n.d(t,"forEach",(function(){return $t})),n.d(t,"map",(function(){return Ct})),n.d(t,"collect",(function(){return Ct})),n.d(t,"reduce",(function(){return Ot})),n.d(t,"foldl",(function(){return Ot})),n.d(t,"inject",(function(){return Ot})),n.d(t,"reduceRight",(function(){return Tt})),n.d(t,"foldr",(function(){return Tt})),n.d(t,"filter",(function(){return jt})),n.d(t,"select",(function(){return jt})),n.d(t,"reject",(function(){return Pt})),n.d(t,"every",(function(){return Dt})),n.d(t,"all",(function(){return Dt})),n.d(t,"some",(function(){return Rt})),n.d(t,"any",(function(){return Rt})),n.d(t,"contains",(function(){return It})),n.d(t,"includes",(function(){return It})),n.d(t,"include",(function(){return It})),n.d(t,"invoke",(function(){return Nt})),n.d(t,"pluck",(function(){return Mt})),n.d(t,"where",(function(){return zt})),n.d(t,"max",(function(){return Lt})),n.d(t,"min",(function(){return Bt})),n.d(t,"shuffle",(function(){return Ut})),n.d(t,"sample",(function(){return Vt})),n.d(t,"sortBy",(function(){return Ht})),n.d(t,"groupBy",(function(){return Wt})),n.d(t,"indexBy",(function(){return Yt})),n.d(t,"countBy",(function(){return Xt})),n.d(t,"partition",(function(){return Zt})),n.d(t,"toArray",(function(){return qt})),n.d(t,"size",(function(){return Qt})),n.d(t,"pick",(function(){return Kt})),n.d(t,"omit",(function(){return en})),n.d(t,"first",(function(){return nn})),n.d(t,"head",(function(){return nn})),n.d(t,"take",(function(){return nn})),n.d(t,"initial",(function(){return tn})),n.d(t,"last",(function(){return on})),n.d(t,"rest",(function(){return rn})),n.d(t,"tail",(function(){return rn})),n.d(t,"drop",(function(){return rn})),n.d(t,"compact",(function(){return an})),n.d(t,"flatten",(function(){return sn})),n.d(t,"without",(function(){return cn})),n.d(t,"uniq",(function(){return un})),n.d(t,"unique",(function(){return un})),n.d(t,"union",(function(){return dn})),n.d(t,"intersection",(function(){return pn})),n.d(t,"difference",(function(){return ln})),n.d(t,"unzip",(function(){return fn})),n.d(t,"transpose",(function(){return fn})),n.d(t,"zip",(function(){return hn})),n.d(t,"object",(function(){return gn})),n.d(t,"range",(function(){return mn})),n.d(t,"chunk",(function(){return vn})),n.d(t,"mixin",(function(){return yn}));var r={};n.r(r),n.d(r,"VERSION",(function(){return i.e})),n.d(r,"restArguments",(function(){return o})),n.d(r,"isObject",(function(){return a})),n.d(r,"isNull",(function(){return s})),n.d(r,"isUndefined",(function(){return l})),n.d(r,"isBoolean",(function(){return c})),n.d(r,"isElement",(function(){return u})),n.d(r,"isString",(function(){return p})),n.d(r,"isNumber",(function(){return f})),n.d(r,"isDate",(function(){return h})),n.d(r,"isRegExp",(function(){return g})),n.d(r,"isError",(function(){return m})),n.d(r,"isSymbol",(function(){return v})),n.d(r,"isArrayBuffer",(function(){return b})),n.d(r,"isDataView",(function(){return $})),n.d(r,"isArray",(function(){return C})),n.d(r,"isFunction",(function(){return w})),n.d(r,"isArguments",(function(){return T})),n.d(r,"isFinite",(function(){return j})),n.d(r,"isNaN",(function(){return P})),n.d(r,"isTypedArray",(function(){return L})),n.d(r,"isEmpty",(function(){return V})),n.d(r,"isMatch",(function(){return U})),n.d(r,"isEqual",(function(){return Y})),n.d(r,"isMap",(function(){return re})),n.d(r,"isWeakMap",(function(){return ie})),n.d(r,"isSet",(function(){return oe})),n.d(r,"isWeakSet",(function(){return ae})),n.d(r,"keys",(function(){return q})),n.d(r,"allKeys",(function(){return X})),n.d(r,"values",(function(){return se})),n.d(r,"pairs",(function(){return le})),n.d(r,"invert",(function(){return ce})),n.d(r,"functions",(function(){return ue})),n.d(r,"methods",(function(){return ue})),n.d(r,"extend",(function(){return pe})),n.d(r,"extendOwn",(function(){return fe})),n.d(r,"assign",(function(){return fe})),n.d(r,"defaults",(function(){return he})),n.d(r,"create",(function(){return me})),n.d(r,"clone",(function(){return ve})),n.d(r,"tap",(function(){return be})),n.d(r,"get",(function(){return ke})),n.d(r,"has",(function(){return Ae})),n.d(r,"mapObject",(function(){return je})),n.d(r,"identity",(function(){return Ee})),n.d(r,"constant",(function(){return D})),n.d(r,"noop",(function(){return Pe})),n.d(r,"toPath",(function(){return ye})),n.d(r,"property",(function(){return $e})),n.d(r,"propertyOf",(function(){return De})),n.d(r,"matcher",(function(){return Se})),n.d(r,"matches",(function(){return Se})),n.d(r,"times",(function(){return Re})),n.d(r,"random",(function(){return Ie})),n.d(r,"now",(function(){return Ne})),n.d(r,"escape",(function(){return Le})),n.d(r,"unescape",(function(){return Be})),n.d(r,"templateSettings",(function(){return Fe})),n.d(r,"template",(function(){return We})),n.d(r,"result",(function(){return Ye})),n.d(r,"uniqueId",(function(){return Ze})),n.d(r,"chain",(function(){return Qe})),n.d(r,"iteratee",(function(){return Oe})),n.d(r,"partial",(function(){return et})),n.d(r,"bind",(function(){return tt})),n.d(r,"bindAll",(function(){return it})),n.d(r,"memoize",(function(){return ot})),n.d(r,"delay",(function(){return at})),n.d(r,"defer",(function(){return st})),n.d(r,"throttle",(function(){return lt})),n.d(r,"debounce",(function(){return ct})),n.d(r,"wrap",(function(){return ut})),n.d(r,"negate",(function(){return dt})),n.d(r,"compose",(function(){return pt})),n.d(r,"after",(function(){return ft})),n.d(r,"before",(function(){return ht})),n.d(r,"once",(function(){return gt})),n.d(r,"findKey",(function(){return mt})),n.d(r,"findIndex",(function(){return bt})),n.d(r,"findLastIndex",(function(){return yt})),n.d(r,"sortedIndex",(function(){return xt})),n.d(r,"indexOf",(function(){return kt})),n.d(r,"lastIndexOf",(function(){return At})),n.d(r,"find",(function(){return Et})),n.d(r,"detect",(function(){return Et})),n.d(r,"findWhere",(function(){return St})),n.d(r,"each",(function(){return $t})),n.d(r,"forEach",(function(){return $t})),n.d(r,"map",(function(){return Ct})),n.d(r,"collect",(function(){return Ct})),n.d(r,"reduce",(function(){return Ot})),n.d(r,"foldl",(function(){return Ot})),n.d(r,"inject",(function(){return Ot})),n.d(r,"reduceRight",(function(){return Tt})),n.d(r,"foldr",(function(){return Tt})),n.d(r,"filter",(function(){return jt})),n.d(r,"select",(function(){return jt})),n.d(r,"reject",(function(){return Pt})),n.d(r,"every",(function(){return Dt})),n.d(r,"all",(function(){return Dt})),n.d(r,"some",(function(){return Rt})),n.d(r,"any",(function(){return Rt})),n.d(r,"contains",(function(){return It})),n.d(r,"includes",(function(){return It})),n.d(r,"include",(function(){return It})),n.d(r,"invoke",(function(){return Nt})),n.d(r,"pluck",(function(){return Mt})),n.d(r,"where",(function(){return zt})),n.d(r,"max",(function(){return Lt})),n.d(r,"min",(function(){return Bt})),n.d(r,"shuffle",(function(){return Ut})),n.d(r,"sample",(function(){return Vt})),n.d(r,"sortBy",(function(){return Ht})),n.d(r,"groupBy",(function(){return Wt})),n.d(r,"indexBy",(function(){return Yt})),n.d(r,"countBy",(function(){return Xt})),n.d(r,"partition",(function(){return Zt})),n.d(r,"toArray",(function(){return qt})),n.d(r,"size",(function(){return Qt})),n.d(r,"pick",(function(){return Kt})),n.d(r,"omit",(function(){return en})),n.d(r,"first",(function(){return nn})),n.d(r,"head",(function(){return nn})),n.d(r,"take",(function(){return nn})),n.d(r,"initial",(function(){return tn})),n.d(r,"last",(function(){return on})),n.d(r,"rest",(function(){return rn})),n.d(r,"tail",(function(){return rn})),n.d(r,"drop",(function(){return rn})),n.d(r,"compact",(function(){return an})),n.d(r,"flatten",(function(){return sn})),n.d(r,"without",(function(){return cn})),n.d(r,"uniq",(function(){return un})),n.d(r,"unique",(function(){return un})),n.d(r,"union",(function(){return dn})),n.d(r,"intersection",(function(){return pn})),n.d(r,"difference",(function(){return ln})),n.d(r,"unzip",(function(){return fn})),n.d(r,"transpose",(function(){return fn})),n.d(r,"zip",(function(){return hn})),n.d(r,"object",(function(){return gn})),n.d(r,"range",(function(){return mn})),n.d(r,"chunk",(function(){return vn})),n.d(r,"mixin",(function(){return yn})),n.d(r,"default",(function(){return xn}));var i=n(5);function o(e,t){return t=null==t?e.length-1:+t,function(){for(var n=Math.max(arguments.length-t,0),r=Array(n),i=0;i<n;i++)r[i]=arguments[i+t];switch(t){case 0:return e.call(this,r);case 1:return e.call(this,arguments[0],r);case 2:return e.call(this,arguments[0],arguments[1],r)}var o=Array(t+1);for(i=0;i<t;i++)o[i]=arguments[i];return o[t]=r,e.apply(this,o)}}function a(e){var t=typeof e;return"function"===t||"object"===t&&!!e}function s(e){return null===e}function l(e){return void 0===e}function c(e){return!0===e||!1===e||"[object Boolean]"===i.t.call(e)}function u(e){return!(!e||1!==e.nodeType)}function d(e){var t="[object "+e+"]";return function(e){return i.t.call(e)===t}}var p=d("String"),f=d("Number"),h=d("Date"),g=d("RegExp"),m=d("Error"),v=d("Symbol"),b=d("ArrayBuffer"),y=d("Function"),x=i.p.document&&i.p.document.childNodes;"object"!=typeof Int8Array&&"function"!=typeof x&&(y=function(e){return"function"==typeof e||!1});var w=y,k=d("Object"),A=i.s&&k(new DataView(new ArrayBuffer(8))),E="undefined"!=typeof Map&&k(new Map),S=d("DataView");var $=A?function(e){return null!=e&&w(e.getInt8)&&b(e.buffer)}:S,C=i.k||d("Array");function _(e,t){return null!=e&&i.i.call(e,t)}var O=d("Arguments");!function(){O(arguments)||(O=function(e){return _(e,"callee")})}();var T=O;function j(e){return!v(e)&&Object(i.f)(e)&&!isNaN(parseFloat(e))}function P(e){return f(e)&&Object(i.g)(e)}function D(e){return function(){return e}}function R(e){return function(t){var n=e(t);return"number"==typeof n&&n>=0&&n<=i.b}}function I(e){return function(t){return null==t?void 0:t[e]}}var N=I("byteLength"),M=R(N),z=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;var L=i.r?function(e){return i.l?Object(i.l)(e)&&!$(e):M(e)&&z.test(i.t.call(e))}:D(!1),B=I("length");function F(e,t){t=function(e){for(var t={},n=e.length,r=0;r<n;++r)t[e[r]]=!0;return{contains:function(e){return!0===t[e]},push:function(n){return t[n]=!0,e.push(n)}}}(t);var n=i.n.length,r=e.constructor,o=w(r)&&r.prototype||i.c,a="constructor";for(_(e,a)&&!t.contains(a)&&t.push(a);n--;)(a=i.n[n])in e&&e[a]!==o[a]&&!t.contains(a)&&t.push(a)}function q(e){if(!a(e))return[];if(i.m)return Object(i.m)(e);var t=[];for(var n in e)_(e,n)&&t.push(n);return i.h&&F(e,t),t}function V(e){if(null==e)return!0;var t=B(e);return"number"==typeof t&&(C(e)||p(e)||T(e))?0===t:0===B(q(e))}function U(e,t){var n=q(t),r=n.length;if(null==e)return!r;for(var i=Object(e),o=0;o<r;o++){var a=n[o];if(t[a]!==i[a]||!(a in i))return!1}return!0}function H(e){return e instanceof H?e:this instanceof H?void(this._wrapped=e):new H(e)}function G(e){return new Uint8Array(e.buffer||e,e.byteOffset||0,N(e))}H.VERSION=i.e,H.prototype.value=function(){return this._wrapped},H.prototype.valueOf=H.prototype.toJSON=H.prototype.value,H.prototype.toString=function(){return String(this._wrapped)};function W(e,t,n,r){if(e===t)return 0!==e||1/e==1/t;if(null==e||null==t)return!1;if(e!=e)return t!=t;var o=typeof e;return("function"===o||"object"===o||"object"==typeof t)&&function e(t,n,r,o){t instanceof H&&(t=t._wrapped);n instanceof H&&(n=n._wrapped);var a=i.t.call(t);if(a!==i.t.call(n))return!1;if(A&&"[object Object]"==a&&$(t)){if(!$(n))return!1;a="[object DataView]"}switch(a){case"[object RegExp]":case"[object String]":return""+t==""+n;case"[object Number]":return+t!=+t?+n!=+n:0==+t?1/+t==1/n:+t==+n;case"[object Date]":case"[object Boolean]":return+t==+n;case"[object Symbol]":return i.d.valueOf.call(t)===i.d.valueOf.call(n);case"[object ArrayBuffer]":case"[object DataView]":return e(G(t),G(n),r,o)}var s="[object Array]"===a;if(!s&&L(t)){if(N(t)!==N(n))return!1;if(t.buffer===n.buffer&&t.byteOffset===n.byteOffset)return!0;s=!0}if(!s){if("object"!=typeof t||"object"!=typeof n)return!1;var l=t.constructor,c=n.constructor;if(l!==c&&!(w(l)&&l instanceof l&&w(c)&&c instanceof c)&&"constructor"in t&&"constructor"in n)return!1}o=o||[];var u=(r=r||[]).length;for(;u--;)if(r[u]===t)return o[u]===n;if(r.push(t),o.push(n),s){if((u=t.length)!==n.length)return!1;for(;u--;)if(!W(t[u],n[u],r,o))return!1}else{var d,p=q(t);if(u=p.length,q(n).length!==u)return!1;for(;u--;)if(d=p[u],!_(n,d)||!W(t[d],n[d],r,o))return!1}return r.pop(),o.pop(),!0}(e,t,n,r)}function Y(e,t){return W(e,t)}function X(e){if(!a(e))return[];var t=[];for(var n in e)t.push(n);return i.h&&F(e,t),t}function Z(e){var t=B(e);return function(n){if(null==n)return!1;var r=X(n);if(B(r))return!1;for(var i=0;i<t;i++)if(!w(n[e[i]]))return!1;return e!==te||!w(n[Q])}}var Q="forEach",J=["clear","delete"],K=["get","has","set"],ee=J.concat(Q,K),te=J.concat(K),ne=["add"].concat(J,Q,"has"),re=E?Z(ee):d("Map"),ie=E?Z(te):d("WeakMap"),oe=E?Z(ne):d("Set"),ae=d("WeakSet");function se(e){for(var t=q(e),n=t.length,r=Array(n),i=0;i<n;i++)r[i]=e[t[i]];return r}function le(e){for(var t=q(e),n=t.length,r=Array(n),i=0;i<n;i++)r[i]=[t[i],e[t[i]]];return r}function ce(e){for(var t={},n=q(e),r=0,i=n.length;r<i;r++)t[e[n[r]]]=n[r];return t}function ue(e){var t=[];for(var n in e)w(e[n])&&t.push(n);return t.sort()}function de(e,t){return function(n){var r=arguments.length;if(t&&(n=Object(n)),r<2||null==n)return n;for(var i=1;i<r;i++)for(var o=arguments[i],a=e(o),s=a.length,l=0;l<s;l++){var c=a[l];t&&void 0!==n[c]||(n[c]=o[c])}return n}}var pe=de(X),fe=de(q),he=de(X,!0);function ge(e){if(!a(e))return{};if(i.j)return Object(i.j)(e);var t=function(){};t.prototype=e;var n=new t;return t.prototype=null,n}function me(e,t){var n=ge(e);return t&&fe(n,t),n}function ve(e){return a(e)?C(e)?e.slice():pe({},e):e}function be(e,t){return t(e),e}function ye(e){return C(e)?e:[e]}function xe(e){return H.toPath(e)}function we(e,t){for(var n=t.length,r=0;r<n;r++){if(null==e)return;e=e[t[r]]}return n?e:void 0}function ke(e,t,n){var r=we(e,xe(t));return l(r)?n:r}function Ae(e,t){for(var n=(t=xe(t)).length,r=0;r<n;r++){var i=t[r];if(!_(e,i))return!1;e=e[i]}return!!n}function Ee(e){return e}function Se(e){return e=fe({},e),function(t){return U(t,e)}}function $e(e){return e=xe(e),function(t){return we(t,e)}}function Ce(e,t,n){if(void 0===t)return e;switch(null==n?3:n){case 1:return function(n){return e.call(t,n)};case 3:return function(n,r,i){return e.call(t,n,r,i)};case 4:return function(n,r,i,o){return e.call(t,n,r,i,o)}}return function(){return e.apply(t,arguments)}}function _e(e,t,n){return null==e?Ee:w(e)?Ce(e,t,n):a(e)&&!C(e)?Se(e):$e(e)}function Oe(e,t){return _e(e,t,1/0)}function Te(e,t,n){return H.iteratee!==Oe?H.iteratee(e,t):_e(e,t,n)}function je(e,t,n){t=Te(t,n);for(var r=q(e),i=r.length,o={},a=0;a<i;a++){var s=r[a];o[s]=t(e[s],s,e)}return o}function Pe(){}function De(e){return null==e?Pe:function(t){return ke(e,t)}}function Re(e,t,n){var r=Array(Math.max(0,e));t=Ce(t,n,1);for(var i=0;i<e;i++)r[i]=t(i);return r}function Ie(e,t){return null==t&&(t=e,e=0),e+Math.floor(Math.random()*(t-e+1))}H.toPath=ye,H.iteratee=Oe;var Ne=Date.now||function(){return(new Date).getTime()};function Me(e){var t=function(t){return e[t]},n="(?:"+q(e).join("|")+")",r=RegExp(n),i=RegExp(n,"g");return function(e){return e=null==e?"":""+e,r.test(e)?e.replace(i,t):e}}var ze={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},Le=Me(ze),Be=Me(ce(ze)),Fe=H.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},qe=/(.)^/,Ve={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},Ue=/\\|'|\r|\n|\u2028|\u2029/g;function He(e){return"\\"+Ve[e]}var Ge=/^\s*(\w|\$)+\s*$/;function We(e,t,n){!t&&n&&(t=n),t=he({},t,H.templateSettings);var r=RegExp([(t.escape||qe).source,(t.interpolate||qe).source,(t.evaluate||qe).source].join("|")+"|$","g"),i=0,o="__p+='";e.replace(r,(function(t,n,r,a,s){return o+=e.slice(i,s).replace(Ue,He),i=s+t.length,n?o+="'+\n((__t=("+n+"))==null?'':_.escape(__t))+\n'":r?o+="'+\n((__t=("+r+"))==null?'':__t)+\n'":a&&(o+="';\n"+a+"\n__p+='"),t})),o+="';\n";var a,s=t.variable;if(s){if(!Ge.test(s))throw new Error("variable is not a bare identifier: "+s)}else o="with(obj||{}){\n"+o+"}\n",s="obj";o="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+o+"return __p;\n";try{a=new Function(s,"_",o)}catch(e){throw e.source=o,e}var l=function(e){return a.call(this,e,H)};return l.source="function("+s+"){\n"+o+"}",l}function Ye(e,t,n){var r=(t=xe(t)).length;if(!r)return w(n)?n.call(e):n;for(var i=0;i<r;i++){var o=null==e?void 0:e[t[i]];void 0===o&&(o=n,i=r),e=w(o)?o.call(e):o}return e}var Xe=0;function Ze(e){var t=++Xe+"";return e?e+t:t}function Qe(e){var t=H(e);return t._chain=!0,t}function Je(e,t,n,r,i){if(!(r instanceof t))return e.apply(n,i);var o=ge(e.prototype),s=e.apply(o,i);return a(s)?s:o}var Ke=o((function(e,t){var n=Ke.placeholder,r=function(){for(var i=0,o=t.length,a=Array(o),s=0;s<o;s++)a[s]=t[s]===n?arguments[i++]:t[s];for(;i<arguments.length;)a.push(arguments[i++]);return Je(e,r,this,this,a)};return r}));Ke.placeholder=H;var et=Ke,tt=o((function(e,t,n){if(!w(e))throw new TypeError("Bind must be called on a function");var r=o((function(i){return Je(e,r,t,this,n.concat(i))}));return r})),nt=R(B);function rt(e,t,n,r){if(r=r||[],t||0===t){if(t<=0)return r.concat(e)}else t=1/0;for(var i=r.length,o=0,a=B(e);o<a;o++){var s=e[o];if(nt(s)&&(C(s)||T(s)))if(t>1)rt(s,t-1,n,r),i=r.length;else for(var l=0,c=s.length;l<c;)r[i++]=s[l++];else n||(r[i++]=s)}return r}var it=o((function(e,t){var n=(t=rt(t,!1,!1)).length;if(n<1)throw new Error("bindAll must be passed function names");for(;n--;){var r=t[n];e[r]=tt(e[r],e)}return e}));function ot(e,t){var n=function(r){var i=n.cache,o=""+(t?t.apply(this,arguments):r);return _(i,o)||(i[o]=e.apply(this,arguments)),i[o]};return n.cache={},n}var at=o((function(e,t,n){return setTimeout((function(){return e.apply(null,n)}),t)})),st=et(at,H,1);function lt(e,t,n){var r,i,o,a,s=0;n||(n={});var l=function(){s=!1===n.leading?0:Ne(),r=null,a=e.apply(i,o),r||(i=o=null)},c=function(){var c=Ne();s||!1!==n.leading||(s=c);var u=t-(c-s);return i=this,o=arguments,u<=0||u>t?(r&&(clearTimeout(r),r=null),s=c,a=e.apply(i,o),r||(i=o=null)):r||!1===n.trailing||(r=setTimeout(l,u)),a};return c.cancel=function(){clearTimeout(r),s=0,r=i=o=null},c}function ct(e,t,n){var r,i,a,s,l,c=function(){var o=Ne()-i;t>o?r=setTimeout(c,t-o):(r=null,n||(s=e.apply(l,a)),r||(a=l=null))},u=o((function(o){return l=this,a=o,i=Ne(),r||(r=setTimeout(c,t),n&&(s=e.apply(l,a))),s}));return u.cancel=function(){clearTimeout(r),r=a=l=null},u}function ut(e,t){return et(t,e)}function dt(e){return function(){return!e.apply(this,arguments)}}function pt(){var e=arguments,t=e.length-1;return function(){for(var n=t,r=e[t].apply(this,arguments);n--;)r=e[n].call(this,r);return r}}function ft(e,t){return function(){if(--e<1)return t.apply(this,arguments)}}function ht(e,t){var n;return function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=null),n}}var gt=et(ht,2);function mt(e,t,n){t=Te(t,n);for(var r,i=q(e),o=0,a=i.length;o<a;o++)if(t(e[r=i[o]],r,e))return r}function vt(e){return function(t,n,r){n=Te(n,r);for(var i=B(t),o=e>0?0:i-1;o>=0&&o<i;o+=e)if(n(t[o],o,t))return o;return-1}}var bt=vt(1),yt=vt(-1);function xt(e,t,n,r){for(var i=(n=Te(n,r,1))(t),o=0,a=B(e);o<a;){var s=Math.floor((o+a)/2);n(e[s])<i?o=s+1:a=s}return o}function wt(e,t,n){return function(r,o,a){var s=0,l=B(r);if("number"==typeof a)e>0?s=a>=0?a:Math.max(a+l,s):l=a>=0?Math.min(a+1,l):a+l+1;else if(n&&a&&l)return r[a=n(r,o)]===o?a:-1;if(o!=o)return(a=t(i.q.call(r,s,l),P))>=0?a+s:-1;for(a=e>0?s:l-1;a>=0&&a<l;a+=e)if(r[a]===o)return a;return-1}}var kt=wt(1,bt,xt),At=wt(-1,yt);function Et(e,t,n){var r=(nt(e)?bt:mt)(e,t,n);if(void 0!==r&&-1!==r)return e[r]}function St(e,t){return Et(e,Se(t))}function $t(e,t,n){var r,i;if(t=Ce(t,n),nt(e))for(r=0,i=e.length;r<i;r++)t(e[r],r,e);else{var o=q(e);for(r=0,i=o.length;r<i;r++)t(e[o[r]],o[r],e)}return e}function Ct(e,t,n){t=Te(t,n);for(var r=!nt(e)&&q(e),i=(r||e).length,o=Array(i),a=0;a<i;a++){var s=r?r[a]:a;o[a]=t(e[s],s,e)}return o}function _t(e){var t=function(t,n,r,i){var o=!nt(t)&&q(t),a=(o||t).length,s=e>0?0:a-1;for(i||(r=t[o?o[s]:s],s+=e);s>=0&&s<a;s+=e){var l=o?o[s]:s;r=n(r,t[l],l,t)}return r};return function(e,n,r,i){var o=arguments.length>=3;return t(e,Ce(n,i,4),r,o)}}var Ot=_t(1),Tt=_t(-1);function jt(e,t,n){var r=[];return t=Te(t,n),$t(e,(function(e,n,i){t(e,n,i)&&r.push(e)})),r}function Pt(e,t,n){return jt(e,dt(Te(t)),n)}function Dt(e,t,n){t=Te(t,n);for(var r=!nt(e)&&q(e),i=(r||e).length,o=0;o<i;o++){var a=r?r[o]:o;if(!t(e[a],a,e))return!1}return!0}function Rt(e,t,n){t=Te(t,n);for(var r=!nt(e)&&q(e),i=(r||e).length,o=0;o<i;o++){var a=r?r[o]:o;if(t(e[a],a,e))return!0}return!1}function It(e,t,n,r){return nt(e)||(e=se(e)),("number"!=typeof n||r)&&(n=0),kt(e,t,n)>=0}var Nt=o((function(e,t,n){var r,i;return w(t)?i=t:(t=xe(t),r=t.slice(0,-1),t=t[t.length-1]),Ct(e,(function(e){var o=i;if(!o){if(r&&r.length&&(e=we(e,r)),null==e)return;o=e[t]}return null==o?o:o.apply(e,n)}))}));function Mt(e,t){return Ct(e,$e(t))}function zt(e,t){return jt(e,Se(t))}function Lt(e,t,n){var r,i,o=-1/0,a=-1/0;if(null==t||"number"==typeof t&&"object"!=typeof e[0]&&null!=e)for(var s=0,l=(e=nt(e)?e:se(e)).length;s<l;s++)null!=(r=e[s])&&r>o&&(o=r);else t=Te(t,n),$t(e,(function(e,n,r){((i=t(e,n,r))>a||i===-1/0&&o===-1/0)&&(o=e,a=i)}));return o}function Bt(e,t,n){var r,i,o=1/0,a=1/0;if(null==t||"number"==typeof t&&"object"!=typeof e[0]&&null!=e)for(var s=0,l=(e=nt(e)?e:se(e)).length;s<l;s++)null!=(r=e[s])&&r<o&&(o=r);else t=Te(t,n),$t(e,(function(e,n,r){((i=t(e,n,r))<a||i===1/0&&o===1/0)&&(o=e,a=i)}));return o}var Ft=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;function qt(e){return e?C(e)?i.q.call(e):p(e)?e.match(Ft):nt(e)?Ct(e,Ee):se(e):[]}function Vt(e,t,n){if(null==t||n)return nt(e)||(e=se(e)),e[Ie(e.length-1)];var r=qt(e),i=B(r);t=Math.max(Math.min(t,i),0);for(var o=i-1,a=0;a<t;a++){var s=Ie(a,o),l=r[a];r[a]=r[s],r[s]=l}return r.slice(0,t)}function Ut(e){return Vt(e,1/0)}function Ht(e,t,n){var r=0;return t=Te(t,n),Mt(Ct(e,(function(e,n,i){return{value:e,index:r++,criteria:t(e,n,i)}})).sort((function(e,t){var n=e.criteria,r=t.criteria;if(n!==r){if(n>r||void 0===n)return 1;if(n<r||void 0===r)return-1}return e.index-t.index})),"value")}function Gt(e,t){return function(n,r,i){var o=t?[[],[]]:{};return r=Te(r,i),$t(n,(function(t,i){var a=r(t,i,n);e(o,t,a)})),o}}var Wt=Gt((function(e,t,n){_(e,n)?e[n].push(t):e[n]=[t]})),Yt=Gt((function(e,t,n){e[n]=t})),Xt=Gt((function(e,t,n){_(e,n)?e[n]++:e[n]=1})),Zt=Gt((function(e,t,n){e[n?0:1].push(t)}),!0);function Qt(e){return null==e?0:nt(e)?e.length:q(e).length}function Jt(e,t,n){return t in n}var Kt=o((function(e,t){var n={},r=t[0];if(null==e)return n;w(r)?(t.length>1&&(r=Ce(r,t[1])),t=X(e)):(r=Jt,t=rt(t,!1,!1),e=Object(e));for(var i=0,o=t.length;i<o;i++){var a=t[i],s=e[a];r(s,a,e)&&(n[a]=s)}return n})),en=o((function(e,t){var n,r=t[0];return w(r)?(r=dt(r),t.length>1&&(n=t[1])):(t=Ct(rt(t,!1,!1),String),r=function(e,n){return!It(t,n)}),Kt(e,r,n)}));function tn(e,t,n){return i.q.call(e,0,Math.max(0,e.length-(null==t||n?1:t)))}function nn(e,t,n){return null==e||e.length<1?null==t||n?void 0:[]:null==t||n?e[0]:tn(e,e.length-t)}function rn(e,t,n){return i.q.call(e,null==t||n?1:t)}function on(e,t,n){return null==e||e.length<1?null==t||n?void 0:[]:null==t||n?e[e.length-1]:rn(e,Math.max(0,e.length-t))}function an(e){return jt(e,Boolean)}function sn(e,t){return rt(e,t,!1)}var ln=o((function(e,t){return t=rt(t,!0,!0),jt(e,(function(e){return!It(t,e)}))})),cn=o((function(e,t){return ln(e,t)}));function un(e,t,n,r){c(t)||(r=n,n=t,t=!1),null!=n&&(n=Te(n,r));for(var i=[],o=[],a=0,s=B(e);a<s;a++){var l=e[a],u=n?n(l,a,e):l;t&&!n?(a&&o===u||i.push(l),o=u):n?It(o,u)||(o.push(u),i.push(l)):It(i,l)||i.push(l)}return i}var dn=o((function(e){return un(rt(e,!0,!0))}));function pn(e){for(var t=[],n=arguments.length,r=0,i=B(e);r<i;r++){var o=e[r];if(!It(t,o)){var a;for(a=1;a<n&&It(arguments[a],o);a++);a===n&&t.push(o)}}return t}function fn(e){for(var t=e&&Lt(e,B).length||0,n=Array(t),r=0;r<t;r++)n[r]=Mt(e,r);return n}var hn=o(fn);function gn(e,t){for(var n={},r=0,i=B(e);r<i;r++)t?n[e[r]]=t[r]:n[e[r][0]]=e[r][1];return n}function mn(e,t,n){null==t&&(t=e||0,e=0),n||(n=t<e?-1:1);for(var r=Math.max(Math.ceil((t-e)/n),0),i=Array(r),o=0;o<r;o++,e+=n)i[o]=e;return i}function vn(e,t){if(null==t||t<1)return[];for(var n=[],r=0,o=e.length;r<o;)n.push(i.q.call(e,r,r+=t));return n}function bn(e,t){return e._chain?H(t).chain():t}function yn(e){return $t(ue(e),(function(t){var n=H[t]=e[t];H.prototype[t]=function(){var e=[this._wrapped];return i.o.apply(e,arguments),bn(this,n.apply(H,e))}})),H}$t(["pop","push","reverse","shift","sort","splice","unshift"],(function(e){var t=i.a[e];H.prototype[e]=function(){var n=this._wrapped;return null!=n&&(t.apply(n,arguments),"shift"!==e&&"splice"!==e||0!==n.length||delete n[0]),bn(this,n)}})),$t(["concat","join","slice"],(function(e){var t=i.a[e];H.prototype[e]=function(){var e=this._wrapped;return null!=e&&(e=t.apply(e,arguments)),bn(this,e)}}));var xn=H,wn=yn(r);wn._=wn;var kn=wn},function(e,t,n){var r;try{r={clone:n(248),constant:n(126),each:n(167),filter:n(170),has:n(181),isArray:n(13),isEmpty:n(324),isFunction:n(64),isUndefined:n(182),keys:n(41),map:n(183),reduce:n(185),size:n(327),transform:n(333),union:n(334),values:n(190)}}catch(e){}r||(r=window._),e.exports=r},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(1),i=n(7),o=n(4),a=function(){function e(e,t,n,r){this._stateRegistry=e,this._identifier=t,this._identifier=t,this._params=Object(o.C)({},n||{}),this._options=Object(o.C)({},r||{}),this._definition=e.matcher.find(t,this._options.relative)}return e.prototype.name=function(){return this._definition&&this._definition.name||this._identifier},e.prototype.identifier=function(){return this._identifier},e.prototype.params=function(){return this._params},e.prototype.$state=function(){return this._definition},e.prototype.state=function(){return this._definition&&this._definition.self},e.prototype.options=function(){return this._options},e.prototype.exists=function(){return!(!this._definition||!this._definition.self)},e.prototype.valid=function(){return!this.error()},e.prototype.error=function(){var e=this.options().relative;if(!this._definition&&e){var t=e.name?e.name:e;return"Could not resolve '"+this.name()+"' from state '"+t+"'"}return this._definition?this._definition.self?void 0:"State '"+this.name()+"' has an invalid definition":"No such state '"+this.name()+"'"},e.prototype.toString=function(){return"'"+this.name()+"'"+Object(i.m)(this.params())},e.prototype.withState=function(t){return new e(this._stateRegistry,t,this._params,this._options)},e.prototype.withParams=function(t,n){void 0===n&&(n=!1);var r=n?t:Object(o.C)({},this._params,t);return new e(this._stateRegistry,this._identifier,r,this._options)},e.prototype.withOptions=function(t,n){void 0===n&&(n=!1);var r=n?t:Object(o.C)({},this._options,t);return new e(this._stateRegistry,this._identifier,this._params,r)},e.isDef=function(e){return e&&e.state&&(Object(r.l)(e.state)||Object(r.i)(e.state)&&Object(r.l)(e.state.name))},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return g})),n.d(t,"b",(function(){return m}));var r=n(0),i=n(3),o=n(10),a=n(6),s=n(69),l=n(15),c=n(18),u=n(7),d=n(4),p=s.a.when,f=[p.EAGER,p.LAZY],h=[p.EAGER],g="Native Injector",m=function(){function e(e){this._path=e}return e.prototype.getTokens=function(){return this._path.reduce((function(e,t){return e.concat(t.resolvables.map((function(e){return e.token})))}),[]).reduce(r.R,[])},e.prototype.getResolvable=function(e){var t=this._path.map((function(e){return e.resolvables})).reduce(r.T,[]).filter((function(t){return t.token===e}));return Object(r.P)(t)},e.prototype.getPolicy=function(e){var t=this.findNode(e);return e.getPolicy(t.state)},e.prototype.subContext=function(t){return new e(c.a.subPath(this._path,(function(e){return e.state===t})))},e.prototype.addResolvables=function(e,t){var n=Object(r.t)(this._path,Object(i.o)("state",t)),o=e.map((function(e){return e.token}));n.resolvables=n.resolvables.filter((function(e){return-1===o.indexOf(e.token)})).concat(e)},e.prototype.resolvePath=function(e,t){var n=this;void 0===e&&(e="LAZY");var l=(Object(r.z)(f,e)?e:"LAZY")===s.a.when.EAGER?h:f;o.c.traceResolvePath(this._path,e,t);var c=function(e,t){return function(i){return Object(r.z)(e,n.getPolicy(i)[t])}},u=this._path.reduce((function(e,r){var o=r.resolvables.filter(c(l,"when")),a=o.filter(c(["NOWAIT"],"async")),s=o.filter(Object(i.i)(c(["NOWAIT"],"async"))),u=n.subContext(r.state),d=function(e){return e.get(u,t).then((function(t){return{token:e.token,value:t}}))};return a.forEach(d),e.concat(s.map(d))}),[]);return a.b.$q.all(u)},e.prototype.injector=function(){return this._injector||(this._injector=new v(this))},e.prototype.findNode=function(e){return Object(r.t)(this._path,(function(t){return Object(r.z)(t.resolvables,e)}))},e.prototype.getDependencies=function(e){var t=this,n=this.findNode(e),i=(c.a.subPath(this._path,(function(e){return e===n}))||this._path).reduce((function(e,t){return e.concat(t.resolvables)}),[]).filter((function(t){return t!==e}));return e.deps.map((function(e){var n=i.filter((function(t){return t.token===e}));if(n.length)return Object(r.P)(n);var o=t.injector().getNative(e);if(Object(d.db)(o))throw new Error("Could not find Dependency Injection token: "+Object(u.m)(e));return new l.a(e,(function(){return o}),[],o)}))},e}(),v=function(){function e(e){this.context=e,this.native=this.get(g)||a.b.$injector}return e.prototype.get=function(e){var t=this.context.getResolvable(e);if(t){if("NOWAIT"===this.context.getPolicy(t).async)return t.get(this.context);if(!t.resolved)throw new Error("Resolvable async .get() not complete:"+Object(u.m)(t.token));return t.data}return this.getNative(e)},e.prototype.getAsync=function(e){var t=this.context.getResolvable(e);return t?t.get(this.context):a.b.$q.when(this.native.get(e))},e.prototype.getNative=function(e){return this.native&&this.native.get(e)},e}()},function(e,t,n){"use strict";n.r(t);var r=n(134);for(var i in r)["default"].indexOf(i)<0&&function(e){n.d(t,e,(function(){return r[e]}))}(i);var o=n(16);n.d(t,"DefType",(function(){return o.a})),n.d(t,"Param",(function(){return o.b}));var a=n(135);n.d(t,"ParamTypes",(function(){return a.a}));var s=n(92);n.d(t,"StateParams",(function(){return s.a}));var l=n(51);n.d(t,"ParamType",(function(){return l.a}))},function(e,t,n){"use strict";n.d(t,"c",(function(){return i})),n.d(t,"b",(function(){return o})),n.d(t,"e",(function(){return a})),n.d(t,"a",(function(){return s})),n.d(t,"d",(function(){return l}));var r=n(4),i=function(e,t){var n=t[0],i=t[1];return e.hasOwnProperty(n)?Object(r.R)(e[n])?e[n].push(i):e[n]=[e[n],i]:e[n]=i,e},o=function(e){return e.split("&").filter(r.M).map(r.Fb).reduce(i,{})};function a(e){var t=function(e){return e||""},n=Object(r.Gb)(e).map(t),i=n[0],o=n[1],a=Object(r.Ib)(i).map(t);return{path:a[0],search:a[1],hash:o,url:e}}var s=function(e){var t=e.path(),n=e.search(),i=e.hash(),o=Object.keys(n).map((function(e){var t=n[e];return(Object(r.R)(t)?t:[t]).map((function(t){return e+"="+t}))})).reduce(r.Rb,[]).join("&");return t+(o?"?"+o:"")+(i?"#"+i:"")};function l(e,t,n,r){return function(i){var o=i.locationService=new n(i),a=i.locationConfig=new r(i,t);return{name:e,service:o,configuration:a,dispose:function(e){e.dispose(o),e.dispose(a)}}}}},function(e,t,n){var r;try{r=n(148)}catch(e){}r||(r=window.graphlib),e.exports=r},function(e,t,n){var r=n(150),i="object"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function("return this")();e.exports=o},function(e,t,n){"use strict";n.r(t),n.d(t,"getReferences",(function(){return i})),n.d(t,"getParents",(function(){return o})),n.d(t,"getMacroReferences",(function(){return a})),n.d(t,"getMacroParents",(function(){return s}));const r=n(21);function i(e,t){let n=r.filter(e.nodes,(function(e){return!!(e.depends_on&&e.depends_on.nodes&&e.depends_on.nodes.length&&r.contains(e.depends_on.nodes,t.unique_id))}));return r.groupBy(n,"resource_type")}function o(e,t){let n=r.filter(e.nodes,(function(e){return!!(t.depends_on&&t.depends_on.nodes&&t.depends_on.nodes.length&&r.contains(t.depends_on.nodes,e.unique_id))})),i=r.filter(e.macros,(function(e){return!!(t.depends_on&&t.depends_on.macros&&t.depends_on.macros.length&&r.contains(t.depends_on.macros,e.unique_id))}));return r.groupBy(n.concat(i),"resource_type")}function a(e,t){let n=r.filter(e.nodes,(function(e){return!!(e.depends_on&&e.depends_on.macros&&e.depends_on.macros.length&&r.contains(e.depends_on.macros,t.unique_id))})),i=r.filter(e.macros,(function(e){return!!(e.depends_on&&e.depends_on.macros&&e.depends_on.macros.length&&r.contains(e.depends_on.macros,t.unique_id))}));return r.groupBy(n.concat(i),"resource_type")}function s(e,t){let n=r.filter(e.macros,(function(e){return!!(t.depends_on&&t.depends_on.macros&&t.depends_on.macros.length&&r.contains(t.depends_on.macros,e.unique_id))}));return r.groupBy(n,"resource_type")}},function(e,t,n){var r=n(447);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};n(40)(r,i);r.locals&&(e.exports=r.locals)},function(e,t,n){"use strict";n.d(t,"a",(function(){return p}));var r=n(0),i=n(3),o=n(1),a=n(16),s=n(7),l=n(4);function c(e,t){var n=["",""],r=e.replace(/[\\\[\]\^$*+?.()|{}]/g,"\\$&");if(!t)return r;switch(t.squash){case!1:n=["(",")"+(t.isOptional?"?":"")];break;case!0:r=r.replace(/\/$/,""),n=["(?:/(",")|/)?"];break;default:n=["("+t.squash+"|",")?"]}return r+n[0]+t.type.pattern.source+n[1]}var u=Object(s.k)("/"),d={state:{params:{}},strict:!0,caseInsensitive:!0,decodeParams:!0},p=function(){function e(t,n,o,a){var s=this;this._cache={path:[this]},this._children=[],this._params=[],this._segments=[],this._compiled=[],this.config=a=Object(l.y)(a,d),this.pattern=t;for(var u,p,f,h=/([:*])([\w\[\]]+)|\{([\w\[\]]+)(?:\:\s*((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,g=/([:]?)([\w\[\].-]+)|\{([\w\[\].-]+)(?:\:\s*((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,m=[],v=0,b=function(n){if(!e.nameValidator.test(n))throw new Error("Invalid parameter name '"+n+"' in pattern '"+t+"'");if(Object(r.t)(s._params,Object(i.o)("id",n)))throw new Error("Duplicate parameter name '"+n+"' in pattern '"+t+"'")},y=function(e,i){var o,a=e[2]||e[3],l=i?e[4]:e[4]||("*"===e[1]?"[\\s\\S]*":null);return{id:a,regexp:l,segment:t.substring(v,e.index),type:l?n.type(l)||(o=l,Object(r.A)(n.type(i?"query":"path"),{pattern:new RegExp(o,s.config.caseInsensitive?"i":void 0)})):null}};(u=h.exec(t))&&!((p=y(u,!1)).segment.indexOf("?")>=0);)b(p.id),this._params.push(o.fromPath(p.id,p.type,a.state)),this._segments.push(p.segment),m.push([p.segment,Object(r.P)(this._params)]),v=h.lastIndex;var x=(f=t.substring(v)).indexOf("?");if(x>=0){var w=f.substring(x);if(f=f.substring(0,x),w.length>0)for(v=0;u=g.exec(w);)b((p=y(u,!0)).id),this._params.push(o.fromSearch(p.id,p.type,a.state)),v=h.lastIndex}this._segments.push(f),this._compiled=m.map((function(e){return c.apply(null,e)})).concat(c(f))}return e.encodeDashes=function(e){return encodeURIComponent(e).replace(/-/g,(function(e){return"%5C%"+e.charCodeAt(0).toString(16).toUpperCase()}))},e.pathSegmentsAndParams=function(e){var t=e._segments,n=e._params.filter((function(e){return e.location===a.a.PATH}));return Object(r.i)(t,n.concat(void 0)).reduce(r.T,[]).filter((function(e){return""!==e&&Object(o.c)(e)}))},e.queryParams=function(e){return e._params.filter((function(e){return e.location===a.a.SEARCH}))},e.compare=function(t,n){var i=function(t){return t._cache.weights=t._cache.weights||function(t){return t._cache.segments=t._cache.segments||t._cache.path.map(e.pathSegmentsAndParams).reduce(r.T,[]).reduce(s.e,[]).map((function(e){return Object(o.l)(e)?u(e):e})).reduce(r.T,[])}(t).map((function(e){return"/"===e?1:Object(o.l)(e)?2:e instanceof a.b?3:void 0}))},l=i(t),c=i(n);!function(e,t,n){for(var r=Math.max(e.length,t.length);e.length<r;)e.push(n);for(;t.length<r;)t.push(n)}(l,c,0);var d,p,f=Object(r.i)(l,c);for(p=0;p<f.length;p++)if(0!==(d=f[p][0]-f[p][1]))return d;return 0},e.prototype.append=function(e){return this._children.push(e),e._cache={path:this._cache.path.concat(e),parent:this,pattern:null},e},e.prototype.isRoot=function(){return this._cache.path[0]===this},e.prototype.toString=function(){return this.pattern},e.prototype._getDecodedParamValue=function(e,t){return Object(o.c)(e)&&(this.config.decodeParams&&!t.type.raw&&(e=Object(o.a)(e)?e.map((function(e){return decodeURIComponent(e)})):decodeURIComponent(e)),e=t.type.decode(e)),t.value(e)},e.prototype.exec=function(e,t,n,o){var a=this;void 0===t&&(t={}),void 0===o&&(o={});var s,l,c,u=(s=this._cache,l="pattern",c=function(){return new RegExp(["^",Object(r.S)(a._cache.path.map(Object(i.n)("_compiled"))).join(""),!1===a.config.strict?"/?":"","$"].join(""),a.config.caseInsensitive?"i":void 0)},s[l]=s[l]||c()).exec(e);if(!u)return null;var d,p,f,h=this.parameters(),g=h.filter((function(e){return!e.isSearch()})),m=h.filter((function(e){return e.isSearch()})),v=this._cache.path.map((function(e){return e._segments.length-1})).reduce((function(e,t){return e+t})),b={};if(v!==u.length-1)throw new Error("Unbalanced capture group in route '"+this.pattern+"'");for(var y=0;y<v;y++){for(var x=g[y],w=u[y+1],k=0;k<x.replace.length;k++)x.replace[k].from===w&&(w=x.replace[k].to);w&&!0===x.array&&(d=void 0,p=void 0,f=void 0,p=(d=function(e){return e.split("").reverse().join("")})(w).split(/-(?!\\)/),f=Object(r.B)(p,d),w=Object(r.B)(f,(function(e){return e.replace(/\\-/g,"-")})).reverse()),b[x.id]=this._getDecodedParamValue(w,x)}return m.forEach((function(e){for(var n=t[e.id],r=0;r<e.replace.length;r++)e.replace[r].from===n&&(n=e.replace[r].to);b[e.id]=a._getDecodedParamValue(n,e)})),n&&(b["#"]=n),b},e.prototype.parameters=function(e){return void 0===e&&(e={}),!1===e.inherit?this._params:Object(r.S)(this._cache.path.map((function(e){return e._params})))},e.prototype.parameter=function(e,t){var n=this;void 0===t&&(t={});var r=this._cache.parent;return function(){for(var t=0,r=n._params;t<r.length;t++){var i=r[t];if(i.id===e)return i}}()||!1!==t.inherit&&r&&r.parameter(e,t)||null},e.prototype.validates=function(e){return e=e||{},this.parameters().filter((function(t){return e.hasOwnProperty(t.id)})).map((function(t){return n=t,r=e[t.id],!n||n.validates(r);var n,r})).reduce(r.e,!0)},e.prototype.format=function(t){void 0===t&&(t={});var n=this._cache.path,i=n.map(e.pathSegmentsAndParams).reduce(r.T,[]).map((function(e){return Object(o.l)(e)?e:s(e)})),a=n.map(e.queryParams).reduce(r.T,[]).map(s);if(i.concat(a).filter((function(e){return!1===e.isValid})).length)return null;function s(e){var n=e.value(t[e.id]),r=e.validates(n),i=e.isDefaultValue(n),o=!!i&&e.squash,a=e.type.encode(n);return{param:e,value:n,isValid:r,isDefaultValue:i,squash:o,encoded:a}}var l=i.reduce((function(t,n){if(Object(o.l)(n))return t+n;var i=n.squash,a=n.encoded,s=n.param;return!0===i?t.match(/\/$/)?t.slice(0,-1):t:Object(o.l)(i)?t+i:!1!==i||null==a?t:Object(o.a)(a)?t+Object(r.B)(a,e.encodeDashes).join("-"):s.raw?t+a:t+encodeURIComponent(a)}),""),c=a.map((function(e){var t=e.param,n=e.squash,i=e.encoded,a=e.isDefaultValue;if(!(null==i||a&&!1!==n)&&(Object(o.a)(i)||(i=[i]),0!==i.length))return t.raw||(i=Object(r.B)(i,encodeURIComponent)),i.map((function(e){return t.id+"="+e}))})).filter(r.y).reduce(r.T,[]).join("&");return l+(c?"?"+c:"")+(t["#"]?"#"+t["#"]:"")},e.nameValidator=/^\w+([-.]+\w+)*(?:\[\])?$/,e}()},function(e,t,n){var r; +<!DOCTYPE html> +<html dir="ltr" lang="en-US" ng-app='dbt' class='no-flash video supports no-touchevents formvalidation webgl no-cssgridlegacy cssgrid cssfilters objectfit object-fit click landscape videoautoplay loaded'> + <head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, minimum-scale=1, maximum-scale=1, initial-scale=1" /> + + <title>dbt Docs</title> + <meta name="description" content="dbt Docs" /> + <link rel="canonical" href="/overview/" /> + + <link rel="shortcut icon" href="data:image/vnd.microsoft.icon;charset=utf-8;base64,AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAACUWAAAlFgAAAAAAAAAAAABFZP8ASmn/H0pp/49Kaf/mSmn/7Epp/5ZJaf8pRmL/AUhn/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAExs/wBHYf8AS2n/G0tp/39Kaf/bSmn/1Upp/35KaP8VSmj/AEtp/x1Kaf+tSmn/+0pp//9Kaf//Smn//Upp/9JKaf9rSWn/F0lq/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJaf8ASGj/E0lp/1pKaf+/Smn/+Epp//9Kaf//Smn/+Ulo/51JaP8YSmn/jEpp//pKaf//Smn//0pp//9Kaf//Smn//0pp//lKaf/ASWn/Ukhp/wtKav8ARWf/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAERn/wBLaP8ASGj/CUlp/0VKaf+2Smn/90pp//9Kaf//Smn//0pp//9Kaf//Smn/+kpp/4RKaf/lSmn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf/ySmn/oElp/zVGa/8ER2v/AAAAAAAAAAAAAAAAAAAAAABIaP8ARmj/BEpo/zJKaf+cSmn/7kpp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn/4Epp/+dKaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf/+Smn/3kpp/35JZ/8aSWr/AAAAAABIZ/8AQ2L/AEpo/xpJaf99Smn/3kpp//5Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf/uSmn/jEpp//tKaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn/0Epo/ytKaf8ASGj/AEho/w1JaP9gSmn/ykpp//lKaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//Upp/5dKaP8lSmn/z0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp/+lJaf9LTmv/AEhn/wZJaf87Smn/rUpp//JKaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf/VSWn/MUpp/wBKaf9sSmn/90pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn/lkhp/whJaf8jSWn/iEpp/+ZKaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn/+klp/2xYYv8ASmj/AEpo/xRKaf+9Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//JJaf9hSmn/Ykpp/9JKaf/8Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf/ESWn/G0lp/wAAAAAASmn/AEpp/1FKaf/uSmn//0pp//9Kaf//Smn//0pp//9Kaf//Smn/9kpp/9dKaf/zSmn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn/8klp/1RTYv8AEJT/AAAAAABKaP8ASmj/Ckpp/6BKaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf+lSWn/DElp/wAAAAAAAAAAAAAAAABKaf8ASmr/M0pp/95Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn/40lq/zpJaf8AAAAAAAAAAAAAAAAAAAAAAEpo/wBKZ/8ESmn/e0pp//lKaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//xKaf+CSmf/BEpo/wAAAAAAAAAAAAAAAAAAAAAAAAAAAElo/wBJaP8aSmn/zUpp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp/95Kaf/cSmn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn/0khp/yNIaf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASWj/AEdm/wJKaf+NSmn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf/JSWj/OEto/zdLaf/JSmn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf+NR2n/Aklp/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIaP8ATGr/AEpp/2RKaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn/3Eho/zdMbP8ASWz/AEpo/zlKaf/eSmn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp/2RLaf8ASWn/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEho/wBMav8ASmn/ZEpp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf/eSmj/OUps/wBJbP8ASmj/N0pp/9xKaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn/ZEtp/wBJaf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASWj/AEdm/wJKaf+NSmn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf/JSmj/N0to/zhLaf/JSmn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf+NR2n/Aklp/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIaf8ASGn/I0pp/9JKaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf/cSmn/3kpp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp/81Jaf8aSWn/AAAAAAAAAAAAAAAAAAAAAAAAAAAASWj/AEhn/wRKaf+CSmn//Epp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn/+Ulp/3tGZ/8ESGj/AAAAAAAAAAAAAAAAAAAAAABKaf8AS2n/N0pp/+JKaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn/3klo/zNJaf8AAAAAAAAAAAAAAAAASWn/AEhp/wxKaf+gSmn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn/oEpq/wpKav8AAAAAAAAAAABKaf8ASmn/U0pp//JKaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf/xSmn/z0pp//ZKaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf/vSmn/VUtp/wAAAAAASmn/AEpp/xdKaf/ASmn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf/8Smn/z0lp/1xLaf9lSmn/9Epp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf+9SGj/FEho/wBDaf8ASmn/a0pp//pKaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn/5kpp/4VKaP8fSGf/B0pp/5tKaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//dJaf9vVHT/AElp/ypKaf/RSmn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn/8kpp/61Kaf87SWr/Bk5s/wBJaf9LSmn/6Upp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp/9FKav8mSmn/lkpp//1Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn/+0pp/8hKaf9dSmj/DUpo/wBJaf8ASWj/K0pp/9BKaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn/+0pp/5BKaf/rSmn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//kpp/99Kaf+ASWn/GwBS/wBHaf8AAAAAAElq/wBJZ/8aSmn/fkpp/95Kaf/+Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn/7Epp/+RKaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp/+9Kaf+gSWr/NUlp/wVJav8AAAAAAAAAAAAAAAAAAAAAAEhr/wBHav8ESWr/NUpp/6RKaf/ySmn//0pp//9Kaf//Smn//0pp//9Kaf//Smn//0pp//9Kaf/mSmn/jkpp//tKaf//Smn//0pp//9Kaf//Smn//0pp//dKaf++Smn/VUlp/wpMbP8ARWb/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEVm/wBKav8ASGn/C0lp/1JKaf/CSmn/+kpp//9Kaf//Smn//0pp//9Kaf//Smn/+kpp/4xJaf8fSmr/sEpp//1Kaf//Smn//0pp//pKaf/SSmr/b0po/xVKaf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASmr/AEpq/xlKaf9rSmn/1Epp//1Kaf//Smn//0pp//tKav+sSGr/HU5m/wBJav8hSmn/kEtp/+VLaf/sSmn/kkpp/yVJaf8BSmr/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATGj/AE9k/wFJaP8tSmn/lkpp/+tKaf/hSmn/jEhq/xxOZP8AgP//gQB//gAAH/gAAAfgAAADwAAAAwAAAAQAAIAAAAGAAAABwAAAA8AAAAPgAAAH4AAAB/AAAA/wAAAP+AGAH/gBgB/wAAAP8AAAD+AAAAfgAAAHwAAAA8AAAAOAAAABgAAAAQAAIAAAAMAAAAPAAAAH4AAAH/gAAH/+AID//wE=" /> + <meta name="msapplication-TileColor" content="#2b5797"> + <meta name="theme-color" content="#ffffff"> + + <meta property="og:locale" content="en_US" /> + <meta property="og:type" content="website" /> + <meta property="og:site_name" content="dbt Docs" /> + <meta property="og:title" content="dbt Docs" /> + <meta property="og:description" content="documentation for dbt" /> + <meta name="twitter:title" content="dbt Docs"/> + <meta name="twitter:description" content="documentation for dbt"/> + + </head> + <body> + <div style="display:none"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><title>icons</title><g id="icn"><rect width="16" height="16" fill="none"/></g><g id="icn-menu"><path d="M14.5,8a.5.5,0,0,1-.5.5H2a.5.5,0,0,1,0-1H14A.5.5,0,0,1,14.5,8ZM2,3H14a.5.5,0,0,0,0-1H2A.5.5,0,0,0,2,3ZM14,13H2a.5.5,0,0,0,0,1H14a.5.5,0,0,0,0-1Z" transform="translate(0 0)"/></g><g id="icn-dbt"><path d="M12.6,9.265l0,0L10.9,6.325a3.31,3.31,0,0,0-.529-.7h0a3.264,3.264,0,0,0-3.184-.867,4.022,4.022,0,0,1,4.194.938,3.977,3.977,0,0,1,.635.833l.38.657a2.488,2.488,0,0,1,.2-.465l2.226-3.851a1.2,1.2,0,0,0-.2-1.5,1.2,1.2,0,0,0-1.5-.2h0L9.27,3.4a2.539,2.539,0,0,1-2.54,0L2.877,1.178A1.253,1.253,0,0,0,2.247,1a1.247,1.247,0,0,0-.871.375,1.2,1.2,0,0,0-.2,1.5L3.4,6.726a2.542,2.542,0,0,1,0,2.539l-2.226,3.85a1.2,1.2,0,0,0,.2,1.5,1.2,1.2,0,0,0,1.5.2L6.73,12.588a2.455,2.455,0,0,1,.465-.2l-.657-.379a3.857,3.857,0,0,1-1.462-1.467,4.118,4.118,0,0,1-.288-3.368,3.453,3.453,0,0,0,.33,2.507A3.141,3.141,0,0,0,6.329,10.89l2.94,1.7h0l3.853,2.224a1.243,1.243,0,0,0,1.7-1.7Zm.814-7.353a.478.478,0,1,1,0,.676A.48.48,0,0,1,13.41,1.912ZM2.59,2.588a.478.478,0,1,1,0-.676A.479.479,0,0,1,2.59,2.588Zm0,11.49a.478.478,0,1,1,0-.676A.479.479,0,0,1,2.59,14.078Zm6.827-5.9a1.022,1.022,0,1,0-1.231,1.23,1.433,1.433,0,1,1,1.231-1.23Zm4.67,5.9a.478.478,0,1,1,0-.676A.479.479,0,0,1,14.087,14.078Z" transform="translate(0 0)"/></g><g id="icn-doc-on"><path d="M13.707,4.707,10.293,1.293A1,1,0,0,0,9.586,1H3A1,1,0,0,0,2,2V14a1,1,0,0,0,1,1H13a1,1,0,0,0,1-1V5.414A1,1,0,0,0,13.707,4.707ZM5,4H9V5H5Zm6,8H5V11h6Zm0-2H5V9h6Zm0-2H5V7h6Z" transform="translate(0 0)"/></g><g id="icn-doc"><path d="M9.586,2h0L13,5.414V14H3V2H9.586m0-1H3A1,1,0,0,0,2,2V14a1,1,0,0,0,1,1H13a1,1,0,0,0,1-1V5.414a1,1,0,0,0-.293-.707L10.293,1.293A1,1,0,0,0,9.586,1Z" transform="translate(0 0)"/><rect x="5" y="11" width="6" height="1" fill="#fff"/><polygon points="11 11 5 11 5 12 11 12 11 11 11 11"/><rect x="5" y="9" width="6" height="1" fill="#fff"/><polygon points="11 9 5 9 5 10 11 10 11 9 11 9"/><rect x="5" y="7" width="6" height="1" fill="#fff"/><polygon points="11 7 5 7 5 8 11 8 11 7 11 7"/><rect x="5" y="4" width="4" height="1" fill="#fff"/><polygon points="9 4 5 4 5 5 9 5 9 4 9 4"/></g><g id="icn-down"><path d="M8,10.5a.5.5,0,0,1-.354-.146l-3-3a.5.5,0,0,1,.708-.708L8,9.293l2.646-2.647a.5.5,0,0,1,.708.708l-3,3A.5.5,0,0,1,8,10.5Z" transform="translate(0 0)"/></g><g id="icn-up"><path d="M11,9.5a.5.5,0,0,1-.354-.146L8,6.707,5.354,9.354a.5.5,0,0,1-.708-.708l3-3a.5.5,0,0,1,.708,0l3,3A.5.5,0,0,1,11,9.5Z" transform="translate(0 0)"/></g><g id="icn-left"><path d="M9.5,5a.5.5,0,0,1-.146.354L6.707,8l2.647,2.646a.5.5,0,0,1-.708.708l-3-3a.5.5,0,0,1,0-.708l3-3A.5.5,0,0,1,9.5,5Z" transform="translate(0 0)"/></g><g id="icn-right"><path d="M10.5,8a.5.5,0,0,1-.146.354l-3,3a.5.5,0,0,1-.708-.708L9.293,8,6.646,5.354a.5.5,0,0,1,.708-.708l3,3A.5.5,0,0,1,10.5,8Z" transform="translate(0 0)"/></g><g id="icn-dir"><path d="M14,4H8.414a1,1,0,0,1-.707-.293L6.293,2.293A1,1,0,0,0,5.586,2H2A1,1,0,0,0,1,3V13a1,1,0,0,0,1,1H14a1,1,0,0,0,1-1V5A1,1,0,0,0,14,4ZM2,3H5.586l1,1H2ZM14,13H2V5H14Z" transform="translate(0 0)"/></g><g id="icn-tree"><path d="M14,5V2H11V3H4V2H1V5H4V4H7V14h4v1h3V12H11v1H8V9h3v1h3V7H11V8H8V4h3V5ZM3,4H2V3H3Zm9,9h1v1H12Zm0-5h1V9H12Zm0-5h1V4H12Z" transform="translate(0 0)"/></g><g id="icn-tree-on"><path d="M14,5V2H11V3H4V2H1V5H4V4H7V14h4v1h3V12H11v1H8V9h3v1h3V7H11V8H8V4h3V5Z" transform="translate(0 0)"/></g><g id="icn-dir-on"><path d="M14.878,7H14V5a1,1,0,0,0-1-1H7.414a1,1,0,0,1-.707-.293L5.293,2.293A1,1,0,0,0,4.586,2H1A1,1,0,0,0,0,3V13a1,1,0,0,0,1,1H13.271a1,1,0,0,0,.952-.694l1.607-5A1,1,0,0,0,14.878,7ZM4.586,3,6,4.414A1.986,1.986,0,0,0,7.414,5H13V7H2.979a1,1,0,0,0-.952.694L1,10.889V3Z" transform="translate(0 0)"/></g><g id="icn-db-on"><path d="M8,1C7,1,2,1.121,2,3.5v9C2,14.879,7,15,8,15s6-.121,6-2.5v-9C14,1.121,9,1,8,1Zm5,10.482c0,.828-2.239,1.5-5,1.5s-5-.672-5-1.5V11c1.511.915,4.281.982,5,.982s3.489-.067,5-.982ZM13,8.5c0,.828-2.239,1.5-5,1.5S3,9.328,3,8.5V8.018C4.511,8.933,7.281,9,8,9s3.489-.067,5-.982Zm0-3C13,6.328,10.761,7,8,7S3,6.328,3,5.5V5.018C4.511,5.933,7.281,6,8,6s3.489-.067,5-.982Z" transform="translate(0 0)"/></g><g id="icn-db"><path d="M8,1C7,1,2,1.121,2,3.5v9C2,14.879,7,15,8,15s6-.121,6-2.5v-9C14,1.121,9,1,8,1ZM3,8.018C4.511,8.933,7.281,9,8,9s3.489-.067,5-.982V9.5c0,.828-2.239,1.5-5,1.5s-5-.672-5-1.5ZM8,8C5.239,8,3,7.328,3,6.5V5.018C4.511,5.933,7.281,6,8,6s3.489-.067,5-.982V6.5C13,7.328,10.761,8,8,8ZM8,2c2.761,0,5,.672,5,1.5S10.761,5,8,5,3,4.328,3,3.5,5.239,2,8,2ZM8,14c-2.761,0-5-.672-5-1.5V11.018C4.511,11.933,7.281,12,8,12s3.489-.067,5-.982V12.5C13,13.328,10.761,14,8,14Z" transform="translate(0 0)"/></g><g id="icn-close"><path d="M12.354,11.646a.5.5,0,0,1-.708.708L8,8.707,4.354,12.354a.5.5,0,0,1-.708-.708L7.293,8,3.646,4.354a.5.5,0,0,1,.708-.708L8,7.293l3.646-3.647a.5.5,0,0,1,.708.708L8.707,8Z" transform="translate(0 0)"/></g><g id="icn-search"><path d="M6.5,1A5.5,5.5,0,1,0,12,6.5,5.5,5.5,0,0,0,6.5,1Zm0,10A4.5,4.5,0,1,1,11,6.5,4.505,4.505,0,0,1,6.5,11Zm8.854,4.354a.5.5,0,0,1-.708,0l-3-3a.5.5,0,0,1,.708-.708l3,3A.5.5,0,0,1,15.354,15.354Z" transform="translate(0 0)"/></g><g id="icn-more"><path d="M8,6a2,2,0,1,0,2,2A2,2,0,0,0,8,6ZM8,9A1,1,0,1,1,9,8,1,1,0,0,1,8,9ZM2,6A2,2,0,1,0,4,8,2,2,0,0,0,2,6ZM2,9A1,1,0,1,1,3,8,1,1,0,0,1,2,9ZM14,6a2,2,0,1,0,2,2A2,2,0,0,0,14,6Zm0,3a1,1,0,1,1,1-1A1,1,0,0,1,14,9Z" transform="translate(0 0)"/></g><g id="icn-flow"><path d="M4,3V2H1V5H4V4H7v9a1,1,0,0,0,1,1h5V13H8V9h5V8H8V4h5V3H4ZM3,4H2V3H3Z" transform="translate(0 0)"/><polygon points="13 1.5 13 5.5 15 3.5 13 1.5"/><polygon points="13 6.5 13 10.5 15 8.5 13 6.5"/><polygon points="13 11.5 13 15.5 15 13.5 13 11.5"/></g><g id="icn-expand"><path d="M6,2.5a.5.5,0,0,1-.5.5H3V5.5a.5.5,0,0,1-1,0v-3A.5.5,0,0,1,2.5,2h3A.5.5,0,0,1,6,2.5ZM13.5,2h-3a.5.5,0,0,0,0,1H13V5.5a.5.5,0,0,0,1,0v-3A.5.5,0,0,0,13.5,2Zm0,8a.5.5,0,0,0-.5.5V13H10.5a.5.5,0,0,0,0,1h3a.5.5,0,0,0,.5-.5v-3A.5.5,0,0,0,13.5,10Zm-8,3H3V10.5a.5.5,0,0,0-1,0v3a.5.5,0,0,0,.5.5h3a.5.5,0,0,0,0-1Z" transform="translate(0 0)"/></g><g id="icn-contract"><path d="M6,2.5v3a.5.5,0,0,1-.5.5h-3a.5.5,0,0,1,0-1H5V2.5a.5.5,0,0,1,1,0ZM10.5,6h3a.5.5,0,0,0,0-1H11V2.5a.5.5,0,0,0-1,0v3A.5.5,0,0,0,10.5,6Zm3,4h-3a.5.5,0,0,0-.5.5v3a.5.5,0,0,0,1,0V11h2.5a.5.5,0,0,0,0-1Zm-8,0h-3a.5.5,0,0,0,0,1H5v2.5a.5.5,0,0,0,1,0v-3A.5.5,0,0,0,5.5,10Z" transform="translate(0 0)"/></g><g id="icn-filter"><path d="M14.5,4.5A.5.5,0,0,1,14,5H2A.5.5,0,0,1,2,4H14A.5.5,0,0,1,14.5,4.5ZM12,8H4A.5.5,0,0,0,4,9h8a.5.5,0,0,0,0-1Zm-2,4H6a.5.5,0,0,0,0,1h4a.5.5,0,0,0,0-1Z" transform="translate(0 0)"/></g></svg></div> + <div ui-view></div> + <script type="text/javascript">!function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=207)}([function(e,t,n){"use strict";(function(e){n.d(t,"M",(function(){return s})),n.d(t,"x",(function(){return c})),n.d(t,"Q",(function(){return u})),n.d(t,"w",(function(){return d})),n.d(t,"r",(function(){return p})),n.d(t,"q",(function(){return f})),n.d(t,"y",(function(){return h})),n.d(t,"E",(function(){return g})),n.d(t,"n",(function(){return m})),n.d(t,"A",(function(){return v})),n.d(t,"z",(function(){return b})),n.d(t,"b",(function(){return y})),n.d(t,"L",(function(){return x})),n.d(t,"d",(function(){return w})),n.d(t,"K",(function(){return k})),n.d(t,"c",(function(){return A})),n.d(t,"p",(function(){return E})),n.d(t,"o",(function(){return S})),n.d(t,"D",(function(){return $})),n.d(t,"f",(function(){return C})),n.d(t,"H",(function(){return _})),n.d(t,"F",(function(){return O})),n.d(t,"I",(function(){return T})),n.d(t,"s",(function(){return j})),n.d(t,"t",(function(){return P})),n.d(t,"C",(function(){return D})),n.d(t,"B",(function(){return R})),n.d(t,"U",(function(){return I})),n.d(t,"e",(function(){return N})),n.d(t,"g",(function(){return M})),n.d(t,"T",(function(){return z})),n.d(t,"v",(function(){return L})),n.d(t,"J",(function(){return B})),n.d(t,"R",(function(){return F})),n.d(t,"S",(function(){return q})),n.d(t,"u",(function(){return V})),n.d(t,"l",(function(){return U})),n.d(t,"k",(function(){return H})),n.d(t,"j",(function(){return G})),n.d(t,"G",(function(){return W})),n.d(t,"i",(function(){return Y})),n.d(t,"h",(function(){return X})),n.d(t,"P",(function(){return Z})),n.d(t,"m",(function(){return Q})),n.d(t,"a",(function(){return J})),n.d(t,"N",(function(){return ee})),n.d(t,"O",(function(){return te}));var r=n(1),i=n(3),o=n(6),a=function(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),i=0;for(t=0;t<n;t++)for(var o=arguments[t],a=0,s=o.length;a<s;a++,i++)r[i]=o[a];return r},s="object"==typeof self&&self.self===self&&self||"object"==typeof e&&e.global===e&&e||void 0,l=s.angular||{},c=l.fromJson||JSON.parse.bind(JSON),u=l.toJson||JSON.stringify.bind(JSON),d=l.forEach||function(e,t,n){if(Object(r.a)(e))return e.forEach(t,n);Object.keys(e).forEach((function(n){return t(e[n],n)}))},p=Object.assign||J,f=l.equals||K;function h(e){return e}function g(){}function m(e,t,n,r,i){void 0===i&&(i=!1);var o=function(t){return e()[t].bind(n())};return(r=r||Object.keys(e())).reduce((function(e,n){var r;return e[n]=i?(r=n,function(){return t[r]=o(r),t[r].apply(null,arguments)}):o(n),e}),t)}var v=function(e,t){return p(Object.create(e),t)},b=Object(i.e)(y);function y(e,t){return-1!==e.indexOf(t)}var x=Object(i.e)(w);function w(e,t){var n=e.indexOf(t);return n>=0&&e.splice(n,1),e}var k=Object(i.e)(A);function A(e,t){return e.push(t),t}var E=function(e){return e.slice().forEach((function(t){"function"==typeof t&&t(),x(e,t)}))};function S(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var r=p.apply(void 0,a([{}],t.reverse()));return p(r,_(e||{},Object.keys(r)))}var $=function(e,t){return p(e,t)};function C(e,t){var n=[];for(var r in e.path){if(e.path[r]!==t.path[r])break;n.push(e.path[r])}return n}function _(e,t){var n={};for(var r in e)-1!==t.indexOf(r)&&(n[r]=e[r]);return n}function O(e,t){return Object.keys(e).filter(Object(i.i)(b(t))).reduce((function(t,n){return t[n]=e[n],t}),{})}function T(e,t){return R(e,Object(i.n)(t))}function j(e,t){var n=Object(r.a)(e),i=n?[]:{},o=n?function(e){return i.push(e)}:function(e,t){return i[t]=e};return d(e,(function(e,n){t(e,n)&&o(e,n)})),i}function P(e,t){var n;return d(e,(function(e,r){n||t(e,r)&&(n=e)})),n}var D=R;function R(e,t,n){return n=n||(Object(r.a)(e)?[]:{}),d(e,(function(e,r){return n[r]=t(e,r)})),n}var I=function(e){return Object.keys(e).map((function(t){return e[t]}))},N=function(e,t){return e&&t},M=function(e,t){return e||t},z=function(e,t){return e.concat(t)},L=function(e,t){return Object(r.a)(t)?e.concat(t.reduce(L,[])):B(e,t)};function B(e,t){return e.push(t),e}var F=function(e,t){return b(e,t)?e:B(e,t)},q=function(e){return e.reduce(z,[])},V=function(e){return e.reduce(L,[])},U=G,H=G;function G(e,t){return void 0===t&&(t="assert failure"),function(n){var i=e(n);if(!i)throw new Error(Object(r.d)(t)?t(n):t);return i}}var W=function(e){return Object.keys(e).map((function(t){return[t,e[t]]}))};function Y(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];if(0===e.length)return[];for(var n=e.reduce((function(e,t){return Math.min(t.length,e)}),9007199254740991),r=[],i=function(t){switch(e.length){case 1:r.push([e[0][t]]);break;case 2:r.push([e[0][t],e[1][t]]);break;case 3:r.push([e[0][t],e[1][t],e[2][t]]);break;case 4:r.push([e[0][t],e[1][t],e[2][t],e[3][t]]);break;default:r.push(e.map((function(e){return e[t]})))}},o=0;o<n;o++)i(o);return r}function X(e,t){var n,i;if(Object(r.a)(t)&&(n=t[0],i=t[1]),!Object(r.l)(n))throw new Error("invalid parameters to applyPairs");return e[n]=i,e}function Z(e){return e.length&&e[e.length-1]||void 0}function Q(e,t){return t&&Object.keys(t).forEach((function(e){return delete t[e]})),t||(t={}),p(t,e)}function J(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];if(n)for(var r=Object.keys(n),i=0;i<r.length;i++)e[r[i]]=n[r[i]]}return e}function K(e,t){if(e===t)return!0;if(null===e||null===t)return!1;if(e!=e&&t!=t)return!0;var n=typeof e;if(n!==typeof t||"object"!==n)return!1;var o,a,s=[e,t];if(Object(i.a)(r.a)(s))return a=t,(o=e).length===a.length&&Y(o,a).reduce((function(e,t){return e&&K(t[0],t[1])}),!0);if(Object(i.a)(r.b)(s))return e.getTime()===t.getTime();if(Object(i.a)(r.k)(s))return e.toString()===t.toString();if(Object(i.a)(r.d)(s))return!0;if([r.d,r.a,r.b,r.k].map(i.c).reduce((function(e,t){return e||!!t(s)}),!1))return!1;var l={};for(var c in e){if(!K(e[c],t[c]))return!1;l[c]=!0}for(var c in t)if(!l[c])return!1;return!0}var ee=function(e){return e.catch((function(e){return 0}))&&e},te=function(e){return ee(o.b.$q.reject(e))}}).call(this,n(35))},function(e,t,n){"use strict";n.d(t,"m",(function(){return a})),n.d(t,"c",(function(){return s})),n.d(t,"f",(function(){return l})),n.d(t,"g",(function(){return c})),n.d(t,"d",(function(){return u})),n.d(t,"h",(function(){return d})),n.d(t,"l",(function(){return p})),n.d(t,"i",(function(){return f})),n.d(t,"a",(function(){return h})),n.d(t,"b",(function(){return g})),n.d(t,"k",(function(){return m})),n.d(t,"e",(function(){return v})),n.d(t,"j",(function(){return b}));var r=n(3),i=Object.prototype.toString,o=function(e){return function(t){return typeof t===e}},a=o("undefined"),s=Object(r.i)(a),l=function(e){return null===e},c=Object(r.j)(l,a),u=o("function"),d=o("number"),p=o("string"),f=function(e){return null!==e&&"object"==typeof e},h=Array.isArray,g=function(e){return"[object Date]"===i.call(e)},m=function(e){return"[object RegExp]"===i.call(e)};function v(e){if(h(e)&&e.length){var t=e.slice(0,-1),n=e.slice(-1);return!(t.filter(Object(r.i)(p)).length||n.filter(Object(r.i)(u)).length)}return u(e)}var b=Object(r.b)(f,Object(r.m)(Object(r.n)("then"),u))},function(e,t,n){"use strict";n.r(t);var r=n(4);n.d(t,"root",(function(){return r.Bb})),n.d(t,"fromJson",(function(){return r.J})),n.d(t,"toJson",(function(){return r.Mb})),n.d(t,"forEach",(function(){return r.I})),n.d(t,"extend",(function(){return r.C})),n.d(t,"equals",(function(){return r.B})),n.d(t,"identity",(function(){return r.M})),n.d(t,"noop",(function(){return r.lb})),n.d(t,"createProxyFunctions",(function(){return r.w})),n.d(t,"inherit",(function(){return r.O})),n.d(t,"inArray",(function(){return r.N})),n.d(t,"_inArray",(function(){return r.f})),n.d(t,"removeFrom",(function(){return r.Ab})),n.d(t,"_removeFrom",(function(){return r.h})),n.d(t,"pushTo",(function(){return r.zb})),n.d(t,"_pushTo",(function(){return r.g})),n.d(t,"deregAll",(function(){return r.z})),n.d(t,"defaults",(function(){return r.y})),n.d(t,"mergeR",(function(){return r.kb})),n.d(t,"ancestors",(function(){return r.k})),n.d(t,"pick",(function(){return r.tb})),n.d(t,"omit",(function(){return r.nb})),n.d(t,"pluck",(function(){return r.vb})),n.d(t,"filter",(function(){return r.D})),n.d(t,"find",(function(){return r.E})),n.d(t,"mapObj",(function(){return r.ib})),n.d(t,"map",(function(){return r.hb})),n.d(t,"values",(function(){return r.Tb})),n.d(t,"allTrueR",(function(){return r.j})),n.d(t,"anyTrueR",(function(){return r.n})),n.d(t,"unnestR",(function(){return r.Rb})),n.d(t,"flattenR",(function(){return r.G})),n.d(t,"pushR",(function(){return r.yb})),n.d(t,"uniqR",(function(){return r.Pb})),n.d(t,"unnest",(function(){return r.Qb})),n.d(t,"flatten",(function(){return r.F})),n.d(t,"assertPredicate",(function(){return r.s})),n.d(t,"assertMap",(function(){return r.r})),n.d(t,"assertFn",(function(){return r.q})),n.d(t,"pairs",(function(){return r.qb})),n.d(t,"arrayTuples",(function(){return r.p})),n.d(t,"applyPairs",(function(){return r.o})),n.d(t,"tail",(function(){return r.Lb})),n.d(t,"copy",(function(){return r.v})),n.d(t,"_extend",(function(){return r.e})),n.d(t,"silenceUncaughtInPromise",(function(){return r.Db})),n.d(t,"silentRejection",(function(){return r.Eb})),n.d(t,"makeStub",(function(){return r.gb})),n.d(t,"services",(function(){return r.Cb})),n.d(t,"Glob",(function(){return r.b})),n.d(t,"curry",(function(){return r.x})),n.d(t,"compose",(function(){return r.u})),n.d(t,"pipe",(function(){return r.ub})),n.d(t,"prop",(function(){return r.wb})),n.d(t,"propEq",(function(){return r.xb})),n.d(t,"parse",(function(){return r.rb})),n.d(t,"not",(function(){return r.mb})),n.d(t,"and",(function(){return r.l})),n.d(t,"or",(function(){return r.ob})),n.d(t,"all",(function(){return r.i})),n.d(t,"any",(function(){return r.m})),n.d(t,"is",(function(){return r.Q})),n.d(t,"eq",(function(){return r.A})),n.d(t,"val",(function(){return r.Sb})),n.d(t,"invoke",(function(){return r.P})),n.d(t,"pattern",(function(){return r.sb})),n.d(t,"isUndefined",(function(){return r.db})),n.d(t,"isDefined",(function(){return r.T})),n.d(t,"isNull",(function(){return r.W})),n.d(t,"isNullOrUndefined",(function(){return r.X})),n.d(t,"isFunction",(function(){return r.U})),n.d(t,"isNumber",(function(){return r.Y})),n.d(t,"isString",(function(){return r.cb})),n.d(t,"isObject",(function(){return r.Z})),n.d(t,"isArray",(function(){return r.R})),n.d(t,"isDate",(function(){return r.S})),n.d(t,"isRegExp",(function(){return r.bb})),n.d(t,"isInjectable",(function(){return r.V})),n.d(t,"isPromise",(function(){return r.ab})),n.d(t,"Queue",(function(){return r.c})),n.d(t,"maxLength",(function(){return r.jb})),n.d(t,"padString",(function(){return r.pb})),n.d(t,"kebobString",(function(){return r.fb})),n.d(t,"functionToString",(function(){return r.K})),n.d(t,"fnToString",(function(){return r.H})),n.d(t,"stringify",(function(){return r.Jb})),n.d(t,"beforeAfterSubstr",(function(){return r.t})),n.d(t,"hostRegex",(function(){return r.L})),n.d(t,"stripLastPathElement",(function(){return r.Kb})),n.d(t,"splitHash",(function(){return r.Gb})),n.d(t,"splitQuery",(function(){return r.Ib})),n.d(t,"splitEqual",(function(){return r.Fb})),n.d(t,"trimHashVal",(function(){return r.Ob})),n.d(t,"splitOnDelim",(function(){return r.Hb})),n.d(t,"joinNeighborsR",(function(){return r.eb})),n.d(t,"Category",(function(){return r.a})),n.d(t,"Trace",(function(){return r.d})),n.d(t,"trace",(function(){return r.Nb}));var i=n(26);for(var o in i)["default","root","fromJson","toJson","forEach","extend","equals","identity","noop","createProxyFunctions","inherit","inArray","_inArray","removeFrom","_removeFrom","pushTo","_pushTo","deregAll","defaults","mergeR","ancestors","pick","omit","pluck","filter","find","mapObj","map","values","allTrueR","anyTrueR","unnestR","flattenR","pushR","uniqR","unnest","flatten","assertPredicate","assertMap","assertFn","pairs","arrayTuples","applyPairs","tail","copy","_extend","silenceUncaughtInPromise","silentRejection","makeStub","services","Glob","curry","compose","pipe","prop","propEq","parse","not","and","or","all","any","is","eq","val","invoke","pattern","isUndefined","isDefined","isNull","isNullOrUndefined","isFunction","isNumber","isString","isObject","isArray","isDate","isRegExp","isInjectable","isPromise","Queue","maxLength","padString","kebobString","functionToString","fnToString","stringify","beforeAfterSubstr","hostRegex","stripLastPathElement","splitHash","splitQuery","splitEqual","trimHashVal","splitOnDelim","joinNeighborsR","Category","Trace","trace"].indexOf(o)<0&&function(e){n.d(t,e,(function(){return i[e]}))}(o);var a=n(136);n.d(t,"PathNode",(function(){return a.a})),n.d(t,"PathUtils",(function(){return a.b}));var s=n(38);n.d(t,"resolvePolicies",(function(){return s.e})),n.d(t,"defaultResolvePolicy",(function(){return s.d})),n.d(t,"Resolvable",(function(){return s.b})),n.d(t,"NATIVE_INJECTOR_TOKEN",(function(){return s.a})),n.d(t,"ResolveContext",(function(){return s.c}));var l=n(43);for(var o in l)["default","root","fromJson","toJson","forEach","extend","equals","identity","noop","createProxyFunctions","inherit","inArray","_inArray","removeFrom","_removeFrom","pushTo","_pushTo","deregAll","defaults","mergeR","ancestors","pick","omit","pluck","filter","find","mapObj","map","values","allTrueR","anyTrueR","unnestR","flattenR","pushR","uniqR","unnest","flatten","assertPredicate","assertMap","assertFn","pairs","arrayTuples","applyPairs","tail","copy","_extend","silenceUncaughtInPromise","silentRejection","makeStub","services","Glob","curry","compose","pipe","prop","propEq","parse","not","and","or","all","any","is","eq","val","invoke","pattern","isUndefined","isDefined","isNull","isNullOrUndefined","isFunction","isNumber","isString","isObject","isArray","isDate","isRegExp","isInjectable","isPromise","Queue","maxLength","padString","kebobString","functionToString","fnToString","stringify","beforeAfterSubstr","hostRegex","stripLastPathElement","splitHash","splitQuery","splitEqual","trimHashVal","splitOnDelim","joinNeighborsR","Category","Trace","trace","PathNode","PathUtils","resolvePolicies","defaultResolvePolicy","Resolvable","NATIVE_INJECTOR_TOKEN","ResolveContext"].indexOf(o)<0&&function(e){n.d(t,e,(function(){return l[e]}))}(o);var c=n(138);n.d(t,"TransitionHookPhase",(function(){return c.h})),n.d(t,"TransitionHookScope",(function(){return c.i})),n.d(t,"HookBuilder",(function(){return c.a})),n.d(t,"matchState",(function(){return c.m})),n.d(t,"RegisteredHook",(function(){return c.b})),n.d(t,"makeEvent",(function(){return c.l})),n.d(t,"RejectType",(function(){return c.c})),n.d(t,"Rejection",(function(){return c.d})),n.d(t,"Transition",(function(){return c.e})),n.d(t,"TransitionHook",(function(){return c.g})),n.d(t,"TransitionEventType",(function(){return c.f})),n.d(t,"defaultTransOpts",(function(){return c.k})),n.d(t,"TransitionService",(function(){return c.j}));var u=n(139);for(var o in u)["default","root","fromJson","toJson","forEach","extend","equals","identity","noop","createProxyFunctions","inherit","inArray","_inArray","removeFrom","_removeFrom","pushTo","_pushTo","deregAll","defaults","mergeR","ancestors","pick","omit","pluck","filter","find","mapObj","map","values","allTrueR","anyTrueR","unnestR","flattenR","pushR","uniqR","unnest","flatten","assertPredicate","assertMap","assertFn","pairs","arrayTuples","applyPairs","tail","copy","_extend","silenceUncaughtInPromise","silentRejection","makeStub","services","Glob","curry","compose","pipe","prop","propEq","parse","not","and","or","all","any","is","eq","val","invoke","pattern","isUndefined","isDefined","isNull","isNullOrUndefined","isFunction","isNumber","isString","isObject","isArray","isDate","isRegExp","isInjectable","isPromise","Queue","maxLength","padString","kebobString","functionToString","fnToString","stringify","beforeAfterSubstr","hostRegex","stripLastPathElement","splitHash","splitQuery","splitEqual","trimHashVal","splitOnDelim","joinNeighborsR","Category","Trace","trace","PathNode","PathUtils","resolvePolicies","defaultResolvePolicy","Resolvable","NATIVE_INJECTOR_TOKEN","ResolveContext","TransitionHookPhase","TransitionHookScope","HookBuilder","matchState","RegisteredHook","makeEvent","RejectType","Rejection","Transition","TransitionHook","TransitionEventType","defaultTransOpts","TransitionService"].indexOf(o)<0&&function(e){n.d(t,e,(function(){return u[e]}))}(o);var d=n(141);for(var o in d)["default","root","fromJson","toJson","forEach","extend","equals","identity","noop","createProxyFunctions","inherit","inArray","_inArray","removeFrom","_removeFrom","pushTo","_pushTo","deregAll","defaults","mergeR","ancestors","pick","omit","pluck","filter","find","mapObj","map","values","allTrueR","anyTrueR","unnestR","flattenR","pushR","uniqR","unnest","flatten","assertPredicate","assertMap","assertFn","pairs","arrayTuples","applyPairs","tail","copy","_extend","silenceUncaughtInPromise","silentRejection","makeStub","services","Glob","curry","compose","pipe","prop","propEq","parse","not","and","or","all","any","is","eq","val","invoke","pattern","isUndefined","isDefined","isNull","isNullOrUndefined","isFunction","isNumber","isString","isObject","isArray","isDate","isRegExp","isInjectable","isPromise","Queue","maxLength","padString","kebobString","functionToString","fnToString","stringify","beforeAfterSubstr","hostRegex","stripLastPathElement","splitHash","splitQuery","splitEqual","trimHashVal","splitOnDelim","joinNeighborsR","Category","Trace","trace","PathNode","PathUtils","resolvePolicies","defaultResolvePolicy","Resolvable","NATIVE_INJECTOR_TOKEN","ResolveContext","TransitionHookPhase","TransitionHookScope","HookBuilder","matchState","RegisteredHook","makeEvent","RejectType","Rejection","Transition","TransitionHook","TransitionEventType","defaultTransOpts","TransitionService"].indexOf(o)<0&&function(e){n.d(t,e,(function(){return d[e]}))}(o);var p=n(103);n.d(t,"UIRouterGlobals",(function(){return p.a}));var f=n(99);n.d(t,"UIRouter",(function(){return f.a}));var h=n(143);for(var o in h)["default","root","fromJson","toJson","forEach","extend","equals","identity","noop","createProxyFunctions","inherit","inArray","_inArray","removeFrom","_removeFrom","pushTo","_pushTo","deregAll","defaults","mergeR","ancestors","pick","omit","pluck","filter","find","mapObj","map","values","allTrueR","anyTrueR","unnestR","flattenR","pushR","uniqR","unnest","flatten","assertPredicate","assertMap","assertFn","pairs","arrayTuples","applyPairs","tail","copy","_extend","silenceUncaughtInPromise","silentRejection","makeStub","services","Glob","curry","compose","pipe","prop","propEq","parse","not","and","or","all","any","is","eq","val","invoke","pattern","isUndefined","isDefined","isNull","isNullOrUndefined","isFunction","isNumber","isString","isObject","isArray","isDate","isRegExp","isInjectable","isPromise","Queue","maxLength","padString","kebobString","functionToString","fnToString","stringify","beforeAfterSubstr","hostRegex","stripLastPathElement","splitHash","splitQuery","splitEqual","trimHashVal","splitOnDelim","joinNeighborsR","Category","Trace","trace","PathNode","PathUtils","resolvePolicies","defaultResolvePolicy","Resolvable","NATIVE_INJECTOR_TOKEN","ResolveContext","TransitionHookPhase","TransitionHookScope","HookBuilder","matchState","RegisteredHook","makeEvent","RejectType","Rejection","Transition","TransitionHook","TransitionEventType","defaultTransOpts","TransitionService","UIRouterGlobals","UIRouter"].indexOf(o)<0&&function(e){n.d(t,e,(function(){return h[e]}))}(o);var g=n(147);n.d(t,"UIRouterPluginBase",(function(){return g.a}))},function(e,t,n){"use strict";n.d(t,"e",(function(){return i})),n.d(t,"d",(function(){return o})),n.d(t,"m",(function(){return a})),n.d(t,"n",(function(){return s})),n.d(t,"o",(function(){return l})),n.d(t,"k",(function(){return c})),n.d(t,"i",(function(){return u})),n.d(t,"b",(function(){return d})),n.d(t,"j",(function(){return p})),n.d(t,"a",(function(){return f})),n.d(t,"c",(function(){return h})),n.d(t,"h",(function(){return g})),n.d(t,"f",(function(){return m})),n.d(t,"p",(function(){return v})),n.d(t,"g",(function(){return b})),n.d(t,"l",(function(){return y}));var r=function(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),i=0;for(t=0;t<n;t++)for(var o=arguments[t],a=0,s=o.length;a<s;a++,i++)r[i]=o[a];return r};function i(e){return function t(){if(arguments.length>=e.length)return e.apply(this,arguments);var n=Array.prototype.slice.call(arguments);return t.bind.apply(t,r([this],n))}}function o(){var e=arguments,t=e.length-1;return function(){for(var n=t,r=e[t].apply(this,arguments);n--;)r=e[n].call(this,r);return r}}function a(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return o.apply(null,[].slice.call(arguments).reverse())}var s=function(e){return function(t){return t&&t[e]}},l=i((function(e,t,n){return n&&n[e]===t})),c=function(e){return a.apply(null,e.split(".").map(s))},u=function(e){return function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return!e.apply(null,t)}};function d(e,t){return function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return e.apply(null,n)&&t.apply(null,n)}}function p(e,t){return function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return e.apply(null,n)||t.apply(null,n)}}var f=function(e){return function(t){return t.reduce((function(t,n){return t&&!!e(n)}),!0)}},h=function(e){return function(t){return t.reduce((function(t,n){return t||!!e(n)}),!1)}},g=function(e){return function(t){return null!=t&&t.constructor===e||t instanceof e}},m=function(e){return function(t){return e===t}},v=function(e){return function(){return e}};function b(e,t){return function(n){return n[e].apply(n,t)}}function y(e){return function(t){for(var n=0;n<e.length;n++)if(e[n][0](t))return e[n][1](t)}}},function(e,t,n){"use strict";var r=n(0);n.d(t,"e",(function(){return r.a})),n.d(t,"f",(function(){return r.b})),n.d(t,"g",(function(){return r.c})),n.d(t,"h",(function(){return r.d})),n.d(t,"j",(function(){return r.e})),n.d(t,"k",(function(){return r.f})),n.d(t,"n",(function(){return r.g})),n.d(t,"o",(function(){return r.h})),n.d(t,"p",(function(){return r.i})),n.d(t,"q",(function(){return r.j})),n.d(t,"r",(function(){return r.k})),n.d(t,"s",(function(){return r.l})),n.d(t,"v",(function(){return r.m})),n.d(t,"w",(function(){return r.n})),n.d(t,"y",(function(){return r.o})),n.d(t,"z",(function(){return r.p})),n.d(t,"B",(function(){return r.q})),n.d(t,"C",(function(){return r.r})),n.d(t,"D",(function(){return r.s})),n.d(t,"E",(function(){return r.t})),n.d(t,"F",(function(){return r.u})),n.d(t,"G",(function(){return r.v})),n.d(t,"I",(function(){return r.w})),n.d(t,"J",(function(){return r.x})),n.d(t,"M",(function(){return r.y})),n.d(t,"N",(function(){return r.z})),n.d(t,"O",(function(){return r.A})),n.d(t,"hb",(function(){return r.B})),n.d(t,"ib",(function(){return r.C})),n.d(t,"kb",(function(){return r.D})),n.d(t,"lb",(function(){return r.E})),n.d(t,"nb",(function(){return r.F})),n.d(t,"qb",(function(){return r.G})),n.d(t,"tb",(function(){return r.H})),n.d(t,"vb",(function(){return r.I})),n.d(t,"yb",(function(){return r.J})),n.d(t,"zb",(function(){return r.K})),n.d(t,"Ab",(function(){return r.L})),n.d(t,"Bb",(function(){return r.M})),n.d(t,"Db",(function(){return r.N})),n.d(t,"Eb",(function(){return r.O})),n.d(t,"Lb",(function(){return r.P})),n.d(t,"Mb",(function(){return r.Q})),n.d(t,"Pb",(function(){return r.R})),n.d(t,"Qb",(function(){return r.S})),n.d(t,"Rb",(function(){return r.T})),n.d(t,"Tb",(function(){return r.U}));var i=n(6);n.d(t,"gb",(function(){return i.a})),n.d(t,"Cb",(function(){return i.b}));var o=n(62);n.d(t,"b",(function(){return o.a}));var a=n(3);n.d(t,"i",(function(){return a.a})),n.d(t,"l",(function(){return a.b})),n.d(t,"m",(function(){return a.c})),n.d(t,"u",(function(){return a.d})),n.d(t,"x",(function(){return a.e})),n.d(t,"A",(function(){return a.f})),n.d(t,"P",(function(){return a.g})),n.d(t,"Q",(function(){return a.h})),n.d(t,"mb",(function(){return a.i})),n.d(t,"ob",(function(){return a.j})),n.d(t,"rb",(function(){return a.k})),n.d(t,"sb",(function(){return a.l})),n.d(t,"ub",(function(){return a.m})),n.d(t,"wb",(function(){return a.n})),n.d(t,"xb",(function(){return a.o})),n.d(t,"Sb",(function(){return a.p}));var s=n(1);n.d(t,"R",(function(){return s.a})),n.d(t,"S",(function(){return s.b})),n.d(t,"T",(function(){return s.c})),n.d(t,"U",(function(){return s.d})),n.d(t,"V",(function(){return s.e})),n.d(t,"W",(function(){return s.f})),n.d(t,"X",(function(){return s.g})),n.d(t,"Y",(function(){return s.h})),n.d(t,"Z",(function(){return s.i})),n.d(t,"ab",(function(){return s.j})),n.d(t,"bb",(function(){return s.k})),n.d(t,"cb",(function(){return s.l})),n.d(t,"db",(function(){return s.m}));var l=n(50);n.d(t,"c",(function(){return l.a}));var c=n(7);n.d(t,"t",(function(){return c.a})),n.d(t,"H",(function(){return c.b})),n.d(t,"K",(function(){return c.c})),n.d(t,"L",(function(){return c.d})),n.d(t,"eb",(function(){return c.e})),n.d(t,"fb",(function(){return c.f})),n.d(t,"jb",(function(){return c.g})),n.d(t,"pb",(function(){return c.h})),n.d(t,"Fb",(function(){return c.i})),n.d(t,"Gb",(function(){return c.j})),n.d(t,"Hb",(function(){return c.k})),n.d(t,"Ib",(function(){return c.l})),n.d(t,"Jb",(function(){return c.m})),n.d(t,"Kb",(function(){return c.n})),n.d(t,"Ob",(function(){return c.o}));var u=n(10);n.d(t,"a",(function(){return u.a})),n.d(t,"d",(function(){return u.b})),n.d(t,"Nb",(function(){return u.c}))},function(e,t,n){"use strict";(function(e){n.d(t,"e",(function(){return r})),n.d(t,"p",(function(){return i})),n.d(t,"a",(function(){return o})),n.d(t,"c",(function(){return a})),n.d(t,"d",(function(){return s})),n.d(t,"o",(function(){return l})),n.d(t,"q",(function(){return c})),n.d(t,"t",(function(){return u})),n.d(t,"i",(function(){return d})),n.d(t,"r",(function(){return p})),n.d(t,"s",(function(){return f})),n.d(t,"k",(function(){return h})),n.d(t,"m",(function(){return g})),n.d(t,"j",(function(){return m})),n.d(t,"l",(function(){return v})),n.d(t,"g",(function(){return b})),n.d(t,"f",(function(){return y})),n.d(t,"h",(function(){return x})),n.d(t,"n",(function(){return w})),n.d(t,"b",(function(){return k}));var r="1.13.4",i="object"==typeof self&&self.self===self&&self||"object"==typeof e&&e.global===e&&e||Function("return this")()||{},o=Array.prototype,a=Object.prototype,s="undefined"!=typeof Symbol?Symbol.prototype:null,l=o.push,c=o.slice,u=a.toString,d=a.hasOwnProperty,p="undefined"!=typeof ArrayBuffer,f="undefined"!=typeof DataView,h=Array.isArray,g=Object.keys,m=Object.create,v=p&&ArrayBuffer.isView,b=isNaN,y=isFinite,x=!{toString:null}.propertyIsEnumerable("toString"),w=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],k=Math.pow(2,53)-1}).call(this,n(35))},function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return i}));var r=function(e,t){return t.reduce((function(t,n){return t[n]=(r=e+"."+n+"()",function(){throw new Error("No implementation for "+r+". The framework specific code did not implement this method.")}),t;var r}),{})},i={$q:void 0,$injector:void 0}},function(e,t,n){"use strict";n.d(t,"g",(function(){return s})),n.d(t,"h",(function(){return l})),n.d(t,"f",(function(){return c})),n.d(t,"c",(function(){return u})),n.d(t,"b",(function(){return d})),n.d(t,"m",(function(){return h})),n.d(t,"a",(function(){return g})),n.d(t,"d",(function(){return m})),n.d(t,"n",(function(){return v})),n.d(t,"j",(function(){return b})),n.d(t,"l",(function(){return y})),n.d(t,"i",(function(){return x})),n.d(t,"o",(function(){return w})),n.d(t,"k",(function(){return k})),n.d(t,"e",(function(){return A}));var r=n(1),i=n(8),o=n(0),a=n(3);function s(e,t){return t.length<=e?t:t.substr(0,e-3)+"..."}function l(e,t){for(;t.length<e;)t+=" ";return t}function c(e){return e.replace(/^([A-Z])/,(function(e){return e.toLowerCase()})).replace(/([A-Z])/g,(function(e){return"-"+e.toLowerCase()}))}function u(e){var t=d(e),n=t.match(/^(function [^ ]+\([^)]*\))/),r=n?n[1]:t,i=e.name||"";return i&&r.match(/function \(/)?"function "+i+r.substr(9):r}function d(e){var t=Object(r.a)(e)?e.slice(-1)[0]:e;return t&&t.toString()||"undefined"}var p=i.b.isRejectionPromise,f=Object(a.l)([[r.m,Object(a.p)("undefined")],[r.f,Object(a.p)("null")],[r.j,Object(a.p)("[Promise]")],[p,function(e){return e._transitionRejection.toString()}],[function(e){return Object(r.i)(e)&&!Object(r.a)(e)&&e.constructor!==Object&&Object(r.d)(e.toString)},function(e){return e.toString()}],[r.e,u],[Object(a.p)(!0),o.y]]);function h(e){var t=[];function n(e){if(Object(r.i)(e)){if(-1!==t.indexOf(e))return"[circular ref]";t.push(e)}return f(e)}return Object(r.m)(e)?n(e):JSON.stringify(e,(function(e,t){return n(t)})).replace(/\\"/g,'"')}var g=function(e){return function(t){if(!t)return["",""];var n=t.indexOf(e);return-1===n?[t,""]:[t.substr(0,n),t.substr(n+1)]}},m=new RegExp("^(?:[a-z]+:)?//[^/]+/"),v=function(e){return e.replace(/\/[^/]*$/,"")},b=g("#"),y=g("?"),x=g("="),w=function(e){return e?e.replace(/^#/,""):""};function k(e){var t=new RegExp("("+e+")","g");return function(e){return e.split(t).filter(o.y)}}function A(e,t){return Object(r.l)(Object(o.P)(e))&&Object(r.l)(t)?e.slice(0,-1).concat(Object(o.P)(e)+t):Object(o.J)(e,t)}},function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return l}));var r,i=n(0),o=n(7),a=n(3);!function(e){e[e.SUPERSEDED=2]="SUPERSEDED",e[e.ABORTED=3]="ABORTED",e[e.INVALID=4]="INVALID",e[e.IGNORED=5]="IGNORED",e[e.ERROR=6]="ERROR"}(r||(r={}));var s=0,l=function(){function e(e,t,n){this.$id=s++,this.type=e,this.message=t,this.detail=n}return e.isRejectionPromise=function(t){return t&&"function"==typeof t.then&&Object(a.h)(e)(t._transitionRejection)},e.superseded=function(t,n){var i=new e(r.SUPERSEDED,"The transition has been superseded by a different transition",t);return n&&n.redirected&&(i.redirected=!0),i},e.redirected=function(t){return e.superseded(t,{redirected:!0})},e.invalid=function(t){return new e(r.INVALID,"This transition is invalid",t)},e.ignored=function(t){return new e(r.IGNORED,"The transition was ignored",t)},e.aborted=function(t){return new e(r.ABORTED,"The transition has been aborted",t)},e.errored=function(t){return new e(r.ERROR,"The transition errored",t)},e.normalize=function(t){return Object(a.h)(e)(t)?t:e.errored(t)},e.prototype.toString=function(){var e,t=(e=this.detail)&&e.toString!==Object.prototype.toString?e.toString():Object(o.m)(e);return"Transition Rejection($id: "+this.$id+" type: "+this.type+", message: "+this.message+", detail: "+t+")"},e.prototype.toPromise=function(){return Object(i.r)(Object(i.O)(this),{_transitionRejection:this})},e}()},function(e,t,n){n(208),e.exports=angular},function(e,t,n){"use strict";n.d(t,"a",(function(){return l})),n.d(t,"b",(function(){return f})),n.d(t,"c",(function(){return h}));var r=n(3),i=n(1),o=n(7),a=n(19);function s(e){if(!e)return"ui-view (defunct)";var t=e.creationContext?e.creationContext.name||"(root)":"(none)";return"[ui-view#"+e.id+" "+e.$type+":"+e.fqn+" ("+e.name+"@"+t+")]"}var l;function c(e){return Object(i.h)(e)?l[e]:l[l[e]]}!function(e){e[e.RESOLVE=0]="RESOLVE",e[e.TRANSITION=1]="TRANSITION",e[e.HOOK=2]="HOOK",e[e.UIVIEW=3]="UIVIEW",e[e.VIEWCONFIG=4]="VIEWCONFIG"}(l||(l={}));var u=Object(r.k)("$id"),d=Object(r.k)("router.$id"),p=function(e){return"Transition #"+u(e)+"-"+d(e)},f=function(){function e(){this._enabled={},this.approximateDigests=0}return e.prototype._set=function(e,t){var n=this;t.length||(t=Object.keys(l).map((function(e){return parseInt(e,10)})).filter((function(e){return!isNaN(e)})).map((function(e){return l[e]}))),t.map(c).forEach((function(t){return n._enabled[t]=e}))},e.prototype.enable=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this._set(!0,e)},e.prototype.disable=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this._set(!1,e)},e.prototype.enabled=function(e){return!!this._enabled[c(e)]},e.prototype.traceTransitionStart=function(e){this.enabled(l.TRANSITION)&&a.a.log(p(e)+": Started -> "+Object(o.m)(e))},e.prototype.traceTransitionIgnored=function(e){this.enabled(l.TRANSITION)&&a.a.log(p(e)+": Ignored <> "+Object(o.m)(e))},e.prototype.traceHookInvocation=function(e,t,n){if(this.enabled(l.HOOK)){var i=Object(r.k)("traceData.hookType")(n)||"internal",s=Object(r.k)("traceData.context.state.name")(n)||Object(r.k)("traceData.context")(n)||"unknown",c=Object(o.c)(e.registeredHook.callback);a.a.log(p(t)+": Hook -> "+i+" context: "+s+", "+Object(o.g)(200,c))}},e.prototype.traceHookResult=function(e,t,n){this.enabled(l.HOOK)&&a.a.log(p(t)+": <- Hook returned: "+Object(o.g)(200,Object(o.m)(e)))},e.prototype.traceResolvePath=function(e,t,n){this.enabled(l.RESOLVE)&&a.a.log(p(n)+": Resolving "+e+" ("+t+")")},e.prototype.traceResolvableResolved=function(e,t){this.enabled(l.RESOLVE)&&a.a.log(p(t)+": <- Resolved "+e+" to: "+Object(o.g)(200,Object(o.m)(e.data)))},e.prototype.traceError=function(e,t){this.enabled(l.TRANSITION)&&a.a.log(p(t)+": <- Rejected "+Object(o.m)(t)+", reason: "+e)},e.prototype.traceSuccess=function(e,t){this.enabled(l.TRANSITION)&&a.a.log(p(t)+": <- Success "+Object(o.m)(t)+", final state: "+e.name)},e.prototype.traceUIViewEvent=function(e,t,n){void 0===n&&(n=""),this.enabled(l.UIVIEW)&&a.a.log("ui-view: "+Object(o.h)(30,e)+" "+s(t)+n)},e.prototype.traceUIViewConfigUpdated=function(e,t){this.enabled(l.UIVIEW)&&this.traceUIViewEvent("Updating",e," with ViewConfig from context='"+t+"'")},e.prototype.traceUIViewFill=function(e,t){this.enabled(l.UIVIEW)&&this.traceUIViewEvent("Fill",e," with: "+Object(o.g)(200,t))},e.prototype.traceViewSync=function(e){if(this.enabled(l.VIEWCONFIG)){var t="uiview component fqn",n=e.map((function(e){var n,r=e.uiView,i=e.viewConfig,o=r&&r.fqn,a=i&&i.viewDecl.$context.name+": ("+i.viewDecl.$name+")";return(n={})[t]=o,n["view config state (view name)"]=a,n})).sort((function(e,n){return(e[t]||"").localeCompare(n[t]||"")}));a.a.table(n)}},e.prototype.traceViewServiceEvent=function(e,t){this.enabled(l.VIEWCONFIG)&&a.a.log("VIEWCONFIG: "+e+" "+function(e){var t=e.viewDecl,n=t.$context.name||"(root)";return"[View#"+e.$id+" from '"+n+"' state]: target ui-view: '"+t.$uiViewName+"@"+t.$uiViewContextAnchor+"'"}(t))},e.prototype.traceViewServiceUIViewEvent=function(e,t){this.enabled(l.VIEWCONFIG)&&a.a.log("VIEWCONFIG: "+e+" "+s(t))},e}(),h=new f},function(e,t,n){var r;try{r={cloneDeep:n(360),constant:n(126),defaults:n(361),each:n(167),filter:n(170),find:n(362),flatten:n(197),forEach:n(168),forIn:n(369),has:n(181),isUndefined:n(182),last:n(370),map:n(183),mapValues:n(371),max:n(372),merge:n(374),min:n(380),minBy:n(381),now:n(382),pick:n(383),range:n(388),reduce:n(185),sortBy:n(391),uniqueId:n(396),values:n(190),zipObject:n(397)}}catch(e){}r||(r=window._),e.exports=r},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(9),i=angular,o=r&&r.module?r:i},function(e,t){var n=Array.isArray;e.exports=n},function(e,t,n){"use strict";var r,i;n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return i})),function(e){e[e.CREATE=0]="CREATE",e[e.BEFORE=1]="BEFORE",e[e.RUN=2]="RUN",e[e.SUCCESS=3]="SUCCESS",e[e.ERROR=4]="ERROR"}(r||(r={})),function(e){e[e.TRANSITION=0]="TRANSITION",e[e.STATE=1]="STATE"}(i||(i={}))},function(e,t,n){"use strict";n.d(t,"b",(function(){return l})),n.d(t,"a",(function(){return c}));var r=n(0),i=n(6),o=n(10),a=n(7),s=n(1),l={when:"LAZY",async:"WAIT"},c=function(){function e(t,n,o,a,l){if(this.resolved=!1,this.promise=void 0,t instanceof e)Object(r.r)(this,t);else if(Object(s.d)(n)){if(Object(s.g)(t))throw new Error("new Resolvable(): token argument is required");if(!Object(s.d)(n))throw new Error("new Resolvable(): resolveFn argument must be a function");this.token=t,this.policy=a,this.resolveFn=n,this.deps=o||[],this.data=l,this.resolved=void 0!==l,this.promise=this.resolved?i.b.$q.when(this.data):void 0}else if(Object(s.i)(t)&&t.token&&(t.hasOwnProperty("resolveFn")||t.hasOwnProperty("data"))){var c=t;return new e(c.token,c.resolveFn,c.deps,c.policy,c.data)}}return e.prototype.getPolicy=function(e){var t=this.policy||{},n=e&&e.resolvePolicy||{};return{when:t.when||n.when||l.when,async:t.async||n.async||l.async}},e.prototype.resolve=function(e,t){var n=this,a=i.b.$q,l=e.findNode(this),c=l&&l.state,u=this.getPolicy(c).async,d=Object(s.d)(u)?u:r.y;return this.promise=a.when().then((function(){return a.all(e.getDependencies(n).map((function(n){return n.get(e,t)})))})).then((function(e){return n.resolveFn.apply(null,e)})).then(d).then((function(e){return n.data=e,n.resolved=!0,n.resolveFn=null,o.c.traceResolvableResolved(n,t),n.data}))},e.prototype.get=function(e,t){return this.promise||this.resolve(e,t)},e.prototype.toString=function(){return"Resolvable(token: "+Object(a.m)(this.token)+", requires: ["+this.deps.map(a.m)+"])"},e.prototype.clone=function(){return new e(this)},e.fromData=function(t,n){return new e(t,(function(){return n}),null,null,n)},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return d}));var r,i=n(0),o=n(3),a=n(1),s=n(6),l=n(51),c=Object.prototype.hasOwnProperty;function u(e,t,n){var o=!1===n.reloadOnSearch&&t===r.SEARCH||void 0,s=Object(i.t)([n.dynamic,o],a.c),l=Object(a.c)(s)?{dynamic:s}:{},u=function(e){function t(){return e.value}e=function(e){return 0===["value","type","squash","array","dynamic"].filter(c.bind(e||{})).length}(e)?{value:e}:e,t.__cacheable=!0;var n=Object(a.e)(e.value)?e.value:t;return Object(i.r)(e,{$$fn:n})}(n&&n.params&&n.params[e]);return Object(i.r)(l,u)}!function(e){e[e.PATH=0]="PATH",e[e.SEARCH=1]="SEARCH",e[e.CONFIG=2]="CONFIG"}(r||(r={}));var d=function(){function e(e,t,n,s,c){var d=u(e,n,c);t=function(e,t,n,i,o){if(e.type&&t&&"string"!==t.name)throw new Error("Param '"+i+"' has two type configurations.");if(e.type&&t&&"string"===t.name&&o.type(e.type))return o.type(e.type);if(t)return t;if(!e.type){var a=n===r.CONFIG?"any":n===r.PATH?"path":n===r.SEARCH?"query":"string";return o.type(a)}return e.type instanceof l.a?e.type:o.type(e.type)}(d,t,n,e,s.paramTypes);var p,f,h=(p={array:n===r.SEARCH&&"auto"},f=e.match(/\[\]$/)?{array:!0}:{},Object(i.r)(p,f,d).array);t=h?t.$asArray(h,n===r.SEARCH):t;var g=void 0!==d.value||n===r.SEARCH,m=Object(a.c)(d.dynamic)?!!d.dynamic:!!t.dynamic,v=Object(a.c)(d.raw)?!!d.raw:!!t.raw,b=function(e,t,n){var r=e.squash;if(!t||!1===r)return!1;if(!Object(a.c)(r)||null==r)return n;if(!0===r||Object(a.l)(r))return r;throw new Error("Invalid squash policy: '"+r+"'. Valid policies: false, true, or arbitrary string")}(d,g,s.defaultSquashPolicy()),y=function(e,t,n,r){var s=[{from:"",to:n||t?void 0:""},{from:null,to:n||t?void 0:""}],l=Object(a.a)(e.replace)?e.replace:[];Object(a.l)(r)&&l.push({from:r,to:void 0});var c=Object(i.B)(l,Object(o.n)("from"));return Object(i.s)(s,(function(e){return-1===c.indexOf(e.from)})).concat(l)}(d,h,g,b),x=Object(a.c)(d.inherit)?!!d.inherit:!!t.inherit;Object(i.r)(this,{id:e,type:t,location:n,isOptional:g,dynamic:m,raw:v,squash:b,replace:y,inherit:x,array:h,config:d})}return e.values=function(e,t){void 0===t&&(t={});for(var n={},r=0,i=e;r<i.length;r++){var o=i[r];n[o.id]=o.value(t[o.id])}return n},e.changed=function(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),e.filter((function(e){return!e.type.equals(t[e.id],n[e.id])}))},e.equals=function(t,n,r){return void 0===n&&(n={}),void 0===r&&(r={}),0===e.changed(t,n,r).length},e.validates=function(e,t){return void 0===t&&(t={}),e.map((function(e){return e.validates(t[e.id])})).reduce(i.e,!0)},e.prototype.isDefaultValue=function(e){return this.isOptional&&this.type.equals(this.value(),e)},e.prototype.value=function(e){var t=this;return e=function(e){for(var n=0,r=t.replace;n<r.length;n++){var i=r[n];if(i.from===e)return i.to}return e}(e),Object(a.m)(e)?function(){if(t._defaultValueCache)return t._defaultValueCache.defaultValue;if(!s.b.$injector)throw new Error("Injectable functions cannot be called at configuration time");var e=s.b.$injector.invoke(t.config.$$fn);if(null!=e&&!t.type.is(e))throw new Error("Default value ("+e+") for parameter '"+t.id+"' is not an instance of ParamType ("+t.type.name+")");return t.config.$$fn.__cacheable&&(t._defaultValueCache={defaultValue:e}),e}():this.type.$normalize(e)},e.prototype.isSearch=function(){return this.location===r.SEARCH},e.prototype.validates=function(e){if((Object(a.m)(e)||null===e)&&this.isOptional)return!0;var t=this.type.$normalize(e);if(!this.type.is(t))return!1;var n=this.type.encode(t);return!(Object(a.l)(n)&&!this.type.pattern.exec(n))},e.prototype.toString=function(){return"{Param:"+this.id+" "+this.type+" squash: '"+this.squash+"' optional: "+this.isOptional+"}"},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return f}));var r=n(14),i=n(0),o=n(7),a=n(1),s=n(3),l=n(10),c=n(6),u=n(8),d=n(24),p={current:i.E,transition:null,traceData:{},bind:null},f=function(){function e(e,t,n,o){var a=this;this.transition=e,this.stateContext=t,this.registeredHook=n,this.options=o,this.isSuperseded=function(){return a.type.hookPhase===r.a.RUN&&!a.options.transition.isActive()},this.options=Object(i.o)(o,p),this.type=n.eventType}return e.chain=function(e,t){return e.reduce((function(e,t){return e.then((function(){return t.invokeHook()}))}),t||c.b.$q.when())},e.invokeHooks=function(t,n){for(var r=0;r<t.length;r++){var i=t[r].invokeHook();if(Object(a.j)(i)){var o=t.slice(r+1);return e.chain(o,i).then(n)}}return n()},e.runAllHooks=function(e){e.forEach((function(e){return e.invokeHook()}))},e.prototype.logError=function(e){this.transition.router.stateService.defaultErrorHandler()(e)},e.prototype.invokeHook=function(){var e=this,t=this.registeredHook;if(!t._deregistered){var n=this.getNotCurrentRejection();if(n)return n;var r=this.options;l.c.traceHookInvocation(this,this.transition,r);var i=function(n){return t.eventType.getErrorHandler(e)(n)},o=function(n){return t.eventType.getResultHandler(e)(n)};try{var s=t.callback.call(r.bind,e.transition,e.stateContext);return!this.type.synchronous&&Object(a.j)(s)?s.catch((function(e){return u.b.normalize(e).toPromise()})).then(o,i):o(s)}catch(e){return i(u.b.normalize(e))}finally{t.invokeLimit&&++t.invokeCount>=t.invokeLimit&&t.deregister()}}},e.prototype.handleHookResult=function(e){var t=this,n=this.getNotCurrentRejection();return n||(Object(a.j)(e)?e.then((function(e){return t.handleHookResult(e)})):(l.c.traceHookResult(e,this.transition,this.options),!1===e?u.b.aborted("Hook aborted transition").toPromise():Object(s.h)(d.a)(e)?u.b.redirected(e).toPromise():void 0))},e.prototype.getNotCurrentRejection=function(){var e=this.transition.router;return e._disposed?u.b.aborted("UIRouter instance #"+e.$id+" has been stopped (disposed)").toPromise():this.transition._aborted?u.b.aborted().toPromise():this.isSuperseded()?u.b.superseded(this.options.current()).toPromise():void 0},e.prototype.toString=function(){var e=this.options,t=this.registeredHook,n=Object(s.k)("traceData.hookType")(e)||"internal",r=Object(s.k)("traceData.context.state.name")(e)||Object(s.k)("traceData.context")(e)||"unknown",i=Object(o.b)(t.callback);return n+" context: "+r+", "+Object(o.g)(200,i)},e.HANDLE_RESULT=function(e){return function(t){return e.handleHookResult(t)}},e.LOG_REJECTED_RESULT=function(e){return function(t){Object(a.j)(t)&&t.catch((function(t){return e.logError(u.b.normalize(t))}))}},e.LOG_ERROR=function(e){return function(t){return e.logError(t)}},e.REJECT_ERROR=function(e){return function(e){return Object(i.O)(e)}},e.THROW_ERROR=function(e){return function(e){throw e}},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=n(0),i=n(3),o=n(24),a=n(52),s=function(){function e(){}return e.makeTargetState=function(e,t){var n=Object(r.P)(t).state;return new o.a(e,n,t.map(Object(i.n)("paramValues")).reduce(r.D,{}),{})},e.buildPath=function(e){var t=e.params();return e.$state().path.map((function(e){return new a.a(e).applyRawParams(t)}))},e.buildToPath=function(t,n){var r=e.buildPath(n);return n.options().inherit?e.inheritParams(t,r,Object.keys(n.params())):r},e.applyViewConfigs=function(t,n,i){n.filter((function(e){return Object(r.z)(i,e.state)})).forEach((function(i){var o=Object(r.U)(i.state.views||{}),a=e.subPath(n,(function(e){return e===i})),s=o.map((function(e){return t.createViewConfig(a,e)}));i.views=s.reduce(r.T,[])}))},e.inheritParams=function(e,t,n){void 0===n&&(n=[]);var o=e.map((function(e){return e.paramSchema})).reduce(r.T,[]).filter((function(e){return!e.inherit})).map(Object(i.n)("id"));return t.map((function(t){var s=Object(r.r)({},t&&t.paramValues),l=Object(r.H)(s,n);s=Object(r.F)(s,n);var c,u,d,p=Object(r.F)((c=e,u=t.state,d=Object(r.t)(c,Object(i.o)("state",u)),Object(r.r)({},d&&d.paramValues)||{}),o),f=Object(r.r)(s,p,l);return new a.a(t.state).applyRawParams(f)}))},e.treeChanges=function(t,n,r){for(var i,o,a,s,l,c,u=Math.min(t.length,n.length),d=0;d<u&&t[d].state!==r&&(i=t[d],o=n[d],i.equals(o,e.nonDynamicParams));)d++;s=(a=t).slice(0,d),l=a.slice(d);var p=s.map((function(e,t){var r=e.clone();return r.paramValues=n[t].paramValues,r}));return c=n.slice(d),{from:a,to:p.concat(c),retained:s,retainedWithToParams:p,exiting:l,entering:c}},e.matching=function(e,t,n){var i=!1;return Object(r.i)(e,t).reduce((function(e,t){var r=t[0],o=t[1];return(i=i||!r.equals(o,n))?e:e.concat(r)}),[])},e.equals=function(t,n,r){return t.length===n.length&&e.matching(t,n,r).length===t.length},e.subPath=function(e,t){var n=Object(r.t)(e,t),i=e.indexOf(n);return-1===i?void 0:e.slice(0,i+1)},e.nonDynamicParams=function(e){return e.state.parameters({inherit:!1}).filter((function(e){return!e.dynamic}))},e.paramValues=function(e){return e.reduce((function(e,t){return Object(r.r)(e,t.paramValues)}),{})},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(0),i={log:r.E,error:r.E,table:r.E};var o="undefined"!=typeof document&&document.documentMode&&9===document.documentMode?window&&window.console?function(e){var t=function(t){return Function.prototype.bind.call(t,e)};return{log:t(e.log),error:t(e.log),table:t(e.log)}}(window.console):i:console.table&&console.error?console:function(e){var t=e.log.bind(e);return{log:t,error:e.error?e.error.bind(e):t,table:e.table?e.table.bind(e):t}}(console)},function(e,t,n){"use strict";var r=n(11),i=n(28).Graph;function o(e,t,n,i){var o;do{o=r.uniqueId(i)}while(e.hasNode(o));return n.dummy=t,e.setNode(o,n),o}function a(e){return r.max(r.map(e.nodes(),(function(t){var n=e.node(t).rank;if(!r.isUndefined(n))return n})))}e.exports={addDummyNode:o,simplify:function(e){var t=(new i).setGraph(e.graph());return r.forEach(e.nodes(),(function(n){t.setNode(n,e.node(n))})),r.forEach(e.edges(),(function(n){var r=t.edge(n.v,n.w)||{weight:0,minlen:1},i=e.edge(n);t.setEdge(n.v,n.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})})),t},asNonCompoundGraph:function(e){var t=new i({multigraph:e.isMultigraph()}).setGraph(e.graph());return r.forEach(e.nodes(),(function(n){e.children(n).length||t.setNode(n,e.node(n))})),r.forEach(e.edges(),(function(n){t.setEdge(n,e.edge(n))})),t},successorWeights:function(e){var t=r.map(e.nodes(),(function(t){var n={};return r.forEach(e.outEdges(t),(function(t){n[t.w]=(n[t.w]||0)+e.edge(t).weight})),n}));return r.zipObject(e.nodes(),t)},predecessorWeights:function(e){var t=r.map(e.nodes(),(function(t){var n={};return r.forEach(e.inEdges(t),(function(t){n[t.v]=(n[t.v]||0)+e.edge(t).weight})),n}));return r.zipObject(e.nodes(),t)},intersectRect:function(e,t){var n,r,i=e.x,o=e.y,a=t.x-i,s=t.y-o,l=e.width/2,c=e.height/2;if(!a&&!s)throw new Error("Not possible to find intersection inside of the rectangle");Math.abs(s)*l>Math.abs(a)*c?(s<0&&(c=-c),n=c*a/s,r=c):(a<0&&(l=-l),n=l,r=l*s/a);return{x:i+n,y:o+r}},buildLayerMatrix:function(e){var t=r.map(r.range(a(e)+1),(function(){return[]}));return r.forEach(e.nodes(),(function(n){var i=e.node(n),o=i.rank;r.isUndefined(o)||(t[o][i.order]=n)})),t},normalizeRanks:function(e){var t=r.min(r.map(e.nodes(),(function(t){return e.node(t).rank})));r.forEach(e.nodes(),(function(n){var i=e.node(n);r.has(i,"rank")&&(i.rank-=t)}))},removeEmptyRanks:function(e){var t=r.min(r.map(e.nodes(),(function(t){return e.node(t).rank}))),n=[];r.forEach(e.nodes(),(function(r){var i=e.node(r).rank-t;n[i]||(n[i]=[]),n[i].push(r)}));var i=0,o=e.graph().nodeRankFactor;r.forEach(n,(function(t,n){r.isUndefined(t)&&n%o!=0?--i:i&&r.forEach(t,(function(t){e.node(t).rank+=i}))}))},addBorderNode:function(e,t,n,r){var i={width:0,height:0};arguments.length>=4&&(i.rank=n,i.order=r);return o(e,"border",i,t)},maxRank:a,partition:function(e,t){var n={lhs:[],rhs:[]};return r.forEach(e,(function(e){t(e)?n.lhs.push(e):n.rhs.push(e)})),n},time:function(e,t){var n=r.now();try{return t()}finally{console.log(e+" time: "+(r.now()-n)+"ms")}},notime:function(e,t){return t()}}},function(e,t,n){"use strict";n.r(t),n.d(t,"default",(function(){return kn})),n.d(t,"VERSION",(function(){return i.e})),n.d(t,"restArguments",(function(){return o})),n.d(t,"isObject",(function(){return a})),n.d(t,"isNull",(function(){return s})),n.d(t,"isUndefined",(function(){return l})),n.d(t,"isBoolean",(function(){return c})),n.d(t,"isElement",(function(){return u})),n.d(t,"isString",(function(){return p})),n.d(t,"isNumber",(function(){return f})),n.d(t,"isDate",(function(){return h})),n.d(t,"isRegExp",(function(){return g})),n.d(t,"isError",(function(){return m})),n.d(t,"isSymbol",(function(){return v})),n.d(t,"isArrayBuffer",(function(){return b})),n.d(t,"isDataView",(function(){return $})),n.d(t,"isArray",(function(){return C})),n.d(t,"isFunction",(function(){return w})),n.d(t,"isArguments",(function(){return T})),n.d(t,"isFinite",(function(){return j})),n.d(t,"isNaN",(function(){return P})),n.d(t,"isTypedArray",(function(){return L})),n.d(t,"isEmpty",(function(){return V})),n.d(t,"isMatch",(function(){return U})),n.d(t,"isEqual",(function(){return Y})),n.d(t,"isMap",(function(){return re})),n.d(t,"isWeakMap",(function(){return ie})),n.d(t,"isSet",(function(){return oe})),n.d(t,"isWeakSet",(function(){return ae})),n.d(t,"keys",(function(){return q})),n.d(t,"allKeys",(function(){return X})),n.d(t,"values",(function(){return se})),n.d(t,"pairs",(function(){return le})),n.d(t,"invert",(function(){return ce})),n.d(t,"functions",(function(){return ue})),n.d(t,"methods",(function(){return ue})),n.d(t,"extend",(function(){return pe})),n.d(t,"extendOwn",(function(){return fe})),n.d(t,"assign",(function(){return fe})),n.d(t,"defaults",(function(){return he})),n.d(t,"create",(function(){return me})),n.d(t,"clone",(function(){return ve})),n.d(t,"tap",(function(){return be})),n.d(t,"get",(function(){return ke})),n.d(t,"has",(function(){return Ae})),n.d(t,"mapObject",(function(){return je})),n.d(t,"identity",(function(){return Ee})),n.d(t,"constant",(function(){return D})),n.d(t,"noop",(function(){return Pe})),n.d(t,"toPath",(function(){return ye})),n.d(t,"property",(function(){return $e})),n.d(t,"propertyOf",(function(){return De})),n.d(t,"matcher",(function(){return Se})),n.d(t,"matches",(function(){return Se})),n.d(t,"times",(function(){return Re})),n.d(t,"random",(function(){return Ie})),n.d(t,"now",(function(){return Ne})),n.d(t,"escape",(function(){return Le})),n.d(t,"unescape",(function(){return Be})),n.d(t,"templateSettings",(function(){return Fe})),n.d(t,"template",(function(){return We})),n.d(t,"result",(function(){return Ye})),n.d(t,"uniqueId",(function(){return Ze})),n.d(t,"chain",(function(){return Qe})),n.d(t,"iteratee",(function(){return Oe})),n.d(t,"partial",(function(){return et})),n.d(t,"bind",(function(){return tt})),n.d(t,"bindAll",(function(){return it})),n.d(t,"memoize",(function(){return ot})),n.d(t,"delay",(function(){return at})),n.d(t,"defer",(function(){return st})),n.d(t,"throttle",(function(){return lt})),n.d(t,"debounce",(function(){return ct})),n.d(t,"wrap",(function(){return ut})),n.d(t,"negate",(function(){return dt})),n.d(t,"compose",(function(){return pt})),n.d(t,"after",(function(){return ft})),n.d(t,"before",(function(){return ht})),n.d(t,"once",(function(){return gt})),n.d(t,"findKey",(function(){return mt})),n.d(t,"findIndex",(function(){return bt})),n.d(t,"findLastIndex",(function(){return yt})),n.d(t,"sortedIndex",(function(){return xt})),n.d(t,"indexOf",(function(){return kt})),n.d(t,"lastIndexOf",(function(){return At})),n.d(t,"find",(function(){return Et})),n.d(t,"detect",(function(){return Et})),n.d(t,"findWhere",(function(){return St})),n.d(t,"each",(function(){return $t})),n.d(t,"forEach",(function(){return $t})),n.d(t,"map",(function(){return Ct})),n.d(t,"collect",(function(){return Ct})),n.d(t,"reduce",(function(){return Ot})),n.d(t,"foldl",(function(){return Ot})),n.d(t,"inject",(function(){return Ot})),n.d(t,"reduceRight",(function(){return Tt})),n.d(t,"foldr",(function(){return Tt})),n.d(t,"filter",(function(){return jt})),n.d(t,"select",(function(){return jt})),n.d(t,"reject",(function(){return Pt})),n.d(t,"every",(function(){return Dt})),n.d(t,"all",(function(){return Dt})),n.d(t,"some",(function(){return Rt})),n.d(t,"any",(function(){return Rt})),n.d(t,"contains",(function(){return It})),n.d(t,"includes",(function(){return It})),n.d(t,"include",(function(){return It})),n.d(t,"invoke",(function(){return Nt})),n.d(t,"pluck",(function(){return Mt})),n.d(t,"where",(function(){return zt})),n.d(t,"max",(function(){return Lt})),n.d(t,"min",(function(){return Bt})),n.d(t,"shuffle",(function(){return Ut})),n.d(t,"sample",(function(){return Vt})),n.d(t,"sortBy",(function(){return Ht})),n.d(t,"groupBy",(function(){return Wt})),n.d(t,"indexBy",(function(){return Yt})),n.d(t,"countBy",(function(){return Xt})),n.d(t,"partition",(function(){return Zt})),n.d(t,"toArray",(function(){return qt})),n.d(t,"size",(function(){return Qt})),n.d(t,"pick",(function(){return Kt})),n.d(t,"omit",(function(){return en})),n.d(t,"first",(function(){return nn})),n.d(t,"head",(function(){return nn})),n.d(t,"take",(function(){return nn})),n.d(t,"initial",(function(){return tn})),n.d(t,"last",(function(){return on})),n.d(t,"rest",(function(){return rn})),n.d(t,"tail",(function(){return rn})),n.d(t,"drop",(function(){return rn})),n.d(t,"compact",(function(){return an})),n.d(t,"flatten",(function(){return sn})),n.d(t,"without",(function(){return cn})),n.d(t,"uniq",(function(){return un})),n.d(t,"unique",(function(){return un})),n.d(t,"union",(function(){return dn})),n.d(t,"intersection",(function(){return pn})),n.d(t,"difference",(function(){return ln})),n.d(t,"unzip",(function(){return fn})),n.d(t,"transpose",(function(){return fn})),n.d(t,"zip",(function(){return hn})),n.d(t,"object",(function(){return gn})),n.d(t,"range",(function(){return mn})),n.d(t,"chunk",(function(){return vn})),n.d(t,"mixin",(function(){return yn}));var r={};n.r(r),n.d(r,"VERSION",(function(){return i.e})),n.d(r,"restArguments",(function(){return o})),n.d(r,"isObject",(function(){return a})),n.d(r,"isNull",(function(){return s})),n.d(r,"isUndefined",(function(){return l})),n.d(r,"isBoolean",(function(){return c})),n.d(r,"isElement",(function(){return u})),n.d(r,"isString",(function(){return p})),n.d(r,"isNumber",(function(){return f})),n.d(r,"isDate",(function(){return h})),n.d(r,"isRegExp",(function(){return g})),n.d(r,"isError",(function(){return m})),n.d(r,"isSymbol",(function(){return v})),n.d(r,"isArrayBuffer",(function(){return b})),n.d(r,"isDataView",(function(){return $})),n.d(r,"isArray",(function(){return C})),n.d(r,"isFunction",(function(){return w})),n.d(r,"isArguments",(function(){return T})),n.d(r,"isFinite",(function(){return j})),n.d(r,"isNaN",(function(){return P})),n.d(r,"isTypedArray",(function(){return L})),n.d(r,"isEmpty",(function(){return V})),n.d(r,"isMatch",(function(){return U})),n.d(r,"isEqual",(function(){return Y})),n.d(r,"isMap",(function(){return re})),n.d(r,"isWeakMap",(function(){return ie})),n.d(r,"isSet",(function(){return oe})),n.d(r,"isWeakSet",(function(){return ae})),n.d(r,"keys",(function(){return q})),n.d(r,"allKeys",(function(){return X})),n.d(r,"values",(function(){return se})),n.d(r,"pairs",(function(){return le})),n.d(r,"invert",(function(){return ce})),n.d(r,"functions",(function(){return ue})),n.d(r,"methods",(function(){return ue})),n.d(r,"extend",(function(){return pe})),n.d(r,"extendOwn",(function(){return fe})),n.d(r,"assign",(function(){return fe})),n.d(r,"defaults",(function(){return he})),n.d(r,"create",(function(){return me})),n.d(r,"clone",(function(){return ve})),n.d(r,"tap",(function(){return be})),n.d(r,"get",(function(){return ke})),n.d(r,"has",(function(){return Ae})),n.d(r,"mapObject",(function(){return je})),n.d(r,"identity",(function(){return Ee})),n.d(r,"constant",(function(){return D})),n.d(r,"noop",(function(){return Pe})),n.d(r,"toPath",(function(){return ye})),n.d(r,"property",(function(){return $e})),n.d(r,"propertyOf",(function(){return De})),n.d(r,"matcher",(function(){return Se})),n.d(r,"matches",(function(){return Se})),n.d(r,"times",(function(){return Re})),n.d(r,"random",(function(){return Ie})),n.d(r,"now",(function(){return Ne})),n.d(r,"escape",(function(){return Le})),n.d(r,"unescape",(function(){return Be})),n.d(r,"templateSettings",(function(){return Fe})),n.d(r,"template",(function(){return We})),n.d(r,"result",(function(){return Ye})),n.d(r,"uniqueId",(function(){return Ze})),n.d(r,"chain",(function(){return Qe})),n.d(r,"iteratee",(function(){return Oe})),n.d(r,"partial",(function(){return et})),n.d(r,"bind",(function(){return tt})),n.d(r,"bindAll",(function(){return it})),n.d(r,"memoize",(function(){return ot})),n.d(r,"delay",(function(){return at})),n.d(r,"defer",(function(){return st})),n.d(r,"throttle",(function(){return lt})),n.d(r,"debounce",(function(){return ct})),n.d(r,"wrap",(function(){return ut})),n.d(r,"negate",(function(){return dt})),n.d(r,"compose",(function(){return pt})),n.d(r,"after",(function(){return ft})),n.d(r,"before",(function(){return ht})),n.d(r,"once",(function(){return gt})),n.d(r,"findKey",(function(){return mt})),n.d(r,"findIndex",(function(){return bt})),n.d(r,"findLastIndex",(function(){return yt})),n.d(r,"sortedIndex",(function(){return xt})),n.d(r,"indexOf",(function(){return kt})),n.d(r,"lastIndexOf",(function(){return At})),n.d(r,"find",(function(){return Et})),n.d(r,"detect",(function(){return Et})),n.d(r,"findWhere",(function(){return St})),n.d(r,"each",(function(){return $t})),n.d(r,"forEach",(function(){return $t})),n.d(r,"map",(function(){return Ct})),n.d(r,"collect",(function(){return Ct})),n.d(r,"reduce",(function(){return Ot})),n.d(r,"foldl",(function(){return Ot})),n.d(r,"inject",(function(){return Ot})),n.d(r,"reduceRight",(function(){return Tt})),n.d(r,"foldr",(function(){return Tt})),n.d(r,"filter",(function(){return jt})),n.d(r,"select",(function(){return jt})),n.d(r,"reject",(function(){return Pt})),n.d(r,"every",(function(){return Dt})),n.d(r,"all",(function(){return Dt})),n.d(r,"some",(function(){return Rt})),n.d(r,"any",(function(){return Rt})),n.d(r,"contains",(function(){return It})),n.d(r,"includes",(function(){return It})),n.d(r,"include",(function(){return It})),n.d(r,"invoke",(function(){return Nt})),n.d(r,"pluck",(function(){return Mt})),n.d(r,"where",(function(){return zt})),n.d(r,"max",(function(){return Lt})),n.d(r,"min",(function(){return Bt})),n.d(r,"shuffle",(function(){return Ut})),n.d(r,"sample",(function(){return Vt})),n.d(r,"sortBy",(function(){return Ht})),n.d(r,"groupBy",(function(){return Wt})),n.d(r,"indexBy",(function(){return Yt})),n.d(r,"countBy",(function(){return Xt})),n.d(r,"partition",(function(){return Zt})),n.d(r,"toArray",(function(){return qt})),n.d(r,"size",(function(){return Qt})),n.d(r,"pick",(function(){return Kt})),n.d(r,"omit",(function(){return en})),n.d(r,"first",(function(){return nn})),n.d(r,"head",(function(){return nn})),n.d(r,"take",(function(){return nn})),n.d(r,"initial",(function(){return tn})),n.d(r,"last",(function(){return on})),n.d(r,"rest",(function(){return rn})),n.d(r,"tail",(function(){return rn})),n.d(r,"drop",(function(){return rn})),n.d(r,"compact",(function(){return an})),n.d(r,"flatten",(function(){return sn})),n.d(r,"without",(function(){return cn})),n.d(r,"uniq",(function(){return un})),n.d(r,"unique",(function(){return un})),n.d(r,"union",(function(){return dn})),n.d(r,"intersection",(function(){return pn})),n.d(r,"difference",(function(){return ln})),n.d(r,"unzip",(function(){return fn})),n.d(r,"transpose",(function(){return fn})),n.d(r,"zip",(function(){return hn})),n.d(r,"object",(function(){return gn})),n.d(r,"range",(function(){return mn})),n.d(r,"chunk",(function(){return vn})),n.d(r,"mixin",(function(){return yn})),n.d(r,"default",(function(){return xn}));var i=n(5);function o(e,t){return t=null==t?e.length-1:+t,function(){for(var n=Math.max(arguments.length-t,0),r=Array(n),i=0;i<n;i++)r[i]=arguments[i+t];switch(t){case 0:return e.call(this,r);case 1:return e.call(this,arguments[0],r);case 2:return e.call(this,arguments[0],arguments[1],r)}var o=Array(t+1);for(i=0;i<t;i++)o[i]=arguments[i];return o[t]=r,e.apply(this,o)}}function a(e){var t=typeof e;return"function"===t||"object"===t&&!!e}function s(e){return null===e}function l(e){return void 0===e}function c(e){return!0===e||!1===e||"[object Boolean]"===i.t.call(e)}function u(e){return!(!e||1!==e.nodeType)}function d(e){var t="[object "+e+"]";return function(e){return i.t.call(e)===t}}var p=d("String"),f=d("Number"),h=d("Date"),g=d("RegExp"),m=d("Error"),v=d("Symbol"),b=d("ArrayBuffer"),y=d("Function"),x=i.p.document&&i.p.document.childNodes;"object"!=typeof Int8Array&&"function"!=typeof x&&(y=function(e){return"function"==typeof e||!1});var w=y,k=d("Object"),A=i.s&&k(new DataView(new ArrayBuffer(8))),E="undefined"!=typeof Map&&k(new Map),S=d("DataView");var $=A?function(e){return null!=e&&w(e.getInt8)&&b(e.buffer)}:S,C=i.k||d("Array");function _(e,t){return null!=e&&i.i.call(e,t)}var O=d("Arguments");!function(){O(arguments)||(O=function(e){return _(e,"callee")})}();var T=O;function j(e){return!v(e)&&Object(i.f)(e)&&!isNaN(parseFloat(e))}function P(e){return f(e)&&Object(i.g)(e)}function D(e){return function(){return e}}function R(e){return function(t){var n=e(t);return"number"==typeof n&&n>=0&&n<=i.b}}function I(e){return function(t){return null==t?void 0:t[e]}}var N=I("byteLength"),M=R(N),z=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;var L=i.r?function(e){return i.l?Object(i.l)(e)&&!$(e):M(e)&&z.test(i.t.call(e))}:D(!1),B=I("length");function F(e,t){t=function(e){for(var t={},n=e.length,r=0;r<n;++r)t[e[r]]=!0;return{contains:function(e){return!0===t[e]},push:function(n){return t[n]=!0,e.push(n)}}}(t);var n=i.n.length,r=e.constructor,o=w(r)&&r.prototype||i.c,a="constructor";for(_(e,a)&&!t.contains(a)&&t.push(a);n--;)(a=i.n[n])in e&&e[a]!==o[a]&&!t.contains(a)&&t.push(a)}function q(e){if(!a(e))return[];if(i.m)return Object(i.m)(e);var t=[];for(var n in e)_(e,n)&&t.push(n);return i.h&&F(e,t),t}function V(e){if(null==e)return!0;var t=B(e);return"number"==typeof t&&(C(e)||p(e)||T(e))?0===t:0===B(q(e))}function U(e,t){var n=q(t),r=n.length;if(null==e)return!r;for(var i=Object(e),o=0;o<r;o++){var a=n[o];if(t[a]!==i[a]||!(a in i))return!1}return!0}function H(e){return e instanceof H?e:this instanceof H?void(this._wrapped=e):new H(e)}function G(e){return new Uint8Array(e.buffer||e,e.byteOffset||0,N(e))}H.VERSION=i.e,H.prototype.value=function(){return this._wrapped},H.prototype.valueOf=H.prototype.toJSON=H.prototype.value,H.prototype.toString=function(){return String(this._wrapped)};function W(e,t,n,r){if(e===t)return 0!==e||1/e==1/t;if(null==e||null==t)return!1;if(e!=e)return t!=t;var o=typeof e;return("function"===o||"object"===o||"object"==typeof t)&&function e(t,n,r,o){t instanceof H&&(t=t._wrapped);n instanceof H&&(n=n._wrapped);var a=i.t.call(t);if(a!==i.t.call(n))return!1;if(A&&"[object Object]"==a&&$(t)){if(!$(n))return!1;a="[object DataView]"}switch(a){case"[object RegExp]":case"[object String]":return""+t==""+n;case"[object Number]":return+t!=+t?+n!=+n:0==+t?1/+t==1/n:+t==+n;case"[object Date]":case"[object Boolean]":return+t==+n;case"[object Symbol]":return i.d.valueOf.call(t)===i.d.valueOf.call(n);case"[object ArrayBuffer]":case"[object DataView]":return e(G(t),G(n),r,o)}var s="[object Array]"===a;if(!s&&L(t)){if(N(t)!==N(n))return!1;if(t.buffer===n.buffer&&t.byteOffset===n.byteOffset)return!0;s=!0}if(!s){if("object"!=typeof t||"object"!=typeof n)return!1;var l=t.constructor,c=n.constructor;if(l!==c&&!(w(l)&&l instanceof l&&w(c)&&c instanceof c)&&"constructor"in t&&"constructor"in n)return!1}o=o||[];var u=(r=r||[]).length;for(;u--;)if(r[u]===t)return o[u]===n;if(r.push(t),o.push(n),s){if((u=t.length)!==n.length)return!1;for(;u--;)if(!W(t[u],n[u],r,o))return!1}else{var d,p=q(t);if(u=p.length,q(n).length!==u)return!1;for(;u--;)if(d=p[u],!_(n,d)||!W(t[d],n[d],r,o))return!1}return r.pop(),o.pop(),!0}(e,t,n,r)}function Y(e,t){return W(e,t)}function X(e){if(!a(e))return[];var t=[];for(var n in e)t.push(n);return i.h&&F(e,t),t}function Z(e){var t=B(e);return function(n){if(null==n)return!1;var r=X(n);if(B(r))return!1;for(var i=0;i<t;i++)if(!w(n[e[i]]))return!1;return e!==te||!w(n[Q])}}var Q="forEach",J=["clear","delete"],K=["get","has","set"],ee=J.concat(Q,K),te=J.concat(K),ne=["add"].concat(J,Q,"has"),re=E?Z(ee):d("Map"),ie=E?Z(te):d("WeakMap"),oe=E?Z(ne):d("Set"),ae=d("WeakSet");function se(e){for(var t=q(e),n=t.length,r=Array(n),i=0;i<n;i++)r[i]=e[t[i]];return r}function le(e){for(var t=q(e),n=t.length,r=Array(n),i=0;i<n;i++)r[i]=[t[i],e[t[i]]];return r}function ce(e){for(var t={},n=q(e),r=0,i=n.length;r<i;r++)t[e[n[r]]]=n[r];return t}function ue(e){var t=[];for(var n in e)w(e[n])&&t.push(n);return t.sort()}function de(e,t){return function(n){var r=arguments.length;if(t&&(n=Object(n)),r<2||null==n)return n;for(var i=1;i<r;i++)for(var o=arguments[i],a=e(o),s=a.length,l=0;l<s;l++){var c=a[l];t&&void 0!==n[c]||(n[c]=o[c])}return n}}var pe=de(X),fe=de(q),he=de(X,!0);function ge(e){if(!a(e))return{};if(i.j)return Object(i.j)(e);var t=function(){};t.prototype=e;var n=new t;return t.prototype=null,n}function me(e,t){var n=ge(e);return t&&fe(n,t),n}function ve(e){return a(e)?C(e)?e.slice():pe({},e):e}function be(e,t){return t(e),e}function ye(e){return C(e)?e:[e]}function xe(e){return H.toPath(e)}function we(e,t){for(var n=t.length,r=0;r<n;r++){if(null==e)return;e=e[t[r]]}return n?e:void 0}function ke(e,t,n){var r=we(e,xe(t));return l(r)?n:r}function Ae(e,t){for(var n=(t=xe(t)).length,r=0;r<n;r++){var i=t[r];if(!_(e,i))return!1;e=e[i]}return!!n}function Ee(e){return e}function Se(e){return e=fe({},e),function(t){return U(t,e)}}function $e(e){return e=xe(e),function(t){return we(t,e)}}function Ce(e,t,n){if(void 0===t)return e;switch(null==n?3:n){case 1:return function(n){return e.call(t,n)};case 3:return function(n,r,i){return e.call(t,n,r,i)};case 4:return function(n,r,i,o){return e.call(t,n,r,i,o)}}return function(){return e.apply(t,arguments)}}function _e(e,t,n){return null==e?Ee:w(e)?Ce(e,t,n):a(e)&&!C(e)?Se(e):$e(e)}function Oe(e,t){return _e(e,t,1/0)}function Te(e,t,n){return H.iteratee!==Oe?H.iteratee(e,t):_e(e,t,n)}function je(e,t,n){t=Te(t,n);for(var r=q(e),i=r.length,o={},a=0;a<i;a++){var s=r[a];o[s]=t(e[s],s,e)}return o}function Pe(){}function De(e){return null==e?Pe:function(t){return ke(e,t)}}function Re(e,t,n){var r=Array(Math.max(0,e));t=Ce(t,n,1);for(var i=0;i<e;i++)r[i]=t(i);return r}function Ie(e,t){return null==t&&(t=e,e=0),e+Math.floor(Math.random()*(t-e+1))}H.toPath=ye,H.iteratee=Oe;var Ne=Date.now||function(){return(new Date).getTime()};function Me(e){var t=function(t){return e[t]},n="(?:"+q(e).join("|")+")",r=RegExp(n),i=RegExp(n,"g");return function(e){return e=null==e?"":""+e,r.test(e)?e.replace(i,t):e}}var ze={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},Le=Me(ze),Be=Me(ce(ze)),Fe=H.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},qe=/(.)^/,Ve={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},Ue=/\\|'|\r|\n|\u2028|\u2029/g;function He(e){return"\\"+Ve[e]}var Ge=/^\s*(\w|\$)+\s*$/;function We(e,t,n){!t&&n&&(t=n),t=he({},t,H.templateSettings);var r=RegExp([(t.escape||qe).source,(t.interpolate||qe).source,(t.evaluate||qe).source].join("|")+"|$","g"),i=0,o="__p+='";e.replace(r,(function(t,n,r,a,s){return o+=e.slice(i,s).replace(Ue,He),i=s+t.length,n?o+="'+\n((__t=("+n+"))==null?'':_.escape(__t))+\n'":r?o+="'+\n((__t=("+r+"))==null?'':__t)+\n'":a&&(o+="';\n"+a+"\n__p+='"),t})),o+="';\n";var a,s=t.variable;if(s){if(!Ge.test(s))throw new Error("variable is not a bare identifier: "+s)}else o="with(obj||{}){\n"+o+"}\n",s="obj";o="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+o+"return __p;\n";try{a=new Function(s,"_",o)}catch(e){throw e.source=o,e}var l=function(e){return a.call(this,e,H)};return l.source="function("+s+"){\n"+o+"}",l}function Ye(e,t,n){var r=(t=xe(t)).length;if(!r)return w(n)?n.call(e):n;for(var i=0;i<r;i++){var o=null==e?void 0:e[t[i]];void 0===o&&(o=n,i=r),e=w(o)?o.call(e):o}return e}var Xe=0;function Ze(e){var t=++Xe+"";return e?e+t:t}function Qe(e){var t=H(e);return t._chain=!0,t}function Je(e,t,n,r,i){if(!(r instanceof t))return e.apply(n,i);var o=ge(e.prototype),s=e.apply(o,i);return a(s)?s:o}var Ke=o((function(e,t){var n=Ke.placeholder,r=function(){for(var i=0,o=t.length,a=Array(o),s=0;s<o;s++)a[s]=t[s]===n?arguments[i++]:t[s];for(;i<arguments.length;)a.push(arguments[i++]);return Je(e,r,this,this,a)};return r}));Ke.placeholder=H;var et=Ke,tt=o((function(e,t,n){if(!w(e))throw new TypeError("Bind must be called on a function");var r=o((function(i){return Je(e,r,t,this,n.concat(i))}));return r})),nt=R(B);function rt(e,t,n,r){if(r=r||[],t||0===t){if(t<=0)return r.concat(e)}else t=1/0;for(var i=r.length,o=0,a=B(e);o<a;o++){var s=e[o];if(nt(s)&&(C(s)||T(s)))if(t>1)rt(s,t-1,n,r),i=r.length;else for(var l=0,c=s.length;l<c;)r[i++]=s[l++];else n||(r[i++]=s)}return r}var it=o((function(e,t){var n=(t=rt(t,!1,!1)).length;if(n<1)throw new Error("bindAll must be passed function names");for(;n--;){var r=t[n];e[r]=tt(e[r],e)}return e}));function ot(e,t){var n=function(r){var i=n.cache,o=""+(t?t.apply(this,arguments):r);return _(i,o)||(i[o]=e.apply(this,arguments)),i[o]};return n.cache={},n}var at=o((function(e,t,n){return setTimeout((function(){return e.apply(null,n)}),t)})),st=et(at,H,1);function lt(e,t,n){var r,i,o,a,s=0;n||(n={});var l=function(){s=!1===n.leading?0:Ne(),r=null,a=e.apply(i,o),r||(i=o=null)},c=function(){var c=Ne();s||!1!==n.leading||(s=c);var u=t-(c-s);return i=this,o=arguments,u<=0||u>t?(r&&(clearTimeout(r),r=null),s=c,a=e.apply(i,o),r||(i=o=null)):r||!1===n.trailing||(r=setTimeout(l,u)),a};return c.cancel=function(){clearTimeout(r),s=0,r=i=o=null},c}function ct(e,t,n){var r,i,a,s,l,c=function(){var o=Ne()-i;t>o?r=setTimeout(c,t-o):(r=null,n||(s=e.apply(l,a)),r||(a=l=null))},u=o((function(o){return l=this,a=o,i=Ne(),r||(r=setTimeout(c,t),n&&(s=e.apply(l,a))),s}));return u.cancel=function(){clearTimeout(r),r=a=l=null},u}function ut(e,t){return et(t,e)}function dt(e){return function(){return!e.apply(this,arguments)}}function pt(){var e=arguments,t=e.length-1;return function(){for(var n=t,r=e[t].apply(this,arguments);n--;)r=e[n].call(this,r);return r}}function ft(e,t){return function(){if(--e<1)return t.apply(this,arguments)}}function ht(e,t){var n;return function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=null),n}}var gt=et(ht,2);function mt(e,t,n){t=Te(t,n);for(var r,i=q(e),o=0,a=i.length;o<a;o++)if(t(e[r=i[o]],r,e))return r}function vt(e){return function(t,n,r){n=Te(n,r);for(var i=B(t),o=e>0?0:i-1;o>=0&&o<i;o+=e)if(n(t[o],o,t))return o;return-1}}var bt=vt(1),yt=vt(-1);function xt(e,t,n,r){for(var i=(n=Te(n,r,1))(t),o=0,a=B(e);o<a;){var s=Math.floor((o+a)/2);n(e[s])<i?o=s+1:a=s}return o}function wt(e,t,n){return function(r,o,a){var s=0,l=B(r);if("number"==typeof a)e>0?s=a>=0?a:Math.max(a+l,s):l=a>=0?Math.min(a+1,l):a+l+1;else if(n&&a&&l)return r[a=n(r,o)]===o?a:-1;if(o!=o)return(a=t(i.q.call(r,s,l),P))>=0?a+s:-1;for(a=e>0?s:l-1;a>=0&&a<l;a+=e)if(r[a]===o)return a;return-1}}var kt=wt(1,bt,xt),At=wt(-1,yt);function Et(e,t,n){var r=(nt(e)?bt:mt)(e,t,n);if(void 0!==r&&-1!==r)return e[r]}function St(e,t){return Et(e,Se(t))}function $t(e,t,n){var r,i;if(t=Ce(t,n),nt(e))for(r=0,i=e.length;r<i;r++)t(e[r],r,e);else{var o=q(e);for(r=0,i=o.length;r<i;r++)t(e[o[r]],o[r],e)}return e}function Ct(e,t,n){t=Te(t,n);for(var r=!nt(e)&&q(e),i=(r||e).length,o=Array(i),a=0;a<i;a++){var s=r?r[a]:a;o[a]=t(e[s],s,e)}return o}function _t(e){var t=function(t,n,r,i){var o=!nt(t)&&q(t),a=(o||t).length,s=e>0?0:a-1;for(i||(r=t[o?o[s]:s],s+=e);s>=0&&s<a;s+=e){var l=o?o[s]:s;r=n(r,t[l],l,t)}return r};return function(e,n,r,i){var o=arguments.length>=3;return t(e,Ce(n,i,4),r,o)}}var Ot=_t(1),Tt=_t(-1);function jt(e,t,n){var r=[];return t=Te(t,n),$t(e,(function(e,n,i){t(e,n,i)&&r.push(e)})),r}function Pt(e,t,n){return jt(e,dt(Te(t)),n)}function Dt(e,t,n){t=Te(t,n);for(var r=!nt(e)&&q(e),i=(r||e).length,o=0;o<i;o++){var a=r?r[o]:o;if(!t(e[a],a,e))return!1}return!0}function Rt(e,t,n){t=Te(t,n);for(var r=!nt(e)&&q(e),i=(r||e).length,o=0;o<i;o++){var a=r?r[o]:o;if(t(e[a],a,e))return!0}return!1}function It(e,t,n,r){return nt(e)||(e=se(e)),("number"!=typeof n||r)&&(n=0),kt(e,t,n)>=0}var Nt=o((function(e,t,n){var r,i;return w(t)?i=t:(t=xe(t),r=t.slice(0,-1),t=t[t.length-1]),Ct(e,(function(e){var o=i;if(!o){if(r&&r.length&&(e=we(e,r)),null==e)return;o=e[t]}return null==o?o:o.apply(e,n)}))}));function Mt(e,t){return Ct(e,$e(t))}function zt(e,t){return jt(e,Se(t))}function Lt(e,t,n){var r,i,o=-1/0,a=-1/0;if(null==t||"number"==typeof t&&"object"!=typeof e[0]&&null!=e)for(var s=0,l=(e=nt(e)?e:se(e)).length;s<l;s++)null!=(r=e[s])&&r>o&&(o=r);else t=Te(t,n),$t(e,(function(e,n,r){((i=t(e,n,r))>a||i===-1/0&&o===-1/0)&&(o=e,a=i)}));return o}function Bt(e,t,n){var r,i,o=1/0,a=1/0;if(null==t||"number"==typeof t&&"object"!=typeof e[0]&&null!=e)for(var s=0,l=(e=nt(e)?e:se(e)).length;s<l;s++)null!=(r=e[s])&&r<o&&(o=r);else t=Te(t,n),$t(e,(function(e,n,r){((i=t(e,n,r))<a||i===1/0&&o===1/0)&&(o=e,a=i)}));return o}var Ft=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;function qt(e){return e?C(e)?i.q.call(e):p(e)?e.match(Ft):nt(e)?Ct(e,Ee):se(e):[]}function Vt(e,t,n){if(null==t||n)return nt(e)||(e=se(e)),e[Ie(e.length-1)];var r=qt(e),i=B(r);t=Math.max(Math.min(t,i),0);for(var o=i-1,a=0;a<t;a++){var s=Ie(a,o),l=r[a];r[a]=r[s],r[s]=l}return r.slice(0,t)}function Ut(e){return Vt(e,1/0)}function Ht(e,t,n){var r=0;return t=Te(t,n),Mt(Ct(e,(function(e,n,i){return{value:e,index:r++,criteria:t(e,n,i)}})).sort((function(e,t){var n=e.criteria,r=t.criteria;if(n!==r){if(n>r||void 0===n)return 1;if(n<r||void 0===r)return-1}return e.index-t.index})),"value")}function Gt(e,t){return function(n,r,i){var o=t?[[],[]]:{};return r=Te(r,i),$t(n,(function(t,i){var a=r(t,i,n);e(o,t,a)})),o}}var Wt=Gt((function(e,t,n){_(e,n)?e[n].push(t):e[n]=[t]})),Yt=Gt((function(e,t,n){e[n]=t})),Xt=Gt((function(e,t,n){_(e,n)?e[n]++:e[n]=1})),Zt=Gt((function(e,t,n){e[n?0:1].push(t)}),!0);function Qt(e){return null==e?0:nt(e)?e.length:q(e).length}function Jt(e,t,n){return t in n}var Kt=o((function(e,t){var n={},r=t[0];if(null==e)return n;w(r)?(t.length>1&&(r=Ce(r,t[1])),t=X(e)):(r=Jt,t=rt(t,!1,!1),e=Object(e));for(var i=0,o=t.length;i<o;i++){var a=t[i],s=e[a];r(s,a,e)&&(n[a]=s)}return n})),en=o((function(e,t){var n,r=t[0];return w(r)?(r=dt(r),t.length>1&&(n=t[1])):(t=Ct(rt(t,!1,!1),String),r=function(e,n){return!It(t,n)}),Kt(e,r,n)}));function tn(e,t,n){return i.q.call(e,0,Math.max(0,e.length-(null==t||n?1:t)))}function nn(e,t,n){return null==e||e.length<1?null==t||n?void 0:[]:null==t||n?e[0]:tn(e,e.length-t)}function rn(e,t,n){return i.q.call(e,null==t||n?1:t)}function on(e,t,n){return null==e||e.length<1?null==t||n?void 0:[]:null==t||n?e[e.length-1]:rn(e,Math.max(0,e.length-t))}function an(e){return jt(e,Boolean)}function sn(e,t){return rt(e,t,!1)}var ln=o((function(e,t){return t=rt(t,!0,!0),jt(e,(function(e){return!It(t,e)}))})),cn=o((function(e,t){return ln(e,t)}));function un(e,t,n,r){c(t)||(r=n,n=t,t=!1),null!=n&&(n=Te(n,r));for(var i=[],o=[],a=0,s=B(e);a<s;a++){var l=e[a],u=n?n(l,a,e):l;t&&!n?(a&&o===u||i.push(l),o=u):n?It(o,u)||(o.push(u),i.push(l)):It(i,l)||i.push(l)}return i}var dn=o((function(e){return un(rt(e,!0,!0))}));function pn(e){for(var t=[],n=arguments.length,r=0,i=B(e);r<i;r++){var o=e[r];if(!It(t,o)){var a;for(a=1;a<n&&It(arguments[a],o);a++);a===n&&t.push(o)}}return t}function fn(e){for(var t=e&&Lt(e,B).length||0,n=Array(t),r=0;r<t;r++)n[r]=Mt(e,r);return n}var hn=o(fn);function gn(e,t){for(var n={},r=0,i=B(e);r<i;r++)t?n[e[r]]=t[r]:n[e[r][0]]=e[r][1];return n}function mn(e,t,n){null==t&&(t=e||0,e=0),n||(n=t<e?-1:1);for(var r=Math.max(Math.ceil((t-e)/n),0),i=Array(r),o=0;o<r;o++,e+=n)i[o]=e;return i}function vn(e,t){if(null==t||t<1)return[];for(var n=[],r=0,o=e.length;r<o;)n.push(i.q.call(e,r,r+=t));return n}function bn(e,t){return e._chain?H(t).chain():t}function yn(e){return $t(ue(e),(function(t){var n=H[t]=e[t];H.prototype[t]=function(){var e=[this._wrapped];return i.o.apply(e,arguments),bn(this,n.apply(H,e))}})),H}$t(["pop","push","reverse","shift","sort","splice","unshift"],(function(e){var t=i.a[e];H.prototype[e]=function(){var n=this._wrapped;return null!=n&&(t.apply(n,arguments),"shift"!==e&&"splice"!==e||0!==n.length||delete n[0]),bn(this,n)}})),$t(["concat","join","slice"],(function(e){var t=i.a[e];H.prototype[e]=function(){var e=this._wrapped;return null!=e&&(e=t.apply(e,arguments)),bn(this,e)}}));var xn=H,wn=yn(r);wn._=wn;var kn=wn},function(e,t,n){var r;try{r={clone:n(248),constant:n(126),each:n(167),filter:n(170),has:n(181),isArray:n(13),isEmpty:n(324),isFunction:n(64),isUndefined:n(182),keys:n(41),map:n(183),reduce:n(185),size:n(327),transform:n(333),union:n(334),values:n(190)}}catch(e){}r||(r=window._),e.exports=r},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(1),i=n(7),o=n(4),a=function(){function e(e,t,n,r){this._stateRegistry=e,this._identifier=t,this._identifier=t,this._params=Object(o.C)({},n||{}),this._options=Object(o.C)({},r||{}),this._definition=e.matcher.find(t,this._options.relative)}return e.prototype.name=function(){return this._definition&&this._definition.name||this._identifier},e.prototype.identifier=function(){return this._identifier},e.prototype.params=function(){return this._params},e.prototype.$state=function(){return this._definition},e.prototype.state=function(){return this._definition&&this._definition.self},e.prototype.options=function(){return this._options},e.prototype.exists=function(){return!(!this._definition||!this._definition.self)},e.prototype.valid=function(){return!this.error()},e.prototype.error=function(){var e=this.options().relative;if(!this._definition&&e){var t=e.name?e.name:e;return"Could not resolve '"+this.name()+"' from state '"+t+"'"}return this._definition?this._definition.self?void 0:"State '"+this.name()+"' has an invalid definition":"No such state '"+this.name()+"'"},e.prototype.toString=function(){return"'"+this.name()+"'"+Object(i.m)(this.params())},e.prototype.withState=function(t){return new e(this._stateRegistry,t,this._params,this._options)},e.prototype.withParams=function(t,n){void 0===n&&(n=!1);var r=n?t:Object(o.C)({},this._params,t);return new e(this._stateRegistry,this._identifier,r,this._options)},e.prototype.withOptions=function(t,n){void 0===n&&(n=!1);var r=n?t:Object(o.C)({},this._options,t);return new e(this._stateRegistry,this._identifier,this._params,r)},e.isDef=function(e){return e&&e.state&&(Object(r.l)(e.state)||Object(r.i)(e.state)&&Object(r.l)(e.state.name))},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return g})),n.d(t,"b",(function(){return m}));var r=n(0),i=n(3),o=n(10),a=n(6),s=n(69),l=n(15),c=n(18),u=n(7),d=n(4),p=s.a.when,f=[p.EAGER,p.LAZY],h=[p.EAGER],g="Native Injector",m=function(){function e(e){this._path=e}return e.prototype.getTokens=function(){return this._path.reduce((function(e,t){return e.concat(t.resolvables.map((function(e){return e.token})))}),[]).reduce(r.R,[])},e.prototype.getResolvable=function(e){var t=this._path.map((function(e){return e.resolvables})).reduce(r.T,[]).filter((function(t){return t.token===e}));return Object(r.P)(t)},e.prototype.getPolicy=function(e){var t=this.findNode(e);return e.getPolicy(t.state)},e.prototype.subContext=function(t){return new e(c.a.subPath(this._path,(function(e){return e.state===t})))},e.prototype.addResolvables=function(e,t){var n=Object(r.t)(this._path,Object(i.o)("state",t)),o=e.map((function(e){return e.token}));n.resolvables=n.resolvables.filter((function(e){return-1===o.indexOf(e.token)})).concat(e)},e.prototype.resolvePath=function(e,t){var n=this;void 0===e&&(e="LAZY");var l=(Object(r.z)(f,e)?e:"LAZY")===s.a.when.EAGER?h:f;o.c.traceResolvePath(this._path,e,t);var c=function(e,t){return function(i){return Object(r.z)(e,n.getPolicy(i)[t])}},u=this._path.reduce((function(e,r){var o=r.resolvables.filter(c(l,"when")),a=o.filter(c(["NOWAIT"],"async")),s=o.filter(Object(i.i)(c(["NOWAIT"],"async"))),u=n.subContext(r.state),d=function(e){return e.get(u,t).then((function(t){return{token:e.token,value:t}}))};return a.forEach(d),e.concat(s.map(d))}),[]);return a.b.$q.all(u)},e.prototype.injector=function(){return this._injector||(this._injector=new v(this))},e.prototype.findNode=function(e){return Object(r.t)(this._path,(function(t){return Object(r.z)(t.resolvables,e)}))},e.prototype.getDependencies=function(e){var t=this,n=this.findNode(e),i=(c.a.subPath(this._path,(function(e){return e===n}))||this._path).reduce((function(e,t){return e.concat(t.resolvables)}),[]).filter((function(t){return t!==e}));return e.deps.map((function(e){var n=i.filter((function(t){return t.token===e}));if(n.length)return Object(r.P)(n);var o=t.injector().getNative(e);if(Object(d.db)(o))throw new Error("Could not find Dependency Injection token: "+Object(u.m)(e));return new l.a(e,(function(){return o}),[],o)}))},e}(),v=function(){function e(e){this.context=e,this.native=this.get(g)||a.b.$injector}return e.prototype.get=function(e){var t=this.context.getResolvable(e);if(t){if("NOWAIT"===this.context.getPolicy(t).async)return t.get(this.context);if(!t.resolved)throw new Error("Resolvable async .get() not complete:"+Object(u.m)(t.token));return t.data}return this.getNative(e)},e.prototype.getAsync=function(e){var t=this.context.getResolvable(e);return t?t.get(this.context):a.b.$q.when(this.native.get(e))},e.prototype.getNative=function(e){return this.native&&this.native.get(e)},e}()},function(e,t,n){"use strict";n.r(t);var r=n(134);for(var i in r)["default"].indexOf(i)<0&&function(e){n.d(t,e,(function(){return r[e]}))}(i);var o=n(16);n.d(t,"DefType",(function(){return o.a})),n.d(t,"Param",(function(){return o.b}));var a=n(135);n.d(t,"ParamTypes",(function(){return a.a}));var s=n(92);n.d(t,"StateParams",(function(){return s.a}));var l=n(51);n.d(t,"ParamType",(function(){return l.a}))},function(e,t,n){"use strict";n.d(t,"c",(function(){return i})),n.d(t,"b",(function(){return o})),n.d(t,"e",(function(){return a})),n.d(t,"a",(function(){return s})),n.d(t,"d",(function(){return l}));var r=n(4),i=function(e,t){var n=t[0],i=t[1];return e.hasOwnProperty(n)?Object(r.R)(e[n])?e[n].push(i):e[n]=[e[n],i]:e[n]=i,e},o=function(e){return e.split("&").filter(r.M).map(r.Fb).reduce(i,{})};function a(e){var t=function(e){return e||""},n=Object(r.Gb)(e).map(t),i=n[0],o=n[1],a=Object(r.Ib)(i).map(t);return{path:a[0],search:a[1],hash:o,url:e}}var s=function(e){var t=e.path(),n=e.search(),i=e.hash(),o=Object.keys(n).map((function(e){var t=n[e];return(Object(r.R)(t)?t:[t]).map((function(t){return e+"="+t}))})).reduce(r.Rb,[]).join("&");return t+(o?"?"+o:"")+(i?"#"+i:"")};function l(e,t,n,r){return function(i){var o=i.locationService=new n(i),a=i.locationConfig=new r(i,t);return{name:e,service:o,configuration:a,dispose:function(e){e.dispose(o),e.dispose(a)}}}}},function(e,t,n){var r;try{r=n(148)}catch(e){}r||(r=window.graphlib),e.exports=r},function(e,t,n){var r=n(150),i="object"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function("return this")();e.exports=o},function(e,t,n){"use strict";n.r(t),n.d(t,"getReferences",(function(){return i})),n.d(t,"getParents",(function(){return o})),n.d(t,"getMacroReferences",(function(){return a})),n.d(t,"getMacroParents",(function(){return s}));const r=n(21);function i(e,t){let n=r.filter(e.nodes,(function(e){return!!(e.depends_on&&e.depends_on.nodes&&e.depends_on.nodes.length&&r.contains(e.depends_on.nodes,t.unique_id))}));return r.groupBy(n,"resource_type")}function o(e,t){let n=r.filter(e.nodes,(function(e){return!!(t.depends_on&&t.depends_on.nodes&&t.depends_on.nodes.length&&r.contains(t.depends_on.nodes,e.unique_id))})),i=r.filter(e.macros,(function(e){return!!(t.depends_on&&t.depends_on.macros&&t.depends_on.macros.length&&r.contains(t.depends_on.macros,e.unique_id))}));return r.groupBy(n.concat(i),"resource_type")}function a(e,t){let n=r.filter(e.nodes,(function(e){return!!(e.depends_on&&e.depends_on.macros&&e.depends_on.macros.length&&r.contains(e.depends_on.macros,t.unique_id))})),i=r.filter(e.macros,(function(e){return!!(e.depends_on&&e.depends_on.macros&&e.depends_on.macros.length&&r.contains(e.depends_on.macros,t.unique_id))}));return r.groupBy(n.concat(i),"resource_type")}function s(e,t){let n=r.filter(e.macros,(function(e){return!!(t.depends_on&&t.depends_on.macros&&t.depends_on.macros.length&&r.contains(t.depends_on.macros,e.unique_id))}));return r.groupBy(n,"resource_type")}},function(e,t,n){var r=n(447);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};n(40)(r,i);r.locals&&(e.exports=r.locals)},function(e,t,n){"use strict";n.d(t,"a",(function(){return p}));var r=n(0),i=n(3),o=n(1),a=n(16),s=n(7),l=n(4);function c(e,t){var n=["",""],r=e.replace(/[\\\[\]\^$*+?.()|{}]/g,"\\$&");if(!t)return r;switch(t.squash){case!1:n=["(",")"+(t.isOptional?"?":"")];break;case!0:r=r.replace(/\/$/,""),n=["(?:/(",")|/)?"];break;default:n=["("+t.squash+"|",")?"]}return r+n[0]+t.type.pattern.source+n[1]}var u=Object(s.k)("/"),d={state:{params:{}},strict:!0,caseInsensitive:!0,decodeParams:!0},p=function(){function e(t,n,o,a){var s=this;this._cache={path:[this]},this._children=[],this._params=[],this._segments=[],this._compiled=[],this.config=a=Object(l.y)(a,d),this.pattern=t;for(var u,p,f,h=/([:*])([\w\[\]]+)|\{([\w\[\]]+)(?:\:\s*((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,g=/([:]?)([\w\[\].-]+)|\{([\w\[\].-]+)(?:\:\s*((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,m=[],v=0,b=function(n){if(!e.nameValidator.test(n))throw new Error("Invalid parameter name '"+n+"' in pattern '"+t+"'");if(Object(r.t)(s._params,Object(i.o)("id",n)))throw new Error("Duplicate parameter name '"+n+"' in pattern '"+t+"'")},y=function(e,i){var o,a=e[2]||e[3],l=i?e[4]:e[4]||("*"===e[1]?"[\\s\\S]*":null);return{id:a,regexp:l,segment:t.substring(v,e.index),type:l?n.type(l)||(o=l,Object(r.A)(n.type(i?"query":"path"),{pattern:new RegExp(o,s.config.caseInsensitive?"i":void 0)})):null}};(u=h.exec(t))&&!((p=y(u,!1)).segment.indexOf("?")>=0);)b(p.id),this._params.push(o.fromPath(p.id,p.type,a.state)),this._segments.push(p.segment),m.push([p.segment,Object(r.P)(this._params)]),v=h.lastIndex;var x=(f=t.substring(v)).indexOf("?");if(x>=0){var w=f.substring(x);if(f=f.substring(0,x),w.length>0)for(v=0;u=g.exec(w);)b((p=y(u,!0)).id),this._params.push(o.fromSearch(p.id,p.type,a.state)),v=h.lastIndex}this._segments.push(f),this._compiled=m.map((function(e){return c.apply(null,e)})).concat(c(f))}return e.encodeDashes=function(e){return encodeURIComponent(e).replace(/-/g,(function(e){return"%5C%"+e.charCodeAt(0).toString(16).toUpperCase()}))},e.pathSegmentsAndParams=function(e){var t=e._segments,n=e._params.filter((function(e){return e.location===a.a.PATH}));return Object(r.i)(t,n.concat(void 0)).reduce(r.T,[]).filter((function(e){return""!==e&&Object(o.c)(e)}))},e.queryParams=function(e){return e._params.filter((function(e){return e.location===a.a.SEARCH}))},e.compare=function(t,n){var i=function(t){return t._cache.weights=t._cache.weights||function(t){return t._cache.segments=t._cache.segments||t._cache.path.map(e.pathSegmentsAndParams).reduce(r.T,[]).reduce(s.e,[]).map((function(e){return Object(o.l)(e)?u(e):e})).reduce(r.T,[])}(t).map((function(e){return"/"===e?1:Object(o.l)(e)?2:e instanceof a.b?3:void 0}))},l=i(t),c=i(n);!function(e,t,n){for(var r=Math.max(e.length,t.length);e.length<r;)e.push(n);for(;t.length<r;)t.push(n)}(l,c,0);var d,p,f=Object(r.i)(l,c);for(p=0;p<f.length;p++)if(0!==(d=f[p][0]-f[p][1]))return d;return 0},e.prototype.append=function(e){return this._children.push(e),e._cache={path:this._cache.path.concat(e),parent:this,pattern:null},e},e.prototype.isRoot=function(){return this._cache.path[0]===this},e.prototype.toString=function(){return this.pattern},e.prototype._getDecodedParamValue=function(e,t){return Object(o.c)(e)&&(this.config.decodeParams&&!t.type.raw&&(e=Object(o.a)(e)?e.map((function(e){return decodeURIComponent(e)})):decodeURIComponent(e)),e=t.type.decode(e)),t.value(e)},e.prototype.exec=function(e,t,n,o){var a=this;void 0===t&&(t={}),void 0===o&&(o={});var s,l,c,u=(s=this._cache,l="pattern",c=function(){return new RegExp(["^",Object(r.S)(a._cache.path.map(Object(i.n)("_compiled"))).join(""),!1===a.config.strict?"/?":"","$"].join(""),a.config.caseInsensitive?"i":void 0)},s[l]=s[l]||c()).exec(e);if(!u)return null;var d,p,f,h=this.parameters(),g=h.filter((function(e){return!e.isSearch()})),m=h.filter((function(e){return e.isSearch()})),v=this._cache.path.map((function(e){return e._segments.length-1})).reduce((function(e,t){return e+t})),b={};if(v!==u.length-1)throw new Error("Unbalanced capture group in route '"+this.pattern+"'");for(var y=0;y<v;y++){for(var x=g[y],w=u[y+1],k=0;k<x.replace.length;k++)x.replace[k].from===w&&(w=x.replace[k].to);w&&!0===x.array&&(d=void 0,p=void 0,f=void 0,p=(d=function(e){return e.split("").reverse().join("")})(w).split(/-(?!\\)/),f=Object(r.B)(p,d),w=Object(r.B)(f,(function(e){return e.replace(/\\-/g,"-")})).reverse()),b[x.id]=this._getDecodedParamValue(w,x)}return m.forEach((function(e){for(var n=t[e.id],r=0;r<e.replace.length;r++)e.replace[r].from===n&&(n=e.replace[r].to);b[e.id]=a._getDecodedParamValue(n,e)})),n&&(b["#"]=n),b},e.prototype.parameters=function(e){return void 0===e&&(e={}),!1===e.inherit?this._params:Object(r.S)(this._cache.path.map((function(e){return e._params})))},e.prototype.parameter=function(e,t){var n=this;void 0===t&&(t={});var r=this._cache.parent;return function(){for(var t=0,r=n._params;t<r.length;t++){var i=r[t];if(i.id===e)return i}}()||!1!==t.inherit&&r&&r.parameter(e,t)||null},e.prototype.validates=function(e){return e=e||{},this.parameters().filter((function(t){return e.hasOwnProperty(t.id)})).map((function(t){return n=t,r=e[t.id],!n||n.validates(r);var n,r})).reduce(r.e,!0)},e.prototype.format=function(t){void 0===t&&(t={});var n=this._cache.path,i=n.map(e.pathSegmentsAndParams).reduce(r.T,[]).map((function(e){return Object(o.l)(e)?e:s(e)})),a=n.map(e.queryParams).reduce(r.T,[]).map(s);if(i.concat(a).filter((function(e){return!1===e.isValid})).length)return null;function s(e){var n=e.value(t[e.id]),r=e.validates(n),i=e.isDefaultValue(n),o=!!i&&e.squash,a=e.type.encode(n);return{param:e,value:n,isValid:r,isDefaultValue:i,squash:o,encoded:a}}var l=i.reduce((function(t,n){if(Object(o.l)(n))return t+n;var i=n.squash,a=n.encoded,s=n.param;return!0===i?t.match(/\/$/)?t.slice(0,-1):t:Object(o.l)(i)?t+i:!1!==i||null==a?t:Object(o.a)(a)?t+Object(r.B)(a,e.encodeDashes).join("-"):s.raw?t+a:t+encodeURIComponent(a)}),""),c=a.map((function(e){var t=e.param,n=e.squash,i=e.encoded,a=e.isDefaultValue;if(!(null==i||a&&!1!==n)&&(Object(o.a)(i)||(i=[i]),0!==i.length))return t.raw||(i=Object(r.B)(i,encodeURIComponent)),i.map((function(e){return t.id+"="+e}))})).filter(r.y).reduce(r.T,[]).join("&");return l+(c?"?"+c:"")+(t["#"]?"#"+t["#"]:"")},e.nameValidator=/^\w+([-.]+\w+)*(?:\[\])?$/,e}()},function(e,t,n){var r; /*! * jQuery JavaScript Library v3.5.1 * https://jquery.com/ @@ -40,11 +66,11 @@ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors */(function(){var o="Expected a function",a="__lodash_placeholder__",s=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]],l="[object Arguments]",c="[object Array]",u="[object Boolean]",d="[object Date]",p="[object Error]",f="[object Function]",h="[object GeneratorFunction]",g="[object Map]",m="[object Number]",v="[object Object]",b="[object RegExp]",y="[object Set]",x="[object String]",w="[object Symbol]",k="[object WeakMap]",A="[object ArrayBuffer]",E="[object DataView]",S="[object Float32Array]",$="[object Float64Array]",C="[object Int8Array]",_="[object Int16Array]",O="[object Int32Array]",T="[object Uint8Array]",j="[object Uint16Array]",P="[object Uint32Array]",D=/\b__p \+= '';/g,R=/\b(__p \+=) '' \+/g,I=/(__e\(.*?\)|\b__t\)) \+\n'';/g,N=/&(?:amp|lt|gt|quot|#39);/g,M=/[&<>"']/g,z=RegExp(N.source),L=RegExp(M.source),B=/<%-([\s\S]+?)%>/g,F=/<%([\s\S]+?)%>/g,q=/<%=([\s\S]+?)%>/g,V=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,U=/^\w*$/,H=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,G=/[\\^$.*+?()[\]{}|]/g,W=RegExp(G.source),Y=/^\s+/,X=/\s/,Z=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Q=/\{\n\/\* \[wrapped with (.+)\] \*/,J=/,? & /,K=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ee=/[()=,{}\[\]\/\s]/,te=/\\(\\)?/g,ne=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,re=/\w*$/,ie=/^[-+]0x[0-9a-f]+$/i,oe=/^0b[01]+$/i,ae=/^\[object .+?Constructor\]$/,se=/^0o[0-7]+$/i,le=/^(?:0|[1-9]\d*)$/,ce=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,ue=/($^)/,de=/['\n\r\u2028\u2029\\]/g,pe="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",fe="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",he="[\\ud800-\\udfff]",ge="["+fe+"]",me="["+pe+"]",ve="\\d+",be="[\\u2700-\\u27bf]",ye="[a-z\\xdf-\\xf6\\xf8-\\xff]",xe="[^\\ud800-\\udfff"+fe+ve+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",we="\\ud83c[\\udffb-\\udfff]",ke="[^\\ud800-\\udfff]",Ae="(?:\\ud83c[\\udde6-\\uddff]){2}",Ee="[\\ud800-\\udbff][\\udc00-\\udfff]",Se="[A-Z\\xc0-\\xd6\\xd8-\\xde]",$e="(?:"+ye+"|"+xe+")",Ce="(?:"+Se+"|"+xe+")",_e="(?:"+me+"|"+we+")"+"?",Oe="[\\ufe0e\\ufe0f]?"+_e+("(?:\\u200d(?:"+[ke,Ae,Ee].join("|")+")[\\ufe0e\\ufe0f]?"+_e+")*"),Te="(?:"+[be,Ae,Ee].join("|")+")"+Oe,je="(?:"+[ke+me+"?",me,Ae,Ee,he].join("|")+")",Pe=RegExp("['’]","g"),De=RegExp(me,"g"),Re=RegExp(we+"(?="+we+")|"+je+Oe,"g"),Ie=RegExp([Se+"?"+ye+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[ge,Se,"$"].join("|")+")",Ce+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[ge,Se+$e,"$"].join("|")+")",Se+"?"+$e+"+(?:['’](?:d|ll|m|re|s|t|ve))?",Se+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ve,Te].join("|"),"g"),Ne=RegExp("[\\u200d\\ud800-\\udfff"+pe+"\\ufe0e\\ufe0f]"),Me=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,ze=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Le=-1,Be={};Be[S]=Be[$]=Be[C]=Be[_]=Be[O]=Be[T]=Be["[object Uint8ClampedArray]"]=Be[j]=Be[P]=!0,Be[l]=Be[c]=Be[A]=Be[u]=Be[E]=Be[d]=Be[p]=Be[f]=Be[g]=Be[m]=Be[v]=Be[b]=Be[y]=Be[x]=Be[k]=!1;var Fe={};Fe[l]=Fe[c]=Fe[A]=Fe[E]=Fe[u]=Fe[d]=Fe[S]=Fe[$]=Fe[C]=Fe[_]=Fe[O]=Fe[g]=Fe[m]=Fe[v]=Fe[b]=Fe[y]=Fe[x]=Fe[w]=Fe[T]=Fe["[object Uint8ClampedArray]"]=Fe[j]=Fe[P]=!0,Fe[p]=Fe[f]=Fe[k]=!1;var qe={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Ve=parseFloat,Ue=parseInt,He="object"==typeof e&&e&&e.Object===Object&&e,Ge="object"==typeof self&&self&&self.Object===Object&&self,We=He||Ge||Function("return this")(),Ye=t&&!t.nodeType&&t,Xe=Ye&&"object"==typeof r&&r&&!r.nodeType&&r,Ze=Xe&&Xe.exports===Ye,Qe=Ze&&He.process,Je=function(){try{var e=Xe&&Xe.require&&Xe.require("util").types;return e||Qe&&Qe.binding&&Qe.binding("util")}catch(e){}}(),Ke=Je&&Je.isArrayBuffer,et=Je&&Je.isDate,tt=Je&&Je.isMap,nt=Je&&Je.isRegExp,rt=Je&&Je.isSet,it=Je&&Je.isTypedArray;function ot(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function at(e,t,n,r){for(var i=-1,o=null==e?0:e.length;++i<o;){var a=e[i];t(r,a,n(a),e)}return r}function st(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e}function lt(e,t){for(var n=null==e?0:e.length;n--&&!1!==t(e[n],n,e););return e}function ct(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(!t(e[n],n,e))return!1;return!0}function ut(e,t){for(var n=-1,r=null==e?0:e.length,i=0,o=[];++n<r;){var a=e[n];t(a,n,e)&&(o[i++]=a)}return o}function dt(e,t){return!!(null==e?0:e.length)&&wt(e,t,0)>-1}function pt(e,t,n){for(var r=-1,i=null==e?0:e.length;++r<i;)if(n(t,e[r]))return!0;return!1}function ft(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}function ht(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}function gt(e,t,n,r){var i=-1,o=null==e?0:e.length;for(r&&o&&(n=e[++i]);++i<o;)n=t(n,e[i],i,e);return n}function mt(e,t,n,r){var i=null==e?0:e.length;for(r&&i&&(n=e[--i]);i--;)n=t(n,e[i],i,e);return n}function vt(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}var bt=St("length");function yt(e,t,n){var r;return n(e,(function(e,n,i){if(t(e,n,i))return r=n,!1})),r}function xt(e,t,n,r){for(var i=e.length,o=n+(r?1:-1);r?o--:++o<i;)if(t(e[o],o,e))return o;return-1}function wt(e,t,n){return t==t?function(e,t,n){var r=n-1,i=e.length;for(;++r<i;)if(e[r]===t)return r;return-1}(e,t,n):xt(e,At,n)}function kt(e,t,n,r){for(var i=n-1,o=e.length;++i<o;)if(r(e[i],t))return i;return-1}function At(e){return e!=e}function Et(e,t){var n=null==e?0:e.length;return n?_t(e,t)/n:NaN}function St(e){return function(t){return null==t?void 0:t[e]}}function $t(e){return function(t){return null==e?void 0:e[t]}}function Ct(e,t,n,r,i){return i(e,(function(e,i,o){n=r?(r=!1,e):t(n,e,i,o)})),n}function _t(e,t){for(var n,r=-1,i=e.length;++r<i;){var o=t(e[r]);void 0!==o&&(n=void 0===n?o:n+o)}return n}function Ot(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}function Tt(e){return e?e.slice(0,Yt(e)+1).replace(Y,""):e}function jt(e){return function(t){return e(t)}}function Pt(e,t){return ft(t,(function(t){return e[t]}))}function Dt(e,t){return e.has(t)}function Rt(e,t){for(var n=-1,r=e.length;++n<r&&wt(t,e[n],0)>-1;);return n}function It(e,t){for(var n=e.length;n--&&wt(t,e[n],0)>-1;);return n}function Nt(e,t){for(var n=e.length,r=0;n--;)e[n]===t&&++r;return r}var Mt=$t({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}),zt=$t({"&":"&","<":"<",">":">",'"':""","'":"'"});function Lt(e){return"\\"+qe[e]}function Bt(e){return Ne.test(e)}function Ft(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function qt(e,t){return function(n){return e(t(n))}}function Vt(e,t){for(var n=-1,r=e.length,i=0,o=[];++n<r;){var s=e[n];s!==t&&s!==a||(e[n]=a,o[i++]=n)}return o}function Ut(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}function Ht(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=[e,e]})),n}function Gt(e){return Bt(e)?function(e){var t=Re.lastIndex=0;for(;Re.test(e);)++t;return t}(e):bt(e)}function Wt(e){return Bt(e)?function(e){return e.match(Re)||[]}(e):function(e){return e.split("")}(e)}function Yt(e){for(var t=e.length;t--&&X.test(e.charAt(t)););return t}var Xt=$t({"&":"&","<":"<",">":">",""":'"',"'":"'"});var Zt=function e(t){var n,r=(t=null==t?We:Zt.defaults(We.Object(),t,Zt.pick(We,ze))).Array,i=t.Date,X=t.Error,pe=t.Function,fe=t.Math,he=t.Object,ge=t.RegExp,me=t.String,ve=t.TypeError,be=r.prototype,ye=pe.prototype,xe=he.prototype,we=t["__core-js_shared__"],ke=ye.toString,Ae=xe.hasOwnProperty,Ee=0,Se=(n=/[^.]+$/.exec(we&&we.keys&&we.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",$e=xe.toString,Ce=ke.call(he),_e=We._,Oe=ge("^"+ke.call(Ae).replace(G,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Te=Ze?t.Buffer:void 0,je=t.Symbol,Re=t.Uint8Array,Ne=Te?Te.allocUnsafe:void 0,qe=qt(he.getPrototypeOf,he),He=he.create,Ge=xe.propertyIsEnumerable,Ye=be.splice,Xe=je?je.isConcatSpreadable:void 0,Qe=je?je.iterator:void 0,Je=je?je.toStringTag:void 0,bt=function(){try{var e=eo(he,"defineProperty");return e({},"",{}),e}catch(e){}}(),$t=t.clearTimeout!==We.clearTimeout&&t.clearTimeout,Qt=i&&i.now!==We.Date.now&&i.now,Jt=t.setTimeout!==We.setTimeout&&t.setTimeout,Kt=fe.ceil,en=fe.floor,tn=he.getOwnPropertySymbols,nn=Te?Te.isBuffer:void 0,rn=t.isFinite,on=be.join,an=qt(he.keys,he),sn=fe.max,ln=fe.min,cn=i.now,un=t.parseInt,dn=fe.random,pn=be.reverse,fn=eo(t,"DataView"),hn=eo(t,"Map"),gn=eo(t,"Promise"),mn=eo(t,"Set"),vn=eo(t,"WeakMap"),bn=eo(he,"create"),yn=vn&&new vn,xn={},wn=_o(fn),kn=_o(hn),An=_o(gn),En=_o(mn),Sn=_o(vn),$n=je?je.prototype:void 0,Cn=$n?$n.valueOf:void 0,_n=$n?$n.toString:void 0;function On(e){if(Ha(e)&&!Ra(e)&&!(e instanceof Dn)){if(e instanceof Pn)return e;if(Ae.call(e,"__wrapped__"))return Oo(e)}return new Pn(e)}var Tn=function(){function e(){}return function(t){if(!Ua(t))return{};if(He)return He(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();function jn(){}function Pn(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=void 0}function Dn(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}function Rn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function In(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Nn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Mn(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new Nn;++t<n;)this.add(e[t])}function zn(e){var t=this.__data__=new In(e);this.size=t.size}function Ln(e,t){var n=Ra(e),r=!n&&Da(e),i=!n&&!r&&za(e),o=!n&&!r&&!i&&Ka(e),a=n||r||i||o,s=a?Ot(e.length,me):[],l=s.length;for(var c in e)!t&&!Ae.call(e,c)||a&&("length"==c||i&&("offset"==c||"parent"==c)||o&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||so(c,l))||s.push(c);return s}function Bn(e){var t=e.length;return t?e[Mr(0,t-1)]:void 0}function Fn(e,t){return So(bi(e),Zn(t,0,e.length))}function qn(e){return So(bi(e))}function Vn(e,t,n){(void 0!==n&&!Ta(e[t],n)||void 0===n&&!(t in e))&&Yn(e,t,n)}function Un(e,t,n){var r=e[t];Ae.call(e,t)&&Ta(r,n)&&(void 0!==n||t in e)||Yn(e,t,n)}function Hn(e,t){for(var n=e.length;n--;)if(Ta(e[n][0],t))return n;return-1}function Gn(e,t,n,r){return tr(e,(function(e,i,o){t(r,e,n(e),o)})),r}function Wn(e,t){return e&&yi(t,ws(t),e)}function Yn(e,t,n){"__proto__"==t&&bt?bt(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function Xn(e,t){for(var n=-1,i=t.length,o=r(i),a=null==e;++n<i;)o[n]=a?void 0:ms(e,t[n]);return o}function Zn(e,t,n){return e==e&&(void 0!==n&&(e=e<=n?e:n),void 0!==t&&(e=e>=t?e:t)),e}function Qn(e,t,n,r,i,o){var a,s=1&t,c=2&t,p=4&t;if(n&&(a=i?n(e,r,i,o):n(e)),void 0!==a)return a;if(!Ua(e))return e;var k=Ra(e);if(k){if(a=function(e){var t=e.length,n=new e.constructor(t);t&&"string"==typeof e[0]&&Ae.call(e,"index")&&(n.index=e.index,n.input=e.input);return n}(e),!s)return bi(e,a)}else{var D=ro(e),R=D==f||D==h;if(za(e))return pi(e,s);if(D==v||D==l||R&&!i){if(a=c||R?{}:oo(e),!s)return c?function(e,t){return yi(e,no(e),t)}(e,function(e,t){return e&&yi(t,ks(t),e)}(a,e)):function(e,t){return yi(e,to(e),t)}(e,Wn(a,e))}else{if(!Fe[D])return i?e:{};a=function(e,t,n){var r=e.constructor;switch(t){case A:return fi(e);case u:case d:return new r(+e);case E:return function(e,t){var n=t?fi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case S:case $:case C:case _:case O:case T:case"[object Uint8ClampedArray]":case j:case P:return hi(e,n);case g:return new r;case m:case x:return new r(e);case b:return function(e){var t=new e.constructor(e.source,re.exec(e));return t.lastIndex=e.lastIndex,t}(e);case y:return new r;case w:return i=e,Cn?he(Cn.call(i)):{}}var i}(e,D,s)}}o||(o=new zn);var I=o.get(e);if(I)return I;o.set(e,a),Za(e)?e.forEach((function(r){a.add(Qn(r,t,n,r,e,o))})):Ga(e)&&e.forEach((function(r,i){a.set(i,Qn(r,t,n,i,e,o))}));var N=k?void 0:(p?c?Wi:Gi:c?ks:ws)(e);return st(N||e,(function(r,i){N&&(r=e[i=r]),Un(a,i,Qn(r,t,n,i,e,o))})),a}function Jn(e,t,n){var r=n.length;if(null==e)return!r;for(e=he(e);r--;){var i=n[r],o=t[i],a=e[i];if(void 0===a&&!(i in e)||!o(a))return!1}return!0}function Kn(e,t,n){if("function"!=typeof e)throw new ve(o);return wo((function(){e.apply(void 0,n)}),t)}function er(e,t,n,r){var i=-1,o=dt,a=!0,s=e.length,l=[],c=t.length;if(!s)return l;n&&(t=ft(t,jt(n))),r?(o=pt,a=!1):t.length>=200&&(o=Dt,a=!1,t=new Mn(t));e:for(;++i<s;){var u=e[i],d=null==n?u:n(u);if(u=r||0!==u?u:0,a&&d==d){for(var p=c;p--;)if(t[p]===d)continue e;l.push(u)}else o(t,d,r)||l.push(u)}return l}On.templateSettings={escape:B,evaluate:F,interpolate:q,variable:"",imports:{_:On}},On.prototype=jn.prototype,On.prototype.constructor=On,Pn.prototype=Tn(jn.prototype),Pn.prototype.constructor=Pn,Dn.prototype=Tn(jn.prototype),Dn.prototype.constructor=Dn,Rn.prototype.clear=function(){this.__data__=bn?bn(null):{},this.size=0},Rn.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Rn.prototype.get=function(e){var t=this.__data__;if(bn){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return Ae.call(t,e)?t[e]:void 0},Rn.prototype.has=function(e){var t=this.__data__;return bn?void 0!==t[e]:Ae.call(t,e)},Rn.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=bn&&void 0===t?"__lodash_hash_undefined__":t,this},In.prototype.clear=function(){this.__data__=[],this.size=0},In.prototype.delete=function(e){var t=this.__data__,n=Hn(t,e);return!(n<0)&&(n==t.length-1?t.pop():Ye.call(t,n,1),--this.size,!0)},In.prototype.get=function(e){var t=this.__data__,n=Hn(t,e);return n<0?void 0:t[n][1]},In.prototype.has=function(e){return Hn(this.__data__,e)>-1},In.prototype.set=function(e,t){var n=this.__data__,r=Hn(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},Nn.prototype.clear=function(){this.size=0,this.__data__={hash:new Rn,map:new(hn||In),string:new Rn}},Nn.prototype.delete=function(e){var t=Ji(this,e).delete(e);return this.size-=t?1:0,t},Nn.prototype.get=function(e){return Ji(this,e).get(e)},Nn.prototype.has=function(e){return Ji(this,e).has(e)},Nn.prototype.set=function(e,t){var n=Ji(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},Mn.prototype.add=Mn.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},Mn.prototype.has=function(e){return this.__data__.has(e)},zn.prototype.clear=function(){this.__data__=new In,this.size=0},zn.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},zn.prototype.get=function(e){return this.__data__.get(e)},zn.prototype.has=function(e){return this.__data__.has(e)},zn.prototype.set=function(e,t){var n=this.__data__;if(n instanceof In){var r=n.__data__;if(!hn||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Nn(r)}return n.set(e,t),this.size=n.size,this};var tr=ki(cr),nr=ki(ur,!0);function rr(e,t){var n=!0;return tr(e,(function(e,r,i){return n=!!t(e,r,i)})),n}function ir(e,t,n){for(var r=-1,i=e.length;++r<i;){var o=e[r],a=t(o);if(null!=a&&(void 0===s?a==a&&!Ja(a):n(a,s)))var s=a,l=o}return l}function or(e,t){var n=[];return tr(e,(function(e,r,i){t(e,r,i)&&n.push(e)})),n}function ar(e,t,n,r,i){var o=-1,a=e.length;for(n||(n=ao),i||(i=[]);++o<a;){var s=e[o];t>0&&n(s)?t>1?ar(s,t-1,n,r,i):ht(i,s):r||(i[i.length]=s)}return i}var sr=Ai(),lr=Ai(!0);function cr(e,t){return e&&sr(e,t,ws)}function ur(e,t){return e&&lr(e,t,ws)}function dr(e,t){return ut(t,(function(t){return Fa(e[t])}))}function pr(e,t){for(var n=0,r=(t=li(t,e)).length;null!=e&&n<r;)e=e[Co(t[n++])];return n&&n==r?e:void 0}function fr(e,t,n){var r=t(e);return Ra(e)?r:ht(r,n(e))}function hr(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Je&&Je in he(e)?function(e){var t=Ae.call(e,Je),n=e[Je];try{e[Je]=void 0;var r=!0}catch(e){}var i=$e.call(e);r&&(t?e[Je]=n:delete e[Je]);return i}(e):function(e){return $e.call(e)}(e)}function gr(e,t){return e>t}function mr(e,t){return null!=e&&Ae.call(e,t)}function vr(e,t){return null!=e&&t in he(e)}function br(e,t,n){for(var i=n?pt:dt,o=e[0].length,a=e.length,s=a,l=r(a),c=1/0,u=[];s--;){var d=e[s];s&&t&&(d=ft(d,jt(t))),c=ln(d.length,c),l[s]=!n&&(t||o>=120&&d.length>=120)?new Mn(s&&d):void 0}d=e[0];var p=-1,f=l[0];e:for(;++p<o&&u.length<c;){var h=d[p],g=t?t(h):h;if(h=n||0!==h?h:0,!(f?Dt(f,g):i(u,g,n))){for(s=a;--s;){var m=l[s];if(!(m?Dt(m,g):i(e[s],g,n)))continue e}f&&f.push(g),u.push(h)}}return u}function yr(e,t,n){var r=null==(e=vo(e,t=li(t,e)))?e:e[Co(Bo(t))];return null==r?void 0:ot(r,e,n)}function xr(e){return Ha(e)&&hr(e)==l}function wr(e,t,n,r,i){return e===t||(null==e||null==t||!Ha(e)&&!Ha(t)?e!=e&&t!=t:function(e,t,n,r,i,o){var a=Ra(e),s=Ra(t),f=a?c:ro(e),h=s?c:ro(t),k=(f=f==l?v:f)==v,S=(h=h==l?v:h)==v,$=f==h;if($&&za(e)){if(!za(t))return!1;a=!0,k=!1}if($&&!k)return o||(o=new zn),a||Ka(e)?Ui(e,t,n,r,i,o):function(e,t,n,r,i,o,a){switch(n){case E:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case A:return!(e.byteLength!=t.byteLength||!o(new Re(e),new Re(t)));case u:case d:case m:return Ta(+e,+t);case p:return e.name==t.name&&e.message==t.message;case b:case x:return e==t+"";case g:var s=Ft;case y:var l=1&r;if(s||(s=Ut),e.size!=t.size&&!l)return!1;var c=a.get(e);if(c)return c==t;r|=2,a.set(e,t);var f=Ui(s(e),s(t),r,i,o,a);return a.delete(e),f;case w:if(Cn)return Cn.call(e)==Cn.call(t)}return!1}(e,t,f,n,r,i,o);if(!(1&n)){var C=k&&Ae.call(e,"__wrapped__"),_=S&&Ae.call(t,"__wrapped__");if(C||_){var O=C?e.value():e,T=_?t.value():t;return o||(o=new zn),i(O,T,n,r,o)}}if(!$)return!1;return o||(o=new zn),function(e,t,n,r,i,o){var a=1&n,s=Gi(e),l=s.length,c=Gi(t).length;if(l!=c&&!a)return!1;var u=l;for(;u--;){var d=s[u];if(!(a?d in t:Ae.call(t,d)))return!1}var p=o.get(e),f=o.get(t);if(p&&f)return p==t&&f==e;var h=!0;o.set(e,t),o.set(t,e);var g=a;for(;++u<l;){d=s[u];var m=e[d],v=t[d];if(r)var b=a?r(v,m,d,t,e,o):r(m,v,d,e,t,o);if(!(void 0===b?m===v||i(m,v,n,r,o):b)){h=!1;break}g||(g="constructor"==d)}if(h&&!g){var y=e.constructor,x=t.constructor;y==x||!("constructor"in e)||!("constructor"in t)||"function"==typeof y&&y instanceof y&&"function"==typeof x&&x instanceof x||(h=!1)}return o.delete(e),o.delete(t),h}(e,t,n,r,i,o)}(e,t,n,r,wr,i))}function kr(e,t,n,r){var i=n.length,o=i,a=!r;if(null==e)return!o;for(e=he(e);i--;){var s=n[i];if(a&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++i<o;){var l=(s=n[i])[0],c=e[l],u=s[1];if(a&&s[2]){if(void 0===c&&!(l in e))return!1}else{var d=new zn;if(r)var p=r(c,u,l,e,t,d);if(!(void 0===p?wr(u,c,3,r,d):p))return!1}}return!0}function Ar(e){return!(!Ua(e)||(t=e,Se&&Se in t))&&(Fa(e)?Oe:ae).test(_o(e));var t}function Er(e){return"function"==typeof e?e:null==e?Ws:"object"==typeof e?Ra(e)?Tr(e[0],e[1]):Or(e):nl(e)}function Sr(e){if(!fo(e))return an(e);var t=[];for(var n in he(e))Ae.call(e,n)&&"constructor"!=n&&t.push(n);return t}function $r(e){if(!Ua(e))return function(e){var t=[];if(null!=e)for(var n in he(e))t.push(n);return t}(e);var t=fo(e),n=[];for(var r in e)("constructor"!=r||!t&&Ae.call(e,r))&&n.push(r);return n}function Cr(e,t){return e<t}function _r(e,t){var n=-1,i=Na(e)?r(e.length):[];return tr(e,(function(e,r,o){i[++n]=t(e,r,o)})),i}function Or(e){var t=Ki(e);return 1==t.length&&t[0][2]?go(t[0][0],t[0][1]):function(n){return n===e||kr(n,e,t)}}function Tr(e,t){return co(e)&&ho(t)?go(Co(e),t):function(n){var r=ms(n,e);return void 0===r&&r===t?vs(n,e):wr(t,r,3)}}function jr(e,t,n,r,i){e!==t&&sr(t,(function(o,a){if(i||(i=new zn),Ua(o))!function(e,t,n,r,i,o,a){var s=yo(e,n),l=yo(t,n),c=a.get(l);if(c)return void Vn(e,n,c);var u=o?o(s,l,n+"",e,t,a):void 0,d=void 0===u;if(d){var p=Ra(l),f=!p&&za(l),h=!p&&!f&&Ka(l);u=l,p||f||h?Ra(s)?u=s:Ma(s)?u=bi(s):f?(d=!1,u=pi(l,!0)):h?(d=!1,u=hi(l,!0)):u=[]:Ya(l)||Da(l)?(u=s,Da(s)?u=ss(s):Ua(s)&&!Fa(s)||(u=oo(l))):d=!1}d&&(a.set(l,u),i(u,l,r,o,a),a.delete(l));Vn(e,n,u)}(e,t,a,n,jr,r,i);else{var s=r?r(yo(e,a),o,a+"",e,t,i):void 0;void 0===s&&(s=o),Vn(e,a,s)}}),ks)}function Pr(e,t){var n=e.length;if(n)return so(t+=t<0?n:0,n)?e[t]:void 0}function Dr(e,t,n){t=t.length?ft(t,(function(e){return Ra(e)?function(t){return pr(t,1===e.length?e[0]:e)}:e})):[Ws];var r=-1;return t=ft(t,jt(Qi())),function(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}(_r(e,(function(e,n,i){return{criteria:ft(t,(function(t){return t(e)})),index:++r,value:e}})),(function(e,t){return function(e,t,n){var r=-1,i=e.criteria,o=t.criteria,a=i.length,s=n.length;for(;++r<a;){var l=gi(i[r],o[r]);if(l){if(r>=s)return l;var c=n[r];return l*("desc"==c?-1:1)}}return e.index-t.index}(e,t,n)}))}function Rr(e,t,n){for(var r=-1,i=t.length,o={};++r<i;){var a=t[r],s=pr(e,a);n(s,a)&&qr(o,li(a,e),s)}return o}function Ir(e,t,n,r){var i=r?kt:wt,o=-1,a=t.length,s=e;for(e===t&&(t=bi(t)),n&&(s=ft(e,jt(n)));++o<a;)for(var l=0,c=t[o],u=n?n(c):c;(l=i(s,u,l,r))>-1;)s!==e&&Ye.call(s,l,1),Ye.call(e,l,1);return e}function Nr(e,t){for(var n=e?t.length:0,r=n-1;n--;){var i=t[n];if(n==r||i!==o){var o=i;so(i)?Ye.call(e,i,1):ei(e,i)}}return e}function Mr(e,t){return e+en(dn()*(t-e+1))}function zr(e,t){var n="";if(!e||t<1||t>9007199254740991)return n;do{t%2&&(n+=e),(t=en(t/2))&&(e+=e)}while(t);return n}function Lr(e,t){return ko(mo(e,t,Ws),e+"")}function Br(e){return Bn(Ts(e))}function Fr(e,t){var n=Ts(e);return So(n,Zn(t,0,n.length))}function qr(e,t,n,r){if(!Ua(e))return e;for(var i=-1,o=(t=li(t,e)).length,a=o-1,s=e;null!=s&&++i<o;){var l=Co(t[i]),c=n;if("__proto__"===l||"constructor"===l||"prototype"===l)return e;if(i!=a){var u=s[l];void 0===(c=r?r(u,l,s):void 0)&&(c=Ua(u)?u:so(t[i+1])?[]:{})}Un(s,l,c),s=s[l]}return e}var Vr=yn?function(e,t){return yn.set(e,t),e}:Ws,Ur=bt?function(e,t){return bt(e,"toString",{configurable:!0,enumerable:!1,value:Us(t),writable:!0})}:Ws;function Hr(e){return So(Ts(e))}function Gr(e,t,n){var i=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var a=r(o);++i<o;)a[i]=e[i+t];return a}function Wr(e,t){var n;return tr(e,(function(e,r,i){return!(n=t(e,r,i))})),!!n}function Yr(e,t,n){var r=0,i=null==e?r:e.length;if("number"==typeof t&&t==t&&i<=2147483647){for(;r<i;){var o=r+i>>>1,a=e[o];null!==a&&!Ja(a)&&(n?a<=t:a<t)?r=o+1:i=o}return i}return Xr(e,t,Ws,n)}function Xr(e,t,n,r){var i=0,o=null==e?0:e.length;if(0===o)return 0;for(var a=(t=n(t))!=t,s=null===t,l=Ja(t),c=void 0===t;i<o;){var u=en((i+o)/2),d=n(e[u]),p=void 0!==d,f=null===d,h=d==d,g=Ja(d);if(a)var m=r||h;else m=c?h&&(r||p):s?h&&p&&(r||!f):l?h&&p&&!f&&(r||!g):!f&&!g&&(r?d<=t:d<t);m?i=u+1:o=u}return ln(o,4294967294)}function Zr(e,t){for(var n=-1,r=e.length,i=0,o=[];++n<r;){var a=e[n],s=t?t(a):a;if(!n||!Ta(s,l)){var l=s;o[i++]=0===a?0:a}}return o}function Qr(e){return"number"==typeof e?e:Ja(e)?NaN:+e}function Jr(e){if("string"==typeof e)return e;if(Ra(e))return ft(e,Jr)+"";if(Ja(e))return _n?_n.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function Kr(e,t,n){var r=-1,i=dt,o=e.length,a=!0,s=[],l=s;if(n)a=!1,i=pt;else if(o>=200){var c=t?null:zi(e);if(c)return Ut(c);a=!1,i=Dt,l=new Mn}else l=t?[]:s;e:for(;++r<o;){var u=e[r],d=t?t(u):u;if(u=n||0!==u?u:0,a&&d==d){for(var p=l.length;p--;)if(l[p]===d)continue e;t&&l.push(d),s.push(u)}else i(l,d,n)||(l!==s&&l.push(d),s.push(u))}return s}function ei(e,t){return null==(e=vo(e,t=li(t,e)))||delete e[Co(Bo(t))]}function ti(e,t,n,r){return qr(e,t,n(pr(e,t)),r)}function ni(e,t,n,r){for(var i=e.length,o=r?i:-1;(r?o--:++o<i)&&t(e[o],o,e););return n?Gr(e,r?0:o,r?o+1:i):Gr(e,r?o+1:0,r?i:o)}function ri(e,t){var n=e;return n instanceof Dn&&(n=n.value()),gt(t,(function(e,t){return t.func.apply(t.thisArg,ht([e],t.args))}),n)}function ii(e,t,n){var i=e.length;if(i<2)return i?Kr(e[0]):[];for(var o=-1,a=r(i);++o<i;)for(var s=e[o],l=-1;++l<i;)l!=o&&(a[o]=er(a[o]||s,e[l],t,n));return Kr(ar(a,1),t,n)}function oi(e,t,n){for(var r=-1,i=e.length,o=t.length,a={};++r<i;){var s=r<o?t[r]:void 0;n(a,e[r],s)}return a}function ai(e){return Ma(e)?e:[]}function si(e){return"function"==typeof e?e:Ws}function li(e,t){return Ra(e)?e:co(e,t)?[e]:$o(ls(e))}var ci=Lr;function ui(e,t,n){var r=e.length;return n=void 0===n?r:n,!t&&n>=r?e:Gr(e,t,n)}var di=$t||function(e){return We.clearTimeout(e)};function pi(e,t){if(t)return e.slice();var n=e.length,r=Ne?Ne(n):new e.constructor(n);return e.copy(r),r}function fi(e){var t=new e.constructor(e.byteLength);return new Re(t).set(new Re(e)),t}function hi(e,t){var n=t?fi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function gi(e,t){if(e!==t){var n=void 0!==e,r=null===e,i=e==e,o=Ja(e),a=void 0!==t,s=null===t,l=t==t,c=Ja(t);if(!s&&!c&&!o&&e>t||o&&a&&l&&!s&&!c||r&&a&&l||!n&&l||!i)return 1;if(!r&&!o&&!c&&e<t||c&&n&&i&&!r&&!o||s&&n&&i||!a&&i||!l)return-1}return 0}function mi(e,t,n,i){for(var o=-1,a=e.length,s=n.length,l=-1,c=t.length,u=sn(a-s,0),d=r(c+u),p=!i;++l<c;)d[l]=t[l];for(;++o<s;)(p||o<a)&&(d[n[o]]=e[o]);for(;u--;)d[l++]=e[o++];return d}function vi(e,t,n,i){for(var o=-1,a=e.length,s=-1,l=n.length,c=-1,u=t.length,d=sn(a-l,0),p=r(d+u),f=!i;++o<d;)p[o]=e[o];for(var h=o;++c<u;)p[h+c]=t[c];for(;++s<l;)(f||o<a)&&(p[h+n[s]]=e[o++]);return p}function bi(e,t){var n=-1,i=e.length;for(t||(t=r(i));++n<i;)t[n]=e[n];return t}function yi(e,t,n,r){var i=!n;n||(n={});for(var o=-1,a=t.length;++o<a;){var s=t[o],l=r?r(n[s],e[s],s,n,e):void 0;void 0===l&&(l=e[s]),i?Yn(n,s,l):Un(n,s,l)}return n}function xi(e,t){return function(n,r){var i=Ra(n)?at:Gn,o=t?t():{};return i(n,e,Qi(r,2),o)}}function wi(e){return Lr((function(t,n){var r=-1,i=n.length,o=i>1?n[i-1]:void 0,a=i>2?n[2]:void 0;for(o=e.length>3&&"function"==typeof o?(i--,o):void 0,a&&lo(n[0],n[1],a)&&(o=i<3?void 0:o,i=1),t=he(t);++r<i;){var s=n[r];s&&e(t,s,r,o)}return t}))}function ki(e,t){return function(n,r){if(null==n)return n;if(!Na(n))return e(n,r);for(var i=n.length,o=t?i:-1,a=he(n);(t?o--:++o<i)&&!1!==r(a[o],o,a););return n}}function Ai(e){return function(t,n,r){for(var i=-1,o=he(t),a=r(t),s=a.length;s--;){var l=a[e?s:++i];if(!1===n(o[l],l,o))break}return t}}function Ei(e){return function(t){var n=Bt(t=ls(t))?Wt(t):void 0,r=n?n[0]:t.charAt(0),i=n?ui(n,1).join(""):t.slice(1);return r[e]()+i}}function Si(e){return function(t){return gt(Fs(Ds(t).replace(Pe,"")),e,"")}}function $i(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var n=Tn(e.prototype),r=e.apply(n,t);return Ua(r)?r:n}}function Ci(e){return function(t,n,r){var i=he(t);if(!Na(t)){var o=Qi(n,3);t=ws(t),n=function(e){return o(i[e],e,i)}}var a=e(t,n,r);return a>-1?i[o?t[a]:a]:void 0}}function _i(e){return Hi((function(t){var n=t.length,r=n,i=Pn.prototype.thru;for(e&&t.reverse();r--;){var a=t[r];if("function"!=typeof a)throw new ve(o);if(i&&!s&&"wrapper"==Xi(a))var s=new Pn([],!0)}for(r=s?r:n;++r<n;){var l=Xi(a=t[r]),c="wrapper"==l?Yi(a):void 0;s=c&&uo(c[0])&&424==c[1]&&!c[4].length&&1==c[9]?s[Xi(c[0])].apply(s,c[3]):1==a.length&&uo(a)?s[l]():s.thru(a)}return function(){var e=arguments,r=e[0];if(s&&1==e.length&&Ra(r))return s.plant(r).value();for(var i=0,o=n?t[i].apply(this,e):r;++i<n;)o=t[i].call(this,o);return o}}))}function Oi(e,t,n,i,o,a,s,l,c,u){var d=128&t,p=1&t,f=2&t,h=24&t,g=512&t,m=f?void 0:$i(e);return function v(){for(var b=arguments.length,y=r(b),x=b;x--;)y[x]=arguments[x];if(h)var w=Zi(v),k=Nt(y,w);if(i&&(y=mi(y,i,o,h)),a&&(y=vi(y,a,s,h)),b-=k,h&&b<u){var A=Vt(y,w);return Ni(e,t,Oi,v.placeholder,n,y,A,l,c,u-b)}var E=p?n:this,S=f?E[e]:e;return b=y.length,l?y=bo(y,l):g&&b>1&&y.reverse(),d&&c<b&&(y.length=c),this&&this!==We&&this instanceof v&&(S=m||$i(S)),S.apply(E,y)}}function Ti(e,t){return function(n,r){return function(e,t,n,r){return cr(e,(function(e,i,o){t(r,n(e),i,o)})),r}(n,e,t(r),{})}}function ji(e,t){return function(n,r){var i;if(void 0===n&&void 0===r)return t;if(void 0!==n&&(i=n),void 0!==r){if(void 0===i)return r;"string"==typeof n||"string"==typeof r?(n=Jr(n),r=Jr(r)):(n=Qr(n),r=Qr(r)),i=e(n,r)}return i}}function Pi(e){return Hi((function(t){return t=ft(t,jt(Qi())),Lr((function(n){var r=this;return e(t,(function(e){return ot(e,r,n)}))}))}))}function Di(e,t){var n=(t=void 0===t?" ":Jr(t)).length;if(n<2)return n?zr(t,e):t;var r=zr(t,Kt(e/Gt(t)));return Bt(t)?ui(Wt(r),0,e).join(""):r.slice(0,e)}function Ri(e){return function(t,n,i){return i&&"number"!=typeof i&&lo(t,n,i)&&(n=i=void 0),t=rs(t),void 0===n?(n=t,t=0):n=rs(n),function(e,t,n,i){for(var o=-1,a=sn(Kt((t-e)/(n||1)),0),s=r(a);a--;)s[i?a:++o]=e,e+=n;return s}(t,n,i=void 0===i?t<n?1:-1:rs(i),e)}}function Ii(e){return function(t,n){return"string"==typeof t&&"string"==typeof n||(t=as(t),n=as(n)),e(t,n)}}function Ni(e,t,n,r,i,o,a,s,l,c){var u=8&t;t|=u?32:64,4&(t&=~(u?64:32))||(t&=-4);var d=[e,t,i,u?o:void 0,u?a:void 0,u?void 0:o,u?void 0:a,s,l,c],p=n.apply(void 0,d);return uo(e)&&xo(p,d),p.placeholder=r,Ao(p,e,t)}function Mi(e){var t=fe[e];return function(e,n){if(e=as(e),(n=null==n?0:ln(is(n),292))&&rn(e)){var r=(ls(e)+"e").split("e");return+((r=(ls(t(r[0]+"e"+(+r[1]+n)))+"e").split("e"))[0]+"e"+(+r[1]-n))}return t(e)}}var zi=mn&&1/Ut(new mn([,-0]))[1]==1/0?function(e){return new mn(e)}:Js;function Li(e){return function(t){var n=ro(t);return n==g?Ft(t):n==y?Ht(t):function(e,t){return ft(t,(function(t){return[t,e[t]]}))}(t,e(t))}}function Bi(e,t,n,i,s,l,c,u){var d=2&t;if(!d&&"function"!=typeof e)throw new ve(o);var p=i?i.length:0;if(p||(t&=-97,i=s=void 0),c=void 0===c?c:sn(is(c),0),u=void 0===u?u:is(u),p-=s?s.length:0,64&t){var f=i,h=s;i=s=void 0}var g=d?void 0:Yi(e),m=[e,t,n,i,s,f,h,l,c,u];if(g&&function(e,t){var n=e[1],r=t[1],i=n|r,o=i<131,s=128==r&&8==n||128==r&&256==n&&e[7].length<=t[8]||384==r&&t[7].length<=t[8]&&8==n;if(!o&&!s)return e;1&r&&(e[2]=t[2],i|=1&n?0:4);var l=t[3];if(l){var c=e[3];e[3]=c?mi(c,l,t[4]):l,e[4]=c?Vt(e[3],a):t[4]}(l=t[5])&&(c=e[5],e[5]=c?vi(c,l,t[6]):l,e[6]=c?Vt(e[5],a):t[6]);(l=t[7])&&(e[7]=l);128&r&&(e[8]=null==e[8]?t[8]:ln(e[8],t[8]));null==e[9]&&(e[9]=t[9]);e[0]=t[0],e[1]=i}(m,g),e=m[0],t=m[1],n=m[2],i=m[3],s=m[4],!(u=m[9]=void 0===m[9]?d?0:e.length:sn(m[9]-p,0))&&24&t&&(t&=-25),t&&1!=t)v=8==t||16==t?function(e,t,n){var i=$i(e);return function o(){for(var a=arguments.length,s=r(a),l=a,c=Zi(o);l--;)s[l]=arguments[l];var u=a<3&&s[0]!==c&&s[a-1]!==c?[]:Vt(s,c);if((a-=u.length)<n)return Ni(e,t,Oi,o.placeholder,void 0,s,u,void 0,void 0,n-a);var d=this&&this!==We&&this instanceof o?i:e;return ot(d,this,s)}}(e,t,u):32!=t&&33!=t||s.length?Oi.apply(void 0,m):function(e,t,n,i){var o=1&t,a=$i(e);return function t(){for(var s=-1,l=arguments.length,c=-1,u=i.length,d=r(u+l),p=this&&this!==We&&this instanceof t?a:e;++c<u;)d[c]=i[c];for(;l--;)d[c++]=arguments[++s];return ot(p,o?n:this,d)}}(e,t,n,i);else var v=function(e,t,n){var r=1&t,i=$i(e);return function t(){var o=this&&this!==We&&this instanceof t?i:e;return o.apply(r?n:this,arguments)}}(e,t,n);return Ao((g?Vr:xo)(v,m),e,t)}function Fi(e,t,n,r){return void 0===e||Ta(e,xe[n])&&!Ae.call(r,n)?t:e}function qi(e,t,n,r,i,o){return Ua(e)&&Ua(t)&&(o.set(t,e),jr(e,t,void 0,qi,o),o.delete(t)),e}function Vi(e){return Ya(e)?void 0:e}function Ui(e,t,n,r,i,o){var a=1&n,s=e.length,l=t.length;if(s!=l&&!(a&&l>s))return!1;var c=o.get(e),u=o.get(t);if(c&&u)return c==t&&u==e;var d=-1,p=!0,f=2&n?new Mn:void 0;for(o.set(e,t),o.set(t,e);++d<s;){var h=e[d],g=t[d];if(r)var m=a?r(g,h,d,t,e,o):r(h,g,d,e,t,o);if(void 0!==m){if(m)continue;p=!1;break}if(f){if(!vt(t,(function(e,t){if(!Dt(f,t)&&(h===e||i(h,e,n,r,o)))return f.push(t)}))){p=!1;break}}else if(h!==g&&!i(h,g,n,r,o)){p=!1;break}}return o.delete(e),o.delete(t),p}function Hi(e){return ko(mo(e,void 0,Io),e+"")}function Gi(e){return fr(e,ws,to)}function Wi(e){return fr(e,ks,no)}var Yi=yn?function(e){return yn.get(e)}:Js;function Xi(e){for(var t=e.name+"",n=xn[t],r=Ae.call(xn,t)?n.length:0;r--;){var i=n[r],o=i.func;if(null==o||o==e)return i.name}return t}function Zi(e){return(Ae.call(On,"placeholder")?On:e).placeholder}function Qi(){var e=On.iteratee||Ys;return e=e===Ys?Er:e,arguments.length?e(arguments[0],arguments[1]):e}function Ji(e,t){var n,r,i=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof t?"string":"hash"]:i.map}function Ki(e){for(var t=ws(e),n=t.length;n--;){var r=t[n],i=e[r];t[n]=[r,i,ho(i)]}return t}function eo(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return Ar(n)?n:void 0}var to=tn?function(e){return null==e?[]:(e=he(e),ut(tn(e),(function(t){return Ge.call(e,t)})))}:ol,no=tn?function(e){for(var t=[];e;)ht(t,to(e)),e=qe(e);return t}:ol,ro=hr;function io(e,t,n){for(var r=-1,i=(t=li(t,e)).length,o=!1;++r<i;){var a=Co(t[r]);if(!(o=null!=e&&n(e,a)))break;e=e[a]}return o||++r!=i?o:!!(i=null==e?0:e.length)&&Va(i)&&so(a,i)&&(Ra(e)||Da(e))}function oo(e){return"function"!=typeof e.constructor||fo(e)?{}:Tn(qe(e))}function ao(e){return Ra(e)||Da(e)||!!(Xe&&e&&e[Xe])}function so(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&le.test(e))&&e>-1&&e%1==0&&e<t}function lo(e,t,n){if(!Ua(n))return!1;var r=typeof t;return!!("number"==r?Na(n)&&so(t,n.length):"string"==r&&t in n)&&Ta(n[t],e)}function co(e,t){if(Ra(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!Ja(e))||(U.test(e)||!V.test(e)||null!=t&&e in he(t))}function uo(e){var t=Xi(e),n=On[t];if("function"!=typeof n||!(t in Dn.prototype))return!1;if(e===n)return!0;var r=Yi(n);return!!r&&e===r[0]}(fn&&ro(new fn(new ArrayBuffer(1)))!=E||hn&&ro(new hn)!=g||gn&&"[object Promise]"!=ro(gn.resolve())||mn&&ro(new mn)!=y||vn&&ro(new vn)!=k)&&(ro=function(e){var t=hr(e),n=t==v?e.constructor:void 0,r=n?_o(n):"";if(r)switch(r){case wn:return E;case kn:return g;case An:return"[object Promise]";case En:return y;case Sn:return k}return t});var po=we?Fa:al;function fo(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||xe)}function ho(e){return e==e&&!Ua(e)}function go(e,t){return function(n){return null!=n&&(n[e]===t&&(void 0!==t||e in he(n)))}}function mo(e,t,n){return t=sn(void 0===t?e.length-1:t,0),function(){for(var i=arguments,o=-1,a=sn(i.length-t,0),s=r(a);++o<a;)s[o]=i[t+o];o=-1;for(var l=r(t+1);++o<t;)l[o]=i[o];return l[t]=n(s),ot(e,this,l)}}function vo(e,t){return t.length<2?e:pr(e,Gr(t,0,-1))}function bo(e,t){for(var n=e.length,r=ln(t.length,n),i=bi(e);r--;){var o=t[r];e[r]=so(o,n)?i[o]:void 0}return e}function yo(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}var xo=Eo(Vr),wo=Jt||function(e,t){return We.setTimeout(e,t)},ko=Eo(Ur);function Ao(e,t,n){var r=t+"";return ko(e,function(e,t){var n=t.length;if(!n)return e;var r=n-1;return t[r]=(n>1?"& ":"")+t[r],t=t.join(n>2?", ":" "),e.replace(Z,"{\n/* [wrapped with "+t+"] */\n")}(r,function(e,t){return st(s,(function(n){var r="_."+n[0];t&n[1]&&!dt(e,r)&&e.push(r)})),e.sort()}(function(e){var t=e.match(Q);return t?t[1].split(J):[]}(r),n)))}function Eo(e){var t=0,n=0;return function(){var r=cn(),i=16-(r-n);if(n=r,i>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function So(e,t){var n=-1,r=e.length,i=r-1;for(t=void 0===t?r:t;++n<t;){var o=Mr(n,i),a=e[o];e[o]=e[n],e[n]=a}return e.length=t,e}var $o=function(e){var t=Ea(e,(function(e){return 500===n.size&&n.clear(),e})),n=t.cache;return t}((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(H,(function(e,n,r,i){t.push(r?i.replace(te,"$1"):n||e)})),t}));function Co(e){if("string"==typeof e||Ja(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function _o(e){if(null!=e){try{return ke.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function Oo(e){if(e instanceof Dn)return e.clone();var t=new Pn(e.__wrapped__,e.__chain__);return t.__actions__=bi(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}var To=Lr((function(e,t){return Ma(e)?er(e,ar(t,1,Ma,!0)):[]})),jo=Lr((function(e,t){var n=Bo(t);return Ma(n)&&(n=void 0),Ma(e)?er(e,ar(t,1,Ma,!0),Qi(n,2)):[]})),Po=Lr((function(e,t){var n=Bo(t);return Ma(n)&&(n=void 0),Ma(e)?er(e,ar(t,1,Ma,!0),void 0,n):[]}));function Do(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n?0:is(n);return i<0&&(i=sn(r+i,0)),xt(e,Qi(t,3),i)}function Ro(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=r-1;return void 0!==n&&(i=is(n),i=n<0?sn(r+i,0):ln(i,r-1)),xt(e,Qi(t,3),i,!0)}function Io(e){return(null==e?0:e.length)?ar(e,1):[]}function No(e){return e&&e.length?e[0]:void 0}var Mo=Lr((function(e){var t=ft(e,ai);return t.length&&t[0]===e[0]?br(t):[]})),zo=Lr((function(e){var t=Bo(e),n=ft(e,ai);return t===Bo(n)?t=void 0:n.pop(),n.length&&n[0]===e[0]?br(n,Qi(t,2)):[]})),Lo=Lr((function(e){var t=Bo(e),n=ft(e,ai);return(t="function"==typeof t?t:void 0)&&n.pop(),n.length&&n[0]===e[0]?br(n,void 0,t):[]}));function Bo(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}var Fo=Lr(qo);function qo(e,t){return e&&e.length&&t&&t.length?Ir(e,t):e}var Vo=Hi((function(e,t){var n=null==e?0:e.length,r=Xn(e,t);return Nr(e,ft(t,(function(e){return so(e,n)?+e:e})).sort(gi)),r}));function Uo(e){return null==e?e:pn.call(e)}var Ho=Lr((function(e){return Kr(ar(e,1,Ma,!0))})),Go=Lr((function(e){var t=Bo(e);return Ma(t)&&(t=void 0),Kr(ar(e,1,Ma,!0),Qi(t,2))})),Wo=Lr((function(e){var t=Bo(e);return t="function"==typeof t?t:void 0,Kr(ar(e,1,Ma,!0),void 0,t)}));function Yo(e){if(!e||!e.length)return[];var t=0;return e=ut(e,(function(e){if(Ma(e))return t=sn(e.length,t),!0})),Ot(t,(function(t){return ft(e,St(t))}))}function Xo(e,t){if(!e||!e.length)return[];var n=Yo(e);return null==t?n:ft(n,(function(e){return ot(t,void 0,e)}))}var Zo=Lr((function(e,t){return Ma(e)?er(e,t):[]})),Qo=Lr((function(e){return ii(ut(e,Ma))})),Jo=Lr((function(e){var t=Bo(e);return Ma(t)&&(t=void 0),ii(ut(e,Ma),Qi(t,2))})),Ko=Lr((function(e){var t=Bo(e);return t="function"==typeof t?t:void 0,ii(ut(e,Ma),void 0,t)})),ea=Lr(Yo);var ta=Lr((function(e){var t=e.length,n=t>1?e[t-1]:void 0;return n="function"==typeof n?(e.pop(),n):void 0,Xo(e,n)}));function na(e){var t=On(e);return t.__chain__=!0,t}function ra(e,t){return t(e)}var ia=Hi((function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,i=function(t){return Xn(t,e)};return!(t>1||this.__actions__.length)&&r instanceof Dn&&so(n)?((r=r.slice(n,+n+(t?1:0))).__actions__.push({func:ra,args:[i],thisArg:void 0}),new Pn(r,this.__chain__).thru((function(e){return t&&!e.length&&e.push(void 0),e}))):this.thru(i)}));var oa=xi((function(e,t,n){Ae.call(e,n)?++e[n]:Yn(e,n,1)}));var aa=Ci(Do),sa=Ci(Ro);function la(e,t){return(Ra(e)?st:tr)(e,Qi(t,3))}function ca(e,t){return(Ra(e)?lt:nr)(e,Qi(t,3))}var ua=xi((function(e,t,n){Ae.call(e,n)?e[n].push(t):Yn(e,n,[t])}));var da=Lr((function(e,t,n){var i=-1,o="function"==typeof t,a=Na(e)?r(e.length):[];return tr(e,(function(e){a[++i]=o?ot(t,e,n):yr(e,t,n)})),a})),pa=xi((function(e,t,n){Yn(e,n,t)}));function fa(e,t){return(Ra(e)?ft:_r)(e,Qi(t,3))}var ha=xi((function(e,t,n){e[n?0:1].push(t)}),(function(){return[[],[]]}));var ga=Lr((function(e,t){if(null==e)return[];var n=t.length;return n>1&&lo(e,t[0],t[1])?t=[]:n>2&&lo(t[0],t[1],t[2])&&(t=[t[0]]),Dr(e,ar(t,1),[])})),ma=Qt||function(){return We.Date.now()};function va(e,t,n){return t=n?void 0:t,Bi(e,128,void 0,void 0,void 0,void 0,t=e&&null==t?e.length:t)}function ba(e,t){var n;if("function"!=typeof t)throw new ve(o);return e=is(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=void 0),n}}var ya=Lr((function(e,t,n){var r=1;if(n.length){var i=Vt(n,Zi(ya));r|=32}return Bi(e,r,t,n,i)})),xa=Lr((function(e,t,n){var r=3;if(n.length){var i=Vt(n,Zi(xa));r|=32}return Bi(t,r,e,n,i)}));function wa(e,t,n){var r,i,a,s,l,c,u=0,d=!1,p=!1,f=!0;if("function"!=typeof e)throw new ve(o);function h(t){var n=r,o=i;return r=i=void 0,u=t,s=e.apply(o,n)}function g(e){return u=e,l=wo(v,t),d?h(e):s}function m(e){var n=e-c;return void 0===c||n>=t||n<0||p&&e-u>=a}function v(){var e=ma();if(m(e))return b(e);l=wo(v,function(e){var n=t-(e-c);return p?ln(n,a-(e-u)):n}(e))}function b(e){return l=void 0,f&&r?h(e):(r=i=void 0,s)}function y(){var e=ma(),n=m(e);if(r=arguments,i=this,c=e,n){if(void 0===l)return g(c);if(p)return di(l),l=wo(v,t),h(c)}return void 0===l&&(l=wo(v,t)),s}return t=as(t)||0,Ua(n)&&(d=!!n.leading,a=(p="maxWait"in n)?sn(as(n.maxWait)||0,t):a,f="trailing"in n?!!n.trailing:f),y.cancel=function(){void 0!==l&&di(l),u=0,r=c=i=l=void 0},y.flush=function(){return void 0===l?s:b(ma())},y}var ka=Lr((function(e,t){return Kn(e,1,t)})),Aa=Lr((function(e,t,n){return Kn(e,as(t)||0,n)}));function Ea(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new ve(o);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=e.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(Ea.Cache||Nn),n}function Sa(e){if("function"!=typeof e)throw new ve(o);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Ea.Cache=Nn;var $a=ci((function(e,t){var n=(t=1==t.length&&Ra(t[0])?ft(t[0],jt(Qi())):ft(ar(t,1),jt(Qi()))).length;return Lr((function(r){for(var i=-1,o=ln(r.length,n);++i<o;)r[i]=t[i].call(this,r[i]);return ot(e,this,r)}))})),Ca=Lr((function(e,t){return Bi(e,32,void 0,t,Vt(t,Zi(Ca)))})),_a=Lr((function(e,t){return Bi(e,64,void 0,t,Vt(t,Zi(_a)))})),Oa=Hi((function(e,t){return Bi(e,256,void 0,void 0,void 0,t)}));function Ta(e,t){return e===t||e!=e&&t!=t}var ja=Ii(gr),Pa=Ii((function(e,t){return e>=t})),Da=xr(function(){return arguments}())?xr:function(e){return Ha(e)&&Ae.call(e,"callee")&&!Ge.call(e,"callee")},Ra=r.isArray,Ia=Ke?jt(Ke):function(e){return Ha(e)&&hr(e)==A};function Na(e){return null!=e&&Va(e.length)&&!Fa(e)}function Ma(e){return Ha(e)&&Na(e)}var za=nn||al,La=et?jt(et):function(e){return Ha(e)&&hr(e)==d};function Ba(e){if(!Ha(e))return!1;var t=hr(e);return t==p||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!Ya(e)}function Fa(e){if(!Ua(e))return!1;var t=hr(e);return t==f||t==h||"[object AsyncFunction]"==t||"[object Proxy]"==t}function qa(e){return"number"==typeof e&&e==is(e)}function Va(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}function Ua(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Ha(e){return null!=e&&"object"==typeof e}var Ga=tt?jt(tt):function(e){return Ha(e)&&ro(e)==g};function Wa(e){return"number"==typeof e||Ha(e)&&hr(e)==m}function Ya(e){if(!Ha(e)||hr(e)!=v)return!1;var t=qe(e);if(null===t)return!0;var n=Ae.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&ke.call(n)==Ce}var Xa=nt?jt(nt):function(e){return Ha(e)&&hr(e)==b};var Za=rt?jt(rt):function(e){return Ha(e)&&ro(e)==y};function Qa(e){return"string"==typeof e||!Ra(e)&&Ha(e)&&hr(e)==x}function Ja(e){return"symbol"==typeof e||Ha(e)&&hr(e)==w}var Ka=it?jt(it):function(e){return Ha(e)&&Va(e.length)&&!!Be[hr(e)]};var es=Ii(Cr),ts=Ii((function(e,t){return e<=t}));function ns(e){if(!e)return[];if(Na(e))return Qa(e)?Wt(e):bi(e);if(Qe&&e[Qe])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[Qe]());var t=ro(e);return(t==g?Ft:t==y?Ut:Ts)(e)}function rs(e){return e?(e=as(e))===1/0||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function is(e){var t=rs(e),n=t%1;return t==t?n?t-n:t:0}function os(e){return e?Zn(is(e),0,4294967295):0}function as(e){if("number"==typeof e)return e;if(Ja(e))return NaN;if(Ua(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Ua(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Tt(e);var n=oe.test(e);return n||se.test(e)?Ue(e.slice(2),n?2:8):ie.test(e)?NaN:+e}function ss(e){return yi(e,ks(e))}function ls(e){return null==e?"":Jr(e)}var cs=wi((function(e,t){if(fo(t)||Na(t))yi(t,ws(t),e);else for(var n in t)Ae.call(t,n)&&Un(e,n,t[n])})),us=wi((function(e,t){yi(t,ks(t),e)})),ds=wi((function(e,t,n,r){yi(t,ks(t),e,r)})),ps=wi((function(e,t,n,r){yi(t,ws(t),e,r)})),fs=Hi(Xn);var hs=Lr((function(e,t){e=he(e);var n=-1,r=t.length,i=r>2?t[2]:void 0;for(i&&lo(t[0],t[1],i)&&(r=1);++n<r;)for(var o=t[n],a=ks(o),s=-1,l=a.length;++s<l;){var c=a[s],u=e[c];(void 0===u||Ta(u,xe[c])&&!Ae.call(e,c))&&(e[c]=o[c])}return e})),gs=Lr((function(e){return e.push(void 0,qi),ot(Es,void 0,e)}));function ms(e,t,n){var r=null==e?void 0:pr(e,t);return void 0===r?n:r}function vs(e,t){return null!=e&&io(e,t,vr)}var bs=Ti((function(e,t,n){null!=t&&"function"!=typeof t.toString&&(t=$e.call(t)),e[t]=n}),Us(Ws)),ys=Ti((function(e,t,n){null!=t&&"function"!=typeof t.toString&&(t=$e.call(t)),Ae.call(e,t)?e[t].push(n):e[t]=[n]}),Qi),xs=Lr(yr);function ws(e){return Na(e)?Ln(e):Sr(e)}function ks(e){return Na(e)?Ln(e,!0):$r(e)}var As=wi((function(e,t,n){jr(e,t,n)})),Es=wi((function(e,t,n,r){jr(e,t,n,r)})),Ss=Hi((function(e,t){var n={};if(null==e)return n;var r=!1;t=ft(t,(function(t){return t=li(t,e),r||(r=t.length>1),t})),yi(e,Wi(e),n),r&&(n=Qn(n,7,Vi));for(var i=t.length;i--;)ei(n,t[i]);return n}));var $s=Hi((function(e,t){return null==e?{}:function(e,t){return Rr(e,t,(function(t,n){return vs(e,n)}))}(e,t)}));function Cs(e,t){if(null==e)return{};var n=ft(Wi(e),(function(e){return[e]}));return t=Qi(t),Rr(e,n,(function(e,n){return t(e,n[0])}))}var _s=Li(ws),Os=Li(ks);function Ts(e){return null==e?[]:Pt(e,ws(e))}var js=Si((function(e,t,n){return t=t.toLowerCase(),e+(n?Ps(t):t)}));function Ps(e){return Bs(ls(e).toLowerCase())}function Ds(e){return(e=ls(e))&&e.replace(ce,Mt).replace(De,"")}var Rs=Si((function(e,t,n){return e+(n?"-":"")+t.toLowerCase()})),Is=Si((function(e,t,n){return e+(n?" ":"")+t.toLowerCase()})),Ns=Ei("toLowerCase");var Ms=Si((function(e,t,n){return e+(n?"_":"")+t.toLowerCase()}));var zs=Si((function(e,t,n){return e+(n?" ":"")+Bs(t)}));var Ls=Si((function(e,t,n){return e+(n?" ":"")+t.toUpperCase()})),Bs=Ei("toUpperCase");function Fs(e,t,n){return e=ls(e),void 0===(t=n?void 0:t)?function(e){return Me.test(e)}(e)?function(e){return e.match(Ie)||[]}(e):function(e){return e.match(K)||[]}(e):e.match(t)||[]}var qs=Lr((function(e,t){try{return ot(e,void 0,t)}catch(e){return Ba(e)?e:new X(e)}})),Vs=Hi((function(e,t){return st(t,(function(t){t=Co(t),Yn(e,t,ya(e[t],e))})),e}));function Us(e){return function(){return e}}var Hs=_i(),Gs=_i(!0);function Ws(e){return e}function Ys(e){return Er("function"==typeof e?e:Qn(e,1))}var Xs=Lr((function(e,t){return function(n){return yr(n,e,t)}})),Zs=Lr((function(e,t){return function(n){return yr(e,n,t)}}));function Qs(e,t,n){var r=ws(t),i=dr(t,r);null!=n||Ua(t)&&(i.length||!r.length)||(n=t,t=e,e=this,i=dr(t,ws(t)));var o=!(Ua(n)&&"chain"in n&&!n.chain),a=Fa(e);return st(i,(function(n){var r=t[n];e[n]=r,a&&(e.prototype[n]=function(){var t=this.__chain__;if(o||t){var n=e(this.__wrapped__),i=n.__actions__=bi(this.__actions__);return i.push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,ht([this.value()],arguments))})})),e}function Js(){}var Ks=Pi(ft),el=Pi(ct),tl=Pi(vt);function nl(e){return co(e)?St(Co(e)):function(e){return function(t){return pr(t,e)}}(e)}var rl=Ri(),il=Ri(!0);function ol(){return[]}function al(){return!1}var sl=ji((function(e,t){return e+t}),0),ll=Mi("ceil"),cl=ji((function(e,t){return e/t}),1),ul=Mi("floor");var dl,pl=ji((function(e,t){return e*t}),1),fl=Mi("round"),hl=ji((function(e,t){return e-t}),0);return On.after=function(e,t){if("function"!=typeof t)throw new ve(o);return e=is(e),function(){if(--e<1)return t.apply(this,arguments)}},On.ary=va,On.assign=cs,On.assignIn=us,On.assignInWith=ds,On.assignWith=ps,On.at=fs,On.before=ba,On.bind=ya,On.bindAll=Vs,On.bindKey=xa,On.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Ra(e)?e:[e]},On.chain=na,On.chunk=function(e,t,n){t=(n?lo(e,t,n):void 0===t)?1:sn(is(t),0);var i=null==e?0:e.length;if(!i||t<1)return[];for(var o=0,a=0,s=r(Kt(i/t));o<i;)s[a++]=Gr(e,o,o+=t);return s},On.compact=function(e){for(var t=-1,n=null==e?0:e.length,r=0,i=[];++t<n;){var o=e[t];o&&(i[r++]=o)}return i},On.concat=function(){var e=arguments.length;if(!e)return[];for(var t=r(e-1),n=arguments[0],i=e;i--;)t[i-1]=arguments[i];return ht(Ra(n)?bi(n):[n],ar(t,1))},On.cond=function(e){var t=null==e?0:e.length,n=Qi();return e=t?ft(e,(function(e){if("function"!=typeof e[1])throw new ve(o);return[n(e[0]),e[1]]})):[],Lr((function(n){for(var r=-1;++r<t;){var i=e[r];if(ot(i[0],this,n))return ot(i[1],this,n)}}))},On.conforms=function(e){return function(e){var t=ws(e);return function(n){return Jn(n,e,t)}}(Qn(e,1))},On.constant=Us,On.countBy=oa,On.create=function(e,t){var n=Tn(e);return null==t?n:Wn(n,t)},On.curry=function e(t,n,r){var i=Bi(t,8,void 0,void 0,void 0,void 0,void 0,n=r?void 0:n);return i.placeholder=e.placeholder,i},On.curryRight=function e(t,n,r){var i=Bi(t,16,void 0,void 0,void 0,void 0,void 0,n=r?void 0:n);return i.placeholder=e.placeholder,i},On.debounce=wa,On.defaults=hs,On.defaultsDeep=gs,On.defer=ka,On.delay=Aa,On.difference=To,On.differenceBy=jo,On.differenceWith=Po,On.drop=function(e,t,n){var r=null==e?0:e.length;return r?Gr(e,(t=n||void 0===t?1:is(t))<0?0:t,r):[]},On.dropRight=function(e,t,n){var r=null==e?0:e.length;return r?Gr(e,0,(t=r-(t=n||void 0===t?1:is(t)))<0?0:t):[]},On.dropRightWhile=function(e,t){return e&&e.length?ni(e,Qi(t,3),!0,!0):[]},On.dropWhile=function(e,t){return e&&e.length?ni(e,Qi(t,3),!0):[]},On.fill=function(e,t,n,r){var i=null==e?0:e.length;return i?(n&&"number"!=typeof n&&lo(e,t,n)&&(n=0,r=i),function(e,t,n,r){var i=e.length;for((n=is(n))<0&&(n=-n>i?0:i+n),(r=void 0===r||r>i?i:is(r))<0&&(r+=i),r=n>r?0:os(r);n<r;)e[n++]=t;return e}(e,t,n,r)):[]},On.filter=function(e,t){return(Ra(e)?ut:or)(e,Qi(t,3))},On.flatMap=function(e,t){return ar(fa(e,t),1)},On.flatMapDeep=function(e,t){return ar(fa(e,t),1/0)},On.flatMapDepth=function(e,t,n){return n=void 0===n?1:is(n),ar(fa(e,t),n)},On.flatten=Io,On.flattenDeep=function(e){return(null==e?0:e.length)?ar(e,1/0):[]},On.flattenDepth=function(e,t){return(null==e?0:e.length)?ar(e,t=void 0===t?1:is(t)):[]},On.flip=function(e){return Bi(e,512)},On.flow=Hs,On.flowRight=Gs,On.fromPairs=function(e){for(var t=-1,n=null==e?0:e.length,r={};++t<n;){var i=e[t];r[i[0]]=i[1]}return r},On.functions=function(e){return null==e?[]:dr(e,ws(e))},On.functionsIn=function(e){return null==e?[]:dr(e,ks(e))},On.groupBy=ua,On.initial=function(e){return(null==e?0:e.length)?Gr(e,0,-1):[]},On.intersection=Mo,On.intersectionBy=zo,On.intersectionWith=Lo,On.invert=bs,On.invertBy=ys,On.invokeMap=da,On.iteratee=Ys,On.keyBy=pa,On.keys=ws,On.keysIn=ks,On.map=fa,On.mapKeys=function(e,t){var n={};return t=Qi(t,3),cr(e,(function(e,r,i){Yn(n,t(e,r,i),e)})),n},On.mapValues=function(e,t){var n={};return t=Qi(t,3),cr(e,(function(e,r,i){Yn(n,r,t(e,r,i))})),n},On.matches=function(e){return Or(Qn(e,1))},On.matchesProperty=function(e,t){return Tr(e,Qn(t,1))},On.memoize=Ea,On.merge=As,On.mergeWith=Es,On.method=Xs,On.methodOf=Zs,On.mixin=Qs,On.negate=Sa,On.nthArg=function(e){return e=is(e),Lr((function(t){return Pr(t,e)}))},On.omit=Ss,On.omitBy=function(e,t){return Cs(e,Sa(Qi(t)))},On.once=function(e){return ba(2,e)},On.orderBy=function(e,t,n,r){return null==e?[]:(Ra(t)||(t=null==t?[]:[t]),Ra(n=r?void 0:n)||(n=null==n?[]:[n]),Dr(e,t,n))},On.over=Ks,On.overArgs=$a,On.overEvery=el,On.overSome=tl,On.partial=Ca,On.partialRight=_a,On.partition=ha,On.pick=$s,On.pickBy=Cs,On.property=nl,On.propertyOf=function(e){return function(t){return null==e?void 0:pr(e,t)}},On.pull=Fo,On.pullAll=qo,On.pullAllBy=function(e,t,n){return e&&e.length&&t&&t.length?Ir(e,t,Qi(n,2)):e},On.pullAllWith=function(e,t,n){return e&&e.length&&t&&t.length?Ir(e,t,void 0,n):e},On.pullAt=Vo,On.range=rl,On.rangeRight=il,On.rearg=Oa,On.reject=function(e,t){return(Ra(e)?ut:or)(e,Sa(Qi(t,3)))},On.remove=function(e,t){var n=[];if(!e||!e.length)return n;var r=-1,i=[],o=e.length;for(t=Qi(t,3);++r<o;){var a=e[r];t(a,r,e)&&(n.push(a),i.push(r))}return Nr(e,i),n},On.rest=function(e,t){if("function"!=typeof e)throw new ve(o);return Lr(e,t=void 0===t?t:is(t))},On.reverse=Uo,On.sampleSize=function(e,t,n){return t=(n?lo(e,t,n):void 0===t)?1:is(t),(Ra(e)?Fn:Fr)(e,t)},On.set=function(e,t,n){return null==e?e:qr(e,t,n)},On.setWith=function(e,t,n,r){return r="function"==typeof r?r:void 0,null==e?e:qr(e,t,n,r)},On.shuffle=function(e){return(Ra(e)?qn:Hr)(e)},On.slice=function(e,t,n){var r=null==e?0:e.length;return r?(n&&"number"!=typeof n&&lo(e,t,n)?(t=0,n=r):(t=null==t?0:is(t),n=void 0===n?r:is(n)),Gr(e,t,n)):[]},On.sortBy=ga,On.sortedUniq=function(e){return e&&e.length?Zr(e):[]},On.sortedUniqBy=function(e,t){return e&&e.length?Zr(e,Qi(t,2)):[]},On.split=function(e,t,n){return n&&"number"!=typeof n&&lo(e,t,n)&&(t=n=void 0),(n=void 0===n?4294967295:n>>>0)?(e=ls(e))&&("string"==typeof t||null!=t&&!Xa(t))&&!(t=Jr(t))&&Bt(e)?ui(Wt(e),0,n):e.split(t,n):[]},On.spread=function(e,t){if("function"!=typeof e)throw new ve(o);return t=null==t?0:sn(is(t),0),Lr((function(n){var r=n[t],i=ui(n,0,t);return r&&ht(i,r),ot(e,this,i)}))},On.tail=function(e){var t=null==e?0:e.length;return t?Gr(e,1,t):[]},On.take=function(e,t,n){return e&&e.length?Gr(e,0,(t=n||void 0===t?1:is(t))<0?0:t):[]},On.takeRight=function(e,t,n){var r=null==e?0:e.length;return r?Gr(e,(t=r-(t=n||void 0===t?1:is(t)))<0?0:t,r):[]},On.takeRightWhile=function(e,t){return e&&e.length?ni(e,Qi(t,3),!1,!0):[]},On.takeWhile=function(e,t){return e&&e.length?ni(e,Qi(t,3)):[]},On.tap=function(e,t){return t(e),e},On.throttle=function(e,t,n){var r=!0,i=!0;if("function"!=typeof e)throw new ve(o);return Ua(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),wa(e,t,{leading:r,maxWait:t,trailing:i})},On.thru=ra,On.toArray=ns,On.toPairs=_s,On.toPairsIn=Os,On.toPath=function(e){return Ra(e)?ft(e,Co):Ja(e)?[e]:bi($o(ls(e)))},On.toPlainObject=ss,On.transform=function(e,t,n){var r=Ra(e),i=r||za(e)||Ka(e);if(t=Qi(t,4),null==n){var o=e&&e.constructor;n=i?r?new o:[]:Ua(e)&&Fa(o)?Tn(qe(e)):{}}return(i?st:cr)(e,(function(e,r,i){return t(n,e,r,i)})),n},On.unary=function(e){return va(e,1)},On.union=Ho,On.unionBy=Go,On.unionWith=Wo,On.uniq=function(e){return e&&e.length?Kr(e):[]},On.uniqBy=function(e,t){return e&&e.length?Kr(e,Qi(t,2)):[]},On.uniqWith=function(e,t){return t="function"==typeof t?t:void 0,e&&e.length?Kr(e,void 0,t):[]},On.unset=function(e,t){return null==e||ei(e,t)},On.unzip=Yo,On.unzipWith=Xo,On.update=function(e,t,n){return null==e?e:ti(e,t,si(n))},On.updateWith=function(e,t,n,r){return r="function"==typeof r?r:void 0,null==e?e:ti(e,t,si(n),r)},On.values=Ts,On.valuesIn=function(e){return null==e?[]:Pt(e,ks(e))},On.without=Zo,On.words=Fs,On.wrap=function(e,t){return Ca(si(t),e)},On.xor=Qo,On.xorBy=Jo,On.xorWith=Ko,On.zip=ea,On.zipObject=function(e,t){return oi(e||[],t||[],Un)},On.zipObjectDeep=function(e,t){return oi(e||[],t||[],qr)},On.zipWith=ta,On.entries=_s,On.entriesIn=Os,On.extend=us,On.extendWith=ds,Qs(On,On),On.add=sl,On.attempt=qs,On.camelCase=js,On.capitalize=Ps,On.ceil=ll,On.clamp=function(e,t,n){return void 0===n&&(n=t,t=void 0),void 0!==n&&(n=(n=as(n))==n?n:0),void 0!==t&&(t=(t=as(t))==t?t:0),Zn(as(e),t,n)},On.clone=function(e){return Qn(e,4)},On.cloneDeep=function(e){return Qn(e,5)},On.cloneDeepWith=function(e,t){return Qn(e,5,t="function"==typeof t?t:void 0)},On.cloneWith=function(e,t){return Qn(e,4,t="function"==typeof t?t:void 0)},On.conformsTo=function(e,t){return null==t||Jn(e,t,ws(t))},On.deburr=Ds,On.defaultTo=function(e,t){return null==e||e!=e?t:e},On.divide=cl,On.endsWith=function(e,t,n){e=ls(e),t=Jr(t);var r=e.length,i=n=void 0===n?r:Zn(is(n),0,r);return(n-=t.length)>=0&&e.slice(n,i)==t},On.eq=Ta,On.escape=function(e){return(e=ls(e))&&L.test(e)?e.replace(M,zt):e},On.escapeRegExp=function(e){return(e=ls(e))&&W.test(e)?e.replace(G,"\\$&"):e},On.every=function(e,t,n){var r=Ra(e)?ct:rr;return n&&lo(e,t,n)&&(t=void 0),r(e,Qi(t,3))},On.find=aa,On.findIndex=Do,On.findKey=function(e,t){return yt(e,Qi(t,3),cr)},On.findLast=sa,On.findLastIndex=Ro,On.findLastKey=function(e,t){return yt(e,Qi(t,3),ur)},On.floor=ul,On.forEach=la,On.forEachRight=ca,On.forIn=function(e,t){return null==e?e:sr(e,Qi(t,3),ks)},On.forInRight=function(e,t){return null==e?e:lr(e,Qi(t,3),ks)},On.forOwn=function(e,t){return e&&cr(e,Qi(t,3))},On.forOwnRight=function(e,t){return e&&ur(e,Qi(t,3))},On.get=ms,On.gt=ja,On.gte=Pa,On.has=function(e,t){return null!=e&&io(e,t,mr)},On.hasIn=vs,On.head=No,On.identity=Ws,On.includes=function(e,t,n,r){e=Na(e)?e:Ts(e),n=n&&!r?is(n):0;var i=e.length;return n<0&&(n=sn(i+n,0)),Qa(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&wt(e,t,n)>-1},On.indexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n?0:is(n);return i<0&&(i=sn(r+i,0)),wt(e,t,i)},On.inRange=function(e,t,n){return t=rs(t),void 0===n?(n=t,t=0):n=rs(n),function(e,t,n){return e>=ln(t,n)&&e<sn(t,n)}(e=as(e),t,n)},On.invoke=xs,On.isArguments=Da,On.isArray=Ra,On.isArrayBuffer=Ia,On.isArrayLike=Na,On.isArrayLikeObject=Ma,On.isBoolean=function(e){return!0===e||!1===e||Ha(e)&&hr(e)==u},On.isBuffer=za,On.isDate=La,On.isElement=function(e){return Ha(e)&&1===e.nodeType&&!Ya(e)},On.isEmpty=function(e){if(null==e)return!0;if(Na(e)&&(Ra(e)||"string"==typeof e||"function"==typeof e.splice||za(e)||Ka(e)||Da(e)))return!e.length;var t=ro(e);if(t==g||t==y)return!e.size;if(fo(e))return!Sr(e).length;for(var n in e)if(Ae.call(e,n))return!1;return!0},On.isEqual=function(e,t){return wr(e,t)},On.isEqualWith=function(e,t,n){var r=(n="function"==typeof n?n:void 0)?n(e,t):void 0;return void 0===r?wr(e,t,void 0,n):!!r},On.isError=Ba,On.isFinite=function(e){return"number"==typeof e&&rn(e)},On.isFunction=Fa,On.isInteger=qa,On.isLength=Va,On.isMap=Ga,On.isMatch=function(e,t){return e===t||kr(e,t,Ki(t))},On.isMatchWith=function(e,t,n){return n="function"==typeof n?n:void 0,kr(e,t,Ki(t),n)},On.isNaN=function(e){return Wa(e)&&e!=+e},On.isNative=function(e){if(po(e))throw new X("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");return Ar(e)},On.isNil=function(e){return null==e},On.isNull=function(e){return null===e},On.isNumber=Wa,On.isObject=Ua,On.isObjectLike=Ha,On.isPlainObject=Ya,On.isRegExp=Xa,On.isSafeInteger=function(e){return qa(e)&&e>=-9007199254740991&&e<=9007199254740991},On.isSet=Za,On.isString=Qa,On.isSymbol=Ja,On.isTypedArray=Ka,On.isUndefined=function(e){return void 0===e},On.isWeakMap=function(e){return Ha(e)&&ro(e)==k},On.isWeakSet=function(e){return Ha(e)&&"[object WeakSet]"==hr(e)},On.join=function(e,t){return null==e?"":on.call(e,t)},On.kebabCase=Rs,On.last=Bo,On.lastIndexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=r;return void 0!==n&&(i=(i=is(n))<0?sn(r+i,0):ln(i,r-1)),t==t?function(e,t,n){for(var r=n+1;r--;)if(e[r]===t)return r;return r}(e,t,i):xt(e,At,i,!0)},On.lowerCase=Is,On.lowerFirst=Ns,On.lt=es,On.lte=ts,On.max=function(e){return e&&e.length?ir(e,Ws,gr):void 0},On.maxBy=function(e,t){return e&&e.length?ir(e,Qi(t,2),gr):void 0},On.mean=function(e){return Et(e,Ws)},On.meanBy=function(e,t){return Et(e,Qi(t,2))},On.min=function(e){return e&&e.length?ir(e,Ws,Cr):void 0},On.minBy=function(e,t){return e&&e.length?ir(e,Qi(t,2),Cr):void 0},On.stubArray=ol,On.stubFalse=al,On.stubObject=function(){return{}},On.stubString=function(){return""},On.stubTrue=function(){return!0},On.multiply=pl,On.nth=function(e,t){return e&&e.length?Pr(e,is(t)):void 0},On.noConflict=function(){return We._===this&&(We._=_e),this},On.noop=Js,On.now=ma,On.pad=function(e,t,n){e=ls(e);var r=(t=is(t))?Gt(e):0;if(!t||r>=t)return e;var i=(t-r)/2;return Di(en(i),n)+e+Di(Kt(i),n)},On.padEnd=function(e,t,n){e=ls(e);var r=(t=is(t))?Gt(e):0;return t&&r<t?e+Di(t-r,n):e},On.padStart=function(e,t,n){e=ls(e);var r=(t=is(t))?Gt(e):0;return t&&r<t?Di(t-r,n)+e:e},On.parseInt=function(e,t,n){return n||null==t?t=0:t&&(t=+t),un(ls(e).replace(Y,""),t||0)},On.random=function(e,t,n){if(n&&"boolean"!=typeof n&&lo(e,t,n)&&(t=n=void 0),void 0===n&&("boolean"==typeof t?(n=t,t=void 0):"boolean"==typeof e&&(n=e,e=void 0)),void 0===e&&void 0===t?(e=0,t=1):(e=rs(e),void 0===t?(t=e,e=0):t=rs(t)),e>t){var r=e;e=t,t=r}if(n||e%1||t%1){var i=dn();return ln(e+i*(t-e+Ve("1e-"+((i+"").length-1))),t)}return Mr(e,t)},On.reduce=function(e,t,n){var r=Ra(e)?gt:Ct,i=arguments.length<3;return r(e,Qi(t,4),n,i,tr)},On.reduceRight=function(e,t,n){var r=Ra(e)?mt:Ct,i=arguments.length<3;return r(e,Qi(t,4),n,i,nr)},On.repeat=function(e,t,n){return t=(n?lo(e,t,n):void 0===t)?1:is(t),zr(ls(e),t)},On.replace=function(){var e=arguments,t=ls(e[0]);return e.length<3?t:t.replace(e[1],e[2])},On.result=function(e,t,n){var r=-1,i=(t=li(t,e)).length;for(i||(i=1,e=void 0);++r<i;){var o=null==e?void 0:e[Co(t[r])];void 0===o&&(r=i,o=n),e=Fa(o)?o.call(e):o}return e},On.round=fl,On.runInContext=e,On.sample=function(e){return(Ra(e)?Bn:Br)(e)},On.size=function(e){if(null==e)return 0;if(Na(e))return Qa(e)?Gt(e):e.length;var t=ro(e);return t==g||t==y?e.size:Sr(e).length},On.snakeCase=Ms,On.some=function(e,t,n){var r=Ra(e)?vt:Wr;return n&&lo(e,t,n)&&(t=void 0),r(e,Qi(t,3))},On.sortedIndex=function(e,t){return Yr(e,t)},On.sortedIndexBy=function(e,t,n){return Xr(e,t,Qi(n,2))},On.sortedIndexOf=function(e,t){var n=null==e?0:e.length;if(n){var r=Yr(e,t);if(r<n&&Ta(e[r],t))return r}return-1},On.sortedLastIndex=function(e,t){return Yr(e,t,!0)},On.sortedLastIndexBy=function(e,t,n){return Xr(e,t,Qi(n,2),!0)},On.sortedLastIndexOf=function(e,t){if(null==e?0:e.length){var n=Yr(e,t,!0)-1;if(Ta(e[n],t))return n}return-1},On.startCase=zs,On.startsWith=function(e,t,n){return e=ls(e),n=null==n?0:Zn(is(n),0,e.length),t=Jr(t),e.slice(n,n+t.length)==t},On.subtract=hl,On.sum=function(e){return e&&e.length?_t(e,Ws):0},On.sumBy=function(e,t){return e&&e.length?_t(e,Qi(t,2)):0},On.template=function(e,t,n){var r=On.templateSettings;n&&lo(e,t,n)&&(t=void 0),e=ls(e),t=ds({},t,r,Fi);var i,o,a=ds({},t.imports,r.imports,Fi),s=ws(a),l=Pt(a,s),c=0,u=t.interpolate||ue,d="__p += '",p=ge((t.escape||ue).source+"|"+u.source+"|"+(u===q?ne:ue).source+"|"+(t.evaluate||ue).source+"|$","g"),f="//# sourceURL="+(Ae.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Le+"]")+"\n";e.replace(p,(function(t,n,r,a,s,l){return r||(r=a),d+=e.slice(c,l).replace(de,Lt),n&&(i=!0,d+="' +\n__e("+n+") +\n'"),s&&(o=!0,d+="';\n"+s+";\n__p += '"),r&&(d+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),c=l+t.length,t})),d+="';\n";var h=Ae.call(t,"variable")&&t.variable;if(h){if(ee.test(h))throw new X("Invalid `variable` option passed into `_.template`")}else d="with (obj) {\n"+d+"\n}\n";d=(o?d.replace(D,""):d).replace(R,"$1").replace(I,"$1;"),d="function("+(h||"obj")+") {\n"+(h?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(i?", __e = _.escape":"")+(o?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var g=qs((function(){return pe(s,f+"return "+d).apply(void 0,l)}));if(g.source=d,Ba(g))throw g;return g},On.times=function(e,t){if((e=is(e))<1||e>9007199254740991)return[];var n=4294967295,r=ln(e,4294967295);e-=4294967295;for(var i=Ot(r,t=Qi(t));++n<e;)t(n);return i},On.toFinite=rs,On.toInteger=is,On.toLength=os,On.toLower=function(e){return ls(e).toLowerCase()},On.toNumber=as,On.toSafeInteger=function(e){return e?Zn(is(e),-9007199254740991,9007199254740991):0===e?e:0},On.toString=ls,On.toUpper=function(e){return ls(e).toUpperCase()},On.trim=function(e,t,n){if((e=ls(e))&&(n||void 0===t))return Tt(e);if(!e||!(t=Jr(t)))return e;var r=Wt(e),i=Wt(t);return ui(r,Rt(r,i),It(r,i)+1).join("")},On.trimEnd=function(e,t,n){if((e=ls(e))&&(n||void 0===t))return e.slice(0,Yt(e)+1);if(!e||!(t=Jr(t)))return e;var r=Wt(e);return ui(r,0,It(r,Wt(t))+1).join("")},On.trimStart=function(e,t,n){if((e=ls(e))&&(n||void 0===t))return e.replace(Y,"");if(!e||!(t=Jr(t)))return e;var r=Wt(e);return ui(r,Rt(r,Wt(t))).join("")},On.truncate=function(e,t){var n=30,r="...";if(Ua(t)){var i="separator"in t?t.separator:i;n="length"in t?is(t.length):n,r="omission"in t?Jr(t.omission):r}var o=(e=ls(e)).length;if(Bt(e)){var a=Wt(e);o=a.length}if(n>=o)return e;var s=n-Gt(r);if(s<1)return r;var l=a?ui(a,0,s).join(""):e.slice(0,s);if(void 0===i)return l+r;if(a&&(s+=l.length-s),Xa(i)){if(e.slice(s).search(i)){var c,u=l;for(i.global||(i=ge(i.source,ls(re.exec(i))+"g")),i.lastIndex=0;c=i.exec(u);)var d=c.index;l=l.slice(0,void 0===d?s:d)}}else if(e.indexOf(Jr(i),s)!=s){var p=l.lastIndexOf(i);p>-1&&(l=l.slice(0,p))}return l+r},On.unescape=function(e){return(e=ls(e))&&z.test(e)?e.replace(N,Xt):e},On.uniqueId=function(e){var t=++Ee;return ls(e)+t},On.upperCase=Ls,On.upperFirst=Bs,On.each=la,On.eachRight=ca,On.first=No,Qs(On,(dl={},cr(On,(function(e,t){Ae.call(On.prototype,t)||(dl[t]=e)})),dl),{chain:!1}),On.VERSION="4.17.21",st(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){On[e].placeholder=On})),st(["drop","take"],(function(e,t){Dn.prototype[e]=function(n){n=void 0===n?1:sn(is(n),0);var r=this.__filtered__&&!t?new Dn(this):this.clone();return r.__filtered__?r.__takeCount__=ln(n,r.__takeCount__):r.__views__.push({size:ln(n,4294967295),type:e+(r.__dir__<0?"Right":"")}),r},Dn.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),st(["filter","map","takeWhile"],(function(e,t){var n=t+1,r=1==n||3==n;Dn.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:Qi(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}})),st(["head","last"],(function(e,t){var n="take"+(t?"Right":"");Dn.prototype[e]=function(){return this[n](1).value()[0]}})),st(["initial","tail"],(function(e,t){var n="drop"+(t?"":"Right");Dn.prototype[e]=function(){return this.__filtered__?new Dn(this):this[n](1)}})),Dn.prototype.compact=function(){return this.filter(Ws)},Dn.prototype.find=function(e){return this.filter(e).head()},Dn.prototype.findLast=function(e){return this.reverse().find(e)},Dn.prototype.invokeMap=Lr((function(e,t){return"function"==typeof e?new Dn(this):this.map((function(n){return yr(n,e,t)}))})),Dn.prototype.reject=function(e){return this.filter(Sa(Qi(e)))},Dn.prototype.slice=function(e,t){e=is(e);var n=this;return n.__filtered__&&(e>0||t<0)?new Dn(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),void 0!==t&&(n=(t=is(t))<0?n.dropRight(-t):n.take(t-e)),n)},Dn.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Dn.prototype.toArray=function(){return this.take(4294967295)},cr(Dn.prototype,(function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),i=On[r?"take"+("last"==t?"Right":""):t],o=r||/^find/.test(t);i&&(On.prototype[t]=function(){var t=this.__wrapped__,a=r?[1]:arguments,s=t instanceof Dn,l=a[0],c=s||Ra(t),u=function(e){var t=i.apply(On,ht([e],a));return r&&d?t[0]:t};c&&n&&"function"==typeof l&&1!=l.length&&(s=c=!1);var d=this.__chain__,p=!!this.__actions__.length,f=o&&!d,h=s&&!p;if(!o&&c){t=h?t:new Dn(this);var g=e.apply(t,a);return g.__actions__.push({func:ra,args:[u],thisArg:void 0}),new Pn(g,d)}return f&&h?e.apply(this,a):(g=this.thru(u),f?r?g.value()[0]:g.value():g)})})),st(["pop","push","shift","sort","splice","unshift"],(function(e){var t=be[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",r=/^(?:pop|shift)$/.test(e);On.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var i=this.value();return t.apply(Ra(i)?i:[],e)}return this[n]((function(n){return t.apply(Ra(n)?n:[],e)}))}})),cr(Dn.prototype,(function(e,t){var n=On[t];if(n){var r=n.name+"";Ae.call(xn,r)||(xn[r]=[]),xn[r].push({name:t,func:n})}})),xn[Oi(void 0,2).name]=[{name:"wrapper",func:void 0}],Dn.prototype.clone=function(){var e=new Dn(this.__wrapped__);return e.__actions__=bi(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=bi(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=bi(this.__views__),e},Dn.prototype.reverse=function(){if(this.__filtered__){var e=new Dn(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Dn.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=Ra(e),r=t<0,i=n?e.length:0,o=function(e,t,n){var r=-1,i=n.length;for(;++r<i;){var o=n[r],a=o.size;switch(o.type){case"drop":e+=a;break;case"dropRight":t-=a;break;case"take":t=ln(t,e+a);break;case"takeRight":e=sn(e,t-a)}}return{start:e,end:t}}(0,i,this.__views__),a=o.start,s=o.end,l=s-a,c=r?s:a-1,u=this.__iteratees__,d=u.length,p=0,f=ln(l,this.__takeCount__);if(!n||!r&&i==l&&f==l)return ri(e,this.__actions__);var h=[];e:for(;l--&&p<f;){for(var g=-1,m=e[c+=t];++g<d;){var v=u[g],b=v.iteratee,y=v.type,x=b(m);if(2==y)m=x;else if(!x){if(1==y)continue e;break e}}h[p++]=m}return h},On.prototype.at=ia,On.prototype.chain=function(){return na(this)},On.prototype.commit=function(){return new Pn(this.value(),this.__chain__)},On.prototype.next=function(){void 0===this.__values__&&(this.__values__=ns(this.value()));var e=this.__index__>=this.__values__.length;return{done:e,value:e?void 0:this.__values__[this.__index__++]}},On.prototype.plant=function(e){for(var t,n=this;n instanceof jn;){var r=Oo(n);r.__index__=0,r.__values__=void 0,t?i.__wrapped__=r:t=r;var i=r;n=n.__wrapped__}return i.__wrapped__=e,t},On.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Dn){var t=e;return this.__actions__.length&&(t=new Dn(this)),(t=t.reverse()).__actions__.push({func:ra,args:[Uo],thisArg:void 0}),new Pn(t,this.__chain__)}return this.thru(Uo)},On.prototype.toJSON=On.prototype.valueOf=On.prototype.value=function(){return ri(this.__wrapped__,this.__actions__)},On.prototype.first=On.prototype.head,Qe&&(On.prototype[Qe]=function(){return this}),On}();We._=Zt,void 0===(i=function(){return Zt}.call(t,n,t,r))||(r.exports=i)}).call(this)}).call(this,n(35),n(80)(e))},function(e,t,n){const r=n(21);function i(e){return!r.isNull(e)&&!r.isUndefined(e)}function o(e,t,n,a){a||(a=1);var s=e.predecessors(t);if(!s||0==n)return[];var l=s.concat(s.reduce((function(t,r){return a>=n&&i(n)?t:t.concat(o(e,r,n,a+1))}),[]));return r.uniq(l)}function a(e,t,n,o){o||(o=1);var s=e.successors(t);if(!s||0==n)return[];var l=s.concat(s.reduce((function(t,r){return o>=n&&i(n)?t:t.concat(a(e,r,n,o+1))}),[]));return r.uniq(l)}e.exports={selectAt:function(e,t){var n=[t],i=r.union([t],a(e,t));return r.each(i,(function(t){var i=o(e,t);n=r.union(n,i,[t])})),n},ancestorNodes:o,descendentNodes:a}},function(e,t){var n={utf8:{stringToBytes:function(e){return n.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(n.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var t=[],n=0;n<e.length;n++)t.push(255&e.charCodeAt(n));return t},bytesToString:function(e){for(var t=[],n=0;n<e.length;n++)t.push(String.fromCharCode(e[n]));return t.join("")}}};e.exports=n},function(e,t){var n="/docs/source.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'<style>\n/* TODO */\n.section-target {\n top: -8em;\n}\n\n.noflex {\n flex: 0 0 160px !important;\n}\n\n.highlight {\n color: #24292e;\n background-color: white;\n}\n\n</style>\n\n<div class=\'app-scroll\'>\n <div class="app-links app-sticky">\n <div class="app-title">\n <div class="app-frame app-pad app-flush-bottom">\n <h1>\n <span class="break">{{ model.source_name }}.{{ model.name }}</span>\n <small>source table</small>\n </h1>\n </div>\n </div>\n <div class="app-frame app-pad-h">\n <ul class="nav nav-tabs">\n <li ui-sref-active=\'active\'><a ui-sref="dbt.source({\'#\': \'details\'})">Details</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.source({\'#\': \'description\'})">Description</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.source({\'#\': \'columns\'})">Columns</a></li>\n <li ui-sref-active=\'active\' ng-show = "referencesLength != 0"><a ui-sref="dbt.source({\'#\': \'referenced_by\'})">Referenced By</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.source({\'#\': \'code\'})">SQL</a></li>\n </ul>\n </div>\n </div>\n <div class="app-details">\n <div class="app-frame app-pad">\n <section class="section">\n <div class="section-target" id="details"></div>\n <table-details model="model" extras="extra_table_fields"/>\n </section>\n\n <section class="section">\n <div class="section-target" id="description"></div>\n <div class="section-content">\n <h6>Description</h6>\n <div class="panel">\n <div class="panel-body">\n <div ng-if="model.description" class="model-markdown" marked="model.description"></div>\n <div ng-if="!model.description">This {{ model.resource_type }} is not currently documented</div>\n </div>\n </div>\n </div>\n </section>\n <section class="section">\n <div class="section-target" id="columns"></div>\n <div class="section-content">\n <h6>Columns</h6>\n <column-details model="model" />\n </div>\n </section>\n\n <section class="section" ng-show = "referencesLength != 0">\n <div class="section-target" id="referenced_by"></div>\n <div class="section-content">\n <h6>Referenced By</h6>\n <reference-list references="references" node="model" />\n </div>\n </section>\n\n <section class="section">\n <div class="section-target" id="code"></div>\n <div class="section-content">\n <code-block versions="versions" default="default_version" language="language"></code-block>\n </div>\n </section>\n </div>\n </div>\n</div>\n')}]),e.exports=n},function(e,t,n){"use strict";n.r(t);var r=function(e){return function(e){return!!e&&"object"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||function(e){return e.$$typeof===i}(e)}(e)};var i="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function o(e,t){return!1!==t.clone&&t.isMergeableObject(e)?s((n=e,Array.isArray(n)?[]:{}),e,t):e;var n}function a(e,t,n){return e.concat(t).map((function(e){return o(e,n)}))}function s(e,t,n){(n=n||{}).arrayMerge=n.arrayMerge||a,n.isMergeableObject=n.isMergeableObject||r;var i=Array.isArray(t);return i===Array.isArray(e)?i?n.arrayMerge(e,t,n):function(e,t,n){var r={};return n.isMergeableObject(e)&&Object.keys(e).forEach((function(t){r[t]=o(e[t],n)})),Object.keys(t).forEach((function(i){n.isMergeableObject(t[i])&&e[i]?r[i]=s(e[i],t[i],n):r[i]=o(t[i],n)})),r}(e,t,n):o(t,n)}s.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,n){return s(e,n,t)}),{})};var l=s;const c=n(9),u=(n(33),n(202)),{getQuoteChar:d}=n(430);c.module("dbt").factory("project",["$q","$http",function(e,t){var n={manifest:"MANIFEST.JSON INLINE DATA",catalog:"CATALOG.JSON INLINE DATA"},r={project:{},tree:{project:[],database:[],sources:[]},files:{manifest:{},catalog:{}},loaded:e.defer()};function i(e,t){return u.each(t.sources,(function(e,n){t.nodes[n]=e})),u.each(e.nodes,(function(e,n){var r=t.nodes[n];if(r){var i,o,a,s=u.keys(r.columns),l=e.columns,c=(i=s,o=l,a={},u.each(o,(function(e,t){var n=u.find(i,(function(e){return e.toLowerCase()==t.toLowerCase()}));n?a[n]=e:a[t]=e})),a);e.columns=c}})),l(t,e)}function o(e,r){return e in n&&"object"==typeof n[e]?{label:e,data:n[e]}:t({method:"GET",url:r}).then((function(t){return{label:e,data:t.data}}),(function(t){console.error(t),alert("dbt Docs was unable to load the "+e+" file at path: \n "+r+"\n\nError: "+t.statusText+" ("+t.status+")\n\nThe dbt Docs site may not work as expected if this file cannot be found.Please try again, and contact support if this error persists.")}))}return r.find_by_id=function(e,t){r.ready((function(){if(e){var n=r.node(e);t(n)}}))},r.node=function(e){return u.find(r.project.nodes,{unique_id:e})},r.loadProject=function(){var t="?cb="+(new Date).getTime(),n=[o("manifest","manifest.json"+t),o("catalog","catalog.json"+t)];e.all(n).then((function(e){u.each(e,(function(e){e?r.files[e.label]=e.data:console.error("FILE FAILED TO LOAD!")})),u.each(r.files.manifest.nodes,(function(e){"model"==e.resource_type&&null!=e.version?e.label=e.name+"_v"+e.version:e.label=e.name})),u.each(r.files.manifest.sources,(function(e){e.label=e.source_name+"."+e.name,r.files.manifest.nodes[e.unique_id]=e})),u.each(r.files.manifest.exposures,(function(e){e.label||(e.label=e.name),r.files.manifest.nodes[e.unique_id]=e})),u.each(r.files.manifest.metrics,(function(e){r.files.manifest.nodes[e.unique_id]=e})),u.each(r.files.manifest.semantic_models,(function(e){r.files.manifest.nodes[e.unique_id]=e,e.label=e.name}));var t=r.files.manifest.metadata.adapter_type,n=function(e,t){var n=e||[],r={};u.each(n,(function(e){r[e.package_name]||(r[e.package_name]={}),r[e.package_name][e.name]=e}));e=[];return u.each(r,(function(n,r){if("dbt"!=r&&r!="dbt_"+t){var i=function(e,t){var n={};u.each(e,(function(e){e.macro_sql.match(/{{\s*adapter_macro\([^)]+\)\s+}}/)&&(e.impls={"Adapter Macro":e.macro_sql},e.is_adapter_macro=!0,n[e.name]=e)}));var r=["postgres","redshift","bigquery","snowflake","spark","presto","default"],i=u.values(n),o=u.filter(e,(function(e){var t=e.name.split("__"),i=t.shift(),o=t.join("__");return!(r.indexOf(i)>=0&&n[o])||(n[o].impls[i]=e.macro_sql,e.is_adapter_macro_impl=!0,!1)}));return i.concat(o)}(n);e=e.concat(i)}})),u.keyBy(e,"unique_id")}(r.files.manifest.macros,t);r.files.manifest.macros=n;var o=i(r.files.manifest,r.files.catalog),a=o.nodes,s=u.keyBy(a,"name"),l=u.filter(o.nodes,{resource_type:"test"});u.each(l,(function(e){if(e.hasOwnProperty("test_metadata")){var t,n={test_name:t=e.test_metadata.namespace?e.test_metadata.namespace+"."+e.test_metadata.name:e.test_metadata.name};if("not_null"==e.test_metadata.name)n.short="N",n.label="Not Null";else if("unique"==e.test_metadata.name)n.short="U",n.label="Unique";else if("relationships"==e.test_metadata.name){var r=e.refs[0],i=s[r];i&&e.test_metadata.kwargs.field&&(n.fk_field=e.test_metadata.kwargs.field,n.fk_model=i),n.short="F",n.label="Foreign Key"}else if("accepted_values"==e.test_metadata.name){if(Array.isArray(e.test_metadata.kwargs.values))var a=e.test_metadata.kwargs.values.join(", ");else a=JSON.stringify(e.test_metadata.kwargs.values);n.short="A",n.label="Accepted Values: "+a}else{var l=u.omit(e.test_metadata.kwargs,"column_name");n.short="+",n.label=t+"("+JSON.stringify(l)+")"}var c=e.depends_on.nodes,p=e.column_name||e.test_metadata.kwargs.column_name||e.test_metadata.kwargs.arg;if(c.length&&p){if("relationships"==e.test_metadata.name)var f=c[c.length-1];else f=c[0];var h=o.nodes[f],g=d(o.metadata),m=u.find(h.columns,(function(e,t){let n=p;return p.startsWith(g)&&p.endsWith(g)&&(n=p.substring(1,p.length-1)),t.toLowerCase()==n.toLowerCase()}));m&&(m.tests=m.tests||[],m.tests.push(n))}}})),r.project=o;var c=u.filter(r.project.macros,(function(e){return!e.is_adapter_macro_impl})),p=u.filter(r.project.nodes,(function(e){return u.includes(["model","source","seed","snapshot","analysis","exposure","metric","semantic_model"],e.resource_type)}));r.project.searchable=u.filter(p.concat(c),(function(e){return!e.docs||e.docs.show})),r.loaded.resolve()}))},r.ready=function(e){r.loaded.promise.then((function(){e(r.project)}))},r.search=function(e){if(0==e.length)return u.map(r.project.searchable,(function(e){return{model:e,matches:[]}}));var t=[];return u.each(r.project.searchable,(function(n){var r=function(e,t){var n=[],r={name:"string",description:"string",raw_code:"string",columns:"object",column_description:"n/a",tags:"array",arguments:"array",label:"string"};let i=u.words(e.toLowerCase());for(var o in r)if("column_description"===o)for(var a in t.columns)null!=t.columns[a].description&&i.every(e=>-1!=t.columns[a].description.toLowerCase().indexOf(e))&&n.push({key:o,value:e});else{if(!t[o])continue;if("string"===r[o]&&i.every(e=>-1!=t[o].toLowerCase().indexOf(e)))n.push({key:o,value:e});else if("object"===r[o])for(var a in t[o])null!=t[o][a].name&&i.every(e=>-1!=t[o][a].name.toLowerCase().indexOf(e))&&n.push({key:o,value:e});else if("array"===r[o])for(var s of t[o])i.every(e=>-1!=JSON.stringify(s).toLowerCase().indexOf(e))&&n.push({key:o,value:e})}return n}(e,n);r.length&&t.push({model:n,matches:r})})),t},r.getModelTree=function(e,t){r.loaded.promise.then((function(){var n=u.values(r.project.macros),i=u.filter(r.project.nodes,(function(e){if("test"==e.resource_type&&!e.hasOwnProperty("test_metadata"))return!0;return u.includes(["snapshot","source","seed","model","analysis","exposure","metric","semantic_model"],e.resource_type)}));r.tree.database=function(e,t){var n={},r=u.filter(e,(function(e){return!!u.get(e,["docs","show"],!0)&&(-1!=u.indexOf(["source","snapshot","seed"],e.resource_type)||("model"==e.resource_type?"ephemeral"!=e.config.materialized:void 0))})),i=u.sortBy(r,(function(e){return e.database+"."+e.schema+"."+(e.identifier||e.alias||e.name)})),o=u.groupBy(i,"database");return u.each(o,(function(e,r){var i={type:"database",name:r,active:!1,items:[]};n[r]=i;var o=u.groupBy(e,"schema");u.each(o,(function(e,n){n={type:"schema",name:n,active:!1,items:[]};i.items.push(n),u.each(e,(function(e){var r=e.unique_id==t;r&&(i.active=!0,n.active=!0),n.items.push({type:"table",name:e.identifier||e.alias||e.name,node:e,active:r,unique_id:e.unique_id,node_type:"model"})}))}))})),n}(i,e),r.tree.groups=function(e,t){var n={};u.each(e,(function(e){const r=u.get(e,["docs","show"],!0);if(!(e.resource_type in["source","exposure","seed","macro"])&&r&&"private"!==e.access){if("model"==e.resource_type&&null!=e.version)var i=e.name+"_v"+e.version;else i=e.name;var o="protected"===e.access?i+" (protected)":i,a=e.group,s=e.unique_id==t;n[a]?s&&(n[a].active=!0):n[a]={type:"group",name:a,active:s,items:[]},n[a].items.push({type:"file",name:o,node:e,active:s,unique_id:e.unique_id,node_type:"model"})}}));n=u.sortBy(u.values(n),"name");return u.each(n,(function(e){e.items=u.sortBy(e.items,"name")})),n}(i,e),r.tree.project=function(e,t,n){var r={};e=e||[],t=t||[];return u.each(e.concat(t),(function(e){var t=u.get(e,["docs","show"],!0);if("source"!=e.resource_type&&"exposure"!=e.resource_type&&"metric"!=e.resource_type&&"semantic_model"!=e.resource_type&&t){if(-1!=e.original_file_path.indexOf("\\"))var i=e.original_file_path.split("\\");else i=e.original_file_path.split("/");var o=[e.package_name].concat(i),a=e.unique_id==n,s=u.initial(o);if("macro"==e.resource_type)var l=e.name;else l=u.last(o);if("model"==e.resource_type&&null!=e.version)var c=e.name+"_v"+e.version;else c=e.name;var d=r;u.each(s,(function(e){d[e]?a&&(d[e].active=!0):d[e]={type:"folder",name:e,active:a,items:{}},d=d[e].items})),d[l]={type:"file",name:c,node:e,active:a,unique_id:e.unique_id,node_type:e.resource_type}}})),function e(t){var n=[],r=u.values(t);return u.each(r,(function(t){if(t.items){var r=e(t.items),i=u.sortBy(r,"name");t.items=i}n.push(t)})),n}(r)}(i,n,e);var o=u.values(r.project.sources);r.tree.sources=function(e,t){var n={};u.each(e,(function(e){var r=e.source_name,i=e.name,o=e.unique_id==t;n[r]?o&&(n[r].active=!0):n[r]={type:"folder",name:r,active:o,items:[]},n[r].items.push({type:"file",name:i,node:e,active:o,unique_id:e.unique_id,node_type:"source"})}));n=u.sortBy(u.values(n),"name");return u.each(n,(function(e){e.items=u.sortBy(e.items,"name")})),n}(o,e);var a=u.values(r.project.exposures);r.tree.exposures=function(e,t){var n={};u.each(e,(function(e){e.name;var r=e.type||"Uncategorized";r=function(e){var t={ml:"ML"};return t.hasOwnProperty(e)?t[e]:e.charAt(0).toUpperCase()+e.slice(1)}(r);var i=e.unique_id==t;n[r]?i&&(n[r].active=!0):n[r]={type:"folder",name:r,active:i,items:[]},n[r].items.push({type:"file",name:e.label,node:e,active:i,unique_id:e.unique_id,node_type:"exposure"})}));n=u.sortBy(u.values(n),"name");return u.each(n,(function(e){e.items=u.sortBy(e.items,"name")})),n}(a,e);var s=u.values(r.project.metrics);r.tree.metrics=function(e,t){var n={};u.each(e,(function(e){e.name;var r=e.package_name,i=e.unique_id==t;n[r]?i&&(n[r].active=!0):n[r]={type:"folder",name:r,active:i,items:[]},n[r].items.push({type:"file",name:e.label,node:e,active:i,unique_id:e.unique_id,node_type:"metric"})}));n=u.sortBy(u.values(n),"name");return u.each(n,(function(e){n.items=u.sortBy(n.items,"name")})),n}(s,e);var l=u.values(r.project.semantic_models);r.tree.semantic_models=function(e,t){var n={};u.each(e,(function(e){e.name;var r=e.package_name,i=e.unique_id==t;n[r]?i&&(n[r].active=!0):n[r]={type:"folder",name:r,active:i,items:[]},n[r].items.push({type:"file",name:e.name,node:e,active:i,unique_id:e.unique_id,node_type:"semantic_model"})}));n=u.sortBy(u.values(n),"name");return u.each(n,(function(e){n.items=u.sortBy(n.items,"name")})),n}(l,e),t(r.tree)}))},r.updateSelectedInTree=function(e,t){var n=!1;return u.each(t,(function(t){if(t.node&&t.node.unique_id==e)t.active=!0,n=!0;else if(t.node&&t.node.unique_id!=e)t.active=!1;else{r.updateSelectedInTree(e,t.items)&&(t.active=!0,n=!0)}})),n},r.updateSelected=function(e){return r.updateSelectedInTree(e,r.tree.project),r.updateSelectedInTree(e,r.tree.database),r.updateSelectedInTree(e,r.tree.groups),r.updateSelectedInTree(e,r.tree.sources),r.updateSelectedInTree(e,r.tree.exposures),r.updateSelectedInTree(e,r.tree.metrics),r.updateSelectedInTree(e,r.tree.semantic_models),r.tree},r.caseColumn=function(e){return"snowflake"==r.project.metadata.adapter_type&&e.toUpperCase()==e?e.toLowerCase():e},r.init=function(){r.loadProject()},r}])},function(e,t,n){const r=n(9);n(209),n(230),n(445),n(458),n(459),n(479),n(480),n(481),r.module("dbt").run(["$rootScope","$state","$stateParams",function(e,t,n){e.$state=t,e.$stateParams=n}])},function(e,t){ /** - * @license AngularJS v1.8.3 + * @license AngularJS v1.8.2 * (c) 2010-2020 Google LLC. http://angularjs.org * License: MIT */ -!function(e){"use strict";var t={objectMaxDepth:5,urlErrorParamsEnabled:!0};function n(e){if(!L(e))return t;z(e.objectMaxDepth)&&(t.objectMaxDepth=r(e.objectMaxDepth)?e.objectMaxDepth:NaN),z(e.urlErrorParamsEnabled)&&Z(e.urlErrorParamsEnabled)&&(t.urlErrorParamsEnabled=e.urlErrorParamsEnabled)}function r(e){return q(e)&&e>0}function i(e,n){n=n||Error;var r="https://errors.angularjs.org/1.8.3/",i=r.replace(".","\\.")+"[\\s\\S]*",o=new RegExp(i,"g");return function(){var i,a,s=arguments[0],l=arguments[1],c="["+(e?e+":":"")+s+"] ",u=de(arguments,2).map((function(e){return Ve(e,t.objectMaxDepth)}));if(c+=l.replace(/\{\d+\}/g,(function(e){var t=+e.slice(1,-1);return t<u.length?u[t].replace(o,""):e})),c+="\n"+r+(e?e+"/":"")+s,t.urlErrorParamsEnabled)for(a=0,i="?";a<u.length;a++,i="&")c+=i+"p"+a+"="+encodeURIComponent(u[a]);return new n(c)}}var o,a,s,l,c=/^\/(.+)\/([a-z]*)$/,u=Object.prototype.hasOwnProperty,d=function(e){return F(e)?e.toLowerCase():e},p=function(e){return F(e)?e.toUpperCase():e},f=[].slice,h=[].splice,g=[].push,m=Object.prototype.toString,v=Object.getPrototypeOf,b=i("ng"),y=e.angular||(e.angular={}),x=0;function w(e){if(null==e||Y(e))return!1;if(U(e)||F(e)||a&&e instanceof a)return!0;var t="length"in Object(e)&&e.length;return q(t)&&(t>=0&&t-1 in e||"function"==typeof e.item)}function k(e,t,n){var r,i;if(e)if(G(e))for(r in e)"prototype"!==r&&"length"!==r&&"name"!==r&&e.hasOwnProperty(r)&&t.call(n,e[r],r,e);else if(U(e)||w(e)){var o="object"!=typeof e;for(r=0,i=e.length;r<i;r++)(o||r in e)&&t.call(n,e[r],r,e)}else if(e.forEach&&e.forEach!==k)e.forEach(t,n,e);else if(B(e))for(r in e)t.call(n,e[r],r,e);else if("function"==typeof e.hasOwnProperty)for(r in e)e.hasOwnProperty(r)&&t.call(n,e[r],r,e);else for(r in e)u.call(e,r)&&t.call(n,e[r],r,e);return e}function A(e,t,n){for(var r=Object.keys(e).sort(),i=0;i<r.length;i++)t.call(n,e[r[i]],r[i]);return r}function E(e){return function(t,n){e(n,t)}}function S(){return++x}function $(e,t){t?e.$$hashKey=t:delete e.$$hashKey}function C(e,t,n){for(var r=e.$$hashKey,i=0,o=t.length;i<o;++i){var a=t[i];if(L(a)||G(a))for(var s=Object.keys(a),l=0,c=s.length;l<c;l++){var u=s[l],d=a[u];n&&L(d)?V(d)?e[u]=new Date(d.valueOf()):W(d)?e[u]=new RegExp(d):d.nodeName?e[u]=d.cloneNode(!0):te(d)?e[u]=d.clone():"__proto__"!==u&&(L(e[u])||(e[u]=U(d)?[]:{}),C(e[u],[d],!0)):e[u]=d}}return $(e,r),e}function _(e){return C(e,f.call(arguments,1),!1)}function O(e){return C(e,f.call(arguments,1),!0)}function T(e){return parseInt(e,10)}o=e.document.documentMode;var j=Number.isNaN||function(e){return e!=e};function P(e,t){return _(Object.create(e),t)}function D(){}function R(e){return e}function I(e){return function(){return e}}function N(e){return G(e.toString)&&e.toString!==m}function M(e){return void 0===e}function z(e){return void 0!==e}function L(e){return null!==e&&"object"==typeof e}function B(e){return null!==e&&"object"==typeof e&&!v(e)}function F(e){return"string"==typeof e}function q(e){return"number"==typeof e}function V(e){return"[object Date]"===m.call(e)}function U(e){return Array.isArray(e)||e instanceof Array}function H(e){switch(m.call(e)){case"[object Error]":case"[object Exception]":case"[object DOMException]":return!0;default:return e instanceof Error}}function G(e){return"function"==typeof e}function W(e){return"[object RegExp]"===m.call(e)}function Y(e){return e&&e.window===e}function X(e){return e&&e.$evalAsync&&e.$watch}function Z(e){return"boolean"==typeof e}function Q(e){return e&&G(e.then)}D.$inject=[],R.$inject=[];var J=/^\[object (?:Uint8|Uint8Clamped|Uint16|Uint32|Int8|Int16|Int32|Float32|Float64)Array]$/;var K=function(e){return F(e)?e.trim():e},ee=function(e){return e.replace(/([-()[\]{}+?*.$^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")};function te(e){return!(!e||!(e.nodeName||e.prop&&e.attr&&e.find))}function ne(e){return d(e.nodeName||e[0]&&e[0].nodeName)}function re(e,t){return-1!==Array.prototype.indexOf.call(e,t)}function ie(e,t){var n=e.indexOf(t);return n>=0&&e.splice(n,1),n}function oe(e,t,n){var i,o,a=[],s=[];if(n=r(n)?n:NaN,t){if((o=t)&&q(o.length)&&J.test(m.call(o))||(i=t,"[object ArrayBuffer]"===m.call(i)))throw b("cpta","Can't copy! TypedArray destination cannot be mutated.");if(e===t)throw b("cpi","Can't copy! Source and destination are identical.");return U(t)?t.length=0:k(t,(function(e,n){"$$hashKey"!==n&&delete t[n]})),a.push(e),s.push(t),l(e,t,n)}return c(e,n);function l(e,t,n){if(--n<0)return"...";var r,i=t.$$hashKey;if(U(e))for(var o=0,a=e.length;o<a;o++)t.push(c(e[o],n));else if(B(e))for(r in e)t[r]=c(e[r],n);else if(e&&"function"==typeof e.hasOwnProperty)for(r in e)e.hasOwnProperty(r)&&(t[r]=c(e[r],n));else for(r in e)u.call(e,r)&&(t[r]=c(e[r],n));return $(t,i),t}function c(e,t){if(!L(e))return e;var n=a.indexOf(e);if(-1!==n)return s[n];if(Y(e)||X(e))throw b("cpws","Can't copy! Making copies of Window or Scope instances is not supported.");var r=!1,i=function(e){switch(m.call(e)){case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Float32Array]":case"[object Float64Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return new e.constructor(c(e.buffer),e.byteOffset,e.length);case"[object ArrayBuffer]":if(!e.slice){var t=new ArrayBuffer(e.byteLength);return new Uint8Array(t).set(new Uint8Array(e)),t}return e.slice(0);case"[object Boolean]":case"[object Number]":case"[object String]":case"[object Date]":return new e.constructor(e.valueOf());case"[object RegExp]":var n=new RegExp(e.source,e.toString().match(/[^/]*$/)[0]);return n.lastIndex=e.lastIndex,n;case"[object Blob]":return new e.constructor([e],{type:e.type})}if(G(e.cloneNode))return e.cloneNode(!0)}(e);return void 0===i&&(i=U(e)?[]:Object.create(v(e)),r=!0),a.push(e),s.push(i),r?l(e,i,t):i}}function ae(e,t){return e===t||e!=e&&t!=t}function se(e,t){if(e===t)return!0;if(null===e||null===t)return!1;if(e!=e&&t!=t)return!0;var n,r,i,o=typeof e;if(o===typeof t&&"object"===o){if(!U(e)){if(V(e))return!!V(t)&&ae(e.getTime(),t.getTime());if(W(e))return!!W(t)&&e.toString()===t.toString();if(X(e)||X(t)||Y(e)||Y(t)||U(t)||V(t)||W(t))return!1;for(r in i=Le(),e)if("$"!==r.charAt(0)&&!G(e[r])){if(!se(e[r],t[r]))return!1;i[r]=!0}for(r in t)if(!(r in i)&&"$"!==r.charAt(0)&&z(t[r])&&!G(t[r]))return!1;return!0}if(!U(t))return!1;if((n=e.length)===t.length){for(r=0;r<n;r++)if(!se(e[r],t[r]))return!1;return!0}}return!1}var le=function(){if(!z(le.rules)){var t=e.document.querySelector("[ng-csp]")||e.document.querySelector("[data-ng-csp]");if(t){var n=t.getAttribute("ng-csp")||t.getAttribute("data-ng-csp");le.rules={noUnsafeEval:!n||-1!==n.indexOf("no-unsafe-eval"),noInlineStyle:!n||-1!==n.indexOf("no-inline-style")}}else le.rules={noUnsafeEval:function(){try{return new Function(""),!1}catch(e){return!0}}(),noInlineStyle:!1}}return le.rules},ce=function(){if(z(ce.name_))return ce.name_;var t,n,r,i,o=Se.length;for(n=0;n<o;++n)if(r=Se[n],t=e.document.querySelector("["+r.replace(":","\\:")+"jq]")){i=t.getAttribute(r+"jq");break}return ce.name_=i};function ue(e,t,n){return e.concat(f.call(t,n))}function de(e,t){return f.call(e,t||0)}function pe(e,t){var n=arguments.length>2?de(arguments,2):[];return!G(t)||t instanceof RegExp?t:n.length?function(){return arguments.length?t.apply(e,ue(n,arguments,0)):t.apply(e,n)}:function(){return arguments.length?t.apply(e,arguments):t.call(e)}}function fe(t,n){var r=n;return"string"==typeof t&&"$"===t.charAt(0)&&"$"===t.charAt(1)?r=void 0:Y(n)?r="$WINDOW":n&&e.document===n?r="$DOCUMENT":X(n)&&(r="$SCOPE"),r}function he(e,t){if(!M(e))return q(t)||(t=t?2:null),JSON.stringify(e,fe,t)}function ge(e){return F(e)?JSON.parse(e):e}var me=/:/g;function ve(e,t){e=e.replace(me,"");var n=Date.parse("Jan 01, 1970 00:00:00 "+e)/6e4;return j(n)?t:n}function be(e,t){return(e=new Date(e.getTime())).setMinutes(e.getMinutes()+t),e}function ye(e,t,n){n=n?-1:1;var r=e.getTimezoneOffset();return be(e,n*(ve(t,r)-r))}function xe(e){e=a(e).clone().empty();var t=a("<div></div>").append(e).html();try{return e[0].nodeType===Fe?d(t):t.match(/^(<[^>]+>)/)[1].replace(/^<([\w-]+)/,(function(e,t){return"<"+d(t)}))}catch(e){return d(t)}}function we(e){try{return decodeURIComponent(e)}catch(e){}}function ke(e){var t={};return k((e||"").split("&"),(function(e){var n,r,i;e&&(r=e=e.replace(/\+/g,"%20"),-1!==(n=e.indexOf("="))&&(r=e.substring(0,n),i=e.substring(n+1)),z(r=we(r))&&(i=!z(i)||we(i),u.call(t,r)?U(t[r])?t[r].push(i):t[r]=[t[r],i]:t[r]=i))})),t}function Ae(e){return Ee(e,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function Ee(e,t){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,t?"%20":"+")}var Se=["ng-","data-ng-","ng:","x-ng-"];var $e=function(t){var n=t.currentScript;if(!n)return!0;if(!(n instanceof e.HTMLScriptElement||n instanceof e.SVGScriptElement))return!1;var r=n.attributes;return[r.getNamedItem("src"),r.getNamedItem("href"),r.getNamedItem("xlink:href")].every((function(e){if(!e)return!0;if(!e.value)return!1;var n=t.createElement("a");if(n.href=e.value,t.location.origin===n.origin)return!0;switch(n.protocol){case"http:":case"https:":case"ftp:":case"blob:":case"file:":case"data:":return!0;default:return!1}}))}(e.document);function Ce(t,n){var r,i,o={};if(k(Se,(function(e){var n=e+"app";!r&&t.hasAttribute&&t.hasAttribute(n)&&(r=t,i=t.getAttribute(n))})),k(Se,(function(e){var n,o=e+"app";!r&&(n=t.querySelector("["+o.replace(":","\\:")+"]"))&&(r=n,i=n.getAttribute(o))})),r){if(!$e)return void e.console.error("AngularJS: disabling automatic bootstrap. <script> protocol indicates an extension, document.location.href does not match.");o.strictDi=null!==function(e,t){var n,r,i=Se.length;for(r=0;r<i;++r)if(n=Se[r]+t,F(n=e.getAttribute(n)))return n;return null}(r,"strict-di"),n(r,i?[i]:[],o)}}function _e(t,n,r){L(r)||(r={});r=_({strictDi:!1},r);var i=function(){if((t=a(t)).injector()){var i=t[0]===e.document?"document":xe(t);throw b("btstrpd","App already bootstrapped with this element '{0}'",i.replace(/</,"<").replace(/>/,">"))}(n=n||[]).unshift(["$provide",function(e){e.value("$rootElement",t)}]),r.debugInfoEnabled&&n.push(["$compileProvider",function(e){e.debugInfoEnabled(!0)}]),n.unshift("ng");var o=Qt(n,r.strictDi);return o.invoke(["$rootScope","$rootElement","$compile","$injector",function(e,t,n,r){e.$apply((function(){t.data("$injector",r),n(t)(e)}))}]),o},o=/^NG_ENABLE_DEBUG_INFO!/,s=/^NG_DEFER_BOOTSTRAP!/;if(e&&o.test(e.name)&&(r.debugInfoEnabled=!0,e.name=e.name.replace(o,"")),e&&!s.test(e.name))return i();e.name=e.name.replace(s,""),y.resumeBootstrap=function(e){return k(e,(function(e){n.push(e)})),i()},G(y.resumeDeferredBootstrap)&&y.resumeDeferredBootstrap()}function Oe(){e.name="NG_ENABLE_DEBUG_INFO!"+e.name,e.location.reload()}function Te(e){var t=y.element(e).injector();if(!t)throw b("test","no injector found for element argument to getTestability");return t.get("$$testability")}var je=/[A-Z]/g;function Pe(e,t){return t=t||"_",e.replace(je,(function(e,n){return(n?t:"")+e.toLowerCase()}))}var De=!1;function Re(){pt.legacyXHTMLReplacement=!0}function Ie(e,t,n){if(!e)throw b("areq","Argument '{0}' is {1}",t||"?",n||"required");return e}function Ne(e,t,n){return n&&U(e)&&(e=e[e.length-1]),Ie(G(e),t,"not a function, got "+(e&&"object"==typeof e?e.constructor.name||"Object":typeof e)),e}function Me(e,t){if("hasOwnProperty"===e)throw b("badname","hasOwnProperty is not a valid {0} name",t)}function ze(e){for(var t,n=e[0],r=e[e.length-1],i=1;n!==r&&(n=n.nextSibling);i++)(t||e[i]!==n)&&(t||(t=a(f.call(e,0,i))),t.push(n));return t||e}function Le(){return Object.create(null)}function Be(e){if(null==e)return"";switch(typeof e){case"string":break;case"number":e=""+e;break;default:e=!N(e)||U(e)||V(e)?he(e):e.toString()}return e}var Fe=3;function qe(e,t){if(U(e)){t=t||[];for(var n=0,r=e.length;n<r;n++)t[n]=e[n]}else if(L(e))for(var i in t=t||{},e)"$"===i.charAt(0)&&"$"===i.charAt(1)||(t[i]=e[i]);return t||e}function Ve(e,t){return"function"==typeof e?e.toString().replace(/ \{[\s\S]*$/,""):M(e)?"undefined":"string"!=typeof e?function(e,t){var n=[];return r(t)&&(e=y.copy(e,null,t)),JSON.stringify(e,(function(e,t){if(L(t=fe(e,t))){if(n.indexOf(t)>=0)return"...";n.push(t)}return t}))}(e,t):e}var Ue={full:"1.8.3",major:1,minor:8,dot:3,codeName:"ultimate-farewell"};pt.expando="ng339";var He=pt.cache={},Ge=1;pt._data=function(e){return this.cache[e[this.expando]]||{}};var We=/-([a-z])/g,Ye=/^-ms-/,Xe={mouseleave:"mouseout",mouseenter:"mouseover"},Ze=i("jqLite");function Qe(e,t){return t.toUpperCase()}function Je(e){return e.replace(We,Qe)}var Ke=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,et=/<|&#?\w+;/,tt=/<([\w:-]+)/,nt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,rt={thead:["table"],col:["colgroup","table"],tr:["tbody","table"],td:["tr","tbody","table"]};rt.tbody=rt.tfoot=rt.colgroup=rt.caption=rt.thead,rt.th=rt.td;var it={option:[1,'<select multiple="multiple">',"</select>"],_default:[0,"",""]};for(var ot in rt){var at=rt[ot],st=at.slice().reverse();it[ot]=[st.length,"<"+st.join("><")+">","</"+at.join("></")+">"]}function lt(e){return!et.test(e)}function ct(e){var t=e.nodeType;return 1===t||!t||9===t}function ut(t,n){var r,i,a,s,l,c=n.createDocumentFragment(),u=[];if(lt(t))u.push(n.createTextNode(t));else{if(r=c.appendChild(n.createElement("div")),i=(tt.exec(t)||["",""])[1].toLowerCase(),s=pt.legacyXHTMLReplacement?t.replace(nt,"<$1></$2>"):t,o<10)for(a=it[i]||it._default,r.innerHTML=a[1]+s+a[2],l=a[0];l--;)r=r.firstChild;else{for(l=(a=rt[i]||[]).length;--l>-1;)r.appendChild(e.document.createElement(a[l])),r=r.firstChild;r.innerHTML=s}u=ue(u,r.childNodes),(r=c.firstChild).textContent=""}return c.textContent="",c.innerHTML="",k(u,(function(e){c.appendChild(e)})),c}it.optgroup=it.option;var dt=e.Node.prototype.contains||function(e){return!!(16&this.compareDocumentPosition(e))};function pt(t){if(t instanceof pt)return t;var n,r,i,o;if(F(t)&&(t=K(t),n=!0),!(this instanceof pt)){if(n&&"<"!==t.charAt(0))throw Ze("nosel","Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element");return new pt(t)}n?Et(this,(r=t,i=i||e.document,(o=Ke.exec(r))?[i.createElement(o[1])]:(o=ut(r,i))?o.childNodes:[])):G(t)?Ot(t):Et(this,t)}function ft(e){return e.cloneNode(!0)}function ht(e,t){!t&&ct(e)&&a.cleanData([e]),e.querySelectorAll&&a.cleanData(e.querySelectorAll("*"))}function gt(e){var t;for(t in e)return!1;return!0}function mt(e){var t=e.ng339,n=t&&He[t],r=n&&n.events,i=n&&n.data;i&&!gt(i)||r&&!gt(r)||(delete He[t],e.ng339=void 0)}function vt(e,t,n,r){if(z(r))throw Ze("offargs","jqLite#off() does not support the `selector` argument");var i=yt(e),o=i&&i.events,a=i&&i.handle;if(a){if(t){var s=function(t){var r=o[t];z(n)&&ie(r||[],n),z(n)&&r&&r.length>0||(e.removeEventListener(t,a),delete o[t])};k(t.split(" "),(function(e){s(e),Xe[e]&&s(Xe[e])}))}else for(t in o)"$destroy"!==t&&e.removeEventListener(t,a),delete o[t];mt(e)}}function bt(e,t){var n=e.ng339,r=n&&He[n];r&&(t?delete r.data[t]:r.data={},mt(e))}function yt(e,t){var n=e.ng339,r=n&&He[n];return t&&!r&&(e.ng339=n=++Ge,r=He[n]={events:{},data:{},handle:void 0}),r}function xt(e,t,n){if(ct(e)){var r,i=z(n),o=!i&&t&&!L(t),a=!t,s=yt(e,!o),l=s&&s.data;if(i)l[Je(t)]=n;else{if(a)return l;if(o)return l&&l[Je(t)];for(r in t)l[Je(r)]=t[r]}}}function wt(e,t){return!!e.getAttribute&&(" "+(e.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+t+" ")>-1}function kt(e,t){if(t&&e.setAttribute){var n=(" "+(e.getAttribute("class")||"")+" ").replace(/[\n\t]/g," "),r=n;k(t.split(" "),(function(e){e=K(e),r=r.replace(" "+e+" "," ")})),r!==n&&e.setAttribute("class",K(r))}}function At(e,t){if(t&&e.setAttribute){var n=(" "+(e.getAttribute("class")||"")+" ").replace(/[\n\t]/g," "),r=n;k(t.split(" "),(function(e){e=K(e),-1===r.indexOf(" "+e+" ")&&(r+=e+" ")})),r!==n&&e.setAttribute("class",K(r))}}function Et(e,t){if(t)if(t.nodeType)e[e.length++]=t;else{var n=t.length;if("number"==typeof n&&t.window!==t){if(n)for(var r=0;r<n;r++)e[e.length++]=t[r]}else e[e.length++]=t}}function St(e,t){return $t(e,"$"+(t||"ngController")+"Controller")}function $t(e,t,n){9===e.nodeType&&(e=e.documentElement);for(var r=U(t)?t:[t];e;){for(var i=0,o=r.length;i<o;i++)if(z(n=a.data(e,r[i])))return n;e=e.parentNode||11===e.nodeType&&e.host}}function Ct(e){for(ht(e,!0);e.firstChild;)e.removeChild(e.firstChild)}function _t(e,t){t||ht(e);var n=e.parentNode;n&&n.removeChild(e)}function Ot(t){function n(){e.document.removeEventListener("DOMContentLoaded",n),e.removeEventListener("load",n),t()}"complete"===e.document.readyState?e.setTimeout(t):(e.document.addEventListener("DOMContentLoaded",n),e.addEventListener("load",n))}var Tt=pt.prototype={ready:Ot,toString:function(){var e=[];return k(this,(function(t){e.push(""+t)})),"["+e.join(", ")+"]"},eq:function(e){return a(e>=0?this[e]:this[this.length+e])},length:0,push:g,sort:[].sort,splice:[].splice},jt={};k("multiple,selected,checked,disabled,readOnly,required,open".split(","),(function(e){jt[d(e)]=e}));var Pt={};k("input,select,option,textarea,button,form,details".split(","),(function(e){Pt[e]=!0}));var Dt={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern",ngStep:"step"};function Rt(e,t){var n=jt[t.toLowerCase()];return n&&Pt[ne(e)]&&n}function It(e,t,n){n.call(e,t)}function Nt(e,t,n){var r=t.relatedTarget;r&&(r===e||dt.call(e,r))||n.call(e,t)}function Mt(){this.$get=function(){return _(pt,{hasClass:function(e,t){return e.attr&&(e=e[0]),wt(e,t)},addClass:function(e,t){return e.attr&&(e=e[0]),At(e,t)},removeClass:function(e,t){return e.attr&&(e=e[0]),kt(e,t)}})}}function zt(e,t){var n=e&&e.$$hashKey;if(n)return"function"==typeof n&&(n=e.$$hashKey()),n;var r=typeof e;return n="function"===r||"object"===r&&null!==e?e.$$hashKey=r+":"+(t||S)():r+":"+e}k({data:xt,removeData:bt,hasData:function(e){for(var t in He[e.ng339])return!0;return!1},cleanData:function(e){for(var t=0,n=e.length;t<n;t++)bt(e[t]),vt(e[t])}},(function(e,t){pt[t]=e})),k({data:xt,inheritedData:$t,scope:function(e){return a.data(e,"$scope")||$t(e.parentNode||e,["$isolateScope","$scope"])},isolateScope:function(e){return a.data(e,"$isolateScope")||a.data(e,"$isolateScopeNoTemplate")},controller:St,injector:function(e){return $t(e,"$injector")},removeAttr:function(e,t){e.removeAttribute(t)},hasClass:wt,css:function(e,t,n){if(t=function(e){return Je(e.replace(Ye,"ms-"))}(t),!z(n))return e.style[t];e.style[t]=n},attr:function(e,t,n){var r,i=e.nodeType;if(i!==Fe&&2!==i&&8!==i&&e.getAttribute){var o=d(t),a=jt[o];if(!z(n))return r=e.getAttribute(t),a&&null!==r&&(r=o),null===r?void 0:r;null===n||!1===n&&a?e.removeAttribute(t):e.setAttribute(t,a?o:n)}},prop:function(e,t,n){if(!z(n))return e[t];e[t]=n},text:function(){return e.$dv="",e;function e(e,t){if(M(t)){var n=e.nodeType;return 1===n||n===Fe?e.textContent:""}e.textContent=t}}(),val:function(e,t){if(M(t)){if(e.multiple&&"select"===ne(e)){var n=[];return k(e.options,(function(e){e.selected&&n.push(e.value||e.text)})),n}return e.value}e.value=t},html:function(e,t){if(M(t))return e.innerHTML;ht(e,!0),e.innerHTML=t},empty:Ct},(function(e,t){pt.prototype[t]=function(t,n){var r,i,o=this.length;if(e!==Ct&&M(2===e.length&&e!==wt&&e!==St?t:n)){if(L(t)){for(r=0;r<o;r++)if(e===xt)e(this[r],t);else for(i in t)e(this[r],i,t[i]);return this}for(var a=e.$dv,s=M(a)?Math.min(o,1):o,l=0;l<s;l++){var c=e(this[l],t,n);a=a?a+c:c}return a}for(r=0;r<o;r++)e(this[r],t,n);return this}})),k({removeData:bt,on:function(e,t,n,r){if(z(r))throw Ze("onargs","jqLite#on() does not support the `selector` or `eventData` parameters");if(ct(e)){var i=yt(e,!0),o=i.events,a=i.handle;a||(a=i.handle=function(e,t){var n=function(n,r){n.isDefaultPrevented=function(){return n.defaultPrevented};var i=t[r||n.type],o=i?i.length:0;if(o){if(M(n.immediatePropagationStopped)){var a=n.stopImmediatePropagation;n.stopImmediatePropagation=function(){n.immediatePropagationStopped=!0,n.stopPropagation&&n.stopPropagation(),a&&a.call(n)}}n.isImmediatePropagationStopped=function(){return!0===n.immediatePropagationStopped};var s=i.specialHandlerWrapper||It;o>1&&(i=qe(i));for(var l=0;l<o;l++)n.isImmediatePropagationStopped()||s(e,n,i[l])}};return n.elem=e,n}(e,o));for(var s=t.indexOf(" ")>=0?t.split(" "):[t],l=s.length,c=function(t,r,i){var s=o[t];s||((s=o[t]=[]).specialHandlerWrapper=r,"$destroy"===t||i||e.addEventListener(t,a)),s.push(n)};l--;)t=s[l],Xe[t]?(c(Xe[t],Nt),c(t,void 0,!0)):c(t)}},off:vt,one:function(e,t,n){(e=a(e)).on(t,(function r(){e.off(t,n),e.off(t,r)})),e.on(t,n)},replaceWith:function(e,t){var n,r=e.parentNode;ht(e),k(new pt(t),(function(t){n?r.insertBefore(t,n.nextSibling):r.replaceChild(t,e),n=t}))},children:function(e){var t=[];return k(e.childNodes,(function(e){1===e.nodeType&&t.push(e)})),t},contents:function(e){return e.contentDocument||e.childNodes||[]},append:function(e,t){var n=e.nodeType;if(1===n||11===n)for(var r=0,i=(t=new pt(t)).length;r<i;r++){var o=t[r];e.appendChild(o)}},prepend:function(e,t){if(1===e.nodeType){var n=e.firstChild;k(new pt(t),(function(t){e.insertBefore(t,n)}))}},wrap:function(e,t){var n,r,i;n=e,r=a(t).eq(0).clone()[0],(i=n.parentNode)&&i.replaceChild(r,n),r.appendChild(n)},remove:_t,detach:function(e){_t(e,!0)},after:function(e,t){var n=e,r=e.parentNode;if(r)for(var i=0,o=(t=new pt(t)).length;i<o;i++){var a=t[i];r.insertBefore(a,n.nextSibling),n=a}},addClass:At,removeClass:kt,toggleClass:function(e,t,n){t&&k(t.split(" "),(function(t){var r=n;M(r)&&(r=!wt(e,t)),(r?At:kt)(e,t)}))},parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},next:function(e){return e.nextElementSibling},find:function(e,t){return e.getElementsByTagName?e.getElementsByTagName(t):[]},clone:ft,triggerHandler:function(e,t,n){var r,i,o,a=t.type||t,s=yt(e),l=s&&s.events,c=l&&l[a];c&&(r={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return!0===this.defaultPrevented},stopImmediatePropagation:function(){this.immediatePropagationStopped=!0},isImmediatePropagationStopped:function(){return!0===this.immediatePropagationStopped},stopPropagation:D,type:a,target:e},t.type&&(r=_(r,t)),i=qe(c),o=n?[r].concat(n):[r],k(i,(function(t){r.isImmediatePropagationStopped()||t.apply(e,o)})))}},(function(e,t){pt.prototype[t]=function(t,n,r){for(var i,o=0,s=this.length;o<s;o++)M(i)?z(i=e(this[o],t,n,r))&&(i=a(i)):Et(i,e(this[o],t,n,r));return z(i)?i:this}})),pt.prototype.bind=pt.prototype.on,pt.prototype.unbind=pt.prototype.off;var Lt=Object.create(null);function Bt(){this._keys=[],this._values=[],this._lastKey=NaN,this._lastIndex=-1}Bt.prototype={_idx:function(e){return e!==this._lastKey&&(this._lastKey=e,this._lastIndex=this._keys.indexOf(e)),this._lastIndex},_transformKey:function(e){return j(e)?Lt:e},get:function(e){e=this._transformKey(e);var t=this._idx(e);if(-1!==t)return this._values[t]},has:function(e){return e=this._transformKey(e),-1!==this._idx(e)},set:function(e,t){e=this._transformKey(e);var n=this._idx(e);-1===n&&(n=this._lastIndex=this._keys.length),this._keys[n]=e,this._values[n]=t},delete:function(e){e=this._transformKey(e);var t=this._idx(e);return-1!==t&&(this._keys.splice(t,1),this._values.splice(t,1),this._lastKey=NaN,this._lastIndex=-1,!0)}};var Ft=Bt,qt=[function(){this.$get=[function(){return Ft}]}],Vt=/^([^(]+?)=>/,Ut=/^[^(]*\(\s*([^)]*)\)/m,Ht=/,/,Gt=/^\s*(_?)(\S+?)\1\s*$/,Wt=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,Yt=i("$injector");function Xt(e){return Function.prototype.toString.call(e)}function Zt(e){var t=Xt(e).replace(Wt,"");return t.match(Vt)||t.match(Ut)}function Qt(e,t){t=!0===t;var n={},r=[],i=new Ft,a={$provide:{provider:f(h),factory:f(m),service:f((function(e,t){return m(e,["$injector",function(e){return e.instantiate(t)}])})),value:f((function(e,t){return m(e,I(t),!1)})),constant:f((function(e,t){Me(e,"constant"),a[e]=t,c[e]=t})),decorator:function(e,t){var n=s.get(e+"Provider"),r=n.$get;n.$get=function(){var e=d.invoke(r,n);return d.invoke(t,null,{$delegate:e})}}}},s=a.$injector=b(a,(function(e,t){throw y.isString(t)&&r.push(t),Yt("unpr","Unknown provider: {0}",r.join(" <- "))})),c={},u=b(c,(function(e,t){var n=s.get(e+"Provider",t);return d.invoke(n.$get,n,void 0,e)})),d=u;a.$injectorProvider={$get:I(u)},d.modules=s.modules=Le();var p=v(e);return(d=u.get("$injector")).strictDi=t,k(p,(function(e){e&&d.invoke(e)})),d.loadNewModules=function(e){k(v(e),(function(e){e&&d.invoke(e)}))},d;function f(e){return function(t,n){if(!L(t))return e(t,n);k(t,E(e))}}function h(e,t){if(Me(e,"service"),(G(t)||U(t))&&(t=s.instantiate(t)),!t.$get)throw Yt("pget","Provider '{0}' must define $get factory method.",e);return a[e+"Provider"]=t}function g(e,t){return function(){var n=d.invoke(t,this);if(M(n))throw Yt("undef","Provider '{0}' must return a value from $get factory method.",e);return n}}function m(e,t,n){return h(e,{$get:!1!==n?g(e,t):t})}function v(e){Ie(M(e)||U(e),"modulesToLoad","not an array");var t,n=[];return k(e,(function(e){if(!i.get(e)){i.set(e,!0);try{F(e)?(t=l(e),d.modules[e]=t,n=n.concat(v(t.requires)).concat(t._runBlocks),r(t._invokeQueue),r(t._configBlocks)):G(e)||U(e)?n.push(s.invoke(e)):Ne(e,"module")}catch(t){throw U(e)&&(e=e[e.length-1]),t.message&&t.stack&&-1===t.stack.indexOf(t.message)&&(t=t.message+"\n"+t.stack),Yt("modulerr","Failed to instantiate module {0} due to:\n{1}",e,t.stack||t.message||t)}}function r(e){var t,n;for(t=0,n=e.length;t<n;t++){var r=e[t],i=s.get(r[0]);i[r[1]].apply(i,r[2])}}})),n}function b(e,i){function s(t,o){if(e.hasOwnProperty(t)){if(e[t]===n)throw Yt("cdep","Circular dependency found: {0}",t+" <- "+r.join(" <- "));return e[t]}try{return r.unshift(t),e[t]=n,e[t]=i(t,o),e[t]}catch(r){throw e[t]===n&&delete e[t],r}finally{r.shift()}}function l(e,n,r){for(var i=[],o=Qt.$$annotate(e,t,r),a=0,l=o.length;a<l;a++){var c=o[a];if("string"!=typeof c)throw Yt("itkn","Incorrect injection token! Expected service name as string, got {0}",c);i.push(n&&n.hasOwnProperty(c)?n[c]:s(c,r))}return i}return{invoke:function(e,t,n,r){"string"==typeof n&&(r=n,n=null);var i=l(e,n,r);return U(e)&&(e=e[e.length-1]),function(e){if(o||"function"!=typeof e)return!1;var t=e.$$ngIsClass;return Z(t)||(t=e.$$ngIsClass=/^class\b/.test(Xt(e))),t}(e)?(i.unshift(null),new(Function.prototype.bind.apply(e,i))):e.apply(t,i)},instantiate:function(e,t,n){var r=U(e)?e[e.length-1]:e,i=l(e,t,n);return i.unshift(null),new(Function.prototype.bind.apply(r,i))},get:s,annotate:Qt.$$annotate,has:function(t){return a.hasOwnProperty(t+"Provider")||e.hasOwnProperty(t)}}}}function Jt(){var t=!0;this.disableAutoScrolling=function(){t=!1},this.$get=["$window","$location","$rootScope",function(n,r,i){var o=n.document;function s(e){if(e){e.scrollIntoView();var t=function(){var e=l.yOffset;if(G(e))e=e();else if(te(e)){var t=e[0];e="fixed"!==n.getComputedStyle(t).position?0:t.getBoundingClientRect().bottom}else q(e)||(e=0);return e}();if(t){var r=e.getBoundingClientRect().top;n.scrollBy(0,r-t)}}else n.scrollTo(0,0)}function l(e){var t,n,i;(e=F(e)?e:q(e)?e.toString():r.hash())?(t=o.getElementById(e))?s(t):(n=o.getElementsByName(e),i=null,Array.prototype.some.call(n,(function(e){if("a"===ne(e))return i=e,!0})),(t=i)?s(t):"top"===e&&s(null)):s(null)}return t&&i.$watch((function(){return r.hash()}),(function(t,n){var r,o;t===n&&""===t||(r=function(){i.$evalAsync(l)},"complete"===(o=o||e).document.readyState?o.setTimeout(r):a(o).on("load",r))})),l}]}Qt.$$annotate=function(e,t,n){var r,i;if("function"==typeof e){if(!(r=e.$inject)){if(r=[],e.length){if(t)throw F(n)&&n||(n=e.name||function(e){var t=Zt(e);return t?"function("+(t[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}(e)),Yt("strictdi","{0} is not using explicit annotation and cannot be invoked in strict mode",n);k(Zt(e)[1].split(Ht),(function(e){e.replace(Gt,(function(e,t,n){r.push(n)}))}))}e.$inject=r}}else U(e)?(Ne(e[i=e.length-1],"fn"),r=e.slice(0,i)):Ne(e,"fn",!0);return r};var Kt=i("$animate");function en(e,t){return e||t?e?t?(U(e)&&(e=e.join(" ")),U(t)&&(t=t.join(" ")),e+" "+t):e:t:""}function tn(e){return L(e)?e:{}}var nn=function(){this.$get=D},rn=function(){var e=new Ft,t=[];this.$get=["$$AnimateRunner","$rootScope",function(n,r){return{enabled:D,on:D,off:D,pin:D,push:function(a,s,l,c){c&&c(),(l=l||{}).from&&a.css(l.from),l.to&&a.css(l.to),(l.addClass||l.removeClass)&&function(n,a,s){var l=e.get(n)||{},c=i(l,a,!0),u=i(l,s,!1);(c||u)&&(e.set(n,l),t.push(n),1===t.length&&r.$$postDigest(o))}(a,l.addClass,l.removeClass);var u=new n;return u.complete(),u}};function i(e,t,n){var r=!1;return t&&k(t=F(t)?t.split(" "):U(t)?t:[],(function(t){t&&(r=!0,e[t]=n)})),r}function o(){k(t,(function(t){var n=e.get(t);if(n){var r=function(e){F(e)&&(e=e.split(" "));var t=Le();return k(e,(function(e){e.length&&(t[e]=!0)})),t}(t.attr("class")),i="",o="";k(n,(function(e,t){e!==!!r[t]&&(e?i+=(i.length?" ":"")+t:o+=(o.length?" ":"")+t)})),k(t,(function(e){i&&At(e,i),o&&kt(e,o)})),e.delete(t)}})),t.length=0}}]},on=["$provide",function(e){var t=this,n=null,r=null;this.$$registeredAnimations=Object.create(null),this.register=function(n,r){if(n&&"."!==n.charAt(0))throw Kt("notcsel","Expecting class selector starting with '.' got '{0}'.",n);var i=n+"-animation";t.$$registeredAnimations[n.substr(1)]=i,e.factory(i,r)},this.customFilter=function(e){return 1===arguments.length&&(r=G(e)?e:null),r},this.classNameFilter=function(e){if(1===arguments.length&&(n=e instanceof RegExp?e:null)){var t=new RegExp("[(\\s|\\/)]ng-animate[(\\s|\\/)]");if(t.test(n.toString()))throw n=null,Kt("nongcls",'$animateProvider.classNameFilter(regex) prohibits accepting a regex value which matches/contains the "{0}" CSS class.',"ng-animate")}return n},this.$get=["$$animateQueue",function(e){function t(e,t,n){if(n){var r=function(e){for(var t=0;t<e.length;t++){var n=e[t];if(1===n.nodeType)return n}}(n);!r||r.parentNode||r.previousElementSibling||(n=null)}n?n.after(e):t.prepend(e)}return{on:e.on,off:e.off,pin:e.pin,enabled:e.enabled,cancel:function(e){e.cancel&&e.cancel()},enter:function(n,r,i,o){return r=r&&a(r),i=i&&a(i),t(n,r=r||i.parent(),i),e.push(n,"enter",tn(o))},move:function(n,r,i,o){return r=r&&a(r),i=i&&a(i),t(n,r=r||i.parent(),i),e.push(n,"move",tn(o))},leave:function(t,n){return e.push(t,"leave",tn(n),(function(){t.remove()}))},addClass:function(t,n,r){return(r=tn(r)).addClass=en(r.addclass,n),e.push(t,"addClass",r)},removeClass:function(t,n,r){return(r=tn(r)).removeClass=en(r.removeClass,n),e.push(t,"removeClass",r)},setClass:function(t,n,r,i){return(i=tn(i)).addClass=en(i.addClass,n),i.removeClass=en(i.removeClass,r),e.push(t,"setClass",i)},animate:function(t,n,r,i,o){return(o=tn(o)).from=o.from?_(o.from,n):n,o.to=o.to?_(o.to,r):r,i=i||"ng-inline-animate",o.tempClasses=en(o.tempClasses,i),e.push(t,"animate",o)}}}]}],an=function(){this.$get=["$$rAF",function(e){var t=[];function n(n){t.push(n),t.length>1||e((function(){for(var e=0;e<t.length;e++)t[e]();t=[]}))}return function(){var e=!1;return n((function(){e=!0})),function(t){e?t():n(t)}}}]},sn=function(){this.$get=["$q","$sniffer","$$animateAsyncRun","$$isDocumentHidden","$timeout",function(e,t,n,r,i){function o(e){this.setHost(e);var t=n();this._doneCallbacks=[],this._tick=function(e){r()?function(e){i(e,0,!1)}(e):t(e)},this._state=0}return o.chain=function(e,t){var n=0;!function r(){if(n===e.length)return void t(!0);e[n]((function(e){!1!==e?(n++,r()):t(!1)}))}()},o.all=function(e,t){var n=0,r=!0;function i(i){r=r&&i,++n===e.length&&t(r)}k(e,(function(e){e.done(i)}))},o.prototype={setHost:function(e){this.host=e||{}},done:function(e){2===this._state?e():this._doneCallbacks.push(e)},progress:D,getPromise:function(){if(!this.promise){var t=this;this.promise=e((function(e,n){t.done((function(t){!1===t?n():e()}))}))}return this.promise},then:function(e,t){return this.getPromise().then(e,t)},catch:function(e){return this.getPromise().catch(e)},finally:function(e){return this.getPromise().finally(e)},pause:function(){this.host.pause&&this.host.pause()},resume:function(){this.host.resume&&this.host.resume()},end:function(){this.host.end&&this.host.end(),this._resolve(!0)},cancel:function(){this.host.cancel&&this.host.cancel(),this._resolve(!1)},complete:function(e){var t=this;0===t._state&&(t._state=1,t._tick((function(){t._resolve(e)})))},_resolve:function(e){2!==this._state&&(k(this._doneCallbacks,(function(t){t(e)})),this._doneCallbacks.length=0,this._state=2)}},o}]},ln=function(){this.$get=["$$rAF","$q","$$AnimateRunner",function(e,t,n){return function(t,r){var i=r||{};i.$$prepared||(i=oe(i)),i.cleanupStyles&&(i.from=i.to=null),i.from&&(t.css(i.from),i.from=null);var o,a=new n;return{start:s,end:s};function s(){return e((function(){!function(){i.addClass&&(t.addClass(i.addClass),i.addClass=null);i.removeClass&&(t.removeClass(i.removeClass),i.removeClass=null);i.to&&(t.css(i.to),i.to=null)}(),o||a.complete(),o=!0})),a}}}]};function cn(e,t,n,r,i){var o=this,s=e.location,l=e.history,c=e.setTimeout,u=e.clearTimeout,d={},p=i(n);o.isMock=!1,o.$$completeOutstandingRequest=p.completeTask,o.$$incOutstandingRequestCount=p.incTaskCount,o.notifyWhenNoOutstandingRequests=p.notifyWhenNoPendingTasks;var f,h,g=s.href,m=t.find("base"),v=null,b=r.history?function(){try{return l.state}catch(e){}}:D;E(),o.url=function(t,n,i){if(M(i)&&(i=null),s!==e.location&&(s=e.location),l!==e.history&&(l=e.history),t){var a=h===i;if(t=li(t).href,g===t&&(!r.history||a))return o;var c=g&&sr(g)===sr(t);return g=t,h=i,!r.history||c&&a?(c||(v=t),n?s.replace(t):c?s.hash=function(e){var t=e.indexOf("#");return-1===t?"":e.substr(t)}(t):s.href=t,s.href!==t&&(v=t)):(l[n?"replaceState":"pushState"](i,"",t),E()),v&&(v=t),o}return function(e){return e.replace(/#$/,"")}(v||s.href)},o.state=function(){return f};var y=[],x=!1;function w(){v=null,S()}var A=null;function E(){se(f=M(f=b())?null:f,A)&&(f=A),A=f,h=f}function S(){var e=h;E(),g===o.url()&&e===f||(g=o.url(),h=f,k(y,(function(e){e(o.url(),f)})))}o.onUrlChange=function(t){return x||(r.history&&a(e).on("popstate",w),a(e).on("hashchange",w),x=!0),y.push(t),t},o.$$applicationDestroyed=function(){a(e).off("hashchange popstate",w)},o.$$checkUrlChange=S,o.baseHref=function(){var e=m.attr("href");return e?e.replace(/^(https?:)?\/\/[^/]*/,""):""},o.defer=function(e,t,n){var r;return t=t||0,n=n||p.DEFAULT_TASK_TYPE,p.incTaskCount(n),r=c((function(){delete d[r],p.completeTask(e,n)}),t),d[r]=n,r},o.defer.cancel=function(e){if(d.hasOwnProperty(e)){var t=d[e];return delete d[e],u(e),p.completeTask(D,t),!0}return!1}}function un(){this.$get=["$window","$log","$sniffer","$document","$$taskTrackerFactory",function(e,t,n,r,i){return new cn(e,r,t,n,i)}]}function dn(){this.$get=function(){var e={};function t(t,n){if(t in e)throw i("$cacheFactory")("iid","CacheId '{0}' is already taken!",t);var r=0,o=_({},n,{id:t}),a=Le(),s=n&&n.capacity||Number.MAX_VALUE,l=Le(),c=null,u=null;return e[t]={put:function(e,t){if(!M(t)){if(s<Number.MAX_VALUE)d(l[e]||(l[e]={key:e}));return e in a||r++,a[e]=t,r>s&&this.remove(u.key),t}},get:function(e){if(s<Number.MAX_VALUE){var t=l[e];if(!t)return;d(t)}return a[e]},remove:function(e){if(s<Number.MAX_VALUE){var t=l[e];if(!t)return;t===c&&(c=t.p),t===u&&(u=t.n),p(t.n,t.p),delete l[e]}e in a&&(delete a[e],r--)},removeAll:function(){a=Le(),r=0,l=Le(),c=u=null},destroy:function(){a=null,o=null,l=null,delete e[t]},info:function(){return _({},o,{size:r})}};function d(e){e!==c&&(u?u===e&&(u=e.n):u=e,p(e.n,e.p),p(e,c),(c=e).n=null)}function p(e,t){e!==t&&(e&&(e.p=t),t&&(t.n=e))}}return t.info=function(){var t={};return k(e,(function(e,n){t[n]=e.info()})),t},t.get=function(t){return e[t]},t}}function pn(){this.$get=["$cacheFactory",function(e){return e("templates")}]}var fn=i("$compile");var hn=new function(){};function gn(t,n){var r={},i=/^\s*directive:\s*([\w-]+)\s+(.*)$/,s=/(([\w-]+)(?::([^;]+))?;?)/,l=function(e){var t,n={},r=e.split(",");for(t=0;t<r.length;t++)n[r[t]]=!0;return n}("ngSrc,ngSrcset,src,srcset"),c=/^(?:(\^\^?)?(\?)?(\^\^?)?)?/,p=/^(on[a-z]+|formaction)$/,f=Le();function h(e,t,n){var r=/^([@&]|[=<](\*?))(\??)\s*([\w$]*)$/,i=Le();return k(e,(function(e,o){if((e=e.trim())in f)i[o]=f[e];else{var a=e.match(r);if(!a)throw fn("iscp","Invalid {3} for directive '{0}'. Definition: {... {1}: '{2}' ...}",t,o,e,n?"controller bindings definition":"isolate scope definition");i[o]={mode:a[1][0],collection:"*"===a[2],optional:"?"===a[3],attrName:a[4]||o},a[4]&&(f[e]=i[o])}})),i}function g(e,t){var n={isolateScope:null,bindToController:null};if(L(e.scope)&&(!0===e.bindToController?(n.bindToController=h(e.scope,t,!0),n.isolateScope={}):n.isolateScope=h(e.scope,t,!1)),L(e.bindToController)&&(n.bindToController=h(e.bindToController,t,!0)),n.bindToController&&!e.controller)throw fn("noctrl","Cannot bind to controller without directive '{0}'s controller.",t);return n}this.directive=function e(n,i){return Ie(n,"name"),Me(n,"directive"),F(n)?(!function(e){var t=e.charAt(0);if(!t||t!==d(t))throw fn("baddir","Directive/Component name '{0}' is invalid. The first character must be a lowercase letter",e);if(e!==e.trim())throw fn("baddir","Directive/Component name '{0}' is invalid. The name should not contain leading or trailing whitespaces",e)}(n),Ie(i,"directiveFactory"),r.hasOwnProperty(n)||(r[n]=[],t.factory(n+"Directive",["$injector","$exceptionHandler",function(e,t){var i=[];return k(r[n],(function(r,o){try{var a=e.invoke(r);G(a)?a={compile:I(a)}:!a.compile&&a.link&&(a.compile=I(a.link)),a.priority=a.priority||0,a.index=o,a.name=a.name||n,a.require=function(e){var t=e.require||e.controller&&e.name;return!U(t)&&L(t)&&k(t,(function(e,n){var r=e.match(c);e.substring(r[0].length)||(t[n]=r[0]+n)})),t}(a),a.restrict=function(e,t){if(e&&(!F(e)||!/[EACM]/.test(e)))throw fn("badrestrict","Restrict property '{0}' of directive '{1}' is invalid",e,t);return e||"EA"}(a.restrict,n),a.$$moduleName=r.$$moduleName,i.push(a)}catch(e){t(e)}})),i}])),r[n].push(i)):k(n,E(e)),this},this.component=function e(t,n){if(!F(t))return k(t,E(pe(this,e))),this;var r=n.controller||function(){};function i(e){function t(t){return G(t)||U(t)?function(n,r){return e.invoke(t,this,{$element:n,$attrs:r})}:t}var i=n.template||n.templateUrl?n.template:"",o={controller:r,controllerAs:En(n.controller)||n.controllerAs||"$ctrl",template:t(i),templateUrl:t(n.templateUrl),transclude:n.transclude,scope:{},bindToController:n.bindings||{},restrict:"E",require:n.require};return k(n,(function(e,t){"$"===t.charAt(0)&&(o[t]=e)})),o}return k(n,(function(e,t){"$"===t.charAt(0)&&(i[t]=e,G(r)&&(r[t]=e))})),i.$inject=["$injector"],this.directive(t,i)},this.aHrefSanitizationTrustedUrlList=function(e){return z(e)?(n.aHrefSanitizationTrustedUrlList(e),this):n.aHrefSanitizationTrustedUrlList()},Object.defineProperty(this,"aHrefSanitizationWhitelist",{get:function(){return this.aHrefSanitizationTrustedUrlList},set:function(e){this.aHrefSanitizationTrustedUrlList=e}}),this.imgSrcSanitizationTrustedUrlList=function(e){return z(e)?(n.imgSrcSanitizationTrustedUrlList(e),this):n.imgSrcSanitizationTrustedUrlList()},Object.defineProperty(this,"imgSrcSanitizationWhitelist",{get:function(){return this.imgSrcSanitizationTrustedUrlList},set:function(e){this.imgSrcSanitizationTrustedUrlList=e}});var v=!0;this.debugInfoEnabled=function(e){return z(e)?(v=e,this):v};var b=!1;this.strictComponentBindingsEnabled=function(e){return z(e)?(b=e,this):b};var y=10;this.onChangesTtl=function(e){return arguments.length?(y=e,this):y};var x=!0;this.commentDirectivesEnabled=function(e){return arguments.length?(x=e,this):x};var w=!0;this.cssClassDirectivesEnabled=function(e){return arguments.length?(w=e,this):w};var A=Le();this.addPropertySecurityContext=function(e,t,n){var r=e.toLowerCase()+"|"+t.toLowerCase();if(r in A&&A[r]!==n)throw fn("ctxoverride","Property context '{0}.{1}' already set to '{2}', cannot override to '{3}'.",e,t,A[r],n);return A[r]=n,this},function(){function e(e,t){k(t,(function(t){A[t.toLowerCase()]=e}))}e(Ur.HTML,["iframe|srcdoc","*|innerHTML","*|outerHTML"]),e(Ur.CSS,["*|style"]),e(Ur.URL,["area|href","area|ping","a|href","a|ping","blockquote|cite","body|background","del|cite","input|src","ins|cite","q|cite"]),e(Ur.MEDIA_URL,["audio|src","img|src","img|srcset","source|src","source|srcset","track|src","video|src","video|poster"]),e(Ur.RESOURCE_URL,["*|formAction","applet|code","applet|codebase","base|href","embed|src","frame|src","form|action","head|profile","html|manifest","iframe|src","link|href","media|src","object|codebase","object|data","script|src"])}(),this.$get=["$injector","$interpolate","$exceptionHandler","$templateRequest","$parse","$controller","$rootScope","$sce","$animate",function(t,n,f,h,E,S,$,C,O){var T,j=/^\w/,I=e.document.createElement("div"),N=x,z=w,B=y;function q(){try{if(!--B)throw T=void 0,fn("infchng","{0} $onChanges() iterations reached. Aborting!\n",y);$.$apply((function(){for(var e=0,t=T.length;e<t;++e)try{T[e]()}catch(e){f(e)}T=void 0}))}finally{B++}}function V(e,t){if(!e)return e;if(!F(e))throw fn("srcset",'Can\'t pass trusted values to `{0}`: "{1}"',t,e.toString());for(var n="",r=K(e),i=/\s/.test(r)?/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/:/(,)/,o=r.split(i),a=Math.floor(o.length/2),s=0;s<a;s++){var l=2*s;n+=C.getTrustedMediaUrl(K(o[l])),n+=" "+K(o[l+1])}var c=K(o[2*s]).split(/\s/);return n+=C.getTrustedMediaUrl(K(c[0])),2===c.length&&(n+=" "+K(c[1])),n}function W(e,t){if(t){var n,r,i,o=Object.keys(t);for(n=0,r=o.length;n<r;n++)this[i=o[n]]=t[i]}else this.$attr={};this.$$element=e}function Y(e,t){try{e.addClass(t)}catch(e){}}W.prototype={$normalize:yn,$addClass:function(e){e&&e.length>0&&O.addClass(this.$$element,e)},$removeClass:function(e){e&&e.length>0&&O.removeClass(this.$$element,e)},$updateClass:function(e,t){var n=xn(e,t);n&&n.length&&O.addClass(this.$$element,n);var r=xn(t,e);r&&r.length&&O.removeClass(this.$$element,r)},$set:function(e,t,n,r){var i=Rt(this.$$element[0],e),o=Dt[e],a=e;i?(this.$$element.prop(e,t),r=i):o&&(this[o]=t,a=o),this[e]=t,r?this.$attr[e]=r:(r=this.$attr[e])||(this.$attr[e]=r=Pe(e,"-")),"img"===ne(this.$$element)&&"srcset"===e&&(this[e]=t=V(t,"$set('srcset', value)")),!1!==n&&(null===t||M(t)?this.$$element.removeAttr(r):j.test(r)?i&&!1===t?this.$$element.removeAttr(r):this.$$element.attr(r,t):function(e,t,n){I.innerHTML="<span "+t+">";var r=I.firstChild.attributes,i=r[0];r.removeNamedItem(i.name),i.value=n,e.attributes.setNamedItem(i)}(this.$$element[0],r,t));var s=this.$$observers;s&&k(s[a],(function(e){try{e(t)}catch(e){f(e)}}))},$observe:function(e,t){var n=this,r=n.$$observers||(n.$$observers=Le()),i=r[e]||(r[e]=[]);return i.push(t),$.$evalAsync((function(){i.$$inter||!n.hasOwnProperty(e)||M(n[e])||t(n[e])})),function(){ie(i,t)}}};var Q=n.startSymbol(),J=n.endSymbol(),ee="{{"===Q&&"}}"===J?R:function(e){return e.replace(/\{\{/g,Q).replace(/}}/g,J)},te=/^ng(Attr|Prop|On)([A-Z].*)$/,re=/^(.+)Start$/;return oe.$$addBindingInfo=v?function(e,t){var n=e.data("$binding")||[];U(t)?n=n.concat(t):n.push(t),e.data("$binding",n)}:D,oe.$$addBindingClass=v?function(e){Y(e,"ng-binding")}:D,oe.$$addScopeInfo=v?function(e,t,n,r){var i=n?r?"$isolateScopeNoTemplate":"$isolateScope":"$scope";e.data(i,t)}:D,oe.$$addScopeClass=v?function(e,t){Y(e,t?"ng-isolate-scope":"ng-scope")}:D,oe.$$createComment=function(t,n){var r="";return v&&(r=" "+(t||"")+": ",n&&(r+=n+" ")),e.document.createComment(r)},oe;function oe(e,t,n,r,i){e instanceof a||(e=a(e));var o=le(e,t,e,n,r,i);oe.$$addScopeClass(e);var s=null;return function(t,n,r){if(!e)throw fn("multilink","This element has already been linked.");Ie(t,"scope"),i&&i.needsNewScope&&(t=t.$parent.$new());var l,c,u,d=(r=r||{}).parentBoundTranscludeFn,p=r.transcludeControllers,f=r.futureParentElement;if(d&&d.$$boundTransclude&&(d=d.$$boundTransclude),s||(c=(l=f)&&l[0],s=c&&"foreignobject"!==ne(c)&&m.call(c).match(/SVG/)?"svg":"html"),u="html"!==s?a(Ce(s,a("<div></div>").append(e).html())):n?Tt.clone.call(e):e,p)for(var h in p)u.data("$"+h+"Controller",p[h].instance);return oe.$$addScopeInfo(u,t),n&&n(u,t),o&&o(t,u,u,d),n||(e=o=null),u}}function le(e,t,n,r,i,s){for(var l,c,u,d,p,f,h,g=[],m=U(e)||e instanceof a,v=0;v<e.length;v++)l=new W,11===o&&ce(e,v,m),(u=(c=fe(e[v],[],l,0===v?r:void 0,i)).length?ve(c,e[v],l,t,n,null,[],[],s):null)&&u.scope&&oe.$$addScopeClass(l.$$element),p=u&&u.terminal||!(d=e[v].childNodes)||!d.length?null:le(d,u?(u.transcludeOnThisElement||!u.templateOnThisElement)&&u.transclude:t),(u||p)&&(g.push(v,u,p),f=!0,h=h||u),s=null;return f?function(e,n,r,i){var o,s,l,c,u,d,p,f,m;if(h){var v=n.length;for(m=new Array(v),u=0;u<g.length;u+=3)p=g[u],m[p]=n[p]}else m=n;for(u=0,d=g.length;u<d;)l=m[g[u++]],o=g[u++],s=g[u++],o?(o.scope?(c=e.$new(),oe.$$addScopeInfo(a(l),c)):c=e,f=o.transcludeOnThisElement?ue(e,o.transclude,i):!o.templateOnThisElement&&i?i:!i&&t?ue(e,t):null,o(s,c,l,r,f)):s&&s(e,l.childNodes,void 0,i)}:null}function ce(e,t,n){var r,i=e[t],o=i.parentNode;if(i.nodeType===Fe)for(;(r=o?i.nextSibling:e[t+1])&&r.nodeType===Fe;)i.nodeValue=i.nodeValue+r.nodeValue,r.parentNode&&r.parentNode.removeChild(r),n&&r===e[t+1]&&e.splice(t+1,1)}function ue(e,t,n){function r(r,i,o,a,s){return r||((r=e.$new(!1,s)).$$transcluded=!0),t(r,i,{parentBoundTranscludeFn:n,transcludeControllers:o,futureParentElement:a})}var i=r.$$slots=Le();for(var o in t.$$slots)t.$$slots[o]?i[o]=ue(e,t.$$slots[o],n):i[o]=null;return r}function fe(e,t,r,o,a){var l,c,u,d=e.nodeType,p=r.$attr;switch(d){case 1:we(t,yn(c=ne(e)),"E",o,a);for(var f,h,g,m,v,b=e.attributes,y=0,x=b&&b.length;y<x;y++){var w,k=!1,A=!1,E=!1,S=!1,$=!1;h=(f=b[y]).name,m=f.value,(v=(g=yn(h.toLowerCase())).match(te))?(E="Attr"===v[1],S="Prop"===v[1],$="On"===v[1],h=h.replace(vn,"").toLowerCase().substr(4+v[1].length).replace(/_(.)/g,(function(e,t){return t.toUpperCase()}))):(w=g.match(re))&&ke(w[1])&&(k=h,A=h.substr(0,h.length-5)+"end",h=h.substr(0,h.length-6)),S||$?(r[g]=m,p[g]=f.name,S?Oe(e,t,g,h):Te(t,g,h)):(p[g=yn(h.toLowerCase())]=h,!E&&r.hasOwnProperty(g)||(r[g]=m,Rt(e,g)&&(r[g]=!0)),je(e,t,m,g,E),we(t,g,"A",o,a,k,A))}if("input"===c&&"hidden"===e.getAttribute("type")&&e.setAttribute("autocomplete","off"),!z)break;if(L(u=e.className)&&(u=u.animVal),F(u)&&""!==u)for(;l=s.exec(u);)we(t,g=yn(l[2]),"C",o,a)&&(r[g]=K(l[3])),u=u.substr(l.index+l[0].length);break;case Fe:!function(e,t){var r=n(t,!0);r&&e.push({priority:0,compile:function(e){var t=e.parent(),n=!!t.length;return n&&oe.$$addBindingClass(t),function(e,t){var i=t.parent();n||oe.$$addBindingClass(i),oe.$$addBindingInfo(i,r.expressions),e.$watch(r,(function(e){t[0].nodeValue=e}))}}})}(t,e.nodeValue);break;case 8:if(!N)break;!function(e,t,n,r,o){try{var a=i.exec(e.nodeValue);if(a){var s=yn(a[1]);we(t,s,"M",r,o)&&(n[s]=K(a[2]))}}catch(e){}}(e,t,r,o,a)}return t.sort(Se),t}function he(e,t,n){var r=[],i=0;if(t&&e.hasAttribute&&e.hasAttribute(t))do{if(!e)throw fn("uterdir","Unterminated attribute, found '{0}' but no matching '{1}' found.",t,n);1===e.nodeType&&(e.hasAttribute(t)&&i++,e.hasAttribute(n)&&i--),r.push(e),e=e.nextSibling}while(i>0);else r.push(e);return a(r)}function ge(e,t,n){return function(r,i,o,a,s){return i=he(i[0],t,n),e(r,i,o,a,s)}}function me(e,t,n,r,i,o){var a;return e?oe(t,n,r,i,o):function(){return a||(a=oe(t,n,r,i,o),t=n=o=null),a.apply(this,arguments)}}function ve(t,n,r,i,o,s,l,c,u){u=u||{};for(var d,p,h,g,m,v=-Number.MAX_VALUE,b=u.newScopeDirective,y=u.controllerDirectives,x=u.newIsolateScopeDirective,w=u.templateDirective,A=u.nonTlbTranscludeDirective,E=!1,$=!1,C=u.hasElementTranscludeDirective,O=r.$$element=a(n),T=s,j=i,P=!1,D=!1,R=0,I=t.length;R<I;R++){var N=(d=t[R]).$$start,z=d.$$end;if(N&&(O=he(n,N,z)),h=void 0,v>d.priority)break;if((m=d.scope)&&(d.templateUrl||(L(m)?($e("new/isolated scope",x||b,d,O),x=d):$e("new/isolated scope",x,d,O)),b=b||d),p=d.name,!P&&(d.replace&&(d.templateUrl||d.template)||d.transclude&&!d.$$tlb)){for(var B,F=R+1;B=t[F++];)if(B.transclude&&!B.$$tlb||B.replace&&(B.templateUrl||B.template)){D=!0;break}P=!0}if(!d.templateUrl&&d.controller&&(y=y||Le(),$e("'"+p+"' controller",y[p],d,O),y[p]=d),m=d.transclude)if(E=!0,d.$$tlb||($e("transclusion",A,d,O),A=d),"element"===m)C=!0,v=d.priority,h=O,O=r.$$element=a(oe.$$createComment(p,r[p])),n=O[0],De(o,de(h),n),j=me(D,h,i,v,T&&T.name,{nonTlbTranscludeDirective:A});else{var q=Le();if(L(m)){h=e.document.createDocumentFragment();var V=Le(),H=Le();for(var Y in k(m,(function(e,t){var n="?"===e.charAt(0);e=n?e.substring(1):e,V[e]=t,q[t]=null,H[t]=n})),k(O.contents(),(function(t){var n=V[yn(ne(t))];n?(H[n]=!0,q[n]=q[n]||e.document.createDocumentFragment(),q[n].appendChild(t)):h.appendChild(t)})),k(H,(function(e,t){if(!e)throw fn("reqslot","Required transclusion slot `{0}` was not filled.",t)})),q)if(q[Y]){var Z=a(q[Y].childNodes);q[Y]=me(D,Z,i)}h=a(h.childNodes)}else h=a(ft(n)).contents();O.empty(),(j=me(D,h,i,void 0,void 0,{needsNewScope:d.$$isolateScope||d.$$newScope})).$$slots=q}if(d.template)if($=!0,$e("template",w,d,O),w=d,m=G(d.template)?d.template(O,r):d.template,m=ee(m),d.replace){if(T=d,h=lt(m)?[]:wn(Ce(d.templateNamespace,K(m))),n=h[0],1!==h.length||1!==n.nodeType)throw fn("tplrt","Template for directive '{0}' must have exactly one root element. {1}",p,"");De(o,O,n);var Q={$attr:{}},J=fe(n,[],Q),te=t.splice(R+1,t.length-(R+1));(x||b)&&ye(J,x,b),t=t.concat(J).concat(te),Ae(r,Q),I=t.length}else O.html(m);if(d.templateUrl)$=!0,$e("template",w,d,O),w=d,d.replace&&(T=d),ae=Ee(t.splice(R,t.length-R),O,r,o,E&&j,l,c,{controllerDirectives:y,newScopeDirective:b!==d&&b,newIsolateScopeDirective:x,templateDirective:w,nonTlbTranscludeDirective:A}),I=t.length;else if(d.compile)try{g=d.compile(O,r,j);var re=d.$$originalDirective||d;G(g)?ie(null,pe(re,g),N,z):g&&ie(pe(re,g.pre),pe(re,g.post),N,z)}catch(e){f(e,xe(O))}d.terminal&&(ae.terminal=!0,v=Math.max(v,d.priority))}return ae.scope=b&&!0===b.scope,ae.transcludeOnThisElement=E,ae.templateOnThisElement=$,ae.transclude=j,u.hasElementTranscludeDirective=C,ae;function ie(e,t,n,r){e&&(n&&(e=ge(e,n,r)),e.require=d.require,e.directiveName=p,(x===d||d.$$isolateScope)&&(e=Re(e,{isolateScope:!0})),l.push(e)),t&&(n&&(t=ge(t,n,r)),t.require=d.require,t.directiveName=p,(x===d||d.$$isolateScope)&&(t=Re(t,{isolateScope:!0})),c.push(t))}function ae(e,t,i,o,s){var u,d,p,h,g,m,v,A,E,$;for(var O in n===i?(E=r,A=r.$$element):E=new W(A=a(i),r),g=t,x?h=t.$new(!0):b&&(g=t.$parent),s&&((v=function(e,t,n,r){var i;X(e)||(r=n,n=t,t=e,e=void 0);C&&(i=m);n||(n=C?A.parent():A);if(!r)return s(e,t,i,n,D);var o=s.$$slots[r];if(o)return o(e,t,i,n,D);if(M(o))throw fn("noslot",'No parent directive that requires a transclusion with slot name "{0}". Element: {1}',r,xe(A))}).$$boundTransclude=s,v.isSlotFilled=function(e){return!!s.$$slots[e]}),y&&(m=function(e,t,n,r,i,o,a){var s=Le();for(var l in r){var c=r[l],u={$scope:c===a||c.$$isolateScope?i:o,$element:e,$attrs:t,$transclude:n},d=c.controller;"@"===d&&(d=t[c.name]);var p=S(d,u,!0,c.controllerAs);s[c.name]=p,e.data("$"+c.name+"Controller",p.instance)}return s}(A,E,v,y,h,t,x)),x&&(oe.$$addScopeInfo(A,h,!0,!(w&&(w===x||w===x.$$originalDirective))),oe.$$addScopeClass(A,!0),h.$$isolateBindings=x.$$isolateBindings,($=ze(t,E,h,h.$$isolateBindings,x)).removeWatches&&h.$on("$destroy",$.removeWatches)),m){var T=y[O],j=m[O],P=T.$$bindings.bindToController;j.instance=j(),A.data("$"+T.name+"Controller",j.instance),j.bindingInfo=ze(g,E,j.instance,P,T)}for(k(y,(function(e,t){var n=e.require;e.bindToController&&!U(n)&&L(n)&&_(m[t].instance,be(t,n,A,m))})),k(m,(function(e){var t=e.instance;if(G(t.$onChanges))try{t.$onChanges(e.bindingInfo.initialChanges)}catch(e){f(e)}if(G(t.$onInit))try{t.$onInit()}catch(e){f(e)}G(t.$doCheck)&&(g.$watch((function(){t.$doCheck()})),t.$doCheck()),G(t.$onDestroy)&&g.$on("$destroy",(function(){t.$onDestroy()}))})),u=0,d=l.length;u<d;u++)Ne(p=l[u],p.isolateScope?h:t,A,E,p.require&&be(p.directiveName,p.require,A,m),v);var D=t;for(x&&(x.template||null===x.templateUrl)&&(D=h),e&&e(D,i.childNodes,void 0,s),u=c.length-1;u>=0;u--)Ne(p=c[u],p.isolateScope?h:t,A,E,p.require&&be(p.directiveName,p.require,A,m),v);k(m,(function(e){var t=e.instance;G(t.$postLink)&&t.$postLink()}))}}function be(e,t,n,r){var i;if(F(t)){var o=t.match(c),a=t.substring(o[0].length),s=o[1]||o[3],l="?"===o[2];if("^^"===s?n=n.parent():i=(i=r&&r[a])&&i.instance,!i){var u="$"+a+"Controller";i="^^"===s&&n[0]&&9===n[0].nodeType?null:s?n.inheritedData(u):n.data(u)}if(!i&&!l)throw fn("ctreq","Controller '{0}', required by directive '{1}', can't be found!",a,e)}else if(U(t)){i=[];for(var d=0,p=t.length;d<p;d++)i[d]=be(e,t[d],n,r)}else L(t)&&(i={},k(t,(function(t,o){i[o]=be(e,t,n,r)})));return i||null}function ye(e,t,n){for(var r=0,i=e.length;r<i;r++)e[r]=P(e[r],{$$isolateScope:t,$$newScope:n})}function we(e,n,i,o,a,s,l){if(n===a)return null;var c=null;if(r.hasOwnProperty(n))for(var u,d=t.get(n+"Directive"),p=0,f=d.length;p<f;p++)if(u=d[p],(M(o)||o>u.priority)&&-1!==u.restrict.indexOf(i)){if(s&&(u=P(u,{$$start:s,$$end:l})),!u.$$bindings){var h=u.$$bindings=g(u,u.name);L(h.isolateScope)&&(u.$$isolateBindings=h.isolateScope)}e.push(u),c=u}return c}function ke(e){if(r.hasOwnProperty(e))for(var n=t.get(e+"Directive"),i=0,o=n.length;i<o;i++)if(n[i].multiElement)return!0;return!1}function Ae(e,t){var n=t.$attr,r=e.$attr;k(e,(function(r,i){"$"!==i.charAt(0)&&(t[i]&&t[i]!==r&&(r.length?r+=("style"===i?";":" ")+t[i]:r=t[i]),e.$set(i,r,!0,n[i]))})),k(t,(function(t,i){e.hasOwnProperty(i)||"$"===i.charAt(0)||(e[i]=t,"class"!==i&&"style"!==i&&(r[i]=n[i]))}))}function Ee(e,t,n,r,i,o,s,l){var c,u,d=[],p=t[0],g=e.shift(),m=P(g,{templateUrl:null,transclude:null,replace:null,$$originalDirective:g}),v=G(g.templateUrl)?g.templateUrl(t,n):g.templateUrl,b=g.templateNamespace;return t.empty(),h(v).then((function(f){var h,y,x,w;if(f=ee(f),g.replace){if(x=lt(f)?[]:wn(Ce(b,K(f))),h=x[0],1!==x.length||1!==h.nodeType)throw fn("tplrt","Template for directive '{0}' must have exactly one root element. {1}",g.name,v);y={$attr:{}},De(r,t,h);var A=fe(h,[],y);L(g.scope)&&ye(A,!0),e=A.concat(e),Ae(n,y)}else h=p,t.html(f);for(e.unshift(m),c=ve(e,h,n,i,t,g,o,s,l),k(r,(function(e,n){e===h&&(r[n]=t[0])})),u=le(t[0].childNodes,i);d.length;){var E=d.shift(),S=d.shift(),$=d.shift(),C=d.shift(),_=t[0];if(!E.$$destroyed){if(S!==p){var O=S.className;l.hasElementTranscludeDirective&&g.replace||(_=ft(h)),De($,a(S),_),Y(a(_),O)}w=c.transcludeOnThisElement?ue(E,c.transclude,C):C,c(u,E,_,r,w)}}d=null})).catch((function(e){H(e)&&f(e)})),function(e,t,n,r,i){var o=i;t.$$destroyed||(d?d.push(t,n,r,o):(c.transcludeOnThisElement&&(o=ue(t,c.transclude,i)),c(u,t,n,r,o)))}}function Se(e,t){var n=t.priority-e.priority;return 0!==n?n:e.name!==t.name?e.name<t.name?-1:1:e.index-t.index}function $e(e,t,n,r){function i(e){return e?" (module: "+e+")":""}if(t)throw fn("multidir","Multiple directives [{0}{1}, {2}{3}] asking for {4} on: {5}",t.name,i(t.$$moduleName),n.name,i(n.$$moduleName),e,xe(r))}function Ce(t,n){switch(t=d(t||"html")){case"svg":case"math":var r=e.document.createElement("div");return r.innerHTML="<"+t+">"+n+"</"+t+">",r.childNodes[0].childNodes;default:return n}}function _e(e){return V(C.valueOf(e),"ng-prop-srcset")}function Oe(e,t,n,r){if(p.test(r))throw fn("nodomevents","Property bindings for HTML DOM event properties are disallowed");var i=ne(e),o=function(e,t){var n=t.toLowerCase();return A[e+"|"+n]||A["*|"+n]}(i,r),a=R;"srcset"!==r||"img"!==i&&"source"!==i?o&&(a=C.getTrusted.bind(C,o)):a=_e,t.push({priority:100,compile:function(e,t){var i=E(t[n]),o=E(t[n],(function(e){return C.valueOf(e)}));return{pre:function(e,t){function n(){var n=i(e);t[0][r]=a(n)}n(),e.$watch(o,n)}}}})}function Te(e,t,n){e.push(Po(E,$,f,t,n,!1))}function je(e,t,r,i,o){var a=ne(e),s=function(e,t){return"srcdoc"===t?C.HTML:"src"===t||"ngSrc"===t?-1===["img","video","audio","source","track"].indexOf(e)?C.RESOURCE_URL:C.MEDIA_URL:"xlinkHref"===t?"image"===e?C.MEDIA_URL:"a"===e?C.URL:C.RESOURCE_URL:"form"===e&&"action"===t||"base"===e&&"href"===t||"link"===e&&"href"===t?C.RESOURCE_URL:"a"!==e||"href"!==t&&"ngHref"!==t?void 0:C.URL}(a,i),c=!o,u=l[i]||o,d=n(r,c,s,u);if(d){if("multiple"===i&&"select"===a)throw fn("selmulti","Binding to the 'multiple' attribute is not supported. Element: {0}",xe(e));if(p.test(i))throw fn("nodomevents","Interpolations for HTML DOM event attributes are disallowed");t.push({priority:100,compile:function(){return{pre:function(e,t,o){var a=o.$$observers||(o.$$observers=Le()),l=o[i];l!==r&&(d=l&&n(l,!0,s,u),r=l),d&&(o[i]=d(e),(a[i]||(a[i]=[])).$$inter=!0,(o.$$observers&&o.$$observers[i].$$scope||e).$watch(d,(function(e,t){"class"===i&&e!==t?o.$updateClass(e,t):o.$set(i,e)})))}}}})}}function De(t,n,r){var i,o,s=n[0],l=n.length,c=s.parentNode;if(t)for(i=0,o=t.length;i<o;i++)if(t[i]===s){t[i++]=r;for(var u=i,d=u+l-1,p=t.length;u<p;u++,d++)d<p?t[u]=t[d]:delete t[u];t.length-=l-1,t.context===s&&(t.context=r);break}c&&c.replaceChild(r,s);var f=e.document.createDocumentFragment();for(i=0;i<l;i++)f.appendChild(n[i]);for(a.hasData(s)&&(a.data(r,a.data(s)),a(s).off("$destroy")),a.cleanData(f.querySelectorAll("*")),i=1;i<l;i++)delete n[i];n[0]=r,n.length=1}function Re(e,t){return _((function(){return e.apply(null,arguments)}),e,t)}function Ne(e,t,n,r,i,o){try{e(t,n,r,i,o)}catch(e){f(e,xe(n))}}function Me(e,t){if(b)throw fn("missingattr","Attribute '{0}' of '{1}' is non-optional and must be set!",e,t)}function ze(e,t,r,i,o){var a,s=[],l={};function c(t,n,i){G(r.$onChanges)&&!ae(n,i)&&(T||(e.$$postDigest(q),T=[]),a||(a={},T.push(d)),a[t]&&(i=a[t].previousValue),a[t]=new mn(i,n))}function d(){r.$onChanges(a),a=void 0}return k(i,(function(i,a){var d,p,f,h,g,m=i.attrName,v=i.optional;switch(i.mode){case"@":v||u.call(t,m)||(Me(m,o.name),r[a]=t[m]=void 0),g=t.$observe(m,(function(e){if(F(e)||Z(e)){var t=r[a];c(a,e,t),r[a]=e}})),t.$$observers[m].$$scope=e,F(d=t[m])?r[a]=n(d)(e):Z(d)&&(r[a]=d),l[a]=new mn(hn,r[a]),s.push(g);break;case"=":if(!u.call(t,m)){if(v)break;Me(m,o.name),t[m]=void 0}if(v&&!t[m])break;p=E(t[m]),h=p.literal?se:ae,f=p.assign||function(){throw d=r[a]=p(e),fn("nonassign","Expression '{0}' in attribute '{1}' used with directive '{2}' is non-assignable!",t[m],m,o.name)},d=r[a]=p(e);var b=function(t){return h(t,r[a])||(h(t,d)?f(e,t=r[a]):r[a]=t),d=t};b.$stateful=!0,g=i.collection?e.$watchCollection(t[m],b):e.$watch(E(t[m],b),null,p.literal),s.push(g);break;case"<":if(!u.call(t,m)){if(v)break;Me(m,o.name),t[m]=void 0}if(v&&!t[m])break;var y=(p=E(t[m])).literal,x=r[a]=p(e);l[a]=new mn(hn,r[a]),g=e[i.collection?"$watchCollection":"$watch"](p,(function(e,t){if(t===e){if(t===x||y&&se(t,x))return;t=x}c(a,e,t),r[a]=e})),s.push(g);break;case"&":if(v||u.call(t,m)||Me(m,o.name),(p=t.hasOwnProperty(m)?E(t[m]):D)===D&&v)break;r[a]=function(t){return p(e,t)}}})),{initialChanges:l,removeWatches:s.length&&function(){for(var e=0,t=s.length;e<t;++e)s[e]()}}}}]}function mn(e,t){this.previousValue=e,this.currentValue=t}gn.$inject=["$provide","$$sanitizeUriProvider"],mn.prototype.isFirstChange=function(){return this.previousValue===hn};var vn=/^((?:x|data)[:\-_])/i,bn=/[:\-_]+(.)/g;function yn(e){return e.replace(vn,"").replace(bn,(function(e,t,n){return n?t.toUpperCase():t}))}function xn(e,t){var n="",r=e.split(/\s+/),i=t.split(/\s+/);e:for(var o=0;o<r.length;o++){for(var a=r[o],s=0;s<i.length;s++)if(a===i[s])continue e;n+=(n.length>0?" ":"")+a}return n}function wn(e){var t=(e=a(e)).length;if(t<=1)return e;for(;t--;){var n=e[t];(8===n.nodeType||n.nodeType===Fe&&""===n.nodeValue.trim())&&h.call(e,t,1)}return e}var kn=i("$controller"),An=/^(\S+)(\s+as\s+([\w$]+))?$/;function En(e,t){if(t&&F(t))return t;if(F(e)){var n=An.exec(e);if(n)return n[3]}}function Sn(){var e={};this.has=function(t){return e.hasOwnProperty(t)},this.register=function(t,n){Me(t,"controller"),L(t)?_(e,t):e[t]=n},this.$get=["$injector",function(t){return function(r,i,o,a){var s,l,c,u;if(o=!0===o,a&&F(a)&&(u=a),F(r)){if(!(l=r.match(An)))throw kn("ctrlfmt","Badly formed controller string '{0}'. Must match `__name__ as __id__` or `__name__`.",r);if(c=l[1],u=u||l[3],!(r=e.hasOwnProperty(c)?e[c]:function(e,t,n){if(!t)return e;for(var r,i=t.split("."),o=e,a=i.length,s=0;s<a;s++)r=i[s],e&&(e=(o=e)[r]);return!n&&G(e)?pe(o,e):e}(i.$scope,c,!0)))throw kn("ctrlreg","The controller with the name '{0}' is not registered.",c);Ne(r,c,!0)}if(o){var d=(U(r)?r[r.length-1]:r).prototype;return s=Object.create(d||null),u&&n(i,u,s,c||r.name),_((function(){var e=t.invoke(r,s,i,c);return e!==s&&(L(e)||G(e))&&(s=e,u&&n(i,u,s,c||r.name)),s}),{instance:s,identifier:u})}return s=t.instantiate(r,i,c),u&&n(i,u,s,c||r.name),s};function n(e,t,n,r){if(!e||!L(e.$scope))throw i("$controller")("noscp","Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.",r,t);e.$scope[t]=n}}]}function $n(){this.$get=["$window",function(e){return a(e.document)}]}function Cn(){this.$get=["$document","$rootScope",function(e,t){var n=e[0],r=n&&n.hidden;function i(){r=n.hidden}return e.on("visibilitychange",i),t.$on("$destroy",(function(){e.off("visibilitychange",i)})),function(){return r}}]}function _n(){this.$get=["$log",function(e){return function(t,n){e.error.apply(e,arguments)}}]}var On=function(){this.$get=["$document",function(e){return function(t){return t?!t.nodeType&&t instanceof a&&(t=t[0]):t=e[0].body,t.offsetWidth+1}}]},Tn={"Content-Type":"application/json;charset=utf-8"},jn=/^\[|^\{(?!\{)/,Pn={"[":/]$/,"{":/}$/},Dn=/^\)]\}',?\n/,Rn=i("$http");function In(e){return L(e)?V(e)?e.toISOString():he(e):e}function Nn(){this.$get=function(){return function(e){if(!e)return"";var t=[];return A(e,(function(e,n){null===e||M(e)||G(e)||(U(e)?k(e,(function(e){t.push(Ee(n)+"="+Ee(In(e)))})):t.push(Ee(n)+"="+Ee(In(e))))})),t.join("&")}}}function Mn(){this.$get=function(){return function(e){if(!e)return"";var t=[];return function e(n,r,i){U(n)?k(n,(function(t,n){e(t,r+"["+(L(t)?n:"")+"]")})):L(n)&&!V(n)?A(n,(function(t,n){e(t,r+(i?"":"[")+n+(i?"":"]"))})):(G(n)&&(n=n()),t.push(Ee(r)+"="+(null==n?"":Ee(In(n)))))}(e,"",!0),t.join("&")}}}function zn(e,t){if(F(e)){var n=e.replace(Dn,"").trim();if(n){var r=t("Content-Type"),i=r&&0===r.indexOf("application/json");if(i||(a=(o=n).match(jn))&&Pn[a[0]].test(o))try{e=ge(n)}catch(t){if(!i)return e;throw Rn("baddata",'Data must be a valid JSON object. Received: "{0}". Parse error: "{1}"',e,t)}}}var o,a;return e}function Ln(e){var t,n=Le();function r(e,t){e&&(n[e]=n[e]?n[e]+", "+t:t)}return F(e)?k(e.split("\n"),(function(e){t=e.indexOf(":"),r(d(K(e.substr(0,t))),K(e.substr(t+1)))})):L(e)&&k(e,(function(e,t){r(d(t),K(e))})),n}function Bn(e){var t;return function(n){if(t||(t=Ln(e)),n){var r=t[d(n)];return void 0===r&&(r=null),r}return t}}function Fn(e,t,n,r){return G(r)?r(e,t,n):(k(r,(function(r){e=r(e,t,n)})),e)}function qn(e){return 200<=e&&e<300}function Vn(){var e=this.defaults={transformResponse:[zn],transformRequest:[function(e){return!L(e)||(t=e,"[object File]"===m.call(t))||function(e){return"[object Blob]"===m.call(e)}(e)||function(e){return"[object FormData]"===m.call(e)}(e)?e:he(e);var t}],headers:{common:{Accept:"application/json, text/plain, */*"},post:qe(Tn),put:qe(Tn),patch:qe(Tn)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",paramSerializer:"$httpParamSerializer",jsonpCallbackParam:"callback"},t=!1;this.useApplyAsync=function(e){return z(e)?(t=!!e,this):t};var n=this.interceptors=[],r=this.xsrfTrustedOrigins=[];Object.defineProperty(this,"xsrfWhitelistedOrigins",{get:function(){return this.xsrfTrustedOrigins},set:function(e){this.xsrfTrustedOrigins=e}}),this.$get=["$browser","$httpBackend","$$cookieReader","$cacheFactory","$rootScope","$q","$injector","$sce",function(o,a,s,l,c,u,f,h){var g=l("$http");e.paramSerializer=F(e.paramSerializer)?f.get(e.paramSerializer):e.paramSerializer;var m=[];k(n,(function(e){m.unshift(F(e)?f.get(e):f.invoke(e))}));var v,b=(v=[ai].concat(r.map(li)),function(e){var t=li(e);return v.some(ci.bind(null,t))});function y(n){if(!L(n))throw i("$http")("badreq","Http request configuration must be an object. Received: {0}",n);if(!F(h.valueOf(n.url)))throw i("$http")("badreq","Http request configuration url must be a string or a $sce trusted object. Received: {0}",n.url);var r=_({method:"get",transformRequest:e.transformRequest,transformResponse:e.transformResponse,paramSerializer:e.paramSerializer,jsonpCallbackParam:e.jsonpCallbackParam},n);r.headers=function(t){var n,r,i,o=e.headers,a=_({},t.headers);o=_({},o.common,o[d(t.method)]);e:for(n in o){for(i in r=d(n),a)if(d(i)===r)continue e;a[n]=o[n]}return function(e,t){var n,r={};return k(e,(function(e,i){G(e)?null!=(n=e(t))&&(r[i]=n):r[i]=e})),r}(a,qe(t))}(n),r.method=p(r.method),r.paramSerializer=F(r.paramSerializer)?f.get(r.paramSerializer):r.paramSerializer,o.$$incOutstandingRequestCount("$http");var l=[],v=[],x=u.resolve(r);return k(m,(function(e){(e.request||e.requestError)&&l.unshift(e.request,e.requestError),(e.response||e.responseError)&&v.push(e.response,e.responseError)})),x=w(x,l),x=(x=w(x=x.then((function(n){var r=n.headers,i=Fn(n.data,Bn(r),void 0,n.transformRequest);M(i)&&k(r,(function(e,t){"content-type"===d(t)&&delete r[t]}));M(n.withCredentials)&&!M(e.withCredentials)&&(n.withCredentials=e.withCredentials);return function(n,r){var i,o,l=u.defer(),p=l.promise,f=n.headers,m="jsonp"===d(n.method),v=n.url;m?v=h.getTrustedResourceUrl(v):F(v)||(v=h.valueOf(v));v=function(e,t){t.length>0&&(e+=(-1===e.indexOf("?")?"?":"&")+t);return e}(v,n.paramSerializer(n.params)),m&&(v=function(e,t){var n=e.split("?");if(n.length>2)throw Rn("badjsonp",'Illegal use more than one "?", in url, "{1}"',e);return k(ke(n[1]),(function(n,r){if("JSON_CALLBACK"===n)throw Rn("badjsonp",'Illegal use of JSON_CALLBACK in url, "{0}"',e);if(r===t)throw Rn("badjsonp",'Illegal use of callback param, "{0}", in url, "{1}"',t,e)})),e+=(-1===e.indexOf("?")?"?":"&")+t+"=JSON_CALLBACK"}(v,n.jsonpCallbackParam));y.pendingRequests.push(n),p.then(S,S),!n.cache&&!e.cache||!1===n.cache||"GET"!==n.method&&"JSONP"!==n.method||(i=L(n.cache)?n.cache:L(e.cache)?e.cache:g);i&&(z(o=i.get(v))?Q(o)?o.then(E,E):U(o)?A(o[1],o[0],qe(o[2]),o[3],o[4]):A(o,200,{},"OK","complete"):i.put(v,p));if(M(o)){var x=b(n.url)?s()[n.xsrfCookieName||e.xsrfCookieName]:void 0;x&&(f[n.xsrfHeaderName||e.xsrfHeaderName]=x),a(n.method,v,r,(function(e,n,r,o,a){i&&(qn(e)?i.put(v,[e,n,Ln(r),o,a]):i.remove(v));function s(){A(n,e,r,o,a)}t?c.$applyAsync(s):(s(),c.$$phase||c.$apply())}),f,n.timeout,n.withCredentials,n.responseType,w(n.eventHandlers),w(n.uploadEventHandlers))}return p;function w(e){if(e){var n={};return k(e,(function(e,r){n[r]=function(n){function r(){e(n)}t?c.$applyAsync(r):c.$$phase?r():c.$apply(r)}})),n}}function A(e,t,r,i,o){(qn(t=t>=-1?t:0)?l.resolve:l.reject)({data:e,status:t,headers:Bn(r),config:n,statusText:i,xhrStatus:o})}function E(e){A(e.data,e.status,qe(e.headers()),e.statusText,e.xhrStatus)}function S(){var e=y.pendingRequests.indexOf(n);-1!==e&&y.pendingRequests.splice(e,1)}}(n,i).then(A,A)})),v)).finally((function(){o.$$completeOutstandingRequest(D,"$http")}));function w(e,t){for(var n=0,r=t.length;n<r;){var i=t[n++],o=t[n++];e=e.then(i,o)}return t.length=0,e}function A(e){var t=_({},e);return t.data=Fn(e.data,e.headers,e.status,r.transformResponse),qn(e.status)?t:u.reject(t)}}return y.pendingRequests=[],function(e){k(arguments,(function(e){y[e]=function(t,n){return y(_({},n||{},{method:e,url:t}))}}))}("get","delete","head","jsonp"),function(e){k(arguments,(function(e){y[e]=function(t,n,r){return y(_({},r||{},{method:e,url:t,data:n}))}}))}("post","put","patch"),y.defaults=e,y}]}function Un(){this.$get=function(){return function(){return new e.XMLHttpRequest}}}function Hn(){this.$get=["$browser","$jsonpCallbacks","$document","$xhrFactory",function(e,t,n,r){return function(e,t,n,r,i){return function(o,a,s,l,c,u,p,f,h,g){if(a=a||e.url(),"jsonp"===d(o))var m=r.createCallback(a),v=function(e,t,n){e=e.replace("JSON_CALLBACK",t);var o=i.createElement("script"),a=null;return o.type="text/javascript",o.src=e,o.async=!0,a=function(e){o.removeEventListener("load",a),o.removeEventListener("error",a),i.body.removeChild(o),o=null;var s=-1,l="unknown";e&&("load"!==e.type||r.wasCalled(t)||(e={type:"error"}),l=e.type,s="error"===e.type?404:200),n&&n(s,l)},o.addEventListener("load",a),o.addEventListener("error",a),i.body.appendChild(o),a}(a,m,(function(e,t){var n=200===e&&r.getResponse(m);A(l,e,n,"",t,"complete"),r.removeCallback(m)}));else{var b=t(o,a),y=!1;b.open(o,a,!0),k(c,(function(e,t){z(e)&&b.setRequestHeader(t,e)})),b.onload=function(){var e=b.statusText||"",t="response"in b?b.response:b.responseText,n=1223===b.status?204:b.status;0===n&&(n=t?200:"file"===li(a).protocol?404:0),A(l,n,t,b.getAllResponseHeaders(),e,"complete")};if(b.onerror=function(){A(l,-1,null,null,"","error")},b.ontimeout=function(){A(l,-1,null,null,"","timeout")},b.onabort=function(){A(l,-1,null,null,"",y?"timeout":"abort")},k(h,(function(e,t){b.addEventListener(t,e)})),k(g,(function(e,t){b.upload.addEventListener(t,e)})),p&&(b.withCredentials=!0),f)try{b.responseType=f}catch(e){if("json"!==f)throw e}b.send(M(s)?null:s)}if(u>0)var x=n((function(){w("timeout")}),u);else Q(u)&&u.then((function(){w(z(u.$$timeoutId)?"timeout":"abort")}));function w(e){y="timeout"===e,v&&v(),b&&b.abort()}function A(e,t,r,i,o,a){z(x)&&n.cancel(x),v=b=null,e(t,r,i,o,a)}}}(e,r,e.defer,t,n[0])}]}var Gn=y.$interpolateMinErr=i("$interpolate");function Wn(){var e="{{",t="}}";this.startSymbol=function(t){return t?(e=t,this):e},this.endSymbol=function(e){return e?(t=e,this):t},this.$get=["$parse","$exceptionHandler","$sce",function(n,r,i){var o=e.length,a=t.length,s=new RegExp(e.replace(/./g,c),"g"),l=new RegExp(t.replace(/./g,c),"g");function c(e){return"\\\\\\"+e}function u(n){return n.replace(s,e).replace(l,t)}function d(e,t,n,r){var i=e.$watch((function(e){return i(),r(e)}),t,n);return i}function p(s,l,c,p){var f=c===i.URL||c===i.MEDIA_URL;if(!s.length||-1===s.indexOf(e)){if(l)return;var h=u(s);f&&(h=i.getTrusted(c,h));var g=I(h);return g.exp=s,g.expressions=[],g.$$watchDelegate=d,g}p=!!p;for(var m,v,b,y,x,w=0,k=[],A=s.length,E=[],S=[];w<A;){if(-1===(m=s.indexOf(e,w))||-1===(v=s.indexOf(t,m+o))){w!==A&&E.push(u(s.substring(w)));break}w!==m&&E.push(u(s.substring(w,m))),y=s.substring(m+o,v),k.push(y),w=v+a,S.push(E.length),E.push("")}x=1===E.length&&1===S.length;var $=f&&x?void 0:function(e){try{return e=c&&!f?i.getTrusted(c,e):i.valueOf(e),p&&!z(e)?e:Be(e)}catch(e){r(Gn.interr(s,e))}};if(b=k.map((function(e){return n(e,$)})),!l||k.length){var C=function(e){for(var t=0,n=k.length;t<n;t++){if(p&&M(e[t]))return;E[S[t]]=e[t]}return f?i.getTrusted(c,x?E[0]:E.join("")):(c&&E.length>1&&Gn.throwNoconcat(s),E.join(""))};return _((function(e){var t=0,n=k.length,i=new Array(n);try{for(;t<n;t++)i[t]=b[t](e);return C(i)}catch(e){r(Gn.interr(s,e))}}),{exp:s,expressions:k,$$watchDelegate:function(e,t){var n;return e.$watchGroup(b,(function(r,i){var o=C(r);t.call(this,o,r!==i?n:o,e),n=o}))}})}}return p.startSymbol=function(){return e},p.endSymbol=function(){return t},p}]}Gn.throwNoconcat=function(e){throw Gn("noconcat","Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required. See http://docs.angularjs.org/api/ng.$sce",e)},Gn.interr=function(e,t){return Gn("interr","Can't interpolate: {0}\n{1}",e,t.toString())};var Yn=i("$interval");function Xn(){this.$get=["$$intervalFactory","$window",function(e,t){var n={},r=function(e){t.clearInterval(e),delete n[e]},i=e((function(e,r,i){var o=t.setInterval(e,r);return n[o]=i,o}),r);return i.cancel=function(e){if(!e)return!1;if(!e.hasOwnProperty("$$intervalId"))throw Yn("badprom","`$interval.cancel()` called with a promise that was not generated by `$interval()`.");if(!n.hasOwnProperty(e.$$intervalId))return!1;var t=e.$$intervalId,i=n[t];return Lr(i.promise),i.reject("canceled"),r(t),!0},i}]}function Zn(){this.$get=["$browser","$q","$$q","$rootScope",function(e,t,n,r){return function(i,o){return function(a,s,l,c){var u=arguments.length>4,d=u?de(arguments,4):[],p=0,f=z(c)&&!c,h=(f?n:t).defer(),g=h.promise;function m(){u?a.apply(null,d):a(p)}function v(){f?e.defer(m):r.$evalAsync(m),h.notify(p++),l>0&&p>=l&&(h.resolve(p),o(g.$$intervalId)),f||r.$apply()}return l=z(l)?l:0,g.$$intervalId=i(v,s,h,f),g}}}]}var Qn=function(){this.$get=function(){var e=y.callbacks,t={};return{createCallback:function(n){var r="_"+(e.$$counter++).toString(36),i="angular.callbacks."+r,o=function(e){var t=function(e){t.data=e,t.called=!0};return t.id=e,t}(r);return t[i]=e[r]=o,i},wasCalled:function(e){return t[e].called},getResponse:function(e){return t[e].data},removeCallback:function(n){var r=t[n];delete e[r.id],delete t[n]}}}},Jn=/^([^?#]*)(\?([^#]*))?(#(.*))?$/,Kn={http:80,https:443,ftp:21},er=i("$location");function tr(e,t,n){var r,i=(r=[],k(t,(function(e,t){U(e)?k(e,(function(e){r.push(Ee(t,!0)+(!0===e?"":"="+Ee(e,!0)))})):r.push(Ee(t,!0)+(!0===e?"":"="+Ee(e,!0)))})),r.length?r.join("&"):""),o=n?"#"+Ae(n):"";return function(e){for(var t=e.split("/"),n=t.length;n--;)t[n]=Ae(t[n].replace(/%2F/g,"/"));return t.join("/")}(e)+(i?"?"+i:"")+o}function nr(e,t){var n=li(e);t.$$protocol=n.protocol,t.$$host=n.hostname,t.$$port=T(n.port)||Kn[n.protocol]||null}var rr=/^\s*[\\/]{2,}/;function ir(e,t,n){if(rr.test(e))throw er("badpath",'Invalid url "{0}".',e);var r="/"!==e.charAt(0);r&&(e="/"+e);var i=li(e),o=r&&"/"===i.pathname.charAt(0)?i.pathname.substring(1):i.pathname;t.$$path=function(e,t){for(var n=e.split("/"),r=n.length;r--;)n[r]=decodeURIComponent(n[r]),t&&(n[r]=n[r].replace(/\//g,"%2F"));return n.join("/")}(o,n),t.$$search=ke(i.search),t.$$hash=decodeURIComponent(i.hash),t.$$path&&"/"!==t.$$path.charAt(0)&&(t.$$path="/"+t.$$path)}function or(e,t){return e.slice(0,t.length)===t}function ar(e,t){if(or(t,e))return t.substr(e.length)}function sr(e){var t=e.indexOf("#");return-1===t?e:e.substr(0,t)}function lr(e,t,n){this.$$html5=!0,n=n||"",nr(e,this),this.$$parse=function(e){var n=ar(t,e);if(!F(n))throw er("ipthprfx",'Invalid url "{0}", missing path prefix "{1}".',e,t);ir(n,this,!0),this.$$path||(this.$$path="/"),this.$$compose()},this.$$normalizeUrl=function(e){return t+e.substr(1)},this.$$parseLinkUrl=function(r,i){return i&&"#"===i[0]?(this.hash(i.slice(1)),!0):(z(o=ar(e,r))?(a=o,s=n&&z(o=ar(n,o))?t+(ar("/",o)||o):e+a):z(o=ar(t,r))?s=t+o:t===r+"/"&&(s=t),s&&this.$$parse(s),!!s);var o,a,s}}function cr(e,t,n){nr(e,this),this.$$parse=function(r){var i,o=ar(e,r)||ar(t,r);M(o)||"#"!==o.charAt(0)?this.$$html5?i=o:(i="",M(o)&&(e=r,this.replace())):M(i=ar(n,o))&&(i=o),ir(i,this,!1),this.$$path=function(e,t,n){var r,i=/^\/[A-Z]:(\/.*)/;or(t,n)&&(t=t.replace(n,""));if(i.exec(t))return e;return(r=i.exec(e))?r[1]:e}(this.$$path,i,e),this.$$compose()},this.$$normalizeUrl=function(t){return e+(t?n+t:"")},this.$$parseLinkUrl=function(t,n){return sr(e)===sr(t)&&(this.$$parse(t),!0)}}function ur(e,t,n){this.$$html5=!0,cr.apply(this,arguments),this.$$parseLinkUrl=function(r,i){return i&&"#"===i[0]?(this.hash(i.slice(1)),!0):(e===sr(r)?o=r:(a=ar(t,r))?o=e+n+a:t===r+"/"&&(o=t),o&&this.$$parse(o),!!o);var o,a},this.$$normalizeUrl=function(t){return e+n+t}}var dr={$$absUrl:"",$$html5:!1,$$replace:!1,$$compose:function(){this.$$url=tr(this.$$path,this.$$search,this.$$hash),this.$$absUrl=this.$$normalizeUrl(this.$$url),this.$$urlUpdatedByLocation=!0},absUrl:pr("$$absUrl"),url:function(e){if(M(e))return this.$$url;var t=Jn.exec(e);return(t[1]||""===e)&&this.path(decodeURIComponent(t[1])),(t[2]||t[1]||""===e)&&this.search(t[3]||""),this.hash(t[5]||""),this},protocol:pr("$$protocol"),host:pr("$$host"),port:pr("$$port"),path:fr("$$path",(function(e){return"/"===(e=null!==e?e.toString():"").charAt(0)?e:"/"+e})),search:function(e,t){switch(arguments.length){case 0:return this.$$search;case 1:if(F(e)||q(e))e=e.toString(),this.$$search=ke(e);else{if(!L(e))throw er("isrcharg","The first argument of the `$location#search()` call must be a string or an object.");k(e=oe(e,{}),(function(t,n){null==t&&delete e[n]})),this.$$search=e}break;default:M(t)||null===t?delete this.$$search[e]:this.$$search[e]=t}return this.$$compose(),this},hash:fr("$$hash",(function(e){return null!==e?e.toString():""})),replace:function(){return this.$$replace=!0,this}};function pr(e){return function(){return this[e]}}function fr(e,t){return function(n){return M(n)?this[e]:(this[e]=t(n),this.$$compose(),this)}}function hr(){var e="!",t={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(t){return z(t)?(e=t,this):e},this.html5Mode=function(e){return Z(e)?(t.enabled=e,this):L(e)?(Z(e.enabled)&&(t.enabled=e.enabled),Z(e.requireBase)&&(t.requireBase=e.requireBase),(Z(e.rewriteLinks)||F(e.rewriteLinks))&&(t.rewriteLinks=e.rewriteLinks),this):t},this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function(n,r,i,o,s){var l,c,u,d,p=r.baseHref(),f=r.url();if(t.enabled){if(!p&&t.requireBase)throw er("nobase","$location in HTML5 mode requires a <base> tag to be present!");u=(d=f).substring(0,d.indexOf("/",d.indexOf("//")+2))+(p||"/"),c=i.history?lr:ur}else u=sr(f),c=cr;var h=function(e){return e.substr(0,sr(e).lastIndexOf("/")+1)}(u);(l=new c(u,h,"#"+e)).$$parseLinkUrl(f,f),l.$$state=r.state();var g=/^\s*(javascript|mailto):/i;function m(e,t,n){var i=l.url(),o=l.$$state;try{r.url(e,t,n),l.$$state=r.state()}catch(e){throw l.url(i),l.$$state=o,e}}o.on("click",(function(e){var i=t.rewriteLinks;if(i&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey&&2!==e.which&&2!==e.button){for(var s=a(e.target);"a"!==ne(s[0]);)if(s[0]===o[0]||!(s=s.parent())[0])return;if(!F(i)||!M(s.attr(i))){var c=s.prop("href"),u=s.attr("href")||s.attr("xlink:href");L(c)&&"[object SVGAnimatedString]"===c.toString()&&(c=li(c.animVal).href),g.test(c)||!c||s.attr("target")||e.isDefaultPrevented()||l.$$parseLinkUrl(c,u)&&(e.preventDefault(),l.absUrl()!==r.url()&&n.$apply())}}})),l.absUrl()!==f&&r.url(l.absUrl(),!0);var v=!0;return r.onUrlChange((function(e,t){or(e,h)?(n.$evalAsync((function(){var r,i=l.absUrl(),o=l.$$state;l.$$parse(e),l.$$state=t,r=n.$broadcast("$locationChangeStart",e,i,t,o).defaultPrevented,l.absUrl()===e&&(r?(l.$$parse(i),l.$$state=o,m(i,!1,o)):(v=!1,b(i,o)))})),n.$$phase||n.$digest()):s.location.href=e})),n.$watch((function(){if(v||l.$$urlUpdatedByLocation){l.$$urlUpdatedByLocation=!1;var e=r.url(),t=l.absUrl(),o=r.state(),a=l.$$replace,s=!((c=e)===(u=t)||li(c).href===li(u).href)||l.$$html5&&i.history&&o!==l.$$state;(v||s)&&(v=!1,n.$evalAsync((function(){var t=l.absUrl(),r=n.$broadcast("$locationChangeStart",t,e,l.$$state,o).defaultPrevented;l.absUrl()===t&&(r?(l.$$parse(e),l.$$state=o):(s&&m(t,a,o===l.$$state?null:l.$$state),b(e,o)))})))}var c,u;l.$$replace=!1})),l;function b(e,t){n.$broadcast("$locationChangeSuccess",l.absUrl(),e,l.$$state,t)}}]}function gr(){var e=!0,t=this;this.debugEnabled=function(t){return z(t)?(e=t,this):e},this.$get=["$window",function(n){var r,i=o||/\bEdge\//.test(n.navigator&&n.navigator.userAgent);return{log:s("log"),info:s("info"),warn:s("warn"),error:s("error"),debug:(r=s("debug"),function(){e&&r.apply(t,arguments)})};function a(e){return H(e)&&(e.stack&&i?e=e.message&&-1===e.stack.indexOf(e.message)?"Error: "+e.message+"\n"+e.stack:e.stack:e.sourceURL&&(e=e.message+"\n"+e.sourceURL+":"+e.line)),e}function s(e){var t=n.console||{},r=t[e]||t.log||D;return function(){var e=[];return k(arguments,(function(t){e.push(a(t))})),Function.prototype.apply.call(r,t,e)}}}]}k([ur,cr,lr],(function(e){e.prototype=Object.create(dr),e.prototype.state=function(t){if(!arguments.length)return this.$$state;if(e!==lr||!this.$$html5)throw er("nostate","History API state support is available only in HTML5 mode and only in browsers supporting HTML5 History API");return this.$$state=M(t)?null:t,this.$$urlUpdatedByLocation=!0,this}}));var mr=i("$parse"),vr={}.constructor.prototype.valueOf;function br(e){return e+""}var yr=Le();k("+ - * / % === !== == != < > <= >= && || ! = |".split(" "),(function(e){yr[e]=!0}));var xr={n:"\n",f:"\f",r:"\r",t:"\t",v:"\v","'":"'",'"':'"'},wr=function(e){this.options=e};wr.prototype={constructor:wr,lex:function(e){for(this.text=e,this.index=0,this.tokens=[];this.index<this.text.length;){var t=this.text.charAt(this.index);if('"'===t||"'"===t)this.readString(t);else if(this.isNumber(t)||"."===t&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdentifierStart(this.peekMultichar()))this.readIdent();else if(this.is(t,"(){}[].,;:?"))this.tokens.push({index:this.index,text:t}),this.index++;else if(this.isWhitespace(t))this.index++;else{var n=t+this.peek(),r=n+this.peek(2),i=yr[t],o=yr[n],a=yr[r];if(i||o||a){var s=a?r:o?n:t;this.tokens.push({index:this.index,text:s,operator:!0}),this.index+=s.length}else this.throwError("Unexpected next character ",this.index,this.index+1)}}return this.tokens},is:function(e,t){return-1!==t.indexOf(e)},peek:function(e){var t=e||1;return this.index+t<this.text.length&&this.text.charAt(this.index+t)},isNumber:function(e){return"0"<=e&&e<="9"&&"string"==typeof e},isWhitespace:function(e){return" "===e||"\r"===e||"\t"===e||"\n"===e||"\v"===e||" "===e},isIdentifierStart:function(e){return this.options.isIdentifierStart?this.options.isIdentifierStart(e,this.codePointAt(e)):this.isValidIdentifierStart(e)},isValidIdentifierStart:function(e){return"a"<=e&&e<="z"||"A"<=e&&e<="Z"||"_"===e||"$"===e},isIdentifierContinue:function(e){return this.options.isIdentifierContinue?this.options.isIdentifierContinue(e,this.codePointAt(e)):this.isValidIdentifierContinue(e)},isValidIdentifierContinue:function(e,t){return this.isValidIdentifierStart(e,t)||this.isNumber(e)},codePointAt:function(e){return 1===e.length?e.charCodeAt(0):(e.charCodeAt(0)<<10)+e.charCodeAt(1)-56613888},peekMultichar:function(){var e=this.text.charAt(this.index),t=this.peek();if(!t)return e;var n=e.charCodeAt(0),r=t.charCodeAt(0);return n>=55296&&n<=56319&&r>=56320&&r<=57343?e+t:e},isExpOperator:function(e){return"-"===e||"+"===e||this.isNumber(e)},throwError:function(e,t,n){n=n||this.index;var r=z(t)?"s "+t+"-"+this.index+" ["+this.text.substring(t,n)+"]":" "+n;throw mr("lexerr","Lexer Error: {0} at column{1} in expression [{2}].",e,r,this.text)},readNumber:function(){for(var e="",t=this.index;this.index<this.text.length;){var n=d(this.text.charAt(this.index));if("."===n||this.isNumber(n))e+=n;else{var r=this.peek();if("e"===n&&this.isExpOperator(r))e+=n;else if(this.isExpOperator(n)&&r&&this.isNumber(r)&&"e"===e.charAt(e.length-1))e+=n;else{if(!this.isExpOperator(n)||r&&this.isNumber(r)||"e"!==e.charAt(e.length-1))break;this.throwError("Invalid exponent")}}this.index++}this.tokens.push({index:t,text:e,constant:!0,value:Number(e)})},readIdent:function(){var e=this.index;for(this.index+=this.peekMultichar().length;this.index<this.text.length;){var t=this.peekMultichar();if(!this.isIdentifierContinue(t))break;this.index+=t.length}this.tokens.push({index:e,text:this.text.slice(e,this.index),identifier:!0})},readString:function(e){var t=this.index;this.index++;for(var n="",r=e,i=!1;this.index<this.text.length;){var o=this.text.charAt(this.index);if(r+=o,i){if("u"===o){var a=this.text.substring(this.index+1,this.index+5);a.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+a+"]"),this.index+=4,n+=String.fromCharCode(parseInt(a,16))}else{n+=xr[o]||o}i=!1}else if("\\"===o)i=!0;else{if(o===e)return this.index++,void this.tokens.push({index:t,text:r,constant:!0,value:n});n+=o}this.index++}this.throwError("Unterminated quote",t)}};var kr=function(e,t){this.lexer=e,this.options=t};function Ar(e,t){return void 0!==e?e:t}function Er(e,t){return void 0===e?t:void 0===t?e:e+t}kr.Program="Program",kr.ExpressionStatement="ExpressionStatement",kr.AssignmentExpression="AssignmentExpression",kr.ConditionalExpression="ConditionalExpression",kr.LogicalExpression="LogicalExpression",kr.BinaryExpression="BinaryExpression",kr.UnaryExpression="UnaryExpression",kr.CallExpression="CallExpression",kr.MemberExpression="MemberExpression",kr.Identifier="Identifier",kr.Literal="Literal",kr.ArrayExpression="ArrayExpression",kr.Property="Property",kr.ObjectExpression="ObjectExpression",kr.ThisExpression="ThisExpression",kr.LocalsExpression="LocalsExpression",kr.NGValueParameter="NGValueParameter",kr.prototype={ast:function(e){this.text=e,this.tokens=this.lexer.lex(e);var t=this.program();return 0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]),t},program:function(){for(var e=[];;)if(this.tokens.length>0&&!this.peek("}",")",";","]")&&e.push(this.expressionStatement()),!this.expect(";"))return{type:kr.Program,body:e}},expressionStatement:function(){return{type:kr.ExpressionStatement,expression:this.filterChain()}},filterChain:function(){for(var e=this.expression();this.expect("|");)e=this.filter(e);return e},expression:function(){return this.assignment()},assignment:function(){var e=this.ternary();if(this.expect("=")){if(!Cr(e))throw mr("lval","Trying to assign a value to a non l-value");e={type:kr.AssignmentExpression,left:e,right:this.assignment(),operator:"="}}return e},ternary:function(){var e,t,n=this.logicalOR();return this.expect("?")&&(e=this.expression(),this.consume(":"))?(t=this.expression(),{type:kr.ConditionalExpression,test:n,alternate:e,consequent:t}):n},logicalOR:function(){for(var e=this.logicalAND();this.expect("||");)e={type:kr.LogicalExpression,operator:"||",left:e,right:this.logicalAND()};return e},logicalAND:function(){for(var e=this.equality();this.expect("&&");)e={type:kr.LogicalExpression,operator:"&&",left:e,right:this.equality()};return e},equality:function(){for(var e,t=this.relational();e=this.expect("==","!=","===","!==");)t={type:kr.BinaryExpression,operator:e.text,left:t,right:this.relational()};return t},relational:function(){for(var e,t=this.additive();e=this.expect("<",">","<=",">=");)t={type:kr.BinaryExpression,operator:e.text,left:t,right:this.additive()};return t},additive:function(){for(var e,t=this.multiplicative();e=this.expect("+","-");)t={type:kr.BinaryExpression,operator:e.text,left:t,right:this.multiplicative()};return t},multiplicative:function(){for(var e,t=this.unary();e=this.expect("*","/","%");)t={type:kr.BinaryExpression,operator:e.text,left:t,right:this.unary()};return t},unary:function(){var e;return(e=this.expect("+","-","!"))?{type:kr.UnaryExpression,operator:e.text,prefix:!0,argument:this.unary()}:this.primary()},primary:function(){var e,t;for(this.expect("(")?(e=this.filterChain(),this.consume(")")):this.expect("[")?e=this.arrayDeclaration():this.expect("{")?e=this.object():this.selfReferential.hasOwnProperty(this.peek().text)?e=oe(this.selfReferential[this.consume().text]):this.options.literals.hasOwnProperty(this.peek().text)?e={type:kr.Literal,value:this.options.literals[this.consume().text]}:this.peek().identifier?e=this.identifier():this.peek().constant?e=this.constant():this.throwError("not a primary expression",this.peek());t=this.expect("(","[",".");)"("===t.text?(e={type:kr.CallExpression,callee:e,arguments:this.parseArguments()},this.consume(")")):"["===t.text?(e={type:kr.MemberExpression,object:e,property:this.expression(),computed:!0},this.consume("]")):"."===t.text?e={type:kr.MemberExpression,object:e,property:this.identifier(),computed:!1}:this.throwError("IMPOSSIBLE");return e},filter:function(e){for(var t=[e],n={type:kr.CallExpression,callee:this.identifier(),arguments:t,filter:!0};this.expect(":");)t.push(this.expression());return n},parseArguments:function(){var e=[];if(")"!==this.peekToken().text)do{e.push(this.filterChain())}while(this.expect(","));return e},identifier:function(){var e=this.consume();return e.identifier||this.throwError("is not a valid identifier",e),{type:kr.Identifier,name:e.text}},constant:function(){return{type:kr.Literal,value:this.consume().value}},arrayDeclaration:function(){var e=[];if("]"!==this.peekToken().text)do{if(this.peek("]"))break;e.push(this.expression())}while(this.expect(","));return this.consume("]"),{type:kr.ArrayExpression,elements:e}},object:function(){var e,t=[];if("}"!==this.peekToken().text)do{if(this.peek("}"))break;e={type:kr.Property,kind:"init"},this.peek().constant?(e.key=this.constant(),e.computed=!1,this.consume(":"),e.value=this.expression()):this.peek().identifier?(e.key=this.identifier(),e.computed=!1,this.peek(":")?(this.consume(":"),e.value=this.expression()):e.value=e.key):this.peek("[")?(this.consume("["),e.key=this.expression(),this.consume("]"),e.computed=!0,this.consume(":"),e.value=this.expression()):this.throwError("invalid key",this.peek()),t.push(e)}while(this.expect(","));return this.consume("}"),{type:kr.ObjectExpression,properties:t}},throwError:function(e,t){throw mr("syntax","Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].",t.text,e,t.index+1,this.text,this.text.substring(t.index))},consume:function(e){if(0===this.tokens.length)throw mr("ueoe","Unexpected end of expression: {0}",this.text);var t=this.expect(e);return t||this.throwError("is unexpected, expecting ["+e+"]",this.peek()),t},peekToken:function(){if(0===this.tokens.length)throw mr("ueoe","Unexpected end of expression: {0}",this.text);return this.tokens[0]},peek:function(e,t,n,r){return this.peekAhead(0,e,t,n,r)},peekAhead:function(e,t,n,r,i){if(this.tokens.length>e){var o=this.tokens[e],a=o.text;if(a===t||a===n||a===r||a===i||!t&&!n&&!r&&!i)return o}return!1},expect:function(e,t,n,r){var i=this.peek(e,t,n,r);return!!i&&(this.tokens.shift(),i)},selfReferential:{this:{type:kr.ThisExpression},$locals:{type:kr.LocalsExpression}}};function Sr(e,t,n){var r,i,o,a=e.isPure=function(e,t){switch(e.type){case kr.MemberExpression:if(e.computed)return!1;break;case kr.UnaryExpression:return 1;case kr.BinaryExpression:return"+"!==e.operator&&1;case kr.CallExpression:return!1}return void 0===t?2:t}(e,n);switch(e.type){case kr.Program:r=!0,k(e.body,(function(e){Sr(e.expression,t,a),r=r&&e.expression.constant})),e.constant=r;break;case kr.Literal:e.constant=!0,e.toWatch=[];break;case kr.UnaryExpression:Sr(e.argument,t,a),e.constant=e.argument.constant,e.toWatch=e.argument.toWatch;break;case kr.BinaryExpression:Sr(e.left,t,a),Sr(e.right,t,a),e.constant=e.left.constant&&e.right.constant,e.toWatch=e.left.toWatch.concat(e.right.toWatch);break;case kr.LogicalExpression:Sr(e.left,t,a),Sr(e.right,t,a),e.constant=e.left.constant&&e.right.constant,e.toWatch=e.constant?[]:[e];break;case kr.ConditionalExpression:Sr(e.test,t,a),Sr(e.alternate,t,a),Sr(e.consequent,t,a),e.constant=e.test.constant&&e.alternate.constant&&e.consequent.constant,e.toWatch=e.constant?[]:[e];break;case kr.Identifier:e.constant=!1,e.toWatch=[e];break;case kr.MemberExpression:Sr(e.object,t,a),e.computed&&Sr(e.property,t,a),e.constant=e.object.constant&&(!e.computed||e.property.constant),e.toWatch=e.constant?[]:[e];break;case kr.CallExpression:o=!!e.filter&&function(e,t){return!e(t).$stateful}(t,e.callee.name),r=o,i=[],k(e.arguments,(function(e){Sr(e,t,a),r=r&&e.constant,i.push.apply(i,e.toWatch)})),e.constant=r,e.toWatch=o?i:[e];break;case kr.AssignmentExpression:Sr(e.left,t,a),Sr(e.right,t,a),e.constant=e.left.constant&&e.right.constant,e.toWatch=[e];break;case kr.ArrayExpression:r=!0,i=[],k(e.elements,(function(e){Sr(e,t,a),r=r&&e.constant,i.push.apply(i,e.toWatch)})),e.constant=r,e.toWatch=i;break;case kr.ObjectExpression:r=!0,i=[],k(e.properties,(function(e){Sr(e.value,t,a),r=r&&e.value.constant,i.push.apply(i,e.value.toWatch),e.computed&&(Sr(e.key,t,!1),r=r&&e.key.constant,i.push.apply(i,e.key.toWatch))})),e.constant=r,e.toWatch=i;break;case kr.ThisExpression:case kr.LocalsExpression:e.constant=!1,e.toWatch=[]}}function $r(e){if(1===e.length){var t=e[0].expression,n=t.toWatch;return 1!==n.length||n[0]!==t?n:void 0}}function Cr(e){return e.type===kr.Identifier||e.type===kr.MemberExpression}function _r(e){if(1===e.body.length&&Cr(e.body[0].expression))return{type:kr.AssignmentExpression,left:e.body[0].expression,right:{type:kr.NGValueParameter},operator:"="}}function Or(e){this.$filter=e}function Tr(e){this.$filter=e}function jr(e,t,n){this.ast=new kr(e,n),this.astCompiler=n.csp?new Tr(t):new Or(t)}function Pr(e){return G(e.valueOf)?e.valueOf():vr.call(e)}function Dr(){var e,t,n=Le(),r={true:!0,false:!1,null:null,undefined:void 0};this.addLiteral=function(e,t){r[e]=t},this.setIdentifierFns=function(n,r){return e=n,t=r,this},this.$get=["$filter",function(i){var o={csp:le().noUnsafeEval,literals:oe(r),isIdentifierStart:G(e)&&e,isIdentifierContinue:G(t)&&t};return a.$$getAst=function(e){return new jr(new wr(o),i,o).getAst(e).ast},a;function a(e,t){var r,a;switch(typeof e){case"string":if(e=e.trim(),!(r=n[a=e]))r=new jr(new wr(o),i,o).parse(e),n[a]=p(r);return f(r,t);case"function":return f(e,t);default:return f(D,t)}}function s(e,t,n){return null==e||null==t?e===t:!("object"==typeof e&&"object"==typeof(e=Pr(e))&&!n)&&(e===t||e!=e&&t!=t)}function l(e,t,n,r,i){var o,a=r.inputs;if(1===a.length){var l=s;return a=a[0],e.$watch((function(e){var t=a(e);return s(t,l,a.isPure)||(o=r(e,void 0,void 0,[t]),l=t&&Pr(t)),o}),t,n,i)}for(var c=[],u=[],d=0,p=a.length;d<p;d++)c[d]=s,u[d]=null;return e.$watch((function(e){for(var t=!1,n=0,i=a.length;n<i;n++){var l=a[n](e);(t||(t=!s(l,c[n],a[n].isPure)))&&(u[n]=l,c[n]=l&&Pr(l))}return t&&(o=r(e,void 0,void 0,u)),o}),t,n,i)}function c(e,t,n,r,i){var o,a,s=r.literal?u:z,l=r.$$intercepted||r,c=r.$$interceptor||R,d=r.inputs&&!l.inputs;return h.literal=r.literal,h.constant=r.constant,h.inputs=r.inputs,p(h),o=e.$watch(h,t,n,i);function f(){s(a)&&o()}function h(e,t,n,r){return a=d&&r?r[0]:l(e,t,n,r),s(a)&&e.$$postDigest(f),c(a)}}function u(e){var t=!0;return k(e,(function(e){z(e)||(t=!1)})),t}function d(e,t,n,r){var i=e.$watch((function(e){return i(),r(e)}),t,n);return i}function p(e){return e.constant?e.$$watchDelegate=d:e.oneTime?e.$$watchDelegate=c:e.inputs&&(e.$$watchDelegate=l),e}function f(e,t){if(!t)return e;e.$$interceptor&&(t=function(e,t){function n(n){return t(e(n))}return n.$stateful=e.$stateful||t.$stateful,n.$$pure=e.$$pure&&t.$$pure,n}(e.$$interceptor,t),e=e.$$intercepted);var n=!1,r=function(r,i,o,a){var s=n&&a?a[0]:e(r,i,o,a);return t(s)};return r.$$intercepted=e,r.$$interceptor=t,r.literal=e.literal,r.oneTime=e.oneTime,r.constant=e.constant,t.$stateful||(n=!e.inputs,r.inputs=e.inputs?e.inputs:[e],t.$$pure||(r.inputs=r.inputs.map((function(e){return 2===e.isPure?function(t){return e(t)}:e})))),p(r)}}]}function Rr(){var e=!0;this.$get=["$rootScope","$exceptionHandler",function(t,n){return Nr((function(e){t.$evalAsync(e)}),n,e)}],this.errorOnUnhandledRejections=function(t){return z(t)?(e=t,this):e}}function Ir(){var e=!0;this.$get=["$browser","$exceptionHandler",function(t,n){return Nr((function(e){t.defer(e)}),n,e)}],this.errorOnUnhandledRejections=function(t){return z(t)?(e=t,this):e}}function Nr(e,t,n){var r=i("$q",TypeError),o=0,a=[];function s(){return new l}function l(){var e=this.promise=new c;this.resolve=function(t){p(e,t)},this.reject=function(t){f(e,t)},this.notify=function(t){g(e,t)}}function c(){this.$$state={status:0}}function u(){for(;!o&&a.length;){var e=a.shift();if(!Mr(e)){zr(e);var n="Possibly unhandled rejection: "+Ve(e.value);H(e.value)?t(e.value,n):t(n)}}}function d(r){!n||r.pending||2!==r.status||Mr(r)||(0===o&&0===a.length&&e(u),a.push(r)),!r.processScheduled&&r.pending&&(r.processScheduled=!0,++o,e((function(){!function(r){var i,a,s;s=r.pending,r.processScheduled=!1,r.pending=void 0;try{for(var l=0,c=s.length;l<c;++l){zr(r),a=s[l][0],i=s[l][r.status];try{G(i)?p(a,i(r.value)):1===r.status?p(a,r.value):f(a,r.value)}catch(e){f(a,e),e&&!0===e.$$passToExceptionHandler&&t(e)}}}finally{--o,n&&0===o&&e(u)}}(r)})))}function p(e,t){e.$$state.status||(t===e?h(e,r("qcycle","Expected promise to be resolved with value other than itself '{0}'",t)):function e(t,n){var r,i=!1;try{(L(n)||G(n))&&(r=n.then),G(r)?(t.$$state.status=-1,r.call(n,o,a,(function(e){g(t,e)}))):(t.$$state.value=n,t.$$state.status=1,d(t.$$state))}catch(e){a(e)}function o(n){i||(i=!0,e(t,n))}function a(e){i||(i=!0,h(t,e))}}(e,t))}function f(e,t){e.$$state.status||h(e,t)}function h(e,t){e.$$state.value=t,e.$$state.status=2,d(e.$$state)}function g(n,r){var i=n.$$state.pending;n.$$state.status<=0&&i&&i.length&&e((function(){for(var e,n,o=0,a=i.length;o<a;o++){n=i[o][0],e=i[o][3];try{g(n,G(e)?e(r):r)}catch(e){t(e)}}}))}function m(e){var t=new c;return f(t,e),t}function v(e,t,n){var r=null;try{G(n)&&(r=n())}catch(e){return m(e)}return Q(r)?r.then((function(){return t(e)}),m):t(e)}function b(e,t,n,r){var i=new c;return p(i,e),i.then(t,n,r)}_(c.prototype,{then:function(e,t,n){if(M(e)&&M(t)&&M(n))return this;var r=new c;return this.$$state.pending=this.$$state.pending||[],this.$$state.pending.push([r,e,t,n]),this.$$state.status>0&&d(this.$$state),r},catch:function(e){return this.then(null,e)},finally:function(e,t){return this.then((function(t){return v(t,y,e)}),(function(t){return v(t,m,e)}),t)}});var y=b;function x(e){if(!G(e))throw r("norslvr","Expected resolverFn, got '{0}'",e);var t=new c;return e((function(e){p(t,e)}),(function(e){f(t,e)})),t}return x.prototype=c.prototype,x.defer=s,x.reject=m,x.when=b,x.resolve=y,x.all=function(e){var t=new c,n=0,r=U(e)?[]:{};return k(e,(function(e,i){n++,b(e).then((function(e){r[i]=e,--n||p(t,r)}),(function(e){f(t,e)}))})),0===n&&p(t,r),t},x.race=function(e){var t=s();return k(e,(function(e){b(e).then(t.resolve,t.reject)})),t.promise},x}function Mr(e){return!!e.pur}function zr(e){e.pur=!0}function Lr(e){e.$$state&&zr(e.$$state)}function Br(){this.$get=["$window","$timeout",function(e,t){var n=e.requestAnimationFrame||e.webkitRequestAnimationFrame,r=e.cancelAnimationFrame||e.webkitCancelAnimationFrame||e.webkitCancelRequestAnimationFrame,i=!!n,o=i?function(e){var t=n(e);return function(){r(t)}}:function(e){var n=t(e,16.66,!1);return function(){t.cancel(n)}};return o.supported=i,o}]}function Fr(){var e=10,t=i("$rootScope"),n=null,r=null;this.digestTtl=function(t){return arguments.length&&(e=t),e},this.$get=["$exceptionHandler","$parse","$browser",function(i,a,s){function l(e){e.currentScope.$$destroyed=!0}function c(){this.$id=S(),this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null,this.$root=this,this.$$destroyed=!1,this.$$suspended=!1,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$$isolateBindings=null}c.prototype={constructor:c,$new:function(e,t){var n;return t=t||this,e?(n=new c).$root=this.$root:(this.$$ChildScope||(this.$$ChildScope=function(e){function t(){this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$id=S(),this.$$ChildScope=null,this.$$suspended=!1}return t.prototype=e,t}(this)),n=new this.$$ChildScope),n.$parent=t,n.$$prevSibling=t.$$childTail,t.$$childHead?(t.$$childTail.$$nextSibling=n,t.$$childTail=n):t.$$childHead=t.$$childTail=n,(e||t!==this)&&n.$on("$destroy",l),n},$watch:function(e,t,r,i){var o=a(e),s=G(t)?t:D;if(o.$$watchDelegate)return o.$$watchDelegate(this,s,r,o,e);var l=this,c=l.$$watchers,u={fn:s,last:x,get:o,exp:i||e,eq:!!r};return n=null,c||((c=l.$$watchers=[]).$$digestWatchIndex=-1),c.unshift(u),c.$$digestWatchIndex++,b(this,1),function(){var e=ie(c,u);e>=0&&(b(l,-1),e<c.$$digestWatchIndex&&c.$$digestWatchIndex--),n=null}},$watchGroup:function(e,t){var n=new Array(e.length),r=new Array(e.length),i=[],o=this,a=!1,s=!0;if(!e.length){var l=!0;return o.$evalAsync((function(){l&&t(r,r,o)})),function(){l=!1}}if(1===e.length)return this.$watch(e[0],(function(e,i,o){r[0]=e,n[0]=i,t(r,e===i?r:n,o)}));function c(){a=!1;try{s?(s=!1,t(r,r,o)):t(r,n,o)}finally{for(var i=0;i<e.length;i++)n[i]=r[i]}}return k(e,(function(e,t){var n=o.$watch(e,(function(e){r[t]=e,a||(a=!0,o.$evalAsync(c))}));i.push(n)})),function(){for(;i.length;)i.shift()()}},$watchCollection:function(e,t){g.$$pure=a(e).literal,g.$stateful=!g.$$pure;var n,r,i,o=this,s=t.length>1,l=0,c=a(e,g),d=[],p={},f=!0,h=0;function g(e){var t,i,o,a;if(!M(n=e)){if(L(n))if(w(n)){r!==d&&(h=(r=d).length=0,l++),t=n.length,h!==t&&(l++,r.length=h=t);for(var s=0;s<t;s++)a=r[s],o=n[s],a!=a&&o!=o||a===o||(l++,r[s]=o)}else{for(i in r!==p&&(r=p={},h=0,l++),t=0,n)u.call(n,i)&&(t++,o=n[i],a=r[i],i in r?a!=a&&o!=o||a===o||(l++,r[i]=o):(h++,r[i]=o,l++));if(h>t)for(i in l++,r)u.call(n,i)||(h--,delete r[i])}else r!==n&&(r=n,l++);return l}}return this.$watch(c,(function(){if(f?(f=!1,t(n,n,o)):t(n,i,o),s)if(L(n))if(w(n)){i=new Array(n.length);for(var e=0;e<n.length;e++)i[e]=n[e]}else for(var r in i={},n)u.call(n,r)&&(i[r]=n[r]);else i=n}))},$digest:function(){var o,a,l,c,u,h,b,y,w,k=e,E=p.length?d:this,S=[];m("$digest"),s.$$checkUrlChange(),this===d&&null!==r&&(s.defer.cancel(r),A()),n=null;do{u=!1,b=E;for(var $=0;$<p.length;$++){try{(0,(w=p[$]).fn)(w.scope,w.locals)}catch(e){i(e)}n=null}p.length=0;e:do{if(c=!b.$$suspended&&b.$$watchers)for(c.$$digestWatchIndex=c.length;c.$$digestWatchIndex--;)try{if(o=c[c.$$digestWatchIndex])if((a=(0,o.get)(b))===(l=o.last)||(o.eq?se(a,l):j(a)&&j(l))){if(o===n){u=!1;break e}}else u=!0,n=o,o.last=o.eq?oe(a,null):a,(0,o.fn)(a,l===x?a:l,b),k<5&&(S[y=4-k]||(S[y]=[]),S[y].push({msg:G(o.exp)?"fn: "+(o.exp.name||o.exp.toString()):o.exp,newVal:a,oldVal:l}))}catch(e){i(e)}if(!(h=!b.$$suspended&&b.$$watchersCount&&b.$$childHead||b!==E&&b.$$nextSibling))for(;b!==E&&!(h=b.$$nextSibling);)b=b.$parent}while(b=h);if((u||p.length)&&!k--)throw v(),t("infdig","{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}",e,S)}while(u||p.length);for(v();g<f.length;)try{f[g++]()}catch(e){i(e)}f.length=g=0,s.$$checkUrlChange()},$suspend:function(){this.$$suspended=!0},$isSuspended:function(){return this.$$suspended},$resume:function(){this.$$suspended=!1},$destroy:function(){if(!this.$$destroyed){var e=this.$parent;for(var t in this.$broadcast("$destroy"),this.$$destroyed=!0,this===d&&s.$$applicationDestroyed(),b(this,-this.$$watchersCount),this.$$listenerCount)y(this,this.$$listenerCount[t],t);e&&e.$$childHead===this&&(e.$$childHead=this.$$nextSibling),e&&e.$$childTail===this&&(e.$$childTail=this.$$prevSibling),this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),this.$destroy=this.$digest=this.$apply=this.$evalAsync=this.$applyAsync=D,this.$on=this.$watch=this.$watchGroup=function(){return D},this.$$listeners={},this.$$nextSibling=null,function e(t){9===o&&(t.$$childHead&&e(t.$$childHead),t.$$nextSibling&&e(t.$$nextSibling)),t.$parent=t.$$nextSibling=t.$$prevSibling=t.$$childHead=t.$$childTail=t.$root=t.$$watchers=null}(this)}},$eval:function(e,t){return a(e)(this,t)},$evalAsync:function(e,t){d.$$phase||p.length||s.defer((function(){p.length&&d.$digest()}),null,"$evalAsync"),p.push({scope:this,fn:a(e),locals:t})},$$postDigest:function(e){f.push(e)},$apply:function(e){try{m("$apply");try{return this.$eval(e)}finally{v()}}catch(e){i(e)}finally{try{d.$digest()}catch(e){throw i(e),e}}},$applyAsync:function(e){var t=this;e&&h.push((function(){t.$eval(e)})),e=a(e),null===r&&(r=s.defer((function(){d.$apply(A)}),null,"$applyAsync"))},$on:function(e,t){var n=this.$$listeners[e];n||(this.$$listeners[e]=n=[]),n.push(t);var r=this;do{r.$$listenerCount[e]||(r.$$listenerCount[e]=0),r.$$listenerCount[e]++}while(r=r.$parent);var i=this;return function(){var r=n.indexOf(t);-1!==r&&(delete n[r],y(i,1,e))}},$emit:function(e,t){var n,r,o,a=[],s=this,l=!1,c={name:e,targetScope:s,stopPropagation:function(){l=!0},preventDefault:function(){c.defaultPrevented=!0},defaultPrevented:!1},u=ue([c],arguments,1);do{for(n=s.$$listeners[e]||a,c.currentScope=s,r=0,o=n.length;r<o;r++)if(n[r])try{n[r].apply(null,u)}catch(e){i(e)}else n.splice(r,1),r--,o--;if(l)break;s=s.$parent}while(s);return c.currentScope=null,c},$broadcast:function(e,t){var n=this,r=n,o=n,a={name:e,targetScope:n,preventDefault:function(){a.defaultPrevented=!0},defaultPrevented:!1};if(!n.$$listenerCount[e])return a;for(var s,l,c,u=ue([a],arguments,1);r=o;){for(a.currentScope=r,l=0,c=(s=r.$$listeners[e]||[]).length;l<c;l++)if(s[l])try{s[l].apply(null,u)}catch(e){i(e)}else s.splice(l,1),l--,c--;if(!(o=r.$$listenerCount[e]&&r.$$childHead||r!==n&&r.$$nextSibling))for(;r!==n&&!(o=r.$$nextSibling);)r=r.$parent}return a.currentScope=null,a}};var d=new c,p=d.$$asyncQueue=[],f=d.$$postDigestQueue=[],h=d.$$applyAsyncQueue=[],g=0;return d;function m(e){if(d.$$phase)throw t("inprog","{0} already in progress",d.$$phase);d.$$phase=e}function v(){d.$$phase=null}function b(e,t){do{e.$$watchersCount+=t}while(e=e.$parent)}function y(e,t,n){do{e.$$listenerCount[n]-=t,0===e.$$listenerCount[n]&&delete e.$$listenerCount[n]}while(e=e.$parent)}function x(){}function A(){for(;h.length;)try{h.shift()()}catch(e){i(e)}r=null}}]}function qr(){var e=/^\s*(https?|s?ftp|mailto|tel|file):/,t=/^\s*((https?|ftp|file|blob):|data:image\/)/;this.aHrefSanitizationTrustedUrlList=function(t){return z(t)?(e=t,this):e},this.imgSrcSanitizationTrustedUrlList=function(e){return z(e)?(t=e,this):t},this.$get=function(){return function(n,r){var i=r?t:e,o=li(n&&n.trim()).href;return""===o||o.match(i)?n:"unsafe:"+o}}}Or.prototype={compile:function(e){var t=this;this.state={nextId:0,filters:{},fn:{vars:[],body:[],own:{}},assign:{vars:[],body:[],own:{}},inputs:[]},Sr(e,t.$filter);var n,r="";if(this.stage="assign",n=_r(e)){this.state.computing="assign";var i=this.nextId();this.recurse(n,i),this.return_(i),r="fn.assign="+this.generateFunction("assign","s,v,l")}var o=$r(e.body);t.stage="inputs",k(o,(function(e,n){var r="fn"+n;t.state[r]={vars:[],body:[],own:{}},t.state.computing=r;var i=t.nextId();t.recurse(e,i),t.return_(i),t.state.inputs.push({name:r,isPure:e.isPure}),e.watchId=n})),this.state.computing="fn",this.stage="main",this.recurse(e);var a='"'+this.USE+" "+this.STRICT+'";\n'+this.filterPrefix()+"var fn="+this.generateFunction("fn","s,l,a,i")+r+this.watchFns()+"return fn;",s=new Function("$filter","getStringValue","ifDefined","plus",a)(this.$filter,br,Ar,Er);return this.state=this.stage=void 0,s},USE:"use",STRICT:"strict",watchFns:function(){var e=[],t=this.state.inputs,n=this;return k(t,(function(t){e.push("var "+t.name+"="+n.generateFunction(t.name,"s")),t.isPure&&e.push(t.name,".isPure="+JSON.stringify(t.isPure)+";")})),t.length&&e.push("fn.inputs=["+t.map((function(e){return e.name})).join(",")+"];"),e.join("")},generateFunction:function(e,t){return"function("+t+"){"+this.varsPrefix(e)+this.body(e)+"};"},filterPrefix:function(){var e=[],t=this;return k(this.state.filters,(function(n,r){e.push(n+"=$filter("+t.escape(r)+")")})),e.length?"var "+e.join(",")+";":""},varsPrefix:function(e){return this.state[e].vars.length?"var "+this.state[e].vars.join(",")+";":""},body:function(e){return this.state[e].body.join("")},recurse:function(e,t,n,r,i,o){var a,s,l,c,u,d=this;if(r=r||D,!o&&z(e.watchId))return t=t||this.nextId(),void this.if_("i",this.lazyAssign(t,this.computedMember("i",e.watchId)),this.lazyRecurse(e,t,n,r,i,!0));switch(e.type){case kr.Program:k(e.body,(function(t,n){d.recurse(t.expression,void 0,void 0,(function(e){s=e})),n!==e.body.length-1?d.current().body.push(s,";"):d.return_(s)}));break;case kr.Literal:c=this.escape(e.value),this.assign(t,c),r(t||c);break;case kr.UnaryExpression:this.recurse(e.argument,void 0,void 0,(function(e){s=e})),c=e.operator+"("+this.ifDefined(s,0)+")",this.assign(t,c),r(c);break;case kr.BinaryExpression:this.recurse(e.left,void 0,void 0,(function(e){a=e})),this.recurse(e.right,void 0,void 0,(function(e){s=e})),c="+"===e.operator?this.plus(a,s):"-"===e.operator?this.ifDefined(a,0)+e.operator+this.ifDefined(s,0):"("+a+")"+e.operator+"("+s+")",this.assign(t,c),r(c);break;case kr.LogicalExpression:t=t||this.nextId(),d.recurse(e.left,t),d.if_("&&"===e.operator?t:d.not(t),d.lazyRecurse(e.right,t)),r(t);break;case kr.ConditionalExpression:t=t||this.nextId(),d.recurse(e.test,t),d.if_(t,d.lazyRecurse(e.alternate,t),d.lazyRecurse(e.consequent,t)),r(t);break;case kr.Identifier:t=t||this.nextId(),n&&(n.context="inputs"===d.stage?"s":this.assign(this.nextId(),this.getHasOwnProperty("l",e.name)+"?l:s"),n.computed=!1,n.name=e.name),d.if_("inputs"===d.stage||d.not(d.getHasOwnProperty("l",e.name)),(function(){d.if_("inputs"===d.stage||"s",(function(){i&&1!==i&&d.if_(d.isNull(d.nonComputedMember("s",e.name)),d.lazyAssign(d.nonComputedMember("s",e.name),"{}")),d.assign(t,d.nonComputedMember("s",e.name))}))}),t&&d.lazyAssign(t,d.nonComputedMember("l",e.name))),r(t);break;case kr.MemberExpression:a=n&&(n.context=this.nextId())||this.nextId(),t=t||this.nextId(),d.recurse(e.object,a,void 0,(function(){d.if_(d.notNull(a),(function(){e.computed?(s=d.nextId(),d.recurse(e.property,s),d.getStringValue(s),i&&1!==i&&d.if_(d.not(d.computedMember(a,s)),d.lazyAssign(d.computedMember(a,s),"{}")),c=d.computedMember(a,s),d.assign(t,c),n&&(n.computed=!0,n.name=s)):(i&&1!==i&&d.if_(d.isNull(d.nonComputedMember(a,e.property.name)),d.lazyAssign(d.nonComputedMember(a,e.property.name),"{}")),c=d.nonComputedMember(a,e.property.name),d.assign(t,c),n&&(n.computed=!1,n.name=e.property.name))}),(function(){d.assign(t,"undefined")})),r(t)}),!!i);break;case kr.CallExpression:t=t||this.nextId(),e.filter?(s=d.filter(e.callee.name),l=[],k(e.arguments,(function(e){var t=d.nextId();d.recurse(e,t),l.push(t)})),c=s+"("+l.join(",")+")",d.assign(t,c),r(t)):(s=d.nextId(),a={},l=[],d.recurse(e.callee,s,a,(function(){d.if_(d.notNull(s),(function(){k(e.arguments,(function(t){d.recurse(t,e.constant?void 0:d.nextId(),void 0,(function(e){l.push(e)}))})),c=a.name?d.member(a.context,a.name,a.computed)+"("+l.join(",")+")":s+"("+l.join(",")+")",d.assign(t,c)}),(function(){d.assign(t,"undefined")})),r(t)})));break;case kr.AssignmentExpression:s=this.nextId(),a={},this.recurse(e.left,void 0,a,(function(){d.if_(d.notNull(a.context),(function(){d.recurse(e.right,s),c=d.member(a.context,a.name,a.computed)+e.operator+s,d.assign(t,c),r(t||c)}))}),1);break;case kr.ArrayExpression:l=[],k(e.elements,(function(t){d.recurse(t,e.constant?void 0:d.nextId(),void 0,(function(e){l.push(e)}))})),c="["+l.join(",")+"]",this.assign(t,c),r(t||c);break;case kr.ObjectExpression:l=[],u=!1,k(e.properties,(function(e){e.computed&&(u=!0)})),u?(t=t||this.nextId(),this.assign(t,"{}"),k(e.properties,(function(e){e.computed?(a=d.nextId(),d.recurse(e.key,a)):a=e.key.type===kr.Identifier?e.key.name:""+e.key.value,s=d.nextId(),d.recurse(e.value,s),d.assign(d.member(t,a,e.computed),s)}))):(k(e.properties,(function(t){d.recurse(t.value,e.constant?void 0:d.nextId(),void 0,(function(e){l.push(d.escape(t.key.type===kr.Identifier?t.key.name:""+t.key.value)+":"+e)}))})),c="{"+l.join(",")+"}",this.assign(t,c)),r(t||c);break;case kr.ThisExpression:this.assign(t,"s"),r(t||"s");break;case kr.LocalsExpression:this.assign(t,"l"),r(t||"l");break;case kr.NGValueParameter:this.assign(t,"v"),r(t||"v")}},getHasOwnProperty:function(e,t){var n=e+"."+t,r=this.current().own;return r.hasOwnProperty(n)||(r[n]=this.nextId(!1,e+"&&("+this.escape(t)+" in "+e+")")),r[n]},assign:function(e,t){if(e)return this.current().body.push(e,"=",t,";"),e},filter:function(e){return this.state.filters.hasOwnProperty(e)||(this.state.filters[e]=this.nextId(!0)),this.state.filters[e]},ifDefined:function(e,t){return"ifDefined("+e+","+this.escape(t)+")"},plus:function(e,t){return"plus("+e+","+t+")"},return_:function(e){this.current().body.push("return ",e,";")},if_:function(e,t,n){if(!0===e)t();else{var r=this.current().body;r.push("if(",e,"){"),t(),r.push("}"),n&&(r.push("else{"),n(),r.push("}"))}},not:function(e){return"!("+e+")"},isNull:function(e){return e+"==null"},notNull:function(e){return e+"!=null"},nonComputedMember:function(e,t){return/^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(t)?e+"."+t:e+'["'+t.replace(/[^$_a-zA-Z0-9]/g,this.stringEscapeFn)+'"]'},computedMember:function(e,t){return e+"["+t+"]"},member:function(e,t,n){return n?this.computedMember(e,t):this.nonComputedMember(e,t)},getStringValue:function(e){this.assign(e,"getStringValue("+e+")")},lazyRecurse:function(e,t,n,r,i,o){var a=this;return function(){a.recurse(e,t,n,r,i,o)}},lazyAssign:function(e,t){var n=this;return function(){n.assign(e,t)}},stringEscapeRegex:/[^ a-zA-Z0-9]/g,stringEscapeFn:function(e){return"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)},escape:function(e){if(F(e))return"'"+e.replace(this.stringEscapeRegex,this.stringEscapeFn)+"'";if(q(e))return e.toString();if(!0===e)return"true";if(!1===e)return"false";if(null===e)return"null";if(void 0===e)return"undefined";throw mr("esc","IMPOSSIBLE")},nextId:function(e,t){var n="v"+this.state.nextId++;return e||this.current().vars.push(n+(t?"="+t:"")),n},current:function(){return this.state[this.state.computing]}},Tr.prototype={compile:function(e){var t,n,r=this;Sr(e,r.$filter),(t=_r(e))&&(n=this.recurse(t));var i,o=$r(e.body);o&&(i=[],k(o,(function(e,t){var n=r.recurse(e);n.isPure=e.isPure,e.input=n,i.push(n),e.watchId=t})));var a=[];k(e.body,(function(e){a.push(r.recurse(e.expression))}));var s=0===e.body.length?D:1===e.body.length?a[0]:function(e,t){var n;return k(a,(function(r){n=r(e,t)})),n};return n&&(s.assign=function(e,t,r){return n(e,r,t)}),i&&(s.inputs=i),s},recurse:function(e,t,n){var r,i,o,a=this;if(e.input)return this.inputs(e.input,e.watchId);switch(e.type){case kr.Literal:return this.value(e.value,t);case kr.UnaryExpression:return i=this.recurse(e.argument),this["unary"+e.operator](i,t);case kr.BinaryExpression:case kr.LogicalExpression:return r=this.recurse(e.left),i=this.recurse(e.right),this["binary"+e.operator](r,i,t);case kr.ConditionalExpression:return this["ternary?:"](this.recurse(e.test),this.recurse(e.alternate),this.recurse(e.consequent),t);case kr.Identifier:return a.identifier(e.name,t,n);case kr.MemberExpression:return r=this.recurse(e.object,!1,!!n),e.computed||(i=e.property.name),e.computed&&(i=this.recurse(e.property)),e.computed?this.computedMember(r,i,t,n):this.nonComputedMember(r,i,t,n);case kr.CallExpression:return o=[],k(e.arguments,(function(e){o.push(a.recurse(e))})),e.filter&&(i=this.$filter(e.callee.name)),e.filter||(i=this.recurse(e.callee,!0)),e.filter?function(e,n,r,a){for(var s=[],l=0;l<o.length;++l)s.push(o[l](e,n,r,a));var c=i.apply(void 0,s,a);return t?{context:void 0,name:void 0,value:c}:c}:function(e,n,r,a){var s,l=i(e,n,r,a);if(null!=l.value){for(var c=[],u=0;u<o.length;++u)c.push(o[u](e,n,r,a));s=l.value.apply(l.context,c)}return t?{value:s}:s};case kr.AssignmentExpression:return r=this.recurse(e.left,!0,1),i=this.recurse(e.right),function(e,n,o,a){var s=r(e,n,o,a),l=i(e,n,o,a);return s.context[s.name]=l,t?{value:l}:l};case kr.ArrayExpression:return o=[],k(e.elements,(function(e){o.push(a.recurse(e))})),function(e,n,r,i){for(var a=[],s=0;s<o.length;++s)a.push(o[s](e,n,r,i));return t?{value:a}:a};case kr.ObjectExpression:return o=[],k(e.properties,(function(e){e.computed?o.push({key:a.recurse(e.key),computed:!0,value:a.recurse(e.value)}):o.push({key:e.key.type===kr.Identifier?e.key.name:""+e.key.value,computed:!1,value:a.recurse(e.value)})})),function(e,n,r,i){for(var a={},s=0;s<o.length;++s)o[s].computed?a[o[s].key(e,n,r,i)]=o[s].value(e,n,r,i):a[o[s].key]=o[s].value(e,n,r,i);return t?{value:a}:a};case kr.ThisExpression:return function(e){return t?{value:e}:e};case kr.LocalsExpression:return function(e,n){return t?{value:n}:n};case kr.NGValueParameter:return function(e,n,r){return t?{value:r}:r}}},"unary+":function(e,t){return function(n,r,i,o){var a=e(n,r,i,o);return a=z(a)?+a:0,t?{value:a}:a}},"unary-":function(e,t){return function(n,r,i,o){var a=e(n,r,i,o);return a=z(a)?-a:-0,t?{value:a}:a}},"unary!":function(e,t){return function(n,r,i,o){var a=!e(n,r,i,o);return t?{value:a}:a}},"binary+":function(e,t,n){return function(r,i,o,a){var s=Er(e(r,i,o,a),t(r,i,o,a));return n?{value:s}:s}},"binary-":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a),l=t(r,i,o,a),c=(z(s)?s:0)-(z(l)?l:0);return n?{value:c}:c}},"binary*":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)*t(r,i,o,a);return n?{value:s}:s}},"binary/":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)/t(r,i,o,a);return n?{value:s}:s}},"binary%":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)%t(r,i,o,a);return n?{value:s}:s}},"binary===":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)===t(r,i,o,a);return n?{value:s}:s}},"binary!==":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)!==t(r,i,o,a);return n?{value:s}:s}},"binary==":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)==t(r,i,o,a);return n?{value:s}:s}},"binary!=":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)!=t(r,i,o,a);return n?{value:s}:s}},"binary<":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)<t(r,i,o,a);return n?{value:s}:s}},"binary>":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)>t(r,i,o,a);return n?{value:s}:s}},"binary<=":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)<=t(r,i,o,a);return n?{value:s}:s}},"binary>=":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)>=t(r,i,o,a);return n?{value:s}:s}},"binary&&":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)&&t(r,i,o,a);return n?{value:s}:s}},"binary||":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)||t(r,i,o,a);return n?{value:s}:s}},"ternary?:":function(e,t,n,r){return function(i,o,a,s){var l=e(i,o,a,s)?t(i,o,a,s):n(i,o,a,s);return r?{value:l}:l}},value:function(e,t){return function(){return t?{context:void 0,name:void 0,value:e}:e}},identifier:function(e,t,n){return function(r,i,o,a){var s=i&&e in i?i:r;n&&1!==n&&s&&null==s[e]&&(s[e]={});var l=s?s[e]:void 0;return t?{context:s,name:e,value:l}:l}},computedMember:function(e,t,n,r){return function(i,o,a,s){var l,c,u=e(i,o,a,s);return null!=u&&(l=br(l=t(i,o,a,s)),r&&1!==r&&u&&!u[l]&&(u[l]={}),c=u[l]),n?{context:u,name:l,value:c}:c}},nonComputedMember:function(e,t,n,r){return function(i,o,a,s){var l=e(i,o,a,s);r&&1!==r&&l&&null==l[t]&&(l[t]={});var c=null!=l?l[t]:void 0;return n?{context:l,name:t,value:c}:c}},inputs:function(e,t){return function(n,r,i,o){return o?o[t]:e(n,r,i)}}},jr.prototype={constructor:jr,parse:function(e){var t=this.getAst(e),n=this.astCompiler.compile(t.ast);return n.literal=function(e){return 0===e.body.length||1===e.body.length&&(e.body[0].expression.type===kr.Literal||e.body[0].expression.type===kr.ArrayExpression||e.body[0].expression.type===kr.ObjectExpression)}(t.ast),n.constant=function(e){return e.constant}(t.ast),n.oneTime=t.oneTime,n},getAst:function(e){var t=!1;return":"===(e=e.trim()).charAt(0)&&":"===e.charAt(1)&&(t=!0,e=e.substring(2)),{ast:this.ast.ast(e),oneTime:t}}};var Vr=i("$sce"),Ur={HTML:"html",CSS:"css",MEDIA_URL:"mediaUrl",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},Hr=/_([a-z])/g;function Gr(e){return e.replace(Hr,Qe)}function Wr(e){var t=[];return z(e)&&k(e,(function(e){t.push(function(e){if("self"===e)return e;if(F(e)){if(e.indexOf("***")>-1)throw Vr("iwcard","Illegal sequence *** in string matcher. String: {0}",e);return e=ee(e).replace(/\\\*\\\*/g,".*").replace(/\\\*/g,"[^:/.?&;]*"),new RegExp("^"+e+"$")}if(W(e))return new RegExp("^"+e.source+"$");throw Vr("imatcher",'Matchers may only be "self", string patterns or RegExp objects')}(e))})),t}function Yr(){this.SCE_CONTEXTS=Ur;var t=["self"],n=[];this.trustedResourceUrlList=function(e){return arguments.length&&(t=Wr(e)),t},Object.defineProperty(this,"resourceUrlWhitelist",{get:function(){return this.trustedResourceUrlList},set:function(e){this.trustedResourceUrlList=e}}),this.bannedResourceUrlList=function(e){return arguments.length&&(n=Wr(e)),n},Object.defineProperty(this,"resourceUrlBlacklist",{get:function(){return this.bannedResourceUrlList},set:function(e){this.bannedResourceUrlList=e}}),this.$get=["$injector","$$sanitizeUri",function(r,i){var o=function(e){throw Vr("unsafe","Attempting to use an unsafe value in a safe context.")};function a(t,n){return"self"===t?ci(n,ai)||function(t){return ci(t,function(){if(e.document.baseURI)return e.document.baseURI;ii||((ii=e.document.createElement("a")).href=".",ii=ii.cloneNode(!1));return ii.href}())}(n):!!t.exec(n.href)}function s(e){var t=function(e){this.$$unwrapTrustedValue=function(){return e}};return e&&(t.prototype=new e),t.prototype.valueOf=function(){return this.$$unwrapTrustedValue()},t.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()},t}r.has("$sanitize")&&(o=r.get("$sanitize"));var l=s(),c={};return c[Ur.HTML]=s(l),c[Ur.CSS]=s(l),c[Ur.MEDIA_URL]=s(l),c[Ur.URL]=s(c[Ur.MEDIA_URL]),c[Ur.JS]=s(l),c[Ur.RESOURCE_URL]=s(c[Ur.URL]),{trustAs:function(e,t){var n=c.hasOwnProperty(e)?c[e]:null;if(!n)throw Vr("icontext","Attempted to trust a value in invalid context. Context: {0}; Value: {1}",e,t);if(null===t||M(t)||""===t)return t;if("string"!=typeof t)throw Vr("itype","Attempted to trust a non-string value in a content requiring a string: Context: {0}",e);return new n(t)},getTrusted:function(e,r){if(null===r||M(r)||""===r)return r;var s=c.hasOwnProperty(e)?c[e]:null;if(s&&r instanceof s)return r.$$unwrapTrustedValue();if(G(r.$$unwrapTrustedValue)&&(r=r.$$unwrapTrustedValue()),e===Ur.MEDIA_URL||e===Ur.URL)return i(r.toString(),e===Ur.MEDIA_URL);if(e===Ur.RESOURCE_URL){if(function(e){var r,i,o=li(e.toString()),s=!1;for(r=0,i=t.length;r<i;r++)if(a(t[r],o)){s=!0;break}if(s)for(r=0,i=n.length;r<i;r++)if(a(n[r],o)){s=!1;break}return s}(r))return r;throw Vr("insecurl","Blocked loading resource from url not allowed by $sceDelegate policy. URL: {0}",r.toString())}if(e===Ur.HTML)return o(r);throw Vr("unsafe","Attempting to use an unsafe value in a safe context.")},valueOf:function(e){return e instanceof l?e.$$unwrapTrustedValue():e}}}]}function Xr(){var e=!0;this.enabled=function(t){return arguments.length&&(e=!!t),e},this.$get=["$parse","$sceDelegate",function(t,n){if(e&&o<8)throw Vr("iequirks","Strict Contextual Escaping does not support Internet Explorer version < 11 in quirks mode. You can fix this by adding the text <!doctype html> to the top of your HTML document. See http://docs.angularjs.org/api/ng.$sce for more information.");var r=qe(Ur);r.isEnabled=function(){return e},r.trustAs=n.trustAs,r.getTrusted=n.getTrusted,r.valueOf=n.valueOf,e||(r.trustAs=r.getTrusted=function(e,t){return t},r.valueOf=R),r.parseAs=function(e,n){var i=t(n);return i.literal&&i.constant?i:t(n,(function(t){return r.getTrusted(e,t)}))};var i=r.parseAs,a=r.getTrusted,s=r.trustAs;return k(Ur,(function(e,t){var n=d(t);r[Gr("parse_as_"+n)]=function(t){return i(e,t)},r[Gr("get_trusted_"+n)]=function(t){return a(e,t)},r[Gr("trust_as_"+n)]=function(t){return s(e,t)}})),r}]}function Zr(){this.$get=["$window","$document",function(e,t){var n={},r=!(!(e.nw&&e.nw.process)&&e.chrome&&(e.chrome.app&&e.chrome.app.runtime||!e.chrome.app&&e.chrome.runtime&&e.chrome.runtime.id))&&e.history&&e.history.pushState,i=T((/android (\d+)/.exec(d((e.navigator||{}).userAgent))||[])[1]),a=/Boxee/i.test((e.navigator||{}).userAgent),s=t[0]||{},l=s.body&&s.body.style,c=!1,u=!1;return l&&(c=!(!("transition"in l)&&!("webkitTransition"in l)),u=!(!("animation"in l)&&!("webkitAnimation"in l))),{history:!(!r||i<4||a),hasEvent:function(e){if("input"===e&&o)return!1;if(M(n[e])){var t=s.createElement("div");n[e]="on"+e in t}return n[e]},csp:le(),transitions:c,animations:u,android:i}}]}function Qr(){this.$get=I((function(e){return new Jr(e)}))}function Jr(e){var t={},n=[],r=this.ALL_TASKS_TYPE="$$all$$",i=this.DEFAULT_TASK_TYPE="$$default$$";function o(){var e=n.pop();return e&&e.cb}function a(e){for(var t=n.length-1;t>=0;--t){var r=n[t];if(r.type===e)return n.splice(t,1),r.cb}}this.completeTask=function(n,s){s=s||i;try{n()}finally{!function(e){t[e=e||i]&&(t[e]--,t[r]--)}(s);var l=t[s],c=t[r];if(!c||!l)for(var u,d=c?a:o;u=d(s);)try{u()}catch(t){e.error(t)}}},this.incTaskCount=function(e){t[e=e||i]=(t[e]||0)+1,t[r]=(t[r]||0)+1},this.notifyWhenNoPendingTasks=function(e,i){t[i=i||r]?n.push({type:i,cb:e}):e()}}var Kr=i("$templateRequest");function ei(){var e;this.httpOptions=function(t){return t?(e=t,this):e},this.$get=["$exceptionHandler","$templateCache","$http","$q","$sce",function(t,n,r,i,o){function a(s,l){a.totalPendingRequests++,F(s)&&!M(n.get(s))||(s=o.getTrustedResourceUrl(s));var c=r.defaults&&r.defaults.transformResponse;return U(c)?c=c.filter((function(e){return e!==zn})):c===zn&&(c=null),r.get(s,_({cache:n,transformResponse:c},e)).finally((function(){a.totalPendingRequests--})).then((function(e){return n.put(s,e.data)}),(function(e){l||(e=Kr("tpload","Failed to load template: {0} (HTTP status: {1} {2})",s,e.status,e.statusText),t(e));return i.reject(e)}))}return a.totalPendingRequests=0,a}]}function ti(){this.$get=["$rootScope","$browser","$location",function(e,t,n){var r={findBindings:function(e,t,n){var r=e.getElementsByClassName("ng-binding"),i=[];return k(r,(function(e){var r=y.element(e).data("$binding");r&&k(r,(function(r){n?new RegExp("(^|\\s)"+ee(t)+"(\\s|\\||$)").test(r)&&i.push(e):-1!==r.indexOf(t)&&i.push(e)}))})),i},findModels:function(e,t,n){for(var r=["ng-","data-ng-","ng\\:"],i=0;i<r.length;++i){var o="["+r[i]+"model"+(n?"=":"*=")+'"'+t+'"]',a=e.querySelectorAll(o);if(a.length)return a}},getLocation:function(){return n.url()},setLocation:function(t){t!==n.url()&&(n.url(t),e.$digest())},whenStable:function(e){t.notifyWhenNoOutstandingRequests(e)}};return r}]}var ni=i("$timeout");function ri(){this.$get=["$rootScope","$browser","$q","$$q","$exceptionHandler",function(e,t,n,r,i){var o={};function a(a,s,l){G(a)||(l=s,s=a,a=D);var c,u=de(arguments,3),d=z(l)&&!l,p=(d?r:n).defer(),f=p.promise;return c=t.defer((function(){try{p.resolve(a.apply(null,u))}catch(e){p.reject(e),i(e)}finally{delete o[f.$$timeoutId]}d||e.$apply()}),s,"$timeout"),f.$$timeoutId=c,o[c]=p,f}return a.cancel=function(e){if(!e)return!1;if(!e.hasOwnProperty("$$timeoutId"))throw ni("badprom","`$timeout.cancel()` called with a promise that was not generated by `$timeout()`.");if(!o.hasOwnProperty(e.$$timeoutId))return!1;var n=e.$$timeoutId,r=o[n];return Lr(r.promise),r.reject("canceled"),delete o[n],t.defer.cancel(n)},a}]}var ii,oi=e.document.createElement("a"),ai=li(e.location.href);oi.href="http://[::1]";var si="[::1]"===oi.hostname;function li(e){if(!F(e))return e;var t=e;o&&(oi.setAttribute("href",t),t=oi.href),oi.setAttribute("href",t);var n=oi.hostname;return!si&&n.indexOf(":")>-1&&(n="["+n+"]"),{href:oi.href,protocol:oi.protocol?oi.protocol.replace(/:$/,""):"",host:oi.host,search:oi.search?oi.search.replace(/^\?/,""):"",hash:oi.hash?oi.hash.replace(/^#/,""):"",hostname:n,port:oi.port,pathname:"/"===oi.pathname.charAt(0)?oi.pathname:"/"+oi.pathname}}function ci(e,t){return e=li(e),t=li(t),e.protocol===t.protocol&&e.host===t.host}function ui(){this.$get=I(e)}function di(e){var t=e[0]||{},n={},r="";function i(e){try{return decodeURIComponent(e)}catch(t){return e}}return function(){var e,o,a,s,l,c=function(e){try{return e.cookie||""}catch(e){return""}}(t);if(c!==r)for(e=(r=c).split("; "),n={},a=0;a<e.length;a++)(s=(o=e[a]).indexOf("="))>0&&(l=i(o.substring(0,s)),M(n[l])&&(n[l]=i(o.substring(s+1))));return n}}function pi(){this.$get=di}function fi(e){function t(n,r){if(L(n)){var i={};return k(n,(function(e,n){i[n]=t(n,e)})),i}return e.factory(n+"Filter",r)}this.register=t,this.$get=["$injector",function(e){return function(t){return e.get(t+"Filter")}}],t("currency",vi),t("date",Oi),t("filter",hi),t("json",Ti),t("limitTo",Di),t("lowercase",ji),t("number",bi),t("orderBy",Ii),t("uppercase",Pi)}function hi(){return function(e,t,n,r){if(!w(e)){if(null==e)return e;throw i("filter")("notarray","Expected array but received: {0}",e)}var o,a;switch(r=r||"$",mi(t)){case"function":o=t;break;case"boolean":case"null":case"number":case"string":a=!0;case"object":o=function(e,t,n,r){var i=L(e)&&n in e;!0===t?t=se:G(t)||(t=function(e,t){return!M(e)&&(null===e||null===t?e===t:!(L(t)||L(e)&&!N(e))&&(e=d(""+e),t=d(""+t),-1!==e.indexOf(t)))});return function(o){return i&&!L(o)?gi(o,e[n],t,n,!1):gi(o,e,t,n,r)}}(t,n,r,a);break;default:return e}return Array.prototype.filter.call(e,o)}}function gi(e,t,n,r,i,o){var a=mi(e),s=mi(t);if("string"===s&&"!"===t.charAt(0))return!gi(e,t.substring(1),n,r,i);if(U(e))return e.some((function(e){return gi(e,t,n,r,i)}));switch(a){case"object":var l;if(i){for(l in e)if(l.charAt&&"$"!==l.charAt(0)&&gi(e[l],t,n,r,!0))return!0;return!o&&gi(e,t,n,r,!1)}if("object"===s){for(l in t){var c=t[l];if(!G(c)&&!M(c)){var u=l===r;if(!gi(u?e:e[l],c,n,r,u,u))return!1}}return!0}return n(e,t);case"function":return!1;default:return n(e,t)}}function mi(e){return null===e?"null":typeof e}di.$inject=["$document"],fi.$inject=["$provide"];function vi(e){var t=e.NUMBER_FORMATS;return function(e,n,r){M(n)&&(n=t.CURRENCY_SYM),M(r)&&(r=t.PATTERNS[1].maxFrac);var i=n?/\u00A4/g:/\s*\u00A4\s*/g;return null==e?e:yi(e,t.PATTERNS[1],t.GROUP_SEP,t.DECIMAL_SEP,r).replace(i,n)}}function bi(e){var t=e.NUMBER_FORMATS;return function(e,n){return null==e?e:yi(e,t.PATTERNS[0],t.GROUP_SEP,t.DECIMAL_SEP,n)}}function yi(e,t,n,r,i){if(!F(e)&&!q(e)||isNaN(e))return"";var o,a=!isFinite(e),s=!1,l=Math.abs(e)+"",c="";if(a)c="∞";else{(function(e,t,n,r){var i=e.d,o=i.length-e.i,a=(t=M(t)?Math.min(Math.max(n,o),r):+t)+e.i,s=i[a];if(a>0){i.splice(Math.max(e.i,a));for(var l=a;l<i.length;l++)i[l]=0}else{o=Math.max(0,o),e.i=1,i.length=Math.max(1,a=t+1),i[0]=0;for(var c=1;c<a;c++)i[c]=0}if(s>=5)if(a-1<0){for(var u=0;u>a;u--)i.unshift(0),e.i++;i.unshift(1),e.i++}else i[a-1]++;for(;o<Math.max(0,t);o++)i.push(0);var d=i.reduceRight((function(e,t,n,r){return t+=e,r[n]=t%10,Math.floor(t/10)}),0);d&&(i.unshift(d),e.i++)})(o=function(e){var t,n,r,i,o,a=0;for((n=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(n<0&&(n=r),n+=+e.slice(r+1),e=e.substring(0,r)):n<0&&(n=e.length),r=0;"0"===e.charAt(r);r++);if(r===(o=e.length))t=[0],n=1;else{for(o--;"0"===e.charAt(o);)o--;for(n-=r,t=[],i=0;r<=o;r++,i++)t[i]=+e.charAt(r)}return n>22&&(t=t.splice(0,21),a=n-1,n=1),{d:t,e:a,i:n}}(l),i,t.minFrac,t.maxFrac);var u=o.d,d=o.i,p=o.e,f=[];for(s=u.reduce((function(e,t){return e&&!t}),!0);d<0;)u.unshift(0),d++;d>0?f=u.splice(d,u.length):(f=u,u=[0]);var h=[];for(u.length>=t.lgSize&&h.unshift(u.splice(-t.lgSize,u.length).join(""));u.length>t.gSize;)h.unshift(u.splice(-t.gSize,u.length).join(""));u.length&&h.unshift(u.join("")),c=h.join(n),f.length&&(c+=r+f.join("")),p&&(c+="e+"+p)}return e<0&&!s?t.negPre+c+t.negSuf:t.posPre+c+t.posSuf}function xi(e,t,n,r){var i="";for((e<0||r&&e<=0)&&(r?e=1-e:(e=-e,i="-")),e=""+e;e.length<t;)e="0"+e;return n&&(e=e.substr(e.length-t)),i+e}function wi(e,t,n,r,i){return n=n||0,function(o){var a=o["get"+e]();return(n>0||a>-n)&&(a+=n),0===a&&-12===n&&(a=12),xi(a,t,r,i)}}function ki(e,t,n){return function(r,i){var o=r["get"+e]();return i[p((n?"STANDALONE":"")+(t?"SHORT":"")+e)][o]}}function Ai(e){var t=new Date(e,0,1).getDay();return new Date(e,0,(t<=4?5:12)-t)}function Ei(e){return function(t){var n,r=Ai(t.getFullYear()),i=+(n=t,new Date(n.getFullYear(),n.getMonth(),n.getDate()+(4-n.getDay())))-+r;return xi(1+Math.round(i/6048e5),e)}}function Si(e,t){return e.getFullYear()<=0?t.ERAS[0]:t.ERAS[1]}vi.$inject=["$locale"],bi.$inject=["$locale"];var $i={yyyy:wi("FullYear",4,0,!1,!0),yy:wi("FullYear",2,0,!0,!0),y:wi("FullYear",1,0,!1,!0),MMMM:ki("Month"),MMM:ki("Month",!0),MM:wi("Month",2,1),M:wi("Month",1,1),LLLL:ki("Month",!1,!0),dd:wi("Date",2),d:wi("Date",1),HH:wi("Hours",2),H:wi("Hours",1),hh:wi("Hours",2,-12),h:wi("Hours",1,-12),mm:wi("Minutes",2),m:wi("Minutes",1),ss:wi("Seconds",2),s:wi("Seconds",1),sss:wi("Milliseconds",3),EEEE:ki("Day"),EEE:ki("Day",!0),a:function(e,t){return e.getHours()<12?t.AMPMS[0]:t.AMPMS[1]},Z:function(e,t,n){var r=-1*n,i=r>=0?"+":"";return i+=xi(Math[r>0?"floor":"ceil"](r/60),2)+xi(Math.abs(r%60),2)},ww:Ei(2),w:Ei(1),G:Si,GG:Si,GGG:Si,GGGG:function(e,t){return e.getFullYear()<=0?t.ERANAMES[0]:t.ERANAMES[1]}},Ci=/((?:[^yMLdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|m+|s+|a|Z|G+|w+))([\s\S]*)/,_i=/^-?\d+$/;function Oi(e){var t=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(n,r,i){var o,a,s="",l=[];if(r=r||"mediumDate",r=e.DATETIME_FORMATS[r]||r,F(n)&&(n=_i.test(n)?T(n):function(e){var n;if(n=e.match(t)){var r=new Date(0),i=0,o=0,a=n[8]?r.setUTCFullYear:r.setFullYear,s=n[8]?r.setUTCHours:r.setHours;n[9]&&(i=T(n[9]+n[10]),o=T(n[9]+n[11])),a.call(r,T(n[1]),T(n[2])-1,T(n[3]));var l=T(n[4]||0)-i,c=T(n[5]||0)-o,u=T(n[6]||0),d=Math.round(1e3*parseFloat("0."+(n[7]||0)));return s.call(r,l,c,u,d),r}return e}(n)),q(n)&&(n=new Date(n)),!V(n)||!isFinite(n.getTime()))return n;for(;r;)(a=Ci.exec(r))?r=(l=ue(l,a,1)).pop():(l.push(r),r=null);var c=n.getTimezoneOffset();return i&&(c=ve(i,c),n=ye(n,i,!0)),k(l,(function(t){s+=(o=$i[t])?o(n,e.DATETIME_FORMATS,c):"''"===t?"'":t.replace(/(^'|'$)/g,"").replace(/''/g,"'")})),s}}function Ti(){return function(e,t){return M(t)&&(t=2),he(e,t)}}Oi.$inject=["$locale"];var ji=I(d),Pi=I(p);function Di(){return function(e,t,n){return t=Math.abs(Number(t))===1/0?Number(t):T(t),j(t)?e:(q(e)&&(e=e.toString()),w(e)?(n=(n=!n||isNaN(n)?0:T(n))<0?Math.max(0,e.length+n):n,t>=0?Ri(e,n,n+t):0===n?Ri(e,t,e.length):Ri(e,Math.max(0,n+t),n)):e)}}function Ri(e,t,n){return F(e)?e.slice(t,n):f.call(e,t,n)}function Ii(e){return function(r,o,a,s){if(null==r)return r;if(!w(r))throw i("orderBy")("notarray","Expected array but received: {0}",r);U(o)||(o=[o]),0===o.length&&(o=["+"]);var l=o.map((function(t){var n=1,r=R;if(G(t))r=t;else if(F(t)&&("+"!==t.charAt(0)&&"-"!==t.charAt(0)||(n="-"===t.charAt(0)?-1:1,t=t.substring(1)),""!==t&&(r=e(t)).constant)){var i=r();r=function(e){return e[i]}}return{get:r,descending:n}})),c=a?-1:1,u=G(s)?s:n,d=Array.prototype.map.call(r,(function(e,n){return{value:e,tieBreaker:{value:n,type:"number",index:n},predicateValues:l.map((function(r){return function(e,n){var r=typeof e;null===e?r="null":"object"===r&&(e=function(e){if(G(e.valueOf)&&t(e=e.valueOf()))return e;if(N(e)&&t(e=e.toString()))return e;return e}(e));return{value:e,type:r,index:n}}(r.get(e),n)}))}}));return d.sort((function(e,t){for(var r=0,i=l.length;r<i;r++){var o=u(e.predicateValues[r],t.predicateValues[r]);if(o)return o*l[r].descending*c}return(u(e.tieBreaker,t.tieBreaker)||n(e.tieBreaker,t.tieBreaker))*c})),r=d.map((function(e){return e.value}))};function t(e){switch(typeof e){case"number":case"boolean":case"string":return!0;default:return!1}}function n(e,t){var n=0,r=e.type,i=t.type;if(r===i){var o=e.value,a=t.value;"string"===r?(o=o.toLowerCase(),a=a.toLowerCase()):"object"===r&&(L(o)&&(o=e.index),L(a)&&(a=t.index)),o!==a&&(n=o<a?-1:1)}else n="undefined"===r?1:"undefined"===i?-1:"null"===r?1:"null"===i||r<i?-1:1;return n}}function Ni(e){return G(e)&&(e={link:e}),e.restrict=e.restrict||"AC",I(e)}Ii.$inject=["$parse"];var Mi=I({restrict:"E",compile:function(e,t){if(!t.href&&!t.xlinkHref)return function(e,t){if("a"===t[0].nodeName.toLowerCase()){var n="[object SVGAnimatedString]"===m.call(t.prop("href"))?"xlink:href":"href";t.on("click",(function(e){t.attr(n)||e.preventDefault()}))}}}}),zi={};k(jt,(function(e,t){if("multiple"!==e){var n=yn("ng-"+t),r=i;"checked"===e&&(r=function(e,t,r){r.ngModel!==r[n]&&i(e,0,r)}),zi[n]=function(){return{restrict:"A",priority:100,link:r}}}function i(e,r,i){e.$watch(i[n],(function(e){i.$set(t,!!e)}))}})),k(Dt,(function(e,t){zi[t]=function(){return{priority:100,link:function(e,n,r){if("ngPattern"===t&&"/"===r.ngPattern.charAt(0)){var i=r.ngPattern.match(c);if(i)return void r.$set("ngPattern",new RegExp(i[1],i[2]))}e.$watch(r[t],(function(e){r.$set(t,e)}))}}}})),k(["src","srcset","href"],(function(e){var t=yn("ng-"+e);zi[t]=["$sce",function(n){return{priority:99,link:function(r,i,a){var s=e,l=e;"href"===e&&"[object SVGAnimatedString]"===m.call(i.prop("href"))&&(l="xlinkHref",a.$attr[l]="xlink:href",s=null),a.$set(t,n.getTrustedMediaUrl(a[t])),a.$observe(t,(function(t){t?(a.$set(l,t),o&&s&&i.prop(s,a[l])):"href"===e&&a.$set(l,null)}))}}}]}));var Li={$addControl:D,$getControls:I([]),$$renameControl:function(e,t){e.$name=t},$removeControl:D,$setValidity:D,$setDirty:D,$setPristine:D,$setSubmitted:D,$$setSubmitted:D};function Bi(e,t,n,r,i){this.$$controls=[],this.$error={},this.$$success={},this.$pending=void 0,this.$name=i(t.name||t.ngForm||"")(n),this.$dirty=!1,this.$pristine=!0,this.$valid=!0,this.$invalid=!1,this.$submitted=!1,this.$$parentForm=Li,this.$$element=e,this.$$animate=r,Ui(this)}Bi.$inject=["$element","$attrs","$scope","$animate","$interpolate"],Bi.prototype={$rollbackViewValue:function(){k(this.$$controls,(function(e){e.$rollbackViewValue()}))},$commitViewValue:function(){k(this.$$controls,(function(e){e.$commitViewValue()}))},$addControl:function(e){Me(e.$name,"input"),this.$$controls.push(e),e.$name&&(this[e.$name]=e),e.$$parentForm=this},$getControls:function(){return qe(this.$$controls)},$$renameControl:function(e,t){var n=e.$name;this[n]===e&&delete this[n],this[t]=e,e.$name=t},$removeControl:function(e){e.$name&&this[e.$name]===e&&delete this[e.$name],k(this.$pending,(function(t,n){this.$setValidity(n,null,e)}),this),k(this.$error,(function(t,n){this.$setValidity(n,null,e)}),this),k(this.$$success,(function(t,n){this.$setValidity(n,null,e)}),this),ie(this.$$controls,e),e.$$parentForm=Li},$setDirty:function(){this.$$animate.removeClass(this.$$element,Bo),this.$$animate.addClass(this.$$element,Fo),this.$dirty=!0,this.$pristine=!1,this.$$parentForm.$setDirty()},$setPristine:function(){this.$$animate.setClass(this.$$element,Bo,Fo+" ng-submitted"),this.$dirty=!1,this.$pristine=!0,this.$submitted=!1,k(this.$$controls,(function(e){e.$setPristine()}))},$setUntouched:function(){k(this.$$controls,(function(e){e.$setUntouched()}))},$setSubmitted:function(){for(var e=this;e.$$parentForm&&e.$$parentForm!==Li;)e=e.$$parentForm;e.$$setSubmitted()},$$setSubmitted:function(){this.$$animate.addClass(this.$$element,"ng-submitted"),this.$submitted=!0,k(this.$$controls,(function(e){e.$$setSubmitted&&e.$$setSubmitted()}))}},Hi({clazz:Bi,set:function(e,t,n){var r=e[t];r?-1===r.indexOf(n)&&r.push(n):e[t]=[n]},unset:function(e,t,n){var r=e[t];r&&(ie(r,n),0===r.length&&delete e[t])}});var Fi=function(e){return["$timeout","$parse",function(t,n){return{name:"form",restrict:e?"EAC":"E",require:["form","^^?form"],controller:Bi,compile:function(n,i){n.addClass(Bo).addClass(zo);var o=i.name?"name":!(!e||!i.ngForm)&&"ngForm";return{pre:function(e,n,i,a){var s=a[0];if(!("action"in i)){var l=function(t){e.$apply((function(){s.$commitViewValue(),s.$setSubmitted()})),t.preventDefault()};n[0].addEventListener("submit",l),n.on("$destroy",(function(){t((function(){n[0].removeEventListener("submit",l)}),0,!1)}))}(a[1]||s.$$parentForm).$addControl(s);var c=o?r(s.$name):D;o&&(c(e,s),i.$observe(o,(function(t){s.$name!==t&&(c(e,void 0),s.$$parentForm.$$renameControl(s,t),(c=r(s.$name))(e,s))}))),n.on("$destroy",(function(){s.$$parentForm.$removeControl(s),c(e,void 0),_(s,Li)}))}}}};function r(e){return""===e?n('this[""]').assign:n(e).assign||D}}]},qi=Fi(),Vi=Fi(!0);function Ui(e){e.$$classCache={},e.$$classCache[Lo]=!(e.$$classCache[zo]=e.$$element.hasClass(zo))}function Hi(e){var t=e.clazz,n=e.set,r=e.unset;function i(e,t,n){n&&!e.$$classCache[t]?(e.$$animate.addClass(e.$$element,t),e.$$classCache[t]=!0):!n&&e.$$classCache[t]&&(e.$$animate.removeClass(e.$$element,t),e.$$classCache[t]=!1)}function o(e,t,n){t=t?"-"+Pe(t,"-"):"",i(e,zo+t,!0===n),i(e,Lo+t,!1===n)}t.prototype.$setValidity=function(e,t,a){var s;M(t)?function(e,t,r,i){e[t]||(e[t]={});n(e[t],r,i)}(this,"$pending",e,a):function(e,t,n,i){e[t]&&r(e[t],n,i);Gi(e[t])&&(e[t]=void 0)}(this,"$pending",e,a),Z(t)?t?(r(this.$error,e,a),n(this.$$success,e,a)):(n(this.$error,e,a),r(this.$$success,e,a)):(r(this.$error,e,a),r(this.$$success,e,a)),this.$pending?(i(this,"ng-pending",!0),this.$valid=this.$invalid=void 0,o(this,"",null)):(i(this,"ng-pending",!1),this.$valid=Gi(this.$error),this.$invalid=!this.$valid,o(this,"",this.$valid)),o(this,e,s=this.$pending&&this.$pending[e]?void 0:!this.$error[e]&&(!!this.$$success[e]||null)),this.$$parentForm.$setValidity(e,s,this)}}function Gi(e){if(e)for(var t in e)if(e.hasOwnProperty(t))return!1;return!0}var Wi=/^\d{4,}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+(?:[+-][0-2]\d:[0-5]\d|Z)$/,Yi=/^[a-z][a-z\d.+-]*:\/*(?:[^:@]+(?::[^@]+)?@)?(?:[^\s:/?#]+|\[[a-f\d:]+])(?::\d+)?(?:\/[^?#]*)?(?:\?[^#]*)?(?:#.*)?$/i,Xi=/^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/,Zi=/^\s*(-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,Qi=/^(\d{4,})-(\d{2})-(\d{2})$/,Ji=/^(\d{4,})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Ki=/^(\d{4,})-W(\d\d)$/,eo=/^(\d{4,})-(\d\d)$/,to=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,no=Le();k("date,datetime-local,month,time,week".split(","),(function(e){no[e]=!0}));var ro={text:function(e,t,n,r,i,o){oo(e,t,n,r,i,o),io(r)},date:so("date",Qi,ao(Qi,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":so("datetimelocal",Ji,ao(Ji,["yyyy","MM","dd","HH","mm","ss","sss"]),"yyyy-MM-ddTHH:mm:ss.sss"),time:so("time",to,ao(to,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:so("week",Ki,(function(e,t){if(V(e))return e;if(F(e)){Ki.lastIndex=0;var n=Ki.exec(e);if(n){var r=+n[1],i=+n[2],o=0,a=0,s=0,l=0,c=Ai(r),u=7*(i-1);return t&&(o=t.getHours(),a=t.getMinutes(),s=t.getSeconds(),l=t.getMilliseconds()),new Date(r,0,c.getDate()+u,o,a,s,l)}}return NaN}),"yyyy-Www"),month:so("month",eo,ao(eo,["yyyy","MM"]),"yyyy-MM"),number:function(e,t,n,r,i,o,a,s){var l;if(lo(e,t,n,r,"number"),co(r),oo(e,t,n,r,i,o),z(n.min)||n.ngMin){var c=n.min||s(n.ngMin)(e);l=uo(c),r.$validators.min=function(e,t){return r.$isEmpty(t)||M(l)||t>=l},n.$observe("min",(function(e){e!==c&&(l=uo(e),c=e,r.$validate())}))}if(z(n.max)||n.ngMax){var u=n.max||s(n.ngMax)(e),d=uo(u);r.$validators.max=function(e,t){return r.$isEmpty(t)||M(d)||t<=d},n.$observe("max",(function(e){e!==u&&(d=uo(e),u=e,r.$validate())}))}if(z(n.step)||n.ngStep){var p=n.step||s(n.ngStep)(e),f=uo(p);r.$validators.step=function(e,t){return r.$isEmpty(t)||M(f)||ho(t,l||0,f)},n.$observe("step",(function(e){e!==p&&(f=uo(e),p=e,r.$validate())}))}},url:function(e,t,n,r,i,o){oo(e,t,n,r,i,o),io(r),r.$validators.url=function(e,t){var n=e||t;return r.$isEmpty(n)||Yi.test(n)}},email:function(e,t,n,r,i,o){oo(e,t,n,r,i,o),io(r),r.$validators.email=function(e,t){var n=e||t;return r.$isEmpty(n)||Xi.test(n)}},radio:function(e,t,n,r){var i=!n.ngTrim||"false"!==K(n.ngTrim);M(n.name)&&t.attr("name",S());t.on("change",(function(e){var o;t[0].checked&&(o=n.value,i&&(o=K(o)),r.$setViewValue(o,e&&e.type))})),r.$render=function(){var e=n.value;i&&(e=K(e)),t[0].checked=e===r.$viewValue},n.$observe("value",r.$render)},range:function(e,t,n,r,i,o){lo(e,t,n,r,"range"),co(r),oo(e,t,n,r,i,o);var a=r.$$hasNativeValidators&&"range"===t[0].type,s=a?0:void 0,l=a?100:void 0,c=a?1:void 0,u=t[0].validity,d=z(n.min),p=z(n.max),f=z(n.step),h=r.$render;r.$render=a&&z(u.rangeUnderflow)&&z(u.rangeOverflow)?function(){h(),r.$setViewValue(t.val())}:h,d&&(s=uo(n.min),r.$validators.min=a?function(){return!0}:function(e,t){return r.$isEmpty(t)||M(s)||t>=s},g("min",(function(e){if(s=uo(e),j(r.$modelValue))return;if(a){var n=t.val();s>n&&(n=s,t.val(n)),r.$setViewValue(n)}else r.$validate()})));p&&(l=uo(n.max),r.$validators.max=a?function(){return!0}:function(e,t){return r.$isEmpty(t)||M(l)||t<=l},g("max",(function(e){if(l=uo(e),j(r.$modelValue))return;if(a){var n=t.val();l<n&&(t.val(l),n=l<s?s:l),r.$setViewValue(n)}else r.$validate()})));f&&(c=uo(n.step),r.$validators.step=a?function(){return!u.stepMismatch}:function(e,t){return r.$isEmpty(t)||M(c)||ho(t,s||0,c)},g("step",(function(e){if(c=uo(e),j(r.$modelValue))return;a?r.$viewValue!==t.val()&&r.$setViewValue(t.val()):r.$validate()})));function g(e,r){t.attr(e,n[e]);var i=n[e];n.$observe(e,(function(e){e!==i&&(i=e,r(e))}))}},checkbox:function(e,t,n,r,i,o,a,s){var l=go(s,e,"ngTrueValue",n.ngTrueValue,!0),c=go(s,e,"ngFalseValue",n.ngFalseValue,!1);t.on("change",(function(e){r.$setViewValue(t[0].checked,e&&e.type)})),r.$render=function(){t[0].checked=r.$viewValue},r.$isEmpty=function(e){return!1===e},r.$formatters.push((function(e){return se(e,l)})),r.$parsers.push((function(e){return e?l:c}))},hidden:D,button:D,submit:D,reset:D,file:D};function io(e){e.$formatters.push((function(t){return e.$isEmpty(t)?t:t.toString()}))}function oo(e,t,n,r,i,o){var a,s=d(t[0].type);if(!i.android){var l=!1;t.on("compositionstart",(function(){l=!0})),t.on("compositionupdate",(function(e){(M(e.data)||""===e.data)&&(l=!1)})),t.on("compositionend",(function(){l=!1,c()}))}var c=function(e){if(a&&(o.defer.cancel(a),a=null),!l){var i=t.val(),c=e&&e.type;"password"===s||n.ngTrim&&"false"===n.ngTrim||(i=K(i)),(r.$viewValue!==i||""===i&&r.$$hasNativeValidators)&&r.$setViewValue(i,c)}};if(i.hasEvent("input"))t.on("input",c);else{var u=function(e,t,n){a||(a=o.defer((function(){a=null,t&&t.value===n||c(e)})))};t.on("keydown",(function(e){var t=e.keyCode;91===t||15<t&&t<19||37<=t&&t<=40||u(e,this,this.value)})),i.hasEvent("paste")&&t.on("paste cut drop",u)}t.on("change",c),no[s]&&r.$$hasNativeValidators&&s===n.type&&t.on("keydown wheel mousedown",(function(e){if(!a){var t=this.validity,n=t.badInput,r=t.typeMismatch;a=o.defer((function(){a=null,t.badInput===n&&t.typeMismatch===r||c(e)}))}})),r.$render=function(){var e=r.$isEmpty(r.$viewValue)?"":r.$viewValue;t.val()!==e&&t.val(e)}}function ao(e,t){return function(n,r){var i,o;if(V(n))return n;if(F(n)){if('"'===n.charAt(0)&&'"'===n.charAt(n.length-1)&&(n=n.substring(1,n.length-1)),Wi.test(n))return new Date(n);if(e.lastIndex=0,i=e.exec(n)){i.shift(),o=r?{yyyy:r.getFullYear(),MM:r.getMonth()+1,dd:r.getDate(),HH:r.getHours(),mm:r.getMinutes(),ss:r.getSeconds(),sss:r.getMilliseconds()/1e3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},k(i,(function(e,n){n<t.length&&(o[t[n]]=+e)}));var a=new Date(o.yyyy,o.MM-1,o.dd,o.HH,o.mm,o.ss||0,1e3*o.sss||0);return o.yyyy<100&&a.setFullYear(o.yyyy),a}}return NaN}}function so(e,t,n,r){return function(i,o,a,s,l,c,u,d){lo(i,o,a,s,e),oo(0,o,a,s,l,c);var p,f,h="time"===e||"datetimelocal"===e;if(s.$parsers.push((function(n){return s.$isEmpty(n)?null:t.test(n)?w(n,p):void(s.$$parserName=e)})),s.$formatters.push((function(e){if(e&&!V(e))throw qo("datefmt","Expected `{0}` to be a date",e);if(y(e)){p=e;var t=s.$options.getOption("timezone");return t&&(f=t,p=ye(p,t,!0)),function(e,t){var n=r;h&&F(s.$options.getOption("timeSecondsFormat"))&&(n=r.replace("ss.sss",s.$options.getOption("timeSecondsFormat")).replace(/:$/,""));var i=u("date")(e,n,t);h&&s.$options.getOption("timeStripZeroSeconds")&&(i=i.replace(/(?::00)?(?:\.000)?$/,""));return i}(e,t)}return p=null,f=null,""})),z(a.min)||a.ngMin){var g=a.min||d(a.ngMin)(i),m=x(g);s.$validators.min=function(e){return!y(e)||M(m)||n(e)>=m},a.$observe("min",(function(e){e!==g&&(m=x(e),g=e,s.$validate())}))}if(z(a.max)||a.ngMax){var v=a.max||d(a.ngMax)(i),b=x(v);s.$validators.max=function(e){return!y(e)||M(b)||n(e)<=b},a.$observe("max",(function(e){e!==v&&(b=x(e),v=e,s.$validate())}))}function y(e){return e&&!(e.getTime&&e.getTime()!=e.getTime())}function x(e){return z(e)&&!V(e)?w(e)||void 0:e}function w(e,t){var r=s.$options.getOption("timezone");f&&f!==r&&(t=be(t,ve(f)));var i=n(e,t);return!isNaN(i)&&r&&(i=ye(i,r)),i}}}function lo(e,t,n,r,i){var o=t[0];(r.$$hasNativeValidators=L(o.validity))&&r.$parsers.push((function(e){var n=t.prop("validity")||{};if(!n.badInput&&!n.typeMismatch)return e;r.$$parserName=i}))}function co(e){e.$parsers.push((function(t){return e.$isEmpty(t)?null:Zi.test(t)?parseFloat(t):void(e.$$parserName="number")})),e.$formatters.push((function(t){if(!e.$isEmpty(t)){if(!q(t))throw qo("numfmt","Expected `{0}` to be a number",t);t=t.toString()}return t}))}function uo(e){return z(e)&&!q(e)&&(e=parseFloat(e)),j(e)?void 0:e}function po(e){return(0|e)===e}function fo(e){var t=e.toString(),n=t.indexOf(".");if(-1===n){if(-1<e&&e<1){var r=/e-(\d+)$/.exec(t);if(r)return Number(r[1])}return 0}return t.length-n-1}function ho(e,t,n){var r=Number(e),i=!po(r),o=!po(t),a=!po(n);if(i||o||a){var s=i?fo(r):0,l=o?fo(t):0,c=a?fo(n):0,u=Math.max(s,l,c),d=Math.pow(10,u);r*=d,t*=d,n*=d,i&&(r=Math.round(r)),o&&(t=Math.round(t)),a&&(n=Math.round(n))}return(r-t)%n==0}function go(e,t,n,r,i){var o;if(z(r)){if(!(o=e(r)).constant)throw qo("constexpr","Expected constant expression for `{0}`, but saw `{1}`.",n,r);return o(t)}return i}var mo=["$browser","$sniffer","$filter","$parse",function(e,t,n,r){return{restrict:"E",require:["?ngModel"],link:{pre:function(i,o,a,s){s[0]&&(ro[d(a.type)]||ro.text)(i,o,a,s[0],t,e,n,r)}}}}],vo=function(){var e={configurable:!0,enumerable:!1,get:function(){return this.getAttribute("value")||""},set:function(e){this.setAttribute("value",e)}};return{restrict:"E",priority:200,compile:function(t,n){if("hidden"===d(n.type))return{pre:function(t,n,r,i){var o=n[0];o.parentNode&&o.parentNode.insertBefore(o,o.nextSibling),Object.defineProperty&&Object.defineProperty(o,"value",e)}}}}},bo=/^(true|false|\d+)$/,yo=function(){function e(e,t,n){var r=z(n)?n:9===o?"":null;e.prop("value",r),t.$set("value",n)}return{restrict:"A",priority:100,compile:function(t,n){return bo.test(n.ngValue)?function(t,n,r){e(n,r,t.$eval(r.ngValue))}:function(t,n,r){t.$watch(r.ngValue,(function(t){e(n,r,t)}))}}}},xo=["$compile",function(e){return{restrict:"AC",compile:function(t){return e.$$addBindingClass(t),function(t,n,r){e.$$addBindingInfo(n,r.ngBind),n=n[0],t.$watch(r.ngBind,(function(e){n.textContent=Be(e)}))}}}}],wo=["$interpolate","$compile",function(e,t){return{compile:function(n){return t.$$addBindingClass(n),function(n,r,i){var o=e(r.attr(i.$attr.ngBindTemplate));t.$$addBindingInfo(r,o.expressions),r=r[0],i.$observe("ngBindTemplate",(function(e){r.textContent=M(e)?"":e}))}}}}],ko=["$sce","$parse","$compile",function(e,t,n){return{restrict:"A",compile:function(r,i){var o=t(i.ngBindHtml),a=t(i.ngBindHtml,(function(t){return e.valueOf(t)}));return n.$$addBindingClass(r),function(t,r,i){n.$$addBindingInfo(r,i.ngBindHtml),t.$watch(a,(function(){var n=o(t);r.html(e.getTrustedHtml(n)||"")}))}}}}],Ao=I({restrict:"A",require:"ngModel",link:function(e,t,n,r){r.$viewChangeListeners.push((function(){e.$eval(n.ngChange)}))}});function Eo(e,t){var n;return e="ngClass"+e,["$parse",function(a){return{restrict:"AC",link:function(s,l,c){var u,d=l.data("$classCounts"),p=!0;function f(e,t){var n=[];return k(e,(function(e){(t>0||d[e])&&(d[e]=(d[e]||0)+t,d[e]===+(t>0)&&n.push(e))})),n.join(" ")}d||(d=Le(),l.data("$classCounts",d)),"ngClass"!==e&&(n||(n=a("$index",(function(e){return 1&e}))),s.$watch(n,(function(e){e===t?(n=f(i(n=u),1),c.$addClass(n)):function(e){e=f(i(e),-1),c.$removeClass(e)}(u);var n;p=e}))),s.$watch(a(c[e],o),(function(e){p===t&&function(e,t){var n=i(e),o=i(t),a=r(n,o),s=r(o,n),l=f(a,-1),u=f(s,1);c.$addClass(u),c.$removeClass(l)}(u,e);u=e}))}}}];function r(e,t){if(!e||!e.length)return[];if(!t||!t.length)return e;var n=[];e:for(var r=0;r<e.length;r++){for(var i=e[r],o=0;o<t.length;o++)if(i===t[o])continue e;n.push(i)}return n}function i(e){return e&&e.split(" ")}function o(e){if(!e)return e;var t=e;return U(e)?t=e.map(o).join(" "):L(e)?t=Object.keys(e).filter((function(t){return e[t]})).join(" "):F(e)||(t=e+""),t}}var So=Eo("",!0),$o=Eo("Odd",0),Co=Eo("Even",1),_o=Ni({compile:function(e,t){t.$set("ngCloak",void 0),e.removeClass("ng-cloak")}}),Oo=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],To={},jo={blur:!0,focus:!0};function Po(e,t,n,r,i,o){return{restrict:"A",compile:function(a,s){var l=e(s[r]);return function(e,r){r.on(i,(function(r){var i=function(){l(e,{$event:r})};if(t.$$phase)if(o)e.$evalAsync(i);else try{i()}catch(e){n(e)}else e.$apply(i)}))}}}}k("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),(function(e){var t=yn("ng-"+e);To[t]=["$parse","$rootScope","$exceptionHandler",function(n,r,i){return Po(n,r,i,t,e,jo[e])}]}));var Do=["$animate","$compile",function(e,t){return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(n,r,i,o,a){var s,l,c;n.$watch(i.ngIf,(function(n){n?l||a((function(n,o){l=o,n[n.length++]=t.$$createComment("end ngIf",i.ngIf),s={clone:n},e.enter(n,r.parent(),r)})):(c&&(c.remove(),c=null),l&&(l.$destroy(),l=null),s&&(c=ze(s.clone),e.leave(c).done((function(e){!1!==e&&(c=null)})),s=null))}))}}}],Ro=["$templateRequest","$anchorScroll","$animate",function(e,t,n){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:y.noop,compile:function(r,i){var o=i.ngInclude||i.src,a=i.onload||"",s=i.autoscroll;return function(r,i,l,c,u){var d,p,f,h=0,g=function(){p&&(p.remove(),p=null),d&&(d.$destroy(),d=null),f&&(n.leave(f).done((function(e){!1!==e&&(p=null)})),p=f,f=null)};r.$watch(o,(function(o){var l=function(e){!1===e||!z(s)||s&&!r.$eval(s)||t()},p=++h;o?(e(o,!0).then((function(e){if(!r.$$destroyed&&p===h){var t=r.$new();c.template=e;var s=u(t,(function(e){g(),n.enter(e,null,i).done(l)}));f=s,(d=t).$emit("$includeContentLoaded",o),r.$eval(a)}}),(function(){r.$$destroyed||p===h&&(g(),r.$emit("$includeContentError",o))})),r.$emit("$includeContentRequested",o)):(g(),c.template=null)}))}}}}],Io=["$compile",function(t){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(n,r,i,o){if(m.call(r[0]).match(/SVG/))return r.empty(),void t(ut(o.template,e.document).childNodes)(n,(function(e){r.append(e)}),{futureParentElement:r});r.html(o.template),t(r.contents())(n)}}}],No=Ni({priority:450,compile:function(){return{pre:function(e,t,n){e.$eval(n.ngInit)}}}}),Mo=function(){return{restrict:"A",priority:100,require:"ngModel",link:function(e,t,n,r){var i=n.ngList||", ",o="false"!==n.ngTrim,a=o?K(i):i;r.$parsers.push((function(e){if(!M(e)){var t=[];return e&&k(e.split(a),(function(e){e&&t.push(o?K(e):e)})),t}})),r.$formatters.push((function(e){if(U(e))return e.join(i)})),r.$isEmpty=function(e){return!e||!e.length}}}},zo="ng-valid",Lo="ng-invalid",Bo="ng-pristine",Fo="ng-dirty",qo=i("ngModel");function Vo(e,t,n,r,i,o,a,s,l){var c;this.$viewValue=Number.NaN,this.$modelValue=Number.NaN,this.$$rawModelValue=void 0,this.$validators={},this.$asyncValidators={},this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$untouched=!0,this.$touched=!1,this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$error={},this.$$success={},this.$pending=void 0,this.$name=l(n.name||"",!1)(e),this.$$parentForm=Li,this.$options=Uo,this.$$updateEvents="",this.$$updateEventHandler=this.$$updateEventHandler.bind(this),this.$$parsedNgModel=i(n.ngModel),this.$$parsedNgModelAssign=this.$$parsedNgModel.assign,this.$$ngModelGet=this.$$parsedNgModel,this.$$ngModelSet=this.$$parsedNgModelAssign,this.$$pendingDebounce=null,this.$$parserValid=void 0,this.$$parserName="parse",this.$$currentValidationRunId=0,this.$$scope=e,this.$$rootScope=e.$root,this.$$attr=n,this.$$element=r,this.$$animate=o,this.$$timeout=a,this.$$parse=i,this.$$q=s,this.$$exceptionHandler=t,Ui(this),(c=this).$$scope.$watch((function(e){var t=c.$$ngModelGet(e);return t===c.$modelValue||c.$modelValue!=c.$modelValue&&t!=t||c.$$setModelValue(t),t}))}Vo.$inject=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate","$timeout","$q","$interpolate"],Vo.prototype={$$initGetterSetters:function(){if(this.$options.getOption("getterSetter")){var e=this.$$parse(this.$$attr.ngModel+"()"),t=this.$$parse(this.$$attr.ngModel+"($$$p)");this.$$ngModelGet=function(t){var n=this.$$parsedNgModel(t);return G(n)&&(n=e(t)),n},this.$$ngModelSet=function(e,n){G(this.$$parsedNgModel(e))?t(e,{$$$p:n}):this.$$parsedNgModelAssign(e,n)}}else if(!this.$$parsedNgModel.assign)throw qo("nonassign","Expression '{0}' is non-assignable. Element: {1}",this.$$attr.ngModel,xe(this.$$element))},$render:D,$isEmpty:function(e){return M(e)||""===e||null===e||e!=e},$$updateEmptyClasses:function(e){this.$isEmpty(e)?(this.$$animate.removeClass(this.$$element,"ng-not-empty"),this.$$animate.addClass(this.$$element,"ng-empty")):(this.$$animate.removeClass(this.$$element,"ng-empty"),this.$$animate.addClass(this.$$element,"ng-not-empty"))},$setPristine:function(){this.$dirty=!1,this.$pristine=!0,this.$$animate.removeClass(this.$$element,Fo),this.$$animate.addClass(this.$$element,Bo)},$setDirty:function(){this.$dirty=!0,this.$pristine=!1,this.$$animate.removeClass(this.$$element,Bo),this.$$animate.addClass(this.$$element,Fo),this.$$parentForm.$setDirty()},$setUntouched:function(){this.$touched=!1,this.$untouched=!0,this.$$animate.setClass(this.$$element,"ng-untouched","ng-touched")},$setTouched:function(){this.$touched=!0,this.$untouched=!1,this.$$animate.setClass(this.$$element,"ng-touched","ng-untouched")},$rollbackViewValue:function(){this.$$timeout.cancel(this.$$pendingDebounce),this.$viewValue=this.$$lastCommittedViewValue,this.$render()},$validate:function(){if(!j(this.$modelValue)){var e=this.$$lastCommittedViewValue,t=this.$$rawModelValue,n=this.$valid,r=this.$modelValue,i=this.$options.getOption("allowInvalid"),o=this;this.$$runValidators(t,e,(function(e){i||n===e||(o.$modelValue=e?t:void 0,o.$modelValue!==r&&o.$$writeModelToScope())}))}},$$runValidators:function(e,t,n){this.$$currentValidationRunId++;var r,i,o=this.$$currentValidationRunId,a=this;(function(){var e=a.$$parserName;if(!M(a.$$parserValid))return a.$$parserValid||(k(a.$validators,(function(e,t){s(t,null)})),k(a.$asyncValidators,(function(e,t){s(t,null)}))),s(e,a.$$parserValid),a.$$parserValid;s(e,null);return!0})()?!function(){var n=!0;if(k(a.$validators,(function(r,i){var o=Boolean(r(e,t));n=n&&o,s(i,o)})),!n)return k(a.$asyncValidators,(function(e,t){s(t,null)})),!1;return!0}()?l(!1):(r=[],i=!0,k(a.$asyncValidators,(function(n,o){var a=n(e,t);if(!Q(a))throw qo("nopromise","Expected asynchronous validator to return a promise but got '{0}' instead.",a);s(o,void 0),r.push(a.then((function(){s(o,!0)}),(function(){i=!1,s(o,!1)})))})),r.length?a.$$q.all(r).then((function(){l(i)}),D):l(!0)):l(!1);function s(e,t){o===a.$$currentValidationRunId&&a.$setValidity(e,t)}function l(e){o===a.$$currentValidationRunId&&n(e)}},$commitViewValue:function(){var e=this.$viewValue;this.$$timeout.cancel(this.$$pendingDebounce),(this.$$lastCommittedViewValue!==e||""===e&&this.$$hasNativeValidators)&&(this.$$updateEmptyClasses(e),this.$$lastCommittedViewValue=e,this.$pristine&&this.$setDirty(),this.$$parseAndValidate())},$$parseAndValidate:function(){var e=this.$$lastCommittedViewValue,t=this;if(this.$$parserValid=!M(e)||void 0,this.$setValidity(this.$$parserName,null),this.$$parserName="parse",this.$$parserValid)for(var n=0;n<this.$parsers.length;n++)if(M(e=this.$parsers[n](e))){this.$$parserValid=!1;break}j(this.$modelValue)&&(this.$modelValue=this.$$ngModelGet(this.$$scope));var r=this.$modelValue,i=this.$options.getOption("allowInvalid");function o(){t.$modelValue!==r&&t.$$writeModelToScope()}this.$$rawModelValue=e,i&&(this.$modelValue=e,o()),this.$$runValidators(e,this.$$lastCommittedViewValue,(function(n){i||(t.$modelValue=n?e:void 0,o())}))},$$writeModelToScope:function(){this.$$ngModelSet(this.$$scope,this.$modelValue),k(this.$viewChangeListeners,(function(e){try{e()}catch(e){this.$$exceptionHandler(e)}}),this)},$setViewValue:function(e,t){this.$viewValue=e,this.$options.getOption("updateOnDefault")&&this.$$debounceViewValueCommit(t)},$$debounceViewValueCommit:function(e){var t=this.$options.getOption("debounce");q(t[e])?t=t[e]:q(t.default)&&-1===this.$options.getOption("updateOn").indexOf(e)?t=t.default:q(t["*"])&&(t=t["*"]),this.$$timeout.cancel(this.$$pendingDebounce);var n=this;t>0?this.$$pendingDebounce=this.$$timeout((function(){n.$commitViewValue()}),t):this.$$rootScope.$$phase?this.$commitViewValue():this.$$scope.$apply((function(){n.$commitViewValue()}))},$overrideModelOptions:function(e){this.$options=this.$options.createChild(e),this.$$setUpdateOnEvents()},$processModelValue:function(){var e=this.$$format();this.$viewValue!==e&&(this.$$updateEmptyClasses(e),this.$viewValue=this.$$lastCommittedViewValue=e,this.$render(),this.$$runValidators(this.$modelValue,this.$viewValue,D))},$$format:function(){for(var e=this.$formatters,t=e.length,n=this.$modelValue;t--;)n=e[t](n);return n},$$setModelValue:function(e){this.$modelValue=this.$$rawModelValue=e,this.$$parserValid=void 0,this.$processModelValue()},$$setUpdateOnEvents:function(){this.$$updateEvents&&this.$$element.off(this.$$updateEvents,this.$$updateEventHandler),this.$$updateEvents=this.$options.getOption("updateOn"),this.$$updateEvents&&this.$$element.on(this.$$updateEvents,this.$$updateEventHandler)},$$updateEventHandler:function(e){this.$$debounceViewValueCommit(e&&e.type)}},Hi({clazz:Vo,set:function(e,t){e[t]=!0},unset:function(e,t){delete e[t]}});var Uo,Ho=["$rootScope",function(e){return{restrict:"A",require:["ngModel","^?form","^?ngModelOptions"],controller:Vo,priority:1,compile:function(t){return t.addClass(Bo).addClass("ng-untouched").addClass(zo),{pre:function(e,t,n,r){var i=r[0],o=r[1]||i.$$parentForm,a=r[2];a&&(i.$options=a.$options),i.$$initGetterSetters(),o.$addControl(i),n.$observe("name",(function(e){i.$name!==e&&i.$$parentForm.$$renameControl(i,e)})),e.$on("$destroy",(function(){i.$$parentForm.$removeControl(i)}))},post:function(t,n,r,i){var o=i[0];function a(){o.$setTouched()}o.$$setUpdateOnEvents(),n.on("blur",(function(){o.$touched||(e.$$phase?t.$evalAsync(a):t.$apply(a))}))}}}}}],Go=/(\s+|^)default(\s+|$)/;function Wo(e){this.$$options=e}Wo.prototype={getOption:function(e){return this.$$options[e]},createChild:function(e){var t=!1;return k(e=_({},e),(function(n,r){"$inherit"===n?"*"===r?t=!0:(e[r]=this.$$options[r],"updateOn"===r&&(e.updateOnDefault=this.$$options.updateOnDefault)):"updateOn"===r&&(e.updateOnDefault=!1,e[r]=K(n.replace(Go,(function(){return e.updateOnDefault=!0," "}))))}),this),t&&(delete e["*"],Xo(e,this.$$options)),Xo(e,Uo.$$options),new Wo(e)}},Uo=new Wo({updateOn:"",updateOnDefault:!0,debounce:0,getterSetter:!1,allowInvalid:!1,timezone:null});var Yo=function(){function e(e,t){this.$$attrs=e,this.$$scope=t}return e.$inject=["$attrs","$scope"],e.prototype={$onInit:function(){var e=this.parentCtrl?this.parentCtrl.$options:Uo,t=this.$$scope.$eval(this.$$attrs.ngModelOptions);this.$options=e.createChild(t)}},{restrict:"A",priority:10,require:{parentCtrl:"?^^ngModelOptions"},bindToController:!0,controller:e}};function Xo(e,t){k(t,(function(t,n){z(e[n])||(e[n]=t)}))}var Zo=Ni({terminal:!0,priority:1e3}),Qo=i("ngOptions"),Jo=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?(?:\s+disable\s+when\s+([\s\S]+?))?\s+for\s+(?:([$\w][$\w]*)|(?:\(\s*([$\w][$\w]*)\s*,\s*([$\w][$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,Ko=["$compile","$document","$parse",function(t,n,r){var i=e.document.createElement("option"),o=e.document.createElement("optgroup");return{restrict:"A",terminal:!0,require:["select","ngModel"],link:{pre:function(e,t,n,r){r[0].registerOption=D},post:function(e,s,l,c){for(var u=c[0],d=c[1],p=l.multiple,f=0,h=s.children(),g=h.length;f<g;f++)if(""===h[f].value){u.hasEmptyOption=!0,u.emptyOption=h.eq(f);break}s.empty();var m,v=!!u.emptyOption;a(i.cloneNode(!1)).val("?");var b=function(e,t,n){var i=e.match(Jo);if(!i)throw Qo("iexp","Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}",e,xe(t));var o=i[5]||i[7],a=i[6],s=/ as /.test(i[0])&&i[1],l=i[9],c=r(i[2]?i[1]:o),u=s&&r(s)||c,d=l&&r(l),p=l?function(e,t){return d(n,t)}:function(e){return zt(e)},f=function(e,t){return p(e,y(e,t))},h=r(i[2]||i[1]),g=r(i[3]||""),m=r(i[4]||""),v=r(i[8]),b={},y=a?function(e,t){return b[a]=t,b[o]=e,b}:function(e){return b[o]=e,b};function x(e,t,n,r,i){this.selectValue=e,this.viewValue=t,this.label=n,this.group=r,this.disabled=i}function k(e){var t;if(!a&&w(e))t=e;else for(var n in t=[],e)e.hasOwnProperty(n)&&"$"!==n.charAt(0)&&t.push(n);return t}return{trackBy:l,getTrackByValue:f,getWatchables:r(v,(function(e){for(var t=[],r=k(e=e||[]),o=r.length,a=0;a<o;a++){var s=e===r?a:r[a],l=e[s],c=y(l,s),u=p(l,c);if(t.push(u),i[2]||i[1]){var d=h(n,c);t.push(d)}if(i[4]){var f=m(n,c);t.push(f)}}return t})),getOptions:function(){for(var e=[],t={},r=v(n)||[],i=k(r),o=i.length,a=0;a<o;a++){var s=r===i?a:i[a],c=r[s],d=y(c,s),b=u(n,d),w=p(b,d),A=new x(w,b,h(n,d),g(n,d),m(n,d));e.push(A),t[w]=A}return{items:e,selectValueMap:t,getOptionFromViewValue:function(e){return t[f(e)]},getViewValueFromOption:function(e){return l?oe(e.viewValue):e.viewValue}}}}}(l.ngOptions,s,e),y=n[0].createDocumentFragment();function x(e,t){var n=i.cloneNode(!1);t.appendChild(n),function(e,t){e.element=t,t.disabled=e.disabled,e.label!==t.label&&(t.label=e.label,t.textContent=e.label);t.value=e.selectValue}(e,n)}function A(e){var t=m.getOptionFromViewValue(e),n=t&&t.element;return n&&!n.selected&&(n.selected=!0),t}u.generateUnknownOptionValue=function(e){return"?"},p?(u.writeValue=function(e){if(m){var t=e&&e.map(A)||[];m.items.forEach((function(e){e.element.selected&&!re(t,e)&&(e.element.selected=!1)}))}},u.readValue=function(){var e=s.val()||[],t=[];return k(e,(function(e){var n=m.selectValueMap[e];n&&!n.disabled&&t.push(m.getViewValueFromOption(n))})),t},b.trackBy&&e.$watchCollection((function(){if(U(d.$viewValue))return d.$viewValue.map((function(e){return b.getTrackByValue(e)}))}),(function(){d.$render()}))):(u.writeValue=function(e){if(m){var t=s[0].options[s[0].selectedIndex],n=m.getOptionFromViewValue(e);t&&t.removeAttribute("selected"),n?(s[0].value!==n.selectValue&&(u.removeUnknownOption(),s[0].value=n.selectValue,n.element.selected=!0),n.element.setAttribute("selected","selected")):u.selectUnknownOrEmptyOption(e)}},u.readValue=function(){var e=m.selectValueMap[s.val()];return e&&!e.disabled?(u.unselectEmptyOption(),u.removeUnknownOption(),m.getViewValueFromOption(e)):null},b.trackBy&&e.$watch((function(){return b.getTrackByValue(d.$viewValue)}),(function(){d.$render()}))),v&&(t(u.emptyOption)(e),s.prepend(u.emptyOption),8===u.emptyOption[0].nodeType?(u.hasEmptyOption=!1,u.registerOption=function(e,t){""===t.val()&&(u.hasEmptyOption=!0,u.emptyOption=t,u.emptyOption.removeClass("ng-scope"),d.$render(),t.on("$destroy",(function(){var e=u.$isEmptyOptionSelected();u.hasEmptyOption=!1,u.emptyOption=void 0,e&&d.$render()})))}):u.emptyOption.removeClass("ng-scope")),e.$watchCollection(b.getWatchables,(function(){var e=m&&u.readValue();if(m)for(var t=m.items.length-1;t>=0;t--){var n=m.items[t];z(n.group)?_t(n.element.parentNode):_t(n.element)}m=b.getOptions();var r={};if(m.items.forEach((function(e){var t;z(e.group)?((t=r[e.group])||(t=o.cloneNode(!1),y.appendChild(t),t.label=null===e.group?"null":e.group,r[e.group]=t),x(e,t)):x(e,y)})),s[0].appendChild(y),d.$render(),!d.$isEmpty(e)){var i=u.readValue();(b.trackBy||p?se(e,i):e===i)||(d.$setViewValue(i),d.$render())}}))}}}}],ea=["$locale","$interpolate","$log",function(e,t,n){var r=/{}/g,i=/^when(Minus)?(.+)$/;return{link:function(o,a,s){var l,c=s.count,u=s.$attr.when&&a.attr(s.$attr.when),p=s.offset||0,f=o.$eval(u)||{},h={},g=t.startSymbol(),m=t.endSymbol(),v=g+c+"-"+p+m,b=y.noop;function x(e){a.text(e||"")}k(s,(function(e,t){var n=i.exec(t);if(n){var r=(n[1]?"-":"")+d(n[2]);f[r]=a.attr(s.$attr[t])}})),k(f,(function(e,n){h[n]=t(e.replace(r,v))})),o.$watch(c,(function(t){var r=parseFloat(t),i=j(r);if(i||r in f||(r=e.pluralCat(r-p)),!(r===l||i&&j(l))){b();var a=h[r];M(a)?(null!=t&&n.debug("ngPluralize: no rule defined for '"+r+"' in "+u),b=D,x()):b=o.$watch(a,x),l=r}}))}}}],ta=i("ngRef"),na=["$parse",function(e){return{priority:-1,restrict:"A",compile:function(t,n){var r=yn(ne(t)),i=e(n.ngRef),o=i.assign||function(){throw ta("nonassign",'Expression in ngRef="{0}" is non-assignable!',n.ngRef)};return function(e,t,a){var s;if(a.hasOwnProperty("ngRefRead")){if("$element"===a.ngRefRead)s=t;else if(!(s=t.data("$"+a.ngRefRead+"Controller")))throw ta("noctrl",'The controller for ngRefRead="{0}" could not be found on ngRef="{1}"',a.ngRefRead,n.ngRef)}else s=t.data("$"+r+"Controller");o(e,s=s||t),t.on("$destroy",(function(){i(e)===s&&o(e,null)}))}}}}],ra=["$parse","$animate","$compile",function(e,t,n){var r=i("ngRepeat"),o=function(e,t,n,r,i,o,a){e[n]=r,i&&(e[i]=o),e.$index=t,e.$first=0===t,e.$last=t===a-1,e.$middle=!(e.$first||e.$last),e.$odd=!(e.$even=0==(1&t))},a=function(e){return e.clone[0]},s=function(e){return e.clone[e.clone.length-1]},l=function(e,t,n){return zt(n)},c=function(e,t){return t};return{restrict:"A",multiElement:!0,transclude:"element",priority:1e3,terminal:!0,$$tlb:!0,compile:function(i,d){var p=d.ngRepeat,f=n.$$createComment("end ngRepeat",p),h=p.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!h)throw r("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",p);var g=h[1],m=h[2],v=h[3],b=h[4];if(!(h=g.match(/^(?:(\s*[$\w]+)|\(\s*([$\w]+)\s*,\s*([$\w]+)\s*\))$/)))throw r("iidexp","'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.",g);var y,x=h[3]||h[1],A=h[2];if(v&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(v)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(v)))throw r("badident","alias '{0}' is invalid --- must be a valid JS identifier which is not a reserved name.",v);if(b){var E={$id:zt},S=e(b);y=function(e,t,n,r){return A&&(E[A]=t),E[x]=n,E.$index=r,S(e,E)}}return function(e,n,i,d,h){var g=Le();e.$watchCollection(m,(function(i){var d,m,b,S,$,C,_,O,T,j,P,D,R=n[0],I=Le();if(v&&(e[v]=i),w(i))T=i,O=y||l;else for(var N in O=y||c,T=[],i)u.call(i,N)&&"$"!==N.charAt(0)&&T.push(N);for(S=T.length,P=new Array(S),d=0;d<S;d++)if($=i===T?d:T[d],C=i[$],_=O(e,$,C,d),g[_])j=g[_],delete g[_],I[_]=j,P[d]=j;else{if(I[_])throw k(P,(function(e){e&&e.scope&&(g[e.id]=e)})),r("dupes","Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}",p,_,C);P[d]={id:_,scope:void 0,clone:void 0},I[_]=!0}for(var M in E&&(E[x]=void 0),g){if(D=ze((j=g[M]).clone),t.leave(D),D[0].parentNode)for(d=0,m=D.length;d<m;d++)D[d].$$NG_REMOVED=!0;j.scope.$destroy()}for(d=0;d<S;d++)if($=i===T?d:T[d],C=i[$],(j=P[d]).scope){b=R;do{b=b.nextSibling}while(b&&b.$$NG_REMOVED);a(j)!==b&&t.move(ze(j.clone),null,R),R=s(j),o(j.scope,d,x,C,A,$,S)}else h((function(e,n){j.scope=n;var r=f.cloneNode(!1);e[e.length++]=r,t.enter(e,null,R),R=r,j.clone=e,I[j.id]=j,o(j.scope,d,x,C,A,$,S)}));g=I}))}}}}],ia=["$animate",function(e){return{restrict:"A",multiElement:!0,link:function(t,n,r){t.$watch(r.ngShow,(function(t){e[t?"removeClass":"addClass"](n,"ng-hide",{tempClasses:"ng-hide-animate"})}))}}}],oa=["$animate",function(e){return{restrict:"A",multiElement:!0,link:function(t,n,r){t.$watch(r.ngHide,(function(t){e[t?"addClass":"removeClass"](n,"ng-hide",{tempClasses:"ng-hide-animate"})}))}}}],aa=Ni((function(e,t,n){e.$watchCollection(n.ngStyle,(function(e,n){n&&e!==n&&k(n,(function(e,n){t.css(n,"")})),e&&t.css(e)}))})),sa=["$animate","$compile",function(e,t){return{require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(n,r,i,o){var a=i.ngSwitch||i.on,s=[],l=[],c=[],u=[],d=function(e,t){return function(n){!1!==n&&e.splice(t,1)}};n.$watch(a,(function(n){for(var r,i;c.length;)e.cancel(c.pop());for(r=0,i=u.length;r<i;++r){var a=ze(l[r].clone);u[r].$destroy(),(c[r]=e.leave(a)).done(d(c,r))}l.length=0,u.length=0,(s=o.cases["!"+n]||o.cases["?"])&&k(s,(function(n){n.transclude((function(r,i){u.push(i);var o=n.element;r[r.length++]=t.$$createComment("end ngSwitchWhen");var a={clone:r};l.push(a),e.enter(r,o.parent(),o)}))}))}))}}}],la=Ni({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(e,t,n,r,i){k(n.ngSwitchWhen.split(n.ngSwitchWhenSeparator).sort().filter((function(e,t,n){return n[t-1]!==e})),(function(e){r.cases["!"+e]=r.cases["!"+e]||[],r.cases["!"+e].push({transclude:i,element:t})}))}}),ca=Ni({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(e,t,n,r,i){r.cases["?"]=r.cases["?"]||[],r.cases["?"].push({transclude:i,element:t})}}),ua=i("ngTransclude"),da=["$compile",function(e){return{restrict:"EAC",compile:function(t){var n=e(t.contents());return t.empty(),function(e,t,r,i,o){if(!o)throw ua("orphan","Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}",xe(t));r.ngTransclude===r.$attr.ngTransclude&&(r.ngTransclude="");var a=r.ngTransclude||r.ngTranscludeSlot;function s(){n(e,(function(e){t.append(e)}))}o((function(e,n){e.length&&function(e){for(var t=0,n=e.length;t<n;t++){var r=e[t];if(r.nodeType!==Fe||r.nodeValue.trim())return!0}}(e)?t.append(e):(s(),n.$destroy())}),null,a),a&&!o.isSlotFilled(a)&&s()}}}}],pa=["$templateCache",function(e){return{restrict:"E",terminal:!0,compile:function(t,n){if("text/ng-template"===n.type){var r=n.id,i=t[0].text;e.put(r,i)}}}}],fa={$setViewValue:D,$render:D};function ha(e,t){e.prop("selected",t),e.attr("selected",t)}var ga=["$element","$scope",function(t,n){var r=this,i=new Ft;r.selectValueMap={},r.ngModelCtrl=fa,r.multiple=!1,r.unknownOption=a(e.document.createElement("option")),r.hasEmptyOption=!1,r.emptyOption=void 0,r.renderUnknownOption=function(e){var n=r.generateUnknownOptionValue(e);r.unknownOption.val(n),t.prepend(r.unknownOption),ha(r.unknownOption,!0),t.val(n)},r.updateUnknownOption=function(e){var n=r.generateUnknownOptionValue(e);r.unknownOption.val(n),ha(r.unknownOption,!0),t.val(n)},r.generateUnknownOptionValue=function(e){return"? "+zt(e)+" ?"},r.removeUnknownOption=function(){r.unknownOption.parent()&&r.unknownOption.remove()},r.selectEmptyOption=function(){r.emptyOption&&(t.val(""),ha(r.emptyOption,!0))},r.unselectEmptyOption=function(){r.hasEmptyOption&&ha(r.emptyOption,!1)},n.$on("$destroy",(function(){r.renderUnknownOption=D})),r.readValue=function(){var e=t.val(),n=e in r.selectValueMap?r.selectValueMap[e]:e;return r.hasOption(n)?n:null},r.writeValue=function(e){var n=t[0].options[t[0].selectedIndex];if(n&&ha(a(n),!1),r.hasOption(e)){r.removeUnknownOption();var i=zt(e);t.val(i in r.selectValueMap?i:e);var o=t[0].options[t[0].selectedIndex];ha(a(o),!0)}else r.selectUnknownOrEmptyOption(e)},r.addOption=function(e,t){if(8!==t[0].nodeType){Me(e,'"option value"'),""===e&&(r.hasEmptyOption=!0,r.emptyOption=t);var n=i.get(e)||0;i.set(e,n+1),s()}},r.removeOption=function(e){var t=i.get(e);t&&(1===t?(i.delete(e),""===e&&(r.hasEmptyOption=!1,r.emptyOption=void 0)):i.set(e,t-1))},r.hasOption=function(e){return!!i.get(e)},r.$hasEmptyOption=function(){return r.hasEmptyOption},r.$isUnknownOptionSelected=function(){return t[0].options[0]===r.unknownOption[0]},r.$isEmptyOptionSelected=function(){return r.hasEmptyOption&&t[0].options[t[0].selectedIndex]===r.emptyOption[0]},r.selectUnknownOrEmptyOption=function(e){null==e&&r.emptyOption?(r.removeUnknownOption(),r.selectEmptyOption()):r.unknownOption.parent().length?r.updateUnknownOption(e):r.renderUnknownOption(e)};var o=!1;function s(){o||(o=!0,n.$$postDigest((function(){o=!1,r.ngModelCtrl.$render()})))}var l=!1;function c(e){l||(l=!0,n.$$postDigest((function(){n.$$destroyed||(l=!1,r.ngModelCtrl.$setViewValue(r.readValue()),e&&r.ngModelCtrl.$render())})))}r.registerOption=function(e,t,n,i,o){var a,l;n.$attr.ngValue?n.$observe("value",(function(e){var n,i=t.prop("selected");z(l)&&(r.removeOption(a),delete r.selectValueMap[l],n=!0),l=zt(e),a=e,r.selectValueMap[l]=e,r.addOption(e,t),t.attr("value",l),n&&i&&c()})):i?n.$observe("value",(function(e){var n;r.readValue();var i=t.prop("selected");z(a)&&(r.removeOption(a),n=!0),a=e,r.addOption(e,t),n&&i&&c()})):o?e.$watch(o,(function(e,i){n.$set("value",e);var o=t.prop("selected");i!==e&&r.removeOption(i),r.addOption(e,t),i&&o&&c()})):r.addOption(n.value,t);n.$observe("disabled",(function(e){("true"===e||e&&t.prop("selected"))&&(r.multiple?c(!0):(r.ngModelCtrl.$setViewValue(null),r.ngModelCtrl.$render()))})),t.on("$destroy",(function(){var e=r.readValue(),t=n.value;r.removeOption(t),s(),(r.multiple&&e&&-1!==e.indexOf(t)||e===t)&&c(!0)}))}}],ma=function(){return{restrict:"E",require:["select","?ngModel"],controller:ga,priority:1,link:{pre:function(e,t,n,r){var i=r[0],o=r[1];if(!o)return void(i.registerOption=D);if(i.ngModelCtrl=o,t.on("change",(function(){i.removeUnknownOption(),e.$apply((function(){o.$setViewValue(i.readValue())}))})),n.multiple){i.multiple=!0,i.readValue=function(){var e=[];return k(t.find("option"),(function(t){if(t.selected&&!t.disabled){var n=t.value;e.push(n in i.selectValueMap?i.selectValueMap[n]:n)}})),e},i.writeValue=function(e){k(t.find("option"),(function(t){var n=!!e&&(re(e,t.value)||re(e,i.selectValueMap[t.value]));n!==t.selected&&ha(a(t),n)}))};var s,l=NaN;e.$watch((function(){l!==o.$viewValue||se(s,o.$viewValue)||(s=qe(o.$viewValue),o.$render()),l=o.$viewValue})),o.$isEmpty=function(e){return!e||0===e.length}}},post:function(e,t,n,r){var i=r[1];if(!i)return;var o=r[0];i.$render=function(){o.writeValue(i.$viewValue)}}}}},va=["$interpolate",function(e){return{restrict:"E",priority:100,compile:function(t,n){var r,i;return z(n.ngValue)||(z(n.value)?r=e(n.value,!0):(i=e(t.text(),!0))||n.$set("value",t.text())),function(e,t,n){var o=t.parent(),a=o.data("$selectController")||o.parent().data("$selectController");a&&a.registerOption(e,t,n,r,i)}}}}],ba=["$parse",function(e){return{restrict:"A",require:"?ngModel",link:function(t,n,r,i){if(i){var o=r.hasOwnProperty("required")||e(r.ngRequired)(t);r.ngRequired||(r.required=!0),i.$validators.required=function(e,t){return!o||!i.$isEmpty(t)},r.$observe("required",(function(e){o!==e&&(o=e,i.$validate())}))}}}}],ya=["$parse",function(e){return{restrict:"A",require:"?ngModel",compile:function(t,n){var r,i;return n.ngPattern&&(r=n.ngPattern,i="/"===n.ngPattern.charAt(0)&&c.test(n.ngPattern)?function(){return n.ngPattern}:e(n.ngPattern)),function(e,t,n,o){if(o){var a=n.pattern;n.ngPattern?a=i(e):r=n.pattern;var s=ka(a,r,t);n.$observe("pattern",(function(e){var n=s;s=ka(e,r,t),(n&&n.toString())!==(s&&s.toString())&&o.$validate()})),o.$validators.pattern=function(e,t){return o.$isEmpty(t)||M(s)||s.test(t)}}}}}}],xa=["$parse",function(e){return{restrict:"A",require:"?ngModel",link:function(t,n,r,i){if(i){var o=r.maxlength||e(r.ngMaxlength)(t),a=Aa(o);r.$observe("maxlength",(function(e){o!==e&&(a=Aa(e),o=e,i.$validate())})),i.$validators.maxlength=function(e,t){return a<0||i.$isEmpty(t)||t.length<=a}}}}}],wa=["$parse",function(e){return{restrict:"A",require:"?ngModel",link:function(t,n,r,i){if(i){var o=r.minlength||e(r.ngMinlength)(t),a=Aa(o)||-1;r.$observe("minlength",(function(e){o!==e&&(a=Aa(e)||-1,o=e,i.$validate())})),i.$validators.minlength=function(e,t){return i.$isEmpty(t)||t.length>=a}}}}}];function ka(e,t,n){if(e){if(F(e)&&(e=new RegExp("^"+e+"$")),!e.test)throw i("ngPattern")("noregexp","Expected {0} to be a RegExp but was {1}. Element: {2}",t,e,xe(n));return e}}function Aa(e){var t=T(e);return j(t)?-1:t}e.angular.bootstrap?e.console&&console.log("WARNING: Tried to load AngularJS more than once."):(!function(){var t;if(!De){var n=ce();(s=M(n)?e.jQuery:n?e[n]:void 0)&&s.fn.on?(a=s,_(s.fn,{scope:Tt.scope,isolateScope:Tt.isolateScope,controller:Tt.controller,injector:Tt.injector,inheritedData:Tt.inheritedData})):a=pt,t=a.cleanData,a.cleanData=function(e){for(var n,r,i=0;null!=(r=e[i]);i++)(n=(a._data(r)||{}).events)&&n.$destroy&&a(r).triggerHandler("$destroy");t(e)},y.element=a,De=!0}}(),function(t){_(t,{errorHandlingConfig:n,bootstrap:_e,copy:oe,extend:_,merge:O,equals:se,element:a,forEach:k,injector:Qt,noop:D,bind:pe,toJson:he,fromJson:ge,identity:R,isUndefined:M,isDefined:z,isString:F,isFunction:G,isObject:L,isNumber:q,isElement:te,isArray:U,version:Ue,isDate:V,callbacks:{$$counter:0},getTestability:Te,reloadWithDebugInfo:Oe,UNSAFE_restoreLegacyJqLiteXHTMLReplacement:Re,$$minErr:i,$$csp:le,$$encodeUriSegment:Ae,$$encodeUriQuery:Ee,$$lowercase:d,$$stringify:Be,$$uppercase:p}),(l=function(e){var t=i("$injector"),n=i("ng");function r(e,t,n){return e[t]||(e[t]=n())}var o=r(e,"angular",Object);return o.$$minErr=o.$$minErr||i,r(o,"module",(function(){var e={};return function(i,o,a){var s={};return function(e,t){if("hasOwnProperty"===e)throw n("badname","hasOwnProperty is not a valid {0} name",t)}(i,"module"),o&&e.hasOwnProperty(i)&&(e[i]=null),r(e,i,(function(){if(!o)throw t("nomod","Module '{0}' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.",i);var e=[],r=[],l=[],c=d("$injector","invoke","push",r),u={_invokeQueue:e,_configBlocks:r,_runBlocks:l,info:function(e){if(z(e)){if(!L(e))throw n("aobj","Argument '{0}' must be an object","value");return s=e,this}return s},requires:o,name:i,provider:p("$provide","provider"),factory:p("$provide","factory"),service:p("$provide","service"),value:d("$provide","value"),constant:d("$provide","constant","unshift"),decorator:p("$provide","decorator",r),animation:p("$animateProvider","register"),filter:p("$filterProvider","register"),controller:p("$controllerProvider","register"),directive:p("$compileProvider","directive"),component:p("$compileProvider","component"),config:c,run:function(e){return l.push(e),this}};return a&&c(a),u;function d(t,n,r,i){return i||(i=e),function(){return i[r||"push"]([t,n,arguments]),u}}function p(t,n,r){return r||(r=e),function(e,o){return o&&G(o)&&(o.$$moduleName=i),r.push([t,n,arguments]),u}}}))}}))}(e))("ng",["ngLocale"],["$provide",function(e){e.provider({$$sanitizeUri:qr}),e.provider("$compile",gn).directive({a:Mi,input:mo,textarea:mo,form:qi,script:pa,select:ma,option:va,ngBind:xo,ngBindHtml:ko,ngBindTemplate:wo,ngClass:So,ngClassEven:Co,ngClassOdd:$o,ngCloak:_o,ngController:Oo,ngForm:Vi,ngHide:oa,ngIf:Do,ngInclude:Ro,ngInit:No,ngNonBindable:Zo,ngPluralize:ea,ngRef:na,ngRepeat:ra,ngShow:ia,ngStyle:aa,ngSwitch:sa,ngSwitchWhen:la,ngSwitchDefault:ca,ngOptions:Ko,ngTransclude:da,ngModel:Ho,ngList:Mo,ngChange:Ao,pattern:ya,ngPattern:ya,required:ba,ngRequired:ba,minlength:wa,ngMinlength:wa,maxlength:xa,ngMaxlength:xa,ngValue:yo,ngModelOptions:Yo}).directive({ngInclude:Io,input:vo}).directive(zi).directive(To),e.provider({$anchorScroll:Jt,$animate:on,$animateCss:ln,$$animateJs:nn,$$animateQueue:rn,$$AnimateRunner:sn,$$animateAsyncRun:an,$browser:un,$cacheFactory:dn,$controller:Sn,$document:$n,$$isDocumentHidden:Cn,$exceptionHandler:_n,$filter:fi,$$forceReflow:On,$interpolate:Wn,$interval:Xn,$$intervalFactory:Zn,$http:Vn,$httpParamSerializer:Nn,$httpParamSerializerJQLike:Mn,$httpBackend:Hn,$xhrFactory:Un,$jsonpCallbacks:Qn,$location:hr,$log:gr,$parse:Dr,$rootScope:Fr,$q:Rr,$$q:Ir,$sce:Xr,$sceDelegate:Yr,$sniffer:Zr,$$taskTrackerFactory:Qr,$templateCache:pn,$templateRequest:ei,$$testability:ti,$timeout:ri,$window:ui,$$rAF:Br,$$jqLite:Mt,$$Map:qt,$$cookieReader:pi})}]).info({angularVersion:"1.8.3"})}(y),y.module("ngLocale",[],["$provide",function(e){var t="one",n="other";e.value("$locale",{DATETIME_FORMATS:{AMPMS:["AM","PM"],DAY:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ERANAMES:["Before Christ","Anno Domini"],ERAS:["BC","AD"],FIRSTDAYOFWEEK:6,MONTH:["January","February","March","April","May","June","July","August","September","October","November","December"],SHORTDAY:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],SHORTMONTH:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],STANDALONEMONTH:["January","February","March","April","May","June","July","August","September","October","November","December"],WEEKENDRANGE:[5,6],fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",medium:"MMM d, y h:mm:ss a",mediumDate:"MMM d, y",mediumTime:"h:mm:ss a",short:"M/d/yy h:mm a",shortDate:"M/d/yy",shortTime:"h:mm a"},NUMBER_FORMATS:{CURRENCY_SYM:"$",DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{gSize:3,lgSize:3,maxFrac:3,minFrac:0,minInt:1,negPre:"-",negSuf:"",posPre:"",posSuf:""},{gSize:3,lgSize:3,maxFrac:2,minFrac:2,minInt:1,negPre:"-¤",negSuf:"",posPre:"¤",posSuf:""}]},id:"en-us",localeID:"en_US",pluralCat:function(e,r){var i=0|e,o=function(e,t){var n=t;void 0===n&&(n=Math.min(function(e){var t=(e+="").indexOf(".");return-1==t?0:e.length-t-1}(e),3));var r=Math.pow(10,n);return{v:n,f:(e*r|0)%r}}(e,r);return 1==i&&0==o.v?t:n}})}]),a((function(){Ce(e.document,_e)})))}(window),!window.angular.$$csp().noInlineStyle&&window.angular.element(document.head).prepend(window.angular.element("<style>").text('@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}'))},function(e,t,n){"use strict";n(210);const r=n(33),i=n(9);window.jQuery=r,n(217),n(218),n(219),n(225),n(227),i.module("dbt",["ngRoute","ui.router","hc.marked"]).config(["markedProvider","$locationProvider",function(e,t){e.setOptions({gfm:!0,sanitize:!0}),e.setRenderer({table:function(e,t){return"<table class='table'><thead>"+e+"</thead><tbody>"+t+"</tbody></table>"}}),t.html5Mode({enabled:!1}),r(document).tooltip({selector:'[data-toggle="tooltip"]',placement:function(e,t){return r(t).attr("data-placement")?r(t).attr("data-placement"):"auto"},container:"body"}),r(document).ready((function(){r("[data-toggle=popover]").popover({container:"body",html:!0})}))}])},function(e,t,n){var r=n(211);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};n(40)(r,i);r.locals&&(e.exports=r.locals)},function(e,t,n){var r=n(212);(e.exports=n(39)(!1)).push([e.i,'@media (max-width: 960px){[data-large]{display:none !important}}@media (min-width: 961px){[data-small]{display:none !important}}@media screen{[data-print]{display:none !important}}@media print{[data-screen]{display:none !important}}html.touchevents [data-click]{display:none !important}html.no-touchevents [data-touch]{display:none !important}/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:1rem;line-height:1.6;color:#5e666c;background-color:#f9fafb}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#0bb;text-decoration:none}a:hover,a:focus{color:#009595;text-decoration:none}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive{display:block;max-width:100%;height:auto}.img-rounded{border-radius:4px}.img-thumbnail{padding:0;line-height:1.6;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:1.6rem;margin-bottom:1.6rem;border:0;border-top:1px solid rgba(0,30,60,0.075)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:normal;line-height:false;color:#313539}h1 small,h1 .small,h2 small,h2 .small,h3 small,h3 .small,h4 small,h4 .small,h5 small,h5 .small,h6 small,h6 .small,.h1 small,.h1 .small,.h2 small,.h2 .small,.h3 small,.h3 .small,.h4 small,.h4 .small,.h5 small,.h5 .small,.h6 small,.h6 .small{font-weight:normal;line-height:1;color:#8b969e}h1,.h1,h2,.h2,h3,.h3{margin-top:1.6rem;margin-bottom:.8rem}h1 small,h1 .small,.h1 small,.h1 .small,h2 small,h2 .small,.h2 small,.h2 .small,h3 small,h3 .small,.h3 small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:.8rem;margin-bottom:.8rem}h4 small,h4 .small,.h4 small,.h4 .small,h5 small,h5 .small,.h5 small,.h5 .small,h6 small,h6 .small,.h6 small,.h6 .small{font-size:75%}h1,.h1{font-size:1.7142857143rem}h2,.h2{font-size:1.7142857143rem}h3,.h3{font-size:1.2857142857rem}h4,.h4{font-size:1.1428571429rem}h5,.h5{font-size:1rem}h6,.h6{font-size:1rem}p{margin:0 0 .8rem}.lead{margin-bottom:1.6rem;font-size:1rem;font-weight:300;line-height:1.4}@media (min-width: 540px){.lead{font-size:1.5rem}}small,.small{font-size:92%}mark,.mark{background-color:#fff6ec;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase,.initialism{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#8b969e}.text-primary{color:#0bb}a.text-primary:hover,a.text-primary:focus{color:#088}.text-success{color:#48a71c}a.text-success:hover,a.text-success:focus{color:#357b15}.text-info{color:#0aa}a.text-info:hover,a.text-info:focus{color:#077}.text-warning{color:#ff6316}a.text-warning:hover,a.text-warning:focus{color:#e24b00}.text-danger{color:#ff694b}a.text-danger:hover,a.text-danger:focus{color:#ff3f18}.bg-primary{color:#fff}.bg-primary{background-color:#0bb}a.bg-primary:hover,a.bg-primary:focus{background-color:#088}.bg-success{background-color:#f3faec}a.bg-success:hover,a.bg-success:focus{background-color:#daefc4}.bg-info{background-color:#edfafa}a.bg-info:hover,a.bg-info:focus{background-color:#c5efef}.bg-warning{background-color:#fff6ec}a.bg-warning:hover,a.bg-warning:focus{background-color:#ffdeb9}.bg-danger{background-color:#fff5f4}a.bg-danger:hover,a.bg-danger:focus{background-color:#ffc7c1}.page-header{padding-bottom:-.2rem;margin:3.2rem 0 1.6rem;border-bottom:1px solid #f7f7f8}ul,ol{margin-top:0;margin-bottom:.8rem}ul ul,ul ol,ol ul,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:1.6rem}dt,dd{line-height:1.6}dt{font-weight:bold}dd{margin-left:0}.dl-horizontal dd:before,.dl-horizontal dd:after{content:" ";display:table}.dl-horizontal dd:after{clear:both}@media (min-width: 260px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted rgba(0,30,60,0.075)}.initialism{font-size:90%}blockquote{padding:.8rem 1.6rem;margin:0 0 1.6rem;font-size:1rem;border-left:5px solid transparent}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.6;color:#8b969e}blockquote footer:before,blockquote small:before,blockquote .small:before{content:\'\\2014 \\A0\'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid transparent;border-left:0;text-align:right}.blockquote-reverse footer:before,.blockquote-reverse small:before,.blockquote-reverse .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before,blockquote.pull-right .small:before{content:\'\'}.blockquote-reverse footer:after,.blockquote-reverse small:after,.blockquote-reverse .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after,blockquote.pull-right .small:after{content:\'\\A0 \\2014\'}address{margin-bottom:1.6rem;font-style:normal;line-height:1.6}code,kbd,pre,samp{font-family:"Monaco",monospace}code{padding:2px 4px;font-size:90%;color:#313539;background-color:transparent;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#313539;background-color:transparent;border-radius:4px;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;box-shadow:none}pre{display:block;padding:.3rem;margin:0 0 .8rem;font-size:0rem;line-height:1.6;word-break:break-all;word-wrap:break-word;color:#fff;background-color:#005e7a;border:1px solid transparent;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:30px;padding-right:30px}.container:before,.container:after{content:" ";display:table}.container:after{clear:both}@media (min-width: 540px){.container{width:780px}}@media (min-width: 768px){.container{width:1000px}}@media (min-width: 960px){.container{width:1200px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:30px;padding-right:30px}.container-fluid:before,.container-fluid:after{content:" ";display:table}.container-fluid:after{clear:both}.row{margin-left:-30px;margin-right:-30px}.row:before,.row:after{content:" ";display:table}.row:after{clear:both}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:30px;padding-right:30px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-1{width:8.3333333333%}.col-xs-2{width:16.6666666667%}.col-xs-3{width:25%}.col-xs-4{width:33.3333333333%}.col-xs-5{width:41.6666666667%}.col-xs-6{width:50%}.col-xs-7{width:58.3333333333%}.col-xs-8{width:66.6666666667%}.col-xs-9{width:75%}.col-xs-10{width:83.3333333333%}.col-xs-11{width:91.6666666667%}.col-xs-12{width:100%}.col-xs-pull-0{right:auto}.col-xs-pull-1{right:8.3333333333%}.col-xs-pull-2{right:16.6666666667%}.col-xs-pull-3{right:25%}.col-xs-pull-4{right:33.3333333333%}.col-xs-pull-5{right:41.6666666667%}.col-xs-pull-6{right:50%}.col-xs-pull-7{right:58.3333333333%}.col-xs-pull-8{right:66.6666666667%}.col-xs-pull-9{right:75%}.col-xs-pull-10{right:83.3333333333%}.col-xs-pull-11{right:91.6666666667%}.col-xs-pull-12{right:100%}.col-xs-push-0{left:auto}.col-xs-push-1{left:8.3333333333%}.col-xs-push-2{left:16.6666666667%}.col-xs-push-3{left:25%}.col-xs-push-4{left:33.3333333333%}.col-xs-push-5{left:41.6666666667%}.col-xs-push-6{left:50%}.col-xs-push-7{left:58.3333333333%}.col-xs-push-8{left:66.6666666667%}.col-xs-push-9{left:75%}.col-xs-push-10{left:83.3333333333%}.col-xs-push-11{left:91.6666666667%}.col-xs-push-12{left:100%}.col-xs-offset-0{margin-left:0%}.col-xs-offset-1{margin-left:8.3333333333%}.col-xs-offset-2{margin-left:16.6666666667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.3333333333%}.col-xs-offset-5{margin-left:41.6666666667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.3333333333%}.col-xs-offset-8{margin-left:66.6666666667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.3333333333%}.col-xs-offset-11{margin-left:91.6666666667%}.col-xs-offset-12{margin-left:100%}@media (min-width: 540px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-1{width:8.3333333333%}.col-sm-2{width:16.6666666667%}.col-sm-3{width:25%}.col-sm-4{width:33.3333333333%}.col-sm-5{width:41.6666666667%}.col-sm-6{width:50%}.col-sm-7{width:58.3333333333%}.col-sm-8{width:66.6666666667%}.col-sm-9{width:75%}.col-sm-10{width:83.3333333333%}.col-sm-11{width:91.6666666667%}.col-sm-12{width:100%}.col-sm-pull-0{right:auto}.col-sm-pull-1{right:8.3333333333%}.col-sm-pull-2{right:16.6666666667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.3333333333%}.col-sm-pull-5{right:41.6666666667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.3333333333%}.col-sm-pull-8{right:66.6666666667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.3333333333%}.col-sm-pull-11{right:91.6666666667%}.col-sm-pull-12{right:100%}.col-sm-push-0{left:auto}.col-sm-push-1{left:8.3333333333%}.col-sm-push-2{left:16.6666666667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.3333333333%}.col-sm-push-5{left:41.6666666667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.3333333333%}.col-sm-push-8{left:66.6666666667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.3333333333%}.col-sm-push-11{left:91.6666666667%}.col-sm-push-12{left:100%}.col-sm-offset-0{margin-left:0%}.col-sm-offset-1{margin-left:8.3333333333%}.col-sm-offset-2{margin-left:16.6666666667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.3333333333%}.col-sm-offset-5{margin-left:41.6666666667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.3333333333%}.col-sm-offset-8{margin-left:66.6666666667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.3333333333%}.col-sm-offset-11{margin-left:91.6666666667%}.col-sm-offset-12{margin-left:100%}}@media (min-width: 768px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-1{width:8.3333333333%}.col-md-2{width:16.6666666667%}.col-md-3{width:25%}.col-md-4{width:33.3333333333%}.col-md-5{width:41.6666666667%}.col-md-6{width:50%}.col-md-7{width:58.3333333333%}.col-md-8{width:66.6666666667%}.col-md-9{width:75%}.col-md-10{width:83.3333333333%}.col-md-11{width:91.6666666667%}.col-md-12{width:100%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.3333333333%}.col-md-pull-2{right:16.6666666667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.3333333333%}.col-md-pull-5{right:41.6666666667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.3333333333%}.col-md-pull-8{right:66.6666666667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.3333333333%}.col-md-pull-11{right:91.6666666667%}.col-md-pull-12{right:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.3333333333%}.col-md-push-2{left:16.6666666667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.3333333333%}.col-md-push-5{left:41.6666666667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.3333333333%}.col-md-push-8{left:66.6666666667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.3333333333%}.col-md-push-11{left:91.6666666667%}.col-md-push-12{left:100%}.col-md-offset-0{margin-left:0%}.col-md-offset-1{margin-left:8.3333333333%}.col-md-offset-2{margin-left:16.6666666667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.3333333333%}.col-md-offset-5{margin-left:41.6666666667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.3333333333%}.col-md-offset-8{margin-left:66.6666666667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.3333333333%}.col-md-offset-11{margin-left:91.6666666667%}.col-md-offset-12{margin-left:100%}}@media (min-width: 960px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-1{width:8.3333333333%}.col-lg-2{width:16.6666666667%}.col-lg-3{width:25%}.col-lg-4{width:33.3333333333%}.col-lg-5{width:41.6666666667%}.col-lg-6{width:50%}.col-lg-7{width:58.3333333333%}.col-lg-8{width:66.6666666667%}.col-lg-9{width:75%}.col-lg-10{width:83.3333333333%}.col-lg-11{width:91.6666666667%}.col-lg-12{width:100%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.3333333333%}.col-lg-pull-2{right:16.6666666667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.3333333333%}.col-lg-pull-5{right:41.6666666667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.3333333333%}.col-lg-pull-8{right:66.6666666667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.3333333333%}.col-lg-pull-11{right:91.6666666667%}.col-lg-pull-12{right:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.3333333333%}.col-lg-push-2{left:16.6666666667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.3333333333%}.col-lg-push-5{left:41.6666666667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.3333333333%}.col-lg-push-8{left:66.6666666667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.3333333333%}.col-lg-push-11{left:91.6666666667%}.col-lg-push-12{left:100%}.col-lg-offset-0{margin-left:0%}.col-lg-offset-1{margin-left:8.3333333333%}.col-lg-offset-2{margin-left:16.6666666667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.3333333333%}.col-lg-offset-5{margin-left:41.6666666667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.3333333333%}.col-lg-offset-8{margin-left:66.6666666667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.3333333333%}.col-lg-offset-11{margin-left:91.6666666667%}.col-lg-offset-12{margin-left:100%}}table{background-color:transparent}caption{padding-top:.6785714286rem 1.25rem;padding-bottom:.6785714286rem 1.25rem;color:#8b969e;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:1.6rem}.table>thead>tr>th,.table>thead>tr>td,.table>tbody>tr>th,.table>tbody>tr>td,.table>tfoot>tr>th,.table>tfoot>tr>td{padding:.6785714286rem 1.25rem;line-height:1.6;vertical-align:top;border-top:1px solid rgba(0,30,60,0.075)}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid rgba(0,30,60,0.075)}.table>caption+thead>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>th,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid rgba(0,30,60,0.075)}.table .table{background-color:#f9fafb}.table-condensed>thead>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>tfoot>tr>td{padding:.4464285714rem .875rem}.table-bordered{border:1px solid rgba(0,30,60,0.075)}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>tfoot>tr>td{border:1px solid rgba(0,30,60,0.075)}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9fafb}.table-hover>tbody>tr:hover{background-color:#f9fafb}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>thead>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th{background-color:#f9fafb}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#eaedf1}.table>thead>tr>td.success,.table>thead>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th{background-color:#f3faec}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#e6f5d8}.table>thead>tr>td.info,.table>thead>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th{background-color:#edfafa}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#d9f4f4}.table>thead>tr>td.warning,.table>thead>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th{background-color:#fff6ec}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#ffead3}.table>thead>tr>td.danger,.table>thead>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th{background-color:#fff5f4}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ffdedb}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width: 539px){.table-responsive{width:100%;margin-bottom:1.2rem;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid rgba(0,30,60,0.075)}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:1.6rem;font-size:1.5rem;line-height:inherit;color:#8b969e;border:0;border-bottom:1px solid rgba(0,30,60,0.075)}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \\9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:1.6785714286rem;font-size:1rem;line-height:1.6;color:#484e53}.form-control{display:block;width:100%;height:2.8571428571rem;padding:.6785714286rem 1.25rem;font-size:1rem;line-height:1.6;color:#484e53;background-color:#f0f2f4;background-image:none;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s;-o-transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s;transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s}.form-control:focus{border-color:transparent;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(0,0,0,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(0,0,0,0.6)}.form-control::-moz-placeholder{color:#a8b1b7;opacity:1}.form-control:-ms-input-placeholder{color:#a8b1b7}.form-control::-webkit-input-placeholder{color:#a8b1b7}.form-control::-ms-expand{border:0;background-color:transparent}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#e4e6eb;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio: 0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:2.8571428571rem}input[type="date"].input-sm,.input-group-sm>input[type="date"].form-control,.input-group-sm>input[type="date"].input-group-addon,.input-group-sm>.input-group-btn>input[type="date"].btn,.input-group-sm input[type="date"],input[type="time"].input-sm,.input-group-sm>input[type="time"].form-control,.input-group-sm>input[type="time"].input-group-addon,.input-group-sm>.input-group-btn>input[type="time"].btn,.input-group-sm input[type="time"],input[type="datetime-local"].input-sm,.input-group-sm>input[type="datetime-local"].form-control,.input-group-sm>input[type="datetime-local"].input-group-addon,.input-group-sm>.input-group-btn>input[type="datetime-local"].btn,.input-group-sm input[type="datetime-local"],input[type="month"].input-sm,.input-group-sm>input[type="month"].form-control,.input-group-sm>input[type="month"].input-group-addon,.input-group-sm>.input-group-btn>input[type="month"].btn,.input-group-sm input[type="month"]{line-height:2.2857142857rem}input[type="date"].input-lg,.input-group-lg>input[type="date"].form-control,.input-group-lg>input[type="date"].input-group-addon,.input-group-lg>.input-group-btn>input[type="date"].btn,.input-group-lg input[type="date"],input[type="time"].input-lg,.input-group-lg>input[type="time"].form-control,.input-group-lg>input[type="time"].input-group-addon,.input-group-lg>.input-group-btn>input[type="time"].btn,.input-group-lg input[type="time"],input[type="datetime-local"].input-lg,.input-group-lg>input[type="datetime-local"].form-control,.input-group-lg>input[type="datetime-local"].input-group-addon,.input-group-lg>.input-group-btn>input[type="datetime-local"].btn,.input-group-lg input[type="datetime-local"],input[type="month"].input-lg,.input-group-lg>input[type="month"].form-control,.input-group-lg>input[type="month"].input-group-addon,.input-group-lg>.input-group-btn>input[type="month"].btn,.input-group-lg input[type="month"]{line-height:4.2857142857rem}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:1.6rem;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \\9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="radio"].disabled,fieldset[disabled] input[type="radio"],input[type="checkbox"][disabled],input[type="checkbox"].disabled,fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,fieldset[disabled] .radio-inline,.checkbox-inline.disabled,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,fieldset[disabled] .radio label,.checkbox.disabled label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static,.form-grid .form-row .form-label label{padding-top:1.6785714286rem;padding-bottom:1.6785714286rem;margin-bottom:0;min-height:2.6rem}.form-control-static.input-lg,.input-group-lg>.form-control-static.form-control,.form-grid .form-row .form-label .input-group-lg>label.form-control,.input-group-lg>.form-control-static.input-group-addon,.form-grid .form-row .form-label .input-group-lg>label.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.form-grid .form-row .form-label .input-group-lg>.input-group-btn>label.btn,.form-grid .form-row .form-label label.input-lg,.form-control-static.input-sm,.input-group-sm>.form-control-static.form-control,.form-grid .form-row .form-label .input-group-sm>label.form-control,.input-group-sm>.form-control-static.input-group-addon,.form-grid .form-row .form-label .input-group-sm>label.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn,.form-grid .form-row .form-label .input-group-sm>.input-group-btn>label.btn,.form-grid .form-row .form-label label.input-sm{padding-left:0;padding-right:0}.input-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:2.2857142857rem;padding:.4464285714rem .875rem;font-size:.9285714286rem;line-height:1.6;border-radius:4px}select.input-sm,.input-group-sm>select.form-control,.input-group-sm>select.input-group-addon,.input-group-sm>.input-group-btn>select.btn{height:2.2857142857rem;line-height:2.2857142857rem}textarea.input-sm,.input-group-sm>textarea.form-control,.input-group-sm>textarea.input-group-addon,.input-group-sm>.input-group-btn>textarea.btn,select[multiple].input-sm,.input-group-sm>select[multiple].form-control,.input-group-sm>select[multiple].input-group-addon,.input-group-sm>.input-group-btn>select[multiple].btn{height:auto}.form-group-sm .form-control{height:2.2857142857rem;padding:.4464285714rem .875rem;font-size:.9285714286rem;line-height:1.6;border-radius:4px}.form-group-sm select.form-control{height:2.2857142857rem;line-height:2.2857142857rem}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static,.form-group-sm .form-grid .form-row .form-label label,.form-grid .form-row .form-label .form-group-sm label{height:2.2857142857rem;min-height:2.5285714286rem;padding:1.4464285714rem .875rem;font-size:.9285714286rem;line-height:1.6}.input-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:4.2857142857rem;padding:1.2857142857rem 1.875rem;font-size:1.1428571429rem;line-height:1.6;border-radius:4px}select.input-lg,.input-group-lg>select.form-control,.input-group-lg>select.input-group-addon,.input-group-lg>.input-group-btn>select.btn{height:4.2857142857rem;line-height:4.2857142857rem}textarea.input-lg,.input-group-lg>textarea.form-control,.input-group-lg>textarea.input-group-addon,.input-group-lg>.input-group-btn>textarea.btn,select[multiple].input-lg,.input-group-lg>select[multiple].form-control,.input-group-lg>select[multiple].input-group-addon,.input-group-lg>.input-group-btn>select[multiple].btn{height:auto}.form-group-lg .form-control{height:4.2857142857rem;padding:1.2857142857rem 1.875rem;font-size:1.1428571429rem;line-height:1.6;border-radius:4px}.form-group-lg select.form-control{height:4.2857142857rem;line-height:4.2857142857rem}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static,.form-group-lg .form-grid .form-row .form-label label,.form-grid .form-row .form-label .form-group-lg label{height:4.2857142857rem;min-height:2.7428571429rem;padding:2.2857142857rem 1.875rem;font-size:1.1428571429rem;line-height:1.6}.has-feedback{position:relative}.has-feedback .form-control{padding-right:3.5714285714rem}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:2.8571428571rem;height:2.8571428571rem;line-height:2.8571428571rem;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg>.form-control+.form-control-feedback,.input-group-lg>.input-group-addon+.form-control-feedback,.input-group-lg>.input-group-btn>.btn+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:4.2857142857rem;height:4.2857142857rem;line-height:4.2857142857rem}.input-sm+.form-control-feedback,.input-group-sm>.form-control+.form-control-feedback,.input-group-sm>.input-group-addon+.form-control-feedback,.input-group-sm>.input-group-btn>.btn+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:2.2857142857rem;height:2.2857142857rem;line-height:2.2857142857rem}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#48a71c}.has-success .form-control{border-color:#48a71c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#357b15;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #79e049;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #79e049}.has-success .input-group-addon{color:#48a71c;border-color:#48a71c;background-color:#f3faec}.has-success .form-control-feedback{color:#48a71c}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#ff6316}.has-warning .form-control{border-color:#ff6316;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#e24b00;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ffa77c;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ffa77c}.has-warning .input-group-addon{color:#ff6316;border-color:#ff6316;background-color:#fff6ec}.has-warning .form-control-feedback{color:#ff6316}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#ff694b}.has-error .form-control{border-color:#ff694b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#ff3f18;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ffbeb1;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ffbeb1}.has-error .input-group-addon{color:#ff694b;border-color:#ff694b;background-color:#fff5f4}.has-error .form-control-feedback{color:#ff694b}.has-feedback label ~ .form-control-feedback{top:6.6rem}.has-feedback label.sr-only ~ .form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#9ea6ab}@media (min-width: 540px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static,.form-inline .form-grid .form-row .form-label label,.form-grid .form-row .form-label .form-inline label{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:1.6785714286rem}.form-horizontal .radio,.form-horizontal .checkbox{min-height:3.2785714286rem}.form-horizontal .form-group{margin-left:-30px;margin-right:-30px}.form-horizontal .form-group:before,.form-horizontal .form-group:after{content:" ";display:table}.form-horizontal .form-group:after{clear:both}@media (min-width: 540px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:1.6785714286rem}}.form-horizontal .has-feedback .form-control-feedback{right:30px}@media (min-width: 540px){.form-horizontal .form-group-lg .control-label{padding-top:2.2857142857rem;font-size:1.1428571429rem}}@media (min-width: 540px){.form-horizontal .form-group-sm .control-label{padding-top:1.4464285714rem;font-size:.9285714286rem}}.btn{display:inline-block;margin-bottom:0;font-weight:bold;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:.6785714286rem 1.25rem;font-size:1rem;line-height:1.6;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn.focus,.btn:active:focus,.btn:active.focus,.btn.active:focus,.btn.active.focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#484e53;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#484e53;background-color:#f0f2f4;border-color:transparent}.btn-default:focus,.btn-default.focus{color:#484e53;background-color:#e9ebef}.btn-default:hover{color:#484e53;background-color:#e9ebef}.btn-default:active,.btn-default.active,.open>.btn-default.dropdown-toggle{color:#484e53;background-color:#e9ebef}.btn-default:active:hover,.btn-default:active:focus,.btn-default:active.focus,.btn-default.active:hover,.btn-default.active:focus,.btn-default.active.focus,.open>.btn-default.dropdown-toggle:hover,.open>.btn-default.dropdown-toggle:focus,.open>.btn-default.dropdown-toggle.focus{color:#484e53;background-color:#e9ebef}.btn-default:active,.btn-default.active,.open>.btn-default.dropdown-toggle{background-image:none}.btn-default.disabled:hover,.btn-default.disabled:focus,.btn-default.disabled.focus,.btn-default[disabled]:hover,.btn-default[disabled]:focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default:hover,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default.focus{background-color:#f0f2f4;border-color:transparent}.btn-default .badge{color:#f0f2f4;background-color:#484e53}.btn-primary{color:#fff;background-color:#0bb;border-color:transparent}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#009595}.btn-primary:hover{color:#fff;background-color:#009595}.btn-primary:active,.btn-primary.active,.open>.btn-primary.dropdown-toggle{color:#fff;background-color:#009595}.btn-primary:active:hover,.btn-primary:active:focus,.btn-primary:active.focus,.btn-primary.active:hover,.btn-primary.active:focus,.btn-primary.active.focus,.open>.btn-primary.dropdown-toggle:hover,.open>.btn-primary.dropdown-toggle:focus,.open>.btn-primary.dropdown-toggle.focus{color:#fff;background-color:#009595}.btn-primary:active,.btn-primary.active,.open>.btn-primary.dropdown-toggle{background-image:none}.btn-primary.disabled:hover,.btn-primary.disabled:focus,.btn-primary.disabled.focus,.btn-primary[disabled]:hover,.btn-primary[disabled]:focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary:hover,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary.focus{background-color:#0bb;border-color:transparent}.btn-primary .badge{color:#0bb;background-color:#fff}.btn-success{color:#fff;background-color:#7ec631;border-color:transparent}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#48a71c}.btn-success:hover{color:#fff;background-color:#48a71c}.btn-success:active,.btn-success.active,.open>.btn-success.dropdown-toggle{color:#fff;background-color:#48a71c}.btn-success:active:hover,.btn-success:active:focus,.btn-success:active.focus,.btn-success.active:hover,.btn-success.active:focus,.btn-success.active.focus,.open>.btn-success.dropdown-toggle:hover,.open>.btn-success.dropdown-toggle:focus,.open>.btn-success.dropdown-toggle.focus{color:#fff;background-color:#48a71c}.btn-success:active,.btn-success.active,.open>.btn-success.dropdown-toggle{background-image:none}.btn-success.disabled:hover,.btn-success.disabled:focus,.btn-success.disabled.focus,.btn-success[disabled]:hover,.btn-success[disabled]:focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success:hover,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success.focus{background-color:#7ec631;border-color:transparent}.btn-success .badge{color:#7ec631;background-color:#fff}.btn-info{color:#fff;background-color:#0bb;border-color:transparent}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#009595}.btn-info:hover{color:#fff;background-color:#009595}.btn-info:active,.btn-info.active,.open>.btn-info.dropdown-toggle{color:#fff;background-color:#009595}.btn-info:active:hover,.btn-info:active:focus,.btn-info:active.focus,.btn-info.active:hover,.btn-info.active:focus,.btn-info.active.focus,.open>.btn-info.dropdown-toggle:hover,.open>.btn-info.dropdown-toggle:focus,.open>.btn-info.dropdown-toggle.focus{color:#fff;background-color:#009595}.btn-info:active,.btn-info.active,.open>.btn-info.dropdown-toggle{background-image:none}.btn-info.disabled:hover,.btn-info.disabled:focus,.btn-info.disabled.focus,.btn-info[disabled]:hover,.btn-info[disabled]:focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info:hover,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info.focus{background-color:#0bb;border-color:transparent}.btn-info .badge{color:#0bb;background-color:#fff}.btn-warning{color:#fff;background-color:#ff9b26;border-color:transparent}.btn-warning:focus,.btn-warning.focus{color:#fff;background-color:#ff6316}.btn-warning:hover{color:#fff;background-color:#ff6316}.btn-warning:active,.btn-warning.active,.open>.btn-warning.dropdown-toggle{color:#fff;background-color:#ff6316}.btn-warning:active:hover,.btn-warning:active:focus,.btn-warning:active.focus,.btn-warning.active:hover,.btn-warning.active:focus,.btn-warning.active.focus,.open>.btn-warning.dropdown-toggle:hover,.open>.btn-warning.dropdown-toggle:focus,.open>.btn-warning.dropdown-toggle.focus{color:#fff;background-color:#ff6316}.btn-warning:active,.btn-warning.active,.open>.btn-warning.dropdown-toggle{background-image:none}.btn-warning.disabled:hover,.btn-warning.disabled:focus,.btn-warning.disabled.focus,.btn-warning[disabled]:hover,.btn-warning[disabled]:focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning:hover,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning.focus{background-color:#ff9b26;border-color:transparent}.btn-warning .badge{color:#ff9b26;background-color:#fff}.btn-danger{color:#fff;background-color:#ff694b;border-color:transparent}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#ff3c2b}.btn-danger:hover{color:#fff;background-color:#ff3c2b}.btn-danger:active,.btn-danger.active,.open>.btn-danger.dropdown-toggle{color:#fff;background-color:#ff3c2b}.btn-danger:active:hover,.btn-danger:active:focus,.btn-danger:active.focus,.btn-danger.active:hover,.btn-danger.active:focus,.btn-danger.active.focus,.open>.btn-danger.dropdown-toggle:hover,.open>.btn-danger.dropdown-toggle:focus,.open>.btn-danger.dropdown-toggle.focus{color:#fff;background-color:#ff3c2b}.btn-danger:active,.btn-danger.active,.open>.btn-danger.dropdown-toggle{background-image:none}.btn-danger.disabled:hover,.btn-danger.disabled:focus,.btn-danger.disabled.focus,.btn-danger[disabled]:hover,.btn-danger[disabled]:focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger:hover,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger.focus{background-color:#ff694b;border-color:transparent}.btn-danger .badge{color:#ff694b;background-color:#fff}.btn-link{color:#0bb;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#009595;text-decoration:none;background-color:transparent}.btn-link[disabled]:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:hover,fieldset[disabled] .btn-link:focus{color:#8b969e;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:1.2857142857rem 1.875rem;font-size:1.1428571429rem;line-height:1.6;border-radius:4px}.btn-sm,.btn-group-sm>.btn{padding:.4464285714rem .875rem;font-size:.9285714286rem;line-height:1.6;border-radius:4px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:.9285714286rem;line-height:1.6;border-radius:4px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \\9 ;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:1rem;text-align:left;background-color:#fff;border:1px solid transparent;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:-.2rem 0;overflow:hidden;background-color:rgba(0,30,60,0.075)}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.6;color:#5e666c;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#313539;background-color:#f9fafb}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#0bb}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#8b969e}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:.9285714286rem;line-height:1.6;color:#8b969e;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid \\9 ;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width: 960px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar:before,.btn-toolbar:after{content:" ";display:table}.btn-toolbar:after{clear:both}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle,.btn-group-lg.btn-group>.btn+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret,.btn-group-lg>.btn .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret,.dropup .btn-group-lg>.btn .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{content:" ";display:table}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:.6785714286rem 1.25rem;font-size:1rem;font-weight:normal;line-height:1;color:#484e53;text-align:center;background-color:#f0f2f4;border:1px solid transparent;border-radius:4px}.input-group-addon.input-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:.4464285714rem .875rem;font-size:.9285714286rem;border-radius:4px}.input-group-addon.input-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:1.2857142857rem 1.875rem;font-size:1.1428571429rem;border-radius:4px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav:before,.nav:after{content:" ";display:table}.nav:after{clear:both}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:.6785714286rem .875rem}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#f9fafb}.nav>li.disabled>a{color:#8b969e}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#8b969e;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#f9fafb;border-color:#0bb}.nav .nav-divider{height:1px;margin:-.2rem 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid rgba(0,30,60,0.075)}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.6;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#ff694b #ff694b rgba(0,30,60,0.075)}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:inherit;background-color:transparent;border:1px solid #ff694b;border-bottom-color:transparent;cursor:default}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:1000px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#0bb}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified,.nav-tabs.nav-justified{width:100%}.nav-justified>li,.nav-tabs.nav-justified>li{float:none}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width: 540px){.nav-justified>li,.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified,.nav-tabs.nav-justified{border-bottom:0}.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs.nav-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width: 540px){.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs.nav-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#f9fafb}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.breadcrumb{padding:1.2857142857rem 1.875rem;margin-bottom:1.6rem;list-style:none;background-color:#f9fafb;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\\A0";padding:0 5px;color:#8b969e}.breadcrumb>.active{color:#313539}.pagination{display:inline-block;padding-left:0;margin:1.6rem 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:.6785714286rem 1.25rem;line-height:1.6;text-decoration:none;color:#0bb;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>a:focus,.pagination>li>span:hover,.pagination>li>span:focus{z-index:2;color:#009595;background-color:#f7f7f8;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:hover,.pagination>.active>a:focus,.pagination>.active>span,.pagination>.active>span:hover,.pagination>.active>span:focus{z-index:3;color:#fff;background-color:#0bb;border-color:#0bb;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#bec5c9;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:1.2857142857rem 1.875rem;font-size:1.1428571429rem;line-height:1.6}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination-sm>li>a,.pagination-sm>li>span{padding:.4464285714rem .875rem;font-size:.9285714286rem;line-height:1.6}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pager{padding-left:0;margin:1.6rem 0;list-style:none;text-align:center}.pager:before,.pager:after{content:" ";display:table}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#f7f7f8}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#bec5c9;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#8b969e;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label:empty{display:none}.btn .label{position:relative;top:-1px}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label-default{background-color:transparent}.label-default[href]:hover,.label-default[href]:focus{background-color:transparent}.label-primary{background-color:transparent}.label-primary[href]:hover,.label-primary[href]:focus{background-color:transparent}.label-success{background-color:transparent}.label-success[href]:hover,.label-success[href]:focus{background-color:transparent}.label-info{background-color:transparent}.label-info[href]:hover,.label-info[href]:focus{background-color:transparent}.label-warning{background-color:transparent}.label-warning[href]:hover,.label-warning[href]:focus{background-color:transparent}.label-danger{background-color:transparent}.label-danger[href]:hover,.label-danger[href]:focus{background-color:transparent}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:.9285714286rem;font-weight:bold;color:#8b969e;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#f0f2f4;border-radius:100px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#0bb;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.thumbnail{display:block;padding:0;margin-bottom:1.6rem;line-height:1.6;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-transition:border 0.2s ease-in-out;-o-transition:border 0.2s ease-in-out;transition:border 0.2s ease-in-out}.thumbnail>img,.thumbnail a>img{display:block;max-width:100%;height:auto;margin-left:auto;margin-right:auto}.thumbnail .caption{padding:20px 30px;color:#8b969e}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#0bb}.alert{padding:1.2857142857rem 1.875rem;margin-bottom:1.6rem;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:inherit}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:1.2857142857rem 1.875rem20}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#f3faec;border-color:transparent;color:#48a71c}.alert-success hr{border-top-color:transparent}.alert-success .alert-link{color:#357b15}.alert-info{background-color:#edfafa;border-color:transparent;color:#0aa}.alert-info hr{border-top-color:transparent}.alert-info .alert-link{color:#077}.alert-warning{background-color:#fff6ec;border-color:transparent;color:#ff6316}.alert-warning hr{border-top-color:transparent}.alert-warning .alert-link{color:#e24b00}.alert-danger{background-color:#fff5f4;border-color:transparent;color:#ff694b}.alert-danger hr{border-top-color:transparent}.alert-danger .alert-link{color:#ff3f18}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:1.6rem;margin-bottom:1.6rem;background-color:#f0f2f4;border-radius:100px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:.9285714286rem;line-height:1.6rem;color:#8b969e;text-align:center;background-color:#0bb;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#7ec631}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#0bb}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#ff9b26}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#ff694b}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,30,60,0.075)}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#5e666c}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#313539}a.list-group-item:hover,a.list-group-item:focus,button.list-group-item:hover,button.list-group-item:focus{text-decoration:none;color:#313539;background-color:#f9fafb}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#f9fafb;color:#8b969e;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#8b969e}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#0bb;border-color:rgba(0,30,60,0.03)}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#fff}.list-group-item-success{color:#48a71c;background-color:#f3faec}a.list-group-item-success,button.list-group-item-success{color:#48a71c}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:hover,button.list-group-item-success:focus{color:#48a71c;background-color:#e6f5d8}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active,button.list-group-item-success.active:hover,button.list-group-item-success.active:focus{color:#fff;background-color:#48a71c;border-color:#48a71c}.list-group-item-info{color:#0aa;background-color:#edfafa}a.list-group-item-info,button.list-group-item-info{color:#0aa}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:hover,button.list-group-item-info:focus{color:#0aa;background-color:#d9f4f4}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active,button.list-group-item-info.active:hover,button.list-group-item-info.active:focus{color:#fff;background-color:#0aa;border-color:#0aa}.list-group-item-warning{color:#ff6316;background-color:#fff6ec}a.list-group-item-warning,button.list-group-item-warning{color:#ff6316}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:hover,button.list-group-item-warning:focus{color:#ff6316;background-color:#ffead3}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active,button.list-group-item-warning.active:hover,button.list-group-item-warning.active:focus{color:#fff;background-color:#ff6316;border-color:#ff6316}.list-group-item-danger{color:#ff694b;background-color:#fff5f4}a.list-group-item-danger,button.list-group-item-danger{color:#ff694b}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:hover,button.list-group-item-danger:focus{color:#ff694b;background-color:#ffdedb}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active,button.list-group-item-danger.active:hover,button.list-group-item-danger.active:focus{color:#fff;background-color:#ff694b;border-color:#ff694b}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:1.6rem;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-body:before,.panel-body:after{content:" ";display:table}.panel-body:after{clear:both}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:2rem;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:transparent;border-top:1px solid transparent;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid rgba(0,30,60,0.075)}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:1.6rem}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid transparent}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid transparent}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#5e666c;background-color:transparent;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:transparent;background-color:#5e666c}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#0bb}.panel-primary>.panel-heading{color:#fff;background-color:#0bb;border-color:#0bb}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#0bb}.panel-primary>.panel-heading .badge{color:#0bb;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#0bb}.panel-success{border-color:transparent}.panel-success>.panel-heading{color:#48a71c;background-color:#f3faec;border-color:transparent}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-success>.panel-heading .badge{color:#f3faec;background-color:#48a71c}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.panel-info{border-color:transparent}.panel-info>.panel-heading{color:#0aa;background-color:#edfafa;border-color:transparent}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-info>.panel-heading .badge{color:#edfafa;background-color:#0aa}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.panel-warning{border-color:transparent}.panel-warning>.panel-heading{color:#ff6316;background-color:#fff6ec;border-color:transparent}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-warning>.panel-heading .badge{color:#fff6ec;background-color:#ff6316}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.panel-danger{border-color:transparent}.panel-danger>.panel-heading{color:#ff694b;background-color:#fff5f4;border-color:transparent}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-danger>.panel-heading .badge{color:#fff5f4;background-color:#ff694b}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f0f2f4;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:4px}.well-sm{padding:9px;border-radius:4px}.close{float:right;font-size:1.5rem;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform 0.3s ease-out;-moz-transition:-moz-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:transparent;border:1px solid transparent;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#f0f2f4}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.75;filter:alpha(opacity=75)}.modal-header{padding:0;border-bottom:1px solid transparent}.modal-header:before,.modal-header:after{content:" ";display:table}.modal-header:after{clear:both}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.6}.modal-body{position:relative;padding:0}.modal-footer{padding:0;text-align:right;border-top:1px solid transparent}.modal-footer:before,.modal-footer:after{content:" ";display:table}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width: 540px){.modal-dialog{width:768px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:400px}}@media (min-width: 768px){.modal-lg{width:960px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.6;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:.9285714286rem;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:1;filter:alpha(opacity=100)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:300px;padding:3px 8px;color:#fff;text-align:center;background-color:#007699;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#007699}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#007699}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#007699}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#007699}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#007699}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#007699}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#007699}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#007699}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:400px;padding:1px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.6;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:1rem;background-color:#ff694b;background-clip:padding-box;border:1px solid transparent;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:1rem;background-color:transparent;border-bottom:1px solid transparent;border-radius:3px 3px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:0}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:0;border-bottom-width:0;border-top-color:transparent;border-top-color:transparent;bottom:0}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#ff694b}.popover.right>.arrow{top:50%;left:0;margin-top:0;border-left-width:0;border-right-color:transparent;border-right-color:transparent}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#ff694b}.popover.bottom>.arrow{left:50%;margin-left:0;border-top-width:0;border-bottom-color:transparent;border-bottom-color:transparent;top:0}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#ff694b}.popover.left>.arrow{top:50%;right:0;margin-top:0;border-right-width:0;border-left-color:transparent;border-left-color:transparent}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#ff694b;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:0.6s ease-in-out left;-o-transition:0.6s ease-in-out left;transition:0.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto;line-height:1}@media all and (transform-3d), (-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform 0.6s ease-in-out;-moz-transition:-moz-transform 0.6s ease-in-out;-o-transition:-o-transform 0.6s ease-in-out;transition:transform 0.6s ease-in-out;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;-moz-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:120px;opacity:1;filter:alpha(opacity=100);font-size:20px;color:#fff;text-align:center;text-shadow:none;background-color:transparent}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.0001) 100%);background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\'#80000000\', endColorstr=\'#00000000\', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0%, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0%, rgba(0,0,0,0.5) 100%);background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0%, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\'#00000000\', endColorstr=\'#80000000\', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:\'\\2039\'}.carousel-control .icon-next:before{content:\'\\203A\'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid transparent;border-radius:10px;cursor:pointer;background-color:#000 \\9;background-color:transparent}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:none}.carousel-caption .btn{text-shadow:none}@media screen and (min-width: 540px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@font-face{font-family:"arrows";font-weight:normal;font-style:normal;src:url('+r(n(213))+') format("woff")}[class*="arrow-"]:not(.arrow-before):after,[class*="arrow-"].arrow-before:before{font-family:"arrows";text-transform:none;font-style:normal;font-weight:normal;line-height:.5}.arrow-large:not(.arrow-before):after,.arrow-large.arrow-before:before{text-transform:uppercase}.arrow-up:not(.arrow-before):after,.arrow-up.arrow-before:before{content:" a "}.arrow-right:not(.arrow-before):after,.arrow-right.arrow-before:before{content:" b "}.arrow-down:not(.arrow-before):after,.arrow-down.arrow-before:before{content:" c "}.arrow-left:not(.arrow-before):after,.arrow-left.arrow-before:before{content:" d "}.arrow-close:not(.arrow-before):after,.arrow-close.arrow-before:before{content:" e "}.arrow-check:not(.arrow-before):after,.arrow-check.arrow-before:before{content:" f "}@font-face{font-family:"entypo";font-weight:normal;font-style:normal;src:url('+r(n(214))+') format("woff")}[data-icon]{width:24px;height:10px;display:inline-block;vertical-align:middle}[data-icon]:before{display:block;position:relative;margin-top:-1px;top:-5px;speak:none;font-family:"entypo";font-style:normal;font-weight:normal;font-variant:normal;font-size:18px;line-height:1;text-align:center;text-transform:none;text-decoration:inherit}[data-icon].md:before{font-size:20px}[data-icon].lg{width:32px}[data-icon].lg:before{font-size:32px;top:-11px}[data-icon="note"]:before{content:"\\E800"}[data-icon="logo-db"]:before{content:"\\E8DE"}[data-icon="music"]:before{content:"\\E802"}[data-icon="search"]:before{content:"\\E803"}[data-icon="flashlight"]:before{content:"\\E804"}[data-icon="mail"]:before{content:"\\E805"}[data-icon="heart"]:before{content:"\\E80D"}[data-icon="heart-empty"]:before{content:"\\E80F"}[data-icon="star"]:before{content:"\\E810"}[data-icon="star-empty"]:before{content:"\\E813"}[data-icon="user"]:before{content:"\\E814"}[data-icon="users"]:before{content:"\\E817"}[data-icon="user-add"]:before{content:"\\E819"}[data-icon="video"]:before{content:"\\E81A"}[data-icon="picture"]:before{content:"\\E81D"}[data-icon="camera"]:before{content:"\\1F4F7"}[data-icon="layout"]:before{content:"\\E821"}[data-icon="menu"]:before{content:"\\E823"}[data-icon="check"]:before{content:"\\E824"}[data-icon="close"]:before{content:"\\E826"}[data-icon="cancel"]:before{content:"\\E826"}[data-icon="cancel-circled"]:before{content:"\\E806"}[data-icon="cancel-squared"]:before{content:"\\E808"}[data-icon="plus"]:before{content:"+"}[data-icon="plus-circled"]:before{content:"\\E809"}[data-icon="plus-squared"]:before{content:"\\E80A"}[data-icon="minus"]:before{content:"\\2212"}[data-icon="minus-circled"]:before{content:"\\E80E"}[data-icon="minus-squared"]:before{content:"\\E80C"}[data-icon="help"]:before{content:"\\E811"}[data-icon="help-circled"]:before{content:"\\E812"}[data-icon="info"]:before{content:"\\E815"}[data-icon="info-circled"]:before{content:"\\E816"}[data-icon="back"]:before{content:"\\E818"}[data-icon="home"]:before{content:"\\E81B"}[data-icon="link"]:before{content:"\\E81C"}[data-icon="attach"]:before{content:"\\E81F"}[data-icon="lock"]:before{content:"\\1F512"}[data-icon="lock-open"]:before{content:"\\E822"}[data-icon="eye"]:before{content:"\\E825"}[data-icon="tag"]:before{content:"\\E827"}[data-icon="bookmark"]:before{content:"\\1F516"}[data-icon="bookmarks"]:before{content:"\\E837"}[data-icon="flag"]:before{content:"\\E838"}[data-icon="thumbs-up"]:before{content:"\\E840"}[data-icon="thumbs-down"]:before{content:"\\E849"}[data-icon="download"]:before{content:"\\E85D"}[data-icon="upload"]:before{content:"\\E851"}[data-icon="upload-cloud"]:before{content:"\\E86B"}[data-icon="reply"]:before{content:"\\E86C"}[data-icon="reply-all"]:before{content:"\\E87B"}[data-icon="forward"]:before{content:"\\E87C"}[data-icon="quote"]:before{content:"\\E889"}[data-icon="code"]:before{content:"\\E88A"}[data-icon="export"]:before{content:"\\E899"}[data-icon="pencil"]:before{content:"\\270F"}[data-icon="feather"]:before{content:"\\E8A5"}[data-icon="print"]:before{content:"\\E8A8"}[data-icon="retweet"]:before{content:"\\E8A9"}[data-icon="keyboard"]:before{content:"\\2328"}[data-icon="comment"]:before{content:"\\E8AB"}[data-icon="chat"]:before{content:"\\E829"}[data-icon="bell"]:before{content:"\\1F514"}[data-icon="attention"]:before{content:"\\E839"}[data-icon="alert"]:before{content:"\\E841"}[data-icon="vcard"]:before{content:"\\E853"}[data-icon="address"]:before{content:"\\E85C"}[data-icon="location"]:before{content:"\\E852"}[data-icon="map"]:before{content:"\\E84A"}[data-icon="direction"]:before{content:"\\E86D"}[data-icon="compass"]:before{content:"\\E87A"}[data-icon="cup"]:before{content:"\\E850"}[data-icon="trash"]:before{content:"\\E888"}[data-icon="doc"]:before{content:"\\E88B"}[data-icon="docs"]:before{content:"\\E898"}[data-icon="doc-landscape"]:before{content:"\\E89B"}[data-icon="doc-text"]:before{content:"\\E8A6"}[data-icon="doc-text-inv"]:before{content:"\\E8A7"}[data-icon="newspaper"]:before{content:"\\1F4F0"}[data-icon="book-open"]:before{content:"\\E8AD"}[data-icon="book"]:before{content:"\\E8AC"}[data-icon="folder"]:before{content:"\\E82A"}[data-icon="archive"]:before{content:"\\E835"}[data-icon="box"]:before{content:"\\E83A"}[data-icon="rss"]:before{content:"\\E842"}[data-icon="phone"]:before{content:"\\E854"}[data-icon="cog"]:before{content:"\\E85E"}[data-icon="tools"]:before{content:"\\E860"}[data-icon="share"]:before{content:"\\E84B"}[data-icon="shareable"]:before{content:"\\E86E"}[data-icon="basket"]:before{content:"\\E879"}[data-icon="bag"]:before{content:"\\E87E"}[data-icon="calendar"]:before{content:"\\1F4C5"}[data-icon="login"]:before{content:"\\E88C"}[data-icon="logout"]:before{content:"\\E897"}[data-icon="mic"]:before{content:"\\E84D"}[data-icon="mute"]:before{content:"\\E84E"}[data-icon="sound"]:before{content:"\\E8AE"}[data-icon="volume"]:before{content:"\\E8B4"}[data-icon="clock"]:before{content:"\\E8AF"}[data-icon="hourglass"]:before{content:"\\231B"}[data-icon="lamp"]:before{content:"\\E82B"}[data-icon="light-down"]:before{content:"\\E834"}[data-icon="light-up"]:before{content:"\\E83B"}[data-icon="adjust"]:before{content:"\\E843"}[data-icon="block"]:before{content:"\\2588"}[data-icon="resize-full"]:before{content:"\\E85F"}[data-icon="resize-small"]:before{content:"\\E861"}[data-icon="popup"]:before{content:"\\E86A"}[data-icon="publish"]:before{content:"\\E86F"}[data-icon="window"]:before{content:"\\E878"}[data-icon="arrow-combo"]:before{content:"\\E87D"}[data-icon="down-circled"]:before{content:"\\E887"}[data-icon="left-circled"]:before{content:"\\E88D"}[data-icon="right-circled"]:before{content:"\\E896"}[data-icon="up-circled"]:before{content:"\\E89C"}[data-icon="down-open"]:before{content:"\\E84C"}[data-icon="left-open"]:before{content:"\\E8B2"}[data-icon="right-open"]:before{content:"\\E8B3"}[data-icon="up-open"]:before{content:"\\E8B5"}[data-icon="down-open-mini"]:before{content:"\\E8B6"}[data-icon="left-open-mini"]:before{content:"\\E833"}[data-icon="right-open-mini"]:before{content:"\\E832"}[data-icon="up-open-mini"]:before{content:"\\E83C"}[data-icon="down-open-big"]:before{content:"\\E844"}[data-icon="left-open-big"]:before{content:"\\E855"}[data-icon="right-open-big"]:before{content:"\\E85B"}[data-icon="up-open-big"]:before{content:"\\E862"}[data-icon="down"]:before{content:"\\E869"}[data-icon="left"]:before{content:"\\E870"}[data-icon="right"]:before{content:"\\E877"}[data-icon="up"]:before{content:"\\E87F"}[data-icon="down-dir"]:before{content:"\\E886"}[data-icon="left-dir"]:before{content:"\\E88E"}[data-icon="right-dir"]:before{content:"\\E895"}[data-icon="up-dir"]:before{content:"\\E89D"}[data-icon="down-bold"]:before{content:"\\E8A4"}[data-icon="left-bold"]:before{content:"\\E8BA"}[data-icon="right-bold"]:before{content:"\\E8B9"}[data-icon="up-bold"]:before{content:"\\E8B8"}[data-icon="down-thin"]:before{content:"\\E8B7"}[data-icon="left-thin"]:before{content:"\\E82C"}[data-icon="note-beamed"]:before{content:"\\E801"}[data-icon="up-thin"]:before{content:"\\E83D"}[data-icon="cw"]:before{content:"\\E856"}[data-icon="arrows-ccw"]:before{content:"\\E85A"}[data-icon="level-down"]:before{content:"\\E863"}[data-icon="level-up"]:before{content:"\\E868"}[data-icon="shuffle"]:before{content:"\\E871"}[data-icon="loop"]:before{content:"\\E876"}[data-icon="switch"]:before{content:"\\E880"}[data-icon="play"]:before{content:"\\E885"}[data-icon="stop"]:before{content:"\\E88F"}[data-icon="pause"]:before{content:"\\E894"}[data-icon="record"]:before{content:"\\E89E"}[data-icon="to-end"]:before{content:"\\E8A3"}[data-icon="to-start"]:before{content:"\\E8BB"}[data-icon="fast-forward"]:before{content:"\\E8BC"}[data-icon="fast-backward"]:before{content:"\\E8BD"}[data-icon="progress-0"]:before{content:"\\E8BE"}[data-icon="progress-1"]:before{content:"\\E82D"}[data-icon="progress-2"]:before{content:"\\E830"}[data-icon="progress-3"]:before{content:"\\E83E"}[data-icon="target"]:before{content:"\\E857"}[data-icon="palette"]:before{content:"\\E847"}[data-icon="list"]:before{content:"\\E859"}[data-icon="list-add"]:before{content:"\\E864"}[data-icon="signal"]:before{content:"\\E867"}[data-icon="trophy"]:before{content:"\\1F3C6"}[data-icon="battery"]:before{content:"\\1F50B"}[data-icon="back-in-time"]:before{content:"\\E881"}[data-icon="monitor"]:before{content:"\\E884"}[data-icon="mobile"]:before{content:"\\E890"}[data-icon="network"]:before{content:"\\E893"}[data-icon="cd"]:before{content:"\\E89F"}[data-icon="inbox"]:before{content:"\\E8A2"}[data-icon="install"]:before{content:"\\E8C2"}[data-icon="globe"]:before{content:"\\E8C1"}[data-icon="cloud"]:before{content:"\\2601"}[data-icon="cloud-thunder"]:before{content:"\\E8BF"}[data-icon="flash"]:before{content:"\\E82E"}[data-icon="moon"]:before{content:"\\E82F"}[data-icon="flight"]:before{content:"\\E83F"}[data-icon="paper-plane"]:before{content:"\\E845"}[data-icon="leaf"]:before{content:"\\E846"}[data-icon="lifebuoy"]:before{content:"\\E858"}[data-icon="mouse"]:before{content:"\\1F401"}[data-icon="briefcase"]:before{content:"\\1F4BC"}[data-icon="suitcase"]:before{content:"\\E873"}[data-icon="dot"]:before{content:"\\E874"}[data-icon="dot-2"]:before{content:"\\E882"}[data-icon="dot-3"]:before{content:"\\E883"}[data-icon="brush"]:before{content:"\\E891"}[data-icon="magnet"]:before{content:"\\E892"}[data-icon="infinity"]:before{content:"\\221E"}[data-icon="erase"]:before{content:"\\E8A1"}[data-icon="chart-pie"]:before{content:"\\E8C3"}[data-icon="chart-line"]:before{content:"\\E8C4"}[data-icon="chart-bar"]:before{content:"\\E8C5"}[data-icon="chart-area"]:before{content:"\\E8C6"}[data-icon="tape"]:before{content:"\\E8C7"}[data-icon="graduation-cap"]:before{content:"\\E8D2"}[data-icon="language"]:before{content:"\\E8D4"}[data-icon="ticket"]:before{content:"\\1F3AB"}[data-icon="water"]:before{content:"\\E8DA"}[data-icon="droplet"]:before{content:"\\1F4A7"}[data-icon="air"]:before{content:"\\E8E3"}[data-icon="credit-card"]:before{content:"\\E8EA"}[data-icon="floppy"]:before{content:"\\E8EB"}[data-icon="clipboard"]:before{content:"\\1F4CB"}[data-icon="megaphone"]:before{content:"\\E8F3"}[data-icon="database"]:before{content:"\\E8FA"}[data-icon="drive"]:before{content:"\\E8FC"}[data-icon="bucket"]:before{content:"\\E902"}[data-icon="thermometer"]:before{content:"\\E903"}[data-icon="key"]:before{content:"\\1F511"}[data-icon="flow-cascade"]:before{content:"\\E90B"}[data-icon="flow-branch"]:before{content:"\\E912"}[data-icon="flow-tree"]:before{content:"\\E913"}[data-icon="flow-line"]:before{content:"\\E91A"}[data-icon="flow-parallel"]:before{content:"\\E8C8"}[data-icon="rocket"]:before{content:"\\1F680"}[data-icon="gauge"]:before{content:"\\E8D3"}[data-icon="traffic-cone"]:before{content:"\\E8D8"}[data-icon="cc"]:before{content:"\\E8DB"}[data-icon="cc-by"]:before{content:"\\E8E1"}[data-icon="cc-nc"]:before{content:"\\E8E4"}[data-icon="cc-nc-eu"]:before{content:"\\E8E9"}[data-icon="cc-nc-jp"]:before{content:"\\E8EC"}[data-icon="cc-sa"]:before{content:"\\E8F1"}[data-icon="cc-nd"]:before{content:"\\E8F4"}[data-icon="cc-pd"]:before{content:"\\E8F9"}[data-icon="cc-zero"]:before{content:"\\E8FB"}[data-icon="cc-share"]:before{content:"\\E901"}[data-icon="cc-remix"]:before{content:"\\E904"}[data-icon="github"]:before{content:"\\E909"}[data-icon="github-circled"]:before{content:"\\E90C"}[data-icon="flickr"]:before{content:"\\E911"}[data-icon="flickr-circled"]:before{content:"\\E914"}[data-icon="vimeo"]:before{content:"\\E919"}[data-icon="vimeo-circled"]:before{content:"\\E8C9"}[data-icon="twitter"]:before{content:"\\E8D0"}[data-icon="twitter-circled"]:before{content:"\\E8D6"}[data-icon="facebook"]:before{content:"\\E8D7"}[data-icon="facebook-circled"]:before{content:"\\E8DC"}[data-icon="facebook-squared"]:before{content:"\\E8E0"}[data-icon="gplus"]:before{content:"\\E8E5"}[data-icon="gplus-circled"]:before{content:"\\E8E8"}[data-icon="pinterest"]:before{content:"\\E8ED"}[data-icon="pinterest-circled"]:before{content:"\\E8F0"}[data-icon="tumblr"]:before{content:"\\E8F5"}[data-icon="tumblr-circled"]:before{content:"\\E8F8"}[data-icon="linkedin"]:before{content:"\\E8FD"}[data-icon="linkedin-circled"]:before{content:"\\E900"}[data-icon="dribbble"]:before{content:"\\E905"}[data-icon="dribbble-circled"]:before{content:"\\E908"}[data-icon="stumbleupon"]:before{content:"\\E90D"}[data-icon="stumbleupon-circled"]:before{content:"\\E910"}[data-icon="lastfm"]:before{content:"\\E915"}[data-icon="lastfm-circled"]:before{content:"\\E918"}[data-icon="rdio"]:before{content:"\\E8CA"}[data-icon="rdio-circled"]:before{content:"\\E8D5"}[data-icon="spotify"]:before{content:"\\E8CF"}[data-icon="spotify-circled"]:before{content:"\\E8CE"}[data-icon="qq"]:before{content:"\\E8DD"}[data-icon="instagram"]:before{content:"\\E8DF"}[data-icon="dropbox"]:before{content:"\\E8E6"}[data-icon="evernote"]:before{content:"\\E8E7"}[data-icon="flattr"]:before{content:"\\E8EE"}[data-icon="skype"]:before{content:"\\E8EF"}[data-icon="skype-circled"]:before{content:"\\E8F6"}[data-icon="renren"]:before{content:"\\E8F7"}[data-icon="sina-weibo"]:before{content:"\\E8FE"}[data-icon="paypal"]:before{content:"\\E8FF"}[data-icon="picasa"]:before{content:"\\E906"}[data-icon="soundcloud"]:before{content:"\\E907"}[data-icon="mixi"]:before{content:"\\E90E"}[data-icon="behance"]:before{content:"\\E90F"}[data-icon="google-circles"]:before{content:"\\E916"}[data-icon="vkontakte"]:before{content:"\\E917"}[data-icon="smashing"]:before{content:"\\E8CB"}[data-icon="sweden"]:before{content:"\\E8CC"}[data-icon="db-shape"]:before{content:"\\E8CD"}[data-icon="bitbucket"]:before{content:"\\20AC"}*,*:before,*:after{position:relative;outline:none !important;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-smoothing:grayscale}html{-webkit-text-size-adjust:100%;font-size:14px}body{min-width:960px}.block{display:block !important}.inline{display:inline !important}.inline-block{display:inline-block !important}.invisible{visibility:hidden}.hidden{display:none}.blocklink{display:block;color:inherit;text-decoration:none !important}.blocklink:hover,.blocklink:focus{color:inherit}.fill{display:block;position:absolute;width:100%;height:100%;top:0;left:0}.full{display:block;position:absolute;width:100%;height:100%;top:0;left:0;position:fixed}.cover{display:block;position:absolute;left:0;top:0;bottom:0;right:0}.clear:after{display:table;content:\'\';clear:both}.clean{margin:0;padding:0;border:0;list-style-type:none}.clean li{margin:0;padding:0;list-style-type:none}.trim>*:first-child{margin-top:0}.trim>*:last-child{margin-bottom:0}.snug>*{margin-top:.5rem;margin-bottom:.5rem}.snug>*:first-child{margin-top:0}.snug>*:last-child{margin-bottom:0}.compact *{margin-top:0;margin-bottom:0}.component{display:block;border-width:0;background:white;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03);border-radius:4px}.transitions{-webkit-transition:all .5s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .5s cubic-bezier(0.25, 0, 0, 1);transition:all .5s cubic-bezier(0.25, 0, 0, 1)}.margin,.margin-top{margin-top:2em}.margin,.margin-bottom{margin-bottom:2em}.margin-small,.margin-small-top{margin-top:1em}.margin-small,.margin-small-bottom{margin-bottom:1em}.padding,.padding-top{padding-top:2em}.padding,.padding-bottom{margin-bottom:2em}.flush,.flush-top{margin-top:0 !important}.flush,.flush-bottom{margin-bottom:0 !important}@media print{html{font-size:9pt}html body{-webkit-print-color-adjust:exact}html a{white-space:nowrap}html,body{background:white !important}font-size:9pt;body{-webkit-print-color-adjust:exact}a{white-space:nowrap}@page{margin:0.75in 1in}}@media screen{html.print{font-size:9pt;font-size:9pt;background:#f9fafb}html.print body{-webkit-print-color-adjust:exact}html.print a{white-space:nowrap}html.print body{-webkit-print-color-adjust:exact}html.print a{white-space:nowrap}html.print body{padding:0.75in 1in;margin:.5in auto;max-width:8.5in;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03);height:auto}}.text-red{color:#ff694b !important}.text-red-dark{color:#ff4f39 !important}.text-red-darker{color:#ff3c2b !important}.text-red-darkest{color:#ff2d21 !important}.text-red-light{color:#ff845e !important}.text-red-lighter{color:#ffa376 !important}.text-red-lightest{color:#ffba94 !important}.text-red-highlight{color:#fff5f4 !important}.bg-red{background-color:#ff694b !important}.bg-red-dark{background-color:#ff4f39 !important}.bg-red-darker{background-color:#ff3c2b !important}.bg-red-darkest{background-color:#ff2d21 !important}.bg-red-light{background-color:#ff845e !important}.bg-red-lighter{background-color:#ffa376 !important}.bg-red-lightest{background-color:#ffba94 !important}.bg-red-highlight{background-color:#fff5f4 !important}.text-orange{color:#ff694b !important}.text-orange-dark{color:#ff4f39 !important}.text-orange-darker{color:#ff3c2b !important}.text-orange-darkest{color:#ff2d21 !important}.text-orange-light{color:#ff845e !important}.text-orange-lighter{color:#ffa376 !important}.text-orange-lightest{color:#ffba94 !important}.text-orange-highlight{color:#fff5f4 !important}.bg-orange{background-color:#ff694b !important}.bg-orange-dark{background-color:#ff4f39 !important}.bg-orange-darker{background-color:#ff3c2b !important}.bg-orange-darkest{background-color:#ff2d21 !important}.bg-orange-light{background-color:#ff845e !important}.bg-orange-lighter{background-color:#ffa376 !important}.bg-orange-lightest{background-color:#ffba94 !important}.bg-orange-highlight{background-color:#fff5f4 !important}.text-yellow{color:#fc0 !important}.text-yellow-dark{color:#ffc000 !important}.text-yellow-darker{color:#ffb100 !important}.text-yellow-darkest{color:#ff9e00 !important}.text-yellow-light{color:#ffd900 !important}.text-yellow-lighter{color:#ffe300 !important}.text-yellow-lightest{color:#ffea00 !important}.text-yellow-highlight{color:#fff8db !important}.bg-yellow{background-color:#fc0 !important}.bg-yellow-dark{background-color:#ffc000 !important}.bg-yellow-darker{background-color:#ffb100 !important}.bg-yellow-darkest{background-color:#ff9e00 !important}.bg-yellow-light{background-color:#ffd900 !important}.bg-yellow-lighter{background-color:#ffe300 !important}.bg-yellow-lightest{background-color:#ffea00 !important}.bg-yellow-highlight{background-color:#fff8db !important}.text-green{color:#7ec631 !important}.text-green-dark{color:#5fb825 !important}.text-green-darker{color:#48a71c !important}.text-green-darkest{color:#369115 !important}.text-green-light{color:#9ed53e !important}.text-green-lighter{color:#b7e04e !important}.text-green-lightest{color:#c9e862 !important}.text-green-highlight{color:#f3faec !important}.bg-green{background-color:#7ec631 !important}.bg-green-dark{background-color:#5fb825 !important}.bg-green-darker{background-color:#48a71c !important}.bg-green-darkest{background-color:#369115 !important}.bg-green-light{background-color:#9ed53e !important}.bg-green-lighter{background-color:#b7e04e !important}.bg-green-lightest{background-color:#c9e862 !important}.bg-green-highlight{background-color:#f3faec !important}.text-blue{color:#0bb !important}.text-blue-dark{color:#0aa !important}.text-blue-darker{color:#009595 !important}.text-blue-darkest{color:#007b7b !important}.text-blue-light{color:#0cc !important}.text-blue-lighter{color:#00d9d9 !important}.text-blue-lightest{color:#00e3e3 !important}.text-blue-highlight{color:#edfafa !important}.bg-blue{background-color:#0bb !important}.bg-blue-dark{background-color:#0aa !important}.bg-blue-darker{background-color:#009595 !important}.bg-blue-darkest{background-color:#007b7b !important}.bg-blue-light{background-color:#0cc !important}.bg-blue-lighter{background-color:#00d9d9 !important}.bg-blue-lightest{background-color:#00e3e3 !important}.bg-blue-highlight{background-color:#edfafa !important}.text-purple{color:#7f6cc5 !important}.text-purple-dark{color:#6051b7 !important}.text-purple-darker{color:#483da5 !important}.text-purple-darkest{color:#362e8f !important}.text-purple-light{color:#9f87d4 !important}.text-purple-lighter{color:#b7a5df !important}.text-purple-lightest{color:#c9bce7 !important}.text-purple-highlight{color:#f8f7fc !important}.bg-purple{background-color:#7f6cc5 !important}.bg-purple-dark{background-color:#6051b7 !important}.bg-purple-darker{background-color:#483da5 !important}.bg-purple-darkest{background-color:#362e8f !important}.bg-purple-light{background-color:#9f87d4 !important}.bg-purple-lighter{background-color:#b7a5df !important}.bg-purple-lightest{background-color:#c9bce7 !important}.bg-purple-highlight{background-color:#f8f7fc !important}.text-navy{color:#005e7a !important}.text-navy-dark{color:#00475c !important}.text-navy-darker{color:#003645 !important}.text-navy-darkest{color:#002934 !important}.text-navy-light{color:#007699 !important}.text-navy-lighter{color:#0094b3 !important}.text-navy-lightest{color:#00afc6 !important}.text-navy-highlight{color:#f4f8f9 !important}.bg-navy{background-color:#005e7a !important}.bg-navy-dark{background-color:#00475c !important}.bg-navy-darker{background-color:#003645 !important}.bg-navy-darkest{background-color:#002934 !important}.bg-navy-light{background-color:#007699 !important}.bg-navy-lighter{background-color:#0094b3 !important}.bg-navy-lightest{background-color:#00afc6 !important}.bg-navy-highlight{background-color:#f4f8f9 !important}.text-gray{color:#8b969e !important}.text-gray-dark{color:#6e7c86 !important}.text-gray-darker{color:#535d68 !important}.text-gray-darkest{color:#3f464e !important}.text-gray-light{color:#a8b1b7 !important}.text-gray-lighter{color:#bec5c9 !important}.text-gray-lightest{color:#cfd4d7 !important}.text-gray-highlight{color:#f7f7f8 !important}.bg-gray{background-color:#8b969e !important}.bg-gray-dark{background-color:#6e7c86 !important}.bg-gray-darker{background-color:#535d68 !important}.bg-gray-darkest{background-color:#3f464e !important}.bg-gray-light{background-color:#a8b1b7 !important}.bg-gray-lighter{background-color:#bec5c9 !important}.bg-gray-lightest{background-color:#cfd4d7 !important}.bg-gray-highlight{background-color:#f7f7f8 !important}.text-success{color:#5fb825 !important}.text-danger{color:#ff4f39 !important}.text-warning{color:#ff821d !important}.text-info{color:#0aa !important}.text-white{color:white !important}.text-light{color:#8b969e !important}.text-lighter{color:#bec5c9 !important}.text-dark{color:#313539 !important}.text-inherit{color:inherit}.text-inherit:hover,.text-inherit:focus{color:inherit}.text-silver{color:#f0f2f4 !important}.text-silver-light{color:#f9fafb !important}.text-silver-dark{color:#e9ebef !important}.text-silver-darker{color:#e4e6eb !important}.text-silver-darkest{color:#dee0e6 !important}.bg-silver{background-color:#f0f2f4}.bg-silver-light{background-color:#f9fafb !important}.bg-silver-dark{background-color:#e9ebef !important}.bg-silver-darker{background-color:#e4e6eb !important}.bg-silver-darkest{background-color:#dee0e6 !important}.bg-transparent{background-color:transparent !important}.faint{opacity:.5}.fainter{opacity:.3}.inherit{color:inherit}::selection{background:#0bb;color:#fff}::-moz-selection{background:#0bb;color:#fff}img{display:block;max-width:100%}[data-bg]{background:transparent no-repeat 50% 50%/cover}body{font-size:1rem;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;background:#f9fafb;color:#5e666c}*,dt,dd{line-height:calc(1em + .15 * (5rem - 1em));text-align:inherit}a,.a{cursor:pointer;color:#0bb;text-decoration:none}a:hover,a:focus,.a:hover,.a:focus{text-decoration:none;color:#009595}i,.i,em,.em{font-style:oblique}b,.b,strong,.strong{font-weight:bold}mark{background:#edfafa;color:#313539;padding:.1em 0;border-radius:4px}.normal{font-weight:normal !important}iframe{margin:0;display:block}label{margin:.5em 0;font-weight:normal}hr{margin:3em 0;border-top:1px solid rgba(0,30,60,0.075)}blockquote,ul,ol,p,.field,.table{margin:1.5em 0}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{margin:1.5em 0 .5em}ul,ol{padding-left:1.25em}dl dt+dd{margin-bottom:1em}blockquote{padding:0;font-size:inherit}small,.small,.text-small{font-size:.9285714286rem}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{font-weight:bold;letter-spacing:.01em}h5,.h5,h6,.h6,.text-base{font-size:1rem}h4,.h4,.text-large{font-size:1.1428571429rem}h3,.h3,.text-larger{font-size:1.2857142857rem}h1,.h1,h2,.h2,.text-largest{font-size:1.7142857143rem}.text-body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif}.text-mono{font-family:"Monaco",monospace;font-size:.8571428571rem !important}.text-smallcaps{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#8b969e;font-weight:bold;font-style:normal}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}@media (min-width: 961px){.text-center-large{text-align:center !important}.text-right-large{text-align:right !important}.text-left-large{text-align:left !important}}@media (max-width: 960px){.text-center-small{text-align:center !important}.text-right-small{text-align:right !important}.text-left-small{text-align:left !important}}@media (min-width: 401px){.nowrap{white-space:nowrap}}.condensed{white-space:nowrap;width:1px}.ellipsis{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wrap{white-space:normal}.break{word-break:break-word}.buffer,.card,.title,.tokens,.settings{margin-top:20px;margin-bottom:20px}*:first-child{margin-top:0}*:last-child{margin-bottom:0}.margin-right{margin-right:.75em !important}.margin-left{margin-left:.75em !important}.margin-right-small{margin-right:.375em !important}.margin-left-small{margin-left:.375em !important}.icn{font-size:16px;top:-1px;width:1em;height:1em;margin:auto;display:inline-block;vertical-align:middle;-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0);transform:translateZ(0)}.icn use{fill:currentColor}.icn-md{width:1.5em;height:1.5em;-webkit-transform:scale(1.5);transform:scale(1.5);-webkit-transform-origin:0 0;transform-origin:0 0}.icn-lg{width:2em;height:2em;-webkit-transform:scale(2);transform:scale(2);-webkit-transform-origin:0 0;transform-origin:0 0}.glyph{top:-1px;margin:auto;font-size:24px;display:inline-block;vertical-align:middle;transform:translate(0, 0);width:1em;height:1em}.glyph use{fill:none;stroke-width:2;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;transform-origin:0 0;shape-rendering:geometricPrecision}.glyph-solid use{fill:currentColor;stroke-width:0 !important}.glyph-middle,.btn .glyph{margin-top:-10px;margin-bottom:-8px}.glyph-before{margin-right:.25em;margin-left:-.125em}.glyph-after{margin-left:.25em;margin-right:-.125em}.glyph-sm{font-size:16px}.glyph-sm use{stroke-width:3}@media (-webkit-min-device-pixel-ratio: 1.25), (min-device-pixel-ratio: 1.25){.glyph-sm use{stroke-width:2.25}}.glyph-md{font-size:36px}.glyph-md use{stroke-width:1.3333333333}@media (-webkit-min-device-pixel-ratio: 1.25), (min-device-pixel-ratio: 1.25){.glyph-md use{stroke-width:1}}.glyph-lg{font-size:48px}.glyph-lg use{stroke-width:1}@media (-webkit-min-device-pixel-ratio: 1.25), (min-device-pixel-ratio: 1.25){.glyph-lg use{stroke-width:.75}}.glyph-xl{font-size:72px}.glyph-xl use{stroke-width:.6666666667}@media (-webkit-min-device-pixel-ratio: 1.25), (min-device-pixel-ratio: 1.25){.glyph-xl use{stroke-width:.5}}.glyph-check,.glyph-radio{font-size:18px;border:2px solid currentColor;opacity:.25}.glyph-check use,.glyph-radio use{opacity:0}:hover>.glyph-check,:focus ~ .glyph-check,:hover>.glyph-radio,:focus ~ .glyph-radio{opacity:.5}:checked ~ .glyph-check,:disabled ~ .glyph-check,[type="checkbox"]:indeterminate ~ .glyph-check,:checked ~ .glyph-radio,:disabled ~ .glyph-radio,[type="checkbox"]:indeterminate ~ .glyph-radio{border-color:transparent !important}:checked ~ .glyph-check,[type="checkbox"]:indeterminate ~ .glyph-check,:checked ~ .glyph-radio,[type="checkbox"]:indeterminate ~ .glyph-radio{opacity:1;background:#0bb}:checked ~ .glyph-check use,[type="checkbox"]:indeterminate ~ .glyph-check use,:checked ~ .glyph-radio use,[type="checkbox"]:indeterminate ~ .glyph-radio use{opacity:1;color:white}:checked:hover ~ .glyph-check,:checked:focus ~ .glyph-check,[type="checkbox"]:indeterminate:hover ~ .glyph-check,[type="checkbox"]:indeterminate:focus ~ .glyph-check,:hover>:checked ~ .glyph-check,:focus>:checked ~ .glyph-check,:checked:hover ~ .glyph-radio,:checked:focus ~ .glyph-radio,[type="checkbox"]:indeterminate:hover ~ .glyph-radio,[type="checkbox"]:indeterminate:focus ~ .glyph-radio,:hover>:checked ~ .glyph-radio,:focus>:checked ~ .glyph-radio{background:#009595}[type="checkbox"]:indeterminate ~ .glyph-check use,[type="checkbox"]:indeterminate ~ .glyph-radio use{fill:currentColor;stroke:transparent}:disabled ~ .glyph-check,:checked:disabled ~ .glyph-check,[type="checkbox"]:indeterminate:disabled ~ .glyph-check,:disabled ~ .glyph-radio,:checked:disabled ~ .glyph-radio,[type="checkbox"]:indeterminate:disabled ~ .glyph-radio{opacity:.5;background:#dee0e6;color:inherit}:disabled ~ .glyph-check use,:checked:disabled ~ .glyph-check use,[type="checkbox"]:indeterminate:disabled ~ .glyph-check use,:disabled ~ .glyph-radio use,:checked:disabled ~ .glyph-radio use,[type="checkbox"]:indeterminate:disabled ~ .glyph-radio use{color:inherit}.glyph-radio{border-radius:50%}.glyph-radio use{fill:currentColor}.glyph-check{border-radius:4px}select:not([multiple]).form-control{background-size:.75em .75em;background-repeat:no-repeat;background-image:url('+r(n(215))+');background-position:calc( 100% - .875em ) 50%;padding-top:0;padding-bottom:0;padding-right:2.25em}select:not([multiple]).form-control::-ms-value{background:transparent !important}.bootstrap-select button{background-repeat:no-repeat;background-size:auto 1em;background-position:calc(100% - 1.25rem + 5px) 50%;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij48cG9seWxpbmUgcG9pbnRzPSI0LjUgNiA4IDkuNSAxMS41IDYiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwOTRiMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPjxyZWN0IHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0ibm9uZSIvPjwvc3ZnPg==");padding-right:2em !important;-moz-appearance:none}.bootstrap-select button.input-sm,.bootstrap-select .input-group-sm>button.form-control,.bootstrap-select .input-group-sm>button.input-group-addon,.bootstrap-select .input-group-sm>.input-group-btn>button.btn,.bootstrap-select button.sm{background-position:calc(100% - .875rem + 5px) 50%}.bootstrap-select button.input-lg,.bootstrap-select .input-group-lg>button.form-control,.bootstrap-select .input-group-lg>button.input-group-addon,.bootstrap-select .input-group-lg>.input-group-btn>button.btn,.bootstrap-select button.lg{background-position:calc(100% - 1.875rem + 5px) 50%}.bootstrap-select button::-ms-expand{display:none}.btn input,.form-control input,.option input{position:absolute;opacity:0}.option{margin:0}.option:not(.input-group-addon){padding-left:0 !important}.option-flush{padding-left:0 !important;padding-right:0 !important}.option.input-group-addon{padding-left:.875rem;padding-right:.875rem}.option .glyph{margin-right:.375em}/*! jQuery UI - v1.12.1 - 2017-01-20\n* http://jqueryui.com\n* Copyright jQuery Foundation and other contributors; Licensed MIT */.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default !important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;font-size:100%}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-button{padding:.4em 1em;display:inline-block;position:relative;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2em;box-sizing:border-box;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-button-icon-only{text-indent:0}.ui-button-icon-only .ui-icon{position:absolute;top:50%;left:50%;margin-top:-8px;margin-left:-8px}.ui-button.ui-icon-notext .ui-icon{padding:0;width:2.1em;height:2.1em;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-icon-notext .ui-icon{width:auto;height:auto;text-indent:0;white-space:normal;padding:.4em 1em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-controlgroup{vertical-align:middle;display:inline-block}.ui-controlgroup>.ui-controlgroup-item{float:left;margin-left:0;margin-right:0}.ui-controlgroup>.ui-controlgroup-item:focus,.ui-controlgroup>.ui-controlgroup-item.ui-visual-focus{z-index:9999}.ui-controlgroup-vertical>.ui-controlgroup-item{display:block;float:none;width:100%;margin-top:0;margin-bottom:0;text-align:left}.ui-controlgroup-vertical .ui-controlgroup-item{box-sizing:border-box}.ui-controlgroup .ui-controlgroup-label{padding:.4em 1em}.ui-controlgroup .ui-controlgroup-label span{font-size:80%}.ui-controlgroup-horizontal .ui-controlgroup-label+.ui-controlgroup-item{border-left:none}.ui-controlgroup-vertical .ui-controlgroup-label+.ui-controlgroup-item{border-top:none}.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content{border-right:none}.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content{border-bottom:none}.ui-controlgroup-vertical .ui-spinner-input{width:75%;width:calc( 100% - 2.4em )}.ui-controlgroup-vertical .ui-spinner .ui-spinner-up{border-top-style:solid}.ui-checkboxradio-label .ui-icon-background{box-shadow:inset 1px 1px 1px #ccc;border-radius:.12em;border:none}.ui-checkboxradio-radio-label .ui-icon-background{width:16px;height:16px;border-radius:1em;overflow:visible;border:none}.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon{background-image:none;width:8px;height:8px;border-width:4px;border-style:solid}.ui-checkboxradio-disabled{pointer-events:none}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;left:.5em;top:.3em}.ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-n{height:2px;top:0}.ui-dialog .ui-resizable-e{width:2px;right:0}.ui-dialog .ui-resizable-s{height:2px;bottom:0}.ui-dialog .ui-resizable-w{width:2px;left:0}.ui-dialog .ui-resizable-se,.ui-dialog .ui-resizable-sw,.ui-dialog .ui-resizable-ne,.ui-dialog .ui-resizable-nw{width:7px;height:7px}.ui-dialog .ui-resizable-se{right:0;bottom:0}.ui-dialog .ui-resizable-sw{left:0;bottom:0}.ui-dialog .ui-resizable-ne{right:0;top:0}.ui-dialog .ui-resizable-nw{left:0;top:0}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px 0.4em;margin:0.5em 0 0 0;height:auto;border:0}.ui-selectmenu-open{display:block}.ui-selectmenu-text{display:block;margin-right:20px;overflow:hidden;text-overflow:ellipsis}.ui-selectmenu-button.ui-button{text-align:left;white-space:nowrap;width:14em}.ui-selectmenu-icon.ui-icon{float:right;margin-top:0}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:.222em 0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:2em}.ui-spinner-button{width:1.6em;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top-style:none;border-bottom-style:none;border-right-style:none}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-widget{font-size:1rem;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 20px 20px -10px rgba(0,0,0,0.2);background:#fff;border-radius:4px;z-index:1050 !important;border-width:0}.ui-widget .ui-state-active,.ui-widget .ui-state-focus{margin:0;background:#0bb}.ui-widget .ui-state-active,.ui-widget .ui-state-active *,.ui-widget .ui-state-focus,.ui-widget .ui-state-focus *{color:#fff}.ui-widget.ui-datepicker{padding-left:10px;padding-right:10px;-webkit-transition:all 0.1875s cubic-bezier(0.25, 0, 0, 1.375);-o-transition:all 0.1875s cubic-bezier(0.25, 0, 0, 1.375);transition:all 0.1875s cubic-bezier(0.25, 0, 0, 1.375);-webkit-transform:scale(0.75);transform:scale(0.75);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, transform}.ui-widget.ui-datepicker.ui-widget-active{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 0;transform-origin:50% 0}.ui-widget.ui-datepicker .ui-datepicker-prev{top:2px !important;left:2px !important}.ui-widget.ui-datepicker .ui-datepicker-next{top:2px !important;right:2px !important}.ui-widget.ui-datepicker .ui-datepicker-month{font-weight:bold}.ui-widget.ui-datepicker tr>* a{text-align:center}.ui-widget.ui-datepicker td a{padding:.3em}.ui-widget.ui-autocomplete{padding:5px 0;max-height:240px;overflow:auto}.ui-widget.ui-autocomplete li{border:0;padding:0}.ui-widget.ui-autocomplete li .ui-menu-item-wrapper{padding:.4464285714rem 1.25rem}.ui-widget.ui-autocomplete li *{margin-top:0;margin-bottom:0}.ui-widget.ui-autocomplete li+li.ui-separator{margin-top:5px;padding-top:6px;border-top:1px solid rgba(0,30,60,0.075)}.ui-widget .ui-icon{overflow:visible}.ui-widget .ui-icon-circle-triangle-w:after,.ui-widget .ui-icon-circle-triangle-e:after{content:\'\';display:block;border:5px solid;border-top-color:transparent;border-bottom-color:transparent;position:absolute;width:0;height:0;top:5px;left:0}.ui-widget .ui-icon-circle-triangle-w:after{border-left-color:transparent}.ui-widget .ui-icon-circle-triangle-e:after{border-right-color:transparent;left:5px}.ui-sortable-handle,.ui-draggable-handle{cursor:move}tr.ui-sortable-helper{box-shadow:0 7px 10px rgba(0,0,0,0.2);border-radius:4px;display:table;z-index:2}tr.ui-sortable-helper>td,tr.ui-sortable-helper th{border:0 !important}tr.ui-sortable-helper>td:first-child,tr.ui-sortable-helper th:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}tr.ui-sortable-helper>td:last-child,tr.ui-sortable-helper th:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.ui-draggable-dragging,.ui-sortable-sorting{z-index:5001 !important}.ui-resizable-n,.ui-resizable-s{cursor:ns-resize}.ui-resizable-e,.ui-resizable-w{cursor:ew-resize}.caret,.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border:0 !important;margin-left:0;width:auto;height:auto;display:inline}.caret:after,.dropup .caret:after,.navbar-fixed-bottom .dropdown .caret:after{font-family:"arrows";text-transform:none;font-style:normal;font-weight:normal;line-height:.5;content:" c "}.dropdown-menu{-webkit-transform:scale(0.75);transform:scale(0.75);-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transition:all 0.1875s cubic-bezier(0.25, 0, 0, 1.375);-o-transition:all 0.1875s cubic-bezier(0.25, 0, 0, 1.375);transition:all 0.1875s cubic-bezier(0.25, 0, 0, 1.375);font-size:1rem;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 20px 20px -10px rgba(0,0,0,0.2);border-radius:4px !important;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, transform;padding:5px 0 !important;pointer-events:none;font-style:normal;border-width:0;display:block;left:-9999px;max-height:50vh;min-width:100%;max-width:240px;overflow:auto;opacity:0;margin:0}.dropdown-menu>li>a{margin:0;display:block;padding:.25em 15px}.dropdown-menu>li>a>*{margin:0}.dropdown-menu>li>a em{font-style:oblique;color:#8b969e}.dropdown-menu>li>a [data-icon]{margin-right:.25em}.dropdown-menu .divider{margin:5px 0}.dropdown-menu .dropdown-header{text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:500;padding:.5em 15px !important}.dropdown-menu-lg>li>*{padding-top:.5em;padding-bottom:.5em}.dropdown-menu-right{left:auto;right:9999px}.dropdown.open>.dropdown-menu{pointer-events:auto;-webkit-transform:scale(1);transform:scale(1);opacity:1;left:0}.dropdown.open>.dropdown-menu-right{right:0;left:auto}.dropdown{cursor:pointer}.dropdown-inline{display:inline-block}.form-group>*:not(:last-child),.form-inline>*:not(:last-child){margin-right:1em}.form-horizontal .form-group>*:not(:last-child),.form-horizontal .form-inline>*:not(:last-child){margin-right:0}.form-group>* label,.form-inline>* label{vertical-align:middle;margin:.6785714286rem 0}.help-block{display:block;color:#8b969e;font-style:oblique;font-weight:normal;font-size:.9285714286rem;margin:.25em 0}.help-block:empty{display:none}.help-block p{margin:0;display:inline}.help-block-inline{display:inline}.form-group-lg{font-size:1.1428571429rem}.form-footer{margin:2em 0}.form-footer:first-child{margin-top:0}.form-footer:last-child{margin-bottom:0}.btn{border-width:0;margin:0;cursor:pointer;overflow:hidden;text-overflow:ellipsis;font-size:1rem;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1);height:2.8571428571rem;line-height:1.5 !important;font-weight:bold;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03)}.btn-red{color:#fff;background-color:#ff694b;border-color:#ff694b}.btn-red:focus,.btn-red.focus{color:#fff;background-color:#ff3c2b}.btn-red:hover{color:#fff;background-color:#ff3c2b}.btn-red:active,.btn-red.active,.open>.btn-red.dropdown-toggle{color:#fff;background-color:#ff3c2b}.btn-red:active:hover,.btn-red:active:focus,.btn-red:active.focus,.btn-red.active:hover,.btn-red.active:focus,.btn-red.active.focus,.open>.btn-red.dropdown-toggle:hover,.open>.btn-red.dropdown-toggle:focus,.open>.btn-red.dropdown-toggle.focus{color:#fff;background-color:#ff3c2b}.btn-red:active,.btn-red.active,.open>.btn-red.dropdown-toggle{background-image:none}.btn-red.disabled:hover,.btn-red.disabled:focus,.btn-red.disabled.focus,.btn-red[disabled]:hover,.btn-red[disabled]:focus,.btn-red[disabled].focus,fieldset[disabled] .btn-red:hover,fieldset[disabled] .btn-red:focus,fieldset[disabled] .btn-red.focus{background-color:#ff694b;border-color:#ff694b}.btn-red .badge{color:#ff694b;background-color:#fff}.btn-blue{color:#fff;background-color:#0bb;border-color:#0bb}.btn-blue:focus,.btn-blue.focus{color:#fff;background-color:#009595}.btn-blue:hover{color:#fff;background-color:#009595}.btn-blue:active,.btn-blue.active,.open>.btn-blue.dropdown-toggle{color:#fff;background-color:#009595}.btn-blue:active:hover,.btn-blue:active:focus,.btn-blue:active.focus,.btn-blue.active:hover,.btn-blue.active:focus,.btn-blue.active.focus,.open>.btn-blue.dropdown-toggle:hover,.open>.btn-blue.dropdown-toggle:focus,.open>.btn-blue.dropdown-toggle.focus{color:#fff;background-color:#009595}.btn-blue:active,.btn-blue.active,.open>.btn-blue.dropdown-toggle{background-image:none}.btn-blue.disabled:hover,.btn-blue.disabled:focus,.btn-blue.disabled.focus,.btn-blue[disabled]:hover,.btn-blue[disabled]:focus,.btn-blue[disabled].focus,fieldset[disabled] .btn-blue:hover,fieldset[disabled] .btn-blue:focus,fieldset[disabled] .btn-blue.focus{background-color:#0bb;border-color:#0bb}.btn-blue .badge{color:#0bb;background-color:#fff}.btn-navy{color:#fff;background-color:#005e7a;border-color:#005e7a}.btn-navy:focus,.btn-navy.focus{color:#fff;background-color:#003645}.btn-navy:hover{color:#fff;background-color:#003645}.btn-navy:active,.btn-navy.active,.open>.btn-navy.dropdown-toggle{color:#fff;background-color:#003645}.btn-navy:active:hover,.btn-navy:active:focus,.btn-navy:active.focus,.btn-navy.active:hover,.btn-navy.active:focus,.btn-navy.active.focus,.open>.btn-navy.dropdown-toggle:hover,.open>.btn-navy.dropdown-toggle:focus,.open>.btn-navy.dropdown-toggle.focus{color:#fff;background-color:#003645}.btn-navy:active,.btn-navy.active,.open>.btn-navy.dropdown-toggle{background-image:none}.btn-navy.disabled:hover,.btn-navy.disabled:focus,.btn-navy.disabled.focus,.btn-navy[disabled]:hover,.btn-navy[disabled]:focus,.btn-navy[disabled].focus,fieldset[disabled] .btn-navy:hover,fieldset[disabled] .btn-navy:focus,fieldset[disabled] .btn-navy.focus{background-color:#005e7a;border-color:#005e7a}.btn-navy .badge{color:#005e7a;background-color:#fff}.btn-green{color:#fff;background-color:#7ec631;border-color:#7ec631}.btn-green:focus,.btn-green.focus{color:#fff;background-color:#48a71c}.btn-green:hover{color:#fff;background-color:#48a71c}.btn-green:active,.btn-green.active,.open>.btn-green.dropdown-toggle{color:#fff;background-color:#48a71c}.btn-green:active:hover,.btn-green:active:focus,.btn-green:active.focus,.btn-green.active:hover,.btn-green.active:focus,.btn-green.active.focus,.open>.btn-green.dropdown-toggle:hover,.open>.btn-green.dropdown-toggle:focus,.open>.btn-green.dropdown-toggle.focus{color:#fff;background-color:#48a71c}.btn-green:active,.btn-green.active,.open>.btn-green.dropdown-toggle{background-image:none}.btn-green.disabled:hover,.btn-green.disabled:focus,.btn-green.disabled.focus,.btn-green[disabled]:hover,.btn-green[disabled]:focus,.btn-green[disabled].focus,fieldset[disabled] .btn-green:hover,fieldset[disabled] .btn-green:focus,fieldset[disabled] .btn-green.focus{background-color:#7ec631;border-color:#7ec631}.btn-green .badge{color:#7ec631;background-color:#fff}.btn-orange{color:#fff;background-color:#ff694b;border-color:#ff694b}.btn-orange:focus,.btn-orange.focus{color:#fff;background-color:#ff3c2b}.btn-orange:hover{color:#fff;background-color:#ff3c2b}.btn-orange:active,.btn-orange.active,.open>.btn-orange.dropdown-toggle{color:#fff;background-color:#ff3c2b}.btn-orange:active:hover,.btn-orange:active:focus,.btn-orange:active.focus,.btn-orange.active:hover,.btn-orange.active:focus,.btn-orange.active.focus,.open>.btn-orange.dropdown-toggle:hover,.open>.btn-orange.dropdown-toggle:focus,.open>.btn-orange.dropdown-toggle.focus{color:#fff;background-color:#ff3c2b}.btn-orange:active,.btn-orange.active,.open>.btn-orange.dropdown-toggle{background-image:none}.btn-orange.disabled:hover,.btn-orange.disabled:focus,.btn-orange.disabled.focus,.btn-orange[disabled]:hover,.btn-orange[disabled]:focus,.btn-orange[disabled].focus,fieldset[disabled] .btn-orange:hover,fieldset[disabled] .btn-orange:focus,fieldset[disabled] .btn-orange.focus{background-color:#ff694b;border-color:#ff694b}.btn-orange .badge{color:#ff694b;background-color:#fff}.btn-yellow{color:#fff;background-color:#fc0;border-color:#fc0}.btn-yellow:focus,.btn-yellow.focus{color:#fff;background-color:#ffb100}.btn-yellow:hover{color:#fff;background-color:#ffb100}.btn-yellow:active,.btn-yellow.active,.open>.btn-yellow.dropdown-toggle{color:#fff;background-color:#ffb100}.btn-yellow:active:hover,.btn-yellow:active:focus,.btn-yellow:active.focus,.btn-yellow.active:hover,.btn-yellow.active:focus,.btn-yellow.active.focus,.open>.btn-yellow.dropdown-toggle:hover,.open>.btn-yellow.dropdown-toggle:focus,.open>.btn-yellow.dropdown-toggle.focus{color:#fff;background-color:#ffb100}.btn-yellow:active,.btn-yellow.active,.open>.btn-yellow.dropdown-toggle{background-image:none}.btn-yellow.disabled:hover,.btn-yellow.disabled:focus,.btn-yellow.disabled.focus,.btn-yellow[disabled]:hover,.btn-yellow[disabled]:focus,.btn-yellow[disabled].focus,fieldset[disabled] .btn-yellow:hover,fieldset[disabled] .btn-yellow:focus,fieldset[disabled] .btn-yellow.focus{background-color:#fc0;border-color:#fc0}.btn-yellow .badge{color:#fc0;background-color:#fff}.btn-purple{color:#fff;background-color:#7f6cc5;border-color:#7f6cc5}.btn-purple:focus,.btn-purple.focus{color:#fff;background-color:#483da5}.btn-purple:hover{color:#fff;background-color:#483da5}.btn-purple:active,.btn-purple.active,.open>.btn-purple.dropdown-toggle{color:#fff;background-color:#483da5}.btn-purple:active:hover,.btn-purple:active:focus,.btn-purple:active.focus,.btn-purple.active:hover,.btn-purple.active:focus,.btn-purple.active.focus,.open>.btn-purple.dropdown-toggle:hover,.open>.btn-purple.dropdown-toggle:focus,.open>.btn-purple.dropdown-toggle.focus{color:#fff;background-color:#483da5}.btn-purple:active,.btn-purple.active,.open>.btn-purple.dropdown-toggle{background-image:none}.btn-purple.disabled:hover,.btn-purple.disabled:focus,.btn-purple.disabled.focus,.btn-purple[disabled]:hover,.btn-purple[disabled]:focus,.btn-purple[disabled].focus,fieldset[disabled] .btn-purple:hover,fieldset[disabled] .btn-purple:focus,fieldset[disabled] .btn-purple.focus{background-color:#7f6cc5;border-color:#7f6cc5}.btn-purple .badge{color:#7f6cc5;background-color:#fff}.btn-white{color:#484e53;background-color:#fff;border-color:#fff}.btn-white:focus,.btn-white.focus{color:#484e53;background-color:#f9fafb}.btn-white:hover{color:#484e53;background-color:#f9fafb}.btn-white:active,.btn-white.active,.open>.btn-white.dropdown-toggle{color:#484e53;background-color:#f9fafb}.btn-white:active:hover,.btn-white:active:focus,.btn-white:active.focus,.btn-white.active:hover,.btn-white.active:focus,.btn-white.active.focus,.open>.btn-white.dropdown-toggle:hover,.open>.btn-white.dropdown-toggle:focus,.open>.btn-white.dropdown-toggle.focus{color:#484e53;background-color:#f9fafb}.btn-white:active,.btn-white.active,.open>.btn-white.dropdown-toggle{background-image:none}.btn-white.disabled:hover,.btn-white.disabled:focus,.btn-white.disabled.focus,.btn-white[disabled]:hover,.btn-white[disabled]:focus,.btn-white[disabled].focus,fieldset[disabled] .btn-white:hover,fieldset[disabled] .btn-white:focus,fieldset[disabled] .btn-white.focus{background-color:#fff;border-color:#fff}.btn-white .badge{color:#fff;background-color:#484e53}.btn-default{color:#484e53;background-color:#f0f2f4;border-color:#f0f2f4}.btn-default:focus,.btn-default.focus{color:#484e53;background-color:#e9ebef}.btn-default:hover{color:#484e53;background-color:#e9ebef}.btn-default:active,.btn-default.active,.open>.btn-default.dropdown-toggle{color:#484e53;background-color:#e9ebef}.btn-default:active:hover,.btn-default:active:focus,.btn-default:active.focus,.btn-default.active:hover,.btn-default.active:focus,.btn-default.active.focus,.open>.btn-default.dropdown-toggle:hover,.open>.btn-default.dropdown-toggle:focus,.open>.btn-default.dropdown-toggle.focus{color:#484e53;background-color:#e9ebef}.btn-default:active,.btn-default.active,.open>.btn-default.dropdown-toggle{background-image:none}.btn-default.disabled:hover,.btn-default.disabled:focus,.btn-default.disabled.focus,.btn-default[disabled]:hover,.btn-default[disabled]:focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default:hover,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default.focus{background-color:#f0f2f4;border-color:#f0f2f4}.btn-default .badge{color:#f0f2f4;background-color:#484e53}.btn-clear,.btn-text,.btn-link{background:transparent !important}.btn-text,.btn.text-inherit{color:inherit}.btn-text:hover,.btn-text:focus,.btn.text-inherit:hover,.btn.text-inherit:focus{color:inherit}.btn[class*="btn-highlight"],.btn-default,.btn-clear,.btn-text,.btn-link{box-shadow:none}.btn-highlight-info{color:#0aa;background-color:#edfafa;border-color:transparent}.btn-highlight-info:focus,.btn-highlight-info.focus{color:#0aa;background-color:#e4f8f8}.btn-highlight-info:hover{color:#0aa;background-color:#e4f8f8}.btn-highlight-info:active,.btn-highlight-info.active,.open>.btn-highlight-info.dropdown-toggle{color:#0aa;background-color:#e4f8f8}.btn-highlight-info:active:hover,.btn-highlight-info:active:focus,.btn-highlight-info:active.focus,.btn-highlight-info.active:hover,.btn-highlight-info.active:focus,.btn-highlight-info.active.focus,.open>.btn-highlight-info.dropdown-toggle:hover,.open>.btn-highlight-info.dropdown-toggle:focus,.open>.btn-highlight-info.dropdown-toggle.focus{color:#0aa;background-color:#e4f8f8}.btn-highlight-info:active,.btn-highlight-info.active,.open>.btn-highlight-info.dropdown-toggle{background-image:none}.btn-highlight-info.disabled:hover,.btn-highlight-info.disabled:focus,.btn-highlight-info.disabled.focus,.btn-highlight-info[disabled]:hover,.btn-highlight-info[disabled]:focus,.btn-highlight-info[disabled].focus,fieldset[disabled] .btn-highlight-info:hover,fieldset[disabled] .btn-highlight-info:focus,fieldset[disabled] .btn-highlight-info.focus{background-color:#edfafa;border-color:transparent}.btn-highlight-info .badge{color:#edfafa;background-color:#0aa}.btn-highlight-success{color:#48a71c;background-color:#f3faec;border-color:transparent}.btn-highlight-success:focus,.btn-highlight-success.focus{color:#48a71c;background-color:#edf8e3}.btn-highlight-success:hover{color:#48a71c;background-color:#edf8e3}.btn-highlight-success:active,.btn-highlight-success.active,.open>.btn-highlight-success.dropdown-toggle{color:#48a71c;background-color:#edf8e3}.btn-highlight-success:active:hover,.btn-highlight-success:active:focus,.btn-highlight-success:active.focus,.btn-highlight-success.active:hover,.btn-highlight-success.active:focus,.btn-highlight-success.active.focus,.open>.btn-highlight-success.dropdown-toggle:hover,.open>.btn-highlight-success.dropdown-toggle:focus,.open>.btn-highlight-success.dropdown-toggle.focus{color:#48a71c;background-color:#edf8e3}.btn-highlight-success:active,.btn-highlight-success.active,.open>.btn-highlight-success.dropdown-toggle{background-image:none}.btn-highlight-success.disabled:hover,.btn-highlight-success.disabled:focus,.btn-highlight-success.disabled.focus,.btn-highlight-success[disabled]:hover,.btn-highlight-success[disabled]:focus,.btn-highlight-success[disabled].focus,fieldset[disabled] .btn-highlight-success:hover,fieldset[disabled] .btn-highlight-success:focus,fieldset[disabled] .btn-highlight-success.focus{background-color:#f3faec;border-color:transparent}.btn-highlight-success .badge{color:#f3faec;background-color:#48a71c}.btn-highlight-danger{color:#ff694b;background-color:#fff5f4;border-color:transparent}.btn-highlight-danger:focus,.btn-highlight-danger.focus{color:#ff694b;background-color:#fff0ef}.btn-highlight-danger:hover{color:#ff694b;background-color:#fff0ef}.btn-highlight-danger:active,.btn-highlight-danger.active,.open>.btn-highlight-danger.dropdown-toggle{color:#ff694b;background-color:#fff0ef}.btn-highlight-danger:active:hover,.btn-highlight-danger:active:focus,.btn-highlight-danger:active.focus,.btn-highlight-danger.active:hover,.btn-highlight-danger.active:focus,.btn-highlight-danger.active.focus,.open>.btn-highlight-danger.dropdown-toggle:hover,.open>.btn-highlight-danger.dropdown-toggle:focus,.open>.btn-highlight-danger.dropdown-toggle.focus{color:#ff694b;background-color:#fff0ef}.btn-highlight-danger:active,.btn-highlight-danger.active,.open>.btn-highlight-danger.dropdown-toggle{background-image:none}.btn-highlight-danger.disabled:hover,.btn-highlight-danger.disabled:focus,.btn-highlight-danger.disabled.focus,.btn-highlight-danger[disabled]:hover,.btn-highlight-danger[disabled]:focus,.btn-highlight-danger[disabled].focus,fieldset[disabled] .btn-highlight-danger:hover,fieldset[disabled] .btn-highlight-danger:focus,fieldset[disabled] .btn-highlight-danger.focus{background-color:#fff5f4;border-color:transparent}.btn-highlight-danger .badge{color:#fff5f4;background-color:#ff694b}.btn-highlight-warning{color:#ff6316;background-color:#fff6ec;border-color:transparent}.btn-highlight-warning:focus,.btn-highlight-warning.focus{color:#ff6316;background-color:#fff2e3}.btn-highlight-warning:hover{color:#ff6316;background-color:#fff2e3}.btn-highlight-warning:active,.btn-highlight-warning.active,.open>.btn-highlight-warning.dropdown-toggle{color:#ff6316;background-color:#fff2e3}.btn-highlight-warning:active:hover,.btn-highlight-warning:active:focus,.btn-highlight-warning:active.focus,.btn-highlight-warning.active:hover,.btn-highlight-warning.active:focus,.btn-highlight-warning.active.focus,.open>.btn-highlight-warning.dropdown-toggle:hover,.open>.btn-highlight-warning.dropdown-toggle:focus,.open>.btn-highlight-warning.dropdown-toggle.focus{color:#ff6316;background-color:#fff2e3}.btn-highlight-warning:active,.btn-highlight-warning.active,.open>.btn-highlight-warning.dropdown-toggle{background-image:none}.btn-highlight-warning.disabled:hover,.btn-highlight-warning.disabled:focus,.btn-highlight-warning.disabled.focus,.btn-highlight-warning[disabled]:hover,.btn-highlight-warning[disabled]:focus,.btn-highlight-warning[disabled].focus,fieldset[disabled] .btn-highlight-warning:hover,fieldset[disabled] .btn-highlight-warning:focus,fieldset[disabled] .btn-highlight-warning.focus{background-color:#fff6ec;border-color:transparent}.btn-highlight-warning .badge{color:#fff6ec;background-color:#ff6316}.btn-lg,.btn-group-lg>.btn{height:4.2857142857rem;font-size:1.1428571429rem}.btn-sm,.btn-group-sm>.btn{height:2.2857142857rem;font-size:.9285714286rem}.btn-xs,.btn-group-xs>.btn{padding:.1607142857rem .625rem;height:1.7142857143rem;font-size:.9285714286rem}.btn-md{padding:.3928571429rem 1.5rem;height:3.7142857143rem;font-size:1rem}.btn-pill{border-radius:200px }.btn-icon{padding-left:0;padding-right:0;width:2.8571428571rem;min-width:2.8571428571rem}.btn-icon.btn-xs,.btn-group-xs>.btn-icon.btn{width:1.7142857143rem;min-width:1.7142857143rem}.btn-icon.btn-sm,.btn-group-sm>.btn-icon.btn{width:2.2857142857rem;min-width:2.2857142857rem}.btn-icon.btn-md{width:3.7142857143rem;min-width:3.7142857143rem}.btn-icon.btn-lg,.btn-group-lg>.btn-icon.btn{width:4.2857142857rem;min-width:4.2857142857rem}.btn-icon .icon,.btn-icon .glyph{margin:0;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}.btn-icon-slim{min-width:0}.btn-block,.btn-slim,.btn-link,.btn-text{padding-left:0;padding-right:0}.btn.active,.btn:active{-webkit-box-shadow:none;box-shadow:none}.btn.disabled,.btn[disabled]{opacity:.375}.btn-file:before{content:attr(data-placeholder)}.btn-file[data-value]:before{content:attr(data-placeholder) " "}.btn-file[data-value]:after{content:"(" attr(data-value) ")"}.btn-file input{position:absolute;opacity:0}.btn-inliner .btn{margin-bottom:.3rem}.btn-toolbar{margin-left:-2px;margin-right:-2px;font-size:0}.btn-toolbar .btn-group{margin-left:2px;margin-right:2px;float:none}.form-control,.input-group-addon,.form-control-static,.form-grid .form-row .form-label label,.option{line-height:1.5 !important;border-width:0 !important;font-size:1rem}.form-group-lg .form-control,.input-group-lg .form-control,.form-group-lg .input-group-addon,.input-group-lg .input-group-addon,.form-group-lg .form-control-static,.form-group-lg .form-grid .form-row .form-label label,.form-grid .form-row .form-label .form-group-lg label,.input-group-lg .form-control-static,.input-group-lg .form-grid .form-row .form-label label,.form-grid .form-row .form-label .input-group-lg label,.form-group-lg .option,.input-group-lg .option{font-size:1.1428571429rem}.form-group-sm .form-control,.input-group-sm .form-control,.form-group-sm .input-group-addon,.input-group-sm .input-group-addon,.form-group-sm .form-control-static,.form-group-sm .form-grid .form-row .form-label label,.form-grid .form-row .form-label .form-group-sm label,.input-group-sm .form-control-static,.input-group-sm .form-grid .form-row .form-label label,.form-grid .form-row .form-label .input-group-sm label,.form-group-sm .option,.input-group-sm .option{font-size:.9285714286rem}.form-control.input-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-btn>.form-control.btn,.input-group-addon.input-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn,.form-control-static.input-lg,.input-group-lg>.form-control-static.form-control,.form-grid .form-row .form-label .input-group-lg>label.form-control,.input-group-lg>.form-control-static.input-group-addon,.form-grid .form-row .form-label .input-group-lg>label.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.form-grid .form-row .form-label .input-group-lg>.input-group-btn>label.btn,.form-grid .form-row .form-label label.input-lg,.option.input-lg,.input-group-lg>.option.form-control,.input-group-lg>.option.input-group-addon,.input-group-lg>.input-group-btn>.option.btn{font-size:1.1428571429rem}.form-control.input-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-btn>.form-control.btn,.input-group-addon.input-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn,.form-control-static.input-sm,.input-group-sm>.form-control-static.form-control,.form-grid .form-row .form-label .input-group-sm>label.form-control,.input-group-sm>.form-control-static.input-group-addon,.form-grid .form-row .form-label .input-group-sm>label.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn,.form-grid .form-row .form-label .input-group-sm>.input-group-btn>label.btn,.form-grid .form-row .form-label label.input-sm,.option.input-sm,.input-group-sm>.option.form-control,.input-group-sm>.option.input-group-addon,.input-group-sm>.input-group-btn>.option.btn{font-size:.9285714286rem}.form-control::-ms-expand,.input-group-addon::-ms-expand,.form-control-static::-ms-expand,.form-grid .form-row .form-label label::-ms-expand,.option::-ms-expand{display:none}.form-control::-ms-clear,.input-group-addon::-ms-clear,.form-control-static::-ms-clear,.form-grid .form-row .form-label label::-ms-clear,.option::-ms-clear{display:none}.form-control::-ms-value,.input-group-addon::-ms-value,.form-control-static::-ms-value,.form-grid .form-row .form-label label::-ms-value,.option::-ms-value{background:transparent !important}.form-control,.form-control-static,.form-grid .form-row .form-label label,textarea.form-control,.option{height:2.8571428571rem;line-height:1.5 !important;padding:.6785714286rem 1.25rem;border:0}.form-control.input-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-btn>.form-control.btn,.form-control-static.input-sm,.input-group-sm>.form-control-static.form-control,.form-grid .form-row .form-label .input-group-sm>label.form-control,.input-group-sm>.form-control-static.input-group-addon,.form-grid .form-row .form-label .input-group-sm>label.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn,.form-grid .form-row .form-label .input-group-sm>.input-group-btn>label.btn,.form-grid .form-row .form-label label.input-sm,textarea.form-control.input-sm,.input-group-sm>textarea.form-control,.input-group-sm>.input-group-btn>textarea.form-control.btn,.option.input-sm,.input-group-sm>.option.form-control,.input-group-sm>.option.input-group-addon,.input-group-sm>.input-group-btn>.option.btn{height:2.2857142857rem;min-height:2.2857142857rem;padding:.4464285714rem .875rem}.form-control.input-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-btn>.form-control.btn,.form-control-static.input-lg,.input-group-lg>.form-control-static.form-control,.form-grid .form-row .form-label .input-group-lg>label.form-control,.input-group-lg>.form-control-static.input-group-addon,.form-grid .form-row .form-label .input-group-lg>label.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.form-grid .form-row .form-label .input-group-lg>.input-group-btn>label.btn,.form-grid .form-row .form-label label.input-lg,textarea.form-control.input-lg,.input-group-lg>textarea.form-control,.input-group-lg>.input-group-btn>textarea.form-control.btn,.option.input-lg,.input-group-lg>.option.form-control,.input-group-lg>.option.input-group-addon,.input-group-lg>.input-group-btn>.option.btn{height:4.2857142857rem;min-height:4.2857142857rem;padding:1.2857142857rem 1.875rem}.form-control.input-md,.form-control-static.input-md,.form-grid .form-row .form-label label.input-md,textarea.form-control.input-md,.option.input-md{height:2.2857142857rem;min-height:2.2857142857rem;padding:.3928571429rem .875rem}textarea.form-control:not(.form-control-height){height:6em}.form-control{-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1);-webkit-transition-property:color,background-color,box-shadow;transition-property:color,background-color,box-shadow;-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:none;text-overflow:ellipsis;box-shadow:none;color:#484e53}.form-control::-moz-placeholder{color:#a8b1b7;opacity:1}.form-control:-ms-input-placeholder{color:#a8b1b7}.form-control::-webkit-input-placeholder{color:#a8b1b7}.form-control.input-short{width:64px}.form-control.input-medium{width:240px}.form-control.input-long{width:100%}.form-control.input-pill{border-radius:200px !important}.form-control.input-dark{background-color:#00475c;color:white}.form-control.input-dark:hover,.form-control.input-dark:focus{background-color:white;color:#313539}.form-control.input-dark::-moz-placeholder{color:#00afc6;opacity:1}.form-control.input-dark:-ms-input-placeholder{color:#00afc6}.form-control.input-dark::-webkit-input-placeholder{color:#00afc6}.form-control.input-transparent{background-color:transparent}.form-control.input-white{background-color:white;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03)}.form-control:not(:disabled):not(.disabled):hover{background-color:#e9ebef}.form-control:not(:disabled):not(.disabled):hover::-moz-placeholder{color:#5e666c;opacity:1}.form-control:not(:disabled):not(.disabled):hover:-ms-input-placeholder{color:#5e666c}.form-control:not(:disabled):not(.disabled):hover::-webkit-input-placeholder{color:#5e666c}.form-control:not(:disabled):not(.disabled):hover.input-white{background-color:#f9fafb}.form-control:focus{color:#484e53 !important;background-color:white !important;box-shadow:0 0 0 1px #0bb,0 15px 15px -7.5px rgba(0,0,0,0.15);border-radius:4px !important;z-index:3}.form-control:focus::-moz-placeholder{color:#8b969e !important;opacity:1}.form-control:focus:-ms-input-placeholder{color:#8b969e !important}.form-control:focus::-webkit-input-placeholder{color:#8b969e !important}.form-control[type="number"]:not(.spinner){-moz-appearance:textfield}.form-control[type="number"]:not(.spinner)::-webkit-inner-spin-button,.form-control[type="number"]:not(.spinner)::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-control-static,.form-grid .form-row .form-label label{display:block;height:auto !important;padding-left:0 !important;padding-right:0 !important;color:#484e53}.has-info .input-group-addon,.has-info .form-control{border-color:transparent !important;background-color:#edfafa;box-shadow:none}.has-info .input-group-addon::-moz-placeholder,.has-info .form-control::-moz-placeholder{color:#80d5d5;opacity:1}.has-info .input-group-addon:-ms-input-placeholder,.has-info .form-control:-ms-input-placeholder{color:#80d5d5}.has-info .input-group-addon::-webkit-input-placeholder,.has-info .form-control::-webkit-input-placeholder{color:#80d5d5}.has-info .input-group-addon,.has-info .form-control{color:#0aa}.has-info .form-control:not(:disabled):not(.disabled):hover{background-color:#def7f7;color:#007b7b}.has-info .form-control:not(:disabled):not(.disabled):hover::-moz-placeholder{color:#40bfbf;opacity:1}.has-info .form-control:not(:disabled):not(.disabled):hover:-ms-input-placeholder{color:#40bfbf}.has-info .form-control:not(:disabled):not(.disabled):hover::-webkit-input-placeholder{color:#40bfbf}.has-info .form-control:not(:disabled):not(.disabled):focus{box-shadow:0 0 0 1px #0bb,0 15px 15px -7.5px rgba(0,0,0,0.15)}.has-success .input-group-addon,.has-success .form-control{border-color:transparent !important;background-color:#f3faec;box-shadow:none}.has-success .input-group-addon::-moz-placeholder,.has-success .form-control::-moz-placeholder{color:#a4d38e;opacity:1}.has-success .input-group-addon:-ms-input-placeholder,.has-success .form-control:-ms-input-placeholder{color:#a4d38e}.has-success .input-group-addon::-webkit-input-placeholder,.has-success .form-control::-webkit-input-placeholder{color:#a4d38e}.has-success .input-group-addon,.has-success .form-control{color:#48a71c}.has-success .form-control:not(:disabled):not(.disabled):hover{background-color:#e9f7dc;color:#297610}.has-success .form-control:not(:disabled):not(.disabled):hover::-moz-placeholder{color:#76bd55;opacity:1}.has-success .form-control:not(:disabled):not(.disabled):hover:-ms-input-placeholder{color:#76bd55}.has-success .form-control:not(:disabled):not(.disabled):hover::-webkit-input-placeholder{color:#76bd55}.has-success .form-control:not(:disabled):not(.disabled):focus{box-shadow:0 0 0 1px #7ec631,0 15px 15px -7.5px rgba(0,0,0,0.15)}.has-warning .input-group-addon,.has-warning .form-control{border-color:transparent !important;background-color:#fff6ec;box-shadow:none}.has-warning .input-group-addon::-moz-placeholder,.has-warning .form-control::-moz-placeholder{color:#ffb18b;opacity:1}.has-warning .input-group-addon:-ms-input-placeholder,.has-warning .form-control:-ms-input-placeholder{color:#ffb18b}.has-warning .input-group-addon::-webkit-input-placeholder,.has-warning .form-control::-webkit-input-placeholder{color:#ffb18b}.has-warning .input-group-addon,.has-warning .form-control{color:#ff6316}.has-warning .form-control:not(:disabled):not(.disabled):hover{background-color:#ffefdc;color:#ff390d}.has-warning .form-control:not(:disabled):not(.disabled):hover::-moz-placeholder{color:#ff8a50;opacity:1}.has-warning .form-control:not(:disabled):not(.disabled):hover:-ms-input-placeholder{color:#ff8a50}.has-warning .form-control:not(:disabled):not(.disabled):hover::-webkit-input-placeholder{color:#ff8a50}.has-warning .form-control:not(:disabled):not(.disabled):focus{box-shadow:0 0 0 1px #ff9b26,0 15px 15px -7.5px rgba(0,0,0,0.15)}.has-danger .input-group-addon,.has-danger .form-control,.has-error .input-group-addon,.has-error .form-control{border-color:transparent !important;background-color:#fff5f4;box-shadow:none}.has-danger .input-group-addon::-moz-placeholder,.has-danger .form-control::-moz-placeholder,.has-error .input-group-addon::-moz-placeholder,.has-error .form-control::-moz-placeholder{color:#ffb4a5;opacity:1}.has-danger .input-group-addon:-ms-input-placeholder,.has-danger .form-control:-ms-input-placeholder,.has-error .input-group-addon:-ms-input-placeholder,.has-error .form-control:-ms-input-placeholder{color:#ffb4a5}.has-danger .input-group-addon::-webkit-input-placeholder,.has-danger .form-control::-webkit-input-placeholder,.has-error .input-group-addon::-webkit-input-placeholder,.has-error .form-control::-webkit-input-placeholder{color:#ffb4a5}.has-danger .input-group-addon,.has-danger .form-control,.has-error .input-group-addon,.has-error .form-control{color:#ff694b}.has-danger .form-control:not(:disabled):not(.disabled):hover,.has-error .form-control:not(:disabled):not(.disabled):hover{background-color:#ffedeb;color:#ff3c2b}.has-danger .form-control:not(:disabled):not(.disabled):hover::-moz-placeholder,.has-error .form-control:not(:disabled):not(.disabled):hover::-moz-placeholder{color:#ff8f78;opacity:1}.has-danger .form-control:not(:disabled):not(.disabled):hover:-ms-input-placeholder,.has-error .form-control:not(:disabled):not(.disabled):hover:-ms-input-placeholder{color:#ff8f78}.has-danger .form-control:not(:disabled):not(.disabled):hover::-webkit-input-placeholder,.has-error .form-control:not(:disabled):not(.disabled):hover::-webkit-input-placeholder{color:#ff8f78}.has-danger .form-control:not(:disabled):not(.disabled):focus,.has-error .form-control:not(:disabled):not(.disabled):focus{box-shadow:0 0 0 1px #ff694b,0 15px 15px -7.5px rgba(0,0,0,0.15)}.input-group-rounded>*:first-child,.input-group-rounded>*:first-child.input-group-btn .btn{border-top-left-radius:100px;border-bottom-left-radius:100px}.input-group-rounded>*:last-child,.input-group-rounded>*:last-child.input-group-btn .btn{border-top-right-radius:100px;border-bottom-right-radius:100px}.input-group-addon{color:#8b969e}.table tr.success{box-shadow:inset rgba(0,30,60,0.03) 0 0 #7ec631}.table tr.info{box-shadow:inset rgba(0,30,60,0.03) 0 0 #0bb}.table tr.warning{box-shadow:inset rgba(0,30,60,0.03) 0 0 #fc0}.table tr.danger{box-shadow:inset rgba(0,30,60,0.03) 0 0 #ff694b}.table-flush th:first-child,.table-flush td:first-child{padding-left:0}.table-flush th:last-child,.table-flush td:last-child{padding-right:0}.table-justified th:last-child,.table-justified td:last-child{text-align:right}th.sm,td.sm{width:1px;white-space:nowrap}th.flush-left,td.flush-left{padding-left:0 !important}th.flush-right,td.flush-right{padding-right:0 !important}.table:not(.table-borderless)>thead>tr>*{border-width:1px}thead>tr>*,.table-label{text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:500;color:#8b969e}.table-borderless tr *{border-width:0 !important}.table tbody+tbody{border-top-width:1px}.table-compact th *,.table-compact td *{margin-top:0;margin-bottom:0}.table-middle th,.table-middle td{vertical-align:middle !important}.table-large{font-size:1rem}.table-large tbody th,.table-large tbody td,.table-large>td,.table-large>th{padding-top:1rem !important;padding-bottom:1rem !important}.card .table th,.card .table td{padding-left:1.875rem;padding-right:1.875rem}.table-condensed{font-size:.9285714286rem}.table-responsive{border-radius:4px}@media (min-width: 961px){.table-responsive{overflow:visible}}@media (max-width: 960px){.table-responsive{overflow:auto}html.touch .table-responsive{overflow:scroll;-webkit-overflow-scrolling:touch}}@media (min-width: 961px){.table-alignment{margin-left:-1.25rem;margin-right:-1.25rem}}.table-linked{overflow:hidden}.table-linked a{z-index:3}.table-linked .table-link{width:0 !important;padding:0 !important;vertical-align:top !important}.table-linked .table-link .table-anchor{position:absolute;display:block;height:100%;width:1000vw;z-index:2}.table{display:table}.table-caption{display:table-caption}.table-colgroup{display:table-column-group}.table-thead{display:table-header-group}.table-tfoot{display:table-footer-group}.table-tbody{display:table-row-group}.table-td{display:table-cell}.table-col{display:table-column}.table-tr{display:table-row}.table-sticky{box-shadow:0 1px 0 #ecedee;z-index:2;position:sticky;top:0;background:#f9fafb}tbody .table-sticky{top:28px;background:white}.table .secondary td,.table .secondary th{background:#f9fafb;color:#8b969e}.nav-stacked .nav-stacked{font-size:.9285714286rem}.nav-stacked .nav-stacked>li{margin-left:1em}.nav-stacked .nav-stacked>li>a{color:#8b969e}.nav-tabs{border:0;box-shadow:0 1px 0 rgba(0,30,60,0.075);color:#313539;display:flex;flex-direction:row;flex-wrap:wrap}.nav-tabs:before,.nav-tabs:after{display:none}.nav-tabs>li{float:none;flex:0 0 auto;background:transparent !important;margin:0}.nav-tabs>li:not(:first-child){margin-left:.75em}.nav-tabs>li:not(:last-child){margin-right:.75em}.nav-tabs>li>a,.nav-tabs>li>span{display:block;line-height:1.5;background:transparent !important;padding:1.2857142857rem 0;margin:0 !important;border:0 !important;border-radius:0}.nav-tabs>li.active{box-shadow:0 1px 0 #0bb}.nav-tabs>li.active a{color:#313539}.nav-tabs-sm>li>a,.nav-tabs-sm>li>span{font-size:.9285714286rem;padding:.6785714286rem 0}.nav-tabs-fill>li{flex:1 0 auto;margin:0 !important}.nav-tabs-fill>li>a,.nav-tabs-fill>li>span{text-align:center;padding-left:20px;padding-right:20px}html.touch .nav-tabs{flex-wrap:nowrap;overflow:hidden;overflow-y:scroll;-webkit-overflow-scrolling:touch}.card-tabs .nav-tabs{background:#f0f2f4;border-radius:4px 4px 0 0}.card-tabs .nav-tabs>li:first-child{border-top-left-radius:4px}.card-tabs .nav-tabs>li:last-child{border-top-right-radius:4px}.card-tabs .nav-tabs>li.active{box-shadow:0 1px 0 white !important;background:white !important}.tab-content>.tab-pane{height:0;display:block;overflow:hidden}.tab-content>.tab-pane:not(.active){padding:0}.tab-content>.tab-pane.active{height:auto;overflow:visible}.nav-pills>li>a{font-size:.9285714286rem;padding:.4464285714rem 1em}.alert{border:0;margin:1.5em 0}.alert:first-child{margin-top:0}.alert:last-child{margin-bottom:0}.alert strong{color:inherit;font-style:normal}.alert-default{background:#f9fafb;color:#8b969e}.alert-flush{margin:0}.alert-trim{padding-left:0;padding-right:0}.alert-link{font-weight:bold !important}.avatar{display:inline-block;vertical-align:middle}.avatar img{display:block;border-radius:50%;height:28px;width:28px}.avatar-square img{border-radius:4px}.avatar-sm img{height:20px;width:20px}kbd,code,pre{font-size:.8571428571rem}pre{padding:0;overflow:auto;border-width:0;resize:vertical;white-space:pre;padding:1.2857142857rem 1.875rem;border-radius:4px;font-size:.8571428571rem;-moz-tab-size:2;-o-tab-size:2;tab-size:2;margin:1em 0}pre:first-child{margin-top:0}pre:last-child{margin-bottom:0}.panel-code pre{border-radius:0;padding:40px 50px}@media (max-width: 960px){.panel-code pre{padding-left:7.5vw;padding-right:7.5vw}}.panel-footer .panel-code pre,.panel-body:last-child .panel-code pre{border-bottom-right-radius:4px;border-bottom-left-radius:4px}kbd{box-shadow:none}figure.highlight{tab-size:2}.code,code{font-family:"Monaco",monospace;font-size:.8571428571rem;font-weight:normal;padding:0}.highlight pre{background:#005e7a;color:white;overflow:auto}html.touch .highlight pre{overflow:scroll;-webkit-overflow-scrolling:touch}.highlight code{white-space:pre;display:block}.highlight code *{font-style:normal}.highlight .c{color:#00afc6;font-style:italic}.highlight .err{color:#a61717;background-color:#e3d2d2}.highlight .cm{color:#999988;font-style:italic}.highlight .cp{color:#999999}.highlight .c1{color:#999988;font-style:italic}.highlight .cs{color:#999999;font-style:italic}.highlight .gd{color:#000000;background-color:#fdd}.highlight .gd .x{color:#000000;background-color:#faa}.highlight .ge{font-style:italic}.highlight .gr{color:#a00}.highlight .gh{color:#999}.highlight .gi{color:#000000;background-color:#dfd}.highlight .gi .x{color:#000000;background-color:#afa}.highlight .go{color:#888}.highlight .gp{color:#555}.highlight .gu{color:#aaa}.highlight .gt{color:#a00}.highlight .kt{color:#445588}.highlight .m{color:#b7a5df}.highlight .n{color:#00d9d9}.highlight .s{color:#9ed53e}.highlight .na{color:#00afc6}.highlight .nb{color:#00d9d9}.highlight .nl{color:#00afc6}.highlight .nc{color:#fc0}.highlight .nd{color:#fc0}.highlight .no{color:#00afc6}.highlight .ni{color:#fc0}.highlight .ne{color:#990000}.highlight .nf{color:#990000}.highlight .nn{color:#555}.highlight .nt{color:#00d9d9}.highlight .nv{color:teal}.highlight .w{color:#bbb}.highlight .mf{color:#099}.highlight .mh{color:#099}.highlight .mi{color:#099}.highlight .mo{color:#099}.highlight .sb{color:#d14}.highlight .sc{color:#d14}.highlight .sd{color:#d14}.highlight .s2{color:#ff694b}.highlight .se{color:#d14}.highlight .sh{color:#d14}.highlight .si{color:#d14}.highlight .sx{color:#d14}.highlight .sr{color:#009926}.highlight .s1{color:#d14}.highlight .ss{color:#990073}.highlight .bp{color:#999}.highlight .vc{color:teal}.highlight .vg{color:teal}.highlight .vi{color:teal}.highlight .il{color:#099}.highlight .lineno{-webkit-user-select:none;-moz-user-select:none;-o-user-select:none}.highlight .lineno::-moz-selection{background-color:transparent}.highlight .lineno::selection{background-color:transparent}.label{text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:500;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1);display:inline-block;text-align:inherit;padding:0;border:0}.label-default{color:#8b969e}.label-success{color:#5fb825}.label-info{color:#0aa}.label-warning{color:#ff821d}.label-danger{color:#ff4f39}.label-inherit{color:inherit}.label+.label:not(.block){margin-left:1.5em}a.label:hover.label-default,a.label:focus.label-default{color:#3f464e}a.label:hover.label-success,a.label:focus.label-success{color:#369115}a.label:hover.label-info,a.label:focus.label-info{color:#007b7b}a.label:hover.label-warning,a.label:focus.label-warning{color:#ff4b11}a.label:hover.label-danger,a.label:focus.label-danger{color:#ff2d21}.badge{border-radius:200px ;text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:500;line-height:1.8em;height:1.8em;min-width:1.8em;text-align:center;padding:0 7px;text-indent:1px;border:0}.badge-success{background:#7ec631;color:white}.badge-warning{background:#ff9b26;color:white}.badge-danger{background:#ff694b;color:white}.list-group-item .badge{float:right}.active .badge{color:#fff;background:#009797}.badge-digit{padding:0 2px}.badge-corner{position:absolute;top:0;right:0;-webkit-transform:translate(50%, -50%);transform:translate(50%, -50%)}.badges{font-size:0;display:block}.badges .badge{margin:2px 4px 2px 0}.progress{height:6px;overflow:visible;margin:1em 0}.progress:first-child{margin-top:0}.progress:last-child{margin-bottom:0}.progress,.progress .progress-bar{border-radius:100px;box-shadow:none}.tooltip{box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 20px 20px -10px rgba(0,0,0,0.2);padding:0 !important}.tooltip,.tooltip .tooltip-inner,.tooltip .tooltip-arrow{border-radius:4px}.tooltip .tooltip-arrow{-webkit-transform:rotate(45deg);transform:rotate(45deg);background:#007699;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 20px 20px -10px rgba(0,0,0,0.2);border-width:0;height:12px;width:12px}.tooltip.top .tooltip-arrow{margin-bottom:-3px}.tooltip.bottom .tooltip-arrow{margin-top:-3px}.tooltip.left .tooltip-arrow{margin-right:-3px}.tooltip.right .tooltip-arrow{margin-left:-3px}.tooltip .tooltip-inner{font-size:.9285714286rem;padding:.6785714286rem 1.25rem;margin:0 !important;font-style:normal}.popover{box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 20px 20px -10px rgba(0,0,0,0.2);font-size:1rem;border-width:0 !important;color:#fff;padding:0}.popover,.popover .popover-content,.popover .arrow{border-radius:4px}.popover .popover-content{border-radius:4px;margin:0 !important}.popover .popover-title,.popover .popover-content{padding:1.2857142857rem 1.875rem;background:#ff694b}.popover .arrow{width:20px;height:20px;background:#ff694b;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 20px 20px -10px rgba(0,0,0,0.2);-webkit-transform:rotate(45deg);transform:rotate(45deg)}.popover .arrow:after{display:none}.popover.top .arrow{margin:-10px;margin-bottom:-4px}.popover.bottom .arrow{margin:-10px;margin-top:-4px}.popover.left .arrow{margin:-10px;margin-right:-4px}.popover.right .arrow{margin:-10px;margin-left:-4px}.modal .modal-dialog{margin:auto;display:table;width:768px;max-width:100vw;height:100vh}.modal .modal-dialog.modal-sm{width:400px}.modal .modal-dialog.modal-lg{width:960px}.modal .modal-content{display:table-cell;vertical-align:middle;box-shadow:none}.modal.fade .modal-dialog{-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1);-webkit-transform:translate(0, -20px);transform:translate(0, -20px)}.modal.fade.in .modal-dialog{-webkit-transform:translate(0, 0);transform:translate(0, 0)}.modal-backdrop{display:block;position:absolute;width:100%;height:100%;top:0;left:0;position:fixed;z-index:1040}@media (max-width: 960px){.modal-content:not(.modal-content-flush){padding:7.5vw}}.panel{border-width:0;display:flex;flex-direction:column;display:block;border-width:0;background:white;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03);border-radius:4px;margin:1em 0}.panel:first-child{margin-top:0}.panel:last-child{margin-bottom:0}.panel>*{border-color:transparent !important;flex:0 0 auto}.panel>*:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.panel>*:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.panel>*,.panel>*>.panel-fill{padding:20px 30px}.panel>*.panel-flush,.panel>*>.panel-fill.panel-flush{padding:0 !important}.panel>*.panel-flush-top,.panel>*>.panel-fill.panel-flush-top{padding-top:0 !important}.panel>*.panel-flush-bottom,.panel>*>.panel-fill.panel-flush-bottom{padding-bottom:0 !important}.panel-large>*,.panel-large>*>.panel-fill{padding:40px 50px}@media (max-width: 960px){.panel-large>*,.panel-large>*>.panel-fill{padding:5vw 7.5vw}}.panel>.panel-body{flex:1 0 auto}.panel>.panel-body>*:first-child{margin-top:0}.panel>.panel-body>*:last-child{margin-bottom:0}.panel>.panel-body>.panel-fill{display:block;position:absolute;width:100%;height:100%;top:0;left:0;overflow:auto}html.touch .panel>.panel-body>.panel-fill{overflow:scroll;-webkit-overflow-scrolling:touch}h1.panel-title,.h1.panel-title{font-size:1.7142857143rem}h2.panel-title,.h2.panel-title{font-size:1.7142857143rem}h3.panel-title,.h3.panel-title{font-size:1.2857142857rem}h4.panel-title,.h4.panel-title{font-size:1.1428571429rem}h5.panel-title,.h5.panel-title{font-size:1rem}h6.panel-title,.h6.panel-title{font-size:1rem}.list-group{display:block;border-width:0;background:white;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03);border-radius:4px}.list-group .list-group-item{margin:0;border-width:0 0 1px 0}.list-group .list-group-item *{margin-top:0;margin-bottom:0}.list-group .list-group-item:last-child{border-width:0}.well{padding:1.2857142857rem 1.875rem;box-shadow:none;border:0}.well>*:first-child{margin-top:0}.well>*:last-child{margin-bottom:0}.row{margin:0}.container{padding-left:0;padding-right:0}@media (min-width: 961px){.container{width:90%;max-width:1320px}}@media (max-width: 960px){.container{width:auto}}@media (min-width: 961px){.row-reverse>[class*="col-lg-"]{float:right}}@media (max-width: 960px){[class*="col-lg-"]+[class*="col-lg-"]{margin-top:30px;margin-bottom:30px}[class*="col-lg-"]+[class*="col-lg-"]:first-child{margin-top:0}[class*="col-lg-"]+[class*="col-lg-"]:last-child{margin-bottom:0}}@media (max-width: 768px){[class*="col-md-"]+[class*="col-md-"]{margin-top:30px;margin-bottom:30px}[class*="col-md-"]+[class*="col-md-"]:first-child{margin-top:0}[class*="col-md-"]+[class*="col-md-"]:last-child{margin-bottom:0}}@media (max-width: 540px){[class*="col-sm-"]+[class*="col-sm-"]{margin-top:30px;margin-bottom:30px}[class*="col-sm-"]+[class*="col-sm-"]:first-child{margin-top:0}[class*="col-sm-"]+[class*="col-sm-"]:last-child{margin-bottom:0}}.carousel .carousel-control{background:transparent}.carousel .carousel-control:after{width:1em;display:block;position:absolute;left:0;top:0;bottom:0;right:0;margin:auto;height:1.6em;font-size:2rem}.carousel .carousel-indicators{bottom:10px}.carousel .carousel-indicators li{background:#fff;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1);margin:0 2px;opacity:.25;height:8px;width:8px;border:0}.carousel .carousel-indicators li.active{opacity:1}.carousel .carousel-inner .item img{width:100%}.thumbnail{display:block;border-width:0;background:white;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03);border-radius:4px}.thumbnail img{width:100%}.thumbnail .caption *{margin-top:0;margin-bottom:0}.range{-webkit-appearance:none;margin:0;width:100%;outline:none !important}.range::-moz-focus-outer{border:0}.range::-webkit-slider-runnable-track{width:100%;height:6px;cursor:pointer;box-shadow:none;background:#f0f2f4;border-radius:200px;border:0 solid transparent;color:transparent;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.range::-moz-range-track{width:100%;height:6px;cursor:pointer;box-shadow:none;background:#f0f2f4;border-radius:200px;border:0 solid transparent;color:transparent;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.range::-ms-track{width:100%;height:6px;cursor:pointer;box-shadow:none;background:#f0f2f4;border-radius:200px;border:0 solid transparent;color:transparent;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1);background:transparent;border-width:5px 0}.range::-ms-fill-lower{box-shadow:none;background:#f0f2f4;border-radius:200px;border:0 solid transparent;color:transparent;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.range::-ms-fill-upper{box-shadow:none;background:#f0f2f4;border-radius:200px;border:0 solid transparent;color:transparent;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.range::-webkit-slider-thumb{box-shadow:none;border:0;height:16px;width:16px;border-radius:200px;background:#0bb;cursor:pointer;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1);-webkit-appearance:none;margin-top:-5px}.range::-moz-range-thumb{box-shadow:none;border:0;height:16px;width:16px;border-radius:200px;background:#0bb;cursor:pointer;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.range::-ms-thumb{box-shadow:none;border:0;height:16px;width:16px;border-radius:200px;background:#0bb;cursor:pointer;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}@supports (-ms-ime-align: auto){.range::-ms-thumb{margin-top:1px}}.range:hover::-webkit-slider-thumb{background:#0aa}.range:focus::-webkit-slider-thumb{background:#0aa}.range:hover::-moz-range-thumb{background:#0aa}.range:focus::-moz-range-thumb{background:#0aa}.range:hover::-ms-thumb{background:#0aa}.range:focus::-ms-thumb{background:#0aa}.range:hover::-webkit-slider-runnable-track{background:#e9ebef}.range:focus::-webkit-slider-runnable-track{background:#e9ebef}.range:hover::-moz-range-track{background:#e9ebef}.range:focus::-moz-range-track{background:#e9ebef}.range:hover::-ms-fill-lower{background:#e9ebef}.range:focus::-ms-fill-lower{background:#e9ebef}.range:hover::-ms-fill-upper{background:#e9ebef}.range:focus::-ms-fill-upper{background:#e9ebef}.breadcrumb-flush{padding:0}.breadcrumb>li:first-child .glyph{position:absolute;right:100%;top:50%;-webkit-transform:translate(-33%, -50%);transform:translate(-33%, -50%)}.breadcrumb>li:before{font-weight:normal;padding:0 .5em;opacity:.5}.card{display:block;border-width:0;background:white;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03);border-radius:4px;display:flex;flex-direction:column}.card>.card-header,.card>.card-footer{flex:0 0 auto}.card>.card-body{flex:1 0 auto}.card.active{box-shadow:0 0 0 1px #0bb,0 15px 15px -7.5px rgba(0,0,0,0.15)}.card-footer,.card-header,.card-body,.card-padding{padding:20px 30px}.card-expand{margin:-20px -30px}.card-header h1,.card-header .h1,.card-header h2,.card-header .h2,.card-header h3,.card-header .h3,.card-header h4,.card-header .h4,.card-header h5,.card-header .h5,.card-header h6,.card-header .h6{margin:0}.card-flush-top{padding-top:0}.card-flush-bottom{padding-bottom:0}.card-flush-vertical{padding-top:0;padding-bottom:0}.card-flush{padding:0}.card-sm{padding:8px 12px}.card-control{display:block}.card-control .btn,.card-control .form-control,.card-control .input-group-addon,.card-control .form-control-static,.card-control .form-grid .form-row .form-label label,.form-grid .form-row .form-label .card-control label{display:block;margin:0 !important;height:4.2857142857rem;padding:1.3928571429rem 30px;border-radius:0;width:100%}.card-control .form-control{background:white}.card-control .form-control:not(:disabled):not(.disabled):hover{background-color:#f0f2f4}.card-control .btn,.card-control .input-group-addon{text-align:center}.card-footer .card-control:first-child .btn,.card-footer .card-control:first-child .form-control,.card-footer .card-control:first-child .input-group-addon,.card-footer .card-control:first-child .form-control-static,.card-footer .card-control:first-child .form-grid .form-row .form-label label,.form-grid .form-row .form-label .card-footer .card-control:first-child label{border-bottom-left-radius:4px}.card-footer .card-control:last-child .btn,.card-footer .card-control:last-child .form-control,.card-footer .card-control:last-child .input-group-addon,.card-footer .card-control:last-child .form-control-static,.card-footer .card-control:last-child .form-grid .form-row .form-label label,.form-grid .form-row .form-label .card-footer .card-control:last-child label{border-bottom-right-radius:4px}.card-body .card-control:first-child .btn,.card-body .card-control:first-child .form-control,.card-body .card-control:first-child .input-group-addon,.card-body .card-control:first-child .form-control-static,.card-body .card-control:first-child .form-grid .form-row .form-label label,.form-grid .form-row .form-label .card-body .card-control:first-child label{border-top-left-radius:4px}.card-body .card-control:last-child .btn,.card-body .card-control:last-child .form-control,.card-body .card-control:last-child .input-group-addon,.card-body .card-control:last-child .form-control-static,.card-body .card-control:last-child .form-grid .form-row .form-label label,.form-grid .form-row .form-label .card-body .card-control:last-child label{border-top-right-radius:4px}.card-toolbar{display:flex;flex-direction:row;flex-wrap:wrap;padding:0}.card-toolbar .card-control{display:block;flex:1 0 auto}.card-form{padding:0;display:table;width:100%}.card-form .card-formrow{display:table-row}.card-form .card-formrow .card-control{display:table-cell;vertical-align:middle}.card-form .card-formrow:not(:last-child) .card-control{border-bottom:1px solid rgba(0,30,60,0.075)}.card-list:not(:first-child){border-top:1px solid rgba(0,30,60,0.075)}.preview{margin:60px 0;background:white;border-radius:4px;display:flex;flex-direction:column;flex:1 0 auto;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03);-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.preview:first-child{margin-top:0}.preview:last-child{margin-bottom:0}.preview .preview-header{background-position:50% 50%;background-size:cover}.preview .preview-header:before{content:\'\';display:block;padding-bottom:50%}.preview .preview-body{display:flex;flex-direction:column;flex:1 0 auto}.preview .preview-body .preview-footer{flex:0 0 auto;padding:20px 30px}.preview .preview-body .preview-text{flex:1 0 auto;padding:20px 30px}.preview .preview-body .preview-text *{margin-top:0;margin-bottom:0}.preview .preview-body .preview-text h1,.preview .preview-body .preview-text .h1,.preview .preview-body .preview-text h2,.preview .preview-body .preview-text .h2,.preview .preview-body .preview-text h3,.preview .preview-body .preview-text .h3,.preview .preview-body .preview-text h4,.preview .preview-body .preview-text .h4,.preview .preview-body .preview-text h5,.preview .preview-body .preview-text .h5,.preview .preview-body .preview-text h6,.preview .preview-body .preview-text .h6{margin-bottom:20px}.preview .preview-body .preview-text ~ .preview-footer{padding-top:0}.preview.preview-link:hover,.preview.preview-link:focus{box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 15px 15px -7.5px rgba(0,0,0,0.15)}.preview.preview-vertical .preview-header{flex:0 0 auto}.preview.preview-vertical .preview-body{flex:1 0 auto}.preview.preview-vertical .preview-header-grow{flex:1 0 auto}.preview.preview-vertical .preview-header-grow ~ .preview-body{flex:0 0 auto}.preview.preview-horizontal{display:flex;flex-direction:row}.preview.preview-horizontal .preview-header{flex:1 1 120px}.preview.preview-horizontal .preview-body{flex:3 1 260px}.preview:not(.preview-vertical):not(.preview-horizontal){display:flex;flex-direction:row;flex-wrap:wrap}.preview:not(.preview-vertical):not(.preview-horizontal) .preview-header{flex:1 0 120px}.preview:not(.preview-vertical):not(.preview-horizontal) .preview-body{flex:3 1 260px}.loading{text-align:center;margin:20px 0}.loading:after{margin:0 auto;content:\'\';display:block;font-size:30px;width:1em;height:1em;border-radius:50%;border:1px solid;border-top-color:rgba(0,30,60,0.03);border-right-color:rgba(0,30,60,0.03);-webkit-animation:spin .5s 0s linear infinite;-o-animation:spin .5s 0s linear infinite;animation:spin .5s 0s linear infinite}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.loading.loading-inline{height:10px;display:inline-block;margin:0 .375em 0 0;vertical-align:middle}.loading.loading-inline-after{margin:0 0 0 .375em}.loading.loading-inline:after{margin:-10px 0}.loading.loading-small.loading-inline{top:-1px}.loading.loading-small:after{font-size:12px;margin:-1px auto}.btn .loading:after{color:inherit}.loading-overlay{background:#f9fafb;border-radius:4px}.loading-overlay>*{pointer-events:none;opacity:.15}.loading-overlay .loading{display:block;position:absolute;width:100%;height:100%;top:0;left:0;margin:0;opacity:1}.loading-overlay .loading:after{display:block;position:absolute;left:0;top:0;bottom:0;right:0;margin:auto}.message{margin:20px 0}.message .message-content{display:flex;flex-direction:row}.message .message-content>*{padding:0 .5rem}.message:not(.message-secondary) .message-content .message-header{padding-left:0}.message:not(.message-secondary) .message-content .message-body{padding-right:4rem}.message:not(.message-secondary) .message-content .message-body .message-text{border-top-left-radius:4px}.message.message-secondary .message-content{-ms-flex-pack:end;justify-content:flex-end}.message.message-secondary .message-content .message-header{padding-right:0}.message.message-secondary .message-content .message-body{padding-left:4rem}.message.message-secondary .message-content .message-body .message-text{border-top-right-radius:4px}.message-header{flex:0 0 auto}.message-secondary .message-header{order:2}.message-header .message-avatar .avatar{font-size:2.5rem}.message-body{flex:0 1 auto}.message-body .message-text{background:#f0f2f4;padding:1.2857142857rem 1.875rem;border-radius:1.333em}.message-blue .message-body .message-text{background:#0bb;color:white}.message-green .message-body .message-text{background:#7ec631;color:white}.message-purple .message-body .message-text{background:#7f6cc5;color:white}.toolbar a{display:block}.toolbar .toolbar-content{display:flex;flex-direction:row;flex-wrap:wrap;-ms-flex-align:center;align-items:center}.toolbar .toolbar-content .toolbar-item{flex:0 0 auto}.toolbar .toolbar-content .toolbar-item>.btn{width:100%}.toolbar .toolbar-content .toolbar-item>.toolbar-link{padding:1rem 1.5rem}.toolbar .toolbar-content .toolbar-gap{flex:1000 1 auto}.toolbar-fill .btn{border-radius:0}.toolbar-fill .toolbar-content>.btn,.toolbar-fill .toolbar-content .toolbar-item{flex:1 0 auto}.toolbar-separate .toolbar-content{margin:-.375rem}.toolbar-separate .toolbar-content .toolbar-item{margin:.375rem}.toolbar-fixed .toolbar-content>.btn,.toolbar-fixed .toolbar-content .toolbar-item{flex:1 0 0px}.title{margin-left:-10px;margin-right:-10px;display:flex;flex-direction:row;flex-wrap:wrap;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center}.title-buffer{margin-top:60px;margin-bottom:60px}.title>*{padding:5px 0;margin:0 10px}.title-header{flex:0 1 auto}.title-body{flex:1 1 auto}.title-actions{flex:0 1 auto}.title-fix{min-height:50px}.title:first-child{margin-top:-5px}.title:last-child{margin-bottom:-5px}.list{color:#8b969e}.list-item:not(:first-child){border-top:1px solid rgba(0,30,60,0.075)}.list-item:first-child .list-row{border-top-right-radius:4px;border-top-left-radius:4px}.list-item:last-child .list-row{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-link{display:block;position:absolute;width:100%;height:100%;top:0;left:0;z-index:2}.list-link:hover+.list-row,.list-link:focus+.list-row{background:#f9fafb}.list-item.active .list-row{background:#0bb}.list-item.active .list-row h1,.list-item.active .list-row .h1,.list-item.active .list-row h2,.list-item.active .list-row .h2,.list-item.active .list-row h3,.list-item.active .list-row .h3,.list-item.active .list-row h4,.list-item.active .list-row .h4,.list-item.active .list-row h5,.list-item.active .list-row .h5,.list-item.active .list-row h6,.list-item.active .list-row .h6,.list-item.active .list-row{color:#fff}.list-row{display:flex;flex-direction:row;-ms-flex-align:center;align-items:center;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.list-row>*{flex:1 1 0px;padding:1.5rem 2rem}.list-row>* *{margin-top:0;margin-bottom:0}.list-row>* a{z-index:3}.list-row-group{padding-left:0;padding-right:1rem}.list-row-graphic,.list-row-arrow{flex:0 0 auto}.list-row-graphic>.glyph,.list-row-arrow>.glyph{opacity:.3333333333}.list-row-sm>*{padding-top:12px;padding-bottom:12px}.list-row-xs>*{padding-top:7px;padding-bottom:7px}.card-list .list .list-row>*{padding-left:30px;paddign-right:30px}.list-clean{margin:0;padding:0;border:0;list-style-type:none}.list-clean li{margin:0;padding:0;list-style-type:none}.list-columns-2{columns:2}.status{display:flex;flex-direction:row}.status-text{flex:1 1 auto;white-space:nowrap;min-width:0}.status-icon{flex:0 0 auto}.dot{display:inline-block;background:currentColor;width:8px;height:8px;border-radius:50%}.dot-default{color:#8b969e}.dot-success{color:#5fb825}.dot-info{color:#0aa}.dot-warning{color:#ff821d}.dot-danger{color:#ff4f39}.table-master-detail-toggle{-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.table-master-detail:not(.open) .table-detail{display:none}.table-master-detail.open .table-master td,.table-master-detail.open .table-master th{background:white !important}.table-master-detail.open .table-master-detail-toggle{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.form-grid{display:table;width:100%}.form-grid .form-row-group{display:table-row-group}.form-grid .form-row{display:table-row}.form-grid .form-row .form-row{display:table;width:100%}.form-grid .form-row .form-label,.form-grid .form-row .form-response{display:table-cell;padding:7px;vertical-align:top}.form-grid .form-row .form-label:first-child,.form-grid .form-row .form-response:first-child{padding-left:0}.form-grid .form-row .form-label:last-child,.form-grid .form-row .form-response:last-child{padding-right:0}.form-grid .form-row .form-label .form-row>*,.form-grid .form-row .form-response .form-row>*{padding-top:0;padding-bottom:0}.form-grid .form-row .form-label{white-space:nowrap;width:1px}.form-grid .form-row .form-response .help-block{margin:0;top:3px}.form-grid .form-row .form-response.form-response-short{width:1px;white-space:nowrap}.form-grid .form-row .form-response .form-response,.form-grid .form-row .form-response .form-label{padding-top:0;padding-bottom:0}.form-grid .form-row>.form-label:first-child{padding-right:7px}.form-grid:not(.form-grid-left) .form-label{text-align:right}.matrix{margin:0 -15px;display:flex;flex-direction:row;-ms-flex-align:stretch;align-items:stretch;flex-wrap:wrap}.matrix.matrix-nowrap{flex-wrap:nowrap}.matrix .matrix-item{padding:15px;display:flex;flex-direction:column;flex:1 1 260px}.matrix .matrix-item>*{flex:1 1 auto;margin:0}.waterfall{margin:0 -15px;-webkit-column-count:4;column-count:4;-webkit-column-gap:0;column-gap:0;-webkit-column-width:320px;column-width:320px}.waterfall .waterfall-item{-webkit-column-break-inside:avoid;page-break-inside:avoid;break-inside:avoid-column;padding:15px}.waterfall .waterfall-item>*{margin:0}.mosaic{display:flex;flex-direction:column;-ms-flex-align:stretch;align-items:stretch}.mosaic-buffer{margin:0 -15px}.mosaic-row{display:flex;flex-direction:row;flex-wrap:wrap;flex:1 1 auto}.mosaic-column{display:flex;flex-direction:column;flex:1 1 320px}.mosaic-column-1{flex:1 1 320px}.mosaic-column-2{flex:1 1 640px}.mosaic-column-3{flex:1 1 960px}.mosaic-column-4{flex:1 1 1280px}.mosaic-column-5{flex:1 1 1600px}.mosaic-column-6{flex:1 1 1920px}.mosaic-column-7{flex:1 1 2240px}.mosaic-column-8{flex:1 1 2560px}.mosaic-column-9{flex:1 1 2880px}.mosaic-column-10{flex:1 1 3200px}.mosaic-column-11{flex:1 1 3520px}.mosaic-column-12{flex:1 1 3840px}.mosaic-item{display:flex;flex-direction:column}.mosaic-item>*{flex:1 0 auto;margin:0}.mosaic-column>.mosaic-item{flex:1 1 auto}.mosaic-row>.mosaic-item{flex:1 0 260px}.mosaic-buffer .mosaic-item{margin:15px}.flex-row{display:flex;flex-direction:row;flex-wrap:wrap}.flex-column{display:flex;flex-direction:column;flex:1 1 320px}.flex-column-1{flex:1 1 320px}.flex-column-2{flex:1 1 640px}.flex-column-3{flex:1 1 960px}.flex-column-4{flex:1 1 1280px}.flex-column-5{flex:1 1 1600px}.flex-column-6{flex:1 1 1920px}.flex-column-7{flex:1 1 2240px}.flex-column-8{flex:1 1 2560px}.flex-column-9{flex:1 1 2880px}.flex-column-10{flex:1 1 3200px}.flex-column-11{flex:1 1 3520px}.flex-column-12{flex:1 1 3840px}.flex-nowrap{flex-wrap:nowrap}.flex-buffer{margin:0 -15px}.flex-flush{margin-top:-15px;margin-bottom:-15px}.flex-column>.flex-item{flex:1 1 auto}.flex-row>.flex-item{flex:1 0 260px}.flex-buffer .flex-item{margin:15px}.flex-column>.flex-item-sm{flex:1 1 auto}.flex-row>.flex-item-sm{flex:1 0 130px}.flex-buffer .flex-item-sm{margin:7.5px}.flex-grow{flex:1 0 auto}.flex-auto{flex:0 0 auto}.flex-shrink{flex:0 1 auto}.album{margin:0 -30px;visibility:hidden}.album.album-ready{visibility:visible}.album .album-content{display:flex;flex-direction:row;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch}.album .album-content .album-image{flex:1 1 auto;margin:30px}.album .album-content .album-image img{margin:0;display:block;width:100%;height:auto;display:block;border-width:0;background:white;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03);border-radius:4px}.limit-1>*:nth-child(n+2){display:none !important}.limit-2>*:nth-child(n+3){display:none !important}.limit-3>*:nth-child(n+4){display:none !important}.limit-4>*:nth-child(n+5){display:none !important}.limit-5>*:nth-child(n+6){display:none !important}.limit-6>*:nth-child(n+7){display:none !important}.limit-7>*:nth-child(n+8){display:none !important}.limit-8>*:nth-child(n+9){display:none !important}.limit-9>*:nth-child(n+10){display:none !important}.limit-10>*:nth-child(n+11){display:none !important}.limit-11>*:nth-child(n+12){display:none !important}.limit-12>*:nth-child(n+13){display:none !important}.grid{display:grid;grid-gap:2em;grid-template-columns:repeat(auto-fill, minmax(200px, 1fr))}html.cssgridlegacy .grid{display:flex;flex-direction:row;flex-wrap:wrap;padding:1em}html.cssgridlegacy .grid>*{flex:1 0 200px;max-width:320px;padding:1em}.section-target{position:absolute;visibility:hidden;top:-4em}.section{padding:.75em 0}.section-target:target+.section-content .panel{box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 30px 30px -15px rgba(0,0,0,0.3)}.framework{-ms-display:grid;display:grid;height:100%}.framework>*{padding:1em 1.5em}.framework .framework-header{background:#0bb;color:white}.framework .framework-nav{background:#f0f2f4}.framework .framework-menu{background:#f9fafb}.framework .framework-content{background:white}.framework .framework-content{padding:0;overflow:auto;display:flex;flex-direction:column;-ms-flex-align:stretch;align-items:stretch}.framework .framework-content>*{padding:1em 1.5em}.framework .framework-content .framework-actions{position:sticky;top:0;z-index:2;background:white}@media (min-width: 961px){.framework{-ms-grid-rows:60px auto;grid-template-rows:60px auto;-ms-grid-columns:60px 240px auto;grid-template-columns:60px 240px auto}.framework .framework-header{-ms-grid-row:1;grid-row:1;-ms-grid-column:1;-ms-grid-column-span:3;grid-column:1 / 4}.framework .framework-nav{-ms-grid-row:2;grid-row:2;-ms-grid-column:1;grid-column:1}.framework .framework-menu{-ms-grid-row:2;grid-row:2;-ms-grid-column:2;grid-column:2}.framework .framework-content{-ms-grid-row:2;grid-row:2;-ms-grid-column:3;grid-column:3}}@media (max-width: 960px){.framework{-ms-grid-rows:60px auto;grid-template-rows:60px auto;-ms-grid-columns:auto;grid-template-columns:auto}.framework .framework-header{-ms-grid-row:1;grid-row:1;-ms-grid-column:1;grid-column:1}.framework .framework-nav{display:none}.framework .framework-menu{display:none}.framework .framework-content{-ms-grid-row:2;grid-row:2;-ms-grid-column:1;grid-column:1}.framework .framework-content .framework-actions{order:-1}}.app{display:block;position:absolute;width:100%;height:100%;top:0;left:0;position:fixed;min-width:960px}.app-row{display:flex;flex-direction:row;-ms-flex-align:stretch;align-items:stretch}.app-column{display:flex;flex-direction:column;-ms-flex-align:stretch;align-items:stretch}.app-middle{-ms-flex-align:center;align-items:center}.app-header,.app-footer{flex:0 0 auto}.app-body{flex:1 0 0px}.app-navbar{height:calc( 2.8571428571rem + 40px );z-index:3;background:white}.app-menu,.app-sidebar,.app-content{-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1);background:#f9fafb}.app-menu,.app-sidebar{width:20%;min-width:300px;flex:0 0 auto}.app-content{flex:1 0 0px}.app-content a,.app-content .a{color:#0bb}.app-content a:hover,.app-content a:focus,.app-content .a:hover,.app-content .a:focus{color:#0aa}.app-overlay{background:#f0f2f4;position:absolute;display:none;z-index:2;right:-100vw;left:-100vw;bottom:0;top:0;opacity:.9}.app-menu .app-overlay{left:100%;box-shadow:inset 5px 0 10px -5px rgba(0,0,0,0.2)}.app-sidebar .app-overlay{right:100%;box-shadow:inset -5px 0 10px -5px rgba(0,0,0,0.2)}.app-icn:not(:first-child){padding-left:20px}.app-icn:not(:last-child){padding-right:20px}.app-scroll{display:block;position:absolute;width:100%;height:100%;top:0;left:0;overflow:auto}html.touch .app-scroll{overflow:scroll;-webkit-overflow-scrolling:touch}.app-pad{padding:20px 30px}.app-pad,.app-pad-v{padding-top:20px;padding-bottom:20px}.app-pad,.app-pad-h{padding-left:30px;padding-right:30px}.app-sticky{top:0;z-index:2;position:sticky;background:#f9fafb}.app-frame{margin:auto}@media (min-width: 961px){.app-frame{width:90%}}.app-shadow{box-shadow:0 1px 0 rgba(0,16,32,0.05)}.app-flush,.app-flush-top{padding-top:0}.app-flush,.app-flush-bottom{padding-bottom:0}.app-flush,.app-flush-left{padding-left:0}.app-flush,.app-flush-right{padding-right:0}.app-logo{width:100px}.layout{width:100vw;height:100vh;min-width:960px;overflow:auto}html.touch .layout{overflow:scroll;-webkit-overflow-scrolling:touch}.layout-pad{padding-top:20px;padding-bottom:20px}.layout-ide{height:calc(100vh - 53px)}.layout-pad-l,.layout-pad-x{padding-left:20px}.layout-pad-r,.layout-pad-x{padding-right:20px}.layout-sticky{position:sticky;z-index:20;top:0}.layout-frame{margin:auto;width:90%;padding-left:20px;padding-right:20px}.layout-menu .layout-frame{padding-right:0}.layout-navigation{box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03);background:white;height:52px;position:absolute;top:0;left:0;right:0}.layout-content{position:absolute;top:53px;bottom:0;left:0;right:0;overflow:auto}html.touch .layout-content{overflow:scroll;-webkit-overflow-scrolling:touch}.layout-row{display:flex;flex-direction:row}.layout-alert{flex:0 0 100%}.layout-menu{flex:0 0 25%;max-width:300px;min-width:0}.layout-body{flex:1 1 auto;box-shadow:0 -1px 0 rgba(0,30,60,0.03)}.ide{overflow:hidden;font-size:.9285714286rem;display:block;position:absolute;width:100%;height:100%;top:0;left:0;background:white}.ide-pad{padding:14px 16px !important}.ide-pad-l,.ide-pad-x{padding-left:16px !important}.ide-pad-r,.ide-pad-x{padding-right:16px !important}.ide-panels{display:block;position:absolute;width:100%;height:100%;top:0;left:0}.ide-panels,.ide-panel-group{display:flex;flex-direction:row;background:inherit}.ide-panels.ide-vertical,.ide-panel-group.ide-vertical{display:flex;flex-direction:column}@media (max-width: 960px){.ide-panels,.ide-panel-group{display:flex;flex-direction:column}}.ide-panel,.ide-panel-group{flex:1 0 0px}.ide-panel{-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1);-webkit-transition-property:box-shadow,transform;transition-property:box-shadow,transform;box-shadow:0 0 0 2px transparent;min-height:200px;min-width:200px;background:inherit;display:flex;flex-direction:column}.ide-horizontal .ide-panel{height:auto !important}.ide-horizontal .ide-panel[style*="width"]{flex:0 0 auto}.ide-vertical .ide-panel{width:auto !important}.ide-vertical .ide-panel[style*="height"]{flex:0 0 auto}@media (max-width: 960px){.ide-panel{width:auto !important}}.ide-panel-sm{flex:0 0 280px}.ide-panel:before{content:\'\';display:block;position:absolute;left:0;top:0;bottom:0;right:0;box-shadow:0 0 0 1px currentColor;opacity:.125}.ide-panel:focus{z-index:3;box-shadow:0 0 0 2px #0bb,0 10px 20px rgba(0,30,60,0.3);-webkit-transform:translate(10px, -10px);transform:translate(10px, -10px);border-radius:4px}.ide-panel>*:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.ide-panel>*:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.ide-panel-header,.ide-panel-footer{flex:0 0 auto;background:rgba(0,30,60,0.03)}.ide-panel-header:before,.ide-panel-header:after,.ide-panel-footer:before,.ide-panel-footer:after{content:\'\';display:block;position:absolute;left:0;top:0;bottom:0;right:0;background:currentColor;opacity:.0075}.ide-panel-header:after,.ide-panel-footer:after{height:1px;opacity:.06}.ide-panel-header .btn:focus,.ide-panel-header .btn:active,.ide-panel-footer .btn:focus,.ide-panel-footer .btn:active{z-index:auto}.ide-panel-header:after{top:auto}.ide-panel-footer:before{display:none}.ide-panel-footer:after{bottom:auto}.ide-panel-body{color:#313539;background:inherit;flex:1 1 auto}.ide-panel-scroll{display:block;position:absolute;width:100%;height:100%;top:0;left:0;overflow:auto}html.touch .ide-panel-scroll{overflow:scroll;-webkit-overflow-scrolling:touch}.ide-panel-scroll::-webkit-scrollbar{background:#e9ebef;width:7px;height:7px}.ide-panel-scroll::-webkit-scrollbar-button{display:none}.ide-panel-scroll::-webkit-scrollbar-track{background:transparent}.ide-panel-scroll::-webkit-scrollbar-track-piece{background:transparent}.ide-panel-scroll::-webkit-scrollbar-thumb{background:#d7dbdf;border-radius:200px ;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.ide-panel-scroll::-webkit-scrollbar-corner{background:#e9ebef}.ide-panel-scroll::-webkit-resizer{background:transparent}.ide-panel-scroll:hover::-webkit-scrollbar-thumb{background:#c1c7cd}.ide-panel-handle{display:block;position:absolute;top:0;bottom:0;right:0;background:white;width:10px}.ide-controls{display:table;width:100%;height:44px}.ide-controls>*{display:table-cell;vertical-align:middle}.ide-control{white-space:nowrap}.ide-control-sm{width:1px}.ide-control-link,.ide-control-text{display:block;padding:.6785714286rem 0}.ide-control-link{padding-left:1.25rem;padding-right:1.25rem;text-align:center}.ide-control-inline-link{display:inline-block;padding:.6785714286rem 0;text-align:center}.ide-control.active{box-shadow:inset 0 -1px 0 #0bb}.ide-control.active .ide-control-link,.ide-control.active .ide-control-inline-link{color:inherit;font-weight:bold}.ide-list{padding:7px 0}.ide-list-item{display:block;padding:7px 16px;color:inherit;box-shadow:0 1px 0 rgba(0,30,60,0.03);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ide-list-item:hover,.ide-list-item:focus{color:inherit}.ide-list-item-footer{padding:.375em 0;display:flex;flex-direction:row;-ms-flex-pack:justify;justify-content:space-between}.ide-interactive:hover,.ide-interactive:focus{background:#f9fafb}.ide-active{background:#e4e6eb !important}.ide-code{color:inherit;resize:none;padding:0;background:transparent}.ide table{white-space:nowrap}.ide table td:first-child,.ide table th:first-child{padding-left:16px}.ide table td:last-child,.ide table th:last-child{padding-right:16px}.ide table td{max-width:300px;overflow:hidden;text-overflow:ellipsis}.ide-table-heading{color:inherit;position:sticky;top:0;z-index:3;background:white;box-shadow:0 1px 0 rgba(0,30,60,0.03)}.ide-dark{color:white}.ide-dark,.ide-dark .ide-table-heading{background:#002934}.ide-dark .ide-panel-body{color:inherit}.ide-dark .ide-panel:focus,.ide-dark .ide-panel-header,.ide-dark .ide-panel-footer,.ide-dark .table-striped>tbody>tr:nth-of-type(odd){background:#00303d}.ide-dark .ide-active{background:#005e7a !important;color:white !important}.ide-dark .ide-table-heading,.ide-dark .ide-list-item{box-shadow:0 1px 0 rgba(255,255,255,0.1)}.ide-dark .ide-panel-header .btn-default,.ide-dark .ide-panel-footer .btn-default{color:#fff;background-color:#005e7a;border-color:#005e7a}.ide-dark .ide-panel-header .btn-default:focus,.ide-dark .ide-panel-header .btn-default.focus,.ide-dark .ide-panel-footer .btn-default:focus,.ide-dark .ide-panel-footer .btn-default.focus{color:#fff;background-color:#007699}.ide-dark .ide-panel-header .btn-default:hover,.ide-dark .ide-panel-footer .btn-default:hover{color:#fff;background-color:#007699}.ide-dark .ide-panel-header .btn-default:active,.ide-dark .ide-panel-header .btn-default.active,.open>.ide-dark .ide-panel-header .btn-default.dropdown-toggle,.ide-dark .ide-panel-footer .btn-default:active,.ide-dark .ide-panel-footer .btn-default.active,.open>.ide-dark .ide-panel-footer .btn-default.dropdown-toggle{color:#fff;background-color:#007699}.ide-dark .ide-panel-header .btn-default:active:hover,.ide-dark .ide-panel-header .btn-default:active:focus,.ide-dark .ide-panel-header .btn-default:active.focus,.ide-dark .ide-panel-header .btn-default.active:hover,.ide-dark .ide-panel-header .btn-default.active:focus,.ide-dark .ide-panel-header .btn-default.active.focus,.open>.ide-dark .ide-panel-header .btn-default.dropdown-toggle:hover,.open>.ide-dark .ide-panel-header .btn-default.dropdown-toggle:focus,.open>.ide-dark .ide-panel-header .btn-default.dropdown-toggle.focus,.ide-dark .ide-panel-footer .btn-default:active:hover,.ide-dark .ide-panel-footer .btn-default:active:focus,.ide-dark .ide-panel-footer .btn-default:active.focus,.ide-dark .ide-panel-footer .btn-default.active:hover,.ide-dark .ide-panel-footer .btn-default.active:focus,.ide-dark .ide-panel-footer .btn-default.active.focus,.open>.ide-dark .ide-panel-footer .btn-default.dropdown-toggle:hover,.open>.ide-dark .ide-panel-footer .btn-default.dropdown-toggle:focus,.open>.ide-dark .ide-panel-footer .btn-default.dropdown-toggle.focus{color:#fff;background-color:#007699}.ide-dark .ide-panel-header .btn-default:active,.ide-dark .ide-panel-header .btn-default.active,.open>.ide-dark .ide-panel-header .btn-default.dropdown-toggle,.ide-dark .ide-panel-footer .btn-default:active,.ide-dark .ide-panel-footer .btn-default.active,.open>.ide-dark .ide-panel-footer .btn-default.dropdown-toggle{background-image:none}.ide-dark .ide-panel-header .btn-default.disabled:hover,.ide-dark .ide-panel-header .btn-default.disabled:focus,.ide-dark .ide-panel-header .btn-default.disabled.focus,.ide-dark .ide-panel-header .btn-default[disabled]:hover,.ide-dark .ide-panel-header .btn-default[disabled]:focus,.ide-dark .ide-panel-header .btn-default[disabled].focus,fieldset[disabled] .ide-dark .ide-panel-header .btn-default:hover,fieldset[disabled] .ide-dark .ide-panel-header .btn-default:focus,fieldset[disabled] .ide-dark .ide-panel-header .btn-default.focus,.ide-dark .ide-panel-footer .btn-default.disabled:hover,.ide-dark .ide-panel-footer .btn-default.disabled:focus,.ide-dark .ide-panel-footer .btn-default.disabled.focus,.ide-dark .ide-panel-footer .btn-default[disabled]:hover,.ide-dark .ide-panel-footer .btn-default[disabled]:focus,.ide-dark .ide-panel-footer .btn-default[disabled].focus,fieldset[disabled] .ide-dark .ide-panel-footer .btn-default:hover,fieldset[disabled] .ide-dark .ide-panel-footer .btn-default:focus,fieldset[disabled] .ide-dark .ide-panel-footer .btn-default.focus{background-color:#005e7a;border-color:#005e7a}.ide-dark .ide-panel-header .btn-default .badge,.ide-dark .ide-panel-footer .btn-default .badge{color:#005e7a;background-color:#fff}.ide-dark .ide-panel-scroll::-webkit-scrollbar{background:#00475c;width:7px;height:7px}.ide-dark .ide-panel-scroll::-webkit-scrollbar-button{display:none}.ide-dark .ide-panel-scroll::-webkit-scrollbar-track{background:transparent}.ide-dark .ide-panel-scroll::-webkit-scrollbar-track-piece{background:transparent}.ide-dark .ide-panel-scroll::-webkit-scrollbar-thumb{background:#065b74;border-radius:200px ;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.ide-dark .ide-panel-scroll::-webkit-scrollbar-corner{background:#00475c}.ide-dark .ide-panel-scroll::-webkit-resizer{background:transparent}.ide-dark .ide-panel-scroll:hover::-webkit-scrollbar-thumb{background:#087291}.ide-dark .ace_scrollbar::-webkit-scrollbar{background:#00475c;width:7px;height:7px}.ide-dark .ace_scrollbar::-webkit-scrollbar-button{display:none}.ide-dark .ace_scrollbar::-webkit-scrollbar-track{background:transparent}.ide-dark .ace_scrollbar::-webkit-scrollbar-track-piece{background:transparent}.ide-dark .ace_scrollbar::-webkit-scrollbar-thumb{background:#065b74;border-radius:200px ;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.ide-dark .ace_scrollbar::-webkit-scrollbar-corner{background:#00475c}.ide-dark .ace_scrollbar::-webkit-resizer{background:transparent}.ide-dark .ace_scrollbar:hover::-webkit-scrollbar-thumb{background:#087291}.ide-dark .ide-code::-webkit-scrollbar{background:#00475c;width:7px;height:7px}.ide-dark .ide-code::-webkit-scrollbar-button{display:none}.ide-dark .ide-code::-webkit-scrollbar-track{background:transparent}.ide-dark .ide-code::-webkit-scrollbar-track-piece{background:transparent}.ide-dark .ide-code::-webkit-scrollbar-thumb{background:#065b74;border-radius:200px ;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.ide-dark .ide-code::-webkit-scrollbar-corner{background:#00475c}.ide-dark .ide-code::-webkit-resizer{background:transparent}.ide-dark .ide-code:hover::-webkit-scrollbar-thumb{background:#087291}.menu{margin:0 -5px;font-size:.9285714286rem}.menu ul{margin:0;padding:0;border:0;list-style-type:none;display:none}.menu ul li{margin:0;padding:0;list-style-type:none}.menu ul ul{margin-left:23px}.menu a{color:#3f464e;display:block;padding:3px 5px;border-radius:4px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu a.menu-tree{color:#8b969e}.menu a.menu-main{font-size:1rem;margin-bottom:.25em;font-weight:bold;color:#313539}.menu a.active:not(.not-active){color:#313539}.menu a:hover,.menu a:focus{background:#f0f2f4;color:#313539}.menu a.menu-node.active:not(.not-active),.menu a.menu-link.active:not(.not-active){background:#e9ebef;color:#313539}.menu .icn{margin-right:8px}.menu>ul,.menu .active+ul{display:block}a:not(.active) .menu-icon-on{display:none}a.active .menu-icon-off{display:none}.results{font-size:.9285714286rem}.results .result{display:block;color:inherit;text-decoration:none !important;padding:15px 20px;margin:0 -20px;border-radius:4px}.results .result:hover,.results .result:focus{color:inherit}.results .result:hover,.results .result:focus{background:#f0f2f4}.results .result-content{display:flex;flex-direction:row}.results .result-content .result-icn{flex:0 0 auto;color:#8b969e;opacity:.5;padding:2px 20px 0 0}.results .result-content .result-body{flex:1 1 auto}.results .result-content .result-body>*{margin-top:.25em;margin-bottom:.25em}.results .result-content .result-body>*:first-child{margin-top:0}.results .result-content .result-body>*:last-child{margin-bottom:0}.filename{display:flex;flex-direction:row}.filename .filename-ellip{flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filename .filename-normal{flex:0 0 auto}.launcher{z-index:30;position:fixed;bottom:30px;right:30px}.launcher:not(.on) .launcher-content{display:none}.launcher.on .launcher-btn{display:none}.launcher-btn{font-size:0}.launcher-btn .btn{box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 20px 20px -10px rgba(0,0,0,0.2)}.launcher-btn .btn:not(:last-child){margin-right:10px}.launcher-btn .btn:hover,.launcher-btn .btn:focus{box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 40px 40px -20px rgba(0,0,0,0.4)}.launcher-content{position:fixed;height:100%;border:20px solid transparent;top:0;right:0}@media (min-width: 961px){.launcher[data-launcher="sidebar"] .launcher-content{width:340px;border-left:0}}@media (max-width: 960px){.launcher[data-launcher="sidebar"] .launcher-content{width:100vw}}.launcher[data-launcher="sidebar"] .launcher-content .launcher-hide-sidebar:not(.visible){display:none}.launcher[data-launcher="fullscreen"] .launcher-content{width:100vw}.launcher[data-launcher="fullscreen"] .launcher-content .launcher-hide-fullscreen:not(.visible){display:none}.launcher-window{display:flex;flex-direction:column;overflow:auto;width:100%;height:100%;color:white;background:#005e7a;border-radius:4px;box-shadow:-10px 5px 20px 5px rgba(0,0,0,0.1),0 20px 20px -10px rgba(0,0,0,0.3)}.launcher-window h1,.launcher-window .h1,.launcher-window h2,.launcher-window .h2,.launcher-window h3,.launcher-window .h3,.launcher-window h4,.launcher-window .h4,.launcher-window h5,.launcher-window .h5,.launcher-window h6,.launcher-window .h6{color:inherit}html.touch .launcher-window{overflow:scroll;-webkit-overflow-scrolling:touch}.launcher-window .launcher-header,.launcher-window .launcher-footer{flex:0 0 auto;display:flex;flex-direction:row;-ms-flex-align:center;align-items:center}.launcher-window .launcher-header .launcher-spacer,.launcher-window .launcher-footer .launcher-spacer{flex:1 0 0px}.launcher-window .launcher-header .launcher-cell,.launcher-window .launcher-footer .launcher-cell{flex:1 1 auto;min-width:0;padding:20px}.launcher-window .launcher-header .launcher-cell.launcher-flush,.launcher-window .launcher-footer .launcher-cell.launcher-flush{padding:0}.launcher-window .launcher-header .launcher-cell .field-label,.launcher-window .launcher-header .launcher-cell .field-input,.launcher-window .launcher-footer .launcher-cell .field-label,.launcher-window .launcher-footer .launcher-cell .field-input{padding-left:20px;padding-right:20px;border-radius:0 !important;box-shadow:none !important}.launcher-window .launcher-header .launcher-cell .field-input,.launcher-window .launcher-footer .launcher-cell .field-input{background-position:calc(100% - 1.25rem - 5px) 50%}.launcher-window .launcher-header .launcher-actions,.launcher-window .launcher-footer .launcher-actions{flex:0 0 auto}.launcher-window .launcher-footer{flex-wrap:wrap}.launcher-window .launcher-body{flex:1 1 0px}.launcher-window .launcher-body .launcher-scroll{display:block;position:absolute;width:100%;height:100%;top:0;left:0}.launcher-window .launcher-body .launcher-scroll .launcher[data-launcher="sidebar"]{overflow:auto}html.touch .launcher-window .launcher-body .launcher-scroll .launcher[data-launcher="sidebar"]{overflow:scroll;-webkit-overflow-scrolling:touch}.launcher-window .launcher-body .launcher-embed,.launcher-window .launcher-body .launcher-embed iframe,.launcher-window .launcher-body .launcher-embed canvas{display:block;position:absolute;width:100%;height:100%;top:0;left:0}.field{display:block;margin:0}.field .field-input{height:4.6071428571rem;border-top:1.75rem solid transparent !important}.field .field-input:hover+.field-label,.field .field-input:focus+.field-label{color:#5e666c}.field .field-label{pointer-events:none;z-index:4;font-family:"Monaco",monospace;font-size:.8571428571rem;position:absolute;top:0;left:0;margin:0;padding:.6785714286rem 1.25rem 0}.field .field-text{height:4.6071428571rem;border-top:1.75rem solid transparent !important;border-radius:0 !important;box-shadow:none !important;padding:.6785714286rem 1.25rem 0}.field .field-text-label{pointer-events:none;z-index:0;position:absolute;top:0;left:0;margin:0;padding:.6785714286rem 1.25rem 0;font-variant:small-caps}.fields{display:flex;flex-direction:row;flex-wrap:wrap}.fields .field{flex:1 0 160px}.fields:not(.fields-flush){margin:-5px}.fields:not(.fields-flush) .field{border:5px solid transparent}.switches{margin:1.5em 0;display:flex;flex-direction:row;flex-wrap:wrap;background:#edeff2;box-shadow:inset 0 0 5px rgba(0,0,0,0.05);border-radius:4px;font-size:.9285714286rem}.switches .switch{flex:1 1 auto}.switches .switch .switch-label{padding:.4464285714rem 1.25rem;color:#8b969e;display:block;text-align:center;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.switches .switch .switch-label:hover,.switches .switch .switch-label:focus{color:#313539}.switches .switch .switch-label.active{display:block;border-width:0;background:white;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03);border-radius:4px;font-weight:bold;color:#313539}.details .details-content{margin:-1em 0}@media (min-width: 961px){.details .details-content{display:table;width:100%}.details .details-content .detail-group{display:table-row}.details .details-content .detail-group>*{display:table-cell;vertical-align:top}.details .details-content .detail-group:not(:last-child)>*{border-bottom:1px solid rgba(0,30,60,0.075)}}.detail-group{padding-bottom:1em}.detail-group:not(:last-child){border-bottom:1px solid rgba(0,30,60,0.075)}.detail-group .detail-header{white-space:nowrap;width:1px;padding:1em;padding-left:0}@media (max-width: 960px){.detail-group .detail-header .detail-label{color:#313539}}.detail-group .detail-body{padding:.5em}@media (max-width: 960px){.detail-group .detail-body{padding:0;margin:0 -1em}}.detail-group .detail-body .detail{margin:0;display:inline-block;vertical-align:top;padding:.5em 1em}.detail-label{margin:0;text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:500;color:#8b969e}.detail-value{color:#313539}.controls{display:flex;flex-direction:row;flex-wrap:wrap;-ms-flex-pack:justify;justify-content:space-between;margin:-7px}.controls:not(.controls-block){display:inline-flex}.controls-nowrap{flex-wrap:nowrap}.controls .control{padding:7px;flex:0 0 auto}.controls .control .btn{text-align:center}.controls .control .btn,.controls .control .form-control{width:100%}.controls .control-grow{flex:1 0 auto}.controls .control-full{flex:0 0 100%}.token{display:flex;flex-direction:row;display:inline-flex}.token-element{flex:0 0 auto}.token-element:not(:first-child) .btn,.token-element:not(:first-child) .form-control{border-top-left-radius:0;border-bottom-left-radius:0}.token-element:not(:last-child) .btn,.token-element:not(:last-child) .form-control{border-top-right-radius:0;border-bottom-right-radius:0}.tokens{margin-left:-5px;margin-right:-5px}.tokens:after{display:table;content:\'\';clear:both}.tokens-actions{float:right}.tokens .token{float:left;margin:5px}.setting{display:flex;flex-direction:row;margin:0 -30px}.setting>*{padding:15px 30px}.setting-header{flex:1 0 28.5714285714%;min-width:200px}.setting-header-text>*{margin-top:.5rem;margin-bottom:.5rem}.setting-header-text>*:first-child{margin-top:0}.setting-header-text>*:last-child{margin-bottom:0}.setting-header-text h1,.setting-header-text .h1,.setting-header-text h2,.setting-header-text .h2,.setting-header-text h3,.setting-header-text .h3,.setting-header-text h4,.setting-header-text .h4,.setting-header-text h5,.setting-header-text .h5,.setting-header-text h6,.setting-header-text .h6{display:inline}.setting-header-text h1 a,.setting-header-text .h1 a,.setting-header-text h2 a,.setting-header-text .h2 a,.setting-header-text h3 a,.setting-header-text .h3 a,.setting-header-text h4 a,.setting-header-text .h4 a,.setting-header-text h5 a,.setting-header-text .h5 a,.setting-header-text h6 a,.setting-header-text .h6 a{font-size:.9285714286rem;font-weight:bold;margin-left:.75em}.setting-body{flex:1 0 71.4285714286%;min-width:600px}.setting-row{display:flex;flex-direction:row;margin:0 -4px}.setting-row:not(:last-child){border-bottom:1px solid rgba(0,30,60,0.075)}.setting-row>*{padding:4px}.setting-row-label{flex:0 0 25%;min-width:120px;padding-top:8px}.setting-row-response{flex:1 1 auto}.setting-row-edit{flex:0 0 auto}.setting-row-actions{flex:1 1 auto}body:not(.editing) .setting-form:not(.editing) [setting-active]{display:none}.editing [setting-static]{display:none}body.editing [setting-old]{display:none}body:not(.editing) [setting-new]{display:none}.editing .setting-row:not(.setting-row-border){border-color:transparent}.logo{display:block;overflow:hidden;color:#313539}.logo,.logo svg{height:25px;width:88px}.logo svg{fill:currentColor;top:-1px}@media (max-width: 540px){.logo{width:25px}}.kpi{color:#313539;padding:20px 32px}.kpi-lg .kpi-value{font-weight:bold;font-size:1.7142857143rem}.kpi-content{display:table;width:100%}.kpi-content>*{display:table-cell;vertical-align:baseline}.kpi-graphic{white-space:nowrap;width:1px;padding-right:.5em}.kpis{display:table;width:100%;width:auto}.kpis>*{display:table-cell;vertical-align:middle}.kpis .kpi:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.kpis .kpi:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.navigation{color:#313539}.navigation-row{height:52px;margin:0 -15px;display:flex;flex-direction:row;-ms-flex-align:center;align-items:center}.navigation-item{flex:0 0 auto;padding:10px 15px}.navigation-grow{flex:1 0 auto}.navigation-link{color:#bec5c9}.navigation-link:hover,.navigation-link:focus{color:#313539}.navigation-pad{padding:0 20px}.sidenav{z-index:20}.sidenav-overlay,.sidenav-content{-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.sidenav-content{overflow:auto;-webkit-transform:translateX(-120%);transform:translateX(-120%);top:0;bottom:0;left:0;background:white;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03);position:fixed;width:320px}html.touch .sidenav-content{overflow:scroll;-webkit-overflow-scrolling:touch}.navigating .sidenav-content{-webkit-transform:translateX(0);transform:translateX(0)}.sidenav-overlay{display:block;position:absolute;width:100%;height:100%;top:0;left:0;position:fixed;background:#f0f2f4;pointer-events:none;opacity:0}.navigating .sidenav-overlay{pointer-events:auto;opacity:.5}.sidenav-body{padding:0 24px}.sidenav-region{padding-bottom:.25em}.sidenav-divider{display:flex;flex-direction:row;-ms-flex-align:center;align-items:center}.sidenav-divider:after{content:\'\';display:block;border-top:1px solid rgba(0,30,60,0.075);flex:1 1 auto}.sidenav-divider-heading{flex:0 0 auto;padding-right:1em}.sidenav-section{padding:24px 0}.sidenav-section+.sidenav-section{border-top:1px solid rgba(0,30,60,0.075)}.sidenav-link{color:#8b969e;display:block;padding:.25em 0;padding-left:40px}.sidenav-link .glyph{position:absolute;left:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.sidenav-link:hover,.sidenav-link:focus{color:#313539}.sidenav-link:not(.active) .glyph{opacity:.3333333333}.sidenav-link.active{color:#ff694b}.sidenav-link-main{color:inherit;padding-top:.5em;padding-bottom:.5em;font-weight:bold}body.navigating{overflow:hidden}body.navigating .navigating-hide{display:none}body:not(.navigating) .navigating-show{display:none}.navigating-overlay{display:block;position:absolute;width:100%;height:100%;top:0;left:0;background:#f0f2f4;opacity:.5;display:none;z-index:9}.navigating .navigating-overlay{display:block}.navigating .navigating-blur{pointer-events:none;-webkit-filter:blur(5px);filter:blur(5px)}a.help{line-height:inherit}\n',""])},function(e,t){e.exports=function(e){return"string"!=typeof e?e:(/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),/["'() \t\n]/.test(e)?'"'+e.replace(/"/g,'\\"').replace(/\n/g,"\\n")+'"':e)}},function(e,t){e.exports="data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAx8AAoAAAAADDQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAAA9AAAAGAAAABgcMR/82NtYXAAAAFUAAABUgAAAVIcdx1qZ2x5ZgAAAqgAAAaMAAAGjFUyrzBoZWFkAAAJNAAAADYAAAA2FVU8pmhoZWEAAAlsAAAAJAAAACQM5gWHaG10eAAACZAAAAA4AAAAODwoBKlsb2NhAAAJyAAAAB4AAAAeDW4Ltm1heHAAAAnoAAAAIAAAACAEVARLbmFtZQAACggAAAJSAAACUpr8+SVwb3N0AAAMXAAAACAAAAAg/7gAQAAEBGMBkAAFAAgEEAPAAAAAeAQQA8AAAAIwADICHAAAAAAFAAAAAAAAAAAAAAAQAAAAAAAAAAAAAABVS1dOAEAAIABmBRT+1AAABfABkAAAAAEAAAAAA4QEsAAAACAAAAAAAAMAAAADAAAAHAABAAAAAABMAAMAAQAAABwABAAwAAAACAAIAAIAAAAgAEYAZv//AAAAIABBAGH////t/8D/pgABAAAAAAAAAAAAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAECAwQFBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwgJCgsMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAB9AK8AAMABgAJAAwADwAANyERIRMnIQM3EQU3FwEXBwAB9P4M+qoBVIyq/o6qqv6OqqoAArz+z//+1P/+Ai3//wIr//8AAAEAFADcBWUD1AAkAAABIgcGBwEGFRQXFhcWMzI3NjcJARYXFjMyNzY3NjU0JwEmJyYjArwQDg8M/agXFwwPDhAPDw8LAiACIAwPDhAPDw8LGBj9pwsPDw8D1AYGDP2oGCAgGQwFBgYFDAIf/eEMBQYGBQwZICAYAlgMBgYAAAAAAQFA/68EOAUAACAAAAEiBwYHBhUUFwkBBhUUFxYXFjMyNzY3ATY1NCcBJicmIwGQEA4PDBcXAiD94BcXDA8OEA8PDwsCWBgY/agLDw8PBQAGBgsZICAZ/eH94BkgIBkLBgYGBgsCWRkgIBkCWAsGBgAAAAABABQA3AVlA9QAJAAAASIHBgcJASYnJiMiBwYHBhUUFwEWFxYzMjc2NwE2NTQnJicmIwUVEA4PDP3h/d8LDw8PEA4PDBcXAlkMDw4QDw8PCwJYGBgLDw8PA9QGBgz94QIfDAYGBgYMGCAgGf2oDAUGBgUMAlgZICAYDAYGAAAAAAEBQP+vBDgFAAAgAAABIgcGBwEGFRQXARYXFjMyNzY3NjU0JwkBNjU0JyYnJiMD6BAODwz9qBcXAlgMDw4QDw8PCxgY/eECHxgYCw8PDwUABgYL/acZICAZ/agLBgYGBgsZICAZAh8CIBkgIBkLBgYAAAAAAQAU/7AFZAUAADgAAAEiBwYHCQEmJyYjIgcGBwYVFBcJAQYVFBcWFxYzMjc2NwkBFhcWMzI3Njc2NTQnCQE2NTQnJicmIwUUEA4PDP3h/eALDw8PEA4PDBcXAiD94BcXDA8OEA8PDwsCIAIfDA8OEA8PDwsYGP3hAh8YGAsPDw8FAAYGC/3gAiALBgYGBgsZICAZ/eH94RkgIBkLBgYGBgsCIP3gCwYGBgYLGSAgGQIfAh8ZICAZCwYGAAABABQAFAb0BQAAJAAAASIHBgcJASYnJiMiBwYHBhUUFwEWFxYzMjc2NwE2NTQnJicmIwakEA4PDPvt/kQLDw8PEA4PDBcXAfQMDw4QDw8PCwRMGBgLDw8PBQAGBgv77AG8CwYGBgYLGSAgGf4MCwYGBgYLBEwZICAZCwYGAAAAAAEAFQGkAwwDcAAkAAABIgcGBwEGFRQXFhcWMzI3Nj8BFxYXFjMyNzY3NjU0JwEmJyYjAZAQDg8M/tUXFwwPDhAPDw8L8/MMDw4QDw8PCxgY/tQLDw8PA3AGBgz+1RggIBkMBgYGBgzy8gwGBgYGDBkgIBgBKwwGBgAAAAABANwA3AKoA9QAIAAAASIHBgcGFRQfAQcGFRQXFhcWMzI3NjcBNjU0JwEmJyYjASwQDg8MFxf08xcXDA8OEA8PDwsBKxgY/tQLDw8PA9QGBgsZICAZ8/QYICAZCwYGBgYMASwYICAZASwLBgYAAAAAAQAVAUEDDAMLACQAAAEiBwYPAScmJyYjIgcGBwYVFBcBFhcWMzI3NjcBNjU0JyYnJiMCvBAODwzy9AsPDw8QDg8MFxcBLAwPDhAPDw8LASsYGAsPDw8DCwUGDPLyDAYFBQYMGCAgGf7VDAUGBgUMASsZICAYDAYFAAAAAAEAeQDdAkUD1AAmAAABIgcGBwEGBwYVFBcWFwEWFxYzMDEyNzY3NjU0LwE3NjU0JyYnJiMB9Q8PDwz+1AsGBgYGDAEsCw8PDxAODwwXGPP0FxcMDw8PA9QGBgv+1AsPDxAQDw8L/tULBgYGBgwYICAZ8vMZICAZCwYGAAABAEYAqgOiBAYAOAAAASIHBgcJASYnJiMiBwYHBhUUFwkBBhUUFxYXFjMyNzY3CQEWFxYzMjc2NzY1NCcJATY1NCcmJyYjA1IQDg8M/tv+2gsPDw8QDg8MFxcBJv7aFxcMDw4QDw8PCwEmASUMDw4QDw8PCxgY/tsBJRgYCw8PDwQGBgYL/toBJgsGBgYGCxkgIBn+2/7bGSAgGQsGBgYGCwEm/toLBgYGBgsZICAZASUBJRkgIBkLBgYAAAEAFADcBDgD1AAkAAABIgcGBwEnJicmIyIHBgcGFRQXARYXFjMyNzY3ATY1NCcmJyYjA+gQDg8M/eH0Cw8PDxAODwwXFwEsDA8OEA8PDwsCWBgYCw8PDwPUBgYL/eD0CwYGBgYLGSAgGf7UCwYGBgYLAlgZICAZCwYGAAABAAAAAQAAywcftV8PPPUAAwZAAAAAANfNTDoAAAAA13yohQAA/68G9AUAAAAAAwACAAAAAAAAAAEAAAXw/nAAAAcIAAAAAAb0AAEAAAAAAAAAAAAAAAAAAAAOAfQAAAV4ABQFeAFABXgAFAV4AUAFeAAUBwgAFAMgABUDIADcAyAAFQMgAHkD6ABGBEwAFAMgAAAAAAAmAGYAoADgARoBeAG4AfYCLgJsAqoDCANGA0YAAAABAAAADgA5AAUAAAAAAAIACAQQA8AAAAB4AAAAAAAAAAAADACWAAEAAAAAAAEADgAAAAEAAAAAAAIABwAOAAEAAAAAAAMAIAAVAAEAAAAAAAQADgA1AAEAAAAAAAUAPABDAAEAAAAAAAYAFQB/AAMAAQQJAAEAHACUAAMAAQQJAAIADgCwAAMAAQQJAAMAQAC+AAMAAQQJAAQAHAD+AAMAAQQJAAUAeAEaAAMAAQQJAAYAKgGSVmVsbGx1bSBBcnJvd3NSZWd1bGFyMS4wMDA7VUtXTjtWZWxsbHVtQXJyb3dzLVJlZ3VsYXJWZWxsbHVtIEFycm93c1ZlcnNpb24gMS4wMDA7UFMgMDAxLjAwMDtob3Rjb252IDEuMC43MDttYWtlb3RmLmxpYjIuNS41ODMyOVZlbGxsdW1BcnJvd3MtUmVndWxhcgBWAGUAbABsAGwAdQBtACAAQQByAHIAbwB3AHMAUgBlAGcAdQBsAGEAcgAxAC4AMAAwADAAOwBVAEsAVwBOADsAVgBlAGwAbABsAHUAbQBBAHIAcgBvAHcAcwAtAFIAZQBnAHUAbABhAHIAVgBlAGwAbABsAHUAbQAgAEEAcgByAG8AdwBzAFYAZQByAHMAaQBvAG4AIAAxAC4AMAAwADAAOwBQAFMAIAAwADAAMQAuADAAMAAwADsAaABvAHQAYwBvAG4AdgAgADEALgAwAC4ANwAwADsAbQBhAGsAZQBvAHQAZgAuAGwAaQBiADIALgA1AC4ANQA4ADMAMgA5AFYAZQBsAGwAbAB1AG0AQQByAHIAbwB3AHMALQBSAGUAZwB1AGwAYQByAAAAAwAAAAAAAP+1ADIAAAAAAAAAAAAAAAAAAAAAAAAADg=="},function(e,t){e.exports="data:font/woff;charset=utf-8;base64,d09GRgABAAAAAK4wABEAAAAA/GwAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABgAAAABwAAAAcfg3B8kdERUYAAAGcAAAAHgAAAB4AJwE1T1MvMgAAAbwAAABLAAAAYHN/dWZjbWFwAAACCAAAAjgAAAS+1h8aA2N2dCAAAARAAAAAFAAAABQDqgVBZnBnbQAABFQAAAGxAAACZVO0L6dnYXNwAAAGCAAAAAgAAAAIAAAAEGdseWYAAAYQAACaMQAA3UhCB8sWaGVhZAAAoEQAAAA0AAAANhEbVxxoaGVhAACgeAAAACEAAAAkDwIHkGhtdHgAAKCcAAACIwAABLqV4QERbG9jYQAAosAAAAJWAAACYL9F9WRtYXhwAAClGAAAACAAAAAgAlUBsW5hbWUAAKU4AAABMAAAAkQJm1bMcG9zdAAApmgAAAeOAAAMErscz7VwcmVwAACt+AAAAC4AAAAusPIrFHdlYmYAAK4oAAAABgAAAAb3vVi5AAAAAQAAAADUUbVqAAAAANTcZEsAAAAA1N+oPAABAAAADAAAABYAAAACAAEAAQEuAAEABAAAAAIAAAAAeNpjYGYrY5zAwMrAwmrMcpaBgWEWhGY6y5DGlAbkA6UQgAmJHeod7sfgwKD9/z/b2X9AHWyXGWOAwowgOcYvTHuAlAIDIwCMvw7BAHjazZPNS1RRGMafV0ebrxydUeeoOF5nnA+bwFqYu2hnEoh/gCCE4VoU20a0cNVeXIirkjEkFxEUiIuCaCOuxsEaxc07iyAxk0CYnnuOLQoCFy068Lu/55x77+G+55wLoAlAI7lOwoBMQuAPveao2PHGi/GA3GD/Lu7wnSCKXtgb8qa89XQ8ncr0ZArZxex5TvIxbdaw9mqf5nVYR3Vcp3VW53VJV3RNN3RLd7Ssh3pcC9W663XOWPTwl5mgQY1ypn4d1BEd0wmd0Tld0GVd1ZJu6rbuakWP9KQWqdfr5YNA9aD6svrgMz6d7v/Y/1J5WumpJPfCptt0GWOSptN0mHaTMHHTamKmxVw1URMxIRM0V0yzaTIB42r+Ny3qXxomL3o3/Uov4Hp7lMd1RYAeciBGTznQSq870Aak4w74TjmQADI9DrTTBQc6gOyiA530uQNJICcOGCAfc6ALUEqbeemmg8T/tn6aVWgv8wDd58At2r+XZx6hB8kw823a748y36PHyDgz10AnyDTzfXqGzDI/pOfIPPNjeoEsMT+hl8kK83N6lawxv6BLZIP5Fb1Jtpjf0Ntkh/kDvUvKzHt0hRwyH9BH5Bi2WD0BaiHmMzpCWLe0QE5KFkiKfm+B9EG+iQXi0c8skH76rQWSpt9ZIBn6owUyQH+1QLL0mQWSg5xGLJA83Ua4t1Kg2y2Qa3SnBVKEfH9kgfBfFe7Vr6MqDf5B++P0/X6OG/EftMTlH227zEM/AZQ63VMAAAIRAJcAmgC4AQQBeQC2AOIA3HjaXVG7TltBEN0NDwOBxNggOdoUs5mQxnuhBQnE1Y1iZDuF5QhpN3KRi3EBH0CBRA3arxmgoaRImwYhF0h8Qj4hEjNriKI0Ozuzc86ZM0vKkap36WvPU+ckkMLdBs02/U5ItbMA96Tr642MtIMHWmxm9Mp1+/4LBpvRlDtqAOU9bykPGU07gVq0p/7R/AqG+/wf8zsYtDTT9NQ6CekhBOabcUuD7xnNussP+oLV4WIwMKSYpuIuP6ZS/rc052rLsLWR0byDMxH5yTRAU2ttBJr+1CHV83EUS5DLprE2mJiy/iQTwYXJdFVTtcz42sFdsrPoYIMqzYEH2MNWeQweDg8mFNK3JMosDRH2YqvECBGTHAo55dzJ/qRA+UgSxrxJSjvjhrUGxpHXwKA2T7P/PJtNbW8dwvhZHMF3vxlLOvjIhtoYEWI7YimACURCRlX5hhrPvSwG5FL7z0CUgOXxj3+dCLTu2EQ8l7V1DjFWCHp+29zyy4q7VrnOi0J3b6pqqNIpzftezr7HA54eC8NBY8Gbz/v+SoH6PCyuNGgOBEN6N3r/orXqiKu8Fz6yJ9O/sVoAAAAAAQAB//8AD3jaxL0JeBRV1j9ct6q6ujvpdHpfknTSe6ezddJrFtIECCEEAtghEVmCAiaIQmSRAFFRkcUVFEVBxgUzGh3E6oCKCoq7KDWO44Cvvjq+OOPMuIyjjDISui/fuVUdCA7O+/2f//N8H0m6qrq6quvee875/c5yLxSiKKqP7ZcVUUbKTfF0gFeEeIPA5wQRbwrw7DFeF+TlAq8OJs2olKqs0hpCDq0hGNE6gpGwy6ENO41ah7MePX0E7YnHceIIvqieFrpxor4e7enukt6kKNmZn87cIXuPa4bvCVP11ESqjbqC4isDvB1uHuDHCHxrgE8I/IQAXy3w9fDVAuKnB/hJx/hpQrIdlSanTdLqnlMX2Surx0xg3eYaKqm2a3WDJnNJTU0NP0Y7aHX7YC+ZaNXqko1x2Kuv1up4qqayiglH3aEgazIbaDnHupwVtM9L6yPhkLmQDcbp0SgaCprkRs5ITrp9YZ2BDQXdYbedMZhCwWgk7HU5OZO4T3YVh9GMd95FHW8zs+wGvOvMum8emCtzznrJZpLb5i3h9++5ZqbRyGmylLKQFv/362/i/84tQoa33kYm/BW+2rFx3vxbNi2Yt/Gaxsrg+PHBStm0xuVjxi5rzEu/l5y2tWz8FPdB2psKyQsVnD7oKyosKc3NVehU8rS1bcWKNrksPqOubkZtumrexlvnLti0qXTeuHHzGmEcYSzpLrafCVFKSieNJfRhViCZfXbkxDFz1rP+ePz0h2ScursoioFLsxQUu5kqoLxUJXURxcsCfHaI9wh8RZAvCvAlId4q8HqQiaoAj47xNoG3aZJlqJRXC8kgjE2ZTat7Rpattzp94sgUebS6fRRSmxRwWFmlMRTS0KExEyv2ZgXtcrJyr9vlVCO9BgbGTPodkTHSamAAxqy4b+aDqHHVdWjcg89+M3b5vTMexs/39uIDD828b0XfV9cj9dxO/G3fV8xzs5B27VdfrcX/YBo+f3px9aObbtn1t0+X7rky+vDGTQ9Fr8SfIfW2Vb33o9ze+/AJ/P39pK1YYPs4gQpRq6j11K8oPhrgbxL4awPQKsRvCPDUMd4R5OcI/Cp41SQvgVa2C3xTcO/i9ksUpXy5wJcH+MUC365JNmWX8jqB12mS0+BT1UHocN4STG6EHimfAz3gq5y1YCX0AL9YO3hFz3Iip+26Z21R9uIl195E3tdpk/FJ8O403V6NsbVN7LtrbwL5rQ7XQL8ZDWaQuVi0HoWJyPq8kXAsCj+RsA/EUM7ZEHSsGX5NRoOck3NGPfm43JCL1DK5GhkNRchURJtsyOurQDD0TqNBxsnhJoao2TSaJreKRoI+r9kUYLwRXwzUwGyScw67z8snP/k0yZdePropR75gwR3lS9Dgvv/6cN9g2eyJcY7LYhcsuLNqUe+RodNH2AOjtBa1Rm7g8nUmq8rqmXFAftON66IRjG+S7W+imcJCq4Gh1WpLYaFK5XL5Zu9nPU/9+F9vjMp/Dv9whnpBO2X8NPg3/kTJnGWjx+Zwc0Y3zLklfEPbibFTp02bOvZE8eyrJo2SyZXsnIbRczZUr2lnDyxZ0hU/UKM15+oVVoVzlD9a7DdYfdMPxDfKSooXjKuvv7atjNk4dj8DX+90FNo4WYE1VBVkmLJS34z9Yw8X9PQUG7uvVFNq0JsuBSULUbmUnjJT+VQR5aJ8VCkVAAmJUXXUaGocRUVA9x0gulpQf4cT+jkSMjKZP23EYURn93++PXeuvZb7vLa9o+ZUYU2HAP+6BZZKUbARuo4IXQLajsl7J+vb2uqZPTUdHTWpzYJAdx85go8IApw7u4/CF96Sz0BzRBk/Kd/D9VMmyk75qfHUYDFFlfKcwBcEeA1IeYko5WaBN2uSbpDcbCFZCjLrNoPMyjhNoUMUxIJirW5vNlXkFHVYa9AVItbujiNdJExTRHlZc1gHSms3I68SmbQGmnXZFzx7ApWjBlT2/TPzH8BDeOvh9Wc+fHbthG+veRMZt6PcI6f/PIB0rG3gbfzYEfwP+r2H8Qcnnl0gXvbw2+hKJH+gae0zH+JN25Hp7ZUDp//8Jn6Ptb2Hf3gHP3FYtHHn/lVJxxEYv4WUFdrKM1L78gK84RjAVjIfWiU3AAqYakQLSEaRAgOEQHsk+wMq5nNyn2xnHxJQ0c2fb7CFg/h/nrvn9F2s/4GP0cP3HkPmt2/+dK1i4A93/nhXhZ39AxhZijqzh6vnWCobJIYyepSgW6CcciUyj0bmoMlsMuciL/ornaDZcaO29qRT6T1WT7ktr7N0IVPVH0pcSbfSrMN786itlvTp9N43+qvYWOnCS6o8XZRkx8/I2cPcZsoBaIl4J5gm0ho+P5h0iaYcVD4WRz5tISLqajbBQQXyVTARl9YLeu/Pv+/QFRt2yS69Q1/pZBiVP1Zc0FBZ29pZ1X/v0zsfbZk8S+GuOjSfbdGun/7BaKPKO2Hqr+9aXVU3feXl/qHDkfro9xQ6cwZ/zclAhvIoylyI4BsiWo94d/HAp5WJBy7X8zctXk8fvXLJ6kXNL65bsl52+oWrlq7q6p03qsz/4MXMNwMpbPBXvfX26Er/wx2yXd+ebjT4K98S+zAk28F1gd5VUDXiyJXDyAUCvA8kM8i7Bd6tSdpAOBVCspIIpw/A3mp3ECNq0ybz82rIkFb9TDEpLzycWRsCy1eIwCK6nMTGeX1ag5r2+voSLNW+qrcjRbWtQbeUl5e/0L4mvMDtU5XkqrKVDEMnmsLTLpvpSvStaZPt6FjZ2346euP4CaPt9Al/08bKnk01RqM7WNudnf5rpKOikFWI7biJWyT7CSTBQ00RkdMJIxXgjdAar4iWFgAFTbIImqIRkj5oSpEFFEtuMMoIBGi0vBqUzSkDKZXX8PnavYCbGlHlLIjAZgyZgKD4kAicdkDMMBUKFoLgUkBk0CL+uxufuA+tH9PSWVWP+zqvHPwe468G5iB638o/3IjxMyv/cAODMf6OX9SB+8aM6axpQjfe+9yNcHz5k/iefYi+/g+9z2J8w1GwG+iMVz6BW0xZwAaGgUMgPhLgy47xKiEZFQUvaiKygEzRGAKRYzk5UiMzouKAQGrGR0XNhYzZxPmIMCIfCrdMfMTNNM5/yYn0BWzprGs3X9tlwV85i1Wpg/RvchLzbFYuMHZCPq3RBMJbl7WrVaqq2PbaaHv2bTsntYS9zDhVsRPpLF1w4ZwypgB/6XxpfuoA+v3chNZW0NoQRGZmh0aV07FsW6QyN0s1vTa6Iwr6eQZTffJJwGl1YMnLKZ4N8DkCMQpeGJPiQNIPbUnm5QDMZueCNHm1e7M0Sq3Y5bGz8iRHIDw+5DXSoM85iACrx02EyUckjR3v4Lod4/2pb73VtZ7Ut34ur8SElqMV3rpaJ7oGLTc5DAVVWepTdY5P7WPHEgEy4m6jEW03+lFF1Jz11ttG49tvZelcASXIkChHS7n9nB9QqIiiLOissdXQFchtZ9VIScfAwCgRmJmLH/oAyZEFyT946GLYx6fw3/CpDx5CeagOv7EPBmgUj18XX/Bh5hLp5MU/uygdhc/V8fgwivH4DXw4iarx2+JzgFZyFOhl/r/j3ohnAF0S2ntXdpwOgS41X+CLuxJrVrexQkfvqvbU/F/6rnNtHkvxXIAvBEySbLhd1B1wRQwaYsYJRjlAd/LBmu/lcjUyEaLMhXCEsrKpjL78e6+hiEMb0jqMDq1L+0vdhtCD7wP8dr//S32FuffRg3je+3g++hX1v/XRyG88r5NCaAdB+W5hRM+kQwLagbsE3I22U9T599Zf8N7G8+/JUuffTchgJHdc9iClhXsgXhdIUtkE/pP6jCMAIxjVEAqZi8gru5n+nD6+efO6fc9dt3L5umdfwD8yfz24IT2b7t+A1qzr7b3yyt70+TJqBg+OjBeMj1EaL8uI8TJL42WF8TKfN14GDpQOZYFvpjES9aNqfnnYjL84XKziPwzU++Q5xfbvgOf0gB0jEmULwUPyWUHRJlPDzwkCRbqF2GQHPOdgloapqak520USzZb6COxcGOhxEZJIsgY0wHu2255Zt6z3umd731/b/9DNPfM+OnrlonVTWjvSd6bvmMn86cA60pHrDhyUOnLpu9fdvH3ewYPzpkzAP7Wln6MnTslgfrM8i0uA70ZpEaNEDHJkI9r6Cl1Olx+iLemlJ08yu/CSdDV6EnfQb6O7aT49TcJRth9w1A989WKK+CZBgaAQsXXhAF96jK8U9uoqS8F1AcJXqUkqodFOIRkhg6ODRqtkXuI2KysBgGw1vFPLF8JIyYJwijI4a8gIaR1hqdlGAwe+BQJfQ3Qm4ywgU0zsJwe4IxQHpjKOvC4vml4Tuf3GusjUQLB6bWGl0oE4B0PnGEvtcx+wdvC/wT+8dtenaIbimtmz1ihWzprFRha1zWxpbQuvdRa4r/KH3rUUOA3hoqr8eJ//2ptOX7+mY8vQly+soume/X0yieOyZwrlC7jrgOOOolqI9YA2Nwt8Q4C4rXmSTE4K8KOO8SGBD0lUAmRyMjQ7NAp4rjvPO66RALBNyzvJmOtNOhWMLhFDn5f2uuVqmSeicwRF3yoXgbPlikBjRwPykb9zPhgTR3UoaAIHqBRoGMc8AAZl7svbke2L38yimR1n8KMv3/DP3+5eNYYeq0Kz93wQ0V1WM/ZTZUGOqVSeLy8vqHBYLpridKhkrTVsvJWdUs/WttKvvIwfO3UXQy8Y/BrZt7+MLvlpC40mXJf83Y/zFOjSR3ZcMqGw2VPZptCsLNHonTKjrMgw3hny+auqY4r0dTUtU+prp8imivIxLFf6kZIll+Ujj0wPv+fL2HF0xZLlaCH+aC0Gh2Ltv4vcFgUxhYov8VaM0eJhvhqSrwcZjBEOTgf4POj76gAfOkbIWw30uCIEwpVHejlidETCHuKNip4s+QmD40lCAnI1C64s8WMJgxZ/QN7krHw97jx4Z6AyV16co8llPFbOP/uJxX+babbrlQzHqRilUpnN5WhyiuWmsvI7Xsadqo8+6t46fktfeSQ6rziHsRfWTsjdV7vyinErbbWBOu9o+/hcBWMyzCyyMznFl0WiFdduHr+V9BUWmD2cANbNRThpFpEiwuUc0B53gLccA3xKeqA9hcDg9qm1RkO+aNbyNWDkFDlqo+QpmeMoZOLkjBjz8BEOqteBlUXcuWBSpO6pghyk7usUFqNrHqnfNrvCubnj4R68EGnoRfOWPbL40tX30jtnFregWG36X/iet36d6FtHO9Dkd+jtnVfuWDhj8Y7zdKAM+r5M1AFJ+iMCia1ppHEIHiOST8YhG7T6F6VdBo8dlDMcMB0zMHt46igMip6YPRgHl9P7n0S7a+mJ0fMiHcbCwALP/D829kVaLJbyK4/Ov6hvbuvYpv8gzn2zV7+B909pqZq/7CiKNTXRtro5veMuGSvhTbOCAtmtouZRXRRPBfgxIaDTiJ8v0lJwieSaZC0odovAt2iSY2BvrJBcQJy+MmiopYav1T7H5mr1wVGd84iut+gGaTSDmLuxY2AEmydflJgujqCFgs/PICEXh/Y88RSFkyHCSYvCaRwhmeBunD2Sk1etI0LCNORyci24ScOSzcDFsjvw7TuX+3wqxmlXFhgYfXDSignPtVoKcxCbQyuMSruTUfl8y3buZrey1jxGlZ+XSI+uR++qc71/XtEeVTF5VtaqYa3V3WNvi+WalDIZrUL7Ud7ch8auW15SGZhttJjm1GsGSi5uH1u82NUcafXO0LDG8ByTxTg7UFmyfN3YpksY00qtRjve5XD11F9XE+vBwjwUM06YE7ysw9E0Hk6tVPX5ExMrEuaSQGFEH5eLfKKLE2QhSkMsCNAb+BkmJRG0h6WGBNl64jOd3sO8hjcfxwl8vC9BJ9pXHR/mNCEYxy4qCnZ6vDiOxEKMC/BV4iD67ce0vD3Ea4VkI4xdlR/Gwl3Dy7VgMniAIZneSGA5mQeDlKwZLUbGLmxFmOG+FqNhI4dKjkRWFiGszMF14S2vbA1UGOV+lUbDeAoYS7zz7plfz8lza5RyWS6jyFJmKUvKmNyqwJZDrbNYAQFPC2ExxvLRypvH37WmrDo216emHfZqMC0VnbOby1Y64mMCTZ6pWjAt5sL5efmWS6sj5X1bxhsc6F48fAepPyhK/iHwEx9VAj+DDInO+AReESQBGp0k4qUBEmClkgXg9yaL/aTRGTZYD0AUigz/SczQhkJGlzHz59GioF0esgcF8V+V4yfBUSXtM1k0lbAHg/Y+4Qgc9rkrKtx9sAMHdBc8HQIfcJt8HKcgzFZnqkNizEQccDEEAAYMfCKnHCFD+W57FN2BdqFHHLk5st3lBntKcMx0pAR6S0V6fbmbXpPeoMq2Oui+CjsTczhSh0fwWwUgxXjQauL3qwXeE+DHCYSuVEDLm0SGphV4rSY5ClS6REhOALEYpdXqnqU5a57DUyXqrEdNKIpSSyIC47R8Qw0f1u0zFpSYRxFVr9Dy1WLYymQn7rNI5IgRA5FBUbMpFgX8ZsHJ80gxVontueEz5BCukLQaceRK7gs0alnHmDFuT0lBR3TS5EURFBjomjDR4ViC37sTv7+c7rN1X7/zPtS4bNkKfHRJV1OTze/2dNddH66txQfv6bKVltQi24NfLEu0NBUUJKILW6cA/xqY39DgSDgWeW6DW6wttnXfg8Yte+jBZb2qJd0Tm2y2rrCmumrypFp86J75tnqKOYPP0AoNt4dSU4WUl6LykRaMswPpQ4wXnhT9W5BSr0Qevdbwx19dga5Gz+Ejv8ufPLSlEe2usMvetZeX24ci9opPD4LbmIWm38NWpXeh5kUPEymlxzSbMFsw9AdHVZWDeYu8pvbx6FncD5iFn8f7RNw/8z0+Lt/IfUnVUZTXJHUjiUSJYYEKOko6upCGI9A/nxeOKhA5A58kp0iIgDx27oQFt71/dID5ycBZPZX6lGL+a/23B2svZv65pGdUW74zmIqWhayW4Cx6wJnf4krPqK20+Me+nmDefTRivXPWq7tSiuWv/+PSe8gdKp0muT6V0x6r2tT/5uXMPy/P10xftDqYipQpmdwI3KHoIkNhenrsluWOsUZyhzdm3WmNPJpSXAftYYmdY4mdyxYZQIBqkNhMiFcKvD1I8lTeEG8U+DLwIypFKVUFeRkIKrxqkhaQVXeQJEf8wWRVxtUCZliPwqXIaRy5j37h/f79/Wd/aWHkEcrq73/+0Udpg3ic6ht5NMzBxHiaCywKb5PiT8BZrMfA1vJ5UvxJJ7GXojwwsMZM+KwIEakRGS0ITimKaCRzEgnbSWaPM9b4+7rn0Yk53X3+2oT/edz99u/BZ00dKY6XtKr8Dodf1VrCFPkTP6IPf/iTP/H55/jz1opMHJoSZDtYgcoBa+IHmSXang3dFSDppKIA2DwSiyax57PR2WjGoP2no3o/K/jjdWWnQ6V15/bLake+j0L++np/SX09utofj/tLRo1CPZl3JM4KPSa7XLaLsGIdZ4ZOiBEj4PV5QV6ZCqTV2NHV5U1si58WbNaqaI89veuEezV9aGkQF9SwY9m+6BI7nEhF0KgqjdjWzQpKlkXZwOesphopXiFyMUcA3C7E14jSUgSt1pAYLp8rEN6SdBVpdc8oTGa5t1Q0aQ4PEMlcqjiWCbmbSYQXXGOwvaKbRVQG/GM5ccFYDdhQ+KMNJugZL1ExUDKAQpfTXz64eDWaja5Cs1cvHiz3+0sHe1bjfnwP7l/dM1jqp2tA49egLHwSb3CvO7BRWbLaqZEbNLlKpa2TFgriYwcmTF2wYOqEgbHxgvwxY3/dPHX+/KnNvx475ndoCUL4DL4bTJFh/9q1M/OVhSzN5YWrAoGML0AdYF5jj8OzURowrcGYEol5Ux841IT6EscZ3CYj8bAd7oVuMAi57nCoxYO/QPmeFgA1/D0+4VrkcjhQHv4LumKhG/Zi+LCjqcuDGtA4T1eTHb+Nqu12dyTsxgfxIQlX8G75a9wn0P+BzIjCcAKFDSCR4so5sw6JoTs5oqCTzPKMoTfJOa8vJ8eK9lS0M8+GzPNMTk/v9uqgakytsQc/XuMdhQ/UhVMt7E5rzSXzq2osRk92zlhVIrrBgz6Z4U7f3VRPP+yuRY3RmqqZ/4O0d1bnWmrxq/iHRMSTvgy1bfJMmGAzxD0Kx4IGjyV6Hh/Sg7ZSINsAs0gCdrlD1DnkQARqz5ryvkQXCtFU+yqFKh3CfW1raIEGOtElBrO7SRwo0Ucoxpq2gyy9prcdH5GO6G4SxCbfeebMmR0KJUeJ2GGk+NwAny+IRqIokLSLCpgvWgLSZ+KXxhwgbrATQOKhnO1QLuKWxctkHTJP/KcDcU+Se8OoaPGnm3vGxJsWYd4/RsE8mJrXVRllHoyUlx8AntFS31Tjl2wBwu/IePCtjFQEPPZx1GCUsJ4a0VvRwWPUixoSFpJx0IswML19RuBRFlEtojXAgWJ1gPN52r1MFucV1UPP6cwmndEhckBfBS0GjszemM6uN6lpQHL4lbu8AdobIYpB/vRGU8wUi6iyV106bxPt/3Vn8XZ11rzd+EfM4x+euux3CoWLedDFZMl0WpfaE94bHAgNNhTkm/UMk6tm2MObt9yzme29Ff+jeyH++pb//mBl9bvHrz/6687OXx97zqFAd+Ml/lHmsoJR5mDzd6++9MNMnxf5ijh5YUFW9umjR9sZpv2opCOC/EOwixzh04RcadE3sq+HjLSAKTQZ1Lb5rP1UUPA5DWWgLKKkSAAfGUZ4uNIDl69p47pI/O/UjkSfwHUNUSSmiHYQ6aCprrY1fYn0DrorvaMLbRNxO32mlGngFlHFFKUnFLlQpmbA8TObFEh0X/S6WJQwaOlHr2kfY7E3ubyqLFmOvki9a5oiG61A3TLlwUPco7fmKJTqORej37y51uCm/2pw5mXlFGQbOava7xhvx7c/r1CgR9ALFt/UaTq0HNWWFiDUfSl68fud9piEW7dwmzmDGJ0wmSlH0B3VRTTI6zPpaIp1N7QBsbnmOdT63R146JIr59k34T/jW/C1aNqSNjx053do0rNwV25u+HF8Lb4d/3mjXcTxkf1W8B96Dv1S79H/oQ/xIqkfzxtHh1YJQyn7Dv0VW4c0tBXvo0HT8X7pcx/TCfZ1wEHob0J9ELFHSsRFIhXolqoq3FsRCYdRIz4QQWrYuTMYRnfAuTB+GPdHhu3quXuAbYsSeyrypyp0S0UkEsGHUEM4HKnAvVX0TrwsHK6IAAJcCpsIXh4m98giL7Id4HcooLdt4H0EqVrwyFqo6dQc6q2MRtYKe021UUUpMQ8AXlUCoUAXh4ifNisIXgnvFQjriQfA1UZ8p6i1rMCzEsPwA/nRJMOwVxckhTyj4VWTrCDMSEzotcPeJUJyLmEhLND3XIuVeOPVYcA9R2kVUexkuxtONE6aLPp8jnxQ/bbp8Bm6Ct4uchUTug+uYUUNX6obLHT7yfVxL3xKOV6MVRpCQRhlJ6czFCIx9+eV603EGQdk53QaAkYawCGaxDVMYmBDRxAULqEzW4ozkQvlJPNDbgAKMXzTru54ov5FZ6jOalTYWmoUhik2F1M6yTXxy1du2XTwwG0bW/pmXLyqd2YHG2wIDv+iVcqKVlvLspZC5GiqtyptrpabFlweT9TQQoI4Y+j5ukoPbYR7tdSmcuDGrkmljGsiPQ1/99JBpDuE5/J9fTMuWYPvS9TXJ+LsZnGD061BhW3SsqbUfZNcTbXik6CLyQ2rCJflzuyQfwmCaaHcVAVYXCfFW0kki/haZaK9JZYWOtgKXWfQkq4D1DTpwaaGHEA3AAUCCNxsYgE8DjHB7XKokTHmGN4lRRAO+JNDHzqcaoVaPbZRlXuVbI8tLt+pto6rPzUt4ac5pJPdHTZl6U+7CoICkyK7qecLgl2304bNbHVJesd85qcxtgl4JV4c7ZLVFDM7mhsb4v39CQ8rb+wurqVpWbVfkLapNUJ/v1CQH8jEFbDAdgGmKCkTqXjKklivOUCoOGGUoJGivhsRGWpt5giFUKjejxMJmhL89Zl9wMur8Rauyx/vJu+czoKDI/74cHxzoXwUFwONyaNIBpFkOmiB5BGTNAIuzYg5AxRiiJiJFTliTAK6EGgayA8D6CTGIFYLzz+6JtBWM8Zd5IyObynpuO3WN7X2wvvwv14eXTa1rbjUXjt1QXzt87LSoXr6/Y1+Dad05uUVuPLo3MIdO1C+tUBVH1a7LPEZFWFvFQisf6OIE/B8h7kIpRItHmXmRGsHVgbollimog1pzeYKr9zl9xtTPbmBityq48ePVxU1T7BzYzyeIY8goMuJdcvgDshOCGRHKWZ6wLadNZvDdtRBEjTykNt6aoLV3dVRK5tQ23FqO1i8blY4aXW7rUNdo9raRrH1uFssSskiYwWcRwDfygIMuQp8xglUGzWfupq6lvqKGpxAbM8YYW/+hDEK0ViUBMAUEduzXHS/VgdJLrpSIDH9i4S9losmKUj1GeKvEy0QOGHggfnAugQFPqghos03B0lQoRVeNckYkiq3NMmlsLdSSF4PY+eTgUXRaEmOgw9qk0UG2MZ1eyv94Vpih2LjwCgFSiI1JJxQrk22X00MkhsMEj+zhi8haQO+Vpe0XwaX0dqkrwy2Sl0yGINtRJv0lsO2Ujeo1V1OvkCt5TU1GY8wQhwtsFAi9gKzD4DTzJjE1IJXhFxKowPWr9MQTqMPR+3ETtm9lA0RCwW+otfJnN3jjGLeBW5ENLYC+LReLBiAPRrAe8T3dXV31fu7/fVfKmyaWtsUQ/3EFluraHZsCjBQUcNElLUN0SiI2Pvvxyn8W4zRCTTtxAnMn0DNIwxakF7I6g2qWtFONRnK3XY6Pr6ppdZYXVlhlU083jUfvmi+vz5j3+g3Wm2qWpvCWDtxok156q9WMJ221mCWPZo7kbkUuGp62zbEoDBitm3D85/8/vsnn/jHP9KPkEcVn5ejyE4X8eOG7J4yg6bWgcDmjjfoWQ07OQLfXGNEBSWFionpR8QvJDqbh15mfsf8i8oFb6CQpK1NcZrgLspjimMFAI2z80Y5FXm4B1B2Ce2qdSgtBICNrDdSgDaEw3hNRvfxcTCm+zMYTygDMLSFaDKm2PeHNATvRVj9N85h/19Yx//CPP43/nGOg5zJUhi5zSRepw3FHEwIOWJxOhIl3mAA/AiX3uFz6YUv0FIwce/Q2imRBZON0Yp8/eSJ6d/iqIDx5i+EfrT0SEpgQjKmqMHvL7Do1UoFE0oJAu7P+CtcF3cNWIMQ+PFiXhF0DrRSqUkaQJ8KpHSiQQkKI+Ny1IS0k3AlyGQo6POCG0O8UlKRiAwqeCtPKpjyhWNxBrYZqs4ZG+t7xlmNi7pstvIxE69FO5ABPXyodmDloY0rmIQ34GeLvIaGPUu6O2+fe93D17c2+o2LF9K39XTZ9KZHV6T3jLp+GvoN+mtX9URNrortjbYtmdc7yjz56IYJo+e2Xl5/rjZuPPc4NRWsz8VUK7RmRoCXHeOnC/y0ID9dk0xAgzqCYC1I6WdyOtiI51Rqjd40rmUyMQQJ7V7z6LF5ok3QPZfvcIcisdq41GIdV4RMpPoSmUj9EVBqoonwnqjaZAvOlLgP2/DojMISqJXLOHGfXAvnOKPZBH2CMrZbo/Hzfj+fr7Q7PgpWaXu0pWVDS5q67E3WTsPCMr58LKtgG4IPBzX+pNudLNFGv4pUGddonWX4y/I51m7rRGun9fJgf1lcxTaGHqJPCYLAeibYH3DNc+00lhTKrLKLqjAftNs2185/yC8r21fmtM40llQNRGaqKlRN9p2OLscD9jrWwk4pR7ODDtvugoJyvpwp6y9zGKYYSyIDkVmq8tSJo0fRBNqY/lrCkNc4g+xDSg5S4yD5WSaQzLGGRCKpCPB6gTdIiTUngdOkwhAMZqx4jlhXzKs1pICAzxMyRW+aDDtjgix4fSGxBjFiZymdNhTOQlQZct360m23vXTrEyj8x5tPPIGP42X/jVTor+jS331/9WE4fBIv/gBlHdq48dBGtPjmP+LfPv4xug0VPfH9e3gXzsc/fIC2og5UdPjqC+IVielMoy6lFlOrqc+owUaCV3HAq8b4WbyKinh1tYhXK4fxqjnATwG8mtKcwas1F8SrqIRPdSQTMj7ENwh8S5Cg1RJ4f7mQ7PsFtKrTJSuBACfLoyClJYH4uObWxGLRZRZh6uJhmIoCTHWeB1N88GcgNe//FqRCWuf/Lwh1kk/++P8dOv3mu5TwbXrX/x02IeoTufOcLyc6ckriE0aY0nAA/sLhQJpLZ0eCYbY89WlFBeMiflzaR38UDFYM59Teli+QvQOMVIq0ycwoCiaHQ3JSnhclLjzckJIjQyxajqxo/Rdsl0zNsVzqs3K6xlrFcnffwSnsNu0po47u8jgQjfczdXblAzOZmEyulnGpByNYyDEWaOleer7Fmi9n03coUruL8x1fDEALVGeOyXdwMpKHiHES4WU9UfhWHQm1eNwyVh91x8hvCEgwPIlBoS8uL1XO34BOIutlT9REP787RxnDj6UXgt9+VWADWvrQOlQ7wRPoWYkfffYVPBDReq252XrhgQOvN6Kce+9A+lalKhZo+/hbrH3wp1gFeAT+8pdX3YBvJP2RdeY1+SmuhSoChJIy4b6zlc52gbdrSOibxF1JpbOdZBKLZGKtjx5EnEz3IOnaCpoEWs0Zx5GScSyNwtGgSUx/G7K630HRF75C66aOV4asVgtttKx/rXpspcpww21Ylk4+jD88wAxccsPMmfGxl9Abt+L0yz13dExqm+gurq8c49k60cgGqjtTs9G03eUY78XPjLn44ptmzRweTwdgbBdVDL4awdj6ERFjMtMiIkXGyooAY0cFKuskxNGSCQAms0GuJs4qKJX4G2djJHYIJtGZRSPwfAxyktUXQ/wkqOesu3xx/VLmosqo2xYARL3qisZm1XSjy5nrlzXir/Glh0r7FrbIAlfOL7BMnV87YVx9T6OFXmQLuixyQNaV46/YdEeLafLRm5vLq5R1uVab2iOLV9EH6tcm8Cn8GH6auXxJd3pFT1dBzH7LXPTd2snj/CJHOnMX2FSVyI7c0NIyijIaTISbSVFi8akJSSPKgAhf8gD6yeBP2jbZ0YvoJacbvYBeNObqch0O7IC/sbjJ6Ya9jWgG/N6MZq9DM2zg6ZD5NgYDeVWpDH52dwlwFYMBf4nM8HrUUHL6PVZ19PQPP3uRciniWJSQiipVgOQimSBJXvgFPi9IIpZ2MUPLu47xnJjxUQfJICVtLpArvYX4CVoV7HJ6MKp+7V6ZwUwmxvB2XdLirRFnxIjZMgNnNAwHJOQoCm0/VyICZ4zEg9u3truDNrD71t6wd+8NS1rSf2VZ2jplETlau49NfzN56VpmMt43Br+Sa9DfsHcfokFQGgxxA2oYu+/GG5L71qoNufiVetIutJTtZ9tJHh8sBjKRjEc4Y3sc6DPPTA/6zOFobcM9uKetlflrlwNHPR70DsB/aytei25sbc1wKEFWBNhYDqg4jpotet6AaBqxj3QhUgEdJPO4kpYSQPWaAD8auqtRFGifwPs0yQIQaKOQHA9dRvLbDUp5jlbHVERrakXwqg5C3xX4pHAOJdM6nIArQKUBTVwOrZsCKZEyZ2rGWcFkjlBmskxEzPJnqrOMyINYfNLvp4/7/fgkYpHHH/d7pl3z1O+fumaax1/vR7ObGx8faGxOb6e7mxsHHm9spvvfwMct+IS/zw+/SG1BRW+gPLj8L7Er5jaXlDTPvSImHddFQ6FoHRq3BQ1KuyLvaZbruDWUGlhPWJTvs9llEGkdbSal+l4wMiZzjJTdID1L6oppn1yq5ic5nrFeh48ba7e3NJ162fFfbg/tDzfJGLnhslnXLnoO/6l5/J3voSbUjqquabxye/eYWQpljr6qct8liZJRBXBdid8+Zsypl/OYKfi/bqP9k3aWVqgMRbapXevbGsZ/fvqFa3bddc0kNP6lrkv2hQImBcfNHENlcgTrZWs5A2UExmMR6ztdYv2TVqxlJ3RFShOYJYMppgpI6R+YdxNQfOABZhOYGmAFPsU9TONkpLzlVpTdMpa5h+ucfxgfeQcnO9p+Na4F5SATUrWMGzcR/4D/hv85UaY+3ZAfCLZOqarMYw9VzvS3JUbXdQedvtpanzPoKa6tLZaeb6HCwkXAfrhI9hu8i0y+wudxIYczFzlIZAq5ZBySXDVDrXxSObexfJK8RuVx4/2H0Ry8VaFJpLcnstR4K5r9Nj5wMUqj6Wg9mpb+GjDwDX806kd1nlmGT/GPmuPHNSj70yD9x/Q/6Rz0z0z9AkucQR08RQVFJkmSKivbiKpSkgdWCclCEG4LqSrN1SiGq0pJwoIMfFRHJqHY1UhH0EUMQi5sGbU7UJy79u5/bPoG/+2bTd8++LdHH12xnKXW4qfvXIFPjI5qd79Jl7x9x983wQdSf3vwoeUrHiUPcmaHgsrUC0vzlyKk5tUe4A0hPgyPFg3wFcf4EmFvsKQCOKhXIMGQpJdUgpWBroXtYknY2eqSc+UDorMaOfuDHIS7kYobaSaZWB/h7EtwYhbq1I62NcSF7aYpTJ39O0JTivKqRE3t8/tj1btzRpQqnw6xwunQR8/37e/bnzq+RZPT6HVNS8w7fnxeos1+ScVw3G0BtxPaFiAco4gxeaIKFNOBfxQQQ1tiIaoaFTLgWSFKTI6SYzlN2zyhwHxU/BrqR1Obe+aXBpkqp9VjdY6pvFgto7OyCi1W7Uy8D/MzG1zh0OLOWATdbyirCpXPX9oC7v2vX0Ml88uDtDufRrGaxROsHrfFY7VqMpfkmU2VkyrGOTPPOIb5iptzgbg846oAIpd20Z/CpiL1aRW9M/UR7IXpk/QQbMJwNNzO9fL1oHeOzNzLLDFHXjTsHGW8IdNZbyhpUpOZWnJzYRFBlTwtb4GRzMpMIdFqn0GUwmLNGy6KB221i3WIblqjc4eCQBkcSuQiZX92llt/HEWeQJ7Ptjx09An82RNPIPvA9X95opvFH6HVaPUQu/Ez4MB78LvHmVXgQr39P+v37ex7AjlBZ5xPzN11/Do8Ez32OKr4+Iabj0v6MZs7ztWDPPqpBCVVIvOuICnCzgvxORIngzZpyIRSXqMhyUfeFgSfSWJmGjKTVJXDagulCn8vHCOFkrK4zzXH7o6C2yE+vR4kM6pzx4AfmCizw+gAyqt1ab1u+vZvwEZ2oaavb7/9a/wC3oFf+KYA3YGXawZR3uObMVpoxb3oFiu+H29+HP9lkLlB/MjtIy9Lv7LlMWRN6vEydKcN35feksb32cg99ElkBaU7V39JWGeQqgMfcZfYZvDqKkS64BLDmBHJSowfMe+OQKBD4B2apBcRT5KPa5JjpRrlJgKLZoBAayHQB4c2mWcj01R0e0srQ6QygI9rk6NGw1tjdcmGRkI2KghgllaKZCNZFoCtS7fXWtggFjjXapPVJHca0SVDMYKpF6j9NIdjZk5jlnvdGioUBNSi7LQvBgTBzAEvCUXhjF1OJg3ETEYAqV8uBF3b+X5Nzfuz0BLEHTiIOKCDm9RPr702de3aXe/gNU+/9Pu9a3vwVz00rq09OpOZ858KQ3/3zNpV+KdVawfVaCWS4aEXXsQn8ZbOo/H40XYlp4Krj9bUpOk1iF2z9ulXX39FLPs/W3Oioqzgm4SoBqqV1PEw4ixmUKwqELoAHwuRYYgHieFuDBH/fVIQ8VPI+CRz8oJkzntSD95acupwbQo4qVHJSf3lA2pkmQr9iwf1Ge+RVK9Ie6R2Zfg9mqr302IdS1qsYbngvljekohL1S2Jeqm4BY5TRxJikQuanRCrXmArHks+Bn1mPbcN7IwO8L2bIgEYvTj7PvfsXDUppkfmRVileRFKkt9giRQ2ZMnkjDpXb8i3iVbHquMLQPT0AHFJViYGD55h5Fy+ZJNygcDZxKQSrTPLZVq5Vx9nYj5gCsgMzCEPgXh59DETo2Y4tveaZ+jot08z9OxtL3Ur8Wfv9DKlwNTe6r0OTu1Lv8t+Rc7de4Dpxa/jt/p4B93x9xcRuvaTB7o0v3O9s/r07qPF76wm049QTR9vTz/57Yv4DDkr1jM2MN9wncQ+m8lUyeHsKyBZOFLBOIPB1B9J9pX+1E98bMYXDDM+kntNc+fVauRTpeJszLIArwSkD5Kp7+WZwFQRoURkXQQSychwUzIhIhchvSMYI+WEkTBBT5fhZH5enh0t9Hf64RffX56Tl3+SeTFBLyrKl1WeMBhOeIqdzBdl2QNGJicFBJQjvLVPwRgH0L3Yr7IOZJuM2QOGHOr/jA8paUKI/l/SIdpAGzGP+36RDr2BVegHWpX+YcScoEqqlloieks1YiWnC2SqLsAHjpEUcpUU4TILpKAzWRUg8x+9PrI4AB/V7s1xuLPIrlm3V5Mrig+VrAH3aS9D6/TkRFi7lzJay8ku2LWC/JJSqT7KZI4WMnJ4tZujMcKp4RUIitdHyg3h1e7j5CY1TV6NBs/ZPIrLNebaWeNy1XVLO9GlnStj/iWbNpfm9ffnlW7etMR/0ey5eNfcS9oMFV13tzg8A2j0xyj68cf4nY/RSwvGaQwNl/aOtZUNDFTkP9y71jNtRtc993fNmOZZ2/tQGdzDWj51x8Iq3ZjuK7f29+/89NOdD3z8cUaOHuM6ZD+BhYKxMzp8iPyYkVnrMNMbh1C1gI8KzF0CKhXSq4dmwvYIPjyEPhRQNaY3ktJZiqWUZyoUbm4mNUqMRa4gmQ0SVY6RJSyChJkRF0KsdgUyFJcBU/O6vC5ORibCEmbkJHyJRSRKHUM+JjOxlMTfPeaYWBQL14lFH6R+U6om88pZUirFyZU0x202uZgsncLF2sIdbfUK206Dhms2GbKt9aMXzmnKQ4qmr67C311ZpGZVSnm8Iye7kNMrclhkCQQ63SXop50dzDRH+bxid2p/bt5WDfrstoGZy49dPs7JAmMqK86xTWmKe2mmYKJRmW/Gpyw5DG2vYHXKbG6nK59RauRFpnE2Bz1qvEKzRaWhL7NFg2WVxeGSwiyWZlX7pxSpVcGqmpxsI6uWZ3On/6fY2+ksQd/xqC5V68rrcJYx7xk0a622hx6aaYnsW/d+kdzEjq7Jr3SaymuMQdNmo9qRvXxZcPxFyyoyui8Pge6LY1YlDRaShk4cqEc+YsL0zKOoTsAfHRFQw0d0p0D3Cch3BL9xlOSgqE/k+exrZJWBTA4qFj2Xg6J/pIcqwmB/jlaEU0fRxbWOLAv9adpVURGMMIVADz+X6j66ZD+INalSPkksM9E6VrUzdegbbEib8XG6q201PoJeQ6/hI3TfiPoXqe5yNGgmwb9ASCq+TJYFQ2RBj2SsPhiUyjD5WkC/BtFRGBUkClsdJLMp/o+qMtGFV4bx0wBsdaXp7QTtyH5tWXo7wbtz77OqOJp2BM2pr8ePHsF8/D/UbuL6btwPJ2Z3d6HZ8ThJT5H2ntkh/xDMtUL0yjzUpaL/A6BuEqvcMhEcaT0UwLnCY2QCHEE3ZyHwaEZryleJRsfkJrUQlhpxGrZan2UlFkelSyrJNGEtGCFwLDNTfCiHHcUoO2OOOuzmGBzBXigILv3ZchKXczO6HP2E/oUu34znnV508+YTaAqa+s1m/DGejWdmb+kdeLx3y76h08GVT16zsiPBztyMFuL7N6PH0rHNJ05sRoH03nt6e+/Zl/7myWuueXKNKAvHOYHdL8qCNA9DmoKxgzWgojVtp3cws/H+57GBjrevOiL6FX+SNcteEHOXStElpvvpfrwy/S79bepHJps+kg5n8v3inFOFVC0leoJkpoTsAi5hX4JkIQW0Y02CCZN5qKkjHSuPMGHw7Y7Q3QKZBsKEOnpXtqUOkwwiNXKNBsewDLvA/dBeYCkGEvf6ZDsCbViAFn6E1v98TQaNNbMow3r0IQZc/LfFGch3GeQh2XqQBGkuGold6MGlItyGJCuppJbOLAukRdpgIWsmmVIfPIKW/mLb5x899sCNdSrrsms+XYpf3kufSE9HL2n8TT07FtYu/ezPe2ddhW4ZjtfO5v7MNQEnIJV5Mn2M0pPYsVRwJHqmrF6JmKyejejPtyncMpdFqdA7qgrK6mr9mJPTS2AQPlqeOnmCuQHZdROV48YWFegdOXKDvdD4TzyJrj/95+FaDNG/NwD/CFO3ilU8INmBAJnXyEl+RUT0KxiQcSlWLCEuYXGF4sz9JEPi3WQWDV+mHWS9Yg1VFaCt1c0REXdoB7MUYmKpUDeYU6ASK68CRBmM8FE+pH2G1RcUOsksa54DdciRJoUGY2TJHlLjS6KIDjsld5EgHOzoQxFxQqjLKYXhkMFkj2q8dg41X5Vfhmrf/elB1yKX3f4vnMT/xBclTqAd7u/RRUiLnmw7gff3WMrxm+98O+AJBZ1uVPgKUr9yCH93iBb63kgP2O1w6bf41TNpexguqkfUyb5X8ZkBj8eBntv4yqtIc/CgGGuWeBtoKvRckIoSb1ROIrfJkhDYvfxA0hMOkcWuEB8L8OZjYBEHreas0r0NVk4J/FdDIjgkAObSJIthD7qbDSaroTeLXVLsJBMzkSZEGUcqiilTXOZyRs/u6cWPKUnhzJo2Mg+cW4S70b3D+f8DFXZH+RT7Q9KmHYXA+w5jDV7Evi+0rzrMDKamHO7tYIW21WsSc+PlJfYp5eJr6nYSuURfo21r10q65pd9KFs6oraU4ej30wFaSM9Gt9C1aP1wjc9C6J8I9E4AEOIicVaW6I/y1SQJCQ6sEyADBE3Da8kb2QJBCBEVkg4iTpWRGjJbuEEJnD/HUxIVk+B8QJdUl4qTlUJ2sWo9RmbHGpXIKE7wzJCLUlLebJbmyMW8DhcyOULSZ3wGOWfkjiLV4cuu6JmRGP+7rha0Bydann6obu6YjmCNMXtGovFo19GjL20r0smC2pDia/yno8wP/0I26YPP/0ar0i0f7Fi1Zdn8qWsEtBRdfXKmc3xsfsOk/FzyFt33kKdANtpYn/VpyvHtSfjAUmEfMuay1gyWSHJDap/yKDeZB5pZkcAzotaRrEhQJBDXPZnPAlPNyjZYRQjREL9dLZbTVYmF3S6xnFvrioADbQRjTVCC1KNFpekWa9q6uhJ96DV2zfE38R/ePI5mL1+yYjH6RqwL6WpfxVF9iSGBo452dh7dGAxuHKJACLra1kh2FX2DXmP2wLNaqWF8y5Jm+8uEs8t+mUSIdnI3v7D+5gPr6PfmbNgwZ/a6dRK3AFsZImu8aEeaeqnQhQyIVHwu205CfGBuQ6ez0R4iu5iSis7XtNGJjl58HCfQnuOkr4+vah+uVz0nhxJpoQUmK3UyHUKDuFfEoT4pJzQcv8yjCsWc0DSKTIOzCLwvOGgpIApp8YNC6gNJZwkorAoaWQ4+KwkhDWpyyXlNPpzXSBGyc7k+v0AKT6l/j2yaz+qklyAadfYwJurmuZqcjE5WaLlFQwlp/2n2/S6CeqCIa/oS9bYyv31KxektzJ5Ugu2JkyNNX5+kXxJ3tFJOsD/14pwcT4iomD8oxfhEXzJv5KyQYtGlFOfnPMPQar1BlcnyhfRGKf/hcHrJ3CmS4wiLhY2ZoghONrxz+FO/rM5/+sZYhaOSXeIZAi/zFT8KrXlyZe9AH0tJW9mOFLXT799pdeWgRmUZXcX7/adeA9R+EholbYgusPgH+X7uMdAEJ2DP6Mws+0KBLPaQK9qDc1FvohFZArEP0hodrlKxcI5KWgrFo5p6qWjfpKNYwA2KhJ4ot5xjKdrs1ZUhNg/RYB7cXpqEpkgWOSbmjWkwFwhcGw9NVvPxKuhHUDbqeesdtAjR22j2EXwSb33rHXwvTm07yryLLkOPoYXHuCP4wd8/hP/4++tRVd8tqPnhWy25yr5b8UvTp91qYXVoTPnlyNKyyBev66BfeQtvw6n7afZhuPGSd95CVyBmG00/BDe+640/oIUfcO/gX+EZ+P4PGHqlgArxJ1bzhodR27K2sNG8Yfo0/NQyy2x0qM53ZQv++6LyS8T5nQbgO+tBuk3iKjpmUVzVwnBdKiL6wBD2wQD7oDPkA09Bg1/QX6za3b9hwwSFYu6kKfjF34oMJA/djW5EuvRiwkbM9Ut3r+3uRr6tD7whkpFznEcLRCvOuEPk9k6x77gJu577EcmfpY+ni/6O51y74GmL1nDdU1ePNuOx9G56K+49smUFfmrG6OF6WnH+O030UqukHQh9iD5MJZg92I9eSOvpv9N++isJPzjw+78Dv5/kHIrJ2pGc6EgUBcTZq/5AsoQghaVIqxsscEjLSJC5BnqiijG9WJ7mIiEKAARzzGGWhXShoD5EwMFllyOaedVSy/Kjc99W1vr3u6em/FPcy7u1xQ8fZz77/PQdB1q33996UN1S9tRSfJA9lZMbOc3V18sCE8Ke2xyOGVM1vjl///vzJGO55rXlmT4awYUzdXy30BF0a3o2zadDxDZleB1lhbG7RfL5JJYd0Uu2EHg2laKOsGJpXopiy4Fso0LhdPN+NAHNPjLMC6VYvhN6ZboYY8sVCO+wib3CO4d5WpYUYysh7MwJfALV8FnaZ2idwebyiHqTS9Yt05Fa9+copLVYnW6f5HsAk4/q3HZWZzSoaUBMuUmcNEEC4i4nC4MuQzHAHRK9x5/KnkSFaBqyDywY+Ovad5/c8jdk+w2KfrZu3Wf4nd88jn/72SaWHkKhLnxyM0jgTPTYY8jyyBP4j0+u/fKJBX07960/DjfrQLHjN9/wMf794xEsdIGaPJJpK/qG3SzijxZaSxBIJRY/aYJk1RkST+SAo2oIEpHKC/1wHZeU43ayGZu1rnMOIBPdsm7/xnUHmNID60R8OrBu4/51Ga6CvpHPznxPPjA5UkumMgAWKISkxhqEbysYUVUlfRufq0nqpJiT7WdAaM98r+zn0ChseHbDOniQm1+4ed0IpNy/EZ7ks2HYHLEuAcm2GSleKWa/1eKiRYR1S19mlolTzEDawwHkkaZXnvWiVrahVyduR6idpdrgIdFLbSvPloGiovYt2pm2uFWvz7FOmand0s6K9Z+nd7HLT98h6fsslpKNI34gYJuYxCc1g01VzFU2W+qeqqZX6v122mGuNtMOu78+wxVCzB62izw9SBDRa7aLlHxKWFUkn831iesZOalmajCPVLfJxBI9krFxiWMpzcgma/uAJ+Umy8doM7maAilXY8jL5Gps9gvmanQaUWw1NLypFz1A7bYUmoOuR3NS27al8KP4JvxoKvYWakN3ora33sK78Qq8+1r0IHrwL3gLc7t4etvIS9KFaAtqe/11/BS+Gv/mzTdpGkjKevQYnpmpUxjiDNwA2CgvFaFiFF8oZqNY0VJVBUkmSiNmSElKlEqyZBaJxV1Tkywhi83pVSFp9RvwaeziIpykopYE+qVq1fMS4Zw9H0XrUJCsxunyueRffE2v+PqLdTe81uFddODSQMfrN6zr6mEmTEWa2+9AhtZGpudfqcfKPjJUvO/JU1T2VO5eO7COHVqdmD49sdrQNLnFOz8Sme9tmdyEd6Zs+YHQtIuCgXzmT5tpDaIdjqza9TUbN2bslZ/zAM+yUFXECgOLt5IFBEjz1NBOUR+doCHBQDIksaFgzK2P6mjiaxNVNBciNeuSXfDdseORr39qcfMbd/XxfN8cpwYVRi6au3o0M/uXzvg1E9El/WgSYh99Bu+b6Jo1b8GM8cWbL/hu5vlngL2dDrJXROytSVxZJ7P4kpziSCmWUqwZNJmViN5c0lTmwAr0k8MRr6enKGzl9Vb6tvQ11vpym8KKUpgFP2fQpxuV7zWj99C7Zm9xXn396d/VlRVyZnoK3WLmCsvqzDiCq85bg1APlmVQA1KPQOaTRrGjqi4Y/Ti3gqDAUucWChzqku0Y6jovZlhI7lkg3vPsHMsMq/75VH2yNAXgjIvZQch1qotmV13EbM/M7lx5mNme6j5MUyeBBtxxMiUMf+vKDnwEhYe6hJE6rAGPrpiaQA3aMjpsCoimyT9Ch/MkHSbYkyfqcI6adUqoY7KJK/cqXcXnq3AknMm3ikt+BkUtdjmBrXkkiNyWRrMzWpnG/aCp/enYyjeR5t63JE1+8x78jzdXonFoA3oEz2U24xvwrvS9RJdffgWuuuee0+nj9yHtGyuGdRku1t6D532Bln6V4TgnmRDbL9ovIE+A2NgPkJA5J83bVxF7SBam0obFbt3JbL//fujBid9u2sS8uq6uWbQJx9l+br845gXgcwyaST/pxfhgvljJQfx+iiy+++/Dzw4XA/YlmCxxeE62relnZqdfa191UaK+JkGGhouLArFG1jy0/0d4syMu5mrwSfkR7gn4XhfJRMXc0swyaYol4sSZ3iR8pCBJWQW8r1A+hTx7mo0d7S9NbbFYrlLRqlx741qvRjs4eRVqRa7n8tzYnf7v/tajEYv3N5NeakvoGyc8tadPRf/FlG1fO8GWc8vklegm1It8eU78Bh7/iNj+M6O5zYBdVniOUsSK6GWSfJGzCKoC+dCKvggfzXvh0MRTP1LG0iw10BY+/1CSRad456EXRj83/LZbw+ccSvrh7dxDe9X+XH3pC4daT/0WTmbDJXvzmHx9KTjNe12sE06NfnHIK57ya/aWkA/D9XtL3Tn60kH4gP1W+60uTq3V1QzCdWQDp0a8CVfAhiyZ2ZDDsDnq3Lx8p8vtLymtGPkP/aeTfEMeSqpkJLplGl7tTe9hImRsbYiR6aPDwk7ng6LGPMGoj0GGkMwU03tYB61xgA0jG/bm4/iwVBNR4yixoHttDpkd/XcN2lGtdKS/Yeo8dtxfjmZbegcGei3irt3zCHIfve76P+BPUt/j3UY7a/dY0TTMx+3KWjRdnCutOKvL2YDHPipEjaOmUp3UFdQiigxTEEZrkThaZEXfICFYc2CkZgjJK0GhOQqgi84iMTx+jrZBzyrUljxfobO4IhiOVscbm6bNJnGaGbqGLHvtqOaWKYnKuZeJqh8sgyuL8yol0NOcS6YBb4+K4ZrMMWMy6zxuD1kfk0Znz7mcDKkIYmXRGE2KTch1Yj0eGHIfqzeRu8CRBrDTaEBRPRF8A1yxsfhav6ZzStf+tkW+QF7RVTcpc9Y9s7X8jue+QTcBA/iostaquQO19i4PhhORZ+770w8Pbi9QIAVqMRdOf6naFI+sYXtWfpK0sd4CfN9BYf5NwXUbFVj47D106Y9zr1rqmgyQgE9+/N03kfHWyOU3voEm373CoOjpcmbbPJ0tFw89s30iuurV8OECFn/H/r4+YYtMzlubDtRXWN17gyVmZPgvrb/zdMjScef26mCu6Sm24gQ+qlym8k6tRo8gs6XDWDF05mlUZlNcmm8P2ruk9X3YetkOka8WiCswnoscEd6fM8yFI2ReqZaUUyGDHXbsxv3PP7+fFucibty4kd2ybt3pq6Xtz2xgRIlIeP0kIXLU+RzODjLTfM7+GyUOVzzC/lsl+0/mL1qHOZzDLQqB0ZbhcKIXckEOR+r8TOB8SAAQkxDtQkTumjeRDpUh7evEqL+9DX/75p/QLrQe9+HOC5K5adKHV7yB/3HfW/ipt6558+9fAPnb9dXIXJxZwtXs83G16uzSSEbi3IXOLpgpPR2Y61D7qsOpw0zsMBhtoW0NzQLW3ouvTHURky0Ish0ES4nhTnVJOEsxYLMPK4q4o+DF5wEvFuu7PGR1Opm0gI2HAfst48welINiHjASMmRAzcYEurpK4bAzDY5aOQrlTk5zG+W1jlTn1OcZF/KlPkUvR9BdU4076Xn4hGzp6cAk4/yDhTXy44rCInb5RKOAfigqVAxZO4+e3vPRp+8vsjbRYwZS2sy608CVvqEMVAnhegVn65CNx0i0S1wvyl4AWpyjKqypGVnTJyfdAvAi9klcNhwhUCMxVVHv5yh/XBgSUJZx/Lr0YFkt7aibv6xn+0AvPZCe8TD+qmPydY48F00bSB4O3TSwnNluTcyrLUvT8zctqi/OwVtpI03hQ7MmjH5++rgnfbrhda7geXdceC1TiU6dVz0oMhuWEpeMpYiv/Z/k2jBSrjUCif+NlOvhOjKHV/JNiFxTCvA6fBeuIwvrxP8iAo5J/SrwGkLJQijDa2anR/AaQmlErgJy/Q/8B5Dra9C4v6Cr/4LnDRObe9OoE92A5pwmxOZPb4OPcu6zRC1247lgPG79mV/mQGKkJUS8ssw6ruJ8feKXDcpIu0mLNYEkyhYbqhVl/+dNWfoyykJelPXy0qUv45P4Y3zyZeYy/An+16vLlr2KlMiNFIeWLj0kytNw31oysT2zQJJl5FusI/rVKPUr0MakkSx1SPpV7FW9may/C9bign2KSMWFhrN7L2Ac0Bf7EM3vPUPtvaAp+PMNe3mM9+3L1CWDHDmgHzQkO6lHI+VIjrgRixLX0M+PnsZ8IDKz8mmj0xNqmfsQh4e2IqBY9+Ah8QUP0fenH6mRJC2a3lWLzyAacWQ9S3ornMb3k0uI/CJEK2zsTnE1KJ2YedOKqyqR8LJYCX224kb0DIfjWZ6YwzxcfaM5V3JjTOSMOVlef/qzePmPDVkXIfQ+u/x9vDU3K5HekchS0zvx68XRaDEaFW/Xxb8rLz/RoL5I8+WXWkHQirrUBxzXBZzASObyq0ntlvh/tKjIKIn/O0tSrybLINCS03ouLoDOokxtGf2XgoJ0Xlkts2P7jvsfQFlRtw19YAqa0Ac2dyw1t7eXeaG3NxMv4wzn5Y6ZLCYL96bwyNwxWSf+oOyP3HFqvDg3vkn8P2MU0optCnZ4brye1tPiQvX6TM6HlLnDDhPjxCoT2ImS8l2yTo+cc8E2GhNt09ma+Hnzf9upZNx+1ZbK61e5QzdXz1vc7A831264/97YqZ5ah/X9rtvbSnP0OdM6r3JPaRzXudXqVGYXB+Z9U5qfx2Rl52q1FeWzmKX4GfwaPiNUqy3F6F15ljJH03eFM+6PFcpYb9OaKbXzqwwqry46pb2+uWtyeVipr6n+1Ulm9Jg3Zpb+9uLGXS/f0r1LoWxqOijN+R3hP0q112e9yLORoKpfKKsmsxRI8erPPMrUcTqefpX8seTl5w7mF8/QS/alX9xPDeeqzvt+quoC60UP/523+H0RMzsFfktqgJkxYrH7Sc88w7j27cM9+/cP5wjlH3L/D2VvAthUlbaP33Nzs7Vpm5u1W9rsadq0afambdJ9X6AtLVCgQMGCZV+kQNGyiIgsRXFh6QhqdXCG0ZsWER2cKSouo1HRD9BRZgaXGfUDPsUd2uv/nHPTUlDm7w/a5N6bm7Y55z3vedfn8cCfjvIySbja3RBmUpwofpLoRHmYSIoFl0HydLzxoEVyAUYh0FuMGSgRadDzBQYBkOvk1dbXWgXK1jet5eXWn6Kt1a1iryCspw3ULPan9Lbh71qz2J9mUTSo7eXN6AWf2CagavL6THBLZv0EG0jM9NOGWQilbpYh6uoQXMvzub2G4/HAnAzQAEAjgTAfAXrE9Qbwzzq1upn3AHtl5L0wux/cAgSk4xS4FcwNr23iPTzyABoXMgFaBedHLqDeaxLuTaN6WACHH+oALk8GaN114ExgL9gH9o2CcpPEKBgTiUvdR/vIL8O5GoR7mIzDkIhHPDoYix4On1yhVhHqay1QCKEKN25xAwqXMWqVlHh1vARldIoq2mQafiG+taaIlxc/U+s0DXekb9q4IlnD33D17VSLjJXGikSSTGpeehx4z2G1KtlyScLV96ozNVRPRhz4UC11N2dhXBlhxK7qwtk3PWGGlkUW4US7tRpRWcBfz7Wv0KN9QkiCAQ34HhMNv+ERnQk8fNrk4Rfz7AqBCDquAqDg2Ysybc7hy8NfO22Z/WTvyAUU2EDf5PnxZ+fLEthjFPwHKuPL+akFap2SPQnylDp1wdVYqpu9cnUz+LF/Wz9IhQ9X36O6geDq5vrRC2gNRv0cI5wl+BNcey6iiKgnZiCMHTiUQRLpFQHSKgRWK7E8BEcI1NfabFDmhVBF8B5xHzqKyzhxAR1U5HIBPkFtgQCeKhQg+9Sct4Z2TIhL0Wo9Kp1IFKOWz2YLPvqoOb8uu7JOB04pJ0wZWbjkYKIyTjlh8s9LFh1IUIKTKmO8Ji9piVJlbPEuBvZCs1V3sqiounpI932M3ysxnTTFKxSN8AlknGJPKaJ0tZXZYplcbkpIN/vya20fgROzZzbnr5+wY+gt8rE4ZeLBJQuHp0yEvyPhwKIlxM+TJ4DaRoXEc9LUqHBOO8n+K71AN1RdXVR0MpF9yjZZugT+cKNKuUT5Cz/B/Ct+guWX9lTadfaU4Xo/QW+6mT3F+QnInkKdByaclPjvbgK2/F9hD79K7gczOtjwr8d8//0gvnfMnnoFND/J9ncAN/gGr9Vu8l9wn5RHetzQkuJ6MnAhig68rXNko3a2O8G6ujqdy5NIsi6SbdOxGp2ueirYCe5trdbpSDZ11AbrJs/BnwcNcF+kYQ43n2D8pmpduw68pdOxzkSvS1ddDW5nN1X36XTgE10betBVt7JL2OVTI1hRLuo8qgX0cXkBrEGg/SKRyBQ2QaBkdqP/pwfM36vEUbNKSbYs0zQ8Rxn5G0AV1U9ZOf2j5homkV+NkVgFuromcC+4t6kOt0O2owfwhRN+RLCB7YEf0QkV1hvwNY+O+1lP8i7xfviV3mNwnzsL3It6VTDslNPDm8V2ZWWBrW67243gpZxO+y8wMTyRujLU73OE3RNmFRyUGXGjDTGac+ORYOvw9+Nzbui+l/hn+Wd/rVaglu3Cdkf3jfddX9sy/D38yQKutuWarYRwgfS4CkyIcYE4LxxnYUNCEhVqyDkv6ZoXDiVmdF727d27D8zVkF9Yc3OtI2rNZc44YnUqNZupMXp5W70mDZupHv2ddwmj+PG47yCSlfGMml/jToqs5MfQAkuxFvG2FtjIK/BYYCs4n2NIAcNSTZIKDKcYc4ZN488N/l/8fHr838kff6IhWWtRkXWE1PAeTSY/xscpyWRYI2WpFEMO78McYwpLqROvP1eNfoZrGCa/jl5yA2LJr+CTcD9nlJMpD2oYwORjPiaMQ8q4UDEREUaJChcGJs2ASkYYDgVQMJqjagpluKBbITWYcbOLkGZi/jt7k8mNYPm9qCHNIFSpXRE2NESXVkAiw/wm9E48MkFV/rxRL5XMk+WLgprKv+mNUopaUCwRB36N+mlGvFFb+7pREZVovUSmxlsTTLf8LU0hVYoU9BeJQiqOs8ki3FtyYjLRQdyF6ocEduYWKH9bsPzVhJkaaWgh1+lzN/zQNQh6XOFnFtLPxgm86vopc+aP9nYjXgyX00hAJYoItygC7mlQe3BFVPgJipZXpXZicAVUpI1wNVVCDufYEvn2RbBgskhkVuBuBGhdCHRwt/dRBC0VmjF8IjTUsgDeNb0WuN1ZxlNycUxer7L3sz/2vd4Ibvk02pYu1iRSCmGcSCLmC10dZUr54lSxsbHenhEb55v2oFDI4ylSHpTS9XVGs5hSWIN+sTKapPTRmnh626yptuPe19krt4MFAj3xMyhgau1OJS85x9hTLqVorVEu5Nnt1iJjIvnGQfZ/EJcYEMK/ZBdYBER9feyP7O5bzoJkjSIpUZwg48XyJSJJrCja2ZEbEIkoiSjOEh/MC8z3TnlbWFORlvmHJHJKW6bV68kLFpXGy8RK6JuS4OrRpKhEntag5SmnbeP/T6t7MlvNfsN+/nnx1HWP2VvLeJt0RW63VSHkZTmpBEniaH7/beFE/tvQXkonFhBcLnEUrRtFy0/Iv23gwuKElAFDoSTyJyZ96PkCz3ffcpcNUkY/FBLxfmLEQ8SzBNxDk/SG9LHI9S+uoHD1Dc4mSkLKdVDzylHbuEBthpuPU4WwY+BCNVuk5fxyG3/AVs4vUzrYIUfHKRNQjXw78iOQWU/fksUezzzGd2fwLRlufjxVYbtaml5GgafYLTi2s6Z1AdwN4f9G8BR4tG2EnHYks7g48yFbQYHteg6YBNQjDD8/wTGuSTHLQBJnz6pkUHCDlMdNGi20QmAw6WgBRWq+BivOrjr/lwOLgy+zT74bSB/uIy+/yD53imw/zf7+peDSg3/5521nwW1fJw0ftOWdJi8r32afhTZL9M/TRbmCcgKhhjsRuqsqFfgsZgEP4Qvh3RBtYwJuH0NI2Ny+jyFG0EU7NDCMum0LXtfnKIU5yV41GQbf1jlJylOvrVGwTlZkNmbEjpAq8uhisjopxZRAUuXFCXUa1j/yiSi+mnwmxy7S9TtEScMnDFZoV7NDzhryszpnQox2ZC4oiI+OSr1amwz+oWGDygTwdmGJhkpg2wF0FaWRWjCMJyCCVkQi6v7ApX96VBd448G+PNv5RhIq1lzbx40ktJFz4XmYJNID81gCGvT5HVf3CsLwCfvePz8l/FAgRNoaQb5h0io76i/AIEJCAGIShEd1rNWU9m+bnn1BkqXYk57GWj0aqDJtw1ey007b3Gy8gk9vSc8aGRjFHP0e7gH9XH6IWIZnWBcO0aiTX4MBsNUIABInjMB4cGmuDCwOHpnCjEmKPBtkPI4WtDFQlStoRuYPmeLgGY1aFRkJtCQ1Oi7jGKcYJT1Dco7SwIRBT0B9pvPiQ2hSjiJxaLkj/foP7qAaN3xwO3vx5RPsl43ssUb20kvr/17f91Ff3+JFv6Ma0cFHvAk/E3/v6fn7+peAjL3w0pZNXbtfBvLb2ScW9+3/+4EDf98PHyO9gz8v46di2Ub46rlEKfQn9nE5XKbEhQp3rE5UFluBGlkZFxyECVinxznRp091ogFANrMBQxlFYVRw1PdkcTJlYYSIWcaRVFQ5GRvK0CPa0FAC3PSeJXkiSQwtEyLcuaIyeMGabne5c/xZ2NjWJ9OyQgn0deJUJovN4Q3W4qHycPUrFporYoFDRQvUYw3lZmlklMCv3MYVKKPbeGOj2vtW7/33w4fduzsbVza3+HMb4VPzSrJr9IX771/Q6M9tbs71NzasxE8d83bunHeggieo2Devt3fe/vLhK+UP5zc2oUwoFV7V1LSq8epfrr9nX8XwlYoPVjfCl/hTAuiOxkjt2ShnZSlc42jPLOQ6ZnUINAL3xFp0CFJDiorTCwW07CgRnWrwBUpvSk9pwgXIHAkEhj+B2iDIg/tjLE8o4MJNFjMu1b8ZayUYtjrucZYaEuMkVFZyxhQF0OemCbKrF+XekRTXvn5TbmadVykLFon51tRoieimbJbJDl9HdOykwJJyydBhc0WaKNHaXKmLjX9y2ksH7rCoZU5r2jvvx0lEMUKxCNu5Twl7+BegDKLskQXH9yN+mBjzZtE4bzkuOW/B27bRhJgOhbHIY/V5jWoakXsJbn8PGOFnM753hyj+mZa8UvYSu4fWVdQOb9m+sLAIOPbULXyEPfcubxl7nD17Zv36s8DyiMMvCvxuHk/yj9jYkaNbl65caTIP3719uwe8qrzjTGQfJIX7BPuhPvMiTyIFFACzRY4R3zAAEPK6ffxYwFfxKTXiYjRBRxrNAF+l5nHY/wIJyKfb/f3bt+3x+P6x0GffGKdkw++yP0gkW9hNOQU8lwTkAEFXbXZmHlDnFtHsSXg7e/GVx7p0xueWFGX2UP1XTvuDEqu9FEw3ZdUpHd1/XF0LeH0f726VdKx7YFHL/rn/eaOhXDI/h5/hD0iKzM3sMY02l+LJrRG8f1z/zCeioW+VwFUPYPgQVFrLAV16uCabRlKB7dsLjTwXb58tF+UnAtbhjvA8koDqGWrlPBvYGwb7rIFrnEgoX5WMarMjOXYNV5stDUdKDGhFigDad0ESEZ+RyMKLJUnaVrzgrr98dN9LIPZMT1NKStP6M+zXL73IfnN2fXMq+cZ9H72weUFRBp0yqecM1PN3gdiz6yelpk5Cd+GYZGQdKaH0uIlCaH+7CES1UjGG5FFlD1UjD6iiBIpSkRh3OxWKCYFEm27PySe55SSVBxHhjXd0NUHb02iGMmakcPTEbETJI69v7JQ746MTI18gV+mcPigDlxs+uDjy73cqX/kU2WwPvPY3aEFe2Q8WxpuNj4AwOP9EtdVVu5OdxM7ZZlTH2YCInHI+YDQVvTxy/tMsRZyFtIMehybJxz7KRhkl/wBg3apl7LdhMszex/6nYYlL0fx0993gj9++Du1CAbZS799bWS70x85tR2Aik1qiHJLhppgJFdv0ZUXWVYGy6K9Ko9d9mZjjSD6zOnrklR7d52JeBL8xwpOlICyEB6MiuwmkfqrGsYkh9jAiVAX1c6hEhNHIC6MIfrTO5sgNVl8bOGCkVOpIyQyuyDRFRi4FxJJ46AQyFPYeGzuB+bqxgysIKqZzrd8DKRB/NeHo271fswPPPscOfL0DlIq0mgfBIXBsb6JManAnbWJXsZvXNwQS4gr/l7S/HjQZc4+w9JkssTIRsKDdoUvIZl9mMxMF4S8mbV30zXNw6J76mWhdosx/essGcNc/nwX1X/fugD//aV2B0B09vZV2Z5kEcRMmRmcp2fPFZcqKgjvMgfy0Jf7iHyxpoq4P9DZb8okl1Mj/LU8+IxGPyvp7wun8N4hMQkOgojpTeMCUjgrzTWpxBmCy7CE7l+6mdFqTV0Z7vNCJQd8czpHaCNCj2aJUqNSocgD6MtA9AVGgEkwAvCvsirrFS3qs61ctfuLxjyVsKvui5/CcqsNbHC6P3PRyzyn2cm7P4T88Dj4HckfzSntc3d0l6q5/PZJtjgMbZ85+c7U4jdp2WiMRde2m+iMxsJegf8oSSYSDKCGyCQxO5DnDFISZgJMpkDK+MOOzY3gijw8aK24/U0AP0N6SMXZAZHKiAggz2kfV/Eg0BpmeyA+LaEEfl+woAGJ0DTH1YmAxvO84eJO6u0nTyB/kvsYlSxq32smugw7H8OHu7uHDDjBJ23N/a3XTLH2qI/7WyXUFGo2ZnzzyBnkwOUUcZeTBSbXwjSpFrCSG12dNYnVFRcC3TVTcXlx9qjXJmpYE/llYyOqSWMP9DxabbU63KjrPYYhXyj2qQ+wXpC4zZ/3uj1V0DE+n/5R5JMvK8VeY4Jish/rcSuQTRQRCSVCO4fJHh5lorrcsh8MhiyY4XAAb/axIrkw2pts56CaUH2TknHGi5KiCoQuKa8ZwcyQliAKUIAXjrBG40AkxR6OkOtqhSY8UMVvwi6zpORS1/u8g+8ncqt51Dz7JvnL1eAfPSFmLWpqbkkvBgFrGbma7sngT+ynKaxNnJMqlJPtZpuJ7nTMZvpdfkJGV/Ryo+7/tIsa0+G/s1+zTS9trgwk8j2MtNTE6ms1jiXrw1Lfs27lGa7EokfZmloCXQfA2P6cLXhKZ+GfhWGiIdmIh0QWSCWYZAngEzOpxdVKoQWxOmJkjRQp1oLZtvhMayaXhgZySRfAotIbzCF8curicc/2SpdDnCykoVCj1vOi7oUfQZYppy4pliqVMmzRUR/5EwcNQDvnT8y9OvPQtrpNKlg6KksVyaGFLB6WKOHnGoAw9ousadJ1i6qSDJXXF8IVa9DgAX75WMcVI/QPwNnQk8hOFEuiSyBTJmpyS2rq260qmno28UnddnVQKQp2MTUhC5URzaKbBHyqthjN8K2JlWAYPZuKpRrgHXrkuAuVoMfNIC0JBEBIgCfAVmPDH60vBzJGIb8YrgwZABvCYvBa32QNtAj3f4zbA5aRUKfkI10etQIF6UqnyOU1q1CHgDpI+OdSVJrmTI6mPBSImhpwL5s+TMKKGuP1tcYqTMh77B5C7+35w78aFS8J1d5WkR+Xe0SLkFVPKof6gczgUD+bTYimIEarZ15TSVppiTwhFPEDyBCQPwQIBkE5tntvdm1ZUbhaX+2eCqZRAIlhXFZei7RaJRCRoZA+LBFFX7FDVWDKk0qtHwEkyeeTTrJX3SehprQ8/4n/00O/zhbF11Baw4dCm3aeCPKWkXhQl4meellJSyT/8FJR3XmxqnFQTA2JId9gw986nChZVZcewVfESSSZ4lDJJKmsGrrOHfcQUbA/7cHdFhC4jB4shRy3t5oJJiODPjailBXyZDUXOoulQZhayllOhEjsSrSYcBg4uaCDekhkpbR5nNWdReJsnpLhFLUL1DU0gjkbNGSnXEmjnPPM1sEGDMhNauhU9R8/+vPl1djfc1smEL/qzsyZXVRfl9pb1wFkT/PF+rdq6gLrIHrveMr6LPftMT/l+9if2AfY+UHtR8llSmnb7HWaTZw/I4PNIwWJx5lR9nELWf+kG36AE9VQIEPcAQpiTjsHKGcJMmhN1aga4sUCq20BwXmeAflbAlyaa3TnFeFRkIW8uGhVn8RgF7a95D0iF6y1oM84CASi0KJKmUrvtwM0VvHE7GNeDcTP/gUzI3DF3m1VBxxrKJpu80zQP/kCSS5sm+Yv96oKMUn1g4o531+67qdvAFjXczRdLOsup+Pw5WZ4Tktgo5YRl/hhtqZmX4M5KWPDqvhkRW5Pi+GQicXbUHuZFpqye1AAd8IHpYBG725YCDOy5wW/Y18njw128rSD7HVsBKGB/OMGM9oTahUfhz1ERJsJO5OGKEI4BUx9GKUvE0J5tx9xWmPMyFKPAPaCDSrUEtQAwabJQqilCJRAJwZgtcAXjSjGPjw9SSOjZ+3iIXhJ6CyotMnQMeqFIVE+erl66rJp8p55qZHsy+exznz3I/vxgJtsDBvg9715+t4e/QnFyw8bXFG154K68BqV6wx1KsGyBFd6cCTbY5mv7utu3FSwu7O4DBtdkp3OyC5T6q6v9QNDa+s/SsrIIbqFws+B1qNc9RC2xBO77dXA1jeJrJeHuwUG+NkmUEYlQ88ODVnyKsOMRntOgF5/m4SbDCviG0nCoHrW84coLnt8f8lrhUYoeHlUg+cvxM3k0EzEbVFpM4sS3uFEzLD/SF33zS3quQOskiD1ZKqpPKdTqBVESnkCfWpTcICglu+ALL5eIa7UFoy/Ao1pxCdn1MnxHSeQdKp60Iz8wkffolhMntty2NGade82kLr9I5O9qWpe9IWrp1ZEtQ0NbVi+OXetZ3bwKvbCqebVnbexingq9o2vx2Dvu/Laq5tkb+wL9RAOxcbQv0Gxngi40WKVOtD6rXEhp1TtH+wUbx/ULon7HbExIjAg8oXdSMdZD2AQHNDcbKjJzugelAEJJFfAkWFRbz9WpZtKywqh0Q4bbk1tUXFP7W/sKfRiK0YuR0OBijhgkKH2C0tw3XBYK/l87DS/s3TChqMCywtTgL+4uN/bUDqzZS2rrazbW3WnqSpqSX9JTYeyuPtxdX///3HL4+3v2Wg0VwcaW+kPVxVse3npPTf3EkmDj1Bp0Wj/5Oh0ZB+fEhOdDh2v/uf4d1K9DhFS6G8q1CKjzuOyCliIAYpP05qEubEwnSRvo/dCgXQTuG/OudrOLkaondX3drfffb3ruOYb3ELsUXvqxrw+I4G27IumCn0Zeeqh1zpaD/gUPsX7wKpSZqp9lULf0EDT86yYRtyJ0hil2Zh5XyzzrDNOOy5eJ0LwpcNXEwD8vEaXqsf3IM8tQ0oNE/YOUDfg4ljb83yhXQaWMO1Z8Lo5nzOtTYRsbriEPh3YrQCzN6AsV2qsiuRIZqkaOAkb4o6qiGjSbSspcycWq2Md/b3X8aeQ1Vc7vwEowC5QsSUspCGxN099595dL2Xd7lSaJw1Pp60iQxi30VXocElNCmsekpSl+95z2NSK+VG/0gCRRY1lGdf1Xs5b+2cKPlnZ9yg78tXI6byG7+U9FZp1uVfGDQDEA1j8kUTawn12doLIsqQ+8sj8IFVlsvnfd+joLn3RL/N40Zb7Z6zXnK03+3Jj4pQ0xEvh7YiTzN6y/NS6KSlRLYhpW8p6pWULxpNLOykns3wflE/4K5gPZMzJqaiQXFeZfEIRxD7INxWloBICllqsRZBAcKC/0r+UWFB/nocFGgaMk4IscyX3yyNH3W7eyrSvObXrk/o6Hs4Jn2lum7d90rottdW29EgaCTR2+3NyTnS+wop55Of7clzuHKDZyjTzSW68c0ReBNdWtpoQnP7tDPLgNuKZVgdvLRwxrmnaN7ACv1vvfap/jymd14HlxdeD19jnufLJLAv5czx1H6pw4TEElYYQ+Zi5xJ+41jIvsSUxmBLMgCQq8M8Jyo5MyDg6BSnkGXZWFB2RK5JLKssQZjIxD3UsPM+lcv6AIV9KLpIg42WPHKFVmGTYfQtFK+JwE9U5mGrKiZAqlaDT6GuFCgVZRLNBibEyERqjTqnWjtUGEFGtzs9bkcUPbWAMU0Cw2H1hBvbDiALtHsut79l/f7RSxfeAvDwINkB8Afzmw4mrJyodJ6wkQO/RX9ityheN+h+N+hWbFysceW0kOOTw7v7/33u93ZvrD58+DjBUHDqxgbexXL57Ycs8Lp9GdjtG6hZ8r4ZhZ4czLMCpXyjU9EPnb4frmFjyNFzwixh1X1bRxGtl3+vSbe04yuV9+CWqnbdw47coH0zaapm0ku4Fsy8Fz7OvBXvbSyOaN0/gZrT09reNynyjrng3t1k5sq8HZcGHrNWmMkXrMdHVgZGvGw/lSESPWAY3Yo/xEncFoykZWhQeh0jMpsmcESVpzmhVvAvDPlz0THa8hTLabxn/H9xsC1/iycB/mc9LezGw78j5YBo6AZe+/z+5k69mdoGg5yF5u1LCLNcZNW7axl25usR1E7ztzhu1la9kd778PnoaC/U9wH6LEYbdv38bZWaafzwrvFABoY80mNkA7ayAWZRgK7MxUO7PUzqyFg7TRHtqE1GEBNCwYs5+ZSg/UNU1GXFdrl0KPbP7iDmzAewUqTkuiNDCFXGgBVpm4rBuzRWITgiKv3QeV39iNiKv1F3eOu5GrnsHVU8BswXdkUNHSlKaUmW0Nk97aBYhXF05LsmWp3TElIp1YU1w/p7XBc899s+9kr8yqPe7nZSptynjuHfAV79bdswB5Er4l05Zol+dLUmI02SUps6c1olci76FsqgylSqRJmaiLvPDDO//+qa6wuH5BjWPX+8vYBz9dekfnXn26QifSNOQnJPom9lqi5ckx1ii/MGVKSn3xxJxkJe331lZAhy2d1ErNieAzg1UB/z70itTv3WWJViRKTXHuqIQSn4VMmMBd5t7AS5WaEsFPU1JTRZrIC73nixprC2ZkJse4i96aYKmbGuER4WTdTTQRa7CkO8IoWA9t5Qo7MyHM1DqRrCORnzQO+DPioTRDQQ+ooUaBvkmWB8u0xYGontOxST1gyshCPncFNHWg55ZgzAwUVDWh1TCBDnmq4Ss5MqbuJoKvdvv4qSSXBrIIVS6lywMnlM8VYsm9XKG7UiE0IW5EzuKxeAxKwX/JhBzJBN/2LZ+ZXO65bf6WrY+umLuXBovms3f98wN25/ubloL2tx4D1rPrNSx9sKVbtLylpadz24pZhWUJN10qd+9ae77YY00w2t2tW7oeeki0dnr/Xz95Hywne//w0h2n2dOPL555rtzkF9F1/k0N4j17eFnumtG610phhqARV/w1EDOgnhkoiFSxifCYZ2M+jgk4dKsJMxopNDAxWZ3yDOKeI0I5BXDkAREzqRnZl+nQ2HyGjmtsapnMjTAjRyP/jFk5pXX6DHSHhsPWxd3reFWgcJWXjtRXIDYbr8uL4Dk4ix1VYeQB6C+rkSUpN8PRdzlVuEDDLEfBYBTDQAsPmpzjiclXztyzlKLEosNbLp7uqN+WP0HpP8BaeU7bfn/Z7D0zN2ooQwp1z58X1PIn72nWbXhUJHpy+65XF2gqGhTK40G1cqJfqqzfQh4CrhOoQPYEGwb5lw/rPBRVtgSkDjw/U2+oX/HO+l1pkiS7iOL7LfZjSy62BpN1HdZcHfuPsk1NvI0LOh8Qim6jEle+kUCda35omZS6m30Z1bMOATf7ZiRWngFlfwVcBcJI3TNBiwU8MfCgT2QRI6JtOxALwb1kObti5BOyGMwfed5IdpILLsVFycXsMfa4mJbEfU12gkVkEds3cpSsBjtGnucLWAasAaXDJnYLyAALh6+gfu62A3wxiGUvi/kHQD57Gt6QAtbAGyaCRaN+q0uQBv1WPtFMLIQWwoAWSYMT+yPpcOIXYWQ7fRjRqYT0WdAIltGG8kiVDYKr8wEEzU25uOAS6uHGBD5qWRzApLqoDtSiRxOmRpkNhE7CyyI98AvhzJtwOgthYqei/d0MzFB/OnHENwJUzcsCwOIXsQe7g2awaqEjnk/JFAZVfrozWjA3rYBSTmDKo0WJMXSWVlTmaKvgxbmbQO6iuvKgJCYJAMDjk46yINsu4mcZCo82QlfhUhclEotFNZ0tCqlErMzVJ6UYRckiqSiK+j4z5+oIM431BM1Flwxmc3xKlIgEtDAjhf1GLBK4LcmxVC+lq3F9kua5dTYwfvgdWCgSxwgstTrSrc+M1xgqpcmHSnwLdovZVRK7Z8rsoFciFislIpJPkjwqki8Z038IYbeV6CBOYR2YH0YhmZowssPg0ptoZ1rwPCA1OC+iBgfUBDLF1DpoikGNCB1oRL9UhGw46AhOkoZc0RnMtDAzjSNusziZW8LMDOeA7xb0Np9dnBGaD2eyogg6gtH8pMSMTEeyp6YVqcfQpHqoRBtaoIKcRoek6SjQU1MKZ9ynnnsLXskJ0LiIJjzT2ud0oMU+kQ45XPDuFtkzOvv0tlmoF5Ix00zmzcJCbp3L7EPAZtB28iF3SYGaPnDNWQQUXQBtPJSB5dwXFOlEjDd5qJKYgy1HnhZUykqD0uC5aehIBJKodLGkMqO+y5eRcKlRKaWqyqyeBd0lzVKrxXPrraCzoryZ4jcU0bWT/eZmhc1CG6bQlNUIlva19/W139xIWT7kdWidy6d0R4nFajGc0rSumWVJ8Up7e+v2gE4k7qj2BAWCao+vVDgJ/L5bsji4gpK0sxfRT+3ru8ajxc2/n2iB/hyae++oRV5nZxrDKHWAZn3yuM0vgnA9Bc5ecWTzc3GJA2Rdh9LRTNTRhTHRhNpgzEhwOItLJ7Rg2i1ZKHei/7/sdwalSwF9PPikwmsUt6CaLbpf2fVcHp2F08Gcp//fNj1S0Ua1dsZX3AOEO5aZZk3fWqtVIVjHBew9/0JbX89ScMvbeOtLGPlcyn65QqKs2TB7kmNB7+f3ZsTefPPbvnbF8jhFXHLXuqnHA8esjab6cy/+C29+T76MN7+OeZeWO0zKVutxx+/duPZMfF0/HepJshAZhIMIwF3wV7vrcOeHC8ka3NyRrMFnNfzOA5GjsVfQ1RtKO3/ah9D81wYD3QH471h3d3cg2B3oRufB5wKBMCr8pAhU9zlMoLpP3t5580byA8FAIBgMHAtw3+hrHL5kDNelMva3AtyjgoCJEYOo2QR9kO5GKtzcxf7j6tamtWAfzxW0juyzBkjizTc58oBpoGB1M4tZBhA2KNhLXOd3ZBElRAX8j6QxYyxGXDlOAn2cBFZBCfRBCTwKJTDNXlrBRZYykFNBJPhLy2/qVERkTQ2HDdlVOs+vCJjHINfxLDydGnig2rmZcJnAt0v+Hc+ylwEJfAvY+84ieepaADrPYnnSsV19V9grh9r62CtLwD8lH9xcmHoWn3vIWbXn3Llt246+h4Soe/AtLEQrVoTKwBvsJiuY9PrIhaqEds43FLFhQbngArSd9hFMsR0H5uwIiAyF3lDKKrj38lNcysotZbKHQvl81PJPDabmow7+wNOXvkaZqUEtOh3UoUd446DTnS3PGICP4/r14Yso9aT1E89mO935qVqdfizjdBRduXYB55tS7dDQCmIyPbgLB0muTAcVsyB3BIGBZYEIuDEmVUW4IAIhiZ+DpI/LVaiCfAtpwiUKIip38yw6TiiNVhjFyTNmAPuxIx8qlVM73T2dEyUCHpAIVVFJlEFM5U+al57jitVLdeUaqUgQ1byq2kLleaMCLdP/uG11g1cYY2Z/ZodHnjhVOpeyvfrEOlW632hT6fLsQ30HDkokf386xP5lntMq86XJ7Wn5xsqUiZJFzRllqSqr77HHK1tWsj88NGn/vA2Fr349RFrNfKNYaJt252PPvzYfpO3dU/JK4TORuhpurSgxauUoLgMIM4DjDEjgSuoAgUulmWQ6FJfhx2jsMoxICWh3kKd2qpwuGgfgdVpartMmAIDYcix6s95AY7KhZcm+hvmFcpU+ThwnlpA9w6tGXj3E20z62V3XXomN45WDpeCp6asLNNAMYa8oJGT3yIPDFLmYNxH6uI2RF4BAKYnEIKfDdagnVhJ34aqXpRipNC+MGgMT4Uq8DfcHFsHNXhoJsVNSlLwpkoY6MScQwp1YBT9fEfp8pJ/ppI/GJKaYxc6laBdQotwyEVoqhi9G+xk7jeoI82SDcoO5E71eTg8SlHIOznIheHqcq4fbMmb48sHxwOgy3khlBio/iCW5fI4qkrXHcAV2ZPUZcHkYtA2DIPJ6xKEyR6iFFFgkR/9zNecGtPFXK3u/BnXHHCvW3L79q+0exY6v2CPHWspu39d5YlsjeKImJy3dEAvc6gU1i3aYzDkZVG4O7565U0pyg4FPH5jXOdft1ifXeW36mLT8J+d5/Aq5w5cxybdzQm2pQRfMXbv2kRc3TF9G9T64bubUF9hDP9wnLdr1w71r1sye+wKYDM8aJ/WeHH7RWZVssIMZOseM8rwksyIKxMUl2Q0Tahfd2tQwWWNMdzhKLN66+JjANqvJoVMkJculMdHpidnZwfK2xTObcx1lnj9cH1cuIvKgPBaP6w9ScSWeJXC+pIgnoMjPqOhCMYaEcuYWFKJ5EKMgGvEr0WYUYqCQFwQHlBQip8hnDpIotYuozIIAoaPE8vC0CM03CUSDP1Jvbv8DoBTSqicWWmZ7OoUiXaokSWissdbpFQlinaV0sV1mty1fuqDeLOYpFEC+52YRa3bBPa/JlAfu7T63MZpXwP5vTe/K1St8aXOa02lrg33SlHxR7KJHGLvNEOtvXlWg1Gv1LsN1dpCeKCA2j0a8PBg8NQ3bw5G4V+G4uJcTjlwBRto2OxFWL2qC8IcZ/1gcDOEoOuPhmBr8jIMe0CUaUTQgQ/YsX5CklZo8+XjDSrOjwtBodbwmhTAYHU5/wW8KhsnVPgOHeYkl1sCVq3BVtsLfGhSrOfFydfwrC1YFizreknwX//WT7+/Zzl769x+/1Pzm6Bh5ZmiI6d+7f2oLcyS8Z8/5CyDttWegzMX+HBQSgnsIH1GNqr0x/WREtafwgjwcuOKqN71YhlCMikdyzcMYNBIKFxfkx30guNVPRilTHi8Rl6V5/TG5+ZLUFJvWpy+iDUkxqao0cZqPzs19GKgrnpjeLpOtvqP/0JzW2JgDdeyDV61UMl/nL3jY4/XzeXRsftFBj9dLqpZl18yO58fniMQJd9ybqJcBSh6XIpSYzIaYeOWUuzIKRNKAb31a2g/fg0SgHXw2zfS7nW/N/fc8OfnshDhf4MLtd7A/VJdEibO9H93eA+QEcUP8FHViVoxKU0SCMsZJUEROEOtcSjxnxxiMljQsFkk4OEpAx9T62+QhQvH0W6f+P+RrIzn4+zfHQRsO7T4UiUunUt2CbgIKLN4hEDZVKsZBTQgzCifG8wjFcgoeIZ/SnJqFAkpHlK+Hy3CjuQ4nK+9aOPf2L070bp+YZ1NJwfNsOfu9xDn777w1IwvvLCxdlabtBJY2q9qV9iT4BFjAh+sXn6gibojf9RCv4pGGnos1zOTameWYZ7wtjADjsKrDm9d6PPxwzaoxvvYcFLt2MpVhZnWYqZSGlsDzwjBTKA3p8dww0VKENme2hzbASZrjgB/J5WdW0yF+ot8fWlKJnNdkaUZmbmnKxLZblyNlWUgPCqwN2OHRyxgjnMrcTPi2DD+znEZR4Bq02vVGh8tTSDS1zFmHbmyjUZFDyuh29ytl0FzBgsuZAn1VYWQTg984YWGWK8aq1TBSD97z8M1c2fTYVY7AWYGuIr4T9MMiEzK6I960ivrVw91NpUbn1s+3SLR/7JoQiC+/6993i60XddaujvrGWpWp3r0r12cpdaW7FbSEVscnpUmizek2Z1FzYWGZNt1Wl5sdl2w01RRaDIlxMXHRMjoxOUl5U+lb1c1kUvdc2u7Jza/pZkwieFhiqGaP25w5eRpLhqN4vt2oj1XT5oQMVSJcPTFWTZJBbk6NksYntOYFM9LVyTHRPGjw6UwuSZwsJk0fTSuVo7EmC7RxuiJYlMhCG489eQ1xMsRHFkyUn5HRIYnUj9hNEGoVrhD1EnJaQJC4QsLII+VSgi+j4XRZzl8FTuof7N4wuPD2N9+9y+5sbv4aeABxLszu/Qd5mv0T+103GAFOssUMN6ylV/+1YsX/gna2j/co+wbLWwc3ydZPQC8QmYkb6ma80C9CEp4VxiCkUISdGPbccAZ180M9gnDNow2oeEibwTUdWLMwyjmKRUcTGf6b+d58DwZ04MIZikipvZKTDChh9E3jG32ZjgyTbNPHH8fwEtL05VXtXZllviRjyk1n1bkl1mKcOPXyQ5cnJiqlSsdDHqkqSVudC2pvXM81xNbReLweRQCR0VIVHg3G197AwoUziKNh+box7i0Eb55JhxJr4HMAxZkEUr05y5FTWFGFxycdOjYhcxai4aJxjD45wZIZKECeI1MlG/BU1Pj/W7wC2o8pPK4eAYeBLeAXfiTgDFOf2aD9byGK/BjvtO4tVQ/1RCX1xuRVzl7C593yK+GJ4e68W4M2aczBO55hL9/53yIT20ry5/1hxURjCy09HOPp72J7bgxNgB3zdJKY/iWnRtdEJX8frp1OI3IQkgyFs7MJWNIy7YwHjrrfjgo9iFBCHM7vo6ohCR0t43jUoX/IeOjBVKM5ZTS3ihofgyAA3ByfpFmgpBW42yGAmrzQpSyArl3D5tRCm/wkmPDnHUB8YqWmhN3I6tmNJRL6RVAN7gKVQ2JpMdvDprA9QXGM8L2zZPnZ9947PXL09HsfzH1+RdmS+2rC2bYF27YtkPNlIHXaQy0tD027aDS2dXW1xURFxYA4Dpxz05IJEydOWHJDDFSP2d8qiQ2jOza0/IrCEQrwyO5dNW73NnKEAi5pqAAe2cKMbWxHr4YS6ELcCzq4TTAF0J4W8C1p9mxpTiUaLJsspE1CUU1P0ZjtZzBm2IjcwG/a62UKVINFurNIfSyQS3ExJc+slquUUhS0d8N1+1vNgKOZMw6eOdiWmdkGn2YcY6RKS9IHovbLEkYioiVU+W+3A1/99tWHp0x5+LXLr6En9gUwV2R0siumvAoenTKJPUiSFKXHvvEbwib+G4Qc2g5c76V2DI/n13ovFeRPjGF872UyBjAc33sJHR/D9b2X46/8au8lhzr0y6ZLqiqda7qMd6Omy+Hjv9JqWWmroMAfRlstF00h2ba2EbL5+XEtlng9lQpdglYiiogljAg7Ph590lGEf5OdiT7DEE5GArccJ+YgkEQj0D8e5hkNaVENaGxcjD4iD6j7C5fByHW0FYGK6Gg3in4mAB0tJaFuMVhWHl3NXzp9xkoJuIddRS4QgR0xeTteB1u/OwU3HJGCv6dl2fKmKQsX/TSZ+jr82nA/+UFl4m720kgpeRE6UdBwG+2hmC78URAgNISV8BDlxFToEaFZysS93tV2Zgr881vtTN0ZpikcmobUQSaFcp42zDLCiP1MtexodILeGSibOCrNnCJAVojPC82MOKDHNFWxQEjIzF4boFKAQAKM8tFoO7RSCAFX48NdgLrDggqEOC5epCtQq80lsOGDY2DShR2XMyWuGXf07NYliD3Vafc9/foM9vTZ+B24+0DDxO9gv2ePsZ9MpPvbO7rk8sfaO1byNgBNYv1yWlqu0YoSDq9KzKCt2hNAZdWk2B5nP32iCuzoY6/uWvTHM/PfqJWYNu4qo5L7q9NA2dYZ7Jts0fsnN2vrn8CPQNw4VUE/2AQfFbt5szNMQnp5fYmY8mi6mASh4mNtOnvhJY3VqqGeAAmPRWRjuuAzOMYJhB/6B6eJAT/KdWnCcBmgjJfEjloNA1y/USVUQqO+ehbHiFAVCfBlfBUeWykJQyGh4Ccmb+j5wOOX3kSXGY+UcQ+FtMKfGN0QI5QOioR58ozBXPQ4AI/HlZfn+onCKEIoStDq3J7cvPEYnL96GUf5sqQR9lmjH0NEhQJlUGat0iyumMMnwKSKPjniDtFyeVYMFy/k4VfGvWCHAi0ldND85CFaESBHIMzIxkV1NiKR2XhOW0zVU8W6IvDA388frF7VuYf1tCiNIqvxg6b4KmGJLgD2fXD+MTqT9bG3BVqUVcJS7TaQWqRsKdtw+8shv85yQuf1aUGB1tnfD6LOLsxMkDb89IrO0wIKtc7HHgOS/0wXTVzJfsc+18gOab28D0FSY2Prxl0O4gafLhVqLT9xG94htOFQptfpZHR2xuhClZO4x2ggUYoSXIlW1DWTO0pdr3aiYlPURwqttywphmWF+0QeXPdeLS17li9NTEnm0OGZLDoksCIloNOiYiXCbHHcdFfAgS/MTAO9LLlL7cIhAdqAkDDgVooObl7XHLQtWNApennFYQkV3HLrutfm1MeLXr+pwgdKa+6c9hE72TOygexpmXffZnYLuGVbfbSZ7QUDPTfupYjfrpKovcH7rfql91sd8X7RHik12AMFZRVjDvCz0GrNCQTLyn+bC4wArMZB/mYADHsBPR45rVMa4HCgjMpv3Rnv1ClP6+JJRbxeH39aqxz5VKNcAJ465+gET/12l7kzXn9aqdUqSfh4Ol4vTEwYuYXsOBhnZpewX5MLRh7A+gBAnbsA6oN0Ihva+HqCiUZ064j12YCr41EpPBEqgBtEyJqJWRiQZjT6OC8Pdf4KKIt6PKU3onJCiW41pTb75FmYfQNTe6NwEbJRLWap6PM37gTy2cqWvPzGhtwudvD3Il7VRGDu+x1In1jFOx736cfsHvZ3H38aF61nQwfE4eKV9wBDfQvIhqPnbK6vb2b/9vDv2Lea68kldx5XiNbfpk/LbW5e3dB3SBIwevOnT8/3Gqkjy2+ZO/eW5QuYOy5tmMK2xS8iB5Jt9vJyuy05yZZVAZ9H/Zww1SgIQ9kxwlFAta+GMb4ezs7XcpFKtFdqUd6RT42Rq3g4gwhKhYVLninpWKB2exGlMHZyteYp94f/Fb5/yr7NASvb37h5X7h3SbhzU5j9OPz9Ungdvrx0L/FzDW+HNThveEXNz3tXPKclvx6J0h5ZsfOttyK95dfZirlEENrJDTdIeMkvJbx0VMKjkYRbXb68QEHRmIxDv4NIy3Ln5Afxxf9/MeepfWq+2kTbgcfEp9VCvocPHTeLkudTC9Uen/K3Cngpy8KfJwHRypdHHme/py6SHvAin7+4b/dBHfPbRXzn4k7RaWoFUIkaL19ZwX5JzTnNHKMYigKGokDx+cPVh6/DQ0aYVVYik/ARhcREopVYgefai9mydThwg6qdp42LUFdy8z4djmIl3HMKpSg2rdSlpWeiUStqmIyHkvaioRQBZWp6prOycWqEE01eU4uCrrmyZ8SEsaCo/FeBrngerUml1o9CqQrNcq8MxyopHnSFHT6ZySeTCwxaudelVQsFfBJBIBYAFY3q6dC2psaFdmqST/4KOFY0OAG60tXSmFUfV+Wv1UjiwrT1i0OCjN/NYHd3iCiK/wJ4jlrjOrif/WrS9FnAeoF/J/vJttce3trspY/EVrLD70XxBbGTaphVrgpxHvuJ69fRNpNXVBeJLFvLc++1yhL+DT48BiyNguBnT7QPX4S/BEx7gGJfZD8qFjgSXqcGFgGS3VTYWVyg/JD9hB+dlqSKEej/FkvFRksF7KN/BqqILcjNmZCIIZSYVyJjrKfQYGeSMe+RhiOS0CRjCJxI92AUl7YBhEVAyGVqWigAKrg5ET6dHKDcFUCAEKQlgZfBnkm8xF4qX3jh1BLw9rqnD38B7lx5tbKDPPj8G/tJBsz1fDBEhtvmkf8GopRuNjiyj/3uMfKz43NGPg8oEwAI8ytHHiX9jVeT7n/sS/DwRm6dgigRQfVinE0dlDU/UUM8RTD59sHYBBPcTF2oRKWYCyNAMYvGUA9CDPUQgzJYTiR5MsxsjqgydE5UlqyBj1zLQybGTkQwEqjaJS3MWKSoORbZxx4n48YuYS4OJOJQRAyCKRdI/P6QGvXb0Cp4pE+iOerl4nxo9fPEpbhOkB7M8PlTI+yU0M71+HBLSSpQwEOeW6+Uq1HRKzw03HisGj0WyhUuPsddiQGWoBWgEUejPShazMQ7k5Odzyg0yQkJyZpjtE6rVGp1xyU8o4GmTUlRJzTkuc6+vs4cO81+PzirNgEM94rFvbvF4t3naPocmCSVsofP0coPwKsKBev/QAmP3oBHntMJCadJiUYzYtBQe97Zozh8MVmsiOCgj9OZWYQb2wVNxDRi/aje9OHcYrqdyXIhJzqiRqf/Uo3OGFWjcUiNZtgdHn+gqGzipCl4/ef5oPWpTjHhwGs6De2mSVNaI8525UTcIP9svMbuKiipaLypmiWkQaBNAdJYoDXzFGqu89ciMPicHIa6yzmKpY6qTuSqVACNLwye7kYExdzlm4ZQf+z5CIj+sWHDP9gfP3K0SywZfY0izQsfSZ56fkLp04vmbWssl5R/VjU7a3vRsgeCfbwoCUUZvfWdLZWTA5K79B2BrJsr5R8BdW7jxnPsMHwEM3q7VA73bYmU39/ouGdy88ifWnTLn2skdfdM9rS0saeilIkCIUVJNyya8dYjq9oOKbl6zKeE0/kXCDvRSEwnbkHRtyjo5YWZFjsz04UqueY6mSDiXgFMB54crvNnEoatZ6ZIQ23wqD3MtEsR0AeTGA7NgxM2ZRKUb38uZqtsowclMXkIy5lplw0UFRuxqzutBS6KcsR7H6RDiQR8NsuOJhvTsry41w/rkQjko0utchYAhALCfaE8MFS/SGkjcTdaUJupQO7GaLSoABD5GV6c2I3lQWcii+eN0AUZRomLDHqDfn5D3caWrrnV1rXW6gKN84lA+R53TslDdFycx5P7v2taDve3sRf+6o6Lo/ewnY5iuSE90RdfK51RJ/L37dufszi386m3e0W9b/3pVv9ndUvr671+Mli3tK4OPvc9tHbVnrwcX6ycxP+08cm3VdZ/u/vzx6P27b0rRrS4MT5+SLmpb1/UE2zG3hkZsXwBD/CAAIgkMQme9vtvubctR6XKabv3wb7Ozvq6hQvgU98Cbr6i+KmCXtwTEoR++jvYagyGGRFmhM8d7forx0xvBhw/hY5INqqpAai4Gc4gFzXlcUl7k5NRcklNqNHSpKh/gilBFOlQ86E9OMSLpDGU9IA9240m1Clj0v2h/DRsxEhlCUlavdhXgJejKMiFCOX0oC8nD2U64R7MxPpD8eXwBY2fMdBHVAWFJQj5hSmWMSn+UDZydwjSnOYenXYamnUuHW4JQvOr03to1XXnAcDh4ajHAHCICGAOGXnendmybTKYGHwM4dY8FmSZg6XTrztFoDgdLRgKZzLP3YzQcrgv/r6+8uHqknVzA3sQbs5BsEPLHXxRsR/B4eQ3Na5qarrSsaqxcVUjLxU/XecDIVyCWmIy8TTWdNk4ktgcZqqdqJBiggvlmfKcaB9F+m7KOEPXiXsSmVLO9IFLsE4aaoRHCNFgzHWcipLLajyWoUpUHMl363Cyvo4eNASCUq7gblDgMeWhkslMhIFggRNT3gyXm8/pR4kqqCQz1YEIJXuCzpRxU8XIdyNudtRWFKGKQJWx0GvXQaMo0uyI+vD0HKqmG/mk8MTkdo0CGd0cnadeJBAka3S3+RyN09J6pyULBKJ6tucI29PzOFj8uCdzYux27fbYiZmerqJic44JVBSjYEqy+abK8JHlk0W1FdVUlM8kkbRJqitqRZOXQ1+VXDd16rpyj0kkMkE12GbOyTG3ec0Wf06kZgfhSZwlUqAGdOLeJJ0LIWPBbV7M4XSPds2KE5G882NiVZoUU2aWPTJo0K6FTifmH1H7EMIhwjak0TB4aB3gXtZFzoUWEAvWgtiilsCuU+ve+/G9dUWNxexBqpO7zPYXtxSd2gV2vMB+A2JeIDehqOLa8vK1695ds+bddSO3I0hIEMd+zb2OjmxBeEVeXIw/i/rnKFGeoA9aPxUYSZeCbjH0C2WWLNKGsBmiAKBdSi4zgRxIlAhEoQKLe6wwBp9mkbi0En2OzCQQB578sR3kX/zPqRR6yxn2MvvXJ95h936zBnxwpHVLXbGfbtuVtyI1y3BMJI1RxKc3ZmYeS6Cllvi0tBS1UkGeeJsdeOGc6Y2TJLiy9bvnbs9SJg2yLPsMG+TJAvUac1KbJj6jpmTkDTCsNCqlKp4k01jDasBwWq5ELFFGpST7JKyGs++ITBGfvwyz/5jhGptIzCB6CCbLzuSEGQIZZYow02xnNC64jnDPQCImWjGgl+IwnZ0FrqL8MJPPdd7PcCLjLehEjQUhQSJOXIfyEYFY3cQGpOncdKi0Ge1WzQpUeqx0ufMDDWjhlNKhOAMGINUhayEA4JjhnQl6oYDW4RSrYfRAYAAKXKIEtyePAdEkWqA06DgWIVS3gbwPJcrky3HFEhcBVZLHly8snMBzL65y+qac7B9ZBAxgqckU3AN9saXKpAxPLvjQnpH17s7FviWzA+f4/EUt3oL5ZC/FN5rSXt96R9idkUuSH5CSkW89MTFdDa4GeZyKJMslReYnljbmLpogirlz1qHnrr4IZlH8mbWHyUxgofiVuVNL2F3uByonzKFIe+PmiSZTEbV2XjDvUOPU5fOq8v9kU2vJtoMjS515s9I16jJ5VMz1OTwHUUQ8NKr7CjDomiw8oJeh8Jg+XpwBtR8uRRrTe4mY7JpJ4XScE5HHMk4uamZ0MrlwUxtL8aFypUSk/bKhakuB88TX2fGOhNDpGK9sQKAvRI1WgVx4TwGCX8vGsbRkV84vdVwENAF4XEoORRYvYqHFg0xrvGJNHrUPvRYALqzYbgafAN4+4vFuO76ls9zjv/v4NjJQ3pnjY7YM3X1z7ISHt2/3eEDljLu3tAWNxqDHwx5r23L3jO06Hby+fXsbpojDPI0uoYvqgL5YXISnMcrFCMNMrBOxSSA3hsteizlumlFaCY6zm5JyzxdA9cX/ZQd45oug+sKX8GANe/jyZTDp4sXI82hvDoehlw09pxKinriXGMhBEWoe7orKx/CB1jHkPBuugcrFNVBoroLYnbJgdyphbCurxvCCGC3P60DRPpJnNFnTs+wYLy8B+kiDMbFaHTqpRtuZSi1LwpZERQ5Wt4QiwWJzGYuuh80btQS50gcOGY9bRvD/LzD10NTRY6aCaQw/D8Hm7RI5Pa4JMxcurXo4Hu3zu8SuzMmrpaLXG6/h6TWvxHB6uf4mnnsURQ/D5/UHa2enpui0ertzwdeccfG7wln5XpuJzwsGwKM3QOtBW4Ev4HDz8rjT0dxLlHAztOkqsQ3eQSwFZsyTqTS5XExDODRtidPJxGC9VgRNOSczy874oYJbhuehGtoWHKABFAsh15LByUQePJI7mRlhpgk+SpFwIJCkRIR/iKAfp8Dz2U7kbXmdyOFCTu78MDOf45/nOmwXcdzGy1HPRjVX1ymkB2pqsXqsxwmAPG4SC1EYK0TPQORcfoyw9Uxzy7SZs+ZynFUhVQ5cmAaU4NKkZKPQdkg3H/5AE3LbQp1L4DsWoXZJIhTTAGc+hk/Q8vhEQ1p6RU0zLhAtokPSJHjXLNmAN2+uP0LTjcUBV3oio5+Gsx5BTFThnt2xc7jcSegKeMYJB+rnjSXhPaox4EXj2BFvvGkZkRdkBgqEzcHwjODu3rd27q6Y+mbf7p1QSjKb72l+8yA+3B+evK0lcxSGkeweB8cI5YcMQ/lpacn1I7l4uOLLxCRjRTzbVvEwdw4ejT/45ejJl8gGXQBSyvuQqPWVsx8vCMxdV/JlxdlVjU35fmR3oieBKdCILdJbVjcgU/Q6XZxCWIgWrIvNOJKRiM0bKce9M+ZoJ49xbxs5NYtYeJJRBSPfz2hxB69Rxgjg1CSa/yvuSoRjjxtGNGI3TUJQ3f3d3f3gga5DXV0tjTe16f5+qLv7UPfaP6yFX6OY7r3QXosiSoAURxC1LiYqzOQ4kTK0ulD4PMs5iiwTE2ZiuD5lCw7WIC2V4USFDTYniq1jhKdPoPLD2bREnGDOE/3E+Iee/9p54jh32YnTaSYxSkcPGk0GOdyipIMup1ue8fxL8RemYJynPOlgbp5fnjEAH8dV0MPbx53B98An4lk46SaX+1piDfziCk60OWLQ/iYsQPuZF9kk2qwc7DlHcQ2NjJR+lhDpLRk2hzeyuUG3yTkKhoHMvBRBKkjhubS01GSJdIuSqG9DwceA21oeNvViyeZ7hxa+v6l8W/fmPw9tv7c4ShorjhMq+NX62bvf2Qr+w4b3bDn0ZNyXSezmv34MZAcPfMeenFPtXP/yvsWvPTiVPH7HezvrF4RXvPPI869OiYnX0BZ5TuyljvsXe0EliK7S6W/p6YUi1n/4qwqTaXE3yLh4YKCh5aF/RXBbuVijGseHXXDnqSKGiAEH2neoMOO2IwMgCeG3cD1Jg1ppQAQNAyjC1ZwIO5Gm0mNlZR6zJFCrSFkYgbZG2pZqoEijsp8BrcGKtJMZlawkoZpLJkU2oFDa0EUffYSyO9yoq4kpkw0IpQE84G4HJqAS2nxl2KGlB5TRxdjMsCJtloB5qkJGlA6PT/FfS337vMYxJEG0N5EcfzLUP2REz+jlbp+KUONeUmjzZQEeKiFKIaHdLMzi/R6kPvlXUFR2HPgHb3uF/d+9vexPJ3skAx/eMbm1u5vRFLeXl7dnhm3AdWbZN4cvgyf6L1J7P9JqgeG5W4e2N33xDNnefx7s+D378ZP/HIh5G9T89SEge/W2ziMjO8rZl3gHnlrXzaxl2VmlZfbssuHOb5afYd+0vfk1Wc2/0K/9ECw4cqlx24nO4+x50+3n+9uvz4nGERqoWxzQz0WFlhZcNYNQG5zw5AwCdELlQ3BeOPMO70wo2qDEVLYhJSrAUsejwbVAM45J9DNpNL7AOGSMcjxEwygdDq3DRc9KrJ4tkeLGDGi84fJnePS3nRS7829/23mV3Pk3shsc7dy+7eWnH2cWzK31WCq7yqckWss7PI294XAvdQXft4P36pq5j9qptFc2Pn7EVVlgoA8pDL5c6w31d9XEUaxBK6Eb7kR5HqhyAkjNQCFkAlJksCZi3SPDQJPX7NpC+ME56zV7rFDIw6kgKJC1CCmnEDnwiWW4OiibPiqQaVIs/nIufPmM1mS0unwRFAU9HKqSSjhU5VAZ0wMef5mfK26TRKuJFA3UAtmuXBQICCU64V15NzF2+XgzQ0BuTo/bDjilIIw0wCKdoLcD7JPgggsflsybW739y29bZrI69/U0Ntx96oSkizetsbiu7/srRaakYGHV7OkldbmmoiXLfndTM/jdTYdmrO7aU+xRSg1rDu+RlAV8cVLzXf2nuiaVzJndMD93nmf/KCbGPmGrQMAhoSBkYLkM9xdA74tMBD6EShdLCoMghRQISdzKYQe4GQTxtFLCausyX9K6Hp3RnTZthW/a62ef2ZZg7y/o79/dSTunFdtiFclPNymltDU2Q0wnaBzJs3Jnsh9VUuXzNDXpZnYG21xU7k6z8Y3BwW+BEHjvA/yZJkHB4j/OTaHjc2rnONnDKtVSf795zt7nGrMd0bIPm0br65aBCxiXGvmsLcRAUsSi1o5xtoyhUGvGUKh1ERRqjr/lBpRpIqRNQowuCFPa+N/RpK+3fK9Hib5m1d4MCnqcvRr5LAJop24jdIQJ6mqChiITaUVQc4BhUKK4zcdnwfQmJrFA91BBWktXQp8uzaqjOjSa/Xb35DXxDyVPT766TwdkvFJSOnyC3Q0WkX3w8S9puj7N2sk56X06dHerZn98V4vL3pecfHWvrpxXOPJ/wydIKXs/uZ/rH6fw/uGC+wfquColahC3Yg4Xra61M+IzjIpLxqjEUPWbcwojKKBSLrSsAVxZtJbDAfC4I04FVjoolQ41j1onU2eRJnekL1yJMJr1ZosZeOW6WPLw1NtXMd0PPr/lLrB60+bn7yu4bcWq26cetqWw/XPZFezyuezBFNtuwJO0r9o1C6wypZ34aijNZEob+upEmomXNEcCyOhZu/hr2BPPzuyoWbW1fYtsdlFVjs+XU1U0W7aldPGc2pqOmc+CAk3aCy+kzWOfO9W0869/TNZb/H6LPjmJex555z1QtvqvOzm99SJ1RPAloYD6mUgCAlItTyFRDAiYjUKeWSggzHCRIDwlzcurb7V+oGE+v3PoOT/7vZ899fhr5kAOKDE7l3eYnX6/oJ3d1MRevmf44sL7LIYykN/PExzos4GtxabE4aPLO83e5QsVNKcrqW6oK9XQc6zBVWNZcPwd4yxMG87lDsrENrh3x4VRqDMUH2mDs9FwO4C6TCYbkBtwwiCOZqgIiwaiIsD5fTOJMNUEJPxSw7kQFHAVtnGARErL3AdEe1f8z74ZW2+9dTDJzEsavPXWrf2mKLkqVhuXGd0YFSuNEfKULasc5cC+l72yb9re95b3geCdm8HB8zR9np21+U72xcPz5qdkZSVmqwqkq2Ji6Ohy9rWhbeWj63i+iBB4iHgo+5lEIoFqsREuWgQgNxQHTQFGhrSuzuNS6nhIgFB0B0oQ6jHX6YVJAPFbIyJPpcHD86ESxFTAe+IY71GF+GX22DRtgtXD5vpNGrtfzh57WaxTHhMQhyViyXDvsVP+pDyQk5fkB2+Hw2TLuT/lOJPjvdMXas6NlLCHDx/uO/bmm7x9SzyeJRFuuQjfahKuXKKJgXjMbDdGf+gYXy2j1Hl08Nsw2nrsog0At/PyMY15K/vcyFPssbamtWH+3qupvb28fb29mO0z3NIVhv9WN191IUJbfhSYzvaD6aN1Hfx9gjD83QkEMZ6Pm6fjwV9kUut8BotO2JxLdee2TPZ3D3d3+1sA2Uqen/lxFXusuj+/qSlfoPS3IPiKFn8v+kUEETXGx3CNt4/rpbZD23GMwc9tRxvtf2Hww/9dHgOCCwfw2Be5JofXuDZmjg8uTIWHCfTZUNPym28iYA7gQscdYB+Lv+GfdSPRX7hjXgf8AvtG9s6Dz+HhcMeortonQiYvYobOJvKIB3E8xxweMPNQcMzsF2egPiE73hxkYY5vJ5or+M/HqwkDomB6Bi6Hgzx2R3g0AiPiqHisGuSCK3AN/KDWZE7lIv2h2DhkXiHmBsaLIp1EyJ4B7Y9kvUGD7nDRIYfXf73pBT3kMXJMeIxAsa5lSmVcdMmgHxfvH2WF/d4fH1QERyrhQ7z/e0Ssd/cFEH/h7rsvsJ9fKBsExGBoYw/PUK1JS9Ok2HB/OG9fS1fgBb//hcD/t4rQv7fgijs6GH/8Z9gM1LJFwU1TVk5bC3rXBeTOQDnw2m07hg3soPoUlCshdxUJQ1ad2Vzb4AxZa+ZsAwwVER5Qk1OTF3QDgYCBkZm9K6znxAy6uILJHNJ1smbUYwZ6mg90bro4K+jSHTtGYNnPCDrmW5WdD7yzGXQ4LmilIziQ2HRjGzenszCEFYVYKHZE9/VHdShahBSF/WFouNrmxVjAqK7CqK8nwCzILSMj4ccopy4uYPrvqiEXl4CEkmzMv9esPo66fnqurnp+eg5Mp2M2zC13FdS1Nv51cO9fY2tdwewNt2Q1ufnai1XYhbgZefkt/r2QkZKR6CmXFhFl5uJzYOQpjiwp3VBYCBkzZPx3iy2S7TiwBjBhYJAHn+9vZi5sLgxaVAtqKKmwgzdnMrKBTzuRY4TufgWWV0ygFpOAIquG5GxXqav9nxo72/e4ykjs+Pelr+RIq42QtNHfDxrMTdxqdmfWqNjyiEgY8EhL8LPwinJ2WrIrnpBVYJflMmcMkWTsFZGQOMuoMn/a03RpkbxZJ7L6Mv68MmFlVjKLVq+7ES0sIizIz8nMyc+WoiMGnYfJAJYXpsC8ocygwwDKACLg9eEbxK9tkDm7QQaS1gXOggqwjcoyoLgUtoSsAZMH3yprz4hY/KcAOk0CVMpAL4ZPqg4qZwoqCqpODtTaefFfwaWzGnZMDPl78k2TVFUVFVVVk5jldfz7H3/58rjfV696R2ZFReYOSLnP9V+frZUtCdjesQXNqgiBryDkAzYzxVlUzVRAi5SBnWh20Fnw4JudGIVAG96BCHRfIXg/I4uaujko4IFNI3YWLg5DA2kHGTEx94mZjCKMPrMZBTeGionHxCXKGfuHuIcGpucBE4FOBhubaVhGv6QhsK90vJ2ReaNDmJi1y7+bywv//d7rYVt8tLxelkXK5N8dFsmbH5fmlxjGx/tYcEmXW67bstHeNVjAzzF3zqSEEAMlHkZmDU0VG0t916m/re08/I55GVmw8Ek4+0VcsdXSZubZmu6luSGIhZ8vH3oWLdNDYNnKCSyxORmhK+oYCxkLrHT+Xg86y1j4rx96fw0wjf2PZPvL1ggsdW0ZGITZxOwZgd4VM1cFj8mCdgADvQ1iC4F2Y8Nuq1YHb0RjB9eIDLBmqbqkhI3VTUauIFFzB0Y79QpWDiEeVlZOJkYvv7Nx6bkinPKz/i1rz/9owK/GNinLQIVPg1VaUldSjsUjsiUqyslBj/Gyo5Vk0L+PD63tJbqF/MUUjJSC3T0FOK1sbjd0MyYt1BAvTgn66CBsxs4jxSXNImweY+XN+LclLq4lTo+BAQBViFnvAAAAeNpjYGRgYADiovRLZvH8Nl8Z5DkYQODKnRRvMH1/hc3/j//WcFizvQFyORiYQKIAX2sNeXjaY2BkYGC7/G8JAwMH2/+P/7dzWDMARZABox4ApBAGpAAAAHjaTVQxaBVBEJ29v7d7nmIhgiGFCCFVyiOIxW8NFiI2qU7R5oOtZbCT1L9KkdoiYPGRIBJS/jpY2BzaSEoJKUIKBUk2M2/mbu/DMLszO2/evtn7Femv+EzkPxFN3hGFH9kXT4ncV7Y1NfrF/hX7t+olVy7TP6mtOOx31McFr0nXYcrrAz53llK5z/sXnH9MLjbpOhzxfsbWe7FT27OPtfKKLXlZx13mttA9sE+sX8fWkJP6itJ1/JguPOekH2ybnJybLJWbrKsCfJzUItekqzDPeMVDNamPPyn4GXpQPFSPmm+02t8TfOTMJvv7tj9n/NfgfYcxa+Wn5+ReJePHe+zfp8S8kx/hTI70vtCB7wvt5lRw3Gm/lKDTNmpuCafwh1bLy3wH0afcUjzEGsXr+ZZdXrul5vsY7rpQnWUtuoffFAQPMebm5+Cms6dhNrh/WLEe+4bVisZ87sRmesj8rd5PNSdraFuIHtanVVzgSC+fUrwiJzjSp9zTd4V8l/Ub+m5RLXXFMZtoumFv/Vg5A6NTE0y8szrrIu8FM+XaKtBtzLhTfpif5HXG2q+xWJ210fdmcfs24herYY0Rf0PPyu/2/k/t7JTW4Td0Hx5ljOG9SfwJU5uZfpZnjLvotWOxUQ7aLPAdKt+/mO2Qj89Z35ejunakRZvvjdh/ejDkGsvtjvKjvqKjO8ta+Q+j/4xGefVv1f47nMXqQnXB3IluAP7dou4AeNpjYIACEzzwGSMTYwVTA9Mr5gjmBOZZzKdYeFhsWBawsrFmsR5h42CzY5vFdoLtFbsYexb7EfYHHDEcHziVONs473H5cQtxG3Hv4uHgseC5xivH28b7hE+Pr4ZvCb8Gfwr/Lv4vAiYCuwTOCfwSdBDMEpwnuEnwiuA3oTfCccKThB+JcImYiOaIThBdIvpATEisQlxHvEdil8QdSRnJFMkjUmZSXVLfpKWkV8iwyYTJzJB5IOsnu0D2kJyG3Dz5DPlvCgUKExTuKSooblG8ptSntE7pgtIr5STla8rvVJhUjFQyVOaoXFDNUX2h+ketQ+2e2j91HXUH9TUafBqrNB5psmnKaJZodmiu0JLTCtKapXVL64s2k3ae9gMdB506nRU6T3RDdJN0K3S36P7QO6W/Sv+a/hODEIM+g2uGeoYBhgcMzxn+Mwoy6jO6YsxjrGA8z/ieCZ9Jiskkky2mDKYJpj/MMswmmG0xu2T2w1zKXM/cyTzMPMt8ifkVCzYLLYsVljOsJKyCrDZZ3bPmsG6zcbE5ZStjW2e7xvaFXYu9kn2VA4tDl+MZpyCnR85szmUuUi5PXE1c37kFub1xV3Pf5THHM8pLyivJW8ZHxuear5Fvku8vvxP+agECAQsCvQKPBVkE1QTPCH4XkhKqFDovLCzsVLha+I2IDZEukQ+ikqK2RAfF6MR0xPrFKcX9ij+WsCiRI7EiyS3pU7JG8pNUntSqtKR0q/R1GWUZlzItMpuyuLJcsrZl82T7ZVdl38ipy+XJTcvdlKeRZ5e3BAQBAjvJsQAAAAEAAAEvAIcADgAAAAAAAgABAAIAFgAAAQABJgAAAAB42n2Qy04CQRBFTztoojEsXRAWE/ZOUFRAXQobEY2orEXlEQcGcTQx8QtcuTB+k48v8G+807ZkZGE6PTlVdevWVAPLvOJhMotAQfeHjfIFx3NkCRx7rLPrOEOekeN5nnlyvEDe5By/sWK2HL9TNA3HH2TNo+NPlozr/fLImRcuiBjzwIQBPfrE+AzFtzoDzexxpW8sxVjKY0U97gg5V8ea/rVozw6n7NOmKUrrV2c60jV/pnamaGKnRlL5f9yPaCmTcDrblzK2G4y4n3YElG11KNdreSaarrKhnDt604BNeyuUFFXVt0dN02s0ONSkA1GTk3/3aCvqyDWymt/JdfuKvhwSja9TsrUK26pW9d0Q+5qa7FHmUi5daRPXWF4Tt3t96tviRtWBKsnbhd+FY1J3eNptVgWY5LYV3l9jGM/M3l4uzIxtk7u9XKCcpr2UmVmWNbZubMsnyzs7V2amlJkZUmZmZmbmNmVu2iePvUm/r/PtWrIe6MH/3vMKW2l/V1y2Ml35Pz+c4x4rbGUbGAbw4CNAiCEijDDGBKvYhrWVy1cuxXYchB04GIfgUByGw3EEjsRROBrH4Fgch+NxAk7ESTgZp+BUnIbTcQbOxFm4Gq6Oa+BsnIOd2IV17Ma52IPzcD4uwIW4Jq6Fa+M6uC6uh+vjItwAF+OGuBH24hLcGDfBTXEz3By3wC1xK9wat8FtcTvcHnfAHXEn3Bl3wV1xN9wd98A9cS/cGxwxBBJITJEig8I+zJCjQAmNCvthUMOiwQbm2MQCB3Af3Bf3w/3xADwQD8KD8RA8FA/Dw/EIPBKPwqPxGDwWj8Pj8QQ8EU/CpXgynoKn4ml4Op6BZ+JZeDaeg+fieXg+XoAX4kV4MV6Cl+JleDlegVfiVXg1XoPX4nW4DK/HG/BGvAlvxlvwVrwNb8c78E68C+/Ge/BevA/vxwfwQXwIH8ZH8FF8DB/HJ/BJfAqfxmfwWXwOn8cX8EV8CV/GV/BVfA1fxzfwTXwL38Z38F18D9/HD/BD/Ag/xk/wU/wMP8cv8Ev8Cr/Gb/BbXI7f4ff4A/6IP+HP+Av+ir/h7/gH/ol/4d+4Av9hKwyMsQHzmM8CFrIhi9iIjdmErbJtbI1tZwexHexgdgg7lB3GDmdHsCPZUexodgw7lh3HjmcnsBPZSexkdgo7lZ3GTmdnsDPZWWFTqvWdO3d2665uXe/W3d16brfu6dbzuvX8br2gWy/s1ouW6/re5bpnrycbo6NMNybNeV0PZ3IRa24SP861mLVce/Ze7ItcN0lQyVKo3Cu1lSP3iCUvZOIXTa1EUEtuRDaakposV2lmvYKrfFXwUshcKCNymXRv9f6GG5mMq7ypO0q7784nhSq3XvyM9NrlUcc7ao9kUdmFV1tuvEzm1dg9OobInS7pTS2Np8qpHrtHR/fdae3F3HlIW54k/oZKpPYyXUgvV+UsrJSwjZEBt5aLLMj5Qjd26IKiKQxeIcvGF5kUs4FcyGDp18Dy1BMZt8FU5wldnPOiGuZyam2myqgyOjWyrnf5bZC8QusrD9cj44LmGFfbnbuGvFYTJ9+/RG1kEz0vQxdttSGjWOtZwc2s9khrGpG9srRKl4NYb4Yte1ONmqrXEDTV/xizO5i2TEObNUVcN5XPc2nswNR1wJN9TW3H7jonHqt0VPFKmirnJYVJ8mlYETfdOFpKO85BwSu/zigBw15wUCjhFY2VA9FUZECueeJCyZ2d/oZweKsyXcpx7ytdxcQ8oDSmkqKupjJu9IIyU9uIG6PntRDzyVaciD2kJDp/2kvdBQOh0xGdqANy2uS5b7XO6/HyoC54nkfLoJBslMsNmbdRdTeQpqBWacnzsCU0ledoPrE31XhpflsQvpFVvogSZaRwrkSt2zzOZVg1ManKPOdQWGfNdJrLYd0oK3gtB4m2Xq515bceBHNV0gVBzOuZtKHQReVKsVVOdoZTbeYUolHrOFFjPYh5yiiU9ZwUZiMHZEVJJ+yS5nX32B0WulRWG4+StQid/WRmm8q+CKwhEPr7GypkT+jEWSX8XKeqbNPQsYVuT6JUaboKCh2rXPqxaeosKHhakr30P9dm5lecamnYekT8y+R0SgJSS+VDhok6kJuVpoqmPcEoqQUhilKxVZoVCQcUUG0SJhKfqrOWvioJzZRCWSZtgmOqr3Aquc2kIeeElZt21K2q3PArQ/EIDVkmlxGlerWeK5Whe7i8+7VuysR1NjEb9riLtiAVbOi8KWSwBMmkh7IrodYCV0REdIYshdyu1dPaZrXrQXY85bXt8jdxe5cq97JVfzsnLZSofkrqGH6a61iGqiTpPB9SLzG2UjJqN9SX5PIo5mZ55ODmWYrgZJrrecUNScl8skFQ6JudZxKlh4T4mixOCTIykWWYxITVSm6rK23VdNEnu3sNLQHLSrOaUm9s2jKlNPkpb1I5pKylDU/l2CnuBLd1At3rcMqFdIEeE8imUyUEFbc/58TBhFjrqR0327+/BUgSR63jdGmxxdONAU+IeDHghEMhSuGnblyEidGUgM0hFalx82iSXmWiBI5RNiNB0q7sTEKdTlfVoiXsq6KKICIpBdStc+qaxq9ni0pu3zru4ydEzaNCprxtUe7+JLDU7XIzaSX6+4ws6W91SbpSuCLEcsupuGlMiAPSaD8x1LiHbsyQadQ1VMnnUsU6qPiCGupaT+mzQha4xhLEjaAGMXagL2hQkZlEokGnNoekMo6p8QQ0t3jNRy24W2St9aTezlQR2OKxAwyxCp7I1eVRP4rr1gVJyKc5pzZVGMvMzbcdVyH0ymh4iJkZOWWxIaZs6LbWSLm6JG11AFcIxWqqddqbUkcbM11aPrNydUnum0CL31aTw3xglfM7sJTubOEXmvpMm3saPVFslJy6pjoUNIrKxFVGrqr2IyYq5bxuJxYN6II6SRi78WgWA/rM8Vzhe7GkMutHaGC0u2hIYpfkiyqb9Juz6Qvsv6ZkCG0AALgB/4WwAY0AS7AIUFixAQGOWbFGBitYIbAQWUuwFFJYIbCAWR2wBitcWFmwFCsAAAABWLn3vAAA"},function(e,t){e.exports="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' width='10' height='10'%3E%3Cpolyline points='1.5 3.5 5 7 8.5 3.5' stroke='currentColor' stroke-width='2' fill='transparent' stroke-linecap='round' stroke-linejoin='round' opacity='.5' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E"},function(e,t){e.exports=function(e){var t="undefined"!=typeof window&&window.location;if(!t)throw new Error("fixUrls requires window.location");if(!e||"string"!=typeof e)return e;var n=t.protocol+"//"+t.host,r=n+t.pathname.replace(/\/[^\/]*$/,"/");return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,(function(e,t){var i,o=t.trim().replace(/^"(.*)"$/,(function(e,t){return t})).replace(/^'(.*)'$/,(function(e,t){return t}));return/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(o)?e:(i=0===o.indexOf("//")?o:0===o.indexOf("/")?n+o:r+o.replace(/^\.\//,""),"url("+JSON.stringify(i)+")")}))}},function(e,t){!function(e){"use strict";var t=["sanitize","whiteList","sanitizeFn"],n=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],r={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},i=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,o=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;function a(t,r){var a=t.nodeName.toLowerCase();if(-1!==e.inArray(a,r))return-1===e.inArray(a,n)||Boolean(t.nodeValue.match(i)||t.nodeValue.match(o));for(var s=e(r).filter((function(e,t){return t instanceof RegExp})),l=0,c=s.length;l<c;l++)if(a.match(s[l]))return!0;return!1}function s(t,n,r){if(0===t.length)return t;if(r&&"function"==typeof r)return r(t);if(!document.implementation||!document.implementation.createHTMLDocument)return t;var i=document.implementation.createHTMLDocument("sanitization");i.body.innerHTML=t;for(var o=e.map(n,(function(e,t){return t})),s=e(i.body).find("*"),l=0,c=s.length;l<c;l++){var u=s[l],d=u.nodeName.toLowerCase();if(-1!==e.inArray(d,o))for(var p=e.map(u.attributes,(function(e){return e})),f=[].concat(n["*"]||[],n[d]||[]),h=0,g=p.length;h<g;h++)a(p[h],f)||u.removeAttribute(p[h].nodeName);else u.parentNode.removeChild(u)}return i.body.innerHTML}var l=function(e,t){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",e,t)};l.VERSION="3.4.1",l.TRANSITION_DURATION=150,l.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0},sanitize:!0,sanitizeFn:null,whiteList:r},l.prototype.init=function(t,n,r){if(this.enabled=!0,this.type=t,this.$element=e(n),this.options=this.getOptions(r),this.$viewport=this.options.viewport&&e(document).find(e.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var i=this.options.trigger.split(" "),o=i.length;o--;){var a=i[o];if("click"==a)this.$element.on("click."+this.type,this.options.selector,e.proxy(this.toggle,this));else if("manual"!=a){var s="hover"==a?"mouseenter":"focusin",l="hover"==a?"mouseleave":"focusout";this.$element.on(s+"."+this.type,this.options.selector,e.proxy(this.enter,this)),this.$element.on(l+"."+this.type,this.options.selector,e.proxy(this.leave,this))}}this.options.selector?this._options=e.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},l.prototype.getDefaults=function(){return l.DEFAULTS},l.prototype.getOptions=function(n){var r=this.$element.data();for(var i in r)r.hasOwnProperty(i)&&-1!==e.inArray(i,t)&&delete r[i];return(n=e.extend({},this.getDefaults(),r,n)).delay&&"number"==typeof n.delay&&(n.delay={show:n.delay,hide:n.delay}),n.sanitize&&(n.template=s(n.template,n.whiteList,n.sanitizeFn)),n},l.prototype.getDelegateOptions=function(){var t={},n=this.getDefaults();return this._options&&e.each(this._options,(function(e,r){n[e]!=r&&(t[e]=r)})),t},l.prototype.enter=function(t){var n=t instanceof this.constructor?t:e(t.currentTarget).data("bs."+this.type);if(n||(n=new this.constructor(t.currentTarget,this.getDelegateOptions()),e(t.currentTarget).data("bs."+this.type,n)),t instanceof e.Event&&(n.inState["focusin"==t.type?"focus":"hover"]=!0),n.tip().hasClass("in")||"in"==n.hoverState)n.hoverState="in";else{if(clearTimeout(n.timeout),n.hoverState="in",!n.options.delay||!n.options.delay.show)return n.show();n.timeout=setTimeout((function(){"in"==n.hoverState&&n.show()}),n.options.delay.show)}},l.prototype.isInStateTrue=function(){for(var e in this.inState)if(this.inState[e])return!0;return!1},l.prototype.leave=function(t){var n=t instanceof this.constructor?t:e(t.currentTarget).data("bs."+this.type);if(n||(n=new this.constructor(t.currentTarget,this.getDelegateOptions()),e(t.currentTarget).data("bs."+this.type,n)),t instanceof e.Event&&(n.inState["focusout"==t.type?"focus":"hover"]=!1),!n.isInStateTrue()){if(clearTimeout(n.timeout),n.hoverState="out",!n.options.delay||!n.options.delay.hide)return n.hide();n.timeout=setTimeout((function(){"out"==n.hoverState&&n.hide()}),n.options.delay.hide)}},l.prototype.show=function(){var t=e.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(t);var n=e.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(t.isDefaultPrevented()||!n)return;var r=this,i=this.tip(),o=this.getUID(this.type);this.setContent(),i.attr("id",o),this.$element.attr("aria-describedby",o),this.options.animation&&i.addClass("fade");var a="function"==typeof this.options.placement?this.options.placement.call(this,i[0],this.$element[0]):this.options.placement,s=/\s?auto?\s?/i,c=s.test(a);c&&(a=a.replace(s,"")||"top"),i.detach().css({top:0,left:0,display:"block"}).addClass(a).data("bs."+this.type,this),this.options.container?i.appendTo(e(document).find(this.options.container)):i.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var u=this.getPosition(),d=i[0].offsetWidth,p=i[0].offsetHeight;if(c){var f=a,h=this.getPosition(this.$viewport);a="bottom"==a&&u.bottom+p>h.bottom?"top":"top"==a&&u.top-p<h.top?"bottom":"right"==a&&u.right+d>h.width?"left":"left"==a&&u.left-d<h.left?"right":a,i.removeClass(f).addClass(a)}var g=this.getCalculatedOffset(a,u,d,p);this.applyPlacement(g,a);var m=function(){var e=r.hoverState;r.$element.trigger("shown.bs."+r.type),r.hoverState=null,"out"==e&&r.leave(r)};e.support.transition&&this.$tip.hasClass("fade")?i.one("bsTransitionEnd",m).emulateTransitionEnd(l.TRANSITION_DURATION):m()}},l.prototype.applyPlacement=function(t,n){var r=this.tip(),i=r[0].offsetWidth,o=r[0].offsetHeight,a=parseInt(r.css("margin-top"),10),s=parseInt(r.css("margin-left"),10);isNaN(a)&&(a=0),isNaN(s)&&(s=0),t.top+=a,t.left+=s,e.offset.setOffset(r[0],e.extend({using:function(e){r.css({top:Math.round(e.top),left:Math.round(e.left)})}},t),0),r.addClass("in");var l=r[0].offsetWidth,c=r[0].offsetHeight;"top"==n&&c!=o&&(t.top=t.top+o-c);var u=this.getViewportAdjustedDelta(n,t,l,c);u.left?t.left+=u.left:t.top+=u.top;var d=/top|bottom/.test(n),p=d?2*u.left-i+l:2*u.top-o+c,f=d?"offsetWidth":"offsetHeight";r.offset(t),this.replaceArrow(p,r[0][f],d)},l.prototype.replaceArrow=function(e,t,n){this.arrow().css(n?"left":"top",50*(1-e/t)+"%").css(n?"top":"left","")},l.prototype.setContent=function(){var e=this.tip(),t=this.getTitle();this.options.html?(this.options.sanitize&&(t=s(t,this.options.whiteList,this.options.sanitizeFn)),e.find(".tooltip-inner").html(t)):e.find(".tooltip-inner").text(t),e.removeClass("fade in top bottom left right")},l.prototype.hide=function(t){var n=this,r=e(this.$tip),i=e.Event("hide.bs."+this.type);function o(){"in"!=n.hoverState&&r.detach(),n.$element&&n.$element.removeAttr("aria-describedby").trigger("hidden.bs."+n.type),t&&t()}if(this.$element.trigger(i),!i.isDefaultPrevented())return r.removeClass("in"),e.support.transition&&r.hasClass("fade")?r.one("bsTransitionEnd",o).emulateTransitionEnd(l.TRANSITION_DURATION):o(),this.hoverState=null,this},l.prototype.fixTitle=function(){var e=this.$element;(e.attr("title")||"string"!=typeof e.attr("data-original-title"))&&e.attr("data-original-title",e.attr("title")||"").attr("title","")},l.prototype.hasContent=function(){return this.getTitle()},l.prototype.getPosition=function(t){var n=(t=t||this.$element)[0],r="BODY"==n.tagName,i=n.getBoundingClientRect();null==i.width&&(i=e.extend({},i,{width:i.right-i.left,height:i.bottom-i.top}));var o=window.SVGElement&&n instanceof window.SVGElement,a=r?{top:0,left:0}:o?null:t.offset(),s={scroll:r?document.documentElement.scrollTop||document.body.scrollTop:t.scrollTop()},l=r?{width:e(window).width(),height:e(window).height()}:null;return e.extend({},i,s,l,a)},l.prototype.getCalculatedOffset=function(e,t,n,r){return"bottom"==e?{top:t.top+t.height,left:t.left+t.width/2-n/2}:"top"==e?{top:t.top-r,left:t.left+t.width/2-n/2}:"left"==e?{top:t.top+t.height/2-r/2,left:t.left-n}:{top:t.top+t.height/2-r/2,left:t.left+t.width}},l.prototype.getViewportAdjustedDelta=function(e,t,n,r){var i={top:0,left:0};if(!this.$viewport)return i;var o=this.options.viewport&&this.options.viewport.padding||0,a=this.getPosition(this.$viewport);if(/right|left/.test(e)){var s=t.top-o-a.scroll,l=t.top+o-a.scroll+r;s<a.top?i.top=a.top-s:l>a.top+a.height&&(i.top=a.top+a.height-l)}else{var c=t.left-o,u=t.left+o+n;c<a.left?i.left=a.left-c:u>a.right&&(i.left=a.left+a.width-u)}return i},l.prototype.getTitle=function(){var e=this.$element,t=this.options;return e.attr("data-original-title")||("function"==typeof t.title?t.title.call(e[0]):t.title)},l.prototype.getUID=function(e){do{e+=~~(1e6*Math.random())}while(document.getElementById(e));return e},l.prototype.tip=function(){if(!this.$tip&&(this.$tip=e(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},l.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},l.prototype.enable=function(){this.enabled=!0},l.prototype.disable=function(){this.enabled=!1},l.prototype.toggleEnabled=function(){this.enabled=!this.enabled},l.prototype.toggle=function(t){var n=this;t&&((n=e(t.currentTarget).data("bs."+this.type))||(n=new this.constructor(t.currentTarget,this.getDelegateOptions()),e(t.currentTarget).data("bs."+this.type,n))),t?(n.inState.click=!n.inState.click,n.isInStateTrue()?n.enter(n):n.leave(n)):n.tip().hasClass("in")?n.leave(n):n.enter(n)},l.prototype.destroy=function(){var e=this;clearTimeout(this.timeout),this.hide((function(){e.$element.off("."+e.type).removeData("bs."+e.type),e.$tip&&e.$tip.detach(),e.$tip=null,e.$arrow=null,e.$viewport=null,e.$element=null}))},l.prototype.sanitizeHtml=function(e){return s(e,this.options.whiteList,this.options.sanitizeFn)};var c=e.fn.tooltip;e.fn.tooltip=function(t){return this.each((function(){var n=e(this),r=n.data("bs.tooltip"),i="object"==typeof t&&t;!r&&/destroy|hide/.test(t)||(r||n.data("bs.tooltip",r=new l(this,i)),"string"==typeof t&&r[t]())}))},e.fn.tooltip.Constructor=l,e.fn.tooltip.noConflict=function(){return e.fn.tooltip=c,this}}(jQuery)},function(e,t){!function(e){"use strict";var t=function(e,t){this.init("popover",e,t)};if(!e.fn.tooltip)throw new Error("Popover requires tooltip.js");t.VERSION="3.4.1",t.DEFAULTS=e.extend({},e.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),(t.prototype=e.extend({},e.fn.tooltip.Constructor.prototype)).constructor=t,t.prototype.getDefaults=function(){return t.DEFAULTS},t.prototype.setContent=function(){var e=this.tip(),t=this.getTitle(),n=this.getContent();if(this.options.html){var r=typeof n;this.options.sanitize&&(t=this.sanitizeHtml(t),"string"===r&&(n=this.sanitizeHtml(n))),e.find(".popover-title").html(t),e.find(".popover-content").children().detach().end()["string"===r?"html":"append"](n)}else e.find(".popover-title").text(t),e.find(".popover-content").children().detach().end().text(n);e.removeClass("fade top bottom left right in"),e.find(".popover-title").html()||e.find(".popover-title").hide()},t.prototype.hasContent=function(){return this.getTitle()||this.getContent()},t.prototype.getContent=function(){var e=this.$element,t=this.options;return e.attr("data-content")||("function"==typeof t.content?t.content.call(e[0]):t.content)},t.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var n=e.fn.popover;e.fn.popover=function(n){return this.each((function(){var r=e(this),i=r.data("bs.popover"),o="object"==typeof n&&n;!i&&/destroy|hide/.test(n)||(i||r.data("bs.popover",i=new t(this,o)),"string"==typeof n&&i[n]())}))},e.fn.popover.Constructor=t,e.fn.popover.noConflict=function(){return e.fn.popover=n,this}}(jQuery)},function(e,t,n){"use strict";n.r(t);var r=n(133);for(var i in r)["default","core"].indexOf(i)<0&&function(e){n.d(t,e,(function(){return r[e]}))}(i);var o=n(114);n.d(t,"watchDigests",(function(){return o.b})),n.d(t,"getLocals",(function(){return o.a}));var a=n(55);n.d(t,"getNg1ViewConfigFactory",(function(){return a.b})),n.d(t,"ng1ViewsBuilder",(function(){return a.c})),n.d(t,"Ng1ViewConfig",(function(){return a.a}));var s=n(112);n.d(t,"StateProvider",(function(){return s.a}));var l=n(113);n.d(t,"UrlRouterProvider",(function(){return l.a}));n(220),n(221),n(222),n(223),n(224);var c=n(2);for(var i in n.d(t,"core",(function(){return c})),c)["default","core","watchDigests","getLocals","getNg1ViewConfigFactory","ng1ViewsBuilder","Ng1ViewConfig","StateProvider","UrlRouterProvider"].indexOf(i)<0&&function(e){n.d(t,e,(function(){return c[e]}))}(i);t.default="ui.router"},function(e,t){},function(e,t,n){"use strict";var r,i,o,a=n(12),s=n(2);function l(e){var t=e.match(/^\s*({[^}]*})\s*$/);t&&(e="("+t[1]+")");var n=e.replace(/\n/g," ").match(/^\s*([^(]*?)\s*(\((.*)\))?\s*$/);if(!n||4!==n.length)throw new Error("Invalid state ref '"+e+"'");return{state:n[1]||null,paramExpr:n[3]||null}}function c(e){var t=e.parent().inheritedData("$uiView"),n=Object(s.parse)("$cfg.path")(t);return n?Object(s.tail)(n).state.name:void 0}function u(e,t,n){var r=n.uiState||e.current.name,i=Object(s.extend)(function(e,t){return{relative:c(e)||t.$current,inherit:!0,source:"sref"}}(t,e),n.uiStateOpts||{}),o=e.href(r,n.uiStateParams,i);return{uiState:r,uiStateParams:n.uiStateParams,uiStateOpts:i,href:o}}function d(e){var t="[object SVGAnimatedString]"===Object.prototype.toString.call(e.prop("href")),n="FORM"===e[0].nodeName;return{attr:n?"action":t?"xlink:href":"href",isAnchor:"A"===e.prop("tagName").toUpperCase(),clickable:!n}}function p(e,t,n,r,i){return function(o){var a=o.which||o.button,s=i();if(!(a>1||o.ctrlKey||o.metaKey||o.shiftKey||o.altKey||e.attr("target"))){var l=n((function(){e.attr("disabled")||t.go(s.uiState,s.uiStateParams,s.uiStateOpts)}));o.preventDefault();var c=r.isAnchor&&!s.href?1:0;o.preventDefault=function(){c--<=0&&n.cancel(l)}}}}function f(e,t,n,r){var i;r&&(i=r.events),Object(s.isArray)(i)||(i=["click"]);for(var o=e.on?"on":"bind",a=0,l=i;a<l.length;a++){var c=l[a];e[o](c,n)}t.$on("$destroy",(function(){for(var t=e.off?"off":"unbind",r=0,o=i;r<o.length;r++){var a=o[r];e[t](a,n)}}))}r=["$uiRouter","$timeout",function(e,t){var n=e.stateService;return{restrict:"A",require:["?^uiSrefActive","?^uiSrefActiveEq"],link:function(r,i,o,a){var c=d(i),h=a[1]||a[0],g=null,m={},v=function(){return u(n,i,m)},b=l(o.uiSref);function y(){var e=v();g&&g(),h&&(g=h.$$addStateInfo(e.uiState,e.uiStateParams)),null!=e.href&&o.$set(c.attr,e.href)}if(m.uiState=b.state,m.uiStateOpts=o.uiSrefOpts?r.$eval(o.uiSrefOpts):{},b.paramExpr&&(r.$watch(b.paramExpr,(function(e){m.uiStateParams=Object(s.extend)({},e),y()}),!0),m.uiStateParams=Object(s.extend)({},r.$eval(b.paramExpr))),y(),r.$on("$destroy",e.stateRegistry.onStatesChanged(y)),r.$on("$destroy",e.transitionService.onSuccess({},y)),c.clickable){var x=p(i,n,t,c,v);f(i,r,x,m.uiStateOpts)}}}}],i=["$uiRouter","$timeout",function(e,t){var n=e.stateService;return{restrict:"A",require:["?^uiSrefActive","?^uiSrefActiveEq"],link:function(r,i,o,a){var l,c=d(i),h=a[1]||a[0],g=null,m={},v=function(){return u(n,i,m)},b=["uiState","uiStateParams","uiStateOpts"],y=b.reduce((function(e,t){return e[t]=s.noop,e}),{});function x(){var e=v();g&&g(),h&&(g=h.$$addStateInfo(e.uiState,e.uiStateParams)),null!=e.href&&o.$set(c.attr,e.href)}b.forEach((function(e){m[e]=o[e]?r.$eval(o[e]):null,o.$observe(e,(function(t){y[e](),y[e]=r.$watch(t,(function(t){m[e]=t,x()}),!0)}))})),x(),r.$on("$destroy",e.stateRegistry.onStatesChanged(x)),r.$on("$destroy",e.transitionService.onSuccess({},x)),c.clickable&&(l=p(i,n,t,c,v),f(i,r,l,m.uiStateOpts))}}}],o=["$state","$stateParams","$interpolate","$uiRouter",function(e,t,n,r){return{restrict:"A",controller:["$scope","$element","$attrs",function(t,i,o){var a,u,d,p,f,h=[];a=n(o.uiSrefActiveEq||"",!1)(t);try{u=t.$eval(o.uiSrefActive)}catch(e){}function g(e){e.promise.then(y,s.noop)}function m(){v(u)}function v(e){Object(s.isObject)(e)&&(h=[],Object(s.forEach)(e,(function(e,n){var r=function(e,n){var r=l(e);b(r.state,t.$eval(r.paramExpr),n)};Object(s.isString)(e)?r(e,n):Object(s.isArray)(e)&&Object(s.forEach)(e,(function(e){r(e,n)}))})))}function b(t,n,r){var o={state:e.get(t,c(i))||{name:t},params:n,activeClass:r};return h.push(o),function(){Object(s.removeFrom)(h)(o)}}function y(){var n=function(e){return e.split(/\s/).filter(s.identity)},r=function(e){return e.map((function(e){return e.activeClass})).map(n).reduce(s.unnestR,[])},o=r(h).concat(n(a)).reduce(s.uniqR,[]),l=r(h.filter((function(t){return e.includes(t.state.name,t.params)}))),c=!!h.filter((function(t){return e.is(t.state.name,t.params)})).length?n(a):[],u=l.concat(c).reduce(s.uniqR,[]),d=o.filter((function(e){return!Object(s.inArray)(u,e)}));t.$evalAsync((function(){u.forEach((function(e){return i.addClass(e)})),d.forEach((function(e){return i.removeClass(e)}))}))}v(u=u||n(o.uiSrefActive||"",!1)(t)),this.$$addStateInfo=function(e,t){if(!(Object(s.isObject)(u)&&h.length>0)){var n=b(e,t,u);return y(),n}},t.$on("$destroy",(d=r.stateRegistry.onStatesChanged(m),p=r.transitionService.onStart({},g),f=t.$on("$stateChangeSuccess",y),function(){d(),p(),f()})),r.globals.transition&&g(r.globals.transition),y()}]}}],a.a.module("ui.router.state").directive("uiSref",r).directive("uiSrefActive",o).directive("uiSrefActiveEq",o).directive("uiState",i)},function(e,t,n){"use strict";var r=n(12);function i(e){var t=function(t,n,r){return e.is(t,n,r)};return t.$stateful=!0,t}function o(e){var t=function(t,n,r){return e.includes(t,n,r)};return t.$stateful=!0,t}i.$inject=["$state"],o.$inject=["$state"],r.a.module("ui.router.state").filter("isState",i).filter("includedByState",o)},function(e,t,n){"use strict";var r,i=n(2),o=n(12),a=n(114),s=n(55);function l(e,t,n,r,s){var l=Object(i.parse)("viewDecl.controllerAs"),c=Object(i.parse)("viewDecl.resolveAs");return{restrict:"ECA",priority:-400,compile:function(r){var u=r.html();return r.empty(),function(r,p){var f=p.data("$uiView");if(!f)return p.html(u),void e(p.contents())(r);var h=f.$cfg||{viewDecl:{},getTemplate:i.noop},g=h.path&&new i.ResolveContext(h.path);p.html(h.getTemplate(p,g)||u),i.trace.traceUIViewFill(f.$uiView,p.html());var m=e(p.contents()),v=h.controller,b=l(h),y=c(h),x=g&&Object(a.a)(g);if(r[y]=x,v){var w=t(v,Object(i.extend)({},x,{$scope:r,$element:p}));b&&(r[b]=w,r[b][y]=x),p.data("$ngControllerController",w),p.children().data("$ngControllerController",w),d(s,n,w,r,h)}if(Object(i.isString)(h.component))var k=Object(i.kebobString)(h.component),A=new RegExp("^(x-|data-)?"+k+"$","i"),E=r.$watch((function(){var e=[].slice.call(p[0].children).filter((function(e){return e&&e.tagName&&A.exec(e.tagName)}));return e&&o.a.element(e).data("$"+h.component+"Controller")}),(function(e){e&&(d(s,n,e,r,h),E())}));m(r)}}}}r=["$view","$animate","$uiViewScroll","$interpolate","$q",function(e,t,n,r,a){var l={$cfg:{viewDecl:{$context:e._pluginapi._rootViewContext()}},$uiView:{}},c={count:0,restrict:"ECA",terminal:!0,priority:400,transclude:"element",compile:function(u,d,p){return function(u,d,f){var h,g,m,v,b=f.onload||"",y=f.autoscroll,x={enter:function(e,n,r){o.a.version.minor>2?t.enter(e,null,n).then(r):t.enter(e,null,n,r)},leave:function(e,n){o.a.version.minor>2?t.leave(e).then(n):t.leave(e,n)}},w=d.inheritedData("$uiView")||l,k=r(f.uiView||f.name||"")(u)||"$default",A={$type:"ng1",id:c.count++,name:k,fqn:w.$uiView.fqn?w.$uiView.fqn+"."+k:k,config:null,configUpdated:function(e){if(e&&!(e instanceof s.a))return;if(t=v,n=e,t===n)return;var t,n;i.trace.traceUIViewConfigUpdated(A,e&&e.viewDecl&&e.viewDecl.$context),v=e,S(e)},get creationContext(){var e=Object(i.parse)("$cfg.viewDecl.$context")(w),t=Object(i.parse)("$uiView.creationContext")(w);return e||t}};i.trace.traceUIViewEvent("Linking",A),d.data("$uiView",{$uiView:A}),S();var E=e.registerUIView(A);function S(e){var t=u.$new(),r=a.defer(),o=a.defer(),s={$cfg:e,$uiView:A},l={$animEnter:r.promise,$animLeave:o.promise,$$animLeave:o};t.$emit("$viewContentLoading",k);var c=p(t,(function(e){e.data("$uiViewAnim",l),e.data("$uiView",s),x.enter(e,d,(function(){r.resolve(),m&&m.$emit("$viewContentAnimationEnded"),(Object(i.isDefined)(y)&&!y||u.$eval(y))&&n(e)})),function(){if(h&&(i.trace.traceUIViewEvent("Removing (previous) el",h.data("$uiView")),h.remove(),h=null),m&&(i.trace.traceUIViewEvent("Destroying scope",A),m.$destroy(),m=null),g){var e=g.data("$uiViewAnim");i.trace.traceUIViewEvent("Animate out",e),x.leave(g,(function(){e.$$animLeave.resolve(),h=null})),h=g,g=null}}()}));g=c,(m=t).$emit("$viewContentLoaded",e||v),m.$eval(b)}u.$on("$destroy",(function(){i.trace.traceUIViewEvent("Destroying/Unregistering",A),E()}))}}};return c}],l.$inject=["$compile","$controller","$transitions","$view","$q"];var c="function"==typeof o.a.module("ui.router").component,u=0;function d(e,t,n,r,o){!Object(i.isFunction)(n.$onInit)||(o.viewDecl.component||o.viewDecl.componentProvider)&&c||n.$onInit();var a=Object(i.tail)(o.path).state.self,s={bind:n};if(Object(i.isFunction)(n.uiOnParamsChanged)){var l=new i.ResolveContext(o.path).getResolvable("$transition$").data;r.$on("$destroy",t.onSuccess({},(function(e){if(e!==l&&-1===e.exiting().indexOf(a)){var t=e.params("to"),r=e.params("from"),o=function(e){return e.paramSchema},s=e.treeChanges("to").map(o).reduce(i.unnestR,[]),c=e.treeChanges("from").map(o).reduce(i.unnestR,[]),u=s.filter((function(e){var n=c.indexOf(e);return-1===n||!c[n].type.equals(t[e.id],r[e.id])}));if(u.length){var d=u.map((function(e){return e.id})),p=Object(i.filter)(t,(function(e,t){return-1!==d.indexOf(t)}));n.uiOnParamsChanged(p,e)}}}),s))}if(Object(i.isFunction)(n.uiCanExit)){var d=u++,p=function(e){return!!e&&(e._uiCanExitIds&&!0===e._uiCanExitIds[d]||p(e.redirectedFrom()))},f={exiting:a.name};r.$on("$destroy",t.onBefore(f,(function(t){var r,i=t._uiCanExitIds=t._uiCanExitIds||{};return p(t)||(r=e.when(n.uiCanExit(t))).then((function(e){return i[d]=!1!==e})),r}),s))}}o.a.module("ui.router.state").directive("uiView",r),o.a.module("ui.router.state").directive("uiView",l)},function(e,t,n){"use strict";n(12).a.module("ui.router.state").provider("$uiViewScroll",(function(){var e=!1;this.useAnchorScroll=function(){e=!0},this.$get=["$anchorScroll","$timeout",function(t,n){return e?t:function(e){return n((function(){e[0].scrollIntoView()}),0,!1)}}]}))},function(e,t,n){n(226),e.exports="ngRoute"},function(e,t){ +!function(e){"use strict";var t={objectMaxDepth:5,urlErrorParamsEnabled:!0};function n(e){if(!L(e))return t;z(e.objectMaxDepth)&&(t.objectMaxDepth=r(e.objectMaxDepth)?e.objectMaxDepth:NaN),z(e.urlErrorParamsEnabled)&&Z(e.urlErrorParamsEnabled)&&(t.urlErrorParamsEnabled=e.urlErrorParamsEnabled)}function r(e){return q(e)&&e>0}function i(e,n){n=n||Error;var r="https://errors.angularjs.org/1.8.2/",i=r.replace(".","\\.")+"[\\s\\S]*",o=new RegExp(i,"g");return function(){var i,a,s=arguments[0],l=arguments[1],c="["+(e?e+":":"")+s+"] ",u=de(arguments,2).map((function(e){return Ve(e,t.objectMaxDepth)}));if(c+=l.replace(/\{\d+\}/g,(function(e){var t=+e.slice(1,-1);return t<u.length?u[t].replace(o,""):e})),c+="\n"+r+(e?e+"/":"")+s,t.urlErrorParamsEnabled)for(a=0,i="?";a<u.length;a++,i="&")c+=i+"p"+a+"="+encodeURIComponent(u[a]);return new n(c)}}var o,a,s,l,c=/^\/(.+)\/([a-z]*)$/,u=Object.prototype.hasOwnProperty,d=function(e){return F(e)?e.toLowerCase():e},p=function(e){return F(e)?e.toUpperCase():e},f=[].slice,h=[].splice,g=[].push,m=Object.prototype.toString,v=Object.getPrototypeOf,b=i("ng"),y=e.angular||(e.angular={}),x=0;function w(e){if(null==e||Y(e))return!1;if(U(e)||F(e)||a&&e instanceof a)return!0;var t="length"in Object(e)&&e.length;return q(t)&&(t>=0&&t-1 in e||"function"==typeof e.item)}function k(e,t,n){var r,i;if(e)if(G(e))for(r in e)"prototype"!==r&&"length"!==r&&"name"!==r&&e.hasOwnProperty(r)&&t.call(n,e[r],r,e);else if(U(e)||w(e)){var o="object"!=typeof e;for(r=0,i=e.length;r<i;r++)(o||r in e)&&t.call(n,e[r],r,e)}else if(e.forEach&&e.forEach!==k)e.forEach(t,n,e);else if(B(e))for(r in e)t.call(n,e[r],r,e);else if("function"==typeof e.hasOwnProperty)for(r in e)e.hasOwnProperty(r)&&t.call(n,e[r],r,e);else for(r in e)u.call(e,r)&&t.call(n,e[r],r,e);return e}function A(e,t,n){for(var r=Object.keys(e).sort(),i=0;i<r.length;i++)t.call(n,e[r[i]],r[i]);return r}function E(e){return function(t,n){e(n,t)}}function S(){return++x}function $(e,t){t?e.$$hashKey=t:delete e.$$hashKey}function C(e,t,n){for(var r=e.$$hashKey,i=0,o=t.length;i<o;++i){var a=t[i];if(L(a)||G(a))for(var s=Object.keys(a),l=0,c=s.length;l<c;l++){var u=s[l],d=a[u];n&&L(d)?V(d)?e[u]=new Date(d.valueOf()):W(d)?e[u]=new RegExp(d):d.nodeName?e[u]=d.cloneNode(!0):te(d)?e[u]=d.clone():"__proto__"!==u&&(L(e[u])||(e[u]=U(d)?[]:{}),C(e[u],[d],!0)):e[u]=d}}return $(e,r),e}function _(e){return C(e,f.call(arguments,1),!1)}function O(e){return C(e,f.call(arguments,1),!0)}function T(e){return parseInt(e,10)}o=e.document.documentMode;var j=Number.isNaN||function(e){return e!=e};function P(e,t){return _(Object.create(e),t)}function D(){}function R(e){return e}function I(e){return function(){return e}}function N(e){return G(e.toString)&&e.toString!==m}function M(e){return void 0===e}function z(e){return void 0!==e}function L(e){return null!==e&&"object"==typeof e}function B(e){return null!==e&&"object"==typeof e&&!v(e)}function F(e){return"string"==typeof e}function q(e){return"number"==typeof e}function V(e){return"[object Date]"===m.call(e)}function U(e){return Array.isArray(e)||e instanceof Array}function H(e){switch(m.call(e)){case"[object Error]":case"[object Exception]":case"[object DOMException]":return!0;default:return e instanceof Error}}function G(e){return"function"==typeof e}function W(e){return"[object RegExp]"===m.call(e)}function Y(e){return e&&e.window===e}function X(e){return e&&e.$evalAsync&&e.$watch}function Z(e){return"boolean"==typeof e}function Q(e){return e&&G(e.then)}D.$inject=[],R.$inject=[];var J=/^\[object (?:Uint8|Uint8Clamped|Uint16|Uint32|Int8|Int16|Int32|Float32|Float64)Array]$/;var K=function(e){return F(e)?e.trim():e},ee=function(e){return e.replace(/([-()[\]{}+?*.$^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")};function te(e){return!(!e||!(e.nodeName||e.prop&&e.attr&&e.find))}function ne(e){return d(e.nodeName||e[0]&&e[0].nodeName)}function re(e,t){return-1!==Array.prototype.indexOf.call(e,t)}function ie(e,t){var n=e.indexOf(t);return n>=0&&e.splice(n,1),n}function oe(e,t,n){var i,o,a=[],s=[];if(n=r(n)?n:NaN,t){if((o=t)&&q(o.length)&&J.test(m.call(o))||(i=t,"[object ArrayBuffer]"===m.call(i)))throw b("cpta","Can't copy! TypedArray destination cannot be mutated.");if(e===t)throw b("cpi","Can't copy! Source and destination are identical.");return U(t)?t.length=0:k(t,(function(e,n){"$$hashKey"!==n&&delete t[n]})),a.push(e),s.push(t),l(e,t,n)}return c(e,n);function l(e,t,n){if(--n<0)return"...";var r,i=t.$$hashKey;if(U(e))for(var o=0,a=e.length;o<a;o++)t.push(c(e[o],n));else if(B(e))for(r in e)t[r]=c(e[r],n);else if(e&&"function"==typeof e.hasOwnProperty)for(r in e)e.hasOwnProperty(r)&&(t[r]=c(e[r],n));else for(r in e)u.call(e,r)&&(t[r]=c(e[r],n));return $(t,i),t}function c(e,t){if(!L(e))return e;var n=a.indexOf(e);if(-1!==n)return s[n];if(Y(e)||X(e))throw b("cpws","Can't copy! Making copies of Window or Scope instances is not supported.");var r=!1,i=function(e){switch(m.call(e)){case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Float32Array]":case"[object Float64Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return new e.constructor(c(e.buffer),e.byteOffset,e.length);case"[object ArrayBuffer]":if(!e.slice){var t=new ArrayBuffer(e.byteLength);return new Uint8Array(t).set(new Uint8Array(e)),t}return e.slice(0);case"[object Boolean]":case"[object Number]":case"[object String]":case"[object Date]":return new e.constructor(e.valueOf());case"[object RegExp]":var n=new RegExp(e.source,e.toString().match(/[^/]*$/)[0]);return n.lastIndex=e.lastIndex,n;case"[object Blob]":return new e.constructor([e],{type:e.type})}if(G(e.cloneNode))return e.cloneNode(!0)}(e);return void 0===i&&(i=U(e)?[]:Object.create(v(e)),r=!0),a.push(e),s.push(i),r?l(e,i,t):i}}function ae(e,t){return e===t||e!=e&&t!=t}function se(e,t){if(e===t)return!0;if(null===e||null===t)return!1;if(e!=e&&t!=t)return!0;var n,r,i,o=typeof e;if(o===typeof t&&"object"===o){if(!U(e)){if(V(e))return!!V(t)&&ae(e.getTime(),t.getTime());if(W(e))return!!W(t)&&e.toString()===t.toString();if(X(e)||X(t)||Y(e)||Y(t)||U(t)||V(t)||W(t))return!1;for(r in i=Le(),e)if("$"!==r.charAt(0)&&!G(e[r])){if(!se(e[r],t[r]))return!1;i[r]=!0}for(r in t)if(!(r in i)&&"$"!==r.charAt(0)&&z(t[r])&&!G(t[r]))return!1;return!0}if(!U(t))return!1;if((n=e.length)===t.length){for(r=0;r<n;r++)if(!se(e[r],t[r]))return!1;return!0}}return!1}var le=function(){if(!z(le.rules)){var t=e.document.querySelector("[ng-csp]")||e.document.querySelector("[data-ng-csp]");if(t){var n=t.getAttribute("ng-csp")||t.getAttribute("data-ng-csp");le.rules={noUnsafeEval:!n||-1!==n.indexOf("no-unsafe-eval"),noInlineStyle:!n||-1!==n.indexOf("no-inline-style")}}else le.rules={noUnsafeEval:function(){try{return new Function(""),!1}catch(e){return!0}}(),noInlineStyle:!1}}return le.rules},ce=function(){if(z(ce.name_))return ce.name_;var t,n,r,i,o=Se.length;for(n=0;n<o;++n)if(r=Se[n],t=e.document.querySelector("["+r.replace(":","\\:")+"jq]")){i=t.getAttribute(r+"jq");break}return ce.name_=i};function ue(e,t,n){return e.concat(f.call(t,n))}function de(e,t){return f.call(e,t||0)}function pe(e,t){var n=arguments.length>2?de(arguments,2):[];return!G(t)||t instanceof RegExp?t:n.length?function(){return arguments.length?t.apply(e,ue(n,arguments,0)):t.apply(e,n)}:function(){return arguments.length?t.apply(e,arguments):t.call(e)}}function fe(t,n){var r=n;return"string"==typeof t&&"$"===t.charAt(0)&&"$"===t.charAt(1)?r=void 0:Y(n)?r="$WINDOW":n&&e.document===n?r="$DOCUMENT":X(n)&&(r="$SCOPE"),r}function he(e,t){if(!M(e))return q(t)||(t=t?2:null),JSON.stringify(e,fe,t)}function ge(e){return F(e)?JSON.parse(e):e}var me=/:/g;function ve(e,t){e=e.replace(me,"");var n=Date.parse("Jan 01, 1970 00:00:00 "+e)/6e4;return j(n)?t:n}function be(e,t){return(e=new Date(e.getTime())).setMinutes(e.getMinutes()+t),e}function ye(e,t,n){n=n?-1:1;var r=e.getTimezoneOffset();return be(e,n*(ve(t,r)-r))}function xe(e){e=a(e).clone().empty();var t=a("<div></div>").append(e).html();try{return e[0].nodeType===Fe?d(t):t.match(/^(<[^>]+>)/)[1].replace(/^<([\w-]+)/,(function(e,t){return"<"+d(t)}))}catch(e){return d(t)}}function we(e){try{return decodeURIComponent(e)}catch(e){}}function ke(e){var t={};return k((e||"").split("&"),(function(e){var n,r,i;e&&(r=e=e.replace(/\+/g,"%20"),-1!==(n=e.indexOf("="))&&(r=e.substring(0,n),i=e.substring(n+1)),z(r=we(r))&&(i=!z(i)||we(i),u.call(t,r)?U(t[r])?t[r].push(i):t[r]=[t[r],i]:t[r]=i))})),t}function Ae(e){return Ee(e,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function Ee(e,t){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,t?"%20":"+")}var Se=["ng-","data-ng-","ng:","x-ng-"];var $e=function(t){var n=t.currentScript;if(!n)return!0;if(!(n instanceof e.HTMLScriptElement||n instanceof e.SVGScriptElement))return!1;var r=n.attributes;return[r.getNamedItem("src"),r.getNamedItem("href"),r.getNamedItem("xlink:href")].every((function(e){if(!e)return!0;if(!e.value)return!1;var n=t.createElement("a");if(n.href=e.value,t.location.origin===n.origin)return!0;switch(n.protocol){case"http:":case"https:":case"ftp:":case"blob:":case"file:":case"data:":return!0;default:return!1}}))}(e.document);function Ce(t,n){var r,i,o={};if(k(Se,(function(e){var n=e+"app";!r&&t.hasAttribute&&t.hasAttribute(n)&&(r=t,i=t.getAttribute(n))})),k(Se,(function(e){var n,o=e+"app";!r&&(n=t.querySelector("["+o.replace(":","\\:")+"]"))&&(r=n,i=n.getAttribute(o))})),r){if(!$e)return void e.console.error("AngularJS: disabling automatic bootstrap. <script> protocol indicates an extension, document.location.href does not match.");o.strictDi=null!==function(e,t){var n,r,i=Se.length;for(r=0;r<i;++r)if(n=Se[r]+t,F(n=e.getAttribute(n)))return n;return null}(r,"strict-di"),n(r,i?[i]:[],o)}}function _e(t,n,r){L(r)||(r={});r=_({strictDi:!1},r);var i=function(){if((t=a(t)).injector()){var i=t[0]===e.document?"document":xe(t);throw b("btstrpd","App already bootstrapped with this element '{0}'",i.replace(/</,"<").replace(/>/,">"))}(n=n||[]).unshift(["$provide",function(e){e.value("$rootElement",t)}]),r.debugInfoEnabled&&n.push(["$compileProvider",function(e){e.debugInfoEnabled(!0)}]),n.unshift("ng");var o=Qt(n,r.strictDi);return o.invoke(["$rootScope","$rootElement","$compile","$injector",function(e,t,n,r){e.$apply((function(){t.data("$injector",r),n(t)(e)}))}]),o},o=/^NG_ENABLE_DEBUG_INFO!/,s=/^NG_DEFER_BOOTSTRAP!/;if(e&&o.test(e.name)&&(r.debugInfoEnabled=!0,e.name=e.name.replace(o,"")),e&&!s.test(e.name))return i();e.name=e.name.replace(s,""),y.resumeBootstrap=function(e){return k(e,(function(e){n.push(e)})),i()},G(y.resumeDeferredBootstrap)&&y.resumeDeferredBootstrap()}function Oe(){e.name="NG_ENABLE_DEBUG_INFO!"+e.name,e.location.reload()}function Te(e){var t=y.element(e).injector();if(!t)throw b("test","no injector found for element argument to getTestability");return t.get("$$testability")}var je=/[A-Z]/g;function Pe(e,t){return t=t||"_",e.replace(je,(function(e,n){return(n?t:"")+e.toLowerCase()}))}var De=!1;function Re(){pt.legacyXHTMLReplacement=!0}function Ie(e,t,n){if(!e)throw b("areq","Argument '{0}' is {1}",t||"?",n||"required");return e}function Ne(e,t,n){return n&&U(e)&&(e=e[e.length-1]),Ie(G(e),t,"not a function, got "+(e&&"object"==typeof e?e.constructor.name||"Object":typeof e)),e}function Me(e,t){if("hasOwnProperty"===e)throw b("badname","hasOwnProperty is not a valid {0} name",t)}function ze(e){for(var t,n=e[0],r=e[e.length-1],i=1;n!==r&&(n=n.nextSibling);i++)(t||e[i]!==n)&&(t||(t=a(f.call(e,0,i))),t.push(n));return t||e}function Le(){return Object.create(null)}function Be(e){if(null==e)return"";switch(typeof e){case"string":break;case"number":e=""+e;break;default:e=!N(e)||U(e)||V(e)?he(e):e.toString()}return e}var Fe=3;function qe(e,t){if(U(e)){t=t||[];for(var n=0,r=e.length;n<r;n++)t[n]=e[n]}else if(L(e))for(var i in t=t||{},e)"$"===i.charAt(0)&&"$"===i.charAt(1)||(t[i]=e[i]);return t||e}function Ve(e,t){return"function"==typeof e?e.toString().replace(/ \{[\s\S]*$/,""):M(e)?"undefined":"string"!=typeof e?function(e,t){var n=[];return r(t)&&(e=y.copy(e,null,t)),JSON.stringify(e,(function(e,t){if(L(t=fe(e,t))){if(n.indexOf(t)>=0)return"...";n.push(t)}return t}))}(e,t):e}var Ue={full:"1.8.2",major:1,minor:8,dot:2,codeName:"meteoric-mining"};pt.expando="ng339";var He=pt.cache={},Ge=1;pt._data=function(e){return this.cache[e[this.expando]]||{}};var We=/-([a-z])/g,Ye=/^-ms-/,Xe={mouseleave:"mouseout",mouseenter:"mouseover"},Ze=i("jqLite");function Qe(e,t){return t.toUpperCase()}function Je(e){return e.replace(We,Qe)}var Ke=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,et=/<|&#?\w+;/,tt=/<([\w:-]+)/,nt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,rt={thead:["table"],col:["colgroup","table"],tr:["tbody","table"],td:["tr","tbody","table"]};rt.tbody=rt.tfoot=rt.colgroup=rt.caption=rt.thead,rt.th=rt.td;var it={option:[1,'<select multiple="multiple">',"</select>"],_default:[0,"",""]};for(var ot in rt){var at=rt[ot],st=at.slice().reverse();it[ot]=[st.length,"<"+st.join("><")+">","</"+at.join("></")+">"]}function lt(e){return!et.test(e)}function ct(e){var t=e.nodeType;return 1===t||!t||9===t}function ut(t,n){var r,i,a,s,l,c=n.createDocumentFragment(),u=[];if(lt(t))u.push(n.createTextNode(t));else{if(r=c.appendChild(n.createElement("div")),i=(tt.exec(t)||["",""])[1].toLowerCase(),s=pt.legacyXHTMLReplacement?t.replace(nt,"<$1></$2>"):t,o<10)for(a=it[i]||it._default,r.innerHTML=a[1]+s+a[2],l=a[0];l--;)r=r.firstChild;else{for(l=(a=rt[i]||[]).length;--l>-1;)r.appendChild(e.document.createElement(a[l])),r=r.firstChild;r.innerHTML=s}u=ue(u,r.childNodes),(r=c.firstChild).textContent=""}return c.textContent="",c.innerHTML="",k(u,(function(e){c.appendChild(e)})),c}it.optgroup=it.option;var dt=e.Node.prototype.contains||function(e){return!!(16&this.compareDocumentPosition(e))};function pt(t){if(t instanceof pt)return t;var n,r,i,o;if(F(t)&&(t=K(t),n=!0),!(this instanceof pt)){if(n&&"<"!==t.charAt(0))throw Ze("nosel","Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element");return new pt(t)}n?Et(this,(r=t,i=i||e.document,(o=Ke.exec(r))?[i.createElement(o[1])]:(o=ut(r,i))?o.childNodes:[])):G(t)?Ot(t):Et(this,t)}function ft(e){return e.cloneNode(!0)}function ht(e,t){!t&&ct(e)&&a.cleanData([e]),e.querySelectorAll&&a.cleanData(e.querySelectorAll("*"))}function gt(e){var t;for(t in e)return!1;return!0}function mt(e){var t=e.ng339,n=t&&He[t],r=n&&n.events,i=n&&n.data;i&&!gt(i)||r&&!gt(r)||(delete He[t],e.ng339=void 0)}function vt(e,t,n,r){if(z(r))throw Ze("offargs","jqLite#off() does not support the `selector` argument");var i=yt(e),o=i&&i.events,a=i&&i.handle;if(a){if(t){var s=function(t){var r=o[t];z(n)&&ie(r||[],n),z(n)&&r&&r.length>0||(e.removeEventListener(t,a),delete o[t])};k(t.split(" "),(function(e){s(e),Xe[e]&&s(Xe[e])}))}else for(t in o)"$destroy"!==t&&e.removeEventListener(t,a),delete o[t];mt(e)}}function bt(e,t){var n=e.ng339,r=n&&He[n];r&&(t?delete r.data[t]:r.data={},mt(e))}function yt(e,t){var n=e.ng339,r=n&&He[n];return t&&!r&&(e.ng339=n=++Ge,r=He[n]={events:{},data:{},handle:void 0}),r}function xt(e,t,n){if(ct(e)){var r,i=z(n),o=!i&&t&&!L(t),a=!t,s=yt(e,!o),l=s&&s.data;if(i)l[Je(t)]=n;else{if(a)return l;if(o)return l&&l[Je(t)];for(r in t)l[Je(r)]=t[r]}}}function wt(e,t){return!!e.getAttribute&&(" "+(e.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+t+" ")>-1}function kt(e,t){if(t&&e.setAttribute){var n=(" "+(e.getAttribute("class")||"")+" ").replace(/[\n\t]/g," "),r=n;k(t.split(" "),(function(e){e=K(e),r=r.replace(" "+e+" "," ")})),r!==n&&e.setAttribute("class",K(r))}}function At(e,t){if(t&&e.setAttribute){var n=(" "+(e.getAttribute("class")||"")+" ").replace(/[\n\t]/g," "),r=n;k(t.split(" "),(function(e){e=K(e),-1===r.indexOf(" "+e+" ")&&(r+=e+" ")})),r!==n&&e.setAttribute("class",K(r))}}function Et(e,t){if(t)if(t.nodeType)e[e.length++]=t;else{var n=t.length;if("number"==typeof n&&t.window!==t){if(n)for(var r=0;r<n;r++)e[e.length++]=t[r]}else e[e.length++]=t}}function St(e,t){return $t(e,"$"+(t||"ngController")+"Controller")}function $t(e,t,n){9===e.nodeType&&(e=e.documentElement);for(var r=U(t)?t:[t];e;){for(var i=0,o=r.length;i<o;i++)if(z(n=a.data(e,r[i])))return n;e=e.parentNode||11===e.nodeType&&e.host}}function Ct(e){for(ht(e,!0);e.firstChild;)e.removeChild(e.firstChild)}function _t(e,t){t||ht(e);var n=e.parentNode;n&&n.removeChild(e)}function Ot(t){function n(){e.document.removeEventListener("DOMContentLoaded",n),e.removeEventListener("load",n),t()}"complete"===e.document.readyState?e.setTimeout(t):(e.document.addEventListener("DOMContentLoaded",n),e.addEventListener("load",n))}var Tt=pt.prototype={ready:Ot,toString:function(){var e=[];return k(this,(function(t){e.push(""+t)})),"["+e.join(", ")+"]"},eq:function(e){return a(e>=0?this[e]:this[this.length+e])},length:0,push:g,sort:[].sort,splice:[].splice},jt={};k("multiple,selected,checked,disabled,readOnly,required,open".split(","),(function(e){jt[d(e)]=e}));var Pt={};k("input,select,option,textarea,button,form,details".split(","),(function(e){Pt[e]=!0}));var Dt={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern",ngStep:"step"};function Rt(e,t){var n=jt[t.toLowerCase()];return n&&Pt[ne(e)]&&n}function It(e,t,n){n.call(e,t)}function Nt(e,t,n){var r=t.relatedTarget;r&&(r===e||dt.call(e,r))||n.call(e,t)}function Mt(){this.$get=function(){return _(pt,{hasClass:function(e,t){return e.attr&&(e=e[0]),wt(e,t)},addClass:function(e,t){return e.attr&&(e=e[0]),At(e,t)},removeClass:function(e,t){return e.attr&&(e=e[0]),kt(e,t)}})}}function zt(e,t){var n=e&&e.$$hashKey;if(n)return"function"==typeof n&&(n=e.$$hashKey()),n;var r=typeof e;return n="function"===r||"object"===r&&null!==e?e.$$hashKey=r+":"+(t||S)():r+":"+e}k({data:xt,removeData:bt,hasData:function(e){for(var t in He[e.ng339])return!0;return!1},cleanData:function(e){for(var t=0,n=e.length;t<n;t++)bt(e[t]),vt(e[t])}},(function(e,t){pt[t]=e})),k({data:xt,inheritedData:$t,scope:function(e){return a.data(e,"$scope")||$t(e.parentNode||e,["$isolateScope","$scope"])},isolateScope:function(e){return a.data(e,"$isolateScope")||a.data(e,"$isolateScopeNoTemplate")},controller:St,injector:function(e){return $t(e,"$injector")},removeAttr:function(e,t){e.removeAttribute(t)},hasClass:wt,css:function(e,t,n){if(t=function(e){return Je(e.replace(Ye,"ms-"))}(t),!z(n))return e.style[t];e.style[t]=n},attr:function(e,t,n){var r,i=e.nodeType;if(i!==Fe&&2!==i&&8!==i&&e.getAttribute){var o=d(t),a=jt[o];if(!z(n))return r=e.getAttribute(t),a&&null!==r&&(r=o),null===r?void 0:r;null===n||!1===n&&a?e.removeAttribute(t):e.setAttribute(t,a?o:n)}},prop:function(e,t,n){if(!z(n))return e[t];e[t]=n},text:function(){return e.$dv="",e;function e(e,t){if(M(t)){var n=e.nodeType;return 1===n||n===Fe?e.textContent:""}e.textContent=t}}(),val:function(e,t){if(M(t)){if(e.multiple&&"select"===ne(e)){var n=[];return k(e.options,(function(e){e.selected&&n.push(e.value||e.text)})),n}return e.value}e.value=t},html:function(e,t){if(M(t))return e.innerHTML;ht(e,!0),e.innerHTML=t},empty:Ct},(function(e,t){pt.prototype[t]=function(t,n){var r,i,o=this.length;if(e!==Ct&&M(2===e.length&&e!==wt&&e!==St?t:n)){if(L(t)){for(r=0;r<o;r++)if(e===xt)e(this[r],t);else for(i in t)e(this[r],i,t[i]);return this}for(var a=e.$dv,s=M(a)?Math.min(o,1):o,l=0;l<s;l++){var c=e(this[l],t,n);a=a?a+c:c}return a}for(r=0;r<o;r++)e(this[r],t,n);return this}})),k({removeData:bt,on:function(e,t,n,r){if(z(r))throw Ze("onargs","jqLite#on() does not support the `selector` or `eventData` parameters");if(ct(e)){var i=yt(e,!0),o=i.events,a=i.handle;a||(a=i.handle=function(e,t){var n=function(n,r){n.isDefaultPrevented=function(){return n.defaultPrevented};var i=t[r||n.type],o=i?i.length:0;if(o){if(M(n.immediatePropagationStopped)){var a=n.stopImmediatePropagation;n.stopImmediatePropagation=function(){n.immediatePropagationStopped=!0,n.stopPropagation&&n.stopPropagation(),a&&a.call(n)}}n.isImmediatePropagationStopped=function(){return!0===n.immediatePropagationStopped};var s=i.specialHandlerWrapper||It;o>1&&(i=qe(i));for(var l=0;l<o;l++)n.isImmediatePropagationStopped()||s(e,n,i[l])}};return n.elem=e,n}(e,o));for(var s=t.indexOf(" ")>=0?t.split(" "):[t],l=s.length,c=function(t,r,i){var s=o[t];s||((s=o[t]=[]).specialHandlerWrapper=r,"$destroy"===t||i||e.addEventListener(t,a)),s.push(n)};l--;)t=s[l],Xe[t]?(c(Xe[t],Nt),c(t,void 0,!0)):c(t)}},off:vt,one:function(e,t,n){(e=a(e)).on(t,(function r(){e.off(t,n),e.off(t,r)})),e.on(t,n)},replaceWith:function(e,t){var n,r=e.parentNode;ht(e),k(new pt(t),(function(t){n?r.insertBefore(t,n.nextSibling):r.replaceChild(t,e),n=t}))},children:function(e){var t=[];return k(e.childNodes,(function(e){1===e.nodeType&&t.push(e)})),t},contents:function(e){return e.contentDocument||e.childNodes||[]},append:function(e,t){var n=e.nodeType;if(1===n||11===n)for(var r=0,i=(t=new pt(t)).length;r<i;r++){var o=t[r];e.appendChild(o)}},prepend:function(e,t){if(1===e.nodeType){var n=e.firstChild;k(new pt(t),(function(t){e.insertBefore(t,n)}))}},wrap:function(e,t){var n,r,i;n=e,r=a(t).eq(0).clone()[0],(i=n.parentNode)&&i.replaceChild(r,n),r.appendChild(n)},remove:_t,detach:function(e){_t(e,!0)},after:function(e,t){var n=e,r=e.parentNode;if(r)for(var i=0,o=(t=new pt(t)).length;i<o;i++){var a=t[i];r.insertBefore(a,n.nextSibling),n=a}},addClass:At,removeClass:kt,toggleClass:function(e,t,n){t&&k(t.split(" "),(function(t){var r=n;M(r)&&(r=!wt(e,t)),(r?At:kt)(e,t)}))},parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},next:function(e){return e.nextElementSibling},find:function(e,t){return e.getElementsByTagName?e.getElementsByTagName(t):[]},clone:ft,triggerHandler:function(e,t,n){var r,i,o,a=t.type||t,s=yt(e),l=s&&s.events,c=l&&l[a];c&&(r={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return!0===this.defaultPrevented},stopImmediatePropagation:function(){this.immediatePropagationStopped=!0},isImmediatePropagationStopped:function(){return!0===this.immediatePropagationStopped},stopPropagation:D,type:a,target:e},t.type&&(r=_(r,t)),i=qe(c),o=n?[r].concat(n):[r],k(i,(function(t){r.isImmediatePropagationStopped()||t.apply(e,o)})))}},(function(e,t){pt.prototype[t]=function(t,n,r){for(var i,o=0,s=this.length;o<s;o++)M(i)?z(i=e(this[o],t,n,r))&&(i=a(i)):Et(i,e(this[o],t,n,r));return z(i)?i:this}})),pt.prototype.bind=pt.prototype.on,pt.prototype.unbind=pt.prototype.off;var Lt=Object.create(null);function Bt(){this._keys=[],this._values=[],this._lastKey=NaN,this._lastIndex=-1}Bt.prototype={_idx:function(e){return e!==this._lastKey&&(this._lastKey=e,this._lastIndex=this._keys.indexOf(e)),this._lastIndex},_transformKey:function(e){return j(e)?Lt:e},get:function(e){e=this._transformKey(e);var t=this._idx(e);if(-1!==t)return this._values[t]},has:function(e){return e=this._transformKey(e),-1!==this._idx(e)},set:function(e,t){e=this._transformKey(e);var n=this._idx(e);-1===n&&(n=this._lastIndex=this._keys.length),this._keys[n]=e,this._values[n]=t},delete:function(e){e=this._transformKey(e);var t=this._idx(e);return-1!==t&&(this._keys.splice(t,1),this._values.splice(t,1),this._lastKey=NaN,this._lastIndex=-1,!0)}};var Ft=Bt,qt=[function(){this.$get=[function(){return Ft}]}],Vt=/^([^(]+?)=>/,Ut=/^[^(]*\(\s*([^)]*)\)/m,Ht=/,/,Gt=/^\s*(_?)(\S+?)\1\s*$/,Wt=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,Yt=i("$injector");function Xt(e){return Function.prototype.toString.call(e)}function Zt(e){var t=Xt(e).replace(Wt,"");return t.match(Vt)||t.match(Ut)}function Qt(e,t){t=!0===t;var n={},r=[],i=new Ft,a={$provide:{provider:f(h),factory:f(m),service:f((function(e,t){return m(e,["$injector",function(e){return e.instantiate(t)}])})),value:f((function(e,t){return m(e,I(t),!1)})),constant:f((function(e,t){Me(e,"constant"),a[e]=t,c[e]=t})),decorator:function(e,t){var n=s.get(e+"Provider"),r=n.$get;n.$get=function(){var e=d.invoke(r,n);return d.invoke(t,null,{$delegate:e})}}}},s=a.$injector=b(a,(function(e,t){throw y.isString(t)&&r.push(t),Yt("unpr","Unknown provider: {0}",r.join(" <- "))})),c={},u=b(c,(function(e,t){var n=s.get(e+"Provider",t);return d.invoke(n.$get,n,void 0,e)})),d=u;a.$injectorProvider={$get:I(u)},d.modules=s.modules=Le();var p=v(e);return(d=u.get("$injector")).strictDi=t,k(p,(function(e){e&&d.invoke(e)})),d.loadNewModules=function(e){k(v(e),(function(e){e&&d.invoke(e)}))},d;function f(e){return function(t,n){if(!L(t))return e(t,n);k(t,E(e))}}function h(e,t){if(Me(e,"service"),(G(t)||U(t))&&(t=s.instantiate(t)),!t.$get)throw Yt("pget","Provider '{0}' must define $get factory method.",e);return a[e+"Provider"]=t}function g(e,t){return function(){var n=d.invoke(t,this);if(M(n))throw Yt("undef","Provider '{0}' must return a value from $get factory method.",e);return n}}function m(e,t,n){return h(e,{$get:!1!==n?g(e,t):t})}function v(e){Ie(M(e)||U(e),"modulesToLoad","not an array");var t,n=[];return k(e,(function(e){if(!i.get(e)){i.set(e,!0);try{F(e)?(t=l(e),d.modules[e]=t,n=n.concat(v(t.requires)).concat(t._runBlocks),r(t._invokeQueue),r(t._configBlocks)):G(e)||U(e)?n.push(s.invoke(e)):Ne(e,"module")}catch(t){throw U(e)&&(e=e[e.length-1]),t.message&&t.stack&&-1===t.stack.indexOf(t.message)&&(t=t.message+"\n"+t.stack),Yt("modulerr","Failed to instantiate module {0} due to:\n{1}",e,t.stack||t.message||t)}}function r(e){var t,n;for(t=0,n=e.length;t<n;t++){var r=e[t],i=s.get(r[0]);i[r[1]].apply(i,r[2])}}})),n}function b(e,i){function s(t,o){if(e.hasOwnProperty(t)){if(e[t]===n)throw Yt("cdep","Circular dependency found: {0}",t+" <- "+r.join(" <- "));return e[t]}try{return r.unshift(t),e[t]=n,e[t]=i(t,o),e[t]}catch(r){throw e[t]===n&&delete e[t],r}finally{r.shift()}}function l(e,n,r){for(var i=[],o=Qt.$$annotate(e,t,r),a=0,l=o.length;a<l;a++){var c=o[a];if("string"!=typeof c)throw Yt("itkn","Incorrect injection token! Expected service name as string, got {0}",c);i.push(n&&n.hasOwnProperty(c)?n[c]:s(c,r))}return i}return{invoke:function(e,t,n,r){"string"==typeof n&&(r=n,n=null);var i=l(e,n,r);return U(e)&&(e=e[e.length-1]),function(e){if(o||"function"!=typeof e)return!1;var t=e.$$ngIsClass;return Z(t)||(t=e.$$ngIsClass=/^class\b/.test(Xt(e))),t}(e)?(i.unshift(null),new(Function.prototype.bind.apply(e,i))):e.apply(t,i)},instantiate:function(e,t,n){var r=U(e)?e[e.length-1]:e,i=l(e,t,n);return i.unshift(null),new(Function.prototype.bind.apply(r,i))},get:s,annotate:Qt.$$annotate,has:function(t){return a.hasOwnProperty(t+"Provider")||e.hasOwnProperty(t)}}}}function Jt(){var t=!0;this.disableAutoScrolling=function(){t=!1},this.$get=["$window","$location","$rootScope",function(n,r,i){var o=n.document;function s(e){if(e){e.scrollIntoView();var t=function(){var e=l.yOffset;if(G(e))e=e();else if(te(e)){var t=e[0];e="fixed"!==n.getComputedStyle(t).position?0:t.getBoundingClientRect().bottom}else q(e)||(e=0);return e}();if(t){var r=e.getBoundingClientRect().top;n.scrollBy(0,r-t)}}else n.scrollTo(0,0)}function l(e){var t,n,i;(e=F(e)?e:q(e)?e.toString():r.hash())?(t=o.getElementById(e))?s(t):(n=o.getElementsByName(e),i=null,Array.prototype.some.call(n,(function(e){if("a"===ne(e))return i=e,!0})),(t=i)?s(t):"top"===e&&s(null)):s(null)}return t&&i.$watch((function(){return r.hash()}),(function(t,n){var r,o;t===n&&""===t||(r=function(){i.$evalAsync(l)},"complete"===(o=o||e).document.readyState?o.setTimeout(r):a(o).on("load",r))})),l}]}Qt.$$annotate=function(e,t,n){var r,i;if("function"==typeof e){if(!(r=e.$inject)){if(r=[],e.length){if(t)throw F(n)&&n||(n=e.name||function(e){var t=Zt(e);return t?"function("+(t[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}(e)),Yt("strictdi","{0} is not using explicit annotation and cannot be invoked in strict mode",n);k(Zt(e)[1].split(Ht),(function(e){e.replace(Gt,(function(e,t,n){r.push(n)}))}))}e.$inject=r}}else U(e)?(Ne(e[i=e.length-1],"fn"),r=e.slice(0,i)):Ne(e,"fn",!0);return r};var Kt=i("$animate");function en(e,t){return e||t?e?t?(U(e)&&(e=e.join(" ")),U(t)&&(t=t.join(" ")),e+" "+t):e:t:""}function tn(e){return L(e)?e:{}}var nn=function(){this.$get=D},rn=function(){var e=new Ft,t=[];this.$get=["$$AnimateRunner","$rootScope",function(n,r){return{enabled:D,on:D,off:D,pin:D,push:function(a,s,l,c){c&&c(),(l=l||{}).from&&a.css(l.from),l.to&&a.css(l.to),(l.addClass||l.removeClass)&&function(n,a,s){var l=e.get(n)||{},c=i(l,a,!0),u=i(l,s,!1);(c||u)&&(e.set(n,l),t.push(n),1===t.length&&r.$$postDigest(o))}(a,l.addClass,l.removeClass);var u=new n;return u.complete(),u}};function i(e,t,n){var r=!1;return t&&k(t=F(t)?t.split(" "):U(t)?t:[],(function(t){t&&(r=!0,e[t]=n)})),r}function o(){k(t,(function(t){var n=e.get(t);if(n){var r=function(e){F(e)&&(e=e.split(" "));var t=Le();return k(e,(function(e){e.length&&(t[e]=!0)})),t}(t.attr("class")),i="",o="";k(n,(function(e,t){e!==!!r[t]&&(e?i+=(i.length?" ":"")+t:o+=(o.length?" ":"")+t)})),k(t,(function(e){i&&At(e,i),o&&kt(e,o)})),e.delete(t)}})),t.length=0}}]},on=["$provide",function(e){var t=this,n=null,r=null;this.$$registeredAnimations=Object.create(null),this.register=function(n,r){if(n&&"."!==n.charAt(0))throw Kt("notcsel","Expecting class selector starting with '.' got '{0}'.",n);var i=n+"-animation";t.$$registeredAnimations[n.substr(1)]=i,e.factory(i,r)},this.customFilter=function(e){return 1===arguments.length&&(r=G(e)?e:null),r},this.classNameFilter=function(e){if(1===arguments.length&&(n=e instanceof RegExp?e:null)){var t=new RegExp("[(\\s|\\/)]ng-animate[(\\s|\\/)]");if(t.test(n.toString()))throw n=null,Kt("nongcls",'$animateProvider.classNameFilter(regex) prohibits accepting a regex value which matches/contains the "{0}" CSS class.',"ng-animate")}return n},this.$get=["$$animateQueue",function(e){function t(e,t,n){if(n){var r=function(e){for(var t=0;t<e.length;t++){var n=e[t];if(1===n.nodeType)return n}}(n);!r||r.parentNode||r.previousElementSibling||(n=null)}n?n.after(e):t.prepend(e)}return{on:e.on,off:e.off,pin:e.pin,enabled:e.enabled,cancel:function(e){e.cancel&&e.cancel()},enter:function(n,r,i,o){return r=r&&a(r),i=i&&a(i),t(n,r=r||i.parent(),i),e.push(n,"enter",tn(o))},move:function(n,r,i,o){return r=r&&a(r),i=i&&a(i),t(n,r=r||i.parent(),i),e.push(n,"move",tn(o))},leave:function(t,n){return e.push(t,"leave",tn(n),(function(){t.remove()}))},addClass:function(t,n,r){return(r=tn(r)).addClass=en(r.addclass,n),e.push(t,"addClass",r)},removeClass:function(t,n,r){return(r=tn(r)).removeClass=en(r.removeClass,n),e.push(t,"removeClass",r)},setClass:function(t,n,r,i){return(i=tn(i)).addClass=en(i.addClass,n),i.removeClass=en(i.removeClass,r),e.push(t,"setClass",i)},animate:function(t,n,r,i,o){return(o=tn(o)).from=o.from?_(o.from,n):n,o.to=o.to?_(o.to,r):r,i=i||"ng-inline-animate",o.tempClasses=en(o.tempClasses,i),e.push(t,"animate",o)}}}]}],an=function(){this.$get=["$$rAF",function(e){var t=[];function n(n){t.push(n),t.length>1||e((function(){for(var e=0;e<t.length;e++)t[e]();t=[]}))}return function(){var e=!1;return n((function(){e=!0})),function(t){e?t():n(t)}}}]},sn=function(){this.$get=["$q","$sniffer","$$animateAsyncRun","$$isDocumentHidden","$timeout",function(e,t,n,r,i){function o(e){this.setHost(e);var t=n();this._doneCallbacks=[],this._tick=function(e){r()?function(e){i(e,0,!1)}(e):t(e)},this._state=0}return o.chain=function(e,t){var n=0;!function r(){if(n===e.length)return void t(!0);e[n]((function(e){!1!==e?(n++,r()):t(!1)}))}()},o.all=function(e,t){var n=0,r=!0;function i(i){r=r&&i,++n===e.length&&t(r)}k(e,(function(e){e.done(i)}))},o.prototype={setHost:function(e){this.host=e||{}},done:function(e){2===this._state?e():this._doneCallbacks.push(e)},progress:D,getPromise:function(){if(!this.promise){var t=this;this.promise=e((function(e,n){t.done((function(t){!1===t?n():e()}))}))}return this.promise},then:function(e,t){return this.getPromise().then(e,t)},catch:function(e){return this.getPromise().catch(e)},finally:function(e){return this.getPromise().finally(e)},pause:function(){this.host.pause&&this.host.pause()},resume:function(){this.host.resume&&this.host.resume()},end:function(){this.host.end&&this.host.end(),this._resolve(!0)},cancel:function(){this.host.cancel&&this.host.cancel(),this._resolve(!1)},complete:function(e){var t=this;0===t._state&&(t._state=1,t._tick((function(){t._resolve(e)})))},_resolve:function(e){2!==this._state&&(k(this._doneCallbacks,(function(t){t(e)})),this._doneCallbacks.length=0,this._state=2)}},o}]},ln=function(){this.$get=["$$rAF","$q","$$AnimateRunner",function(e,t,n){return function(t,r){var i=r||{};i.$$prepared||(i=oe(i)),i.cleanupStyles&&(i.from=i.to=null),i.from&&(t.css(i.from),i.from=null);var o,a=new n;return{start:s,end:s};function s(){return e((function(){!function(){i.addClass&&(t.addClass(i.addClass),i.addClass=null);i.removeClass&&(t.removeClass(i.removeClass),i.removeClass=null);i.to&&(t.css(i.to),i.to=null)}(),o||a.complete(),o=!0})),a}}}]};function cn(e,t,n,r,i){var o=this,s=e.location,l=e.history,c=e.setTimeout,u=e.clearTimeout,d={},p=i(n);o.isMock=!1,o.$$completeOutstandingRequest=p.completeTask,o.$$incOutstandingRequestCount=p.incTaskCount,o.notifyWhenNoOutstandingRequests=p.notifyWhenNoPendingTasks;var f,h,g=s.href,m=t.find("base"),v=null,b=r.history?function(){try{return l.state}catch(e){}}:D;E(),o.url=function(t,n,i){if(M(i)&&(i=null),s!==e.location&&(s=e.location),l!==e.history&&(l=e.history),t){var a=h===i;if(t=li(t).href,g===t&&(!r.history||a))return o;var c=g&&sr(g)===sr(t);return g=t,h=i,!r.history||c&&a?(c||(v=t),n?s.replace(t):c?s.hash=function(e){var t=e.indexOf("#");return-1===t?"":e.substr(t)}(t):s.href=t,s.href!==t&&(v=t)):(l[n?"replaceState":"pushState"](i,"",t),E()),v&&(v=t),o}return function(e){return e.replace(/#$/,"")}(v||s.href)},o.state=function(){return f};var y=[],x=!1;function w(){v=null,S()}var A=null;function E(){se(f=M(f=b())?null:f,A)&&(f=A),A=f,h=f}function S(){var e=h;E(),g===o.url()&&e===f||(g=o.url(),h=f,k(y,(function(e){e(o.url(),f)})))}o.onUrlChange=function(t){return x||(r.history&&a(e).on("popstate",w),a(e).on("hashchange",w),x=!0),y.push(t),t},o.$$applicationDestroyed=function(){a(e).off("hashchange popstate",w)},o.$$checkUrlChange=S,o.baseHref=function(){var e=m.attr("href");return e?e.replace(/^(https?:)?\/\/[^/]*/,""):""},o.defer=function(e,t,n){var r;return t=t||0,n=n||p.DEFAULT_TASK_TYPE,p.incTaskCount(n),r=c((function(){delete d[r],p.completeTask(e,n)}),t),d[r]=n,r},o.defer.cancel=function(e){if(d.hasOwnProperty(e)){var t=d[e];return delete d[e],u(e),p.completeTask(D,t),!0}return!1}}function un(){this.$get=["$window","$log","$sniffer","$document","$$taskTrackerFactory",function(e,t,n,r,i){return new cn(e,r,t,n,i)}]}function dn(){this.$get=function(){var e={};function t(t,n){if(t in e)throw i("$cacheFactory")("iid","CacheId '{0}' is already taken!",t);var r=0,o=_({},n,{id:t}),a=Le(),s=n&&n.capacity||Number.MAX_VALUE,l=Le(),c=null,u=null;return e[t]={put:function(e,t){if(!M(t)){if(s<Number.MAX_VALUE)d(l[e]||(l[e]={key:e}));return e in a||r++,a[e]=t,r>s&&this.remove(u.key),t}},get:function(e){if(s<Number.MAX_VALUE){var t=l[e];if(!t)return;d(t)}return a[e]},remove:function(e){if(s<Number.MAX_VALUE){var t=l[e];if(!t)return;t===c&&(c=t.p),t===u&&(u=t.n),p(t.n,t.p),delete l[e]}e in a&&(delete a[e],r--)},removeAll:function(){a=Le(),r=0,l=Le(),c=u=null},destroy:function(){a=null,o=null,l=null,delete e[t]},info:function(){return _({},o,{size:r})}};function d(e){e!==c&&(u?u===e&&(u=e.n):u=e,p(e.n,e.p),p(e,c),(c=e).n=null)}function p(e,t){e!==t&&(e&&(e.p=t),t&&(t.n=e))}}return t.info=function(){var t={};return k(e,(function(e,n){t[n]=e.info()})),t},t.get=function(t){return e[t]},t}}function pn(){this.$get=["$cacheFactory",function(e){return e("templates")}]}var fn=i("$compile");var hn=new function(){};function gn(t,n){var r={},i=/^\s*directive:\s*([\w-]+)\s+(.*)$/,s=/(([\w-]+)(?::([^;]+))?;?)/,l=function(e){var t,n={},r=e.split(",");for(t=0;t<r.length;t++)n[r[t]]=!0;return n}("ngSrc,ngSrcset,src,srcset"),c=/^(?:(\^\^?)?(\?)?(\^\^?)?)?/,p=/^(on[a-z]+|formaction)$/,f=Le();function h(e,t,n){var r=/^([@&]|[=<](\*?))(\??)\s*([\w$]*)$/,i=Le();return k(e,(function(e,o){if((e=e.trim())in f)i[o]=f[e];else{var a=e.match(r);if(!a)throw fn("iscp","Invalid {3} for directive '{0}'. Definition: {... {1}: '{2}' ...}",t,o,e,n?"controller bindings definition":"isolate scope definition");i[o]={mode:a[1][0],collection:"*"===a[2],optional:"?"===a[3],attrName:a[4]||o},a[4]&&(f[e]=i[o])}})),i}function g(e,t){var n={isolateScope:null,bindToController:null};if(L(e.scope)&&(!0===e.bindToController?(n.bindToController=h(e.scope,t,!0),n.isolateScope={}):n.isolateScope=h(e.scope,t,!1)),L(e.bindToController)&&(n.bindToController=h(e.bindToController,t,!0)),n.bindToController&&!e.controller)throw fn("noctrl","Cannot bind to controller without directive '{0}'s controller.",t);return n}this.directive=function e(n,i){return Ie(n,"name"),Me(n,"directive"),F(n)?(!function(e){var t=e.charAt(0);if(!t||t!==d(t))throw fn("baddir","Directive/Component name '{0}' is invalid. The first character must be a lowercase letter",e);if(e!==e.trim())throw fn("baddir","Directive/Component name '{0}' is invalid. The name should not contain leading or trailing whitespaces",e)}(n),Ie(i,"directiveFactory"),r.hasOwnProperty(n)||(r[n]=[],t.factory(n+"Directive",["$injector","$exceptionHandler",function(e,t){var i=[];return k(r[n],(function(r,o){try{var a=e.invoke(r);G(a)?a={compile:I(a)}:!a.compile&&a.link&&(a.compile=I(a.link)),a.priority=a.priority||0,a.index=o,a.name=a.name||n,a.require=function(e){var t=e.require||e.controller&&e.name;return!U(t)&&L(t)&&k(t,(function(e,n){var r=e.match(c);e.substring(r[0].length)||(t[n]=r[0]+n)})),t}(a),a.restrict=function(e,t){if(e&&(!F(e)||!/[EACM]/.test(e)))throw fn("badrestrict","Restrict property '{0}' of directive '{1}' is invalid",e,t);return e||"EA"}(a.restrict,n),a.$$moduleName=r.$$moduleName,i.push(a)}catch(e){t(e)}})),i}])),r[n].push(i)):k(n,E(e)),this},this.component=function e(t,n){if(!F(t))return k(t,E(pe(this,e))),this;var r=n.controller||function(){};function i(e){function t(t){return G(t)||U(t)?function(n,r){return e.invoke(t,this,{$element:n,$attrs:r})}:t}var i=n.template||n.templateUrl?n.template:"",o={controller:r,controllerAs:En(n.controller)||n.controllerAs||"$ctrl",template:t(i),templateUrl:t(n.templateUrl),transclude:n.transclude,scope:{},bindToController:n.bindings||{},restrict:"E",require:n.require};return k(n,(function(e,t){"$"===t.charAt(0)&&(o[t]=e)})),o}return k(n,(function(e,t){"$"===t.charAt(0)&&(i[t]=e,G(r)&&(r[t]=e))})),i.$inject=["$injector"],this.directive(t,i)},this.aHrefSanitizationTrustedUrlList=function(e){return z(e)?(n.aHrefSanitizationTrustedUrlList(e),this):n.aHrefSanitizationTrustedUrlList()},Object.defineProperty(this,"aHrefSanitizationWhitelist",{get:function(){return this.aHrefSanitizationTrustedUrlList},set:function(e){this.aHrefSanitizationTrustedUrlList=e}}),this.imgSrcSanitizationTrustedUrlList=function(e){return z(e)?(n.imgSrcSanitizationTrustedUrlList(e),this):n.imgSrcSanitizationTrustedUrlList()},Object.defineProperty(this,"imgSrcSanitizationWhitelist",{get:function(){return this.imgSrcSanitizationTrustedUrlList},set:function(e){this.imgSrcSanitizationTrustedUrlList=e}});var v=!0;this.debugInfoEnabled=function(e){return z(e)?(v=e,this):v};var b=!1;this.strictComponentBindingsEnabled=function(e){return z(e)?(b=e,this):b};var y=10;this.onChangesTtl=function(e){return arguments.length?(y=e,this):y};var x=!0;this.commentDirectivesEnabled=function(e){return arguments.length?(x=e,this):x};var w=!0;this.cssClassDirectivesEnabled=function(e){return arguments.length?(w=e,this):w};var A=Le();this.addPropertySecurityContext=function(e,t,n){var r=e.toLowerCase()+"|"+t.toLowerCase();if(r in A&&A[r]!==n)throw fn("ctxoverride","Property context '{0}.{1}' already set to '{2}', cannot override to '{3}'.",e,t,A[r],n);return A[r]=n,this},function(){function e(e,t){k(t,(function(t){A[t.toLowerCase()]=e}))}e(Ur.HTML,["iframe|srcdoc","*|innerHTML","*|outerHTML"]),e(Ur.CSS,["*|style"]),e(Ur.URL,["area|href","area|ping","a|href","a|ping","blockquote|cite","body|background","del|cite","input|src","ins|cite","q|cite"]),e(Ur.MEDIA_URL,["audio|src","img|src","img|srcset","source|src","source|srcset","track|src","video|src","video|poster"]),e(Ur.RESOURCE_URL,["*|formAction","applet|code","applet|codebase","base|href","embed|src","frame|src","form|action","head|profile","html|manifest","iframe|src","link|href","media|src","object|codebase","object|data","script|src"])}(),this.$get=["$injector","$interpolate","$exceptionHandler","$templateRequest","$parse","$controller","$rootScope","$sce","$animate",function(t,n,f,h,E,S,$,C,O){var T,j=/^\w/,I=e.document.createElement("div"),N=x,z=w,B=y;function q(){try{if(!--B)throw T=void 0,fn("infchng","{0} $onChanges() iterations reached. Aborting!\n",y);$.$apply((function(){for(var e=0,t=T.length;e<t;++e)try{T[e]()}catch(e){f(e)}T=void 0}))}finally{B++}}function V(e,t){if(!e)return e;if(!F(e))throw fn("srcset",'Can\'t pass trusted values to `{0}`: "{1}"',t,e.toString());for(var n="",r=K(e),i=/\s/.test(r)?/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/:/(,)/,o=r.split(i),a=Math.floor(o.length/2),s=0;s<a;s++){var l=2*s;n+=C.getTrustedMediaUrl(K(o[l])),n+=" "+K(o[l+1])}var c=K(o[2*s]).split(/\s/);return n+=C.getTrustedMediaUrl(K(c[0])),2===c.length&&(n+=" "+K(c[1])),n}function W(e,t){if(t){var n,r,i,o=Object.keys(t);for(n=0,r=o.length;n<r;n++)this[i=o[n]]=t[i]}else this.$attr={};this.$$element=e}function Y(e,t){try{e.addClass(t)}catch(e){}}W.prototype={$normalize:yn,$addClass:function(e){e&&e.length>0&&O.addClass(this.$$element,e)},$removeClass:function(e){e&&e.length>0&&O.removeClass(this.$$element,e)},$updateClass:function(e,t){var n=xn(e,t);n&&n.length&&O.addClass(this.$$element,n);var r=xn(t,e);r&&r.length&&O.removeClass(this.$$element,r)},$set:function(e,t,n,r){var i=Rt(this.$$element[0],e),o=Dt[e],a=e;i?(this.$$element.prop(e,t),r=i):o&&(this[o]=t,a=o),this[e]=t,r?this.$attr[e]=r:(r=this.$attr[e])||(this.$attr[e]=r=Pe(e,"-")),"img"===ne(this.$$element)&&"srcset"===e&&(this[e]=t=V(t,"$set('srcset', value)")),!1!==n&&(null===t||M(t)?this.$$element.removeAttr(r):j.test(r)?i&&!1===t?this.$$element.removeAttr(r):this.$$element.attr(r,t):function(e,t,n){I.innerHTML="<span "+t+">";var r=I.firstChild.attributes,i=r[0];r.removeNamedItem(i.name),i.value=n,e.attributes.setNamedItem(i)}(this.$$element[0],r,t));var s=this.$$observers;s&&k(s[a],(function(e){try{e(t)}catch(e){f(e)}}))},$observe:function(e,t){var n=this,r=n.$$observers||(n.$$observers=Le()),i=r[e]||(r[e]=[]);return i.push(t),$.$evalAsync((function(){i.$$inter||!n.hasOwnProperty(e)||M(n[e])||t(n[e])})),function(){ie(i,t)}}};var Q=n.startSymbol(),J=n.endSymbol(),ee="{{"===Q&&"}}"===J?R:function(e){return e.replace(/\{\{/g,Q).replace(/}}/g,J)},te=/^ng(Attr|Prop|On)([A-Z].*)$/,re=/^(.+)Start$/;return oe.$$addBindingInfo=v?function(e,t){var n=e.data("$binding")||[];U(t)?n=n.concat(t):n.push(t),e.data("$binding",n)}:D,oe.$$addBindingClass=v?function(e){Y(e,"ng-binding")}:D,oe.$$addScopeInfo=v?function(e,t,n,r){var i=n?r?"$isolateScopeNoTemplate":"$isolateScope":"$scope";e.data(i,t)}:D,oe.$$addScopeClass=v?function(e,t){Y(e,t?"ng-isolate-scope":"ng-scope")}:D,oe.$$createComment=function(t,n){var r="";return v&&(r=" "+(t||"")+": ",n&&(r+=n+" ")),e.document.createComment(r)},oe;function oe(e,t,n,r,i){e instanceof a||(e=a(e));var o=le(e,t,e,n,r,i);oe.$$addScopeClass(e);var s=null;return function(t,n,r){if(!e)throw fn("multilink","This element has already been linked.");Ie(t,"scope"),i&&i.needsNewScope&&(t=t.$parent.$new());var l,c,u,d=(r=r||{}).parentBoundTranscludeFn,p=r.transcludeControllers,f=r.futureParentElement;if(d&&d.$$boundTransclude&&(d=d.$$boundTransclude),s||(c=(l=f)&&l[0],s=c&&"foreignobject"!==ne(c)&&m.call(c).match(/SVG/)?"svg":"html"),u="html"!==s?a(Ce(s,a("<div></div>").append(e).html())):n?Tt.clone.call(e):e,p)for(var h in p)u.data("$"+h+"Controller",p[h].instance);return oe.$$addScopeInfo(u,t),n&&n(u,t),o&&o(t,u,u,d),n||(e=o=null),u}}function le(e,t,n,r,i,s){for(var l,c,u,d,p,f,h,g=[],m=U(e)||e instanceof a,v=0;v<e.length;v++)l=new W,11===o&&ce(e,v,m),(u=(c=fe(e[v],[],l,0===v?r:void 0,i)).length?ve(c,e[v],l,t,n,null,[],[],s):null)&&u.scope&&oe.$$addScopeClass(l.$$element),p=u&&u.terminal||!(d=e[v].childNodes)||!d.length?null:le(d,u?(u.transcludeOnThisElement||!u.templateOnThisElement)&&u.transclude:t),(u||p)&&(g.push(v,u,p),f=!0,h=h||u),s=null;return f?function(e,n,r,i){var o,s,l,c,u,d,p,f,m;if(h){var v=n.length;for(m=new Array(v),u=0;u<g.length;u+=3)p=g[u],m[p]=n[p]}else m=n;for(u=0,d=g.length;u<d;)l=m[g[u++]],o=g[u++],s=g[u++],o?(o.scope?(c=e.$new(),oe.$$addScopeInfo(a(l),c)):c=e,f=o.transcludeOnThisElement?ue(e,o.transclude,i):!o.templateOnThisElement&&i?i:!i&&t?ue(e,t):null,o(s,c,l,r,f)):s&&s(e,l.childNodes,void 0,i)}:null}function ce(e,t,n){var r,i=e[t],o=i.parentNode;if(i.nodeType===Fe)for(;(r=o?i.nextSibling:e[t+1])&&r.nodeType===Fe;)i.nodeValue=i.nodeValue+r.nodeValue,r.parentNode&&r.parentNode.removeChild(r),n&&r===e[t+1]&&e.splice(t+1,1)}function ue(e,t,n){function r(r,i,o,a,s){return r||((r=e.$new(!1,s)).$$transcluded=!0),t(r,i,{parentBoundTranscludeFn:n,transcludeControllers:o,futureParentElement:a})}var i=r.$$slots=Le();for(var o in t.$$slots)t.$$slots[o]?i[o]=ue(e,t.$$slots[o],n):i[o]=null;return r}function fe(e,t,r,o,a){var l,c,u,d=e.nodeType,p=r.$attr;switch(d){case 1:we(t,yn(c=ne(e)),"E",o,a);for(var f,h,g,m,v,b=e.attributes,y=0,x=b&&b.length;y<x;y++){var w,k=!1,A=!1,E=!1,S=!1,$=!1;h=(f=b[y]).name,m=f.value,(v=(g=yn(h.toLowerCase())).match(te))?(E="Attr"===v[1],S="Prop"===v[1],$="On"===v[1],h=h.replace(vn,"").toLowerCase().substr(4+v[1].length).replace(/_(.)/g,(function(e,t){return t.toUpperCase()}))):(w=g.match(re))&&ke(w[1])&&(k=h,A=h.substr(0,h.length-5)+"end",h=h.substr(0,h.length-6)),S||$?(r[g]=m,p[g]=f.name,S?Oe(e,t,g,h):Te(t,g,h)):(p[g=yn(h.toLowerCase())]=h,!E&&r.hasOwnProperty(g)||(r[g]=m,Rt(e,g)&&(r[g]=!0)),je(e,t,m,g,E),we(t,g,"A",o,a,k,A))}if("input"===c&&"hidden"===e.getAttribute("type")&&e.setAttribute("autocomplete","off"),!z)break;if(L(u=e.className)&&(u=u.animVal),F(u)&&""!==u)for(;l=s.exec(u);)we(t,g=yn(l[2]),"C",o,a)&&(r[g]=K(l[3])),u=u.substr(l.index+l[0].length);break;case Fe:!function(e,t){var r=n(t,!0);r&&e.push({priority:0,compile:function(e){var t=e.parent(),n=!!t.length;return n&&oe.$$addBindingClass(t),function(e,t){var i=t.parent();n||oe.$$addBindingClass(i),oe.$$addBindingInfo(i,r.expressions),e.$watch(r,(function(e){t[0].nodeValue=e}))}}})}(t,e.nodeValue);break;case 8:if(!N)break;!function(e,t,n,r,o){try{var a=i.exec(e.nodeValue);if(a){var s=yn(a[1]);we(t,s,"M",r,o)&&(n[s]=K(a[2]))}}catch(e){}}(e,t,r,o,a)}return t.sort(Se),t}function he(e,t,n){var r=[],i=0;if(t&&e.hasAttribute&&e.hasAttribute(t))do{if(!e)throw fn("uterdir","Unterminated attribute, found '{0}' but no matching '{1}' found.",t,n);1===e.nodeType&&(e.hasAttribute(t)&&i++,e.hasAttribute(n)&&i--),r.push(e),e=e.nextSibling}while(i>0);else r.push(e);return a(r)}function ge(e,t,n){return function(r,i,o,a,s){return i=he(i[0],t,n),e(r,i,o,a,s)}}function me(e,t,n,r,i,o){var a;return e?oe(t,n,r,i,o):function(){return a||(a=oe(t,n,r,i,o),t=n=o=null),a.apply(this,arguments)}}function ve(t,n,r,i,o,s,l,c,u){u=u||{};for(var d,p,h,g,m,v=-Number.MAX_VALUE,b=u.newScopeDirective,y=u.controllerDirectives,x=u.newIsolateScopeDirective,w=u.templateDirective,A=u.nonTlbTranscludeDirective,E=!1,$=!1,C=u.hasElementTranscludeDirective,O=r.$$element=a(n),T=s,j=i,P=!1,D=!1,R=0,I=t.length;R<I;R++){var N=(d=t[R]).$$start,z=d.$$end;if(N&&(O=he(n,N,z)),h=void 0,v>d.priority)break;if((m=d.scope)&&(d.templateUrl||(L(m)?($e("new/isolated scope",x||b,d,O),x=d):$e("new/isolated scope",x,d,O)),b=b||d),p=d.name,!P&&(d.replace&&(d.templateUrl||d.template)||d.transclude&&!d.$$tlb)){for(var B,F=R+1;B=t[F++];)if(B.transclude&&!B.$$tlb||B.replace&&(B.templateUrl||B.template)){D=!0;break}P=!0}if(!d.templateUrl&&d.controller&&(y=y||Le(),$e("'"+p+"' controller",y[p],d,O),y[p]=d),m=d.transclude)if(E=!0,d.$$tlb||($e("transclusion",A,d,O),A=d),"element"===m)C=!0,v=d.priority,h=O,O=r.$$element=a(oe.$$createComment(p,r[p])),n=O[0],De(o,de(h),n),j=me(D,h,i,v,T&&T.name,{nonTlbTranscludeDirective:A});else{var q=Le();if(L(m)){h=e.document.createDocumentFragment();var V=Le(),H=Le();for(var Y in k(m,(function(e,t){var n="?"===e.charAt(0);e=n?e.substring(1):e,V[e]=t,q[t]=null,H[t]=n})),k(O.contents(),(function(t){var n=V[yn(ne(t))];n?(H[n]=!0,q[n]=q[n]||e.document.createDocumentFragment(),q[n].appendChild(t)):h.appendChild(t)})),k(H,(function(e,t){if(!e)throw fn("reqslot","Required transclusion slot `{0}` was not filled.",t)})),q)if(q[Y]){var Z=a(q[Y].childNodes);q[Y]=me(D,Z,i)}h=a(h.childNodes)}else h=a(ft(n)).contents();O.empty(),(j=me(D,h,i,void 0,void 0,{needsNewScope:d.$$isolateScope||d.$$newScope})).$$slots=q}if(d.template)if($=!0,$e("template",w,d,O),w=d,m=G(d.template)?d.template(O,r):d.template,m=ee(m),d.replace){if(T=d,h=lt(m)?[]:wn(Ce(d.templateNamespace,K(m))),n=h[0],1!==h.length||1!==n.nodeType)throw fn("tplrt","Template for directive '{0}' must have exactly one root element. {1}",p,"");De(o,O,n);var Q={$attr:{}},J=fe(n,[],Q),te=t.splice(R+1,t.length-(R+1));(x||b)&&ye(J,x,b),t=t.concat(J).concat(te),Ae(r,Q),I=t.length}else O.html(m);if(d.templateUrl)$=!0,$e("template",w,d,O),w=d,d.replace&&(T=d),ae=Ee(t.splice(R,t.length-R),O,r,o,E&&j,l,c,{controllerDirectives:y,newScopeDirective:b!==d&&b,newIsolateScopeDirective:x,templateDirective:w,nonTlbTranscludeDirective:A}),I=t.length;else if(d.compile)try{g=d.compile(O,r,j);var re=d.$$originalDirective||d;G(g)?ie(null,pe(re,g),N,z):g&&ie(pe(re,g.pre),pe(re,g.post),N,z)}catch(e){f(e,xe(O))}d.terminal&&(ae.terminal=!0,v=Math.max(v,d.priority))}return ae.scope=b&&!0===b.scope,ae.transcludeOnThisElement=E,ae.templateOnThisElement=$,ae.transclude=j,u.hasElementTranscludeDirective=C,ae;function ie(e,t,n,r){e&&(n&&(e=ge(e,n,r)),e.require=d.require,e.directiveName=p,(x===d||d.$$isolateScope)&&(e=Re(e,{isolateScope:!0})),l.push(e)),t&&(n&&(t=ge(t,n,r)),t.require=d.require,t.directiveName=p,(x===d||d.$$isolateScope)&&(t=Re(t,{isolateScope:!0})),c.push(t))}function ae(e,t,i,o,s){var u,d,p,h,g,m,v,A,E,$;for(var O in n===i?(E=r,A=r.$$element):E=new W(A=a(i),r),g=t,x?h=t.$new(!0):b&&(g=t.$parent),s&&((v=function(e,t,n,r){var i;X(e)||(r=n,n=t,t=e,e=void 0);C&&(i=m);n||(n=C?A.parent():A);if(!r)return s(e,t,i,n,D);var o=s.$$slots[r];if(o)return o(e,t,i,n,D);if(M(o))throw fn("noslot",'No parent directive that requires a transclusion with slot name "{0}". Element: {1}',r,xe(A))}).$$boundTransclude=s,v.isSlotFilled=function(e){return!!s.$$slots[e]}),y&&(m=function(e,t,n,r,i,o,a){var s=Le();for(var l in r){var c=r[l],u={$scope:c===a||c.$$isolateScope?i:o,$element:e,$attrs:t,$transclude:n},d=c.controller;"@"===d&&(d=t[c.name]);var p=S(d,u,!0,c.controllerAs);s[c.name]=p,e.data("$"+c.name+"Controller",p.instance)}return s}(A,E,v,y,h,t,x)),x&&(oe.$$addScopeInfo(A,h,!0,!(w&&(w===x||w===x.$$originalDirective))),oe.$$addScopeClass(A,!0),h.$$isolateBindings=x.$$isolateBindings,($=ze(t,E,h,h.$$isolateBindings,x)).removeWatches&&h.$on("$destroy",$.removeWatches)),m){var T=y[O],j=m[O],P=T.$$bindings.bindToController;j.instance=j(),A.data("$"+T.name+"Controller",j.instance),j.bindingInfo=ze(g,E,j.instance,P,T)}for(k(y,(function(e,t){var n=e.require;e.bindToController&&!U(n)&&L(n)&&_(m[t].instance,be(t,n,A,m))})),k(m,(function(e){var t=e.instance;if(G(t.$onChanges))try{t.$onChanges(e.bindingInfo.initialChanges)}catch(e){f(e)}if(G(t.$onInit))try{t.$onInit()}catch(e){f(e)}G(t.$doCheck)&&(g.$watch((function(){t.$doCheck()})),t.$doCheck()),G(t.$onDestroy)&&g.$on("$destroy",(function(){t.$onDestroy()}))})),u=0,d=l.length;u<d;u++)Ne(p=l[u],p.isolateScope?h:t,A,E,p.require&&be(p.directiveName,p.require,A,m),v);var D=t;for(x&&(x.template||null===x.templateUrl)&&(D=h),e&&e(D,i.childNodes,void 0,s),u=c.length-1;u>=0;u--)Ne(p=c[u],p.isolateScope?h:t,A,E,p.require&&be(p.directiveName,p.require,A,m),v);k(m,(function(e){var t=e.instance;G(t.$postLink)&&t.$postLink()}))}}function be(e,t,n,r){var i;if(F(t)){var o=t.match(c),a=t.substring(o[0].length),s=o[1]||o[3],l="?"===o[2];if("^^"===s?n=n.parent():i=(i=r&&r[a])&&i.instance,!i){var u="$"+a+"Controller";i="^^"===s&&n[0]&&9===n[0].nodeType?null:s?n.inheritedData(u):n.data(u)}if(!i&&!l)throw fn("ctreq","Controller '{0}', required by directive '{1}', can't be found!",a,e)}else if(U(t)){i=[];for(var d=0,p=t.length;d<p;d++)i[d]=be(e,t[d],n,r)}else L(t)&&(i={},k(t,(function(t,o){i[o]=be(e,t,n,r)})));return i||null}function ye(e,t,n){for(var r=0,i=e.length;r<i;r++)e[r]=P(e[r],{$$isolateScope:t,$$newScope:n})}function we(e,n,i,o,a,s,l){if(n===a)return null;var c=null;if(r.hasOwnProperty(n))for(var u,d=t.get(n+"Directive"),p=0,f=d.length;p<f;p++)if(u=d[p],(M(o)||o>u.priority)&&-1!==u.restrict.indexOf(i)){if(s&&(u=P(u,{$$start:s,$$end:l})),!u.$$bindings){var h=u.$$bindings=g(u,u.name);L(h.isolateScope)&&(u.$$isolateBindings=h.isolateScope)}e.push(u),c=u}return c}function ke(e){if(r.hasOwnProperty(e))for(var n=t.get(e+"Directive"),i=0,o=n.length;i<o;i++)if(n[i].multiElement)return!0;return!1}function Ae(e,t){var n=t.$attr,r=e.$attr;k(e,(function(r,i){"$"!==i.charAt(0)&&(t[i]&&t[i]!==r&&(r.length?r+=("style"===i?";":" ")+t[i]:r=t[i]),e.$set(i,r,!0,n[i]))})),k(t,(function(t,i){e.hasOwnProperty(i)||"$"===i.charAt(0)||(e[i]=t,"class"!==i&&"style"!==i&&(r[i]=n[i]))}))}function Ee(e,t,n,r,i,o,s,l){var c,u,d=[],p=t[0],g=e.shift(),m=P(g,{templateUrl:null,transclude:null,replace:null,$$originalDirective:g}),v=G(g.templateUrl)?g.templateUrl(t,n):g.templateUrl,b=g.templateNamespace;return t.empty(),h(v).then((function(f){var h,y,x,w;if(f=ee(f),g.replace){if(x=lt(f)?[]:wn(Ce(b,K(f))),h=x[0],1!==x.length||1!==h.nodeType)throw fn("tplrt","Template for directive '{0}' must have exactly one root element. {1}",g.name,v);y={$attr:{}},De(r,t,h);var A=fe(h,[],y);L(g.scope)&&ye(A,!0),e=A.concat(e),Ae(n,y)}else h=p,t.html(f);for(e.unshift(m),c=ve(e,h,n,i,t,g,o,s,l),k(r,(function(e,n){e===h&&(r[n]=t[0])})),u=le(t[0].childNodes,i);d.length;){var E=d.shift(),S=d.shift(),$=d.shift(),C=d.shift(),_=t[0];if(!E.$$destroyed){if(S!==p){var O=S.className;l.hasElementTranscludeDirective&&g.replace||(_=ft(h)),De($,a(S),_),Y(a(_),O)}w=c.transcludeOnThisElement?ue(E,c.transclude,C):C,c(u,E,_,r,w)}}d=null})).catch((function(e){H(e)&&f(e)})),function(e,t,n,r,i){var o=i;t.$$destroyed||(d?d.push(t,n,r,o):(c.transcludeOnThisElement&&(o=ue(t,c.transclude,i)),c(u,t,n,r,o)))}}function Se(e,t){var n=t.priority-e.priority;return 0!==n?n:e.name!==t.name?e.name<t.name?-1:1:e.index-t.index}function $e(e,t,n,r){function i(e){return e?" (module: "+e+")":""}if(t)throw fn("multidir","Multiple directives [{0}{1}, {2}{3}] asking for {4} on: {5}",t.name,i(t.$$moduleName),n.name,i(n.$$moduleName),e,xe(r))}function Ce(t,n){switch(t=d(t||"html")){case"svg":case"math":var r=e.document.createElement("div");return r.innerHTML="<"+t+">"+n+"</"+t+">",r.childNodes[0].childNodes;default:return n}}function _e(e){return V(C.valueOf(e),"ng-prop-srcset")}function Oe(e,t,n,r){if(p.test(r))throw fn("nodomevents","Property bindings for HTML DOM event properties are disallowed");var i=ne(e),o=function(e,t){var n=t.toLowerCase();return A[e+"|"+n]||A["*|"+n]}(i,r),a=R;"srcset"!==r||"img"!==i&&"source"!==i?o&&(a=C.getTrusted.bind(C,o)):a=_e,t.push({priority:100,compile:function(e,t){var i=E(t[n]),o=E(t[n],(function(e){return C.valueOf(e)}));return{pre:function(e,t){function n(){var n=i(e);t[0][r]=a(n)}n(),e.$watch(o,n)}}}})}function Te(e,t,n){e.push(Po(E,$,f,t,n,!1))}function je(e,t,r,i,o){var a=ne(e),s=function(e,t){return"srcdoc"===t?C.HTML:"src"===t||"ngSrc"===t?-1===["img","video","audio","source","track"].indexOf(e)?C.RESOURCE_URL:C.MEDIA_URL:"xlinkHref"===t?"image"===e?C.MEDIA_URL:"a"===e?C.URL:C.RESOURCE_URL:"form"===e&&"action"===t||"base"===e&&"href"===t||"link"===e&&"href"===t?C.RESOURCE_URL:"a"!==e||"href"!==t&&"ngHref"!==t?void 0:C.URL}(a,i),c=!o,u=l[i]||o,d=n(r,c,s,u);if(d){if("multiple"===i&&"select"===a)throw fn("selmulti","Binding to the 'multiple' attribute is not supported. Element: {0}",xe(e));if(p.test(i))throw fn("nodomevents","Interpolations for HTML DOM event attributes are disallowed");t.push({priority:100,compile:function(){return{pre:function(e,t,o){var a=o.$$observers||(o.$$observers=Le()),l=o[i];l!==r&&(d=l&&n(l,!0,s,u),r=l),d&&(o[i]=d(e),(a[i]||(a[i]=[])).$$inter=!0,(o.$$observers&&o.$$observers[i].$$scope||e).$watch(d,(function(e,t){"class"===i&&e!==t?o.$updateClass(e,t):o.$set(i,e)})))}}}})}}function De(t,n,r){var i,o,s=n[0],l=n.length,c=s.parentNode;if(t)for(i=0,o=t.length;i<o;i++)if(t[i]===s){t[i++]=r;for(var u=i,d=u+l-1,p=t.length;u<p;u++,d++)d<p?t[u]=t[d]:delete t[u];t.length-=l-1,t.context===s&&(t.context=r);break}c&&c.replaceChild(r,s);var f=e.document.createDocumentFragment();for(i=0;i<l;i++)f.appendChild(n[i]);for(a.hasData(s)&&(a.data(r,a.data(s)),a(s).off("$destroy")),a.cleanData(f.querySelectorAll("*")),i=1;i<l;i++)delete n[i];n[0]=r,n.length=1}function Re(e,t){return _((function(){return e.apply(null,arguments)}),e,t)}function Ne(e,t,n,r,i,o){try{e(t,n,r,i,o)}catch(e){f(e,xe(n))}}function Me(e,t){if(b)throw fn("missingattr","Attribute '{0}' of '{1}' is non-optional and must be set!",e,t)}function ze(e,t,r,i,o){var a,s=[],l={};function c(t,n,i){G(r.$onChanges)&&!ae(n,i)&&(T||(e.$$postDigest(q),T=[]),a||(a={},T.push(d)),a[t]&&(i=a[t].previousValue),a[t]=new mn(i,n))}function d(){r.$onChanges(a),a=void 0}return k(i,(function(i,a){var d,p,f,h,g,m=i.attrName,v=i.optional;switch(i.mode){case"@":v||u.call(t,m)||(Me(m,o.name),r[a]=t[m]=void 0),g=t.$observe(m,(function(e){if(F(e)||Z(e)){var t=r[a];c(a,e,t),r[a]=e}})),t.$$observers[m].$$scope=e,F(d=t[m])?r[a]=n(d)(e):Z(d)&&(r[a]=d),l[a]=new mn(hn,r[a]),s.push(g);break;case"=":if(!u.call(t,m)){if(v)break;Me(m,o.name),t[m]=void 0}if(v&&!t[m])break;p=E(t[m]),h=p.literal?se:ae,f=p.assign||function(){throw d=r[a]=p(e),fn("nonassign","Expression '{0}' in attribute '{1}' used with directive '{2}' is non-assignable!",t[m],m,o.name)},d=r[a]=p(e);var b=function(t){return h(t,r[a])||(h(t,d)?f(e,t=r[a]):r[a]=t),d=t};b.$stateful=!0,g=i.collection?e.$watchCollection(t[m],b):e.$watch(E(t[m],b),null,p.literal),s.push(g);break;case"<":if(!u.call(t,m)){if(v)break;Me(m,o.name),t[m]=void 0}if(v&&!t[m])break;var y=(p=E(t[m])).literal,x=r[a]=p(e);l[a]=new mn(hn,r[a]),g=e[i.collection?"$watchCollection":"$watch"](p,(function(e,t){if(t===e){if(t===x||y&&se(t,x))return;t=x}c(a,e,t),r[a]=e})),s.push(g);break;case"&":if(v||u.call(t,m)||Me(m,o.name),(p=t.hasOwnProperty(m)?E(t[m]):D)===D&&v)break;r[a]=function(t){return p(e,t)}}})),{initialChanges:l,removeWatches:s.length&&function(){for(var e=0,t=s.length;e<t;++e)s[e]()}}}}]}function mn(e,t){this.previousValue=e,this.currentValue=t}gn.$inject=["$provide","$$sanitizeUriProvider"],mn.prototype.isFirstChange=function(){return this.previousValue===hn};var vn=/^((?:x|data)[:\-_])/i,bn=/[:\-_]+(.)/g;function yn(e){return e.replace(vn,"").replace(bn,(function(e,t,n){return n?t.toUpperCase():t}))}function xn(e,t){var n="",r=e.split(/\s+/),i=t.split(/\s+/);e:for(var o=0;o<r.length;o++){for(var a=r[o],s=0;s<i.length;s++)if(a===i[s])continue e;n+=(n.length>0?" ":"")+a}return n}function wn(e){var t=(e=a(e)).length;if(t<=1)return e;for(;t--;){var n=e[t];(8===n.nodeType||n.nodeType===Fe&&""===n.nodeValue.trim())&&h.call(e,t,1)}return e}var kn=i("$controller"),An=/^(\S+)(\s+as\s+([\w$]+))?$/;function En(e,t){if(t&&F(t))return t;if(F(e)){var n=An.exec(e);if(n)return n[3]}}function Sn(){var e={};this.has=function(t){return e.hasOwnProperty(t)},this.register=function(t,n){Me(t,"controller"),L(t)?_(e,t):e[t]=n},this.$get=["$injector",function(t){return function(r,i,o,a){var s,l,c,u;if(o=!0===o,a&&F(a)&&(u=a),F(r)){if(!(l=r.match(An)))throw kn("ctrlfmt","Badly formed controller string '{0}'. Must match `__name__ as __id__` or `__name__`.",r);if(c=l[1],u=u||l[3],!(r=e.hasOwnProperty(c)?e[c]:function(e,t,n){if(!t)return e;for(var r,i=t.split("."),o=e,a=i.length,s=0;s<a;s++)r=i[s],e&&(e=(o=e)[r]);return!n&&G(e)?pe(o,e):e}(i.$scope,c,!0)))throw kn("ctrlreg","The controller with the name '{0}' is not registered.",c);Ne(r,c,!0)}if(o){var d=(U(r)?r[r.length-1]:r).prototype;return s=Object.create(d||null),u&&n(i,u,s,c||r.name),_((function(){var e=t.invoke(r,s,i,c);return e!==s&&(L(e)||G(e))&&(s=e,u&&n(i,u,s,c||r.name)),s}),{instance:s,identifier:u})}return s=t.instantiate(r,i,c),u&&n(i,u,s,c||r.name),s};function n(e,t,n,r){if(!e||!L(e.$scope))throw i("$controller")("noscp","Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.",r,t);e.$scope[t]=n}}]}function $n(){this.$get=["$window",function(e){return a(e.document)}]}function Cn(){this.$get=["$document","$rootScope",function(e,t){var n=e[0],r=n&&n.hidden;function i(){r=n.hidden}return e.on("visibilitychange",i),t.$on("$destroy",(function(){e.off("visibilitychange",i)})),function(){return r}}]}function _n(){this.$get=["$log",function(e){return function(t,n){e.error.apply(e,arguments)}}]}var On=function(){this.$get=["$document",function(e){return function(t){return t?!t.nodeType&&t instanceof a&&(t=t[0]):t=e[0].body,t.offsetWidth+1}}]},Tn={"Content-Type":"application/json;charset=utf-8"},jn=/^\[|^\{(?!\{)/,Pn={"[":/]$/,"{":/}$/},Dn=/^\)]\}',?\n/,Rn=i("$http");function In(e){return L(e)?V(e)?e.toISOString():he(e):e}function Nn(){this.$get=function(){return function(e){if(!e)return"";var t=[];return A(e,(function(e,n){null===e||M(e)||G(e)||(U(e)?k(e,(function(e){t.push(Ee(n)+"="+Ee(In(e)))})):t.push(Ee(n)+"="+Ee(In(e))))})),t.join("&")}}}function Mn(){this.$get=function(){return function(e){if(!e)return"";var t=[];return function e(n,r,i){U(n)?k(n,(function(t,n){e(t,r+"["+(L(t)?n:"")+"]")})):L(n)&&!V(n)?A(n,(function(t,n){e(t,r+(i?"":"[")+n+(i?"":"]"))})):(G(n)&&(n=n()),t.push(Ee(r)+"="+(null==n?"":Ee(In(n)))))}(e,"",!0),t.join("&")}}}function zn(e,t){if(F(e)){var n=e.replace(Dn,"").trim();if(n){var r=t("Content-Type"),i=r&&0===r.indexOf("application/json");if(i||(a=(o=n).match(jn))&&Pn[a[0]].test(o))try{e=ge(n)}catch(t){if(!i)return e;throw Rn("baddata",'Data must be a valid JSON object. Received: "{0}". Parse error: "{1}"',e,t)}}}var o,a;return e}function Ln(e){var t,n=Le();function r(e,t){e&&(n[e]=n[e]?n[e]+", "+t:t)}return F(e)?k(e.split("\n"),(function(e){t=e.indexOf(":"),r(d(K(e.substr(0,t))),K(e.substr(t+1)))})):L(e)&&k(e,(function(e,t){r(d(t),K(e))})),n}function Bn(e){var t;return function(n){if(t||(t=Ln(e)),n){var r=t[d(n)];return void 0===r&&(r=null),r}return t}}function Fn(e,t,n,r){return G(r)?r(e,t,n):(k(r,(function(r){e=r(e,t,n)})),e)}function qn(e){return 200<=e&&e<300}function Vn(){var e=this.defaults={transformResponse:[zn],transformRequest:[function(e){return!L(e)||(t=e,"[object File]"===m.call(t))||function(e){return"[object Blob]"===m.call(e)}(e)||function(e){return"[object FormData]"===m.call(e)}(e)?e:he(e);var t}],headers:{common:{Accept:"application/json, text/plain, */*"},post:qe(Tn),put:qe(Tn),patch:qe(Tn)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",paramSerializer:"$httpParamSerializer",jsonpCallbackParam:"callback"},t=!1;this.useApplyAsync=function(e){return z(e)?(t=!!e,this):t};var n=this.interceptors=[],r=this.xsrfTrustedOrigins=[];Object.defineProperty(this,"xsrfWhitelistedOrigins",{get:function(){return this.xsrfTrustedOrigins},set:function(e){this.xsrfTrustedOrigins=e}}),this.$get=["$browser","$httpBackend","$$cookieReader","$cacheFactory","$rootScope","$q","$injector","$sce",function(o,a,s,l,c,u,f,h){var g=l("$http");e.paramSerializer=F(e.paramSerializer)?f.get(e.paramSerializer):e.paramSerializer;var m=[];k(n,(function(e){m.unshift(F(e)?f.get(e):f.invoke(e))}));var v,b=(v=[ai].concat(r.map(li)),function(e){var t=li(e);return v.some(ci.bind(null,t))});function y(n){if(!L(n))throw i("$http")("badreq","Http request configuration must be an object. Received: {0}",n);if(!F(h.valueOf(n.url)))throw i("$http")("badreq","Http request configuration url must be a string or a $sce trusted object. Received: {0}",n.url);var r=_({method:"get",transformRequest:e.transformRequest,transformResponse:e.transformResponse,paramSerializer:e.paramSerializer,jsonpCallbackParam:e.jsonpCallbackParam},n);r.headers=function(t){var n,r,i,o=e.headers,a=_({},t.headers);o=_({},o.common,o[d(t.method)]);e:for(n in o){for(i in r=d(n),a)if(d(i)===r)continue e;a[n]=o[n]}return function(e,t){var n,r={};return k(e,(function(e,i){G(e)?null!=(n=e(t))&&(r[i]=n):r[i]=e})),r}(a,qe(t))}(n),r.method=p(r.method),r.paramSerializer=F(r.paramSerializer)?f.get(r.paramSerializer):r.paramSerializer,o.$$incOutstandingRequestCount("$http");var l=[],v=[],x=u.resolve(r);return k(m,(function(e){(e.request||e.requestError)&&l.unshift(e.request,e.requestError),(e.response||e.responseError)&&v.push(e.response,e.responseError)})),x=w(x,l),x=(x=w(x=x.then((function(n){var r=n.headers,i=Fn(n.data,Bn(r),void 0,n.transformRequest);M(i)&&k(r,(function(e,t){"content-type"===d(t)&&delete r[t]}));M(n.withCredentials)&&!M(e.withCredentials)&&(n.withCredentials=e.withCredentials);return function(n,r){var i,o,l=u.defer(),p=l.promise,f=n.headers,m="jsonp"===d(n.method),v=n.url;m?v=h.getTrustedResourceUrl(v):F(v)||(v=h.valueOf(v));v=function(e,t){t.length>0&&(e+=(-1===e.indexOf("?")?"?":"&")+t);return e}(v,n.paramSerializer(n.params)),m&&(v=function(e,t){var n=e.split("?");if(n.length>2)throw Rn("badjsonp",'Illegal use more than one "?", in url, "{1}"',e);return k(ke(n[1]),(function(n,r){if("JSON_CALLBACK"===n)throw Rn("badjsonp",'Illegal use of JSON_CALLBACK in url, "{0}"',e);if(r===t)throw Rn("badjsonp",'Illegal use of callback param, "{0}", in url, "{1}"',t,e)})),e+=(-1===e.indexOf("?")?"?":"&")+t+"=JSON_CALLBACK"}(v,n.jsonpCallbackParam));y.pendingRequests.push(n),p.then(S,S),!n.cache&&!e.cache||!1===n.cache||"GET"!==n.method&&"JSONP"!==n.method||(i=L(n.cache)?n.cache:L(e.cache)?e.cache:g);i&&(z(o=i.get(v))?Q(o)?o.then(E,E):U(o)?A(o[1],o[0],qe(o[2]),o[3],o[4]):A(o,200,{},"OK","complete"):i.put(v,p));if(M(o)){var x=b(n.url)?s()[n.xsrfCookieName||e.xsrfCookieName]:void 0;x&&(f[n.xsrfHeaderName||e.xsrfHeaderName]=x),a(n.method,v,r,(function(e,n,r,o,a){i&&(qn(e)?i.put(v,[e,n,Ln(r),o,a]):i.remove(v));function s(){A(n,e,r,o,a)}t?c.$applyAsync(s):(s(),c.$$phase||c.$apply())}),f,n.timeout,n.withCredentials,n.responseType,w(n.eventHandlers),w(n.uploadEventHandlers))}return p;function w(e){if(e){var n={};return k(e,(function(e,r){n[r]=function(n){function r(){e(n)}t?c.$applyAsync(r):c.$$phase?r():c.$apply(r)}})),n}}function A(e,t,r,i,o){(qn(t=t>=-1?t:0)?l.resolve:l.reject)({data:e,status:t,headers:Bn(r),config:n,statusText:i,xhrStatus:o})}function E(e){A(e.data,e.status,qe(e.headers()),e.statusText,e.xhrStatus)}function S(){var e=y.pendingRequests.indexOf(n);-1!==e&&y.pendingRequests.splice(e,1)}}(n,i).then(A,A)})),v)).finally((function(){o.$$completeOutstandingRequest(D,"$http")}));function w(e,t){for(var n=0,r=t.length;n<r;){var i=t[n++],o=t[n++];e=e.then(i,o)}return t.length=0,e}function A(e){var t=_({},e);return t.data=Fn(e.data,e.headers,e.status,r.transformResponse),qn(e.status)?t:u.reject(t)}}return y.pendingRequests=[],function(e){k(arguments,(function(e){y[e]=function(t,n){return y(_({},n||{},{method:e,url:t}))}}))}("get","delete","head","jsonp"),function(e){k(arguments,(function(e){y[e]=function(t,n,r){return y(_({},r||{},{method:e,url:t,data:n}))}}))}("post","put","patch"),y.defaults=e,y}]}function Un(){this.$get=function(){return function(){return new e.XMLHttpRequest}}}function Hn(){this.$get=["$browser","$jsonpCallbacks","$document","$xhrFactory",function(e,t,n,r){return function(e,t,n,r,i){return function(o,a,s,l,c,u,p,f,h,g){if(a=a||e.url(),"jsonp"===d(o))var m=r.createCallback(a),v=function(e,t,n){e=e.replace("JSON_CALLBACK",t);var o=i.createElement("script"),a=null;return o.type="text/javascript",o.src=e,o.async=!0,a=function(e){o.removeEventListener("load",a),o.removeEventListener("error",a),i.body.removeChild(o),o=null;var s=-1,l="unknown";e&&("load"!==e.type||r.wasCalled(t)||(e={type:"error"}),l=e.type,s="error"===e.type?404:200),n&&n(s,l)},o.addEventListener("load",a),o.addEventListener("error",a),i.body.appendChild(o),a}(a,m,(function(e,t){var n=200===e&&r.getResponse(m);A(l,e,n,"",t,"complete"),r.removeCallback(m)}));else{var b=t(o,a),y=!1;b.open(o,a,!0),k(c,(function(e,t){z(e)&&b.setRequestHeader(t,e)})),b.onload=function(){var e=b.statusText||"",t="response"in b?b.response:b.responseText,n=1223===b.status?204:b.status;0===n&&(n=t?200:"file"===li(a).protocol?404:0),A(l,n,t,b.getAllResponseHeaders(),e,"complete")};if(b.onerror=function(){A(l,-1,null,null,"","error")},b.ontimeout=function(){A(l,-1,null,null,"","timeout")},b.onabort=function(){A(l,-1,null,null,"",y?"timeout":"abort")},k(h,(function(e,t){b.addEventListener(t,e)})),k(g,(function(e,t){b.upload.addEventListener(t,e)})),p&&(b.withCredentials=!0),f)try{b.responseType=f}catch(e){if("json"!==f)throw e}b.send(M(s)?null:s)}if(u>0)var x=n((function(){w("timeout")}),u);else Q(u)&&u.then((function(){w(z(u.$$timeoutId)?"timeout":"abort")}));function w(e){y="timeout"===e,v&&v(),b&&b.abort()}function A(e,t,r,i,o,a){z(x)&&n.cancel(x),v=b=null,e(t,r,i,o,a)}}}(e,r,e.defer,t,n[0])}]}var Gn=y.$interpolateMinErr=i("$interpolate");function Wn(){var e="{{",t="}}";this.startSymbol=function(t){return t?(e=t,this):e},this.endSymbol=function(e){return e?(t=e,this):t},this.$get=["$parse","$exceptionHandler","$sce",function(n,r,i){var o=e.length,a=t.length,s=new RegExp(e.replace(/./g,c),"g"),l=new RegExp(t.replace(/./g,c),"g");function c(e){return"\\\\\\"+e}function u(n){return n.replace(s,e).replace(l,t)}function d(e,t,n,r){var i=e.$watch((function(e){return i(),r(e)}),t,n);return i}function p(s,l,c,p){var f=c===i.URL||c===i.MEDIA_URL;if(!s.length||-1===s.indexOf(e)){if(l)return;var h=u(s);f&&(h=i.getTrusted(c,h));var g=I(h);return g.exp=s,g.expressions=[],g.$$watchDelegate=d,g}p=!!p;for(var m,v,b,y,x,w=0,k=[],A=s.length,E=[],S=[];w<A;){if(-1===(m=s.indexOf(e,w))||-1===(v=s.indexOf(t,m+o))){w!==A&&E.push(u(s.substring(w)));break}w!==m&&E.push(u(s.substring(w,m))),y=s.substring(m+o,v),k.push(y),w=v+a,S.push(E.length),E.push("")}x=1===E.length&&1===S.length;var $=f&&x?void 0:function(e){try{return e=c&&!f?i.getTrusted(c,e):i.valueOf(e),p&&!z(e)?e:Be(e)}catch(e){r(Gn.interr(s,e))}};if(b=k.map((function(e){return n(e,$)})),!l||k.length){var C=function(e){for(var t=0,n=k.length;t<n;t++){if(p&&M(e[t]))return;E[S[t]]=e[t]}return f?i.getTrusted(c,x?E[0]:E.join("")):(c&&E.length>1&&Gn.throwNoconcat(s),E.join(""))};return _((function(e){var t=0,n=k.length,i=new Array(n);try{for(;t<n;t++)i[t]=b[t](e);return C(i)}catch(e){r(Gn.interr(s,e))}}),{exp:s,expressions:k,$$watchDelegate:function(e,t){var n;return e.$watchGroup(b,(function(r,i){var o=C(r);t.call(this,o,r!==i?n:o,e),n=o}))}})}}return p.startSymbol=function(){return e},p.endSymbol=function(){return t},p}]}Gn.throwNoconcat=function(e){throw Gn("noconcat","Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required. See http://docs.angularjs.org/api/ng.$sce",e)},Gn.interr=function(e,t){return Gn("interr","Can't interpolate: {0}\n{1}",e,t.toString())};var Yn=i("$interval");function Xn(){this.$get=["$$intervalFactory","$window",function(e,t){var n={},r=function(e){t.clearInterval(e),delete n[e]},i=e((function(e,r,i){var o=t.setInterval(e,r);return n[o]=i,o}),r);return i.cancel=function(e){if(!e)return!1;if(!e.hasOwnProperty("$$intervalId"))throw Yn("badprom","`$interval.cancel()` called with a promise that was not generated by `$interval()`.");if(!n.hasOwnProperty(e.$$intervalId))return!1;var t=e.$$intervalId,i=n[t];return Lr(i.promise),i.reject("canceled"),r(t),!0},i}]}function Zn(){this.$get=["$browser","$q","$$q","$rootScope",function(e,t,n,r){return function(i,o){return function(a,s,l,c){var u=arguments.length>4,d=u?de(arguments,4):[],p=0,f=z(c)&&!c,h=(f?n:t).defer(),g=h.promise;function m(){u?a.apply(null,d):a(p)}function v(){f?e.defer(m):r.$evalAsync(m),h.notify(p++),l>0&&p>=l&&(h.resolve(p),o(g.$$intervalId)),f||r.$apply()}return l=z(l)?l:0,g.$$intervalId=i(v,s,h,f),g}}}]}var Qn=function(){this.$get=function(){var e=y.callbacks,t={};return{createCallback:function(n){var r="_"+(e.$$counter++).toString(36),i="angular.callbacks."+r,o=function(e){var t=function(e){t.data=e,t.called=!0};return t.id=e,t}(r);return t[i]=e[r]=o,i},wasCalled:function(e){return t[e].called},getResponse:function(e){return t[e].data},removeCallback:function(n){var r=t[n];delete e[r.id],delete t[n]}}}},Jn=/^([^?#]*)(\?([^#]*))?(#(.*))?$/,Kn={http:80,https:443,ftp:21},er=i("$location");function tr(e,t,n){var r,i=(r=[],k(t,(function(e,t){U(e)?k(e,(function(e){r.push(Ee(t,!0)+(!0===e?"":"="+Ee(e,!0)))})):r.push(Ee(t,!0)+(!0===e?"":"="+Ee(e,!0)))})),r.length?r.join("&"):""),o=n?"#"+Ae(n):"";return function(e){for(var t=e.split("/"),n=t.length;n--;)t[n]=Ae(t[n].replace(/%2F/g,"/"));return t.join("/")}(e)+(i?"?"+i:"")+o}function nr(e,t){var n=li(e);t.$$protocol=n.protocol,t.$$host=n.hostname,t.$$port=T(n.port)||Kn[n.protocol]||null}var rr=/^\s*[\\/]{2,}/;function ir(e,t,n){if(rr.test(e))throw er("badpath",'Invalid url "{0}".',e);var r="/"!==e.charAt(0);r&&(e="/"+e);var i=li(e),o=r&&"/"===i.pathname.charAt(0)?i.pathname.substring(1):i.pathname;t.$$path=function(e,t){for(var n=e.split("/"),r=n.length;r--;)n[r]=decodeURIComponent(n[r]),t&&(n[r]=n[r].replace(/\//g,"%2F"));return n.join("/")}(o,n),t.$$search=ke(i.search),t.$$hash=decodeURIComponent(i.hash),t.$$path&&"/"!==t.$$path.charAt(0)&&(t.$$path="/"+t.$$path)}function or(e,t){return e.slice(0,t.length)===t}function ar(e,t){if(or(t,e))return t.substr(e.length)}function sr(e){var t=e.indexOf("#");return-1===t?e:e.substr(0,t)}function lr(e,t,n){this.$$html5=!0,n=n||"",nr(e,this),this.$$parse=function(e){var n=ar(t,e);if(!F(n))throw er("ipthprfx",'Invalid url "{0}", missing path prefix "{1}".',e,t);ir(n,this,!0),this.$$path||(this.$$path="/"),this.$$compose()},this.$$normalizeUrl=function(e){return t+e.substr(1)},this.$$parseLinkUrl=function(r,i){return i&&"#"===i[0]?(this.hash(i.slice(1)),!0):(z(o=ar(e,r))?(a=o,s=n&&z(o=ar(n,o))?t+(ar("/",o)||o):e+a):z(o=ar(t,r))?s=t+o:t===r+"/"&&(s=t),s&&this.$$parse(s),!!s);var o,a,s}}function cr(e,t,n){nr(e,this),this.$$parse=function(r){var i,o=ar(e,r)||ar(t,r);M(o)||"#"!==o.charAt(0)?this.$$html5?i=o:(i="",M(o)&&(e=r,this.replace())):M(i=ar(n,o))&&(i=o),ir(i,this,!1),this.$$path=function(e,t,n){var r,i=/^\/[A-Z]:(\/.*)/;or(t,n)&&(t=t.replace(n,""));if(i.exec(t))return e;return(r=i.exec(e))?r[1]:e}(this.$$path,i,e),this.$$compose()},this.$$normalizeUrl=function(t){return e+(t?n+t:"")},this.$$parseLinkUrl=function(t,n){return sr(e)===sr(t)&&(this.$$parse(t),!0)}}function ur(e,t,n){this.$$html5=!0,cr.apply(this,arguments),this.$$parseLinkUrl=function(r,i){return i&&"#"===i[0]?(this.hash(i.slice(1)),!0):(e===sr(r)?o=r:(a=ar(t,r))?o=e+n+a:t===r+"/"&&(o=t),o&&this.$$parse(o),!!o);var o,a},this.$$normalizeUrl=function(t){return e+n+t}}var dr={$$absUrl:"",$$html5:!1,$$replace:!1,$$compose:function(){this.$$url=tr(this.$$path,this.$$search,this.$$hash),this.$$absUrl=this.$$normalizeUrl(this.$$url),this.$$urlUpdatedByLocation=!0},absUrl:pr("$$absUrl"),url:function(e){if(M(e))return this.$$url;var t=Jn.exec(e);return(t[1]||""===e)&&this.path(decodeURIComponent(t[1])),(t[2]||t[1]||""===e)&&this.search(t[3]||""),this.hash(t[5]||""),this},protocol:pr("$$protocol"),host:pr("$$host"),port:pr("$$port"),path:fr("$$path",(function(e){return"/"===(e=null!==e?e.toString():"").charAt(0)?e:"/"+e})),search:function(e,t){switch(arguments.length){case 0:return this.$$search;case 1:if(F(e)||q(e))e=e.toString(),this.$$search=ke(e);else{if(!L(e))throw er("isrcharg","The first argument of the `$location#search()` call must be a string or an object.");k(e=oe(e,{}),(function(t,n){null==t&&delete e[n]})),this.$$search=e}break;default:M(t)||null===t?delete this.$$search[e]:this.$$search[e]=t}return this.$$compose(),this},hash:fr("$$hash",(function(e){return null!==e?e.toString():""})),replace:function(){return this.$$replace=!0,this}};function pr(e){return function(){return this[e]}}function fr(e,t){return function(n){return M(n)?this[e]:(this[e]=t(n),this.$$compose(),this)}}function hr(){var e="!",t={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(t){return z(t)?(e=t,this):e},this.html5Mode=function(e){return Z(e)?(t.enabled=e,this):L(e)?(Z(e.enabled)&&(t.enabled=e.enabled),Z(e.requireBase)&&(t.requireBase=e.requireBase),(Z(e.rewriteLinks)||F(e.rewriteLinks))&&(t.rewriteLinks=e.rewriteLinks),this):t},this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function(n,r,i,o,s){var l,c,u,d,p=r.baseHref(),f=r.url();if(t.enabled){if(!p&&t.requireBase)throw er("nobase","$location in HTML5 mode requires a <base> tag to be present!");u=(d=f).substring(0,d.indexOf("/",d.indexOf("//")+2))+(p||"/"),c=i.history?lr:ur}else u=sr(f),c=cr;var h=function(e){return e.substr(0,sr(e).lastIndexOf("/")+1)}(u);(l=new c(u,h,"#"+e)).$$parseLinkUrl(f,f),l.$$state=r.state();var g=/^\s*(javascript|mailto):/i;function m(e,t,n){var i=l.url(),o=l.$$state;try{r.url(e,t,n),l.$$state=r.state()}catch(e){throw l.url(i),l.$$state=o,e}}o.on("click",(function(e){var i=t.rewriteLinks;if(i&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey&&2!==e.which&&2!==e.button){for(var s=a(e.target);"a"!==ne(s[0]);)if(s[0]===o[0]||!(s=s.parent())[0])return;if(!F(i)||!M(s.attr(i))){var c=s.prop("href"),u=s.attr("href")||s.attr("xlink:href");L(c)&&"[object SVGAnimatedString]"===c.toString()&&(c=li(c.animVal).href),g.test(c)||!c||s.attr("target")||e.isDefaultPrevented()||l.$$parseLinkUrl(c,u)&&(e.preventDefault(),l.absUrl()!==r.url()&&n.$apply())}}})),l.absUrl()!==f&&r.url(l.absUrl(),!0);var v=!0;return r.onUrlChange((function(e,t){or(e,h)?(n.$evalAsync((function(){var r,i=l.absUrl(),o=l.$$state;l.$$parse(e),l.$$state=t,r=n.$broadcast("$locationChangeStart",e,i,t,o).defaultPrevented,l.absUrl()===e&&(r?(l.$$parse(i),l.$$state=o,m(i,!1,o)):(v=!1,b(i,o)))})),n.$$phase||n.$digest()):s.location.href=e})),n.$watch((function(){if(v||l.$$urlUpdatedByLocation){l.$$urlUpdatedByLocation=!1;var e=r.url(),t=l.absUrl(),o=r.state(),a=l.$$replace,s=!((c=e)===(u=t)||li(c).href===li(u).href)||l.$$html5&&i.history&&o!==l.$$state;(v||s)&&(v=!1,n.$evalAsync((function(){var t=l.absUrl(),r=n.$broadcast("$locationChangeStart",t,e,l.$$state,o).defaultPrevented;l.absUrl()===t&&(r?(l.$$parse(e),l.$$state=o):(s&&m(t,a,o===l.$$state?null:l.$$state),b(e,o)))})))}var c,u;l.$$replace=!1})),l;function b(e,t){n.$broadcast("$locationChangeSuccess",l.absUrl(),e,l.$$state,t)}}]}function gr(){var e=!0,t=this;this.debugEnabled=function(t){return z(t)?(e=t,this):e},this.$get=["$window",function(n){var r,i=o||/\bEdge\//.test(n.navigator&&n.navigator.userAgent);return{log:s("log"),info:s("info"),warn:s("warn"),error:s("error"),debug:(r=s("debug"),function(){e&&r.apply(t,arguments)})};function a(e){return H(e)&&(e.stack&&i?e=e.message&&-1===e.stack.indexOf(e.message)?"Error: "+e.message+"\n"+e.stack:e.stack:e.sourceURL&&(e=e.message+"\n"+e.sourceURL+":"+e.line)),e}function s(e){var t=n.console||{},r=t[e]||t.log||D;return function(){var e=[];return k(arguments,(function(t){e.push(a(t))})),Function.prototype.apply.call(r,t,e)}}}]}k([ur,cr,lr],(function(e){e.prototype=Object.create(dr),e.prototype.state=function(t){if(!arguments.length)return this.$$state;if(e!==lr||!this.$$html5)throw er("nostate","History API state support is available only in HTML5 mode and only in browsers supporting HTML5 History API");return this.$$state=M(t)?null:t,this.$$urlUpdatedByLocation=!0,this}}));var mr=i("$parse"),vr={}.constructor.prototype.valueOf;function br(e){return e+""}var yr=Le();k("+ - * / % === !== == != < > <= >= && || ! = |".split(" "),(function(e){yr[e]=!0}));var xr={n:"\n",f:"\f",r:"\r",t:"\t",v:"\v","'":"'",'"':'"'},wr=function(e){this.options=e};wr.prototype={constructor:wr,lex:function(e){for(this.text=e,this.index=0,this.tokens=[];this.index<this.text.length;){var t=this.text.charAt(this.index);if('"'===t||"'"===t)this.readString(t);else if(this.isNumber(t)||"."===t&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdentifierStart(this.peekMultichar()))this.readIdent();else if(this.is(t,"(){}[].,;:?"))this.tokens.push({index:this.index,text:t}),this.index++;else if(this.isWhitespace(t))this.index++;else{var n=t+this.peek(),r=n+this.peek(2),i=yr[t],o=yr[n],a=yr[r];if(i||o||a){var s=a?r:o?n:t;this.tokens.push({index:this.index,text:s,operator:!0}),this.index+=s.length}else this.throwError("Unexpected next character ",this.index,this.index+1)}}return this.tokens},is:function(e,t){return-1!==t.indexOf(e)},peek:function(e){var t=e||1;return this.index+t<this.text.length&&this.text.charAt(this.index+t)},isNumber:function(e){return"0"<=e&&e<="9"&&"string"==typeof e},isWhitespace:function(e){return" "===e||"\r"===e||"\t"===e||"\n"===e||"\v"===e||" "===e},isIdentifierStart:function(e){return this.options.isIdentifierStart?this.options.isIdentifierStart(e,this.codePointAt(e)):this.isValidIdentifierStart(e)},isValidIdentifierStart:function(e){return"a"<=e&&e<="z"||"A"<=e&&e<="Z"||"_"===e||"$"===e},isIdentifierContinue:function(e){return this.options.isIdentifierContinue?this.options.isIdentifierContinue(e,this.codePointAt(e)):this.isValidIdentifierContinue(e)},isValidIdentifierContinue:function(e,t){return this.isValidIdentifierStart(e,t)||this.isNumber(e)},codePointAt:function(e){return 1===e.length?e.charCodeAt(0):(e.charCodeAt(0)<<10)+e.charCodeAt(1)-56613888},peekMultichar:function(){var e=this.text.charAt(this.index),t=this.peek();if(!t)return e;var n=e.charCodeAt(0),r=t.charCodeAt(0);return n>=55296&&n<=56319&&r>=56320&&r<=57343?e+t:e},isExpOperator:function(e){return"-"===e||"+"===e||this.isNumber(e)},throwError:function(e,t,n){n=n||this.index;var r=z(t)?"s "+t+"-"+this.index+" ["+this.text.substring(t,n)+"]":" "+n;throw mr("lexerr","Lexer Error: {0} at column{1} in expression [{2}].",e,r,this.text)},readNumber:function(){for(var e="",t=this.index;this.index<this.text.length;){var n=d(this.text.charAt(this.index));if("."===n||this.isNumber(n))e+=n;else{var r=this.peek();if("e"===n&&this.isExpOperator(r))e+=n;else if(this.isExpOperator(n)&&r&&this.isNumber(r)&&"e"===e.charAt(e.length-1))e+=n;else{if(!this.isExpOperator(n)||r&&this.isNumber(r)||"e"!==e.charAt(e.length-1))break;this.throwError("Invalid exponent")}}this.index++}this.tokens.push({index:t,text:e,constant:!0,value:Number(e)})},readIdent:function(){var e=this.index;for(this.index+=this.peekMultichar().length;this.index<this.text.length;){var t=this.peekMultichar();if(!this.isIdentifierContinue(t))break;this.index+=t.length}this.tokens.push({index:e,text:this.text.slice(e,this.index),identifier:!0})},readString:function(e){var t=this.index;this.index++;for(var n="",r=e,i=!1;this.index<this.text.length;){var o=this.text.charAt(this.index);if(r+=o,i){if("u"===o){var a=this.text.substring(this.index+1,this.index+5);a.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+a+"]"),this.index+=4,n+=String.fromCharCode(parseInt(a,16))}else{n+=xr[o]||o}i=!1}else if("\\"===o)i=!0;else{if(o===e)return this.index++,void this.tokens.push({index:t,text:r,constant:!0,value:n});n+=o}this.index++}this.throwError("Unterminated quote",t)}};var kr=function(e,t){this.lexer=e,this.options=t};function Ar(e,t){return void 0!==e?e:t}function Er(e,t){return void 0===e?t:void 0===t?e:e+t}kr.Program="Program",kr.ExpressionStatement="ExpressionStatement",kr.AssignmentExpression="AssignmentExpression",kr.ConditionalExpression="ConditionalExpression",kr.LogicalExpression="LogicalExpression",kr.BinaryExpression="BinaryExpression",kr.UnaryExpression="UnaryExpression",kr.CallExpression="CallExpression",kr.MemberExpression="MemberExpression",kr.Identifier="Identifier",kr.Literal="Literal",kr.ArrayExpression="ArrayExpression",kr.Property="Property",kr.ObjectExpression="ObjectExpression",kr.ThisExpression="ThisExpression",kr.LocalsExpression="LocalsExpression",kr.NGValueParameter="NGValueParameter",kr.prototype={ast:function(e){this.text=e,this.tokens=this.lexer.lex(e);var t=this.program();return 0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]),t},program:function(){for(var e=[];;)if(this.tokens.length>0&&!this.peek("}",")",";","]")&&e.push(this.expressionStatement()),!this.expect(";"))return{type:kr.Program,body:e}},expressionStatement:function(){return{type:kr.ExpressionStatement,expression:this.filterChain()}},filterChain:function(){for(var e=this.expression();this.expect("|");)e=this.filter(e);return e},expression:function(){return this.assignment()},assignment:function(){var e=this.ternary();if(this.expect("=")){if(!Cr(e))throw mr("lval","Trying to assign a value to a non l-value");e={type:kr.AssignmentExpression,left:e,right:this.assignment(),operator:"="}}return e},ternary:function(){var e,t,n=this.logicalOR();return this.expect("?")&&(e=this.expression(),this.consume(":"))?(t=this.expression(),{type:kr.ConditionalExpression,test:n,alternate:e,consequent:t}):n},logicalOR:function(){for(var e=this.logicalAND();this.expect("||");)e={type:kr.LogicalExpression,operator:"||",left:e,right:this.logicalAND()};return e},logicalAND:function(){for(var e=this.equality();this.expect("&&");)e={type:kr.LogicalExpression,operator:"&&",left:e,right:this.equality()};return e},equality:function(){for(var e,t=this.relational();e=this.expect("==","!=","===","!==");)t={type:kr.BinaryExpression,operator:e.text,left:t,right:this.relational()};return t},relational:function(){for(var e,t=this.additive();e=this.expect("<",">","<=",">=");)t={type:kr.BinaryExpression,operator:e.text,left:t,right:this.additive()};return t},additive:function(){for(var e,t=this.multiplicative();e=this.expect("+","-");)t={type:kr.BinaryExpression,operator:e.text,left:t,right:this.multiplicative()};return t},multiplicative:function(){for(var e,t=this.unary();e=this.expect("*","/","%");)t={type:kr.BinaryExpression,operator:e.text,left:t,right:this.unary()};return t},unary:function(){var e;return(e=this.expect("+","-","!"))?{type:kr.UnaryExpression,operator:e.text,prefix:!0,argument:this.unary()}:this.primary()},primary:function(){var e,t;for(this.expect("(")?(e=this.filterChain(),this.consume(")")):this.expect("[")?e=this.arrayDeclaration():this.expect("{")?e=this.object():this.selfReferential.hasOwnProperty(this.peek().text)?e=oe(this.selfReferential[this.consume().text]):this.options.literals.hasOwnProperty(this.peek().text)?e={type:kr.Literal,value:this.options.literals[this.consume().text]}:this.peek().identifier?e=this.identifier():this.peek().constant?e=this.constant():this.throwError("not a primary expression",this.peek());t=this.expect("(","[",".");)"("===t.text?(e={type:kr.CallExpression,callee:e,arguments:this.parseArguments()},this.consume(")")):"["===t.text?(e={type:kr.MemberExpression,object:e,property:this.expression(),computed:!0},this.consume("]")):"."===t.text?e={type:kr.MemberExpression,object:e,property:this.identifier(),computed:!1}:this.throwError("IMPOSSIBLE");return e},filter:function(e){for(var t=[e],n={type:kr.CallExpression,callee:this.identifier(),arguments:t,filter:!0};this.expect(":");)t.push(this.expression());return n},parseArguments:function(){var e=[];if(")"!==this.peekToken().text)do{e.push(this.filterChain())}while(this.expect(","));return e},identifier:function(){var e=this.consume();return e.identifier||this.throwError("is not a valid identifier",e),{type:kr.Identifier,name:e.text}},constant:function(){return{type:kr.Literal,value:this.consume().value}},arrayDeclaration:function(){var e=[];if("]"!==this.peekToken().text)do{if(this.peek("]"))break;e.push(this.expression())}while(this.expect(","));return this.consume("]"),{type:kr.ArrayExpression,elements:e}},object:function(){var e,t=[];if("}"!==this.peekToken().text)do{if(this.peek("}"))break;e={type:kr.Property,kind:"init"},this.peek().constant?(e.key=this.constant(),e.computed=!1,this.consume(":"),e.value=this.expression()):this.peek().identifier?(e.key=this.identifier(),e.computed=!1,this.peek(":")?(this.consume(":"),e.value=this.expression()):e.value=e.key):this.peek("[")?(this.consume("["),e.key=this.expression(),this.consume("]"),e.computed=!0,this.consume(":"),e.value=this.expression()):this.throwError("invalid key",this.peek()),t.push(e)}while(this.expect(","));return this.consume("}"),{type:kr.ObjectExpression,properties:t}},throwError:function(e,t){throw mr("syntax","Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].",t.text,e,t.index+1,this.text,this.text.substring(t.index))},consume:function(e){if(0===this.tokens.length)throw mr("ueoe","Unexpected end of expression: {0}",this.text);var t=this.expect(e);return t||this.throwError("is unexpected, expecting ["+e+"]",this.peek()),t},peekToken:function(){if(0===this.tokens.length)throw mr("ueoe","Unexpected end of expression: {0}",this.text);return this.tokens[0]},peek:function(e,t,n,r){return this.peekAhead(0,e,t,n,r)},peekAhead:function(e,t,n,r,i){if(this.tokens.length>e){var o=this.tokens[e],a=o.text;if(a===t||a===n||a===r||a===i||!t&&!n&&!r&&!i)return o}return!1},expect:function(e,t,n,r){var i=this.peek(e,t,n,r);return!!i&&(this.tokens.shift(),i)},selfReferential:{this:{type:kr.ThisExpression},$locals:{type:kr.LocalsExpression}}};function Sr(e,t,n){var r,i,o,a=e.isPure=function(e,t){switch(e.type){case kr.MemberExpression:if(e.computed)return!1;break;case kr.UnaryExpression:return 1;case kr.BinaryExpression:return"+"!==e.operator&&1;case kr.CallExpression:return!1}return void 0===t?2:t}(e,n);switch(e.type){case kr.Program:r=!0,k(e.body,(function(e){Sr(e.expression,t,a),r=r&&e.expression.constant})),e.constant=r;break;case kr.Literal:e.constant=!0,e.toWatch=[];break;case kr.UnaryExpression:Sr(e.argument,t,a),e.constant=e.argument.constant,e.toWatch=e.argument.toWatch;break;case kr.BinaryExpression:Sr(e.left,t,a),Sr(e.right,t,a),e.constant=e.left.constant&&e.right.constant,e.toWatch=e.left.toWatch.concat(e.right.toWatch);break;case kr.LogicalExpression:Sr(e.left,t,a),Sr(e.right,t,a),e.constant=e.left.constant&&e.right.constant,e.toWatch=e.constant?[]:[e];break;case kr.ConditionalExpression:Sr(e.test,t,a),Sr(e.alternate,t,a),Sr(e.consequent,t,a),e.constant=e.test.constant&&e.alternate.constant&&e.consequent.constant,e.toWatch=e.constant?[]:[e];break;case kr.Identifier:e.constant=!1,e.toWatch=[e];break;case kr.MemberExpression:Sr(e.object,t,a),e.computed&&Sr(e.property,t,a),e.constant=e.object.constant&&(!e.computed||e.property.constant),e.toWatch=e.constant?[]:[e];break;case kr.CallExpression:o=!!e.filter&&function(e,t){return!e(t).$stateful}(t,e.callee.name),r=o,i=[],k(e.arguments,(function(e){Sr(e,t,a),r=r&&e.constant,i.push.apply(i,e.toWatch)})),e.constant=r,e.toWatch=o?i:[e];break;case kr.AssignmentExpression:Sr(e.left,t,a),Sr(e.right,t,a),e.constant=e.left.constant&&e.right.constant,e.toWatch=[e];break;case kr.ArrayExpression:r=!0,i=[],k(e.elements,(function(e){Sr(e,t,a),r=r&&e.constant,i.push.apply(i,e.toWatch)})),e.constant=r,e.toWatch=i;break;case kr.ObjectExpression:r=!0,i=[],k(e.properties,(function(e){Sr(e.value,t,a),r=r&&e.value.constant,i.push.apply(i,e.value.toWatch),e.computed&&(Sr(e.key,t,!1),r=r&&e.key.constant,i.push.apply(i,e.key.toWatch))})),e.constant=r,e.toWatch=i;break;case kr.ThisExpression:case kr.LocalsExpression:e.constant=!1,e.toWatch=[]}}function $r(e){if(1===e.length){var t=e[0].expression,n=t.toWatch;return 1!==n.length||n[0]!==t?n:void 0}}function Cr(e){return e.type===kr.Identifier||e.type===kr.MemberExpression}function _r(e){if(1===e.body.length&&Cr(e.body[0].expression))return{type:kr.AssignmentExpression,left:e.body[0].expression,right:{type:kr.NGValueParameter},operator:"="}}function Or(e){this.$filter=e}function Tr(e){this.$filter=e}function jr(e,t,n){this.ast=new kr(e,n),this.astCompiler=n.csp?new Tr(t):new Or(t)}function Pr(e){return G(e.valueOf)?e.valueOf():vr.call(e)}function Dr(){var e,t,n=Le(),r={true:!0,false:!1,null:null,undefined:void 0};this.addLiteral=function(e,t){r[e]=t},this.setIdentifierFns=function(n,r){return e=n,t=r,this},this.$get=["$filter",function(i){var o={csp:le().noUnsafeEval,literals:oe(r),isIdentifierStart:G(e)&&e,isIdentifierContinue:G(t)&&t};return a.$$getAst=function(e){return new jr(new wr(o),i,o).getAst(e).ast},a;function a(e,t){var r,a;switch(typeof e){case"string":if(e=e.trim(),!(r=n[a=e]))r=new jr(new wr(o),i,o).parse(e),n[a]=p(r);return f(r,t);case"function":return f(e,t);default:return f(D,t)}}function s(e,t,n){return null==e||null==t?e===t:!("object"==typeof e&&"object"==typeof(e=Pr(e))&&!n)&&(e===t||e!=e&&t!=t)}function l(e,t,n,r,i){var o,a=r.inputs;if(1===a.length){var l=s;return a=a[0],e.$watch((function(e){var t=a(e);return s(t,l,a.isPure)||(o=r(e,void 0,void 0,[t]),l=t&&Pr(t)),o}),t,n,i)}for(var c=[],u=[],d=0,p=a.length;d<p;d++)c[d]=s,u[d]=null;return e.$watch((function(e){for(var t=!1,n=0,i=a.length;n<i;n++){var l=a[n](e);(t||(t=!s(l,c[n],a[n].isPure)))&&(u[n]=l,c[n]=l&&Pr(l))}return t&&(o=r(e,void 0,void 0,u)),o}),t,n,i)}function c(e,t,n,r,i){var o,a,s=r.literal?u:z,l=r.$$intercepted||r,c=r.$$interceptor||R,d=r.inputs&&!l.inputs;return h.literal=r.literal,h.constant=r.constant,h.inputs=r.inputs,p(h),o=e.$watch(h,t,n,i);function f(){s(a)&&o()}function h(e,t,n,r){return a=d&&r?r[0]:l(e,t,n,r),s(a)&&e.$$postDigest(f),c(a)}}function u(e){var t=!0;return k(e,(function(e){z(e)||(t=!1)})),t}function d(e,t,n,r){var i=e.$watch((function(e){return i(),r(e)}),t,n);return i}function p(e){return e.constant?e.$$watchDelegate=d:e.oneTime?e.$$watchDelegate=c:e.inputs&&(e.$$watchDelegate=l),e}function f(e,t){if(!t)return e;e.$$interceptor&&(t=function(e,t){function n(n){return t(e(n))}return n.$stateful=e.$stateful||t.$stateful,n.$$pure=e.$$pure&&t.$$pure,n}(e.$$interceptor,t),e=e.$$intercepted);var n=!1,r=function(r,i,o,a){var s=n&&a?a[0]:e(r,i,o,a);return t(s)};return r.$$intercepted=e,r.$$interceptor=t,r.literal=e.literal,r.oneTime=e.oneTime,r.constant=e.constant,t.$stateful||(n=!e.inputs,r.inputs=e.inputs?e.inputs:[e],t.$$pure||(r.inputs=r.inputs.map((function(e){return 2===e.isPure?function(t){return e(t)}:e})))),p(r)}}]}function Rr(){var e=!0;this.$get=["$rootScope","$exceptionHandler",function(t,n){return Nr((function(e){t.$evalAsync(e)}),n,e)}],this.errorOnUnhandledRejections=function(t){return z(t)?(e=t,this):e}}function Ir(){var e=!0;this.$get=["$browser","$exceptionHandler",function(t,n){return Nr((function(e){t.defer(e)}),n,e)}],this.errorOnUnhandledRejections=function(t){return z(t)?(e=t,this):e}}function Nr(e,t,n){var r=i("$q",TypeError),o=0,a=[];function s(){return new l}function l(){var e=this.promise=new c;this.resolve=function(t){p(e,t)},this.reject=function(t){f(e,t)},this.notify=function(t){g(e,t)}}function c(){this.$$state={status:0}}function u(){for(;!o&&a.length;){var e=a.shift();if(!Mr(e)){zr(e);var n="Possibly unhandled rejection: "+Ve(e.value);H(e.value)?t(e.value,n):t(n)}}}function d(r){!n||r.pending||2!==r.status||Mr(r)||(0===o&&0===a.length&&e(u),a.push(r)),!r.processScheduled&&r.pending&&(r.processScheduled=!0,++o,e((function(){!function(r){var i,a,s;s=r.pending,r.processScheduled=!1,r.pending=void 0;try{for(var l=0,c=s.length;l<c;++l){zr(r),a=s[l][0],i=s[l][r.status];try{G(i)?p(a,i(r.value)):1===r.status?p(a,r.value):f(a,r.value)}catch(e){f(a,e),e&&!0===e.$$passToExceptionHandler&&t(e)}}}finally{--o,n&&0===o&&e(u)}}(r)})))}function p(e,t){e.$$state.status||(t===e?h(e,r("qcycle","Expected promise to be resolved with value other than itself '{0}'",t)):function e(t,n){var r,i=!1;try{(L(n)||G(n))&&(r=n.then),G(r)?(t.$$state.status=-1,r.call(n,o,a,(function(e){g(t,e)}))):(t.$$state.value=n,t.$$state.status=1,d(t.$$state))}catch(e){a(e)}function o(n){i||(i=!0,e(t,n))}function a(e){i||(i=!0,h(t,e))}}(e,t))}function f(e,t){e.$$state.status||h(e,t)}function h(e,t){e.$$state.value=t,e.$$state.status=2,d(e.$$state)}function g(n,r){var i=n.$$state.pending;n.$$state.status<=0&&i&&i.length&&e((function(){for(var e,n,o=0,a=i.length;o<a;o++){n=i[o][0],e=i[o][3];try{g(n,G(e)?e(r):r)}catch(e){t(e)}}}))}function m(e){var t=new c;return f(t,e),t}function v(e,t,n){var r=null;try{G(n)&&(r=n())}catch(e){return m(e)}return Q(r)?r.then((function(){return t(e)}),m):t(e)}function b(e,t,n,r){var i=new c;return p(i,e),i.then(t,n,r)}_(c.prototype,{then:function(e,t,n){if(M(e)&&M(t)&&M(n))return this;var r=new c;return this.$$state.pending=this.$$state.pending||[],this.$$state.pending.push([r,e,t,n]),this.$$state.status>0&&d(this.$$state),r},catch:function(e){return this.then(null,e)},finally:function(e,t){return this.then((function(t){return v(t,y,e)}),(function(t){return v(t,m,e)}),t)}});var y=b;function x(e){if(!G(e))throw r("norslvr","Expected resolverFn, got '{0}'",e);var t=new c;return e((function(e){p(t,e)}),(function(e){f(t,e)})),t}return x.prototype=c.prototype,x.defer=s,x.reject=m,x.when=b,x.resolve=y,x.all=function(e){var t=new c,n=0,r=U(e)?[]:{};return k(e,(function(e,i){n++,b(e).then((function(e){r[i]=e,--n||p(t,r)}),(function(e){f(t,e)}))})),0===n&&p(t,r),t},x.race=function(e){var t=s();return k(e,(function(e){b(e).then(t.resolve,t.reject)})),t.promise},x}function Mr(e){return!!e.pur}function zr(e){e.pur=!0}function Lr(e){e.$$state&&zr(e.$$state)}function Br(){this.$get=["$window","$timeout",function(e,t){var n=e.requestAnimationFrame||e.webkitRequestAnimationFrame,r=e.cancelAnimationFrame||e.webkitCancelAnimationFrame||e.webkitCancelRequestAnimationFrame,i=!!n,o=i?function(e){var t=n(e);return function(){r(t)}}:function(e){var n=t(e,16.66,!1);return function(){t.cancel(n)}};return o.supported=i,o}]}function Fr(){var e=10,t=i("$rootScope"),n=null,r=null;this.digestTtl=function(t){return arguments.length&&(e=t),e},this.$get=["$exceptionHandler","$parse","$browser",function(i,a,s){function l(e){e.currentScope.$$destroyed=!0}function c(){this.$id=S(),this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null,this.$root=this,this.$$destroyed=!1,this.$$suspended=!1,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$$isolateBindings=null}c.prototype={constructor:c,$new:function(e,t){var n;return t=t||this,e?(n=new c).$root=this.$root:(this.$$ChildScope||(this.$$ChildScope=function(e){function t(){this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$id=S(),this.$$ChildScope=null,this.$$suspended=!1}return t.prototype=e,t}(this)),n=new this.$$ChildScope),n.$parent=t,n.$$prevSibling=t.$$childTail,t.$$childHead?(t.$$childTail.$$nextSibling=n,t.$$childTail=n):t.$$childHead=t.$$childTail=n,(e||t!==this)&&n.$on("$destroy",l),n},$watch:function(e,t,r,i){var o=a(e),s=G(t)?t:D;if(o.$$watchDelegate)return o.$$watchDelegate(this,s,r,o,e);var l=this,c=l.$$watchers,u={fn:s,last:x,get:o,exp:i||e,eq:!!r};return n=null,c||((c=l.$$watchers=[]).$$digestWatchIndex=-1),c.unshift(u),c.$$digestWatchIndex++,b(this,1),function(){var e=ie(c,u);e>=0&&(b(l,-1),e<c.$$digestWatchIndex&&c.$$digestWatchIndex--),n=null}},$watchGroup:function(e,t){var n=new Array(e.length),r=new Array(e.length),i=[],o=this,a=!1,s=!0;if(!e.length){var l=!0;return o.$evalAsync((function(){l&&t(r,r,o)})),function(){l=!1}}if(1===e.length)return this.$watch(e[0],(function(e,i,o){r[0]=e,n[0]=i,t(r,e===i?r:n,o)}));function c(){a=!1;try{s?(s=!1,t(r,r,o)):t(r,n,o)}finally{for(var i=0;i<e.length;i++)n[i]=r[i]}}return k(e,(function(e,t){var n=o.$watch(e,(function(e){r[t]=e,a||(a=!0,o.$evalAsync(c))}));i.push(n)})),function(){for(;i.length;)i.shift()()}},$watchCollection:function(e,t){g.$$pure=a(e).literal,g.$stateful=!g.$$pure;var n,r,i,o=this,s=t.length>1,l=0,c=a(e,g),d=[],p={},f=!0,h=0;function g(e){var t,i,o,a;if(!M(n=e)){if(L(n))if(w(n)){r!==d&&(h=(r=d).length=0,l++),t=n.length,h!==t&&(l++,r.length=h=t);for(var s=0;s<t;s++)a=r[s],o=n[s],a!=a&&o!=o||a===o||(l++,r[s]=o)}else{for(i in r!==p&&(r=p={},h=0,l++),t=0,n)u.call(n,i)&&(t++,o=n[i],a=r[i],i in r?a!=a&&o!=o||a===o||(l++,r[i]=o):(h++,r[i]=o,l++));if(h>t)for(i in l++,r)u.call(n,i)||(h--,delete r[i])}else r!==n&&(r=n,l++);return l}}return this.$watch(c,(function(){if(f?(f=!1,t(n,n,o)):t(n,i,o),s)if(L(n))if(w(n)){i=new Array(n.length);for(var e=0;e<n.length;e++)i[e]=n[e]}else for(var r in i={},n)u.call(n,r)&&(i[r]=n[r]);else i=n}))},$digest:function(){var o,a,l,c,u,h,b,y,w,k=e,E=p.length?d:this,S=[];m("$digest"),s.$$checkUrlChange(),this===d&&null!==r&&(s.defer.cancel(r),A()),n=null;do{u=!1,b=E;for(var $=0;$<p.length;$++){try{(0,(w=p[$]).fn)(w.scope,w.locals)}catch(e){i(e)}n=null}p.length=0;e:do{if(c=!b.$$suspended&&b.$$watchers)for(c.$$digestWatchIndex=c.length;c.$$digestWatchIndex--;)try{if(o=c[c.$$digestWatchIndex])if((a=(0,o.get)(b))===(l=o.last)||(o.eq?se(a,l):j(a)&&j(l))){if(o===n){u=!1;break e}}else u=!0,n=o,o.last=o.eq?oe(a,null):a,(0,o.fn)(a,l===x?a:l,b),k<5&&(S[y=4-k]||(S[y]=[]),S[y].push({msg:G(o.exp)?"fn: "+(o.exp.name||o.exp.toString()):o.exp,newVal:a,oldVal:l}))}catch(e){i(e)}if(!(h=!b.$$suspended&&b.$$watchersCount&&b.$$childHead||b!==E&&b.$$nextSibling))for(;b!==E&&!(h=b.$$nextSibling);)b=b.$parent}while(b=h);if((u||p.length)&&!k--)throw v(),t("infdig","{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}",e,S)}while(u||p.length);for(v();g<f.length;)try{f[g++]()}catch(e){i(e)}f.length=g=0,s.$$checkUrlChange()},$suspend:function(){this.$$suspended=!0},$isSuspended:function(){return this.$$suspended},$resume:function(){this.$$suspended=!1},$destroy:function(){if(!this.$$destroyed){var e=this.$parent;for(var t in this.$broadcast("$destroy"),this.$$destroyed=!0,this===d&&s.$$applicationDestroyed(),b(this,-this.$$watchersCount),this.$$listenerCount)y(this,this.$$listenerCount[t],t);e&&e.$$childHead===this&&(e.$$childHead=this.$$nextSibling),e&&e.$$childTail===this&&(e.$$childTail=this.$$prevSibling),this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),this.$destroy=this.$digest=this.$apply=this.$evalAsync=this.$applyAsync=D,this.$on=this.$watch=this.$watchGroup=function(){return D},this.$$listeners={},this.$$nextSibling=null,function e(t){9===o&&(t.$$childHead&&e(t.$$childHead),t.$$nextSibling&&e(t.$$nextSibling)),t.$parent=t.$$nextSibling=t.$$prevSibling=t.$$childHead=t.$$childTail=t.$root=t.$$watchers=null}(this)}},$eval:function(e,t){return a(e)(this,t)},$evalAsync:function(e,t){d.$$phase||p.length||s.defer((function(){p.length&&d.$digest()}),null,"$evalAsync"),p.push({scope:this,fn:a(e),locals:t})},$$postDigest:function(e){f.push(e)},$apply:function(e){try{m("$apply");try{return this.$eval(e)}finally{v()}}catch(e){i(e)}finally{try{d.$digest()}catch(e){throw i(e),e}}},$applyAsync:function(e){var t=this;e&&h.push((function(){t.$eval(e)})),e=a(e),null===r&&(r=s.defer((function(){d.$apply(A)}),null,"$applyAsync"))},$on:function(e,t){var n=this.$$listeners[e];n||(this.$$listeners[e]=n=[]),n.push(t);var r=this;do{r.$$listenerCount[e]||(r.$$listenerCount[e]=0),r.$$listenerCount[e]++}while(r=r.$parent);var i=this;return function(){var r=n.indexOf(t);-1!==r&&(delete n[r],y(i,1,e))}},$emit:function(e,t){var n,r,o,a=[],s=this,l=!1,c={name:e,targetScope:s,stopPropagation:function(){l=!0},preventDefault:function(){c.defaultPrevented=!0},defaultPrevented:!1},u=ue([c],arguments,1);do{for(n=s.$$listeners[e]||a,c.currentScope=s,r=0,o=n.length;r<o;r++)if(n[r])try{n[r].apply(null,u)}catch(e){i(e)}else n.splice(r,1),r--,o--;if(l)break;s=s.$parent}while(s);return c.currentScope=null,c},$broadcast:function(e,t){var n=this,r=n,o=n,a={name:e,targetScope:n,preventDefault:function(){a.defaultPrevented=!0},defaultPrevented:!1};if(!n.$$listenerCount[e])return a;for(var s,l,c,u=ue([a],arguments,1);r=o;){for(a.currentScope=r,l=0,c=(s=r.$$listeners[e]||[]).length;l<c;l++)if(s[l])try{s[l].apply(null,u)}catch(e){i(e)}else s.splice(l,1),l--,c--;if(!(o=r.$$listenerCount[e]&&r.$$childHead||r!==n&&r.$$nextSibling))for(;r!==n&&!(o=r.$$nextSibling);)r=r.$parent}return a.currentScope=null,a}};var d=new c,p=d.$$asyncQueue=[],f=d.$$postDigestQueue=[],h=d.$$applyAsyncQueue=[],g=0;return d;function m(e){if(d.$$phase)throw t("inprog","{0} already in progress",d.$$phase);d.$$phase=e}function v(){d.$$phase=null}function b(e,t){do{e.$$watchersCount+=t}while(e=e.$parent)}function y(e,t,n){do{e.$$listenerCount[n]-=t,0===e.$$listenerCount[n]&&delete e.$$listenerCount[n]}while(e=e.$parent)}function x(){}function A(){for(;h.length;)try{h.shift()()}catch(e){i(e)}r=null}}]}function qr(){var e=/^\s*(https?|s?ftp|mailto|tel|file):/,t=/^\s*((https?|ftp|file|blob):|data:image\/)/;this.aHrefSanitizationTrustedUrlList=function(t){return z(t)?(e=t,this):e},this.imgSrcSanitizationTrustedUrlList=function(e){return z(e)?(t=e,this):t},this.$get=function(){return function(n,r){var i=r?t:e,o=li(n&&n.trim()).href;return""===o||o.match(i)?n:"unsafe:"+o}}}Or.prototype={compile:function(e){var t=this;this.state={nextId:0,filters:{},fn:{vars:[],body:[],own:{}},assign:{vars:[],body:[],own:{}},inputs:[]},Sr(e,t.$filter);var n,r="";if(this.stage="assign",n=_r(e)){this.state.computing="assign";var i=this.nextId();this.recurse(n,i),this.return_(i),r="fn.assign="+this.generateFunction("assign","s,v,l")}var o=$r(e.body);t.stage="inputs",k(o,(function(e,n){var r="fn"+n;t.state[r]={vars:[],body:[],own:{}},t.state.computing=r;var i=t.nextId();t.recurse(e,i),t.return_(i),t.state.inputs.push({name:r,isPure:e.isPure}),e.watchId=n})),this.state.computing="fn",this.stage="main",this.recurse(e);var a='"'+this.USE+" "+this.STRICT+'";\n'+this.filterPrefix()+"var fn="+this.generateFunction("fn","s,l,a,i")+r+this.watchFns()+"return fn;",s=new Function("$filter","getStringValue","ifDefined","plus",a)(this.$filter,br,Ar,Er);return this.state=this.stage=void 0,s},USE:"use",STRICT:"strict",watchFns:function(){var e=[],t=this.state.inputs,n=this;return k(t,(function(t){e.push("var "+t.name+"="+n.generateFunction(t.name,"s")),t.isPure&&e.push(t.name,".isPure="+JSON.stringify(t.isPure)+";")})),t.length&&e.push("fn.inputs=["+t.map((function(e){return e.name})).join(",")+"];"),e.join("")},generateFunction:function(e,t){return"function("+t+"){"+this.varsPrefix(e)+this.body(e)+"};"},filterPrefix:function(){var e=[],t=this;return k(this.state.filters,(function(n,r){e.push(n+"=$filter("+t.escape(r)+")")})),e.length?"var "+e.join(",")+";":""},varsPrefix:function(e){return this.state[e].vars.length?"var "+this.state[e].vars.join(",")+";":""},body:function(e){return this.state[e].body.join("")},recurse:function(e,t,n,r,i,o){var a,s,l,c,u,d=this;if(r=r||D,!o&&z(e.watchId))return t=t||this.nextId(),void this.if_("i",this.lazyAssign(t,this.computedMember("i",e.watchId)),this.lazyRecurse(e,t,n,r,i,!0));switch(e.type){case kr.Program:k(e.body,(function(t,n){d.recurse(t.expression,void 0,void 0,(function(e){s=e})),n!==e.body.length-1?d.current().body.push(s,";"):d.return_(s)}));break;case kr.Literal:c=this.escape(e.value),this.assign(t,c),r(t||c);break;case kr.UnaryExpression:this.recurse(e.argument,void 0,void 0,(function(e){s=e})),c=e.operator+"("+this.ifDefined(s,0)+")",this.assign(t,c),r(c);break;case kr.BinaryExpression:this.recurse(e.left,void 0,void 0,(function(e){a=e})),this.recurse(e.right,void 0,void 0,(function(e){s=e})),c="+"===e.operator?this.plus(a,s):"-"===e.operator?this.ifDefined(a,0)+e.operator+this.ifDefined(s,0):"("+a+")"+e.operator+"("+s+")",this.assign(t,c),r(c);break;case kr.LogicalExpression:t=t||this.nextId(),d.recurse(e.left,t),d.if_("&&"===e.operator?t:d.not(t),d.lazyRecurse(e.right,t)),r(t);break;case kr.ConditionalExpression:t=t||this.nextId(),d.recurse(e.test,t),d.if_(t,d.lazyRecurse(e.alternate,t),d.lazyRecurse(e.consequent,t)),r(t);break;case kr.Identifier:t=t||this.nextId(),n&&(n.context="inputs"===d.stage?"s":this.assign(this.nextId(),this.getHasOwnProperty("l",e.name)+"?l:s"),n.computed=!1,n.name=e.name),d.if_("inputs"===d.stage||d.not(d.getHasOwnProperty("l",e.name)),(function(){d.if_("inputs"===d.stage||"s",(function(){i&&1!==i&&d.if_(d.isNull(d.nonComputedMember("s",e.name)),d.lazyAssign(d.nonComputedMember("s",e.name),"{}")),d.assign(t,d.nonComputedMember("s",e.name))}))}),t&&d.lazyAssign(t,d.nonComputedMember("l",e.name))),r(t);break;case kr.MemberExpression:a=n&&(n.context=this.nextId())||this.nextId(),t=t||this.nextId(),d.recurse(e.object,a,void 0,(function(){d.if_(d.notNull(a),(function(){e.computed?(s=d.nextId(),d.recurse(e.property,s),d.getStringValue(s),i&&1!==i&&d.if_(d.not(d.computedMember(a,s)),d.lazyAssign(d.computedMember(a,s),"{}")),c=d.computedMember(a,s),d.assign(t,c),n&&(n.computed=!0,n.name=s)):(i&&1!==i&&d.if_(d.isNull(d.nonComputedMember(a,e.property.name)),d.lazyAssign(d.nonComputedMember(a,e.property.name),"{}")),c=d.nonComputedMember(a,e.property.name),d.assign(t,c),n&&(n.computed=!1,n.name=e.property.name))}),(function(){d.assign(t,"undefined")})),r(t)}),!!i);break;case kr.CallExpression:t=t||this.nextId(),e.filter?(s=d.filter(e.callee.name),l=[],k(e.arguments,(function(e){var t=d.nextId();d.recurse(e,t),l.push(t)})),c=s+"("+l.join(",")+")",d.assign(t,c),r(t)):(s=d.nextId(),a={},l=[],d.recurse(e.callee,s,a,(function(){d.if_(d.notNull(s),(function(){k(e.arguments,(function(t){d.recurse(t,e.constant?void 0:d.nextId(),void 0,(function(e){l.push(e)}))})),c=a.name?d.member(a.context,a.name,a.computed)+"("+l.join(",")+")":s+"("+l.join(",")+")",d.assign(t,c)}),(function(){d.assign(t,"undefined")})),r(t)})));break;case kr.AssignmentExpression:s=this.nextId(),a={},this.recurse(e.left,void 0,a,(function(){d.if_(d.notNull(a.context),(function(){d.recurse(e.right,s),c=d.member(a.context,a.name,a.computed)+e.operator+s,d.assign(t,c),r(t||c)}))}),1);break;case kr.ArrayExpression:l=[],k(e.elements,(function(t){d.recurse(t,e.constant?void 0:d.nextId(),void 0,(function(e){l.push(e)}))})),c="["+l.join(",")+"]",this.assign(t,c),r(t||c);break;case kr.ObjectExpression:l=[],u=!1,k(e.properties,(function(e){e.computed&&(u=!0)})),u?(t=t||this.nextId(),this.assign(t,"{}"),k(e.properties,(function(e){e.computed?(a=d.nextId(),d.recurse(e.key,a)):a=e.key.type===kr.Identifier?e.key.name:""+e.key.value,s=d.nextId(),d.recurse(e.value,s),d.assign(d.member(t,a,e.computed),s)}))):(k(e.properties,(function(t){d.recurse(t.value,e.constant?void 0:d.nextId(),void 0,(function(e){l.push(d.escape(t.key.type===kr.Identifier?t.key.name:""+t.key.value)+":"+e)}))})),c="{"+l.join(",")+"}",this.assign(t,c)),r(t||c);break;case kr.ThisExpression:this.assign(t,"s"),r(t||"s");break;case kr.LocalsExpression:this.assign(t,"l"),r(t||"l");break;case kr.NGValueParameter:this.assign(t,"v"),r(t||"v")}},getHasOwnProperty:function(e,t){var n=e+"."+t,r=this.current().own;return r.hasOwnProperty(n)||(r[n]=this.nextId(!1,e+"&&("+this.escape(t)+" in "+e+")")),r[n]},assign:function(e,t){if(e)return this.current().body.push(e,"=",t,";"),e},filter:function(e){return this.state.filters.hasOwnProperty(e)||(this.state.filters[e]=this.nextId(!0)),this.state.filters[e]},ifDefined:function(e,t){return"ifDefined("+e+","+this.escape(t)+")"},plus:function(e,t){return"plus("+e+","+t+")"},return_:function(e){this.current().body.push("return ",e,";")},if_:function(e,t,n){if(!0===e)t();else{var r=this.current().body;r.push("if(",e,"){"),t(),r.push("}"),n&&(r.push("else{"),n(),r.push("}"))}},not:function(e){return"!("+e+")"},isNull:function(e){return e+"==null"},notNull:function(e){return e+"!=null"},nonComputedMember:function(e,t){return/^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(t)?e+"."+t:e+'["'+t.replace(/[^$_a-zA-Z0-9]/g,this.stringEscapeFn)+'"]'},computedMember:function(e,t){return e+"["+t+"]"},member:function(e,t,n){return n?this.computedMember(e,t):this.nonComputedMember(e,t)},getStringValue:function(e){this.assign(e,"getStringValue("+e+")")},lazyRecurse:function(e,t,n,r,i,o){var a=this;return function(){a.recurse(e,t,n,r,i,o)}},lazyAssign:function(e,t){var n=this;return function(){n.assign(e,t)}},stringEscapeRegex:/[^ a-zA-Z0-9]/g,stringEscapeFn:function(e){return"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)},escape:function(e){if(F(e))return"'"+e.replace(this.stringEscapeRegex,this.stringEscapeFn)+"'";if(q(e))return e.toString();if(!0===e)return"true";if(!1===e)return"false";if(null===e)return"null";if(void 0===e)return"undefined";throw mr("esc","IMPOSSIBLE")},nextId:function(e,t){var n="v"+this.state.nextId++;return e||this.current().vars.push(n+(t?"="+t:"")),n},current:function(){return this.state[this.state.computing]}},Tr.prototype={compile:function(e){var t,n,r=this;Sr(e,r.$filter),(t=_r(e))&&(n=this.recurse(t));var i,o=$r(e.body);o&&(i=[],k(o,(function(e,t){var n=r.recurse(e);n.isPure=e.isPure,e.input=n,i.push(n),e.watchId=t})));var a=[];k(e.body,(function(e){a.push(r.recurse(e.expression))}));var s=0===e.body.length?D:1===e.body.length?a[0]:function(e,t){var n;return k(a,(function(r){n=r(e,t)})),n};return n&&(s.assign=function(e,t,r){return n(e,r,t)}),i&&(s.inputs=i),s},recurse:function(e,t,n){var r,i,o,a=this;if(e.input)return this.inputs(e.input,e.watchId);switch(e.type){case kr.Literal:return this.value(e.value,t);case kr.UnaryExpression:return i=this.recurse(e.argument),this["unary"+e.operator](i,t);case kr.BinaryExpression:case kr.LogicalExpression:return r=this.recurse(e.left),i=this.recurse(e.right),this["binary"+e.operator](r,i,t);case kr.ConditionalExpression:return this["ternary?:"](this.recurse(e.test),this.recurse(e.alternate),this.recurse(e.consequent),t);case kr.Identifier:return a.identifier(e.name,t,n);case kr.MemberExpression:return r=this.recurse(e.object,!1,!!n),e.computed||(i=e.property.name),e.computed&&(i=this.recurse(e.property)),e.computed?this.computedMember(r,i,t,n):this.nonComputedMember(r,i,t,n);case kr.CallExpression:return o=[],k(e.arguments,(function(e){o.push(a.recurse(e))})),e.filter&&(i=this.$filter(e.callee.name)),e.filter||(i=this.recurse(e.callee,!0)),e.filter?function(e,n,r,a){for(var s=[],l=0;l<o.length;++l)s.push(o[l](e,n,r,a));var c=i.apply(void 0,s,a);return t?{context:void 0,name:void 0,value:c}:c}:function(e,n,r,a){var s,l=i(e,n,r,a);if(null!=l.value){for(var c=[],u=0;u<o.length;++u)c.push(o[u](e,n,r,a));s=l.value.apply(l.context,c)}return t?{value:s}:s};case kr.AssignmentExpression:return r=this.recurse(e.left,!0,1),i=this.recurse(e.right),function(e,n,o,a){var s=r(e,n,o,a),l=i(e,n,o,a);return s.context[s.name]=l,t?{value:l}:l};case kr.ArrayExpression:return o=[],k(e.elements,(function(e){o.push(a.recurse(e))})),function(e,n,r,i){for(var a=[],s=0;s<o.length;++s)a.push(o[s](e,n,r,i));return t?{value:a}:a};case kr.ObjectExpression:return o=[],k(e.properties,(function(e){e.computed?o.push({key:a.recurse(e.key),computed:!0,value:a.recurse(e.value)}):o.push({key:e.key.type===kr.Identifier?e.key.name:""+e.key.value,computed:!1,value:a.recurse(e.value)})})),function(e,n,r,i){for(var a={},s=0;s<o.length;++s)o[s].computed?a[o[s].key(e,n,r,i)]=o[s].value(e,n,r,i):a[o[s].key]=o[s].value(e,n,r,i);return t?{value:a}:a};case kr.ThisExpression:return function(e){return t?{value:e}:e};case kr.LocalsExpression:return function(e,n){return t?{value:n}:n};case kr.NGValueParameter:return function(e,n,r){return t?{value:r}:r}}},"unary+":function(e,t){return function(n,r,i,o){var a=e(n,r,i,o);return a=z(a)?+a:0,t?{value:a}:a}},"unary-":function(e,t){return function(n,r,i,o){var a=e(n,r,i,o);return a=z(a)?-a:-0,t?{value:a}:a}},"unary!":function(e,t){return function(n,r,i,o){var a=!e(n,r,i,o);return t?{value:a}:a}},"binary+":function(e,t,n){return function(r,i,o,a){var s=Er(e(r,i,o,a),t(r,i,o,a));return n?{value:s}:s}},"binary-":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a),l=t(r,i,o,a),c=(z(s)?s:0)-(z(l)?l:0);return n?{value:c}:c}},"binary*":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)*t(r,i,o,a);return n?{value:s}:s}},"binary/":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)/t(r,i,o,a);return n?{value:s}:s}},"binary%":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)%t(r,i,o,a);return n?{value:s}:s}},"binary===":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)===t(r,i,o,a);return n?{value:s}:s}},"binary!==":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)!==t(r,i,o,a);return n?{value:s}:s}},"binary==":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)==t(r,i,o,a);return n?{value:s}:s}},"binary!=":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)!=t(r,i,o,a);return n?{value:s}:s}},"binary<":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)<t(r,i,o,a);return n?{value:s}:s}},"binary>":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)>t(r,i,o,a);return n?{value:s}:s}},"binary<=":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)<=t(r,i,o,a);return n?{value:s}:s}},"binary>=":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)>=t(r,i,o,a);return n?{value:s}:s}},"binary&&":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)&&t(r,i,o,a);return n?{value:s}:s}},"binary||":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)||t(r,i,o,a);return n?{value:s}:s}},"ternary?:":function(e,t,n,r){return function(i,o,a,s){var l=e(i,o,a,s)?t(i,o,a,s):n(i,o,a,s);return r?{value:l}:l}},value:function(e,t){return function(){return t?{context:void 0,name:void 0,value:e}:e}},identifier:function(e,t,n){return function(r,i,o,a){var s=i&&e in i?i:r;n&&1!==n&&s&&null==s[e]&&(s[e]={});var l=s?s[e]:void 0;return t?{context:s,name:e,value:l}:l}},computedMember:function(e,t,n,r){return function(i,o,a,s){var l,c,u=e(i,o,a,s);return null!=u&&(l=br(l=t(i,o,a,s)),r&&1!==r&&u&&!u[l]&&(u[l]={}),c=u[l]),n?{context:u,name:l,value:c}:c}},nonComputedMember:function(e,t,n,r){return function(i,o,a,s){var l=e(i,o,a,s);r&&1!==r&&l&&null==l[t]&&(l[t]={});var c=null!=l?l[t]:void 0;return n?{context:l,name:t,value:c}:c}},inputs:function(e,t){return function(n,r,i,o){return o?o[t]:e(n,r,i)}}},jr.prototype={constructor:jr,parse:function(e){var t=this.getAst(e),n=this.astCompiler.compile(t.ast);return n.literal=function(e){return 0===e.body.length||1===e.body.length&&(e.body[0].expression.type===kr.Literal||e.body[0].expression.type===kr.ArrayExpression||e.body[0].expression.type===kr.ObjectExpression)}(t.ast),n.constant=function(e){return e.constant}(t.ast),n.oneTime=t.oneTime,n},getAst:function(e){var t=!1;return":"===(e=e.trim()).charAt(0)&&":"===e.charAt(1)&&(t=!0,e=e.substring(2)),{ast:this.ast.ast(e),oneTime:t}}};var Vr=i("$sce"),Ur={HTML:"html",CSS:"css",MEDIA_URL:"mediaUrl",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},Hr=/_([a-z])/g;function Gr(e){return e.replace(Hr,Qe)}function Wr(e){var t=[];return z(e)&&k(e,(function(e){t.push(function(e){if("self"===e)return e;if(F(e)){if(e.indexOf("***")>-1)throw Vr("iwcard","Illegal sequence *** in string matcher. String: {0}",e);return e=ee(e).replace(/\\\*\\\*/g,".*").replace(/\\\*/g,"[^:/.?&;]*"),new RegExp("^"+e+"$")}if(W(e))return new RegExp("^"+e.source+"$");throw Vr("imatcher",'Matchers may only be "self", string patterns or RegExp objects')}(e))})),t}function Yr(){this.SCE_CONTEXTS=Ur;var t=["self"],n=[];this.trustedResourceUrlList=function(e){return arguments.length&&(t=Wr(e)),t},Object.defineProperty(this,"resourceUrlWhitelist",{get:function(){return this.trustedResourceUrlList},set:function(e){this.trustedResourceUrlList=e}}),this.bannedResourceUrlList=function(e){return arguments.length&&(n=Wr(e)),n},Object.defineProperty(this,"resourceUrlBlacklist",{get:function(){return this.bannedResourceUrlList},set:function(e){this.bannedResourceUrlList=e}}),this.$get=["$injector","$$sanitizeUri",function(r,i){var o=function(e){throw Vr("unsafe","Attempting to use an unsafe value in a safe context.")};function a(t,n){return"self"===t?ci(n,ai)||function(t){return ci(t,function(){if(e.document.baseURI)return e.document.baseURI;ii||((ii=e.document.createElement("a")).href=".",ii=ii.cloneNode(!1));return ii.href}())}(n):!!t.exec(n.href)}function s(e){var t=function(e){this.$$unwrapTrustedValue=function(){return e}};return e&&(t.prototype=new e),t.prototype.valueOf=function(){return this.$$unwrapTrustedValue()},t.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()},t}r.has("$sanitize")&&(o=r.get("$sanitize"));var l=s(),c={};return c[Ur.HTML]=s(l),c[Ur.CSS]=s(l),c[Ur.MEDIA_URL]=s(l),c[Ur.URL]=s(c[Ur.MEDIA_URL]),c[Ur.JS]=s(l),c[Ur.RESOURCE_URL]=s(c[Ur.URL]),{trustAs:function(e,t){var n=c.hasOwnProperty(e)?c[e]:null;if(!n)throw Vr("icontext","Attempted to trust a value in invalid context. Context: {0}; Value: {1}",e,t);if(null===t||M(t)||""===t)return t;if("string"!=typeof t)throw Vr("itype","Attempted to trust a non-string value in a content requiring a string: Context: {0}",e);return new n(t)},getTrusted:function(e,r){if(null===r||M(r)||""===r)return r;var s=c.hasOwnProperty(e)?c[e]:null;if(s&&r instanceof s)return r.$$unwrapTrustedValue();if(G(r.$$unwrapTrustedValue)&&(r=r.$$unwrapTrustedValue()),e===Ur.MEDIA_URL||e===Ur.URL)return i(r.toString(),e===Ur.MEDIA_URL);if(e===Ur.RESOURCE_URL){if(function(e){var r,i,o=li(e.toString()),s=!1;for(r=0,i=t.length;r<i;r++)if(a(t[r],o)){s=!0;break}if(s)for(r=0,i=n.length;r<i;r++)if(a(n[r],o)){s=!1;break}return s}(r))return r;throw Vr("insecurl","Blocked loading resource from url not allowed by $sceDelegate policy. URL: {0}",r.toString())}if(e===Ur.HTML)return o(r);throw Vr("unsafe","Attempting to use an unsafe value in a safe context.")},valueOf:function(e){return e instanceof l?e.$$unwrapTrustedValue():e}}}]}function Xr(){var e=!0;this.enabled=function(t){return arguments.length&&(e=!!t),e},this.$get=["$parse","$sceDelegate",function(t,n){if(e&&o<8)throw Vr("iequirks","Strict Contextual Escaping does not support Internet Explorer version < 11 in quirks mode. You can fix this by adding the text <!doctype html> to the top of your HTML document. See http://docs.angularjs.org/api/ng.$sce for more information.");var r=qe(Ur);r.isEnabled=function(){return e},r.trustAs=n.trustAs,r.getTrusted=n.getTrusted,r.valueOf=n.valueOf,e||(r.trustAs=r.getTrusted=function(e,t){return t},r.valueOf=R),r.parseAs=function(e,n){var i=t(n);return i.literal&&i.constant?i:t(n,(function(t){return r.getTrusted(e,t)}))};var i=r.parseAs,a=r.getTrusted,s=r.trustAs;return k(Ur,(function(e,t){var n=d(t);r[Gr("parse_as_"+n)]=function(t){return i(e,t)},r[Gr("get_trusted_"+n)]=function(t){return a(e,t)},r[Gr("trust_as_"+n)]=function(t){return s(e,t)}})),r}]}function Zr(){this.$get=["$window","$document",function(e,t){var n={},r=!(!(e.nw&&e.nw.process)&&e.chrome&&(e.chrome.app&&e.chrome.app.runtime||!e.chrome.app&&e.chrome.runtime&&e.chrome.runtime.id))&&e.history&&e.history.pushState,i=T((/android (\d+)/.exec(d((e.navigator||{}).userAgent))||[])[1]),a=/Boxee/i.test((e.navigator||{}).userAgent),s=t[0]||{},l=s.body&&s.body.style,c=!1,u=!1;return l&&(c=!(!("transition"in l)&&!("webkitTransition"in l)),u=!(!("animation"in l)&&!("webkitAnimation"in l))),{history:!(!r||i<4||a),hasEvent:function(e){if("input"===e&&o)return!1;if(M(n[e])){var t=s.createElement("div");n[e]="on"+e in t}return n[e]},csp:le(),transitions:c,animations:u,android:i}}]}function Qr(){this.$get=I((function(e){return new Jr(e)}))}function Jr(e){var t={},n=[],r=this.ALL_TASKS_TYPE="$$all$$",i=this.DEFAULT_TASK_TYPE="$$default$$";function o(){var e=n.pop();return e&&e.cb}function a(e){for(var t=n.length-1;t>=0;--t){var r=n[t];if(r.type===e)return n.splice(t,1),r.cb}}this.completeTask=function(n,s){s=s||i;try{n()}finally{!function(e){t[e=e||i]&&(t[e]--,t[r]--)}(s);var l=t[s],c=t[r];if(!c||!l)for(var u,d=c?a:o;u=d(s);)try{u()}catch(t){e.error(t)}}},this.incTaskCount=function(e){t[e=e||i]=(t[e]||0)+1,t[r]=(t[r]||0)+1},this.notifyWhenNoPendingTasks=function(e,i){t[i=i||r]?n.push({type:i,cb:e}):e()}}var Kr=i("$templateRequest");function ei(){var e;this.httpOptions=function(t){return t?(e=t,this):e},this.$get=["$exceptionHandler","$templateCache","$http","$q","$sce",function(t,n,r,i,o){function a(s,l){a.totalPendingRequests++,F(s)&&!M(n.get(s))||(s=o.getTrustedResourceUrl(s));var c=r.defaults&&r.defaults.transformResponse;return U(c)?c=c.filter((function(e){return e!==zn})):c===zn&&(c=null),r.get(s,_({cache:n,transformResponse:c},e)).finally((function(){a.totalPendingRequests--})).then((function(e){return n.put(s,e.data)}),(function(e){l||(e=Kr("tpload","Failed to load template: {0} (HTTP status: {1} {2})",s,e.status,e.statusText),t(e));return i.reject(e)}))}return a.totalPendingRequests=0,a}]}function ti(){this.$get=["$rootScope","$browser","$location",function(e,t,n){var r={findBindings:function(e,t,n){var r=e.getElementsByClassName("ng-binding"),i=[];return k(r,(function(e){var r=y.element(e).data("$binding");r&&k(r,(function(r){n?new RegExp("(^|\\s)"+ee(t)+"(\\s|\\||$)").test(r)&&i.push(e):-1!==r.indexOf(t)&&i.push(e)}))})),i},findModels:function(e,t,n){for(var r=["ng-","data-ng-","ng\\:"],i=0;i<r.length;++i){var o="["+r[i]+"model"+(n?"=":"*=")+'"'+t+'"]',a=e.querySelectorAll(o);if(a.length)return a}},getLocation:function(){return n.url()},setLocation:function(t){t!==n.url()&&(n.url(t),e.$digest())},whenStable:function(e){t.notifyWhenNoOutstandingRequests(e)}};return r}]}var ni=i("$timeout");function ri(){this.$get=["$rootScope","$browser","$q","$$q","$exceptionHandler",function(e,t,n,r,i){var o={};function a(a,s,l){G(a)||(l=s,s=a,a=D);var c,u=de(arguments,3),d=z(l)&&!l,p=(d?r:n).defer(),f=p.promise;return c=t.defer((function(){try{p.resolve(a.apply(null,u))}catch(e){p.reject(e),i(e)}finally{delete o[f.$$timeoutId]}d||e.$apply()}),s,"$timeout"),f.$$timeoutId=c,o[c]=p,f}return a.cancel=function(e){if(!e)return!1;if(!e.hasOwnProperty("$$timeoutId"))throw ni("badprom","`$timeout.cancel()` called with a promise that was not generated by `$timeout()`.");if(!o.hasOwnProperty(e.$$timeoutId))return!1;var n=e.$$timeoutId,r=o[n];return Lr(r.promise),r.reject("canceled"),delete o[n],t.defer.cancel(n)},a}]}var ii,oi=e.document.createElement("a"),ai=li(e.location.href);oi.href="http://[::1]";var si="[::1]"===oi.hostname;function li(e){if(!F(e))return e;var t=e;o&&(oi.setAttribute("href",t),t=oi.href),oi.setAttribute("href",t);var n=oi.hostname;return!si&&n.indexOf(":")>-1&&(n="["+n+"]"),{href:oi.href,protocol:oi.protocol?oi.protocol.replace(/:$/,""):"",host:oi.host,search:oi.search?oi.search.replace(/^\?/,""):"",hash:oi.hash?oi.hash.replace(/^#/,""):"",hostname:n,port:oi.port,pathname:"/"===oi.pathname.charAt(0)?oi.pathname:"/"+oi.pathname}}function ci(e,t){return e=li(e),t=li(t),e.protocol===t.protocol&&e.host===t.host}function ui(){this.$get=I(e)}function di(e){var t=e[0]||{},n={},r="";function i(e){try{return decodeURIComponent(e)}catch(t){return e}}return function(){var e,o,a,s,l,c=function(e){try{return e.cookie||""}catch(e){return""}}(t);if(c!==r)for(e=(r=c).split("; "),n={},a=0;a<e.length;a++)(s=(o=e[a]).indexOf("="))>0&&(l=i(o.substring(0,s)),M(n[l])&&(n[l]=i(o.substring(s+1))));return n}}function pi(){this.$get=di}function fi(e){function t(n,r){if(L(n)){var i={};return k(n,(function(e,n){i[n]=t(n,e)})),i}return e.factory(n+"Filter",r)}this.register=t,this.$get=["$injector",function(e){return function(t){return e.get(t+"Filter")}}],t("currency",vi),t("date",Oi),t("filter",hi),t("json",Ti),t("limitTo",Di),t("lowercase",ji),t("number",bi),t("orderBy",Ii),t("uppercase",Pi)}function hi(){return function(e,t,n,r){if(!w(e)){if(null==e)return e;throw i("filter")("notarray","Expected array but received: {0}",e)}var o,a;switch(r=r||"$",mi(t)){case"function":o=t;break;case"boolean":case"null":case"number":case"string":a=!0;case"object":o=function(e,t,n,r){var i=L(e)&&n in e;!0===t?t=se:G(t)||(t=function(e,t){return!M(e)&&(null===e||null===t?e===t:!(L(t)||L(e)&&!N(e))&&(e=d(""+e),t=d(""+t),-1!==e.indexOf(t)))});return function(o){return i&&!L(o)?gi(o,e[n],t,n,!1):gi(o,e,t,n,r)}}(t,n,r,a);break;default:return e}return Array.prototype.filter.call(e,o)}}function gi(e,t,n,r,i,o){var a=mi(e),s=mi(t);if("string"===s&&"!"===t.charAt(0))return!gi(e,t.substring(1),n,r,i);if(U(e))return e.some((function(e){return gi(e,t,n,r,i)}));switch(a){case"object":var l;if(i){for(l in e)if(l.charAt&&"$"!==l.charAt(0)&&gi(e[l],t,n,r,!0))return!0;return!o&&gi(e,t,n,r,!1)}if("object"===s){for(l in t){var c=t[l];if(!G(c)&&!M(c)){var u=l===r;if(!gi(u?e:e[l],c,n,r,u,u))return!1}}return!0}return n(e,t);case"function":return!1;default:return n(e,t)}}function mi(e){return null===e?"null":typeof e}di.$inject=["$document"],fi.$inject=["$provide"];function vi(e){var t=e.NUMBER_FORMATS;return function(e,n,r){M(n)&&(n=t.CURRENCY_SYM),M(r)&&(r=t.PATTERNS[1].maxFrac);var i=n?/\u00A4/g:/\s*\u00A4\s*/g;return null==e?e:yi(e,t.PATTERNS[1],t.GROUP_SEP,t.DECIMAL_SEP,r).replace(i,n)}}function bi(e){var t=e.NUMBER_FORMATS;return function(e,n){return null==e?e:yi(e,t.PATTERNS[0],t.GROUP_SEP,t.DECIMAL_SEP,n)}}function yi(e,t,n,r,i){if(!F(e)&&!q(e)||isNaN(e))return"";var o,a=!isFinite(e),s=!1,l=Math.abs(e)+"",c="";if(a)c="∞";else{(function(e,t,n,r){var i=e.d,o=i.length-e.i,a=(t=M(t)?Math.min(Math.max(n,o),r):+t)+e.i,s=i[a];if(a>0){i.splice(Math.max(e.i,a));for(var l=a;l<i.length;l++)i[l]=0}else{o=Math.max(0,o),e.i=1,i.length=Math.max(1,a=t+1),i[0]=0;for(var c=1;c<a;c++)i[c]=0}if(s>=5)if(a-1<0){for(var u=0;u>a;u--)i.unshift(0),e.i++;i.unshift(1),e.i++}else i[a-1]++;for(;o<Math.max(0,t);o++)i.push(0);var d=i.reduceRight((function(e,t,n,r){return t+=e,r[n]=t%10,Math.floor(t/10)}),0);d&&(i.unshift(d),e.i++)})(o=function(e){var t,n,r,i,o,a=0;for((n=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(n<0&&(n=r),n+=+e.slice(r+1),e=e.substring(0,r)):n<0&&(n=e.length),r=0;"0"===e.charAt(r);r++);if(r===(o=e.length))t=[0],n=1;else{for(o--;"0"===e.charAt(o);)o--;for(n-=r,t=[],i=0;r<=o;r++,i++)t[i]=+e.charAt(r)}return n>22&&(t=t.splice(0,21),a=n-1,n=1),{d:t,e:a,i:n}}(l),i,t.minFrac,t.maxFrac);var u=o.d,d=o.i,p=o.e,f=[];for(s=u.reduce((function(e,t){return e&&!t}),!0);d<0;)u.unshift(0),d++;d>0?f=u.splice(d,u.length):(f=u,u=[0]);var h=[];for(u.length>=t.lgSize&&h.unshift(u.splice(-t.lgSize,u.length).join(""));u.length>t.gSize;)h.unshift(u.splice(-t.gSize,u.length).join(""));u.length&&h.unshift(u.join("")),c=h.join(n),f.length&&(c+=r+f.join("")),p&&(c+="e+"+p)}return e<0&&!s?t.negPre+c+t.negSuf:t.posPre+c+t.posSuf}function xi(e,t,n,r){var i="";for((e<0||r&&e<=0)&&(r?e=1-e:(e=-e,i="-")),e=""+e;e.length<t;)e="0"+e;return n&&(e=e.substr(e.length-t)),i+e}function wi(e,t,n,r,i){return n=n||0,function(o){var a=o["get"+e]();return(n>0||a>-n)&&(a+=n),0===a&&-12===n&&(a=12),xi(a,t,r,i)}}function ki(e,t,n){return function(r,i){var o=r["get"+e]();return i[p((n?"STANDALONE":"")+(t?"SHORT":"")+e)][o]}}function Ai(e){var t=new Date(e,0,1).getDay();return new Date(e,0,(t<=4?5:12)-t)}function Ei(e){return function(t){var n,r=Ai(t.getFullYear()),i=+(n=t,new Date(n.getFullYear(),n.getMonth(),n.getDate()+(4-n.getDay())))-+r;return xi(1+Math.round(i/6048e5),e)}}function Si(e,t){return e.getFullYear()<=0?t.ERAS[0]:t.ERAS[1]}vi.$inject=["$locale"],bi.$inject=["$locale"];var $i={yyyy:wi("FullYear",4,0,!1,!0),yy:wi("FullYear",2,0,!0,!0),y:wi("FullYear",1,0,!1,!0),MMMM:ki("Month"),MMM:ki("Month",!0),MM:wi("Month",2,1),M:wi("Month",1,1),LLLL:ki("Month",!1,!0),dd:wi("Date",2),d:wi("Date",1),HH:wi("Hours",2),H:wi("Hours",1),hh:wi("Hours",2,-12),h:wi("Hours",1,-12),mm:wi("Minutes",2),m:wi("Minutes",1),ss:wi("Seconds",2),s:wi("Seconds",1),sss:wi("Milliseconds",3),EEEE:ki("Day"),EEE:ki("Day",!0),a:function(e,t){return e.getHours()<12?t.AMPMS[0]:t.AMPMS[1]},Z:function(e,t,n){var r=-1*n,i=r>=0?"+":"";return i+=xi(Math[r>0?"floor":"ceil"](r/60),2)+xi(Math.abs(r%60),2)},ww:Ei(2),w:Ei(1),G:Si,GG:Si,GGG:Si,GGGG:function(e,t){return e.getFullYear()<=0?t.ERANAMES[0]:t.ERANAMES[1]}},Ci=/((?:[^yMLdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|m+|s+|a|Z|G+|w+))([\s\S]*)/,_i=/^-?\d+$/;function Oi(e){var t=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(n,r,i){var o,a,s="",l=[];if(r=r||"mediumDate",r=e.DATETIME_FORMATS[r]||r,F(n)&&(n=_i.test(n)?T(n):function(e){var n;if(n=e.match(t)){var r=new Date(0),i=0,o=0,a=n[8]?r.setUTCFullYear:r.setFullYear,s=n[8]?r.setUTCHours:r.setHours;n[9]&&(i=T(n[9]+n[10]),o=T(n[9]+n[11])),a.call(r,T(n[1]),T(n[2])-1,T(n[3]));var l=T(n[4]||0)-i,c=T(n[5]||0)-o,u=T(n[6]||0),d=Math.round(1e3*parseFloat("0."+(n[7]||0)));return s.call(r,l,c,u,d),r}return e}(n)),q(n)&&(n=new Date(n)),!V(n)||!isFinite(n.getTime()))return n;for(;r;)(a=Ci.exec(r))?r=(l=ue(l,a,1)).pop():(l.push(r),r=null);var c=n.getTimezoneOffset();return i&&(c=ve(i,c),n=ye(n,i,!0)),k(l,(function(t){s+=(o=$i[t])?o(n,e.DATETIME_FORMATS,c):"''"===t?"'":t.replace(/(^'|'$)/g,"").replace(/''/g,"'")})),s}}function Ti(){return function(e,t){return M(t)&&(t=2),he(e,t)}}Oi.$inject=["$locale"];var ji=I(d),Pi=I(p);function Di(){return function(e,t,n){return t=Math.abs(Number(t))===1/0?Number(t):T(t),j(t)?e:(q(e)&&(e=e.toString()),w(e)?(n=(n=!n||isNaN(n)?0:T(n))<0?Math.max(0,e.length+n):n,t>=0?Ri(e,n,n+t):0===n?Ri(e,t,e.length):Ri(e,Math.max(0,n+t),n)):e)}}function Ri(e,t,n){return F(e)?e.slice(t,n):f.call(e,t,n)}function Ii(e){return function(r,o,a,s){if(null==r)return r;if(!w(r))throw i("orderBy")("notarray","Expected array but received: {0}",r);U(o)||(o=[o]),0===o.length&&(o=["+"]);var l=o.map((function(t){var n=1,r=R;if(G(t))r=t;else if(F(t)&&("+"!==t.charAt(0)&&"-"!==t.charAt(0)||(n="-"===t.charAt(0)?-1:1,t=t.substring(1)),""!==t&&(r=e(t)).constant)){var i=r();r=function(e){return e[i]}}return{get:r,descending:n}})),c=a?-1:1,u=G(s)?s:n,d=Array.prototype.map.call(r,(function(e,n){return{value:e,tieBreaker:{value:n,type:"number",index:n},predicateValues:l.map((function(r){return function(e,n){var r=typeof e;null===e?r="null":"object"===r&&(e=function(e){if(G(e.valueOf)&&t(e=e.valueOf()))return e;if(N(e)&&t(e=e.toString()))return e;return e}(e));return{value:e,type:r,index:n}}(r.get(e),n)}))}}));return d.sort((function(e,t){for(var r=0,i=l.length;r<i;r++){var o=u(e.predicateValues[r],t.predicateValues[r]);if(o)return o*l[r].descending*c}return(u(e.tieBreaker,t.tieBreaker)||n(e.tieBreaker,t.tieBreaker))*c})),r=d.map((function(e){return e.value}))};function t(e){switch(typeof e){case"number":case"boolean":case"string":return!0;default:return!1}}function n(e,t){var n=0,r=e.type,i=t.type;if(r===i){var o=e.value,a=t.value;"string"===r?(o=o.toLowerCase(),a=a.toLowerCase()):"object"===r&&(L(o)&&(o=e.index),L(a)&&(a=t.index)),o!==a&&(n=o<a?-1:1)}else n="undefined"===r?1:"undefined"===i?-1:"null"===r?1:"null"===i||r<i?-1:1;return n}}function Ni(e){return G(e)&&(e={link:e}),e.restrict=e.restrict||"AC",I(e)}Ii.$inject=["$parse"];var Mi=I({restrict:"E",compile:function(e,t){if(!t.href&&!t.xlinkHref)return function(e,t){if("a"===t[0].nodeName.toLowerCase()){var n="[object SVGAnimatedString]"===m.call(t.prop("href"))?"xlink:href":"href";t.on("click",(function(e){t.attr(n)||e.preventDefault()}))}}}}),zi={};k(jt,(function(e,t){if("multiple"!==e){var n=yn("ng-"+t),r=i;"checked"===e&&(r=function(e,t,r){r.ngModel!==r[n]&&i(e,0,r)}),zi[n]=function(){return{restrict:"A",priority:100,link:r}}}function i(e,r,i){e.$watch(i[n],(function(e){i.$set(t,!!e)}))}})),k(Dt,(function(e,t){zi[t]=function(){return{priority:100,link:function(e,n,r){if("ngPattern"===t&&"/"===r.ngPattern.charAt(0)){var i=r.ngPattern.match(c);if(i)return void r.$set("ngPattern",new RegExp(i[1],i[2]))}e.$watch(r[t],(function(e){r.$set(t,e)}))}}}})),k(["src","srcset","href"],(function(e){var t=yn("ng-"+e);zi[t]=["$sce",function(n){return{priority:99,link:function(r,i,a){var s=e,l=e;"href"===e&&"[object SVGAnimatedString]"===m.call(i.prop("href"))&&(l="xlinkHref",a.$attr[l]="xlink:href",s=null),a.$set(t,n.getTrustedMediaUrl(a[t])),a.$observe(t,(function(t){t?(a.$set(l,t),o&&s&&i.prop(s,a[l])):"href"===e&&a.$set(l,null)}))}}}]}));var Li={$addControl:D,$getControls:I([]),$$renameControl:function(e,t){e.$name=t},$removeControl:D,$setValidity:D,$setDirty:D,$setPristine:D,$setSubmitted:D,$$setSubmitted:D};function Bi(e,t,n,r,i){this.$$controls=[],this.$error={},this.$$success={},this.$pending=void 0,this.$name=i(t.name||t.ngForm||"")(n),this.$dirty=!1,this.$pristine=!0,this.$valid=!0,this.$invalid=!1,this.$submitted=!1,this.$$parentForm=Li,this.$$element=e,this.$$animate=r,Ui(this)}Bi.$inject=["$element","$attrs","$scope","$animate","$interpolate"],Bi.prototype={$rollbackViewValue:function(){k(this.$$controls,(function(e){e.$rollbackViewValue()}))},$commitViewValue:function(){k(this.$$controls,(function(e){e.$commitViewValue()}))},$addControl:function(e){Me(e.$name,"input"),this.$$controls.push(e),e.$name&&(this[e.$name]=e),e.$$parentForm=this},$getControls:function(){return qe(this.$$controls)},$$renameControl:function(e,t){var n=e.$name;this[n]===e&&delete this[n],this[t]=e,e.$name=t},$removeControl:function(e){e.$name&&this[e.$name]===e&&delete this[e.$name],k(this.$pending,(function(t,n){this.$setValidity(n,null,e)}),this),k(this.$error,(function(t,n){this.$setValidity(n,null,e)}),this),k(this.$$success,(function(t,n){this.$setValidity(n,null,e)}),this),ie(this.$$controls,e),e.$$parentForm=Li},$setDirty:function(){this.$$animate.removeClass(this.$$element,Bo),this.$$animate.addClass(this.$$element,Fo),this.$dirty=!0,this.$pristine=!1,this.$$parentForm.$setDirty()},$setPristine:function(){this.$$animate.setClass(this.$$element,Bo,Fo+" ng-submitted"),this.$dirty=!1,this.$pristine=!0,this.$submitted=!1,k(this.$$controls,(function(e){e.$setPristine()}))},$setUntouched:function(){k(this.$$controls,(function(e){e.$setUntouched()}))},$setSubmitted:function(){for(var e=this;e.$$parentForm&&e.$$parentForm!==Li;)e=e.$$parentForm;e.$$setSubmitted()},$$setSubmitted:function(){this.$$animate.addClass(this.$$element,"ng-submitted"),this.$submitted=!0,k(this.$$controls,(function(e){e.$$setSubmitted&&e.$$setSubmitted()}))}},Hi({clazz:Bi,set:function(e,t,n){var r=e[t];r?-1===r.indexOf(n)&&r.push(n):e[t]=[n]},unset:function(e,t,n){var r=e[t];r&&(ie(r,n),0===r.length&&delete e[t])}});var Fi=function(e){return["$timeout","$parse",function(t,n){return{name:"form",restrict:e?"EAC":"E",require:["form","^^?form"],controller:Bi,compile:function(n,i){n.addClass(Bo).addClass(zo);var o=i.name?"name":!(!e||!i.ngForm)&&"ngForm";return{pre:function(e,n,i,a){var s=a[0];if(!("action"in i)){var l=function(t){e.$apply((function(){s.$commitViewValue(),s.$setSubmitted()})),t.preventDefault()};n[0].addEventListener("submit",l),n.on("$destroy",(function(){t((function(){n[0].removeEventListener("submit",l)}),0,!1)}))}(a[1]||s.$$parentForm).$addControl(s);var c=o?r(s.$name):D;o&&(c(e,s),i.$observe(o,(function(t){s.$name!==t&&(c(e,void 0),s.$$parentForm.$$renameControl(s,t),(c=r(s.$name))(e,s))}))),n.on("$destroy",(function(){s.$$parentForm.$removeControl(s),c(e,void 0),_(s,Li)}))}}}};function r(e){return""===e?n('this[""]').assign:n(e).assign||D}}]},qi=Fi(),Vi=Fi(!0);function Ui(e){e.$$classCache={},e.$$classCache[Lo]=!(e.$$classCache[zo]=e.$$element.hasClass(zo))}function Hi(e){var t=e.clazz,n=e.set,r=e.unset;function i(e,t,n){n&&!e.$$classCache[t]?(e.$$animate.addClass(e.$$element,t),e.$$classCache[t]=!0):!n&&e.$$classCache[t]&&(e.$$animate.removeClass(e.$$element,t),e.$$classCache[t]=!1)}function o(e,t,n){t=t?"-"+Pe(t,"-"):"",i(e,zo+t,!0===n),i(e,Lo+t,!1===n)}t.prototype.$setValidity=function(e,t,a){var s;M(t)?function(e,t,r,i){e[t]||(e[t]={});n(e[t],r,i)}(this,"$pending",e,a):function(e,t,n,i){e[t]&&r(e[t],n,i);Gi(e[t])&&(e[t]=void 0)}(this,"$pending",e,a),Z(t)?t?(r(this.$error,e,a),n(this.$$success,e,a)):(n(this.$error,e,a),r(this.$$success,e,a)):(r(this.$error,e,a),r(this.$$success,e,a)),this.$pending?(i(this,"ng-pending",!0),this.$valid=this.$invalid=void 0,o(this,"",null)):(i(this,"ng-pending",!1),this.$valid=Gi(this.$error),this.$invalid=!this.$valid,o(this,"",this.$valid)),o(this,e,s=this.$pending&&this.$pending[e]?void 0:!this.$error[e]&&(!!this.$$success[e]||null)),this.$$parentForm.$setValidity(e,s,this)}}function Gi(e){if(e)for(var t in e)if(e.hasOwnProperty(t))return!1;return!0}var Wi=/^\d{4,}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+(?:[+-][0-2]\d:[0-5]\d|Z)$/,Yi=/^[a-z][a-z\d.+-]*:\/*(?:[^:@]+(?::[^@]+)?@)?(?:[^\s:/?#]+|\[[a-f\d:]+])(?::\d+)?(?:\/[^?#]*)?(?:\?[^#]*)?(?:#.*)?$/i,Xi=/^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/,Zi=/^\s*(-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,Qi=/^(\d{4,})-(\d{2})-(\d{2})$/,Ji=/^(\d{4,})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Ki=/^(\d{4,})-W(\d\d)$/,eo=/^(\d{4,})-(\d\d)$/,to=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,no=Le();k("date,datetime-local,month,time,week".split(","),(function(e){no[e]=!0}));var ro={text:function(e,t,n,r,i,o){oo(e,t,n,r,i,o),io(r)},date:so("date",Qi,ao(Qi,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":so("datetimelocal",Ji,ao(Ji,["yyyy","MM","dd","HH","mm","ss","sss"]),"yyyy-MM-ddTHH:mm:ss.sss"),time:so("time",to,ao(to,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:so("week",Ki,(function(e,t){if(V(e))return e;if(F(e)){Ki.lastIndex=0;var n=Ki.exec(e);if(n){var r=+n[1],i=+n[2],o=0,a=0,s=0,l=0,c=Ai(r),u=7*(i-1);return t&&(o=t.getHours(),a=t.getMinutes(),s=t.getSeconds(),l=t.getMilliseconds()),new Date(r,0,c.getDate()+u,o,a,s,l)}}return NaN}),"yyyy-Www"),month:so("month",eo,ao(eo,["yyyy","MM"]),"yyyy-MM"),number:function(e,t,n,r,i,o,a,s){var l;if(lo(e,t,n,r,"number"),co(r),oo(e,t,n,r,i,o),z(n.min)||n.ngMin){var c=n.min||s(n.ngMin)(e);l=uo(c),r.$validators.min=function(e,t){return r.$isEmpty(t)||M(l)||t>=l},n.$observe("min",(function(e){e!==c&&(l=uo(e),c=e,r.$validate())}))}if(z(n.max)||n.ngMax){var u=n.max||s(n.ngMax)(e),d=uo(u);r.$validators.max=function(e,t){return r.$isEmpty(t)||M(d)||t<=d},n.$observe("max",(function(e){e!==u&&(d=uo(e),u=e,r.$validate())}))}if(z(n.step)||n.ngStep){var p=n.step||s(n.ngStep)(e),f=uo(p);r.$validators.step=function(e,t){return r.$isEmpty(t)||M(f)||ho(t,l||0,f)},n.$observe("step",(function(e){e!==p&&(f=uo(e),p=e,r.$validate())}))}},url:function(e,t,n,r,i,o){oo(e,t,n,r,i,o),io(r),r.$validators.url=function(e,t){var n=e||t;return r.$isEmpty(n)||Yi.test(n)}},email:function(e,t,n,r,i,o){oo(e,t,n,r,i,o),io(r),r.$validators.email=function(e,t){var n=e||t;return r.$isEmpty(n)||Xi.test(n)}},radio:function(e,t,n,r){var i=!n.ngTrim||"false"!==K(n.ngTrim);M(n.name)&&t.attr("name",S());t.on("change",(function(e){var o;t[0].checked&&(o=n.value,i&&(o=K(o)),r.$setViewValue(o,e&&e.type))})),r.$render=function(){var e=n.value;i&&(e=K(e)),t[0].checked=e===r.$viewValue},n.$observe("value",r.$render)},range:function(e,t,n,r,i,o){lo(e,t,n,r,"range"),co(r),oo(e,t,n,r,i,o);var a=r.$$hasNativeValidators&&"range"===t[0].type,s=a?0:void 0,l=a?100:void 0,c=a?1:void 0,u=t[0].validity,d=z(n.min),p=z(n.max),f=z(n.step),h=r.$render;r.$render=a&&z(u.rangeUnderflow)&&z(u.rangeOverflow)?function(){h(),r.$setViewValue(t.val())}:h,d&&(s=uo(n.min),r.$validators.min=a?function(){return!0}:function(e,t){return r.$isEmpty(t)||M(s)||t>=s},g("min",(function(e){if(s=uo(e),j(r.$modelValue))return;if(a){var n=t.val();s>n&&(n=s,t.val(n)),r.$setViewValue(n)}else r.$validate()})));p&&(l=uo(n.max),r.$validators.max=a?function(){return!0}:function(e,t){return r.$isEmpty(t)||M(l)||t<=l},g("max",(function(e){if(l=uo(e),j(r.$modelValue))return;if(a){var n=t.val();l<n&&(t.val(l),n=l<s?s:l),r.$setViewValue(n)}else r.$validate()})));f&&(c=uo(n.step),r.$validators.step=a?function(){return!u.stepMismatch}:function(e,t){return r.$isEmpty(t)||M(c)||ho(t,s||0,c)},g("step",(function(e){if(c=uo(e),j(r.$modelValue))return;a?r.$viewValue!==t.val()&&r.$setViewValue(t.val()):r.$validate()})));function g(e,r){t.attr(e,n[e]);var i=n[e];n.$observe(e,(function(e){e!==i&&(i=e,r(e))}))}},checkbox:function(e,t,n,r,i,o,a,s){var l=go(s,e,"ngTrueValue",n.ngTrueValue,!0),c=go(s,e,"ngFalseValue",n.ngFalseValue,!1);t.on("change",(function(e){r.$setViewValue(t[0].checked,e&&e.type)})),r.$render=function(){t[0].checked=r.$viewValue},r.$isEmpty=function(e){return!1===e},r.$formatters.push((function(e){return se(e,l)})),r.$parsers.push((function(e){return e?l:c}))},hidden:D,button:D,submit:D,reset:D,file:D};function io(e){e.$formatters.push((function(t){return e.$isEmpty(t)?t:t.toString()}))}function oo(e,t,n,r,i,o){var a,s=d(t[0].type);if(!i.android){var l=!1;t.on("compositionstart",(function(){l=!0})),t.on("compositionupdate",(function(e){(M(e.data)||""===e.data)&&(l=!1)})),t.on("compositionend",(function(){l=!1,c()}))}var c=function(e){if(a&&(o.defer.cancel(a),a=null),!l){var i=t.val(),c=e&&e.type;"password"===s||n.ngTrim&&"false"===n.ngTrim||(i=K(i)),(r.$viewValue!==i||""===i&&r.$$hasNativeValidators)&&r.$setViewValue(i,c)}};if(i.hasEvent("input"))t.on("input",c);else{var u=function(e,t,n){a||(a=o.defer((function(){a=null,t&&t.value===n||c(e)})))};t.on("keydown",(function(e){var t=e.keyCode;91===t||15<t&&t<19||37<=t&&t<=40||u(e,this,this.value)})),i.hasEvent("paste")&&t.on("paste cut drop",u)}t.on("change",c),no[s]&&r.$$hasNativeValidators&&s===n.type&&t.on("keydown wheel mousedown",(function(e){if(!a){var t=this.validity,n=t.badInput,r=t.typeMismatch;a=o.defer((function(){a=null,t.badInput===n&&t.typeMismatch===r||c(e)}))}})),r.$render=function(){var e=r.$isEmpty(r.$viewValue)?"":r.$viewValue;t.val()!==e&&t.val(e)}}function ao(e,t){return function(n,r){var i,o;if(V(n))return n;if(F(n)){if('"'===n.charAt(0)&&'"'===n.charAt(n.length-1)&&(n=n.substring(1,n.length-1)),Wi.test(n))return new Date(n);if(e.lastIndex=0,i=e.exec(n)){i.shift(),o=r?{yyyy:r.getFullYear(),MM:r.getMonth()+1,dd:r.getDate(),HH:r.getHours(),mm:r.getMinutes(),ss:r.getSeconds(),sss:r.getMilliseconds()/1e3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},k(i,(function(e,n){n<t.length&&(o[t[n]]=+e)}));var a=new Date(o.yyyy,o.MM-1,o.dd,o.HH,o.mm,o.ss||0,1e3*o.sss||0);return o.yyyy<100&&a.setFullYear(o.yyyy),a}}return NaN}}function so(e,t,n,r){return function(i,o,a,s,l,c,u,d){lo(i,o,a,s,e),oo(0,o,a,s,l,c);var p,f,h="time"===e||"datetimelocal"===e;if(s.$parsers.push((function(n){return s.$isEmpty(n)?null:t.test(n)?w(n,p):void(s.$$parserName=e)})),s.$formatters.push((function(e){if(e&&!V(e))throw qo("datefmt","Expected `{0}` to be a date",e);if(y(e)){p=e;var t=s.$options.getOption("timezone");return t&&(f=t,p=ye(p,t,!0)),function(e,t){var n=r;h&&F(s.$options.getOption("timeSecondsFormat"))&&(n=r.replace("ss.sss",s.$options.getOption("timeSecondsFormat")).replace(/:$/,""));var i=u("date")(e,n,t);h&&s.$options.getOption("timeStripZeroSeconds")&&(i=i.replace(/(?::00)?(?:\.000)?$/,""));return i}(e,t)}return p=null,f=null,""})),z(a.min)||a.ngMin){var g=a.min||d(a.ngMin)(i),m=x(g);s.$validators.min=function(e){return!y(e)||M(m)||n(e)>=m},a.$observe("min",(function(e){e!==g&&(m=x(e),g=e,s.$validate())}))}if(z(a.max)||a.ngMax){var v=a.max||d(a.ngMax)(i),b=x(v);s.$validators.max=function(e){return!y(e)||M(b)||n(e)<=b},a.$observe("max",(function(e){e!==v&&(b=x(e),v=e,s.$validate())}))}function y(e){return e&&!(e.getTime&&e.getTime()!=e.getTime())}function x(e){return z(e)&&!V(e)?w(e)||void 0:e}function w(e,t){var r=s.$options.getOption("timezone");f&&f!==r&&(t=be(t,ve(f)));var i=n(e,t);return!isNaN(i)&&r&&(i=ye(i,r)),i}}}function lo(e,t,n,r,i){var o=t[0];(r.$$hasNativeValidators=L(o.validity))&&r.$parsers.push((function(e){var n=t.prop("validity")||{};if(!n.badInput&&!n.typeMismatch)return e;r.$$parserName=i}))}function co(e){e.$parsers.push((function(t){return e.$isEmpty(t)?null:Zi.test(t)?parseFloat(t):void(e.$$parserName="number")})),e.$formatters.push((function(t){if(!e.$isEmpty(t)){if(!q(t))throw qo("numfmt","Expected `{0}` to be a number",t);t=t.toString()}return t}))}function uo(e){return z(e)&&!q(e)&&(e=parseFloat(e)),j(e)?void 0:e}function po(e){return(0|e)===e}function fo(e){var t=e.toString(),n=t.indexOf(".");if(-1===n){if(-1<e&&e<1){var r=/e-(\d+)$/.exec(t);if(r)return Number(r[1])}return 0}return t.length-n-1}function ho(e,t,n){var r=Number(e),i=!po(r),o=!po(t),a=!po(n);if(i||o||a){var s=i?fo(r):0,l=o?fo(t):0,c=a?fo(n):0,u=Math.max(s,l,c),d=Math.pow(10,u);r*=d,t*=d,n*=d,i&&(r=Math.round(r)),o&&(t=Math.round(t)),a&&(n=Math.round(n))}return(r-t)%n==0}function go(e,t,n,r,i){var o;if(z(r)){if(!(o=e(r)).constant)throw qo("constexpr","Expected constant expression for `{0}`, but saw `{1}`.",n,r);return o(t)}return i}var mo=["$browser","$sniffer","$filter","$parse",function(e,t,n,r){return{restrict:"E",require:["?ngModel"],link:{pre:function(i,o,a,s){s[0]&&(ro[d(a.type)]||ro.text)(i,o,a,s[0],t,e,n,r)}}}}],vo=function(){var e={configurable:!0,enumerable:!1,get:function(){return this.getAttribute("value")||""},set:function(e){this.setAttribute("value",e)}};return{restrict:"E",priority:200,compile:function(t,n){if("hidden"===d(n.type))return{pre:function(t,n,r,i){var o=n[0];o.parentNode&&o.parentNode.insertBefore(o,o.nextSibling),Object.defineProperty&&Object.defineProperty(o,"value",e)}}}}},bo=/^(true|false|\d+)$/,yo=function(){function e(e,t,n){var r=z(n)?n:9===o?"":null;e.prop("value",r),t.$set("value",n)}return{restrict:"A",priority:100,compile:function(t,n){return bo.test(n.ngValue)?function(t,n,r){e(n,r,t.$eval(r.ngValue))}:function(t,n,r){t.$watch(r.ngValue,(function(t){e(n,r,t)}))}}}},xo=["$compile",function(e){return{restrict:"AC",compile:function(t){return e.$$addBindingClass(t),function(t,n,r){e.$$addBindingInfo(n,r.ngBind),n=n[0],t.$watch(r.ngBind,(function(e){n.textContent=Be(e)}))}}}}],wo=["$interpolate","$compile",function(e,t){return{compile:function(n){return t.$$addBindingClass(n),function(n,r,i){var o=e(r.attr(i.$attr.ngBindTemplate));t.$$addBindingInfo(r,o.expressions),r=r[0],i.$observe("ngBindTemplate",(function(e){r.textContent=M(e)?"":e}))}}}}],ko=["$sce","$parse","$compile",function(e,t,n){return{restrict:"A",compile:function(r,i){var o=t(i.ngBindHtml),a=t(i.ngBindHtml,(function(t){return e.valueOf(t)}));return n.$$addBindingClass(r),function(t,r,i){n.$$addBindingInfo(r,i.ngBindHtml),t.$watch(a,(function(){var n=o(t);r.html(e.getTrustedHtml(n)||"")}))}}}}],Ao=I({restrict:"A",require:"ngModel",link:function(e,t,n,r){r.$viewChangeListeners.push((function(){e.$eval(n.ngChange)}))}});function Eo(e,t){var n;return e="ngClass"+e,["$parse",function(a){return{restrict:"AC",link:function(s,l,c){var u,d=l.data("$classCounts"),p=!0;function f(e,t){var n=[];return k(e,(function(e){(t>0||d[e])&&(d[e]=(d[e]||0)+t,d[e]===+(t>0)&&n.push(e))})),n.join(" ")}d||(d=Le(),l.data("$classCounts",d)),"ngClass"!==e&&(n||(n=a("$index",(function(e){return 1&e}))),s.$watch(n,(function(e){e===t?(n=f(i(n=u),1),c.$addClass(n)):function(e){e=f(i(e),-1),c.$removeClass(e)}(u);var n;p=e}))),s.$watch(a(c[e],o),(function(e){p===t&&function(e,t){var n=i(e),o=i(t),a=r(n,o),s=r(o,n),l=f(a,-1),u=f(s,1);c.$addClass(u),c.$removeClass(l)}(u,e);u=e}))}}}];function r(e,t){if(!e||!e.length)return[];if(!t||!t.length)return e;var n=[];e:for(var r=0;r<e.length;r++){for(var i=e[r],o=0;o<t.length;o++)if(i===t[o])continue e;n.push(i)}return n}function i(e){return e&&e.split(" ")}function o(e){if(!e)return e;var t=e;return U(e)?t=e.map(o).join(" "):L(e)?t=Object.keys(e).filter((function(t){return e[t]})).join(" "):F(e)||(t=e+""),t}}var So=Eo("",!0),$o=Eo("Odd",0),Co=Eo("Even",1),_o=Ni({compile:function(e,t){t.$set("ngCloak",void 0),e.removeClass("ng-cloak")}}),Oo=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],To={},jo={blur:!0,focus:!0};function Po(e,t,n,r,i,o){return{restrict:"A",compile:function(a,s){var l=e(s[r]);return function(e,r){r.on(i,(function(r){var i=function(){l(e,{$event:r})};if(t.$$phase)if(o)e.$evalAsync(i);else try{i()}catch(e){n(e)}else e.$apply(i)}))}}}}k("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),(function(e){var t=yn("ng-"+e);To[t]=["$parse","$rootScope","$exceptionHandler",function(n,r,i){return Po(n,r,i,t,e,jo[e])}]}));var Do=["$animate","$compile",function(e,t){return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(n,r,i,o,a){var s,l,c;n.$watch(i.ngIf,(function(n){n?l||a((function(n,o){l=o,n[n.length++]=t.$$createComment("end ngIf",i.ngIf),s={clone:n},e.enter(n,r.parent(),r)})):(c&&(c.remove(),c=null),l&&(l.$destroy(),l=null),s&&(c=ze(s.clone),e.leave(c).done((function(e){!1!==e&&(c=null)})),s=null))}))}}}],Ro=["$templateRequest","$anchorScroll","$animate",function(e,t,n){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:y.noop,compile:function(r,i){var o=i.ngInclude||i.src,a=i.onload||"",s=i.autoscroll;return function(r,i,l,c,u){var d,p,f,h=0,g=function(){p&&(p.remove(),p=null),d&&(d.$destroy(),d=null),f&&(n.leave(f).done((function(e){!1!==e&&(p=null)})),p=f,f=null)};r.$watch(o,(function(o){var l=function(e){!1===e||!z(s)||s&&!r.$eval(s)||t()},p=++h;o?(e(o,!0).then((function(e){if(!r.$$destroyed&&p===h){var t=r.$new();c.template=e;var s=u(t,(function(e){g(),n.enter(e,null,i).done(l)}));f=s,(d=t).$emit("$includeContentLoaded",o),r.$eval(a)}}),(function(){r.$$destroyed||p===h&&(g(),r.$emit("$includeContentError",o))})),r.$emit("$includeContentRequested",o)):(g(),c.template=null)}))}}}}],Io=["$compile",function(t){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(n,r,i,o){if(m.call(r[0]).match(/SVG/))return r.empty(),void t(ut(o.template,e.document).childNodes)(n,(function(e){r.append(e)}),{futureParentElement:r});r.html(o.template),t(r.contents())(n)}}}],No=Ni({priority:450,compile:function(){return{pre:function(e,t,n){e.$eval(n.ngInit)}}}}),Mo=function(){return{restrict:"A",priority:100,require:"ngModel",link:function(e,t,n,r){var i=n.ngList||", ",o="false"!==n.ngTrim,a=o?K(i):i;r.$parsers.push((function(e){if(!M(e)){var t=[];return e&&k(e.split(a),(function(e){e&&t.push(o?K(e):e)})),t}})),r.$formatters.push((function(e){if(U(e))return e.join(i)})),r.$isEmpty=function(e){return!e||!e.length}}}},zo="ng-valid",Lo="ng-invalid",Bo="ng-pristine",Fo="ng-dirty",qo=i("ngModel");function Vo(e,t,n,r,i,o,a,s,l){var c;this.$viewValue=Number.NaN,this.$modelValue=Number.NaN,this.$$rawModelValue=void 0,this.$validators={},this.$asyncValidators={},this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$untouched=!0,this.$touched=!1,this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$error={},this.$$success={},this.$pending=void 0,this.$name=l(n.name||"",!1)(e),this.$$parentForm=Li,this.$options=Uo,this.$$updateEvents="",this.$$updateEventHandler=this.$$updateEventHandler.bind(this),this.$$parsedNgModel=i(n.ngModel),this.$$parsedNgModelAssign=this.$$parsedNgModel.assign,this.$$ngModelGet=this.$$parsedNgModel,this.$$ngModelSet=this.$$parsedNgModelAssign,this.$$pendingDebounce=null,this.$$parserValid=void 0,this.$$parserName="parse",this.$$currentValidationRunId=0,this.$$scope=e,this.$$rootScope=e.$root,this.$$attr=n,this.$$element=r,this.$$animate=o,this.$$timeout=a,this.$$parse=i,this.$$q=s,this.$$exceptionHandler=t,Ui(this),(c=this).$$scope.$watch((function(e){var t=c.$$ngModelGet(e);return t===c.$modelValue||c.$modelValue!=c.$modelValue&&t!=t||c.$$setModelValue(t),t}))}Vo.$inject=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate","$timeout","$q","$interpolate"],Vo.prototype={$$initGetterSetters:function(){if(this.$options.getOption("getterSetter")){var e=this.$$parse(this.$$attr.ngModel+"()"),t=this.$$parse(this.$$attr.ngModel+"($$$p)");this.$$ngModelGet=function(t){var n=this.$$parsedNgModel(t);return G(n)&&(n=e(t)),n},this.$$ngModelSet=function(e,n){G(this.$$parsedNgModel(e))?t(e,{$$$p:n}):this.$$parsedNgModelAssign(e,n)}}else if(!this.$$parsedNgModel.assign)throw qo("nonassign","Expression '{0}' is non-assignable. Element: {1}",this.$$attr.ngModel,xe(this.$$element))},$render:D,$isEmpty:function(e){return M(e)||""===e||null===e||e!=e},$$updateEmptyClasses:function(e){this.$isEmpty(e)?(this.$$animate.removeClass(this.$$element,"ng-not-empty"),this.$$animate.addClass(this.$$element,"ng-empty")):(this.$$animate.removeClass(this.$$element,"ng-empty"),this.$$animate.addClass(this.$$element,"ng-not-empty"))},$setPristine:function(){this.$dirty=!1,this.$pristine=!0,this.$$animate.removeClass(this.$$element,Fo),this.$$animate.addClass(this.$$element,Bo)},$setDirty:function(){this.$dirty=!0,this.$pristine=!1,this.$$animate.removeClass(this.$$element,Bo),this.$$animate.addClass(this.$$element,Fo),this.$$parentForm.$setDirty()},$setUntouched:function(){this.$touched=!1,this.$untouched=!0,this.$$animate.setClass(this.$$element,"ng-untouched","ng-touched")},$setTouched:function(){this.$touched=!0,this.$untouched=!1,this.$$animate.setClass(this.$$element,"ng-touched","ng-untouched")},$rollbackViewValue:function(){this.$$timeout.cancel(this.$$pendingDebounce),this.$viewValue=this.$$lastCommittedViewValue,this.$render()},$validate:function(){if(!j(this.$modelValue)){var e=this.$$lastCommittedViewValue,t=this.$$rawModelValue,n=this.$valid,r=this.$modelValue,i=this.$options.getOption("allowInvalid"),o=this;this.$$runValidators(t,e,(function(e){i||n===e||(o.$modelValue=e?t:void 0,o.$modelValue!==r&&o.$$writeModelToScope())}))}},$$runValidators:function(e,t,n){this.$$currentValidationRunId++;var r,i,o=this.$$currentValidationRunId,a=this;(function(){var e=a.$$parserName;if(!M(a.$$parserValid))return a.$$parserValid||(k(a.$validators,(function(e,t){s(t,null)})),k(a.$asyncValidators,(function(e,t){s(t,null)}))),s(e,a.$$parserValid),a.$$parserValid;s(e,null);return!0})()?!function(){var n=!0;if(k(a.$validators,(function(r,i){var o=Boolean(r(e,t));n=n&&o,s(i,o)})),!n)return k(a.$asyncValidators,(function(e,t){s(t,null)})),!1;return!0}()?l(!1):(r=[],i=!0,k(a.$asyncValidators,(function(n,o){var a=n(e,t);if(!Q(a))throw qo("nopromise","Expected asynchronous validator to return a promise but got '{0}' instead.",a);s(o,void 0),r.push(a.then((function(){s(o,!0)}),(function(){i=!1,s(o,!1)})))})),r.length?a.$$q.all(r).then((function(){l(i)}),D):l(!0)):l(!1);function s(e,t){o===a.$$currentValidationRunId&&a.$setValidity(e,t)}function l(e){o===a.$$currentValidationRunId&&n(e)}},$commitViewValue:function(){var e=this.$viewValue;this.$$timeout.cancel(this.$$pendingDebounce),(this.$$lastCommittedViewValue!==e||""===e&&this.$$hasNativeValidators)&&(this.$$updateEmptyClasses(e),this.$$lastCommittedViewValue=e,this.$pristine&&this.$setDirty(),this.$$parseAndValidate())},$$parseAndValidate:function(){var e=this.$$lastCommittedViewValue,t=this;if(this.$$parserValid=!M(e)||void 0,this.$setValidity(this.$$parserName,null),this.$$parserName="parse",this.$$parserValid)for(var n=0;n<this.$parsers.length;n++)if(M(e=this.$parsers[n](e))){this.$$parserValid=!1;break}j(this.$modelValue)&&(this.$modelValue=this.$$ngModelGet(this.$$scope));var r=this.$modelValue,i=this.$options.getOption("allowInvalid");function o(){t.$modelValue!==r&&t.$$writeModelToScope()}this.$$rawModelValue=e,i&&(this.$modelValue=e,o()),this.$$runValidators(e,this.$$lastCommittedViewValue,(function(n){i||(t.$modelValue=n?e:void 0,o())}))},$$writeModelToScope:function(){this.$$ngModelSet(this.$$scope,this.$modelValue),k(this.$viewChangeListeners,(function(e){try{e()}catch(e){this.$$exceptionHandler(e)}}),this)},$setViewValue:function(e,t){this.$viewValue=e,this.$options.getOption("updateOnDefault")&&this.$$debounceViewValueCommit(t)},$$debounceViewValueCommit:function(e){var t=this.$options.getOption("debounce");q(t[e])?t=t[e]:q(t.default)&&-1===this.$options.getOption("updateOn").indexOf(e)?t=t.default:q(t["*"])&&(t=t["*"]),this.$$timeout.cancel(this.$$pendingDebounce);var n=this;t>0?this.$$pendingDebounce=this.$$timeout((function(){n.$commitViewValue()}),t):this.$$rootScope.$$phase?this.$commitViewValue():this.$$scope.$apply((function(){n.$commitViewValue()}))},$overrideModelOptions:function(e){this.$options=this.$options.createChild(e),this.$$setUpdateOnEvents()},$processModelValue:function(){var e=this.$$format();this.$viewValue!==e&&(this.$$updateEmptyClasses(e),this.$viewValue=this.$$lastCommittedViewValue=e,this.$render(),this.$$runValidators(this.$modelValue,this.$viewValue,D))},$$format:function(){for(var e=this.$formatters,t=e.length,n=this.$modelValue;t--;)n=e[t](n);return n},$$setModelValue:function(e){this.$modelValue=this.$$rawModelValue=e,this.$$parserValid=void 0,this.$processModelValue()},$$setUpdateOnEvents:function(){this.$$updateEvents&&this.$$element.off(this.$$updateEvents,this.$$updateEventHandler),this.$$updateEvents=this.$options.getOption("updateOn"),this.$$updateEvents&&this.$$element.on(this.$$updateEvents,this.$$updateEventHandler)},$$updateEventHandler:function(e){this.$$debounceViewValueCommit(e&&e.type)}},Hi({clazz:Vo,set:function(e,t){e[t]=!0},unset:function(e,t){delete e[t]}});var Uo,Ho=["$rootScope",function(e){return{restrict:"A",require:["ngModel","^?form","^?ngModelOptions"],controller:Vo,priority:1,compile:function(t){return t.addClass(Bo).addClass("ng-untouched").addClass(zo),{pre:function(e,t,n,r){var i=r[0],o=r[1]||i.$$parentForm,a=r[2];a&&(i.$options=a.$options),i.$$initGetterSetters(),o.$addControl(i),n.$observe("name",(function(e){i.$name!==e&&i.$$parentForm.$$renameControl(i,e)})),e.$on("$destroy",(function(){i.$$parentForm.$removeControl(i)}))},post:function(t,n,r,i){var o=i[0];function a(){o.$setTouched()}o.$$setUpdateOnEvents(),n.on("blur",(function(){o.$touched||(e.$$phase?t.$evalAsync(a):t.$apply(a))}))}}}}}],Go=/(\s+|^)default(\s+|$)/;function Wo(e){this.$$options=e}Wo.prototype={getOption:function(e){return this.$$options[e]},createChild:function(e){var t=!1;return k(e=_({},e),(function(n,r){"$inherit"===n?"*"===r?t=!0:(e[r]=this.$$options[r],"updateOn"===r&&(e.updateOnDefault=this.$$options.updateOnDefault)):"updateOn"===r&&(e.updateOnDefault=!1,e[r]=K(n.replace(Go,(function(){return e.updateOnDefault=!0," "}))))}),this),t&&(delete e["*"],Xo(e,this.$$options)),Xo(e,Uo.$$options),new Wo(e)}},Uo=new Wo({updateOn:"",updateOnDefault:!0,debounce:0,getterSetter:!1,allowInvalid:!1,timezone:null});var Yo=function(){function e(e,t){this.$$attrs=e,this.$$scope=t}return e.$inject=["$attrs","$scope"],e.prototype={$onInit:function(){var e=this.parentCtrl?this.parentCtrl.$options:Uo,t=this.$$scope.$eval(this.$$attrs.ngModelOptions);this.$options=e.createChild(t)}},{restrict:"A",priority:10,require:{parentCtrl:"?^^ngModelOptions"},bindToController:!0,controller:e}};function Xo(e,t){k(t,(function(t,n){z(e[n])||(e[n]=t)}))}var Zo=Ni({terminal:!0,priority:1e3}),Qo=i("ngOptions"),Jo=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?(?:\s+disable\s+when\s+([\s\S]+?))?\s+for\s+(?:([$\w][$\w]*)|(?:\(\s*([$\w][$\w]*)\s*,\s*([$\w][$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,Ko=["$compile","$document","$parse",function(t,n,r){var i=e.document.createElement("option"),o=e.document.createElement("optgroup");return{restrict:"A",terminal:!0,require:["select","ngModel"],link:{pre:function(e,t,n,r){r[0].registerOption=D},post:function(e,s,l,c){for(var u=c[0],d=c[1],p=l.multiple,f=0,h=s.children(),g=h.length;f<g;f++)if(""===h[f].value){u.hasEmptyOption=!0,u.emptyOption=h.eq(f);break}s.empty();var m,v=!!u.emptyOption;a(i.cloneNode(!1)).val("?");var b=function(e,t,n){var i=e.match(Jo);if(!i)throw Qo("iexp","Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}",e,xe(t));var o=i[5]||i[7],a=i[6],s=/ as /.test(i[0])&&i[1],l=i[9],c=r(i[2]?i[1]:o),u=s&&r(s)||c,d=l&&r(l),p=l?function(e,t){return d(n,t)}:function(e){return zt(e)},f=function(e,t){return p(e,y(e,t))},h=r(i[2]||i[1]),g=r(i[3]||""),m=r(i[4]||""),v=r(i[8]),b={},y=a?function(e,t){return b[a]=t,b[o]=e,b}:function(e){return b[o]=e,b};function x(e,t,n,r,i){this.selectValue=e,this.viewValue=t,this.label=n,this.group=r,this.disabled=i}function k(e){var t;if(!a&&w(e))t=e;else for(var n in t=[],e)e.hasOwnProperty(n)&&"$"!==n.charAt(0)&&t.push(n);return t}return{trackBy:l,getTrackByValue:f,getWatchables:r(v,(function(e){for(var t=[],r=k(e=e||[]),o=r.length,a=0;a<o;a++){var s=e===r?a:r[a],l=e[s],c=y(l,s),u=p(l,c);if(t.push(u),i[2]||i[1]){var d=h(n,c);t.push(d)}if(i[4]){var f=m(n,c);t.push(f)}}return t})),getOptions:function(){for(var e=[],t={},r=v(n)||[],i=k(r),o=i.length,a=0;a<o;a++){var s=r===i?a:i[a],c=r[s],d=y(c,s),b=u(n,d),w=p(b,d),A=new x(w,b,h(n,d),g(n,d),m(n,d));e.push(A),t[w]=A}return{items:e,selectValueMap:t,getOptionFromViewValue:function(e){return t[f(e)]},getViewValueFromOption:function(e){return l?oe(e.viewValue):e.viewValue}}}}}(l.ngOptions,s,e),y=n[0].createDocumentFragment();function x(e,t){var n=i.cloneNode(!1);t.appendChild(n),function(e,t){e.element=t,t.disabled=e.disabled,e.label!==t.label&&(t.label=e.label,t.textContent=e.label);t.value=e.selectValue}(e,n)}function A(e){var t=m.getOptionFromViewValue(e),n=t&&t.element;return n&&!n.selected&&(n.selected=!0),t}u.generateUnknownOptionValue=function(e){return"?"},p?(u.writeValue=function(e){if(m){var t=e&&e.map(A)||[];m.items.forEach((function(e){e.element.selected&&!re(t,e)&&(e.element.selected=!1)}))}},u.readValue=function(){var e=s.val()||[],t=[];return k(e,(function(e){var n=m.selectValueMap[e];n&&!n.disabled&&t.push(m.getViewValueFromOption(n))})),t},b.trackBy&&e.$watchCollection((function(){if(U(d.$viewValue))return d.$viewValue.map((function(e){return b.getTrackByValue(e)}))}),(function(){d.$render()}))):(u.writeValue=function(e){if(m){var t=s[0].options[s[0].selectedIndex],n=m.getOptionFromViewValue(e);t&&t.removeAttribute("selected"),n?(s[0].value!==n.selectValue&&(u.removeUnknownOption(),s[0].value=n.selectValue,n.element.selected=!0),n.element.setAttribute("selected","selected")):u.selectUnknownOrEmptyOption(e)}},u.readValue=function(){var e=m.selectValueMap[s.val()];return e&&!e.disabled?(u.unselectEmptyOption(),u.removeUnknownOption(),m.getViewValueFromOption(e)):null},b.trackBy&&e.$watch((function(){return b.getTrackByValue(d.$viewValue)}),(function(){d.$render()}))),v&&(t(u.emptyOption)(e),s.prepend(u.emptyOption),8===u.emptyOption[0].nodeType?(u.hasEmptyOption=!1,u.registerOption=function(e,t){""===t.val()&&(u.hasEmptyOption=!0,u.emptyOption=t,u.emptyOption.removeClass("ng-scope"),d.$render(),t.on("$destroy",(function(){var e=u.$isEmptyOptionSelected();u.hasEmptyOption=!1,u.emptyOption=void 0,e&&d.$render()})))}):u.emptyOption.removeClass("ng-scope")),e.$watchCollection(b.getWatchables,(function(){var e=m&&u.readValue();if(m)for(var t=m.items.length-1;t>=0;t--){var n=m.items[t];z(n.group)?_t(n.element.parentNode):_t(n.element)}m=b.getOptions();var r={};if(m.items.forEach((function(e){var t;z(e.group)?((t=r[e.group])||(t=o.cloneNode(!1),y.appendChild(t),t.label=null===e.group?"null":e.group,r[e.group]=t),x(e,t)):x(e,y)})),s[0].appendChild(y),d.$render(),!d.$isEmpty(e)){var i=u.readValue();(b.trackBy||p?se(e,i):e===i)||(d.$setViewValue(i),d.$render())}}))}}}}],ea=["$locale","$interpolate","$log",function(e,t,n){var r=/{}/g,i=/^when(Minus)?(.+)$/;return{link:function(o,a,s){var l,c=s.count,u=s.$attr.when&&a.attr(s.$attr.when),p=s.offset||0,f=o.$eval(u)||{},h={},g=t.startSymbol(),m=t.endSymbol(),v=g+c+"-"+p+m,b=y.noop;function x(e){a.text(e||"")}k(s,(function(e,t){var n=i.exec(t);if(n){var r=(n[1]?"-":"")+d(n[2]);f[r]=a.attr(s.$attr[t])}})),k(f,(function(e,n){h[n]=t(e.replace(r,v))})),o.$watch(c,(function(t){var r=parseFloat(t),i=j(r);if(i||r in f||(r=e.pluralCat(r-p)),!(r===l||i&&j(l))){b();var a=h[r];M(a)?(null!=t&&n.debug("ngPluralize: no rule defined for '"+r+"' in "+u),b=D,x()):b=o.$watch(a,x),l=r}}))}}}],ta=i("ngRef"),na=["$parse",function(e){return{priority:-1,restrict:"A",compile:function(t,n){var r=yn(ne(t)),i=e(n.ngRef),o=i.assign||function(){throw ta("nonassign",'Expression in ngRef="{0}" is non-assignable!',n.ngRef)};return function(e,t,a){var s;if(a.hasOwnProperty("ngRefRead")){if("$element"===a.ngRefRead)s=t;else if(!(s=t.data("$"+a.ngRefRead+"Controller")))throw ta("noctrl",'The controller for ngRefRead="{0}" could not be found on ngRef="{1}"',a.ngRefRead,n.ngRef)}else s=t.data("$"+r+"Controller");o(e,s=s||t),t.on("$destroy",(function(){i(e)===s&&o(e,null)}))}}}}],ra=["$parse","$animate","$compile",function(e,t,n){var r=i("ngRepeat"),o=function(e,t,n,r,i,o,a){e[n]=r,i&&(e[i]=o),e.$index=t,e.$first=0===t,e.$last=t===a-1,e.$middle=!(e.$first||e.$last),e.$odd=!(e.$even=0==(1&t))},a=function(e){return e.clone[0]},s=function(e){return e.clone[e.clone.length-1]},l=function(e,t,n){return zt(n)},c=function(e,t){return t};return{restrict:"A",multiElement:!0,transclude:"element",priority:1e3,terminal:!0,$$tlb:!0,compile:function(i,d){var p=d.ngRepeat,f=n.$$createComment("end ngRepeat",p),h=p.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!h)throw r("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",p);var g=h[1],m=h[2],v=h[3],b=h[4];if(!(h=g.match(/^(?:(\s*[$\w]+)|\(\s*([$\w]+)\s*,\s*([$\w]+)\s*\))$/)))throw r("iidexp","'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.",g);var y,x=h[3]||h[1],A=h[2];if(v&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(v)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(v)))throw r("badident","alias '{0}' is invalid --- must be a valid JS identifier which is not a reserved name.",v);if(b){var E={$id:zt},S=e(b);y=function(e,t,n,r){return A&&(E[A]=t),E[x]=n,E.$index=r,S(e,E)}}return function(e,n,i,d,h){var g=Le();e.$watchCollection(m,(function(i){var d,m,b,S,$,C,_,O,T,j,P,D,R=n[0],I=Le();if(v&&(e[v]=i),w(i))T=i,O=y||l;else for(var N in O=y||c,T=[],i)u.call(i,N)&&"$"!==N.charAt(0)&&T.push(N);for(S=T.length,P=new Array(S),d=0;d<S;d++)if($=i===T?d:T[d],C=i[$],_=O(e,$,C,d),g[_])j=g[_],delete g[_],I[_]=j,P[d]=j;else{if(I[_])throw k(P,(function(e){e&&e.scope&&(g[e.id]=e)})),r("dupes","Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}",p,_,C);P[d]={id:_,scope:void 0,clone:void 0},I[_]=!0}for(var M in E&&(E[x]=void 0),g){if(D=ze((j=g[M]).clone),t.leave(D),D[0].parentNode)for(d=0,m=D.length;d<m;d++)D[d].$$NG_REMOVED=!0;j.scope.$destroy()}for(d=0;d<S;d++)if($=i===T?d:T[d],C=i[$],(j=P[d]).scope){b=R;do{b=b.nextSibling}while(b&&b.$$NG_REMOVED);a(j)!==b&&t.move(ze(j.clone),null,R),R=s(j),o(j.scope,d,x,C,A,$,S)}else h((function(e,n){j.scope=n;var r=f.cloneNode(!1);e[e.length++]=r,t.enter(e,null,R),R=r,j.clone=e,I[j.id]=j,o(j.scope,d,x,C,A,$,S)}));g=I}))}}}}],ia=["$animate",function(e){return{restrict:"A",multiElement:!0,link:function(t,n,r){t.$watch(r.ngShow,(function(t){e[t?"removeClass":"addClass"](n,"ng-hide",{tempClasses:"ng-hide-animate"})}))}}}],oa=["$animate",function(e){return{restrict:"A",multiElement:!0,link:function(t,n,r){t.$watch(r.ngHide,(function(t){e[t?"addClass":"removeClass"](n,"ng-hide",{tempClasses:"ng-hide-animate"})}))}}}],aa=Ni((function(e,t,n){e.$watchCollection(n.ngStyle,(function(e,n){n&&e!==n&&k(n,(function(e,n){t.css(n,"")})),e&&t.css(e)}))})),sa=["$animate","$compile",function(e,t){return{require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(n,r,i,o){var a=i.ngSwitch||i.on,s=[],l=[],c=[],u=[],d=function(e,t){return function(n){!1!==n&&e.splice(t,1)}};n.$watch(a,(function(n){for(var r,i;c.length;)e.cancel(c.pop());for(r=0,i=u.length;r<i;++r){var a=ze(l[r].clone);u[r].$destroy(),(c[r]=e.leave(a)).done(d(c,r))}l.length=0,u.length=0,(s=o.cases["!"+n]||o.cases["?"])&&k(s,(function(n){n.transclude((function(r,i){u.push(i);var o=n.element;r[r.length++]=t.$$createComment("end ngSwitchWhen");var a={clone:r};l.push(a),e.enter(r,o.parent(),o)}))}))}))}}}],la=Ni({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(e,t,n,r,i){k(n.ngSwitchWhen.split(n.ngSwitchWhenSeparator).sort().filter((function(e,t,n){return n[t-1]!==e})),(function(e){r.cases["!"+e]=r.cases["!"+e]||[],r.cases["!"+e].push({transclude:i,element:t})}))}}),ca=Ni({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(e,t,n,r,i){r.cases["?"]=r.cases["?"]||[],r.cases["?"].push({transclude:i,element:t})}}),ua=i("ngTransclude"),da=["$compile",function(e){return{restrict:"EAC",compile:function(t){var n=e(t.contents());return t.empty(),function(e,t,r,i,o){if(!o)throw ua("orphan","Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}",xe(t));r.ngTransclude===r.$attr.ngTransclude&&(r.ngTransclude="");var a=r.ngTransclude||r.ngTranscludeSlot;function s(){n(e,(function(e){t.append(e)}))}o((function(e,n){e.length&&function(e){for(var t=0,n=e.length;t<n;t++){var r=e[t];if(r.nodeType!==Fe||r.nodeValue.trim())return!0}}(e)?t.append(e):(s(),n.$destroy())}),null,a),a&&!o.isSlotFilled(a)&&s()}}}}],pa=["$templateCache",function(e){return{restrict:"E",terminal:!0,compile:function(t,n){if("text/ng-template"===n.type){var r=n.id,i=t[0].text;e.put(r,i)}}}}],fa={$setViewValue:D,$render:D};function ha(e,t){e.prop("selected",t),e.attr("selected",t)}var ga=["$element","$scope",function(t,n){var r=this,i=new Ft;r.selectValueMap={},r.ngModelCtrl=fa,r.multiple=!1,r.unknownOption=a(e.document.createElement("option")),r.hasEmptyOption=!1,r.emptyOption=void 0,r.renderUnknownOption=function(e){var n=r.generateUnknownOptionValue(e);r.unknownOption.val(n),t.prepend(r.unknownOption),ha(r.unknownOption,!0),t.val(n)},r.updateUnknownOption=function(e){var n=r.generateUnknownOptionValue(e);r.unknownOption.val(n),ha(r.unknownOption,!0),t.val(n)},r.generateUnknownOptionValue=function(e){return"? "+zt(e)+" ?"},r.removeUnknownOption=function(){r.unknownOption.parent()&&r.unknownOption.remove()},r.selectEmptyOption=function(){r.emptyOption&&(t.val(""),ha(r.emptyOption,!0))},r.unselectEmptyOption=function(){r.hasEmptyOption&&ha(r.emptyOption,!1)},n.$on("$destroy",(function(){r.renderUnknownOption=D})),r.readValue=function(){var e=t.val(),n=e in r.selectValueMap?r.selectValueMap[e]:e;return r.hasOption(n)?n:null},r.writeValue=function(e){var n=t[0].options[t[0].selectedIndex];if(n&&ha(a(n),!1),r.hasOption(e)){r.removeUnknownOption();var i=zt(e);t.val(i in r.selectValueMap?i:e);var o=t[0].options[t[0].selectedIndex];ha(a(o),!0)}else r.selectUnknownOrEmptyOption(e)},r.addOption=function(e,t){if(8!==t[0].nodeType){Me(e,'"option value"'),""===e&&(r.hasEmptyOption=!0,r.emptyOption=t);var n=i.get(e)||0;i.set(e,n+1),s()}},r.removeOption=function(e){var t=i.get(e);t&&(1===t?(i.delete(e),""===e&&(r.hasEmptyOption=!1,r.emptyOption=void 0)):i.set(e,t-1))},r.hasOption=function(e){return!!i.get(e)},r.$hasEmptyOption=function(){return r.hasEmptyOption},r.$isUnknownOptionSelected=function(){return t[0].options[0]===r.unknownOption[0]},r.$isEmptyOptionSelected=function(){return r.hasEmptyOption&&t[0].options[t[0].selectedIndex]===r.emptyOption[0]},r.selectUnknownOrEmptyOption=function(e){null==e&&r.emptyOption?(r.removeUnknownOption(),r.selectEmptyOption()):r.unknownOption.parent().length?r.updateUnknownOption(e):r.renderUnknownOption(e)};var o=!1;function s(){o||(o=!0,n.$$postDigest((function(){o=!1,r.ngModelCtrl.$render()})))}var l=!1;function c(e){l||(l=!0,n.$$postDigest((function(){n.$$destroyed||(l=!1,r.ngModelCtrl.$setViewValue(r.readValue()),e&&r.ngModelCtrl.$render())})))}r.registerOption=function(e,t,n,i,o){var a,l;n.$attr.ngValue?n.$observe("value",(function(e){var n,i=t.prop("selected");z(l)&&(r.removeOption(a),delete r.selectValueMap[l],n=!0),l=zt(e),a=e,r.selectValueMap[l]=e,r.addOption(e,t),t.attr("value",l),n&&i&&c()})):i?n.$observe("value",(function(e){var n;r.readValue();var i=t.prop("selected");z(a)&&(r.removeOption(a),n=!0),a=e,r.addOption(e,t),n&&i&&c()})):o?e.$watch(o,(function(e,i){n.$set("value",e);var o=t.prop("selected");i!==e&&r.removeOption(i),r.addOption(e,t),i&&o&&c()})):r.addOption(n.value,t);n.$observe("disabled",(function(e){("true"===e||e&&t.prop("selected"))&&(r.multiple?c(!0):(r.ngModelCtrl.$setViewValue(null),r.ngModelCtrl.$render()))})),t.on("$destroy",(function(){var e=r.readValue(),t=n.value;r.removeOption(t),s(),(r.multiple&&e&&-1!==e.indexOf(t)||e===t)&&c(!0)}))}}],ma=function(){return{restrict:"E",require:["select","?ngModel"],controller:ga,priority:1,link:{pre:function(e,t,n,r){var i=r[0],o=r[1];if(!o)return void(i.registerOption=D);if(i.ngModelCtrl=o,t.on("change",(function(){i.removeUnknownOption(),e.$apply((function(){o.$setViewValue(i.readValue())}))})),n.multiple){i.multiple=!0,i.readValue=function(){var e=[];return k(t.find("option"),(function(t){if(t.selected&&!t.disabled){var n=t.value;e.push(n in i.selectValueMap?i.selectValueMap[n]:n)}})),e},i.writeValue=function(e){k(t.find("option"),(function(t){var n=!!e&&(re(e,t.value)||re(e,i.selectValueMap[t.value]));n!==t.selected&&ha(a(t),n)}))};var s,l=NaN;e.$watch((function(){l!==o.$viewValue||se(s,o.$viewValue)||(s=qe(o.$viewValue),o.$render()),l=o.$viewValue})),o.$isEmpty=function(e){return!e||0===e.length}}},post:function(e,t,n,r){var i=r[1];if(!i)return;var o=r[0];i.$render=function(){o.writeValue(i.$viewValue)}}}}},va=["$interpolate",function(e){return{restrict:"E",priority:100,compile:function(t,n){var r,i;return z(n.ngValue)||(z(n.value)?r=e(n.value,!0):(i=e(t.text(),!0))||n.$set("value",t.text())),function(e,t,n){var o=t.parent(),a=o.data("$selectController")||o.parent().data("$selectController");a&&a.registerOption(e,t,n,r,i)}}}}],ba=["$parse",function(e){return{restrict:"A",require:"?ngModel",link:function(t,n,r,i){if(i){var o=r.hasOwnProperty("required")||e(r.ngRequired)(t);r.ngRequired||(r.required=!0),i.$validators.required=function(e,t){return!o||!i.$isEmpty(t)},r.$observe("required",(function(e){o!==e&&(o=e,i.$validate())}))}}}}],ya=["$parse",function(e){return{restrict:"A",require:"?ngModel",compile:function(t,n){var r,i;return n.ngPattern&&(r=n.ngPattern,i="/"===n.ngPattern.charAt(0)&&c.test(n.ngPattern)?function(){return n.ngPattern}:e(n.ngPattern)),function(e,t,n,o){if(o){var a=n.pattern;n.ngPattern?a=i(e):r=n.pattern;var s=ka(a,r,t);n.$observe("pattern",(function(e){var n=s;s=ka(e,r,t),(n&&n.toString())!==(s&&s.toString())&&o.$validate()})),o.$validators.pattern=function(e,t){return o.$isEmpty(t)||M(s)||s.test(t)}}}}}}],xa=["$parse",function(e){return{restrict:"A",require:"?ngModel",link:function(t,n,r,i){if(i){var o=r.maxlength||e(r.ngMaxlength)(t),a=Aa(o);r.$observe("maxlength",(function(e){o!==e&&(a=Aa(e),o=e,i.$validate())})),i.$validators.maxlength=function(e,t){return a<0||i.$isEmpty(t)||t.length<=a}}}}}],wa=["$parse",function(e){return{restrict:"A",require:"?ngModel",link:function(t,n,r,i){if(i){var o=r.minlength||e(r.ngMinlength)(t),a=Aa(o)||-1;r.$observe("minlength",(function(e){o!==e&&(a=Aa(e)||-1,o=e,i.$validate())})),i.$validators.minlength=function(e,t){return i.$isEmpty(t)||t.length>=a}}}}}];function ka(e,t,n){if(e){if(F(e)&&(e=new RegExp("^"+e+"$")),!e.test)throw i("ngPattern")("noregexp","Expected {0} to be a RegExp but was {1}. Element: {2}",t,e,xe(n));return e}}function Aa(e){var t=T(e);return j(t)?-1:t}e.angular.bootstrap?e.console&&console.log("WARNING: Tried to load AngularJS more than once."):(!function(){var t;if(!De){var n=ce();(s=M(n)?e.jQuery:n?e[n]:void 0)&&s.fn.on?(a=s,_(s.fn,{scope:Tt.scope,isolateScope:Tt.isolateScope,controller:Tt.controller,injector:Tt.injector,inheritedData:Tt.inheritedData})):a=pt,t=a.cleanData,a.cleanData=function(e){for(var n,r,i=0;null!=(r=e[i]);i++)(n=(a._data(r)||{}).events)&&n.$destroy&&a(r).triggerHandler("$destroy");t(e)},y.element=a,De=!0}}(),function(t){_(t,{errorHandlingConfig:n,bootstrap:_e,copy:oe,extend:_,merge:O,equals:se,element:a,forEach:k,injector:Qt,noop:D,bind:pe,toJson:he,fromJson:ge,identity:R,isUndefined:M,isDefined:z,isString:F,isFunction:G,isObject:L,isNumber:q,isElement:te,isArray:U,version:Ue,isDate:V,callbacks:{$$counter:0},getTestability:Te,reloadWithDebugInfo:Oe,UNSAFE_restoreLegacyJqLiteXHTMLReplacement:Re,$$minErr:i,$$csp:le,$$encodeUriSegment:Ae,$$encodeUriQuery:Ee,$$lowercase:d,$$stringify:Be,$$uppercase:p}),(l=function(e){var t=i("$injector"),n=i("ng");function r(e,t,n){return e[t]||(e[t]=n())}var o=r(e,"angular",Object);return o.$$minErr=o.$$minErr||i,r(o,"module",(function(){var e={};return function(i,o,a){var s={};return function(e,t){if("hasOwnProperty"===e)throw n("badname","hasOwnProperty is not a valid {0} name",t)}(i,"module"),o&&e.hasOwnProperty(i)&&(e[i]=null),r(e,i,(function(){if(!o)throw t("nomod","Module '{0}' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.",i);var e=[],r=[],l=[],c=d("$injector","invoke","push",r),u={_invokeQueue:e,_configBlocks:r,_runBlocks:l,info:function(e){if(z(e)){if(!L(e))throw n("aobj","Argument '{0}' must be an object","value");return s=e,this}return s},requires:o,name:i,provider:p("$provide","provider"),factory:p("$provide","factory"),service:p("$provide","service"),value:d("$provide","value"),constant:d("$provide","constant","unshift"),decorator:p("$provide","decorator",r),animation:p("$animateProvider","register"),filter:p("$filterProvider","register"),controller:p("$controllerProvider","register"),directive:p("$compileProvider","directive"),component:p("$compileProvider","component"),config:c,run:function(e){return l.push(e),this}};return a&&c(a),u;function d(t,n,r,i){return i||(i=e),function(){return i[r||"push"]([t,n,arguments]),u}}function p(t,n,r){return r||(r=e),function(e,o){return o&&G(o)&&(o.$$moduleName=i),r.push([t,n,arguments]),u}}}))}}))}(e))("ng",["ngLocale"],["$provide",function(e){e.provider({$$sanitizeUri:qr}),e.provider("$compile",gn).directive({a:Mi,input:mo,textarea:mo,form:qi,script:pa,select:ma,option:va,ngBind:xo,ngBindHtml:ko,ngBindTemplate:wo,ngClass:So,ngClassEven:Co,ngClassOdd:$o,ngCloak:_o,ngController:Oo,ngForm:Vi,ngHide:oa,ngIf:Do,ngInclude:Ro,ngInit:No,ngNonBindable:Zo,ngPluralize:ea,ngRef:na,ngRepeat:ra,ngShow:ia,ngStyle:aa,ngSwitch:sa,ngSwitchWhen:la,ngSwitchDefault:ca,ngOptions:Ko,ngTransclude:da,ngModel:Ho,ngList:Mo,ngChange:Ao,pattern:ya,ngPattern:ya,required:ba,ngRequired:ba,minlength:wa,ngMinlength:wa,maxlength:xa,ngMaxlength:xa,ngValue:yo,ngModelOptions:Yo}).directive({ngInclude:Io,input:vo}).directive(zi).directive(To),e.provider({$anchorScroll:Jt,$animate:on,$animateCss:ln,$$animateJs:nn,$$animateQueue:rn,$$AnimateRunner:sn,$$animateAsyncRun:an,$browser:un,$cacheFactory:dn,$controller:Sn,$document:$n,$$isDocumentHidden:Cn,$exceptionHandler:_n,$filter:fi,$$forceReflow:On,$interpolate:Wn,$interval:Xn,$$intervalFactory:Zn,$http:Vn,$httpParamSerializer:Nn,$httpParamSerializerJQLike:Mn,$httpBackend:Hn,$xhrFactory:Un,$jsonpCallbacks:Qn,$location:hr,$log:gr,$parse:Dr,$rootScope:Fr,$q:Rr,$$q:Ir,$sce:Xr,$sceDelegate:Yr,$sniffer:Zr,$$taskTrackerFactory:Qr,$templateCache:pn,$templateRequest:ei,$$testability:ti,$timeout:ri,$window:ui,$$rAF:Br,$$jqLite:Mt,$$Map:qt,$$cookieReader:pi})}]).info({angularVersion:"1.8.2"})}(y),y.module("ngLocale",[],["$provide",function(e){var t="one",n="other";e.value("$locale",{DATETIME_FORMATS:{AMPMS:["AM","PM"],DAY:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ERANAMES:["Before Christ","Anno Domini"],ERAS:["BC","AD"],FIRSTDAYOFWEEK:6,MONTH:["January","February","March","April","May","June","July","August","September","October","November","December"],SHORTDAY:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],SHORTMONTH:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],STANDALONEMONTH:["January","February","March","April","May","June","July","August","September","October","November","December"],WEEKENDRANGE:[5,6],fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",medium:"MMM d, y h:mm:ss a",mediumDate:"MMM d, y",mediumTime:"h:mm:ss a",short:"M/d/yy h:mm a",shortDate:"M/d/yy",shortTime:"h:mm a"},NUMBER_FORMATS:{CURRENCY_SYM:"$",DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{gSize:3,lgSize:3,maxFrac:3,minFrac:0,minInt:1,negPre:"-",negSuf:"",posPre:"",posSuf:""},{gSize:3,lgSize:3,maxFrac:2,minFrac:2,minInt:1,negPre:"-¤",negSuf:"",posPre:"¤",posSuf:""}]},id:"en-us",localeID:"en_US",pluralCat:function(e,r){var i=0|e,o=function(e,t){var n=t;void 0===n&&(n=Math.min(function(e){var t=(e+="").indexOf(".");return-1==t?0:e.length-t-1}(e),3));var r=Math.pow(10,n);return{v:n,f:(e*r|0)%r}}(e,r);return 1==i&&0==o.v?t:n}})}]),a((function(){Ce(e.document,_e)})))}(window),!window.angular.$$csp().noInlineStyle&&window.angular.element(document.head).prepend(window.angular.element("<style>").text('@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}'))},function(e,t,n){"use strict";n(210);const r=n(33),i=n(9);window.jQuery=r,n(217),n(218),n(219),n(225),n(227),i.module("dbt",["ngRoute","ui.router","hc.marked"]).config(["markedProvider","$locationProvider",function(e,t){e.setOptions({gfm:!0,sanitize:!0}),e.setRenderer({table:function(e,t){return"<table class='table'><thead>"+e+"</thead><tbody>"+t+"</tbody></table>"}}),t.html5Mode({enabled:!1}),r(document).tooltip({selector:'[data-toggle="tooltip"]',placement:function(e,t){return r(t).attr("data-placement")?r(t).attr("data-placement"):"auto"},container:"body"}),r(document).ready((function(){r("[data-toggle=popover]").popover({container:"body",html:!0})}))}])},function(e,t,n){var r=n(211);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};n(40)(r,i);r.locals&&(e.exports=r.locals)},function(e,t,n){var r=n(212);(e.exports=n(39)(!1)).push([e.i,'@media (max-width: 960px){[data-large]{display:none !important}}@media (min-width: 961px){[data-small]{display:none !important}}@media screen{[data-print]{display:none !important}}@media print{[data-screen]{display:none !important}}html.touchevents [data-click]{display:none !important}html.no-touchevents [data-touch]{display:none !important}/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:1rem;line-height:1.6;color:#5e666c;background-color:#f9fafb}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#0bb;text-decoration:none}a:hover,a:focus{color:#009595;text-decoration:none}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive{display:block;max-width:100%;height:auto}.img-rounded{border-radius:4px}.img-thumbnail{padding:0;line-height:1.6;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:1.6rem;margin-bottom:1.6rem;border:0;border-top:1px solid rgba(0,30,60,0.075)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:normal;line-height:false;color:#313539}h1 small,h1 .small,h2 small,h2 .small,h3 small,h3 .small,h4 small,h4 .small,h5 small,h5 .small,h6 small,h6 .small,.h1 small,.h1 .small,.h2 small,.h2 .small,.h3 small,.h3 .small,.h4 small,.h4 .small,.h5 small,.h5 .small,.h6 small,.h6 .small{font-weight:normal;line-height:1;color:#8b969e}h1,.h1,h2,.h2,h3,.h3{margin-top:1.6rem;margin-bottom:.8rem}h1 small,h1 .small,.h1 small,.h1 .small,h2 small,h2 .small,.h2 small,.h2 .small,h3 small,h3 .small,.h3 small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:.8rem;margin-bottom:.8rem}h4 small,h4 .small,.h4 small,.h4 .small,h5 small,h5 .small,.h5 small,.h5 .small,h6 small,h6 .small,.h6 small,.h6 .small{font-size:75%}h1,.h1{font-size:1.7142857143rem}h2,.h2{font-size:1.7142857143rem}h3,.h3{font-size:1.2857142857rem}h4,.h4{font-size:1.1428571429rem}h5,.h5{font-size:1rem}h6,.h6{font-size:1rem}p{margin:0 0 .8rem}.lead{margin-bottom:1.6rem;font-size:1rem;font-weight:300;line-height:1.4}@media (min-width: 540px){.lead{font-size:1.5rem}}small,.small{font-size:92%}mark,.mark{background-color:#fff6ec;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase,.initialism{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#8b969e}.text-primary{color:#0bb}a.text-primary:hover,a.text-primary:focus{color:#088}.text-success{color:#48a71c}a.text-success:hover,a.text-success:focus{color:#357b15}.text-info{color:#0aa}a.text-info:hover,a.text-info:focus{color:#077}.text-warning{color:#ff6316}a.text-warning:hover,a.text-warning:focus{color:#e24b00}.text-danger{color:#ff694b}a.text-danger:hover,a.text-danger:focus{color:#ff3f18}.bg-primary{color:#fff}.bg-primary{background-color:#0bb}a.bg-primary:hover,a.bg-primary:focus{background-color:#088}.bg-success{background-color:#f3faec}a.bg-success:hover,a.bg-success:focus{background-color:#daefc4}.bg-info{background-color:#edfafa}a.bg-info:hover,a.bg-info:focus{background-color:#c5efef}.bg-warning{background-color:#fff6ec}a.bg-warning:hover,a.bg-warning:focus{background-color:#ffdeb9}.bg-danger{background-color:#fff5f4}a.bg-danger:hover,a.bg-danger:focus{background-color:#ffc7c1}.page-header{padding-bottom:-.2rem;margin:3.2rem 0 1.6rem;border-bottom:1px solid #f7f7f8}ul,ol{margin-top:0;margin-bottom:.8rem}ul ul,ul ol,ol ul,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:1.6rem}dt,dd{line-height:1.6}dt{font-weight:bold}dd{margin-left:0}.dl-horizontal dd:before,.dl-horizontal dd:after{content:" ";display:table}.dl-horizontal dd:after{clear:both}@media (min-width: 260px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted rgba(0,30,60,0.075)}.initialism{font-size:90%}blockquote{padding:.8rem 1.6rem;margin:0 0 1.6rem;font-size:1rem;border-left:5px solid transparent}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.6;color:#8b969e}blockquote footer:before,blockquote small:before,blockquote .small:before{content:\'\\2014 \\A0\'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid transparent;border-left:0;text-align:right}.blockquote-reverse footer:before,.blockquote-reverse small:before,.blockquote-reverse .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before,blockquote.pull-right .small:before{content:\'\'}.blockquote-reverse footer:after,.blockquote-reverse small:after,.blockquote-reverse .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after,blockquote.pull-right .small:after{content:\'\\A0 \\2014\'}address{margin-bottom:1.6rem;font-style:normal;line-height:1.6}code,kbd,pre,samp{font-family:"Monaco",monospace}code{padding:2px 4px;font-size:90%;color:#313539;background-color:transparent;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#313539;background-color:transparent;border-radius:4px;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;box-shadow:none}pre{display:block;padding:.3rem;margin:0 0 .8rem;font-size:0rem;line-height:1.6;word-break:break-all;word-wrap:break-word;color:#fff;background-color:#005e7a;border:1px solid transparent;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:30px;padding-right:30px}.container:before,.container:after{content:" ";display:table}.container:after{clear:both}@media (min-width: 540px){.container{width:780px}}@media (min-width: 768px){.container{width:1000px}}@media (min-width: 960px){.container{width:1200px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:30px;padding-right:30px}.container-fluid:before,.container-fluid:after{content:" ";display:table}.container-fluid:after{clear:both}.row{margin-left:-30px;margin-right:-30px}.row:before,.row:after{content:" ";display:table}.row:after{clear:both}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:30px;padding-right:30px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-1{width:8.3333333333%}.col-xs-2{width:16.6666666667%}.col-xs-3{width:25%}.col-xs-4{width:33.3333333333%}.col-xs-5{width:41.6666666667%}.col-xs-6{width:50%}.col-xs-7{width:58.3333333333%}.col-xs-8{width:66.6666666667%}.col-xs-9{width:75%}.col-xs-10{width:83.3333333333%}.col-xs-11{width:91.6666666667%}.col-xs-12{width:100%}.col-xs-pull-0{right:auto}.col-xs-pull-1{right:8.3333333333%}.col-xs-pull-2{right:16.6666666667%}.col-xs-pull-3{right:25%}.col-xs-pull-4{right:33.3333333333%}.col-xs-pull-5{right:41.6666666667%}.col-xs-pull-6{right:50%}.col-xs-pull-7{right:58.3333333333%}.col-xs-pull-8{right:66.6666666667%}.col-xs-pull-9{right:75%}.col-xs-pull-10{right:83.3333333333%}.col-xs-pull-11{right:91.6666666667%}.col-xs-pull-12{right:100%}.col-xs-push-0{left:auto}.col-xs-push-1{left:8.3333333333%}.col-xs-push-2{left:16.6666666667%}.col-xs-push-3{left:25%}.col-xs-push-4{left:33.3333333333%}.col-xs-push-5{left:41.6666666667%}.col-xs-push-6{left:50%}.col-xs-push-7{left:58.3333333333%}.col-xs-push-8{left:66.6666666667%}.col-xs-push-9{left:75%}.col-xs-push-10{left:83.3333333333%}.col-xs-push-11{left:91.6666666667%}.col-xs-push-12{left:100%}.col-xs-offset-0{margin-left:0%}.col-xs-offset-1{margin-left:8.3333333333%}.col-xs-offset-2{margin-left:16.6666666667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.3333333333%}.col-xs-offset-5{margin-left:41.6666666667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.3333333333%}.col-xs-offset-8{margin-left:66.6666666667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.3333333333%}.col-xs-offset-11{margin-left:91.6666666667%}.col-xs-offset-12{margin-left:100%}@media (min-width: 540px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-1{width:8.3333333333%}.col-sm-2{width:16.6666666667%}.col-sm-3{width:25%}.col-sm-4{width:33.3333333333%}.col-sm-5{width:41.6666666667%}.col-sm-6{width:50%}.col-sm-7{width:58.3333333333%}.col-sm-8{width:66.6666666667%}.col-sm-9{width:75%}.col-sm-10{width:83.3333333333%}.col-sm-11{width:91.6666666667%}.col-sm-12{width:100%}.col-sm-pull-0{right:auto}.col-sm-pull-1{right:8.3333333333%}.col-sm-pull-2{right:16.6666666667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.3333333333%}.col-sm-pull-5{right:41.6666666667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.3333333333%}.col-sm-pull-8{right:66.6666666667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.3333333333%}.col-sm-pull-11{right:91.6666666667%}.col-sm-pull-12{right:100%}.col-sm-push-0{left:auto}.col-sm-push-1{left:8.3333333333%}.col-sm-push-2{left:16.6666666667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.3333333333%}.col-sm-push-5{left:41.6666666667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.3333333333%}.col-sm-push-8{left:66.6666666667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.3333333333%}.col-sm-push-11{left:91.6666666667%}.col-sm-push-12{left:100%}.col-sm-offset-0{margin-left:0%}.col-sm-offset-1{margin-left:8.3333333333%}.col-sm-offset-2{margin-left:16.6666666667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.3333333333%}.col-sm-offset-5{margin-left:41.6666666667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.3333333333%}.col-sm-offset-8{margin-left:66.6666666667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.3333333333%}.col-sm-offset-11{margin-left:91.6666666667%}.col-sm-offset-12{margin-left:100%}}@media (min-width: 768px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-1{width:8.3333333333%}.col-md-2{width:16.6666666667%}.col-md-3{width:25%}.col-md-4{width:33.3333333333%}.col-md-5{width:41.6666666667%}.col-md-6{width:50%}.col-md-7{width:58.3333333333%}.col-md-8{width:66.6666666667%}.col-md-9{width:75%}.col-md-10{width:83.3333333333%}.col-md-11{width:91.6666666667%}.col-md-12{width:100%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.3333333333%}.col-md-pull-2{right:16.6666666667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.3333333333%}.col-md-pull-5{right:41.6666666667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.3333333333%}.col-md-pull-8{right:66.6666666667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.3333333333%}.col-md-pull-11{right:91.6666666667%}.col-md-pull-12{right:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.3333333333%}.col-md-push-2{left:16.6666666667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.3333333333%}.col-md-push-5{left:41.6666666667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.3333333333%}.col-md-push-8{left:66.6666666667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.3333333333%}.col-md-push-11{left:91.6666666667%}.col-md-push-12{left:100%}.col-md-offset-0{margin-left:0%}.col-md-offset-1{margin-left:8.3333333333%}.col-md-offset-2{margin-left:16.6666666667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.3333333333%}.col-md-offset-5{margin-left:41.6666666667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.3333333333%}.col-md-offset-8{margin-left:66.6666666667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.3333333333%}.col-md-offset-11{margin-left:91.6666666667%}.col-md-offset-12{margin-left:100%}}@media (min-width: 960px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-1{width:8.3333333333%}.col-lg-2{width:16.6666666667%}.col-lg-3{width:25%}.col-lg-4{width:33.3333333333%}.col-lg-5{width:41.6666666667%}.col-lg-6{width:50%}.col-lg-7{width:58.3333333333%}.col-lg-8{width:66.6666666667%}.col-lg-9{width:75%}.col-lg-10{width:83.3333333333%}.col-lg-11{width:91.6666666667%}.col-lg-12{width:100%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.3333333333%}.col-lg-pull-2{right:16.6666666667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.3333333333%}.col-lg-pull-5{right:41.6666666667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.3333333333%}.col-lg-pull-8{right:66.6666666667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.3333333333%}.col-lg-pull-11{right:91.6666666667%}.col-lg-pull-12{right:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.3333333333%}.col-lg-push-2{left:16.6666666667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.3333333333%}.col-lg-push-5{left:41.6666666667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.3333333333%}.col-lg-push-8{left:66.6666666667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.3333333333%}.col-lg-push-11{left:91.6666666667%}.col-lg-push-12{left:100%}.col-lg-offset-0{margin-left:0%}.col-lg-offset-1{margin-left:8.3333333333%}.col-lg-offset-2{margin-left:16.6666666667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.3333333333%}.col-lg-offset-5{margin-left:41.6666666667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.3333333333%}.col-lg-offset-8{margin-left:66.6666666667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.3333333333%}.col-lg-offset-11{margin-left:91.6666666667%}.col-lg-offset-12{margin-left:100%}}table{background-color:transparent}caption{padding-top:.6785714286rem 1.25rem;padding-bottom:.6785714286rem 1.25rem;color:#8b969e;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:1.6rem}.table>thead>tr>th,.table>thead>tr>td,.table>tbody>tr>th,.table>tbody>tr>td,.table>tfoot>tr>th,.table>tfoot>tr>td{padding:.6785714286rem 1.25rem;line-height:1.6;vertical-align:top;border-top:1px solid rgba(0,30,60,0.075)}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid rgba(0,30,60,0.075)}.table>caption+thead>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>th,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid rgba(0,30,60,0.075)}.table .table{background-color:#f9fafb}.table-condensed>thead>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>tfoot>tr>td{padding:.4464285714rem .875rem}.table-bordered{border:1px solid rgba(0,30,60,0.075)}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>tfoot>tr>td{border:1px solid rgba(0,30,60,0.075)}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9fafb}.table-hover>tbody>tr:hover{background-color:#f9fafb}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>thead>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th{background-color:#f9fafb}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#eaedf1}.table>thead>tr>td.success,.table>thead>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th{background-color:#f3faec}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#e6f5d8}.table>thead>tr>td.info,.table>thead>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th{background-color:#edfafa}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#d9f4f4}.table>thead>tr>td.warning,.table>thead>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th{background-color:#fff6ec}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#ffead3}.table>thead>tr>td.danger,.table>thead>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th{background-color:#fff5f4}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ffdedb}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width: 539px){.table-responsive{width:100%;margin-bottom:1.2rem;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid rgba(0,30,60,0.075)}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:1.6rem;font-size:1.5rem;line-height:inherit;color:#8b969e;border:0;border-bottom:1px solid rgba(0,30,60,0.075)}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \\9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:1.6785714286rem;font-size:1rem;line-height:1.6;color:#484e53}.form-control{display:block;width:100%;height:2.8571428571rem;padding:.6785714286rem 1.25rem;font-size:1rem;line-height:1.6;color:#484e53;background-color:#f0f2f4;background-image:none;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s;-o-transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s;transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s}.form-control:focus{border-color:transparent;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(0,0,0,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(0,0,0,0.6)}.form-control::-moz-placeholder{color:#a8b1b7;opacity:1}.form-control:-ms-input-placeholder{color:#a8b1b7}.form-control::-webkit-input-placeholder{color:#a8b1b7}.form-control::-ms-expand{border:0;background-color:transparent}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#e4e6eb;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio: 0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:2.8571428571rem}input[type="date"].input-sm,.input-group-sm>input[type="date"].form-control,.input-group-sm>input[type="date"].input-group-addon,.input-group-sm>.input-group-btn>input[type="date"].btn,.input-group-sm input[type="date"],input[type="time"].input-sm,.input-group-sm>input[type="time"].form-control,.input-group-sm>input[type="time"].input-group-addon,.input-group-sm>.input-group-btn>input[type="time"].btn,.input-group-sm input[type="time"],input[type="datetime-local"].input-sm,.input-group-sm>input[type="datetime-local"].form-control,.input-group-sm>input[type="datetime-local"].input-group-addon,.input-group-sm>.input-group-btn>input[type="datetime-local"].btn,.input-group-sm input[type="datetime-local"],input[type="month"].input-sm,.input-group-sm>input[type="month"].form-control,.input-group-sm>input[type="month"].input-group-addon,.input-group-sm>.input-group-btn>input[type="month"].btn,.input-group-sm input[type="month"]{line-height:2.2857142857rem}input[type="date"].input-lg,.input-group-lg>input[type="date"].form-control,.input-group-lg>input[type="date"].input-group-addon,.input-group-lg>.input-group-btn>input[type="date"].btn,.input-group-lg input[type="date"],input[type="time"].input-lg,.input-group-lg>input[type="time"].form-control,.input-group-lg>input[type="time"].input-group-addon,.input-group-lg>.input-group-btn>input[type="time"].btn,.input-group-lg input[type="time"],input[type="datetime-local"].input-lg,.input-group-lg>input[type="datetime-local"].form-control,.input-group-lg>input[type="datetime-local"].input-group-addon,.input-group-lg>.input-group-btn>input[type="datetime-local"].btn,.input-group-lg input[type="datetime-local"],input[type="month"].input-lg,.input-group-lg>input[type="month"].form-control,.input-group-lg>input[type="month"].input-group-addon,.input-group-lg>.input-group-btn>input[type="month"].btn,.input-group-lg input[type="month"]{line-height:4.2857142857rem}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:1.6rem;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \\9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="radio"].disabled,fieldset[disabled] input[type="radio"],input[type="checkbox"][disabled],input[type="checkbox"].disabled,fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,fieldset[disabled] .radio-inline,.checkbox-inline.disabled,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,fieldset[disabled] .radio label,.checkbox.disabled label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static,.form-grid .form-row .form-label label{padding-top:1.6785714286rem;padding-bottom:1.6785714286rem;margin-bottom:0;min-height:2.6rem}.form-control-static.input-lg,.input-group-lg>.form-control-static.form-control,.form-grid .form-row .form-label .input-group-lg>label.form-control,.input-group-lg>.form-control-static.input-group-addon,.form-grid .form-row .form-label .input-group-lg>label.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.form-grid .form-row .form-label .input-group-lg>.input-group-btn>label.btn,.form-grid .form-row .form-label label.input-lg,.form-control-static.input-sm,.input-group-sm>.form-control-static.form-control,.form-grid .form-row .form-label .input-group-sm>label.form-control,.input-group-sm>.form-control-static.input-group-addon,.form-grid .form-row .form-label .input-group-sm>label.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn,.form-grid .form-row .form-label .input-group-sm>.input-group-btn>label.btn,.form-grid .form-row .form-label label.input-sm{padding-left:0;padding-right:0}.input-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:2.2857142857rem;padding:.4464285714rem .875rem;font-size:.9285714286rem;line-height:1.6;border-radius:4px}select.input-sm,.input-group-sm>select.form-control,.input-group-sm>select.input-group-addon,.input-group-sm>.input-group-btn>select.btn{height:2.2857142857rem;line-height:2.2857142857rem}textarea.input-sm,.input-group-sm>textarea.form-control,.input-group-sm>textarea.input-group-addon,.input-group-sm>.input-group-btn>textarea.btn,select[multiple].input-sm,.input-group-sm>select[multiple].form-control,.input-group-sm>select[multiple].input-group-addon,.input-group-sm>.input-group-btn>select[multiple].btn{height:auto}.form-group-sm .form-control{height:2.2857142857rem;padding:.4464285714rem .875rem;font-size:.9285714286rem;line-height:1.6;border-radius:4px}.form-group-sm select.form-control{height:2.2857142857rem;line-height:2.2857142857rem}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static,.form-group-sm .form-grid .form-row .form-label label,.form-grid .form-row .form-label .form-group-sm label{height:2.2857142857rem;min-height:2.5285714286rem;padding:1.4464285714rem .875rem;font-size:.9285714286rem;line-height:1.6}.input-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:4.2857142857rem;padding:1.2857142857rem 1.875rem;font-size:1.1428571429rem;line-height:1.6;border-radius:4px}select.input-lg,.input-group-lg>select.form-control,.input-group-lg>select.input-group-addon,.input-group-lg>.input-group-btn>select.btn{height:4.2857142857rem;line-height:4.2857142857rem}textarea.input-lg,.input-group-lg>textarea.form-control,.input-group-lg>textarea.input-group-addon,.input-group-lg>.input-group-btn>textarea.btn,select[multiple].input-lg,.input-group-lg>select[multiple].form-control,.input-group-lg>select[multiple].input-group-addon,.input-group-lg>.input-group-btn>select[multiple].btn{height:auto}.form-group-lg .form-control{height:4.2857142857rem;padding:1.2857142857rem 1.875rem;font-size:1.1428571429rem;line-height:1.6;border-radius:4px}.form-group-lg select.form-control{height:4.2857142857rem;line-height:4.2857142857rem}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static,.form-group-lg .form-grid .form-row .form-label label,.form-grid .form-row .form-label .form-group-lg label{height:4.2857142857rem;min-height:2.7428571429rem;padding:2.2857142857rem 1.875rem;font-size:1.1428571429rem;line-height:1.6}.has-feedback{position:relative}.has-feedback .form-control{padding-right:3.5714285714rem}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:2.8571428571rem;height:2.8571428571rem;line-height:2.8571428571rem;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg>.form-control+.form-control-feedback,.input-group-lg>.input-group-addon+.form-control-feedback,.input-group-lg>.input-group-btn>.btn+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:4.2857142857rem;height:4.2857142857rem;line-height:4.2857142857rem}.input-sm+.form-control-feedback,.input-group-sm>.form-control+.form-control-feedback,.input-group-sm>.input-group-addon+.form-control-feedback,.input-group-sm>.input-group-btn>.btn+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:2.2857142857rem;height:2.2857142857rem;line-height:2.2857142857rem}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#48a71c}.has-success .form-control{border-color:#48a71c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#357b15;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #79e049;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #79e049}.has-success .input-group-addon{color:#48a71c;border-color:#48a71c;background-color:#f3faec}.has-success .form-control-feedback{color:#48a71c}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#ff6316}.has-warning .form-control{border-color:#ff6316;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#e24b00;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ffa77c;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ffa77c}.has-warning .input-group-addon{color:#ff6316;border-color:#ff6316;background-color:#fff6ec}.has-warning .form-control-feedback{color:#ff6316}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#ff694b}.has-error .form-control{border-color:#ff694b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#ff3f18;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ffbeb1;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ffbeb1}.has-error .input-group-addon{color:#ff694b;border-color:#ff694b;background-color:#fff5f4}.has-error .form-control-feedback{color:#ff694b}.has-feedback label ~ .form-control-feedback{top:6.6rem}.has-feedback label.sr-only ~ .form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#9ea6ab}@media (min-width: 540px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static,.form-inline .form-grid .form-row .form-label label,.form-grid .form-row .form-label .form-inline label{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:1.6785714286rem}.form-horizontal .radio,.form-horizontal .checkbox{min-height:3.2785714286rem}.form-horizontal .form-group{margin-left:-30px;margin-right:-30px}.form-horizontal .form-group:before,.form-horizontal .form-group:after{content:" ";display:table}.form-horizontal .form-group:after{clear:both}@media (min-width: 540px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:1.6785714286rem}}.form-horizontal .has-feedback .form-control-feedback{right:30px}@media (min-width: 540px){.form-horizontal .form-group-lg .control-label{padding-top:2.2857142857rem;font-size:1.1428571429rem}}@media (min-width: 540px){.form-horizontal .form-group-sm .control-label{padding-top:1.4464285714rem;font-size:.9285714286rem}}.btn{display:inline-block;margin-bottom:0;font-weight:bold;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:.6785714286rem 1.25rem;font-size:1rem;line-height:1.6;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn.focus,.btn:active:focus,.btn:active.focus,.btn.active:focus,.btn.active.focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#484e53;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#484e53;background-color:#f0f2f4;border-color:transparent}.btn-default:focus,.btn-default.focus{color:#484e53;background-color:#e9ebef}.btn-default:hover{color:#484e53;background-color:#e9ebef}.btn-default:active,.btn-default.active,.open>.btn-default.dropdown-toggle{color:#484e53;background-color:#e9ebef}.btn-default:active:hover,.btn-default:active:focus,.btn-default:active.focus,.btn-default.active:hover,.btn-default.active:focus,.btn-default.active.focus,.open>.btn-default.dropdown-toggle:hover,.open>.btn-default.dropdown-toggle:focus,.open>.btn-default.dropdown-toggle.focus{color:#484e53;background-color:#e9ebef}.btn-default:active,.btn-default.active,.open>.btn-default.dropdown-toggle{background-image:none}.btn-default.disabled:hover,.btn-default.disabled:focus,.btn-default.disabled.focus,.btn-default[disabled]:hover,.btn-default[disabled]:focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default:hover,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default.focus{background-color:#f0f2f4;border-color:transparent}.btn-default .badge{color:#f0f2f4;background-color:#484e53}.btn-primary{color:#fff;background-color:#0bb;border-color:transparent}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#009595}.btn-primary:hover{color:#fff;background-color:#009595}.btn-primary:active,.btn-primary.active,.open>.btn-primary.dropdown-toggle{color:#fff;background-color:#009595}.btn-primary:active:hover,.btn-primary:active:focus,.btn-primary:active.focus,.btn-primary.active:hover,.btn-primary.active:focus,.btn-primary.active.focus,.open>.btn-primary.dropdown-toggle:hover,.open>.btn-primary.dropdown-toggle:focus,.open>.btn-primary.dropdown-toggle.focus{color:#fff;background-color:#009595}.btn-primary:active,.btn-primary.active,.open>.btn-primary.dropdown-toggle{background-image:none}.btn-primary.disabled:hover,.btn-primary.disabled:focus,.btn-primary.disabled.focus,.btn-primary[disabled]:hover,.btn-primary[disabled]:focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary:hover,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary.focus{background-color:#0bb;border-color:transparent}.btn-primary .badge{color:#0bb;background-color:#fff}.btn-success{color:#fff;background-color:#7ec631;border-color:transparent}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#48a71c}.btn-success:hover{color:#fff;background-color:#48a71c}.btn-success:active,.btn-success.active,.open>.btn-success.dropdown-toggle{color:#fff;background-color:#48a71c}.btn-success:active:hover,.btn-success:active:focus,.btn-success:active.focus,.btn-success.active:hover,.btn-success.active:focus,.btn-success.active.focus,.open>.btn-success.dropdown-toggle:hover,.open>.btn-success.dropdown-toggle:focus,.open>.btn-success.dropdown-toggle.focus{color:#fff;background-color:#48a71c}.btn-success:active,.btn-success.active,.open>.btn-success.dropdown-toggle{background-image:none}.btn-success.disabled:hover,.btn-success.disabled:focus,.btn-success.disabled.focus,.btn-success[disabled]:hover,.btn-success[disabled]:focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success:hover,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success.focus{background-color:#7ec631;border-color:transparent}.btn-success .badge{color:#7ec631;background-color:#fff}.btn-info{color:#fff;background-color:#0bb;border-color:transparent}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#009595}.btn-info:hover{color:#fff;background-color:#009595}.btn-info:active,.btn-info.active,.open>.btn-info.dropdown-toggle{color:#fff;background-color:#009595}.btn-info:active:hover,.btn-info:active:focus,.btn-info:active.focus,.btn-info.active:hover,.btn-info.active:focus,.btn-info.active.focus,.open>.btn-info.dropdown-toggle:hover,.open>.btn-info.dropdown-toggle:focus,.open>.btn-info.dropdown-toggle.focus{color:#fff;background-color:#009595}.btn-info:active,.btn-info.active,.open>.btn-info.dropdown-toggle{background-image:none}.btn-info.disabled:hover,.btn-info.disabled:focus,.btn-info.disabled.focus,.btn-info[disabled]:hover,.btn-info[disabled]:focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info:hover,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info.focus{background-color:#0bb;border-color:transparent}.btn-info .badge{color:#0bb;background-color:#fff}.btn-warning{color:#fff;background-color:#ff9b26;border-color:transparent}.btn-warning:focus,.btn-warning.focus{color:#fff;background-color:#ff6316}.btn-warning:hover{color:#fff;background-color:#ff6316}.btn-warning:active,.btn-warning.active,.open>.btn-warning.dropdown-toggle{color:#fff;background-color:#ff6316}.btn-warning:active:hover,.btn-warning:active:focus,.btn-warning:active.focus,.btn-warning.active:hover,.btn-warning.active:focus,.btn-warning.active.focus,.open>.btn-warning.dropdown-toggle:hover,.open>.btn-warning.dropdown-toggle:focus,.open>.btn-warning.dropdown-toggle.focus{color:#fff;background-color:#ff6316}.btn-warning:active,.btn-warning.active,.open>.btn-warning.dropdown-toggle{background-image:none}.btn-warning.disabled:hover,.btn-warning.disabled:focus,.btn-warning.disabled.focus,.btn-warning[disabled]:hover,.btn-warning[disabled]:focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning:hover,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning.focus{background-color:#ff9b26;border-color:transparent}.btn-warning .badge{color:#ff9b26;background-color:#fff}.btn-danger{color:#fff;background-color:#ff694b;border-color:transparent}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#ff3c2b}.btn-danger:hover{color:#fff;background-color:#ff3c2b}.btn-danger:active,.btn-danger.active,.open>.btn-danger.dropdown-toggle{color:#fff;background-color:#ff3c2b}.btn-danger:active:hover,.btn-danger:active:focus,.btn-danger:active.focus,.btn-danger.active:hover,.btn-danger.active:focus,.btn-danger.active.focus,.open>.btn-danger.dropdown-toggle:hover,.open>.btn-danger.dropdown-toggle:focus,.open>.btn-danger.dropdown-toggle.focus{color:#fff;background-color:#ff3c2b}.btn-danger:active,.btn-danger.active,.open>.btn-danger.dropdown-toggle{background-image:none}.btn-danger.disabled:hover,.btn-danger.disabled:focus,.btn-danger.disabled.focus,.btn-danger[disabled]:hover,.btn-danger[disabled]:focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger:hover,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger.focus{background-color:#ff694b;border-color:transparent}.btn-danger .badge{color:#ff694b;background-color:#fff}.btn-link{color:#0bb;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#009595;text-decoration:none;background-color:transparent}.btn-link[disabled]:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:hover,fieldset[disabled] .btn-link:focus{color:#8b969e;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:1.2857142857rem 1.875rem;font-size:1.1428571429rem;line-height:1.6;border-radius:4px}.btn-sm,.btn-group-sm>.btn{padding:.4464285714rem .875rem;font-size:.9285714286rem;line-height:1.6;border-radius:4px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:.9285714286rem;line-height:1.6;border-radius:4px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \\9 ;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:1rem;text-align:left;background-color:#fff;border:1px solid transparent;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:-.2rem 0;overflow:hidden;background-color:rgba(0,30,60,0.075)}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.6;color:#5e666c;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#313539;background-color:#f9fafb}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#0bb}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#8b969e}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:.9285714286rem;line-height:1.6;color:#8b969e;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid \\9 ;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width: 960px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar:before,.btn-toolbar:after{content:" ";display:table}.btn-toolbar:after{clear:both}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle,.btn-group-lg.btn-group>.btn+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret,.btn-group-lg>.btn .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret,.dropup .btn-group-lg>.btn .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{content:" ";display:table}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:.6785714286rem 1.25rem;font-size:1rem;font-weight:normal;line-height:1;color:#484e53;text-align:center;background-color:#f0f2f4;border:1px solid transparent;border-radius:4px}.input-group-addon.input-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:.4464285714rem .875rem;font-size:.9285714286rem;border-radius:4px}.input-group-addon.input-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:1.2857142857rem 1.875rem;font-size:1.1428571429rem;border-radius:4px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav:before,.nav:after{content:" ";display:table}.nav:after{clear:both}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:.6785714286rem .875rem}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#f9fafb}.nav>li.disabled>a{color:#8b969e}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#8b969e;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#f9fafb;border-color:#0bb}.nav .nav-divider{height:1px;margin:-.2rem 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid rgba(0,30,60,0.075)}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.6;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#ff694b #ff694b rgba(0,30,60,0.075)}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:inherit;background-color:transparent;border:1px solid #ff694b;border-bottom-color:transparent;cursor:default}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:1000px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#0bb}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified,.nav-tabs.nav-justified{width:100%}.nav-justified>li,.nav-tabs.nav-justified>li{float:none}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width: 540px){.nav-justified>li,.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified,.nav-tabs.nav-justified{border-bottom:0}.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs.nav-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width: 540px){.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs.nav-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#f9fafb}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.breadcrumb{padding:1.2857142857rem 1.875rem;margin-bottom:1.6rem;list-style:none;background-color:#f9fafb;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\\A0";padding:0 5px;color:#8b969e}.breadcrumb>.active{color:#313539}.pagination{display:inline-block;padding-left:0;margin:1.6rem 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:.6785714286rem 1.25rem;line-height:1.6;text-decoration:none;color:#0bb;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>a:focus,.pagination>li>span:hover,.pagination>li>span:focus{z-index:2;color:#009595;background-color:#f7f7f8;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:hover,.pagination>.active>a:focus,.pagination>.active>span,.pagination>.active>span:hover,.pagination>.active>span:focus{z-index:3;color:#fff;background-color:#0bb;border-color:#0bb;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#bec5c9;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:1.2857142857rem 1.875rem;font-size:1.1428571429rem;line-height:1.6}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination-sm>li>a,.pagination-sm>li>span{padding:.4464285714rem .875rem;font-size:.9285714286rem;line-height:1.6}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pager{padding-left:0;margin:1.6rem 0;list-style:none;text-align:center}.pager:before,.pager:after{content:" ";display:table}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#f7f7f8}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#bec5c9;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#8b969e;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label:empty{display:none}.btn .label{position:relative;top:-1px}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label-default{background-color:transparent}.label-default[href]:hover,.label-default[href]:focus{background-color:transparent}.label-primary{background-color:transparent}.label-primary[href]:hover,.label-primary[href]:focus{background-color:transparent}.label-success{background-color:transparent}.label-success[href]:hover,.label-success[href]:focus{background-color:transparent}.label-info{background-color:transparent}.label-info[href]:hover,.label-info[href]:focus{background-color:transparent}.label-warning{background-color:transparent}.label-warning[href]:hover,.label-warning[href]:focus{background-color:transparent}.label-danger{background-color:transparent}.label-danger[href]:hover,.label-danger[href]:focus{background-color:transparent}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:.9285714286rem;font-weight:bold;color:#8b969e;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#f0f2f4;border-radius:100px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#0bb;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.thumbnail{display:block;padding:0;margin-bottom:1.6rem;line-height:1.6;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-transition:border 0.2s ease-in-out;-o-transition:border 0.2s ease-in-out;transition:border 0.2s ease-in-out}.thumbnail>img,.thumbnail a>img{display:block;max-width:100%;height:auto;margin-left:auto;margin-right:auto}.thumbnail .caption{padding:20px 30px;color:#8b969e}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#0bb}.alert{padding:1.2857142857rem 1.875rem;margin-bottom:1.6rem;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:inherit}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:1.2857142857rem 1.875rem20}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#f3faec;border-color:transparent;color:#48a71c}.alert-success hr{border-top-color:transparent}.alert-success .alert-link{color:#357b15}.alert-info{background-color:#edfafa;border-color:transparent;color:#0aa}.alert-info hr{border-top-color:transparent}.alert-info .alert-link{color:#077}.alert-warning{background-color:#fff6ec;border-color:transparent;color:#ff6316}.alert-warning hr{border-top-color:transparent}.alert-warning .alert-link{color:#e24b00}.alert-danger{background-color:#fff5f4;border-color:transparent;color:#ff694b}.alert-danger hr{border-top-color:transparent}.alert-danger .alert-link{color:#ff3f18}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:1.6rem;margin-bottom:1.6rem;background-color:#f0f2f4;border-radius:100px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:.9285714286rem;line-height:1.6rem;color:#8b969e;text-align:center;background-color:#0bb;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#7ec631}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#0bb}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#ff9b26}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#ff694b}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,30,60,0.075)}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#5e666c}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#313539}a.list-group-item:hover,a.list-group-item:focus,button.list-group-item:hover,button.list-group-item:focus{text-decoration:none;color:#313539;background-color:#f9fafb}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#f9fafb;color:#8b969e;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#8b969e}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#0bb;border-color:rgba(0,30,60,0.03)}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#fff}.list-group-item-success{color:#48a71c;background-color:#f3faec}a.list-group-item-success,button.list-group-item-success{color:#48a71c}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:hover,button.list-group-item-success:focus{color:#48a71c;background-color:#e6f5d8}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active,button.list-group-item-success.active:hover,button.list-group-item-success.active:focus{color:#fff;background-color:#48a71c;border-color:#48a71c}.list-group-item-info{color:#0aa;background-color:#edfafa}a.list-group-item-info,button.list-group-item-info{color:#0aa}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:hover,button.list-group-item-info:focus{color:#0aa;background-color:#d9f4f4}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active,button.list-group-item-info.active:hover,button.list-group-item-info.active:focus{color:#fff;background-color:#0aa;border-color:#0aa}.list-group-item-warning{color:#ff6316;background-color:#fff6ec}a.list-group-item-warning,button.list-group-item-warning{color:#ff6316}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:hover,button.list-group-item-warning:focus{color:#ff6316;background-color:#ffead3}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active,button.list-group-item-warning.active:hover,button.list-group-item-warning.active:focus{color:#fff;background-color:#ff6316;border-color:#ff6316}.list-group-item-danger{color:#ff694b;background-color:#fff5f4}a.list-group-item-danger,button.list-group-item-danger{color:#ff694b}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:hover,button.list-group-item-danger:focus{color:#ff694b;background-color:#ffdedb}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active,button.list-group-item-danger.active:hover,button.list-group-item-danger.active:focus{color:#fff;background-color:#ff694b;border-color:#ff694b}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:1.6rem;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-body:before,.panel-body:after{content:" ";display:table}.panel-body:after{clear:both}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:2rem;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:transparent;border-top:1px solid transparent;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid rgba(0,30,60,0.075)}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:1.6rem}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid transparent}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid transparent}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#5e666c;background-color:transparent;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:transparent;background-color:#5e666c}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#0bb}.panel-primary>.panel-heading{color:#fff;background-color:#0bb;border-color:#0bb}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#0bb}.panel-primary>.panel-heading .badge{color:#0bb;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#0bb}.panel-success{border-color:transparent}.panel-success>.panel-heading{color:#48a71c;background-color:#f3faec;border-color:transparent}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-success>.panel-heading .badge{color:#f3faec;background-color:#48a71c}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.panel-info{border-color:transparent}.panel-info>.panel-heading{color:#0aa;background-color:#edfafa;border-color:transparent}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-info>.panel-heading .badge{color:#edfafa;background-color:#0aa}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.panel-warning{border-color:transparent}.panel-warning>.panel-heading{color:#ff6316;background-color:#fff6ec;border-color:transparent}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-warning>.panel-heading .badge{color:#fff6ec;background-color:#ff6316}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.panel-danger{border-color:transparent}.panel-danger>.panel-heading{color:#ff694b;background-color:#fff5f4;border-color:transparent}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-danger>.panel-heading .badge{color:#fff5f4;background-color:#ff694b}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f0f2f4;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:4px}.well-sm{padding:9px;border-radius:4px}.close{float:right;font-size:1.5rem;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform 0.3s ease-out;-moz-transition:-moz-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:transparent;border:1px solid transparent;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#f0f2f4}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.75;filter:alpha(opacity=75)}.modal-header{padding:0;border-bottom:1px solid transparent}.modal-header:before,.modal-header:after{content:" ";display:table}.modal-header:after{clear:both}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.6}.modal-body{position:relative;padding:0}.modal-footer{padding:0;text-align:right;border-top:1px solid transparent}.modal-footer:before,.modal-footer:after{content:" ";display:table}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width: 540px){.modal-dialog{width:768px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:400px}}@media (min-width: 768px){.modal-lg{width:960px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.6;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:.9285714286rem;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:1;filter:alpha(opacity=100)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:300px;padding:3px 8px;color:#fff;text-align:center;background-color:#007699;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#007699}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#007699}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#007699}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#007699}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#007699}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#007699}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#007699}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#007699}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:400px;padding:1px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.6;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:1rem;background-color:#ff694b;background-clip:padding-box;border:1px solid transparent;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:1rem;background-color:transparent;border-bottom:1px solid transparent;border-radius:3px 3px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:0}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:0;border-bottom-width:0;border-top-color:transparent;border-top-color:transparent;bottom:0}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#ff694b}.popover.right>.arrow{top:50%;left:0;margin-top:0;border-left-width:0;border-right-color:transparent;border-right-color:transparent}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#ff694b}.popover.bottom>.arrow{left:50%;margin-left:0;border-top-width:0;border-bottom-color:transparent;border-bottom-color:transparent;top:0}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#ff694b}.popover.left>.arrow{top:50%;right:0;margin-top:0;border-right-width:0;border-left-color:transparent;border-left-color:transparent}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#ff694b;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:0.6s ease-in-out left;-o-transition:0.6s ease-in-out left;transition:0.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto;line-height:1}@media all and (transform-3d), (-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform 0.6s ease-in-out;-moz-transition:-moz-transform 0.6s ease-in-out;-o-transition:-o-transform 0.6s ease-in-out;transition:transform 0.6s ease-in-out;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;-moz-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:120px;opacity:1;filter:alpha(opacity=100);font-size:20px;color:#fff;text-align:center;text-shadow:none;background-color:transparent}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.0001) 100%);background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\'#80000000\', endColorstr=\'#00000000\', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0%, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0%, rgba(0,0,0,0.5) 100%);background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0%, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\'#00000000\', endColorstr=\'#80000000\', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:\'\\2039\'}.carousel-control .icon-next:before{content:\'\\203A\'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid transparent;border-radius:10px;cursor:pointer;background-color:#000 \\9;background-color:transparent}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:none}.carousel-caption .btn{text-shadow:none}@media screen and (min-width: 540px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@font-face{font-family:"arrows";font-weight:normal;font-style:normal;src:url('+r(n(213))+') format("woff")}[class*="arrow-"]:not(.arrow-before):after,[class*="arrow-"].arrow-before:before{font-family:"arrows";text-transform:none;font-style:normal;font-weight:normal;line-height:.5}.arrow-large:not(.arrow-before):after,.arrow-large.arrow-before:before{text-transform:uppercase}.arrow-up:not(.arrow-before):after,.arrow-up.arrow-before:before{content:" a "}.arrow-right:not(.arrow-before):after,.arrow-right.arrow-before:before{content:" b "}.arrow-down:not(.arrow-before):after,.arrow-down.arrow-before:before{content:" c "}.arrow-left:not(.arrow-before):after,.arrow-left.arrow-before:before{content:" d "}.arrow-close:not(.arrow-before):after,.arrow-close.arrow-before:before{content:" e "}.arrow-check:not(.arrow-before):after,.arrow-check.arrow-before:before{content:" f "}@font-face{font-family:"entypo";font-weight:normal;font-style:normal;src:url('+r(n(214))+') format("woff")}[data-icon]{width:24px;height:10px;display:inline-block;vertical-align:middle}[data-icon]:before{display:block;position:relative;margin-top:-1px;top:-5px;speak:none;font-family:"entypo";font-style:normal;font-weight:normal;font-variant:normal;font-size:18px;line-height:1;text-align:center;text-transform:none;text-decoration:inherit}[data-icon].md:before{font-size:20px}[data-icon].lg{width:32px}[data-icon].lg:before{font-size:32px;top:-11px}[data-icon="note"]:before{content:"\\E800"}[data-icon="logo-db"]:before{content:"\\E8DE"}[data-icon="music"]:before{content:"\\E802"}[data-icon="search"]:before{content:"\\E803"}[data-icon="flashlight"]:before{content:"\\E804"}[data-icon="mail"]:before{content:"\\E805"}[data-icon="heart"]:before{content:"\\E80D"}[data-icon="heart-empty"]:before{content:"\\E80F"}[data-icon="star"]:before{content:"\\E810"}[data-icon="star-empty"]:before{content:"\\E813"}[data-icon="user"]:before{content:"\\E814"}[data-icon="users"]:before{content:"\\E817"}[data-icon="user-add"]:before{content:"\\E819"}[data-icon="video"]:before{content:"\\E81A"}[data-icon="picture"]:before{content:"\\E81D"}[data-icon="camera"]:before{content:"\\1F4F7"}[data-icon="layout"]:before{content:"\\E821"}[data-icon="menu"]:before{content:"\\E823"}[data-icon="check"]:before{content:"\\E824"}[data-icon="close"]:before{content:"\\E826"}[data-icon="cancel"]:before{content:"\\E826"}[data-icon="cancel-circled"]:before{content:"\\E806"}[data-icon="cancel-squared"]:before{content:"\\E808"}[data-icon="plus"]:before{content:"+"}[data-icon="plus-circled"]:before{content:"\\E809"}[data-icon="plus-squared"]:before{content:"\\E80A"}[data-icon="minus"]:before{content:"\\2212"}[data-icon="minus-circled"]:before{content:"\\E80E"}[data-icon="minus-squared"]:before{content:"\\E80C"}[data-icon="help"]:before{content:"\\E811"}[data-icon="help-circled"]:before{content:"\\E812"}[data-icon="info"]:before{content:"\\E815"}[data-icon="info-circled"]:before{content:"\\E816"}[data-icon="back"]:before{content:"\\E818"}[data-icon="home"]:before{content:"\\E81B"}[data-icon="link"]:before{content:"\\E81C"}[data-icon="attach"]:before{content:"\\E81F"}[data-icon="lock"]:before{content:"\\1F512"}[data-icon="lock-open"]:before{content:"\\E822"}[data-icon="eye"]:before{content:"\\E825"}[data-icon="tag"]:before{content:"\\E827"}[data-icon="bookmark"]:before{content:"\\1F516"}[data-icon="bookmarks"]:before{content:"\\E837"}[data-icon="flag"]:before{content:"\\E838"}[data-icon="thumbs-up"]:before{content:"\\E840"}[data-icon="thumbs-down"]:before{content:"\\E849"}[data-icon="download"]:before{content:"\\E85D"}[data-icon="upload"]:before{content:"\\E851"}[data-icon="upload-cloud"]:before{content:"\\E86B"}[data-icon="reply"]:before{content:"\\E86C"}[data-icon="reply-all"]:before{content:"\\E87B"}[data-icon="forward"]:before{content:"\\E87C"}[data-icon="quote"]:before{content:"\\E889"}[data-icon="code"]:before{content:"\\E88A"}[data-icon="export"]:before{content:"\\E899"}[data-icon="pencil"]:before{content:"\\270F"}[data-icon="feather"]:before{content:"\\E8A5"}[data-icon="print"]:before{content:"\\E8A8"}[data-icon="retweet"]:before{content:"\\E8A9"}[data-icon="keyboard"]:before{content:"\\2328"}[data-icon="comment"]:before{content:"\\E8AB"}[data-icon="chat"]:before{content:"\\E829"}[data-icon="bell"]:before{content:"\\1F514"}[data-icon="attention"]:before{content:"\\E839"}[data-icon="alert"]:before{content:"\\E841"}[data-icon="vcard"]:before{content:"\\E853"}[data-icon="address"]:before{content:"\\E85C"}[data-icon="location"]:before{content:"\\E852"}[data-icon="map"]:before{content:"\\E84A"}[data-icon="direction"]:before{content:"\\E86D"}[data-icon="compass"]:before{content:"\\E87A"}[data-icon="cup"]:before{content:"\\E850"}[data-icon="trash"]:before{content:"\\E888"}[data-icon="doc"]:before{content:"\\E88B"}[data-icon="docs"]:before{content:"\\E898"}[data-icon="doc-landscape"]:before{content:"\\E89B"}[data-icon="doc-text"]:before{content:"\\E8A6"}[data-icon="doc-text-inv"]:before{content:"\\E8A7"}[data-icon="newspaper"]:before{content:"\\1F4F0"}[data-icon="book-open"]:before{content:"\\E8AD"}[data-icon="book"]:before{content:"\\E8AC"}[data-icon="folder"]:before{content:"\\E82A"}[data-icon="archive"]:before{content:"\\E835"}[data-icon="box"]:before{content:"\\E83A"}[data-icon="rss"]:before{content:"\\E842"}[data-icon="phone"]:before{content:"\\E854"}[data-icon="cog"]:before{content:"\\E85E"}[data-icon="tools"]:before{content:"\\E860"}[data-icon="share"]:before{content:"\\E84B"}[data-icon="shareable"]:before{content:"\\E86E"}[data-icon="basket"]:before{content:"\\E879"}[data-icon="bag"]:before{content:"\\E87E"}[data-icon="calendar"]:before{content:"\\1F4C5"}[data-icon="login"]:before{content:"\\E88C"}[data-icon="logout"]:before{content:"\\E897"}[data-icon="mic"]:before{content:"\\E84D"}[data-icon="mute"]:before{content:"\\E84E"}[data-icon="sound"]:before{content:"\\E8AE"}[data-icon="volume"]:before{content:"\\E8B4"}[data-icon="clock"]:before{content:"\\E8AF"}[data-icon="hourglass"]:before{content:"\\231B"}[data-icon="lamp"]:before{content:"\\E82B"}[data-icon="light-down"]:before{content:"\\E834"}[data-icon="light-up"]:before{content:"\\E83B"}[data-icon="adjust"]:before{content:"\\E843"}[data-icon="block"]:before{content:"\\2588"}[data-icon="resize-full"]:before{content:"\\E85F"}[data-icon="resize-small"]:before{content:"\\E861"}[data-icon="popup"]:before{content:"\\E86A"}[data-icon="publish"]:before{content:"\\E86F"}[data-icon="window"]:before{content:"\\E878"}[data-icon="arrow-combo"]:before{content:"\\E87D"}[data-icon="down-circled"]:before{content:"\\E887"}[data-icon="left-circled"]:before{content:"\\E88D"}[data-icon="right-circled"]:before{content:"\\E896"}[data-icon="up-circled"]:before{content:"\\E89C"}[data-icon="down-open"]:before{content:"\\E84C"}[data-icon="left-open"]:before{content:"\\E8B2"}[data-icon="right-open"]:before{content:"\\E8B3"}[data-icon="up-open"]:before{content:"\\E8B5"}[data-icon="down-open-mini"]:before{content:"\\E8B6"}[data-icon="left-open-mini"]:before{content:"\\E833"}[data-icon="right-open-mini"]:before{content:"\\E832"}[data-icon="up-open-mini"]:before{content:"\\E83C"}[data-icon="down-open-big"]:before{content:"\\E844"}[data-icon="left-open-big"]:before{content:"\\E855"}[data-icon="right-open-big"]:before{content:"\\E85B"}[data-icon="up-open-big"]:before{content:"\\E862"}[data-icon="down"]:before{content:"\\E869"}[data-icon="left"]:before{content:"\\E870"}[data-icon="right"]:before{content:"\\E877"}[data-icon="up"]:before{content:"\\E87F"}[data-icon="down-dir"]:before{content:"\\E886"}[data-icon="left-dir"]:before{content:"\\E88E"}[data-icon="right-dir"]:before{content:"\\E895"}[data-icon="up-dir"]:before{content:"\\E89D"}[data-icon="down-bold"]:before{content:"\\E8A4"}[data-icon="left-bold"]:before{content:"\\E8BA"}[data-icon="right-bold"]:before{content:"\\E8B9"}[data-icon="up-bold"]:before{content:"\\E8B8"}[data-icon="down-thin"]:before{content:"\\E8B7"}[data-icon="left-thin"]:before{content:"\\E82C"}[data-icon="note-beamed"]:before{content:"\\E801"}[data-icon="up-thin"]:before{content:"\\E83D"}[data-icon="cw"]:before{content:"\\E856"}[data-icon="arrows-ccw"]:before{content:"\\E85A"}[data-icon="level-down"]:before{content:"\\E863"}[data-icon="level-up"]:before{content:"\\E868"}[data-icon="shuffle"]:before{content:"\\E871"}[data-icon="loop"]:before{content:"\\E876"}[data-icon="switch"]:before{content:"\\E880"}[data-icon="play"]:before{content:"\\E885"}[data-icon="stop"]:before{content:"\\E88F"}[data-icon="pause"]:before{content:"\\E894"}[data-icon="record"]:before{content:"\\E89E"}[data-icon="to-end"]:before{content:"\\E8A3"}[data-icon="to-start"]:before{content:"\\E8BB"}[data-icon="fast-forward"]:before{content:"\\E8BC"}[data-icon="fast-backward"]:before{content:"\\E8BD"}[data-icon="progress-0"]:before{content:"\\E8BE"}[data-icon="progress-1"]:before{content:"\\E82D"}[data-icon="progress-2"]:before{content:"\\E830"}[data-icon="progress-3"]:before{content:"\\E83E"}[data-icon="target"]:before{content:"\\E857"}[data-icon="palette"]:before{content:"\\E847"}[data-icon="list"]:before{content:"\\E859"}[data-icon="list-add"]:before{content:"\\E864"}[data-icon="signal"]:before{content:"\\E867"}[data-icon="trophy"]:before{content:"\\1F3C6"}[data-icon="battery"]:before{content:"\\1F50B"}[data-icon="back-in-time"]:before{content:"\\E881"}[data-icon="monitor"]:before{content:"\\E884"}[data-icon="mobile"]:before{content:"\\E890"}[data-icon="network"]:before{content:"\\E893"}[data-icon="cd"]:before{content:"\\E89F"}[data-icon="inbox"]:before{content:"\\E8A2"}[data-icon="install"]:before{content:"\\E8C2"}[data-icon="globe"]:before{content:"\\E8C1"}[data-icon="cloud"]:before{content:"\\2601"}[data-icon="cloud-thunder"]:before{content:"\\E8BF"}[data-icon="flash"]:before{content:"\\E82E"}[data-icon="moon"]:before{content:"\\E82F"}[data-icon="flight"]:before{content:"\\E83F"}[data-icon="paper-plane"]:before{content:"\\E845"}[data-icon="leaf"]:before{content:"\\E846"}[data-icon="lifebuoy"]:before{content:"\\E858"}[data-icon="mouse"]:before{content:"\\1F401"}[data-icon="briefcase"]:before{content:"\\1F4BC"}[data-icon="suitcase"]:before{content:"\\E873"}[data-icon="dot"]:before{content:"\\E874"}[data-icon="dot-2"]:before{content:"\\E882"}[data-icon="dot-3"]:before{content:"\\E883"}[data-icon="brush"]:before{content:"\\E891"}[data-icon="magnet"]:before{content:"\\E892"}[data-icon="infinity"]:before{content:"\\221E"}[data-icon="erase"]:before{content:"\\E8A1"}[data-icon="chart-pie"]:before{content:"\\E8C3"}[data-icon="chart-line"]:before{content:"\\E8C4"}[data-icon="chart-bar"]:before{content:"\\E8C5"}[data-icon="chart-area"]:before{content:"\\E8C6"}[data-icon="tape"]:before{content:"\\E8C7"}[data-icon="graduation-cap"]:before{content:"\\E8D2"}[data-icon="language"]:before{content:"\\E8D4"}[data-icon="ticket"]:before{content:"\\1F3AB"}[data-icon="water"]:before{content:"\\E8DA"}[data-icon="droplet"]:before{content:"\\1F4A7"}[data-icon="air"]:before{content:"\\E8E3"}[data-icon="credit-card"]:before{content:"\\E8EA"}[data-icon="floppy"]:before{content:"\\E8EB"}[data-icon="clipboard"]:before{content:"\\1F4CB"}[data-icon="megaphone"]:before{content:"\\E8F3"}[data-icon="database"]:before{content:"\\E8FA"}[data-icon="drive"]:before{content:"\\E8FC"}[data-icon="bucket"]:before{content:"\\E902"}[data-icon="thermometer"]:before{content:"\\E903"}[data-icon="key"]:before{content:"\\1F511"}[data-icon="flow-cascade"]:before{content:"\\E90B"}[data-icon="flow-branch"]:before{content:"\\E912"}[data-icon="flow-tree"]:before{content:"\\E913"}[data-icon="flow-line"]:before{content:"\\E91A"}[data-icon="flow-parallel"]:before{content:"\\E8C8"}[data-icon="rocket"]:before{content:"\\1F680"}[data-icon="gauge"]:before{content:"\\E8D3"}[data-icon="traffic-cone"]:before{content:"\\E8D8"}[data-icon="cc"]:before{content:"\\E8DB"}[data-icon="cc-by"]:before{content:"\\E8E1"}[data-icon="cc-nc"]:before{content:"\\E8E4"}[data-icon="cc-nc-eu"]:before{content:"\\E8E9"}[data-icon="cc-nc-jp"]:before{content:"\\E8EC"}[data-icon="cc-sa"]:before{content:"\\E8F1"}[data-icon="cc-nd"]:before{content:"\\E8F4"}[data-icon="cc-pd"]:before{content:"\\E8F9"}[data-icon="cc-zero"]:before{content:"\\E8FB"}[data-icon="cc-share"]:before{content:"\\E901"}[data-icon="cc-remix"]:before{content:"\\E904"}[data-icon="github"]:before{content:"\\E909"}[data-icon="github-circled"]:before{content:"\\E90C"}[data-icon="flickr"]:before{content:"\\E911"}[data-icon="flickr-circled"]:before{content:"\\E914"}[data-icon="vimeo"]:before{content:"\\E919"}[data-icon="vimeo-circled"]:before{content:"\\E8C9"}[data-icon="twitter"]:before{content:"\\E8D0"}[data-icon="twitter-circled"]:before{content:"\\E8D6"}[data-icon="facebook"]:before{content:"\\E8D7"}[data-icon="facebook-circled"]:before{content:"\\E8DC"}[data-icon="facebook-squared"]:before{content:"\\E8E0"}[data-icon="gplus"]:before{content:"\\E8E5"}[data-icon="gplus-circled"]:before{content:"\\E8E8"}[data-icon="pinterest"]:before{content:"\\E8ED"}[data-icon="pinterest-circled"]:before{content:"\\E8F0"}[data-icon="tumblr"]:before{content:"\\E8F5"}[data-icon="tumblr-circled"]:before{content:"\\E8F8"}[data-icon="linkedin"]:before{content:"\\E8FD"}[data-icon="linkedin-circled"]:before{content:"\\E900"}[data-icon="dribbble"]:before{content:"\\E905"}[data-icon="dribbble-circled"]:before{content:"\\E908"}[data-icon="stumbleupon"]:before{content:"\\E90D"}[data-icon="stumbleupon-circled"]:before{content:"\\E910"}[data-icon="lastfm"]:before{content:"\\E915"}[data-icon="lastfm-circled"]:before{content:"\\E918"}[data-icon="rdio"]:before{content:"\\E8CA"}[data-icon="rdio-circled"]:before{content:"\\E8D5"}[data-icon="spotify"]:before{content:"\\E8CF"}[data-icon="spotify-circled"]:before{content:"\\E8CE"}[data-icon="qq"]:before{content:"\\E8DD"}[data-icon="instagram"]:before{content:"\\E8DF"}[data-icon="dropbox"]:before{content:"\\E8E6"}[data-icon="evernote"]:before{content:"\\E8E7"}[data-icon="flattr"]:before{content:"\\E8EE"}[data-icon="skype"]:before{content:"\\E8EF"}[data-icon="skype-circled"]:before{content:"\\E8F6"}[data-icon="renren"]:before{content:"\\E8F7"}[data-icon="sina-weibo"]:before{content:"\\E8FE"}[data-icon="paypal"]:before{content:"\\E8FF"}[data-icon="picasa"]:before{content:"\\E906"}[data-icon="soundcloud"]:before{content:"\\E907"}[data-icon="mixi"]:before{content:"\\E90E"}[data-icon="behance"]:before{content:"\\E90F"}[data-icon="google-circles"]:before{content:"\\E916"}[data-icon="vkontakte"]:before{content:"\\E917"}[data-icon="smashing"]:before{content:"\\E8CB"}[data-icon="sweden"]:before{content:"\\E8CC"}[data-icon="db-shape"]:before{content:"\\E8CD"}[data-icon="bitbucket"]:before{content:"\\20AC"}*,*:before,*:after{position:relative;outline:none !important;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-smoothing:grayscale}html{-webkit-text-size-adjust:100%;font-size:14px}body{min-width:960px}.block{display:block !important}.inline{display:inline !important}.inline-block{display:inline-block !important}.invisible{visibility:hidden}.hidden{display:none}.blocklink{display:block;color:inherit;text-decoration:none !important}.blocklink:hover,.blocklink:focus{color:inherit}.fill{display:block;position:absolute;width:100%;height:100%;top:0;left:0}.full{display:block;position:absolute;width:100%;height:100%;top:0;left:0;position:fixed}.cover{display:block;position:absolute;left:0;top:0;bottom:0;right:0}.clear:after{display:table;content:\'\';clear:both}.clean{margin:0;padding:0;border:0;list-style-type:none}.clean li{margin:0;padding:0;list-style-type:none}.trim>*:first-child{margin-top:0}.trim>*:last-child{margin-bottom:0}.snug>*{margin-top:.5rem;margin-bottom:.5rem}.snug>*:first-child{margin-top:0}.snug>*:last-child{margin-bottom:0}.compact *{margin-top:0;margin-bottom:0}.component{display:block;border-width:0;background:white;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03);border-radius:4px}.transitions{-webkit-transition:all .5s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .5s cubic-bezier(0.25, 0, 0, 1);transition:all .5s cubic-bezier(0.25, 0, 0, 1)}.margin,.margin-top{margin-top:2em}.margin,.margin-bottom{margin-bottom:2em}.margin-small,.margin-small-top{margin-top:1em}.margin-small,.margin-small-bottom{margin-bottom:1em}.padding,.padding-top{padding-top:2em}.padding,.padding-bottom{margin-bottom:2em}.flush,.flush-top{margin-top:0 !important}.flush,.flush-bottom{margin-bottom:0 !important}@media print{html{font-size:9pt}html body{-webkit-print-color-adjust:exact}html a{white-space:nowrap}html,body{background:white !important}font-size:9pt;body{-webkit-print-color-adjust:exact}a{white-space:nowrap}@page{margin:0.75in 1in}}@media screen{html.print{font-size:9pt;font-size:9pt;background:#f9fafb}html.print body{-webkit-print-color-adjust:exact}html.print a{white-space:nowrap}html.print body{-webkit-print-color-adjust:exact}html.print a{white-space:nowrap}html.print body{padding:0.75in 1in;margin:.5in auto;max-width:8.5in;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03);height:auto}}.text-red{color:#ff694b !important}.text-red-dark{color:#ff4f39 !important}.text-red-darker{color:#ff3c2b !important}.text-red-darkest{color:#ff2d21 !important}.text-red-light{color:#ff845e !important}.text-red-lighter{color:#ffa376 !important}.text-red-lightest{color:#ffba94 !important}.text-red-highlight{color:#fff5f4 !important}.bg-red{background-color:#ff694b !important}.bg-red-dark{background-color:#ff4f39 !important}.bg-red-darker{background-color:#ff3c2b !important}.bg-red-darkest{background-color:#ff2d21 !important}.bg-red-light{background-color:#ff845e !important}.bg-red-lighter{background-color:#ffa376 !important}.bg-red-lightest{background-color:#ffba94 !important}.bg-red-highlight{background-color:#fff5f4 !important}.text-orange{color:#ff694b !important}.text-orange-dark{color:#ff4f39 !important}.text-orange-darker{color:#ff3c2b !important}.text-orange-darkest{color:#ff2d21 !important}.text-orange-light{color:#ff845e !important}.text-orange-lighter{color:#ffa376 !important}.text-orange-lightest{color:#ffba94 !important}.text-orange-highlight{color:#fff5f4 !important}.bg-orange{background-color:#ff694b !important}.bg-orange-dark{background-color:#ff4f39 !important}.bg-orange-darker{background-color:#ff3c2b !important}.bg-orange-darkest{background-color:#ff2d21 !important}.bg-orange-light{background-color:#ff845e !important}.bg-orange-lighter{background-color:#ffa376 !important}.bg-orange-lightest{background-color:#ffba94 !important}.bg-orange-highlight{background-color:#fff5f4 !important}.text-yellow{color:#fc0 !important}.text-yellow-dark{color:#ffc000 !important}.text-yellow-darker{color:#ffb100 !important}.text-yellow-darkest{color:#ff9e00 !important}.text-yellow-light{color:#ffd900 !important}.text-yellow-lighter{color:#ffe300 !important}.text-yellow-lightest{color:#ffea00 !important}.text-yellow-highlight{color:#fff8db !important}.bg-yellow{background-color:#fc0 !important}.bg-yellow-dark{background-color:#ffc000 !important}.bg-yellow-darker{background-color:#ffb100 !important}.bg-yellow-darkest{background-color:#ff9e00 !important}.bg-yellow-light{background-color:#ffd900 !important}.bg-yellow-lighter{background-color:#ffe300 !important}.bg-yellow-lightest{background-color:#ffea00 !important}.bg-yellow-highlight{background-color:#fff8db !important}.text-green{color:#7ec631 !important}.text-green-dark{color:#5fb825 !important}.text-green-darker{color:#48a71c !important}.text-green-darkest{color:#369115 !important}.text-green-light{color:#9ed53e !important}.text-green-lighter{color:#b7e04e !important}.text-green-lightest{color:#c9e862 !important}.text-green-highlight{color:#f3faec !important}.bg-green{background-color:#7ec631 !important}.bg-green-dark{background-color:#5fb825 !important}.bg-green-darker{background-color:#48a71c !important}.bg-green-darkest{background-color:#369115 !important}.bg-green-light{background-color:#9ed53e !important}.bg-green-lighter{background-color:#b7e04e !important}.bg-green-lightest{background-color:#c9e862 !important}.bg-green-highlight{background-color:#f3faec !important}.text-blue{color:#0bb !important}.text-blue-dark{color:#0aa !important}.text-blue-darker{color:#009595 !important}.text-blue-darkest{color:#007b7b !important}.text-blue-light{color:#0cc !important}.text-blue-lighter{color:#00d9d9 !important}.text-blue-lightest{color:#00e3e3 !important}.text-blue-highlight{color:#edfafa !important}.bg-blue{background-color:#0bb !important}.bg-blue-dark{background-color:#0aa !important}.bg-blue-darker{background-color:#009595 !important}.bg-blue-darkest{background-color:#007b7b !important}.bg-blue-light{background-color:#0cc !important}.bg-blue-lighter{background-color:#00d9d9 !important}.bg-blue-lightest{background-color:#00e3e3 !important}.bg-blue-highlight{background-color:#edfafa !important}.text-purple{color:#7f6cc5 !important}.text-purple-dark{color:#6051b7 !important}.text-purple-darker{color:#483da5 !important}.text-purple-darkest{color:#362e8f !important}.text-purple-light{color:#9f87d4 !important}.text-purple-lighter{color:#b7a5df !important}.text-purple-lightest{color:#c9bce7 !important}.text-purple-highlight{color:#f8f7fc !important}.bg-purple{background-color:#7f6cc5 !important}.bg-purple-dark{background-color:#6051b7 !important}.bg-purple-darker{background-color:#483da5 !important}.bg-purple-darkest{background-color:#362e8f !important}.bg-purple-light{background-color:#9f87d4 !important}.bg-purple-lighter{background-color:#b7a5df !important}.bg-purple-lightest{background-color:#c9bce7 !important}.bg-purple-highlight{background-color:#f8f7fc !important}.text-navy{color:#005e7a !important}.text-navy-dark{color:#00475c !important}.text-navy-darker{color:#003645 !important}.text-navy-darkest{color:#002934 !important}.text-navy-light{color:#007699 !important}.text-navy-lighter{color:#0094b3 !important}.text-navy-lightest{color:#00afc6 !important}.text-navy-highlight{color:#f4f8f9 !important}.bg-navy{background-color:#005e7a !important}.bg-navy-dark{background-color:#00475c !important}.bg-navy-darker{background-color:#003645 !important}.bg-navy-darkest{background-color:#002934 !important}.bg-navy-light{background-color:#007699 !important}.bg-navy-lighter{background-color:#0094b3 !important}.bg-navy-lightest{background-color:#00afc6 !important}.bg-navy-highlight{background-color:#f4f8f9 !important}.text-gray{color:#8b969e !important}.text-gray-dark{color:#6e7c86 !important}.text-gray-darker{color:#535d68 !important}.text-gray-darkest{color:#3f464e !important}.text-gray-light{color:#a8b1b7 !important}.text-gray-lighter{color:#bec5c9 !important}.text-gray-lightest{color:#cfd4d7 !important}.text-gray-highlight{color:#f7f7f8 !important}.bg-gray{background-color:#8b969e !important}.bg-gray-dark{background-color:#6e7c86 !important}.bg-gray-darker{background-color:#535d68 !important}.bg-gray-darkest{background-color:#3f464e !important}.bg-gray-light{background-color:#a8b1b7 !important}.bg-gray-lighter{background-color:#bec5c9 !important}.bg-gray-lightest{background-color:#cfd4d7 !important}.bg-gray-highlight{background-color:#f7f7f8 !important}.text-success{color:#5fb825 !important}.text-danger{color:#ff4f39 !important}.text-warning{color:#ff821d !important}.text-info{color:#0aa !important}.text-white{color:white !important}.text-light{color:#8b969e !important}.text-lighter{color:#bec5c9 !important}.text-dark{color:#313539 !important}.text-inherit{color:inherit}.text-inherit:hover,.text-inherit:focus{color:inherit}.text-silver{color:#f0f2f4 !important}.text-silver-light{color:#f9fafb !important}.text-silver-dark{color:#e9ebef !important}.text-silver-darker{color:#e4e6eb !important}.text-silver-darkest{color:#dee0e6 !important}.bg-silver{background-color:#f0f2f4}.bg-silver-light{background-color:#f9fafb !important}.bg-silver-dark{background-color:#e9ebef !important}.bg-silver-darker{background-color:#e4e6eb !important}.bg-silver-darkest{background-color:#dee0e6 !important}.bg-transparent{background-color:transparent !important}.faint{opacity:.5}.fainter{opacity:.3}.inherit{color:inherit}::selection{background:#0bb;color:#fff}::-moz-selection{background:#0bb;color:#fff}img{display:block;max-width:100%}[data-bg]{background:transparent no-repeat 50% 50%/cover}body{font-size:1rem;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;background:#f9fafb;color:#5e666c}*,dt,dd{line-height:calc(1em + .15 * (5rem - 1em));text-align:inherit}a,.a{cursor:pointer;color:#0bb;text-decoration:none}a:hover,a:focus,.a:hover,.a:focus{text-decoration:none;color:#009595}i,.i,em,.em{font-style:oblique}b,.b,strong,.strong{font-weight:bold}mark{background:#edfafa;color:#313539;padding:.1em 0;border-radius:4px}.normal{font-weight:normal !important}iframe{margin:0;display:block}label{margin:.5em 0;font-weight:normal}hr{margin:3em 0;border-top:1px solid rgba(0,30,60,0.075)}blockquote,ul,ol,p,.field,.table{margin:1.5em 0}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{margin:1.5em 0 .5em}ul,ol{padding-left:1.25em}dl dt+dd{margin-bottom:1em}blockquote{padding:0;font-size:inherit}small,.small,.text-small{font-size:.9285714286rem}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{font-weight:bold;letter-spacing:.01em}h5,.h5,h6,.h6,.text-base{font-size:1rem}h4,.h4,.text-large{font-size:1.1428571429rem}h3,.h3,.text-larger{font-size:1.2857142857rem}h1,.h1,h2,.h2,.text-largest{font-size:1.7142857143rem}.text-body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif}.text-mono{font-family:"Monaco",monospace;font-size:.8571428571rem !important}.text-smallcaps{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#8b969e;font-weight:bold;font-style:normal}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}@media (min-width: 961px){.text-center-large{text-align:center !important}.text-right-large{text-align:right !important}.text-left-large{text-align:left !important}}@media (max-width: 960px){.text-center-small{text-align:center !important}.text-right-small{text-align:right !important}.text-left-small{text-align:left !important}}@media (min-width: 401px){.nowrap{white-space:nowrap}}.condensed{white-space:nowrap;width:1px}.ellipsis{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wrap{white-space:normal}.break{word-break:break-word}.buffer,.card,.title,.tokens,.settings{margin-top:20px;margin-bottom:20px}*:first-child{margin-top:0}*:last-child{margin-bottom:0}.margin-right{margin-right:.75em !important}.margin-left{margin-left:.75em !important}.margin-right-small{margin-right:.375em !important}.margin-left-small{margin-left:.375em !important}.icn{font-size:16px;top:-1px;width:1em;height:1em;margin:auto;display:inline-block;vertical-align:middle;-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0);transform:translateZ(0)}.icn use{fill:currentColor}.icn-md{width:1.5em;height:1.5em;-webkit-transform:scale(1.5);transform:scale(1.5);-webkit-transform-origin:0 0;transform-origin:0 0}.icn-lg{width:2em;height:2em;-webkit-transform:scale(2);transform:scale(2);-webkit-transform-origin:0 0;transform-origin:0 0}.glyph{top:-1px;margin:auto;font-size:24px;display:inline-block;vertical-align:middle;transform:translate(0, 0);width:1em;height:1em}.glyph use{fill:none;stroke-width:2;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;transform-origin:0 0;shape-rendering:geometricPrecision}.glyph-solid use{fill:currentColor;stroke-width:0 !important}.glyph-middle,.btn .glyph{margin-top:-10px;margin-bottom:-8px}.glyph-before{margin-right:.25em;margin-left:-.125em}.glyph-after{margin-left:.25em;margin-right:-.125em}.glyph-sm{font-size:16px}.glyph-sm use{stroke-width:3}@media (-webkit-min-device-pixel-ratio: 1.25), (min-device-pixel-ratio: 1.25){.glyph-sm use{stroke-width:2.25}}.glyph-md{font-size:36px}.glyph-md use{stroke-width:1.3333333333}@media (-webkit-min-device-pixel-ratio: 1.25), (min-device-pixel-ratio: 1.25){.glyph-md use{stroke-width:1}}.glyph-lg{font-size:48px}.glyph-lg use{stroke-width:1}@media (-webkit-min-device-pixel-ratio: 1.25), (min-device-pixel-ratio: 1.25){.glyph-lg use{stroke-width:.75}}.glyph-xl{font-size:72px}.glyph-xl use{stroke-width:.6666666667}@media (-webkit-min-device-pixel-ratio: 1.25), (min-device-pixel-ratio: 1.25){.glyph-xl use{stroke-width:.5}}.glyph-check,.glyph-radio{font-size:18px;border:2px solid currentColor;opacity:.25}.glyph-check use,.glyph-radio use{opacity:0}:hover>.glyph-check,:focus ~ .glyph-check,:hover>.glyph-radio,:focus ~ .glyph-radio{opacity:.5}:checked ~ .glyph-check,:disabled ~ .glyph-check,[type="checkbox"]:indeterminate ~ .glyph-check,:checked ~ .glyph-radio,:disabled ~ .glyph-radio,[type="checkbox"]:indeterminate ~ .glyph-radio{border-color:transparent !important}:checked ~ .glyph-check,[type="checkbox"]:indeterminate ~ .glyph-check,:checked ~ .glyph-radio,[type="checkbox"]:indeterminate ~ .glyph-radio{opacity:1;background:#0bb}:checked ~ .glyph-check use,[type="checkbox"]:indeterminate ~ .glyph-check use,:checked ~ .glyph-radio use,[type="checkbox"]:indeterminate ~ .glyph-radio use{opacity:1;color:white}:checked:hover ~ .glyph-check,:checked:focus ~ .glyph-check,[type="checkbox"]:indeterminate:hover ~ .glyph-check,[type="checkbox"]:indeterminate:focus ~ .glyph-check,:hover>:checked ~ .glyph-check,:focus>:checked ~ .glyph-check,:checked:hover ~ .glyph-radio,:checked:focus ~ .glyph-radio,[type="checkbox"]:indeterminate:hover ~ .glyph-radio,[type="checkbox"]:indeterminate:focus ~ .glyph-radio,:hover>:checked ~ .glyph-radio,:focus>:checked ~ .glyph-radio{background:#009595}[type="checkbox"]:indeterminate ~ .glyph-check use,[type="checkbox"]:indeterminate ~ .glyph-radio use{fill:currentColor;stroke:transparent}:disabled ~ .glyph-check,:checked:disabled ~ .glyph-check,[type="checkbox"]:indeterminate:disabled ~ .glyph-check,:disabled ~ .glyph-radio,:checked:disabled ~ .glyph-radio,[type="checkbox"]:indeterminate:disabled ~ .glyph-radio{opacity:.5;background:#dee0e6;color:inherit}:disabled ~ .glyph-check use,:checked:disabled ~ .glyph-check use,[type="checkbox"]:indeterminate:disabled ~ .glyph-check use,:disabled ~ .glyph-radio use,:checked:disabled ~ .glyph-radio use,[type="checkbox"]:indeterminate:disabled ~ .glyph-radio use{color:inherit}.glyph-radio{border-radius:50%}.glyph-radio use{fill:currentColor}.glyph-check{border-radius:4px}select:not([multiple]).form-control{background-size:.75em .75em;background-repeat:no-repeat;background-image:url('+r(n(215))+');background-position:calc( 100% - .875em ) 50%;padding-top:0;padding-bottom:0;padding-right:2.25em}select:not([multiple]).form-control::-ms-value{background:transparent !important}.bootstrap-select button{background-repeat:no-repeat;background-size:auto 1em;background-position:calc(100% - 1.25rem + 5px) 50%;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij48cG9seWxpbmUgcG9pbnRzPSI0LjUgNiA4IDkuNSAxMS41IDYiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwOTRiMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPjxyZWN0IHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0ibm9uZSIvPjwvc3ZnPg==");padding-right:2em !important;-moz-appearance:none}.bootstrap-select button.input-sm,.bootstrap-select .input-group-sm>button.form-control,.bootstrap-select .input-group-sm>button.input-group-addon,.bootstrap-select .input-group-sm>.input-group-btn>button.btn,.bootstrap-select button.sm{background-position:calc(100% - .875rem + 5px) 50%}.bootstrap-select button.input-lg,.bootstrap-select .input-group-lg>button.form-control,.bootstrap-select .input-group-lg>button.input-group-addon,.bootstrap-select .input-group-lg>.input-group-btn>button.btn,.bootstrap-select button.lg{background-position:calc(100% - 1.875rem + 5px) 50%}.bootstrap-select button::-ms-expand{display:none}.btn input,.form-control input,.option input{position:absolute;opacity:0}.option{margin:0}.option:not(.input-group-addon){padding-left:0 !important}.option-flush{padding-left:0 !important;padding-right:0 !important}.option.input-group-addon{padding-left:.875rem;padding-right:.875rem}.option .glyph{margin-right:.375em}/*! jQuery UI - v1.12.1 - 2017-01-20\n* http://jqueryui.com\n* Copyright jQuery Foundation and other contributors; Licensed MIT */.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default !important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;font-size:100%}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-button{padding:.4em 1em;display:inline-block;position:relative;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2em;box-sizing:border-box;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-button-icon-only{text-indent:0}.ui-button-icon-only .ui-icon{position:absolute;top:50%;left:50%;margin-top:-8px;margin-left:-8px}.ui-button.ui-icon-notext .ui-icon{padding:0;width:2.1em;height:2.1em;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-icon-notext .ui-icon{width:auto;height:auto;text-indent:0;white-space:normal;padding:.4em 1em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-controlgroup{vertical-align:middle;display:inline-block}.ui-controlgroup>.ui-controlgroup-item{float:left;margin-left:0;margin-right:0}.ui-controlgroup>.ui-controlgroup-item:focus,.ui-controlgroup>.ui-controlgroup-item.ui-visual-focus{z-index:9999}.ui-controlgroup-vertical>.ui-controlgroup-item{display:block;float:none;width:100%;margin-top:0;margin-bottom:0;text-align:left}.ui-controlgroup-vertical .ui-controlgroup-item{box-sizing:border-box}.ui-controlgroup .ui-controlgroup-label{padding:.4em 1em}.ui-controlgroup .ui-controlgroup-label span{font-size:80%}.ui-controlgroup-horizontal .ui-controlgroup-label+.ui-controlgroup-item{border-left:none}.ui-controlgroup-vertical .ui-controlgroup-label+.ui-controlgroup-item{border-top:none}.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content{border-right:none}.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content{border-bottom:none}.ui-controlgroup-vertical .ui-spinner-input{width:75%;width:calc( 100% - 2.4em )}.ui-controlgroup-vertical .ui-spinner .ui-spinner-up{border-top-style:solid}.ui-checkboxradio-label .ui-icon-background{box-shadow:inset 1px 1px 1px #ccc;border-radius:.12em;border:none}.ui-checkboxradio-radio-label .ui-icon-background{width:16px;height:16px;border-radius:1em;overflow:visible;border:none}.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon{background-image:none;width:8px;height:8px;border-width:4px;border-style:solid}.ui-checkboxradio-disabled{pointer-events:none}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;left:.5em;top:.3em}.ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-n{height:2px;top:0}.ui-dialog .ui-resizable-e{width:2px;right:0}.ui-dialog .ui-resizable-s{height:2px;bottom:0}.ui-dialog .ui-resizable-w{width:2px;left:0}.ui-dialog .ui-resizable-se,.ui-dialog .ui-resizable-sw,.ui-dialog .ui-resizable-ne,.ui-dialog .ui-resizable-nw{width:7px;height:7px}.ui-dialog .ui-resizable-se{right:0;bottom:0}.ui-dialog .ui-resizable-sw{left:0;bottom:0}.ui-dialog .ui-resizable-ne{right:0;top:0}.ui-dialog .ui-resizable-nw{left:0;top:0}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px 0.4em;margin:0.5em 0 0 0;height:auto;border:0}.ui-selectmenu-open{display:block}.ui-selectmenu-text{display:block;margin-right:20px;overflow:hidden;text-overflow:ellipsis}.ui-selectmenu-button.ui-button{text-align:left;white-space:nowrap;width:14em}.ui-selectmenu-icon.ui-icon{float:right;margin-top:0}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:.222em 0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:2em}.ui-spinner-button{width:1.6em;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top-style:none;border-bottom-style:none;border-right-style:none}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-widget{font-size:1rem;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 20px 20px -10px rgba(0,0,0,0.2);background:#fff;border-radius:4px;z-index:1050 !important;border-width:0}.ui-widget .ui-state-active,.ui-widget .ui-state-focus{margin:0;background:#0bb}.ui-widget .ui-state-active,.ui-widget .ui-state-active *,.ui-widget .ui-state-focus,.ui-widget .ui-state-focus *{color:#fff}.ui-widget.ui-datepicker{padding-left:10px;padding-right:10px;-webkit-transition:all 0.1875s cubic-bezier(0.25, 0, 0, 1.375);-o-transition:all 0.1875s cubic-bezier(0.25, 0, 0, 1.375);transition:all 0.1875s cubic-bezier(0.25, 0, 0, 1.375);-webkit-transform:scale(0.75);transform:scale(0.75);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, transform}.ui-widget.ui-datepicker.ui-widget-active{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 0;transform-origin:50% 0}.ui-widget.ui-datepicker .ui-datepicker-prev{top:2px !important;left:2px !important}.ui-widget.ui-datepicker .ui-datepicker-next{top:2px !important;right:2px !important}.ui-widget.ui-datepicker .ui-datepicker-month{font-weight:bold}.ui-widget.ui-datepicker tr>* a{text-align:center}.ui-widget.ui-datepicker td a{padding:.3em}.ui-widget.ui-autocomplete{padding:5px 0;max-height:240px;overflow:auto}.ui-widget.ui-autocomplete li{border:0;padding:0}.ui-widget.ui-autocomplete li .ui-menu-item-wrapper{padding:.4464285714rem 1.25rem}.ui-widget.ui-autocomplete li *{margin-top:0;margin-bottom:0}.ui-widget.ui-autocomplete li+li.ui-separator{margin-top:5px;padding-top:6px;border-top:1px solid rgba(0,30,60,0.075)}.ui-widget .ui-icon{overflow:visible}.ui-widget .ui-icon-circle-triangle-w:after,.ui-widget .ui-icon-circle-triangle-e:after{content:\'\';display:block;border:5px solid;border-top-color:transparent;border-bottom-color:transparent;position:absolute;width:0;height:0;top:5px;left:0}.ui-widget .ui-icon-circle-triangle-w:after{border-left-color:transparent}.ui-widget .ui-icon-circle-triangle-e:after{border-right-color:transparent;left:5px}.ui-sortable-handle,.ui-draggable-handle{cursor:move}tr.ui-sortable-helper{box-shadow:0 7px 10px rgba(0,0,0,0.2);border-radius:4px;display:table;z-index:2}tr.ui-sortable-helper>td,tr.ui-sortable-helper th{border:0 !important}tr.ui-sortable-helper>td:first-child,tr.ui-sortable-helper th:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}tr.ui-sortable-helper>td:last-child,tr.ui-sortable-helper th:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.ui-draggable-dragging,.ui-sortable-sorting{z-index:5001 !important}.ui-resizable-n,.ui-resizable-s{cursor:ns-resize}.ui-resizable-e,.ui-resizable-w{cursor:ew-resize}.caret,.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border:0 !important;margin-left:0;width:auto;height:auto;display:inline}.caret:after,.dropup .caret:after,.navbar-fixed-bottom .dropdown .caret:after{font-family:"arrows";text-transform:none;font-style:normal;font-weight:normal;line-height:.5;content:" c "}.dropdown-menu{-webkit-transform:scale(0.75);transform:scale(0.75);-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transition:all 0.1875s cubic-bezier(0.25, 0, 0, 1.375);-o-transition:all 0.1875s cubic-bezier(0.25, 0, 0, 1.375);transition:all 0.1875s cubic-bezier(0.25, 0, 0, 1.375);font-size:1rem;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 20px 20px -10px rgba(0,0,0,0.2);border-radius:4px !important;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, transform;padding:5px 0 !important;pointer-events:none;font-style:normal;border-width:0;display:block;left:-9999px;max-height:50vh;min-width:100%;max-width:240px;overflow:auto;opacity:0;margin:0}.dropdown-menu>li>a{margin:0;display:block;padding:.25em 15px}.dropdown-menu>li>a>*{margin:0}.dropdown-menu>li>a em{font-style:oblique;color:#8b969e}.dropdown-menu>li>a [data-icon]{margin-right:.25em}.dropdown-menu .divider{margin:5px 0}.dropdown-menu .dropdown-header{text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:500;padding:.5em 15px !important}.dropdown-menu-lg>li>*{padding-top:.5em;padding-bottom:.5em}.dropdown-menu-right{left:auto;right:9999px}.dropdown.open>.dropdown-menu{pointer-events:auto;-webkit-transform:scale(1);transform:scale(1);opacity:1;left:0}.dropdown.open>.dropdown-menu-right{right:0;left:auto}.dropdown{cursor:pointer}.dropdown-inline{display:inline-block}.form-group>*:not(:last-child),.form-inline>*:not(:last-child){margin-right:1em}.form-horizontal .form-group>*:not(:last-child),.form-horizontal .form-inline>*:not(:last-child){margin-right:0}.form-group>* label,.form-inline>* label{vertical-align:middle;margin:.6785714286rem 0}.help-block{display:block;color:#8b969e;font-style:oblique;font-weight:normal;font-size:.9285714286rem;margin:.25em 0}.help-block:empty{display:none}.help-block p{margin:0;display:inline}.help-block-inline{display:inline}.form-group-lg{font-size:1.1428571429rem}.form-footer{margin:2em 0}.form-footer:first-child{margin-top:0}.form-footer:last-child{margin-bottom:0}.btn{border-width:0;margin:0;cursor:pointer;overflow:hidden;text-overflow:ellipsis;font-size:1rem;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1);height:2.8571428571rem;line-height:1.5 !important;font-weight:bold;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03)}.btn-red{color:#fff;background-color:#ff694b;border-color:#ff694b}.btn-red:focus,.btn-red.focus{color:#fff;background-color:#ff3c2b}.btn-red:hover{color:#fff;background-color:#ff3c2b}.btn-red:active,.btn-red.active,.open>.btn-red.dropdown-toggle{color:#fff;background-color:#ff3c2b}.btn-red:active:hover,.btn-red:active:focus,.btn-red:active.focus,.btn-red.active:hover,.btn-red.active:focus,.btn-red.active.focus,.open>.btn-red.dropdown-toggle:hover,.open>.btn-red.dropdown-toggle:focus,.open>.btn-red.dropdown-toggle.focus{color:#fff;background-color:#ff3c2b}.btn-red:active,.btn-red.active,.open>.btn-red.dropdown-toggle{background-image:none}.btn-red.disabled:hover,.btn-red.disabled:focus,.btn-red.disabled.focus,.btn-red[disabled]:hover,.btn-red[disabled]:focus,.btn-red[disabled].focus,fieldset[disabled] .btn-red:hover,fieldset[disabled] .btn-red:focus,fieldset[disabled] .btn-red.focus{background-color:#ff694b;border-color:#ff694b}.btn-red .badge{color:#ff694b;background-color:#fff}.btn-blue{color:#fff;background-color:#0bb;border-color:#0bb}.btn-blue:focus,.btn-blue.focus{color:#fff;background-color:#009595}.btn-blue:hover{color:#fff;background-color:#009595}.btn-blue:active,.btn-blue.active,.open>.btn-blue.dropdown-toggle{color:#fff;background-color:#009595}.btn-blue:active:hover,.btn-blue:active:focus,.btn-blue:active.focus,.btn-blue.active:hover,.btn-blue.active:focus,.btn-blue.active.focus,.open>.btn-blue.dropdown-toggle:hover,.open>.btn-blue.dropdown-toggle:focus,.open>.btn-blue.dropdown-toggle.focus{color:#fff;background-color:#009595}.btn-blue:active,.btn-blue.active,.open>.btn-blue.dropdown-toggle{background-image:none}.btn-blue.disabled:hover,.btn-blue.disabled:focus,.btn-blue.disabled.focus,.btn-blue[disabled]:hover,.btn-blue[disabled]:focus,.btn-blue[disabled].focus,fieldset[disabled] .btn-blue:hover,fieldset[disabled] .btn-blue:focus,fieldset[disabled] .btn-blue.focus{background-color:#0bb;border-color:#0bb}.btn-blue .badge{color:#0bb;background-color:#fff}.btn-navy{color:#fff;background-color:#005e7a;border-color:#005e7a}.btn-navy:focus,.btn-navy.focus{color:#fff;background-color:#003645}.btn-navy:hover{color:#fff;background-color:#003645}.btn-navy:active,.btn-navy.active,.open>.btn-navy.dropdown-toggle{color:#fff;background-color:#003645}.btn-navy:active:hover,.btn-navy:active:focus,.btn-navy:active.focus,.btn-navy.active:hover,.btn-navy.active:focus,.btn-navy.active.focus,.open>.btn-navy.dropdown-toggle:hover,.open>.btn-navy.dropdown-toggle:focus,.open>.btn-navy.dropdown-toggle.focus{color:#fff;background-color:#003645}.btn-navy:active,.btn-navy.active,.open>.btn-navy.dropdown-toggle{background-image:none}.btn-navy.disabled:hover,.btn-navy.disabled:focus,.btn-navy.disabled.focus,.btn-navy[disabled]:hover,.btn-navy[disabled]:focus,.btn-navy[disabled].focus,fieldset[disabled] .btn-navy:hover,fieldset[disabled] .btn-navy:focus,fieldset[disabled] .btn-navy.focus{background-color:#005e7a;border-color:#005e7a}.btn-navy .badge{color:#005e7a;background-color:#fff}.btn-green{color:#fff;background-color:#7ec631;border-color:#7ec631}.btn-green:focus,.btn-green.focus{color:#fff;background-color:#48a71c}.btn-green:hover{color:#fff;background-color:#48a71c}.btn-green:active,.btn-green.active,.open>.btn-green.dropdown-toggle{color:#fff;background-color:#48a71c}.btn-green:active:hover,.btn-green:active:focus,.btn-green:active.focus,.btn-green.active:hover,.btn-green.active:focus,.btn-green.active.focus,.open>.btn-green.dropdown-toggle:hover,.open>.btn-green.dropdown-toggle:focus,.open>.btn-green.dropdown-toggle.focus{color:#fff;background-color:#48a71c}.btn-green:active,.btn-green.active,.open>.btn-green.dropdown-toggle{background-image:none}.btn-green.disabled:hover,.btn-green.disabled:focus,.btn-green.disabled.focus,.btn-green[disabled]:hover,.btn-green[disabled]:focus,.btn-green[disabled].focus,fieldset[disabled] .btn-green:hover,fieldset[disabled] .btn-green:focus,fieldset[disabled] .btn-green.focus{background-color:#7ec631;border-color:#7ec631}.btn-green .badge{color:#7ec631;background-color:#fff}.btn-orange{color:#fff;background-color:#ff694b;border-color:#ff694b}.btn-orange:focus,.btn-orange.focus{color:#fff;background-color:#ff3c2b}.btn-orange:hover{color:#fff;background-color:#ff3c2b}.btn-orange:active,.btn-orange.active,.open>.btn-orange.dropdown-toggle{color:#fff;background-color:#ff3c2b}.btn-orange:active:hover,.btn-orange:active:focus,.btn-orange:active.focus,.btn-orange.active:hover,.btn-orange.active:focus,.btn-orange.active.focus,.open>.btn-orange.dropdown-toggle:hover,.open>.btn-orange.dropdown-toggle:focus,.open>.btn-orange.dropdown-toggle.focus{color:#fff;background-color:#ff3c2b}.btn-orange:active,.btn-orange.active,.open>.btn-orange.dropdown-toggle{background-image:none}.btn-orange.disabled:hover,.btn-orange.disabled:focus,.btn-orange.disabled.focus,.btn-orange[disabled]:hover,.btn-orange[disabled]:focus,.btn-orange[disabled].focus,fieldset[disabled] .btn-orange:hover,fieldset[disabled] .btn-orange:focus,fieldset[disabled] .btn-orange.focus{background-color:#ff694b;border-color:#ff694b}.btn-orange .badge{color:#ff694b;background-color:#fff}.btn-yellow{color:#fff;background-color:#fc0;border-color:#fc0}.btn-yellow:focus,.btn-yellow.focus{color:#fff;background-color:#ffb100}.btn-yellow:hover{color:#fff;background-color:#ffb100}.btn-yellow:active,.btn-yellow.active,.open>.btn-yellow.dropdown-toggle{color:#fff;background-color:#ffb100}.btn-yellow:active:hover,.btn-yellow:active:focus,.btn-yellow:active.focus,.btn-yellow.active:hover,.btn-yellow.active:focus,.btn-yellow.active.focus,.open>.btn-yellow.dropdown-toggle:hover,.open>.btn-yellow.dropdown-toggle:focus,.open>.btn-yellow.dropdown-toggle.focus{color:#fff;background-color:#ffb100}.btn-yellow:active,.btn-yellow.active,.open>.btn-yellow.dropdown-toggle{background-image:none}.btn-yellow.disabled:hover,.btn-yellow.disabled:focus,.btn-yellow.disabled.focus,.btn-yellow[disabled]:hover,.btn-yellow[disabled]:focus,.btn-yellow[disabled].focus,fieldset[disabled] .btn-yellow:hover,fieldset[disabled] .btn-yellow:focus,fieldset[disabled] .btn-yellow.focus{background-color:#fc0;border-color:#fc0}.btn-yellow .badge{color:#fc0;background-color:#fff}.btn-purple{color:#fff;background-color:#7f6cc5;border-color:#7f6cc5}.btn-purple:focus,.btn-purple.focus{color:#fff;background-color:#483da5}.btn-purple:hover{color:#fff;background-color:#483da5}.btn-purple:active,.btn-purple.active,.open>.btn-purple.dropdown-toggle{color:#fff;background-color:#483da5}.btn-purple:active:hover,.btn-purple:active:focus,.btn-purple:active.focus,.btn-purple.active:hover,.btn-purple.active:focus,.btn-purple.active.focus,.open>.btn-purple.dropdown-toggle:hover,.open>.btn-purple.dropdown-toggle:focus,.open>.btn-purple.dropdown-toggle.focus{color:#fff;background-color:#483da5}.btn-purple:active,.btn-purple.active,.open>.btn-purple.dropdown-toggle{background-image:none}.btn-purple.disabled:hover,.btn-purple.disabled:focus,.btn-purple.disabled.focus,.btn-purple[disabled]:hover,.btn-purple[disabled]:focus,.btn-purple[disabled].focus,fieldset[disabled] .btn-purple:hover,fieldset[disabled] .btn-purple:focus,fieldset[disabled] .btn-purple.focus{background-color:#7f6cc5;border-color:#7f6cc5}.btn-purple .badge{color:#7f6cc5;background-color:#fff}.btn-white{color:#484e53;background-color:#fff;border-color:#fff}.btn-white:focus,.btn-white.focus{color:#484e53;background-color:#f9fafb}.btn-white:hover{color:#484e53;background-color:#f9fafb}.btn-white:active,.btn-white.active,.open>.btn-white.dropdown-toggle{color:#484e53;background-color:#f9fafb}.btn-white:active:hover,.btn-white:active:focus,.btn-white:active.focus,.btn-white.active:hover,.btn-white.active:focus,.btn-white.active.focus,.open>.btn-white.dropdown-toggle:hover,.open>.btn-white.dropdown-toggle:focus,.open>.btn-white.dropdown-toggle.focus{color:#484e53;background-color:#f9fafb}.btn-white:active,.btn-white.active,.open>.btn-white.dropdown-toggle{background-image:none}.btn-white.disabled:hover,.btn-white.disabled:focus,.btn-white.disabled.focus,.btn-white[disabled]:hover,.btn-white[disabled]:focus,.btn-white[disabled].focus,fieldset[disabled] .btn-white:hover,fieldset[disabled] .btn-white:focus,fieldset[disabled] .btn-white.focus{background-color:#fff;border-color:#fff}.btn-white .badge{color:#fff;background-color:#484e53}.btn-default{color:#484e53;background-color:#f0f2f4;border-color:#f0f2f4}.btn-default:focus,.btn-default.focus{color:#484e53;background-color:#e9ebef}.btn-default:hover{color:#484e53;background-color:#e9ebef}.btn-default:active,.btn-default.active,.open>.btn-default.dropdown-toggle{color:#484e53;background-color:#e9ebef}.btn-default:active:hover,.btn-default:active:focus,.btn-default:active.focus,.btn-default.active:hover,.btn-default.active:focus,.btn-default.active.focus,.open>.btn-default.dropdown-toggle:hover,.open>.btn-default.dropdown-toggle:focus,.open>.btn-default.dropdown-toggle.focus{color:#484e53;background-color:#e9ebef}.btn-default:active,.btn-default.active,.open>.btn-default.dropdown-toggle{background-image:none}.btn-default.disabled:hover,.btn-default.disabled:focus,.btn-default.disabled.focus,.btn-default[disabled]:hover,.btn-default[disabled]:focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default:hover,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default.focus{background-color:#f0f2f4;border-color:#f0f2f4}.btn-default .badge{color:#f0f2f4;background-color:#484e53}.btn-clear,.btn-text,.btn-link{background:transparent !important}.btn-text,.btn.text-inherit{color:inherit}.btn-text:hover,.btn-text:focus,.btn.text-inherit:hover,.btn.text-inherit:focus{color:inherit}.btn[class*="btn-highlight"],.btn-default,.btn-clear,.btn-text,.btn-link{box-shadow:none}.btn-highlight-info{color:#0aa;background-color:#edfafa;border-color:transparent}.btn-highlight-info:focus,.btn-highlight-info.focus{color:#0aa;background-color:#e4f8f8}.btn-highlight-info:hover{color:#0aa;background-color:#e4f8f8}.btn-highlight-info:active,.btn-highlight-info.active,.open>.btn-highlight-info.dropdown-toggle{color:#0aa;background-color:#e4f8f8}.btn-highlight-info:active:hover,.btn-highlight-info:active:focus,.btn-highlight-info:active.focus,.btn-highlight-info.active:hover,.btn-highlight-info.active:focus,.btn-highlight-info.active.focus,.open>.btn-highlight-info.dropdown-toggle:hover,.open>.btn-highlight-info.dropdown-toggle:focus,.open>.btn-highlight-info.dropdown-toggle.focus{color:#0aa;background-color:#e4f8f8}.btn-highlight-info:active,.btn-highlight-info.active,.open>.btn-highlight-info.dropdown-toggle{background-image:none}.btn-highlight-info.disabled:hover,.btn-highlight-info.disabled:focus,.btn-highlight-info.disabled.focus,.btn-highlight-info[disabled]:hover,.btn-highlight-info[disabled]:focus,.btn-highlight-info[disabled].focus,fieldset[disabled] .btn-highlight-info:hover,fieldset[disabled] .btn-highlight-info:focus,fieldset[disabled] .btn-highlight-info.focus{background-color:#edfafa;border-color:transparent}.btn-highlight-info .badge{color:#edfafa;background-color:#0aa}.btn-highlight-success{color:#48a71c;background-color:#f3faec;border-color:transparent}.btn-highlight-success:focus,.btn-highlight-success.focus{color:#48a71c;background-color:#edf8e3}.btn-highlight-success:hover{color:#48a71c;background-color:#edf8e3}.btn-highlight-success:active,.btn-highlight-success.active,.open>.btn-highlight-success.dropdown-toggle{color:#48a71c;background-color:#edf8e3}.btn-highlight-success:active:hover,.btn-highlight-success:active:focus,.btn-highlight-success:active.focus,.btn-highlight-success.active:hover,.btn-highlight-success.active:focus,.btn-highlight-success.active.focus,.open>.btn-highlight-success.dropdown-toggle:hover,.open>.btn-highlight-success.dropdown-toggle:focus,.open>.btn-highlight-success.dropdown-toggle.focus{color:#48a71c;background-color:#edf8e3}.btn-highlight-success:active,.btn-highlight-success.active,.open>.btn-highlight-success.dropdown-toggle{background-image:none}.btn-highlight-success.disabled:hover,.btn-highlight-success.disabled:focus,.btn-highlight-success.disabled.focus,.btn-highlight-success[disabled]:hover,.btn-highlight-success[disabled]:focus,.btn-highlight-success[disabled].focus,fieldset[disabled] .btn-highlight-success:hover,fieldset[disabled] .btn-highlight-success:focus,fieldset[disabled] .btn-highlight-success.focus{background-color:#f3faec;border-color:transparent}.btn-highlight-success .badge{color:#f3faec;background-color:#48a71c}.btn-highlight-danger{color:#ff694b;background-color:#fff5f4;border-color:transparent}.btn-highlight-danger:focus,.btn-highlight-danger.focus{color:#ff694b;background-color:#fff0ef}.btn-highlight-danger:hover{color:#ff694b;background-color:#fff0ef}.btn-highlight-danger:active,.btn-highlight-danger.active,.open>.btn-highlight-danger.dropdown-toggle{color:#ff694b;background-color:#fff0ef}.btn-highlight-danger:active:hover,.btn-highlight-danger:active:focus,.btn-highlight-danger:active.focus,.btn-highlight-danger.active:hover,.btn-highlight-danger.active:focus,.btn-highlight-danger.active.focus,.open>.btn-highlight-danger.dropdown-toggle:hover,.open>.btn-highlight-danger.dropdown-toggle:focus,.open>.btn-highlight-danger.dropdown-toggle.focus{color:#ff694b;background-color:#fff0ef}.btn-highlight-danger:active,.btn-highlight-danger.active,.open>.btn-highlight-danger.dropdown-toggle{background-image:none}.btn-highlight-danger.disabled:hover,.btn-highlight-danger.disabled:focus,.btn-highlight-danger.disabled.focus,.btn-highlight-danger[disabled]:hover,.btn-highlight-danger[disabled]:focus,.btn-highlight-danger[disabled].focus,fieldset[disabled] .btn-highlight-danger:hover,fieldset[disabled] .btn-highlight-danger:focus,fieldset[disabled] .btn-highlight-danger.focus{background-color:#fff5f4;border-color:transparent}.btn-highlight-danger .badge{color:#fff5f4;background-color:#ff694b}.btn-highlight-warning{color:#ff6316;background-color:#fff6ec;border-color:transparent}.btn-highlight-warning:focus,.btn-highlight-warning.focus{color:#ff6316;background-color:#fff2e3}.btn-highlight-warning:hover{color:#ff6316;background-color:#fff2e3}.btn-highlight-warning:active,.btn-highlight-warning.active,.open>.btn-highlight-warning.dropdown-toggle{color:#ff6316;background-color:#fff2e3}.btn-highlight-warning:active:hover,.btn-highlight-warning:active:focus,.btn-highlight-warning:active.focus,.btn-highlight-warning.active:hover,.btn-highlight-warning.active:focus,.btn-highlight-warning.active.focus,.open>.btn-highlight-warning.dropdown-toggle:hover,.open>.btn-highlight-warning.dropdown-toggle:focus,.open>.btn-highlight-warning.dropdown-toggle.focus{color:#ff6316;background-color:#fff2e3}.btn-highlight-warning:active,.btn-highlight-warning.active,.open>.btn-highlight-warning.dropdown-toggle{background-image:none}.btn-highlight-warning.disabled:hover,.btn-highlight-warning.disabled:focus,.btn-highlight-warning.disabled.focus,.btn-highlight-warning[disabled]:hover,.btn-highlight-warning[disabled]:focus,.btn-highlight-warning[disabled].focus,fieldset[disabled] .btn-highlight-warning:hover,fieldset[disabled] .btn-highlight-warning:focus,fieldset[disabled] .btn-highlight-warning.focus{background-color:#fff6ec;border-color:transparent}.btn-highlight-warning .badge{color:#fff6ec;background-color:#ff6316}.btn-lg,.btn-group-lg>.btn{height:4.2857142857rem;font-size:1.1428571429rem}.btn-sm,.btn-group-sm>.btn{height:2.2857142857rem;font-size:.9285714286rem}.btn-xs,.btn-group-xs>.btn{padding:.1607142857rem .625rem;height:1.7142857143rem;font-size:.9285714286rem}.btn-md{padding:.3928571429rem 1.5rem;height:3.7142857143rem;font-size:1rem}.btn-pill{border-radius:200px }.btn-icon{padding-left:0;padding-right:0;width:2.8571428571rem;min-width:2.8571428571rem}.btn-icon.btn-xs,.btn-group-xs>.btn-icon.btn{width:1.7142857143rem;min-width:1.7142857143rem}.btn-icon.btn-sm,.btn-group-sm>.btn-icon.btn{width:2.2857142857rem;min-width:2.2857142857rem}.btn-icon.btn-md{width:3.7142857143rem;min-width:3.7142857143rem}.btn-icon.btn-lg,.btn-group-lg>.btn-icon.btn{width:4.2857142857rem;min-width:4.2857142857rem}.btn-icon .icon,.btn-icon .glyph{margin:0;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}.btn-icon-slim{min-width:0}.btn-block,.btn-slim,.btn-link,.btn-text{padding-left:0;padding-right:0}.btn.active,.btn:active{-webkit-box-shadow:none;box-shadow:none}.btn.disabled,.btn[disabled]{opacity:.375}.btn-file:before{content:attr(data-placeholder)}.btn-file[data-value]:before{content:attr(data-placeholder) " "}.btn-file[data-value]:after{content:"(" attr(data-value) ")"}.btn-file input{position:absolute;opacity:0}.btn-inliner .btn{margin-bottom:.3rem}.btn-toolbar{margin-left:-2px;margin-right:-2px;font-size:0}.btn-toolbar .btn-group{margin-left:2px;margin-right:2px;float:none}.form-control,.input-group-addon,.form-control-static,.form-grid .form-row .form-label label,.option{line-height:1.5 !important;border-width:0 !important;font-size:1rem}.form-group-lg .form-control,.input-group-lg .form-control,.form-group-lg .input-group-addon,.input-group-lg .input-group-addon,.form-group-lg .form-control-static,.form-group-lg .form-grid .form-row .form-label label,.form-grid .form-row .form-label .form-group-lg label,.input-group-lg .form-control-static,.input-group-lg .form-grid .form-row .form-label label,.form-grid .form-row .form-label .input-group-lg label,.form-group-lg .option,.input-group-lg .option{font-size:1.1428571429rem}.form-group-sm .form-control,.input-group-sm .form-control,.form-group-sm .input-group-addon,.input-group-sm .input-group-addon,.form-group-sm .form-control-static,.form-group-sm .form-grid .form-row .form-label label,.form-grid .form-row .form-label .form-group-sm label,.input-group-sm .form-control-static,.input-group-sm .form-grid .form-row .form-label label,.form-grid .form-row .form-label .input-group-sm label,.form-group-sm .option,.input-group-sm .option{font-size:.9285714286rem}.form-control.input-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-btn>.form-control.btn,.input-group-addon.input-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn,.form-control-static.input-lg,.input-group-lg>.form-control-static.form-control,.form-grid .form-row .form-label .input-group-lg>label.form-control,.input-group-lg>.form-control-static.input-group-addon,.form-grid .form-row .form-label .input-group-lg>label.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.form-grid .form-row .form-label .input-group-lg>.input-group-btn>label.btn,.form-grid .form-row .form-label label.input-lg,.option.input-lg,.input-group-lg>.option.form-control,.input-group-lg>.option.input-group-addon,.input-group-lg>.input-group-btn>.option.btn{font-size:1.1428571429rem}.form-control.input-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-btn>.form-control.btn,.input-group-addon.input-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn,.form-control-static.input-sm,.input-group-sm>.form-control-static.form-control,.form-grid .form-row .form-label .input-group-sm>label.form-control,.input-group-sm>.form-control-static.input-group-addon,.form-grid .form-row .form-label .input-group-sm>label.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn,.form-grid .form-row .form-label .input-group-sm>.input-group-btn>label.btn,.form-grid .form-row .form-label label.input-sm,.option.input-sm,.input-group-sm>.option.form-control,.input-group-sm>.option.input-group-addon,.input-group-sm>.input-group-btn>.option.btn{font-size:.9285714286rem}.form-control::-ms-expand,.input-group-addon::-ms-expand,.form-control-static::-ms-expand,.form-grid .form-row .form-label label::-ms-expand,.option::-ms-expand{display:none}.form-control::-ms-clear,.input-group-addon::-ms-clear,.form-control-static::-ms-clear,.form-grid .form-row .form-label label::-ms-clear,.option::-ms-clear{display:none}.form-control::-ms-value,.input-group-addon::-ms-value,.form-control-static::-ms-value,.form-grid .form-row .form-label label::-ms-value,.option::-ms-value{background:transparent !important}.form-control,.form-control-static,.form-grid .form-row .form-label label,textarea.form-control,.option{height:2.8571428571rem;line-height:1.5 !important;padding:.6785714286rem 1.25rem;border:0}.form-control.input-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-btn>.form-control.btn,.form-control-static.input-sm,.input-group-sm>.form-control-static.form-control,.form-grid .form-row .form-label .input-group-sm>label.form-control,.input-group-sm>.form-control-static.input-group-addon,.form-grid .form-row .form-label .input-group-sm>label.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn,.form-grid .form-row .form-label .input-group-sm>.input-group-btn>label.btn,.form-grid .form-row .form-label label.input-sm,textarea.form-control.input-sm,.input-group-sm>textarea.form-control,.input-group-sm>.input-group-btn>textarea.form-control.btn,.option.input-sm,.input-group-sm>.option.form-control,.input-group-sm>.option.input-group-addon,.input-group-sm>.input-group-btn>.option.btn{height:2.2857142857rem;min-height:2.2857142857rem;padding:.4464285714rem .875rem}.form-control.input-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-btn>.form-control.btn,.form-control-static.input-lg,.input-group-lg>.form-control-static.form-control,.form-grid .form-row .form-label .input-group-lg>label.form-control,.input-group-lg>.form-control-static.input-group-addon,.form-grid .form-row .form-label .input-group-lg>label.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.form-grid .form-row .form-label .input-group-lg>.input-group-btn>label.btn,.form-grid .form-row .form-label label.input-lg,textarea.form-control.input-lg,.input-group-lg>textarea.form-control,.input-group-lg>.input-group-btn>textarea.form-control.btn,.option.input-lg,.input-group-lg>.option.form-control,.input-group-lg>.option.input-group-addon,.input-group-lg>.input-group-btn>.option.btn{height:4.2857142857rem;min-height:4.2857142857rem;padding:1.2857142857rem 1.875rem}.form-control.input-md,.form-control-static.input-md,.form-grid .form-row .form-label label.input-md,textarea.form-control.input-md,.option.input-md{height:2.2857142857rem;min-height:2.2857142857rem;padding:.3928571429rem .875rem}textarea.form-control:not(.form-control-height){height:6em}.form-control{-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1);-webkit-transition-property:color,background-color,box-shadow;transition-property:color,background-color,box-shadow;-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:none;text-overflow:ellipsis;box-shadow:none;color:#484e53}.form-control::-moz-placeholder{color:#a8b1b7;opacity:1}.form-control:-ms-input-placeholder{color:#a8b1b7}.form-control::-webkit-input-placeholder{color:#a8b1b7}.form-control.input-short{width:64px}.form-control.input-medium{width:240px}.form-control.input-long{width:100%}.form-control.input-pill{border-radius:200px !important}.form-control.input-dark{background-color:#00475c;color:white}.form-control.input-dark:hover,.form-control.input-dark:focus{background-color:white;color:#313539}.form-control.input-dark::-moz-placeholder{color:#00afc6;opacity:1}.form-control.input-dark:-ms-input-placeholder{color:#00afc6}.form-control.input-dark::-webkit-input-placeholder{color:#00afc6}.form-control.input-transparent{background-color:transparent}.form-control.input-white{background-color:white;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03)}.form-control:not(:disabled):not(.disabled):hover{background-color:#e9ebef}.form-control:not(:disabled):not(.disabled):hover::-moz-placeholder{color:#5e666c;opacity:1}.form-control:not(:disabled):not(.disabled):hover:-ms-input-placeholder{color:#5e666c}.form-control:not(:disabled):not(.disabled):hover::-webkit-input-placeholder{color:#5e666c}.form-control:not(:disabled):not(.disabled):hover.input-white{background-color:#f9fafb}.form-control:focus{color:#484e53 !important;background-color:white !important;box-shadow:0 0 0 1px #0bb,0 15px 15px -7.5px rgba(0,0,0,0.15);border-radius:4px !important;z-index:3}.form-control:focus::-moz-placeholder{color:#8b969e !important;opacity:1}.form-control:focus:-ms-input-placeholder{color:#8b969e !important}.form-control:focus::-webkit-input-placeholder{color:#8b969e !important}.form-control[type="number"]:not(.spinner){-moz-appearance:textfield}.form-control[type="number"]:not(.spinner)::-webkit-inner-spin-button,.form-control[type="number"]:not(.spinner)::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-control-static,.form-grid .form-row .form-label label{display:block;height:auto !important;padding-left:0 !important;padding-right:0 !important;color:#484e53}.has-info .input-group-addon,.has-info .form-control{border-color:transparent !important;background-color:#edfafa;box-shadow:none}.has-info .input-group-addon::-moz-placeholder,.has-info .form-control::-moz-placeholder{color:#80d5d5;opacity:1}.has-info .input-group-addon:-ms-input-placeholder,.has-info .form-control:-ms-input-placeholder{color:#80d5d5}.has-info .input-group-addon::-webkit-input-placeholder,.has-info .form-control::-webkit-input-placeholder{color:#80d5d5}.has-info .input-group-addon,.has-info .form-control{color:#0aa}.has-info .form-control:not(:disabled):not(.disabled):hover{background-color:#def7f7;color:#007b7b}.has-info .form-control:not(:disabled):not(.disabled):hover::-moz-placeholder{color:#40bfbf;opacity:1}.has-info .form-control:not(:disabled):not(.disabled):hover:-ms-input-placeholder{color:#40bfbf}.has-info .form-control:not(:disabled):not(.disabled):hover::-webkit-input-placeholder{color:#40bfbf}.has-info .form-control:not(:disabled):not(.disabled):focus{box-shadow:0 0 0 1px #0bb,0 15px 15px -7.5px rgba(0,0,0,0.15)}.has-success .input-group-addon,.has-success .form-control{border-color:transparent !important;background-color:#f3faec;box-shadow:none}.has-success .input-group-addon::-moz-placeholder,.has-success .form-control::-moz-placeholder{color:#a4d38e;opacity:1}.has-success .input-group-addon:-ms-input-placeholder,.has-success .form-control:-ms-input-placeholder{color:#a4d38e}.has-success .input-group-addon::-webkit-input-placeholder,.has-success .form-control::-webkit-input-placeholder{color:#a4d38e}.has-success .input-group-addon,.has-success .form-control{color:#48a71c}.has-success .form-control:not(:disabled):not(.disabled):hover{background-color:#e9f7dc;color:#297610}.has-success .form-control:not(:disabled):not(.disabled):hover::-moz-placeholder{color:#76bd55;opacity:1}.has-success .form-control:not(:disabled):not(.disabled):hover:-ms-input-placeholder{color:#76bd55}.has-success .form-control:not(:disabled):not(.disabled):hover::-webkit-input-placeholder{color:#76bd55}.has-success .form-control:not(:disabled):not(.disabled):focus{box-shadow:0 0 0 1px #7ec631,0 15px 15px -7.5px rgba(0,0,0,0.15)}.has-warning .input-group-addon,.has-warning .form-control{border-color:transparent !important;background-color:#fff6ec;box-shadow:none}.has-warning .input-group-addon::-moz-placeholder,.has-warning .form-control::-moz-placeholder{color:#ffb18b;opacity:1}.has-warning .input-group-addon:-ms-input-placeholder,.has-warning .form-control:-ms-input-placeholder{color:#ffb18b}.has-warning .input-group-addon::-webkit-input-placeholder,.has-warning .form-control::-webkit-input-placeholder{color:#ffb18b}.has-warning .input-group-addon,.has-warning .form-control{color:#ff6316}.has-warning .form-control:not(:disabled):not(.disabled):hover{background-color:#ffefdc;color:#ff390d}.has-warning .form-control:not(:disabled):not(.disabled):hover::-moz-placeholder{color:#ff8a50;opacity:1}.has-warning .form-control:not(:disabled):not(.disabled):hover:-ms-input-placeholder{color:#ff8a50}.has-warning .form-control:not(:disabled):not(.disabled):hover::-webkit-input-placeholder{color:#ff8a50}.has-warning .form-control:not(:disabled):not(.disabled):focus{box-shadow:0 0 0 1px #ff9b26,0 15px 15px -7.5px rgba(0,0,0,0.15)}.has-danger .input-group-addon,.has-danger .form-control,.has-error .input-group-addon,.has-error .form-control{border-color:transparent !important;background-color:#fff5f4;box-shadow:none}.has-danger .input-group-addon::-moz-placeholder,.has-danger .form-control::-moz-placeholder,.has-error .input-group-addon::-moz-placeholder,.has-error .form-control::-moz-placeholder{color:#ffb4a5;opacity:1}.has-danger .input-group-addon:-ms-input-placeholder,.has-danger .form-control:-ms-input-placeholder,.has-error .input-group-addon:-ms-input-placeholder,.has-error .form-control:-ms-input-placeholder{color:#ffb4a5}.has-danger .input-group-addon::-webkit-input-placeholder,.has-danger .form-control::-webkit-input-placeholder,.has-error .input-group-addon::-webkit-input-placeholder,.has-error .form-control::-webkit-input-placeholder{color:#ffb4a5}.has-danger .input-group-addon,.has-danger .form-control,.has-error .input-group-addon,.has-error .form-control{color:#ff694b}.has-danger .form-control:not(:disabled):not(.disabled):hover,.has-error .form-control:not(:disabled):not(.disabled):hover{background-color:#ffedeb;color:#ff3c2b}.has-danger .form-control:not(:disabled):not(.disabled):hover::-moz-placeholder,.has-error .form-control:not(:disabled):not(.disabled):hover::-moz-placeholder{color:#ff8f78;opacity:1}.has-danger .form-control:not(:disabled):not(.disabled):hover:-ms-input-placeholder,.has-error .form-control:not(:disabled):not(.disabled):hover:-ms-input-placeholder{color:#ff8f78}.has-danger .form-control:not(:disabled):not(.disabled):hover::-webkit-input-placeholder,.has-error .form-control:not(:disabled):not(.disabled):hover::-webkit-input-placeholder{color:#ff8f78}.has-danger .form-control:not(:disabled):not(.disabled):focus,.has-error .form-control:not(:disabled):not(.disabled):focus{box-shadow:0 0 0 1px #ff694b,0 15px 15px -7.5px rgba(0,0,0,0.15)}.input-group-rounded>*:first-child,.input-group-rounded>*:first-child.input-group-btn .btn{border-top-left-radius:100px;border-bottom-left-radius:100px}.input-group-rounded>*:last-child,.input-group-rounded>*:last-child.input-group-btn .btn{border-top-right-radius:100px;border-bottom-right-radius:100px}.input-group-addon{color:#8b969e}.table tr.success{box-shadow:inset rgba(0,30,60,0.03) 0 0 #7ec631}.table tr.info{box-shadow:inset rgba(0,30,60,0.03) 0 0 #0bb}.table tr.warning{box-shadow:inset rgba(0,30,60,0.03) 0 0 #fc0}.table tr.danger{box-shadow:inset rgba(0,30,60,0.03) 0 0 #ff694b}.table-flush th:first-child,.table-flush td:first-child{padding-left:0}.table-flush th:last-child,.table-flush td:last-child{padding-right:0}.table-justified th:last-child,.table-justified td:last-child{text-align:right}th.sm,td.sm{width:1px;white-space:nowrap}th.flush-left,td.flush-left{padding-left:0 !important}th.flush-right,td.flush-right{padding-right:0 !important}.table:not(.table-borderless)>thead>tr>*{border-width:1px}thead>tr>*,.table-label{text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:500;color:#8b969e}.table-borderless tr *{border-width:0 !important}.table tbody+tbody{border-top-width:1px}.table-compact th *,.table-compact td *{margin-top:0;margin-bottom:0}.table-middle th,.table-middle td{vertical-align:middle !important}.table-large{font-size:1rem}.table-large tbody th,.table-large tbody td,.table-large>td,.table-large>th{padding-top:1rem !important;padding-bottom:1rem !important}.card .table th,.card .table td{padding-left:1.875rem;padding-right:1.875rem}.table-condensed{font-size:.9285714286rem}.table-responsive{border-radius:4px}@media (min-width: 961px){.table-responsive{overflow:visible}}@media (max-width: 960px){.table-responsive{overflow:auto}html.touch .table-responsive{overflow:scroll;-webkit-overflow-scrolling:touch}}@media (min-width: 961px){.table-alignment{margin-left:-1.25rem;margin-right:-1.25rem}}.table-linked{overflow:hidden}.table-linked a{z-index:3}.table-linked .table-link{width:0 !important;padding:0 !important;vertical-align:top !important}.table-linked .table-link .table-anchor{position:absolute;display:block;height:100%;width:1000vw;z-index:2}.table{display:table}.table-caption{display:table-caption}.table-colgroup{display:table-column-group}.table-thead{display:table-header-group}.table-tfoot{display:table-footer-group}.table-tbody{display:table-row-group}.table-td{display:table-cell}.table-col{display:table-column}.table-tr{display:table-row}.table-sticky{box-shadow:0 1px 0 #ecedee;z-index:2;position:sticky;top:0;background:#f9fafb}tbody .table-sticky{top:28px;background:white}.table .secondary td,.table .secondary th{background:#f9fafb;color:#8b969e}.nav-stacked .nav-stacked{font-size:.9285714286rem}.nav-stacked .nav-stacked>li{margin-left:1em}.nav-stacked .nav-stacked>li>a{color:#8b969e}.nav-tabs{border:0;box-shadow:0 1px 0 rgba(0,30,60,0.075);color:#313539;display:flex;flex-direction:row;flex-wrap:wrap}.nav-tabs:before,.nav-tabs:after{display:none}.nav-tabs>li{float:none;flex:0 0 auto;background:transparent !important;margin:0}.nav-tabs>li:not(:first-child){margin-left:.75em}.nav-tabs>li:not(:last-child){margin-right:.75em}.nav-tabs>li>a,.nav-tabs>li>span{display:block;line-height:1.5;background:transparent !important;padding:1.2857142857rem 0;margin:0 !important;border:0 !important;border-radius:0}.nav-tabs>li.active{box-shadow:0 1px 0 #0bb}.nav-tabs>li.active a{color:#313539}.nav-tabs-sm>li>a,.nav-tabs-sm>li>span{font-size:.9285714286rem;padding:.6785714286rem 0}.nav-tabs-fill>li{flex:1 0 auto;margin:0 !important}.nav-tabs-fill>li>a,.nav-tabs-fill>li>span{text-align:center;padding-left:20px;padding-right:20px}html.touch .nav-tabs{flex-wrap:nowrap;overflow:hidden;overflow-y:scroll;-webkit-overflow-scrolling:touch}.card-tabs .nav-tabs{background:#f0f2f4;border-radius:4px 4px 0 0}.card-tabs .nav-tabs>li:first-child{border-top-left-radius:4px}.card-tabs .nav-tabs>li:last-child{border-top-right-radius:4px}.card-tabs .nav-tabs>li.active{box-shadow:0 1px 0 white !important;background:white !important}.tab-content>.tab-pane{height:0;display:block;overflow:hidden}.tab-content>.tab-pane:not(.active){padding:0}.tab-content>.tab-pane.active{height:auto;overflow:visible}.nav-pills>li>a{font-size:.9285714286rem;padding:.4464285714rem 1em}.alert{border:0;margin:1.5em 0}.alert:first-child{margin-top:0}.alert:last-child{margin-bottom:0}.alert strong{color:inherit;font-style:normal}.alert-default{background:#f9fafb;color:#8b969e}.alert-flush{margin:0}.alert-trim{padding-left:0;padding-right:0}.alert-link{font-weight:bold !important}.avatar{display:inline-block;vertical-align:middle}.avatar img{display:block;border-radius:50%;height:28px;width:28px}.avatar-square img{border-radius:4px}.avatar-sm img{height:20px;width:20px}kbd,code,pre{font-size:.8571428571rem}pre{padding:0;overflow:auto;border-width:0;resize:vertical;white-space:pre;padding:1.2857142857rem 1.875rem;border-radius:4px;font-size:.8571428571rem;-moz-tab-size:2;-o-tab-size:2;tab-size:2;margin:1em 0}pre:first-child{margin-top:0}pre:last-child{margin-bottom:0}.panel-code pre{border-radius:0;padding:40px 50px}@media (max-width: 960px){.panel-code pre{padding-left:7.5vw;padding-right:7.5vw}}.panel-footer .panel-code pre,.panel-body:last-child .panel-code pre{border-bottom-right-radius:4px;border-bottom-left-radius:4px}kbd{box-shadow:none}figure.highlight{tab-size:2}.code,code{font-family:"Monaco",monospace;font-size:.8571428571rem;font-weight:normal;padding:0}.highlight pre{background:#005e7a;color:white;overflow:auto}html.touch .highlight pre{overflow:scroll;-webkit-overflow-scrolling:touch}.highlight code{white-space:pre;display:block}.highlight code *{font-style:normal}.highlight .c{color:#00afc6;font-style:italic}.highlight .err{color:#a61717;background-color:#e3d2d2}.highlight .cm{color:#999988;font-style:italic}.highlight .cp{color:#999999}.highlight .c1{color:#999988;font-style:italic}.highlight .cs{color:#999999;font-style:italic}.highlight .gd{color:#000000;background-color:#fdd}.highlight .gd .x{color:#000000;background-color:#faa}.highlight .ge{font-style:italic}.highlight .gr{color:#a00}.highlight .gh{color:#999}.highlight .gi{color:#000000;background-color:#dfd}.highlight .gi .x{color:#000000;background-color:#afa}.highlight .go{color:#888}.highlight .gp{color:#555}.highlight .gu{color:#aaa}.highlight .gt{color:#a00}.highlight .kt{color:#445588}.highlight .m{color:#b7a5df}.highlight .n{color:#00d9d9}.highlight .s{color:#9ed53e}.highlight .na{color:#00afc6}.highlight .nb{color:#00d9d9}.highlight .nl{color:#00afc6}.highlight .nc{color:#fc0}.highlight .nd{color:#fc0}.highlight .no{color:#00afc6}.highlight .ni{color:#fc0}.highlight .ne{color:#990000}.highlight .nf{color:#990000}.highlight .nn{color:#555}.highlight .nt{color:#00d9d9}.highlight .nv{color:teal}.highlight .w{color:#bbb}.highlight .mf{color:#099}.highlight .mh{color:#099}.highlight .mi{color:#099}.highlight .mo{color:#099}.highlight .sb{color:#d14}.highlight .sc{color:#d14}.highlight .sd{color:#d14}.highlight .s2{color:#ff694b}.highlight .se{color:#d14}.highlight .sh{color:#d14}.highlight .si{color:#d14}.highlight .sx{color:#d14}.highlight .sr{color:#009926}.highlight .s1{color:#d14}.highlight .ss{color:#990073}.highlight .bp{color:#999}.highlight .vc{color:teal}.highlight .vg{color:teal}.highlight .vi{color:teal}.highlight .il{color:#099}.highlight .lineno{-webkit-user-select:none;-moz-user-select:none;-o-user-select:none}.highlight .lineno::-moz-selection{background-color:transparent}.highlight .lineno::selection{background-color:transparent}.label{text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:500;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1);display:inline-block;text-align:inherit;padding:0;border:0}.label-default{color:#8b969e}.label-success{color:#5fb825}.label-info{color:#0aa}.label-warning{color:#ff821d}.label-danger{color:#ff4f39}.label-inherit{color:inherit}.label+.label:not(.block){margin-left:1.5em}a.label:hover.label-default,a.label:focus.label-default{color:#3f464e}a.label:hover.label-success,a.label:focus.label-success{color:#369115}a.label:hover.label-info,a.label:focus.label-info{color:#007b7b}a.label:hover.label-warning,a.label:focus.label-warning{color:#ff4b11}a.label:hover.label-danger,a.label:focus.label-danger{color:#ff2d21}.badge{border-radius:200px ;text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:500;line-height:1.8em;height:1.8em;min-width:1.8em;text-align:center;padding:0 7px;text-indent:1px;border:0}.badge-success{background:#7ec631;color:white}.badge-warning{background:#ff9b26;color:white}.badge-danger{background:#ff694b;color:white}.list-group-item .badge{float:right}.active .badge{color:#fff;background:#009797}.badge-digit{padding:0 2px}.badge-corner{position:absolute;top:0;right:0;-webkit-transform:translate(50%, -50%);transform:translate(50%, -50%)}.badges{font-size:0;display:block}.badges .badge{margin:2px 4px 2px 0}.progress{height:6px;overflow:visible;margin:1em 0}.progress:first-child{margin-top:0}.progress:last-child{margin-bottom:0}.progress,.progress .progress-bar{border-radius:100px;box-shadow:none}.tooltip{box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 20px 20px -10px rgba(0,0,0,0.2);padding:0 !important}.tooltip,.tooltip .tooltip-inner,.tooltip .tooltip-arrow{border-radius:4px}.tooltip .tooltip-arrow{-webkit-transform:rotate(45deg);transform:rotate(45deg);background:#007699;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 20px 20px -10px rgba(0,0,0,0.2);border-width:0;height:12px;width:12px}.tooltip.top .tooltip-arrow{margin-bottom:-3px}.tooltip.bottom .tooltip-arrow{margin-top:-3px}.tooltip.left .tooltip-arrow{margin-right:-3px}.tooltip.right .tooltip-arrow{margin-left:-3px}.tooltip .tooltip-inner{font-size:.9285714286rem;padding:.6785714286rem 1.25rem;margin:0 !important;font-style:normal}.popover{box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 20px 20px -10px rgba(0,0,0,0.2);font-size:1rem;border-width:0 !important;color:#fff;padding:0}.popover,.popover .popover-content,.popover .arrow{border-radius:4px}.popover .popover-content{border-radius:4px;margin:0 !important}.popover .popover-title,.popover .popover-content{padding:1.2857142857rem 1.875rem;background:#ff694b}.popover .arrow{width:20px;height:20px;background:#ff694b;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 20px 20px -10px rgba(0,0,0,0.2);-webkit-transform:rotate(45deg);transform:rotate(45deg)}.popover .arrow:after{display:none}.popover.top .arrow{margin:-10px;margin-bottom:-4px}.popover.bottom .arrow{margin:-10px;margin-top:-4px}.popover.left .arrow{margin:-10px;margin-right:-4px}.popover.right .arrow{margin:-10px;margin-left:-4px}.modal .modal-dialog{margin:auto;display:table;width:768px;max-width:100vw;height:100vh}.modal .modal-dialog.modal-sm{width:400px}.modal .modal-dialog.modal-lg{width:960px}.modal .modal-content{display:table-cell;vertical-align:middle;box-shadow:none}.modal.fade .modal-dialog{-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1);-webkit-transform:translate(0, -20px);transform:translate(0, -20px)}.modal.fade.in .modal-dialog{-webkit-transform:translate(0, 0);transform:translate(0, 0)}.modal-backdrop{display:block;position:absolute;width:100%;height:100%;top:0;left:0;position:fixed;z-index:1040}@media (max-width: 960px){.modal-content:not(.modal-content-flush){padding:7.5vw}}.panel{border-width:0;display:flex;flex-direction:column;display:block;border-width:0;background:white;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03);border-radius:4px;margin:1em 0}.panel:first-child{margin-top:0}.panel:last-child{margin-bottom:0}.panel>*{border-color:transparent !important;flex:0 0 auto}.panel>*:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.panel>*:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.panel>*,.panel>*>.panel-fill{padding:20px 30px}.panel>*.panel-flush,.panel>*>.panel-fill.panel-flush{padding:0 !important}.panel>*.panel-flush-top,.panel>*>.panel-fill.panel-flush-top{padding-top:0 !important}.panel>*.panel-flush-bottom,.panel>*>.panel-fill.panel-flush-bottom{padding-bottom:0 !important}.panel-large>*,.panel-large>*>.panel-fill{padding:40px 50px}@media (max-width: 960px){.panel-large>*,.panel-large>*>.panel-fill{padding:5vw 7.5vw}}.panel>.panel-body{flex:1 0 auto}.panel>.panel-body>*:first-child{margin-top:0}.panel>.panel-body>*:last-child{margin-bottom:0}.panel>.panel-body>.panel-fill{display:block;position:absolute;width:100%;height:100%;top:0;left:0;overflow:auto}html.touch .panel>.panel-body>.panel-fill{overflow:scroll;-webkit-overflow-scrolling:touch}h1.panel-title,.h1.panel-title{font-size:1.7142857143rem}h2.panel-title,.h2.panel-title{font-size:1.7142857143rem}h3.panel-title,.h3.panel-title{font-size:1.2857142857rem}h4.panel-title,.h4.panel-title{font-size:1.1428571429rem}h5.panel-title,.h5.panel-title{font-size:1rem}h6.panel-title,.h6.panel-title{font-size:1rem}.list-group{display:block;border-width:0;background:white;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03);border-radius:4px}.list-group .list-group-item{margin:0;border-width:0 0 1px 0}.list-group .list-group-item *{margin-top:0;margin-bottom:0}.list-group .list-group-item:last-child{border-width:0}.well{padding:1.2857142857rem 1.875rem;box-shadow:none;border:0}.well>*:first-child{margin-top:0}.well>*:last-child{margin-bottom:0}.row{margin:0}.container{padding-left:0;padding-right:0}@media (min-width: 961px){.container{width:90%;max-width:1320px}}@media (max-width: 960px){.container{width:auto}}@media (min-width: 961px){.row-reverse>[class*="col-lg-"]{float:right}}@media (max-width: 960px){[class*="col-lg-"]+[class*="col-lg-"]{margin-top:30px;margin-bottom:30px}[class*="col-lg-"]+[class*="col-lg-"]:first-child{margin-top:0}[class*="col-lg-"]+[class*="col-lg-"]:last-child{margin-bottom:0}}@media (max-width: 768px){[class*="col-md-"]+[class*="col-md-"]{margin-top:30px;margin-bottom:30px}[class*="col-md-"]+[class*="col-md-"]:first-child{margin-top:0}[class*="col-md-"]+[class*="col-md-"]:last-child{margin-bottom:0}}@media (max-width: 540px){[class*="col-sm-"]+[class*="col-sm-"]{margin-top:30px;margin-bottom:30px}[class*="col-sm-"]+[class*="col-sm-"]:first-child{margin-top:0}[class*="col-sm-"]+[class*="col-sm-"]:last-child{margin-bottom:0}}.carousel .carousel-control{background:transparent}.carousel .carousel-control:after{width:1em;display:block;position:absolute;left:0;top:0;bottom:0;right:0;margin:auto;height:1.6em;font-size:2rem}.carousel .carousel-indicators{bottom:10px}.carousel .carousel-indicators li{background:#fff;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1);margin:0 2px;opacity:.25;height:8px;width:8px;border:0}.carousel .carousel-indicators li.active{opacity:1}.carousel .carousel-inner .item img{width:100%}.thumbnail{display:block;border-width:0;background:white;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03);border-radius:4px}.thumbnail img{width:100%}.thumbnail .caption *{margin-top:0;margin-bottom:0}.range{-webkit-appearance:none;margin:0;width:100%;outline:none !important}.range::-moz-focus-outer{border:0}.range::-webkit-slider-runnable-track{width:100%;height:6px;cursor:pointer;box-shadow:none;background:#f0f2f4;border-radius:200px;border:0 solid transparent;color:transparent;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.range::-moz-range-track{width:100%;height:6px;cursor:pointer;box-shadow:none;background:#f0f2f4;border-radius:200px;border:0 solid transparent;color:transparent;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.range::-ms-track{width:100%;height:6px;cursor:pointer;box-shadow:none;background:#f0f2f4;border-radius:200px;border:0 solid transparent;color:transparent;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1);background:transparent;border-width:5px 0}.range::-ms-fill-lower{box-shadow:none;background:#f0f2f4;border-radius:200px;border:0 solid transparent;color:transparent;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.range::-ms-fill-upper{box-shadow:none;background:#f0f2f4;border-radius:200px;border:0 solid transparent;color:transparent;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.range::-webkit-slider-thumb{box-shadow:none;border:0;height:16px;width:16px;border-radius:200px;background:#0bb;cursor:pointer;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1);-webkit-appearance:none;margin-top:-5px}.range::-moz-range-thumb{box-shadow:none;border:0;height:16px;width:16px;border-radius:200px;background:#0bb;cursor:pointer;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.range::-ms-thumb{box-shadow:none;border:0;height:16px;width:16px;border-radius:200px;background:#0bb;cursor:pointer;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}@supports (-ms-ime-align: auto){.range::-ms-thumb{margin-top:1px}}.range:hover::-webkit-slider-thumb{background:#0aa}.range:focus::-webkit-slider-thumb{background:#0aa}.range:hover::-moz-range-thumb{background:#0aa}.range:focus::-moz-range-thumb{background:#0aa}.range:hover::-ms-thumb{background:#0aa}.range:focus::-ms-thumb{background:#0aa}.range:hover::-webkit-slider-runnable-track{background:#e9ebef}.range:focus::-webkit-slider-runnable-track{background:#e9ebef}.range:hover::-moz-range-track{background:#e9ebef}.range:focus::-moz-range-track{background:#e9ebef}.range:hover::-ms-fill-lower{background:#e9ebef}.range:focus::-ms-fill-lower{background:#e9ebef}.range:hover::-ms-fill-upper{background:#e9ebef}.range:focus::-ms-fill-upper{background:#e9ebef}.breadcrumb-flush{padding:0}.breadcrumb>li:first-child .glyph{position:absolute;right:100%;top:50%;-webkit-transform:translate(-33%, -50%);transform:translate(-33%, -50%)}.breadcrumb>li:before{font-weight:normal;padding:0 .5em;opacity:.5}.card{display:block;border-width:0;background:white;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03);border-radius:4px;display:flex;flex-direction:column}.card>.card-header,.card>.card-footer{flex:0 0 auto}.card>.card-body{flex:1 0 auto}.card.active{box-shadow:0 0 0 1px #0bb,0 15px 15px -7.5px rgba(0,0,0,0.15)}.card-footer,.card-header,.card-body,.card-padding{padding:20px 30px}.card-expand{margin:-20px -30px}.card-header h1,.card-header .h1,.card-header h2,.card-header .h2,.card-header h3,.card-header .h3,.card-header h4,.card-header .h4,.card-header h5,.card-header .h5,.card-header h6,.card-header .h6{margin:0}.card-flush-top{padding-top:0}.card-flush-bottom{padding-bottom:0}.card-flush-vertical{padding-top:0;padding-bottom:0}.card-flush{padding:0}.card-sm{padding:8px 12px}.card-control{display:block}.card-control .btn,.card-control .form-control,.card-control .input-group-addon,.card-control .form-control-static,.card-control .form-grid .form-row .form-label label,.form-grid .form-row .form-label .card-control label{display:block;margin:0 !important;height:4.2857142857rem;padding:1.3928571429rem 30px;border-radius:0;width:100%}.card-control .form-control{background:white}.card-control .form-control:not(:disabled):not(.disabled):hover{background-color:#f0f2f4}.card-control .btn,.card-control .input-group-addon{text-align:center}.card-footer .card-control:first-child .btn,.card-footer .card-control:first-child .form-control,.card-footer .card-control:first-child .input-group-addon,.card-footer .card-control:first-child .form-control-static,.card-footer .card-control:first-child .form-grid .form-row .form-label label,.form-grid .form-row .form-label .card-footer .card-control:first-child label{border-bottom-left-radius:4px}.card-footer .card-control:last-child .btn,.card-footer .card-control:last-child .form-control,.card-footer .card-control:last-child .input-group-addon,.card-footer .card-control:last-child .form-control-static,.card-footer .card-control:last-child .form-grid .form-row .form-label label,.form-grid .form-row .form-label .card-footer .card-control:last-child label{border-bottom-right-radius:4px}.card-body .card-control:first-child .btn,.card-body .card-control:first-child .form-control,.card-body .card-control:first-child .input-group-addon,.card-body .card-control:first-child .form-control-static,.card-body .card-control:first-child .form-grid .form-row .form-label label,.form-grid .form-row .form-label .card-body .card-control:first-child label{border-top-left-radius:4px}.card-body .card-control:last-child .btn,.card-body .card-control:last-child .form-control,.card-body .card-control:last-child .input-group-addon,.card-body .card-control:last-child .form-control-static,.card-body .card-control:last-child .form-grid .form-row .form-label label,.form-grid .form-row .form-label .card-body .card-control:last-child label{border-top-right-radius:4px}.card-toolbar{display:flex;flex-direction:row;flex-wrap:wrap;padding:0}.card-toolbar .card-control{display:block;flex:1 0 auto}.card-form{padding:0;display:table;width:100%}.card-form .card-formrow{display:table-row}.card-form .card-formrow .card-control{display:table-cell;vertical-align:middle}.card-form .card-formrow:not(:last-child) .card-control{border-bottom:1px solid rgba(0,30,60,0.075)}.card-list:not(:first-child){border-top:1px solid rgba(0,30,60,0.075)}.preview{margin:60px 0;background:white;border-radius:4px;display:flex;flex-direction:column;flex:1 0 auto;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03);-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.preview:first-child{margin-top:0}.preview:last-child{margin-bottom:0}.preview .preview-header{background-position:50% 50%;background-size:cover}.preview .preview-header:before{content:\'\';display:block;padding-bottom:50%}.preview .preview-body{display:flex;flex-direction:column;flex:1 0 auto}.preview .preview-body .preview-footer{flex:0 0 auto;padding:20px 30px}.preview .preview-body .preview-text{flex:1 0 auto;padding:20px 30px}.preview .preview-body .preview-text *{margin-top:0;margin-bottom:0}.preview .preview-body .preview-text h1,.preview .preview-body .preview-text .h1,.preview .preview-body .preview-text h2,.preview .preview-body .preview-text .h2,.preview .preview-body .preview-text h3,.preview .preview-body .preview-text .h3,.preview .preview-body .preview-text h4,.preview .preview-body .preview-text .h4,.preview .preview-body .preview-text h5,.preview .preview-body .preview-text .h5,.preview .preview-body .preview-text h6,.preview .preview-body .preview-text .h6{margin-bottom:20px}.preview .preview-body .preview-text ~ .preview-footer{padding-top:0}.preview.preview-link:hover,.preview.preview-link:focus{box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 15px 15px -7.5px rgba(0,0,0,0.15)}.preview.preview-vertical .preview-header{flex:0 0 auto}.preview.preview-vertical .preview-body{flex:1 0 auto}.preview.preview-vertical .preview-header-grow{flex:1 0 auto}.preview.preview-vertical .preview-header-grow ~ .preview-body{flex:0 0 auto}.preview.preview-horizontal{display:flex;flex-direction:row}.preview.preview-horizontal .preview-header{flex:1 1 120px}.preview.preview-horizontal .preview-body{flex:3 1 260px}.preview:not(.preview-vertical):not(.preview-horizontal){display:flex;flex-direction:row;flex-wrap:wrap}.preview:not(.preview-vertical):not(.preview-horizontal) .preview-header{flex:1 0 120px}.preview:not(.preview-vertical):not(.preview-horizontal) .preview-body{flex:3 1 260px}.loading{text-align:center;margin:20px 0}.loading:after{margin:0 auto;content:\'\';display:block;font-size:30px;width:1em;height:1em;border-radius:50%;border:1px solid;border-top-color:rgba(0,30,60,0.03);border-right-color:rgba(0,30,60,0.03);-webkit-animation:spin .5s 0s linear infinite;-o-animation:spin .5s 0s linear infinite;animation:spin .5s 0s linear infinite}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.loading.loading-inline{height:10px;display:inline-block;margin:0 .375em 0 0;vertical-align:middle}.loading.loading-inline-after{margin:0 0 0 .375em}.loading.loading-inline:after{margin:-10px 0}.loading.loading-small.loading-inline{top:-1px}.loading.loading-small:after{font-size:12px;margin:-1px auto}.btn .loading:after{color:inherit}.loading-overlay{background:#f9fafb;border-radius:4px}.loading-overlay>*{pointer-events:none;opacity:.15}.loading-overlay .loading{display:block;position:absolute;width:100%;height:100%;top:0;left:0;margin:0;opacity:1}.loading-overlay .loading:after{display:block;position:absolute;left:0;top:0;bottom:0;right:0;margin:auto}.message{margin:20px 0}.message .message-content{display:flex;flex-direction:row}.message .message-content>*{padding:0 .5rem}.message:not(.message-secondary) .message-content .message-header{padding-left:0}.message:not(.message-secondary) .message-content .message-body{padding-right:4rem}.message:not(.message-secondary) .message-content .message-body .message-text{border-top-left-radius:4px}.message.message-secondary .message-content{-ms-flex-pack:end;justify-content:flex-end}.message.message-secondary .message-content .message-header{padding-right:0}.message.message-secondary .message-content .message-body{padding-left:4rem}.message.message-secondary .message-content .message-body .message-text{border-top-right-radius:4px}.message-header{flex:0 0 auto}.message-secondary .message-header{order:2}.message-header .message-avatar .avatar{font-size:2.5rem}.message-body{flex:0 1 auto}.message-body .message-text{background:#f0f2f4;padding:1.2857142857rem 1.875rem;border-radius:1.333em}.message-blue .message-body .message-text{background:#0bb;color:white}.message-green .message-body .message-text{background:#7ec631;color:white}.message-purple .message-body .message-text{background:#7f6cc5;color:white}.toolbar a{display:block}.toolbar .toolbar-content{display:flex;flex-direction:row;flex-wrap:wrap;-ms-flex-align:center;align-items:center}.toolbar .toolbar-content .toolbar-item{flex:0 0 auto}.toolbar .toolbar-content .toolbar-item>.btn{width:100%}.toolbar .toolbar-content .toolbar-item>.toolbar-link{padding:1rem 1.5rem}.toolbar .toolbar-content .toolbar-gap{flex:1000 1 auto}.toolbar-fill .btn{border-radius:0}.toolbar-fill .toolbar-content>.btn,.toolbar-fill .toolbar-content .toolbar-item{flex:1 0 auto}.toolbar-separate .toolbar-content{margin:-.375rem}.toolbar-separate .toolbar-content .toolbar-item{margin:.375rem}.toolbar-fixed .toolbar-content>.btn,.toolbar-fixed .toolbar-content .toolbar-item{flex:1 0 0px}.title{margin-left:-10px;margin-right:-10px;display:flex;flex-direction:row;flex-wrap:wrap;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center}.title-buffer{margin-top:60px;margin-bottom:60px}.title>*{padding:5px 0;margin:0 10px}.title-header{flex:0 1 auto}.title-body{flex:1 1 auto}.title-actions{flex:0 1 auto}.title-fix{min-height:50px}.title:first-child{margin-top:-5px}.title:last-child{margin-bottom:-5px}.list{color:#8b969e}.list-item:not(:first-child){border-top:1px solid rgba(0,30,60,0.075)}.list-item:first-child .list-row{border-top-right-radius:4px;border-top-left-radius:4px}.list-item:last-child .list-row{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-link{display:block;position:absolute;width:100%;height:100%;top:0;left:0;z-index:2}.list-link:hover+.list-row,.list-link:focus+.list-row{background:#f9fafb}.list-item.active .list-row{background:#0bb}.list-item.active .list-row h1,.list-item.active .list-row .h1,.list-item.active .list-row h2,.list-item.active .list-row .h2,.list-item.active .list-row h3,.list-item.active .list-row .h3,.list-item.active .list-row h4,.list-item.active .list-row .h4,.list-item.active .list-row h5,.list-item.active .list-row .h5,.list-item.active .list-row h6,.list-item.active .list-row .h6,.list-item.active .list-row{color:#fff}.list-row{display:flex;flex-direction:row;-ms-flex-align:center;align-items:center;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.list-row>*{flex:1 1 0px;padding:1.5rem 2rem}.list-row>* *{margin-top:0;margin-bottom:0}.list-row>* a{z-index:3}.list-row-group{padding-left:0;padding-right:1rem}.list-row-graphic,.list-row-arrow{flex:0 0 auto}.list-row-graphic>.glyph,.list-row-arrow>.glyph{opacity:.3333333333}.list-row-sm>*{padding-top:12px;padding-bottom:12px}.list-row-xs>*{padding-top:7px;padding-bottom:7px}.card-list .list .list-row>*{padding-left:30px;paddign-right:30px}.list-clean{margin:0;padding:0;border:0;list-style-type:none}.list-clean li{margin:0;padding:0;list-style-type:none}.list-columns-2{columns:2}.status{display:flex;flex-direction:row}.status-text{flex:1 1 auto;white-space:nowrap;min-width:0}.status-icon{flex:0 0 auto}.dot{display:inline-block;background:currentColor;width:8px;height:8px;border-radius:50%}.dot-default{color:#8b969e}.dot-success{color:#5fb825}.dot-info{color:#0aa}.dot-warning{color:#ff821d}.dot-danger{color:#ff4f39}.table-master-detail-toggle{-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.table-master-detail:not(.open) .table-detail{display:none}.table-master-detail.open .table-master td,.table-master-detail.open .table-master th{background:white !important}.table-master-detail.open .table-master-detail-toggle{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.form-grid{display:table;width:100%}.form-grid .form-row-group{display:table-row-group}.form-grid .form-row{display:table-row}.form-grid .form-row .form-row{display:table;width:100%}.form-grid .form-row .form-label,.form-grid .form-row .form-response{display:table-cell;padding:7px;vertical-align:top}.form-grid .form-row .form-label:first-child,.form-grid .form-row .form-response:first-child{padding-left:0}.form-grid .form-row .form-label:last-child,.form-grid .form-row .form-response:last-child{padding-right:0}.form-grid .form-row .form-label .form-row>*,.form-grid .form-row .form-response .form-row>*{padding-top:0;padding-bottom:0}.form-grid .form-row .form-label{white-space:nowrap;width:1px}.form-grid .form-row .form-response .help-block{margin:0;top:3px}.form-grid .form-row .form-response.form-response-short{width:1px;white-space:nowrap}.form-grid .form-row .form-response .form-response,.form-grid .form-row .form-response .form-label{padding-top:0;padding-bottom:0}.form-grid .form-row>.form-label:first-child{padding-right:7px}.form-grid:not(.form-grid-left) .form-label{text-align:right}.matrix{margin:0 -15px;display:flex;flex-direction:row;-ms-flex-align:stretch;align-items:stretch;flex-wrap:wrap}.matrix.matrix-nowrap{flex-wrap:nowrap}.matrix .matrix-item{padding:15px;display:flex;flex-direction:column;flex:1 1 260px}.matrix .matrix-item>*{flex:1 1 auto;margin:0}.waterfall{margin:0 -15px;-webkit-column-count:4;column-count:4;-webkit-column-gap:0;column-gap:0;-webkit-column-width:320px;column-width:320px}.waterfall .waterfall-item{-webkit-column-break-inside:avoid;page-break-inside:avoid;break-inside:avoid-column;padding:15px}.waterfall .waterfall-item>*{margin:0}.mosaic{display:flex;flex-direction:column;-ms-flex-align:stretch;align-items:stretch}.mosaic-buffer{margin:0 -15px}.mosaic-row{display:flex;flex-direction:row;flex-wrap:wrap;flex:1 1 auto}.mosaic-column{display:flex;flex-direction:column;flex:1 1 320px}.mosaic-column-1{flex:1 1 320px}.mosaic-column-2{flex:1 1 640px}.mosaic-column-3{flex:1 1 960px}.mosaic-column-4{flex:1 1 1280px}.mosaic-column-5{flex:1 1 1600px}.mosaic-column-6{flex:1 1 1920px}.mosaic-column-7{flex:1 1 2240px}.mosaic-column-8{flex:1 1 2560px}.mosaic-column-9{flex:1 1 2880px}.mosaic-column-10{flex:1 1 3200px}.mosaic-column-11{flex:1 1 3520px}.mosaic-column-12{flex:1 1 3840px}.mosaic-item{display:flex;flex-direction:column}.mosaic-item>*{flex:1 0 auto;margin:0}.mosaic-column>.mosaic-item{flex:1 1 auto}.mosaic-row>.mosaic-item{flex:1 0 260px}.mosaic-buffer .mosaic-item{margin:15px}.flex-row{display:flex;flex-direction:row;flex-wrap:wrap}.flex-column{display:flex;flex-direction:column;flex:1 1 320px}.flex-column-1{flex:1 1 320px}.flex-column-2{flex:1 1 640px}.flex-column-3{flex:1 1 960px}.flex-column-4{flex:1 1 1280px}.flex-column-5{flex:1 1 1600px}.flex-column-6{flex:1 1 1920px}.flex-column-7{flex:1 1 2240px}.flex-column-8{flex:1 1 2560px}.flex-column-9{flex:1 1 2880px}.flex-column-10{flex:1 1 3200px}.flex-column-11{flex:1 1 3520px}.flex-column-12{flex:1 1 3840px}.flex-nowrap{flex-wrap:nowrap}.flex-buffer{margin:0 -15px}.flex-flush{margin-top:-15px;margin-bottom:-15px}.flex-column>.flex-item{flex:1 1 auto}.flex-row>.flex-item{flex:1 0 260px}.flex-buffer .flex-item{margin:15px}.flex-column>.flex-item-sm{flex:1 1 auto}.flex-row>.flex-item-sm{flex:1 0 130px}.flex-buffer .flex-item-sm{margin:7.5px}.flex-grow{flex:1 0 auto}.flex-auto{flex:0 0 auto}.flex-shrink{flex:0 1 auto}.album{margin:0 -30px;visibility:hidden}.album.album-ready{visibility:visible}.album .album-content{display:flex;flex-direction:row;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch}.album .album-content .album-image{flex:1 1 auto;margin:30px}.album .album-content .album-image img{margin:0;display:block;width:100%;height:auto;display:block;border-width:0;background:white;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03);border-radius:4px}.limit-1>*:nth-child(n+2){display:none !important}.limit-2>*:nth-child(n+3){display:none !important}.limit-3>*:nth-child(n+4){display:none !important}.limit-4>*:nth-child(n+5){display:none !important}.limit-5>*:nth-child(n+6){display:none !important}.limit-6>*:nth-child(n+7){display:none !important}.limit-7>*:nth-child(n+8){display:none !important}.limit-8>*:nth-child(n+9){display:none !important}.limit-9>*:nth-child(n+10){display:none !important}.limit-10>*:nth-child(n+11){display:none !important}.limit-11>*:nth-child(n+12){display:none !important}.limit-12>*:nth-child(n+13){display:none !important}.grid{display:grid;grid-gap:2em;grid-template-columns:repeat(auto-fill, minmax(200px, 1fr))}html.cssgridlegacy .grid{display:flex;flex-direction:row;flex-wrap:wrap;padding:1em}html.cssgridlegacy .grid>*{flex:1 0 200px;max-width:320px;padding:1em}.section-target{position:absolute;visibility:hidden;top:-4em}.section{padding:.75em 0}.section-target:target+.section-content .panel{box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 30px 30px -15px rgba(0,0,0,0.3)}.framework{-ms-display:grid;display:grid;height:100%}.framework>*{padding:1em 1.5em}.framework .framework-header{background:#0bb;color:white}.framework .framework-nav{background:#f0f2f4}.framework .framework-menu{background:#f9fafb}.framework .framework-content{background:white}.framework .framework-content{padding:0;overflow:auto;display:flex;flex-direction:column;-ms-flex-align:stretch;align-items:stretch}.framework .framework-content>*{padding:1em 1.5em}.framework .framework-content .framework-actions{position:sticky;top:0;z-index:2;background:white}@media (min-width: 961px){.framework{-ms-grid-rows:60px auto;grid-template-rows:60px auto;-ms-grid-columns:60px 240px auto;grid-template-columns:60px 240px auto}.framework .framework-header{-ms-grid-row:1;grid-row:1;-ms-grid-column:1;-ms-grid-column-span:3;grid-column:1 / 4}.framework .framework-nav{-ms-grid-row:2;grid-row:2;-ms-grid-column:1;grid-column:1}.framework .framework-menu{-ms-grid-row:2;grid-row:2;-ms-grid-column:2;grid-column:2}.framework .framework-content{-ms-grid-row:2;grid-row:2;-ms-grid-column:3;grid-column:3}}@media (max-width: 960px){.framework{-ms-grid-rows:60px auto;grid-template-rows:60px auto;-ms-grid-columns:auto;grid-template-columns:auto}.framework .framework-header{-ms-grid-row:1;grid-row:1;-ms-grid-column:1;grid-column:1}.framework .framework-nav{display:none}.framework .framework-menu{display:none}.framework .framework-content{-ms-grid-row:2;grid-row:2;-ms-grid-column:1;grid-column:1}.framework .framework-content .framework-actions{order:-1}}.app{display:block;position:absolute;width:100%;height:100%;top:0;left:0;position:fixed;min-width:960px}.app-row{display:flex;flex-direction:row;-ms-flex-align:stretch;align-items:stretch}.app-column{display:flex;flex-direction:column;-ms-flex-align:stretch;align-items:stretch}.app-middle{-ms-flex-align:center;align-items:center}.app-header,.app-footer{flex:0 0 auto}.app-body{flex:1 0 0px}.app-navbar{height:calc( 2.8571428571rem + 40px );z-index:3;background:white}.app-menu,.app-sidebar,.app-content{-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1);background:#f9fafb}.app-menu,.app-sidebar{width:20%;min-width:300px;flex:0 0 auto}.app-content{flex:1 0 0px}.app-content a,.app-content .a{color:#0bb}.app-content a:hover,.app-content a:focus,.app-content .a:hover,.app-content .a:focus{color:#0aa}.app-overlay{background:#f0f2f4;position:absolute;display:none;z-index:2;right:-100vw;left:-100vw;bottom:0;top:0;opacity:.9}.app-menu .app-overlay{left:100%;box-shadow:inset 5px 0 10px -5px rgba(0,0,0,0.2)}.app-sidebar .app-overlay{right:100%;box-shadow:inset -5px 0 10px -5px rgba(0,0,0,0.2)}.app-icn:not(:first-child){padding-left:20px}.app-icn:not(:last-child){padding-right:20px}.app-scroll{display:block;position:absolute;width:100%;height:100%;top:0;left:0;overflow:auto}html.touch .app-scroll{overflow:scroll;-webkit-overflow-scrolling:touch}.app-pad{padding:20px 30px}.app-pad,.app-pad-v{padding-top:20px;padding-bottom:20px}.app-pad,.app-pad-h{padding-left:30px;padding-right:30px}.app-sticky{top:0;z-index:2;position:sticky;background:#f9fafb}.app-frame{margin:auto}@media (min-width: 961px){.app-frame{width:90%}}.app-shadow{box-shadow:0 1px 0 rgba(0,16,32,0.05)}.app-flush,.app-flush-top{padding-top:0}.app-flush,.app-flush-bottom{padding-bottom:0}.app-flush,.app-flush-left{padding-left:0}.app-flush,.app-flush-right{padding-right:0}.app-logo{width:100px}.layout{width:100vw;height:100vh;min-width:960px;overflow:auto}html.touch .layout{overflow:scroll;-webkit-overflow-scrolling:touch}.layout-pad{padding-top:20px;padding-bottom:20px}.layout-ide{height:calc(100vh - 53px)}.layout-pad-l,.layout-pad-x{padding-left:20px}.layout-pad-r,.layout-pad-x{padding-right:20px}.layout-sticky{position:sticky;z-index:20;top:0}.layout-frame{margin:auto;width:90%;padding-left:20px;padding-right:20px}.layout-menu .layout-frame{padding-right:0}.layout-navigation{box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03);background:white;height:52px;position:absolute;top:0;left:0;right:0}.layout-content{position:absolute;top:53px;bottom:0;left:0;right:0;overflow:auto}html.touch .layout-content{overflow:scroll;-webkit-overflow-scrolling:touch}.layout-row{display:flex;flex-direction:row}.layout-alert{flex:0 0 100%}.layout-menu{flex:0 0 25%;max-width:300px;min-width:0}.layout-body{flex:1 1 auto;box-shadow:0 -1px 0 rgba(0,30,60,0.03)}.ide{overflow:hidden;font-size:.9285714286rem;display:block;position:absolute;width:100%;height:100%;top:0;left:0;background:white}.ide-pad{padding:14px 16px !important}.ide-pad-l,.ide-pad-x{padding-left:16px !important}.ide-pad-r,.ide-pad-x{padding-right:16px !important}.ide-panels{display:block;position:absolute;width:100%;height:100%;top:0;left:0}.ide-panels,.ide-panel-group{display:flex;flex-direction:row;background:inherit}.ide-panels.ide-vertical,.ide-panel-group.ide-vertical{display:flex;flex-direction:column}@media (max-width: 960px){.ide-panels,.ide-panel-group{display:flex;flex-direction:column}}.ide-panel,.ide-panel-group{flex:1 0 0px}.ide-panel{-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1);-webkit-transition-property:box-shadow,transform;transition-property:box-shadow,transform;box-shadow:0 0 0 2px transparent;min-height:200px;min-width:200px;background:inherit;display:flex;flex-direction:column}.ide-horizontal .ide-panel{height:auto !important}.ide-horizontal .ide-panel[style*="width"]{flex:0 0 auto}.ide-vertical .ide-panel{width:auto !important}.ide-vertical .ide-panel[style*="height"]{flex:0 0 auto}@media (max-width: 960px){.ide-panel{width:auto !important}}.ide-panel-sm{flex:0 0 280px}.ide-panel:before{content:\'\';display:block;position:absolute;left:0;top:0;bottom:0;right:0;box-shadow:0 0 0 1px currentColor;opacity:.125}.ide-panel:focus{z-index:3;box-shadow:0 0 0 2px #0bb,0 10px 20px rgba(0,30,60,0.3);-webkit-transform:translate(10px, -10px);transform:translate(10px, -10px);border-radius:4px}.ide-panel>*:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.ide-panel>*:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.ide-panel-header,.ide-panel-footer{flex:0 0 auto;background:rgba(0,30,60,0.03)}.ide-panel-header:before,.ide-panel-header:after,.ide-panel-footer:before,.ide-panel-footer:after{content:\'\';display:block;position:absolute;left:0;top:0;bottom:0;right:0;background:currentColor;opacity:.0075}.ide-panel-header:after,.ide-panel-footer:after{height:1px;opacity:.06}.ide-panel-header .btn:focus,.ide-panel-header .btn:active,.ide-panel-footer .btn:focus,.ide-panel-footer .btn:active{z-index:auto}.ide-panel-header:after{top:auto}.ide-panel-footer:before{display:none}.ide-panel-footer:after{bottom:auto}.ide-panel-body{color:#313539;background:inherit;flex:1 1 auto}.ide-panel-scroll{display:block;position:absolute;width:100%;height:100%;top:0;left:0;overflow:auto}html.touch .ide-panel-scroll{overflow:scroll;-webkit-overflow-scrolling:touch}.ide-panel-scroll::-webkit-scrollbar{background:#e9ebef;width:7px;height:7px}.ide-panel-scroll::-webkit-scrollbar-button{display:none}.ide-panel-scroll::-webkit-scrollbar-track{background:transparent}.ide-panel-scroll::-webkit-scrollbar-track-piece{background:transparent}.ide-panel-scroll::-webkit-scrollbar-thumb{background:#d7dbdf;border-radius:200px ;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.ide-panel-scroll::-webkit-scrollbar-corner{background:#e9ebef}.ide-panel-scroll::-webkit-resizer{background:transparent}.ide-panel-scroll:hover::-webkit-scrollbar-thumb{background:#c1c7cd}.ide-panel-handle{display:block;position:absolute;top:0;bottom:0;right:0;background:white;width:10px}.ide-controls{display:table;width:100%;height:44px}.ide-controls>*{display:table-cell;vertical-align:middle}.ide-control{white-space:nowrap}.ide-control-sm{width:1px}.ide-control-link,.ide-control-text{display:block;padding:.6785714286rem 0}.ide-control-link{padding-left:1.25rem;padding-right:1.25rem;text-align:center}.ide-control-inline-link{display:inline-block;padding:.6785714286rem 0;text-align:center}.ide-control.active{box-shadow:inset 0 -1px 0 #0bb}.ide-control.active .ide-control-link,.ide-control.active .ide-control-inline-link{color:inherit;font-weight:bold}.ide-list{padding:7px 0}.ide-list-item{display:block;padding:7px 16px;color:inherit;box-shadow:0 1px 0 rgba(0,30,60,0.03);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ide-list-item:hover,.ide-list-item:focus{color:inherit}.ide-list-item-footer{padding:.375em 0;display:flex;flex-direction:row;-ms-flex-pack:justify;justify-content:space-between}.ide-interactive:hover,.ide-interactive:focus{background:#f9fafb}.ide-active{background:#e4e6eb !important}.ide-code{color:inherit;resize:none;padding:0;background:transparent}.ide table{white-space:nowrap}.ide table td:first-child,.ide table th:first-child{padding-left:16px}.ide table td:last-child,.ide table th:last-child{padding-right:16px}.ide table td{max-width:300px;overflow:hidden;text-overflow:ellipsis}.ide-table-heading{color:inherit;position:sticky;top:0;z-index:3;background:white;box-shadow:0 1px 0 rgba(0,30,60,0.03)}.ide-dark{color:white}.ide-dark,.ide-dark .ide-table-heading{background:#002934}.ide-dark .ide-panel-body{color:inherit}.ide-dark .ide-panel:focus,.ide-dark .ide-panel-header,.ide-dark .ide-panel-footer,.ide-dark .table-striped>tbody>tr:nth-of-type(odd){background:#00303d}.ide-dark .ide-active{background:#005e7a !important;color:white !important}.ide-dark .ide-table-heading,.ide-dark .ide-list-item{box-shadow:0 1px 0 rgba(255,255,255,0.1)}.ide-dark .ide-panel-header .btn-default,.ide-dark .ide-panel-footer .btn-default{color:#fff;background-color:#005e7a;border-color:#005e7a}.ide-dark .ide-panel-header .btn-default:focus,.ide-dark .ide-panel-header .btn-default.focus,.ide-dark .ide-panel-footer .btn-default:focus,.ide-dark .ide-panel-footer .btn-default.focus{color:#fff;background-color:#007699}.ide-dark .ide-panel-header .btn-default:hover,.ide-dark .ide-panel-footer .btn-default:hover{color:#fff;background-color:#007699}.ide-dark .ide-panel-header .btn-default:active,.ide-dark .ide-panel-header .btn-default.active,.open>.ide-dark .ide-panel-header .btn-default.dropdown-toggle,.ide-dark .ide-panel-footer .btn-default:active,.ide-dark .ide-panel-footer .btn-default.active,.open>.ide-dark .ide-panel-footer .btn-default.dropdown-toggle{color:#fff;background-color:#007699}.ide-dark .ide-panel-header .btn-default:active:hover,.ide-dark .ide-panel-header .btn-default:active:focus,.ide-dark .ide-panel-header .btn-default:active.focus,.ide-dark .ide-panel-header .btn-default.active:hover,.ide-dark .ide-panel-header .btn-default.active:focus,.ide-dark .ide-panel-header .btn-default.active.focus,.open>.ide-dark .ide-panel-header .btn-default.dropdown-toggle:hover,.open>.ide-dark .ide-panel-header .btn-default.dropdown-toggle:focus,.open>.ide-dark .ide-panel-header .btn-default.dropdown-toggle.focus,.ide-dark .ide-panel-footer .btn-default:active:hover,.ide-dark .ide-panel-footer .btn-default:active:focus,.ide-dark .ide-panel-footer .btn-default:active.focus,.ide-dark .ide-panel-footer .btn-default.active:hover,.ide-dark .ide-panel-footer .btn-default.active:focus,.ide-dark .ide-panel-footer .btn-default.active.focus,.open>.ide-dark .ide-panel-footer .btn-default.dropdown-toggle:hover,.open>.ide-dark .ide-panel-footer .btn-default.dropdown-toggle:focus,.open>.ide-dark .ide-panel-footer .btn-default.dropdown-toggle.focus{color:#fff;background-color:#007699}.ide-dark .ide-panel-header .btn-default:active,.ide-dark .ide-panel-header .btn-default.active,.open>.ide-dark .ide-panel-header .btn-default.dropdown-toggle,.ide-dark .ide-panel-footer .btn-default:active,.ide-dark .ide-panel-footer .btn-default.active,.open>.ide-dark .ide-panel-footer .btn-default.dropdown-toggle{background-image:none}.ide-dark .ide-panel-header .btn-default.disabled:hover,.ide-dark .ide-panel-header .btn-default.disabled:focus,.ide-dark .ide-panel-header .btn-default.disabled.focus,.ide-dark .ide-panel-header .btn-default[disabled]:hover,.ide-dark .ide-panel-header .btn-default[disabled]:focus,.ide-dark .ide-panel-header .btn-default[disabled].focus,fieldset[disabled] .ide-dark .ide-panel-header .btn-default:hover,fieldset[disabled] .ide-dark .ide-panel-header .btn-default:focus,fieldset[disabled] .ide-dark .ide-panel-header .btn-default.focus,.ide-dark .ide-panel-footer .btn-default.disabled:hover,.ide-dark .ide-panel-footer .btn-default.disabled:focus,.ide-dark .ide-panel-footer .btn-default.disabled.focus,.ide-dark .ide-panel-footer .btn-default[disabled]:hover,.ide-dark .ide-panel-footer .btn-default[disabled]:focus,.ide-dark .ide-panel-footer .btn-default[disabled].focus,fieldset[disabled] .ide-dark .ide-panel-footer .btn-default:hover,fieldset[disabled] .ide-dark .ide-panel-footer .btn-default:focus,fieldset[disabled] .ide-dark .ide-panel-footer .btn-default.focus{background-color:#005e7a;border-color:#005e7a}.ide-dark .ide-panel-header .btn-default .badge,.ide-dark .ide-panel-footer .btn-default .badge{color:#005e7a;background-color:#fff}.ide-dark .ide-panel-scroll::-webkit-scrollbar{background:#00475c;width:7px;height:7px}.ide-dark .ide-panel-scroll::-webkit-scrollbar-button{display:none}.ide-dark .ide-panel-scroll::-webkit-scrollbar-track{background:transparent}.ide-dark .ide-panel-scroll::-webkit-scrollbar-track-piece{background:transparent}.ide-dark .ide-panel-scroll::-webkit-scrollbar-thumb{background:#065b74;border-radius:200px ;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.ide-dark .ide-panel-scroll::-webkit-scrollbar-corner{background:#00475c}.ide-dark .ide-panel-scroll::-webkit-resizer{background:transparent}.ide-dark .ide-panel-scroll:hover::-webkit-scrollbar-thumb{background:#087291}.ide-dark .ace_scrollbar::-webkit-scrollbar{background:#00475c;width:7px;height:7px}.ide-dark .ace_scrollbar::-webkit-scrollbar-button{display:none}.ide-dark .ace_scrollbar::-webkit-scrollbar-track{background:transparent}.ide-dark .ace_scrollbar::-webkit-scrollbar-track-piece{background:transparent}.ide-dark .ace_scrollbar::-webkit-scrollbar-thumb{background:#065b74;border-radius:200px ;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.ide-dark .ace_scrollbar::-webkit-scrollbar-corner{background:#00475c}.ide-dark .ace_scrollbar::-webkit-resizer{background:transparent}.ide-dark .ace_scrollbar:hover::-webkit-scrollbar-thumb{background:#087291}.ide-dark .ide-code::-webkit-scrollbar{background:#00475c;width:7px;height:7px}.ide-dark .ide-code::-webkit-scrollbar-button{display:none}.ide-dark .ide-code::-webkit-scrollbar-track{background:transparent}.ide-dark .ide-code::-webkit-scrollbar-track-piece{background:transparent}.ide-dark .ide-code::-webkit-scrollbar-thumb{background:#065b74;border-radius:200px ;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.ide-dark .ide-code::-webkit-scrollbar-corner{background:#00475c}.ide-dark .ide-code::-webkit-resizer{background:transparent}.ide-dark .ide-code:hover::-webkit-scrollbar-thumb{background:#087291}.menu{margin:0 -5px;font-size:.9285714286rem}.menu ul{margin:0;padding:0;border:0;list-style-type:none;display:none}.menu ul li{margin:0;padding:0;list-style-type:none}.menu ul ul{margin-left:23px}.menu a{color:#3f464e;display:block;padding:3px 5px;border-radius:4px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu a.menu-tree{color:#8b969e}.menu a.menu-main{font-size:1rem;margin-bottom:.25em;font-weight:bold;color:#313539}.menu a.active:not(.not-active){color:#313539}.menu a:hover,.menu a:focus{background:#f0f2f4;color:#313539}.menu a.menu-node.active:not(.not-active),.menu a.menu-link.active:not(.not-active){background:#e9ebef;color:#313539}.menu .icn{margin-right:8px}.menu>ul,.menu .active+ul{display:block}a:not(.active) .menu-icon-on{display:none}a.active .menu-icon-off{display:none}.results{font-size:.9285714286rem}.results .result{display:block;color:inherit;text-decoration:none !important;padding:15px 20px;margin:0 -20px;border-radius:4px}.results .result:hover,.results .result:focus{color:inherit}.results .result:hover,.results .result:focus{background:#f0f2f4}.results .result-content{display:flex;flex-direction:row}.results .result-content .result-icn{flex:0 0 auto;color:#8b969e;opacity:.5;padding:2px 20px 0 0}.results .result-content .result-body{flex:1 1 auto}.results .result-content .result-body>*{margin-top:.25em;margin-bottom:.25em}.results .result-content .result-body>*:first-child{margin-top:0}.results .result-content .result-body>*:last-child{margin-bottom:0}.filename{display:flex;flex-direction:row}.filename .filename-ellip{flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filename .filename-normal{flex:0 0 auto}.launcher{z-index:30;position:fixed;bottom:30px;right:30px}.launcher:not(.on) .launcher-content{display:none}.launcher.on .launcher-btn{display:none}.launcher-btn{font-size:0}.launcher-btn .btn{box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 20px 20px -10px rgba(0,0,0,0.2)}.launcher-btn .btn:not(:last-child){margin-right:10px}.launcher-btn .btn:hover,.launcher-btn .btn:focus{box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 40px 40px -20px rgba(0,0,0,0.4)}.launcher-content{position:fixed;height:100%;border:20px solid transparent;top:0;right:0}@media (min-width: 961px){.launcher[data-launcher="sidebar"] .launcher-content{width:340px;border-left:0}}@media (max-width: 960px){.launcher[data-launcher="sidebar"] .launcher-content{width:100vw}}.launcher[data-launcher="sidebar"] .launcher-content .launcher-hide-sidebar:not(.visible){display:none}.launcher[data-launcher="fullscreen"] .launcher-content{width:100vw}.launcher[data-launcher="fullscreen"] .launcher-content .launcher-hide-fullscreen:not(.visible){display:none}.launcher-window{display:flex;flex-direction:column;overflow:auto;width:100%;height:100%;color:white;background:#005e7a;border-radius:4px;box-shadow:-10px 5px 20px 5px rgba(0,0,0,0.1),0 20px 20px -10px rgba(0,0,0,0.3)}.launcher-window h1,.launcher-window .h1,.launcher-window h2,.launcher-window .h2,.launcher-window h3,.launcher-window .h3,.launcher-window h4,.launcher-window .h4,.launcher-window h5,.launcher-window .h5,.launcher-window h6,.launcher-window .h6{color:inherit}html.touch .launcher-window{overflow:scroll;-webkit-overflow-scrolling:touch}.launcher-window .launcher-header,.launcher-window .launcher-footer{flex:0 0 auto;display:flex;flex-direction:row;-ms-flex-align:center;align-items:center}.launcher-window .launcher-header .launcher-spacer,.launcher-window .launcher-footer .launcher-spacer{flex:1 0 0px}.launcher-window .launcher-header .launcher-cell,.launcher-window .launcher-footer .launcher-cell{flex:1 1 auto;min-width:0;padding:20px}.launcher-window .launcher-header .launcher-cell.launcher-flush,.launcher-window .launcher-footer .launcher-cell.launcher-flush{padding:0}.launcher-window .launcher-header .launcher-cell .field-label,.launcher-window .launcher-header .launcher-cell .field-input,.launcher-window .launcher-footer .launcher-cell .field-label,.launcher-window .launcher-footer .launcher-cell .field-input{padding-left:20px;padding-right:20px;border-radius:0 !important;box-shadow:none !important}.launcher-window .launcher-header .launcher-cell .field-input,.launcher-window .launcher-footer .launcher-cell .field-input{background-position:calc(100% - 1.25rem - 5px) 50%}.launcher-window .launcher-header .launcher-actions,.launcher-window .launcher-footer .launcher-actions{flex:0 0 auto}.launcher-window .launcher-footer{flex-wrap:wrap}.launcher-window .launcher-body{flex:1 1 0px}.launcher-window .launcher-body .launcher-scroll{display:block;position:absolute;width:100%;height:100%;top:0;left:0}.launcher-window .launcher-body .launcher-scroll .launcher[data-launcher="sidebar"]{overflow:auto}html.touch .launcher-window .launcher-body .launcher-scroll .launcher[data-launcher="sidebar"]{overflow:scroll;-webkit-overflow-scrolling:touch}.launcher-window .launcher-body .launcher-embed,.launcher-window .launcher-body .launcher-embed iframe,.launcher-window .launcher-body .launcher-embed canvas{display:block;position:absolute;width:100%;height:100%;top:0;left:0}.field{display:block;margin:0}.field .field-input{height:4.6071428571rem;border-top:1.75rem solid transparent !important}.field .field-input:hover+.field-label,.field .field-input:focus+.field-label{color:#5e666c}.field .field-label{pointer-events:none;z-index:4;font-family:"Monaco",monospace;font-size:.8571428571rem;position:absolute;top:0;left:0;margin:0;padding:.6785714286rem 1.25rem 0}.field .field-text{height:4.6071428571rem;border-top:1.75rem solid transparent !important;border-radius:0 !important;box-shadow:none !important;padding:.6785714286rem 1.25rem 0}.field .field-text-label{pointer-events:none;z-index:0;position:absolute;top:0;left:0;margin:0;padding:.6785714286rem 1.25rem 0;font-variant:small-caps}.fields{display:flex;flex-direction:row;flex-wrap:wrap}.fields .field{flex:1 0 160px}.fields:not(.fields-flush){margin:-5px}.fields:not(.fields-flush) .field{border:5px solid transparent}.switches{margin:1.5em 0;display:flex;flex-direction:row;flex-wrap:wrap;background:#edeff2;box-shadow:inset 0 0 5px rgba(0,0,0,0.05);border-radius:4px;font-size:.9285714286rem}.switches .switch{flex:1 1 auto}.switches .switch .switch-label{padding:.4464285714rem 1.25rem;color:#8b969e;display:block;text-align:center;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.switches .switch .switch-label:hover,.switches .switch .switch-label:focus{color:#313539}.switches .switch .switch-label.active{display:block;border-width:0;background:white;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03);border-radius:4px;font-weight:bold;color:#313539}.details .details-content{margin:-1em 0}@media (min-width: 961px){.details .details-content{display:table;width:100%}.details .details-content .detail-group{display:table-row}.details .details-content .detail-group>*{display:table-cell;vertical-align:top}.details .details-content .detail-group:not(:last-child)>*{border-bottom:1px solid rgba(0,30,60,0.075)}}.detail-group{padding-bottom:1em}.detail-group:not(:last-child){border-bottom:1px solid rgba(0,30,60,0.075)}.detail-group .detail-header{white-space:nowrap;width:1px;padding:1em;padding-left:0}@media (max-width: 960px){.detail-group .detail-header .detail-label{color:#313539}}.detail-group .detail-body{padding:.5em}@media (max-width: 960px){.detail-group .detail-body{padding:0;margin:0 -1em}}.detail-group .detail-body .detail{margin:0;display:inline-block;vertical-align:top;padding:.5em 1em}.detail-label{margin:0;text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:500;color:#8b969e}.detail-value{color:#313539}.controls{display:flex;flex-direction:row;flex-wrap:wrap;-ms-flex-pack:justify;justify-content:space-between;margin:-7px}.controls:not(.controls-block){display:inline-flex}.controls-nowrap{flex-wrap:nowrap}.controls .control{padding:7px;flex:0 0 auto}.controls .control .btn{text-align:center}.controls .control .btn,.controls .control .form-control{width:100%}.controls .control-grow{flex:1 0 auto}.controls .control-full{flex:0 0 100%}.token{display:flex;flex-direction:row;display:inline-flex}.token-element{flex:0 0 auto}.token-element:not(:first-child) .btn,.token-element:not(:first-child) .form-control{border-top-left-radius:0;border-bottom-left-radius:0}.token-element:not(:last-child) .btn,.token-element:not(:last-child) .form-control{border-top-right-radius:0;border-bottom-right-radius:0}.tokens{margin-left:-5px;margin-right:-5px}.tokens:after{display:table;content:\'\';clear:both}.tokens-actions{float:right}.tokens .token{float:left;margin:5px}.setting{display:flex;flex-direction:row;margin:0 -30px}.setting>*{padding:15px 30px}.setting-header{flex:1 0 28.5714285714%;min-width:200px}.setting-header-text>*{margin-top:.5rem;margin-bottom:.5rem}.setting-header-text>*:first-child{margin-top:0}.setting-header-text>*:last-child{margin-bottom:0}.setting-header-text h1,.setting-header-text .h1,.setting-header-text h2,.setting-header-text .h2,.setting-header-text h3,.setting-header-text .h3,.setting-header-text h4,.setting-header-text .h4,.setting-header-text h5,.setting-header-text .h5,.setting-header-text h6,.setting-header-text .h6{display:inline}.setting-header-text h1 a,.setting-header-text .h1 a,.setting-header-text h2 a,.setting-header-text .h2 a,.setting-header-text h3 a,.setting-header-text .h3 a,.setting-header-text h4 a,.setting-header-text .h4 a,.setting-header-text h5 a,.setting-header-text .h5 a,.setting-header-text h6 a,.setting-header-text .h6 a{font-size:.9285714286rem;font-weight:bold;margin-left:.75em}.setting-body{flex:1 0 71.4285714286%;min-width:600px}.setting-row{display:flex;flex-direction:row;margin:0 -4px}.setting-row:not(:last-child){border-bottom:1px solid rgba(0,30,60,0.075)}.setting-row>*{padding:4px}.setting-row-label{flex:0 0 25%;min-width:120px;padding-top:8px}.setting-row-response{flex:1 1 auto}.setting-row-edit{flex:0 0 auto}.setting-row-actions{flex:1 1 auto}body:not(.editing) .setting-form:not(.editing) [setting-active]{display:none}.editing [setting-static]{display:none}body.editing [setting-old]{display:none}body:not(.editing) [setting-new]{display:none}.editing .setting-row:not(.setting-row-border){border-color:transparent}.logo{display:block;overflow:hidden;color:#313539}.logo,.logo svg{height:25px;width:88px}.logo svg{fill:currentColor;top:-1px}@media (max-width: 540px){.logo{width:25px}}.kpi{color:#313539;padding:20px 32px}.kpi-lg .kpi-value{font-weight:bold;font-size:1.7142857143rem}.kpi-content{display:table;width:100%}.kpi-content>*{display:table-cell;vertical-align:baseline}.kpi-graphic{white-space:nowrap;width:1px;padding-right:.5em}.kpis{display:table;width:100%;width:auto}.kpis>*{display:table-cell;vertical-align:middle}.kpis .kpi:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.kpis .kpi:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.navigation{color:#313539}.navigation-row{height:52px;margin:0 -15px;display:flex;flex-direction:row;-ms-flex-align:center;align-items:center}.navigation-item{flex:0 0 auto;padding:10px 15px}.navigation-grow{flex:1 0 auto}.navigation-link{color:#bec5c9}.navigation-link:hover,.navigation-link:focus{color:#313539}.navigation-pad{padding:0 20px}.sidenav{z-index:20}.sidenav-overlay,.sidenav-content{-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.sidenav-content{overflow:auto;-webkit-transform:translateX(-120%);transform:translateX(-120%);top:0;bottom:0;left:0;background:white;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03);position:fixed;width:320px}html.touch .sidenav-content{overflow:scroll;-webkit-overflow-scrolling:touch}.navigating .sidenav-content{-webkit-transform:translateX(0);transform:translateX(0)}.sidenav-overlay{display:block;position:absolute;width:100%;height:100%;top:0;left:0;position:fixed;background:#f0f2f4;pointer-events:none;opacity:0}.navigating .sidenav-overlay{pointer-events:auto;opacity:.5}.sidenav-body{padding:0 24px}.sidenav-region{padding-bottom:.25em}.sidenav-divider{display:flex;flex-direction:row;-ms-flex-align:center;align-items:center}.sidenav-divider:after{content:\'\';display:block;border-top:1px solid rgba(0,30,60,0.075);flex:1 1 auto}.sidenav-divider-heading{flex:0 0 auto;padding-right:1em}.sidenav-section{padding:24px 0}.sidenav-section+.sidenav-section{border-top:1px solid rgba(0,30,60,0.075)}.sidenav-link{color:#8b969e;display:block;padding:.25em 0;padding-left:40px}.sidenav-link .glyph{position:absolute;left:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.sidenav-link:hover,.sidenav-link:focus{color:#313539}.sidenav-link:not(.active) .glyph{opacity:.3333333333}.sidenav-link.active{color:#ff694b}.sidenav-link-main{color:inherit;padding-top:.5em;padding-bottom:.5em;font-weight:bold}body.navigating{overflow:hidden}body.navigating .navigating-hide{display:none}body:not(.navigating) .navigating-show{display:none}.navigating-overlay{display:block;position:absolute;width:100%;height:100%;top:0;left:0;background:#f0f2f4;opacity:.5;display:none;z-index:9}.navigating .navigating-overlay{display:block}.navigating .navigating-blur{pointer-events:none;-webkit-filter:blur(5px);filter:blur(5px)}a.help{line-height:inherit}\n',""])},function(e,t){e.exports=function(e){return"string"!=typeof e?e:(/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),/["'() \t\n]/.test(e)?'"'+e.replace(/"/g,'\\"').replace(/\n/g,"\\n")+'"':e)}},function(e,t){e.exports="data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAx8AAoAAAAADDQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAAA9AAAAGAAAABgcMR/82NtYXAAAAFUAAABUgAAAVIcdx1qZ2x5ZgAAAqgAAAaMAAAGjFUyrzBoZWFkAAAJNAAAADYAAAA2FVU8pmhoZWEAAAlsAAAAJAAAACQM5gWHaG10eAAACZAAAAA4AAAAODwoBKlsb2NhAAAJyAAAAB4AAAAeDW4Ltm1heHAAAAnoAAAAIAAAACAEVARLbmFtZQAACggAAAJSAAACUpr8+SVwb3N0AAAMXAAAACAAAAAg/7gAQAAEBGMBkAAFAAgEEAPAAAAAeAQQA8AAAAIwADICHAAAAAAFAAAAAAAAAAAAAAAQAAAAAAAAAAAAAABVS1dOAEAAIABmBRT+1AAABfABkAAAAAEAAAAAA4QEsAAAACAAAAAAAAMAAAADAAAAHAABAAAAAABMAAMAAQAAABwABAAwAAAACAAIAAIAAAAgAEYAZv//AAAAIABBAGH////t/8D/pgABAAAAAAAAAAAAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAECAwQFBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwgJCgsMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAB9AK8AAMABgAJAAwADwAANyERIRMnIQM3EQU3FwEXBwAB9P4M+qoBVIyq/o6qqv6OqqoAArz+z//+1P/+Ai3//wIr//8AAAEAFADcBWUD1AAkAAABIgcGBwEGFRQXFhcWMzI3NjcJARYXFjMyNzY3NjU0JwEmJyYjArwQDg8M/agXFwwPDhAPDw8LAiACIAwPDhAPDw8LGBj9pwsPDw8D1AYGDP2oGCAgGQwFBgYFDAIf/eEMBQYGBQwZICAYAlgMBgYAAAAAAQFA/68EOAUAACAAAAEiBwYHBhUUFwkBBhUUFxYXFjMyNzY3ATY1NCcBJicmIwGQEA4PDBcXAiD94BcXDA8OEA8PDwsCWBgY/agLDw8PBQAGBgsZICAZ/eH94BkgIBkLBgYGBgsCWRkgIBkCWAsGBgAAAAABABQA3AVlA9QAJAAAASIHBgcJASYnJiMiBwYHBhUUFwEWFxYzMjc2NwE2NTQnJicmIwUVEA4PDP3h/d8LDw8PEA4PDBcXAlkMDw4QDw8PCwJYGBgLDw8PA9QGBgz94QIfDAYGBgYMGCAgGf2oDAUGBgUMAlgZICAYDAYGAAAAAAEBQP+vBDgFAAAgAAABIgcGBwEGFRQXARYXFjMyNzY3NjU0JwkBNjU0JyYnJiMD6BAODwz9qBcXAlgMDw4QDw8PCxgY/eECHxgYCw8PDwUABgYL/acZICAZ/agLBgYGBgsZICAZAh8CIBkgIBkLBgYAAAAAAQAU/7AFZAUAADgAAAEiBwYHCQEmJyYjIgcGBwYVFBcJAQYVFBcWFxYzMjc2NwkBFhcWMzI3Njc2NTQnCQE2NTQnJicmIwUUEA4PDP3h/eALDw8PEA4PDBcXAiD94BcXDA8OEA8PDwsCIAIfDA8OEA8PDwsYGP3hAh8YGAsPDw8FAAYGC/3gAiALBgYGBgsZICAZ/eH94RkgIBkLBgYGBgsCIP3gCwYGBgYLGSAgGQIfAh8ZICAZCwYGAAABABQAFAb0BQAAJAAAASIHBgcJASYnJiMiBwYHBhUUFwEWFxYzMjc2NwE2NTQnJicmIwakEA4PDPvt/kQLDw8PEA4PDBcXAfQMDw4QDw8PCwRMGBgLDw8PBQAGBgv77AG8CwYGBgYLGSAgGf4MCwYGBgYLBEwZICAZCwYGAAAAAAEAFQGkAwwDcAAkAAABIgcGBwEGFRQXFhcWMzI3Nj8BFxYXFjMyNzY3NjU0JwEmJyYjAZAQDg8M/tUXFwwPDhAPDw8L8/MMDw4QDw8PCxgY/tQLDw8PA3AGBgz+1RggIBkMBgYGBgzy8gwGBgYGDBkgIBgBKwwGBgAAAAABANwA3AKoA9QAIAAAASIHBgcGFRQfAQcGFRQXFhcWMzI3NjcBNjU0JwEmJyYjASwQDg8MFxf08xcXDA8OEA8PDwsBKxgY/tQLDw8PA9QGBgsZICAZ8/QYICAZCwYGBgYMASwYICAZASwLBgYAAAAAAQAVAUEDDAMLACQAAAEiBwYPAScmJyYjIgcGBwYVFBcBFhcWMzI3NjcBNjU0JyYnJiMCvBAODwzy9AsPDw8QDg8MFxcBLAwPDhAPDw8LASsYGAsPDw8DCwUGDPLyDAYFBQYMGCAgGf7VDAUGBgUMASsZICAYDAYFAAAAAAEAeQDdAkUD1AAmAAABIgcGBwEGBwYVFBcWFwEWFxYzMDEyNzY3NjU0LwE3NjU0JyYnJiMB9Q8PDwz+1AsGBgYGDAEsCw8PDxAODwwXGPP0FxcMDw8PA9QGBgv+1AsPDxAQDw8L/tULBgYGBgwYICAZ8vMZICAZCwYGAAABAEYAqgOiBAYAOAAAASIHBgcJASYnJiMiBwYHBhUUFwkBBhUUFxYXFjMyNzY3CQEWFxYzMjc2NzY1NCcJATY1NCcmJyYjA1IQDg8M/tv+2gsPDw8QDg8MFxcBJv7aFxcMDw4QDw8PCwEmASUMDw4QDw8PCxgY/tsBJRgYCw8PDwQGBgYL/toBJgsGBgYGCxkgIBn+2/7bGSAgGQsGBgYGCwEm/toLBgYGBgsZICAZASUBJRkgIBkLBgYAAAEAFADcBDgD1AAkAAABIgcGBwEnJicmIyIHBgcGFRQXARYXFjMyNzY3ATY1NCcmJyYjA+gQDg8M/eH0Cw8PDxAODwwXFwEsDA8OEA8PDwsCWBgYCw8PDwPUBgYL/eD0CwYGBgYLGSAgGf7UCwYGBgYLAlgZICAZCwYGAAABAAAAAQAAywcftV8PPPUAAwZAAAAAANfNTDoAAAAA13yohQAA/68G9AUAAAAAAwACAAAAAAAAAAEAAAXw/nAAAAcIAAAAAAb0AAEAAAAAAAAAAAAAAAAAAAAOAfQAAAV4ABQFeAFABXgAFAV4AUAFeAAUBwgAFAMgABUDIADcAyAAFQMgAHkD6ABGBEwAFAMgAAAAAAAmAGYAoADgARoBeAG4AfYCLgJsAqoDCANGA0YAAAABAAAADgA5AAUAAAAAAAIACAQQA8AAAAB4AAAAAAAAAAAADACWAAEAAAAAAAEADgAAAAEAAAAAAAIABwAOAAEAAAAAAAMAIAAVAAEAAAAAAAQADgA1AAEAAAAAAAUAPABDAAEAAAAAAAYAFQB/AAMAAQQJAAEAHACUAAMAAQQJAAIADgCwAAMAAQQJAAMAQAC+AAMAAQQJAAQAHAD+AAMAAQQJAAUAeAEaAAMAAQQJAAYAKgGSVmVsbGx1bSBBcnJvd3NSZWd1bGFyMS4wMDA7VUtXTjtWZWxsbHVtQXJyb3dzLVJlZ3VsYXJWZWxsbHVtIEFycm93c1ZlcnNpb24gMS4wMDA7UFMgMDAxLjAwMDtob3Rjb252IDEuMC43MDttYWtlb3RmLmxpYjIuNS41ODMyOVZlbGxsdW1BcnJvd3MtUmVndWxhcgBWAGUAbABsAGwAdQBtACAAQQByAHIAbwB3AHMAUgBlAGcAdQBsAGEAcgAxAC4AMAAwADAAOwBVAEsAVwBOADsAVgBlAGwAbABsAHUAbQBBAHIAcgBvAHcAcwAtAFIAZQBnAHUAbABhAHIAVgBlAGwAbABsAHUAbQAgAEEAcgByAG8AdwBzAFYAZQByAHMAaQBvAG4AIAAxAC4AMAAwADAAOwBQAFMAIAAwADAAMQAuADAAMAAwADsAaABvAHQAYwBvAG4AdgAgADEALgAwAC4ANwAwADsAbQBhAGsAZQBvAHQAZgAuAGwAaQBiADIALgA1AC4ANQA4ADMAMgA5AFYAZQBsAGwAbAB1AG0AQQByAHIAbwB3AHMALQBSAGUAZwB1AGwAYQByAAAAAwAAAAAAAP+1ADIAAAAAAAAAAAAAAAAAAAAAAAAADg=="},function(e,t){e.exports="data:font/woff;charset=utf-8;base64,d09GRgABAAAAAK4wABEAAAAA/GwAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABgAAAABwAAAAcfg3B8kdERUYAAAGcAAAAHgAAAB4AJwE1T1MvMgAAAbwAAABLAAAAYHN/dWZjbWFwAAACCAAAAjgAAAS+1h8aA2N2dCAAAARAAAAAFAAAABQDqgVBZnBnbQAABFQAAAGxAAACZVO0L6dnYXNwAAAGCAAAAAgAAAAIAAAAEGdseWYAAAYQAACaMQAA3UhCB8sWaGVhZAAAoEQAAAA0AAAANhEbVxxoaGVhAACgeAAAACEAAAAkDwIHkGhtdHgAAKCcAAACIwAABLqV4QERbG9jYQAAosAAAAJWAAACYL9F9WRtYXhwAAClGAAAACAAAAAgAlUBsW5hbWUAAKU4AAABMAAAAkQJm1bMcG9zdAAApmgAAAeOAAAMErscz7VwcmVwAACt+AAAAC4AAAAusPIrFHdlYmYAAK4oAAAABgAAAAb3vVi5AAAAAQAAAADUUbVqAAAAANTcZEsAAAAA1N+oPAABAAAADAAAABYAAAACAAEAAQEuAAEABAAAAAIAAAAAeNpjYGYrY5zAwMrAwmrMcpaBgWEWhGY6y5DGlAbkA6UQgAmJHeod7sfgwKD9/z/b2X9AHWyXGWOAwowgOcYvTHuAlAIDIwCMvw7BAHjazZPNS1RRGMafV0ebrxydUeeoOF5nnA+bwFqYu2hnEoh/gCCE4VoU20a0cNVeXIirkjEkFxEUiIuCaCOuxsEaxc07iyAxk0CYnnuOLQoCFy068Lu/55x77+G+55wLoAlAI7lOwoBMQuAPveao2PHGi/GA3GD/Lu7wnSCKXtgb8qa89XQ8ncr0ZArZxex5TvIxbdaw9mqf5nVYR3Vcp3VW53VJV3RNN3RLd7Ssh3pcC9W663XOWPTwl5mgQY1ypn4d1BEd0wmd0Tld0GVd1ZJu6rbuakWP9KQWqdfr5YNA9aD6svrgMz6d7v/Y/1J5WumpJPfCptt0GWOSptN0mHaTMHHTamKmxVw1URMxIRM0V0yzaTIB42r+Ny3qXxomL3o3/Uov4Hp7lMd1RYAeciBGTznQSq870Aak4w74TjmQADI9DrTTBQc6gOyiA530uQNJICcOGCAfc6ALUEqbeemmg8T/tn6aVWgv8wDd58At2r+XZx6hB8kw823a748y36PHyDgz10AnyDTzfXqGzDI/pOfIPPNjeoEsMT+hl8kK83N6lawxv6BLZIP5Fb1Jtpjf0Ntkh/kDvUvKzHt0hRwyH9BH5Bi2WD0BaiHmMzpCWLe0QE5KFkiKfm+B9EG+iQXi0c8skH76rQWSpt9ZIBn6owUyQH+1QLL0mQWSg5xGLJA83Ua4t1Kg2y2Qa3SnBVKEfH9kgfBfFe7Vr6MqDf5B++P0/X6OG/EftMTlH227zEM/AZQ63VMAAAIRAJcAmgC4AQQBeQC2AOIA3HjaXVG7TltBEN0NDwOBxNggOdoUs5mQxnuhBQnE1Y1iZDuF5QhpN3KRi3EBH0CBRA3arxmgoaRImwYhF0h8Qj4hEjNriKI0Ozuzc86ZM0vKkap36WvPU+ckkMLdBs02/U5ItbMA96Tr642MtIMHWmxm9Mp1+/4LBpvRlDtqAOU9bykPGU07gVq0p/7R/AqG+/wf8zsYtDTT9NQ6CekhBOabcUuD7xnNussP+oLV4WIwMKSYpuIuP6ZS/rc052rLsLWR0byDMxH5yTRAU2ttBJr+1CHV83EUS5DLprE2mJiy/iQTwYXJdFVTtcz42sFdsrPoYIMqzYEH2MNWeQweDg8mFNK3JMosDRH2YqvECBGTHAo55dzJ/qRA+UgSxrxJSjvjhrUGxpHXwKA2T7P/PJtNbW8dwvhZHMF3vxlLOvjIhtoYEWI7YimACURCRlX5hhrPvSwG5FL7z0CUgOXxj3+dCLTu2EQ8l7V1DjFWCHp+29zyy4q7VrnOi0J3b6pqqNIpzftezr7HA54eC8NBY8Gbz/v+SoH6PCyuNGgOBEN6N3r/orXqiKu8Fz6yJ9O/sVoAAAAAAQAB//8AD3jaxL0JeBRV1j9ct6q6ujvpdHpfknTSe6ezddJrFtIECCEEAtghEVmCAiaIQmSRAFFRkcUVFEVBxgUzGh3E6oCKCoq7KDWO44Cvvjq+OOPMuIyjjDISui/fuVUdCA7O+/2f//N8H0m6qrq6quvee875/c5yLxSiKKqP7ZcVUUbKTfF0gFeEeIPA5wQRbwrw7DFeF+TlAq8OJs2olKqs0hpCDq0hGNE6gpGwy6ENO41ah7MePX0E7YnHceIIvqieFrpxor4e7enukt6kKNmZn87cIXuPa4bvCVP11ESqjbqC4isDvB1uHuDHCHxrgE8I/IQAXy3w9fDVAuKnB/hJx/hpQrIdlSanTdLqnlMX2Surx0xg3eYaKqm2a3WDJnNJTU0NP0Y7aHX7YC+ZaNXqko1x2Kuv1up4qqayiglH3aEgazIbaDnHupwVtM9L6yPhkLmQDcbp0SgaCprkRs5ITrp9YZ2BDQXdYbedMZhCwWgk7HU5OZO4T3YVh9GMd95FHW8zs+wGvOvMum8emCtzznrJZpLb5i3h9++5ZqbRyGmylLKQFv/362/i/84tQoa33kYm/BW+2rFx3vxbNi2Yt/Gaxsrg+PHBStm0xuVjxi5rzEu/l5y2tWz8FPdB2psKyQsVnD7oKyosKc3NVehU8rS1bcWKNrksPqOubkZtumrexlvnLti0qXTeuHHzGmEcYSzpLrafCVFKSieNJfRhViCZfXbkxDFz1rP+ePz0h2ScursoioFLsxQUu5kqoLxUJXURxcsCfHaI9wh8RZAvCvAlId4q8HqQiaoAj47xNoG3aZJlqJRXC8kgjE2ZTat7Rpattzp94sgUebS6fRRSmxRwWFmlMRTS0KExEyv2ZgXtcrJyr9vlVCO9BgbGTPodkTHSamAAxqy4b+aDqHHVdWjcg89+M3b5vTMexs/39uIDD828b0XfV9cj9dxO/G3fV8xzs5B27VdfrcX/YBo+f3px9aObbtn1t0+X7rky+vDGTQ9Fr8SfIfW2Vb33o9ze+/AJ/P39pK1YYPs4gQpRq6j11K8oPhrgbxL4awPQKsRvCPDUMd4R5OcI/Cp41SQvgVa2C3xTcO/i9ksUpXy5wJcH+MUC365JNmWX8jqB12mS0+BT1UHocN4STG6EHimfAz3gq5y1YCX0AL9YO3hFz3Iip+26Z21R9uIl195E3tdpk/FJ8O403V6NsbVN7LtrbwL5rQ7XQL8ZDWaQuVi0HoWJyPq8kXAsCj+RsA/EUM7ZEHSsGX5NRoOck3NGPfm43JCL1DK5GhkNRchURJtsyOurQDD0TqNBxsnhJoao2TSaJreKRoI+r9kUYLwRXwzUwGyScw67z8snP/k0yZdePropR75gwR3lS9Dgvv/6cN9g2eyJcY7LYhcsuLNqUe+RodNH2AOjtBa1Rm7g8nUmq8rqmXFAftON66IRjG+S7W+imcJCq4Gh1WpLYaFK5XL5Zu9nPU/9+F9vjMp/Dv9whnpBO2X8NPg3/kTJnGWjx+Zwc0Y3zLklfEPbibFTp02bOvZE8eyrJo2SyZXsnIbRczZUr2lnDyxZ0hU/UKM15+oVVoVzlD9a7DdYfdMPxDfKSooXjKuvv7atjNk4dj8DX+90FNo4WYE1VBVkmLJS34z9Yw8X9PQUG7uvVFNq0JsuBSULUbmUnjJT+VQR5aJ8VCkVAAmJUXXUaGocRUVA9x0gulpQf4cT+jkSMjKZP23EYURn93++PXeuvZb7vLa9o+ZUYU2HAP+6BZZKUbARuo4IXQLajsl7J+vb2uqZPTUdHTWpzYJAdx85go8IApw7u4/CF96Sz0BzRBk/Kd/D9VMmyk75qfHUYDFFlfKcwBcEeA1IeYko5WaBN2uSbpDcbCFZCjLrNoPMyjhNoUMUxIJirW5vNlXkFHVYa9AVItbujiNdJExTRHlZc1gHSms3I68SmbQGmnXZFzx7ApWjBlT2/TPzH8BDeOvh9Wc+fHbthG+veRMZt6PcI6f/PIB0rG3gbfzYEfwP+r2H8Qcnnl0gXvbw2+hKJH+gae0zH+JN25Hp7ZUDp//8Jn6Ptb2Hf3gHP3FYtHHn/lVJxxEYv4WUFdrKM1L78gK84RjAVjIfWiU3AAqYakQLSEaRAgOEQHsk+wMq5nNyn2xnHxJQ0c2fb7CFg/h/nrvn9F2s/4GP0cP3HkPmt2/+dK1i4A93/nhXhZ39AxhZijqzh6vnWCobJIYyepSgW6CcciUyj0bmoMlsMuciL/ornaDZcaO29qRT6T1WT7ktr7N0IVPVH0pcSbfSrMN786itlvTp9N43+qvYWOnCS6o8XZRkx8/I2cPcZsoBaIl4J5gm0ho+P5h0iaYcVD4WRz5tISLqajbBQQXyVTARl9YLeu/Pv+/QFRt2yS69Q1/pZBiVP1Zc0FBZ29pZ1X/v0zsfbZk8S+GuOjSfbdGun/7BaKPKO2Hqr+9aXVU3feXl/qHDkfro9xQ6cwZ/zclAhvIoylyI4BsiWo94d/HAp5WJBy7X8zctXk8fvXLJ6kXNL65bsl52+oWrlq7q6p03qsz/4MXMNwMpbPBXvfX26Er/wx2yXd+ebjT4K98S+zAk28F1gd5VUDXiyJXDyAUCvA8kM8i7Bd6tSdpAOBVCspIIpw/A3mp3ECNq0ybz82rIkFb9TDEpLzycWRsCy1eIwCK6nMTGeX1ag5r2+voSLNW+qrcjRbWtQbeUl5e/0L4mvMDtU5XkqrKVDEMnmsLTLpvpSvStaZPt6FjZ2346euP4CaPt9Al/08bKnk01RqM7WNudnf5rpKOikFWI7biJWyT7CSTBQ00RkdMJIxXgjdAar4iWFgAFTbIImqIRkj5oSpEFFEtuMMoIBGi0vBqUzSkDKZXX8PnavYCbGlHlLIjAZgyZgKD4kAicdkDMMBUKFoLgUkBk0CL+uxufuA+tH9PSWVWP+zqvHPwe468G5iB638o/3IjxMyv/cAODMf6OX9SB+8aM6axpQjfe+9yNcHz5k/iefYi+/g+9z2J8w1GwG+iMVz6BW0xZwAaGgUMgPhLgy47xKiEZFQUvaiKygEzRGAKRYzk5UiMzouKAQGrGR0XNhYzZxPmIMCIfCrdMfMTNNM5/yYn0BWzprGs3X9tlwV85i1Wpg/RvchLzbFYuMHZCPq3RBMJbl7WrVaqq2PbaaHv2bTsntYS9zDhVsRPpLF1w4ZwypgB/6XxpfuoA+v3chNZW0NoQRGZmh0aV07FsW6QyN0s1vTa6Iwr6eQZTffJJwGl1YMnLKZ4N8DkCMQpeGJPiQNIPbUnm5QDMZueCNHm1e7M0Sq3Y5bGz8iRHIDw+5DXSoM85iACrx02EyUckjR3v4Lod4/2pb73VtZ7Ut34ur8SElqMV3rpaJ7oGLTc5DAVVWepTdY5P7WPHEgEy4m6jEW03+lFF1Jz11ttG49tvZelcASXIkChHS7n9nB9QqIiiLOissdXQFchtZ9VIScfAwCgRmJmLH/oAyZEFyT946GLYx6fw3/CpDx5CeagOv7EPBmgUj18XX/Bh5hLp5MU/uygdhc/V8fgwivH4DXw4iarx2+JzgFZyFOhl/r/j3ohnAF0S2ntXdpwOgS41X+CLuxJrVrexQkfvqvbU/F/6rnNtHkvxXIAvBEySbLhd1B1wRQwaYsYJRjlAd/LBmu/lcjUyEaLMhXCEsrKpjL78e6+hiEMb0jqMDq1L+0vdhtCD7wP8dr//S32FuffRg3je+3g++hX1v/XRyG88r5NCaAdB+W5hRM+kQwLagbsE3I22U9T599Zf8N7G8+/JUuffTchgJHdc9iClhXsgXhdIUtkE/pP6jCMAIxjVEAqZi8gru5n+nD6+efO6fc9dt3L5umdfwD8yfz24IT2b7t+A1qzr7b3yyt70+TJqBg+OjBeMj1EaL8uI8TJL42WF8TKfN14GDpQOZYFvpjES9aNqfnnYjL84XKziPwzU++Q5xfbvgOf0gB0jEmULwUPyWUHRJlPDzwkCRbqF2GQHPOdgloapqak520USzZb6COxcGOhxEZJIsgY0wHu2255Zt6z3umd731/b/9DNPfM+OnrlonVTWjvSd6bvmMn86cA60pHrDhyUOnLpu9fdvH3ewYPzpkzAP7Wln6MnTslgfrM8i0uA70ZpEaNEDHJkI9r6Cl1Olx+iLemlJ08yu/CSdDV6EnfQb6O7aT49TcJRth9w1A989WKK+CZBgaAQsXXhAF96jK8U9uoqS8F1AcJXqUkqodFOIRkhg6ODRqtkXuI2KysBgGw1vFPLF8JIyYJwijI4a8gIaR1hqdlGAwe+BQJfQ3Qm4ywgU0zsJwe4IxQHpjKOvC4vml4Tuf3GusjUQLB6bWGl0oE4B0PnGEvtcx+wdvC/wT+8dtenaIbimtmz1ihWzprFRha1zWxpbQuvdRa4r/KH3rUUOA3hoqr8eJ//2ptOX7+mY8vQly+soume/X0yieOyZwrlC7jrgOOOolqI9YA2Nwt8Q4C4rXmSTE4K8KOO8SGBD0lUAmRyMjQ7NAp4rjvPO66RALBNyzvJmOtNOhWMLhFDn5f2uuVqmSeicwRF3yoXgbPlikBjRwPykb9zPhgTR3UoaAIHqBRoGMc8AAZl7svbke2L38yimR1n8KMv3/DP3+5eNYYeq0Kz93wQ0V1WM/ZTZUGOqVSeLy8vqHBYLpridKhkrTVsvJWdUs/WttKvvIwfO3UXQy8Y/BrZt7+MLvlpC40mXJf83Y/zFOjSR3ZcMqGw2VPZptCsLNHonTKjrMgw3hny+auqY4r0dTUtU+prp8imivIxLFf6kZIll+Ujj0wPv+fL2HF0xZLlaCH+aC0Gh2Ltv4vcFgUxhYov8VaM0eJhvhqSrwcZjBEOTgf4POj76gAfOkbIWw30uCIEwpVHejlidETCHuKNip4s+QmD40lCAnI1C64s8WMJgxZ/QN7krHw97jx4Z6AyV16co8llPFbOP/uJxX+babbrlQzHqRilUpnN5WhyiuWmsvI7Xsadqo8+6t46fktfeSQ6rziHsRfWTsjdV7vyinErbbWBOu9o+/hcBWMyzCyyMznFl0WiFdduHr+V9BUWmD2cANbNRThpFpEiwuUc0B53gLccA3xKeqA9hcDg9qm1RkO+aNbyNWDkFDlqo+QpmeMoZOLkjBjz8BEOqteBlUXcuWBSpO6pghyk7usUFqNrHqnfNrvCubnj4R68EGnoRfOWPbL40tX30jtnFregWG36X/iet36d6FtHO9Dkd+jtnVfuWDhj8Y7zdKAM+r5M1AFJ+iMCia1ppHEIHiOST8YhG7T6F6VdBo8dlDMcMB0zMHt46igMip6YPRgHl9P7n0S7a+mJ0fMiHcbCwALP/D829kVaLJbyK4/Ov6hvbuvYpv8gzn2zV7+B909pqZq/7CiKNTXRtro5veMuGSvhTbOCAtmtouZRXRRPBfgxIaDTiJ8v0lJwieSaZC0odovAt2iSY2BvrJBcQJy+MmiopYav1T7H5mr1wVGd84iut+gGaTSDmLuxY2AEmydflJgujqCFgs/PICEXh/Y88RSFkyHCSYvCaRwhmeBunD2Sk1etI0LCNORyci24ScOSzcDFsjvw7TuX+3wqxmlXFhgYfXDSignPtVoKcxCbQyuMSruTUfl8y3buZrey1jxGlZ+XSI+uR++qc71/XtEeVTF5VtaqYa3V3WNvi+WalDIZrUL7Ud7ch8auW15SGZhttJjm1GsGSi5uH1u82NUcafXO0LDG8ByTxTg7UFmyfN3YpksY00qtRjve5XD11F9XE+vBwjwUM06YE7ysw9E0Hk6tVPX5ExMrEuaSQGFEH5eLfKKLE2QhSkMsCNAb+BkmJRG0h6WGBNl64jOd3sO8hjcfxwl8vC9BJ9pXHR/mNCEYxy4qCnZ6vDiOxEKMC/BV4iD67ce0vD3Ea4VkI4xdlR/Gwl3Dy7VgMniAIZneSGA5mQeDlKwZLUbGLmxFmOG+FqNhI4dKjkRWFiGszMF14S2vbA1UGOV+lUbDeAoYS7zz7plfz8lza5RyWS6jyFJmKUvKmNyqwJZDrbNYAQFPC2ExxvLRypvH37WmrDo216emHfZqMC0VnbOby1Y64mMCTZ6pWjAt5sL5efmWS6sj5X1bxhsc6F48fAepPyhK/iHwEx9VAj+DDInO+AReESQBGp0k4qUBEmClkgXg9yaL/aTRGTZYD0AUigz/SczQhkJGlzHz59GioF0esgcF8V+V4yfBUSXtM1k0lbAHg/Y+4Qgc9rkrKtx9sAMHdBc8HQIfcJt8HKcgzFZnqkNizEQccDEEAAYMfCKnHCFD+W57FN2BdqFHHLk5st3lBntKcMx0pAR6S0V6fbmbXpPeoMq2Oui+CjsTczhSh0fwWwUgxXjQauL3qwXeE+DHCYSuVEDLm0SGphV4rSY5ClS6REhOALEYpdXqnqU5a57DUyXqrEdNKIpSSyIC47R8Qw0f1u0zFpSYRxFVr9Dy1WLYymQn7rNI5IgRA5FBUbMpFgX8ZsHJ80gxVontueEz5BCukLQaceRK7gs0alnHmDFuT0lBR3TS5EURFBjomjDR4ViC37sTv7+c7rN1X7/zPtS4bNkKfHRJV1OTze/2dNddH66txQfv6bKVltQi24NfLEu0NBUUJKILW6cA/xqY39DgSDgWeW6DW6wttnXfg8Yte+jBZb2qJd0Tm2y2rrCmumrypFp86J75tnqKOYPP0AoNt4dSU4WUl6LykRaMswPpQ4wXnhT9W5BSr0Qevdbwx19dga5Gz+Ejv8ufPLSlEe2usMvetZeX24ci9opPD4LbmIWm38NWpXeh5kUPEymlxzSbMFsw9AdHVZWDeYu8pvbx6FncD5iFn8f7RNw/8z0+Lt/IfUnVUZTXJHUjiUSJYYEKOko6upCGI9A/nxeOKhA5A58kp0iIgDx27oQFt71/dID5ycBZPZX6lGL+a/23B2svZv65pGdUW74zmIqWhayW4Cx6wJnf4krPqK20+Me+nmDefTRivXPWq7tSiuWv/+PSe8gdKp0muT6V0x6r2tT/5uXMPy/P10xftDqYipQpmdwI3KHoIkNhenrsluWOsUZyhzdm3WmNPJpSXAftYYmdY4mdyxYZQIBqkNhMiFcKvD1I8lTeEG8U+DLwIypFKVUFeRkIKrxqkhaQVXeQJEf8wWRVxtUCZliPwqXIaRy5j37h/f79/Wd/aWHkEcrq73/+0Udpg3ic6ht5NMzBxHiaCywKb5PiT8BZrMfA1vJ5UvxJJ7GXojwwsMZM+KwIEakRGS0ITimKaCRzEgnbSWaPM9b4+7rn0Yk53X3+2oT/edz99u/BZ00dKY6XtKr8Dodf1VrCFPkTP6IPf/iTP/H55/jz1opMHJoSZDtYgcoBa+IHmSXang3dFSDppKIA2DwSiyax57PR2WjGoP2no3o/K/jjdWWnQ6V15/bLake+j0L++np/SX09utofj/tLRo1CPZl3JM4KPSa7XLaLsGIdZ4ZOiBEj4PV5QV6ZCqTV2NHV5U1si58WbNaqaI89veuEezV9aGkQF9SwY9m+6BI7nEhF0KgqjdjWzQpKlkXZwOesphopXiFyMUcA3C7E14jSUgSt1pAYLp8rEN6SdBVpdc8oTGa5t1Q0aQ4PEMlcqjiWCbmbSYQXXGOwvaKbRVQG/GM5ccFYDdhQ+KMNJugZL1ExUDKAQpfTXz64eDWaja5Cs1cvHiz3+0sHe1bjfnwP7l/dM1jqp2tA49egLHwSb3CvO7BRWbLaqZEbNLlKpa2TFgriYwcmTF2wYOqEgbHxgvwxY3/dPHX+/KnNvx475ndoCUL4DL4bTJFh/9q1M/OVhSzN5YWrAoGML0AdYF5jj8OzURowrcGYEol5Ux841IT6EscZ3CYj8bAd7oVuMAi57nCoxYO/QPmeFgA1/D0+4VrkcjhQHv4LumKhG/Zi+LCjqcuDGtA4T1eTHb+Nqu12dyTsxgfxIQlX8G75a9wn0P+BzIjCcAKFDSCR4so5sw6JoTs5oqCTzPKMoTfJOa8vJ8eK9lS0M8+GzPNMTk/v9uqgakytsQc/XuMdhQ/UhVMt7E5rzSXzq2osRk92zlhVIrrBgz6Z4U7f3VRPP+yuRY3RmqqZ/4O0d1bnWmrxq/iHRMSTvgy1bfJMmGAzxD0Kx4IGjyV6Hh/Sg7ZSINsAs0gCdrlD1DnkQARqz5ryvkQXCtFU+yqFKh3CfW1raIEGOtElBrO7SRwo0Ucoxpq2gyy9prcdH5GO6G4SxCbfeebMmR0KJUeJ2GGk+NwAny+IRqIokLSLCpgvWgLSZ+KXxhwgbrATQOKhnO1QLuKWxctkHTJP/KcDcU+Se8OoaPGnm3vGxJsWYd4/RsE8mJrXVRllHoyUlx8AntFS31Tjl2wBwu/IePCtjFQEPPZx1GCUsJ4a0VvRwWPUixoSFpJx0IswML19RuBRFlEtojXAgWJ1gPN52r1MFucV1UPP6cwmndEhckBfBS0GjszemM6uN6lpQHL4lbu8AdobIYpB/vRGU8wUi6iyV106bxPt/3Vn8XZ11rzd+EfM4x+euux3CoWLedDFZMl0WpfaE94bHAgNNhTkm/UMk6tm2MObt9yzme29Ff+jeyH++pb//mBl9bvHrz/6687OXx97zqFAd+Ml/lHmsoJR5mDzd6++9MNMnxf5ijh5YUFW9umjR9sZpv2opCOC/EOwixzh04RcadE3sq+HjLSAKTQZ1Lb5rP1UUPA5DWWgLKKkSAAfGUZ4uNIDl69p47pI/O/UjkSfwHUNUSSmiHYQ6aCprrY1fYn0DrorvaMLbRNxO32mlGngFlHFFKUnFLlQpmbA8TObFEh0X/S6WJQwaOlHr2kfY7E3ubyqLFmOvki9a5oiG61A3TLlwUPco7fmKJTqORej37y51uCm/2pw5mXlFGQbOava7xhvx7c/r1CgR9ALFt/UaTq0HNWWFiDUfSl68fud9piEW7dwmzmDGJ0wmSlH0B3VRTTI6zPpaIp1N7QBsbnmOdT63R146JIr59k34T/jW/C1aNqSNjx053do0rNwV25u+HF8Lb4d/3mjXcTxkf1W8B96Dv1S79H/oQ/xIqkfzxtHh1YJQyn7Dv0VW4c0tBXvo0HT8X7pcx/TCfZ1wEHob0J9ELFHSsRFIhXolqoq3FsRCYdRIz4QQWrYuTMYRnfAuTB+GPdHhu3quXuAbYsSeyrypyp0S0UkEsGHUEM4HKnAvVX0TrwsHK6IAAJcCpsIXh4m98giL7Id4HcooLdt4H0EqVrwyFqo6dQc6q2MRtYKe021UUUpMQ8AXlUCoUAXh4ifNisIXgnvFQjriQfA1UZ8p6i1rMCzEsPwA/nRJMOwVxckhTyj4VWTrCDMSEzotcPeJUJyLmEhLND3XIuVeOPVYcA9R2kVUexkuxtONE6aLPp8jnxQ/bbp8Bm6Ct4uchUTug+uYUUNX6obLHT7yfVxL3xKOV6MVRpCQRhlJ6czFCIx9+eV603EGQdk53QaAkYawCGaxDVMYmBDRxAULqEzW4ozkQvlJPNDbgAKMXzTru54ov5FZ6jOalTYWmoUhik2F1M6yTXxy1du2XTwwG0bW/pmXLyqd2YHG2wIDv+iVcqKVlvLspZC5GiqtyptrpabFlweT9TQQoI4Y+j5ukoPbYR7tdSmcuDGrkmljGsiPQ1/99JBpDuE5/J9fTMuWYPvS9TXJ+LsZnGD061BhW3SsqbUfZNcTbXik6CLyQ2rCJflzuyQfwmCaaHcVAVYXCfFW0kki/haZaK9JZYWOtgKXWfQkq4D1DTpwaaGHEA3AAUCCNxsYgE8DjHB7XKokTHmGN4lRRAO+JNDHzqcaoVaPbZRlXuVbI8tLt+pto6rPzUt4ac5pJPdHTZl6U+7CoICkyK7qecLgl2304bNbHVJesd85qcxtgl4JV4c7ZLVFDM7mhsb4v39CQ8rb+wurqVpWbVfkLapNUJ/v1CQH8jEFbDAdgGmKCkTqXjKklivOUCoOGGUoJGivhsRGWpt5giFUKjejxMJmhL89Zl9wMur8Rauyx/vJu+czoKDI/74cHxzoXwUFwONyaNIBpFkOmiB5BGTNAIuzYg5AxRiiJiJFTliTAK6EGgayA8D6CTGIFYLzz+6JtBWM8Zd5IyObynpuO3WN7X2wvvwv14eXTa1rbjUXjt1QXzt87LSoXr6/Y1+Dad05uUVuPLo3MIdO1C+tUBVH1a7LPEZFWFvFQisf6OIE/B8h7kIpRItHmXmRGsHVgbollimog1pzeYKr9zl9xtTPbmBityq48ePVxU1T7BzYzyeIY8goMuJdcvgDshOCGRHKWZ6wLadNZvDdtRBEjTykNt6aoLV3dVRK5tQ23FqO1i8blY4aXW7rUNdo9raRrH1uFssSskiYwWcRwDfygIMuQp8xglUGzWfupq6lvqKGpxAbM8YYW/+hDEK0ViUBMAUEduzXHS/VgdJLrpSIDH9i4S9losmKUj1GeKvEy0QOGHggfnAugQFPqghos03B0lQoRVeNckYkiq3NMmlsLdSSF4PY+eTgUXRaEmOgw9qk0UG2MZ1eyv94Vpih2LjwCgFSiI1JJxQrk22X00MkhsMEj+zhi8haQO+Vpe0XwaX0dqkrwy2Sl0yGINtRJv0lsO2Ujeo1V1OvkCt5TU1GY8wQhwtsFAi9gKzD4DTzJjE1IJXhFxKowPWr9MQTqMPR+3ETtm9lA0RCwW+otfJnN3jjGLeBW5ENLYC+LReLBiAPRrAe8T3dXV31fu7/fVfKmyaWtsUQ/3EFluraHZsCjBQUcNElLUN0SiI2Pvvxyn8W4zRCTTtxAnMn0DNIwxakF7I6g2qWtFONRnK3XY6Pr6ppdZYXVlhlU083jUfvmi+vz5j3+g3Wm2qWpvCWDtxok156q9WMJ221mCWPZo7kbkUuGp62zbEoDBitm3D85/8/vsnn/jHP9KPkEcVn5ejyE4X8eOG7J4yg6bWgcDmjjfoWQ07OQLfXGNEBSWFionpR8QvJDqbh15mfsf8i8oFb6CQpK1NcZrgLspjimMFAI2z80Y5FXm4B1B2Ce2qdSgtBICNrDdSgDaEw3hNRvfxcTCm+zMYTygDMLSFaDKm2PeHNATvRVj9N85h/19Yx//CPP43/nGOg5zJUhi5zSRepw3FHEwIOWJxOhIl3mAA/AiX3uFz6YUv0FIwce/Q2imRBZON0Yp8/eSJ6d/iqIDx5i+EfrT0SEpgQjKmqMHvL7Do1UoFE0oJAu7P+CtcF3cNWIMQ+PFiXhF0DrRSqUkaQJ8KpHSiQQkKI+Ny1IS0k3AlyGQo6POCG0O8UlKRiAwqeCtPKpjyhWNxBrYZqs4ZG+t7xlmNi7pstvIxE69FO5ABPXyodmDloY0rmIQ34GeLvIaGPUu6O2+fe93D17c2+o2LF9K39XTZ9KZHV6T3jLp+GvoN+mtX9URNrortjbYtmdc7yjz56IYJo+e2Xl5/rjZuPPc4NRWsz8VUK7RmRoCXHeOnC/y0ID9dk0xAgzqCYC1I6WdyOtiI51Rqjd40rmUyMQQJ7V7z6LF5ok3QPZfvcIcisdq41GIdV4RMpPoSmUj9EVBqoonwnqjaZAvOlLgP2/DojMISqJXLOHGfXAvnOKPZBH2CMrZbo/Hzfj+fr7Q7PgpWaXu0pWVDS5q67E3WTsPCMr58LKtgG4IPBzX+pNudLNFGv4pUGddonWX4y/I51m7rRGun9fJgf1lcxTaGHqJPCYLAeibYH3DNc+00lhTKrLKLqjAftNs2185/yC8r21fmtM40llQNRGaqKlRN9p2OLscD9jrWwk4pR7ODDtvugoJyvpwp6y9zGKYYSyIDkVmq8tSJo0fRBNqY/lrCkNc4g+xDSg5S4yD5WSaQzLGGRCKpCPB6gTdIiTUngdOkwhAMZqx4jlhXzKs1pICAzxMyRW+aDDtjgix4fSGxBjFiZymdNhTOQlQZct360m23vXTrEyj8x5tPPIGP42X/jVTor+jS331/9WE4fBIv/gBlHdq48dBGtPjmP+LfPv4xug0VPfH9e3gXzsc/fIC2og5UdPjqC+IVielMoy6lFlOrqc+owUaCV3HAq8b4WbyKinh1tYhXK4fxqjnATwG8mtKcwas1F8SrqIRPdSQTMj7ENwh8S5Cg1RJ4f7mQ7PsFtKrTJSuBACfLoyClJYH4uObWxGLRZRZh6uJhmIoCTHWeB1N88GcgNe//FqRCWuf/Lwh1kk/++P8dOv3mu5TwbXrX/x02IeoTufOcLyc6ckriE0aY0nAA/sLhQJpLZ0eCYbY89WlFBeMiflzaR38UDFYM59Teli+QvQOMVIq0ycwoCiaHQ3JSnhclLjzckJIjQyxajqxo/Rdsl0zNsVzqs3K6xlrFcnffwSnsNu0po47u8jgQjfczdXblAzOZmEyulnGpByNYyDEWaOleer7Fmi9n03coUruL8x1fDEALVGeOyXdwMpKHiHES4WU9UfhWHQm1eNwyVh91x8hvCEgwPIlBoS8uL1XO34BOIutlT9REP787RxnDj6UXgt9+VWADWvrQOlQ7wRPoWYkfffYVPBDReq252XrhgQOvN6Kce+9A+lalKhZo+/hbrH3wp1gFeAT+8pdX3YBvJP2RdeY1+SmuhSoChJIy4b6zlc52gbdrSOibxF1JpbOdZBKLZGKtjx5EnEz3IOnaCpoEWs0Zx5GScSyNwtGgSUx/G7K630HRF75C66aOV4asVgtttKx/rXpspcpww21Ylk4+jD88wAxccsPMmfGxl9Abt+L0yz13dExqm+gurq8c49k60cgGqjtTs9G03eUY78XPjLn44ptmzRweTwdgbBdVDL4awdj6ERFjMtMiIkXGyooAY0cFKuskxNGSCQAms0GuJs4qKJX4G2djJHYIJtGZRSPwfAxyktUXQ/wkqOesu3xx/VLmosqo2xYARL3qisZm1XSjy5nrlzXir/Glh0r7FrbIAlfOL7BMnV87YVx9T6OFXmQLuixyQNaV46/YdEeLafLRm5vLq5R1uVab2iOLV9EH6tcm8Cn8GH6auXxJd3pFT1dBzH7LXPTd2snj/CJHOnMX2FSVyI7c0NIyijIaTISbSVFi8akJSSPKgAhf8gD6yeBP2jbZ0YvoJacbvYBeNObqch0O7IC/sbjJ6Ya9jWgG/N6MZq9DM2zg6ZD5NgYDeVWpDH52dwlwFYMBf4nM8HrUUHL6PVZ19PQPP3uRciniWJSQiipVgOQimSBJXvgFPi9IIpZ2MUPLu47xnJjxUQfJICVtLpArvYX4CVoV7HJ6MKp+7V6ZwUwmxvB2XdLirRFnxIjZMgNnNAwHJOQoCm0/VyICZ4zEg9u3truDNrD71t6wd+8NS1rSf2VZ2jplETlau49NfzN56VpmMt43Br+Sa9DfsHcfokFQGgxxA2oYu+/GG5L71qoNufiVetIutJTtZ9tJHh8sBjKRjEc4Y3sc6DPPTA/6zOFobcM9uKetlflrlwNHPR70DsB/aytei25sbc1wKEFWBNhYDqg4jpotet6AaBqxj3QhUgEdJPO4kpYSQPWaAD8auqtRFGifwPs0yQIQaKOQHA9dRvLbDUp5jlbHVERrakXwqg5C3xX4pHAOJdM6nIArQKUBTVwOrZsCKZEyZ2rGWcFkjlBmskxEzPJnqrOMyINYfNLvp4/7/fgkYpHHH/d7pl3z1O+fumaax1/vR7ObGx8faGxOb6e7mxsHHm9spvvfwMct+IS/zw+/SG1BRW+gPLj8L7Er5jaXlDTPvSImHddFQ6FoHRq3BQ1KuyLvaZbruDWUGlhPWJTvs9llEGkdbSal+l4wMiZzjJTdID1L6oppn1yq5ic5nrFeh48ba7e3NJ162fFfbg/tDzfJGLnhslnXLnoO/6l5/J3voSbUjqquabxye/eYWQpljr6qct8liZJRBXBdid8+Zsypl/OYKfi/bqP9k3aWVqgMRbapXevbGsZ/fvqFa3bddc0kNP6lrkv2hQImBcfNHENlcgTrZWs5A2UExmMR6ztdYv2TVqxlJ3RFShOYJYMppgpI6R+YdxNQfOABZhOYGmAFPsU9TONkpLzlVpTdMpa5h+ucfxgfeQcnO9p+Na4F5SATUrWMGzcR/4D/hv85UaY+3ZAfCLZOqarMYw9VzvS3JUbXdQedvtpanzPoKa6tLZaeb6HCwkXAfrhI9hu8i0y+wudxIYczFzlIZAq5ZBySXDVDrXxSObexfJK8RuVx4/2H0Ry8VaFJpLcnstR4K5r9Nj5wMUqj6Wg9mpb+GjDwDX806kd1nlmGT/GPmuPHNSj70yD9x/Q/6Rz0z0z9AkucQR08RQVFJkmSKivbiKpSkgdWCclCEG4LqSrN1SiGq0pJwoIMfFRHJqHY1UhH0EUMQi5sGbU7UJy79u5/bPoG/+2bTd8++LdHH12xnKXW4qfvXIFPjI5qd79Jl7x9x983wQdSf3vwoeUrHiUPcmaHgsrUC0vzlyKk5tUe4A0hPgyPFg3wFcf4EmFvsKQCOKhXIMGQpJdUgpWBroXtYknY2eqSc+UDorMaOfuDHIS7kYobaSaZWB/h7EtwYhbq1I62NcSF7aYpTJ39O0JTivKqRE3t8/tj1btzRpQqnw6xwunQR8/37e/bnzq+RZPT6HVNS8w7fnxeos1+ScVw3G0BtxPaFiAco4gxeaIKFNOBfxQQQ1tiIaoaFTLgWSFKTI6SYzlN2zyhwHxU/BrqR1Obe+aXBpkqp9VjdY6pvFgto7OyCi1W7Uy8D/MzG1zh0OLOWATdbyirCpXPX9oC7v2vX0Ml88uDtDufRrGaxROsHrfFY7VqMpfkmU2VkyrGOTPPOIb5iptzgbg846oAIpd20Z/CpiL1aRW9M/UR7IXpk/QQbMJwNNzO9fL1oHeOzNzLLDFHXjTsHGW8IdNZbyhpUpOZWnJzYRFBlTwtb4GRzMpMIdFqn0GUwmLNGy6KB221i3WIblqjc4eCQBkcSuQiZX92llt/HEWeQJ7Ptjx09An82RNPIPvA9X95opvFH6HVaPUQu/Ez4MB78LvHmVXgQr39P+v37ex7AjlBZ5xPzN11/Do8Ez32OKr4+Iabj0v6MZs7ztWDPPqpBCVVIvOuICnCzgvxORIngzZpyIRSXqMhyUfeFgSfSWJmGjKTVJXDagulCn8vHCOFkrK4zzXH7o6C2yE+vR4kM6pzx4AfmCizw+gAyqt1ab1u+vZvwEZ2oaavb7/9a/wC3oFf+KYA3YGXawZR3uObMVpoxb3oFiu+H29+HP9lkLlB/MjtIy9Lv7LlMWRN6vEydKcN35feksb32cg99ElkBaU7V39JWGeQqgMfcZfYZvDqKkS64BLDmBHJSowfMe+OQKBD4B2apBcRT5KPa5JjpRrlJgKLZoBAayHQB4c2mWcj01R0e0srQ6QygI9rk6NGw1tjdcmGRkI2KghgllaKZCNZFoCtS7fXWtggFjjXapPVJHca0SVDMYKpF6j9NIdjZk5jlnvdGioUBNSi7LQvBgTBzAEvCUXhjF1OJg3ETEYAqV8uBF3b+X5Nzfuz0BLEHTiIOKCDm9RPr702de3aXe/gNU+/9Pu9a3vwVz00rq09OpOZ858KQ3/3zNpV+KdVawfVaCWS4aEXXsQn8ZbOo/H40XYlp4Krj9bUpOk1iF2z9ulXX39FLPs/W3Oioqzgm4SoBqqV1PEw4ixmUKwqELoAHwuRYYgHieFuDBH/fVIQ8VPI+CRz8oJkzntSD95acupwbQo4qVHJSf3lA2pkmQr9iwf1Ge+RVK9Ie6R2Zfg9mqr302IdS1qsYbngvljekohL1S2Jeqm4BY5TRxJikQuanRCrXmArHks+Bn1mPbcN7IwO8L2bIgEYvTj7PvfsXDUppkfmRVileRFKkt9giRQ2ZMnkjDpXb8i3iVbHquMLQPT0AHFJViYGD55h5Fy+ZJNygcDZxKQSrTPLZVq5Vx9nYj5gCsgMzCEPgXh59DETo2Y4tveaZ+jot08z9OxtL3Ur8Wfv9DKlwNTe6r0OTu1Lv8t+Rc7de4Dpxa/jt/p4B93x9xcRuvaTB7o0v3O9s/r07qPF76wm049QTR9vTz/57Yv4DDkr1jM2MN9wncQ+m8lUyeHsKyBZOFLBOIPB1B9J9pX+1E98bMYXDDM+kntNc+fVauRTpeJszLIArwSkD5Kp7+WZwFQRoURkXQQSychwUzIhIhchvSMYI+WEkTBBT5fhZH5enh0t9Hf64RffX56Tl3+SeTFBLyrKl1WeMBhOeIqdzBdl2QNGJicFBJQjvLVPwRgH0L3Yr7IOZJuM2QOGHOr/jA8paUKI/l/SIdpAGzGP+36RDr2BVegHWpX+YcScoEqqlloieks1YiWnC2SqLsAHjpEUcpUU4TILpKAzWRUg8x+9PrI4AB/V7s1xuLPIrlm3V5Mrig+VrAH3aS9D6/TkRFi7lzJay8ku2LWC/JJSqT7KZI4WMnJ4tZujMcKp4RUIitdHyg3h1e7j5CY1TV6NBs/ZPIrLNebaWeNy1XVLO9GlnStj/iWbNpfm9ffnlW7etMR/0ey5eNfcS9oMFV13tzg8A2j0xyj68cf4nY/RSwvGaQwNl/aOtZUNDFTkP9y71jNtRtc993fNmOZZ2/tQGdzDWj51x8Iq3ZjuK7f29+/89NOdD3z8cUaOHuM6ZD+BhYKxMzp8iPyYkVnrMNMbh1C1gI8KzF0CKhXSq4dmwvYIPjyEPhRQNaY3ktJZiqWUZyoUbm4mNUqMRa4gmQ0SVY6RJSyChJkRF0KsdgUyFJcBU/O6vC5ORibCEmbkJHyJRSRKHUM+JjOxlMTfPeaYWBQL14lFH6R+U6om88pZUirFyZU0x202uZgsncLF2sIdbfUK206Dhms2GbKt9aMXzmnKQ4qmr67C311ZpGZVSnm8Iye7kNMrclhkCQQ63SXop50dzDRH+bxid2p/bt5WDfrstoGZy49dPs7JAmMqK86xTWmKe2mmYKJRmW/Gpyw5DG2vYHXKbG6nK59RauRFpnE2Bz1qvEKzRaWhL7NFg2WVxeGSwiyWZlX7pxSpVcGqmpxsI6uWZ3On/6fY2+ksQd/xqC5V68rrcJYx7xk0a622hx6aaYnsW/d+kdzEjq7Jr3SaymuMQdNmo9qRvXxZcPxFyyoyui8Pge6LY1YlDRaShk4cqEc+YsL0zKOoTsAfHRFQw0d0p0D3Cch3BL9xlOSgqE/k+exrZJWBTA4qFj2Xg6J/pIcqwmB/jlaEU0fRxbWOLAv9adpVURGMMIVADz+X6j66ZD+INalSPkksM9E6VrUzdegbbEib8XG6q201PoJeQ6/hI3TfiPoXqe5yNGgmwb9ASCq+TJYFQ2RBj2SsPhiUyjD5WkC/BtFRGBUkClsdJLMp/o+qMtGFV4bx0wBsdaXp7QTtyH5tWXo7wbtz77OqOJp2BM2pr8ePHsF8/D/UbuL6btwPJ2Z3d6HZ8ThJT5H2ntkh/xDMtUL0yjzUpaL/A6BuEqvcMhEcaT0UwLnCY2QCHEE3ZyHwaEZryleJRsfkJrUQlhpxGrZan2UlFkelSyrJNGEtGCFwLDNTfCiHHcUoO2OOOuzmGBzBXigILv3ZchKXczO6HP2E/oUu34znnV508+YTaAqa+s1m/DGejWdmb+kdeLx3y76h08GVT16zsiPBztyMFuL7N6PH0rHNJ05sRoH03nt6e+/Zl/7myWuueXKNKAvHOYHdL8qCNA9DmoKxgzWgojVtp3cws/H+57GBjrevOiL6FX+SNcteEHOXStElpvvpfrwy/S79bepHJps+kg5n8v3inFOFVC0leoJkpoTsAi5hX4JkIQW0Y02CCZN5qKkjHSuPMGHw7Y7Q3QKZBsKEOnpXtqUOkwwiNXKNBsewDLvA/dBeYCkGEvf6ZDsCbViAFn6E1v98TQaNNbMow3r0IQZc/LfFGch3GeQh2XqQBGkuGold6MGlItyGJCuppJbOLAukRdpgIWsmmVIfPIKW/mLb5x899sCNdSrrsms+XYpf3kufSE9HL2n8TT07FtYu/ezPe2ddhW4ZjtfO5v7MNQEnIJV5Mn2M0pPYsVRwJHqmrF6JmKyejejPtyncMpdFqdA7qgrK6mr9mJPTS2AQPlqeOnmCuQHZdROV48YWFegdOXKDvdD4TzyJrj/95+FaDNG/NwD/CFO3ilU8INmBAJnXyEl+RUT0KxiQcSlWLCEuYXGF4sz9JEPi3WQWDV+mHWS9Yg1VFaCt1c0REXdoB7MUYmKpUDeYU6ASK68CRBmM8FE+pH2G1RcUOsksa54DdciRJoUGY2TJHlLjS6KIDjsld5EgHOzoQxFxQqjLKYXhkMFkj2q8dg41X5Vfhmrf/elB1yKX3f4vnMT/xBclTqAd7u/RRUiLnmw7gff3WMrxm+98O+AJBZ1uVPgKUr9yCH93iBb63kgP2O1w6bf41TNpexguqkfUyb5X8ZkBj8eBntv4yqtIc/CgGGuWeBtoKvRckIoSb1ROIrfJkhDYvfxA0hMOkcWuEB8L8OZjYBEHreas0r0NVk4J/FdDIjgkAObSJIthD7qbDSaroTeLXVLsJBMzkSZEGUcqiilTXOZyRs/u6cWPKUnhzJo2Mg+cW4S70b3D+f8DFXZH+RT7Q9KmHYXA+w5jDV7Evi+0rzrMDKamHO7tYIW21WsSc+PlJfYp5eJr6nYSuURfo21r10q65pd9KFs6oraU4ej30wFaSM9Gt9C1aP1wjc9C6J8I9E4AEOIicVaW6I/y1SQJCQ6sEyADBE3Da8kb2QJBCBEVkg4iTpWRGjJbuEEJnD/HUxIVk+B8QJdUl4qTlUJ2sWo9RmbHGpXIKE7wzJCLUlLebJbmyMW8DhcyOULSZ3wGOWfkjiLV4cuu6JmRGP+7rha0Bydann6obu6YjmCNMXtGovFo19GjL20r0smC2pDia/yno8wP/0I26YPP/0ar0i0f7Fi1Zdn8qWsEtBRdfXKmc3xsfsOk/FzyFt33kKdANtpYn/VpyvHtSfjAUmEfMuay1gyWSHJDap/yKDeZB5pZkcAzotaRrEhQJBDXPZnPAlPNyjZYRQjREL9dLZbTVYmF3S6xnFvrioADbQRjTVCC1KNFpekWa9q6uhJ96DV2zfE38R/ePI5mL1+yYjH6RqwL6WpfxVF9iSGBo452dh7dGAxuHKJACLra1kh2FX2DXmP2wLNaqWF8y5Jm+8uEs8t+mUSIdnI3v7D+5gPr6PfmbNgwZ/a6dRK3AFsZImu8aEeaeqnQhQyIVHwu205CfGBuQ6ez0R4iu5iSis7XtNGJjl58HCfQnuOkr4+vah+uVz0nhxJpoQUmK3UyHUKDuFfEoT4pJzQcv8yjCsWc0DSKTIOzCLwvOGgpIApp8YNC6gNJZwkorAoaWQ4+KwkhDWpyyXlNPpzXSBGyc7k+v0AKT6l/j2yaz+qklyAadfYwJurmuZqcjE5WaLlFQwlp/2n2/S6CeqCIa/oS9bYyv31KxektzJ5Ugu2JkyNNX5+kXxJ3tFJOsD/14pwcT4iomD8oxfhEXzJv5KyQYtGlFOfnPMPQar1BlcnyhfRGKf/hcHrJ3CmS4wiLhY2ZoghONrxz+FO/rM5/+sZYhaOSXeIZAi/zFT8KrXlyZe9AH0tJW9mOFLXT799pdeWgRmUZXcX7/adeA9R+EholbYgusPgH+X7uMdAEJ2DP6Mws+0KBLPaQK9qDc1FvohFZArEP0hodrlKxcI5KWgrFo5p6qWjfpKNYwA2KhJ4ot5xjKdrs1ZUhNg/RYB7cXpqEpkgWOSbmjWkwFwhcGw9NVvPxKuhHUDbqeesdtAjR22j2EXwSb33rHXwvTm07yryLLkOPoYXHuCP4wd8/hP/4++tRVd8tqPnhWy25yr5b8UvTp91qYXVoTPnlyNKyyBev66BfeQtvw6n7afZhuPGSd95CVyBmG00/BDe+640/oIUfcO/gX+EZ+P4PGHqlgArxJ1bzhodR27K2sNG8Yfo0/NQyy2x0qM53ZQv++6LyS8T5nQbgO+tBuk3iKjpmUVzVwnBdKiL6wBD2wQD7oDPkA09Bg1/QX6za3b9hwwSFYu6kKfjF34oMJA/djW5EuvRiwkbM9Ut3r+3uRr6tD7whkpFznEcLRCvOuEPk9k6x77gJu577EcmfpY+ni/6O51y74GmL1nDdU1ePNuOx9G56K+49smUFfmrG6OF6WnH+O030UqukHQh9iD5MJZg92I9eSOvpv9N++isJPzjw+78Dv5/kHIrJ2pGc6EgUBcTZq/5AsoQghaVIqxsscEjLSJC5BnqiijG9WJ7mIiEKAARzzGGWhXShoD5EwMFllyOaedVSy/Kjc99W1vr3u6em/FPcy7u1xQ8fZz77/PQdB1q33996UN1S9tRSfJA9lZMbOc3V18sCE8Ke2xyOGVM1vjl///vzJGO55rXlmT4awYUzdXy30BF0a3o2zadDxDZleB1lhbG7RfL5JJYd0Uu2EHg2laKOsGJpXopiy4Fso0LhdPN+NAHNPjLMC6VYvhN6ZboYY8sVCO+wib3CO4d5WpYUYysh7MwJfALV8FnaZ2idwebyiHqTS9Yt05Fa9+copLVYnW6f5HsAk4/q3HZWZzSoaUBMuUmcNEEC4i4nC4MuQzHAHRK9x5/KnkSFaBqyDywY+Ovad5/c8jdk+w2KfrZu3Wf4nd88jn/72SaWHkKhLnxyM0jgTPTYY8jyyBP4j0+u/fKJBX07960/DjfrQLHjN9/wMf794xEsdIGaPJJpK/qG3SzijxZaSxBIJRY/aYJk1RkST+SAo2oIEpHKC/1wHZeU43ayGZu1rnMOIBPdsm7/xnUHmNID60R8OrBu4/51Ga6CvpHPznxPPjA5UkumMgAWKISkxhqEbysYUVUlfRufq0nqpJiT7WdAaM98r+zn0ChseHbDOniQm1+4ed0IpNy/EZ7ks2HYHLEuAcm2GSleKWa/1eKiRYR1S19mlolTzEDawwHkkaZXnvWiVrahVyduR6idpdrgIdFLbSvPloGiovYt2pm2uFWvz7FOmand0s6K9Z+nd7HLT98h6fsslpKNI34gYJuYxCc1g01VzFU2W+qeqqZX6v122mGuNtMOu78+wxVCzB62izw9SBDRa7aLlHxKWFUkn831iesZOalmajCPVLfJxBI9krFxiWMpzcgma/uAJ+Umy8doM7maAilXY8jL5Gps9gvmanQaUWw1NLypFz1A7bYUmoOuR3NS27al8KP4JvxoKvYWakN3ora33sK78Qq8+1r0IHrwL3gLc7t4etvIS9KFaAtqe/11/BS+Gv/mzTdpGkjKevQYnpmpUxjiDNwA2CgvFaFiFF8oZqNY0VJVBUkmSiNmSElKlEqyZBaJxV1Tkywhi83pVSFp9RvwaeziIpykopYE+qVq1fMS4Zw9H0XrUJCsxunyueRffE2v+PqLdTe81uFddODSQMfrN6zr6mEmTEWa2+9AhtZGpudfqcfKPjJUvO/JU1T2VO5eO7COHVqdmD49sdrQNLnFOz8Sme9tmdyEd6Zs+YHQtIuCgXzmT5tpDaIdjqza9TUbN2bslZ/zAM+yUFXECgOLt5IFBEjz1NBOUR+doCHBQDIksaFgzK2P6mjiaxNVNBciNeuSXfDdseORr39qcfMbd/XxfN8cpwYVRi6au3o0M/uXzvg1E9El/WgSYh99Bu+b6Jo1b8GM8cWbL/hu5vlngL2dDrJXROytSVxZJ7P4kpziSCmWUqwZNJmViN5c0lTmwAr0k8MRr6enKGzl9Vb6tvQ11vpym8KKUpgFP2fQpxuV7zWj99C7Zm9xXn396d/VlRVyZnoK3WLmCsvqzDiCq85bg1APlmVQA1KPQOaTRrGjqi4Y/Ti3gqDAUucWChzqku0Y6jovZlhI7lkg3vPsHMsMq/75VH2yNAXgjIvZQch1qotmV13EbM/M7lx5mNme6j5MUyeBBtxxMiUMf+vKDnwEhYe6hJE6rAGPrpiaQA3aMjpsCoimyT9Ch/MkHSbYkyfqcI6adUqoY7KJK/cqXcXnq3AknMm3ikt+BkUtdjmBrXkkiNyWRrMzWpnG/aCp/enYyjeR5t63JE1+8x78jzdXonFoA3oEz2U24xvwrvS9RJdffgWuuuee0+nj9yHtGyuGdRku1t6D532Bln6V4TgnmRDbL9ovIE+A2NgPkJA5J83bVxF7SBam0obFbt3JbL//fujBid9u2sS8uq6uWbQJx9l+br845gXgcwyaST/pxfhgvljJQfx+iiy+++/Dzw4XA/YlmCxxeE62relnZqdfa191UaK+JkGGhouLArFG1jy0/0d4syMu5mrwSfkR7gn4XhfJRMXc0swyaYol4sSZ3iR8pCBJWQW8r1A+hTx7mo0d7S9NbbFYrlLRqlx741qvRjs4eRVqRa7n8tzYnf7v/tajEYv3N5NeakvoGyc8tadPRf/FlG1fO8GWc8vklegm1It8eU78Bh7/iNj+M6O5zYBdVniOUsSK6GWSfJGzCKoC+dCKvggfzXvh0MRTP1LG0iw10BY+/1CSRad456EXRj83/LZbw+ccSvrh7dxDe9X+XH3pC4daT/0WTmbDJXvzmHx9KTjNe12sE06NfnHIK57ya/aWkA/D9XtL3Tn60kH4gP1W+60uTq3V1QzCdWQDp0a8CVfAhiyZ2ZDDsDnq3Lx8p8vtLymtGPkP/aeTfEMeSqpkJLplGl7tTe9hImRsbYiR6aPDwk7ng6LGPMGoj0GGkMwU03tYB61xgA0jG/bm4/iwVBNR4yixoHttDpkd/XcN2lGtdKS/Yeo8dtxfjmZbegcGei3irt3zCHIfve76P+BPUt/j3UY7a/dY0TTMx+3KWjRdnCutOKvL2YDHPipEjaOmUp3UFdQiigxTEEZrkThaZEXfICFYc2CkZgjJK0GhOQqgi84iMTx+jrZBzyrUljxfobO4IhiOVscbm6bNJnGaGbqGLHvtqOaWKYnKuZeJqh8sgyuL8yol0NOcS6YBb4+K4ZrMMWMy6zxuD1kfk0Znz7mcDKkIYmXRGE2KTch1Yj0eGHIfqzeRu8CRBrDTaEBRPRF8A1yxsfhav6ZzStf+tkW+QF7RVTcpc9Y9s7X8jue+QTcBA/iostaquQO19i4PhhORZ+770w8Pbi9QIAVqMRdOf6naFI+sYXtWfpK0sd4CfN9BYf5NwXUbFVj47D106Y9zr1rqmgyQgE9+/N03kfHWyOU3voEm373CoOjpcmbbPJ0tFw89s30iuurV8OECFn/H/r4+YYtMzlubDtRXWN17gyVmZPgvrb/zdMjScef26mCu6Sm24gQ+qlym8k6tRo8gs6XDWDF05mlUZlNcmm8P2ruk9X3YetkOka8WiCswnoscEd6fM8yFI2ReqZaUUyGDHXbsxv3PP7+fFucibty4kd2ybt3pq6Xtz2xgRIlIeP0kIXLU+RzODjLTfM7+GyUOVzzC/lsl+0/mL1qHOZzDLQqB0ZbhcKIXckEOR+r8TOB8SAAQkxDtQkTumjeRDpUh7evEqL+9DX/75p/QLrQe9+HOC5K5adKHV7yB/3HfW/ipt6558+9fAPnb9dXIXJxZwtXs83G16uzSSEbi3IXOLpgpPR2Y61D7qsOpw0zsMBhtoW0NzQLW3ouvTHURky0Ish0ES4nhTnVJOEsxYLMPK4q4o+DF5wEvFuu7PGR1Opm0gI2HAfst48welINiHjASMmRAzcYEurpK4bAzDY5aOQrlTk5zG+W1jlTn1OcZF/KlPkUvR9BdU4076Xn4hGzp6cAk4/yDhTXy44rCInb5RKOAfigqVAxZO4+e3vPRp+8vsjbRYwZS2sy608CVvqEMVAnhegVn65CNx0i0S1wvyl4AWpyjKqypGVnTJyfdAvAi9klcNhwhUCMxVVHv5yh/XBgSUJZx/Lr0YFkt7aibv6xn+0AvPZCe8TD+qmPydY48F00bSB4O3TSwnNluTcyrLUvT8zctqi/OwVtpI03hQ7MmjH5++rgnfbrhda7geXdceC1TiU6dVz0oMhuWEpeMpYiv/Z/k2jBSrjUCif+NlOvhOjKHV/JNiFxTCvA6fBeuIwvrxP8iAo5J/SrwGkLJQijDa2anR/AaQmlErgJy/Q/8B5Dra9C4v6Cr/4LnDRObe9OoE92A5pwmxOZPb4OPcu6zRC1247lgPG79mV/mQGKkJUS8ssw6ruJ8feKXDcpIu0mLNYEkyhYbqhVl/+dNWfoyykJelPXy0qUv45P4Y3zyZeYy/An+16vLlr2KlMiNFIeWLj0kytNw31oysT2zQJJl5FusI/rVKPUr0MakkSx1SPpV7FW9may/C9bign2KSMWFhrN7L2Ac0Bf7EM3vPUPtvaAp+PMNe3mM9+3L1CWDHDmgHzQkO6lHI+VIjrgRixLX0M+PnsZ8IDKz8mmj0xNqmfsQh4e2IqBY9+Ah8QUP0fenH6mRJC2a3lWLzyAacWQ9S3ornMb3k0uI/CJEK2zsTnE1KJ2YedOKqyqR8LJYCX224kb0DIfjWZ6YwzxcfaM5V3JjTOSMOVlef/qzePmPDVkXIfQ+u/x9vDU3K5HekchS0zvx68XRaDEaFW/Xxb8rLz/RoL5I8+WXWkHQirrUBxzXBZzASObyq0ntlvh/tKjIKIn/O0tSrybLINCS03ouLoDOokxtGf2XgoJ0Xlkts2P7jvsfQFlRtw19YAqa0Ac2dyw1t7eXeaG3NxMv4wzn5Y6ZLCYL96bwyNwxWSf+oOyP3HFqvDg3vkn8P2MU0optCnZ4brye1tPiQvX6TM6HlLnDDhPjxCoT2ImS8l2yTo+cc8E2GhNt09ma+Hnzf9upZNx+1ZbK61e5QzdXz1vc7A831264/97YqZ5ah/X9rtvbSnP0OdM6r3JPaRzXudXqVGYXB+Z9U5qfx2Rl52q1FeWzmKX4GfwaPiNUqy3F6F15ljJH03eFM+6PFcpYb9OaKbXzqwwqry46pb2+uWtyeVipr6n+1Ulm9Jg3Zpb+9uLGXS/f0r1LoWxqOijN+R3hP0q112e9yLORoKpfKKsmsxRI8erPPMrUcTqefpX8seTl5w7mF8/QS/alX9xPDeeqzvt+quoC60UP/523+H0RMzsFfktqgJkxYrH7Sc88w7j27cM9+/cP5wjlH3L/D2VvAthUlbaP33Nzs7Vpm5u1W9rsadq0afambdJ9X6AtLVCgQMGCZV+kQNGyiIgsRXFh6QhqdXCG0ZsWER2cKSouo1HRD9BRZgaXGfUDPsUd2uv/nHPTUlDm7w/a5N6bm7Y55z3vedfn8cCfjvIySbja3RBmUpwofpLoRHmYSIoFl0HydLzxoEVyAUYh0FuMGSgRadDzBQYBkOvk1dbXWgXK1jet5eXWn6Kt1a1iryCspw3ULPan9Lbh71qz2J9mUTSo7eXN6AWf2CagavL6THBLZv0EG0jM9NOGWQilbpYh6uoQXMvzub2G4/HAnAzQAEAjgTAfAXrE9Qbwzzq1upn3AHtl5L0wux/cAgSk4xS4FcwNr23iPTzyABoXMgFaBedHLqDeaxLuTaN6WACHH+oALk8GaN114ExgL9gH9o2CcpPEKBgTiUvdR/vIL8O5GoR7mIzDkIhHPDoYix4On1yhVhHqay1QCKEKN25xAwqXMWqVlHh1vARldIoq2mQafiG+taaIlxc/U+s0DXekb9q4IlnD33D17VSLjJXGikSSTGpeehx4z2G1KtlyScLV96ozNVRPRhz4UC11N2dhXBlhxK7qwtk3PWGGlkUW4US7tRpRWcBfz7Wv0KN9QkiCAQ34HhMNv+ERnQk8fNrk4Rfz7AqBCDquAqDg2Ysybc7hy8NfO22Z/WTvyAUU2EDf5PnxZ+fLEthjFPwHKuPL+akFap2SPQnylDp1wdVYqpu9cnUz+LF/Wz9IhQ9X36O6geDq5vrRC2gNRv0cI5wl+BNcey6iiKgnZiCMHTiUQRLpFQHSKgRWK7E8BEcI1NfabFDmhVBF8B5xHzqKyzhxAR1U5HIBPkFtgQCeKhQg+9Sct4Z2TIhL0Wo9Kp1IFKOWz2YLPvqoOb8uu7JOB04pJ0wZWbjkYKIyTjlh8s9LFh1IUIKTKmO8Ji9piVJlbPEuBvZCs1V3sqiounpI932M3ysxnTTFKxSN8AlknGJPKaJ0tZXZYplcbkpIN/vya20fgROzZzbnr5+wY+gt8rE4ZeLBJQuHp0yEvyPhwKIlxM+TJ4DaRoXEc9LUqHBOO8n+K71AN1RdXVR0MpF9yjZZugT+cKNKuUT5Cz/B/Ct+guWX9lTadfaU4Xo/QW+6mT3F+QnInkKdByaclPjvbgK2/F9hD79K7gczOtjwr8d8//0gvnfMnnoFND/J9ncAN/gGr9Vu8l9wn5RHetzQkuJ6MnAhig68rXNko3a2O8G6ujqdy5NIsi6SbdOxGp2ueirYCe5trdbpSDZ11AbrJs/BnwcNcF+kYQ43n2D8pmpduw68pdOxzkSvS1ddDW5nN1X36XTgE10betBVt7JL2OVTI1hRLuo8qgX0cXkBrEGg/SKRyBQ2QaBkdqP/pwfM36vEUbNKSbYs0zQ8Rxn5G0AV1U9ZOf2j5homkV+NkVgFuromcC+4t6kOt0O2owfwhRN+RLCB7YEf0QkV1hvwNY+O+1lP8i7xfviV3mNwnzsL3It6VTDslNPDm8V2ZWWBrW67243gpZxO+y8wMTyRujLU73OE3RNmFRyUGXGjDTGac+ORYOvw9+Nzbui+l/hn+Wd/rVaglu3Cdkf3jfddX9sy/D38yQKutuWarYRwgfS4CkyIcYE4LxxnYUNCEhVqyDkv6ZoXDiVmdF727d27D8zVkF9Yc3OtI2rNZc44YnUqNZupMXp5W70mDZupHv2ddwmj+PG47yCSlfGMml/jToqs5MfQAkuxFvG2FtjIK/BYYCs4n2NIAcNSTZIKDKcYc4ZN488N/l/8fHr838kff6IhWWtRkXWE1PAeTSY/xscpyWRYI2WpFEMO78McYwpLqROvP1eNfoZrGCa/jl5yA2LJr+CTcD9nlJMpD2oYwORjPiaMQ8q4UDEREUaJChcGJs2ASkYYDgVQMJqjagpluKBbITWYcbOLkGZi/jt7k8mNYPm9qCHNIFSpXRE2NESXVkAiw/wm9E48MkFV/rxRL5XMk+WLgprKv+mNUopaUCwRB36N+mlGvFFb+7pREZVovUSmxlsTTLf8LU0hVYoU9BeJQiqOs8ki3FtyYjLRQdyF6ocEduYWKH9bsPzVhJkaaWgh1+lzN/zQNQh6XOFnFtLPxgm86vopc+aP9nYjXgyX00hAJYoItygC7mlQe3BFVPgJipZXpXZicAVUpI1wNVVCDufYEvn2RbBgskhkVuBuBGhdCHRwt/dRBC0VmjF8IjTUsgDeNb0WuN1ZxlNycUxer7L3sz/2vd4Ibvk02pYu1iRSCmGcSCLmC10dZUr54lSxsbHenhEb55v2oFDI4ylSHpTS9XVGs5hSWIN+sTKapPTRmnh626yptuPe19krt4MFAj3xMyhgau1OJS85x9hTLqVorVEu5Nnt1iJjIvnGQfZ/EJcYEMK/ZBdYBER9feyP7O5bzoJkjSIpUZwg48XyJSJJrCja2ZEbEIkoiSjOEh/MC8z3TnlbWFORlvmHJHJKW6bV68kLFpXGy8RK6JuS4OrRpKhEntag5SmnbeP/T6t7MlvNfsN+/nnx1HWP2VvLeJt0RW63VSHkZTmpBEniaH7/beFE/tvQXkonFhBcLnEUrRtFy0/Iv23gwuKElAFDoSTyJyZ96PkCz3ffcpcNUkY/FBLxfmLEQ8SzBNxDk/SG9LHI9S+uoHD1Dc4mSkLKdVDzylHbuEBthpuPU4WwY+BCNVuk5fxyG3/AVs4vUzrYIUfHKRNQjXw78iOQWU/fksUezzzGd2fwLRlufjxVYbtaml5GgafYLTi2s6Z1AdwN4f9G8BR4tG2EnHYks7g48yFbQYHteg6YBNQjDD8/wTGuSTHLQBJnz6pkUHCDlMdNGi20QmAw6WgBRWq+BivOrjr/lwOLgy+zT74bSB/uIy+/yD53imw/zf7+peDSg3/5521nwW1fJw0ftOWdJi8r32afhTZL9M/TRbmCcgKhhjsRuqsqFfgsZgEP4Qvh3RBtYwJuH0NI2Ny+jyFG0EU7NDCMum0LXtfnKIU5yV41GQbf1jlJylOvrVGwTlZkNmbEjpAq8uhisjopxZRAUuXFCXUa1j/yiSi+mnwmxy7S9TtEScMnDFZoV7NDzhryszpnQox2ZC4oiI+OSr1amwz+oWGDygTwdmGJhkpg2wF0FaWRWjCMJyCCVkQi6v7ApX96VBd448G+PNv5RhIq1lzbx40ktJFz4XmYJNID81gCGvT5HVf3CsLwCfvePz8l/FAgRNoaQb5h0io76i/AIEJCAGIShEd1rNWU9m+bnn1BkqXYk57GWj0aqDJtw1ey007b3Gy8gk9vSc8aGRjFHP0e7gH9XH6IWIZnWBcO0aiTX4MBsNUIABInjMB4cGmuDCwOHpnCjEmKPBtkPI4WtDFQlStoRuYPmeLgGY1aFRkJtCQ1Oi7jGKcYJT1Dco7SwIRBT0B9pvPiQ2hSjiJxaLkj/foP7qAaN3xwO3vx5RPsl43ssUb20kvr/17f91Ff3+JFv6Ma0cFHvAk/E3/v6fn7+peAjL3w0pZNXbtfBvLb2ScW9+3/+4EDf98PHyO9gz8v46di2Ub46rlEKfQn9nE5XKbEhQp3rE5UFluBGlkZFxyECVinxznRp091ogFANrMBQxlFYVRw1PdkcTJlYYSIWcaRVFQ5GRvK0CPa0FAC3PSeJXkiSQwtEyLcuaIyeMGabne5c/xZ2NjWJ9OyQgn0deJUJovN4Q3W4qHycPUrFporYoFDRQvUYw3lZmlklMCv3MYVKKPbeGOj2vtW7/33w4fduzsbVza3+HMb4VPzSrJr9IX771/Q6M9tbs71NzasxE8d83bunHeggieo2Devt3fe/vLhK+UP5zc2oUwoFV7V1LSq8epfrr9nX8XwlYoPVjfCl/hTAuiOxkjt2ShnZSlc42jPLOQ6ZnUINAL3xFp0CFJDiorTCwW07CgRnWrwBUpvSk9pwgXIHAkEhj+B2iDIg/tjLE8o4MJNFjMu1b8ZayUYtjrucZYaEuMkVFZyxhQF0OemCbKrF+XekRTXvn5TbmadVykLFon51tRoieimbJbJDl9HdOykwJJyydBhc0WaKNHaXKmLjX9y2ksH7rCoZU5r2jvvx0lEMUKxCNu5Twl7+BegDKLskQXH9yN+mBjzZtE4bzkuOW/B27bRhJgOhbHIY/V5jWoakXsJbn8PGOFnM753hyj+mZa8UvYSu4fWVdQOb9m+sLAIOPbULXyEPfcubxl7nD17Zv36s8DyiMMvCvxuHk/yj9jYkaNbl65caTIP3719uwe8qrzjTGQfJIX7BPuhPvMiTyIFFACzRY4R3zAAEPK6ffxYwFfxKTXiYjRBRxrNAF+l5nHY/wIJyKfb/f3bt+3x+P6x0GffGKdkw++yP0gkW9hNOQU8lwTkAEFXbXZmHlDnFtHsSXg7e/GVx7p0xueWFGX2UP1XTvuDEqu9FEw3ZdUpHd1/XF0LeH0f726VdKx7YFHL/rn/eaOhXDI/h5/hD0iKzM3sMY02l+LJrRG8f1z/zCeioW+VwFUPYPgQVFrLAV16uCabRlKB7dsLjTwXb58tF+UnAtbhjvA8koDqGWrlPBvYGwb7rIFrnEgoX5WMarMjOXYNV5stDUdKDGhFigDad0ESEZ+RyMKLJUnaVrzgrr98dN9LIPZMT1NKStP6M+zXL73IfnN2fXMq+cZ9H72weUFRBp0yqecM1PN3gdiz6yelpk5Cd+GYZGQdKaH0uIlCaH+7CES1UjGG5FFlD1UjD6iiBIpSkRh3OxWKCYFEm27PySe55SSVBxHhjXd0NUHb02iGMmakcPTEbETJI69v7JQ746MTI18gV+mcPigDlxs+uDjy73cqX/kU2WwPvPY3aEFe2Q8WxpuNj4AwOP9EtdVVu5OdxM7ZZlTH2YCInHI+YDQVvTxy/tMsRZyFtIMehybJxz7KRhkl/wBg3apl7LdhMszex/6nYYlL0fx0993gj9++Du1CAbZS799bWS70x85tR2Aik1qiHJLhppgJFdv0ZUXWVYGy6K9Ko9d9mZjjSD6zOnrklR7d52JeBL8xwpOlICyEB6MiuwmkfqrGsYkh9jAiVAX1c6hEhNHIC6MIfrTO5sgNVl8bOGCkVOpIyQyuyDRFRi4FxJJ46AQyFPYeGzuB+bqxgysIKqZzrd8DKRB/NeHo271fswPPPscOfL0DlIq0mgfBIXBsb6JManAnbWJXsZvXNwQS4gr/l7S/HjQZc4+w9JkssTIRsKDdoUvIZl9mMxMF4S8mbV30zXNw6J76mWhdosx/essGcNc/nwX1X/fugD//aV2B0B09vZV2Z5kEcRMmRmcp2fPFZcqKgjvMgfy0Jf7iHyxpoq4P9DZb8okl1Mj/LU8+IxGPyvp7wun8N4hMQkOgojpTeMCUjgrzTWpxBmCy7CE7l+6mdFqTV0Z7vNCJQd8czpHaCNCj2aJUqNSocgD6MtA9AVGgEkwAvCvsirrFS3qs61ctfuLxjyVsKvui5/CcqsNbHC6P3PRyzyn2cm7P4T88Dj4HckfzSntc3d0l6q5/PZJtjgMbZ85+c7U4jdp2WiMRde2m+iMxsJegf8oSSYSDKCGyCQxO5DnDFISZgJMpkDK+MOOzY3gijw8aK24/U0AP0N6SMXZAZHKiAggz2kfV/Eg0BpmeyA+LaEEfl+woAGJ0DTH1YmAxvO84eJO6u0nTyB/kvsYlSxq32smugw7H8OHu7uHDDjBJ23N/a3XTLH2qI/7WyXUFGo2ZnzzyBnkwOUUcZeTBSbXwjSpFrCSG12dNYnVFRcC3TVTcXlx9qjXJmpYE/llYyOqSWMP9DxabbU63KjrPYYhXyj2qQ+wXpC4zZ/3uj1V0DE+n/5R5JMvK8VeY4Jish/rcSuQTRQRCSVCO4fJHh5lorrcsh8MhiyY4XAAb/axIrkw2pts56CaUH2TknHGi5KiCoQuKa8ZwcyQliAKUIAXjrBG40AkxR6OkOtqhSY8UMVvwi6zpORS1/u8g+8ncqt51Dz7JvnL1eAfPSFmLWpqbkkvBgFrGbma7sngT+ynKaxNnJMqlJPtZpuJ7nTMZvpdfkJGV/Ryo+7/tIsa0+G/s1+zTS9trgwk8j2MtNTE6ms1jiXrw1Lfs27lGa7EokfZmloCXQfA2P6cLXhKZ+GfhWGiIdmIh0QWSCWYZAngEzOpxdVKoQWxOmJkjRQp1oLZtvhMayaXhgZySRfAotIbzCF8curicc/2SpdDnCykoVCj1vOi7oUfQZYppy4pliqVMmzRUR/5EwcNQDvnT8y9OvPQtrpNKlg6KksVyaGFLB6WKOHnGoAw9ousadJ1i6qSDJXXF8IVa9DgAX75WMcVI/QPwNnQk8hOFEuiSyBTJmpyS2rq260qmno28UnddnVQKQp2MTUhC5URzaKbBHyqthjN8K2JlWAYPZuKpRrgHXrkuAuVoMfNIC0JBEBIgCfAVmPDH60vBzJGIb8YrgwZABvCYvBa32QNtAj3f4zbA5aRUKfkI10etQIF6UqnyOU1q1CHgDpI+OdSVJrmTI6mPBSImhpwL5s+TMKKGuP1tcYqTMh77B5C7+35w78aFS8J1d5WkR+Xe0SLkFVPKof6gczgUD+bTYimIEarZ15TSVppiTwhFPEDyBCQPwQIBkE5tntvdm1ZUbhaX+2eCqZRAIlhXFZei7RaJRCRoZA+LBFFX7FDVWDKk0qtHwEkyeeTTrJX3SehprQ8/4n/00O/zhbF11Baw4dCm3aeCPKWkXhQl4meellJSyT/8FJR3XmxqnFQTA2JId9gw986nChZVZcewVfESSSZ4lDJJKmsGrrOHfcQUbA/7cHdFhC4jB4shRy3t5oJJiODPjailBXyZDUXOoulQZhayllOhEjsSrSYcBg4uaCDekhkpbR5nNWdReJsnpLhFLUL1DU0gjkbNGSnXEmjnPPM1sEGDMhNauhU9R8/+vPl1djfc1smEL/qzsyZXVRfl9pb1wFkT/PF+rdq6gLrIHrveMr6LPftMT/l+9if2AfY+UHtR8llSmnb7HWaTZw/I4PNIwWJx5lR9nELWf+kG36AE9VQIEPcAQpiTjsHKGcJMmhN1aga4sUCq20BwXmeAflbAlyaa3TnFeFRkIW8uGhVn8RgF7a95D0iF6y1oM84CASi0KJKmUrvtwM0VvHE7GNeDcTP/gUzI3DF3m1VBxxrKJpu80zQP/kCSS5sm+Yv96oKMUn1g4o531+67qdvAFjXczRdLOsup+Pw5WZ4Tktgo5YRl/hhtqZmX4M5KWPDqvhkRW5Pi+GQicXbUHuZFpqye1AAd8IHpYBG725YCDOy5wW/Y18njw128rSD7HVsBKGB/OMGM9oTahUfhz1ERJsJO5OGKEI4BUx9GKUvE0J5tx9xWmPMyFKPAPaCDSrUEtQAwabJQqilCJRAJwZgtcAXjSjGPjw9SSOjZ+3iIXhJ6CyotMnQMeqFIVE+erl66rJp8p55qZHsy+exznz3I/vxgJtsDBvg9715+t4e/QnFyw8bXFG154K68BqV6wx1KsGyBFd6cCTbY5mv7utu3FSwu7O4DBtdkp3OyC5T6q6v9QNDa+s/SsrIIbqFws+B1qNc9RC2xBO77dXA1jeJrJeHuwUG+NkmUEYlQ88ODVnyKsOMRntOgF5/m4SbDCviG0nCoHrW84coLnt8f8lrhUYoeHlUg+cvxM3k0EzEbVFpM4sS3uFEzLD/SF33zS3quQOskiD1ZKqpPKdTqBVESnkCfWpTcICglu+ALL5eIa7UFoy/Ao1pxCdn1MnxHSeQdKp60Iz8wkffolhMntty2NGade82kLr9I5O9qWpe9IWrp1ZEtQ0NbVi+OXetZ3bwKvbCqebVnbexingq9o2vx2Dvu/Laq5tkb+wL9RAOxcbQv0Gxngi40WKVOtD6rXEhp1TtH+wUbx/ULon7HbExIjAg8oXdSMdZD2AQHNDcbKjJzugelAEJJFfAkWFRbz9WpZtKywqh0Q4bbk1tUXFP7W/sKfRiK0YuR0OBijhgkKH2C0tw3XBYK/l87DS/s3TChqMCywtTgL+4uN/bUDqzZS2rrazbW3WnqSpqSX9JTYeyuPtxdX///3HL4+3v2Wg0VwcaW+kPVxVse3npPTf3EkmDj1Bp0Wj/5Oh0ZB+fEhOdDh2v/uf4d1K9DhFS6G8q1CKjzuOyCliIAYpP05qEubEwnSRvo/dCgXQTuG/OudrOLkaondX3drfffb3ruOYb3ELsUXvqxrw+I4G27IumCn0Zeeqh1zpaD/gUPsX7wKpSZqp9lULf0EDT86yYRtyJ0hil2Zh5XyzzrDNOOy5eJ0LwpcNXEwD8vEaXqsf3IM8tQ0oNE/YOUDfg4ljb83yhXQaWMO1Z8Lo5nzOtTYRsbriEPh3YrQCzN6AsV2qsiuRIZqkaOAkb4o6qiGjSbSspcycWq2Md/b3X8aeQ1Vc7vwEowC5QsSUspCGxN099595dL2Xd7lSaJw1Pp60iQxi30VXocElNCmsekpSl+95z2NSK+VG/0gCRRY1lGdf1Xs5b+2cKPlnZ9yg78tXI6byG7+U9FZp1uVfGDQDEA1j8kUTawn12doLIsqQ+8sj8IFVlsvnfd+joLn3RL/N40Zb7Z6zXnK03+3Jj4pQ0xEvh7YiTzN6y/NS6KSlRLYhpW8p6pWULxpNLOykns3wflE/4K5gPZMzJqaiQXFeZfEIRxD7INxWloBICllqsRZBAcKC/0r+UWFB/nocFGgaMk4IscyX3yyNH3W7eyrSvObXrk/o6Hs4Jn2lum7d90rottdW29EgaCTR2+3NyTnS+wop55Of7clzuHKDZyjTzSW68c0ReBNdWtpoQnP7tDPLgNuKZVgdvLRwxrmnaN7ACv1vvfap/jymd14HlxdeD19jnufLJLAv5czx1H6pw4TEElYYQ+Zi5xJ+41jIvsSUxmBLMgCQq8M8Jyo5MyDg6BSnkGXZWFB2RK5JLKssQZjIxD3UsPM+lcv6AIV9KLpIg42WPHKFVmGTYfQtFK+JwE9U5mGrKiZAqlaDT6GuFCgVZRLNBibEyERqjTqnWjtUGEFGtzs9bkcUPbWAMU0Cw2H1hBvbDiALtHsut79l/f7RSxfeAvDwINkB8Afzmw4mrJyodJ6wkQO/RX9ityheN+h+N+hWbFysceW0kOOTw7v7/33u93ZvrD58+DjBUHDqxgbexXL57Ycs8Lp9GdjtG6hZ8r4ZhZ4czLMCpXyjU9EPnb4frmFjyNFzwixh1X1bRxGtl3+vSbe04yuV9+CWqnbdw47coH0zaapm0ku4Fsy8Fz7OvBXvbSyOaN0/gZrT09reNynyjrng3t1k5sq8HZcGHrNWmMkXrMdHVgZGvGw/lSESPWAY3Yo/xEncFoykZWhQeh0jMpsmcESVpzmhVvAvDPlz0THa8hTLabxn/H9xsC1/iycB/mc9LezGw78j5YBo6AZe+/z+5k69mdoGg5yF5u1LCLNcZNW7axl25usR1E7ztzhu1la9kd778PnoaC/U9wH6LEYbdv38bZWaafzwrvFABoY80mNkA7ayAWZRgK7MxUO7PUzqyFg7TRHtqE1GEBNCwYs5+ZSg/UNU1GXFdrl0KPbP7iDmzAewUqTkuiNDCFXGgBVpm4rBuzRWITgiKv3QeV39iNiKv1F3eOu5GrnsHVU8BswXdkUNHSlKaUmW0Nk97aBYhXF05LsmWp3TElIp1YU1w/p7XBc899s+9kr8yqPe7nZSptynjuHfAV79bdswB5Er4l05Zol+dLUmI02SUps6c1olci76FsqgylSqRJmaiLvPDDO//+qa6wuH5BjWPX+8vYBz9dekfnXn26QifSNOQnJPom9lqi5ckx1ii/MGVKSn3xxJxkJe331lZAhy2d1ErNieAzg1UB/z70itTv3WWJViRKTXHuqIQSn4VMmMBd5t7AS5WaEsFPU1JTRZrIC73nixprC2ZkJse4i96aYKmbGuER4WTdTTQRa7CkO8IoWA9t5Qo7MyHM1DqRrCORnzQO+DPioTRDQQ+ooUaBvkmWB8u0xYGontOxST1gyshCPncFNHWg55ZgzAwUVDWh1TCBDnmq4Ss5MqbuJoKvdvv4qSSXBrIIVS6lywMnlM8VYsm9XKG7UiE0IW5EzuKxeAxKwX/JhBzJBN/2LZ+ZXO65bf6WrY+umLuXBovms3f98wN25/ubloL2tx4D1rPrNSx9sKVbtLylpadz24pZhWUJN10qd+9ae77YY00w2t2tW7oeeki0dnr/Xz95Hywne//w0h2n2dOPL555rtzkF9F1/k0N4j17eFnumtG610phhqARV/w1EDOgnhkoiFSxifCYZ2M+jgk4dKsJMxopNDAxWZ3yDOKeI0I5BXDkAREzqRnZl+nQ2HyGjmtsapnMjTAjRyP/jFk5pXX6DHSHhsPWxd3reFWgcJWXjtRXIDYbr8uL4Dk4ix1VYeQB6C+rkSUpN8PRdzlVuEDDLEfBYBTDQAsPmpzjiclXztyzlKLEosNbLp7uqN+WP0HpP8BaeU7bfn/Z7D0zN2ooQwp1z58X1PIn72nWbXhUJHpy+65XF2gqGhTK40G1cqJfqqzfQh4CrhOoQPYEGwb5lw/rPBRVtgSkDjw/U2+oX/HO+l1pkiS7iOL7LfZjSy62BpN1HdZcHfuPsk1NvI0LOh8Qim6jEle+kUCda35omZS6m30Z1bMOATf7ZiRWngFlfwVcBcJI3TNBiwU8MfCgT2QRI6JtOxALwb1kObti5BOyGMwfed5IdpILLsVFycXsMfa4mJbEfU12gkVkEds3cpSsBjtGnucLWAasAaXDJnYLyAALh6+gfu62A3wxiGUvi/kHQD57Gt6QAtbAGyaCRaN+q0uQBv1WPtFMLIQWwoAWSYMT+yPpcOIXYWQ7fRjRqYT0WdAIltGG8kiVDYKr8wEEzU25uOAS6uHGBD5qWRzApLqoDtSiRxOmRpkNhE7CyyI98AvhzJtwOgthYqei/d0MzFB/OnHENwJUzcsCwOIXsQe7g2awaqEjnk/JFAZVfrozWjA3rYBSTmDKo0WJMXSWVlTmaKvgxbmbQO6iuvKgJCYJAMDjk46yINsu4mcZCo82QlfhUhclEotFNZ0tCqlErMzVJ6UYRckiqSiK+j4z5+oIM431BM1Flwxmc3xKlIgEtDAjhf1GLBK4LcmxVC+lq3F9kua5dTYwfvgdWCgSxwgstTrSrc+M1xgqpcmHSnwLdovZVRK7Z8rsoFciFislIpJPkjwqki8Z038IYbeV6CBOYR2YH0YhmZowssPg0ptoZ1rwPCA1OC+iBgfUBDLF1DpoikGNCB1oRL9UhGw46AhOkoZc0RnMtDAzjSNusziZW8LMDOeA7xb0Np9dnBGaD2eyogg6gtH8pMSMTEeyp6YVqcfQpHqoRBtaoIKcRoek6SjQU1MKZ9ynnnsLXskJ0LiIJjzT2ud0oMU+kQ45XPDuFtkzOvv0tlmoF5Ix00zmzcJCbp3L7EPAZtB28iF3SYGaPnDNWQQUXQBtPJSB5dwXFOlEjDd5qJKYgy1HnhZUykqD0uC5aehIBJKodLGkMqO+y5eRcKlRKaWqyqyeBd0lzVKrxXPrraCzoryZ4jcU0bWT/eZmhc1CG6bQlNUIlva19/W139xIWT7kdWidy6d0R4nFajGc0rSumWVJ8Up7e+v2gE4k7qj2BAWCao+vVDgJ/L5bsji4gpK0sxfRT+3ru8ajxc2/n2iB/hyae++oRV5nZxrDKHWAZn3yuM0vgnA9Bc5ecWTzc3GJA2Rdh9LRTNTRhTHRhNpgzEhwOItLJ7Rg2i1ZKHei/7/sdwalSwF9PPikwmsUt6CaLbpf2fVcHp2F08Gcp//fNj1S0Ua1dsZX3AOEO5aZZk3fWqtVIVjHBew9/0JbX89ScMvbeOtLGPlcyn65QqKs2TB7kmNB7+f3ZsTefPPbvnbF8jhFXHLXuqnHA8esjab6cy/+C29+T76MN7+OeZeWO0zKVutxx+/duPZMfF0/HepJshAZhIMIwF3wV7vrcOeHC8ka3NyRrMFnNfzOA5GjsVfQ1RtKO3/ah9D81wYD3QH471h3d3cg2B3oRufB5wKBMCr8pAhU9zlMoLpP3t5580byA8FAIBgMHAtw3+hrHL5kDNelMva3AtyjgoCJEYOo2QR9kO5GKtzcxf7j6tamtWAfzxW0juyzBkjizTc58oBpoGB1M4tZBhA2KNhLXOd3ZBElRAX8j6QxYyxGXDlOAn2cBFZBCfRBCTwKJTDNXlrBRZYykFNBJPhLy2/qVERkTQ2HDdlVOs+vCJjHINfxLDydGnig2rmZcJnAt0v+Hc+ylwEJfAvY+84ieepaADrPYnnSsV19V9grh9r62CtLwD8lH9xcmHoWn3vIWbXn3Llt246+h4Soe/AtLEQrVoTKwBvsJiuY9PrIhaqEds43FLFhQbngArSd9hFMsR0H5uwIiAyF3lDKKrj38lNcysotZbKHQvl81PJPDabmow7+wNOXvkaZqUEtOh3UoUd446DTnS3PGICP4/r14Yso9aT1E89mO935qVqdfizjdBRduXYB55tS7dDQCmIyPbgLB0muTAcVsyB3BIGBZYEIuDEmVUW4IAIhiZ+DpI/LVaiCfAtpwiUKIip38yw6TiiNVhjFyTNmAPuxIx8qlVM73T2dEyUCHpAIVVFJlEFM5U+al57jitVLdeUaqUgQ1byq2kLleaMCLdP/uG11g1cYY2Z/ZodHnjhVOpeyvfrEOlW632hT6fLsQ30HDkokf386xP5lntMq86XJ7Wn5xsqUiZJFzRllqSqr77HHK1tWsj88NGn/vA2Fr349RFrNfKNYaJt252PPvzYfpO3dU/JK4TORuhpurSgxauUoLgMIM4DjDEjgSuoAgUulmWQ6FJfhx2jsMoxICWh3kKd2qpwuGgfgdVpartMmAIDYcix6s95AY7KhZcm+hvmFcpU+ThwnlpA9w6tGXj3E20z62V3XXomN45WDpeCp6asLNNAMYa8oJGT3yIPDFLmYNxH6uI2RF4BAKYnEIKfDdagnVhJ34aqXpRipNC+MGgMT4Uq8DfcHFsHNXhoJsVNSlLwpkoY6MScQwp1YBT9fEfp8pJ/ppI/GJKaYxc6laBdQotwyEVoqhi9G+xk7jeoI82SDcoO5E71eTg8SlHIOznIheHqcq4fbMmb48sHxwOgy3khlBio/iCW5fI4qkrXHcAV2ZPUZcHkYtA2DIPJ6xKEyR6iFFFgkR/9zNecGtPFXK3u/BnXHHCvW3L79q+0exY6v2CPHWspu39d5YlsjeKImJy3dEAvc6gU1i3aYzDkZVG4O7565U0pyg4FPH5jXOdft1ifXeW36mLT8J+d5/Aq5w5cxybdzQm2pQRfMXbv2kRc3TF9G9T64bubUF9hDP9wnLdr1w71r1sye+wKYDM8aJ/WeHH7RWZVssIMZOseM8rwksyIKxMUl2Q0Tahfd2tQwWWNMdzhKLN66+JjANqvJoVMkJculMdHpidnZwfK2xTObcx1lnj9cH1cuIvKgPBaP6w9ScSWeJXC+pIgnoMjPqOhCMYaEcuYWFKJ5EKMgGvEr0WYUYqCQFwQHlBQip8hnDpIotYuozIIAoaPE8vC0CM03CUSDP1Jvbv8DoBTSqicWWmZ7OoUiXaokSWissdbpFQlinaV0sV1mty1fuqDeLOYpFEC+52YRa3bBPa/JlAfu7T63MZpXwP5vTe/K1St8aXOa02lrg33SlHxR7KJHGLvNEOtvXlWg1Gv1LsN1dpCeKCA2j0a8PBg8NQ3bw5G4V+G4uJcTjlwBRto2OxFWL2qC8IcZ/1gcDOEoOuPhmBr8jIMe0CUaUTQgQ/YsX5CklZo8+XjDSrOjwtBodbwmhTAYHU5/wW8KhsnVPgOHeYkl1sCVq3BVtsLfGhSrOfFydfwrC1YFizreknwX//WT7+/Zzl769x+/1Pzm6Bh5ZmiI6d+7f2oLcyS8Z8/5CyDttWegzMX+HBQSgnsIH1GNqr0x/WREtafwgjwcuOKqN71YhlCMikdyzcMYNBIKFxfkx30guNVPRilTHi8Rl6V5/TG5+ZLUFJvWpy+iDUkxqao0cZqPzs19GKgrnpjeLpOtvqP/0JzW2JgDdeyDV61UMl/nL3jY4/XzeXRsftFBj9dLqpZl18yO58fniMQJd9ybqJcBSh6XIpSYzIaYeOWUuzIKRNKAb31a2g/fg0SgHXw2zfS7nW/N/fc8OfnshDhf4MLtd7A/VJdEibO9H93eA+QEcUP8FHViVoxKU0SCMsZJUEROEOtcSjxnxxiMljQsFkk4OEpAx9T62+QhQvH0W6f+P+RrIzn4+zfHQRsO7T4UiUunUt2CbgIKLN4hEDZVKsZBTQgzCifG8wjFcgoeIZ/SnJqFAkpHlK+Hy3CjuQ4nK+9aOPf2L070bp+YZ1NJwfNsOfu9xDn777w1IwvvLCxdlabtBJY2q9qV9iT4BFjAh+sXn6gibojf9RCv4pGGnos1zOTameWYZ7wtjADjsKrDm9d6PPxwzaoxvvYcFLt2MpVhZnWYqZSGlsDzwjBTKA3p8dww0VKENme2hzbASZrjgB/J5WdW0yF+ot8fWlKJnNdkaUZmbmnKxLZblyNlWUgPCqwN2OHRyxgjnMrcTPi2DD+znEZR4Bq02vVGh8tTSDS1zFmHbmyjUZFDyuh29ytl0FzBgsuZAn1VYWQTg984YWGWK8aq1TBSD97z8M1c2fTYVY7AWYGuIr4T9MMiEzK6I960ivrVw91NpUbn1s+3SLR/7JoQiC+/6993i60XddaujvrGWpWp3r0r12cpdaW7FbSEVscnpUmizek2Z1FzYWGZNt1Wl5sdl2w01RRaDIlxMXHRMjoxOUl5U+lb1c1kUvdc2u7Jza/pZkwieFhiqGaP25w5eRpLhqN4vt2oj1XT5oQMVSJcPTFWTZJBbk6NksYntOYFM9LVyTHRPGjw6UwuSZwsJk0fTSuVo7EmC7RxuiJYlMhCG489eQ1xMsRHFkyUn5HRIYnUj9hNEGoVrhD1EnJaQJC4QsLII+VSgi+j4XRZzl8FTuof7N4wuPD2N9+9y+5sbv4aeABxLszu/Qd5mv0T+103GAFOssUMN6ylV/+1YsX/gna2j/co+wbLWwc3ydZPQC8QmYkb6ma80C9CEp4VxiCkUISdGPbccAZ180M9gnDNow2oeEibwTUdWLMwyjmKRUcTGf6b+d58DwZ04MIZikipvZKTDChh9E3jG32ZjgyTbNPHH8fwEtL05VXtXZllviRjyk1n1bkl1mKcOPXyQ5cnJiqlSsdDHqkqSVudC2pvXM81xNbReLweRQCR0VIVHg3G197AwoUziKNh+box7i0Eb55JhxJr4HMAxZkEUr05y5FTWFGFxycdOjYhcxai4aJxjD45wZIZKECeI1MlG/BU1Pj/W7wC2o8pPK4eAYeBLeAXfiTgDFOf2aD9byGK/BjvtO4tVQ/1RCX1xuRVzl7C593yK+GJ4e68W4M2aczBO55hL9/53yIT20ry5/1hxURjCy09HOPp72J7bgxNgB3zdJKY/iWnRtdEJX8frp1OI3IQkgyFs7MJWNIy7YwHjrrfjgo9iFBCHM7vo6ohCR0t43jUoX/IeOjBVKM5ZTS3ihofgyAA3ByfpFmgpBW42yGAmrzQpSyArl3D5tRCm/wkmPDnHUB8YqWmhN3I6tmNJRL6RVAN7gKVQ2JpMdvDprA9QXGM8L2zZPnZ9947PXL09HsfzH1+RdmS+2rC2bYF27YtkPNlIHXaQy0tD027aDS2dXW1xURFxYA4Dpxz05IJEydOWHJDDFSP2d8qiQ2jOza0/IrCEQrwyO5dNW73NnKEAi5pqAAe2cKMbWxHr4YS6ELcCzq4TTAF0J4W8C1p9mxpTiUaLJsspE1CUU1P0ZjtZzBm2IjcwG/a62UKVINFurNIfSyQS3ExJc+slquUUhS0d8N1+1vNgKOZMw6eOdiWmdkGn2YcY6RKS9IHovbLEkYioiVU+W+3A1/99tWHp0x5+LXLr6En9gUwV2R0siumvAoenTKJPUiSFKXHvvEbwib+G4Qc2g5c76V2DI/n13ovFeRPjGF872UyBjAc33sJHR/D9b2X46/8au8lhzr0y6ZLqiqda7qMd6Omy+Hjv9JqWWmroMAfRlstF00h2ba2EbL5+XEtlng9lQpdglYiiogljAg7Ph590lGEf5OdiT7DEE5GArccJ+YgkEQj0D8e5hkNaVENaGxcjD4iD6j7C5fByHW0FYGK6Gg3in4mAB0tJaFuMVhWHl3NXzp9xkoJuIddRS4QgR0xeTteB1u/OwU3HJGCv6dl2fKmKQsX/TSZ+jr82nA/+UFl4m720kgpeRE6UdBwG+2hmC78URAgNISV8BDlxFToEaFZysS93tV2Zgr881vtTN0ZpikcmobUQSaFcp42zDLCiP1MtexodILeGSibOCrNnCJAVojPC82MOKDHNFWxQEjIzF4boFKAQAKM8tFoO7RSCAFX48NdgLrDggqEOC5epCtQq80lsOGDY2DShR2XMyWuGXf07NYliD3Vafc9/foM9vTZ+B24+0DDxO9gv2ePsZ9MpPvbO7rk8sfaO1byNgBNYv1yWlqu0YoSDq9KzKCt2hNAZdWk2B5nP32iCuzoY6/uWvTHM/PfqJWYNu4qo5L7q9NA2dYZ7Jts0fsnN2vrn8CPQNw4VUE/2AQfFbt5szNMQnp5fYmY8mi6mASh4mNtOnvhJY3VqqGeAAmPRWRjuuAzOMYJhB/6B6eJAT/KdWnCcBmgjJfEjloNA1y/USVUQqO+ehbHiFAVCfBlfBUeWykJQyGh4Ccmb+j5wOOX3kSXGY+UcQ+FtMKfGN0QI5QOioR58ozBXPQ4AI/HlZfn+onCKEIoStDq3J7cvPEYnL96GUf5sqQR9lmjH0NEhQJlUGat0iyumMMnwKSKPjniDtFyeVYMFy/k4VfGvWCHAi0ldND85CFaESBHIMzIxkV1NiKR2XhOW0zVU8W6IvDA388frF7VuYf1tCiNIqvxg6b4KmGJLgD2fXD+MTqT9bG3BVqUVcJS7TaQWqRsKdtw+8shv85yQuf1aUGB1tnfD6LOLsxMkDb89IrO0wIKtc7HHgOS/0wXTVzJfsc+18gOab28D0FSY2Prxl0O4gafLhVqLT9xG94htOFQptfpZHR2xuhClZO4x2ggUYoSXIlW1DWTO0pdr3aiYlPURwqttywphmWF+0QeXPdeLS17li9NTEnm0OGZLDoksCIloNOiYiXCbHHcdFfAgS/MTAO9LLlL7cIhAdqAkDDgVooObl7XHLQtWNApennFYQkV3HLrutfm1MeLXr+pwgdKa+6c9hE72TOygexpmXffZnYLuGVbfbSZ7QUDPTfupYjfrpKovcH7rfql91sd8X7RHik12AMFZRVjDvCz0GrNCQTLyn+bC4wArMZB/mYADHsBPR45rVMa4HCgjMpv3Rnv1ClP6+JJRbxeH39aqxz5VKNcAJ465+gET/12l7kzXn9aqdUqSfh4Ol4vTEwYuYXsOBhnZpewX5MLRh7A+gBAnbsA6oN0Ihva+HqCiUZ064j12YCr41EpPBEqgBtEyJqJWRiQZjT6OC8Pdf4KKIt6PKU3onJCiW41pTb75FmYfQNTe6NwEbJRLWap6PM37gTy2cqWvPzGhtwudvD3Il7VRGDu+x1In1jFOx736cfsHvZ3H38aF61nQwfE4eKV9wBDfQvIhqPnbK6vb2b/9vDv2Lea68kldx5XiNbfpk/LbW5e3dB3SBIwevOnT8/3Gqkjy2+ZO/eW5QuYOy5tmMK2xS8iB5Jt9vJyuy05yZZVAZ9H/Zww1SgIQ9kxwlFAta+GMb4ezs7XcpFKtFdqUd6RT42Rq3g4gwhKhYVLninpWKB2exGlMHZyteYp94f/Fb5/yr7NASvb37h5X7h3SbhzU5j9OPz9Ungdvrx0L/FzDW+HNThveEXNz3tXPKclvx6J0h5ZsfOttyK95dfZirlEENrJDTdIeMkvJbx0VMKjkYRbXb68QEHRmIxDv4NIy3Ln5Afxxf9/MeepfWq+2kTbgcfEp9VCvocPHTeLkudTC9Uen/K3Cngpy8KfJwHRypdHHme/py6SHvAin7+4b/dBHfPbRXzn4k7RaWoFUIkaL19ZwX5JzTnNHKMYigKGokDx+cPVh6/DQ0aYVVYik/ARhcREopVYgefai9mydThwg6qdp42LUFdy8z4djmIl3HMKpSg2rdSlpWeiUStqmIyHkvaioRQBZWp6prOycWqEE01eU4uCrrmyZ8SEsaCo/FeBrngerUml1o9CqQrNcq8MxyopHnSFHT6ZySeTCwxaudelVQsFfBJBIBYAFY3q6dC2psaFdmqST/4KOFY0OAG60tXSmFUfV+Wv1UjiwrT1i0OCjN/NYHd3iCiK/wJ4jlrjOrif/WrS9FnAeoF/J/vJttce3trspY/EVrLD70XxBbGTaphVrgpxHvuJ69fRNpNXVBeJLFvLc++1yhL+DT48BiyNguBnT7QPX4S/BEx7gGJfZD8qFjgSXqcGFgGS3VTYWVyg/JD9hB+dlqSKEej/FkvFRksF7KN/BqqILcjNmZCIIZSYVyJjrKfQYGeSMe+RhiOS0CRjCJxI92AUl7YBhEVAyGVqWigAKrg5ET6dHKDcFUCAEKQlgZfBnkm8xF4qX3jh1BLw9rqnD38B7lx5tbKDPPj8G/tJBsz1fDBEhtvmkf8GopRuNjiyj/3uMfKz43NGPg8oEwAI8ytHHiX9jVeT7n/sS/DwRm6dgigRQfVinE0dlDU/UUM8RTD59sHYBBPcTF2oRKWYCyNAMYvGUA9CDPUQgzJYTiR5MsxsjqgydE5UlqyBj1zLQybGTkQwEqjaJS3MWKSoORbZxx4n48YuYS4OJOJQRAyCKRdI/P6QGvXb0Cp4pE+iOerl4nxo9fPEpbhOkB7M8PlTI+yU0M71+HBLSSpQwEOeW6+Uq1HRKzw03HisGj0WyhUuPsddiQGWoBWgEUejPShazMQ7k5Odzyg0yQkJyZpjtE6rVGp1xyU8o4GmTUlRJzTkuc6+vs4cO81+PzirNgEM94rFvbvF4t3naPocmCSVsofP0coPwKsKBev/QAmP3oBHntMJCadJiUYzYtBQe97Zozh8MVmsiOCgj9OZWYQb2wVNxDRi/aje9OHcYrqdyXIhJzqiRqf/Uo3OGFWjcUiNZtgdHn+gqGzipCl4/ef5oPWpTjHhwGs6De2mSVNaI8525UTcIP9svMbuKiipaLypmiWkQaBNAdJYoDXzFGqu89ciMPicHIa6yzmKpY6qTuSqVACNLwye7kYExdzlm4ZQf+z5CIj+sWHDP9gfP3K0SywZfY0izQsfSZ56fkLp04vmbWssl5R/VjU7a3vRsgeCfbwoCUUZvfWdLZWTA5K79B2BrJsr5R8BdW7jxnPsMHwEM3q7VA73bYmU39/ouGdy88ifWnTLn2skdfdM9rS0saeilIkCIUVJNyya8dYjq9oOKbl6zKeE0/kXCDvRSEwnbkHRtyjo5YWZFjsz04UqueY6mSDiXgFMB54crvNnEoatZ6ZIQ23wqD3MtEsR0AeTGA7NgxM2ZRKUb38uZqtsowclMXkIy5lplw0UFRuxqzutBS6KcsR7H6RDiQR8NsuOJhvTsry41w/rkQjko0utchYAhALCfaE8MFS/SGkjcTdaUJupQO7GaLSoABD5GV6c2I3lQWcii+eN0AUZRomLDHqDfn5D3caWrrnV1rXW6gKN84lA+R53TslDdFycx5P7v2taDve3sRf+6o6Lo/ewnY5iuSE90RdfK51RJ/L37dufszi386m3e0W9b/3pVv9ndUvr671+Mli3tK4OPvc9tHbVnrwcX6ycxP+08cm3VdZ/u/vzx6P27b0rRrS4MT5+SLmpb1/UE2zG3hkZsXwBD/CAAIgkMQme9vtvubctR6XKabv3wb7Ozvq6hQvgU98Cbr6i+KmCXtwTEoR++jvYagyGGRFmhM8d7forx0xvBhw/hY5INqqpAai4Gc4gFzXlcUl7k5NRcklNqNHSpKh/gilBFOlQ86E9OMSLpDGU9IA9240m1Clj0v2h/DRsxEhlCUlavdhXgJejKMiFCOX0oC8nD2U64R7MxPpD8eXwBY2fMdBHVAWFJQj5hSmWMSn+UDZydwjSnOYenXYamnUuHW4JQvOr03to1XXnAcDh4ajHAHCICGAOGXnendmybTKYGHwM4dY8FmSZg6XTrztFoDgdLRgKZzLP3YzQcrgv/r6+8uHqknVzA3sQbs5BsEPLHXxRsR/B4eQ3Na5qarrSsaqxcVUjLxU/XecDIVyCWmIy8TTWdNk4ktgcZqqdqJBiggvlmfKcaB9F+m7KOEPXiXsSmVLO9IFLsE4aaoRHCNFgzHWcipLLajyWoUpUHMl363Cyvo4eNASCUq7gblDgMeWhkslMhIFggRNT3gyXm8/pR4kqqCQz1YEIJXuCzpRxU8XIdyNudtRWFKGKQJWx0GvXQaMo0uyI+vD0HKqmG/mk8MTkdo0CGd0cnadeJBAka3S3+RyN09J6pyULBKJ6tucI29PzOFj8uCdzYux27fbYiZmerqJic44JVBSjYEqy+abK8JHlk0W1FdVUlM8kkbRJqitqRZOXQ1+VXDd16rpyj0kkMkE12GbOyTG3ec0Wf06kZgfhSZwlUqAGdOLeJJ0LIWPBbV7M4XSPds2KE5G882NiVZoUU2aWPTJo0K6FTifmH1H7EMIhwjak0TB4aB3gXtZFzoUWEAvWgtiilsCuU+ve+/G9dUWNxexBqpO7zPYXtxSd2gV2vMB+A2JeIDehqOLa8vK1695ds+bddSO3I0hIEMd+zb2OjmxBeEVeXIw/i/rnKFGeoA9aPxUYSZeCbjH0C2WWLNKGsBmiAKBdSi4zgRxIlAhEoQKLe6wwBp9mkbi0En2OzCQQB578sR3kX/zPqRR6yxn2MvvXJ95h936zBnxwpHVLXbGfbtuVtyI1y3BMJI1RxKc3ZmYeS6Cllvi0tBS1UkGeeJsdeOGc6Y2TJLiy9bvnbs9SJg2yLPsMG+TJAvUac1KbJj6jpmTkDTCsNCqlKp4k01jDasBwWq5ELFFGpST7JKyGs++ITBGfvwyz/5jhGptIzCB6CCbLzuSEGQIZZYow02xnNC64jnDPQCImWjGgl+IwnZ0FrqL8MJPPdd7PcCLjLehEjQUhQSJOXIfyEYFY3cQGpOncdKi0Ge1WzQpUeqx0ufMDDWjhlNKhOAMGINUhayEA4JjhnQl6oYDW4RSrYfRAYAAKXKIEtyePAdEkWqA06DgWIVS3gbwPJcrky3HFEhcBVZLHly8snMBzL65y+qac7B9ZBAxgqckU3AN9saXKpAxPLvjQnpH17s7FviWzA+f4/EUt3oL5ZC/FN5rSXt96R9idkUuSH5CSkW89MTFdDa4GeZyKJMslReYnljbmLpogirlz1qHnrr4IZlH8mbWHyUxgofiVuVNL2F3uByonzKFIe+PmiSZTEbV2XjDvUOPU5fOq8v9kU2vJtoMjS515s9I16jJ5VMz1OTwHUUQ8NKr7CjDomiw8oJeh8Jg+XpwBtR8uRRrTe4mY7JpJ4XScE5HHMk4uamZ0MrlwUxtL8aFypUSk/bKhakuB88TX2fGOhNDpGK9sQKAvRI1WgVx4TwGCX8vGsbRkV84vdVwENAF4XEoORRYvYqHFg0xrvGJNHrUPvRYALqzYbgafAN4+4vFuO76ls9zjv/v4NjJQ3pnjY7YM3X1z7ISHt2/3eEDljLu3tAWNxqDHwx5r23L3jO06Hby+fXsbpojDPI0uoYvqgL5YXISnMcrFCMNMrBOxSSA3hsteizlumlFaCY6zm5JyzxdA9cX/ZQd45oug+sKX8GANe/jyZTDp4sXI82hvDoehlw09pxKinriXGMhBEWoe7orKx/CB1jHkPBuugcrFNVBoroLYnbJgdyphbCurxvCCGC3P60DRPpJnNFnTs+wYLy8B+kiDMbFaHTqpRtuZSi1LwpZERQ5Wt4QiwWJzGYuuh80btQS50gcOGY9bRvD/LzD10NTRY6aCaQw/D8Hm7RI5Pa4JMxcurXo4Hu3zu8SuzMmrpaLXG6/h6TWvxHB6uf4mnnsURQ/D5/UHa2enpui0ertzwdeccfG7wln5XpuJzwsGwKM3QOtBW4Ev4HDz8rjT0dxLlHAztOkqsQ3eQSwFZsyTqTS5XExDODRtidPJxGC9VgRNOSczy874oYJbhuehGtoWHKABFAsh15LByUQePJI7mRlhpgk+SpFwIJCkRIR/iKAfp8Dz2U7kbXmdyOFCTu78MDOf45/nOmwXcdzGy1HPRjVX1ymkB2pqsXqsxwmAPG4SC1EYK0TPQORcfoyw9Uxzy7SZs+ZynFUhVQ5cmAaU4NKkZKPQdkg3H/5AE3LbQp1L4DsWoXZJIhTTAGc+hk/Q8vhEQ1p6RU0zLhAtokPSJHjXLNmAN2+uP0LTjcUBV3oio5+Gsx5BTFThnt2xc7jcSegKeMYJB+rnjSXhPaox4EXj2BFvvGkZkRdkBgqEzcHwjODu3rd27q6Y+mbf7p1QSjKb72l+8yA+3B+evK0lcxSGkeweB8cI5YcMQ/lpacn1I7l4uOLLxCRjRTzbVvEwdw4ejT/45ejJl8gGXQBSyvuQqPWVsx8vCMxdV/JlxdlVjU35fmR3oieBKdCILdJbVjcgU/Q6XZxCWIgWrIvNOJKRiM0bKce9M+ZoJ49xbxs5NYtYeJJRBSPfz2hxB69Rxgjg1CSa/yvuSoRjjxtGNGI3TUJQ3f3d3f3gga5DXV0tjTe16f5+qLv7UPfaP6yFX6OY7r3QXosiSoAURxC1LiYqzOQ4kTK0ulD4PMs5iiwTE2ZiuD5lCw7WIC2V4USFDTYniq1jhKdPoPLD2bREnGDOE/3E+Iee/9p54jh32YnTaSYxSkcPGk0GOdyipIMup1ue8fxL8RemYJynPOlgbp5fnjEAH8dV0MPbx53B98An4lk46SaX+1piDfziCk60OWLQ/iYsQPuZF9kk2qwc7DlHcQ2NjJR+lhDpLRk2hzeyuUG3yTkKhoHMvBRBKkjhubS01GSJdIuSqG9DwceA21oeNvViyeZ7hxa+v6l8W/fmPw9tv7c4ShorjhMq+NX62bvf2Qr+w4b3bDn0ZNyXSezmv34MZAcPfMeenFPtXP/yvsWvPTiVPH7HezvrF4RXvPPI869OiYnX0BZ5TuyljvsXe0EliK7S6W/p6YUi1n/4qwqTaXE3yLh4YKCh5aF/RXBbuVijGseHXXDnqSKGiAEH2neoMOO2IwMgCeG3cD1Jg1ppQAQNAyjC1ZwIO5Gm0mNlZR6zJFCrSFkYgbZG2pZqoEijsp8BrcGKtJMZlawkoZpLJkU2oFDa0EUffYSyO9yoq4kpkw0IpQE84G4HJqAS2nxl2KGlB5TRxdjMsCJtloB5qkJGlA6PT/FfS337vMYxJEG0N5EcfzLUP2REz+jlbp+KUONeUmjzZQEeKiFKIaHdLMzi/R6kPvlXUFR2HPgHb3uF/d+9vexPJ3skAx/eMbm1u5vRFLeXl7dnhm3AdWbZN4cvgyf6L1J7P9JqgeG5W4e2N33xDNnefx7s+D378ZP/HIh5G9T89SEge/W2ziMjO8rZl3gHnlrXzaxl2VmlZfbssuHOb5afYd+0vfk1Wc2/0K/9ECw4cqlx24nO4+x50+3n+9uvz4nGERqoWxzQz0WFlhZcNYNQG5zw5AwCdELlQ3BeOPMO70wo2qDEVLYhJSrAUsejwbVAM45J9DNpNL7AOGSMcjxEwygdDq3DRc9KrJ4tkeLGDGi84fJnePS3nRS7829/23mV3Pk3shsc7dy+7eWnH2cWzK31WCq7yqckWss7PI294XAvdQXft4P36pq5j9qptFc2Pn7EVVlgoA8pDL5c6w31d9XEUaxBK6Eb7kR5HqhyAkjNQCFkAlJksCZi3SPDQJPX7NpC+ME56zV7rFDIw6kgKJC1CCmnEDnwiWW4OiibPiqQaVIs/nIufPmM1mS0unwRFAU9HKqSSjhU5VAZ0wMef5mfK26TRKuJFA3UAtmuXBQICCU64V15NzF2+XgzQ0BuTo/bDjilIIw0wCKdoLcD7JPgggsflsybW739y29bZrI69/U0Ntx96oSkizetsbiu7/srRaakYGHV7OkldbmmoiXLfndTM/jdTYdmrO7aU+xRSg1rDu+RlAV8cVLzXf2nuiaVzJndMD93nmf/KCbGPmGrQMAhoSBkYLkM9xdA74tMBD6EShdLCoMghRQISdzKYQe4GQTxtFLCausyX9K6Hp3RnTZthW/a62ef2ZZg7y/o79/dSTunFdtiFclPNymltDU2Q0wnaBzJs3Jnsh9VUuXzNDXpZnYG21xU7k6z8Y3BwW+BEHjvA/yZJkHB4j/OTaHjc2rnONnDKtVSf795zt7nGrMd0bIPm0br65aBCxiXGvmsLcRAUsSi1o5xtoyhUGvGUKh1ERRqjr/lBpRpIqRNQowuCFPa+N/RpK+3fK9Hib5m1d4MCnqcvRr5LAJop24jdIQJ6mqChiITaUVQc4BhUKK4zcdnwfQmJrFA91BBWktXQp8uzaqjOjSa/Xb35DXxDyVPT766TwdkvFJSOnyC3Q0WkX3w8S9puj7N2sk56X06dHerZn98V4vL3pecfHWvrpxXOPJ/wydIKXs/uZ/rH6fw/uGC+wfquColahC3Yg4Xra61M+IzjIpLxqjEUPWbcwojKKBSLrSsAVxZtJbDAfC4I04FVjoolQ41j1onU2eRJnekL1yJMJr1ZosZeOW6WPLw1NtXMd0PPr/lLrB60+bn7yu4bcWq26cetqWw/XPZFezyuezBFNtuwJO0r9o1C6wypZ34aijNZEob+upEmomXNEcCyOhZu/hr2BPPzuyoWbW1fYtsdlFVjs+XU1U0W7aldPGc2pqOmc+CAk3aCy+kzWOfO9W0869/TNZb/H6LPjmJex555z1QtvqvOzm99SJ1RPAloYD6mUgCAlItTyFRDAiYjUKeWSggzHCRIDwlzcurb7V+oGE+v3PoOT/7vZ899fhr5kAOKDE7l3eYnX6/oJ3d1MRevmf44sL7LIYykN/PExzos4GtxabE4aPLO83e5QsVNKcrqW6oK9XQc6zBVWNZcPwd4yxMG87lDsrENrh3x4VRqDMUH2mDs9FwO4C6TCYbkBtwwiCOZqgIiwaiIsD5fTOJMNUEJPxSw7kQFHAVtnGARErL3AdEe1f8z74ZW2+9dTDJzEsavPXWrf2mKLkqVhuXGd0YFSuNEfKULasc5cC+l72yb9re95b3geCdm8HB8zR9np21+U72xcPz5qdkZSVmqwqkq2Ji6Ohy9rWhbeWj63i+iBB4iHgo+5lEIoFqsREuWgQgNxQHTQFGhrSuzuNS6nhIgFB0B0oQ6jHX6YVJAPFbIyJPpcHD86ESxFTAe+IY71GF+GX22DRtgtXD5vpNGrtfzh57WaxTHhMQhyViyXDvsVP+pDyQk5fkB2+Hw2TLuT/lOJPjvdMXas6NlLCHDx/uO/bmm7x9SzyeJRFuuQjfahKuXKKJgXjMbDdGf+gYXy2j1Hl08Nsw2nrsog0At/PyMY15K/vcyFPssbamtWH+3qupvb28fb29mO0z3NIVhv9WN191IUJbfhSYzvaD6aN1Hfx9gjD83QkEMZ6Pm6fjwV9kUut8BotO2JxLdee2TPZ3D3d3+1sA2Uqen/lxFXusuj+/qSlfoPS3IPiKFn8v+kUEETXGx3CNt4/rpbZD23GMwc9tRxvtf2Hww/9dHgOCCwfw2Be5JofXuDZmjg8uTIWHCfTZUNPym28iYA7gQscdYB+Lv+GfdSPRX7hjXgf8AvtG9s6Dz+HhcMeortonQiYvYobOJvKIB3E8xxweMPNQcMzsF2egPiE73hxkYY5vJ5or+M/HqwkDomB6Bi6Hgzx2R3g0AiPiqHisGuSCK3AN/KDWZE7lIv2h2DhkXiHmBsaLIp1EyJ4B7Y9kvUGD7nDRIYfXf73pBT3kMXJMeIxAsa5lSmVcdMmgHxfvH2WF/d4fH1QERyrhQ7z/e0Ssd/cFEH/h7rsvsJ9fKBsExGBoYw/PUK1JS9Ok2HB/OG9fS1fgBb//hcD/t4rQv7fgijs6GH/8Z9gM1LJFwU1TVk5bC3rXBeTOQDnw2m07hg3soPoUlCshdxUJQ1ad2Vzb4AxZa+ZsAwwVER5Qk1OTF3QDgYCBkZm9K6znxAy6uILJHNJ1smbUYwZ6mg90bro4K+jSHTtGYNnPCDrmW5WdD7yzGXQ4LmilIziQ2HRjGzenszCEFYVYKHZE9/VHdShahBSF/WFouNrmxVjAqK7CqK8nwCzILSMj4ccopy4uYPrvqiEXl4CEkmzMv9esPo66fnqurnp+eg5Mp2M2zC13FdS1Nv51cO9fY2tdwewNt2Q1ufnai1XYhbgZefkt/r2QkZKR6CmXFhFl5uJzYOQpjiwp3VBYCBkzZPx3iy2S7TiwBjBhYJAHn+9vZi5sLgxaVAtqKKmwgzdnMrKBTzuRY4TufgWWV0ygFpOAIquG5GxXqav9nxo72/e4ykjs+Pelr+RIq42QtNHfDxrMTdxqdmfWqNjyiEgY8EhL8LPwinJ2WrIrnpBVYJflMmcMkWTsFZGQOMuoMn/a03RpkbxZJ7L6Mv68MmFlVjKLVq+7ES0sIizIz8nMyc+WoiMGnYfJAJYXpsC8ocygwwDKACLg9eEbxK9tkDm7QQaS1gXOggqwjcoyoLgUtoSsAZMH3yprz4hY/KcAOk0CVMpAL4ZPqg4qZwoqCqpODtTaefFfwaWzGnZMDPl78k2TVFUVFVVVk5jldfz7H3/58rjfV696R2ZFReYOSLnP9V+frZUtCdjesQXNqgiBryDkAzYzxVlUzVRAi5SBnWh20Fnw4JudGIVAG96BCHRfIXg/I4uaujko4IFNI3YWLg5DA2kHGTEx94mZjCKMPrMZBTeGionHxCXKGfuHuIcGpucBE4FOBhubaVhGv6QhsK90vJ2ReaNDmJi1y7+bywv//d7rYVt8tLxelkXK5N8dFsmbH5fmlxjGx/tYcEmXW67bstHeNVjAzzF3zqSEEAMlHkZmDU0VG0t916m/re08/I55GVmw8Ek4+0VcsdXSZubZmu6luSGIhZ8vH3oWLdNDYNnKCSyxORmhK+oYCxkLrHT+Xg86y1j4rx96fw0wjf2PZPvL1ggsdW0ZGITZxOwZgd4VM1cFj8mCdgADvQ1iC4F2Y8Nuq1YHb0RjB9eIDLBmqbqkhI3VTUauIFFzB0Y79QpWDiEeVlZOJkYvv7Nx6bkinPKz/i1rz/9owK/GNinLQIVPg1VaUldSjsUjsiUqyslBj/Gyo5Vk0L+PD63tJbqF/MUUjJSC3T0FOK1sbjd0MyYt1BAvTgn66CBsxs4jxSXNImweY+XN+LclLq4lTo+BAQBViFnvAAAAeNpjYGRgYADiovRLZvH8Nl8Z5DkYQODKnRRvMH1/hc3/j//WcFizvQFyORiYQKIAX2sNeXjaY2BkYGC7/G8JAwMH2/+P/7dzWDMARZABox4ApBAGpAAAAHjaTVQxaBVBEJ29v7d7nmIhgiGFCCFVyiOIxW8NFiI2qU7R5oOtZbCT1L9KkdoiYPGRIBJS/jpY2BzaSEoJKUIKBUk2M2/mbu/DMLszO2/evtn7Femv+EzkPxFN3hGFH9kXT4ncV7Y1NfrF/hX7t+olVy7TP6mtOOx31McFr0nXYcrrAz53llK5z/sXnH9MLjbpOhzxfsbWe7FT27OPtfKKLXlZx13mttA9sE+sX8fWkJP6itJ1/JguPOekH2ybnJybLJWbrKsCfJzUItekqzDPeMVDNamPPyn4GXpQPFSPmm+02t8TfOTMJvv7tj9n/NfgfYcxa+Wn5+ReJePHe+zfp8S8kx/hTI70vtCB7wvt5lRw3Gm/lKDTNmpuCafwh1bLy3wH0afcUjzEGsXr+ZZdXrul5vsY7rpQnWUtuoffFAQPMebm5+Cms6dhNrh/WLEe+4bVisZ87sRmesj8rd5PNSdraFuIHtanVVzgSC+fUrwiJzjSp9zTd4V8l/Ub+m5RLXXFMZtoumFv/Vg5A6NTE0y8szrrIu8FM+XaKtBtzLhTfpif5HXG2q+xWJ210fdmcfs24herYY0Rf0PPyu/2/k/t7JTW4Td0Hx5ljOG9SfwJU5uZfpZnjLvotWOxUQ7aLPAdKt+/mO2Qj89Z35ejunakRZvvjdh/ejDkGsvtjvKjvqKjO8ta+Q+j/4xGefVv1f47nMXqQnXB3IluAP7dou4AeNpjYIACEzzwGSMTYwVTA9Mr5gjmBOZZzKdYeFhsWBawsrFmsR5h42CzY5vFdoLtFbsYexb7EfYHHDEcHziVONs473H5cQtxG3Hv4uHgseC5xivH28b7hE+Pr4ZvCb8Gfwr/Lv4vAiYCuwTOCfwSdBDMEpwnuEnwiuA3oTfCccKThB+JcImYiOaIThBdIvpATEisQlxHvEdil8QdSRnJFMkjUmZSXVLfpKWkV8iwyYTJzJB5IOsnu0D2kJyG3Dz5DPlvCgUKExTuKSooblG8ptSntE7pgtIr5STla8rvVJhUjFQyVOaoXFDNUX2h+ketQ+2e2j91HXUH9TUafBqrNB5psmnKaJZodmiu0JLTCtKapXVL64s2k3ae9gMdB506nRU6T3RDdJN0K3S36P7QO6W/Sv+a/hODEIM+g2uGeoYBhgcMzxn+Mwoy6jO6YsxjrGA8z/ieCZ9Jiskkky2mDKYJpj/MMswmmG0xu2T2w1zKXM/cyTzMPMt8ifkVCzYLLYsVljOsJKyCrDZZ3bPmsG6zcbE5ZStjW2e7xvaFXYu9kn2VA4tDl+MZpyCnR85szmUuUi5PXE1c37kFub1xV3Pf5THHM8pLyivJW8ZHxuear5Fvku8vvxP+agECAQsCvQKPBVkE1QTPCH4XkhKqFDovLCzsVLha+I2IDZEukQ+ikqK2RAfF6MR0xPrFKcX9ij+WsCiRI7EiyS3pU7JG8pNUntSqtKR0q/R1GWUZlzItMpuyuLJcsrZl82T7ZVdl38ipy+XJTcvdlKeRZ5e3BAQBAjvJsQAAAAEAAAEvAIcADgAAAAAAAgABAAIAFgAAAQABJgAAAAB42n2Qy04CQRBFTztoojEsXRAWE/ZOUFRAXQobEY2orEXlEQcGcTQx8QtcuTB+k48v8G+807ZkZGE6PTlVdevWVAPLvOJhMotAQfeHjfIFx3NkCRx7rLPrOEOekeN5nnlyvEDe5By/sWK2HL9TNA3HH2TNo+NPlozr/fLImRcuiBjzwIQBPfrE+AzFtzoDzexxpW8sxVjKY0U97gg5V8ea/rVozw6n7NOmKUrrV2c60jV/pnamaGKnRlL5f9yPaCmTcDrblzK2G4y4n3YElG11KNdreSaarrKhnDt604BNeyuUFFXVt0dN02s0ONSkA1GTk3/3aCvqyDWymt/JdfuKvhwSja9TsrUK26pW9d0Q+5qa7FHmUi5daRPXWF4Tt3t96tviRtWBKsnbhd+FY1J3eNptVgWY5LYV3l9jGM/M3l4uzIxtk7u9XKCcpr2UmVmWNbZubMsnyzs7V2amlJkZUmZmZmbmNmVu2iePvUm/r/PtWrIe6MH/3vMKW2l/V1y2Ml35Pz+c4x4rbGUbGAbw4CNAiCEijDDGBKvYhrWVy1cuxXYchB04GIfgUByGw3EEjsRROBrH4Fgch+NxAk7ESTgZp+BUnIbTcQbOxFm4Gq6Oa+BsnIOd2IV17Ma52IPzcD4uwIW4Jq6Fa+M6uC6uh+vjItwAF+OGuBH24hLcGDfBTXEz3By3wC1xK9wat8FtcTvcHnfAHXEn3Bl3wV1xN9wd98A9cS/cGxwxBBJITJEig8I+zJCjQAmNCvthUMOiwQbm2MQCB3Af3Bf3w/3xADwQD8KD8RA8FA/Dw/EIPBKPwqPxGDwWj8Pj8QQ8EU/CpXgynoKn4ml4Op6BZ+JZeDaeg+fieXg+XoAX4kV4MV6Cl+JleDlegVfiVXg1XoPX4nW4DK/HG/BGvAlvxlvwVrwNb8c78E68C+/Ge/BevA/vxwfwQXwIH8ZH8FF8DB/HJ/BJfAqfxmfwWXwOn8cX8EV8CV/GV/BVfA1fxzfwTXwL38Z38F18D9/HD/BD/Ag/xk/wU/wMP8cv8Ev8Cr/Gb/BbXI7f4ff4A/6IP+HP+Av+ir/h7/gH/ol/4d+4Av9hKwyMsQHzmM8CFrIhi9iIjdmErbJtbI1tZwexHexgdgg7lB3GDmdHsCPZUexodgw7lh3HjmcnsBPZSexkdgo7lZ3GTmdnsDPZWWFTqvWdO3d2665uXe/W3d16brfu6dbzuvX8br2gWy/s1ouW6/re5bpnrycbo6NMNybNeV0PZ3IRa24SP861mLVce/Ze7ItcN0lQyVKo3Cu1lSP3iCUvZOIXTa1EUEtuRDaakposV2lmvYKrfFXwUshcKCNymXRv9f6GG5mMq7ypO0q7784nhSq3XvyM9NrlUcc7ao9kUdmFV1tuvEzm1dg9OobInS7pTS2Np8qpHrtHR/fdae3F3HlIW54k/oZKpPYyXUgvV+UsrJSwjZEBt5aLLMj5Qjd26IKiKQxeIcvGF5kUs4FcyGDp18Dy1BMZt8FU5wldnPOiGuZyam2myqgyOjWyrnf5bZC8QusrD9cj44LmGFfbnbuGvFYTJ9+/RG1kEz0vQxdttSGjWOtZwc2s9khrGpG9srRKl4NYb4Yte1ONmqrXEDTV/xizO5i2TEObNUVcN5XPc2nswNR1wJN9TW3H7jonHqt0VPFKmirnJYVJ8mlYETfdOFpKO85BwSu/zigBw15wUCjhFY2VA9FUZECueeJCyZ2d/oZweKsyXcpx7ytdxcQ8oDSmkqKupjJu9IIyU9uIG6PntRDzyVaciD2kJDp/2kvdBQOh0xGdqANy2uS5b7XO6/HyoC54nkfLoJBslMsNmbdRdTeQpqBWacnzsCU0ledoPrE31XhpflsQvpFVvogSZaRwrkSt2zzOZVg1ManKPOdQWGfNdJrLYd0oK3gtB4m2Xq515bceBHNV0gVBzOuZtKHQReVKsVVOdoZTbeYUolHrOFFjPYh5yiiU9ZwUZiMHZEVJJ+yS5nX32B0WulRWG4+StQid/WRmm8q+CKwhEPr7GypkT+jEWSX8XKeqbNPQsYVuT6JUaboKCh2rXPqxaeosKHhakr30P9dm5lecamnYekT8y+R0SgJSS+VDhok6kJuVpoqmPcEoqQUhilKxVZoVCQcUUG0SJhKfqrOWvioJzZRCWSZtgmOqr3Aquc2kIeeElZt21K2q3PArQ/EIDVkmlxGlerWeK5Whe7i8+7VuysR1NjEb9riLtiAVbOi8KWSwBMmkh7IrodYCV0REdIYshdyu1dPaZrXrQXY85bXt8jdxe5cq97JVfzsnLZSofkrqGH6a61iGqiTpPB9SLzG2UjJqN9SX5PIo5mZ55ODmWYrgZJrrecUNScl8skFQ6JudZxKlh4T4mixOCTIykWWYxITVSm6rK23VdNEnu3sNLQHLSrOaUm9s2jKlNPkpb1I5pKylDU/l2CnuBLd1At3rcMqFdIEeE8imUyUEFbc/58TBhFjrqR0327+/BUgSR63jdGmxxdONAU+IeDHghEMhSuGnblyEidGUgM0hFalx82iSXmWiBI5RNiNB0q7sTEKdTlfVoiXsq6KKICIpBdStc+qaxq9ni0pu3zru4ydEzaNCprxtUe7+JLDU7XIzaSX6+4ws6W91SbpSuCLEcsupuGlMiAPSaD8x1LiHbsyQadQ1VMnnUsU6qPiCGupaT+mzQha4xhLEjaAGMXagL2hQkZlEokGnNoekMo6p8QQ0t3jNRy24W2St9aTezlQR2OKxAwyxCp7I1eVRP4rr1gVJyKc5pzZVGMvMzbcdVyH0ymh4iJkZOWWxIaZs6LbWSLm6JG11AFcIxWqqddqbUkcbM11aPrNydUnum0CL31aTw3xglfM7sJTubOEXmvpMm3saPVFslJy6pjoUNIrKxFVGrqr2IyYq5bxuJxYN6II6SRi78WgWA/rM8Vzhe7GkMutHaGC0u2hIYpfkiyqb9Juz6Qvsv6ZkCG0AALgB/4WwAY0AS7AIUFixAQGOWbFGBitYIbAQWUuwFFJYIbCAWR2wBitcWFmwFCsAAAABWLn3vAAA"},function(e,t){e.exports="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' width='10' height='10'%3E%3Cpolyline points='1.5 3.5 5 7 8.5 3.5' stroke='currentColor' stroke-width='2' fill='transparent' stroke-linecap='round' stroke-linejoin='round' opacity='.5' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E"},function(e,t){e.exports=function(e){var t="undefined"!=typeof window&&window.location;if(!t)throw new Error("fixUrls requires window.location");if(!e||"string"!=typeof e)return e;var n=t.protocol+"//"+t.host,r=n+t.pathname.replace(/\/[^\/]*$/,"/");return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,(function(e,t){var i,o=t.trim().replace(/^"(.*)"$/,(function(e,t){return t})).replace(/^'(.*)'$/,(function(e,t){return t}));return/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(o)?e:(i=0===o.indexOf("//")?o:0===o.indexOf("/")?n+o:r+o.replace(/^\.\//,""),"url("+JSON.stringify(i)+")")}))}},function(e,t){!function(e){"use strict";var t=["sanitize","whiteList","sanitizeFn"],n=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],r={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},i=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,o=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;function a(t,r){var a=t.nodeName.toLowerCase();if(-1!==e.inArray(a,r))return-1===e.inArray(a,n)||Boolean(t.nodeValue.match(i)||t.nodeValue.match(o));for(var s=e(r).filter((function(e,t){return t instanceof RegExp})),l=0,c=s.length;l<c;l++)if(a.match(s[l]))return!0;return!1}function s(t,n,r){if(0===t.length)return t;if(r&&"function"==typeof r)return r(t);if(!document.implementation||!document.implementation.createHTMLDocument)return t;var i=document.implementation.createHTMLDocument("sanitization");i.body.innerHTML=t;for(var o=e.map(n,(function(e,t){return t})),s=e(i.body).find("*"),l=0,c=s.length;l<c;l++){var u=s[l],d=u.nodeName.toLowerCase();if(-1!==e.inArray(d,o))for(var p=e.map(u.attributes,(function(e){return e})),f=[].concat(n["*"]||[],n[d]||[]),h=0,g=p.length;h<g;h++)a(p[h],f)||u.removeAttribute(p[h].nodeName);else u.parentNode.removeChild(u)}return i.body.innerHTML}var l=function(e,t){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",e,t)};l.VERSION="3.4.1",l.TRANSITION_DURATION=150,l.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0},sanitize:!0,sanitizeFn:null,whiteList:r},l.prototype.init=function(t,n,r){if(this.enabled=!0,this.type=t,this.$element=e(n),this.options=this.getOptions(r),this.$viewport=this.options.viewport&&e(document).find(e.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var i=this.options.trigger.split(" "),o=i.length;o--;){var a=i[o];if("click"==a)this.$element.on("click."+this.type,this.options.selector,e.proxy(this.toggle,this));else if("manual"!=a){var s="hover"==a?"mouseenter":"focusin",l="hover"==a?"mouseleave":"focusout";this.$element.on(s+"."+this.type,this.options.selector,e.proxy(this.enter,this)),this.$element.on(l+"."+this.type,this.options.selector,e.proxy(this.leave,this))}}this.options.selector?this._options=e.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},l.prototype.getDefaults=function(){return l.DEFAULTS},l.prototype.getOptions=function(n){var r=this.$element.data();for(var i in r)r.hasOwnProperty(i)&&-1!==e.inArray(i,t)&&delete r[i];return(n=e.extend({},this.getDefaults(),r,n)).delay&&"number"==typeof n.delay&&(n.delay={show:n.delay,hide:n.delay}),n.sanitize&&(n.template=s(n.template,n.whiteList,n.sanitizeFn)),n},l.prototype.getDelegateOptions=function(){var t={},n=this.getDefaults();return this._options&&e.each(this._options,(function(e,r){n[e]!=r&&(t[e]=r)})),t},l.prototype.enter=function(t){var n=t instanceof this.constructor?t:e(t.currentTarget).data("bs."+this.type);if(n||(n=new this.constructor(t.currentTarget,this.getDelegateOptions()),e(t.currentTarget).data("bs."+this.type,n)),t instanceof e.Event&&(n.inState["focusin"==t.type?"focus":"hover"]=!0),n.tip().hasClass("in")||"in"==n.hoverState)n.hoverState="in";else{if(clearTimeout(n.timeout),n.hoverState="in",!n.options.delay||!n.options.delay.show)return n.show();n.timeout=setTimeout((function(){"in"==n.hoverState&&n.show()}),n.options.delay.show)}},l.prototype.isInStateTrue=function(){for(var e in this.inState)if(this.inState[e])return!0;return!1},l.prototype.leave=function(t){var n=t instanceof this.constructor?t:e(t.currentTarget).data("bs."+this.type);if(n||(n=new this.constructor(t.currentTarget,this.getDelegateOptions()),e(t.currentTarget).data("bs."+this.type,n)),t instanceof e.Event&&(n.inState["focusout"==t.type?"focus":"hover"]=!1),!n.isInStateTrue()){if(clearTimeout(n.timeout),n.hoverState="out",!n.options.delay||!n.options.delay.hide)return n.hide();n.timeout=setTimeout((function(){"out"==n.hoverState&&n.hide()}),n.options.delay.hide)}},l.prototype.show=function(){var t=e.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(t);var n=e.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(t.isDefaultPrevented()||!n)return;var r=this,i=this.tip(),o=this.getUID(this.type);this.setContent(),i.attr("id",o),this.$element.attr("aria-describedby",o),this.options.animation&&i.addClass("fade");var a="function"==typeof this.options.placement?this.options.placement.call(this,i[0],this.$element[0]):this.options.placement,s=/\s?auto?\s?/i,c=s.test(a);c&&(a=a.replace(s,"")||"top"),i.detach().css({top:0,left:0,display:"block"}).addClass(a).data("bs."+this.type,this),this.options.container?i.appendTo(e(document).find(this.options.container)):i.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var u=this.getPosition(),d=i[0].offsetWidth,p=i[0].offsetHeight;if(c){var f=a,h=this.getPosition(this.$viewport);a="bottom"==a&&u.bottom+p>h.bottom?"top":"top"==a&&u.top-p<h.top?"bottom":"right"==a&&u.right+d>h.width?"left":"left"==a&&u.left-d<h.left?"right":a,i.removeClass(f).addClass(a)}var g=this.getCalculatedOffset(a,u,d,p);this.applyPlacement(g,a);var m=function(){var e=r.hoverState;r.$element.trigger("shown.bs."+r.type),r.hoverState=null,"out"==e&&r.leave(r)};e.support.transition&&this.$tip.hasClass("fade")?i.one("bsTransitionEnd",m).emulateTransitionEnd(l.TRANSITION_DURATION):m()}},l.prototype.applyPlacement=function(t,n){var r=this.tip(),i=r[0].offsetWidth,o=r[0].offsetHeight,a=parseInt(r.css("margin-top"),10),s=parseInt(r.css("margin-left"),10);isNaN(a)&&(a=0),isNaN(s)&&(s=0),t.top+=a,t.left+=s,e.offset.setOffset(r[0],e.extend({using:function(e){r.css({top:Math.round(e.top),left:Math.round(e.left)})}},t),0),r.addClass("in");var l=r[0].offsetWidth,c=r[0].offsetHeight;"top"==n&&c!=o&&(t.top=t.top+o-c);var u=this.getViewportAdjustedDelta(n,t,l,c);u.left?t.left+=u.left:t.top+=u.top;var d=/top|bottom/.test(n),p=d?2*u.left-i+l:2*u.top-o+c,f=d?"offsetWidth":"offsetHeight";r.offset(t),this.replaceArrow(p,r[0][f],d)},l.prototype.replaceArrow=function(e,t,n){this.arrow().css(n?"left":"top",50*(1-e/t)+"%").css(n?"top":"left","")},l.prototype.setContent=function(){var e=this.tip(),t=this.getTitle();this.options.html?(this.options.sanitize&&(t=s(t,this.options.whiteList,this.options.sanitizeFn)),e.find(".tooltip-inner").html(t)):e.find(".tooltip-inner").text(t),e.removeClass("fade in top bottom left right")},l.prototype.hide=function(t){var n=this,r=e(this.$tip),i=e.Event("hide.bs."+this.type);function o(){"in"!=n.hoverState&&r.detach(),n.$element&&n.$element.removeAttr("aria-describedby").trigger("hidden.bs."+n.type),t&&t()}if(this.$element.trigger(i),!i.isDefaultPrevented())return r.removeClass("in"),e.support.transition&&r.hasClass("fade")?r.one("bsTransitionEnd",o).emulateTransitionEnd(l.TRANSITION_DURATION):o(),this.hoverState=null,this},l.prototype.fixTitle=function(){var e=this.$element;(e.attr("title")||"string"!=typeof e.attr("data-original-title"))&&e.attr("data-original-title",e.attr("title")||"").attr("title","")},l.prototype.hasContent=function(){return this.getTitle()},l.prototype.getPosition=function(t){var n=(t=t||this.$element)[0],r="BODY"==n.tagName,i=n.getBoundingClientRect();null==i.width&&(i=e.extend({},i,{width:i.right-i.left,height:i.bottom-i.top}));var o=window.SVGElement&&n instanceof window.SVGElement,a=r?{top:0,left:0}:o?null:t.offset(),s={scroll:r?document.documentElement.scrollTop||document.body.scrollTop:t.scrollTop()},l=r?{width:e(window).width(),height:e(window).height()}:null;return e.extend({},i,s,l,a)},l.prototype.getCalculatedOffset=function(e,t,n,r){return"bottom"==e?{top:t.top+t.height,left:t.left+t.width/2-n/2}:"top"==e?{top:t.top-r,left:t.left+t.width/2-n/2}:"left"==e?{top:t.top+t.height/2-r/2,left:t.left-n}:{top:t.top+t.height/2-r/2,left:t.left+t.width}},l.prototype.getViewportAdjustedDelta=function(e,t,n,r){var i={top:0,left:0};if(!this.$viewport)return i;var o=this.options.viewport&&this.options.viewport.padding||0,a=this.getPosition(this.$viewport);if(/right|left/.test(e)){var s=t.top-o-a.scroll,l=t.top+o-a.scroll+r;s<a.top?i.top=a.top-s:l>a.top+a.height&&(i.top=a.top+a.height-l)}else{var c=t.left-o,u=t.left+o+n;c<a.left?i.left=a.left-c:u>a.right&&(i.left=a.left+a.width-u)}return i},l.prototype.getTitle=function(){var e=this.$element,t=this.options;return e.attr("data-original-title")||("function"==typeof t.title?t.title.call(e[0]):t.title)},l.prototype.getUID=function(e){do{e+=~~(1e6*Math.random())}while(document.getElementById(e));return e},l.prototype.tip=function(){if(!this.$tip&&(this.$tip=e(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},l.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},l.prototype.enable=function(){this.enabled=!0},l.prototype.disable=function(){this.enabled=!1},l.prototype.toggleEnabled=function(){this.enabled=!this.enabled},l.prototype.toggle=function(t){var n=this;t&&((n=e(t.currentTarget).data("bs."+this.type))||(n=new this.constructor(t.currentTarget,this.getDelegateOptions()),e(t.currentTarget).data("bs."+this.type,n))),t?(n.inState.click=!n.inState.click,n.isInStateTrue()?n.enter(n):n.leave(n)):n.tip().hasClass("in")?n.leave(n):n.enter(n)},l.prototype.destroy=function(){var e=this;clearTimeout(this.timeout),this.hide((function(){e.$element.off("."+e.type).removeData("bs."+e.type),e.$tip&&e.$tip.detach(),e.$tip=null,e.$arrow=null,e.$viewport=null,e.$element=null}))},l.prototype.sanitizeHtml=function(e){return s(e,this.options.whiteList,this.options.sanitizeFn)};var c=e.fn.tooltip;e.fn.tooltip=function(t){return this.each((function(){var n=e(this),r=n.data("bs.tooltip"),i="object"==typeof t&&t;!r&&/destroy|hide/.test(t)||(r||n.data("bs.tooltip",r=new l(this,i)),"string"==typeof t&&r[t]())}))},e.fn.tooltip.Constructor=l,e.fn.tooltip.noConflict=function(){return e.fn.tooltip=c,this}}(jQuery)},function(e,t){!function(e){"use strict";var t=function(e,t){this.init("popover",e,t)};if(!e.fn.tooltip)throw new Error("Popover requires tooltip.js");t.VERSION="3.4.1",t.DEFAULTS=e.extend({},e.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),(t.prototype=e.extend({},e.fn.tooltip.Constructor.prototype)).constructor=t,t.prototype.getDefaults=function(){return t.DEFAULTS},t.prototype.setContent=function(){var e=this.tip(),t=this.getTitle(),n=this.getContent();if(this.options.html){var r=typeof n;this.options.sanitize&&(t=this.sanitizeHtml(t),"string"===r&&(n=this.sanitizeHtml(n))),e.find(".popover-title").html(t),e.find(".popover-content").children().detach().end()["string"===r?"html":"append"](n)}else e.find(".popover-title").text(t),e.find(".popover-content").children().detach().end().text(n);e.removeClass("fade top bottom left right in"),e.find(".popover-title").html()||e.find(".popover-title").hide()},t.prototype.hasContent=function(){return this.getTitle()||this.getContent()},t.prototype.getContent=function(){var e=this.$element,t=this.options;return e.attr("data-content")||("function"==typeof t.content?t.content.call(e[0]):t.content)},t.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var n=e.fn.popover;e.fn.popover=function(n){return this.each((function(){var r=e(this),i=r.data("bs.popover"),o="object"==typeof n&&n;!i&&/destroy|hide/.test(n)||(i||r.data("bs.popover",i=new t(this,o)),"string"==typeof n&&i[n]())}))},e.fn.popover.Constructor=t,e.fn.popover.noConflict=function(){return e.fn.popover=n,this}}(jQuery)},function(e,t,n){"use strict";n.r(t);var r=n(133);for(var i in r)["default","core"].indexOf(i)<0&&function(e){n.d(t,e,(function(){return r[e]}))}(i);var o=n(114);n.d(t,"watchDigests",(function(){return o.b})),n.d(t,"getLocals",(function(){return o.a}));var a=n(55);n.d(t,"getNg1ViewConfigFactory",(function(){return a.b})),n.d(t,"ng1ViewsBuilder",(function(){return a.c})),n.d(t,"Ng1ViewConfig",(function(){return a.a}));var s=n(112);n.d(t,"StateProvider",(function(){return s.a}));var l=n(113);n.d(t,"UrlRouterProvider",(function(){return l.a}));n(220),n(221),n(222),n(223),n(224);var c=n(2);for(var i in n.d(t,"core",(function(){return c})),c)["default","core","watchDigests","getLocals","getNg1ViewConfigFactory","ng1ViewsBuilder","Ng1ViewConfig","StateProvider","UrlRouterProvider"].indexOf(i)<0&&function(e){n.d(t,e,(function(){return c[e]}))}(i);t.default="ui.router"},function(e,t){},function(e,t,n){"use strict";var r,i,o,a=n(12),s=n(2);function l(e){var t=e.match(/^\s*({[^}]*})\s*$/);t&&(e="("+t[1]+")");var n=e.replace(/\n/g," ").match(/^\s*([^(]*?)\s*(\((.*)\))?\s*$/);if(!n||4!==n.length)throw new Error("Invalid state ref '"+e+"'");return{state:n[1]||null,paramExpr:n[3]||null}}function c(e){var t=e.parent().inheritedData("$uiView"),n=Object(s.parse)("$cfg.path")(t);return n?Object(s.tail)(n).state.name:void 0}function u(e,t,n){var r=n.uiState||e.current.name,i=Object(s.extend)(function(e,t){return{relative:c(e)||t.$current,inherit:!0,source:"sref"}}(t,e),n.uiStateOpts||{}),o=e.href(r,n.uiStateParams,i);return{uiState:r,uiStateParams:n.uiStateParams,uiStateOpts:i,href:o}}function d(e){var t="[object SVGAnimatedString]"===Object.prototype.toString.call(e.prop("href")),n="FORM"===e[0].nodeName;return{attr:n?"action":t?"xlink:href":"href",isAnchor:"A"===e.prop("tagName").toUpperCase(),clickable:!n}}function p(e,t,n,r,i){return function(o){var a=o.which||o.button,s=i();if(!(a>1||o.ctrlKey||o.metaKey||o.shiftKey||o.altKey||e.attr("target"))){var l=n((function(){e.attr("disabled")||t.go(s.uiState,s.uiStateParams,s.uiStateOpts)}));o.preventDefault();var c=r.isAnchor&&!s.href?1:0;o.preventDefault=function(){c--<=0&&n.cancel(l)}}}}function f(e,t,n,r){var i;r&&(i=r.events),Object(s.isArray)(i)||(i=["click"]);for(var o=e.on?"on":"bind",a=0,l=i;a<l.length;a++){var c=l[a];e[o](c,n)}t.$on("$destroy",(function(){for(var t=e.off?"off":"unbind",r=0,o=i;r<o.length;r++){var a=o[r];e[t](a,n)}}))}r=["$uiRouter","$timeout",function(e,t){var n=e.stateService;return{restrict:"A",require:["?^uiSrefActive","?^uiSrefActiveEq"],link:function(r,i,o,a){var c=d(i),h=a[1]||a[0],g=null,m={},v=function(){return u(n,i,m)},b=l(o.uiSref);function y(){var e=v();g&&g(),h&&(g=h.$$addStateInfo(e.uiState,e.uiStateParams)),null!=e.href&&o.$set(c.attr,e.href)}if(m.uiState=b.state,m.uiStateOpts=o.uiSrefOpts?r.$eval(o.uiSrefOpts):{},b.paramExpr&&(r.$watch(b.paramExpr,(function(e){m.uiStateParams=Object(s.extend)({},e),y()}),!0),m.uiStateParams=Object(s.extend)({},r.$eval(b.paramExpr))),y(),r.$on("$destroy",e.stateRegistry.onStatesChanged(y)),r.$on("$destroy",e.transitionService.onSuccess({},y)),c.clickable){var x=p(i,n,t,c,v);f(i,r,x,m.uiStateOpts)}}}}],i=["$uiRouter","$timeout",function(e,t){var n=e.stateService;return{restrict:"A",require:["?^uiSrefActive","?^uiSrefActiveEq"],link:function(r,i,o,a){var l,c=d(i),h=a[1]||a[0],g=null,m={},v=function(){return u(n,i,m)},b=["uiState","uiStateParams","uiStateOpts"],y=b.reduce((function(e,t){return e[t]=s.noop,e}),{});function x(){var e=v();g&&g(),h&&(g=h.$$addStateInfo(e.uiState,e.uiStateParams)),null!=e.href&&o.$set(c.attr,e.href)}b.forEach((function(e){m[e]=o[e]?r.$eval(o[e]):null,o.$observe(e,(function(t){y[e](),y[e]=r.$watch(t,(function(t){m[e]=t,x()}),!0)}))})),x(),r.$on("$destroy",e.stateRegistry.onStatesChanged(x)),r.$on("$destroy",e.transitionService.onSuccess({},x)),c.clickable&&(l=p(i,n,t,c,v),f(i,r,l,m.uiStateOpts))}}}],o=["$state","$stateParams","$interpolate","$uiRouter",function(e,t,n,r){return{restrict:"A",controller:["$scope","$element","$attrs",function(t,i,o){var a,u,d,p,f,h=[];a=n(o.uiSrefActiveEq||"",!1)(t);try{u=t.$eval(o.uiSrefActive)}catch(e){}function g(e){e.promise.then(y,s.noop)}function m(){v(u)}function v(e){Object(s.isObject)(e)&&(h=[],Object(s.forEach)(e,(function(e,n){var r=function(e,n){var r=l(e);b(r.state,t.$eval(r.paramExpr),n)};Object(s.isString)(e)?r(e,n):Object(s.isArray)(e)&&Object(s.forEach)(e,(function(e){r(e,n)}))})))}function b(t,n,r){var o={state:e.get(t,c(i))||{name:t},params:n,activeClass:r};return h.push(o),function(){Object(s.removeFrom)(h)(o)}}function y(){var n=function(e){return e.split(/\s/).filter(s.identity)},r=function(e){return e.map((function(e){return e.activeClass})).map(n).reduce(s.unnestR,[])},o=r(h).concat(n(a)).reduce(s.uniqR,[]),l=r(h.filter((function(t){return e.includes(t.state.name,t.params)}))),c=!!h.filter((function(t){return e.is(t.state.name,t.params)})).length?n(a):[],u=l.concat(c).reduce(s.uniqR,[]),d=o.filter((function(e){return!Object(s.inArray)(u,e)}));t.$evalAsync((function(){u.forEach((function(e){return i.addClass(e)})),d.forEach((function(e){return i.removeClass(e)}))}))}v(u=u||n(o.uiSrefActive||"",!1)(t)),this.$$addStateInfo=function(e,t){if(!(Object(s.isObject)(u)&&h.length>0)){var n=b(e,t,u);return y(),n}},t.$on("$destroy",(d=r.stateRegistry.onStatesChanged(m),p=r.transitionService.onStart({},g),f=t.$on("$stateChangeSuccess",y),function(){d(),p(),f()})),r.globals.transition&&g(r.globals.transition),y()}]}}],a.a.module("ui.router.state").directive("uiSref",r).directive("uiSrefActive",o).directive("uiSrefActiveEq",o).directive("uiState",i)},function(e,t,n){"use strict";var r=n(12);function i(e){var t=function(t,n,r){return e.is(t,n,r)};return t.$stateful=!0,t}function o(e){var t=function(t,n,r){return e.includes(t,n,r)};return t.$stateful=!0,t}i.$inject=["$state"],o.$inject=["$state"],r.a.module("ui.router.state").filter("isState",i).filter("includedByState",o)},function(e,t,n){"use strict";var r,i=n(2),o=n(12),a=n(114),s=n(55);function l(e,t,n,r,s){var l=Object(i.parse)("viewDecl.controllerAs"),c=Object(i.parse)("viewDecl.resolveAs");return{restrict:"ECA",priority:-400,compile:function(r){var u=r.html();return r.empty(),function(r,p){var f=p.data("$uiView");if(!f)return p.html(u),void e(p.contents())(r);var h=f.$cfg||{viewDecl:{},getTemplate:i.noop},g=h.path&&new i.ResolveContext(h.path);p.html(h.getTemplate(p,g)||u),i.trace.traceUIViewFill(f.$uiView,p.html());var m=e(p.contents()),v=h.controller,b=l(h),y=c(h),x=g&&Object(a.a)(g);if(r[y]=x,v){var w=t(v,Object(i.extend)({},x,{$scope:r,$element:p}));b&&(r[b]=w,r[b][y]=x),p.data("$ngControllerController",w),p.children().data("$ngControllerController",w),d(s,n,w,r,h)}if(Object(i.isString)(h.component))var k=Object(i.kebobString)(h.component),A=new RegExp("^(x-|data-)?"+k+"$","i"),E=r.$watch((function(){var e=[].slice.call(p[0].children).filter((function(e){return e&&e.tagName&&A.exec(e.tagName)}));return e&&o.a.element(e).data("$"+h.component+"Controller")}),(function(e){e&&(d(s,n,e,r,h),E())}));m(r)}}}}r=["$view","$animate","$uiViewScroll","$interpolate","$q",function(e,t,n,r,a){var l={$cfg:{viewDecl:{$context:e._pluginapi._rootViewContext()}},$uiView:{}},c={count:0,restrict:"ECA",terminal:!0,priority:400,transclude:"element",compile:function(u,d,p){return function(u,d,f){var h,g,m,v,b=f.onload||"",y=f.autoscroll,x={enter:function(e,n,r){o.a.version.minor>2?t.enter(e,null,n).then(r):t.enter(e,null,n,r)},leave:function(e,n){o.a.version.minor>2?t.leave(e).then(n):t.leave(e,n)}},w=d.inheritedData("$uiView")||l,k=r(f.uiView||f.name||"")(u)||"$default",A={$type:"ng1",id:c.count++,name:k,fqn:w.$uiView.fqn?w.$uiView.fqn+"."+k:k,config:null,configUpdated:function(e){if(e&&!(e instanceof s.a))return;if(t=v,n=e,t===n)return;var t,n;i.trace.traceUIViewConfigUpdated(A,e&&e.viewDecl&&e.viewDecl.$context),v=e,S(e)},get creationContext(){var e=Object(i.parse)("$cfg.viewDecl.$context")(w),t=Object(i.parse)("$uiView.creationContext")(w);return e||t}};i.trace.traceUIViewEvent("Linking",A),d.data("$uiView",{$uiView:A}),S();var E=e.registerUIView(A);function S(e){var t=u.$new(),r=a.defer(),o=a.defer(),s={$cfg:e,$uiView:A},l={$animEnter:r.promise,$animLeave:o.promise,$$animLeave:o};t.$emit("$viewContentLoading",k);var c=p(t,(function(e){e.data("$uiViewAnim",l),e.data("$uiView",s),x.enter(e,d,(function(){r.resolve(),m&&m.$emit("$viewContentAnimationEnded"),(Object(i.isDefined)(y)&&!y||u.$eval(y))&&n(e)})),function(){if(h&&(i.trace.traceUIViewEvent("Removing (previous) el",h.data("$uiView")),h.remove(),h=null),m&&(i.trace.traceUIViewEvent("Destroying scope",A),m.$destroy(),m=null),g){var e=g.data("$uiViewAnim");i.trace.traceUIViewEvent("Animate out",e),x.leave(g,(function(){e.$$animLeave.resolve(),h=null})),h=g,g=null}}()}));g=c,(m=t).$emit("$viewContentLoaded",e||v),m.$eval(b)}u.$on("$destroy",(function(){i.trace.traceUIViewEvent("Destroying/Unregistering",A),E()}))}}};return c}],l.$inject=["$compile","$controller","$transitions","$view","$q"];var c="function"==typeof o.a.module("ui.router").component,u=0;function d(e,t,n,r,o){!Object(i.isFunction)(n.$onInit)||(o.viewDecl.component||o.viewDecl.componentProvider)&&c||n.$onInit();var a=Object(i.tail)(o.path).state.self,s={bind:n};if(Object(i.isFunction)(n.uiOnParamsChanged)){var l=new i.ResolveContext(o.path).getResolvable("$transition$").data;r.$on("$destroy",t.onSuccess({},(function(e){if(e!==l&&-1===e.exiting().indexOf(a)){var t=e.params("to"),r=e.params("from"),o=function(e){return e.paramSchema},s=e.treeChanges("to").map(o).reduce(i.unnestR,[]),c=e.treeChanges("from").map(o).reduce(i.unnestR,[]),u=s.filter((function(e){var n=c.indexOf(e);return-1===n||!c[n].type.equals(t[e.id],r[e.id])}));if(u.length){var d=u.map((function(e){return e.id})),p=Object(i.filter)(t,(function(e,t){return-1!==d.indexOf(t)}));n.uiOnParamsChanged(p,e)}}}),s))}if(Object(i.isFunction)(n.uiCanExit)){var d=u++,p=function(e){return!!e&&(e._uiCanExitIds&&!0===e._uiCanExitIds[d]||p(e.redirectedFrom()))},f={exiting:a.name};r.$on("$destroy",t.onBefore(f,(function(t){var r,i=t._uiCanExitIds=t._uiCanExitIds||{};return p(t)||(r=e.when(n.uiCanExit(t))).then((function(e){return i[d]=!1!==e})),r}),s))}}o.a.module("ui.router.state").directive("uiView",r),o.a.module("ui.router.state").directive("uiView",l)},function(e,t,n){"use strict";n(12).a.module("ui.router.state").provider("$uiViewScroll",(function(){var e=!1;this.useAnchorScroll=function(){e=!0},this.$get=["$anchorScroll","$timeout",function(t,n){return e?t:function(e){return n((function(){e[0].scrollIntoView()}),0,!1)}}]}))},function(e,t,n){n(226),e.exports="ngRoute"},function(e,t){ /** * @license AngularJS v1.8.2 * (c) 2010-2020 Google LLC. http://angularjs.org @@ -64,7 +90,7 @@ https://github.com/jquery/jquery/blob/master/src/event.js */var r=function(e,t){this.recycle(e,t)};function i(){return!1}function o(){return!0}r.prototype={instanceString:function(){return"event"},recycle:function(e,t){if(this.isImmediatePropagationStopped=this.isPropagationStopped=this.isDefaultPrevented=i,null!=e&&e.preventDefault?(this.type=e.type,this.isDefaultPrevented=e.defaultPrevented?o:i):null!=e&&e.type?t=e:this.type=e,null!=t&&(this.originalEvent=t.originalEvent,this.type=null!=t.type?t.type:this.type,this.cy=t.cy,this.target=t.target,this.position=t.position,this.renderedPosition=t.renderedPosition,this.namespace=t.namespace,this.layout=t.layout),null!=this.cy&&null!=this.position&&null==this.renderedPosition){var n=this.position,r=this.cy.zoom(),a=this.cy.pan();this.renderedPosition={x:n.x*r+a.x,y:n.y*r+a.y}}this.timeStamp=e&&e.timeStamp||Date.now()},preventDefault:function(){this.isDefaultPrevented=o;var e=this.originalEvent;e&&e.preventDefault&&e.preventDefault()},stopPropagation:function(){this.isPropagationStopped=o;var e=this.originalEvent;e&&e.stopPropagation&&e.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=o,this.stopPropagation()},isDefaultPrevented:i,isPropagationStopped:i,isImmediatePropagationStopped:i},e.exports=r},function(e,t,n){"use strict";var r=n(1);e.exports=function(e,t){var n=e.cy().hasCompoundNodes();function i(e){var t=e.pstyle("z-compound-depth");return"auto"===t.value?n?e.zDepth():0:"bottom"===t.value?-1:"top"===t.value?r.MAX_INT:0}var o=i(e)-i(t);if(0!==o)return o;function a(e){return"auto"===e.pstyle("z-index-compare").value&&e.isNode()?1:0}var s=a(e)-a(t);if(0!==s)return s;var l=e.pstyle("z-index").value-t.pstyle("z-index").value;return 0!==l?l:e.poolIndex()-t.poolIndex()}},function(e,t,n){"use strict";var r=n(0),i=n(1),o=n(6),a=function e(t){if(!(this instanceof e))return new e(t);r.core(t)?(this._private={cy:t,coreStyle:{}},this.length=0,this.resetToDefault()):i.error("A style must have a core reference")},s=a.prototype;s.instanceString=function(){return"style"},s.clear=function(){for(var e=0;e<this.length;e++)this[e]=void 0;return this.length=0,this._private.newStyle=!0,this},s.resetToDefault=function(){return this.clear(),this.addDefaultStylesheet(),this},s.core=function(){return this._private.coreStyle},s.selector=function(e){var t="core"===e?null:new o(e),n=this.length++;return this[n]={selector:t,properties:[],mappedProperties:[],index:n},this},s.css=function(){var e=this,t=arguments;switch(t.length){case 1:for(var n=t[0],r=0;r<e.properties.length;r++){var o=e.properties[r],a=n[o.name];void 0===a&&(a=n[i.dash2camel(o.name)]),void 0!==a&&this.cssRule(o.name,a)}break;case 2:this.cssRule(t[0],t[1])}return this},s.style=s.css,s.cssRule=function(e,t){var n=this.parse(e,t);if(n){var r=this.length-1;this[r].properties.push(n),this[r].properties[n.name]=n,n.name.match(/pie-(\d+)-background-size/)&&n.value&&(this._private.hasPie=!0),n.mapped&&this[r].mappedProperties.push(n),!this[r].selector&&(this._private.coreStyle[n.name]=n)}return this},s.append=function(e){return r.stylesheet(e)?e.appendToStyle(this):r.array(e)?this.appendFromJson(e):r.string(e)&&this.appendFromString(e),this},a.fromJson=function(e,t){var n=new a(e);return n.fromJson(t),n},a.fromString=function(e,t){return new a(e).fromString(t)},[n(85),n(86),n(87),n(88),n(89),n(90),n(91),n(92)].forEach((function(e){i.extend(s,e)})),a.types=s.types,a.properties=s.properties,e.exports=a},function(e,t,n){"use strict";var r=n(1);e.exports={setupDequeueing:function(e){return function(){var t=this,n=this.renderer;if(!t.dequeueingSetup){t.dequeueingSetup=!0;var i=r.debounce((function(){n.redrawHint("eles",!0),n.redrawHint("drag",!0),n.redraw()}),e.deqRedrawThreshold),o=e.priority||r.noop;n.beforeRender((function(o,a){for(var s=r.performanceNow(),l=n.averageRedrawTime,c=n.lastRedrawTime,u=[],d=n.cy.extent(),p=n.getPixelRatio();;){var f=r.performanceNow(),h=f-s,g=f-a;if(c<1e3/60){var m=1e3/60-(o?l:0);if(g>=e.deqFastCost*m)break}else if(o){if(h>=e.deqCost*c||h>=e.deqAvgCost*l)break}else if(g>=e.deqNoDrawCost*(1e3/60))break;var v=e.deq(t,p,d);if(!(v.length>0))break;for(var b=0;b<v.length;b++)u.push(v[b])}u.length>0&&(e.onDeqd(t,u),!o&&e.shouldRedraw(t,u,p,d)&&i())}),o(t))}}}}},function(e,t,n){"use strict";var r=n(0),i=n(12),o=n(94),a=n(136),s=function(e){return void 0===e&&(e={}),r.plainObject(e)?new i(e):r.string(e)?o.apply(o,arguments):void 0};s.use=function(e){var t=Array.prototype.slice.call(arguments,1);return t.unshift(s),e.apply(null,t),this},s.version=n(137),s.stylesheet=s.Stylesheet=a,e.exports=s},function(e,t,n){"use strict";var r=n(0);e.exports={hex2tuple:function(e){if((4===e.length||7===e.length)&&"#"===e[0]){var t=void 0,n=void 0,r=void 0;return 4===e.length?(t=parseInt(e[1]+e[1],16),n=parseInt(e[2]+e[2],16),r=parseInt(e[3]+e[3],16)):(t=parseInt(e[1]+e[2],16),n=parseInt(e[3]+e[4],16),r=parseInt(e[5]+e[6],16)),[t,n,r]}},hsl2tuple:function(e){var t=void 0,n=void 0,r=void 0,i=void 0,o=void 0,a=void 0,s=void 0,l=void 0;function c(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}var u=new RegExp("^"+this.regex.hsla+"$").exec(e);if(u){if((n=parseInt(u[1]))<0?n=(360- -1*n%360)%360:n>360&&(n%=360),n/=360,(r=parseFloat(u[2]))<0||r>100)return;if(r/=100,(i=parseFloat(u[3]))<0||i>100)return;if(i/=100,void 0!==(o=u[4])&&((o=parseFloat(o))<0||o>1))return;if(0===r)a=s=l=Math.round(255*i);else{var d=i<.5?i*(1+r):i+r-i*r,p=2*i-d;a=Math.round(255*c(p,d,n+1/3)),s=Math.round(255*c(p,d,n)),l=Math.round(255*c(p,d,n-1/3))}t=[a,s,l,o]}return t},rgb2tuple:function(e){var t=void 0,n=new RegExp("^"+this.regex.rgba+"$").exec(e);if(n){t=[];for(var r=[],i=1;i<=3;i++){var o=n[i];if("%"===o[o.length-1]&&(r[i]=!0),o=parseFloat(o),r[i]&&(o=o/100*255),o<0||o>255)return;t.push(Math.floor(o))}var a=r[1]||r[2]||r[3],s=r[1]&&r[2]&&r[3];if(a&&!s)return;var l=n[4];if(void 0!==l){if((l=parseFloat(l))<0||l>1)return;t.push(l)}}return t},colorname2tuple:function(e){return this.colors[e.toLowerCase()]},color2tuple:function(e){return(r.array(e)?e:null)||this.colorname2tuple(e)||this.hex2tuple(e)||this.rgb2tuple(e)||this.hsl2tuple(e)},colors:{transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}}},function(e,t,n){"use strict";var r=n(0);e.exports={mapEmpty:function(e){return null==e||0===Object.keys(e).length},pushMap:function(e){var t=this.getMap(e);null==t?this.setMap(this.extend({},e,{value:[e.value]})):t.push(e.value)},setMap:function(e){for(var t=e.map,n=e.keys,i=n.length,o=0;o<i;o++){var a=n[o];r.plainObject(a)&&this.error("Tried to set map with object key"),o<n.length-1?(null==t[a]&&(t[a]={}),t=t[a]):t[a]=e.value}},getMap:function(e){for(var t=e.map,n=e.keys,i=n.length,o=0;o<i;o++){var a=n[o];if(r.plainObject(a)&&this.error("Tried to get map with object key"),null==(t=t[a]))return t}return t},deleteMap:function(e){for(var t=e.map,n=e.keys,i=n.length,o=e.keepChildren,a=0;a<i;a++){var s=n[a];if(r.plainObject(s)&&this.error("Tried to delete map with object key"),a===e.keys.length-1)if(o)for(var l=Object.keys(t),c=0;c<l.length;c++){var u=l[c];o[u]||(t[u]=void 0)}else t[s]=void 0;else t=t[s]}}}},function(e,t,n){"use strict";var r="(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))";e.exports={regex:{number:r,rgba:"rgb[a]?\\(((?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%]?)\\s*,\\s*((?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%]?)\\s*,\\s*((?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%]?)(?:\\s*,\\s*((?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))))?\\)",rgbaNoBackRefs:"rgb[a]?\\((?:(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%]?)\\s*,\\s*(?:(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%]?)\\s*,\\s*(?:(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%]?)(?:\\s*,\\s*(?:(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))))?\\)",hsla:"hsl[a]?\\(((?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?)))\\s*,\\s*((?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%])\\s*,\\s*((?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%])(?:\\s*,\\s*((?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))))?\\)",hslaNoBackRefs:"hsl[a]?\\((?:(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?)))\\s*,\\s*(?:(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%])\\s*,\\s*(?:(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%])(?:\\s*,\\s*(?:(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))))?\\)",hex3:"\\#[0-9a-fA-F]{3}",hex6:"\\#[0-9a-fA-F]{6}"}}},function(e,t,n){"use strict";var r=n(13),i=n(0);e.exports={camel2dash:r((function(e){return e.replace(/([A-Z])/g,(function(e){return"-"+e.toLowerCase()}))})),dash2camel:r((function(e){return e.replace(/(-\w)/g,(function(e){return e[1].toUpperCase()}))})),prependCamel:r((function(e,t){return e+t[0].toUpperCase()+t.substring(1)}),(function(e,t){return e+"$"+t})),capitalize:function(e){return i.emptyString(e)?e:e.charAt(0).toUpperCase()+e.substring(1)}}},function(e,t,n){"use strict";var r=n(3),i=r?r.performance:null,o={},a=i&&i.now?function(){return i.now()}:function(){return Date.now()},s=function(){if(r){if(r.requestAnimationFrame)return function(e){r.requestAnimationFrame(e)};if(r.mozRequestAnimationFrame)return function(e){r.mozRequestAnimationFrame(e)};if(r.webkitRequestAnimationFrame)return function(e){r.webkitRequestAnimationFrame(e)};if(r.msRequestAnimationFrame)return function(e){r.msRequestAnimationFrame(e)}}return function(e){e&&setTimeout((function(){e(a())}),1e3/60)}}();o.requestAnimationFrame=function(e){s(e)},o.performanceNow=a,o.debounce=n(26),o.now=function(){return Date.now()},e.exports=o},function(t,n){t.exports=e},function(e,t,n){"use strict";function r(e,t){return e<t?-1:e>t?1:0}e.exports={sort:{ascending:r,descending:function(e,t){return-1*r(e,t)}}}},function(e,t,n){"use strict";function r(){this._obj={}}var i=r.prototype;i.set=function(e,t){this._obj[e]=t},i.delete=function(e){this._obj[e]=null},i.has=function(e){return null!=this._obj[e]},i.get=function(e){return this._obj[e]},e.exports=r},function(e,t,n){"use strict";var r=n(1),i={};[n(30),n(31),n(33),n(34),n(35),n(36),n(37),n(38),n(39),n(40),n(41)].forEach((function(e){r.extend(i,e)})),e.exports=i},function(e,t,n){"use strict";var r=n(0),i=function(e){return e={bfs:e.bfs||!e.dfs,dfs:e.dfs||!e.bfs},function(t,n,i){var o;r.plainObject(t)&&!r.elementOrCollection(t)&&(t=(o=t).roots||o.root,n=o.visit,i=o.directed),i=2!==arguments.length||r.fn(n)?i:n,n=r.fn(n)?n:function(){};for(var a,s=this._private.cy,l=t=r.string(t)?this.filter(t):t,c=[],u=[],d={},p={},f={},h=0,g=this.nodes(),m=this.edges(),v=0;v<l.length;v++)l[v].isNode()&&(c.unshift(l[v]),e.bfs&&(f[l[v].id()]=!0,u.push(l[v])),p[l[v].id()]=0);for(;0!==c.length;){if(l=e.bfs?c.shift():c.pop(),e.dfs){if(f[l.id()])continue;f[l.id()]=!0,u.push(l)}var b,y=p[l.id()],x=d[l.id()],w=null==x?void 0:x.connectedNodes().not(l)[0];if(!0===(b=n(l,x,w,h++,y))){a=l;break}if(!1===b)break;var k=l.connectedEdges(i?function(e){return e.data("source")===l.id()}:void 0).intersect(m);for(v=0;v<k.length;v++){var A=k[v],E=A.connectedNodes((function(e){return e.id()!==l.id()})).intersect(g);0===E.length||f[E.id()]||(E=E[0],c.push(E),e.bfs&&(f[E.id()]=!0,u.push(E)),d[E.id()]=A,p[E.id()]=p[l.id()]+1)}}var S=[];for(v=0;v<u.length;v++){var $=u[v],C=d[$.id()];C&&S.push(C),S.push($)}return{path:s.collection(S,{unique:!0}),found:s.collection(a)}}},o={breadthFirstSearch:i({bfs:!0}),depthFirstSearch:i({dfs:!0})};o.bfs=o.breadthFirstSearch,o.dfs=o.depthFirstSearch,e.exports=o},function(e,t,n){"use strict";var r=n(0),i=n(9),o={dijkstra:function(e,t,n){var o;r.plainObject(e)&&!r.elementOrCollection(e)&&(e=(o=e).root,t=o.weight,n=o.directed);var a=this._private.cy;t=r.fn(t)?t:function(){return 1};for(var s=r.string(e)?this.filter(e)[0]:e[0],l={},c={},u={},d=this.edges().filter((function(e){return!e.isLoop()})),p=this.nodes(),f=function(e){return l[e.id()]},h=function(e,t){l[e.id()]=t,g.updateItem(e)},g=new i((function(e,t){return f(e)-f(t)})),m=0;m<p.length;m++){var v=p[m];l[v.id()]=v.same(s)?0:1/0,g.push(v)}for(var b=function(e,r){for(var i,o=(n?e.edgesTo(r):e.edgesWith(r)).intersect(d),a=1/0,s=0;s<o.length;s++){var l=o[s],c=t(l);(c<a||!i)&&(a=c,i=l)}return{edge:i,dist:a}};g.size()>0;){var y=g.pop(),x=f(y),w=y.id();if(u[w]=x,x!==1/0){var k=y.neighborhood().intersect(p);for(m=0;m<k.length;m++){var A=k[m],E=A.id(),S=b(y,A),$=x+S.dist;$<f(A)&&(h(A,$),c[E]={node:y,edge:S.edge})}}}return{distanceTo:function(e){var t=r.string(e)?p.filter(e)[0]:e[0];return u[t.id()]},pathTo:function(e){var t=r.string(e)?p.filter(e)[0]:e[0],n=[],i=t;if(t.length>0)for(n.unshift(t);c[i.id()];){var o=c[i.id()];n.unshift(o.edge),n.unshift(o.node),i=o.node}return a.collection(n)}}}};e.exports=o},function(e,t){e.exports=n},function(e,t,n){"use strict";var r=n(0),i={kruskal:function(e){var t=this.cy();function n(e){for(var t=0;t<o.length;t++){var n=o[t];if(n.anySame(e))return{eles:n,index:t}}}e=r.fn(e)?e:function(){return 1};for(var i=t.collection(t,[]),o=[],a=this.nodes(),s=0;s<a.length;s++)o.push(a[s].collection());var l=this.edges().toArray().sort((function(t,n){return e(t)-e(n)}));for(s=0;s<l.length;s++){var c=l[s],u=c.source()[0],d=c.target()[0],p=n(u),f=n(d);p.index!==f.index&&(i=i.add(c),o[p.index]=p.eles.add(f.eles),o.splice(f.index,1))}return a.add(i)}};e.exports=i},function(e,t,n){"use strict";var r=n(0),i={aStar:function(e){e=e||{};var t=function e(t,n,r,o){if(t==n)return o.unshift(i.getElementById(n)),o;if(n in r){var a=r[n],s=g[n];return o.unshift(i.getElementById(s)),o.unshift(i.getElementById(n)),e(t,a,r,o)}},n=function(e,t){if(0!==e.length){for(var n=0,r=t[e[0]],i=1;i<e.length;i++){var o=t[e[i]];o<r&&(r=o,n=i)}return n}},i=this._private.cy;if(null!=e&&null!=e.root){var o=r.string(e.root)?this.filter(e.root)[0]:e.root[0];if(null!=e.goal){var a=r.string(e.goal)?this.filter(e.goal)[0]:e.goal[0];if(null!=e.heuristic&&r.fn(e.heuristic))var s=e.heuristic;else s=function(){return 0};if(null!=e.weight&&r.fn(e.weight))var l=e.weight;else l=function(e){return 1};if(null!=e.directed)var c=e.directed;else c=!1;var u=o.id(),d=a.id(),p=[],f=[u],h={},g={},m={},v={};m[u]=0,v[u]=s(o);for(var b=0;f.length>0;){var y=n(f,v),x=i.getElementById(f[y]),w=x.id();if(b++,w==d){var k=t(u,d,h,[]);return{found:!0,distance:m[w],path:this.spawn(k),steps:b}}p.push(w),f.splice(y,1);for(var A=x._private.edges,E=0;E<A.length;E++){var S=A[E];if(this.hasElementWithId(S.id())&&(!c||S.data("source")===w)){var $=S.source(),C=S.target(),_=$.id()!==w?$:C,O=_.id();if(this.hasElementWithId(O)&&-1==p.indexOf(O)){var T=m[w]+l(S);-1!=f.indexOf(O)?T<m[O]&&(m[O]=T,v[O]=T+s(_),h[O]=w):(m[O]=T,v[O]=T+s(_),f.push(O),h[O]=w,g[O]=S.id())}}}}return{found:!1,distance:void 0,path:void 0,steps:b}}}}};e.exports=i},function(e,t,n){"use strict";var r=n(0),i={floydWarshall:function(e){e=e||{};var t=this.cy();if(null!=e.weight&&r.fn(e.weight))var n=e.weight;else n=function(e){return 1};if(null!=e.directed)var i=e.directed;else i=!1;for(var o=this.edges().stdFilter((function(e){return!e.isLoop()})),a=this.nodes(),s=a.length,l={},c=0;c<s;c++)l[a[c].id()]=c;var u=[];for(c=0;c<s;c++){for(var d=new Array(s),p=0;p<s;p++)d[p]=c==p?0:1/0;u.push(d)}var f=[],h=[],g=function(e){for(var t=0;t<s;t++){for(var n=new Array(s),r=0;r<s;r++)n[r]=void 0;e.push(n)}};for(g(f),g(h),c=0;c<o.length;c++){var m=l[o[c].source().id()],v=l[o[c].target().id()],b=n(o[c]);u[m][v]>b&&(u[m][v]=b,f[m][v]=v,h[m][v]=o[c])}if(!i)for(c=0;c<o.length;c++)m=l[o[c].target().id()],v=l[o[c].source().id()],b=n(o[c]),u[m][v]>b&&(u[m][v]=b,f[m][v]=v,h[m][v]=o[c]);for(var y=0;y<s;y++)for(c=0;c<s;c++)for(p=0;p<s;p++)u[c][y]+u[y][p]<u[c][p]&&(u[c][p]=u[c][y]+u[y][p],f[c][p]=f[c][y]);var x=[];for(c=0;c<s;c++)x.push(a[c].id());return{distance:function(e,n){if(r.string(e))var i=t.filter(e)[0].id();else i=e.id();if(r.string(n))var o=t.filter(n)[0].id();else o=n.id();return u[l[i]][l[o]]},path:function(e,n){if(r.string(e))var i=t.filter(e)[0].id();else i=e.id();if(r.string(n))var o=t.filter(n)[0].id();else o=n.id();var a=function(e,n,r,i,o){if(e===n)return t.getElementById(i[e]);if(void 0!==r[e][n]){for(var a=[t.getElementById(i[e])],s=e;e!==n;){s=e,e=r[e][n];var l=o[s][e];a.push(l),a.push(t.getElementById(i[e]))}return a}}(l[i],l[o],f,x,h);return t.collection(a)}}}};e.exports=i},function(e,t,n){"use strict";var r=n(0),i=n(1),o={bellmanFord:function(e){var t=this;if(null!=(e=e||{}).weight&&r.fn(e.weight))var n=e.weight;else n=function(e){return 1};if(null!=e.directed)var o=e.directed;else o=!1;if(null!=e.root){if(r.string(e.root))var a=this.filter(e.root)[0];else a=e.root[0];for(var s=this._private.cy,l=this.edges().stdFilter((function(e){return!e.isLoop()})),c=this.nodes(),u=c.length,d={},p=0;p<u;p++)d[c[p].id()]=p;var f=[],h=[],g=[];for(p=0;p<u;p++)c[p].id()===a.id()?f[p]=0:f[p]=1/0,h[p]=void 0;var m=!1;for(p=1;p<u;p++){m=!1;for(var v=0;v<l.length;v++){var b,y=d[l[v].source().id()],x=d[l[v].target().id()],w=n(l[v]);(b=f[y]+w)<f[x]&&(f[x]=b,h[x]=y,g[x]=l[v],m=!0),o||(b=f[x]+w)<f[y]&&(f[y]=b,h[y]=x,g[y]=l[v],m=!0)}if(!m)break}if(m)for(v=0;v<l.length;v++)if(y=d[l[v].source().id()],x=d[l[v].target().id()],w=n(l[v]),f[y]+w<f[x])return i.error("Graph contains a negative weight cycle for Bellman-Ford"),{pathTo:void 0,distanceTo:void 0,hasNegativeWeightCycle:!0};var k=[];for(p=0;p<u;p++)k.push(c[p].id());return{distanceTo:function(e){if(r.string(e))var t=s.filter(e)[0].id();else t=e.id();return f[d[t]]},pathTo:function(e){if(r.string(e))var n=s.filter(e)[0].id();else n=e.id();var i=function(e,t,n,r,i,o){for(;;){if(i.push(s.getElementById(r[n])),i.push(o[n]),t===n)return i;var a=e[n];if(void 0===a)return;n=a}}(h,d[a.id()],d[n],k,[],g);return null!=i&&i.reverse(),t.spawn(i)},hasNegativeWeightCycle:!1}}}};e.exports=o},function(e,t,n){"use strict";var r=n(1),i={kargerStein:function(e){e=e||{};var t=function e(t,n,r,i){return r<=i?n:e(t,function(e,t,n){for(var r=n[e],i=r[1],o=r[2],a=t[i],s=t[o],l=n.filter((function(e){return!(t[e[1]]===a&&t[e[2]]===s||t[e[1]]===s&&t[e[2]]===a)})),c=0;c<l.length;c++){var u=l[c];u[1]===s?(l[c]=u.slice(0),l[c][1]=a):u[2]===s&&(l[c]=u.slice(0),l[c][2]=a)}for(c=0;c<t.length;c++)t[c]===s&&(t[c]=a);return l}(Math.floor(Math.random()*n.length),t,n),r-1,i)},n=this._private.cy,i=this.edges().stdFilter((function(e){return!e.isLoop()})),o=this.nodes(),a=o.length,s=i.length,l=Math.ceil(Math.pow(Math.log(a)/Math.LN2,2)),c=Math.floor(a/Math.sqrt(2));if(!(a<2)){for(var u={},d=0;d<a;d++)u[o[d].id()]=d;var p=[];for(d=0;d<s;d++){var f=i[d];p.push([d,u[f.source().id()],u[f.target().id()]])}var h,g=1/0,m=[];for(d=0;d<a;d++)m.push(d);for(var v=0;v<=l;v++){var b=m.slice(0),y=t(b,p,a,c),x=b.slice(0),w=t(b,y,c,2),k=t(x,y,c,2);w.length<=k.length&&w.length<g?(g=w.length,h=[w,b]):k.length<=w.length&&k.length<g&&(g=k.length,h=[k,x])}var A=h[0].map((function(e){return i[e[0]]})),E=[],S=[],$=h[1][0];for(d=0;d<h[1].length;d++)h[1][d]===$?E.push(o[d]):S.push(o[d]);return{cut:this.spawn(n,A),partition1:this.spawn(E),partition2:this.spawn(S)}}r.error("At least 2 nodes are required for Karger-Stein algorithm")}};e.exports=i},function(e,t,n){"use strict";var r=n(0),i={pageRank:function(e){var t=function(e){for(var t=e.length,n=0,r=0;r<t;r++)n+=e[r];for(r=0;r<t;r++)e[r]=e[r]/n};if(null!=(e=e||{})&&null!=e.dampingFactor)var n=e.dampingFactor;else n=.8;if(null!=e&&null!=e.precision)var i=e.precision;else i=1e-6;if(null!=e&&null!=e.iterations)var o=e.iterations;else o=200;if(null!=e&&null!=e.weight&&r.fn(e.weight))var a=e.weight;else a=function(e){return 1};for(var s=this._private.cy,l=this.edges().stdFilter((function(e){return!e.isLoop()})),c=this.nodes(),u=c.length,d=l.length,p={},f=0;f<u;f++)p[c[f].id()]=f;var h=[],g=[],m=(1-n)/u;for(f=0;f<u;f++){for(var v=[],b=0;b<u;b++)v.push(0);h.push(v),g.push(0)}for(f=0;f<d;f++){var y=l[f],x=p[y.source().id()],w=p[y.target().id()],k=a(y);h[w][x]+=k,g[x]+=k}var A=1/u+m;for(b=0;b<u;b++)if(0===g[b])for(f=0;f<u;f++)h[f][b]=A;else for(f=0;f<u;f++)h[f][b]=h[f][b]/g[b]+m;var E,S=[],$=[];for(f=0;f<u;f++)S.push(1),$.push(0);for(var C=0;C<o;C++){var _=$.slice(0);for(f=0;f<u;f++)for(b=0;b<u;b++)_[f]+=h[f][b]*S[b];t(_),E=S,S=_;var O=0;for(f=0;f<u;f++)O+=Math.pow(E[f]-S[f],2);if(O<i)break}return{rank:function(e){if(r.string(e))var t=s.filter(e)[0].id();else t=e.id();return S[p[t]]}}}};e.exports=i},function(e,t,n){"use strict";var r=n(0),i=n(1),o={degreeCentralityNormalized:function(e){e=e||{};var t=this.cy();if(null!=e.directed)var n=e.directed;else n=!1;var o=this.nodes(),a=o.length;if(n){var s={},l={},c=0,u=0;for(f=0;f<a;f++)h=o[f],g=this.degreeCentrality(i.extend({},e,{root:h})),c<g.indegree&&(c=g.indegree),u<g.outdegree&&(u=g.outdegree),s[h.id()]=g.indegree,l[h.id()]=g.outdegree;return{indegree:function(e){return 0==c?0:(e=r.string(e)?t.filter(e)[0].id():e.id(),s[e]/c)},outdegree:function(e){return 0==u?0:(e=r.string(e)?t.filter(e)[0].id():e.id(),l[e]/u)}}}for(var d={},p=0,f=0;f<a;f++){var h=o[f],g=this.degreeCentrality(i.extend({},e,{root:h}));p<g.degree&&(p=g.degree),d[h.id()]=g.degree}return{degree:function(e){return 0==p?0:(e=r.string(e)?t.filter(e)[0].id():e.id(),d[e]/p)}}},degreeCentrality:function(e){if(null!=(e=e||{})&&null!=e.root){var t=r.string(e.root)?this.filter(e.root)[0]:e.root[0];if(null!=e.weight&&r.fn(e.weight))var n=e.weight;else n=function(e){return 1};if(null!=e.directed)var i=e.directed;else i=!1;if(null!=e.alpha&&r.number(e.alpha))var o=e.alpha;else o=0;if(i){var a=t.connectedEdges('edge[target = "'+t.id()+'"]').intersection(this),s=t.connectedEdges('edge[source = "'+t.id()+'"]').intersection(this),l=a.length,c=s.length,u=0,d=0;for(g=0;g<a.length;g++)u+=n(a[g]);for(g=0;g<s.length;g++)d+=n(s[g]);return{indegree:Math.pow(l,1-o)*Math.pow(u,o),outdegree:Math.pow(c,1-o)*Math.pow(d,o)}}for(var p=t.connectedEdges().intersection(this),f=p.length,h=0,g=0;g<p.length;g++)h+=n(p[g]);return{degree:Math.pow(f,1-o)*Math.pow(h,o)}}}};o.dc=o.degreeCentrality,o.dcn=o.degreeCentralityNormalised=o.degreeCentralityNormalized,e.exports=o},function(e,t,n){"use strict";var r=n(0),i={closenessCentralityNormalized:function(e){e=e||{};var t=this.cy(),n=e.harmonic;void 0===n&&(n=!0);for(var i={},o=0,a=this.nodes(),s=this.floydWarshall({weight:e.weight,directed:e.directed}),l=0;l<a.length;l++){for(var c=0,u=0;u<a.length;u++)if(l!=u){var d=s.distance(a[l],a[u]);c+=n?1/d:d}n||(c=1/c),o<c&&(o=c),i[a[l].id()]=c}return{closeness:function(e){return 0==o?0:(e=r.string(e)?t.filter(e)[0].id():e.id(),i[e]/o)}}},closenessCentrality:function(e){if(null!=(e=e||{}).root){if(r.string(e.root))var t=this.filter(e.root)[0];else t=e.root[0];if(null!=e.weight&&r.fn(e.weight))var n=e.weight;else n=function(){return 1};if(null!=e.directed&&r.bool(e.directed))var i=e.directed;else i=!1;var o=e.harmonic;void 0===o&&(o=!0);for(var a=this.dijkstra({root:t,weight:n,directed:i}),s=0,l=this.nodes(),c=0;c<l.length;c++)if(l[c].id()!=t.id()){var u=a.distanceTo(l[c]);s+=o?1/u:u}return o?s:1/s}}};i.cc=i.closenessCentrality,i.ccn=i.closenessCentralityNormalised=i.closenessCentralityNormalized,e.exports=i},function(e,t,n){"use strict";var r=n(0),i=n(9),o={betweennessCentrality:function(e){var t,n;e=e||{},r.fn(e.weight)?(n=e.weight,t=!0):t=!1;for(var o=null!=e.directed&&e.directed,a=this._private.cy,s=this.nodes(),l={},c={},u=0,d=function(e,t){c[e]=t,t>u&&(u=t)},p=function(e){return c[e]},f=0;f<s.length;f++)l[w=(k=s[f]).id()]=o?k.outgoers().nodes():k.openNeighborhood().nodes(),d(w,0);for(var h=0;h<s.length;h++){var g=s[h].id(),m=[],v={},b={},y={},x=new i((function(e,t){return y[e]-y[t]}));for(f=0;f<s.length;f++){var w;v[w=s[f].id()]=[],b[w]=0,y[w]=1/0}for(b[g]=1,y[g]=0,x.push(g);!x.empty();){var k=x.pop();if(m.push(k),t)for(var A=0;A<l[k].length;A++){var E=l[k][A],S=a.getElementById(k),$=n(S.edgesTo(E).length>0?S.edgesTo(E)[0]:E.edgesTo(S)[0]);E=E.id(),y[E]>y[k]+$&&(y[E]=y[k]+$,x.nodes.indexOf(E)<0?x.push(E):x.updateItem(E),b[E]=0,v[E]=[]),y[E]==y[k]+$&&(b[E]=b[E]+b[k],v[E].push(k))}else for(A=0;A<l[k].length;A++)E=l[k][A].id(),y[E]==1/0&&(x.push(E),y[E]=y[k]+1),y[E]==y[k]+1&&(b[E]=b[E]+b[k],v[E].push(k))}var C={};for(f=0;f<s.length;f++)C[s[f].id()]=0;for(;m.length>0;)for(E=m.pop(),A=0;A<v[E].length;A++)C[k=v[E][A]]=C[k]+b[k]/b[E]*(1+C[E]),E!=s[h].id()&&d(E,p(E)+C[E])}var _={betweenness:function(e){return e=r.string(e)?a.filter(e).id():e.id(),p(e)},betweennessNormalized:function(e){return 0==u?0:(e=r.string(e)?a.filter(e).id():e.id(),p(e)/u)}};return _.betweennessNormalised=_.betweennessNormalized,_}};o.bc=o.betweennessCentrality,e.exports=o},function(e,t,n){"use strict";var r=n(4),i={animate:r.animate(),animation:r.animation(),animated:r.animated(),clearQueue:r.clearQueue(),delay:r.delay(),delayAnimation:r.delayAnimation(),stop:r.stop()};e.exports=i},function(e,t,n){"use strict";var r=n(1),i=n(44),o=n(2),a=n(0),s={animated:function(){return function(){var e=void 0!==this.length?this:[this];if(!(this._private.cy||this).styleEnabled())return!1;var t=e[0];return t?t._private.animation.current.length>0:void 0}},clearQueue:function(){return function(){var e=void 0!==this.length?this:[this];if(!(this._private.cy||this).styleEnabled())return this;for(var t=0;t<e.length;t++)e[t]._private.animation.queue=[];return this}},delay:function(){return function(e,t){return(this._private.cy||this).styleEnabled()?this.animate({delay:e,duration:e,complete:t}):this}},delayAnimation:function(){return function(e,t){return(this._private.cy||this).styleEnabled()?this.animation({delay:e,duration:e,complete:t}):this}},animation:function(){return function(e,t){var n=void 0!==this.length,s=n?this:[this],l=this._private.cy||this,c=!n,u=!c;if(!l.styleEnabled())return this;var d=l.style();if(e=r.assign({},e,t),0===Object.keys(e).length)return new i(s[0],e);switch(void 0===e.duration&&(e.duration=400),e.duration){case"slow":e.duration=600;break;case"fast":e.duration=200}if(u&&(e.style=d.getPropsList(e.style||e.css),e.css=void 0),u&&null!=e.renderedPosition){var p=e.renderedPosition,f=l.pan(),h=l.zoom();e.position=o.renderedToModelPosition(p,h,f)}if(c&&null!=e.panBy){var g=e.panBy,m=l.pan();e.pan={x:m.x+g.x,y:m.y+g.y}}var v=e.center||e.centre;if(c&&null!=v){var b=l.getCenterPan(v.eles,e.zoom);null!=b&&(e.pan=b)}if(c&&null!=e.fit){var y=e.fit,x=l.getFitViewport(y.eles||y.boundingBox,y.padding);null!=x&&(e.pan=x.pan,e.zoom=x.zoom)}if(c&&a.plainObject(e.zoom)){var w=l.getZoomedViewport(e.zoom);null!=w&&(w.zoomed&&(e.zoom=w.zoom),w.panned&&(e.pan=w.pan))}return new i(s[0],e)}},animate:function(){return function(e,t){var n=void 0!==this.length?this:[this];if(!(this._private.cy||this).styleEnabled())return this;t&&(e=r.extend({},e,t));for(var i=0;i<n.length;i++){var o=n[i],a=o.animated()&&(void 0===e.queue||e.queue);o.animation(e,a?{queue:!0}:void 0).play()}return this}},stop:function(){return function(e,t){var n=void 0!==this.length?this:[this],r=this._private.cy||this;if(!r.styleEnabled())return this;for(var i=0;i<n.length;i++){for(var o=n[i]._private,a=o.animation.current,s=0;s<a.length;s++){var l=a[s]._private;t&&(l.duration=0)}e&&(o.animation.queue=[]),t||(o.animation.current=[])}return r.notify({eles:this,type:"draw"}),this}}};e.exports=s},function(e,t,n){"use strict";var r=n(1),i=n(0),o=n(5),a=function(e,t,n){var o=this._private=r.extend({duration:1e3},t,n);o.target=e,o.style=o.style||o.css,o.started=!1,o.playing=!1,o.hooked=!1,o.applying=!1,o.progress=0,o.completes=[],o.frames=[],o.complete&&i.fn(o.complete)&&o.completes.push(o.complete),this.length=1,this[0]=this},s=a.prototype;r.extend(s,{instanceString:function(){return"animation"},hook:function(){var e=this._private;if(!e.hooked){var t=e.target._private.animation;(e.queue?t.queue:t.current).push(this),i.elementOrCollection(e.target)&&e.target.cy().addToAnimationPool(e.target),e.hooked=!0}return this},play:function(){var e=this._private;return 1===e.progress&&(e.progress=0),e.playing=!0,e.started=!1,e.stopped=!1,this.hook(),this},playing:function(){return this._private.playing},apply:function(){var e=this._private;return e.applying=!0,e.started=!1,e.stopped=!1,this.hook(),this},applying:function(){return this._private.applying},pause:function(){var e=this._private;return e.playing=!1,e.started=!1,this},stop:function(){var e=this._private;return e.playing=!1,e.started=!1,e.stopped=!0,this},rewind:function(){return this.progress(0)},fastforward:function(){return this.progress(1)},time:function(e){var t=this._private;return void 0===e?t.progress*t.duration:this.progress(e/t.duration)},progress:function(e){var t=this._private,n=t.playing;return void 0===e?t.progress:(n&&this.pause(),t.progress=e,t.started=!1,n&&this.play(),this)},completed:function(){return 1===this._private.progress},reverse:function(){var e=this._private,t=e.playing;t&&this.pause(),e.progress=1-e.progress,e.started=!1;var n=function(t,n){var r=e[t];null!=r&&(e[t]=e[n],e[n]=r)};if(n("zoom","startZoom"),n("pan","startPan"),n("position","startPosition"),e.style)for(var r=0;r<e.style.length;r++){var i=e.style[r],o=i.name,a=e.startStyle[o];e.startStyle[o]=i,e.style[r]=a}return t&&this.play(),this},promise:function(e){var t=this._private,n=void 0;switch(e){case"frame":n=t.frames;break;default:case"complete":case"completed":n=t.completes}return new o((function(e,t){n.push((function(){e()}))}))}}),s.complete=s.completed,e.exports=a},function(e,t,n){"use strict";var r=n(1),i=n(0),o={data:function(e){return e=r.extend({},{field:"data",bindingEvent:"data",allowBinding:!1,allowSetting:!1,allowGetting:!1,settingEvent:"data",settingTriggersEvent:!1,triggerFnName:"trigger",immutableKeys:{},updateStyle:!1,beforeGet:function(e){},beforeSet:function(e,t){},onSet:function(e){},canSet:function(e){return!0}},e),function(t,n){var r=e,o=void 0!==this.length,a=o?this:[this],s=o?this[0]:this;if(i.string(t)){if(r.allowGetting&&void 0===n){var l=void 0;return s&&(r.beforeGet(s),l=s._private[r.field][t]),l}if(r.allowSetting&&void 0!==n&&!r.immutableKeys[t]){var c=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}({},t,n);r.beforeSet(this,c);for(var u=0,d=a.length;u<d;u++){var p=a[u];r.canSet(p)&&(p._private[r.field][t]=n)}r.updateStyle&&this.updateStyle(),r.onSet(this),r.settingTriggersEvent&&this[r.triggerFnName](r.settingEvent)}}else if(r.allowSetting&&i.plainObject(t)){var f=t,h=void 0,g=void 0,m=Object.keys(f);r.beforeSet(this,f);for(var v=0;v<m.length;v++)if(g=f[h=m[v]],!r.immutableKeys[h])for(var b=0;b<a.length;b++){var y=a[b];r.canSet(y)&&(y._private[r.field][h]=g)}r.updateStyle&&this.updateStyle(),r.onSet(this),r.settingTriggersEvent&&this[r.triggerFnName](r.settingEvent)}else if(r.allowBinding&&i.fn(t)){var x=t;this.on(r.bindingEvent,x)}else if(r.allowGetting&&void 0===t){var w=void 0;return s&&(r.beforeGet(s),w=s._private[r.field]),w}return this}},removeData:function(e){return e=r.extend({},{field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!1,immutableKeys:{}},e),function(t){var n=e,r=void 0!==this.length?this:[this];if(i.string(t)){for(var o=t.split(/\s+/),a=o.length,s=0;s<a;s++){var l=o[s];if(!i.emptyString(l)&&!n.immutableKeys[l])for(var c=0,u=r.length;c<u;c++)r[c]._private[n.field][l]=void 0}n.triggerEvent&&this[n.triggerFnName](n.event)}else if(void 0===t){for(var d=0,p=r.length;d<p;d++)for(var f=r[d]._private[n.field],h=Object.keys(f),g=0;g<h.length;g++){var m=h[g];!n.immutableKeys[m]&&(f[m]=void 0)}n.triggerEvent&&this[n.triggerFnName](n.event)}return this}}};e.exports=o},function(e,t,n){"use strict";var r=n(5),i={eventAliasesOn:function(e){var t=e;t.addListener=t.listen=t.bind=t.on,t.unlisten=t.unbind=t.off=t.removeListener,t.trigger=t.emit,t.pon=t.promiseOn=function(e,t){var n=this,i=Array.prototype.slice.call(arguments,0);return new r((function(e,t){var r=i.concat([function(t){n.off.apply(n,o),e(t)}]),o=r.concat([]);n.on.apply(n,r)}))}}};e.exports=i},function(e,t,n){"use strict";var r=n(8),i={classes:function(e){e=(e||"").match(/\S+/g)||[];for(var t=this,n=[],i=new r(e),o=function(e){var o=t[e],a=o._private,s=a.classes,l=!1;i.forEach((function(e){s.has(e)||(l=!0)})),l||s.forEach((function(e){i.has(e)||(l=!0)})),l&&(a.classes=new r(i),n.push(o))},a=0;a<t.length;a++)o(a);return n.length>0&&this.spawn(n).updateStyle().emit("class"),t},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var t=this[0];return null!=t&&t._private.classes.has(e)},toggleClass:function(e,t){for(var n=e.match(/\S+/g)||[],r=[],i=0,o=this.length;i<o;i++)for(var a=this[i],s=!1,l=0;l<n.length;l++){var c=n[l],u=a._private.classes,d=u.has(c);t||void 0===t&&!d?(u.add(c),d||s||(r.push(a),s=!0)):(u.delete(c),d&&!s&&(r.push(a),s=!0))}return r.length>0&&this.spawn(r).updateStyle().emit("class"),this},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,t){var n=this;if(null==t)t=250;else if(0===t)return n;return n.addClass(e),setTimeout((function(){n.removeClass(e)}),t),n}};e.exports=i},function(e,t,n){"use strict";n(0);var r=n(6),i={allAre:function(e){var t=new r(e);return this.every((function(e){return t.matches(e)}))},is:function(e){var t=new r(e);return this.some((function(e){return t.matches(e)}))},some:function(e,t){for(var n=0;n<this.length;n++)if(t?e.apply(t,[this[n],n,this]):e(this[n],n,this))return!0;return!1},every:function(e,t){for(var n=0;n<this.length;n++)if(!(t?e.apply(t,[this[n],n,this]):e(this[n],n,this)))return!1;return!0},same:function(e){return e=this.cy().collection(e),this.length===e.length&&this.every((function(t){return e.hasElementWithId(t.id())}))},anySame:function(e){return e=this.cy().collection(e),this.some((function(t){return e.hasElementWithId(t.id())}))},allAreNeighbors:function(e){e=this.cy().collection(e);var t=this.neighborhood();return e.every((function(e){return t.hasElementWithId(e.id())}))},contains:function(e){e=this.cy().collection(e);var t=this;return e.every((function(e){return t.hasElementWithId(e.id())}))}};i.allAreNeighbours=i.allAreNeighbors,i.has=i.contains,e.exports=i},function(e,t,n){"use strict";var r=n(1),i=n(50),o=n(10),a=function(e){for(var t=void 0,n=void 0,r=void 0,o=0;o<i.length;o++){var a=i[o],s=a.name,l=e.match(a.regexObj);if(null!=l){n=l,t=a,r=s;var c=l[0];e=e.substring(c.length);break}}return{expr:t,match:n,name:r,remaining:e}};e.exports={parse:function(e){var t=this._private.selectorText=e,n=this[0]=o();for(this.length=1,t=function(e){var t=e.match(/^\s+/);if(t){var n=t[0];e=e.substring(n.length)}return e}(t);;){var i=a(t);if(null==i.expr)return r.error("The selector `"+e+"`is invalid"),!1;var s=i.match.slice(1),l=i.expr.populate(this,n,s);if(!1===l)return!1;if(null!=l&&(n=l),(t=i.remaining).match(/^\s*$/))break}for(var c=0;c<this.length;c++){var u=this[c];if(null!=u.subject){for(;u.subject!==u;)if(null!=u.parent){var d=u.parent,p=u;p.parent=null,d.child=p,u=d}else{if(null==u.ancestor)return u.source||u.target||u.connectedNodes?(r.error("The selector `"+this.text()+"` can not contain a subject selector that applies to the source or target of an edge selector"),!1):(r.error("When adjusting references for the selector `"+this.text()+"`, neither parent nor ancestor was found"),!1);var f=u.ancestor,h=u;h.ancestor=null,f.descendant=h,u=f}this[c]=u.subject}}return!0}}},function(e,t,n){"use strict";var r=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{!r&&s.return&&s.return()}finally{if(i)throw o}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},i=n(15).stateSelectorRegex,o=n(51),a=n(1),s=n(10),l=function(e){return e.replace(new RegExp("\\\\("+o.metaChar+")","g"),(function(e,t){return t}))},c=function(e,t,n){t===e[e.length-1]&&(e[e.length-1]=n)},u=[{name:"group",query:!0,regex:"("+o.group+")",populate:function(e,t,n){var i=r(n,1)[0];t.group="*"===i?i:i+"s"}},{name:"state",query:!0,regex:i,populate:function(e,t,n){var i=r(n,1)[0];t.colonSelectors.push(i)}},{name:"id",query:!0,regex:"\\#("+o.id+")",populate:function(e,t,n){var i=r(n,1)[0];t.ids.push(l(i))}},{name:"className",query:!0,regex:"\\.("+o.className+")",populate:function(e,t,n){var i=r(n,1)[0];t.classes.push(l(i))}},{name:"dataExists",query:!0,regex:"\\[\\s*("+o.variable+")\\s*\\]",populate:function(e,t,n){var i=r(n,1)[0];t.data.push({field:l(i)})}},{name:"dataCompare",query:!0,regex:"\\[\\s*("+o.variable+")\\s*("+o.comparatorOp+")\\s*("+o.value+")\\s*\\]",populate:function(e,t,n){var i=r(n,3),a=i[0],s=i[1],c=i[2];c=null!=new RegExp("^"+o.string+"$").exec(c)?c.substring(1,c.length-1):parseFloat(c),t.data.push({field:l(a),operator:s,value:c})}},{name:"dataBool",query:!0,regex:"\\[\\s*("+o.boolOp+")\\s*("+o.variable+")\\s*\\]",populate:function(e,t,n){var i=r(n,2),o=i[0],a=i[1];t.data.push({field:l(a),operator:o})}},{name:"metaCompare",query:!0,regex:"\\[\\[\\s*("+o.meta+")\\s*("+o.comparatorOp+")\\s*("+o.number+")\\s*\\]\\]",populate:function(e,t,n){var i=r(n,3),o=i[0],a=i[1],s=i[2];t.meta.push({field:l(o),operator:a,value:parseFloat(s)})}},{name:"nextQuery",separator:!0,regex:o.separator,populate:function(e){var t=e[e.length++]=s();return e.currentSubject=null,t}},{name:"directedEdge",separator:!0,regex:o.directedEdge,populate:function(e,t){var n=s(),r=t,i=s();return n.group="edges",n.target=i,n.source=r,n.subject=e.currentSubject,c(e,t,n),i}},{name:"undirectedEdge",separator:!0,regex:o.undirectedEdge,populate:function(e,t){var n=s(),r=t,i=s();return n.group="edges",n.connectedNodes=[r,i],n.subject=e.currentSubject,c(e,t,n),i}},{name:"child",separator:!0,regex:o.child,populate:function(e,t){var n=s();return n.parent=t,n.subject=e.currentSubject,c(e,t,n),n}},{name:"descendant",separator:!0,regex:o.descendant,populate:function(e,t){var n=s();return n.ancestor=t,n.subject=e.currentSubject,c(e,t,n),n}},{name:"subject",modifier:!0,regex:o.subject,populate:function(e,t){if(null!=e.currentSubject&&t.subject!=t)return a.error("Redefinition of subject in selector `"+e.toString()+"`"),!1;e.currentSubject=t,t.subject=t,e[e.length-1].subject=t}}];u.forEach((function(e){return e.regexObj=new RegExp("^"+e.regex)})),e.exports=u},function(e,t,n){"use strict";var r={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:n(1).regex.number,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};r.variable="(?:[\\w-]|(?:\\\\"+r.metaChar+"))+",r.value=r.string+"|"+r.number,r.className=r.variable,r.id=r.variable,function(){var e=void 0,t=void 0,n=void 0;for(e=r.comparatorOp.split("|"),n=0;n<e.length;n++)t=e[n],r.comparatorOp+="|@"+t;for(e=r.comparatorOp.split("|"),n=0;n<e.length;n++)(t=e[n]).indexOf("!")>=0||"="!==t&&(r.comparatorOp+="|\\!"+t)}(),e.exports=r},function(e,t,n){"use strict";var r=n(15).stateSelectorMatches,i=n(0),o=function(e,t){for(var n=!0,r=0;r<e[t.name].length;r++){var o=e[t.name][r],a=o.operator,s=o.value,l=o.field,c=void 0,u=t.fieldValue(l);if(null!=a&&null!=s){var d=i.string(u)||i.number(u)?""+u:"",p=""+s,f=!1;a.indexOf("@")>=0&&(d=d.toLowerCase(),p=p.toLowerCase(),a=a.replace("@",""),f=!0);var h=!1;a.indexOf("!")>=0&&(a=a.replace("!",""),h=!0),f&&(s=p.toLowerCase(),u=d.toLowerCase());var g=!1;switch(a){case"*=":c=d.indexOf(p)>=0;break;case"$=":c=d.indexOf(p,d.length-p.length)>=0;break;case"^=":c=0===d.indexOf(p);break;case"=":c=u===s;break;case">":g=!0,c=u>s;break;case">=":g=!0,c=u>=s;break;case"<":g=!0,c=u<s;break;case"<=":g=!0,c=u<=s;break;default:c=!1}!h||null==u&&g||(c=!c)}else if(null!=a)switch(a){case"?":c=!!u;break;case"!":c=!u;break;case"^":c=void 0===u}else c=void 0!==u;if(!c){n=!1;break}}return n},a=function(e,t,n){if(null!=e){var r=!1;if(!t)return!1;n=n();for(var i=0;i<n.length;i++)if(s(e,n[i])){r=!0;break}return r}return!0},s=function(e,t){if(e.groupOnly)return"*"===e.group||e.group===t.group();if(null!=e.group&&"*"!=e.group&&e.group!=t.group())return!1;var n=t.cy(),i=void 0,s=!0;for(i=0;i<e.colonSelectors.length;i++){var l=e.colonSelectors[i];if(!(s=r(l,t)))break}if(!s)return!1;var c=!0;for(i=0;i<e.ids.length;i++){var u=e.ids[i],d=t.id();if(!(c=c&&u==d))break}if(!c)return!1;var p=!0;for(i=0;i<e.classes.length;i++){var f=e.classes[i];if(!(p=p&&t.hasClass(f)))break}if(!p)return!1;if(!o(e,{name:"data",fieldValue:function(e){return t.data(e)}}))return!1;if(!o(e,{name:"meta",fieldValue:function(e){return t[e]()}}))return!1;if(null!=e.collection&&!e.collection.hasElementWithId(t.id()))return!1;if(null!=e.filter&&t.collection().some(e.filter))return!1;var h=n.hasCompoundNodes(),g=function(){return t.source()},m=function(){return t.target()};if(!a(e.parent,h,(function(){return t.parent()})))return!1;if(!a(e.ancestor,h,(function(){return t.parents()})))return!1;if(!a(e.child,h,(function(){return t.children()})))return!1;if(!a(e.descendant,h,(function(){return t.descendants()})))return!1;if(!a(e.source,!0,g))return!1;if(!a(e.target,!0,m))return!1;if(e.connectedNodes){var v=e.connectedNodes[0],b=e.connectedNodes[1];if(a(v,!0,g)&&a(b,!0,m));else if(!a(v,!0,m)||!a(b,!0,g))return!1}return!0};e.exports={matches:function(e){if(this.invalid())return!1;for(var t=0;t<this.length;t++){var n=this[t];if(s(n,e))return!0}return!1},filter:function(e){var t=this,n=e.cy();if(t.invalid())return n.collection();if(1===t.length&&1===t[0].length&&1===t[0].ids.length)return e.getElementById(t[0].ids[0]).collection();var r=function(e){for(var n=0;n<t.length;n++){var r=t[n];if(s(r,e))return!0}return!1};return null==t.text()&&(r=function(){return!0}),e.filter(r)}}},function(e,t,n){"use strict";var r=n(8),i={parent:function(e){var t=[];if(1===this.length){var n=this[0]._private.parent;if(n)return n}for(var r=0;r<this.length;r++){var i=this[r]._private.parent;i&&t.push(i)}return this.spawn(t,{unique:!0}).filter(e)},parents:function(e){for(var t=[],n=this.parent();n.nonempty();){for(var r=0;r<n.length;r++){var i=n[r];t.push(i)}n=n.parent()}return this.spawn(t,{unique:!0}).filter(e)},commonAncestors:function(e){for(var t=void 0,n=0;n<this.length;n++){var r=this[n].parents();t=(t=t||r).intersect(r)}return t.filter(e)},orphans:function(e){return this.stdFilter((function(e){return e.isOrphan()})).filter(e)},nonorphans:function(e){return this.stdFilter((function(e){return e.isChild()})).filter(e)},children:function(e){for(var t=[],n=0;n<this.length;n++){var r=this[n];t=t.concat(r._private.children)}return this.spawn(t,{unique:!0}).filter(e)},siblings:function(e){return this.parent().children().not(this).filter(e)},isParent:function(){var e=this[0];if(e)return e.isNode()&&0!==e._private.children.length},isChildless:function(){var e=this[0];if(e)return e.isNode()&&0===e._private.children.length},isChild:function(){var e=this[0];if(e)return e.isNode()&&null!=e._private.parent},isOrphan:function(){var e=this[0];if(e)return e.isNode()&&null==e._private.parent},descendants:function(e){var t=[];return function e(n){for(var r=0;r<n.length;r++){var i=n[r];t.push(i),i.children().nonempty()&&e(i.children())}}(this.children()),this.spawn(t,{unique:!0}).filter(e)}};function o(e,t,n,i){for(var o=[],a=new r,s=e.cy().hasCompoundNodes(),l=0;l<e.length;l++){var c=e[l];n?o.push(c):s&&i(o,a,c)}for(;o.length>0;){var u=o.shift();t(u),a.add(u.id()),s&&i(o,a,u)}return e}function a(e,t,n){if(n.isParent())for(var r=n._private.children,i=0;i<r.length;i++){var o=r[i];t.has(o.id())||e.push(o)}}function s(e,t,n){if(n.isChild()){var r=n._private.parent;t.has(r.id())||e.push(r)}}function l(e,t,n){s(e,t,n),a(e,t,n)}i.forEachDown=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return o(this,e,t,a)},i.forEachUp=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return o(this,e,t,s)},i.forEachUpAndDown=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return o(this,e,t,l)},i.ancestors=i.parents,e.exports=i},function(e,t,n){"use strict";var r,i=n(4),o=void 0;(o=r={data:i.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:i.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:i.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:i.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:i.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:i.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}}).attr=o.data,o.removeAttr=o.removeData,e.exports=r},function(e,t,n){"use strict";var r=n(1),i={};function o(e){return function(t){if(void 0===t&&(t=!0),0!==this.length&&this.isNode()&&!this.removed()){for(var n=0,r=this[0],i=r._private.edges,o=0;o<i.length;o++){var a=i[o];!t&&a.isLoop()||(n+=e(r,a))}return n}}}function a(e,t){return function(n){for(var r=void 0,i=this.nodes(),o=0;o<i.length;o++){var a=i[o][e](n);void 0===a||void 0!==r&&!t(a,r)||(r=a)}return r}}r.extend(i,{degree:o((function(e,t){return t.source().same(t.target())?2:1})),indegree:o((function(e,t){return t.target().same(e)?1:0})),outdegree:o((function(e,t){return t.source().same(e)?1:0}))}),r.extend(i,{minDegree:a("degree",(function(e,t){return e<t})),maxDegree:a("degree",(function(e,t){return e>t})),minIndegree:a("indegree",(function(e,t){return e<t})),maxIndegree:a("indegree",(function(e,t){return e>t})),minOutdegree:a("outdegree",(function(e,t){return e<t})),maxOutdegree:a("outdegree",(function(e,t){return e>t}))}),r.extend(i,{totalDegree:function(e){for(var t=0,n=this.nodes(),r=0;r<n.length;r++)t+=n[r].degree(e);return t}}),e.exports=i},function(e,t,n){"use strict";var r=n(1),i=n(57),o=n(58),a=n(59),s=n(60);e.exports=r.assign({},i,o,a,s)},function(e,t,n){"use strict";var r,i=n(4),o=n(0),a=n(2),s=void 0,l=function(e,t){for(var n=0;n<e.length;n++){var r=e[n];if(r.isParent()&&!r.locked()){var i=r._private.position,o={x:t.x-i.x,y:t.y-i.y};e.children().shift(o)}}};(s=r={position:i.data({field:"position",bindingEvent:"position",allowBinding:!0,allowSetting:!0,settingEvent:"position",settingTriggersEvent:!0,triggerFnName:"emitAndNotify",allowGetting:!0,validKeys:["x","y"],beforeGet:function(e){e.updateCompoundBounds()},beforeSet:l,onSet:function(e){e.dirtyCompoundBoundsCache()},canSet:function(e){return!e.locked()}}),silentPosition:i.data({field:"position",bindingEvent:"position",allowBinding:!1,allowSetting:!0,settingEvent:"position",settingTriggersEvent:!1,triggerFnName:"trigger",allowGetting:!1,validKeys:["x","y"],beforeSet:l,onSet:function(e){e.dirtyCompoundBoundsCache()},canSet:function(e){return!e.locked()}}),positions:function(e,t){if(o.plainObject(e))t?this.silentPosition(e):this.position(e);else if(o.fn(e)){var n=e,r=this.cy();r.startBatch();for(var i=0;i<this.length;i++){var a,s=this[i];(a=n(s,i))&&(t?s.silentPosition(a):s.position(a))}r.endBatch()}return this},silentPositions:function(e){return this.positions(e,!0)},shift:function(e,t){var n=void 0;if(o.plainObject(e)?n=e:o.string(e)&&o.number(t)&&((n={x:0,y:0})[e]=t),null!=n)for(var r=0;r<this.length;r++){var i=this[r],a=i.position();i.position({x:a.x+n.x,y:a.y+n.y})}return this},renderedPosition:function(e,t){var n=this[0],r=this.cy(),i=r.zoom(),s=r.pan(),l=o.plainObject(e)?e:void 0,c=void 0!==l||void 0!==t&&o.string(e);if(n&&n.isNode()){if(!c){var u=n.position();return l=a.modelToRenderedPosition(u,i,s),void 0===e?l:l[e]}for(var d=0;d<this.length;d++){var p=this[d];void 0!==t?p.position(e,(t-s[e])/i):void 0!==l&&p.position(a.renderedToModelPosition(l,i,s))}}else if(!c)return;return this},relativePosition:function(e,t){var n=this[0],r=this.cy(),i=o.plainObject(e)?e:void 0,a=void 0!==i||void 0!==t&&o.string(e),s=r.hasCompoundNodes();if(n&&n.isNode()){if(!a){var l=n.position(),c=s?n.parent():null,u=c&&c.length>0,d=u;u&&(c=c[0]);var p=d?c.position():{x:0,y:0};return i={x:l.x-p.x,y:l.y-p.y},void 0===e?i:i[e]}for(var f=0;f<this.length;f++){var h=this[f],g=s?h.parent():null,m=g&&g.length>0,v=m;m&&(g=g[0]);var b=v?g.position():{x:0,y:0};void 0!==t?h.position(e,t+b[e]):void 0!==i&&h.position({x:i.x+b.x,y:i.y+b.y})}}else if(!a)return;return this}}).modelPosition=s.point=s.position,s.modelPositions=s.points=s.positions,s.renderedPoint=s.renderedPosition,s.relativePoint=s.relativePosition,e.exports=r},function(e,t,n){"use strict";var r=n(0),i=n(1),o=n(2),a=void 0,s=void 0;a=s={},s.renderedBoundingBox=function(e){var t=this.boundingBox(e),n=this.cy(),r=n.zoom(),i=n.pan(),o=t.x1*r+i.x,a=t.x2*r+i.x,s=t.y1*r+i.y,l=t.y2*r+i.y;return{x1:o,x2:a,y1:s,y2:l,w:a-o,h:l-s}},s.dirtyCompoundBoundsCache=function(){var e=this.cy();return e.styleEnabled()&&e.hasCompoundNodes()?(this.forEachUp((function(e){e._private.compoundBoundsClean=!1,e.isParent()&&e.emit("bounds")})),this):this},s.updateCompoundBounds=function(){var e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(e.batching())return this;var t=[];function n(e){if(e.isParent()){var n=e._private,r=e.children(),i="include"===e.pstyle("compound-sizing-wrt-labels").value,o={width:{val:e.pstyle("min-width").pfValue,left:e.pstyle("min-width-bias-left"),right:e.pstyle("min-width-bias-right")},height:{val:e.pstyle("min-height").pfValue,top:e.pstyle("min-height-bias-top"),bottom:e.pstyle("min-height-bias-bottom")}},a=r.boundingBox({includeLabels:i,includeOverlays:!1,useCache:!1}),s=n.position;0!==a.w&&0!==a.h||((a={w:e.pstyle("width").pfValue,h:e.pstyle("height").pfValue}).x1=s.x-a.w/2,a.x2=s.x+a.w/2,a.y1=s.y-a.h/2,a.y2=s.y+a.h/2);var l=o.width.left.value;"px"===o.width.left.units&&o.width.val>0&&(l=100*l/o.width.val);var c=o.width.right.value;"px"===o.width.right.units&&o.width.val>0&&(c=100*c/o.width.val);var u=o.height.top.value;"px"===o.height.top.units&&o.height.val>0&&(u=100*u/o.height.val);var d=o.height.bottom.value;"px"===o.height.bottom.units&&o.height.val>0&&(d=100*d/o.height.val);var p=b(o.width.val-a.w,l,c),f=p.biasDiff,h=p.biasComplementDiff,g=b(o.height.val-a.h,u,d),m=g.biasDiff,v=g.biasComplementDiff;n.autoPadding=function(e,t,n,r){if("%"!==n.units)return"px"===n.units?n.pfValue:0;switch(r){case"width":return e>0?n.pfValue*e:0;case"height":return t>0?n.pfValue*t:0;case"average":return e>0&&t>0?n.pfValue*(e+t)/2:0;case"min":return e>0&&t>0?e>t?n.pfValue*t:n.pfValue*e:0;case"max":return e>0&&t>0?e>t?n.pfValue*e:n.pfValue*t:0;default:return 0}}(a.w,a.h,e.pstyle("padding"),e.pstyle("padding-relative-to").value),n.autoWidth=Math.max(a.w,o.width.val),s.x=(-f+a.x1+a.x2+h)/2,n.autoHeight=Math.max(a.h,o.height.val),s.y=(-m+a.y1+a.y2+v)/2,t.push(e)}function b(e,t,n){var r=0,i=0,o=t+n;return e>0&&o>0&&(r=t/o*e,i=n/o*e),{biasDiff:r,biasComplementDiff:i}}}for(var r=0;r<this.length;r++){var i=this[r],o=i._private;o.compoundBoundsClean||(n(i),e._private.batchingStyle||(o.compoundBoundsClean=!0))}return this};var l=function(e){return e===1/0||e===-1/0?0:e},c=function(e,t,n,r,i){r-t!=0&&i-n!=0&&null!=t&&null!=n&&null!=r&&null!=i&&(e.x1=t<e.x1?t:e.x1,e.x2=r>e.x2?r:e.x2,e.y1=n<e.y1?n:e.y1,e.y2=i>e.y2?i:e.y2)},u=function(e,t,n){return i.getPrefixedProperty(e,t,n)},d=function(e,t,n){if(!t.cy().headless()){var r=t._private.rstyle,i=r.arrowWidth/2,o=void 0,a=void 0;"none"!==t.pstyle(n+"-arrow-shape").value&&("source"===n?(o=r.srcX,a=r.srcY):"target"===n?(o=r.tgtX,a=r.tgtY):(o=r.midX,a=r.midY),c(e,o-i,a-i,o+i,a+i))}},p=function(e,t,n){if(!t.cy().headless()){var r=void 0;r=n?n+"-":"";var i=t._private,o=i.rstyle;if(t.pstyle(r+"label").strValue){var a=t.pstyle("text-halign"),s=t.pstyle("text-valign"),l=u(o,"labelWidth",n),d=u(o,"labelHeight",n),p=u(o,"labelX",n),f=u(o,"labelY",n),h=t.pstyle(r+"text-margin-x").pfValue,g=t.pstyle(r+"text-margin-y").pfValue,m=t.isEdge(),v=t.pstyle(r+"text-rotation"),b=t.pstyle("text-outline-width").pfValue,y=t.pstyle("text-border-width").pfValue/2,x=t.pstyle("text-background-padding").pfValue,w=d+2*x,k=l+2*x,A=k/2,E=w/2,S=void 0,$=void 0,C=void 0,_=void 0;if(m)S=p-A,$=p+A,C=f-E,_=f+E;else{switch(a.value){case"left":S=p-k,$=p;break;case"center":S=p-A,$=p+A;break;case"right":S=p,$=p+k}switch(s.value){case"top":C=f-w,_=f;break;case"center":C=f-E,_=f+E;break;case"bottom":C=f,_=f+w}}var O=m&&"autorotate"===v.strValue,T=null!=v.pfValue&&0!==v.pfValue;if(O||T){var j=O?u(i.rstyle,"labelAngle",n):v.pfValue,P=Math.cos(j),D=Math.sin(j),R=function(e,t){return{x:(e-=p)*P-(t-=f)*D+p,y:e*D+t*P+f}},I=R(S,C),N=R(S,_),M=R($,C),z=R($,_);S=Math.min(I.x,N.x,M.x,z.x),$=Math.max(I.x,N.x,M.x,z.x),C=Math.min(I.y,N.y,M.y,z.y),_=Math.max(I.y,N.y,M.y,z.y)}S+=h-Math.max(b,y),$+=h+Math.max(b,y),C+=g-Math.max(b,y),_+=g+Math.max(b,y),c(e,S,C,$,_)}return e}},f=function(e){return e?"t":"f"},h=function(e){var t="";return t+=f(e.incudeNodes),t+=f(e.includeEdges),t+=f(e.includeLabels),t+=f(e.includeOverlays)},g=function(e,t){var n=e._private,r=void 0,i=e.cy().headless(),a=t===m?v:h(t);return t.useCache&&!i&&n.bbCache&&n.bbCache[a]?r=n.bbCache[a]:(r=function(e,t){var n=e._private.cy,r=n.styleEnabled(),i=n.headless(),a={x1:1/0,y1:1/0,x2:-1/0,y2:-1/0},s=e._private,u=r?e.pstyle("display").value:"element",f=e.isNode(),h=e.isEdge(),g=void 0,m=void 0,v=void 0,b=void 0,y=void 0,x=void 0,w="none"!==u;if(w){var k=0;r&&t.includeOverlays&&0!==e.pstyle("overlay-opacity").value&&(k=e.pstyle("overlay-padding").value);var A=0;if(r&&(A=e.pstyle("width").pfValue/2),f&&t.includeNodes){var E=e.position();y=E.x,x=E.y;var S=e.outerWidth()/2,$=e.outerHeight()/2;c(a,g=y-S-k,v=x-$-k,m=y+S+k,b=x+$+k)}else if(h&&t.includeEdges){var C=s.rstyle||{};if(r&&!i&&(g=Math.min(C.srcX,C.midX,C.tgtX),m=Math.max(C.srcX,C.midX,C.tgtX),v=Math.min(C.srcY,C.midY,C.tgtY),b=Math.max(C.srcY,C.midY,C.tgtY),c(a,g-=A,v-=A,m+=A,b+=A)),r&&!i&&"haystack"===e.pstyle("curve-style").strValue){var _=C.haystackPts||[];if(g=_[0].x,v=_[0].y,g>(m=_[1].x)){var O=g;g=m,m=O}if(v>(b=_[1].y)){var T=v;v=b,b=T}c(a,g-A,v-A,m+A,b+A)}else{for(var j=C.bezierPts||C.linePts||[],P=0;P<j.length;P++){var D=j[P];g=D.x-A,m=D.x+A,v=D.y-A,b=D.y+A,c(a,g,v,m,b)}if(0===j.length){var R=e.source().position(),I=e.target().position();if((g=R.x)>(m=I.x)){var N=g;g=m,m=N}if((v=R.y)>(b=I.y)){var M=v;v=b,b=M}c(a,g-=A,v-=A,m+=A,b+=A)}}}if(r&&t.includeEdges&&h&&(d(a,e,"mid-source"),d(a,e,"mid-target"),d(a,e,"source"),d(a,e,"target")),r&&"yes"===e.pstyle("ghost").value){var z=e.pstyle("ghost-offset-x").pfValue,L=e.pstyle("ghost-offset-y").pfValue;c(a,a.x1+z,a.y1+L,a.x2+z,a.y2+L)}r&&(g=a.x1,m=a.x2,v=a.y1,b=a.y2,c(a,g-k,v-k,m+k,b+k)),r&&t.includeLabels&&(p(a,e,null),h&&(p(a,e,"source"),p(a,e,"target")))}return a.x1=l(a.x1),a.y1=l(a.y1),a.x2=l(a.x2),a.y2=l(a.y2),a.w=l(a.x2-a.x1),a.h=l(a.y2-a.y1),a.w>0&&a.h>0&&w&&o.expandBoundingBox(a,1),a}(e,t),i||(n.bbCache=n.bbCache||{},n.bbCache[a]=r)),r},m={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeOverlays:!0,useCache:!0},v=h(m);function b(e){return{includeNodes:i.default(e.includeNodes,m.includeNodes),includeEdges:i.default(e.includeEdges,m.includeEdges),includeLabels:i.default(e.includeLabels,m.includeLabels),includeOverlays:i.default(e.includeOverlays,m.includeOverlays),useCache:i.default(e.useCache,m.useCache)}}s.boundingBox=function(e){if(1===this.length&&this[0]._private.bbCache&&(void 0===e||void 0===e.useCache||!0===e.useCache))return e=void 0===e?m:b(e),g(this[0],e);var t={x1:1/0,y1:1/0,x2:-1/0,y2:-1/0},n=b(e=e||i.staticEmptyObject()),r=this.cy().styleEnabled();r&&this.recalculateRenderedStyle(n.useCache),this.updateCompoundBounds();for(var o,a,s={},u=0;u<this.length;u++){var d=this[u];if(r&&d.isEdge()&&"bezier"===d.pstyle("curve-style").strValue&&!s[d.id()]){for(var p=d.parallelEdges(),f=0;f<p.length;f++)s[p[f].id()]=!0;p.recalculateRenderedStyle(n.useCache)}o=t,a=g(d,n),c(o,a.x1,a.y1,a.x2,a.y2)}return t.x1=l(t.x1),t.y1=l(t.y1),t.x2=l(t.x2),t.y2=l(t.y2),t.w=l(t.x2-t.x1),t.h=l(t.y2-t.y1),t},s.boundingBoxAt=function(e){var t=this.nodes();if(r.plainObject(e)){var n=e;e=function(){return n}}for(var i=0;i<t.length;i++){var o=t[i],a=o._private,s=a.position,l=e.call(o,o,i);a.bbAtOldPos={x:s.x,y:s.y},l&&(s.x=l.x,s.y=l.y)}this.emit("dirty"),t.dirtyCompoundBoundsCache().updateCompoundBounds();for(var c=this.boundingBox({useCache:!1}),u=0;u<t.length;u++){var d=t[u],p=d._private,f=d._private.position,h=p.bbAtOldPos;f.x=h.x,f.y=h.y}return t.dirtyCompoundBoundsCache(),this.emit("dirty"),c},a.boundingbox=a.boundingBox,a.renderedBoundingbox=a.renderedBoundingBox,e.exports=s},function(e,t,n){"use strict";var r=n(1),i=void 0,o=void 0;i=o={};var a=function(e){e.uppercaseName=r.capitalize(e.name),e.autoName="auto"+e.uppercaseName,e.labelName="label"+e.uppercaseName,e.outerName="outer"+e.uppercaseName,e.uppercaseOuterName=r.capitalize(e.outerName),i[e.name]=function(){var t=this[0],n=t._private,r=n.cy._private.styleEnabled;if(t){if(!r)return 1;if(t.isParent())return t.updateCompoundBounds(),n[e.autoName]||0;var i=t.pstyle(e.name);switch(i.strValue){case"label":return t.recalculateRenderedStyle(),n.rstyle[e.labelName]||0;default:return i.pfValue}}},i["outer"+e.uppercaseName]=function(){var t=this[0],n=t._private.cy._private.styleEnabled;if(t)return n?t[e.name]()+t.pstyle("border-width").pfValue+2*t.padding():1},i["rendered"+e.uppercaseName]=function(){var t=this[0];if(t)return t[e.name]()*this.cy().zoom()},i["rendered"+e.uppercaseOuterName]=function(){var t=this[0];if(t)return t[e.outerName]()*this.cy().zoom()}};a({name:"width"}),a({name:"height"}),o.padding=function(){var e=this[0],t=e._private;return e.isParent()?(e.updateCompoundBounds(),void 0!==t.autoPadding?t.autoPadding:e.pstyle("padding").pfValue):e.pstyle("padding").pfValue},e.exports=o},function(e,t,n){"use strict";var r=function(e,t){if(e.isEdge())return t(e.renderer())};e.exports={controlPoints:function(){var e=this;return r(this,(function(t){return t.getControlPoints(e)}))},segmentPoints:function(){var e=this;return r(this,(function(t){return t.getSegmentPoints(e)}))},sourceEndpoint:function(){var e=this;return r(this,(function(t){return t.getSourceEndpoint(e)}))},targetEndpoint:function(){var e=this;return r(this,(function(t){return t.getTargetEndpoint(e)}))},midpoint:function(){var e=this;return r(this,(function(t){return t.getEdgeMidpoint(e)}))}}},function(e,t,n){"use strict";var r=n(11),i=n(4),o=n(0),a=n(1),s=n(6),l={qualifierCompare:function(e,t){return null==e||null==t?null==e&&null==t:e.sameText(t)},eventMatches:function(e,t,n){var r=t.qualifier;return null==r||e!==n.target&&o.element(n.target)&&r.matches(n.target)},eventFields:function(e){return{cy:e.cy(),target:e}},callbackContext:function(e,t,n){return null!=t.qualifier?n.target:e},beforeEmit:function(e,t){t.conf&&t.conf.once&&t.conf.onceCollection.removeListener(t.event,t.qualifier,t.callback)},bubble:function(){return!0},parent:function(e){return e.isChild()?e.parent():e.cy()}},c=function(e){return o.string(e)?new s(e):e},u={createEmitter:function(){for(var e=0;e<this.length;e++){var t=this[e],n=t._private;n.emitter||(n.emitter=new r(a.assign({context:t},l)))}return this},emitter:function(){return this._private.emitter},on:function(e,t,n){for(var r=0;r<this.length;r++)this[r].emitter().on(e,c(t),n);return this},removeListener:function(e,t,n){for(var r=0;r<this.length;r++)this[r].emitter().removeListener(e,c(t),n);return this},one:function(e,t,n){for(var r=0;r<this.length;r++)this[r].emitter().one(e,c(t),n);return this},once:function(e,t,n){for(var r=0;r<this.length;r++)this[r].emitter().on(e,c(t),n,{once:!0,onceCollection:this})},emit:function(e,t){for(var n=0;n<this.length;n++)this[n].emitter().emit(e,t);return this},emitAndNotify:function(e,t){if(0!==this.length)return this.cy().notify({type:e,eles:this}),this.emit(e,t),this}};i.eventAliasesOn(u),e.exports=u},function(e,t,n){"use strict";var r=n(0),i=n(6),o={nodes:function(e){return this.filter((function(e){return e.isNode()})).filter(e)},edges:function(e){return this.filter((function(e){return e.isEdge()})).filter(e)},filter:function(e,t){if(void 0===e)return this;if(r.string(e)||r.elementOrCollection(e))return new i(e).filter(this);if(r.fn(e)){for(var n=this.spawn(),o=0;o<this.length;o++){var a=this[o];(t?e.apply(t,[a,o,this]):e(a,o,this))&&n.merge(a)}return n}return this.spawn()},not:function(e){if(e){r.string(e)&&(e=this.filter(e));for(var t=[],n=e._private.map,i=0;i<this.length;i++){var o=this[i];n.has(o.id())||t.push(o)}return this.spawn(t)}return this},absoluteComplement:function(){return this.cy().mutableElements().not(this)},intersect:function(e){if(r.string(e)){var t=e;return this.filter(t)}for(var n=[],i=e,o=this.length<e.length,a=o?i._private.map:this._private.map,s=o?this:i,l=0;l<s.length;l++){var c=s[l]._private.data.id,u=a.get(c);u&&n.push(u.ele)}return this.spawn(n)},xor:function(e){var t=this._private.cy;r.string(e)&&(e=t.$(e));var n=[],i=e,o=function(e,t){for(var r=0;r<e.length;r++){var i=e[r],o=i._private.data.id;t.hasElementWithId(o)||n.push(i)}};return o(this,i),o(i,this),this.spawn(n)},diff:function(e){var t=this._private.cy;r.string(e)&&(e=t.$(e));var n=[],i=[],o=[],a=e,s=function(e,t,n){for(var r=0;r<e.length;r++){var i=e[r],a=i._private.data.id;t.hasElementWithId(a)?o.push(i):n.push(i)}};return s(this,a,n),s(a,this,i),{left:this.spawn(n,{unique:!0}),right:this.spawn(i,{unique:!0}),both:this.spawn(o,{unique:!0})}},add:function(e){var t=this._private.cy;if(!e)return this;if(r.string(e)){var n=e;e=t.mutableElements().filter(n)}for(var i=[],o=0;o<this.length;o++)i.push(this[o]);for(var a=this._private.map,s=0;s<e.length;s++){var l=!a.has(e[s].id());l&&i.push(e[s])}return this.spawn(i)},merge:function(e){var t=this._private,n=t.cy;if(!e)return this;if(e&&r.string(e)){var i=e;e=n.mutableElements().filter(i)}for(var o=t.map,a=0;a<e.length;a++){var s=e[a],l=s._private.data.id;if(o.has(l)){var c=o.get(l).index;this[c]=s,o.set(l,{ele:s,index:c})}else{var u=this.length++;this[u]=s,o.set(l,{ele:s,index:u})}}return this},unmergeOne:function(e){e=e[0];var t=this._private,n=e._private.data.id,r=t.map,i=r.get(n);if(!i)return this;var o=i.index;this[o]=void 0,r.delete(n);var a=o===this.length-1;if(this.length>1&&!a){var s=this.length-1,l=this[s],c=l._private.data.id;this[s]=void 0,this[o]=l,r.set(c,{ele:l,index:o})}return this.length--,this},unmerge:function(e){var t=this._private.cy;if(!e)return this;if(e&&r.string(e)){var n=e;e=t.mutableElements().filter(n)}for(var i=0;i<e.length;i++)this.unmergeOne(e[i]);return this},map:function(e,t){for(var n=[],r=0;r<this.length;r++){var i=this[r],o=t?e.apply(t,[i,r,this]):e(i,r,this);n.push(o)}return n},reduce:function(e,t){for(var n=t,r=0;r<this.length;r++)n=e(n,this[r],r,this);return n},max:function(e,t){for(var n=-1/0,r=void 0,i=0;i<this.length;i++){var o=this[i],a=t?e.apply(t,[o,i,this]):e(o,i,this);a>n&&(n=a,r=o)}return{value:n,ele:r}},min:function(e,t){for(var n=1/0,r=void 0,i=0;i<this.length;i++){var o=this[i],a=t?e.apply(t,[o,i,this]):e(o,i,this);a<n&&(n=a,r=o)}return{value:n,ele:r}}},a=o;a.u=a["|"]=a["+"]=a.union=a.or=a.add,a["\\"]=a["!"]=a["-"]=a.difference=a.relativeComplement=a.subtract=a.not,a.n=a["&"]=a["."]=a.and=a.intersection=a.intersect,a["^"]=a["(+)"]=a["(-)"]=a.symmetricDifference=a.symdiff=a.xor,a.fnFilter=a.filterFn=a.stdFilter=a.filter,a.complement=a.abscomp=a.absoluteComplement,e.exports=o},function(e,t,n){"use strict";e.exports={isNode:function(){return"nodes"===this.group()},isEdge:function(){return"edges"===this.group()},isLoop:function(){return this.isEdge()&&this.source().id()===this.target().id()},isSimple:function(){return this.isEdge()&&this.source().id()!==this.target().id()},group:function(){var e=this[0];if(e)return e._private.group}}},function(e,t,n){"use strict";var r=n(0),i=n(17),o=n(1),a={forEach:function(e,t){if(r.fn(e))for(var n=0;n<this.length;n++){var i=this[n];if(!1===(t?e.apply(t,[i,n,this]):e(i,n,this)))break}return this},toArray:function(){for(var e=[],t=0;t<this.length;t++)e.push(this[t]);return e},slice:function(e,t){var n=[],r=this.length;null==t&&(t=r),null==e&&(e=0),e<0&&(e=r+e),t<0&&(t=r+t);for(var i=e;i>=0&&i<t&&i<r;i++)n.push(this[i]);return this.spawn(n)},size:function(){return this.length},eq:function(e){return this[e]||this.spawn()},first:function(){return this[0]||this.spawn()},last:function(){return this[this.length-1]||this.spawn()},empty:function(){return 0===this.length},nonempty:function(){return!this.empty()},sort:function(e){if(!r.fn(e))return this;var t=this.toArray().sort(e);return this.spawn(t)},sortByZIndex:function(){return this.sort(i)},zDepth:function(){var e=this[0];if(e){var t=e._private;if("nodes"===t.group){var n=t.data.parent?e.parents().size():0;return e.isParent()?n:o.MAX_INT-1}var r=t.source,i=t.target,a=r.zDepth(),s=i.zDepth();return Math.max(a,s,0)}}};a.each=a.forEach,e.exports=a},function(e,t,n){"use strict";var r=n(0),i=n(1),o=n(5),a=n(2),s={layoutDimensions:function(e){if((e=i.assign({nodeDimensionsIncludeLabels:!0},e)).nodeDimensionsIncludeLabels){var t=this.boundingBox();return{w:t.w,h:t.h}}return{w:this.outerWidth(),h:this.outerHeight()}},layoutPositions:function(e,t,n){var s=this.nodes(),l=this.cy(),c=t.eles,u=function(e,t){return e.id()+"$"+t},d=i.memoize(n,u);e.emit({type:"layoutstart",layout:e}),e.animations=[];var p=t.spacingFactor&&1!==t.spacingFactor,f=function(){if(!p)return null;for(var e=a.makeBoundingBox(),t=0;t<s.length;t++){var n=s[t],r=d(n,t);a.expandBoundingBoxByPoint(e,r.x,r.y)}return e}(),h=i.memoize((function(e,n){var i=d(e,n),o=e.position();return r.number(o.x)&&r.number(o.y)||e.silentPosition({x:0,y:0}),p&&(i=function(e,t,n){var r=t.x1+t.w/2,i=t.y1+t.h/2;return{x:r+(n.x-r)*e,y:i+(n.y-i)*e}}(Math.abs(t.spacingFactor),f,i)),null!=t.transform&&(i=t.transform(e,i)),i}),u);if(t.animate){for(var g=0;g<s.length;g++){var m=s[g],v=h(m,g);if(null==t.animateFilter||t.animateFilter(m,g)){var b=m.animation({position:v,duration:t.animationDuration,easing:t.animationEasing});e.animations.push(b),b.play()}else m.position(v)}if(t.fit){var y=l.animation({fit:{boundingBox:c.boundingBoxAt(h),padding:t.padding},duration:t.animationDuration,easing:t.animationEasing});e.animations.push(y),y.play()}else if(void 0!==t.zoom&&void 0!==t.pan){var x=l.animation({zoom:t.zoom,pan:t.pan,duration:t.animationDuration,easing:t.animationEasing});e.animations.push(x),x.play()}e.one("layoutready",t.ready),e.emit({type:"layoutready",layout:e}),o.all(e.animations.map((function(e){return e.promise()}))).then((function(){e.one("layoutstop",t.stop),e.emit({type:"layoutstop",layout:e})}))}else s.positions(h),t.fit&&l.fit(t.eles,t.padding),null!=t.zoom&&l.zoom(t.zoom),t.pan&&l.pan(t.pan),e.one("layoutready",t.ready),e.emit({type:"layoutready",layout:e}),e.one("layoutstop",t.stop),e.emit({type:"layoutstop",layout:e});return this},layout:function(e){return this.cy().makeLayout(i.extend({},e,{eles:this}))}};s.createLayout=s.makeLayout=s.layout,e.exports=s},function(e,t,n){"use strict";var r=n(0);function i(e,t,n){var r,i=n._private,o=i.styleCache=i.styleCache||{};return null!=(r=o[e])?r:r=o[e]=t(n)}function o(e,t){return function(n){return i(e,t,n)}}function a(e,t){var n=function(e){return t.call(e)};return function(){var t=this[0];if(t)return i(e,n,t)}}var s={recalculateRenderedStyle:function(e){var t=this.cy(),n=t.renderer(),r=t.styleEnabled();return n&&r&&n.recalculateRenderedStyle(this,e),this},dirtyStyleCache:function(){var e=this.cy(),t=function(e){return e._private.styleCache={}};if(e.hasCompoundNodes()){var n=void 0;(n=this.spawnSelf().merge(this.descendants()).merge(this.parents())).merge(n.connectedEdges()),n.forEach(t)}else this.forEach((function(e){t(e),e.connectedEdges().forEach(t)}));return this},updateStyle:function(e){var t=this._private.cy;if(!t.styleEnabled())return this;if(t._private.batchingStyle)return t._private.batchStyleEles.merge(this),this;var n=t.hasCompoundNodes(),r=t.style(),i=this;e=!(!e&&void 0!==e),n&&(i=this.spawnSelf().merge(this.descendants()).merge(this.parents()));var o=r.apply(i);return o.dirtyStyleCache(),o.dirtyCompoundBoundsCache(),e?o.emitAndNotify("style"):o.emit("style"),this},updateMappers:function(e){var t=this._private.cy,n=t.style();if(e=!(!e&&void 0!==e),!t.styleEnabled())return this;var r=n.updateMappers(this);return r.dirtyStyleCache(),r.dirtyCompoundBoundsCache(),e?r.emitAndNotify("style"):r.emit("style"),this},parsedStyle:function(e){var t=this[0],n=t.cy();if(n.styleEnabled())return t?t._private.style[e]||n.style().getDefaultProperty(e):void 0},numericStyle:function(e){var t=this[0];if(t.cy().styleEnabled()&&t){var n=t.pstyle(e);return void 0!==n.pfValue?n.pfValue:n.value}},numericStyleUnits:function(e){var t=this[0];if(t.cy().styleEnabled())return t?t.pstyle(e).units:void 0},renderedStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=this[0];return n?t.style().getRenderedStyle(n,e):void 0},style:function(e,t){var n=this.cy();if(!n.styleEnabled())return this;var i=n.style();if(r.plainObject(e)){var o=e;i.applyBypass(this,o,!1),this.dirtyStyleCache(),this.dirtyCompoundBoundsCache(),this.emitAndNotify("style")}else if(r.string(e)){if(void 0===t){var a=this[0];return a?i.getStylePropertyValue(a,e):void 0}i.applyBypass(this,e,t,!1),this.dirtyStyleCache(),this.dirtyCompoundBoundsCache(),this.emitAndNotify("style")}else if(void 0===e){var s=this[0];return s?i.getRawStyle(s):void 0}return this},removeStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=t.style();if(void 0===e)for(var r=0;r<this.length;r++){var i=this[r];n.removeAllBypasses(i,!1)}else{e=e.split(/\s+/);for(var o=0;o<this.length;o++){var a=this[o];n.removeBypasses(a,e,!1)}}return this.dirtyStyleCache(),this.dirtyCompoundBoundsCache(),this.emitAndNotify("style"),this},show:function(){return this.css("display","element"),this},hide:function(){return this.css("display","none"),this},effectiveOpacity:function(){var e=this.cy();if(!e.styleEnabled())return 1;var t=e.hasCompoundNodes(),n=this[0];if(n){var r=n._private,i=n.pstyle("opacity").value;if(!t)return i;var o=r.data.parent?n.parents():null;if(o)for(var a=0;a<o.length;a++)i*=o[a].pstyle("opacity").value;return i}},transparent:function(){if(!this.cy().styleEnabled())return!1;var e=this[0],t=e.cy().hasCompoundNodes();return e?t?0===e.effectiveOpacity():0===e.pstyle("opacity").value:void 0},backgrounding:function(){return!!this.cy().styleEnabled()&&!!this[0]._private.backgrounding}};function l(e,t){var n=e._private.data.parent?e.parents():null;if(n)for(var r=0;r<n.length;r++)if(!t(n[r]))return!1;return!0}function c(e){var t=e.ok,n=e.edgeOkViaNode||e.ok,r=e.parentOk||e.ok;return function(){var e=this.cy();if(!e.styleEnabled())return!0;var i=this[0],o=e.hasCompoundNodes();if(i){var a=i._private;if(!t(i))return!1;if(i.isNode())return!o||l(i,r);var s=a.source,c=a.target;return n(s)&&(!o||l(s,n))&&(s===c||n(c)&&(!o||l(c,n)))}}}var u=o("eleTakesUpSpace",(function(e){return"element"===e.pstyle("display").value&&0!==e.width()&&(!e.isNode()||0!==e.height())}));s.takesUpSpace=a("takesUpSpace",c({ok:u}));var d=o("eleInteractive",(function(e){return"yes"===e.pstyle("events").value&&"visible"===e.pstyle("visibility").value&&u(e)})),p=o("parentInteractive",(function(e){return"visible"===e.pstyle("visibility").value&&u(e)}));s.interactive=a("interactive",c({ok:d,parentOk:p,edgeOkViaNode:u})),s.noninteractive=function(){var e=this[0];if(e)return!e.interactive()};var f=o("eleVisible",(function(e){return"visible"===e.pstyle("visibility").value&&0!==e.pstyle("opacity").pfValue&&u(e)})),h=u;s.visible=a("visible",c({ok:f,edgeOkViaNode:h})),s.hidden=function(){var e=this[0];if(e)return!e.visible()},s.bypass=s.css=s.style,s.renderedCss=s.renderedStyle,s.removeBypass=s.removeCss=s.removeStyle,s.pstyle=s.parsedStyle,e.exports=s},function(e,t,n){"use strict";var r={};function i(e){return function(){var t=arguments,n=[];if(2===t.length){var r=t[0],i=t[1];this.on(e.event,r,i)}else if(1===t.length){var o=t[0];this.on(e.event,o)}else if(0===t.length){for(var a=0;a<this.length;a++){var s=this[a],l=!e.ableField||s._private[e.ableField],c=s._private[e.field]!=e.value;if(e.overrideAble){var u=e.overrideAble(s);if(void 0!==u&&(l=u,!u))return this}l&&(s._private[e.field]=e.value,c&&n.push(s))}var d=this.spawn(n);d.updateStyle(),d.emit(e.event)}return this}}function o(e){r[e.field]=function(){var t=this[0];if(t){if(e.overrideField){var n=e.overrideField(t);if(void 0!==n)return n}return t._private[e.field]}},r[e.on]=i({event:e.on,field:e.field,ableField:e.ableField,overrideAble:e.overrideAble,value:!0}),r[e.off]=i({event:e.off,field:e.field,ableField:e.ableField,overrideAble:e.overrideAble,value:!1})}o({field:"locked",overrideField:function(e){return!!e.cy().autolock()||void 0},on:"lock",off:"unlock"}),o({field:"grabbable",overrideField:function(e){return!e.cy().autoungrabify()&&void 0},on:"grabify",off:"ungrabify"}),o({field:"selected",ableField:"selectable",overrideAble:function(e){return!e.cy().autounselectify()&&void 0},on:"select",off:"unselect"}),o({field:"selectable",overrideField:function(e){return!e.cy().autounselectify()&&void 0},on:"selectify",off:"unselectify"}),r.deselect=r.unselect,r.grabbed=function(){var e=this[0];if(e)return e._private.grabbed},o({field:"active",on:"activate",off:"unactivate"}),r.inactive=function(){var e=this[0];if(e)return!e._private.active},e.exports=r},function(e,t,n){"use strict";var r=n(1),i=n(0),o={},a=function(e,t){return function(n,r,o,a){var s=n,l=void 0;if(null==s?l="null":i.elementOrCollection(s)&&1===s.length&&(l="#"+s.id()),1===this.length&&l){var c=this[0]._private,u=c.traversalCache=c.traversalCache||{},d=u[t]=u[t]||{},p=d[l];return p||(d[l]=e.call(this,n,r,o,a))}return e.call(this,n,r,o,a)}},s=function(e){return function(t){for(var n=[],r=0;r<this.length;r++){var i=this[r];if(i.isNode()){for(var o=!1,a=i.connectedEdges(),s=0;s<a.length;s++){var l=a[s],c=l.source(),u=l.target();if(e.noIncomingEdges&&u===i&&c!==i||e.noOutgoingEdges&&c===i&&u!==i){o=!0;break}}o||n.push(i)}}return this.spawn(n,{unique:!0}).filter(t)}},l=function(e){return function(t){for(var n=[],r=0;r<this.length;r++){var i=this[r];if(i.isNode())for(var o=i.connectedEdges(),a=0;a<o.length;a++){var s=o[a],l=s.source(),c=s.target();e.outgoing&&l===i?(n.push(s),n.push(c)):e.incoming&&c===i&&(n.push(s),n.push(l))}}return this.spawn(n,{unique:!0}).filter(t)}},c=function(e){return function(t){for(var n=this,r=[],i={};;){var o=e.outgoing?n.outgoers():n.incomers();if(0===o.length)break;for(var a=!1,s=0;s<o.length;s++){var l=o[s],c=l.id();i[c]||(i[c]=!0,r.push(l),a=!0)}if(!a)break;n=o}return this.spawn(r,{unique:!0}).filter(t)}};function u(e){return function(t){for(var n=[],r=0;r<this.length;r++){var i=this[r]._private[e.attr];i&&n.push(i)}return this.spawn(n,{unique:!0}).filter(t)}}function d(e){return function(t){var n=[],r=this._private.cy,o=e||{};i.string(t)&&(t=r.$(t));for(var a=0;a<t.length;a++)for(var s=t[a]._private.edges,l=0;l<s.length;l++){var c=s[l],u=c._private.data,d=this.hasElementWithId(u.source)&&t.hasElementWithId(u.target),p=t.hasElementWithId(u.source)&&this.hasElementWithId(u.target);if(d||p){if(o.thisIsSrc||o.thisIsTgt){if(o.thisIsSrc&&!d)continue;if(o.thisIsTgt&&!p)continue}n.push(c)}}return this.spawn(n,{unique:!0})}}function p(e){return e=r.extend({},{codirected:!1},e),function(t){for(var n=[],r=this.edges(),i=e,o=0;o<r.length;o++)for(var a=r[o]._private,s=a.source,l=s._private.data.id,c=a.data.target,u=s._private.edges,d=0;d<u.length;d++){var p=u[d],f=p._private.data,h=f.target,g=f.source,m=h===c&&g===l,v=l===h&&c===g;(i.codirected&&m||!i.codirected&&(m||v))&&n.push(p)}return this.spawn(n,{unique:!0}).filter(t)}}o.clearTraversalCache=function(){for(var e=0;e<this.length;e++)this[e]._private.traversalCache=null},r.extend(o,{roots:s({noIncomingEdges:!0}),leaves:s({noOutgoingEdges:!0}),outgoers:a(l({outgoing:!0}),"outgoers"),successors:c({outgoing:!0}),incomers:a(l({incoming:!0}),"incomers"),predecessors:c({incoming:!0})}),r.extend(o,{neighborhood:a((function(e){for(var t=[],n=this.nodes(),r=0;r<n.length;r++)for(var i=n[r],o=i.connectedEdges(),a=0;a<o.length;a++){var s=o[a],l=s.source(),c=s.target(),u=i===l?c:l;u.length>0&&t.push(u[0]),t.push(s[0])}return this.spawn(t,{unique:!0}).filter(e)}),"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}}),o.neighbourhood=o.neighborhood,o.closedNeighbourhood=o.closedNeighborhood,o.openNeighbourhood=o.openNeighborhood,r.extend(o,{source:a((function(e){var t=this[0],n=void 0;return t&&(n=t._private.source||t.cy().collection()),n&&e?n.filter(e):n}),"source"),target:a((function(e){var t=this[0],n=void 0;return t&&(n=t._private.target||t.cy().collection()),n&&e?n.filter(e):n}),"target"),sources:u({attr:"source"}),targets:u({attr:"target"})}),r.extend(o,{edgesWith:a(d(),"edgesWith"),edgesTo:a(d({thisIsSrc:!0}),"edgesTo")}),r.extend(o,{connectedEdges:a((function(e){for(var t=[],n=0;n<this.length;n++){var r=this[n];if(r.isNode())for(var i=r._private.edges,o=0;o<i.length;o++){var a=i[o];t.push(a)}}return this.spawn(t,{unique:!0}).filter(e)}),"connectedEdges"),connectedNodes:a((function(e){for(var t=[],n=0;n<this.length;n++){var r=this[n];r.isEdge()&&(t.push(r.source()[0]),t.push(r.target()[0]))}return this.spawn(t,{unique:!0}).filter(e)}),"connectedNodes"),parallelEdges:a(p(),"parallelEdges"),codirectedEdges:a(p({codirected:!0}),"codirectedEdges")}),r.extend(o,{components:function(){var e=this,t=e.cy(),n=e.spawn(),r=e.nodes().spawnSelf(),i=[],o=function(e,t){n.merge(e),r.unmerge(e),t.merge(e)};if(r.empty())return e.spawn();var a=function(){var n=t.collection();i.push(n);var a=r[0];o(a,n),e.bfs({directed:!1,roots:a,visit:function(e,t,r,i,a){o(e,n)}})};do{a()}while(r.length>0);return i.map((function(e){var t=e.connectedEdges().stdFilter((function(t){return e.anySame(t.source())&&e.anySame(t.target())}));return e.union(t)}))}}),e.exports=o},function(e,t,n){"use strict";var r=n(0),i=n(1),o=n(7),a=n(14),s={add:function(e){var t=void 0,n=this;if(r.elementOrCollection(e)){var s=e;if(s._private.cy===n)t=s.restore();else{for(var l=[],c=0;c<s.length;c++){var u=s[c];l.push(u.json())}t=new o(n,l)}}else if(r.array(e))t=new o(n,e);else if(r.plainObject(e)&&(r.array(e.nodes)||r.array(e.edges))){for(var d=e,p=[],f=["nodes","edges"],h=0,g=f.length;h<g;h++){var m=f[h],v=d[m];if(r.array(v))for(var b=0,y=v.length;b<y;b++){var x=i.extend({group:m},v[b]);p.push(x)}}t=new o(n,p)}else t=new a(n,e).collection();return t},remove:function(e){if(r.elementOrCollection(e));else if(r.string(e)){var t=e;e=this.$(t)}return e.remove()}};e.exports=s},function(e,t,n){"use strict";var r=n(4),i=n(1),o=n(71),a={animate:r.animate(),animation:r.animation(),animated:r.animated(),clearQueue:r.clearQueue(),delay:r.delay(),delayAnimation:r.delayAnimation(),stop:r.stop(),addToAnimationPool:function(e){this.styleEnabled()&&this._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,e.styleEnabled()){var t=e.renderer();t&&t.beforeRender?t.beforeRender((function(t,n){o(n,e)}),t.beforeRenderPriorities.animations):function t(){e._private.animationsRunning&&i.requestAnimationFrame((function(n){o(n,e),t()}))}()}}};e.exports=a},function(e,t,n){"use strict";var r=n(72),i=n(77);e.exports=function(e,t){var n=t._private.aniEles,o=[];function a(t,n){var a=t._private,s=a.animation.current,l=a.animation.queue,c=!1;if(!n&&"none"===t.pstyle("display").value){s=s.splice(0,s.length).concat(l.splice(0,l.length));for(var u=0;u<s.length;u++)s[u].stop()}if(0===s.length){var d=l.shift();d&&s.push(d)}for(var p=function(e){for(var t=e.length-1;t>=0;t--)(0,e[t])();e.splice(0,e.length)},f=s.length-1;f>=0;f--){var h=s[f],g=h._private;g.stopped?(s.splice(f,1),g.hooked=!1,g.playing=!1,g.started=!1,p(g.frames)):(g.playing||g.applying)&&(g.playing&&g.applying&&(g.applying=!1),g.started||i(t,h,e,n),r(t,h,e,n),g.applying&&(g.applying=!1),p(g.frames),h.completed()&&(s.splice(f,1),g.hooked=!1,g.playing=!1,g.started=!1,p(g.completes)),c=!0)}return n||0!==s.length||0!==l.length||o.push(t),c}for(var s=!1,l=0;l<n.length;l++){var c=a(n[l]);s=s||c}var u=a(t,!0);(s||u)&&(n.length>0?(n.dirtyCompoundBoundsCache(),t.notify({type:"draw",eles:n})):t.notify({type:"draw"})),n.unmerge(o),t.emit("step")}},function(e,t,n){"use strict";var r=n(73),i=n(76),o=n(0);function a(e,t){return!!(null!=e&&null!=t&&(o.number(e)&&o.number(t)||e&&t))}e.exports=function(e,t,n,s){var l=!s,c=e._private,u=t._private,d=u.easing,p=u.startTime,f=(s?e:e.cy()).style();if(!u.easingImpl)if(null==d)u.easingImpl=r.linear;else{var h=void 0;h=o.string(d)?f.parse("transition-timing-function",d).value:d;var g=void 0,m=void 0;o.string(h)?(g=h,m=[]):(g=h[1],m=h.slice(2).map((function(e){return+e}))),m.length>0?("spring"===g&&m.push(u.duration),u.easingImpl=r[g].apply(null,m)):u.easingImpl=r[g]}var v=u.easingImpl,b=void 0;if(b=0===u.duration?1:(n-p)/u.duration,u.applying&&(b=u.progress),b<0?b=0:b>1&&(b=1),null==u.delay){var y=u.startPosition,x=u.position;if(x&&l&&!e.locked()){var w=e.position();a(y.x,x.x)&&(w.x=i(y.x,x.x,b,v)),a(y.y,x.y)&&(w.y=i(y.y,x.y,b,v)),e.emit("position")}var k=u.startPan,A=u.pan,E=c.pan,S=null!=A&&s;S&&(a(k.x,A.x)&&(E.x=i(k.x,A.x,b,v)),a(k.y,A.y)&&(E.y=i(k.y,A.y,b,v)),e.emit("pan"));var $=u.startZoom,C=u.zoom,_=null!=C&&s;_&&(a($,C)&&(c.zoom=i($,C,b,v)),e.emit("zoom")),(S||_)&&e.emit("viewport");var O=u.style;if(O&&O.length>0&&l){for(var T=0;T<O.length;T++){var j=O[T],P=j.name,D=j,R=u.startStyle[P],I=f.properties[R.name],N=i(R,D,b,v,I);f.overrideBypass(e,P,N)}e.emit("style")}}return u.progress=b,b}},function(e,t,n){"use strict";var r=n(74),i=n(75),o=function(e,t,n,i){var o=r(e,t,n,i);return function(e,t,n){return e+(t-e)*o(n)}},a={linear:function(e,t,n){return e+(t-e)*n},ease:o(.25,.1,.25,1),"ease-in":o(.42,0,1,1),"ease-out":o(0,0,.58,1),"ease-in-out":o(.42,0,.58,1),"ease-in-sine":o(.47,0,.745,.715),"ease-out-sine":o(.39,.575,.565,1),"ease-in-out-sine":o(.445,.05,.55,.95),"ease-in-quad":o(.55,.085,.68,.53),"ease-out-quad":o(.25,.46,.45,.94),"ease-in-out-quad":o(.455,.03,.515,.955),"ease-in-cubic":o(.55,.055,.675,.19),"ease-out-cubic":o(.215,.61,.355,1),"ease-in-out-cubic":o(.645,.045,.355,1),"ease-in-quart":o(.895,.03,.685,.22),"ease-out-quart":o(.165,.84,.44,1),"ease-in-out-quart":o(.77,0,.175,1),"ease-in-quint":o(.755,.05,.855,.06),"ease-out-quint":o(.23,1,.32,1),"ease-in-out-quint":o(.86,0,.07,1),"ease-in-expo":o(.95,.05,.795,.035),"ease-out-expo":o(.19,1,.22,1),"ease-in-out-expo":o(1,0,0,1),"ease-in-circ":o(.6,.04,.98,.335),"ease-out-circ":o(.075,.82,.165,1),"ease-in-out-circ":o(.785,.135,.15,.86),spring:function(e,t,n){if(0===n)return a.linear;var r=i(e,t,n);return function(e,t,n){return e+(t-e)*r(n)}},"cubic-bezier":o};e.exports=a},function(e,t,n){"use strict"; /*! Bezier curve function generator. Copyright Gaetan Renaudeau. MIT License: http://en.wikipedia.org/wiki/MIT_License */e.exports=function(e,t,n,r){var i=4,o=.001,a=1e-7,s=10,l=11,c=1/(l-1),u="undefined"!=typeof Float32Array;if(4!==arguments.length)return!1;for(var d=0;d<4;++d)if("number"!=typeof arguments[d]||isNaN(arguments[d])||!isFinite(arguments[d]))return!1;e=Math.min(e,1),n=Math.min(n,1),e=Math.max(e,0),n=Math.max(n,0);var p=u?new Float32Array(l):new Array(l);function f(e,t){return 1-3*t+3*e}function h(e,t){return 3*t-6*e}function g(e){return 3*e}function m(e,t,n){return((f(t,n)*e+h(t,n))*e+g(t))*e}function v(e,t,n){return 3*f(t,n)*e*e+2*h(t,n)*e+g(t)}function b(t,r){for(var o=0;o<i;++o){var a=v(r,e,n);if(0===a)return r;r-=(m(r,e,n)-t)/a}return r}function y(){for(var t=0;t<l;++t)p[t]=m(t*c,e,n)}function x(t,r,i){var o=void 0,l=void 0,c=0;do{(o=m(l=r+(i-r)/2,e,n)-t)>0?i=l:r=l}while(Math.abs(o)>a&&++c<s);return l}function w(t){for(var r=0,i=1,a=l-1;i!==a&&p[i]<=t;++i)r+=c;--i;var s=r+(t-p[i])/(p[i+1]-p[i])*c,u=v(s,e,n);return u>=o?b(t,s):0===u?s:x(t,r,r+c)}var k=!1;function A(){k=!0,e===t&&n===r||y()}var E=function(i){return k||A(),e===t&&n===r?i:0===i?0:1===i?1:m(w(i),t,r)};E.getControlPoints=function(){return[{x:e,y:t},{x:n,y:r}]};var S="generateBezier("+[e,t,n,r]+")";return E.toString=function(){return S},E}},function(e,t,n){"use strict"; -/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var r=function(){function e(e){return-e.tension*e.x-e.friction*e.v}function t(t,n,r){var i={x:t.x+r.dx*n,v:t.v+r.dv*n,tension:t.tension,friction:t.friction};return{dx:i.v,dv:e(i)}}function n(n,r){var i={dx:n.v,dv:e(n)},o=t(n,.5*r,i),a=t(n,.5*r,o),s=t(n,r,a),l=1/6*(i.dx+2*(o.dx+a.dx)+s.dx),c=1/6*(i.dv+2*(o.dv+a.dv)+s.dv);return n.x=n.x+l*r,n.v=n.v+c*r,n}return function e(t,r,i){var o,a={x:-1,v:0,tension:null,friction:null},s=[0],l=0,c=void 0,u=void 0;for(t=parseFloat(t)||500,r=parseFloat(r)||20,i=i||null,a.tension=t,a.friction=r,c=(o=null!==i)?(l=e(t,r))/i*.016:.016;u=n(u||a,c),s.push(1+u.x),l+=16,Math.abs(u.x)>1e-4&&Math.abs(u.v)>1e-4;);return o?function(e){return s[e*(s.length-1)|0]}:l}}();e.exports=r},function(e,t,n){"use strict";var r=n(0);function i(e,t,n,r,i){if(1===r)return n;var o=i(t,n,r);return null==e||((e.roundValue||e.color)&&(o=Math.round(o)),void 0!==e.min&&(o=Math.max(o,e.min)),void 0!==e.max&&(o=Math.min(o,e.max))),o}function o(e,t){return null!=e.pfValue||null!=e.value?null==e.pfValue||null!=t&&"%"===t.type.units?e.value:e.pfValue:e}e.exports=function(e,t,n,a,s){var l=null!=s?s.type:null;n<0?n=0:n>1&&(n=1);var c=o(e,s),u=o(t,s);if(r.number(c)&&r.number(u))return i(l,c,u,n,a);if(r.array(c)&&r.array(u)){for(var d=[],p=0;p<u.length;p++){var f=c[p],h=u[p];if(null!=f&&null!=h){var g=i(l,f,h,n,a);d.push(g)}else d.push(h)}return d}}},function(e,t,n){"use strict";e.exports=function(e,t,n,r){var i=!r,o=e,a=t._private,s=r?e:e.cy(),l=s.style();if(i){var c=o.position();a.startPosition=a.startPosition||{x:c.x,y:c.y},a.startStyle=a.startStyle||l.getAnimationStartStyle(o,a.style)}if(r){var u=s._private.pan;a.startPan=a.startPan||{x:u.x,y:u.y},a.startZoom=null!=a.startZoom?a.startZoom:s._private.zoom}a.started=!0,a.startTime=n-a.progress*a.duration}},function(e,t,n){"use strict";var r=n(11),i=n(4),o=n(0),a=n(1),s=n(6),l={qualifierCompare:function(e,t){return null==e||null==t?null==e&&null==t:e.sameText(t)},eventMatches:function(e,t,n){var r=t.qualifier;return null==r||e!==n.target&&o.element(n.target)&&r.matches(n.target)},eventFields:function(e){return{cy:e,target:e}},callbackContext:function(e,t,n){return null!=t.qualifier?n.target:e}},c=function(e){return o.string(e)?new s(e):e},u={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new r(a.assign({context:this},l))),this},emitter:function(){return this._private.emitter},on:function(e,t,n){return this.emitter().on(e,c(t),n),this},removeListener:function(e,t,n){return this.emitter().removeListener(e,c(t),n),this},one:function(e,t,n){return this.emitter().one(e,c(t),n),this},once:function(e,t,n){return this.emitter().one(e,c(t),n),this},emit:function(e,t){return this.emitter().emit(e,t),this}};i.eventAliasesOn(u),e.exports=u},function(e,t,n){"use strict";var r={png:function(e){return e=e||{},this._private.renderer.png(e)},jpg:function(e){var t=this._private.renderer;return(e=e||{}).bg=e.bg||"#fff",t.jpg(e)}};r.jpeg=r.jpg,e.exports=r},function(e,t,n){"use strict";var r=n(1),i=n(0),o={layout:function(e){if(null!=e)if(null!=e.name){var t=e.name,n=this.extension("layout",t);if(null!=n){var o=void 0;o=i.string(e.eles)?this.$(e.eles):null!=e.eles?e.eles:this.$();var a=new n(r.extend({},e,{cy:this,eles:o}));return a}r.error("Can not apply layout: No such layout `"+t+"` found; did you include its JS file?")}else r.error("A `name` must be specified to make a layout");else r.error("Layout options must be specified to make a layout")}};o.createLayout=o.makeLayout=o.layout,e.exports=o},function(e,t,n){"use strict";var r={notify:function(e){var t=this._private;if(t.batchingNotify){var n=t.batchNotifyEles,r=t.batchNotifyTypes;return e.eles&&n.merge(e.eles),void(r.ids[e.type]||(r.push(e.type),r.ids[e.type]=!0))}if(t.notificationsEnabled){var i=this.renderer();!this.isDestroyed()&&i&&i.notify(e)}},notifications:function(e){var t=this._private;if(void 0===e)return t.notificationsEnabled;t.notificationsEnabled=!!e},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return null==e.batchCount&&(e.batchCount=0),0===e.batchCount&&(e.batchingStyle=e.batchingNotify=!0,e.batchStyleEles=this.collection(),e.batchNotifyEles=this.collection(),e.batchNotifyTypes=[],e.batchNotifyTypes.ids={}),e.batchCount++,this},endBatch:function(){var e=this._private;return e.batchCount--,0===e.batchCount&&(e.batchingStyle=!1,e.batchStyleEles.updateStyle(),e.batchingNotify=!1,this.notify({type:e.batchNotifyTypes,eles:e.batchNotifyEles})),this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var t=this;return this.batch((function(){for(var n=Object.keys(e),r=0;r<n.length;r++){var i=n[r],o=e[i];t.getElementById(i).data(o)}}))}};e.exports=r},function(e,t,n){"use strict";var r=n(1),i={renderTo:function(e,t,n,r){return this._private.renderer.renderTo(e,t,n,r),this},renderer:function(){return this._private.renderer},forceRender:function(){return this.notify({type:"draw"}),this},resize:function(){return this.invalidateSize(),this.notify({type:"resize"}),this.emit("resize"),this},initRenderer:function(e){var t=this.extension("renderer",e.name);null!=t?(this._private.renderer=new t(r.extend({},e,{cy:this})),this.notify({type:"init"})):r.error("Can not initialise: No such renderer `%s` found; did you include its JS file?",e.name)},destroyRenderer:function(){this.notify({type:"destroy"});var e=this.container();if(e)for(e._cyreg=null;e.childNodes.length>0;)e.removeChild(e.childNodes[0]);this._private.renderer=null},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};i.invalidateDimensions=i.resize,e.exports=i},function(e,t,n){"use strict";var r=n(0),i=n(7),o={collection:function(e,t){return r.string(e)?this.$(e):r.elementOrCollection(e)?e.collection():r.array(e)?new i(this,e,t):new i(this)},nodes:function(e){var t=this.$((function(e){return e.isNode()}));return e?t.filter(e):t},edges:function(e){var t=this.$((function(e){return e.isEdge()}));return e?t.filter(e):t},$:function(e){var t=this._private.elements;return e?t.filter(e):t.spawnSelf()},mutableElements:function(){return this._private.elements}};o.elements=o.filter=o.$,e.exports=o},function(e,t,n){"use strict";var r=n(0),i=n(18),o={style:function(e){return e&&this.setStyle(e).update(),this._private.style},setStyle:function(e){var t=this._private;return r.stylesheet(e)?t.style=e.generateStyle(this):r.array(e)?t.style=i.fromJson(this,e):r.string(e)?t.style=i.fromString(this,e):t.style=i(this),t.style}};e.exports=o},function(e,t,n){"use strict";var r=n(1),i=n(0),o=n(5),a={apply:function(e){var t=this._private,n=t.cy.collection();t.newStyle&&(t.contextStyles={},t.propDiffs={},this.cleanElements(e,!0));for(var r=0;r<e.length;r++){var i=e[r],o=this.getContextMeta(i);if(!o.empty){n.merge(i);var a=this.getContextStyle(o),s=this.applyContextStyle(o,a,i);t.newStyle||this.updateTransitions(i,s.diffProps),this.updateStyleHints(i)}}return t.newStyle=!1,n},getPropertiesDiff:function(e,t){var n=this._private.propDiffs=this._private.propDiffs||{},r=e+"-"+t,i=n[r];if(i)return i;for(var o=[],a={},s=0;s<this.length;s++){var l=this[s],c="t"===e[s]!=("t"===t[s]),u=l.mappedProperties.length>0;if(c||u){var d=void 0;c&&u||c?d=l.properties:u&&(d=l.mappedProperties);for(var p=0;p<d.length;p++){for(var f=d[p],h=f.name,g=!1,m=s+1;m<this.length;m++){var v=this[m];if("t"===t[m]&&(g=null!=v.properties[f.name]))break}a[h]||g||(a[h]=!0,o.push(h))}}}return n[r]=o,o},getContextMeta:function(e){var t,n="",r=e._private.styleCxtKey||"";this._private.newStyle&&(r="");for(var i=0;i<this.length;i++){var o=this[i];n+=o.selector&&o.selector.matches(e)?"t":"f"}return t=this.getPropertiesDiff(r,n),e._private.styleCxtKey=n,{key:n,diffPropNames:t,empty:0===t.length}},getContextStyle:function(e){var t=e.key,n=this._private.contextStyles=this._private.contextStyles||{};if(n[t])return n[t];for(var r={_private:{key:t}},i=0;i<this.length;i++){var o=this[i];if("t"===t[i])for(var a=0;a<o.properties.length;a++){var s=o.properties[a];r[s.name]=s}}return n[t]=r,r},applyContextStyle:function(e,t,n){for(var r=e.diffPropNames,i={},o=0;o<r.length;o++){var a=r[o],s=t[a],l=n.pstyle(a);if(!s){if(!l)continue;s=l.bypass?{name:a,deleteBypassed:!0}:{name:a,delete:!0}}if(l!==s){var c=i[a]={prev:l};this.applyParsedProperty(n,s),c.next=n.pstyle(a),c.next&&c.next.bypass&&(c.next=c.next.bypassed)}}return{diffProps:i}},updateStyleHints:function(e){var t=e._private;if(!e.removed()){var n=!1;if("nodes"===t.group)for(var r=1;r<=this.pieBackgroundN;r++)if(e.pstyle("pie-"+r+"-background-size").value>0){n=!0;break}t.hasPie=n;var i=e.pstyle("text-transform").strValue,o=e.pstyle("label").strValue,a=e.pstyle("source-label").strValue,s=e.pstyle("target-label").strValue,l=e.pstyle("font-style").strValue,c=e.pstyle("font-size").pfValue+"px",u=e.pstyle("font-family").strValue,d=e.pstyle("font-weight").strValue,p=l+"$"+c+"$"+u+"$"+d+"$"+i+"$"+e.pstyle("text-valign").strValue+"$"+e.pstyle("text-valign").strValue+"$"+e.pstyle("text-outline-width").pfValue+"$"+e.pstyle("text-wrap").strValue+"$"+e.pstyle("text-max-width").pfValue;t.labelStyleKey=p,t.sourceLabelKey=p+"$"+a,t.targetLabelKey=p+"$"+s,t.labelKey=p+"$"+o,t.fontKey=l+"$"+d+"$"+c+"$"+u,t.styleKey=Date.now()}},applyParsedProperty:function(e,t){var n=this,o=t,a=e._private.style,s=void 0,l=n.types,c=n.properties[o.name].type,u=o.bypass,d=a[o.name],p=d&&d.bypass,f=e._private,h=function(){n.checkZOrderTrigger(e,o.name,d?d.value:null,o.value)};if("curve-style"===t.name&&"haystack"===t.value&&e.isEdge()&&(e.isLoop()||e.source().isParent()||e.target().isParent())&&(o=t=this.parse(t.name,"bezier",u)),o.delete)return a[o.name]=void 0,h(),!0;if(o.deleteBypassed)return d?!!d.bypass&&(d.bypassed=void 0,h(),!0):(h(),!0);if(o.deleteBypass)return d?!!d.bypass&&(a[o.name]=d.bypassed,h(),!0):(h(),!0);var g=function(){r.error("Do not assign mappings to elements without corresponding data (e.g. ele `"+e.id()+"` for property `"+o.name+"` with data field `"+o.field+"`); try a `["+o.field+"]` selector to limit scope to elements with `"+o.field+"` defined")};switch(o.mapped){case l.mapData:for(var m=o.field.split("."),v=f.data,b=0;b<m.length&&v;b++)v=v[m[b]];var y=void 0;if((y=i.number(v)?(v-o.fieldMin)/(o.fieldMax-o.fieldMin):0)<0?y=0:y>1&&(y=1),c.color){var x=o.valueMin[0],w=o.valueMax[0],k=o.valueMin[1],A=o.valueMax[1],E=o.valueMin[2],S=o.valueMax[2],$=null==o.valueMin[3]?1:o.valueMin[3],C=null==o.valueMax[3]?1:o.valueMax[3],_=[Math.round(x+(w-x)*y),Math.round(k+(A-k)*y),Math.round(E+(S-E)*y),Math.round($+(C-$)*y)];s={bypass:o.bypass,name:o.name,value:_,strValue:"rgb("+_[0]+", "+_[1]+", "+_[2]+")"}}else{if(!c.number)return!1;var O=o.valueMin+(o.valueMax-o.valueMin)*y;s=this.parse(o.name,O,o.bypass,"mapping")}s||(s=this.parse(o.name,d.strValue,o.bypass,"mapping")),s||g(),s.mapping=o,o=s;break;case l.data:var T=o.field.split("."),j=f.data;if(j)for(var P=0;P<T.length;P++)j=j[T[P]];if(!(s=this.parse(o.name,j,o.bypass,"mapping"))){var D=d?d.strValue:"";s=this.parse(o.name,D,o.bypass,"mapping")}s||g(),s.mapping=o,o=s;break;case l.fn:var R=(0,o.value)(e);(s=this.parse(o.name,R,o.bypass,"mapping")).mapping=o,o=s;break;case void 0:break;default:return!1}return u?(o.bypassed=p?d.bypassed:d,a[o.name]=o):p?d.bypassed=o:a[o.name]=o,h(),!0},cleanElements:function(e,t){for(var n=this.properties,r=0;r<e.length;r++){var i=e[r];if(t)for(var o=i._private.style,a=0;a<n.length;a++){var s=n[a],l=o[s.name];l&&(l.bypass?l.bypassed=null:o[s.name]=null)}else i._private.style={}}},update:function(){this._private.cy.mutableElements().updateStyle()},updateMappers:function(e){for(var t=this._private.cy.collection(),n=0;n<e.length;n++){for(var r=e[n],i=r._private.style,o=!1,a=0;a<this.properties.length;a++){var s=i[this.properties[a].name];if(s&&s.mapping){var l=s.mapping;this.applyParsedProperty(r,l),o=!0}}o&&(this.updateStyleHints(r),t.merge(r))}return t},updateTransitions:function(e,t,n){var r=this,a=e._private,s=e.pstyle("transition-property").value,l=e.pstyle("transition-duration").pfValue,c=e.pstyle("transition-delay").pfValue;if(s.length>0&&l>0){for(var u={},d=!1,p=0;p<s.length;p++){var f=s[p],h=e.pstyle(f),g=t[f];if(g){var m=g.prev,v=null!=g.next?g.next:h,b=!1,y=void 0;m&&(i.number(m.pfValue)&&i.number(v.pfValue)?(b=v.pfValue-m.pfValue,y=m.pfValue+1e-6*b):i.number(m.value)&&i.number(v.value)?(b=v.value-m.value,y=m.value+1e-6*b):i.array(m.value)&&i.array(v.value)&&(b=m.value[0]!==v.value[0]||m.value[1]!==v.value[1]||m.value[2]!==v.value[2],y=m.strValue),b&&(u[f]=v.strValue,this.applyBypass(e,f,y),d=!0))}}if(!d)return;a.transitioning=!0,new o((function(t){c>0?e.delayAnimation(c).play().promise().then(t):t()})).then((function(){return e.animation({style:u,duration:l,easing:e.pstyle("transition-timing-function").value,queue:!1}).play().promise()})).then((function(){r.removeBypasses(e,s),e.emitAndNotify("style"),a.transitioning=!1}))}else a.transitioning&&(this.removeBypasses(e,s),e.emitAndNotify("style"),a.transitioning=!1)},checkZOrderTrigger:function(e,t,n,r){var i=this.properties[t];null==i.triggersZOrder||null!=n&&!i.triggersZOrder(n,r)||this._private.cy.notify({type:"zorder",eles:e})}};e.exports=a},function(e,t,n){"use strict";var r=n(0),i=n(1),o={applyBypass:function(e,t,n,o){var a=[];if("*"===t||"**"===t){if(void 0!==n)for(var s=0;s<this.properties.length;s++){var l=this.properties[s].name,c=this.parse(l,n,!0);c&&a.push(c)}}else if(r.string(t)){var u=this.parse(t,n,!0);u&&a.push(u)}else{if(!r.plainObject(t))return!1;var d=t;o=n;for(var p=Object.keys(d),f=0;f<p.length;f++){var h=p[f],g=(this.properties[h],d[h]);if(void 0===g&&(g=d[i.dash2camel(h)]),void 0!==g){var m=this.parse(h,g,!0);m&&a.push(m)}}}if(0===a.length)return!1;for(var v=!1,b=0;b<e.length;b++){for(var y=e[b],x={},w=void 0,k=0;k<a.length;k++){var A=a[k];if(o){var E=y.pstyle(A.name);w=x[A.name]={prev:E}}v=this.applyParsedProperty(y,A)||v,o&&(w.next=y.pstyle(A.name))}v&&this.updateStyleHints(y),o&&this.updateTransitions(y,x,!0)}return v},overrideBypass:function(e,t,n){t=i.camel2dash(t);for(var r=0;r<e.length;r++){var o=e[r],a=o._private.style[t],s=this.properties[t].type,l=s.color,c=s.mutiple;if(a&&a.bypass){var u=null!=a.pfValue?a.pfValue:a.value;a.value=n,null!=a.pfValue&&(a.pfValue=n),a.strValue=l?"rgb("+n.join(",")+")":c?n.join(" "):""+n,this.checkZOrderTrigger(o,t,u,n)}else this.applyBypass(o,t,n)}},removeAllBypasses:function(e,t){return this.removeBypasses(e,this.propertyNames,t)},removeBypasses:function(e,t,n){for(var r=0;r<e.length;r++){for(var i=e[r],o={},a=0;a<t.length;a++){var s=t[a],l=this.properties[s],c=i.pstyle(l.name);if(c&&c.bypass){var u=this.parse(s,"",!0),d=o[l.name]={prev:c};this.applyParsedProperty(i,u),d.next=i.pstyle(l.name)}}this.updateStyleHints(i),n&&this.updateTransitions(i,o,!0)}}};e.exports=o},function(e,t,n){"use strict";var r=n(3),i={getEmSizeInPixels:function(){var e=this.containerCss("font-size");return null!=e?parseFloat(e):1},containerCss:function(e){var t=this._private.cy.container();if(r&&t&&r.getComputedStyle)return r.getComputedStyle(t).getPropertyValue(e)}};e.exports=i},function(e,t,n){"use strict";var r=n(1),i=n(0),o={getRenderedStyle:function(e,t){return t?this.getStylePropertyValue(e,t,!0):this.getRawStyle(e,!0)},getRawStyle:function(e,t){if(e=e[0]){for(var n={},i=0;i<this.properties.length;i++){var o=this.properties[i],a=this.getStylePropertyValue(e,o.name,t);null!=a&&(n[o.name]=a,n[r.dash2camel(o.name)]=a)}return n}},getIndexedStyle:function(e,t,n,r){var i=e.pstyle(t)[n][r];return null!=i?i:e.cy().style().getDefaultProperty(t)[n][0]},getStylePropertyValue:function(e,t,n){if(e=e[0]){var r=this.properties[t];r.alias&&(r=r.pointsTo);var i=r.type,o=e.pstyle(r.name),a=e.cy().zoom();if(o){var s=o.units?i.implicitUnits||"px":null;return s?[].concat(o.pfValue).map((function(e){return e*(n?a:1)+s})).join(" "):o.strValue}}},getAnimationStartStyle:function(e,t){for(var n={},r=0;r<t.length;r++){var o=t[r].name,a=e.pstyle(o);void 0!==a&&(a=i.plainObject(a)?this.parse(o,a.strValue):this.parse(o,a)),a&&(n[o]=a)}return n},getPropsList:function(e){var t=[],n=e,i=this.properties;if(n)for(var o=Object.keys(n),a=0;a<o.length;a++){var s=o[a],l=n[s],c=i[s]||i[r.camel2dash(s)],u=this.parse(c.name,l);u&&t.push(u)}return t}};e.exports=o},function(e,t,n){"use strict";var r={appendFromJson:function(e){for(var t=0;t<e.length;t++){var n=e[t],r=n.selector,i=n.style||n.css,o=Object.keys(i);this.selector(r);for(var a=0;a<o.length;a++){var s=o[a],l=i[s];this.css(s,l)}}return this},fromJson:function(e){return this.resetToDefault(),this.appendFromJson(e),this},json:function(){for(var e=[],t=this.defaultLength;t<this.length;t++){for(var n=this[t],r=n.selector,i=n.properties,o={},a=0;a<i.length;a++){var s=i[a];o[s.name]=s.strValue}e.push({selector:r?r.toString():"core",style:o})}return e}};e.exports=r},function(e,t,n){"use strict";var r=n(1),i=n(6),o={appendFromString:function(e){var t=""+e,n=void 0,o=void 0,a=void 0;function s(){t=t.length>n.length?t.substr(n.length):""}function l(){o=o.length>a.length?o.substr(a.length):""}for(t=t.replace(/[/][*](\s|.)+?[*][/]/g,"");!t.match(/^\s*$/);){var c=t.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!c){r.error("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+t);break}n=c[0];var u=c[1];if("core"!==u&&new i(u)._private.invalid)r.error("Skipping parsing of block: Invalid selector found in string stylesheet: "+u),s();else{var d=c[2],p=!1;o=d;for(var f=[];!o.match(/^\s*$/);){var h=o.match(/^\s*(.+?)\s*:\s*(.+?)\s*;/);if(!h){r.error("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+d),p=!0;break}a=h[0];var g=h[1],m=h[2];this.properties[g]?this.parse(g,m)?(f.push({name:g,val:m}),l()):(r.error("Skipping property: Invalid property definition in: "+a),l()):(r.error("Skipping property: Invalid property name in: "+a),l())}if(p){s();break}this.selector(u);for(var v=0;v<f.length;v++){var b=f[v];this.css(b.name,b.val)}s()}}return this},fromString:function(e){return this.resetToDefault(),this.appendFromString(e),this}};e.exports=o},function(e,t,n){"use strict";var r=n(1),i=n(0),o={};!function(){var e=r.regex.number,t=r.regex.rgbaNoBackRefs,n=r.regex.hslaNoBackRefs,a=r.regex.hex3,s=r.regex.hex6,l=function(e){return"^"+e+"\\s*\\(\\s*([\\w\\.]+)\\s*\\)$"},c=function(r){var i=e+"|\\w+|"+t+"|"+n+"|"+a+"|"+s;return"^"+r+"\\s*\\(([\\w\\.]+)\\s*\\,\\s*("+e+")\\s*\\,\\s*("+e+")\\s*,\\s*("+i+")\\s*\\,\\s*("+i+")\\)$"},u=["^url\\s*\\(\\s*['\"]?(.+?)['\"]?\\s*\\)$","^(none)$","^(.+)$"];o.types={time:{number:!0,min:0,units:"s|ms",implicitUnits:"ms"},percent:{number:!0,min:0,max:100,units:"%",implicitUnits:"%"},zeroOneNumber:{number:!0,min:0,max:1,unitless:!0},zeroOneNumbers:{number:!0,min:0,max:1,unitless:!0,multiple:!0},nOneOneNumber:{number:!0,min:-1,max:1,unitless:!0},nonNegativeInt:{number:!0,min:0,integer:!0,unitless:!0},position:{enums:["parent","origin"]},nodeSize:{number:!0,min:0,enums:["label"]},number:{number:!0,unitless:!0},numbers:{number:!0,unitless:!0,multiple:!0},positiveNumber:{number:!0,unitless:!0,min:0,strictMin:!0},size:{number:!0,min:0},bidirectionalSize:{number:!0},bidirectionalSizes:{number:!0,multiple:!0},sizeMaybePercent:{number:!0,min:0,allowPercent:!0},paddingRelativeTo:{enums:["width","height","average","min","max"]},bgWH:{number:!0,min:0,allowPercent:!0,enums:["auto"],multiple:!0},bgPos:{number:!0,allowPercent:!0,multiple:!0},bgRelativeTo:{enums:["inner","include-padding"],multiple:!0},bgRepeat:{enums:["repeat","repeat-x","repeat-y","no-repeat"],multiple:!0},bgFit:{enums:["none","contain","cover"],multiple:!0},bgCrossOrigin:{enums:["anonymous","use-credentials"],multiple:!0},bgClip:{enums:["none","node"]},color:{color:!0},bool:{enums:["yes","no"]},lineStyle:{enums:["solid","dotted","dashed"]},borderStyle:{enums:["solid","dotted","dashed","double"]},curveStyle:{enums:["bezier","unbundled-bezier","haystack","segments"]},fontFamily:{regex:'^([\\w- \\"]+(?:\\s*,\\s*[\\w- \\"]+)*)$'},fontletiant:{enums:["small-caps","normal"]},fontStyle:{enums:["italic","normal","oblique"]},fontWeight:{enums:["normal","bold","bolder","lighter","100","200","300","400","500","600","800","900",100,200,300,400,500,600,700,800,900]},textDecoration:{enums:["none","underline","overline","line-through"]},textTransform:{enums:["none","uppercase","lowercase"]},textWrap:{enums:["none","wrap","ellipsis"]},textBackgroundShape:{enums:["rectangle","roundrectangle"]},nodeShape:{enums:["rectangle","roundrectangle","cutrectangle","bottomroundrectangle","barrel","ellipse","triangle","square","pentagon","hexagon","concavehexagon","heptagon","octagon","tag","star","diamond","vee","rhomboid","polygon"]},compoundIncludeLabels:{enums:["include","exclude"]},arrowShape:{enums:["tee","triangle","triangle-tee","triangle-cross","triangle-backcurve","half-triangle-overshot","vee","square","circle","diamond","none"]},arrowFill:{enums:["filled","hollow"]},display:{enums:["element","none"]},visibility:{enums:["hidden","visible"]},zCompoundDepth:{enums:["bottom","orphan","auto","top"]},zIndexCompare:{enums:["auto","manual"]},valign:{enums:["top","center","bottom"]},halign:{enums:["left","center","right"]},text:{string:!0},data:{mapping:!0,regex:l("data")},layoutData:{mapping:!0,regex:l("layoutData")},scratch:{mapping:!0,regex:l("scratch")},mapData:{mapping:!0,regex:c("mapData")},mapLayoutData:{mapping:!0,regex:c("mapLayoutData")},mapScratch:{mapping:!0,regex:c("mapScratch")},fn:{mapping:!0,fn:!0},url:{regexes:u,singleRegexMatchValue:!0},urls:{regexes:u,singleRegexMatchValue:!0,multiple:!0},propList:{propList:!0},angle:{number:!0,units:"deg|rad",implicitUnits:"rad"},textRotation:{number:!0,units:"deg|rad",implicitUnits:"rad",enums:["none","autorotate"]},polygonPointList:{number:!0,multiple:!0,evenMultiple:!0,min:-1,max:1,unitless:!0},edgeDistances:{enums:["intersection","node-position"]},edgeEndpoint:{number:!0,multiple:!0,units:"%|px|em|deg|rad",implicitUnits:"px",enums:["inside-to-node","outside-to-node","outside-to-line"],singleEnum:!0,validate:function(e,t){switch(e.length){case 2:return"deg"!==t[0]&&"rad"!==t[0]&&"deg"!==t[1]&&"rad"!==t[1];case 1:return i.string(e[0])||"deg"===t[0]||"rad"===t[0];default:return!1}}},easing:{regexes:["^(spring)\\s*\\(\\s*("+e+")\\s*,\\s*("+e+")\\s*\\)$","^(cubic-bezier)\\s*\\(\\s*("+e+")\\s*,\\s*("+e+")\\s*,\\s*("+e+")\\s*,\\s*("+e+")\\s*\\)$"],enums:["linear","ease","ease-in","ease-out","ease-in-out","ease-in-sine","ease-out-sine","ease-in-out-sine","ease-in-quad","ease-out-quad","ease-in-out-quad","ease-in-cubic","ease-out-cubic","ease-in-out-cubic","ease-in-quart","ease-out-quart","ease-in-out-quart","ease-in-quint","ease-out-quint","ease-in-out-quint","ease-in-expo","ease-out-expo","ease-in-out-expo","ease-in-circ","ease-out-circ","ease-in-out-circ"]}};var d={zeroNonZero:function(e,t){return 0===e&&0!==t||0!==e&&0===t},anyDiff:function(e,t){return e!==t}},p=o.types,f=o.properties=[{name:"label",type:p.text},{name:"text-rotation",type:p.textRotation},{name:"text-margin-x",type:p.bidirectionalSize},{name:"text-margin-y",type:p.bidirectionalSize},{name:"source-label",type:p.text},{name:"source-text-rotation",type:p.textRotation},{name:"source-text-margin-x",type:p.bidirectionalSize},{name:"source-text-margin-y",type:p.bidirectionalSize},{name:"source-text-offset",type:p.size},{name:"target-label",type:p.text},{name:"target-text-rotation",type:p.textRotation},{name:"target-text-margin-x",type:p.bidirectionalSize},{name:"target-text-margin-y",type:p.bidirectionalSize},{name:"target-text-offset",type:p.size},{name:"text-valign",type:p.valign},{name:"text-halign",type:p.halign},{name:"color",type:p.color},{name:"text-outline-color",type:p.color},{name:"text-outline-width",type:p.size},{name:"text-outline-opacity",type:p.zeroOneNumber},{name:"text-opacity",type:p.zeroOneNumber},{name:"text-background-color",type:p.color},{name:"text-background-opacity",type:p.zeroOneNumber},{name:"text-background-padding",type:p.size},{name:"text-border-opacity",type:p.zeroOneNumber},{name:"text-border-color",type:p.color},{name:"text-border-width",type:p.size},{name:"text-border-style",type:p.borderStyle},{name:"text-background-shape",type:p.textBackgroundShape},{name:"text-transform",type:p.textTransform},{name:"text-wrap",type:p.textWrap},{name:"text-max-width",type:p.size},{name:"text-events",type:p.bool},{name:"font-family",type:p.fontFamily},{name:"font-style",type:p.fontStyle},{name:"font-weight",type:p.fontWeight},{name:"font-size",type:p.size},{name:"min-zoomed-font-size",type:p.size},{name:"events",type:p.bool},{name:"display",type:p.display,triggersZOrder:d.anyDiff},{name:"visibility",type:p.visibility,triggersZOrder:d.anyDiff},{name:"opacity",type:p.zeroOneNumber,triggersZOrder:d.zeroNonZero},{name:"z-compound-depth",type:p.zCompoundDepth,triggersZOrder:d.anyDiff},{name:"z-index-compare",type:p.zIndexCompare,triggersZOrder:d.anyDiff},{name:"z-index",type:p.nonNegativeInt,triggersZOrder:d.anyDiff},{name:"overlay-padding",type:p.size},{name:"overlay-color",type:p.color},{name:"overlay-opacity",type:p.zeroOneNumber},{name:"transition-property",type:p.propList},{name:"transition-duration",type:p.time},{name:"transition-delay",type:p.time},{name:"transition-timing-function",type:p.easing},{name:"height",type:p.nodeSize},{name:"width",type:p.nodeSize},{name:"shape",type:p.nodeShape},{name:"shape-polygon-points",type:p.polygonPointList},{name:"background-color",type:p.color},{name:"background-opacity",type:p.zeroOneNumber},{name:"background-blacken",type:p.nOneOneNumber},{name:"padding",type:p.sizeMaybePercent},{name:"padding-relative-to",type:p.paddingRelativeTo},{name:"border-color",type:p.color},{name:"border-opacity",type:p.zeroOneNumber},{name:"border-width",type:p.size},{name:"border-style",type:p.borderStyle},{name:"background-image",type:p.urls},{name:"background-image-crossorigin",type:p.bgCrossOrigin},{name:"background-image-opacity",type:p.zeroOneNumbers},{name:"background-position-x",type:p.bgPos},{name:"background-position-y",type:p.bgPos},{name:"background-width-relative-to",type:p.bgRelativeTo},{name:"background-height-relative-to",type:p.bgRelativeTo},{name:"background-repeat",type:p.bgRepeat},{name:"background-fit",type:p.bgFit},{name:"background-clip",type:p.bgClip},{name:"background-width",type:p.bgWH},{name:"background-height",type:p.bgWH},{name:"position",type:p.position},{name:"compound-sizing-wrt-labels",type:p.compoundIncludeLabels},{name:"min-width",type:p.size},{name:"min-width-bias-left",type:p.sizeMaybePercent},{name:"min-width-bias-right",type:p.sizeMaybePercent},{name:"min-height",type:p.size},{name:"min-height-bias-top",type:p.sizeMaybePercent},{name:"min-height-bias-bottom",type:p.sizeMaybePercent},{name:"line-style",type:p.lineStyle},{name:"line-color",type:p.color},{name:"curve-style",type:p.curveStyle},{name:"haystack-radius",type:p.zeroOneNumber},{name:"source-endpoint",type:p.edgeEndpoint},{name:"target-endpoint",type:p.edgeEndpoint},{name:"control-point-step-size",type:p.size},{name:"control-point-distances",type:p.bidirectionalSizes},{name:"control-point-weights",type:p.numbers},{name:"segment-distances",type:p.bidirectionalSizes},{name:"segment-weights",type:p.numbers},{name:"edge-distances",type:p.edgeDistances},{name:"arrow-scale",type:p.positiveNumber},{name:"loop-direction",type:p.angle},{name:"loop-sweep",type:p.angle},{name:"source-distance-from-node",type:p.size},{name:"target-distance-from-node",type:p.size},{name:"ghost",type:p.bool},{name:"ghost-offset-x",type:p.bidirectionalSize},{name:"ghost-offset-y",type:p.bidirectionalSize},{name:"ghost-opacity",type:p.zeroOneNumber},{name:"selection-box-color",type:p.color},{name:"selection-box-opacity",type:p.zeroOneNumber},{name:"selection-box-border-color",type:p.color},{name:"selection-box-border-width",type:p.size},{name:"active-bg-color",type:p.color},{name:"active-bg-opacity",type:p.zeroOneNumber},{name:"active-bg-size",type:p.size},{name:"outside-texture-bg-color",type:p.color},{name:"outside-texture-bg-opacity",type:p.zeroOneNumber}],h=o.aliases=[{name:"content",pointsTo:"label"},{name:"control-point-distance",pointsTo:"control-point-distances"},{name:"control-point-weight",pointsTo:"control-point-weights"},{name:"edge-text-rotation",pointsTo:"text-rotation"},{name:"padding-left",pointsTo:"padding"},{name:"padding-right",pointsTo:"padding"},{name:"padding-top",pointsTo:"padding"},{name:"padding-bottom",pointsTo:"padding"}];o.pieBackgroundN=16,f.push({name:"pie-size",type:p.sizeMaybePercent});for(var g=1;g<=o.pieBackgroundN;g++)f.push({name:"pie-"+g+"-background-color",type:p.color}),f.push({name:"pie-"+g+"-background-size",type:p.percent}),f.push({name:"pie-"+g+"-background-opacity",type:p.zeroOneNumber});var m=o.arrowPrefixes=["source","mid-source","target","mid-target"];[{name:"arrow-shape",type:p.arrowShape},{name:"arrow-color",type:p.color},{name:"arrow-fill",type:p.arrowFill}].forEach((function(e){m.forEach((function(t){var n=t+"-"+e.name,r=e.type;f.push({name:n,type:r})}))}),{}),o.propertyNames=f.map((function(e){return e.name}));for(var v=0;v<f.length;v++){var b=f[v];f[b.name]=b}for(var y=0;y<h.length;y++){var x=h[y],w=f[x.pointsTo],k={name:x.name,alias:!0,pointsTo:w};f.push(k),f[x.name]=k}}(),o.getDefaultProperty=function(e){return this.getDefaultProperties()[e]},o.getDefaultProperties=r.memoize((function(){for(var e=r.extend({events:"yes","text-events":"no","text-valign":"top","text-halign":"center",color:"#000","text-outline-color":"#000","text-outline-width":0,"text-outline-opacity":1,"text-opacity":1,"text-decoration":"none","text-transform":"none","text-wrap":"none","text-max-width":9999,"text-background-color":"#000","text-background-opacity":0,"text-background-shape":"rectangle","text-background-padding":0,"text-border-opacity":0,"text-border-width":0,"text-border-style":"solid","text-border-color":"#000","font-family":"Helvetica Neue, Helvetica, sans-serif","font-style":"normal","font-weight":"normal","font-size":16,"min-zoomed-font-size":0,"text-rotation":"none","source-text-rotation":"none","target-text-rotation":"none",visibility:"visible",display:"element",opacity:1,"z-compound-depth":"auto","z-index-compare":"auto","z-index":0,label:"","text-margin-x":0,"text-margin-y":0,"source-label":"","source-text-offset":0,"source-text-margin-x":0,"source-text-margin-y":0,"target-label":"","target-text-offset":0,"target-text-margin-x":0,"target-text-margin-y":0,"overlay-opacity":0,"overlay-color":"#000","overlay-padding":10,"transition-property":"none","transition-duration":0,"transition-delay":0,"transition-timing-function":"linear","background-blacken":0,"background-color":"#999","background-opacity":1,"background-image":"none","background-image-crossorigin":"anonymous","background-image-opacity":1,"background-position-x":"50%","background-position-y":"50%","background-width-relative-to":"include-padding","background-height-relative-to":"include-padding","background-repeat":"no-repeat","background-fit":"none","background-clip":"node","background-width":"auto","background-height":"auto","border-color":"#000","border-opacity":1,"border-width":0,"border-style":"solid",height:30,width:30,shape:"ellipse","shape-polygon-points":"-1, -1, 1, -1, 1, 1, -1, 1",ghost:"no","ghost-offset-y":0,"ghost-offset-x":0,"ghost-opacity":0,padding:0,"padding-relative-to":"width",position:"origin","compound-sizing-wrt-labels":"include","min-width":0,"min-width-bias-left":0,"min-width-bias-right":0,"min-height":0,"min-height-bias-top":0,"min-height-bias-bottom":0},{"pie-size":"100%"},[{name:"pie-{{i}}-background-color",value:"black"},{name:"pie-{{i}}-background-size",value:"0%"},{name:"pie-{{i}}-background-opacity",value:1}].reduce((function(e,t){for(var n=1;n<=o.pieBackgroundN;n++){var r=t.name.replace("{{i}}",n),i=t.value;e[r]=i}return e}),{}),{"line-style":"solid","line-color":"#999","control-point-step-size":40,"control-point-weights":.5,"segment-weights":.5,"segment-distances":20,"edge-distances":"intersection","curve-style":"bezier","haystack-radius":0,"arrow-scale":1,"loop-direction":"-45deg","loop-sweep":"-90deg","source-distance-from-node":0,"target-distance-from-node":0,"source-endpoint":"outside-to-node","target-endpoint":"outside-to-node"},[{name:"arrow-shape",value:"none"},{name:"arrow-color",value:"#999"},{name:"arrow-fill",value:"filled"}].reduce((function(e,t){return o.arrowPrefixes.forEach((function(n){var r=n+"-"+t.name,i=t.value;e[r]=i})),e}),{})),t={},n=0;n<this.properties.length;n++){var i=this.properties[n];if(!i.pointsTo){var a=i.name,s=e[a],l=this.parse(a,s);t[a]=l}}return t})),o.addDefaultStylesheet=function(){this.selector("$node > node").css({shape:"rectangle",padding:10,"background-color":"#eee","border-color":"#ccc","border-width":1}).selector("edge").css({width:3,"curve-style":"haystack"}).selector(":parent <-> node").css({"curve-style":"bezier","source-endpoint":"outside-to-line","target-endpoint":"outside-to-line"}).selector(":selected").css({"background-color":"#0169D9","line-color":"#0169D9","source-arrow-color":"#0169D9","target-arrow-color":"#0169D9","mid-source-arrow-color":"#0169D9","mid-target-arrow-color":"#0169D9"}).selector("node:parent:selected").css({"background-color":"#CCE1F9","border-color":"#aec8e5"}).selector(":active").css({"overlay-color":"black","overlay-padding":10,"overlay-opacity":.25}).selector("core").css({"selection-box-color":"#ddd","selection-box-opacity":.65,"selection-box-border-color":"#aaa","selection-box-border-width":1,"active-bg-color":"black","active-bg-opacity":.15,"active-bg-size":30,"outside-texture-bg-color":"#000","outside-texture-bg-opacity":.125}),this.defaultLength=this.length},e.exports=o},function(e,t,n){"use strict";var r=n(1),i=n(0),o=n(2),a={parse:function(e,t,n,o){if(i.fn(t))return this.parseImplWarn(e,t,n,o);var a=[e,t,n,"mapping"===o||!0===o||!1===o||null==o?"dontcare":o].join("$"),s=this.propCache=this.propCache||{},l=void 0;return(l=s[a])||(l=s[a]=this.parseImplWarn(e,t,n,o)),(n||"mapping"===o)&&(l=r.copy(l))&&(l.value=r.copy(l.value)),l},parseImplWarn:function(e,t,n,i){var o=this.parseImpl(e,t,n,i);return o||null==t||r.error("The style property `%s: %s` is invalid",e,t),o},parseImpl:function(e,t,n,a){e=r.camel2dash(e);var s=this.properties[e],l=t,c=this.types;if(!s)return null;if(void 0===t)return null;s.alias&&(s=s.pointsTo,e=s.name);var u=i.string(t);u&&(t=t.trim());var d=s.type;if(!d)return null;if(n&&(""===t||null===t))return{name:e,value:t,bypass:!0,deleteBypass:!0};if(i.fn(t))return{name:e,value:t,strValue:"fn",mapped:c.fn,bypass:n};var p=void 0,f=void 0;if(!u||a);else{if(p=new RegExp(c.data.regex).exec(t)){if(n)return!1;var h=c.data;return{name:e,value:p,strValue:""+t,mapped:h,field:p[1],bypass:n}}if(f=new RegExp(c.mapData.regex).exec(t)){if(n)return!1;if(d.multiple)return!1;var g=c.mapData;if(!d.color&&!d.number)return!1;var m=this.parse(e,f[4]);if(!m||m.mapped)return!1;var v=this.parse(e,f[5]);if(!v||v.mapped)return!1;if(m.value===v.value)return!1;if(d.color){var b=m.value,y=v.value;if(!(b[0]!==y[0]||b[1]!==y[1]||b[2]!==y[2]||b[3]!==y[3]&&(null!=b[3]&&1!==b[3]||null!=y[3]&&1!==y[3])))return!1}return{name:e,value:f,strValue:""+t,mapped:g,field:f[1],fieldMin:parseFloat(f[2]),fieldMax:parseFloat(f[3]),valueMin:m.value,valueMax:v.value,bypass:n}}}if(d.multiple&&"multiple"!==a){var x=void 0;if(x=u?t.split(/\s+/):i.array(t)?t:[t],d.evenMultiple&&x.length%2!=0)return null;for(var w=[],k=[],A=[],E=!1,S=0;S<x.length;S++){var $=this.parse(e,x[S],n,"multiple");E=E||i.string($.value),w.push($.value),A.push(null!=$.pfValue?$.pfValue:$.value),k.push($.units)}return d.validate&&!d.validate(w,k)?null:d.singleEnum&&E?1===w.length&&i.string(w[0])?{name:e,value:w[0],strValue:w[0],bypass:n}:null:{name:e,value:w,pfValue:A,strValue:w.map((function(e,t){return e+(k[t]||"")})).join(" "),bypass:n,units:k}}var C=function(){for(var r=0;r<d.enums.length;r++)if(d.enums[r]===t)return{name:e,value:t,strValue:""+t,bypass:n};return null};if(d.number){var _=void 0,O="px";if(d.units&&(_=d.units),d.implicitUnits&&(O=d.implicitUnits),!d.unitless)if(u){var T="px|em"+(d.allowPercent?"|\\%":"");_&&(T=_);var j=t.match("^("+r.regex.number+")("+T+")?$");j&&(t=j[1],_=j[2]||O)}else _&&!d.implicitUnits||(_=O);if(t=parseFloat(t),isNaN(t)&&void 0===d.enums)return null;if(isNaN(t)&&void 0!==d.enums)return t=l,C();if(d.integer&&!i.integer(t))return null;if(void 0!==d.min&&(t<d.min||d.strictMin&&t===d.min)||void 0!==d.max&&(t>d.max||d.strictMax&&t===d.max))return null;var P={name:e,value:t,strValue:""+t+(_||""),units:_,bypass:n};return d.unitless||"px"!==_&&"em"!==_?P.pfValue=t:P.pfValue="px"!==_&&_?this.getEmSizeInPixels()*t:t,"ms"!==_&&"s"!==_||(P.pfValue="ms"===_?t:1e3*t),"deg"!==_&&"rad"!==_||(P.pfValue="rad"===_?t:o.deg2rad(t)),"%"===_&&(P.pfValue=t/100),P}if(d.propList){var D=[],R=""+t;if("none"===R);else{for(var I=R.split(","),N=0;N<I.length;N++){var M=I[N].trim();this.properties[M]&&D.push(M)}if(0===D.length)return null}return{name:e,value:D,strValue:0===D.length?"none":D.join(", "),bypass:n}}if(d.color){var z=r.color2tuple(t);return z?{name:e,value:z,pfValue:z,strValue:""+t,bypass:n}:null}if(d.regex||d.regexes){if(d.enums){var L=C();if(L)return L}for(var B=d.regexes?d.regexes:[d.regex],F=0;F<B.length;F++){var q=new RegExp(B[F]).exec(t);if(q)return{name:e,value:d.singleRegexMatchValue?q[1]:q,strValue:""+t,bypass:n}}return null}return d.string?{name:e,value:""+t,strValue:""+t,bypass:n}:d.enums?C():null}};e.exports=a},function(e,t,n){"use strict";var r=n(0),i=n(3),o=n(2),a={autolock:function(e){return void 0===e?this._private.autolock:(this._private.autolock=!!e,this)},autoungrabify:function(e){return void 0===e?this._private.autoungrabify:(this._private.autoungrabify=!!e,this)},autounselectify:function(e){return void 0===e?this._private.autounselectify:(this._private.autounselectify=!!e,this)},panningEnabled:function(e){return void 0===e?this._private.panningEnabled:(this._private.panningEnabled=!!e,this)},userPanningEnabled:function(e){return void 0===e?this._private.userPanningEnabled:(this._private.userPanningEnabled=!!e,this)},zoomingEnabled:function(e){return void 0===e?this._private.zoomingEnabled:(this._private.zoomingEnabled=!!e,this)},userZoomingEnabled:function(e){return void 0===e?this._private.userZoomingEnabled:(this._private.userZoomingEnabled=!!e,this)},boxSelectionEnabled:function(e){return void 0===e?this._private.boxSelectionEnabled:(this._private.boxSelectionEnabled=!!e,this)},pan:function(){var e=arguments,t=this._private.pan,n=void 0,i=void 0,o=void 0,a=void 0,s=void 0;switch(e.length){case 0:return t;case 1:if(r.string(e[0]))return t[n=e[0]];if(r.plainObject(e[0])){if(!this._private.panningEnabled)return this;a=(o=e[0]).x,s=o.y,r.number(a)&&(t.x=a),r.number(s)&&(t.y=s),this.emit("pan viewport")}break;case 2:if(!this._private.panningEnabled)return this;n=e[0],i=e[1],"x"!==n&&"y"!==n||!r.number(i)||(t[n]=i),this.emit("pan viewport")}return this.notify({type:"viewport"}),this},panBy:function(e,t){var n=arguments,i=this._private.pan,o=void 0,a=void 0,s=void 0,l=void 0,c=void 0;if(!this._private.panningEnabled)return this;switch(n.length){case 1:r.plainObject(e)&&(l=(s=n[0]).x,c=s.y,r.number(l)&&(i.x+=l),r.number(c)&&(i.y+=c),this.emit("pan viewport"));break;case 2:a=t,"x"!==(o=e)&&"y"!==o||!r.number(a)||(i[o]+=a),this.emit("pan viewport")}return this.notify({type:"viewport"}),this},fit:function(e,t){var n=this.getFitViewport(e,t);if(n){var r=this._private;r.zoom=n.zoom,r.pan=n.pan,this.emit("pan zoom viewport"),this.notify({type:"viewport"})}return this},getFitViewport:function(e,t){if(r.number(e)&&void 0===t&&(t=e,e=void 0),this._private.panningEnabled&&this._private.zoomingEnabled){var n=void 0;if(r.string(e)){var i=e;e=this.$(i)}else if(r.boundingBox(e)){var o=e;(n={x1:o.x1,y1:o.y1,x2:o.x2,y2:o.y2}).w=n.x2-n.x1,n.h=n.y2-n.y1}else r.elementOrCollection(e)||(e=this.mutableElements());if(!r.elementOrCollection(e)||!e.empty()){n=n||e.boundingBox();var a=this.width(),s=this.height(),l=void 0;if(t=r.number(t)?t:0,!isNaN(a)&&!isNaN(s)&&a>0&&s>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0)return{zoom:l=(l=(l=Math.min((a-2*t)/n.w,(s-2*t)/n.h))>this._private.maxZoom?this._private.maxZoom:l)<this._private.minZoom?this._private.minZoom:l,pan:{x:(a-l*(n.x1+n.x2))/2,y:(s-l*(n.y1+n.y2))/2}}}}},minZoom:function(e){return void 0===e?this._private.minZoom:(r.number(e)&&(this._private.minZoom=e),this)},maxZoom:function(e){return void 0===e?this._private.maxZoom:(r.number(e)&&(this._private.maxZoom=e),this)},getZoomedViewport:function(e){var t=this._private,n=t.pan,i=t.zoom,a=void 0,s=void 0,l=!1;if(t.zoomingEnabled||(l=!0),r.number(e)?s=e:r.plainObject(e)&&(s=e.level,null!=e.position?a=o.modelToRenderedPosition(e.position,i,n):null!=e.renderedPosition&&(a=e.renderedPosition),null==a||t.panningEnabled||(l=!0)),s=(s=s>t.maxZoom?t.maxZoom:s)<t.minZoom?t.minZoom:s,l||!r.number(s)||s===i||null!=a&&(!r.number(a.x)||!r.number(a.y)))return null;if(null!=a){var c=n,u=i,d=s;return{zoomed:!0,panned:!0,zoom:d,pan:{x:-d/u*(a.x-c.x)+a.x,y:-d/u*(a.y-c.y)+a.y}}}return{zoomed:!0,panned:!1,zoom:s,pan:n}},zoom:function(e){if(void 0===e)return this._private.zoom;var t=this.getZoomedViewport(e),n=this._private;return null!=t&&t.zoomed?(n.zoom=t.zoom,t.panned&&(n.pan.x=t.pan.x,n.pan.y=t.pan.y),this.emit("zoom"+(t.panned?" pan":"")+" viewport"),this.notify({type:"viewport"}),this):this},viewport:function(e){var t=this._private,n=!0,i=!0,o=[],a=!1,s=!1;if(!e)return this;if(r.number(e.zoom)||(n=!1),r.plainObject(e.pan)||(i=!1),!n&&!i)return this;if(n){var l=e.zoom;l<t.minZoom||l>t.maxZoom||!t.zoomingEnabled?a=!0:(t.zoom=l,o.push("zoom"))}if(i&&(!a||!e.cancelOnFailedZoom)&&t.panningEnabled){var c=e.pan;r.number(c.x)&&(t.pan.x=c.x,s=!1),r.number(c.y)&&(t.pan.y=c.y,s=!1),s||o.push("pan")}return o.length>0&&(o.push("viewport"),this.emit(o.join(" ")),this.notify({type:"viewport"})),this},center:function(e){var t=this.getCenterPan(e);return t&&(this._private.pan=t,this.emit("pan viewport"),this.notify({type:"viewport"})),this},getCenterPan:function(e,t){if(this._private.panningEnabled){if(r.string(e)){var n=e;e=this.mutableElements().filter(n)}else r.elementOrCollection(e)||(e=this.mutableElements());if(0!==e.length){var i=e.boundingBox(),o=this.width(),a=this.height();return{x:(o-(t=void 0===t?this._private.zoom:t)*(i.x1+i.x2))/2,y:(a-t*(i.y1+i.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled?(this.viewport({pan:{x:0,y:0},zoom:1}),this):this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e,t,n=this._private,r=n.container;return n.sizeCache=n.sizeCache||(r?(e=i.getComputedStyle(r),t=function(t){return parseFloat(e.getPropertyValue(t))},{width:r.clientWidth-t("padding-left")-t("padding-right"),height:r.clientHeight-t("padding-top")-t("padding-bottom")}):{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,t=this._private.zoom,n=this.renderedExtent(),r={x1:(n.x1-e.x)/t,x2:(n.x2-e.x)/t,y1:(n.y1-e.y)/t,y2:(n.y2-e.y)/t};return r.w=r.x2-r.x1,r.h=r.y2-r.y1,r},renderedExtent:function(){var e=this.width(),t=this.height();return{x1:0,y1:0,x2:e,y2:t,w:e,h:t}}};a.centre=a.center,a.autolockNodes=a.autolock,a.autoungrabifyNodes=a.autoungrabify,e.exports=a},function(e,t,n){"use strict";var r=n(1),i=n(4),o=n(7),a=n(12),s=n(95),l=n(0),c=n(11),u={},d={};function p(e,t,n){var s=n,d=function(n){r.error("Can not register `"+t+"` for `"+e+"` since `"+n+"` already exists in the prototype and can not be overridden")};if("core"===e){if(a.prototype[t])return d(t);a.prototype[t]=n}else if("collection"===e){if(o.prototype[t])return d(t);o.prototype[t]=n}else if("layout"===e){for(var p=function(e){this.options=e,n.call(this,e),l.plainObject(this._private)||(this._private={}),this._private.cy=e.cy,this._private.listeners=[],this.createEmitter()},h=p.prototype=Object.create(n.prototype),g=[],m=0;m<g.length;m++){var v=g[m];h[v]=h[v]||function(){return this}}h.start&&!h.run?h.run=function(){return this.start(),this}:!h.start&&h.run&&(h.start=function(){return this.run(),this});var b=n.prototype.stop;h.stop=function(){var e=this.options;if(e&&e.animate){var t=this.animations;if(t)for(var n=0;n<t.length;n++)t[n].stop()}return b?b.call(this):this.emit("layoutstop"),this},h.destroy||(h.destroy=function(){return this}),h.cy=function(){return this._private.cy};var y=function(e){return e._private.cy};r.assign(h,{createEmitter:function(){return this._private.emitter=new c({eventFields:function(e){return{layout:e,cy:y(e),target:e}},bubble:function(){return!0},parent:function(e){return y(e)},context:this}),this},emitter:function(){return this._private.emitter},on:function(e,t){return this.emitter().on(e,t),this},one:function(e,t){return this.emitter().one(e,t),this},once:function(e,t){return this.emitter().one(e,t),this},removeListener:function(e,t){return this.emitter().removeListener(e,t),this},emit:function(e,t){return this.emitter().emit(e,t),this}}),i.eventAliasesOn(h),s=p}else if("renderer"===e&&"null"!==t&&"base"!==t){var x=f("renderer","base"),w=x.prototype,k=n,A=n.prototype,E=function(){x.apply(this,arguments),k.apply(this,arguments)},S=E.prototype;for(var $ in w){var C=w[$];if(null!=A[$])return d($);S[$]=C}for(var _ in A)S[_]=A[_];w.clientFunctions.forEach((function(e){S[e]=S[e]||function(){r.error("Renderer does not implement `renderer."+e+"()` on its prototype")}})),s=E}return r.setMap({map:u,keys:[e,t],value:s})}function f(e,t){return r.getMap({map:u,keys:[e,t]})}function h(e,t,n,i,o){return r.setMap({map:d,keys:[e,t,n,i],value:o})}function g(e,t,n,i){return r.getMap({map:d,keys:[e,t,n,i]})}var m=function(){return 2===arguments.length?f.apply(null,arguments):3===arguments.length?p.apply(null,arguments):4===arguments.length?g.apply(null,arguments):5===arguments.length?h.apply(null,arguments):void r.error("Invalid extension access syntax")};a.prototype.extension=m,s.forEach((function(e){e.extensions.forEach((function(t){p(e.type,t.name,t.impl)}))})),e.exports=m},function(e,t,n){"use strict";e.exports=[{type:"layout",extensions:n(96)},{type:"renderer",extensions:n(105)}]},function(e,t,n){"use strict";e.exports=[{name:"breadthfirst",impl:n(97)},{name:"circle",impl:n(98)},{name:"concentric",impl:n(99)},{name:"cose",impl:n(100)},{name:"grid",impl:n(101)},{name:"null",impl:n(102)},{name:"preset",impl:n(103)},{name:"random",impl:n(104)}]},function(e,t,n){"use strict";var r=n(1),i=n(2),o=n(0),a={fit:!0,directed:!1,padding:30,circle:!1,spacingFactor:1.75,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,roots:void 0,maximalAdjustments:0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function s(e){this.options=r.extend({},a,e)}s.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles,a=r.nodes().not(":parent"),s=r,l=i.makeBoundingBox(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),c=void 0;if(o.elementOrCollection(t.roots))c=t.roots;else if(o.array(t.roots)){for(var u=[],d=0;d<t.roots.length;d++){var p=t.roots[d],f=n.getElementById(p);u.push(f)}c=n.collection(u)}else if(o.string(t.roots))c=n.$(t.roots);else if(t.directed)c=a.roots();else{for(var h=[],g=a,m=function(){var e=n.collection();r.bfs({roots:g[0],visit:function(t,n,r,i,o){e=e.add(t)},directed:!1}),g=g.not(e),h.push(e)};g.length>0;)m();c=n.collection();for(var v=function(e){var t=h[e],n=t.maxDegree(!1),r=t.filter((function(e){return e.degree(!1)===n}));c=c.add(r)},b=0;b<h.length;b++)v(b)}var y=[],x={},w={},k={},A={},E={};s.bfs({roots:c,directed:t.directed,visit:function(e,t,n,r,i){var o=e[0],a=o.id();if(y[i]||(y[i]=[]),y[i].push(o),x[a]=!0,w[a]=i,k[a]=n,A[a]=t,n){var s=n.id();(E[s]=E[s]||[]).push(e)}}});for(var S=[],$=0;$<a.length;$++){var C=a[$];x[C.id()]||S.push(C)}for(var _=3*S.length,O=0;0!==S.length&&O<_;){for(var T=S.shift(),j=T.neighborhood().nodes(),P=!1,D=0;D<j.length;D++){var R=w[j[D].id()];if(void 0!==R){y[R].push(T),P=!0;break}}P||S.push(T),O++}for(;0!==S.length;){var I=S.shift();0===y.length&&y.push([]),y[0].push(I)}var N=function(){for(var e=0;e<y.length;e++)for(var t=y[e],n=0;n<t.length;n++){var r=t[n];null!=r?r._private.scratch.breadthfirst={depth:e,index:n}:(t.splice(n,1),n--)}};N();for(var M=function(e){for(var t=e.connectedEdges((function(t){return t.data("target")===e.id()})),n=e._private.scratch.breadthfirst,r=0,i=void 0,o=0;o<t.length;o++){var a=t[o].source()[0],s=a._private.scratch.breadthfirst;n.depth<=s.depth&&r<s.depth&&(r=s.depth,i=a)}return i},z=0;z<t.maximalAdjustments;z++){for(var L=y.length,B=[],F=0;F<L;F++)for(var q=y[F],V=q.length,U=0;U<V;U++){var H=q[U],G=H._private.scratch.breadthfirst,W=M(H);W&&(G.intEle=W,B.push(H))}for(var Y=0;Y<B.length;Y++){var X=B[Y],Z=X._private.scratch.breadthfirst,Q=Z.intEle._private.scratch.breadthfirst;y[Z.depth][Z.index]=null;for(var J=Q.depth+1;J>y.length-1;)y.push([]);y[J].push(X),Z.depth=J,Z.index=y[J].length-1}N()}var K=0;if(t.avoidOverlap)for(var ee=0;ee<a.length;ee++){var te=a[ee].layoutDimensions(t),ne=te.w,re=te.h;K=Math.max(K,ne,re)}for(var ie={},oe=function(e){if(ie[e.id()])return ie[e.id()];for(var t=e._private.scratch.breadthfirst.depth,n=e.neighborhood().nodes().not(":parent").intersection(a),r=0,i=0,o=0;o<n.length;o++){var s=n[o]._private.scratch.breadthfirst,l=s.index,c=s.depth,u=y[c].length;(t>c||0===t)&&(r+=l/u,i++)}return r/=i=Math.max(1,i),0===i&&(r=void 0),ie[e.id()]=r,r},ae=function(e,t){return oe(e)-oe(t)},se=0;se<3;se++){for(var le=0;le<y.length;le++)y[le]=y[le].sort(ae);N()}for(var ce=0,ue=0;ue<y.length;ue++)ce=Math.max(y[ue].length,ce);for(var de=l.x1+l.w/2,pe=l.x1+l.h/2,fe=function(e,n){var r=e._private.scratch.breadthfirst,i=r.depth,o=r.index,a=y[i].length,s=Math.max(l.w/(a+1),K),c=Math.max(l.h/(y.length+1),K),u=Math.min(l.w/2/y.length,l.h/2/y.length);if(u=Math.max(u,K),t.circle){if(t.circle){var d=u*i+u-(y.length>0&&y[0].length<=3?u/2:0),p=2*Math.PI/y[i].length*o;return 0===i&&1===y[0].length&&(d=1),{x:de+d*Math.cos(p),y:pe+d*Math.sin(p)}}return{x:de+(o+1-(a+1)/2)*s,y:(i+1)*c}}var f={x:de+(o+1-(a+1)/2)*s,y:(i+1)*c};return f},he={},ge=y.length-1;ge>=0;ge--)for(var me=y[ge],ve=0;ve<me.length;ve++){var be=me[ve];he[be.id()]=fe(be,y.length)}return a.layoutPositions(this,t,(function(e){return he[e.id()]})),this},e.exports=s},function(e,t,n){"use strict";var r=n(1),i=n(2),o=n(0),a={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function s(e){this.options=r.extend({},a,e)}s.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles,a=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,s=r.nodes().not(":parent");t.sort&&(s=s.sort(t.sort));for(var l=i.makeBoundingBox(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),c=l.x1+l.w/2,u=l.y1+l.h/2,d=(void 0===t.sweep?2*Math.PI-2*Math.PI/s.length:t.sweep)/Math.max(1,s.length-1),p=void 0,f=0,h=0;h<s.length;h++){var g=s[h].layoutDimensions(t),m=g.w,v=g.h;f=Math.max(f,m,v)}if(p=o.number(t.radius)?t.radius:s.length<=1?0:Math.min(l.h,l.w)/2-f,s.length>1&&t.avoidOverlap){f*=1.75;var b=Math.cos(d)-Math.cos(0),y=Math.sin(d)-Math.sin(0),x=Math.sqrt(f*f/(b*b+y*y));p=Math.max(x,p)}return s.layoutPositions(this,t,(function(e,n){var r=t.startAngle+n*d*(a?1:-1),i=p*Math.cos(r),o=p*Math.sin(r);return{x:c+i,y:u+o}})),this},e.exports=s},function(e,t,n){"use strict";var r=n(1),i=n(2),o={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function a(e){this.options=r.extend({},o,e)}a.prototype.run=function(){for(var e=this.options,t=e,n=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,r=e.cy,o=t.eles.nodes().not(":parent"),a=i.makeBoundingBox(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),s=a.x1+a.w/2,l=a.y1+a.h/2,c=[],u=(t.startAngle,0),d=0;d<o.length;d++){var p,f=o[d];p=t.concentric(f),c.push({value:p,node:f}),f._private.scratch.concentric=p}o.updateStyle();for(var h=0;h<o.length;h++){var g=o[h].layoutDimensions(t);u=Math.max(u,g.w,g.h)}c.sort((function(e,t){return t.value-e.value}));for(var m=t.levelWidth(o),v=[[]],b=v[0],y=0;y<c.length;y++){var x=c[y];b.length>0&&Math.abs(b[0].value-x.value)>=m&&(b=[],v.push(b)),b.push(x)}var w=u+t.minNodeSpacing;if(!t.avoidOverlap){var k=v.length>0&&v[0].length>1,A=(Math.min(a.w,a.h)/2-w)/(v.length+k?1:0);w=Math.min(w,A)}for(var E=0,S=0;S<v.length;S++){var $=v[S],C=void 0===t.sweep?2*Math.PI-2*Math.PI/$.length:t.sweep,_=$.dTheta=C/Math.max(1,$.length-1);if($.length>1&&t.avoidOverlap){var O=Math.cos(_)-Math.cos(0),T=Math.sin(_)-Math.sin(0),j=Math.sqrt(w*w/(O*O+T*T));E=Math.max(j,E)}$.r=E,E+=w}if(t.equidistant){for(var P=0,D=0,R=0;R<v.length;R++){var I=v[R].r-D;P=Math.max(P,I)}D=0;for(var N=0;N<v.length;N++){var M=v[N];0===N&&(D=M.r),M.r=D,D+=P}}for(var z={},L=0;L<v.length;L++)for(var B=v[L],F=B.dTheta,q=B.r,V=0;V<B.length;V++){var U=B[V],H=t.startAngle+(n?1:-1)*F*V,G={x:s+q*Math.cos(H),y:l+q*Math.sin(H)};z[U.node.id()]=G}return o.layoutPositions(this,t,(function(e){var t=e.id();return z[t]})),this},e.exports=a},function(e,t,n){"use strict";var r,i=n(1),o=n(2),a=n(0),s=n(5),l={ready:function(){},stop:function(){},animate:!0,animationEasing:void 0,animationDuration:void 0,animateFilter:function(e,t){return!0},animationThreshold:250,refresh:20,fit:!0,padding:30,boundingBox:void 0,nodeDimensionsIncludeLabels:!1,randomize:!1,componentSpacing:40,nodeRepulsion:function(e){return 2048},nodeOverlap:4,idealEdgeLength:function(e){return 32},edgeElasticity:function(e){return 32},nestingFactor:1.2,gravity:1,numIter:1e3,initialTemp:1e3,coolingFactor:.99,minTemp:1,weaver:!1};function c(e){this.options=i.extend({},l,e),this.options.layout=this}c.prototype.run=function(){var e=this.options,t=e.cy,n=this,o=this.thread,l=e.weaver?e.weaver.Thread:null,c={listeners:[],on:function(e,t){return this.listeners.push({event:e,callback:t}),this},trigger:function(e){a.string(e)&&(e={type:e});var t=function(t){t.callback(e)};return this.listeners.filter((function(t){return t.event===e.type})).forEach(t),this},pass:function(e){return this.pass=e,this},run:function(e){var t=this.pass;return new s((function(n){n(e(t))}))},stop:function(){return this},stopped:function(){return!0}};o&&!o.stopped()||(o=this.thread=l?new l:c),n.stopped=!1,!0!==e.animate&&!1!==e.animate||n.emit({type:"layoutstart",layout:n}),r=!0===e.debug;var d=u(t,n,e);r&&f(d),e.randomize&&h(d,t);var p=Date.now(),m=!1,v=function(n){n=n||{},m&&!n.next||!n.force&&Date.now()-p<e.animationThreshold||(m=!0,i.requestAnimationFrame((function(){g(d,t,e),!0===e.fit&&t.fit(e.padding),m=!1,n.next&&n.next()})))};o.on("message",(function(e){var t=e.message;d.layoutNodes=t,v()})),o.pass({layoutInfo:d,options:{animate:e.animate,refresh:e.refresh,componentSpacing:e.componentSpacing,nodeOverlap:e.nodeOverlap,nestingFactor:e.nestingFactor,gravity:e.gravity,numIter:e.numIter,initialTemp:e.initialTemp,coolingFactor:e.coolingFactor,minTemp:e.minTemp}}).run((function(e){var t,n,r=e.layoutInfo,i=e.options,o=function(e,t){for(var n=0;n<e.graphSet.length;n++)for(var r=e.graphSet[n],i=r.length,o=0;o<i;o++)for(var a=e.layoutNodes[e.idToIndex[r[o]]],l=o+1;l<i;l++){var c=e.layoutNodes[e.idToIndex[r[l]]];s(a,c,e,t)}},a=function(e){return-e+2*e*Math.random()},s=function(e,t,n,r){if(e.cmptId===t.cmptId||n.isCompound){var i=t.positionX-e.positionX,o=t.positionY-e.positionY;0===i&&0===o&&(i=a(1),o=a(1));var s=l(e,t,i,o);if(s>0)var c=(p=r.nodeOverlap*s)*i/(b=Math.sqrt(i*i+o*o)),d=p*o/b;else{var p,f=u(e,i,o),h=u(t,-1*i,-1*o),g=h.x-f.x,m=h.y-f.y,v=g*g+m*m,b=Math.sqrt(v);c=(p=(e.nodeRepulsion+t.nodeRepulsion)/v)*g/b,d=p*m/b}e.isLocked||(e.offsetX-=c,e.offsetY-=d),t.isLocked||(t.offsetX+=c,t.offsetY+=d)}},l=function(e,t,n,r){if(n>0)var i=e.maxX-t.minX;else i=t.maxX-e.minX;if(r>0)var o=e.maxY-t.minY;else o=t.maxY-e.minY;return i>=0&&o>=0?Math.sqrt(i*i+o*o):0},u=function(e,t,n){var r=e.positionX,i=e.positionY,o=e.height||1,a=e.width||1,s=n/t,l=o/a,c={};return 0===t&&0<n||0===t&&0>n?(c.x=r,c.y=i+o/2,c):0<t&&-1*l<=s&&s<=l?(c.x=r+a/2,c.y=i+a*n/2/t,c):0>t&&-1*l<=s&&s<=l?(c.x=r-a/2,c.y=i-a*n/2/t,c):0<n&&(s<=-1*l||s>=l)?(c.x=r+o*t/2/n,c.y=i+o/2,c):0>n&&(s<=-1*l||s>=l)?(c.x=r-o*t/2/n,c.y=i-o/2,c):c},d=function(e,t){for(var n=0;n<e.edgeSize;n++){var r=e.layoutEdges[n],i=e.idToIndex[r.sourceId],o=e.layoutNodes[i],a=e.idToIndex[r.targetId],s=e.layoutNodes[a],l=s.positionX-o.positionX,c=s.positionY-o.positionY;if(0!==l||0!==c){var d=u(o,l,c),p=u(s,-1*l,-1*c),f=p.x-d.x,h=p.y-d.y,g=Math.sqrt(f*f+h*h),m=Math.pow(r.idealLength-g,2)/r.elasticity;if(0!==g)var v=m*f/g,b=m*h/g;else v=0,b=0;o.isLocked||(o.offsetX+=v,o.offsetY+=b),s.isLocked||(s.offsetX-=v,s.offsetY-=b)}}},p=function(e,t){for(var n=0;n<e.graphSet.length;n++){var r=e.graphSet[n],i=r.length;if(0===n)var o=e.clientHeight/2,a=e.clientWidth/2;else{var s=e.layoutNodes[e.idToIndex[r[0]]],l=e.layoutNodes[e.idToIndex[s.parentId]];o=l.positionX,a=l.positionY}for(var c=0;c<i;c++){var u=e.layoutNodes[e.idToIndex[r[c]]];if(!u.isLocked){var d=o-u.positionX,p=a-u.positionY,f=Math.sqrt(d*d+p*p);if(f>1){var h=t.gravity*d/f,g=t.gravity*p/f;u.offsetX+=h,u.offsetY+=g}}}}},f=function(e,t){var n=[],r=0,i=-1;for(n.push.apply(n,e.graphSet[0]),i+=e.graphSet[0].length;r<=i;){var o=n[r++],a=e.idToIndex[o],s=e.layoutNodes[a],l=s.children;if(0<l.length&&!s.isLocked){for(var c=s.offsetX,u=s.offsetY,d=0;d<l.length;d++){var p=e.layoutNodes[e.idToIndex[l[d]]];p.offsetX+=c,p.offsetY+=u,n[++i]=l[d]}s.offsetX=0,s.offsetY=0}}},h=function(e,t){for(var n=0;n<e.nodeSize;n++)0<(i=e.layoutNodes[n]).children.length&&(i.maxX=void 0,i.minX=void 0,i.maxY=void 0,i.minY=void 0);for(n=0;n<e.nodeSize;n++)if(!(0<(i=e.layoutNodes[n]).children.length||i.isLocked)){var r=g(i.offsetX,i.offsetY,e.temperature);i.positionX+=r.x,i.positionY+=r.y,i.offsetX=0,i.offsetY=0,i.minX=i.positionX-i.width,i.maxX=i.positionX+i.width,i.minY=i.positionY-i.height,i.maxY=i.positionY+i.height,m(i,e)}for(n=0;n<e.nodeSize;n++){var i;0<(i=e.layoutNodes[n]).children.length&&!i.isLocked&&(i.positionX=(i.maxX+i.minX)/2,i.positionY=(i.maxY+i.minY)/2,i.width=i.maxX-i.minX,i.height=i.maxY-i.minY)}},g=function(e,t,n){var r=Math.sqrt(e*e+t*t);if(r>n)var i={x:n*e/r,y:n*t/r};else i={x:e,y:t};return i},m=function e(t,n){var r=t.parentId;if(null!=r){var i=n.layoutNodes[n.idToIndex[r]],o=!1;return(null==i.maxX||t.maxX+i.padRight>i.maxX)&&(i.maxX=t.maxX+i.padRight,o=!0),(null==i.minX||t.minX-i.padLeft<i.minX)&&(i.minX=t.minX-i.padLeft,o=!0),(null==i.maxY||t.maxY+i.padBottom>i.maxY)&&(i.maxY=t.maxY+i.padBottom,o=!0),(null==i.minY||t.minY-i.padTop<i.minY)&&(i.minY=t.minY-i.padTop,o=!0),o?e(i,n):void 0}},v=function(e){return function(e,t,n){o(e,t),d(e,t),p(e,t),f(e,t),h(e,t)}(r,i),r.temperature=r.temperature*i.coolingFactor,!(r.temperature<i.minTemp)},b=0;do{for(var y=0;y<i.refresh&&b<i.numIter;){var x;if(!(x=v()))break;y++,b++}!0===i.animate&&(t=r.layoutNodes,n=void 0,n={type:"message",message:t},c.trigger(n))}while(x&&b+1<i.numIter);return function(e,t){for(var n=r.layoutNodes,i=[],o=0;o<n.length;o++){var a=n[o],s=a.cmptId;(i[s]=i[s]||[]).push(a)}var l=0;for(o=0;o<i.length;o++)if(m=i[o]){m.x1=1/0,m.x2=-1/0,m.y1=1/0,m.y2=-1/0;for(var c=0;c<m.length;c++){var u=m[c];m.x1=Math.min(m.x1,u.positionX-u.width/2),m.x2=Math.max(m.x2,u.positionX+u.width/2),m.y1=Math.min(m.y1,u.positionY-u.height/2),m.y2=Math.max(m.y2,u.positionY+u.height/2)}m.w=m.x2-m.x1,m.h=m.y2-m.y1,l+=m.w*m.h}i.sort((function(e,t){return t.w*t.h-e.w*e.h}));var d=0,p=0,f=0,h=0,g=Math.sqrt(l)*r.clientWidth/r.clientHeight;for(o=0;o<i.length;o++){var m;if(m=i[o]){for(c=0;c<m.length;c++)(u=m[c]).isLocked||(u.positionX+=d,u.positionY+=p);d+=m.w+t.componentSpacing,f+=m.w+t.componentSpacing,h=Math.max(h,m.h),f>g&&(p+=h+t.componentSpacing,d=0,f=0,h=0)}}}(0,i),r})).then((function(e){d.layoutNodes=e.layoutNodes,o.stop(),b()}));var b=function(){!0===e.animate||!1===e.animate?v({force:!0,next:function(){n.one("layoutstop",e.stop),n.emit({type:"layoutstop",layout:n})}}):e.eles.nodes().layoutPositions(n,e,(function(e){var t=d.layoutNodes[d.idToIndex[e.data("id")]];return{x:t.positionX,y:t.positionY}}))};return this},c.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},c.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var u=function(e,t,n){for(var r=n.eles.edges(),i=n.eles.nodes(),s={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:r.size(),temperature:n.initialTemp,clientWidth:e.width(),clientHeight:e.width(),boundingBox:o.makeBoundingBox(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()})},l=n.eles.components(),c={},u=0;u<l.length;u++)for(var p=l[u],f=0;f<p.length;f++)c[p[f].id()]=u;for(u=0;u<s.nodeSize;u++){var h=(y=i[u]).layoutDimensions(n);(I={}).isLocked=y.locked(),I.id=y.data("id"),I.parentId=y.data("parent"),I.cmptId=c[y.id()],I.children=[],I.positionX=y.position("x"),I.positionY=y.position("y"),I.offsetX=0,I.offsetY=0,I.height=h.w,I.width=h.h,I.maxX=I.positionX+I.width/2,I.minX=I.positionX-I.width/2,I.maxY=I.positionY+I.height/2,I.minY=I.positionY-I.height/2,I.padLeft=parseFloat(y.style("padding")),I.padRight=parseFloat(y.style("padding")),I.padTop=parseFloat(y.style("padding")),I.padBottom=parseFloat(y.style("padding")),I.nodeRepulsion=a.fn(n.nodeRepulsion)?n.nodeRepulsion(y):n.nodeRepulsion,s.layoutNodes.push(I),s.idToIndex[I.id]=u}var g=[],m=0,v=-1,b=[];for(u=0;u<s.nodeSize;u++){var y,x=(y=s.layoutNodes[u]).parentId;null!=x?s.layoutNodes[s.idToIndex[x]].children.push(y.id):(g[++v]=y.id,b.push(y.id))}for(s.graphSet.push(b);m<=v;){var w=g[m++],k=s.idToIndex[w],A=s.layoutNodes[k].children;if(A.length>0)for(s.graphSet.push(A),u=0;u<A.length;u++)g[++v]=A[u]}for(u=0;u<s.graphSet.length;u++){var E=s.graphSet[u];for(f=0;f<E.length;f++){var S=s.idToIndex[E[f]];s.indexToGraph[S]=u}}for(u=0;u<s.edgeSize;u++){var $=r[u],C={};C.id=$.data("id"),C.sourceId=$.data("source"),C.targetId=$.data("target");var _=a.fn(n.idealEdgeLength)?n.idealEdgeLength($):n.idealEdgeLength,O=a.fn(n.edgeElasticity)?n.edgeElasticity($):n.edgeElasticity,T=s.idToIndex[C.sourceId],j=s.idToIndex[C.targetId];if(s.indexToGraph[T]!=s.indexToGraph[j]){for(var P=d(C.sourceId,C.targetId,s),D=s.graphSet[P],R=0,I=s.layoutNodes[T];-1===D.indexOf(I.id);)I=s.layoutNodes[s.idToIndex[I.parentId]],R++;for(I=s.layoutNodes[j];-1===D.indexOf(I.id);)I=s.layoutNodes[s.idToIndex[I.parentId]],R++;_*=R*n.nestingFactor}C.idealLength=_,C.elasticity=O,s.layoutEdges.push(C)}return s},d=function(e,t,n){var r=p(e,t,0,n);return 2>r.count?0:r.graph},p=function e(t,n,r,i){var o=i.graphSet[r];if(-1<o.indexOf(t)&&-1<o.indexOf(n))return{count:2,graph:r};for(var a=0,s=0;s<o.length;s++){var l=o[s],c=i.idToIndex[l],u=i.layoutNodes[c].children;if(0!==u.length){var d=e(t,n,i.indexToGraph[i.idToIndex[u[0]]],i);if(0!==d.count){if(1!==d.count)return d;if(2==++a)break}}}return{count:a,graph:r}},f=function(e){if(r){console.debug("layoutNodes:");for(var t=0;t<e.nodeSize;t++){var n=e.layoutNodes[t],i="\nindex: "+t+"\nId: "+n.id+"\nChildren: "+n.children.toString()+"\nparentId: "+n.parentId+"\npositionX: "+n.positionX+"\npositionY: "+n.positionY+"\nOffsetX: "+n.offsetX+"\nOffsetY: "+n.offsetY+"\npadLeft: "+n.padLeft+"\npadRight: "+n.padRight+"\npadTop: "+n.padTop+"\npadBottom: "+n.padBottom;console.debug(i)}for(var t in console.debug("idToIndex"),e.idToIndex)console.debug("Id: "+t+"\nIndex: "+e.idToIndex[t]);console.debug("Graph Set");var o=e.graphSet;for(t=0;t<o.length;t++)console.debug("Set : "+t+": "+o[t].toString());for(i="IndexToGraph",t=0;t<e.indexToGraph.length;t++)i+="\nIndex : "+t+" Graph: "+e.indexToGraph[t];for(console.debug(i),i="Layout Edges",t=0;t<e.layoutEdges.length;t++){var a=e.layoutEdges[t];i+="\nEdge Index: "+t+" ID: "+a.id+" SouceID: "+a.sourceId+" TargetId: "+a.targetId+" Ideal Length: "+a.idealLength}console.debug(i),i="nodeSize: "+e.nodeSize,i+="\nedgeSize: "+e.edgeSize,i+="\ntemperature: "+e.temperature,console.debug(i)}},h=function(e,t){for(var n=e.clientWidth,r=e.clientHeight,i=0;i<e.nodeSize;i++){var o=e.layoutNodes[i];0!==o.children.length||o.isLocked||(o.positionX=Math.random()*n,o.positionY=Math.random()*r)}},g=function(e,t,n){var r=n.layout,i=n.eles.nodes(),o=e.boundingBox,a={x1:1/0,x2:-1/0,y1:1/0,y2:-1/0};n.boundingBox&&(i.forEach((function(t){var n=e.layoutNodes[e.idToIndex[t.data("id")]];a.x1=Math.min(a.x1,n.positionX),a.x2=Math.max(a.x2,n.positionX),a.y1=Math.min(a.y1,n.positionY),a.y2=Math.max(a.y2,n.positionY)})),a.w=a.x2-a.x1,a.h=a.y2-a.y1),i.positions((function(t,r){var i=e.layoutNodes[e.idToIndex[t.data("id")]];if(n.boundingBox){var s=(i.positionX-a.x1)/a.w,l=(i.positionY-a.y1)/a.h;return{x:o.x1+s*o.w,y:o.y1+l*o.h}}return{x:i.positionX,y:i.positionY}})),!0!==e.ready&&(e.ready=!0,r.one("layoutready",n.ready),r.emit({type:"layoutready",layout:this}))};e.exports=c},function(e,t,n){"use strict";var r=n(1),i=n(2),o={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function a(e){this.options=r.extend({},o,e)}a.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles.nodes().not(":parent");t.sort&&(r=r.sort(t.sort));var o=i.makeBoundingBox(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()});if(0===o.h||0===o.w)r.layoutPositions(this,t,(function(e){return{x:o.x1,y:o.y1}}));else{var a=r.size(),s=Math.sqrt(a*o.h/o.w),l=Math.round(s),c=Math.round(o.w/o.h*s),u=function(e){if(null==e)return Math.min(l,c);Math.min(l,c)==l?l=e:c=e},d=function(e){if(null==e)return Math.max(l,c);Math.max(l,c)==l?l=e:c=e},p=t.rows,f=null!=t.cols?t.cols:t.columns;if(null!=p&&null!=f)l=p,c=f;else if(null!=p&&null==f)l=p,c=Math.ceil(a/l);else if(null==p&&null!=f)c=f,l=Math.ceil(a/c);else if(c*l>a){var h=u(),g=d();(h-1)*g>=a?u(h-1):(g-1)*h>=a&&d(g-1)}else for(;c*l<a;){var m=u(),v=d();(v+1)*m>=a?d(v+1):u(m+1)}var b=o.w/c,y=o.h/l;if(t.condense&&(b=0,y=0),t.avoidOverlap)for(var x=0;x<r.length;x++){var w=r[x],k=w._private.position;null!=k.x&&null!=k.y||(k.x=0,k.y=0);var A=w.layoutDimensions(t),E=t.avoidOverlapPadding,S=A.w+E,$=A.h+E;b=Math.max(b,S),y=Math.max(y,$)}for(var C={},_=function(e,t){return!!C["c-"+e+"-"+t]},O=function(e,t){C["c-"+e+"-"+t]=!0},T=0,j=0,P=function(){++j>=c&&(j=0,T++)},D={},R=0;R<r.length;R++){var I=r[R],N=t.position(I);if(N&&(void 0!==N.row||void 0!==N.col)){var M={row:N.row,col:N.col};if(void 0===M.col)for(M.col=0;_(M.row,M.col);)M.col++;else if(void 0===M.row)for(M.row=0;_(M.row,M.col);)M.row++;D[I.id()]=M,O(M.row,M.col)}}r.layoutPositions(this,t,(function(e,t){var n=void 0,r=void 0;if(e.locked()||e.isParent())return!1;var i=D[e.id()];if(i)n=i.col*b+b/2+o.x1,r=i.row*y+y/2+o.y1;else{for(;_(T,j);)P();n=j*b+b/2+o.x1,r=T*y+y/2+o.y1,O(T,j),P()}return{x:n,y:r}}))}return this},e.exports=a},function(e,t,n){"use strict";var r=n(1),i={ready:function(){},stop:function(){}};function o(e){this.options=r.extend({},i,e)}o.prototype.run=function(){var e=this.options,t=e.eles;return e.cy,this.emit("layoutstart"),t.nodes().positions((function(){return{x:0,y:0}})),this.one("layoutready",e.ready),this.emit("layoutready"),this.one("layoutstop",e.stop),this.emit("layoutstop"),this},o.prototype.stop=function(){return this},e.exports=o},function(e,t,n){"use strict";var r=n(1),i=n(0),o={positions:void 0,zoom:void 0,pan:void 0,fit:!0,padding:30,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function a(e){this.options=r.extend({},o,e)}a.prototype.run=function(){var e=this.options,t=e.eles.nodes(),n=i.fn(e.positions);return t.layoutPositions(this,e,(function(t,r){var i=function(t){if(null==e.positions)return null;if(n)return e.positions(t);var r=e.positions[t._private.data.id];return null==r?null:r}(t);return!t.locked()&&null!=i&&i})),this},e.exports=a},function(e,t,n){"use strict";var r=n(1),i=n(2),o={fit:!0,padding:30,boundingBox:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function a(e){this.options=r.extend({},o,e)}a.prototype.run=function(){var e=this.options,t=e.cy,n=e.eles.nodes().not(":parent"),r=i.makeBoundingBox(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()});return n.layoutPositions(this,e,(function(e,t){return{x:r.x1+Math.round(Math.random()*r.w),y:r.y1+Math.round(Math.random()*r.h)}})),this},e.exports=a},function(e,t,n){"use strict";e.exports=[{name:"null",impl:n(106)},{name:"base",impl:n(107)},{name:"canvas",impl:n(123)}]},function(e,t,n){"use strict";function r(e){this.options=e,this.notifications=0}var i=function(){};r.prototype={recalculateRenderedStyle:i,notify:function(){this.notifications++},init:i},e.exports=r},function(e,t,n){"use strict";var r=n(0),i=n(1),o=n(3),a=function(e){this.init(e)},s=a.prototype;s.clientFunctions=["redrawHint","render","renderTo","matchCanvasSize","nodeShapeImpl","arrowShapeImpl"],s.init=function(e){var t=this;t.options=e,t.cy=e.cy;var n=t.container=e.cy.container();if(o){var r=o.document,a=r.head,s="__________cytoscape_container",l=null!=r.getElementById("__________cytoscape_stylesheet");if(n.className.indexOf(s)<0&&(n.className=(n.className||"")+" "+s),!l){var c=r.createElement("style");c.id="__________cytoscape_stylesheet",c.innerHTML="."+s+" { position: relative; }",a.insertBefore(c,a.children[0])}"static"===o.getComputedStyle(n).getPropertyValue("position")&&i.error("A Cytoscape container has style position:static and so can not use UI extensions properly")}t.selection=[void 0,void 0,void 0,void 0,0],t.bezierProjPcts=[.05,.225,.4,.5,.6,.775,.95],t.hoverData={down:null,last:null,downTime:null,triggerMode:null,dragging:!1,initialPan:[null,null],capture:!1},t.dragData={possibleDragElements:[]},t.touchData={start:null,capture:!1,startPosition:[null,null,null,null,null,null],singleTouchStartTime:null,singleTouchMoved:!0,now:[null,null,null,null,null,null],earlier:[null,null,null,null,null,null]},t.redraws=0,t.showFps=e.showFps,t.debug=e.debug,t.hideEdgesOnViewport=e.hideEdgesOnViewport,t.hideLabelsOnViewport=e.hideLabelsOnViewport,t.textureOnViewport=e.textureOnViewport,t.wheelSensitivity=e.wheelSensitivity,t.motionBlurEnabled=e.motionBlur,t.forcedPixelRatio=e.pixelRatio,t.motionBlur=e.motionBlur,t.motionBlurOpacity=e.motionBlurOpacity,t.motionBlurTransparency=1-t.motionBlurOpacity,t.motionBlurPxRatio=1,t.mbPxRBlurry=1,t.minMbLowQualFrames=4,t.fullQualityMb=!1,t.clearedForMotionBlur=[],t.desktopTapThreshold=e.desktopTapThreshold,t.desktopTapThreshold2=e.desktopTapThreshold*e.desktopTapThreshold,t.touchTapThreshold=e.touchTapThreshold,t.touchTapThreshold2=e.touchTapThreshold*e.touchTapThreshold,t.tapholdDuration=500,t.bindings=[],t.beforeRenderCallbacks=[],t.beforeRenderPriorities={animations:400,eleCalcs:300,eleTxrDeq:200,lyrTxrDeq:100},t.registerNodeShapes(),t.registerArrowShapes(),t.registerCalculationListeners()},s.notify=function(e){var t,n=this;if(!this.destroyed){t=r.array(e.type)?e.type:[e.type];for(var i={},o=0;o<t.length;o++)i[t[o]]=!0;i.init?n.load():i.destroy?n.destroy():((i.add||i.remove||i.load||i.zorder)&&n.invalidateCachedZSortedEles(),i.viewport&&n.redrawHint("select",!0),(i.load||i.resize)&&(n.invalidateContainerClientCoordsCache(),n.matchCanvasSize(n.container)),n.redrawHint("eles",!0),n.redrawHint("drag",!0),this.startRenderLoop(),this.redraw())}},s.destroy=function(){var e=this;e.destroyed=!0,e.cy.stopAnimationLoop();for(var t=0;t<e.bindings.length;t++){var n=e.bindings[t],r=n.target;(r.off||r.removeEventListener).apply(r,n.args)}if(e.bindings=[],e.beforeRenderCallbacks=[],e.onUpdateEleCalcsFns=[],e.removeObserver&&e.removeObserver.disconnect(),e.styleObserver&&e.styleObserver.disconnect(),e.labelCalcDiv)try{document.body.removeChild(e.labelCalcDiv)}catch(e){}},[n(108),n(109),n(119),n(120),n(121),n(122)].forEach((function(e){i.extend(s,e)})),e.exports=a},function(e,t,n){"use strict";var r=n(2),i=n(0),o=n(1),a={arrowShapeWidth:.3,registerArrowShapes:function(){var e=this.arrowShapes={},t=this,n=function(e,t,n,r,i,o,a){var s=i.x-n/2-a,l=i.x+n/2+a,c=i.y-n/2-a,u=i.y+n/2+a;return s<=e&&e<=l&&c<=t&&t<=u},a=function(e,t,n,r,i){var o=e*Math.cos(r)-t*Math.sin(r),a=(e*Math.sin(r)+t*Math.cos(r))*n;return{x:o*n+i.x,y:a+i.y}},s=function(e,t,n,r){for(var i=[],o=0;o<e.length;o+=2){var s=e[o],l=e[o+1];i.push(a(s,l,t,n,r))}return i},l=function(e){for(var t=[],n=0;n<e.length;n++){var r=e[n];t.push(r.x,r.y)}return t},c=function(e){return e.pstyle("width").pfValue*e.pstyle("arrow-scale").pfValue*2},u=function(a,u){i.string(u)&&(u=e[u]),e[a]=o.extend({name:a,points:[-.15,-.3,.15,-.3,.15,.3,-.15,.3],collide:function(e,t,n,i,o,a){var c=l(s(this.points,n+2*a,i,o));return r.pointInsidePolygonPoints(e,t,c)},roughCollide:n,draw:function(e,n,r,i){var o=s(this.points,n,r,i);t.arrowShapeImpl("polygon")(e,o)},spacing:function(e){return 0},gap:c},u)};u("none",{collide:o.falsify,roughCollide:o.falsify,draw:o.noop,spacing:o.zeroify,gap:o.zeroify}),u("triangle",{points:[-.15,-.3,0,0,.15,-.3]}),u("arrow","triangle"),u("triangle-backcurve",{points:e.triangle.points,controlPoint:[0,-.15],roughCollide:n,draw:function(e,n,r,i,o){var l=s(this.points,n,r,i),c=this.controlPoint,u=a(c[0],c[1],n,r,i);t.arrowShapeImpl(this.name)(e,l,u)},gap:function(e){return.8*c(e)}}),u("triangle-tee",{points:[-.15,-.3,0,0,.15,-.3,-.15,-.3],pointsTee:[-.15,-.4,-.15,-.5,.15,-.5,.15,-.4],collide:function(e,t,n,i,o,a,c){var u=l(s(this.points,n+2*c,i,o)),d=l(s(this.pointsTee,n+2*c,i,o));return r.pointInsidePolygonPoints(e,t,u)||r.pointInsidePolygonPoints(e,t,d)},draw:function(e,n,r,i,o){var a=s(this.points,n,r,i),l=s(this.pointsTee,n,r,i);t.arrowShapeImpl(this.name)(e,a,l)}}),u("triangle-cross",{points:[-.15,-.3,0,0,.15,-.3,-.15,-.3],baseCrossLinePts:[-.15,-.4,-.15,-.4,.15,-.4,.15,-.4],crossLinePts:function(e,t){var n=this.baseCrossLinePts.slice(),r=t/e;return n[3]=n[3]-r,n[5]=n[5]-r,n},collide:function(e,t,n,i,o,a,c){var u=l(s(this.points,n+2*c,i,o)),d=l(s(this.crossLinePts(n,a),n+2*c,i,o));return r.pointInsidePolygonPoints(e,t,u)||r.pointInsidePolygonPoints(e,t,d)},draw:function(e,n,r,i,o){var a=s(this.points,n,r,i),l=s(this.crossLinePts(n,o),n,r,i);t.arrowShapeImpl(this.name)(e,a,l)}}),u("vee",{points:[-.15,-.3,0,0,.15,-.3,0,-.15],gap:function(e){return.525*c(e)}}),u("circle",{radius:.15,collide:function(e,t,n,r,i,o,a){var s=i;return Math.pow(s.x-e,2)+Math.pow(s.y-t,2)<=Math.pow((n+2*a)*this.radius,2)},draw:function(e,n,r,i,o){t.arrowShapeImpl(this.name)(e,i.x,i.y,this.radius*n)},spacing:function(e){return t.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.radius}}),u("tee",{points:[-.15,0,-.15,-.1,.15,-.1,.15,0],spacing:function(e){return 1},gap:function(e){return 1}}),u("square",{points:[-.15,0,.15,0,.15,-.3,-.15,-.3]}),u("diamond",{points:[-.15,-.15,0,-.3,.15,-.15,0,0],gap:function(e){return e.pstyle("width").pfValue*e.pstyle("arrow-scale").value}})}};e.exports=a},function(e,t,n){"use strict";var r=n(1),i={};[n(110),n(111),n(112),n(113),n(114),n(115),n(116),n(117),n(118)].forEach((function(e){r.extend(i,e)})),e.exports=i},function(e,t,n){"use strict";var r=n(3),i=n(2),o=n(1),a=(r=n(3),{projectIntoViewport:function(e,t){var n=this.cy,r=this.findContainerClientCoords(),i=r[0],o=r[1],a=r[4],s=n.pan(),l=n.zoom();return[((e-i)/a-s.x)/l,((t-o)/a-s.y)/l]},findContainerClientCoords:function(){if(this.containerBB)return this.containerBB;var e=this.container,t=e.getBoundingClientRect(),n=r.getComputedStyle(e),i=function(e){return parseFloat(n.getPropertyValue(e))},o=i("padding-left"),a=i("padding-right"),s=i("padding-top"),l=i("padding-bottom"),c=i("border-left-width"),u=i("border-right-width"),d=i("border-top-width"),p=(i("border-bottom-width"),e.clientWidth),f=e.clientHeight,h=o+a,g=s+l,m=c+u,v=t.width/(p+m),b=p-h,y=f-g,x=(t.width,t.height,t.left+o+c),w=t.top+s+d;return this.containerBB=[x,w,b,y,v]},invalidateContainerClientCoordsCache:function(){this.containerBB=null},findNearestElement:function(e,t,n,r){return this.findNearestElements(e,t,n,r)[0]},findNearestElements:function(e,t,n,r){var a,s,l=this,c=this,u=c.getCachedZSortedEles(),d=[],p=c.cy.zoom(),f=c.cy.hasCompoundNodes(),h=(r?24:8)/p,g=(r?8:2)/p,m=(r?8:2)/p,v=1/0;function b(e,t){if(e.isNode()){if(s)return;s=e,d.push(e)}if(e.isEdge()&&(null==t||t<v))if(a){if(a.pstyle("z-index").value===e.pstyle("z-index").value)for(var n=0;n<d.length;n++)if(d[n].isEdge()){d[n]=e,a=e,v=null!=t?t:v;break}}else d.push(e),a=e,v=null!=t?t:v}function y(n){var r=n.outerWidth()+2*g,i=n.outerHeight()+2*g,o=r/2,a=i/2,s=n.position();if(s.x-o<=e&&e<=s.x+o&&s.y-a<=t&&t<=s.y+a&&c.nodeShapes[l.getNodeShape(n)].checkPoint(e,t,0,r,i,s.x,s.y))return b(n,0),!0}function x(n){var r,o=n._private,a=o.rscratch,s=n.pstyle("width").pfValue,u=n.pstyle("arrow-scale").value,p=s/2+h,g=p*p,m=2*p,v=o.source,x=o.target;if("segments"===a.edgeType||"straight"===a.edgeType||"haystack"===a.edgeType){for(var w=a.allpts,k=0;k+3<w.length;k+=2)if(i.inLineVicinity(e,t,w[k],w[k+1],w[k+2],w[k+3],m)&&g>(r=i.sqdistToFiniteLine(e,t,w[k],w[k+1],w[k+2],w[k+3])))return b(n,r),!0}else if("bezier"===a.edgeType||"multibezier"===a.edgeType||"self"===a.edgeType||"compound"===a.edgeType)for(w=a.allpts,k=0;k+5<a.allpts.length;k+=4)if(i.inBezierVicinity(e,t,w[k],w[k+1],w[k+2],w[k+3],w[k+4],w[k+5],m)&&g>(r=i.sqdistToQuadraticBezier(e,t,w[k],w[k+1],w[k+2],w[k+3],w[k+4],w[k+5])))return b(n,r),!0;v=v||o.source,x=x||o.target;var A=l.getArrowWidth(s,u),E=[{name:"source",x:a.arrowStartX,y:a.arrowStartY,angle:a.srcArrowAngle},{name:"target",x:a.arrowEndX,y:a.arrowEndY,angle:a.tgtArrowAngle},{name:"mid-source",x:a.midX,y:a.midY,angle:a.midsrcArrowAngle},{name:"mid-target",x:a.midX,y:a.midY,angle:a.midtgtArrowAngle}];for(k=0;k<E.length;k++){var S=E[k],$=c.arrowShapes[n.pstyle(S.name+"-arrow-shape").value],C=n.pstyle("width").pfValue;if($.roughCollide(e,t,A,S.angle,{x:S.x,y:S.y},C,h)&&$.collide(e,t,A,S.angle,{x:S.x,y:S.y},C,h))return b(n),!0}f&&d.length>0&&(y(v),y(x))}function w(e,t,n){return o.getPrefixedProperty(e,t,n)}function k(n,r){var o,a=n._private,s=m;o=r?r+"-":"";var l=n.pstyle(o+"label").value;if("yes"===n.pstyle("text-events").strValue&&l){var c=a.rstyle,u=n.pstyle("text-border-width").pfValue,d=n.pstyle("text-background-padding").pfValue,p=w(c,"labelWidth",r)+u+2*s+2*d,f=w(c,"labelHeight",r)+u+2*s+2*d,h=w(c,"labelX",r),g=w(c,"labelY",r),v=w(a.rscratch,"labelAngle",r),y=h-p/2,x=h+p/2,k=g-f/2,A=g+f/2;if(v){var E=Math.cos(v),S=Math.sin(v),$=function(e,t){return{x:(e-=h)*E-(t-=g)*S+h,y:e*S+t*E+g}},C=$(y,k),_=$(y,A),O=$(x,k),T=$(x,A),j=[C.x,C.y,O.x,O.y,T.x,T.y,_.x,_.y];if(i.pointInsidePolygonPoints(e,t,j))return b(n),!0}else{var P={w:p,h:f,x1:y,x2:x,y1:k,y2:A};if(i.inBoundingBox(P,e,t))return b(n),!0}}}n&&(u=u.interactive);for(var A=u.length-1;A>=0;A--){var E=u[A];E.isNode()?y(E)||k(E):x(E)||k(E)||k(E,"source")||k(E,"target")}return d},getAllInBox:function(e,t,n,r){var o=this.getCachedZSortedEles().interactive,a=[],s=Math.min(e,n),l=Math.max(e,n),c=Math.min(t,r),u=Math.max(t,r);e=s,n=l,t=c,r=u;for(var d=i.makeBoundingBox({x1:e,y1:t,x2:n,y2:r}),p=0;p<o.length;p++){var f=o[p];if(f.isNode()){var h=f,g=h.boundingBox({includeNodes:!0,includeEdges:!1,includeLabels:!1});i.boundingBoxesIntersect(d,g)&&!i.boundingBoxInBoundingBox(g,d)&&a.push(h)}else{var m=f,v=m._private,b=v.rscratch;if(null!=b.startX&&null!=b.startY&&!i.inBoundingBox(d,b.startX,b.startY))continue;if(null!=b.endX&&null!=b.endY&&!i.inBoundingBox(d,b.endX,b.endY))continue;if("bezier"===b.edgeType||"multibezier"===b.edgeType||"self"===b.edgeType||"compound"===b.edgeType||"segments"===b.edgeType||"haystack"===b.edgeType){for(var y=v.rstyle.bezierPts||v.rstyle.linePts||v.rstyle.haystackPts,x=!0,w=0;w<y.length;w++)if(!i.pointInBoundingBox(d,y[w])){x=!1;break}x&&a.push(m)}else"haystack"!==b.edgeType&&"straight"!==b.edgeType||a.push(m)}}return a}});e.exports=a},function(e,t,n){"use strict";var r=n(2),i={calculateArrowAngles:function(e){var t,n,i,o,a,s,l=e._private.rscratch,c="haystack"===l.edgeType,u="bezier"===l.edgeType,d="multibezier"===l.edgeType,p="segments"===l.edgeType,f="compound"===l.edgeType,h="self"===l.edgeType;if(c?(i=l.haystackPts[0],o=l.haystackPts[1],a=l.haystackPts[2],s=l.haystackPts[3]):(i=l.arrowStartX,o=l.arrowStartY,a=l.arrowEndX,s=l.arrowEndY),m=l.midX,v=l.midY,p)t=i-l.segpts[0],n=o-l.segpts[1];else if(d||f||h||u){var g=l.allpts;t=i-r.qbezierAt(g[0],g[2],g[4],.1),n=o-r.qbezierAt(g[1],g[3],g[5],.1)}else t=i-m,n=o-v;l.srcArrowAngle=r.getAngleFromDisp(t,n);var m=l.midX,v=l.midY;if(c&&(m=(i+a)/2,v=(o+s)/2),t=a-i,n=s-o,p)if((g=l.allpts).length/2%2==0){var b=(y=g.length/2)-2;t=g[y]-g[b],n=g[y+1]-g[b+1]}else{b=(y=g.length/2-1)-2;var y,x=y+2;t=g[y]-g[b],n=g[y+1]-g[b+1]}else if(d||f||h){var w,k,A,E,g=l.allpts;if(l.ctrlpts.length/2%2==0){var S=2+($=2+(C=g.length/2-1));w=r.qbezierAt(g[C],g[$],g[S],0),k=r.qbezierAt(g[C+1],g[$+1],g[S+1],0),A=r.qbezierAt(g[C],g[$],g[S],1e-4),E=r.qbezierAt(g[C+1],g[$+1],g[S+1],1e-4)}else{var $,C=($=g.length/2-1)-2;S=$+2,w=r.qbezierAt(g[C],g[$],g[S],.4999),k=r.qbezierAt(g[C+1],g[$+1],g[S+1],.4999),A=r.qbezierAt(g[C],g[$],g[S],.5),E=r.qbezierAt(g[C+1],g[$+1],g[S+1],.5)}t=A-w,n=E-k}if(l.midtgtArrowAngle=r.getAngleFromDisp(t,n),l.midDispX=t,l.midDispY=n,t*=-1,n*=-1,p&&((g=l.allpts).length/2%2==0||(t=-(g[x=2+(y=g.length/2-1)]-g[y]),n=-(g[x+1]-g[y+1]))),l.midsrcArrowAngle=r.getAngleFromDisp(t,n),p)t=a-l.segpts[l.segpts.length-2],n=s-l.segpts[l.segpts.length-1];else if(d||f||h||u){var _=(g=l.allpts).length;t=a-r.qbezierAt(g[_-6],g[_-4],g[_-2],.9),n=s-r.qbezierAt(g[_-5],g[_-3],g[_-1],.9)}else t=a-m,n=s-v;l.tgtArrowAngle=r.getAngleFromDisp(t,n)}};i.getArrowWidth=i.getArrowHeight=function(e,t){var n=this.arrowWidthCache=this.arrowWidthCache||{},r=n[e+", "+t];return r||(r=Math.max(Math.pow(13.37*e,.9),29)*t,n[e+", "+t]=r,r)},e.exports=i},function(e,t,n){"use strict";var r=n(2),i=n(0),o={};function a(e){var t=[];if(null!=e){for(var n=0;n<e.length;n+=2){var r=e[n],i=e[n+1];t.push({x:r,y:i})}return t}}o.findEdgeControlPoints=function(e){if(e&&0!==e.length){for(var t,n,o,a,s,l=this,c=l.cy.hasCompoundNodes(),u={},d=[],p=[],f=0;f<e.length;f++){var h=(Ft=(Bt=e[f])._private).data,g="unbundled-bezier"===(D=Bt.pstyle("curve-style").value)||"segments"===D,m="unbundled-bezier"===D||"bezier"===D;if("none"!==Bt.pstyle("display").value)if("haystack"!==D){var v=h.source,b=h.target;t=v>b?b+"$-$"+v:v+"$-$"+b,g&&(t="unbundled$-$"+h.id);var y=u[t];null==y&&(y=u[t]=[],d.push(t)),y.push(Bt),g&&(y.hasUnbundled=!0),m&&(y.hasBezier=!0)}else p.push(Bt)}for(var x=0;x<d.length;x++){var w=u[t=d[x]];if(w.sort((function(e,t){return e.poolIndex()-t.poolIndex()})),Ht=w[0]._private.source,Gt=w[0]._private.target,!w.hasUnbundled&&Ht.id()>Gt.id()){var k=Ht;Ht=Gt,Gt=k}Wt=Ht.position(),Yt=Gt.position(),Xt=Ht.outerWidth(),Qt=Ht.outerHeight(),Zt=Gt.outerWidth(),Jt=Gt.outerHeight(),n=l.nodeShapes[this.getNodeShape(Ht)],o=l.nodeShapes[this.getNodeShape(Gt)],s=!1;var A={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0},E=Wt.x,S=Wt.y,$=Xt,C=Qt,_=Yt.x,O=Yt.y,T=Zt,j=Jt,P=w.length;for(f=0;f<w.length;f++){var D,R,I=(Vt=(Bt=w[f])._private.rscratch).lastEdgeIndex,N=f,M=Vt.lastNumEdges,z=(g="unbundled-bezier"===(D=Bt.pstyle("curve-style").value)||"segments"===D,Ht.id()!==Bt.source().id()),L=Bt.pstyle("control-point-distances"),B=Bt.pstyle("loop-direction").pfValue,F=Bt.pstyle("loop-sweep").pfValue,q=Bt.pstyle("control-point-weights"),V=L&&q?Math.min(L.value.length,q.value.length):1,U=Bt.pstyle("control-point-step-size").pfValue,H=L?L.pfValue[0]:void 0,G=q.value[0],W=Bt.pstyle("edge-distances").value,Y=Bt.pstyle("segment-weights"),X=Bt.pstyle("segment-distances"),Z=Math.min(Y.pfValue.length,X.pfValue.length),Q=Bt.pstyle("source-endpoint").value,J=Bt.pstyle("target-endpoint").value,K=Bt.pstyle("source-arrow-shape").value,ee=Bt.pstyle("target-arrow-shape").value,te=Bt.pstyle("arrow-scale").value,ne=Bt.pstyle("width").pfValue,re=Vt.lastSrcCtlPtX,ie=Vt.lastSrcCtlPtY,oe=Vt.lastSrcCtlPtW,ae=Vt.lastSrcCtlPtH,se=Vt.lastTgtCtlPtX,le=Vt.lastTgtCtlPtY,ce=Vt.lastTgtCtlPtW,ue=Vt.lastTgtCtlPtH,de=Vt.lastCurveStyle,pe=D,fe=Vt.lastCtrlptDists,he=L?L.strValue:null,ge=Vt.lastCtrlptWs,me=q.strValue,ve=Vt.lastSegmentWs,be=Y.strValue,ye=Vt.lastSegmentDs,xe=X.strValue,we=Vt.lastStepSize,ke=U,Ae=Vt.lastLoopDir,Ee=B,Se=Vt.lastLoopSwp,$e=F,Ce=Vt.lastEdgeDistances,_e=W,Oe=Vt.lastSrcEndpt,Te=Q,je=Vt.lastTgtEndpt,Pe=J,De=Vt.lastSrcArr,Re=K,Ie=Vt.lastTgtArr,Ne=ee,Me=Vt.lastLineW,ze=ne,Le=Vt.lastArrScl,Be=te;if(Vt.badBezier=!!s,re===E&&ie===S&&oe===$&&ae===C&&se===_&&le===O&&ce===T&&ue===j&&de===pe&&fe===he&&ge===me&&ve===be&&ye===xe&&we===ke&&Ae===Ee&&Se===$e&&Ce===_e&&Oe===Te&&je===Pe&&De===Re&&Ie===Ne&&Me===ze&&Le===Be&&(I===N&&M===P||g)?R=!0:(R=!1,Vt.lastSrcCtlPtX=E,Vt.lastSrcCtlPtY=S,Vt.lastSrcCtlPtW=$,Vt.lastSrcCtlPtH=C,Vt.lastTgtCtlPtX=_,Vt.lastTgtCtlPtY=O,Vt.lastTgtCtlPtW=T,Vt.lastTgtCtlPtH=j,Vt.lastEdgeIndex=N,Vt.lastNumEdges=P,Vt.lastCurveStyle=pe,Vt.lastCtrlptDists=he,Vt.lastCtrlptWs=me,Vt.lastSegmentDs=xe,Vt.lastSegmentWs=be,Vt.lastStepSize=ke,Vt.lastLoopDir=Ee,Vt.lastLoopSwp=$e,Vt.lastEdgeDistances=_e,Vt.lastSrcEndpt=Te,Vt.lastTgtEndpt=Pe,Vt.lastSrcArr=Re,Vt.lastTgtArr=Ne,Vt.lastLineW=ze,Vt.lastArrScl=Be),!R){if(!w.calculatedIntersection&&Ht!==Gt&&(w.hasBezier||w.hasUnbundled)){w.calculatedIntersection=!0;var Fe=n.intersectLine(Wt.x,Wt.y,Xt,Qt,Yt.x,Yt.y,0);w.srcIntn=Fe;var qe=o.intersectLine(Yt.x,Yt.y,Zt,Jt,Wt.x,Wt.y,0);w.tgtIntn=qe;var Ve={x1:Fe[0],x2:qe[0],y1:Fe[1],y2:qe[1]},Ue={x1:Wt.x,x2:Yt.x,y1:Wt.y,y2:Yt.y},He=qe[1]-Fe[1],Ge=qe[0]-Fe[0],We=Math.sqrt(Ge*Ge+He*He),Ye={x:Ge,y:He},Xe={x:Ye.x/We,y:Ye.y/We};a={x:-Xe.y,y:Xe.x},o.checkPoint(Fe[0],Fe[1],0,Zt,Jt,Yt.x,Yt.y)&&n.checkPoint(qe[0],qe[1],0,Xt,Qt,Wt.x,Wt.y)&&(a={},s=!0)}if(z?(Vt.srcIntn=w.tgtIntn,Vt.tgtIntn=w.srcIntn):(Vt.srcIntn=w.srcIntn,Vt.tgtIntn=w.tgtIntn),Ht===Gt){Vt.edgeType="self";var Ze=f,Qe=U;g&&(Ze=0,Qe=H);var Je=B-Math.PI/2,Ke=Je-F/2,et=Je+F/2,tt=String(B+"_"+F);Ze=void 0===A[tt]?A[tt]=0:++A[tt],Vt.ctrlpts=[Wt.x+1.4*Math.cos(Ke)*Qe*(Ze/3+1),Wt.y+1.4*Math.sin(Ke)*Qe*(Ze/3+1),Wt.x+1.4*Math.cos(et)*Qe*(Ze/3+1),Wt.y+1.4*Math.sin(et)*Qe*(Ze/3+1)]}else if(c&&(Ht.isParent()||Ht.isChild()||Gt.isParent()||Gt.isChild())&&(Ht.parents().anySame(Gt)||Gt.parents().anySame(Ht))){Vt.edgeType="compound",Vt.badBezier=!1,Ze=f,Qe=U,g&&(Ze=0,Qe=H);var nt={x:Wt.x-Xt/2,y:Wt.y-Qt/2},rt={x:Yt.x-Zt/2,y:Yt.y-Jt/2},it={x:Math.min(nt.x,rt.x),y:Math.min(nt.y,rt.y)},ot=Math.max(.5,Math.log(.01*Xt)),at=Math.max(.5,Math.log(.01*Zt));Vt.ctrlpts=[it.x,it.y-(1+Math.pow(50,1.12)/100)*Qe*(Ze/3+1)*ot,it.x-(1+Math.pow(50,1.12)/100)*Qe*(Ze/3+1)*at,it.y]}else if("segments"===D){Vt.edgeType="segments",Vt.segpts=[];for(var st=0;st<Z;st++){var lt=Y.pfValue[st],ct=X.pfValue[st],ut=1-lt,dt=lt,pt={x:(bt="node-position"===W?Ue:Ve).x1*ut+bt.x2*dt,y:bt.y1*ut+bt.y2*dt};Vt.segpts.push(pt.x+a.x*ct,pt.y+a.y*ct)}}else if(w.length%2!=1||f!==Math.floor(w.length/2)||g){var ft=g;Vt.edgeType=ft?"multibezier":"bezier",Vt.ctrlpts=[];for(var ht=0;ht<V;ht++){var gt,mt=(.5-w.length/2+f)*U,vt=r.signum(mt);ft&&(H=L?L.pfValue[ht]:U,G=q.value[ht]);var bt,yt=void 0!==(gt=g?H:void 0!==H?vt*H:void 0)?gt:mt;ut=1-G,dt=G,z&&(k=ut,ut=dt,dt=k),pt={x:(bt="node-position"===W?Ue:Ve).x1*ut+bt.x2*dt,y:bt.y1*ut+bt.y2*dt},Vt.ctrlpts.push(pt.x+a.x*yt,pt.y+a.y*yt)}}else Vt.edgeType="straight";this.findEndpoints(Bt);var xt=!i.number(Vt.startX)||!i.number(Vt.startY),wt=!i.number(Vt.arrowStartX)||!i.number(Vt.arrowStartY),kt=!i.number(Vt.endX)||!i.number(Vt.endY),At=!i.number(Vt.arrowEndX)||!i.number(Vt.arrowEndY),Et=this.getArrowWidth(Bt.pstyle("width").pfValue,Bt.pstyle("arrow-scale").value)*this.arrowShapeWidth*3;if("bezier"===Vt.edgeType){var St=r.dist({x:Vt.ctrlpts[0],y:Vt.ctrlpts[1]},{x:Vt.startX,y:Vt.startY}),$t=St<Et,Ct=r.dist({x:Vt.ctrlpts[0],y:Vt.ctrlpts[1]},{x:Vt.endX,y:Vt.endY}),_t=Ct<Et,Ot=!1;if(xt||wt||$t){Ot=!0;var Tt={x:Vt.ctrlpts[0]-Wt.x,y:Vt.ctrlpts[1]-Wt.y},jt=Math.sqrt(Tt.x*Tt.x+Tt.y*Tt.y),Pt={x:Tt.x/jt,y:Tt.y/jt},Dt=Math.max(Xt,Qt),Rt={x:Vt.ctrlpts[0]+2*Pt.x*Dt,y:Vt.ctrlpts[1]+2*Pt.y*Dt},It=n.intersectLine(Wt.x,Wt.y,Xt,Qt,Rt.x,Rt.y,0);$t?(Vt.ctrlpts[0]=Vt.ctrlpts[0]+Pt.x*(Et-St),Vt.ctrlpts[1]=Vt.ctrlpts[1]+Pt.y*(Et-St)):(Vt.ctrlpts[0]=It[0]+Pt.x*Et,Vt.ctrlpts[1]=It[1]+Pt.y*Et)}if(kt||At||_t){Ot=!0,Tt={x:Vt.ctrlpts[0]-Yt.x,y:Vt.ctrlpts[1]-Yt.y},jt=Math.sqrt(Tt.x*Tt.x+Tt.y*Tt.y),Pt={x:Tt.x/jt,y:Tt.y/jt},Dt=Math.max(Xt,Qt),Rt={x:Vt.ctrlpts[0]+2*Pt.x*Dt,y:Vt.ctrlpts[1]+2*Pt.y*Dt};var Nt=o.intersectLine(Yt.x,Yt.y,Zt,Jt,Rt.x,Rt.y,0);_t?(Vt.ctrlpts[0]=Vt.ctrlpts[0]+Pt.x*(Et-Ct),Vt.ctrlpts[1]=Vt.ctrlpts[1]+Pt.y*(Et-Ct)):(Vt.ctrlpts[0]=Nt[0]+Pt.x*Et,Vt.ctrlpts[1]=Nt[1]+Pt.y*Et)}Ot&&this.findEndpoints(Bt)}if("multibezier"===Vt.edgeType||"bezier"===Vt.edgeType||"self"===Vt.edgeType||"compound"===Vt.edgeType){for(Vt.allpts=[],Vt.allpts.push(Vt.startX,Vt.startY),ht=0;ht+1<Vt.ctrlpts.length;ht+=2)Vt.allpts.push(Vt.ctrlpts[ht],Vt.ctrlpts[ht+1]),ht+3<Vt.ctrlpts.length&&Vt.allpts.push((Vt.ctrlpts[ht]+Vt.ctrlpts[ht+2])/2,(Vt.ctrlpts[ht+1]+Vt.ctrlpts[ht+3])/2);var Mt;Vt.allpts.push(Vt.endX,Vt.endY),Vt.ctrlpts.length/2%2==0?(Mt=Vt.allpts.length/2-1,Vt.midX=Vt.allpts[Mt],Vt.midY=Vt.allpts[Mt+1]):(Mt=Vt.allpts.length/2-3,Vt.midX=r.qbezierAt(Vt.allpts[Mt],Vt.allpts[Mt+2],Vt.allpts[Mt+4],.5),Vt.midY=r.qbezierAt(Vt.allpts[Mt+1],Vt.allpts[Mt+3],Vt.allpts[Mt+5],.5))}else if("straight"===Vt.edgeType)Vt.allpts=[Vt.startX,Vt.startY,Vt.endX,Vt.endY],Vt.midX=(Vt.startX+Vt.endX+Vt.arrowStartX+Vt.arrowEndX)/4,Vt.midY=(Vt.startY+Vt.endY+Vt.arrowStartY+Vt.arrowEndY)/4;else if("segments"===Vt.edgeType)if(Vt.allpts=[],Vt.allpts.push(Vt.startX,Vt.startY),Vt.allpts.push.apply(Vt.allpts,Vt.segpts),Vt.allpts.push(Vt.endX,Vt.endY),Vt.segpts.length%4==0){var zt=Vt.segpts.length/2,Lt=zt-2;Vt.midX=(Vt.segpts[Lt]+Vt.segpts[zt])/2,Vt.midY=(Vt.segpts[Lt+1]+Vt.segpts[zt+1])/2}else Lt=Vt.segpts.length/2-1,Vt.midX=Vt.segpts[Lt],Vt.midY=Vt.segpts[Lt+1];this.storeEdgeProjections(Bt),this.calculateArrowAngles(Bt)}this.recalculateEdgeLabelProjections(Bt),this.calculateLabelAngles(Bt)}}for(f=0;f<p.length;f++){var Bt,Ft,qt=(Ft=(Bt=p[f])._private).rscratch,Vt=qt;if(!qt.haystack){var Ut=2*Math.random()*Math.PI;qt.source={x:Math.cos(Ut),y:Math.sin(Ut)},Ut=2*Math.random()*Math.PI,qt.target={x:Math.cos(Ut),y:Math.sin(Ut)}}var Ht=Ft.source,Gt=Ft.target,Wt=Ht.position(),Yt=Gt.position(),Xt=Ht.width(),Zt=Gt.width(),Qt=Ht.height(),Jt=Gt.height(),Kt=(Dt=Bt.pstyle("haystack-radius").value)/2;Vt.haystackPts=Vt.allpts=[Vt.source.x*Xt*Kt+Wt.x,Vt.source.y*Qt*Kt+Wt.y,Vt.target.x*Zt*Kt+Yt.x,Vt.target.y*Jt*Kt+Yt.y],Vt.midX=(Vt.allpts[0]+Vt.allpts[2])/2,Vt.midY=(Vt.allpts[1]+Vt.allpts[3])/2,qt.edgeType=qt.lastCurveStyle="haystack",qt.haystack=!0,this.storeEdgeProjections(Bt),this.calculateArrowAngles(Bt),this.recalculateEdgeLabelProjections(Bt),this.calculateLabelAngles(Bt)}}},o.getSegmentPoints=function(e){var t=e[0]._private.rscratch;if("segments"===t.edgeType)return a(t.segpts)},o.getControlPoints=function(e){var t=e[0]._private.rscratch,n=t.edgeType;if("bezier"===n||"multibezier"===n||"self"===n||"compound"===n)return a(t.ctrlpts)},o.getEdgeMidpoint=function(e){var t=e[0]._private.rscratch;return{x:t.midX,y:t.midY}},e.exports=o},function(e,t,n){"use strict";var r=n(2),i=n(0),o={manualEndptToPx:function(e,t){var n=e.position(),r=e.outerWidth(),i=e.outerHeight();if(2===t.value.length){var o=[t.pfValue[0],t.pfValue[1]];return"%"===t.units[0]&&(o[0]=o[0]*r),"%"===t.units[1]&&(o[1]=o[1]*i),o[0]+=n.x,o[1]+=n.y,o}var a=t.pfValue[0];a=-Math.PI/2+a;var s=2*Math.max(r,i),l=[n.x+Math.cos(a)*s,n.y+Math.sin(a)*s];return this.nodeShapes[this.getNodeShape(e)].intersectLine(n.x,n.y,r,i,l[0],l[1],0)},findEndpoints:function(e){var t=this,n=void 0,o=e.source()[0],a=e.target()[0],s=o.position(),l=a.position(),c=e.pstyle("target-arrow-shape").value,u=e.pstyle("source-arrow-shape").value,d=e.pstyle("target-distance-from-node").pfValue,p=e.pstyle("source-distance-from-node").pfValue,f=e._private.rscratch,h=f.edgeType,g="self"===h||"compound"===h,m="bezier"===h||"multibezier"===h||g,v="bezier"!==h,b="straight"===h||"segments"===h,y="segments"===h,x=m||v||b,w=e.pstyle("source-endpoint"),k=g?"outside-to-node":w.value,A=e.pstyle("target-endpoint"),E=g?"outside-to-node":A.value;f.srcManEndpt=w,f.tgtManEndpt=A;var S=void 0,$=void 0,C=void 0,_=void 0;if(m){var O=[f.ctrlpts[0],f.ctrlpts[1]];S=v?[f.ctrlpts[f.ctrlpts.length-2],f.ctrlpts[f.ctrlpts.length-1]]:O,$=O}else if(b){var T=y?f.segpts.slice(0,2):[l.x,l.y];S=y?f.segpts.slice(f.segpts.length-2):[s.x,s.y],$=T}"inside-to-node"===E?n=[l.x,l.y]:A.units?n=this.manualEndptToPx(a,A):"outside-to-line"===E?n=f.tgtIntn:("outside-to-node"===E?C=S:"outside-to-line"===E&&(C=[s.x,s.y]),n=t.nodeShapes[this.getNodeShape(a)].intersectLine(l.x,l.y,a.outerWidth(),a.outerHeight(),C[0],C[1],0));var j=r.shortenIntersection(n,S,t.arrowShapes[c].spacing(e)+d),P=r.shortenIntersection(n,S,t.arrowShapes[c].gap(e)+d);e.hasClass("horizontal")?(f.endX=n[0]-d,f.endY=n[1],f.arrowEndX=n[0]-d/2,f.arrowEndY=n[1]):e.hasClass("vertical")?(f.endX=n[0],f.endY=n[1]-d,f.arrowEndX=n[0],f.arrowEndY=n[1]-d/2):(f.endX=P[0],f.endY=P[1],f.arrowEndX=j[0],f.arrowEndY=j[1]),"inside-to-node"===k?n=[s.x,s.y]:w.units?n=this.manualEndptToPx(o,w):"outside-to-line"===k?n=f.srcIntn:("outside-to-node"===k?_=$:"outside-to-line"===k&&(_=[l.x,l.y]),n=t.nodeShapes[this.getNodeShape(o)].intersectLine(s.x,s.y,o.outerWidth(),o.outerHeight(),_[0],_[1],0));var D=r.shortenIntersection(n,$,t.arrowShapes[u].spacing(e)+p),R=r.shortenIntersection(n,$,t.arrowShapes[u].gap(e)+p);f.startX=R[0],f.startY=R[1],f.arrowStartX=D[0],f.arrowStartY=D[1],x&&(i.number(f.startX)&&i.number(f.startY)&&i.number(f.endX)&&i.number(f.endY)?f.badLine=!1:f.badLine=!0)},getSourceEndpoint:function(e){var t=e[0]._private.rscratch;switch(t.edgeType){case"haystack":return{x:t.haystackPts[0],y:t.haystackPts[1]};default:return{x:t.arrowStartX,y:t.arrowStartY}}},getTargetEndpoint:function(e){var t=e[0]._private.rscratch;switch(t.edgeType){case"haystack":return{x:t.haystackPts[2],y:t.haystackPts[3]};default:return{x:t.arrowEndX,y:t.arrowEndY}}}};e.exports=o},function(e,t,n){"use strict";var r=n(2),i={};function o(e,t,n){for(var i=function(e,t,n,i){return r.qbezierAt(e,t,n,i)},o=t._private.rstyle.bezierPts,a=0;a<e.bezierProjPcts.length;a++){var s=e.bezierProjPcts[a];o.push({x:i(n[0],n[2],n[4],s),y:i(n[1],n[3],n[5],s)})}}i.storeEdgeProjections=function(e){var t=e._private,n=t.rscratch,r=n.edgeType;if(t.rstyle.bezierPts=null,t.rstyle.linePts=null,t.rstyle.haystackPts=null,"multibezier"===r||"bezier"===r||"self"===r||"compound"===r){t.rstyle.bezierPts=[];for(var i=0;i+5<n.allpts.length;i+=4)o(this,e,n.allpts.slice(i,i+6))}else if("segments"===r){var a=t.rstyle.linePts=[];for(i=0;i+1<n.allpts.length;i+=2)a.push({x:n.allpts[i],y:n.allpts[i+1]})}else if("haystack"===r){var s=n.haystackPts;t.rstyle.haystackPts=[{x:s[0],y:s[1]},{x:s[2],y:s[3]}]}t.rstyle.arrowWidth=this.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.arrowShapeWidth},i.recalculateEdgeProjections=function(e){this.findEdgeControlPoints(e)},e.exports=i},function(e,t,n){"use strict";var r=n(2),i=n(0),o=n(1),a={recalculateNodeLabelProjection:function(e){var t=e.pstyle("label").strValue;if(!i.emptyString(t)){var n,r,o=e._private,a=e.width(),s=e.height(),l=e.padding(),c=e.position(),u=e.pstyle("text-halign").strValue,d=e.pstyle("text-valign").strValue,p=o.rscratch,f=o.rstyle;switch(u){case"left":n=c.x-a/2-l;break;case"right":n=c.x+a/2+l;break;default:n=c.x}switch(d){case"top":r=c.y-s/2-l;break;case"bottom":r=c.y+s/2+l;break;default:r=c.y}p.labelX=n,p.labelY=r,f.labelX=n,f.labelY=r,this.applyLabelDimensions(e)}},recalculateEdgeLabelProjections:function(e){var t,n=e._private,i=n.rscratch,a=this,s={mid:e.pstyle("label").strValue,source:e.pstyle("source-label").strValue,target:e.pstyle("target-label").strValue};if(s.mid||s.source||s.target){t={x:i.midX,y:i.midY};var l=function(e,t,r){o.setPrefixedProperty(n.rscratch,e,t,r),o.setPrefixedProperty(n.rstyle,e,t,r)};l("labelX",null,t.x),l("labelY",null,t.y);var c=function(o){var c,u="source"===o;if(s[o]){var d=e.pstyle(o+"-text-offset").pfValue,p=function(e,t){var n=t.x-e.x,r=t.y-e.y;return Math.atan(r/n)};switch(i.edgeType){case"self":case"compound":case"bezier":case"multibezier":for(var f,h=function e(){if(e.cache)return e.cache;for(var t=[],o=0;o+5<i.allpts.length;o+=4){var s={x:i.allpts[o],y:i.allpts[o+1]},l={x:i.allpts[o+2],y:i.allpts[o+3]},c={x:i.allpts[o+4],y:i.allpts[o+5]};t.push({p0:s,p1:l,p2:c,startDist:0,length:0,segments:[]})}var u=n.rstyle.bezierPts,d=a.bezierProjPcts.length;function p(e,t,n,i,o){var a=r.dist(t,n),s=e.segments[e.segments.length-1],l={p0:t,p1:n,t0:i,t1:o,startDist:s?s.startDist+s.length:0,length:a};e.segments.push(l),e.length+=a}for(o=0;o<t.length;o++){var f=t[o],h=t[o-1];h&&(f.startDist=h.startDist+h.length),p(f,f.p0,u[o*d],0,a.bezierProjPcts[0]);for(var g=0;g<d-1;g++)p(f,u[o*d+g],u[o*d+g+1],a.bezierProjPcts[g],a.bezierProjPcts[g+1]);p(f,u[o*d+d-1],f.p2,a.bezierProjPcts[d-1],1)}return e.cache=t}(),g=0,m=0,v=0;v<h.length;v++){for(var b=h[u?v:h.length-1-v],y=0;y<b.segments.length;y++){var x=b.segments[u?y:b.segments.length-1-y],w=v===h.length-1&&y===b.segments.length-1;if(g=m,(m+=x.length)>=d||w){f={cp:b,segment:x};break}}if(f)break}b=f.cp;var k=(d-g)/(x=f.segment).length,A=x.t1-x.t0,E=u?x.t0+A*k:x.t1-A*k;E=r.bound(0,E,1),t=r.qbezierPtAt(b.p0,b.p1,b.p2,E),c=function(e,t,n,i){var o=r.bound(0,i-.001,1),a=r.bound(0,i+.001,1),s=r.qbezierPtAt(e,t,n,o),l=r.qbezierPtAt(e,t,n,a);return p(s,l)}(b.p0,b.p1,b.p2,E);break;case"straight":case"segments":case"haystack":var S,$,C,_,O=0,T=i.allpts.length;for(v=0;v+3<T&&(u?(C={x:i.allpts[v],y:i.allpts[v+1]},_={x:i.allpts[v+2],y:i.allpts[v+3]}):(C={x:i.allpts[T-2-v],y:i.allpts[T-1-v]},_={x:i.allpts[T-4-v],y:i.allpts[T-3-v]}),$=O,!((O+=S=r.dist(C,_))>=d));v+=2);E=(d-$)/S,E=r.bound(0,E,1),t=r.lineAt(C,_,E),c=p(C,_)}l("labelX",o,t.x),l("labelY",o,t.y),l("labelAutoAngle",o,c)}};c("source"),c("target"),this.applyLabelDimensions(e)}},applyLabelDimensions:function(e){this.applyPrefixedLabelDimensions(e),e.isEdge()&&(this.applyPrefixedLabelDimensions(e,"source"),this.applyPrefixedLabelDimensions(e,"target"))},applyPrefixedLabelDimensions:function(e,t){var n=e._private,r=this.getLabelText(e,t),i=this.calculateLabelDimensions(e,r);o.setPrefixedProperty(n.rstyle,"labelWidth",t,i.width),o.setPrefixedProperty(n.rscratch,"labelWidth",t,i.width),o.setPrefixedProperty(n.rstyle,"labelHeight",t,i.height),o.setPrefixedProperty(n.rscratch,"labelHeight",t,i.height)},getLabelText:function(e,t){var n=e._private,r=t?t+"-":"",i=e.pstyle(r+"label").strValue,a=e.pstyle("text-transform").value,s=function(e,r){return r?(o.setPrefixedProperty(n.rscratch,e,t,r),r):o.getPrefixedProperty(n.rscratch,e,t)};"none"==a||("uppercase"==a?i=i.toUpperCase():"lowercase"==a&&(i=i.toLowerCase()));var l=e.pstyle("text-wrap").value;if("wrap"===l){var c=s("labelKey");if(c&&s("labelWrapKey")===c)return s("labelWrapCachedText");for(var u=i.split("\n"),d=e.pstyle("text-max-width").pfValue,p=[],f=0;f<u.length;f++){var h=u[f];if(this.calculateLabelDimensions(e,h,"line="+h).width>d){for(var g=h.split(/\s+/),m="",v=0;v<g.length;v++){var b=g[v],y=0===m.length?b:m+" "+b;this.calculateLabelDimensions(e,y,"testLine="+y).width<=d?m+=b+" ":(p.push(m),m=b+" ")}m.match(/^\s+$/)||p.push(m)}else p.push(h)}s("labelWrapCachedLines",p),i=s("labelWrapCachedText",p.join("\n")),s("labelWrapKey",c)}else if("ellipsis"===l){d=e.pstyle("text-max-width").pfValue;for(var x="",w=!1,k=0;k<i.length&&!(this.calculateLabelDimensions(e,x+i[k]+"…").width>d);k++)x+=i[k],k===i.length-1&&(w=!0);return w||(x+="…"),x}return i},calculateLabelDimensions:function(e,t,n){var r=e._private.labelStyleKey+"$@$"+t;n&&(r+="$@$"+n);var i=this.labelDimCache||(this.labelDimCache={});if(i[r])return i[r];var o=e.pstyle("font-style").strValue,a=1*e.pstyle("font-size").pfValue+"px",s=e.pstyle("font-family").strValue,l=e.pstyle("font-weight").strValue,c=this.labelCalcDiv;c||(c=this.labelCalcDiv=document.createElement("div"),document.body.appendChild(c));var u=c.style;return u.fontFamily=s,u.fontStyle=o,u.fontSize=a,u.fontWeight=l,u.position="absolute",u.left="-9999px",u.top="-9999px",u.zIndex="-1",u.visibility="hidden",u.pointerEvents="none",u.padding="0",u.lineHeight="1","wrap"===e.pstyle("text-wrap").value?u.whiteSpace="pre":u.whiteSpace="normal",c.textContent=t,i[r]={width:Math.ceil(c.clientWidth/1),height:Math.ceil(c.clientHeight/1)},i[r]},calculateLabelAngles:function(e){var t=e._private.rscratch,n=e.isEdge(),r=e.pstyle("text-rotation"),i=r.strValue;"none"===i?t.labelAngle=t.sourceLabelAngle=t.targetLabelAngle=0:n&&"autorotate"===i?(t.labelAngle=Math.atan(t.midDispY/t.midDispX),t.sourceLabelAngle=t.sourceLabelAutoAngle,t.targetLabelAngle=t.targetLabelAutoAngle):t.labelAngle=t.sourceLabelAngle=t.targetLabelAngle="autorotate"===i?0:r.pfValue}};e.exports=a},function(e,t,n){"use strict";var r={getNodeShape:function(e){var t=e.pstyle("shape").value;if(e.isParent())return"rectangle"===t||"roundrectangle"===t||"cutrectangle"===t||"barrel"===t?t:"rectangle";if("polygon"===t){var n=e.pstyle("shape-polygon-points").value;return this.nodeShapes.makePolygon(n).name}return t}};e.exports=r},function(e,t,n){"use strict";var r={registerCalculationListeners:function(){var e=this.cy,t=e.collection(),n=this,r=function(e,n){var r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];t.merge(e);for(var i=0;i<e.length;i++){var o=e[i],a=o._private,s=a.rstyle;r&&(s.clean=!1,a.bbCache=null);var l=s.dirtyEvents=s.dirtyEvents||{length:0};l[n.type]||(l[n.type]=!0,l.length++)}};n.binder(e).on("position.* style.* free.* bounds.*","node",(function(e){var t=e.target;r(t,e),r(t.connectedEdges(),e)})).on("add.*","node",(function(e){var t=e.target;r(t,e)})).on("background.*","node",(function(e){var t=e.target;r(t,e,!1)})).on("add.* style.*","edge",(function(e){var t=e.target;r(t,e),r(t.parallelEdges(),e)})).on("remove.*","edge",(function(e){for(var t=e.target.parallelEdges(),n=0;n<t.length;n++){var i=t[n];i.removed()||r(i,e)}})).on("dirty.*","node",(function(e){var t=e.target;r(t,e)})),n.beforeRender((function(r){if(r){var i=n.onUpdateEleCalcsFns;if(i)for(var o=0;o<i.length;o++)(0,i[o])(r,t);for(n.recalculateRenderedStyle(t,!1),o=0;o<t.length;o++)t[o]._private.rstyle.dirtyEvents=null;t=e.collection()}}),n.beforeRenderPriorities.eleCalcs)},onUpdateEleCalcs:function(e){(this.onUpdateEleCalcsFns=this.onUpdateEleCalcsFns||[]).push(e)},recalculateRenderedStyle:function(e,t){var n=[],r=[];if(!this.destroyed){void 0===t&&(t=!0);for(var i=0;i<e.length;i++){var o=(l=(s=e[i])._private).rstyle;t&&o.clean||s.removed()||"none"!==s.pstyle("display").value&&("nodes"===l.group?r.push(s):n.push(s),o.clean=!0)}for(i=0;i<r.length;i++){o=(l=(s=r[i])._private).rstyle;var a=s.position();this.recalculateNodeLabelProjection(s),o.nodeX=a.x,o.nodeY=a.y,o.nodeW=s.pstyle("width").pfValue,o.nodeH=s.pstyle("height").pfValue}for(this.recalculateEdgeProjections(n),i=0;i<n.length;i++){o=(l=(s=n[i])._private).rstyle;var s,l,c=l.rscratch;this.recalculateEdgeLabelProjections(s),o.srcX=c.arrowStartX,o.srcY=c.arrowStartY,o.tgtX=c.arrowEndX,o.tgtY=c.arrowEndY,o.midX=c.midX,o.midY=c.midY,o.labelAngle=c.labelAngle,o.sourceLabelAngle=c.sourceLabelAngle,o.targetLabelAngle=c.targetLabelAngle}}}};e.exports=r},function(e,t,n){"use strict";var r=n(17),i={updateCachedGrabbedEles:function(){var e=this.cachedZSortedEles;if(e){e.drag=[],e.nondrag=[];for(var t=[],n=0;n<e.length;n++){var r=(i=e[n])._private.rscratch;i.grabbed()&&!i.isParent()?t.push(i):r.inDragLayer?e.drag.push(i):e.nondrag.push(i)}for(n=0;n<t.length;n++){var i=t[n];e.drag.push(i)}}},invalidateCachedZSortedEles:function(){this.cachedZSortedEles=null},getCachedZSortedEles:function(e){if(e||!this.cachedZSortedEles){var t=this.cy.mutableElements().toArray();t.sort(r),t.interactive=t.filter((function(e){return e.interactive()})),this.cachedZSortedEles=t,this.updateCachedGrabbedEles()}else t=this.cachedZSortedEles;return t}};e.exports=i},function(e,t,n){"use strict";var r={getCachedImage:function(e,t,n){var r=this.imageCache=this.imageCache||{},i=r[e];if(i)return i.image.complete||i.image.addEventListener("load",n),i.image;var o=(i=r[e]=r[e]||{}).image=new Image;return o.addEventListener("load",n),o.addEventListener("error",(function(){o.error=!0})),"data:"===e.substring(0,"data:".length).toLowerCase()||(o.crossOrigin=t),o.src=e,o}};e.exports=r},function(e,t,n){"use strict";var r=n(0),i=n(1),o=n(2),a=(n(16),{registerBinding:function(e,t,n,r){var i=Array.prototype.slice.apply(arguments,[1]),o=this.binder(e);return o.on.apply(o,i)},binder:function(e){var t=this,n=e===window||e===document||e===document.body||r.domElement(e);if(null==t.supportsPassiveEvents){var i=!1;try{var o=Object.defineProperty({},"passive",{get:function(){i=!0}});window.addEventListener("test",null,o)}catch(e){}t.supportsPassiveEvents=i}var a=function(r,i,o){var a=Array.prototype.slice.call(arguments);return n&&t.supportsPassiveEvents&&(a[2]={capture:null!=o&&o,passive:!1,once:!1}),t.bindings.push({target:e,args:a}),(e.addEventListener||e.on).apply(e,a),this};return{on:a,addEventListener:a,addListener:a,bind:a}},nodeIsDraggable:function(e){return e&&e.isNode()&&!e.locked()&&e.grabbable()},nodeIsGrabbable:function(e){return this.nodeIsDraggable(e)&&e.interactive()}});a.load=function(){var e=this,t=function(t,n,r,o){null==t&&(t=e.cy);for(var a=0;a<n.length;a++){var s=n[a];t.emit(i.extend({originalEvent:r,type:s},o))}},n=function(e){return e.shiftKey||e.metaKey||e.ctrlKey},a=function(t,n){var r=!0;if(e.cy.hasCompoundNodes()&&t&&t.isEdge()){for(var i=0;n&&i<n.length;i++)if((t=n[i]).isNode()&&t.isParent()){r=!1;break}}else r=!0;return r},s=function(e){e[0]._private.rscratch.inDragLayer=!0},l=function(e){e[0]._private.rscratch.isGrabTarget=!0},c=function(t,n){var r=function(t){var n;if(t.addToList&&e.cy.hasCompoundNodes()){if(!t.addToList.hasId){t.addToList.hasId={};for(var r=0;r<t.addToList.length;r++){var i=t.addToList[r];t.addToList.hasId[i.id()]=!0}}n=t.addToList.hasId}return n||{}}(n);r[t.id()]||(n.addToList.push(t),r[t.id()]=!0,function(e){e[0]._private.grabbed=!0}(t))},u=function(t,n){n=n||{};var r=t.cy().hasCompoundNodes();n.inDragLayer&&(t.forEach(s),t.neighborhood().stdFilter((function(e){return!r||e.isEdge()})).forEach(s)),n.addToList&&t.forEach((function(e){c(e,n)})),function(e,t){if(e.cy().hasCompoundNodes()&&(null!=t.inDragLayer||null!=t.addToList)){var n=e.descendants();t.inDragLayer&&(n.forEach(s),n.connectedEdges().forEach(s)),t.addToList&&n.forEach((function(e){c(e,t)}))}}(t,n),f(t,{inDragLayer:n.inDragLayer}),e.updateCachedGrabbedEles()},d=u,p=function(t){t&&(t.hasId={},e.getCachedZSortedEles().forEach((function(e){!function(e){e[0]._private.grabbed=!1}(e),function(e){e[0]._private.rscratch.inDragLayer=!1}(e),function(e){e[0]._private.rscratch.isGrabTarget=!1}(e)})),e.updateCachedGrabbedEles())},f=function(e,t){if((null!=t.inDragLayer||null!=t.addToList)&&e.cy().hasCompoundNodes()){var n=e.ancestors().orphans();if(!n.same(e)){var r=n.descendants().spawnSelf().merge(n).unmerge(e).unmerge(e.descendants()),i=r.connectedEdges();t.inDragLayer&&(i.forEach(s),r.forEach(s)),t.addToList&&r.forEach((function(e){c(e,t)}))}}},h="undefined"!=typeof MutationObserver;h?(e.removeObserver=new MutationObserver((function(t){for(var n=0;n<t.length;n++){var r=t[n].removedNodes;if(r)for(var i=0;i<r.length;i++)if(r[i]===e.container){e.destroy();break}}})),e.container.parentNode&&e.removeObserver.observe(e.container.parentNode,{childList:!0})):e.registerBinding(e.container,"DOMNodeRemoved",(function(t){e.destroy()}));var g=i.debounce((function(){e.cy.resize()}),100);h&&(e.styleObserver=new MutationObserver(g),e.styleObserver.observe(e.container,{attributes:!0})),e.registerBinding(window,"resize",g);var m=function(){e.invalidateContainerClientCoordsCache()};!function(e,t){for(;null!=e;)t(e),e=e.parentNode}(e.container,(function(t){e.registerBinding(t,"transitionend",m),e.registerBinding(t,"animationend",m),e.registerBinding(t,"scroll",m)})),e.registerBinding(e.container,"contextmenu",(function(e){e.preventDefault()}));var v,b,y,x,w,k,A,E,S,$,C,_,O,T=function(t){for(var n=e.findContainerClientCoords(),r=n[0],i=n[1],o=n[2],a=n[3],s=t.touches?t.touches:[t],l=!1,c=0;c<s.length;c++){var u=s[c];if(r<=u.clientX&&u.clientX<=r+o&&i<=u.clientY&&u.clientY<=i+a){l=!0;break}}if(!l)return!1;for(var d=e.container,p=t.target.parentNode,f=!1;p;){if(p===d){f=!0;break}p=p.parentNode}return!!f};e.registerBinding(e.container,"mousedown",(function(n){if(T(n)){n.preventDefault(),e.hoverData.capture=!0,e.hoverData.which=n.which;var r=e.cy,i=[n.clientX,n.clientY],o=e.projectIntoViewport(i[0],i[1]),a=e.selection,s=e.findNearestElements(o[0],o[1],!0,!1),c=s[0],p=e.dragData.possibleDragElements;if(e.hoverData.mdownPos=o,e.hoverData.mdownGPos=i,3==n.which){e.hoverData.cxtStarted=!0;var f={originalEvent:n,type:"cxttapstart",position:{x:o[0],y:o[1]}};c?(c.activate(),c.emit(f),e.hoverData.down=c):r.emit(f),e.hoverData.downTime=(new Date).getTime(),e.hoverData.cxtDragged=!1}else if(1==n.which){if(c&&c.activate(),null!=c&&e.nodeIsGrabbable(c)){var h=function(e){return{originalEvent:n,type:e,position:{x:o[0],y:o[1]}}};if(l(c),c.selected()){p=e.dragData.possibleDragElements=[];var g=r.$((function(t){return t.isNode()&&t.selected()&&e.nodeIsGrabbable(t)}));u(g,{addToList:p}),c.emit(h("grabon")),g.forEach((function(e){e.emit(h("grab"))}))}else p=e.dragData.possibleDragElements=[],d(c,{addToList:p}),c.emit(h("grabon")).emit(h("grab"));e.redrawHint("eles",!0),e.redrawHint("drag",!0)}e.hoverData.down=c,e.hoverData.downs=s,e.hoverData.downTime=(new Date).getTime(),t(c,["mousedown","tapstart","vmousedown"],n,{position:{x:o[0],y:o[1]}}),null==c?(a[4]=1,e.data.bgActivePosistion={x:o[0],y:o[1]},e.redrawHint("select",!0),e.redraw()):c.isEdge()&&(a[4]=1),e.hoverData.tapholdCancelled=!1,clearTimeout(e.hoverData.tapholdTimeout),e.hoverData.tapholdTimeout=setTimeout((function(){if(!e.hoverData.tapholdCancelled){var t=e.hoverData.down;t?t.emit({originalEvent:n,type:"taphold",position:{x:o[0],y:o[1]}}):r.emit({originalEvent:n,type:"taphold",position:{x:o[0],y:o[1]}})}}),e.tapholdDuration)}a[0]=a[2]=o[0],a[1]=a[3]=o[1]}}),!1),e.registerBinding(window,"mousemove",(function(i){if(e.hoverData.capture||T(i)){var s=!1,l=e.cy,c=l.zoom(),d=[i.clientX,i.clientY],f=e.projectIntoViewport(d[0],d[1]),h=e.hoverData.mdownPos,g=e.hoverData.mdownGPos,m=e.selection,v=null;e.hoverData.draggingEles||e.hoverData.dragging||e.hoverData.selecting||(v=e.findNearestElement(f[0],f[1],!0,!1));var b,y=e.hoverData.last,x=e.hoverData.down,w=[f[0]-m[2],f[1]-m[3]],k=e.dragData.possibleDragElements;if(g){var A=d[0]-g[0],E=A*A,S=d[1]-g[1],$=E+S*S;e.hoverData.isOverThresholdDrag=b=$>=e.desktopTapThreshold2}var C=n(i);b&&(e.hoverData.tapholdCancelled=!0),s=!0,t(v,["mousemove","vmousemove","tapdrag"],i,{position:{x:f[0],y:f[1]}});var _=function(){e.data.bgActivePosistion=void 0,e.hoverData.selecting||l.emit("boxstart"),m[4]=1,e.hoverData.selecting=!0,e.redrawHint("select",!0),e.redraw()};if(3===e.hoverData.which){if(b){var O={originalEvent:i,type:"cxtdrag",position:{x:f[0],y:f[1]}};x?x.emit(O):l.emit(O),e.hoverData.cxtDragged=!0,e.hoverData.cxtOver&&v===e.hoverData.cxtOver||(e.hoverData.cxtOver&&e.hoverData.cxtOver.emit({originalEvent:i,type:"cxtdragout",position:{x:f[0],y:f[1]}}),e.hoverData.cxtOver=v,v&&v.emit({originalEvent:i,type:"cxtdragover",position:{x:f[0],y:f[1]}}))}}else if(e.hoverData.dragging){if(s=!0,l.panningEnabled()&&l.userPanningEnabled()){var j;if(e.hoverData.justStartedPan){var P=e.hoverData.mdownPos;j={x:(f[0]-P[0])*c,y:(f[1]-P[1])*c},e.hoverData.justStartedPan=!1}else j={x:w[0]*c,y:w[1]*c};l.panBy(j),e.hoverData.dragged=!0}f=e.projectIntoViewport(i.clientX,i.clientY)}else if(1!=m[4]||null!=x&&!x.isEdge()){if(x&&x.isEdge()&&x.active()&&x.unactivate(),x&&x.grabbed()||v==y||(y&&t(y,["mouseout","tapdragout"],i,{position:{x:f[0],y:f[1]}}),v&&t(v,["mouseover","tapdragover"],i,{position:{x:f[0],y:f[1]}}),e.hoverData.last=v),x)if(b){if(l.boxSelectionEnabled()&&C)x&&x.grabbed()&&(p(k),x.emit("free")),_();else if(x&&x.grabbed()&&e.nodeIsDraggable(x)){var D=!e.dragData.didDrag;D&&e.redrawHint("eles",!0),e.dragData.didDrag=!0;var R=[];e.hoverData.draggingEles||u(l.collection(k),{inDragLayer:!0});for(var I=0;I<k.length;I++){var N=k[I];if(e.nodeIsDraggable(N)&&N.grabbed()){var M=N.position();if(R.push(N),r.number(w[0])&&r.number(w[1])&&(M.x+=w[0],M.y+=w[1],D)){var z=e.hoverData.dragDelta;z&&r.number(z[0])&&r.number(z[1])&&(M.x+=z[0],M.y+=z[1])}}}e.hoverData.draggingEles=!0;var L=l.collection(R);L.dirtyCompoundBoundsCache(),L.emit("position drag"),e.redrawHint("drag",!0),e.redraw()}}else!function(){var t=e.hoverData.dragDelta=e.hoverData.dragDelta||[];0===t.length?(t.push(w[0]),t.push(w[1])):(t[0]+=w[0],t[1]+=w[1])}();s=!0}else b&&(e.hoverData.dragging||!l.boxSelectionEnabled()||!C&&l.panningEnabled()&&l.userPanningEnabled()?!e.hoverData.selecting&&l.panningEnabled()&&l.userPanningEnabled()&&a(x,e.hoverData.downs)&&(e.hoverData.dragging=!0,e.hoverData.justStartedPan=!0,m[4]=0,e.data.bgActivePosistion=o.array2point(h),e.redrawHint("select",!0),e.redraw()):_(),x&&x.isEdge()&&x.active()&&x.unactivate());return m[2]=f[0],m[3]=f[1],s?(i.stopPropagation&&i.stopPropagation(),i.preventDefault&&i.preventDefault(),!1):void 0}}),!1),e.registerBinding(window,"mouseup",(function(r){if(e.hoverData.capture){e.hoverData.capture=!1;var i=e.cy,o=e.projectIntoViewport(r.clientX,r.clientY),a=e.selection,s=e.findNearestElement(o[0],o[1],!0,!1),l=e.dragData.possibleDragElements,c=e.hoverData.down,u=n(r);if(e.data.bgActivePosistion&&(e.redrawHint("select",!0),e.redraw()),e.hoverData.tapholdCancelled=!0,e.data.bgActivePosistion=void 0,c&&c.unactivate(),3===e.hoverData.which){var d={originalEvent:r,type:"cxttapend",position:{x:o[0],y:o[1]}};if(c?c.emit(d):i.emit(d),!e.hoverData.cxtDragged){var f={originalEvent:r,type:"cxttap",position:{x:o[0],y:o[1]}};c?c.emit(f):i.emit(f)}e.hoverData.cxtDragged=!1,e.hoverData.which=null}else if(1===e.hoverData.which){if(null!=c||e.dragData.didDrag||e.hoverData.selecting||e.hoverData.dragged||n(r)||(i.$((function(e){return e.selected()})).unselect(),l.length>0&&e.redrawHint("eles",!0),e.dragData.possibleDragElements=l=[]),t(s,["mouseup","tapend","vmouseup"],r,{position:{x:o[0],y:o[1]}}),e.dragData.didDrag||e.hoverData.dragged||e.hoverData.selecting||e.hoverData.isOverThresholdDrag||t(c,["click","tap","vclick"],r,{position:{x:o[0],y:o[1]}}),s!=c||e.dragData.didDrag||e.hoverData.selecting||null!=s&&s._private.selectable&&(e.hoverData.dragging||("additive"===i.selectionType()||u?s.selected()?s.unselect():s.select():u||(i.$(":selected").unmerge(s).unselect(),s.select())),e.redrawHint("eles",!0)),e.hoverData.selecting){var h=i.collection(e.getAllInBox(a[0],a[1],a[2],a[3]));e.redrawHint("select",!0),h.length>0&&e.redrawHint("eles",!0),i.emit("boxend");var g=function(e){return e.selectable()&&!e.selected()};"additive"===i.selectionType()||u||i.$(":selected").unmerge(h).unselect(),h.emit("box").stdFilter(g).select().emit("boxselect"),e.redraw()}if(e.hoverData.dragging&&(e.hoverData.dragging=!1,e.redrawHint("select",!0),e.redrawHint("eles",!0),e.redraw()),!a[4]){e.redrawHint("drag",!0),e.redrawHint("eles",!0);var m=c&&c.grabbed();p(l),m&&c.emit("free")}}a[4]=0,e.hoverData.down=null,e.hoverData.cxtStarted=!1,e.hoverData.draggingEles=!1,e.hoverData.selecting=!1,e.hoverData.isOverThresholdDrag=!1,e.dragData.didDrag=!1,e.hoverData.dragged=!1,e.hoverData.dragDelta=[],e.hoverData.mdownPos=null,e.hoverData.mdownGPos=null}}),!1),e.registerBinding(e.container,"wheel",(function(t){if(!e.scrollingPage){var n,r=e.cy,i=e.projectIntoViewport(t.clientX,t.clientY),o=[i[0]*r.zoom()+r.pan().x,i[1]*r.zoom()+r.pan().y];e.hoverData.draggingEles||e.hoverData.dragging||e.hoverData.cxtStarted||0!==e.selection[4]?t.preventDefault():r.panningEnabled()&&r.userPanningEnabled()&&r.zoomingEnabled()&&r.userZoomingEnabled()&&(t.preventDefault(),e.data.wheelZooming=!0,clearTimeout(e.data.wheelTimeout),e.data.wheelTimeout=setTimeout((function(){e.data.wheelZooming=!1,e.redrawHint("eles",!0),e.redraw()}),150),n=null!=t.deltaY?t.deltaY/-250:null!=t.wheelDeltaY?t.wheelDeltaY/1e3:t.wheelDelta/1e3,n*=e.wheelSensitivity,1===t.deltaMode&&(n*=33),r.zoom({level:r.zoom()*Math.pow(10,n),renderedPosition:{x:o[0],y:o[1]}}))}}),!0),e.registerBinding(window,"scroll",(function(t){e.scrollingPage=!0,clearTimeout(e.scrollingPageTimeout),e.scrollingPageTimeout=setTimeout((function(){e.scrollingPage=!1}),250)}),!0),e.registerBinding(e.container,"mouseout",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseout",position:{x:n[0],y:n[1]}})}),!1),e.registerBinding(e.container,"mouseover",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseover",position:{x:n[0],y:n[1]}})}),!1);var j,P,D,R,I=function(e,t,n,r){return Math.sqrt((n-e)*(n-e)+(r-t)*(r-t))},N=function(e,t,n,r){return(n-e)*(n-e)+(r-t)*(r-t)};if(e.registerBinding(e.container,"touchstart",j=function(n){if(T(n)){e.touchData.capture=!0,e.data.bgActivePosistion=void 0;var r=e.cy,i=e.touchData.now,o=e.touchData.earlier;if(n.touches[0]){var a=e.projectIntoViewport(n.touches[0].clientX,n.touches[0].clientY);i[0]=a[0],i[1]=a[1]}if(n.touches[1]&&(a=e.projectIntoViewport(n.touches[1].clientX,n.touches[1].clientY),i[2]=a[0],i[3]=a[1]),n.touches[2]&&(a=e.projectIntoViewport(n.touches[2].clientX,n.touches[2].clientY),i[4]=a[0],i[5]=a[1]),n.touches[1]){p(e.dragData.touchDragEles);var s=e.findContainerClientCoords();S=s[0],$=s[1],C=s[2],_=s[3],v=n.touches[0].clientX-S,b=n.touches[0].clientY-$,y=n.touches[1].clientX-S,x=n.touches[1].clientY-$,O=0<=v&&v<=C&&0<=y&&y<=C&&0<=b&&b<=_&&0<=x&&x<=_;var c=r.pan(),f=r.zoom();if(w=I(v,b,y,x),k=N(v,b,y,x),E=[((A=[(v+y)/2,(b+x)/2])[0]-c.x)/f,(A[1]-c.y)/f],k<4e4&&!n.touches[2]){var h=e.findNearestElement(i[0],i[1],!0,!0),g=e.findNearestElement(i[2],i[3],!0,!0);return h&&h.isNode()?(h.activate().emit({originalEvent:n,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start=h):g&&g.isNode()?(g.activate().emit({originalEvent:n,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start=g):r.emit({originalEvent:n,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!0,e.touchData.cxtDragged=!1,e.data.bgActivePosistion=void 0,void e.redraw()}}if(n.touches[2]);else if(n.touches[1]);else if(n.touches[0]){var m=e.findNearestElements(i[0],i[1],!0,!0),j=m[0];if(null!=j&&(j.activate(),e.touchData.start=j,e.touchData.starts=m,e.nodeIsGrabbable(j))){var P=e.dragData.touchDragEles=[],D=null;e.redrawHint("eles",!0),e.redrawHint("drag",!0),j.selected()?(D=r.$((function(t){return t.selected()&&e.nodeIsGrabbable(t)})),u(D,{addToList:P})):d(j,{addToList:P}),l(j);var R=function(e){return{originalEvent:n,type:e,position:{x:i[0],y:i[1]}}};j.emit(R("grabon")),D?D.forEach((function(e){e.emit(R("grab"))})):j.emit(R("grab"))}t(j,["touchstart","tapstart","vmousedown"],n,{position:{x:i[0],y:i[1]}}),null==j&&(e.data.bgActivePosistion={x:a[0],y:a[1]},e.redrawHint("select",!0),e.redraw()),e.touchData.singleTouchMoved=!1,e.touchData.singleTouchStartTime=+new Date,clearTimeout(e.touchData.tapholdTimeout),e.touchData.tapholdTimeout=setTimeout((function(){!1!==e.touchData.singleTouchMoved||e.pinching||e.touchData.selecting||(t(e.touchData.start,["taphold"],n,{position:{x:i[0],y:i[1]}}),e.touchData.start||r.$(":selected").unselect())}),e.tapholdDuration)}if(n.touches.length>=1){for(var M=e.touchData.startPosition=[],z=0;z<i.length;z++)M[z]=o[z]=i[z];var L=n.touches[0];e.touchData.startGPosition=[L.clientX,L.clientY]}}},!1),e.registerBinding(window,"touchmove",P=function(n){var i=e.touchData.capture;if(i||T(n)){var s=e.selection,l=e.cy,c=e.touchData.now,d=e.touchData.earlier,f=l.zoom();if(n.touches[0]){var h=e.projectIntoViewport(n.touches[0].clientX,n.touches[0].clientY);c[0]=h[0],c[1]=h[1]}n.touches[1]&&(h=e.projectIntoViewport(n.touches[1].clientX,n.touches[1].clientY),c[2]=h[0],c[3]=h[1]),n.touches[2]&&(h=e.projectIntoViewport(n.touches[2].clientX,n.touches[2].clientY),c[4]=h[0],c[5]=h[1]);var g,m=e.touchData.startGPosition;if(i&&n.touches[0]&&m){for(var A=[],C=0;C<c.length;C++)A[C]=c[C]-d[C];var _=n.touches[0].clientX-m[0],j=_*_,P=n.touches[0].clientY-m[1];g=j+P*P>=e.touchTapThreshold2}if(i&&e.touchData.cxt){n.preventDefault();var D=n.touches[0].clientX-S,R=n.touches[0].clientY-$,M=n.touches[1].clientX-S,z=n.touches[1].clientY-$,L=N(D,R,M,z);if(L/k>=2.25||L>=22500){e.touchData.cxt=!1,e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var B={originalEvent:n,type:"cxttapend",position:{x:c[0],y:c[1]}};e.touchData.start?(e.touchData.start.unactivate().emit(B),e.touchData.start=null):l.emit(B)}}if(i&&e.touchData.cxt){B={originalEvent:n,type:"cxtdrag",position:{x:c[0],y:c[1]}},e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.touchData.start?e.touchData.start.emit(B):l.emit(B),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxtDragged=!0;var F=e.findNearestElement(c[0],c[1],!0,!0);e.touchData.cxtOver&&F===e.touchData.cxtOver||(e.touchData.cxtOver&&e.touchData.cxtOver.emit({originalEvent:n,type:"cxtdragout",position:{x:c[0],y:c[1]}}),e.touchData.cxtOver=F,F&&F.emit({originalEvent:n,type:"cxtdragover",position:{x:c[0],y:c[1]}}))}else if(i&&n.touches[2]&&l.boxSelectionEnabled())n.preventDefault(),e.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,e.touchData.selecting||l.emit("boxstart"),e.touchData.selecting=!0,e.redrawHint("select",!0),s&&0!==s.length&&void 0!==s[0]?(s[2]=(c[0]+c[2]+c[4])/3,s[3]=(c[1]+c[3]+c[5])/3):(s[0]=(c[0]+c[2]+c[4])/3,s[1]=(c[1]+c[3]+c[5])/3,s[2]=(c[0]+c[2]+c[4])/3+1,s[3]=(c[1]+c[3]+c[5])/3+1),s[4]=1,e.touchData.selecting=!0,e.redraw();else if(i&&n.touches[1]&&l.zoomingEnabled()&&l.panningEnabled()&&l.userZoomingEnabled()&&l.userPanningEnabled()){if(n.preventDefault(),e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),ee=e.dragData.touchDragEles){e.redrawHint("drag",!0);for(var q=0;q<ee.length;q++){var V=ee[q]._private;V.grabbed=!1,V.rscratch.inDragLayer=!1}}D=n.touches[0].clientX-S,R=n.touches[0].clientY-$,M=n.touches[1].clientX-S,z=n.touches[1].clientY-$;var U=I(D,R,M,z),H=U/w;if(O){var G=(D-v+(M-y))/2,W=(R-b+(z-x))/2,Y=l.zoom(),X=Y*H,Z=l.pan(),Q=E[0]*Y+Z.x,J=E[1]*Y+Z.y,K={x:-X/Y*(Q-Z.x-G)+Q,y:-X/Y*(J-Z.y-W)+J};if(e.touchData.start&&e.touchData.start.active()){var ee=e.dragData.touchDragEles;p(ee),e.redrawHint("drag",!0),e.redrawHint("eles",!0),e.touchData.start.unactivate().emit("free")}l.viewport({zoom:X,pan:K,cancelOnFailedZoom:!0}),w=U,v=D,b=R,y=M,x=z,e.pinching=!0}n.touches[0]&&(h=e.projectIntoViewport(n.touches[0].clientX,n.touches[0].clientY),c[0]=h[0],c[1]=h[1]),n.touches[1]&&(h=e.projectIntoViewport(n.touches[1].clientX,n.touches[1].clientY),c[2]=h[0],c[3]=h[1]),n.touches[2]&&(h=e.projectIntoViewport(n.touches[2].clientX,n.touches[2].clientY),c[4]=h[0],c[5]=h[1])}else if(n.touches[0]){var te=e.touchData.start,ne=e.touchData.last;if(e.hoverData.draggingEles||e.swipePanning||(F=e.findNearestElement(c[0],c[1],!0,!0)),i&&null!=te&&n.preventDefault(),i&&null!=te&&e.nodeIsDraggable(te))if(g){ee=e.dragData.touchDragEles;var re=!e.dragData.didDrag;re&&u(l.collection(ee),{inDragLayer:!0});for(var ie=0;ie<ee.length;ie++){var oe=ee[ie];if(e.nodeIsDraggable(oe)&&oe.grabbed()){e.dragData.didDrag=!0;var ae=oe.position();r.number(A[0])&&r.number(A[1])&&(ae.x+=A[0],ae.y+=A[1]),re&&(e.redrawHint("eles",!0),(le=e.touchData.dragDelta)&&r.number(le[0])&&r.number(le[1])&&(ae.x+=le[0],ae.y+=le[1]))}}var se=l.collection(ee);se.dirtyCompoundBoundsCache(),se.emit("position drag"),e.hoverData.draggingEles=!0,e.redrawHint("drag",!0),e.touchData.startPosition[0]==d[0]&&e.touchData.startPosition[1]==d[1]&&e.redrawHint("eles",!0),e.redraw()}else{var le;0===(le=e.touchData.dragDelta=e.touchData.dragDelta||[]).length?(le.push(A[0]),le.push(A[1])):(le[0]+=A[0],le[1]+=A[1])}if(t(te||F,["touchmove","tapdrag","vmousemove"],n,{position:{x:c[0],y:c[1]}}),te&&te.grabbed()||F==ne||(ne&&ne.emit({originalEvent:n,type:"tapdragout",position:{x:c[0],y:c[1]}}),F&&F.emit({originalEvent:n,type:"tapdragover",position:{x:c[0],y:c[1]}})),e.touchData.last=F,i)for(q=0;q<c.length;q++)c[q]&&e.touchData.startPosition[q]&&g&&(e.touchData.singleTouchMoved=!0);i&&(null==te||te.isEdge())&&l.panningEnabled()&&l.userPanningEnabled()&&(a(te,e.touchData.starts)&&(n.preventDefault(),e.swipePanning?l.panBy({x:A[0]*f,y:A[1]*f}):g&&(e.swipePanning=!0,l.panBy({x:_*f,y:P*f}),te&&(te.unactivate(),e.data.bgActivePosistion||(e.data.bgActivePosistion=o.array2point(e.touchData.startPosition)),e.redrawHint("select",!0),e.touchData.start=null))),h=e.projectIntoViewport(n.touches[0].clientX,n.touches[0].clientY),c[0]=h[0],c[1]=h[1])}for(C=0;C<c.length;C++)d[C]=c[C]}},!1),e.registerBinding(window,"touchcancel",D=function(t){var n=e.touchData.start;e.touchData.capture=!1,n&&n.unactivate()}),e.registerBinding(window,"touchend",R=function(n){var r=e.touchData.start;if(e.touchData.capture){e.touchData.capture=!1,n.preventDefault();var i=e.selection;e.swipePanning=!1,e.hoverData.draggingEles=!1;var o,a=e.cy,s=a.zoom(),l=e.touchData.now,c=e.touchData.earlier;if(n.touches[0]){var u=e.projectIntoViewport(n.touches[0].clientX,n.touches[0].clientY);l[0]=u[0],l[1]=u[1]}if(n.touches[1]&&(u=e.projectIntoViewport(n.touches[1].clientX,n.touches[1].clientY),l[2]=u[0],l[3]=u[1]),n.touches[2]&&(u=e.projectIntoViewport(n.touches[2].clientX,n.touches[2].clientY),l[4]=u[0],l[5]=u[1]),r&&r.unactivate(),e.touchData.cxt){if(o={originalEvent:n,type:"cxttapend",position:{x:l[0],y:l[1]}},r?r.emit(o):a.emit(o),!e.touchData.cxtDragged){var d={originalEvent:n,type:"cxttap",position:{x:l[0],y:l[1]}};r?r.emit(d):a.emit(d)}return e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!1,e.touchData.start=null,void e.redraw()}if(!n.touches[2]&&a.boxSelectionEnabled()&&e.touchData.selecting){e.touchData.selecting=!1;var f=a.collection(e.getAllInBox(i[0],i[1],i[2],i[3]));i[0]=void 0,i[1]=void 0,i[2]=void 0,i[3]=void 0,i[4]=0,e.redrawHint("select",!0),a.emit("boxend"),f.emit("box").stdFilter((function(e){return e.selectable()&&!e.selected()})).select().emit("boxselect"),f.nonempty()&&e.redrawHint("eles",!0),e.redraw()}if(null!=r&&r.unactivate(),n.touches[2])e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);else if(n.touches[1]);else if(n.touches[0]);else if(!n.touches[0]){e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var h=e.dragData.touchDragEles;if(null!=r){var g=r._private.grabbed;p(h),e.redrawHint("drag",!0),e.redrawHint("eles",!0),g&&r.emit("free"),t(r,["touchend","tapend","vmouseup","tapdragout"],n,{position:{x:l[0],y:l[1]}}),r.unactivate(),e.touchData.start=null}else{var m=e.findNearestElement(l[0],l[1],!0,!0);t(m,["touchend","tapend","vmouseup","tapdragout"],n,{position:{x:l[0],y:l[1]}})}var v=e.touchData.startPosition[0]-l[0],b=v*v,y=e.touchData.startPosition[1]-l[1],x=(b+y*y)*s*s;null!=r&&!e.dragData.didDrag&&r._private.selectable&&x<e.touchTapThreshold2&&!e.pinching&&("single"===a.selectionType()?(a.$(":selected").unmerge(r).unselect(),r.select()):r.selected()?r.unselect():r.select(),e.redrawHint("eles",!0)),e.touchData.singleTouchMoved||t(r,["tap","vclick"],n,{position:{x:l[0],y:l[1]}}),e.touchData.singleTouchMoved=!0}for(var w=0;w<l.length;w++)c[w]=l[w];e.dragData.didDrag=!1,0===n.touches.length&&(e.touchData.dragDelta=[],e.touchData.startPosition=null,e.touchData.startGPosition=null),n.touches.length<2&&(e.pinching=!1,e.redrawHint("eles",!0),e.redraw())}},!1),"undefined"==typeof TouchEvent){var M=[],z=function(e){return{clientX:e.clientX,clientY:e.clientY,force:1,identifier:e.pointerId,pageX:e.pageX,pageY:e.pageY,radiusX:e.width/2,radiusY:e.height/2,screenX:e.screenX,screenY:e.screenY,target:e.target}},L=function(e){M.push(function(e){return{event:e,touch:z(e)}}(e))},B=function(e){for(var t=0;t<M.length;t++)if(M[t].event.pointerId===e.pointerId)return void M.splice(t,1)},F=function(e){e.touches=M.map((function(e){return e.touch}))},q=function(e){return"mouse"===e.pointerType||4===e.pointerType};e.registerBinding(e.container,"pointerdown",(function(e){q(e)||(e.preventDefault(),L(e),F(e),j(e))})),e.registerBinding(e.container,"pointerup",(function(e){q(e)||(B(e),F(e),R(e))})),e.registerBinding(e.container,"pointercancel",(function(e){q(e)||(B(e),F(e),D())})),e.registerBinding(e.container,"pointermove",(function(e){q(e)||(e.preventDefault(),function(e){var t=M.filter((function(t){return t.event.pointerId===e.pointerId}))[0];t.event=e,t.touch=z(e)}(e),F(e),P(e))}))}},e.exports=a},function(e,t,n){"use strict";var r=n(2),i={generatePolygon:function(e,t){return this.nodeShapes[e]={renderer:this,name:e,points:t,draw:function(e,t,n,r,i){this.renderer.nodeShapeImpl("polygon",e,t,n,r,i,this.points)},intersectLine:function(e,t,n,i,o,a,s){return r.polygonIntersectLine(o,a,this.points,e,t,n/2,i/2,s)},checkPoint:function(e,t,n,i,o,a,s){return r.pointInsidePolygon(e,t,this.points,a,s,i,o,[0,-1],n)}}},generateEllipse:function(){return this.nodeShapes.ellipse={renderer:this,name:"ellipse",draw:function(e,t,n,r,i){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i)},intersectLine:function(e,t,n,i,o,a,s){return r.intersectLineEllipse(o,a,e,t,n/2+s,i/2+s)},checkPoint:function(e,t,n,i,o,a,s){return r.checkInEllipse(e,t,i,o,a,s,n)}}},generateRoundRectangle:function(){return this.nodeShapes.roundrectangle={renderer:this,name:"roundrectangle",points:r.generateUnitNgonPointsFitToSquare(4,0),draw:function(e,t,n,r,i){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i)},intersectLine:function(e,t,n,i,o,a,s){return r.roundRectangleIntersectLine(o,a,e,t,n,i,s)},checkPoint:function(e,t,n,i,o,a,s){var l=r.getRoundRectangleRadius(i,o),c=2*l;return!!(r.pointInsidePolygon(e,t,this.points,a,s,i,o-c,[0,-1],n)||r.pointInsidePolygon(e,t,this.points,a,s,i-c,o,[0,-1],n)||r.checkInEllipse(e,t,c,c,a-i/2+l,s-o/2+l,n)||r.checkInEllipse(e,t,c,c,a+i/2-l,s-o/2+l,n)||r.checkInEllipse(e,t,c,c,a+i/2-l,s+o/2-l,n)||r.checkInEllipse(e,t,c,c,a-i/2+l,s+o/2-l,n))}}},generateCutRectangle:function(){return this.nodeShapes.cutrectangle={renderer:this,name:"cutrectangle",cornerLength:r.getCutRectangleCornerLength(),points:r.generateUnitNgonPointsFitToSquare(4,0),draw:function(e,t,n,r,i){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i)},generateCutTrianglePts:function(e,t,n,r){var i=this.cornerLength,o=t/2,a=e/2,s=n-a,l=n+a,c=r-o,u=r+o;return{topLeft:[s,c+i,s+i,c,s+i,c+i],topRight:[l-i,c,l,c+i,l-i,c+i],bottomRight:[l,u-i,l-i,u,l-i,u-i],bottomLeft:[s+i,u,s,u-i,s+i,u-i]}},intersectLine:function(e,t,n,i,o,a,s){var l=this.generateCutTrianglePts(n+2*s,i+2*s,e,t),c=[].concat.apply([],[l.topLeft.splice(0,4),l.topRight.splice(0,4),l.bottomRight.splice(0,4),l.bottomLeft.splice(0,4)]);return r.polygonIntersectLine(o,a,c,e,t)},checkPoint:function(e,t,n,i,o,a,s){if(r.pointInsidePolygon(e,t,this.points,a,s,i,o-2*this.cornerLength,[0,-1],n))return!0;if(r.pointInsidePolygon(e,t,this.points,a,s,i-2*this.cornerLength,o,[0,-1],n))return!0;var l=this.generateCutTrianglePts(i,o,a,s);return r.pointInsidePolygonPoints(e,t,l.topLeft)||r.pointInsidePolygonPoints(e,t,l.topRight)||r.pointInsidePolygonPoints(e,t,l.bottomRight)||r.pointInsidePolygonPoints(e,t,l.bottomLeft)}}},generateBarrel:function(){return this.nodeShapes.barrel={renderer:this,name:"barrel",points:r.generateUnitNgonPointsFitToSquare(4,0),draw:function(e,t,n,r,i){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i)},intersectLine:function(e,t,n,i,o,a,s){var l=this.generateBarrelBezierPts(n+2*s,i+2*s,e,t),c=function(e){var t=r.qbezierPtAt({x:e[0],y:e[1]},{x:e[2],y:e[3]},{x:e[4],y:e[5]},.15),n=r.qbezierPtAt({x:e[0],y:e[1]},{x:e[2],y:e[3]},{x:e[4],y:e[5]},.5),i=r.qbezierPtAt({x:e[0],y:e[1]},{x:e[2],y:e[3]},{x:e[4],y:e[5]},.85);return[e[0],e[1],t.x,t.y,n.x,n.y,i.x,i.y,e[4],e[5]]},u=[].concat(c(l.topLeft),c(l.topRight),c(l.bottomRight),c(l.bottomLeft));return r.polygonIntersectLine(o,a,u,e,t)},generateBarrelBezierPts:function(e,t,n,i){var o=t/2,a=e/2,s=n-a,l=n+a,c=i-o,u=i+o,d=r.getBarrelCurveConstants(e,t),p=d.heightOffset,f=d.widthOffset,h=d.ctrlPtOffsetPct*e,g={topLeft:[s,c+p,s+h,c,s+f,c],topRight:[l-f,c,l-h,c,l,c+p],bottomRight:[l,u-p,l-h,u,l-f,u],bottomLeft:[s+f,u,s+h,u,s,u-p]};return g.topLeft.isTop=!0,g.topRight.isTop=!0,g.bottomLeft.isBottom=!0,g.bottomRight.isBottom=!0,g},checkPoint:function(e,t,n,i,o,a,s){var l=r.getBarrelCurveConstants(i,o),c=l.heightOffset,u=l.widthOffset;if(r.pointInsidePolygon(e,t,this.points,a,s,i,o-2*c,[0,-1],n))return!0;if(r.pointInsidePolygon(e,t,this.points,a,s,i-2*u,o,[0,-1],n))return!0;for(var d=this.generateBarrelBezierPts(i,o,a,s),p=function(e,t,n){var i=n[4],o=n[2],a=n[0],s=n[5],l=n[1],c=Math.min(i,a),u=Math.max(i,a),d=Math.min(s,l),p=Math.max(s,l);if(c<=e&&e<=u&&d<=t&&t<=p){var f=r.bezierPtsToQuadCoeff(i,o,a),h=r.solveQuadratic(f[0],f[1],f[2],e).filter((function(e){return 0<=e&&e<=1}));if(h.length>0)return h[0]}return null},f=Object.keys(d),h=0;h<f.length;h++){var g=d[f[h]],m=p(e,t,g);if(null!=m){var v=g[5],b=g[3],y=g[1],x=r.qbezierAt(v,b,y,m);if(g.isTop&&x<=t)return!0;if(g.isBottom&&t<=x)return!0}}return!1}}},generateBottomRoundrectangle:function(){return this.nodeShapes.bottomroundrectangle={renderer:this,name:"bottomroundrectangle",points:r.generateUnitNgonPointsFitToSquare(4,0),draw:function(e,t,n,r,i){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i)},intersectLine:function(e,t,n,i,o,a,s){var l=e-(n/2+s),c=t-(i/2+s),u=c,d=e+(n/2+s),p=r.finiteLinesIntersect(o,a,e,t,l,c,d,u,!1);return p.length>0?p:r.roundRectangleIntersectLine(o,a,e,t,n,i,s)},checkPoint:function(e,t,n,i,o,a,s){var l=r.getRoundRectangleRadius(i,o),c=2*l;if(r.pointInsidePolygon(e,t,this.points,a,s,i,o-c,[0,-1],n))return!0;if(r.pointInsidePolygon(e,t,this.points,a,s,i-c,o,[0,-1],n))return!0;var u=i/2+2*n,d=o/2+2*n,p=[a-u,s-d,a-u,s,a+u,s,a+u,s-d];return!!r.pointInsidePolygonPoints(e,t,p)||!!r.checkInEllipse(e,t,c,c,a+i/2-l,s+o/2-l,n)||!!r.checkInEllipse(e,t,c,c,a-i/2+l,s+o/2-l,n)}}},registerNodeShapes:function(){var e=this.nodeShapes={},t=this;this.generateEllipse(),this.generatePolygon("triangle",r.generateUnitNgonPointsFitToSquare(3,0)),this.generatePolygon("rectangle",r.generateUnitNgonPointsFitToSquare(4,0)),e.square=e.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle(),this.generatePolygon("diamond",[0,1,1,0,0,-1,-1,0]),this.generatePolygon("pentagon",r.generateUnitNgonPointsFitToSquare(5,0)),this.generatePolygon("hexagon",r.generateUnitNgonPointsFitToSquare(6,0)),this.generatePolygon("heptagon",r.generateUnitNgonPointsFitToSquare(7,0)),this.generatePolygon("octagon",r.generateUnitNgonPointsFitToSquare(8,0));var n=new Array(20),i=r.generateUnitNgonPoints(5,0),o=r.generateUnitNgonPoints(5,Math.PI/5),a=.5*(3-Math.sqrt(5));a*=1.57;for(var s=0;s<o.length/2;s++)o[2*s]*=a,o[2*s+1]*=a;for(s=0;s<5;s++)n[4*s]=i[2*s],n[4*s+1]=i[2*s+1],n[4*s+2]=o[2*s],n[4*s+3]=o[2*s+1];n=r.fitPolygonToSquare(n),this.generatePolygon("star",n),this.generatePolygon("vee",[-1,-1,0,-.333,1,-1,0,1]),this.generatePolygon("rhomboid",[-1,-1,.333,-1,1,1,-.333,1]),this.generatePolygon("concavehexagon",[-1,-.95,-.75,0,-1,.95,1,.95,.75,0,1,-.95]),this.generatePolygon("tag",[-1,-1,.25,-1,1,0,.25,1,-1,1]),e.makePolygon=function(e){var n,r="polygon-"+e.join("$");return(n=this[r])?n:t.generatePolygon(r,e)}}};e.exports=i},function(e,t,n){"use strict";var r=n(1),i={timeToRender:function(){return this.redrawTotalTime/this.redrawCount},redraw:function(e){e=e||r.staticEmptyObject();var t=this;void 0===t.averageRedrawTime&&(t.averageRedrawTime=0),void 0===t.lastRedrawTime&&(t.lastRedrawTime=0),void 0===t.lastDrawTime&&(t.lastDrawTime=0),t.requestedFrame=!0,t.renderOptions=e},beforeRender:function(e,t){if(!this.destroyed){t=t||0;var n=this.beforeRenderCallbacks;n.push({fn:e,priority:t}),n.sort((function(e,t){return t.priority-e.priority}))}}},o=function(e,t,n){for(var r=e.beforeRenderCallbacks,i=0;i<r.length;i++)r[i].fn(t,n)};i.startRenderLoop=function(){var e=this;e.renderLoopStarted||(e.renderLoopStarted=!0,r.requestAnimationFrame((function t(n){if(!e.destroyed){if(e.requestedFrame&&!e.skipFrame){o(e,!0,n);var i=r.performanceNow();e.render(e.renderOptions);var a=e.lastDrawTime=r.performanceNow();void 0===e.averageRedrawTime&&(e.averageRedrawTime=a-i),void 0===e.redrawCount&&(e.redrawCount=0),e.redrawCount++,void 0===e.redrawTotalTime&&(e.redrawTotalTime=0);var s=a-i;e.redrawTotalTime+=s,e.lastRedrawTime=s,e.averageRedrawTime=e.averageRedrawTime/2+s/2,e.requestedFrame=!1}else o(e,!1,n);e.skipFrame=!1,r.requestAnimationFrame(t)}})))},e.exports=i},function(e,t,n){"use strict";var r=n(1),i=n(0),o=n(124),a=n(125),s=c,l=c.prototype;function c(e){var t=this;t.data={canvases:new Array(l.CANVAS_LAYERS),contexts:new Array(l.CANVAS_LAYERS),canvasNeedsRedraw:new Array(l.CANVAS_LAYERS),bufferCanvases:new Array(l.BUFFER_COUNT),bufferContexts:new Array(l.CANVAS_LAYERS)};var n="-webkit-tap-highlight-color: rgba(0,0,0,0);";t.data.canvasContainer=document.createElement("div");var r=t.data.canvasContainer.style;t.data.canvasContainer.setAttribute("style",n),r.position="relative",r.zIndex="0",r.overflow="hidden";var s=e.cy.container();s.appendChild(t.data.canvasContainer),(s.getAttribute("style")||"").indexOf(n)<0&&s.setAttribute("style",(s.getAttribute("style")||"")+n);for(var c=0;c<l.CANVAS_LAYERS;c++){var u=t.data.canvases[c]=document.createElement("canvas");t.data.contexts[c]=u.getContext("2d"),u.setAttribute("style","-webkit-user-select: none; -moz-user-select: -moz-none; user-select: none; -webkit-tap-highlight-color: rgba(0,0,0,0); outline-style: none;"+(i.ms()?" -ms-touch-action: none; touch-action: none; ":"")),u.style.position="absolute",u.setAttribute("data-id","layer"+c),u.style.zIndex=String(l.CANVAS_LAYERS-c),t.data.canvasContainer.appendChild(u),t.data.canvasNeedsRedraw[c]=!1}for(t.data.topCanvas=t.data.canvases[0],t.data.canvases[l.NODE].setAttribute("data-id","layer"+l.NODE+"-node"),t.data.canvases[l.SELECT_BOX].setAttribute("data-id","layer"+l.SELECT_BOX+"-selectbox"),t.data.canvases[l.DRAG].setAttribute("data-id","layer"+l.DRAG+"-drag"),c=0;c<l.BUFFER_COUNT;c++)t.data.bufferCanvases[c]=document.createElement("canvas"),t.data.bufferContexts[c]=t.data.bufferCanvases[c].getContext("2d"),t.data.bufferCanvases[c].style.position="absolute",t.data.bufferCanvases[c].setAttribute("data-id","buffer"+c),t.data.bufferCanvases[c].style.zIndex=String(-c-1),t.data.bufferCanvases[c].style.visibility="hidden";t.pathsEnabled=!0,t.data.eleTxrCache=new o(t),t.data.lyrTxrCache=new a(t,t.data.eleTxrCache),t.onUpdateEleCalcs((function(e,n){for(var r=0;r<n.length;r++){var i=n[r],o=i._private.rstyle,a=o.dirtyEvents;if(i.isNode()&&a&&1===a.length&&a.position);else if(t.data.eleTxrCache.invalidateElement(i),i.isParent()&&a.style){var s=o.prevParentOpacity,l=i.pstyle("opacity").pfValue;if(o.prevParentOpacity=l,s!==l)for(var c=i.descendants(),u=0;u<c.length;u++)t.data.eleTxrCache.invalidateElement(c[u])}}n.length>0&&t.data.lyrTxrCache.invalidateElements(n)}))}l.CANVAS_LAYERS=3,l.SELECT_BOX=0,l.DRAG=1,l.NODE=2,l.BUFFER_COUNT=3,l.TEXTURE_BUFFER=0,l.MOTIONBLUR_BUFFER_NODE=1,l.MOTIONBLUR_BUFFER_DRAG=2,l.redrawHint=function(e,t){var n=this;switch(e){case"eles":n.data.canvasNeedsRedraw[l.NODE]=t;break;case"drag":n.data.canvasNeedsRedraw[l.DRAG]=t;break;case"select":n.data.canvasNeedsRedraw[l.SELECT_BOX]=t}};var u="undefined"!=typeof Path2D;l.path2dEnabled=function(e){if(void 0===e)return this.pathsEnabled;this.pathsEnabled=!!e},l.usePaths=function(){return u&&this.pathsEnabled},[n(126),n(127),n(128),n(129),n(130),n(131),n(132),n(133),n(134),n(135)].forEach((function(e){r.extend(l,e)})),e.exports=s},function(e,t,n){"use strict";var r=n(2),i=n(1),o=n(9),a=n(19),s={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},l=function(e){this.renderer=e,this.onDequeues=[],this.setupDequeueing()},c=l.prototype;c.reasons=s,c.getTextureQueue=function(e){return this.eleImgCaches=this.eleImgCaches||{},this.eleImgCaches[e]=this.eleImgCaches[e]||[]},c.getRetiredTextureQueue=function(e){var t=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return t[e]=t[e]||[]},c.getElementQueue=function(){return this.eleCacheQueue=this.eleCacheQueue||new o((function(e,t){return t.reqs-e.reqs}))},c.getElementIdToQueue=function(){return this.eleIdToCacheQueue=this.eleIdToCacheQueue||{}},c.getElement=function(e,t,n,i,o){var a=this,l=this.renderer,c=e._private.rscratch,u=l.cy.zoom();if(0===t.w||0===t.h||!e.visible())return null;if(null==i&&(i=Math.ceil(r.log2(u*n))),i<-4)i=-4;else if(u>=3.99||i>2)return null;var d,p=Math.pow(2,i),f=t.h*p,h=t.w*p,g=c.imgCaches=c.imgCaches||{},m=g[i];if(m)return m;if(d=f<=25?25:f<=50?50:50*Math.ceil(f/50),f>1024||h>1024||e.isEdge()||e.isParent())return null;var v=a.getTextureQueue(d),b=v[v.length-2],y=function(){return a.recycleTexture(d,h)||a.addTexture(d,h)};b||(b=v[v.length-1]),b||(b=y()),b.width-b.usedWidth<h&&(b=y());for(var x,w=l.eleTextBiggerThanMin(e,p),k=function(e){return e&&e.scaledLabelShown===w},A=o&&o===s.dequeue,E=o&&o===s.highQuality,S=o&&o===s.downscale,$=i+1;$<=2;$++)if(T=g[$]){x=T;break}var C=x&&x.level===i+1?x:null,_=function(){b.context.drawImage(C.texture.canvas,C.x,0,C.width,C.height,b.usedWidth,0,h,f)};if(b.context.setTransform(1,0,0,1,0,0),b.context.clearRect(b.usedWidth,0,h,d),k(C))_();else if(k(x)){if(!E)return a.queueElement(e,x.level-1),x;for($=x.level;$>i;$--)C=a.getElement(e,t,n,$,s.downscale);_()}else{var O;if(!A&&!E&&!S)for($=i-1;$>=-4;$--){var T;if(T=g[$]){O=T;break}}if(k(O))return a.queueElement(e,i),O;b.context.translate(b.usedWidth,0),b.context.scale(p,p),l.drawElement(b.context,e,t,w),b.context.scale(1/p,1/p),b.context.translate(-b.usedWidth,0)}return m=g[i]={ele:e,x:b.usedWidth,texture:b,level:i,scale:p,width:h,height:f,scaledLabelShown:w},b.usedWidth+=Math.ceil(h+8),b.eleCaches.push(m),a.checkTextureFullness(b),m},c.invalidateElement=function(e){var t=e._private.rscratch.imgCaches;if(t)for(var n=-4;n<=2;n++){var r=t[n];if(r){var o=r.texture;o.invalidatedWidth+=r.width,t[n]=null,i.removeFromArray(o.eleCaches,r),this.removeFromQueue(e),this.checkTextureUtility(o)}}},c.checkTextureUtility=function(e){e.invalidatedWidth>=.5*e.width&&this.retireTexture(e)},c.checkTextureFullness=function(e){var t=this.getTextureQueue(e.height);e.usedWidth/e.width>.8&&e.fullnessChecks>=10?i.removeFromArray(t,e):e.fullnessChecks++},c.retireTexture=function(e){var t=e.height,n=this.getTextureQueue(t);i.removeFromArray(n,e),e.retired=!0;for(var r=e.eleCaches,o=0;o<r.length;o++){var a=r[o],s=a.ele,l=a.level,c=s._private.rscratch.imgCaches;c&&(c[l]=null)}i.clearArray(r),this.getRetiredTextureQueue(t).push(e)},c.addTexture=function(e,t){var n={};return this.getTextureQueue(e).push(n),n.eleCaches=[],n.height=e,n.width=Math.max(1024,t),n.usedWidth=0,n.invalidatedWidth=0,n.fullnessChecks=0,n.canvas=document.createElement("canvas"),n.canvas.width=n.width,n.canvas.height=n.height,n.context=n.canvas.getContext("2d"),n},c.recycleTexture=function(e,t){for(var n=this.getTextureQueue(e),r=this.getRetiredTextureQueue(e),o=0;o<r.length;o++){var a=r[o];if(a.width>=t)return a.retired=!1,a.usedWidth=0,a.invalidatedWidth=0,a.fullnessChecks=0,i.clearArray(a.eleCaches),a.context.setTransform(1,0,0,1,0,0),a.context.clearRect(0,0,a.width,a.height),i.removeFromArray(r,a),n.push(a),a}},c.queueElement=function(e,t){var n=this.getElementQueue(),r=this.getElementIdToQueue(),i=e.id(),o=r[i];if(o)o.level=Math.max(o.level,t),o.reqs++,n.updateItem(o);else{var a={ele:e,level:t,reqs:1};n.push(a),r[i]=a}},c.dequeue=function(e){for(var t=this.getElementQueue(),n=this.getElementIdToQueue(),r=[],i=0;i<1&&t.size()>0;i++){var o=t.pop(),a=o.ele;if(null==a._private.rscratch.imgCaches[o.level]){n[a.id()]=null,r.push(o);var l=a.boundingBox();this.getElement(a,l,e,o.level,s.dequeue)}}return r},c.removeFromQueue=function(e){var t=this.getElementQueue(),n=this.getElementIdToQueue(),r=n[e.id()];null!=r&&(r.reqs=i.MAX_INT,t.updateItem(r),t.pop(),n[e.id()]=null)},c.onDequeue=function(e){this.onDequeues.push(e)},c.offDequeue=function(e){i.removeFromArray(this.onDequeues,e)},c.setupDequeueing=a.setupDequeueing({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(e,t,n){return e.dequeue(t,n)},onDeqd:function(e,t){for(var n=0;n<e.onDequeues.length;n++)(0,e.onDequeues[n])(t)},shouldRedraw:function(e,t,n,i){for(var o=0;o<t.length;o++){var a=t[o].ele.boundingBox();if(r.boundingBoxesIntersect(a,i))return!0}return!1},priority:function(e){return e.renderer.beforeRenderPriorities.eleTxrDeq}}),e.exports=l},function(e,t,n){"use strict";var r=n(1),i=n(2),o=n(9),a=n(0),s=n(19),l=function(e,t){var n=this,i=n.renderer=e;n.layersByLevel={},n.firstGet=!0,n.lastInvalidationTime=r.performanceNow()-500,n.skipping=!1,i.beforeRender((function(e,t){t-n.lastInvalidationTime<=250?n.skipping=!0:n.skipping=!1})),n.layersQueue=new o((function(e,t){return t.reqs-e.reqs})),n.eleTxrCache=t,n.setupEleCacheInvalidation(),n.setupDequeueing()},c=l.prototype,u=0,d=Math.pow(2,53)-1;function p(e,t){null!=e.imageSmoothingEnabled?e.imageSmoothingEnabled=t:(e.webkitImageSmoothingEnabled=t,e.mozImageSmoothingEnabled=t,e.msImageSmoothingEnabled=t)}c.makeLayer=function(e,t){var n=Math.pow(2,t),r=Math.ceil(e.w*n),i=Math.ceil(e.h*n),o=document.createElement("canvas");o.width=r,o.height=i;var a={id:u=++u%d,bb:e,level:t,width:r,height:i,canvas:o,context:o.getContext("2d"),eles:[],elesQueue:[],reqs:0},s=a.context,l=-a.bb.x1,c=-a.bb.y1;return s.scale(n,n),s.translate(l,c),a},c.getLayers=function(e,t,n){var o=this,a=o.renderer.cy.zoom(),s=o.firstGet;if(o.firstGet=!1,null==n)if((n=Math.ceil(i.log2(a*t)))<-4)n=-4;else if(a>=3.99||n>2)return null;o.validateLayersElesOrdering(n,e);var l,c,u=o.layersByLevel,d=Math.pow(2,n),p=u[n]=u[n]||[];if(o.levelIsComplete(n,e))return p;!function(){var t=function(t){if(o.validateLayersElesOrdering(t,e),o.levelIsComplete(t,e))return c=u[t],!0},i=function(e){if(!c)for(var r=n+e;-4<=r&&r<=2&&!t(r);r+=e);};i(1),i(-1);for(var a=p.length-1;a>=0;a--){var s=p[a];s.invalid&&r.removeFromArray(p,s)}}();var f=function(t){var r=(t=t||{}).after;if(function(){if(!l){l=i.makeBoundingBox();for(var t=0;t<e.length;t++)i.updateBoundingBox(l,e[t].boundingBox())}}(),l.w*d*(l.h*d)>16e6)return null;var a=o.makeLayer(l,n);if(null!=r){var s=p.indexOf(r)+1;p.splice(s,0,a)}else(void 0===t.insert||t.insert)&&p.unshift(a);return a};if(o.skipping&&!s)return null;for(var h=null,g=e.length/1,m=!s,v=0;v<e.length;v++){var b=e[v],y=b._private.rscratch,x=y.imgLayerCaches=y.imgLayerCaches||{},w=x[n];if(w)h=w;else{if((!h||h.eles.length>=g||!i.boundingBoxInBoundingBox(h.bb,b.boundingBox()))&&!(h=f({insert:!0,after:h})))return null;c||m?o.queueLayer(h,b):o.drawEleInLayer(h,b,n,t),h.eles.push(b),x[n]=h}}return c||(m?null:p)},c.getEleLevelForLayerLevel=function(e,t){return e},c.drawEleInLayer=function(e,t,n,r){var i=this.renderer,o=e.context,a=t.boundingBox();if(0!==a.w&&0!==a.h&&t.visible()){var s=this.eleTxrCache,l=s.reasons.highQuality;n=this.getEleLevelForLayerLevel(n,r);var c=s.getElement(t,a,null,n,l);c?(p(o,!1),o.drawImage(c.texture.canvas,c.x,0,c.width,c.height,a.x1,a.y1,a.w,a.h),p(o,!0)):i.drawElement(o,t)}},c.levelIsComplete=function(e,t){var n=this.layersByLevel[e];if(!n||0===n.length)return!1;for(var r=0,i=0;i<n.length;i++){var o=n[i];if(o.reqs>0)return!1;if(o.invalid)return!1;r+=o.eles.length}return r===t.length},c.validateLayersElesOrdering=function(e,t){var n=this.layersByLevel[e];if(n)for(var r=0;r<n.length;r++){for(var i=n[r],o=-1,a=0;a<t.length;a++)if(i.eles[0]===t[a]){o=a;break}if(o<0)this.invalidateLayer(i);else{var s=o;for(a=0;a<i.eles.length;a++)if(i.eles[a]!==t[s+a]){this.invalidateLayer(i);break}}}},c.updateElementsInLayers=function(e,t){for(var n=a.element(e[0]),r=0;r<e.length;r++)for(var i=n?null:e[r],o=n?e[r]:e[r].ele,s=o._private.rscratch,l=s.imgLayerCaches=s.imgLayerCaches||{},c=-4;c<=2;c++){var u=l[c];u&&(i&&this.getEleLevelForLayerLevel(u.level)!==i.level||t(u,o,i))}},c.haveLayers=function(){for(var e=!1,t=-4;t<=2;t++){var n=this.layersByLevel[t];if(n&&n.length>0){e=!0;break}}return e},c.invalidateElements=function(e){var t=this;t.lastInvalidationTime=r.performanceNow(),0!==e.length&&t.haveLayers()&&t.updateElementsInLayers(e,(function(e,n,r){t.invalidateLayer(e)}))},c.invalidateLayer=function(e){if(this.lastInvalidationTime=r.performanceNow(),!e.invalid){var t=e.level,n=e.eles,i=this.layersByLevel[t];r.removeFromArray(i,e),e.elesQueue=[],e.invalid=!0,e.replacement&&(e.replacement.invalid=!0);for(var o=0;o<n.length;o++){var a=n[o]._private.rscratch.imgLayerCaches;a&&(a[t]=null)}}},c.refineElementTextures=function(e){var t=this;t.updateElementsInLayers(e,(function(e,n,r){var i=e.replacement;if(i||((i=e.replacement=t.makeLayer(e.bb,e.level)).replaces=e,i.eles=e.eles),!i.reqs)for(var o=0;o<i.eles.length;o++)t.queueLayer(i,i.eles[o])}))},c.setupEleCacheInvalidation=function(){var e=this,t=[],n=r.debounce((function(){e.refineElementTextures(t),t=[]}),50);e.eleTxrCache.onDequeue((function(e){for(var r=0;r<e.length;r++)t.push(e[r]);n()}))},c.queueLayer=function(e,t){var n=this.layersQueue,r=e.elesQueue,i=r.hasId=r.hasId||{};if(!e.replacement){if(t){if(i[t.id()])return;r.push(t),i[t.id()]=!0}e.reqs?(e.reqs++,n.updateItem(e)):(e.reqs=1,n.push(e))}},c.dequeue=function(e){for(var t=this.layersQueue,n=[],r=0;r<1&&0!==t.size();){var i=t.peek();if(i.replacement)t.pop();else if(i.replaces&&i!==i.replaces.replacement)t.pop();else if(i.invalid)t.pop();else{var o=i.elesQueue.shift();o&&(this.drawEleInLayer(i,o,i.level,e),r++),0===n.length&&n.push(!0),0===i.elesQueue.length&&(t.pop(),i.reqs=0,i.replaces&&this.applyLayerReplacement(i),this.requestRedraw())}}return n},c.applyLayerReplacement=function(e){var t=this.layersByLevel[e.level],n=e.replaces,r=t.indexOf(n);if(!(r<0||n.invalid)){t[r]=e;for(var i=0;i<e.eles.length;i++){var o=e.eles[i]._private,a=o.imgLayerCaches=o.imgLayerCaches||{};a&&(a[e.level]=e)}this.requestRedraw()}},c.requestRedraw=r.debounce((function(){var e=this.renderer;e.redrawHint("eles",!0),e.redrawHint("drag",!0),e.redraw()}),100),c.setupDequeueing=s.setupDequeueing({deqRedrawThreshold:50,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(e,t){return e.dequeue(t)},onDeqd:r.noop,shouldRedraw:r.trueify,priority:function(e){return e.renderer.beforeRenderPriorities.lyrTxrDeq}}),e.exports=l},function(e,t,n){"use strict";var r,i={arrowShapeImpl:function(e){return(r||(r={polygon:function(e,t){for(var n=0;n<t.length;n++){var r=t[n];e.lineTo(r.x,r.y)}},"triangle-backcurve":function(e,t,n){for(var r,i=0;i<t.length;i++){var o=t[i];0===i&&(r=o),e.lineTo(o.x,o.y)}e.quadraticCurveTo(n.x,n.y,r.x,r.y)},"triangle-tee":function(e,t,n){e.beginPath&&e.beginPath();for(var r=t,i=0;i<r.length;i++){var o=r[i];e.lineTo(o.x,o.y)}e.closePath&&e.closePath(),e.beginPath&&e.beginPath();var a=n,s=n[0];for(e.moveTo(s.x,s.y),i=0;i<a.length;i++)o=a[i],e.lineTo(o.x,o.y);e.closePath&&e.closePath()},"triangle-cross":function(e,t,n){e.beginPath&&e.beginPath();for(var r=t,i=0;i<r.length;i++){var o=r[i];e.lineTo(o.x,o.y)}e.closePath&&e.closePath(),e.beginPath&&e.beginPath();var a=n,s=n[0];for(e.moveTo(s.x,s.y),i=0;i<a.length;i++)o=a[i],e.lineTo(o.x,o.y);e.closePath&&e.closePath()},circle:function(e,t,n,r){e.arc(t,n,r,0,2*Math.PI,!1)}}))[e]}};e.exports=i},function(e,t,n){"use strict";var r=n(2),i={drawElement:function(e,t,n,r){t.isNode()?this.drawNode(e,t,n,r):this.drawEdge(e,t,n,r)},drawCachedElement:function(e,t,n,i){var o=t.boundingBox();if(0!==o.w&&0!==o.h&&(!i||r.boundingBoxesIntersect(o,i))){var a=this.data.eleTxrCache.getElement(t,o,n);null!=a?e.drawImage(a.texture.canvas,a.x,0,a.width,a.height,o.x1,o.y1,o.w,o.h):this.drawElement(e,t)}},drawElements:function(e,t){for(var n=0;n<t.length;n++){var r=t[n];this.drawElement(e,r)}},drawCachedElements:function(e,t,n,r){for(var i=0;i<t.length;i++){var o=t[i];this.drawCachedElement(e,o,n,r)}},drawCachedNodes:function(e,t,n,r){for(var i=0;i<t.length;i++){var o=t[i];o.isNode()&&this.drawCachedElement(e,o,n,r)}},drawLayeredElements:function(e,t,n,r){var i=this.data.lyrTxrCache.getLayers(t,n);if(i)for(var o=0;o<i.length;o++){var a=i[o],s=a.bb;0!==s.w&&0!==s.h&&e.drawImage(a.canvas,s.x1,s.y1,s.w,s.h)}else this.drawCachedElements(e,t,n,r)},drawDebugPoints:function(e,t){for(var n=function(t,n,r){e.fillStyle=r,e.fillRect(t-1,n-1,3,3)},r=0;r<t.length;r++){var i=t[r],o=i._private.rscratch;if(i.isNode()){var a=i.position();n(a.x,a.y,"magenta")}else{for(var s=o.allpts,l=0;l+1<s.length;l+=2)n(s[l],s[l+1],"cyan");n(o.midX,o.midY,"yellow")}}}};e.exports=i},function(e,t,n){"use strict";var r={drawEdge:function(e,t,n,r){var i=this,o=t._private.rscratch,a=i.usePaths();if(t.visible()&&!o.badLine&&null!=o.allpts&&!isNaN(o.allpts[0])){var s=void 0;n&&(s=n,e.translate(-s.x1,-s.y1));var l=2*t.pstyle("overlay-padding").pfValue,c=t.pstyle("overlay-opacity").value,u=t.pstyle("overlay-color").value,d=t.pstyle("line-color").value,p=t.pstyle("opacity").value,f=t.pstyle("line-style").value,h=t.pstyle("width").pfValue,g=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p;e.lineWidth=h,e.lineCap="butt",i.strokeStyle(e,d[0],d[1],d[2],n),i.drawEdgePath(t,e,o.allpts,f)},m=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p;i.drawArrowheads(e,t,n)};if(e.lineJoin="round","yes"===t.pstyle("ghost").value){var v=t.pstyle("ghost-offset-x").pfValue,b=t.pstyle("ghost-offset-y").pfValue,y=t.pstyle("ghost-opacity").value,x=p*y;e.translate(v,b),g(x),m(x),e.translate(-v,-b)}g(),m(),function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:c;e.lineWidth=l,"self"!==o.edgeType||a?e.lineCap="round":e.lineCap="butt",i.strokeStyle(e,u[0],u[1],u[2],n),i.drawEdgePath(t,e,o.allpts,"solid")}(),i.drawElementText(e,t,r),n&&e.translate(s.x1,s.y1)}},drawEdgePath:function(e,t,n,r){var i=e._private.rscratch,o=t,a=void 0,s=!1,l=this.usePaths();if(l){var c=n.join("$");i.pathCacheKey&&i.pathCacheKey===c?(a=t=i.pathCache,s=!0):(a=t=new Path2D,i.pathCacheKey=c,i.pathCache=a)}if(o.setLineDash)switch(r){case"dotted":o.setLineDash([1,1]);break;case"dashed":o.setLineDash([6,3]);break;case"solid":o.setLineDash([])}if(!s&&!i.badLine)switch(t.beginPath&&t.beginPath(),t.moveTo(n[0],n[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":if(e.hasClass("horizontal")){var u=n[4],d=n[5],p=(n[0]+n[4])/2;t.lineTo(n[0]+10,n[1]),t.bezierCurveTo(p,n[1],p,n[5],n[4]-10,n[5]),t.lineTo(u,d)}else if(e.hasClass("vertical")){var f=n[4],h=n[5],g=(n[1]+n[5])/2;t.bezierCurveTo(n[0],g,n[4],g,n[4],n[5]-10),t.lineTo(f,h)}else for(var m=2;m+3<n.length;m+=4)t.quadraticCurveTo(n[m],n[m+1],n[m+2],n[m+3]);break;case"straight":case"segments":case"haystack":for(var v=2;v+1<n.length;v+=2)t.lineTo(n[v],n[v+1])}t=o,l?t.stroke(a):t.stroke(),t.setLineDash&&t.setLineDash([])},drawArrowheads:function(e,t,n){var r=t._private.rscratch,i="haystack"===r.edgeType;i||this.drawArrowhead(e,t,"source",r.arrowStartX,r.arrowStartY,r.srcArrowAngle,n),this.drawArrowhead(e,t,"mid-target",r.midX,r.midY,r.midtgtArrowAngle,n),this.drawArrowhead(e,t,"mid-source",r.midX,r.midY,r.midsrcArrowAngle,n),i||(t.hasClass("horizontal")?this.drawArrowhead(e,t,"target",r.arrowEndX,r.arrowEndY,-Math.PI/2,n):t.hasClass("vertical")?this.drawArrowhead(e,t,"target",r.arrowEndX,r.arrowEndY,0,n):this.drawArrowhead(e,t,"target",r.arrowEndX,r.arrowEndY,r.tgtArrowAngle,n))},drawArrowhead:function(e,t,n,r,i,o,a){if(!(isNaN(r)||null==r||isNaN(i)||null==i||isNaN(o)||null==o)){var s=t.pstyle(n+"-arrow-shape").value;if("none"!==s){var l="hollow"===t.pstyle(n+"-arrow-fill").value?"both":"filled",c=t.pstyle(n+"-arrow-fill").value,u=t.pstyle("width").pfValue,d=t.pstyle("opacity").value;void 0===a&&(a=d);var p=e.globalCompositeOperation;1===a&&"hollow"!==c||(e.globalCompositeOperation="destination-out",this.fillStyle(e,255,255,255,1),this.strokeStyle(e,255,255,255,1),this.drawArrowShape(t,n,e,l,u,s,r,i,o),e.globalCompositeOperation=p);var f=t.pstyle(n+"-arrow-color").value;this.fillStyle(e,f[0],f[1],f[2],a),this.strokeStyle(e,f[0],f[1],f[2],a),this.drawArrowShape(t,n,e,c,u,s,r,i,o)}}},drawArrowShape:function(e,t,n,r,i,o,a,s,l){var c=this.usePaths(),u=e._private.rscratch,d=!1,p=void 0,f=n,h={x:a,y:s},g=e.pstyle("arrow-scale").value,m=this.getArrowWidth(i,g),v=this.arrowShapes[o];if(c){var b=m+"$"+o+"$"+l+"$"+a+"$"+s;u.arrowPathCacheKey=u.arrowPathCacheKey||{},u.arrowPathCache=u.arrowPathCache||{},u.arrowPathCacheKey[t]===b?(p=n=u.arrowPathCache[t],d=!0):(p=n=new Path2D,u.arrowPathCacheKey[t]=b,u.arrowPathCache[t]=p)}n.beginPath&&n.beginPath(),d||v.draw(n,m,l,h,i),!v.leavePathOpen&&n.closePath&&n.closePath(),n=f,"filled"!==r&&"both"!==r||(c?n.fill(p):n.fill()),"hollow"!==r&&"both"!==r||(n.lineWidth=v.matchEdgeWidth?i:1,n.lineJoin="miter",c?n.stroke(p):n.stroke())}};e.exports=r},function(e,t,n){"use strict";var r={safeDrawImage:function(e,t,n,r,i,o,a,s,l,c){i<=0||o<=0||l<=0||c<=0||e.drawImage(t,n,r,i,o,a,s,l,c)},drawInscribedImage:function(e,t,n,r,i){var o=this,a=n.position(),s=a.x,l=a.y,c=n.cy().style(),u=c.getIndexedStyle.bind(c),d=u(n,"background-fit","value",r),p=u(n,"background-repeat","value",r),f=n.width(),h=n.height(),g=2*n.padding(),m=f+("inner"===u(n,"background-width-relative-to","value",r)?0:g),v=h+("inner"===u(n,"background-height-relative-to","value",r)?0:g),b=n._private.rscratch,y="node"===n.pstyle("background-clip").value,x=u(n,"background-image-opacity","value",r)*i,w=t.width||t.cachedW,k=t.height||t.cachedH;null!=w&&null!=k||(document.body.appendChild(t),w=t.cachedW=t.width||t.offsetWidth,k=t.cachedH=t.height||t.offsetHeight,document.body.removeChild(t));var A=w,E=k;if("auto"!==u(n,"background-width","value",r)&&(A="%"===u(n,"background-width","units",r)?u(n,"background-width","pfValue",r)*m:u(n,"background-width","pfValue",r)),"auto"!==u(n,"background-height","value",r)&&(E="%"===u(n,"background-height","units",r)?u(n,"background-height","pfValue",r)*v:u(n,"background-height","pfValue",r)),0!==A&&0!==E){if("contain"===d)A*=S=Math.min(m/A,v/E),E*=S;else if("cover"===d){var S;A*=S=Math.max(m/A,v/E),E*=S}var $=s-m/2;"%"===u(n,"background-position-x","units",r)?$+=(m-A)*u(n,"background-position-x","pfValue",r):$+=u(n,"background-position-x","pfValue",r);var C=l-v/2;"%"===u(n,"background-position-y","units",r)?C+=(v-E)*u(n,"background-position-y","pfValue",r):C+=u(n,"background-position-y","pfValue",r),b.pathCache&&($-=s,C-=l,s=0,l=0);var _=e.globalAlpha;if(e.globalAlpha=x,"no-repeat"===p)y&&(e.save(),b.pathCache?e.clip(b.pathCache):(o.nodeShapes[o.getNodeShape(n)].draw(e,s,l,m,v),e.clip())),o.safeDrawImage(e,t,0,0,w,k,$,C,A,E),y&&e.restore();else{var O=e.createPattern(t,p);e.fillStyle=O,o.nodeShapes[o.getNodeShape(n)].draw(e,s,l,m,v),e.translate($,C),e.fill(),e.translate(-$,-C)}e.globalAlpha=_}}};e.exports=r},function(e,t,n){"use strict";var r=n(1),i=n(2),o={eleTextBiggerThanMin:function(e,t){if(!t){var n=e.cy().zoom(),r=this.getPixelRatio(),o=Math.ceil(i.log2(n*r));t=Math.pow(2,o)}return!(e.pstyle("font-size").pfValue*t<e.pstyle("min-zoomed-font-size").pfValue)},drawElementText:function(e,t,n){var r=this;if(void 0===n){if(!r.eleTextBiggerThanMin(t))return}else if(!n)return;if(t.isNode()){if(!(o=t.pstyle("label"))||!o.value)return;var i=t.pstyle("text-halign").strValue;switch(t.pstyle("text-valign").strValue,i){case"left":e.textAlign="right";break;case"right":e.textAlign="left";break;default:e.textAlign="center"}e.textBaseline="bottom"}else{var o=t.pstyle("label"),a=t.pstyle("source-label"),s=t.pstyle("target-label");if(!(o&&o.value||a&&a.value||s&&s.value))return;e.textAlign="center",e.textBaseline="bottom"}r.drawText(e,t),t.isEdge()&&(r.drawText(e,t,"source"),r.drawText(e,t,"target"))}};o.drawNodeText=o.drawEdgeText=o.drawElementText,o.getFontCache=function(e){var t;this.fontCaches=this.fontCaches||[];for(var n=0;n<this.fontCaches.length;n++)if((t=this.fontCaches[n]).context===e)return t;return t={context:e},this.fontCaches.push(t),t},o.setupTextStyle=function(e,t){var n=t.effectiveOpacity(),r=t.pstyle("font-style").strValue,i=t.pstyle("font-size").pfValue+"px",o=t.pstyle("font-family").strValue,a=t.pstyle("font-weight").strValue,s=t.pstyle("text-opacity").value*t.pstyle("opacity").value*n,l=t.pstyle("text-outline-opacity").value*s,c=t.pstyle("color").value,u=t.pstyle("text-outline-color").value,d=t._private.fontKey,p=this.getFontCache(e);p.key!==d&&(e.font=r+" "+a+" "+i+" "+o,p.key=d),e.lineJoin="round",this.fillStyle(e,c[0],c[1],c[2],s),this.strokeStyle(e,u[0],u[1],u[2],l)},o.drawText=function(e,t,n){var i=t._private.rscratch,o=t.effectiveOpacity();if(0!==o&&0!==t.pstyle("text-opacity").value){var a,s,l,c,u,d,p=r.getPrefixedProperty(i,"labelX",n),f=r.getPrefixedProperty(i,"labelY",n),h=this.getLabelText(t,n);if(null!=h&&""!==h&&!isNaN(p)&&!isNaN(f)){this.setupTextStyle(e,t);var g=n?n+"-":"",m=r.getPrefixedProperty(i,"labelWidth",n),v=r.getPrefixedProperty(i,"labelHeight",n),b=r.getPrefixedProperty(i,"labelAngle",n),y=t.pstyle(g+"text-margin-x").pfValue,x=t.pstyle(g+"text-margin-y").pfValue,w=t.isEdge(),k=(t.isNode(),t.pstyle("text-halign").value),A=t.pstyle("text-valign").value;w&&(k="center",A="center"),p+=y,f+=x;var E,S=t.pstyle("text-rotation");if(0!==(E="autorotate"===S.strValue?w?b:0:"none"===S.strValue?0:S.pfValue)){var $=p,C=f;e.translate($,C),e.rotate(E),p=0,f=0}switch(A){case"top":break;case"center":f+=v/2;break;case"bottom":f+=v}var _=t.pstyle("text-background-opacity").value,O=t.pstyle("text-border-opacity").value,T=t.pstyle("text-border-width").pfValue,j=t.pstyle("text-background-padding").pfValue;if(_>0||T>0&&O>0){var P=p-j;switch(k){case"left":P-=m;break;case"center":P-=m/2}var D=f-v-j,R=m+2*j,I=v+2*j;if(_>0){var N=e.fillStyle,M=t.pstyle("text-background-color").value;e.fillStyle="rgba("+M[0]+","+M[1]+","+M[2]+","+_*o+")","roundrectangle"==t.pstyle("text-background-shape").strValue?(s=P,l=D,c=R,u=I,d=(d=2)||5,(a=e).beginPath(),a.moveTo(s+d,l),a.lineTo(s+c-d,l),a.quadraticCurveTo(s+c,l,s+c,l+d),a.lineTo(s+c,l+u-d),a.quadraticCurveTo(s+c,l+u,s+c-d,l+u),a.lineTo(s+d,l+u),a.quadraticCurveTo(s,l+u,s,l+u-d),a.lineTo(s,l+d),a.quadraticCurveTo(s,l,s+d,l),a.closePath(),a.fill()):e.fillRect(P,D,R,I),e.fillStyle=N}if(T>0&&O>0){var z=e.strokeStyle,L=e.lineWidth,B=t.pstyle("text-border-color").value,F=t.pstyle("text-border-style").value;if(e.strokeStyle="rgba("+B[0]+","+B[1]+","+B[2]+","+O*o+")",e.lineWidth=T,e.setLineDash)switch(F){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"double":e.lineWidth=T/4,e.setLineDash([]);break;case"solid":e.setLineDash([])}if(e.strokeRect(P,D,R,I),"double"===F){var q=T/2;e.strokeRect(P+q,D+q,R-2*q,I-2*q)}e.setLineDash&&e.setLineDash([]),e.lineWidth=L,e.strokeStyle=z}}var V=2*t.pstyle("text-outline-width").pfValue;if(V>0&&(e.lineWidth=V),"wrap"===t.pstyle("text-wrap").value){var U=r.getPrefixedProperty(i,"labelWrapCachedLines",n),H=v/U.length;switch(A){case"top":f-=(U.length-1)*H;break;case"center":case"bottom":f-=(U.length-1)*H}for(var G=0;G<U.length;G++)V>0&&e.strokeText(U[G],p,f),e.fillText(U[G],p,f),f+=H}else V>0&&e.strokeText(h,p,f),e.fillText(h,p,f);0!==E&&(e.rotate(-E),e.translate(-$,-C))}}},e.exports=o},function(e,t,n){"use strict";var r=n(0),i={drawNode:function(e,t,n,i){var o,a,s=this,l=t._private,c=l.rscratch,u=t.position();if(r.number(u.x)&&r.number(u.y)&&t.visible()){var d=t.effectiveOpacity(),p=s.usePaths(),f=void 0,h=!1,g=t.padding();o=t.width()+2*g,a=t.height()+2*g;var m=void 0;n&&(m=n,e.translate(-m.x1,-m.y1));for(var v=t.pstyle("background-image").value,b=new Array(v.length),y=new Array(v.length),x=0,w=0;w<v.length;w++){var k=v[w];if(b[w]=null!=k&&"none"!==k){var A=t.cy().style().getIndexedStyle(t,"background-image-crossorigin","value",w);x++,y[w]=s.getCachedImage(k,A,(function(){t.emitAndNotify("background")}))}}var E=t.pstyle("background-blacken").value,S=t.pstyle("border-width").pfValue,$=t.pstyle("background-color").value,C=t.pstyle("background-opacity").value*d,_=t.pstyle("border-color").value,O=t.pstyle("border-style").value,T=t.pstyle("border-opacity").value*d;e.lineJoin="miter";var j=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:C;s.fillStyle(e,$[0],$[1],$[2],t)},P=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:T;s.strokeStyle(e,_[0],_[1],_[2],t)},D=t.pstyle("shape").strValue,R=t.pstyle("shape-polygon-points").pfValue;if(p){var I=D+"$"+o+"$"+a+("polygon"===D?"$"+R.join("$"):"");e.translate(u.x,u.y),c.pathCacheKey===I?(f=c.pathCache,h=!0):(f=new Path2D,c.pathCacheKey=I,c.pathCache=f)}var N,M,z,L=function(){if(!h){var n=u;p&&(n={x:0,y:0}),s.nodeShapes[s.getNodeShape(t)].draw(f||e,n.x,n.y,o,a)}p?e.fill(f):e.fill()},B=function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:d,r=l.backgrounding,i=0,o=0;o<y.length;o++)b[o]&&y[o].complete&&!y[o].error&&(i++,s.drawInscribedImage(e,y[o],t,o,n));l.backgrounding=!(i===x),r!==l.backgrounding&&t.updateStyle(!1)},F=function(){var n=arguments.length>0&&void 0!==arguments[0]&&arguments[0],r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:d;s.hasPie(t)&&(s.drawPie(e,t,r),n&&(p||s.nodeShapes[s.getNodeShape(t)].draw(e,u.x,u.y,o,a)))},q=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:d,n=(E>0?E:-E)*t,r=E>0?0:255;0!==E&&(s.fillStyle(e,r,r,r,n),p?e.fill(f):e.fill())},V=function(){if(S>0){if(e.lineWidth=S,e.lineCap="butt",e.setLineDash)switch(O){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"solid":case"double":e.setLineDash([])}if(p?e.stroke(f):e.stroke(),"double"===O){e.lineWidth=S/3;var t=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",p?e.stroke(f):e.stroke(),e.globalCompositeOperation=t}e.setLineDash&&e.setLineDash([])}};if("yes"===t.pstyle("ghost").value){var U=t.pstyle("ghost-offset-x").pfValue,H=t.pstyle("ghost-offset-y").pfValue,G=t.pstyle("ghost-opacity").value,W=G*d;e.translate(U,H),j(G*C),L(),B(W),F(0!==E||0!==S),q(W),P(G*T),V(),e.translate(-U,-H)}j(),L(),B(),F(0!==E||0!==S),q(),P(),V(),p&&e.translate(-u.x,-u.y),s.drawElementText(e,t,i),N=t.pstyle("overlay-padding").pfValue,M=t.pstyle("overlay-opacity").value,z=t.pstyle("overlay-color").value,M>0&&(s.fillStyle(e,z[0],z[1],z[2],M),s.nodeShapes.roundrectangle.draw(e,u.x,u.y,o+2*N,a+2*N),e.fill()),n&&e.translate(m.x1,m.y1)}},hasPie:function(e){return(e=e[0])._private.hasPie},drawPie:function(e,t,n,r){t=t[0],r=r||t.position();var i=t.cy().style(),o=t.pstyle("pie-size"),a=r.x,s=r.y,l=t.width(),c=t.height(),u=Math.min(l,c)/2,d=0;this.usePaths()&&(a=0,s=0),"%"===o.units?u*=o.pfValue:void 0!==o.pfValue&&(u=o.pfValue/2);for(var p=1;p<=i.pieBackgroundN;p++){var f=t.pstyle("pie-"+p+"-background-size").value,h=t.pstyle("pie-"+p+"-background-color").value,g=t.pstyle("pie-"+p+"-background-opacity").value*n,m=f/100;m+d>1&&(m=1-d);var v=1.5*Math.PI+2*Math.PI*d,b=v+2*Math.PI*m;0===f||d>=1||d+m>1||(e.beginPath(),e.moveTo(a,s),e.arc(a,s,u,v,b),e.closePath(),this.fillStyle(e,h[0],h[1],h[2],g),e.fill(),d+=m)}}};e.exports=i},function(e,t,n){"use strict";var r={},i=n(1);r.getPixelRatio=function(){var e=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var t=e.backingStorePixelRatio||e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/t},r.paintCache=function(e){for(var t,n=this.paintCaches=this.paintCaches||[],r=!0,i=0;i<n.length;i++)if((t=n[i]).context===e){r=!1;break}return r&&(t={context:e},n.push(t)),t},r.fillStyle=function(e,t,n,r,i){e.fillStyle="rgba("+t+","+n+","+r+","+i+")"},r.strokeStyle=function(e,t,n,r,i){e.strokeStyle="rgba("+t+","+n+","+r+","+i+")"},r.matchCanvasSize=function(e){var t=this,n=t.data,r=t.findContainerClientCoords(),i=r[2],o=r[3],a=t.getPixelRatio(),s=t.motionBlurPxRatio;e!==t.data.bufferCanvases[t.MOTIONBLUR_BUFFER_NODE]&&e!==t.data.bufferCanvases[t.MOTIONBLUR_BUFFER_DRAG]||(a=s);var l,c=i*a,u=o*a;if(c!==t.canvasWidth||u!==t.canvasHeight){t.fontCaches=null;var d=n.canvasContainer;d.style.width=i+"px",d.style.height=o+"px";for(var p=0;p<t.CANVAS_LAYERS;p++)(l=n.canvases[p]).width=c,l.height=u,l.style.width=i+"px",l.style.height=o+"px";for(p=0;p<t.BUFFER_COUNT;p++)(l=n.bufferCanvases[p]).width=c,l.height=u,l.style.width=i+"px",l.style.height=o+"px";t.textureMult=1,a<=1&&(l=n.bufferCanvases[t.TEXTURE_BUFFER],t.textureMult=2,l.width=c*t.textureMult,l.height=u*t.textureMult),t.canvasWidth=c,t.canvasHeight=u}},r.renderTo=function(e,t,n,r){this.render({forcedContext:e,forcedZoom:t,forcedPan:n,drawAllLayers:!0,forcedPxRatio:r})},r.render=function(e){var t=(e=e||i.staticEmptyObject()).forcedContext,n=e.drawAllLayers,r=e.drawOnlyNodeLayer,o=e.forcedZoom,a=e.forcedPan,s=this,l=void 0===e.forcedPxRatio?this.getPixelRatio():e.forcedPxRatio,c=s.cy,u=s.data,d=u.canvasNeedsRedraw,p=s.textureOnViewport&&!t&&(s.pinching||s.hoverData.dragging||s.swipePanning||s.data.wheelZooming),f=void 0!==e.motionBlur?e.motionBlur:s.motionBlur,h=s.motionBlurPxRatio,g=c.hasCompoundNodes(),m=s.hoverData.draggingEles,v=!(!s.hoverData.selecting&&!s.touchData.selecting),b=f=f&&!t&&s.motionBlurEnabled&&!v;t||(s.prevPxRatio!==l&&(s.invalidateContainerClientCoordsCache(),s.matchCanvasSize(s.container),s.redrawHint("eles",!0),s.redrawHint("drag",!0)),s.prevPxRatio=l),!t&&s.motionBlurTimeout&&clearTimeout(s.motionBlurTimeout),f&&(null==s.mbFrames&&(s.mbFrames=0),s.mbFrames++,s.mbFrames<3&&(b=!1),s.mbFrames>s.minMbLowQualFrames&&(s.motionBlurPxRatio=s.mbPxRBlurry)),s.clearingMotionBlur&&(s.motionBlurPxRatio=1),s.textureDrawLastFrame&&!p&&(d[s.NODE]=!0,d[s.SELECT_BOX]=!0);var y=c.style()._private.coreStyle,x=c.zoom(),w=void 0!==o?o:x,k=c.pan(),A={x:k.x,y:k.y},E={zoom:x,pan:{x:k.x,y:k.y}},S=s.prevViewport;void 0===S||E.zoom!==S.zoom||E.pan.x!==S.pan.x||E.pan.y!==S.pan.y||m&&!g||(s.motionBlurPxRatio=1),a&&(A=a),w*=l,A.x*=l,A.y*=l;var $=s.getCachedZSortedEles();function C(e,t,n,r,i){var o=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",s.fillStyle(e,255,255,255,s.motionBlurTransparency),e.fillRect(t,n,r,i),e.globalCompositeOperation=o}function _(e,r){var i,l,c,d;s.clearingMotionBlur||e!==u.bufferContexts[s.MOTIONBLUR_BUFFER_NODE]&&e!==u.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG]?(i=A,l=w,c=s.canvasWidth,d=s.canvasHeight):(i={x:k.x*h,y:k.y*h},l=x*h,c=s.canvasWidth*h,d=s.canvasHeight*h),e.setTransform(1,0,0,1,0,0),"motionBlur"===r?C(e,0,0,c,d):t||void 0!==r&&!r||e.clearRect(0,0,c,d),n||(e.translate(i.x,i.y),e.scale(l,l)),a&&e.translate(a.x,a.y),o&&e.scale(o,o)}if(p||(s.textureDrawLastFrame=!1),p){if(s.textureDrawLastFrame=!0,!s.textureCache){s.textureCache={},s.textureCache.bb=c.mutableElements().boundingBox(),s.textureCache.texture=s.data.bufferCanvases[s.TEXTURE_BUFFER];var O=s.data.bufferContexts[s.TEXTURE_BUFFER];O.setTransform(1,0,0,1,0,0),O.clearRect(0,0,s.canvasWidth*s.textureMult,s.canvasHeight*s.textureMult),s.render({forcedContext:O,drawOnlyNodeLayer:!0,forcedPxRatio:l*s.textureMult}),(E=s.textureCache.viewport={zoom:c.zoom(),pan:c.pan(),width:s.canvasWidth,height:s.canvasHeight}).mpan={x:(0-E.pan.x)/E.zoom,y:(0-E.pan.y)/E.zoom}}d[s.DRAG]=!1,d[s.NODE]=!1;var T=u.contexts[s.NODE],j=s.textureCache.texture;E=s.textureCache.viewport,s.textureCache.bb,T.setTransform(1,0,0,1,0,0),f?C(T,0,0,E.width,E.height):T.clearRect(0,0,E.width,E.height);var P=y["outside-texture-bg-color"].value,D=y["outside-texture-bg-opacity"].value;s.fillStyle(T,P[0],P[1],P[2],D),T.fillRect(0,0,E.width,E.height),x=c.zoom(),_(T,!1),T.clearRect(E.mpan.x,E.mpan.y,E.width/E.zoom/l,E.height/E.zoom/l),T.drawImage(j,E.mpan.x,E.mpan.y,E.width/E.zoom/l,E.height/E.zoom/l)}else s.textureOnViewport&&!t&&(s.textureCache=null);var R=c.extent(),I=s.pinching||s.hoverData.dragging||s.swipePanning||s.data.wheelZooming||s.hoverData.draggingEles,N=s.hideEdgesOnViewport&&I,M=[];if(M[s.NODE]=!d[s.NODE]&&f&&!s.clearedForMotionBlur[s.NODE]||s.clearingMotionBlur,M[s.NODE]&&(s.clearedForMotionBlur[s.NODE]=!0),M[s.DRAG]=!d[s.DRAG]&&f&&!s.clearedForMotionBlur[s.DRAG]||s.clearingMotionBlur,M[s.DRAG]&&(s.clearedForMotionBlur[s.DRAG]=!0),d[s.NODE]||n||r||M[s.NODE]){var z=f&&!M[s.NODE]&&1!==h;_(T=t||(z?s.data.bufferContexts[s.MOTIONBLUR_BUFFER_NODE]:u.contexts[s.NODE]),f&&!z?"motionBlur":void 0),N?s.drawCachedNodes(T,$.nondrag,l,R):s.drawLayeredElements(T,$.nondrag,l,R),s.debug&&s.drawDebugPoints(T,$.nondrag),n||f||(d[s.NODE]=!1)}if(!r&&(d[s.DRAG]||n||M[s.DRAG])&&(z=f&&!M[s.DRAG]&&1!==h,_(T=t||(z?s.data.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG]:u.contexts[s.DRAG]),f&&!z?"motionBlur":void 0),N?s.drawCachedNodes(T,$.drag,l,R):s.drawCachedElements(T,$.drag,l,R),s.debug&&s.drawDebugPoints(T,$.drag),n||f||(d[s.DRAG]=!1)),s.showFps||!r&&d[s.SELECT_BOX]&&!n){if(_(T=t||u.contexts[s.SELECT_BOX]),1==s.selection[4]&&(s.hoverData.selecting||s.touchData.selecting)){x=s.cy.zoom();var L=y["selection-box-border-width"].value/x;T.lineWidth=L,T.fillStyle="rgba("+y["selection-box-color"].value[0]+","+y["selection-box-color"].value[1]+","+y["selection-box-color"].value[2]+","+y["selection-box-opacity"].value+")",T.fillRect(s.selection[0],s.selection[1],s.selection[2]-s.selection[0],s.selection[3]-s.selection[1]),L>0&&(T.strokeStyle="rgba("+y["selection-box-border-color"].value[0]+","+y["selection-box-border-color"].value[1]+","+y["selection-box-border-color"].value[2]+","+y["selection-box-opacity"].value+")",T.strokeRect(s.selection[0],s.selection[1],s.selection[2]-s.selection[0],s.selection[3]-s.selection[1]))}if(u.bgActivePosistion&&!s.hoverData.selecting){x=s.cy.zoom();var B=u.bgActivePosistion;T.fillStyle="rgba("+y["active-bg-color"].value[0]+","+y["active-bg-color"].value[1]+","+y["active-bg-color"].value[2]+","+y["active-bg-opacity"].value+")",T.beginPath(),T.arc(B.x,B.y,y["active-bg-size"].pfValue/x,0,2*Math.PI),T.fill()}var F=s.lastRedrawTime;if(s.showFps&&F){F=Math.round(F);var q=Math.round(1e3/F);T.setTransform(1,0,0,1,0,0),T.fillStyle="rgba(255, 0, 0, 0.75)",T.strokeStyle="rgba(255, 0, 0, 0.75)",T.lineWidth=1,T.fillText("1 frame = "+F+" ms = "+q+" fps",0,20),T.strokeRect(0,30,250,20),T.fillRect(0,30,250*Math.min(q/60,1),20)}n||(d[s.SELECT_BOX]=!1)}if(f&&1!==h){var V=u.contexts[s.NODE],U=s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_NODE],H=u.contexts[s.DRAG],G=s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_DRAG],W=function(e,t,n){e.setTransform(1,0,0,1,0,0),n||!b?e.clearRect(0,0,s.canvasWidth,s.canvasHeight):C(e,0,0,s.canvasWidth,s.canvasHeight);var r=h;e.drawImage(t,0,0,s.canvasWidth*r,s.canvasHeight*r,0,0,s.canvasWidth,s.canvasHeight)};(d[s.NODE]||M[s.NODE])&&(W(V,U,M[s.NODE]),d[s.NODE]=!1),(d[s.DRAG]||M[s.DRAG])&&(W(H,G,M[s.DRAG]),d[s.DRAG]=!1)}s.prevViewport=E,s.clearingMotionBlur&&(s.clearingMotionBlur=!1,s.motionBlurCleared=!0,s.motionBlur=!0),f&&(s.motionBlurTimeout=setTimeout((function(){s.motionBlurTimeout=null,s.clearedForMotionBlur[s.NODE]=!1,s.clearedForMotionBlur[s.DRAG]=!1,s.motionBlur=!1,s.clearingMotionBlur=!p,s.mbFrames=0,d[s.NODE]=!0,d[s.DRAG]=!0,s.redraw()}),100)),t||c.emit("render")},e.exports=r},function(e,t,n){"use strict";for(var r=n(2),i={drawPolygonPath:function(e,t,n,r,i,o){var a=r/2,s=i/2;e.beginPath&&e.beginPath(),e.moveTo(t+a*o[0],n+s*o[1]);for(var l=1;l<o.length/2;l++)e.lineTo(t+a*o[2*l],n+s*o[2*l+1]);e.closePath()},drawRoundRectanglePath:function(e,t,n,i,o){var a=i/2,s=o/2,l=r.getRoundRectangleRadius(i,o);e.beginPath&&e.beginPath(),e.moveTo(t,n-s),e.arcTo(t+a,n-s,t+a,n,l),e.arcTo(t+a,n+s,t,n+s,l),e.arcTo(t-a,n+s,t-a,n,l),e.arcTo(t-a,n-s,t,n-s,l),e.lineTo(t,n-s),e.closePath()},drawBottomRoundRectanglePath:function(e,t,n,i,o){var a=i/2,s=o/2,l=r.getRoundRectangleRadius(i,o);e.beginPath&&e.beginPath(),e.moveTo(t,n-s),e.lineTo(t+a,n-s),e.lineTo(t+a,n),e.arcTo(t+a,n+s,t,n+s,l),e.arcTo(t-a,n+s,t-a,n,l),e.lineTo(t-a,n-s),e.lineTo(t,n-s),e.closePath()},drawCutRectanglePath:function(e,t,n,i,o){var a=i/2,s=o/2,l=r.getCutRectangleCornerLength();e.beginPath&&e.beginPath(),e.moveTo(t-a+l,n-s),e.lineTo(t+a-l,n-s),e.lineTo(t+a,n-s+l),e.lineTo(t+a,n+s-l),e.lineTo(t+a-l,n+s),e.lineTo(t-a+l,n+s),e.lineTo(t-a,n+s-l),e.lineTo(t-a,n-s+l),e.closePath()},drawBarrelPath:function(e,t,n,i,o){var a=i/2,s=o/2,l=t-a,c=t+a,u=n-s,d=n+s,p=r.getBarrelCurveConstants(i,o),f=p.widthOffset,h=p.heightOffset,g=p.ctrlPtOffsetPct*f;e.beginPath&&e.beginPath(),e.moveTo(l,u+h),e.lineTo(l,d-h),e.quadraticCurveTo(l+g,d,l+f,d),e.lineTo(c-f,d),e.quadraticCurveTo(c-g,d,c,d-h),e.lineTo(c,u+h),e.quadraticCurveTo(c-g,u,c-f,u),e.lineTo(l+f,u),e.quadraticCurveTo(l+g,u,l,u+h),e.closePath()}},o=Math.sin(0),a=Math.cos(0),s={},l={},c=Math.PI/40,u=0*Math.PI;u<2*Math.PI;u+=c)s[u]=Math.sin(u),l[u]=Math.cos(u);i.drawEllipsePath=function(e,t,n,r,i){if(e.beginPath&&e.beginPath(),e.ellipse)e.ellipse(t,n,r/2,i/2,0,0,2*Math.PI);else for(var u,d,p=r/2,f=i/2,h=0*Math.PI;h<2*Math.PI;h+=c)u=t-p*s[h]*o+p*l[h]*a,d=n+f*l[h]*o+f*s[h]*a,0===h?e.moveTo(u,d):e.lineTo(u,d);e.closePath()},e.exports=i},function(e,t,n){"use strict";var r=n(0),i={};function o(e){var t=e.indexOf(",");return e.substr(t+1)}function a(e,t,n){var r=t.toDataURL(n,e.quality);switch(e.output){case"blob":return function(e,t){for(var n=atob(e),r=new ArrayBuffer(n.length),i=new Uint8Array(r),o=0;o<n.length;o++)i[o]=n.charCodeAt(o);return new Blob([r],{type:t})}(o(r),n);case"base64":return o(r);case"base64uri":default:return r}}i.createBuffer=function(e,t){var n=document.createElement("canvas");return n.width=e,n.height=t,[n,n.getContext("2d")]},i.bufferCanvasImage=function(e){var t=this.cy,n=t.mutableElements().boundingBox(),i=this.findContainerClientCoords(),o=e.full?Math.ceil(n.w):i[2],a=e.full?Math.ceil(n.h):i[3],s=r.number(e.maxWidth)||r.number(e.maxHeight),l=this.getPixelRatio(),c=1;if(void 0!==e.scale)o*=e.scale,a*=e.scale,c=e.scale;else if(s){var u=1/0,d=1/0;r.number(e.maxWidth)&&(u=c*e.maxWidth/o),r.number(e.maxHeight)&&(d=c*e.maxHeight/a),o*=c=Math.min(u,d),a*=c}s||(o*=l,a*=l,c*=l);var p=document.createElement("canvas");p.width=o,p.height=a,p.style.width=o+"px",p.style.height=a+"px";var f=p.getContext("2d");if(o>0&&a>0){f.clearRect(0,0,o,a),f.globalCompositeOperation="source-over";var h=this.getCachedZSortedEles();if(e.full)f.translate(-n.x1*c,-n.y1*c),f.scale(c,c),this.drawElements(f,h),f.scale(1/c,1/c),f.translate(n.x1*c,n.y1*c);else{var g=t.pan(),m={x:g.x*c,y:g.y*c};c*=t.zoom(),f.translate(m.x,m.y),f.scale(c,c),this.drawElements(f,h),f.scale(1/c,1/c),f.translate(-m.x,-m.y)}e.bg&&(f.globalCompositeOperation="destination-over",f.fillStyle=e.bg,f.rect(0,0,o,a),f.fill())}return p},i.png=function(e){return a(e,this.bufferCanvasImage(e),"image/png")},i.jpg=function(e){return a(e,this.bufferCanvasImage(e),"image/jpeg")},e.exports=i},function(e,t,n){"use strict";var r={nodeShapeImpl:function(e,t,n,r,i,o,a){switch(e){case"ellipse":return this.drawEllipsePath(t,n,r,i,o);case"polygon":return this.drawPolygonPath(t,n,r,i,o,a);case"roundrectangle":return this.drawRoundRectanglePath(t,n,r,i,o);case"cutrectangle":return this.drawCutRectanglePath(t,n,r,i,o);case"bottomroundrectangle":return this.drawBottomRoundRectanglePath(t,n,r,i,o);case"barrel":return this.drawBarrelPath(t,n,r,i,o)}}};e.exports=r},function(e,t,n){"use strict";var r=n(0),i=n(1),o=n(18),a=function e(){if(!(this instanceof e))return new e;this.length=0},s=a.prototype;s.instanceString=function(){return"stylesheet"},s.selector=function(e){return this[this.length++]={selector:e,properties:[]},this},s.css=function(e,t){var n=this.length-1;if(r.string(e))this[n].properties.push({name:e,value:t});else if(r.plainObject(e))for(var a=e,s=0;s<o.properties.length;s++){var l=o.properties[s],c=a[l.name];if(void 0===c&&(c=a[i.dash2camel(l.name)]),void 0!==c){var u=l.name,d=c;this[n].properties.push({name:u,value:d})}}return this},s.style=s.css,s.generateStyle=function(e){var t=new o(e);return this.appendToStyle(t)},s.appendToStyle=function(e){for(var t=0;t<this.length;t++){var n=this[t],r=n.selector,i=n.properties;e.selector(r);for(var o=0;o<i.length;o++){var a=i[o];e.css(a.name,a.value)}}return e},e.exports=a},function(e,t,n){"use strict";e.exports="snapshot-2fd4aa6cc2-1531011493999"}])},e.exports=r(n(241),n(242))}).call(this,n(238).setImmediate)},function(e,t,n){(function(e){var r=void 0!==e&&e||"undefined"!=typeof self&&self||window,i=Function.prototype.apply;function o(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new o(i.call(setTimeout,r,arguments),clearTimeout)},t.setInterval=function(){return new o(i.call(setInterval,r,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},o.prototype.unref=o.prototype.ref=function(){},o.prototype.close=function(){this._clearFn.call(r,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},n(239),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,n(35))},function(e,t,n){(function(e,t){!function(e,n){"use strict";if(!e.setImmediate){var r,i,o,a,s,l=1,c={},u=!1,d=e.document,p=Object.getPrototypeOf&&Object.getPrototypeOf(e);p=p&&p.setTimeout?p:e,"[object process]"==={}.toString.call(e.process)?r=function(e){t.nextTick((function(){h(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?e.MessageChannel?((o=new MessageChannel).port1.onmessage=function(e){h(e.data)},r=function(e){o.port2.postMessage(e)}):d&&"onreadystatechange"in d.createElement("script")?(i=d.documentElement,r=function(e){var t=d.createElement("script");t.onreadystatechange=function(){h(e),t.onreadystatechange=null,i.removeChild(t),t=null},i.appendChild(t)}):r=function(e){setTimeout(h,0,e)}:(a="setImmediate$"+Math.random()+"$",s=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(a)&&h(+t.data.slice(a.length))},e.addEventListener?e.addEventListener("message",s,!1):e.attachEvent("onmessage",s),r=function(t){e.postMessage(a+t,"*")}),p.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n<t.length;n++)t[n]=arguments[n+1];var i={callback:e,args:t};return c[l]=i,r(l),l++},p.clearImmediate=f}function f(e){delete c[e]}function h(e){if(u)setTimeout(h,0,e);else{var t=c[e];if(t){u=!0;try{!function(e){var t=e.callback,n=e.args;switch(n.length){case 0:t();break;case 1:t(n[0]);break;case 2:t(n[0],n[1]);break;case 3:t(n[0],n[1],n[2]);break;default:t.apply(void 0,n)}}(t)}finally{f(e),u=!1}}}}}("undefined"==typeof self?void 0===e?this:e:self)}).call(this,n(35),n(240))},function(e,t){var n,r,i=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function s(e){if(n===setTimeout)return setTimeout(e,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(e){n=o}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var l,c=[],u=!1,d=-1;function p(){u&&l&&(u=!1,l.length?c=l.concat(c):d=-1,c.length&&f())}function f(){if(!u){var e=s(p);u=!0;for(var t=c.length;t;){for(l=c,c=[];++d<t;)l&&l[d].run();d=-1,t=c.length}l=null,u=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===a||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function h(e,t){this.fun=e,this.array=t}function g(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];c.push(new h(e,t)),1!==c.length||u||s(f)},h.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=g,i.addListener=g,i.once=g,i.off=g,i.removeListener=g,i.removeAllListeners=g,i.emit=g,i.prependListener=g,i.prependOnceListener=g,i.listeners=function(e){return[]},i.binding=function(e){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},function(e,t,n){(function(t){var n=/^\s+|\s+$/g,r=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,o=/^0o[0-7]+$/i,a=parseInt,s="object"==typeof t&&t&&t.Object===Object&&t,l="object"==typeof self&&self&&self.Object===Object&&self,c=s||l||Function("return this")(),u=Object.prototype.toString,d=Math.max,p=Math.min,f=function(){return c.Date.now()};function h(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function g(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==u.call(e)}(e))return NaN;if(h(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=h(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(n,"");var s=i.test(e);return s||o.test(e)?a(e.slice(2),s?2:8):r.test(e)?NaN:+e}e.exports=function(e,t,n){var r,i,o,a,s,l,c=0,u=!1,m=!1,v=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function b(t){var n=r,o=i;return r=i=void 0,c=t,a=e.apply(o,n)}function y(e){return c=e,s=setTimeout(w,t),u?b(e):a}function x(e){var n=e-l;return void 0===l||n>=t||n<0||m&&e-c>=o}function w(){var e=f();if(x(e))return k(e);s=setTimeout(w,function(e){var n=t-(e-l);return m?p(n,o-(e-c)):n}(e))}function k(e){return s=void 0,v&&r?b(e):(r=i=void 0,a)}function A(){var e=f(),n=x(e);if(r=arguments,i=this,l=e,n){if(void 0===s)return y(l);if(m)return s=setTimeout(w,t),b(l)}return void 0===s&&(s=setTimeout(w,t)),a}return t=g(t)||0,h(n)&&(u=!!n.leading,o=(m="maxWait"in n)?d(g(n.maxWait)||0,t):o,v="trailing"in n?!!n.trailing:v),A.cancel=function(){void 0!==s&&clearTimeout(s),c=0,r=l=i=s=void 0},A.flush=function(){return void 0===s?a:k(f())},A}}).call(this,n(35))},function(e,t,n){e.exports=n(243)},function(e,t,n){var r,i,o;(function(){var n,a,s,l,c,u,d,p,f,h,g,m,v,b,y;s=Math.floor,h=Math.min,a=function(e,t){return e<t?-1:e>t?1:0},f=function(e,t,n,r,i){var o;if(null==n&&(n=0),null==i&&(i=a),n<0)throw new Error("lo must be non-negative");for(null==r&&(r=e.length);n<r;)i(t,e[o=s((n+r)/2)])<0?r=o:n=o+1;return[].splice.apply(e,[n,n-n].concat(t)),t},u=function(e,t,n){return null==n&&(n=a),e.push(t),b(e,0,e.length-1,n)},c=function(e,t){var n,r;return null==t&&(t=a),n=e.pop(),e.length?(r=e[0],e[0]=n,y(e,0,t)):r=n,r},p=function(e,t,n){var r;return null==n&&(n=a),r=e[0],e[0]=t,y(e,0,n),r},d=function(e,t,n){var r;return null==n&&(n=a),e.length&&n(e[0],t)<0&&(t=(r=[e[0],t])[0],e[0]=r[1],y(e,0,n)),t},l=function(e,t){var n,r,i,o,l,c;for(null==t&&(t=a),l=[],r=0,i=(o=function(){c=[];for(var t=0,n=s(e.length/2);0<=n?t<n:t>n;0<=n?t++:t--)c.push(t);return c}.apply(this).reverse()).length;r<i;r++)n=o[r],l.push(y(e,n,t));return l},v=function(e,t,n){var r;if(null==n&&(n=a),-1!==(r=e.indexOf(t)))return b(e,0,r,n),y(e,r,n)},g=function(e,t,n){var r,i,o,s,c;if(null==n&&(n=a),!(i=e.slice(0,t)).length)return i;for(l(i,n),o=0,s=(c=e.slice(t)).length;o<s;o++)r=c[o],d(i,r,n);return i.sort(n).reverse()},m=function(e,t,n){var r,i,o,s,u,d,p,g,m;if(null==n&&(n=a),10*t<=e.length){if(!(o=e.slice(0,t).sort(n)).length)return o;for(i=o[o.length-1],s=0,d=(p=e.slice(t)).length;s<d;s++)n(r=p[s],i)<0&&(f(o,r,0,null,n),o.pop(),i=o[o.length-1]);return o}for(l(e,n),m=[],u=0,g=h(t,e.length);0<=g?u<g:u>g;0<=g?++u:--u)m.push(c(e,n));return m},b=function(e,t,n,r){var i,o,s;for(null==r&&(r=a),i=e[n];n>t&&r(i,o=e[s=n-1>>1])<0;)e[n]=o,n=s;return e[n]=i},y=function(e,t,n){var r,i,o,s,l;for(null==n&&(n=a),i=e.length,l=t,o=e[t],r=2*t+1;r<i;)(s=r+1)<i&&!(n(e[r],e[s])<0)&&(r=s),e[t]=e[r],r=2*(t=r)+1;return e[t]=o,b(e,l,t,n)},n=function(){function e(e){this.cmp=null!=e?e:a,this.nodes=[]}return e.push=u,e.pop=c,e.replace=p,e.pushpop=d,e.heapify=l,e.updateItem=v,e.nlargest=g,e.nsmallest=m,e.prototype.push=function(e){return u(this.nodes,e,this.cmp)},e.prototype.pop=function(){return c(this.nodes,this.cmp)},e.prototype.peek=function(){return this.nodes[0]},e.prototype.contains=function(e){return-1!==this.nodes.indexOf(e)},e.prototype.replace=function(e){return p(this.nodes,e,this.cmp)},e.prototype.pushpop=function(e){return d(this.nodes,e,this.cmp)},e.prototype.heapify=function(){return l(this.nodes,this.cmp)},e.prototype.updateItem=function(e){return v(this.nodes,e,this.cmp)},e.prototype.clear=function(){return this.nodes=[]},e.prototype.empty=function(){return 0===this.nodes.length},e.prototype.size=function(){return this.nodes.length},e.prototype.clone=function(){var t;return(t=new e).nodes=this.nodes.slice(0),t},e.prototype.toArray=function(){return this.nodes.slice(0)},e.prototype.insert=e.prototype.push,e.prototype.top=e.prototype.peek,e.prototype.front=e.prototype.peek,e.prototype.has=e.prototype.contains,e.prototype.copy=e.prototype.clone,e}(),i=[],void 0===(o="function"==typeof(r=function(){return n})?r.apply(t,i):r)||(e.exports=o)}).call(this)},function(e,t,n){var r;!function(){"use strict";var i="undefined"==typeof jQuery?null:jQuery,o=function(e,t){if(e){var n,r={menuItems:[],menuItemClasses:[],contextMenuClasses:[]};e("core","contextMenus",(function(e){var i=this;i.scratch("cycontextmenus")||i.scratch("cycontextmenus",{});var o,a=l("options"),s=l("cxtMenu");function l(e){return i.scratch("cycontextmenus")[e]}function c(e,t){i.scratch("cycontextmenus")[e]=t}function u(e){for(var t="",n=0;n<e.length;n++){t+=e[n],n!==e.length-1&&(t+=" ")}return t}function d(e){e.css("display","block")}function p(e){e.css("display","none")}function f(e,n,r){function o(n){c("currentCyEvent",n),function(e){var n=l("cxtMenuPosition"),r=e.position||e.cyPosition;if(n!=r){s.children().css("display","none"),c("anyVisibleChild",!1),c("cxtMenuPosition",r);var o=t(i.container()).offset(),a=e.renderedPosition||e.cyRenderedPosition,u=o.left+a.x,d=o.top+a.y;s.css("left",u),s.css("top",d)}}(n),e.data("show")&&(s.is(":visible")||d(s),c("anyVisibleChild",!0),d(e)),!l("anyVisibleChild")&&s.is(":visible")&&p(s)}var a,u;r&&i.on("cxttap",u=function(e){(e.target||e.cyTarget)==i&&o(e)}),n&&i.on("cxttap",n,a=function(e){o(e)}),e.data("cy-context-menus-cxtfcn",a),e.data("cy-context-menus-cxtcorefcn",u)}function h(e,t,n,r){!function(e,t){var n;e.on("click",n=function(){t(l("currentCyEvent"))}),e.data("call-on-click-function",n)}(e,t),f(e,n,r)}function g(e){for(var t=0;t<e.length;t++)m(e[t])}function m(e){var t,n=b(e);t=n,s.append(t),function(e){e.click((function(){p(s),c("cxtMenuPosition",void 0)}))}(t),h(n,e.onClickFunction,e.selector,e.coreAsWell)}function v(e,n){var r,i,o=b(e);r=o,i=t("#"+n),r.insertBefore(i),h(o,e.onClickFunction,e.selector,e.coreAsWell)}function b(e){var n,r,i,o=(n=a.menuItemClasses,r=e.hasTrailingDivider,i=u(n),i+=" cy-context-menus-cxt-menuitem",r&&(i+=" cy-context-menus-divider"),i),s='<button id="'+e.id+'" class="'+o+'"';e.tooltipText&&(s+=' title="'+e.tooltipText+'"'),e.disabled&&(s+=" disabled"),e.image?s+='><img src="'+e.image.src+'" width="'+e.image.width+'px"; height="'+e.image.height+'px"; style="position:absolute; top: '+e.image.y+"px; left: "+e.image.x+'px;">'+e.content+"</button>":s+=">"+e.content+"</button>";var l=t(s);return l.data("selector",e.selector),l.data("on-click-function",e.onClickFunction),l.data("show",void 0===e.show||e.show),l}function y(){var e;l("active")&&(e=s.children(),t(e).each((function(){x(t(this))})),i.off("tapstart",n),s.remove(),c(s=void 0,void 0),c("active",!1),c("anyVisibleChild",!1))}function x(e){var n="string"==typeof e?t("#"+e):e,r=n.data("cy-context-menus-cxtfcn"),o=n.data("selector"),a=n.data("call-on-click-function"),s=n.data("cy-context-menus-cxtcorefcn");r&&i.off("cxttap",o,r),s&&i.off("cxttap",s),a&&n.off("click",a),n.remove()}"get"!==e&&(c("options",a=function(e,t){var n={};for(var r in e)n[r]=e[r];for(var r in t)n[r]=t[r];return n}(r,e)),l("active")&&y(),c("active",!0),o=u(a.contextMenuClasses),(s=t("<div class="+o+"></div>")).addClass("cy-context-menus-cxt-menu"),c("cxtMenu",s),t("body").append(s),s=s,g(a.menuItems),i.on("tapstart",n=function(){p(s),c("cxtMenuPosition",void 0),c("currentCyEvent",void 0)}),t(".cy-context-menus-cxt-menu").contextmenu((function(){return!1})));return function(e){return{isActive:function(){return l("active")},appendMenuItem:function(t){return m(t),e},appendMenuItems:function(t){return g(t),e},removeMenuItem:function(t){return x(t),e},setTrailingDivider:function(n,r){return function(e,n){var r=t("#"+e);n?r.addClass("cy-context-menus-divider"):r.removeClass("cy-context-menus-divider")}(n,r),e},insertBeforeMenuItem:function(t,n){return v(t,n),e},moveBeforeOtherMenuItem:function(n,r){return function(e,n){if(e!==n){var r=t("#"+e).detach(),i=t("#"+n);r.insertBefore(i)}}(n,r),e},disableMenuItem:function(n){return t("#"+n).attr("disabled",!0),e},enableMenuItem:function(n){return t("#"+n).attr("disabled",!1),e},hideMenuItem:function(n){return t("#"+n).data("show",!1),p(t("#"+n)),e},showMenuItem:function(n){return t("#"+n).data("show",!0),d(t("#"+n)),e},destroy:function(){return y(),e}}}(this)}))}};e.exports&&(e.exports=o),void 0===(r=function(){return o}.call(t,n,t,e))||(e.exports=r),"undefined"!=typeof cytoscape&&i&&o(cytoscape,i)}()},function(e,t,n){var r;r=function(e){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){var r=n(1),i=function(e){e&&e("layout","dagre",r)};"undefined"!=typeof cytoscape&&i(cytoscape),e.exports=i},function(e,t,n){function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var i=n(2),o=n(3),a=n(4);function s(e){this.options=o({},i,e)}s.prototype.run=function(){var e=this.options,t=e.cy,n=e.eles,i=function(e,t){return"function"==typeof t?t.apply(e,[e]):t},o=e.boundingBox||{x1:0,y1:0,w:t.width(),h:t.height()};void 0===o.x2&&(o.x2=o.x1+o.w),void 0===o.w&&(o.w=o.x2-o.x1),void 0===o.y2&&(o.y2=o.y1+o.h),void 0===o.h&&(o.h=o.y2-o.y1);var s=new a.graphlib.Graph({multigraph:!0,compound:!0}),l={},c=function(e,t){null!=t&&(l[e]=t)};c("nodesep",e.nodeSep),c("edgesep",e.edgeSep),c("ranksep",e.rankSep),c("rankdir",e.rankDir),c("ranker",e.ranker),s.setGraph(l),s.setDefaultEdgeLabel((function(){return{}})),s.setDefaultNodeLabel((function(){return{}}));for(var u=n.nodes(),d=0;d<u.length;d++){var p=u[d],f=p.layoutDimensions(e);s.setNode(p.id(),{width:f.w,height:f.h,name:p.id()})}for(var h=0;h<u.length;h++){var g=u[h];g.isChild()&&s.setParent(g.id(),g.parent().id())}for(var m=n.edges().stdFilter((function(e){return!e.source().isParent()&&!e.target().isParent()})),v=0;v<m.length;v++){var b=m[v];s.setEdge(b.source().id(),b.target().id(),{minlen:i(b,e.minLen),weight:i(b,e.edgeWeight),name:b.id()},b.id())}a.layout(s);for(var y,x=s.nodes(),w=0;w<x.length;w++){var k=x[w],A=s.node(k);t.getElementById(k).scratch().dagre=A}return e.boundingBox?(y={x1:1/0,x2:-1/0,y1:1/0,y2:-1/0},u.forEach((function(e){var t=e.scratch().dagre;y.x1=Math.min(y.x1,t.x),y.x2=Math.max(y.x2,t.x),y.y1=Math.min(y.y1,t.y),y.y2=Math.max(y.y2,t.y)})),y.w=y.x2-y.x1,y.h=y.y2-y.y1):y=o,u.layoutPositions(this,e,(function(t){var n=(t="object"===r(t)?t:this).scratch().dagre;return function(t){if(e.boundingBox){var n=0===y.w?0:(t.x-y.x1)/y.w,r=0===y.h?0:(t.y-y.y1)/y.h;return{x:o.x1+n*o.w,y:o.y1+r*o.h}}return t}({x:n.x,y:n.y})})),this},e.exports=s},function(e,t){var n={nodeSep:void 0,edgeSep:void 0,rankSep:void 0,rankDir:void 0,ranker:void 0,minLen:function(e){return 1},edgeWeight:function(e){return 1},fit:!0,padding:30,spacingFactor:void 0,nodeDimensionsIncludeLabels:!1,animate:!1,animateFilter:function(e,t){return!0},animationDuration:500,animationEasing:void 0,boundingBox:void 0,transform:function(e,t){return t},ready:function(){},stop:function(){}};e.exports=n},function(e,t){e.exports=null!=Object.assign?Object.assign.bind(Object):function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return n.forEach((function(t){Object.keys(t).forEach((function(n){return e[n]=t[n]}))})),e}},function(t,n){t.exports=e}])},e.exports=r(n(246))},function(e,t,n){e.exports={graphlib:n(28),layout:n(359),debug:n(420),util:{time:n(20).time,notime:n(20).notime},version:n(421)}},function(e,t,n){e.exports={Graph:n(116),version:n(348)}},function(e,t,n){var r=n(149);e.exports=function(e){return r(e,4)}},function(e,t){e.exports=function(){this.__data__=[],this.size=0}},function(e,t,n){var r=n(75),i=Array.prototype.splice;e.exports=function(e){var t=this.__data__,n=r(t,e);return!(n<0)&&(n==t.length-1?t.pop():i.call(t,n,1),--this.size,!0)}},function(e,t,n){var r=n(75);e.exports=function(e){var t=this.__data__,n=r(t,e);return n<0?void 0:t[n][1]}},function(e,t,n){var r=n(75);e.exports=function(e){return r(this.__data__,e)>-1}},function(e,t,n){var r=n(75);e.exports=function(e,t){var n=this.__data__,i=r(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this}},function(e,t,n){var r=n(74);e.exports=function(){this.__data__=new r,this.size=0}},function(e,t){e.exports=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}},function(e,t){e.exports=function(e){return this.__data__.get(e)}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t,n){var r=n(74),i=n(117),o=n(118);e.exports=function(e,t){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!i||a.length<199)return a.push([e,t]),this.size=++n.size,this;n=this.__data__=new o(a)}return n.set(e,t),this.size=n.size,this}},function(e,t,n){var r=n(64),i=n(262),o=n(23),a=n(151),s=/^\[object .+?Constructor\]$/,l=Function.prototype,c=Object.prototype,u=l.toString,d=c.hasOwnProperty,p=RegExp("^"+u.call(d).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!o(e)||i(e))&&(r(e)?p:s).test(a(e))}},function(e,t,n){var r=n(58),i=Object.prototype,o=i.hasOwnProperty,a=i.toString,s=r?r.toStringTag:void 0;e.exports=function(e){var t=o.call(e,s),n=e[s];try{e[s]=void 0;var r=!0}catch(e){}var i=a.call(e);return r&&(t?e[s]=n:delete e[s]),i}},function(e,t){var n=Object.prototype.toString;e.exports=function(e){return n.call(e)}},function(e,t,n){var r,i=n(263),o=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";e.exports=function(e){return!!o&&o in e}},function(e,t,n){var r=n(29)["__core-js_shared__"];e.exports=r},function(e,t){e.exports=function(e,t){return null==e?void 0:e[t]}},function(e,t,n){var r=n(266),i=n(74),o=n(117);e.exports=function(){this.size=0,this.__data__={hash:new r,map:new(o||i),string:new r}}},function(e,t,n){var r=n(267),i=n(268),o=n(269),a=n(270),s=n(271);function l(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}l.prototype.clear=r,l.prototype.delete=i,l.prototype.get=o,l.prototype.has=a,l.prototype.set=s,e.exports=l},function(e,t,n){var r=n(76);e.exports=function(){this.__data__=r?r(null):{},this.size=0}},function(e,t){e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},function(e,t,n){var r=n(76),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(r){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return i.call(t,e)?t[e]:void 0}},function(e,t,n){var r=n(76),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return r?void 0!==t[e]:i.call(t,e)}},function(e,t,n){var r=n(76);e.exports=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=r&&void 0===t?"__lodash_hash_undefined__":t,this}},function(e,t,n){var r=n(77);e.exports=function(e){var t=r(this,e).delete(e);return this.size-=t?1:0,t}},function(e,t){e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},function(e,t,n){var r=n(77);e.exports=function(e){return r(this,e).get(e)}},function(e,t,n){var r=n(77);e.exports=function(e){return r(this,e).has(e)}},function(e,t,n){var r=n(77);e.exports=function(e,t){var n=r(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this}},function(e,t,n){var r=n(65),i=n(41);e.exports=function(e,t){return e&&r(t,i(t),e)}},function(e,t){e.exports=function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}},function(e,t,n){var r=n(47),i=n(34);e.exports=function(e){return i(e)&&"[object Arguments]"==r(e)}},function(e,t){e.exports=function(){return!1}},function(e,t,n){var r=n(47),i=n(120),o=n(34),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1,e.exports=function(e){return o(e)&&i(e.length)&&!!a[r(e)]}},function(e,t,n){var r=n(154)(Object.keys,Object);e.exports=r},function(e,t,n){var r=n(65),i=n(48);e.exports=function(e,t){return e&&r(t,i(t),e)}},function(e,t,n){var r=n(23),i=n(83),o=n(285),a=Object.prototype.hasOwnProperty;e.exports=function(e){if(!r(e))return o(e);var t=i(e),n=[];for(var s in e)("constructor"!=s||!t&&a.call(e,s))&&n.push(s);return n}},function(e,t){e.exports=function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}},function(e,t,n){var r=n(65),i=n(123);e.exports=function(e,t){return r(e,i(e),t)}},function(e,t,n){var r=n(65),i=n(159);e.exports=function(e,t){return r(e,i(e),t)}},function(e,t,n){var r=n(161),i=n(159),o=n(48);e.exports=function(e){return r(e,o,i)}},function(e,t,n){var r=n(46)(n(29),"DataView");e.exports=r},function(e,t,n){var r=n(46)(n(29),"Promise");e.exports=r},function(e,t,n){var r=n(46)(n(29),"WeakMap");e.exports=r},function(e,t){var n=Object.prototype.hasOwnProperty;e.exports=function(e){var t=e.length,r=new e.constructor(t);return t&&"string"==typeof e[0]&&n.call(e,"index")&&(r.index=e.index,r.input=e.input),r}},function(e,t,n){var r=n(125),i=n(294),o=n(295),a=n(296),s=n(164);e.exports=function(e,t,n){var l=e.constructor;switch(t){case"[object ArrayBuffer]":return r(e);case"[object Boolean]":case"[object Date]":return new l(+e);case"[object DataView]":return i(e,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return s(e,n);case"[object Map]":return new l;case"[object Number]":case"[object String]":return new l(e);case"[object RegExp]":return o(e);case"[object Set]":return new l;case"[object Symbol]":return a(e)}}},function(e,t,n){var r=n(125);e.exports=function(e,t){var n=t?r(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}},function(e,t){var n=/\w*$/;e.exports=function(e){var t=new e.constructor(e.source,n.exec(e));return t.lastIndex=e.lastIndex,t}},function(e,t,n){var r=n(58),i=r?r.prototype:void 0,o=i?i.valueOf:void 0;e.exports=function(e){return o?Object(o.call(e)):{}}},function(e,t,n){var r=n(298),i=n(82),o=n(121),a=o&&o.isMap,s=a?i(a):r;e.exports=s},function(e,t,n){var r=n(60),i=n(34);e.exports=function(e){return i(e)&&"[object Map]"==r(e)}},function(e,t,n){var r=n(300),i=n(82),o=n(121),a=o&&o.isSet,s=a?i(a):r;e.exports=s},function(e,t,n){var r=n(60),i=n(34);e.exports=function(e){return i(e)&&"[object Set]"==r(e)}},function(e,t){e.exports=function(e){return function(t,n,r){for(var i=-1,o=Object(t),a=r(t),s=a.length;s--;){var l=a[e?s:++i];if(!1===n(o[l],l,o))break}return t}}},function(e,t,n){var r=n(36);e.exports=function(e,t){return function(n,i){if(null==n)return n;if(!r(n))return e(n,i);for(var o=n.length,a=t?o:-1,s=Object(n);(t?a--:++a<o)&&!1!==i(s[a],a,s););return n}}},function(e,t,n){var r=n(85);e.exports=function(e,t){var n=[];return r(e,(function(e,r,i){t(e,r,i)&&n.push(e)})),n}},function(e,t,n){var r=n(305),i=n(313),o=n(176);e.exports=function(e){var t=i(e);return 1==t.length&&t[0][2]?o(t[0][0],t[0][1]):function(n){return n===e||r(n,e,t)}}},function(e,t,n){var r=n(73),i=n(171);e.exports=function(e,t,n,o){var a=n.length,s=a,l=!o;if(null==e)return!s;for(e=Object(e);a--;){var c=n[a];if(l&&c[2]?c[1]!==e[c[0]]:!(c[0]in e))return!1}for(;++a<s;){var u=(c=n[a])[0],d=e[u],p=c[1];if(l&&c[2]){if(void 0===d&&!(u in e))return!1}else{var f=new r;if(o)var h=o(d,p,u,e,t,f);if(!(void 0===h?i(p,d,3,o,f):h))return!1}}return!0}},function(e,t,n){var r=n(73),i=n(172),o=n(310),a=n(312),s=n(60),l=n(13),c=n(59),u=n(67),d="[object Object]",p=Object.prototype.hasOwnProperty;e.exports=function(e,t,n,f,h,g){var m=l(e),v=l(t),b=m?"[object Array]":s(e),y=v?"[object Array]":s(t),x=(b="[object Arguments]"==b?d:b)==d,w=(y="[object Arguments]"==y?d:y)==d,k=b==y;if(k&&c(e)){if(!c(t))return!1;m=!0,x=!1}if(k&&!x)return g||(g=new r),m||u(e)?i(e,t,n,f,h,g):o(e,t,b,n,f,h,g);if(!(1&n)){var A=x&&p.call(e,"__wrapped__"),E=w&&p.call(t,"__wrapped__");if(A||E){var S=A?e.value():e,$=E?t.value():t;return g||(g=new r),h(S,$,n,f,g)}}return!!k&&(g||(g=new r),a(e,t,n,f,h,g))}},function(e,t){e.exports=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}},function(e,t,n){var r=n(58),i=n(163),o=n(57),a=n(172),s=n(311),l=n(129),c=r?r.prototype:void 0,u=c?c.valueOf:void 0;e.exports=function(e,t,n,r,c,d,p){switch(n){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!d(new i(e),new i(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return o(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var f=s;case"[object Set]":var h=1&r;if(f||(f=l),e.size!=t.size&&!h)return!1;var g=p.get(e);if(g)return g==t;r|=2,p.set(e,t);var m=a(f(e),f(t),r,c,d,p);return p.delete(e),m;case"[object Symbol]":if(u)return u.call(e)==u.call(t)}return!1}},function(e,t){e.exports=function(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}},function(e,t,n){var r=n(160),i=Object.prototype.hasOwnProperty;e.exports=function(e,t,n,o,a,s){var l=1&n,c=r(e),u=c.length;if(u!=r(t).length&&!l)return!1;for(var d=u;d--;){var p=c[d];if(!(l?p in t:i.call(t,p)))return!1}var f=s.get(e),h=s.get(t);if(f&&h)return f==t&&h==e;var g=!0;s.set(e,t),s.set(t,e);for(var m=l;++d<u;){var v=e[p=c[d]],b=t[p];if(o)var y=l?o(b,v,p,t,e,s):o(v,b,p,e,t,s);if(!(void 0===y?v===b||a(v,b,n,o,s):y)){g=!1;break}m||(m="constructor"==p)}if(g&&!m){var x=e.constructor,w=t.constructor;x==w||!("constructor"in e)||!("constructor"in t)||"function"==typeof x&&x instanceof x&&"function"==typeof w&&w instanceof w||(g=!1)}return s.delete(e),s.delete(t),g}},function(e,t,n){var r=n(175),i=n(41);e.exports=function(e){for(var t=i(e),n=t.length;n--;){var o=t[n],a=e[o];t[n]=[o,a,r(a)]}return t}},function(e,t,n){var r=n(171),i=n(315),o=n(178),a=n(130),s=n(175),l=n(176),c=n(68);e.exports=function(e,t){return a(e)&&s(t)?l(c(e),t):function(n){var a=i(n,e);return void 0===a&&a===t?o(n,e):r(t,a,3)}}},function(e,t,n){var r=n(86);e.exports=function(e,t,n){var i=null==e?void 0:r(e,t);return void 0===i?n:i}},function(e,t,n){var r=n(317),i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,a=r((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(i,(function(e,n,r,i){t.push(r?i.replace(o,"$1"):n||e)})),t}));e.exports=a},function(e,t,n){var r=n(318);e.exports=function(e){var t=r(e,(function(e){return 500===n.size&&n.clear(),e})),n=t.cache;return t}},function(e,t,n){var r=n(118);function i(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=e.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(i.Cache||r),n}i.Cache=r,e.exports=i},function(e,t,n){var r=n(58),i=n(88),o=n(13),a=n(61),s=r?r.prototype:void 0,l=s?s.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(o(t))return i(t,e)+"";if(a(t))return l?l.call(t):"";var n=t+"";return"0"==n&&1/t==-1/0?"-0":n}},function(e,t){e.exports=function(e,t){return null!=e&&t in Object(e)}},function(e,t,n){var r=n(180),i=n(322),o=n(130),a=n(68);e.exports=function(e){return o(e)?r(a(e)):i(e)}},function(e,t,n){var r=n(86);e.exports=function(e){return function(t){return r(t,e)}}},function(e,t){var n=Object.prototype.hasOwnProperty;e.exports=function(e,t){return null!=e&&n.call(e,t)}},function(e,t,n){var r=n(122),i=n(60),o=n(66),a=n(13),s=n(36),l=n(59),c=n(83),u=n(67),d=Object.prototype.hasOwnProperty;e.exports=function(e){if(null==e)return!0;if(s(e)&&(a(e)||"string"==typeof e||"function"==typeof e.splice||l(e)||u(e)||o(e)))return!e.length;var t=i(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(c(e))return!r(e).length;for(var n in e)if(d.call(e,n))return!1;return!0}},function(e,t){e.exports=function(e,t,n,r){var i=-1,o=null==e?0:e.length;for(r&&o&&(n=e[++i]);++i<o;)n=t(n,e[i],i,e);return n}},function(e,t){e.exports=function(e,t,n,r,i){return i(e,(function(e,i,o){n=r?(r=!1,e):t(n,e,i,o)})),n}},function(e,t,n){var r=n(122),i=n(60),o=n(36),a=n(328),s=n(329);e.exports=function(e){if(null==e)return 0;if(o(e))return a(e)?s(e):e.length;var t=i(e);return"[object Map]"==t||"[object Set]"==t?e.size:r(e).length}},function(e,t,n){var r=n(47),i=n(13),o=n(34);e.exports=function(e){return"string"==typeof e||!i(e)&&o(e)&&"[object String]"==r(e)}},function(e,t,n){var r=n(330),i=n(331),o=n(332);e.exports=function(e){return i(e)?o(e):r(e)}},function(e,t,n){var r=n(180)("length");e.exports=r},function(e,t){var n=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");e.exports=function(e){return n.test(e)}},function(e,t){var n="[\\ud800-\\udfff]",r="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",i="\\ud83c[\\udffb-\\udfff]",o="[^\\ud800-\\udfff]",a="(?:\\ud83c[\\udde6-\\uddff]){2}",s="[\\ud800-\\udbff][\\udc00-\\udfff]",l="(?:"+r+"|"+i+")"+"?",c="[\\ufe0e\\ufe0f]?"+l+("(?:\\u200d(?:"+[o,a,s].join("|")+")[\\ufe0e\\ufe0f]?"+l+")*"),u="(?:"+[o+r+"?",r,a,s,n].join("|")+")",d=RegExp(i+"(?="+i+")|"+u+c,"g");e.exports=function(e){for(var t=d.lastIndex=0;d.test(e);)++t;return t}},function(e,t,n){var r=n(119),i=n(166),o=n(127),a=n(37),s=n(84),l=n(13),c=n(59),u=n(64),d=n(23),p=n(67);e.exports=function(e,t,n){var f=l(e),h=f||c(e)||p(e);if(t=a(t,4),null==n){var g=e&&e.constructor;n=h?f?new g:[]:d(e)&&u(g)?i(s(e)):{}}return(h?r:o)(e,(function(e,r,i){return t(n,e,r,i)})),n}},function(e,t,n){var r=n(131),i=n(89),o=n(339),a=n(189),s=i((function(e){return o(r(e,1,a,!0))}));e.exports=s},function(e,t,n){var r=n(58),i=n(66),o=n(13),a=r?r.isConcatSpreadable:void 0;e.exports=function(e){return o(e)||i(e)||!!(a&&e&&e[a])}},function(e,t){e.exports=function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}},function(e,t,n){var r=n(126),i=n(152),o=n(49),a=i?function(e,t){return i(e,"toString",{configurable:!0,enumerable:!1,value:r(t),writable:!0})}:o;e.exports=a},function(e,t){var n=Date.now;e.exports=function(e){var t=0,r=0;return function(){var i=n(),o=16-(i-r);if(r=i,o>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}},function(e,t,n){var r=n(173),i=n(340),o=n(344),a=n(174),s=n(345),l=n(129);e.exports=function(e,t,n){var c=-1,u=i,d=e.length,p=!0,f=[],h=f;if(n)p=!1,u=o;else if(d>=200){var g=t?null:s(e);if(g)return l(g);p=!1,u=a,h=new r}else h=t?[]:f;e:for(;++c<d;){var m=e[c],v=t?t(m):m;if(m=n||0!==m?m:0,p&&v==v){for(var b=h.length;b--;)if(h[b]===v)continue e;t&&h.push(v),f.push(m)}else u(h,v,n)||(h!==f&&h.push(v),f.push(m))}return f}},function(e,t,n){var r=n(341);e.exports=function(e,t){return!!(null==e?0:e.length)&&r(e,t,0)>-1}},function(e,t,n){var r=n(188),i=n(342),o=n(343);e.exports=function(e,t,n){return t==t?o(e,t,n):r(e,i,n)}},function(e,t){e.exports=function(e){return e!=e}},function(e,t){e.exports=function(e,t,n){for(var r=n-1,i=e.length;++r<i;)if(e[r]===t)return r;return-1}},function(e,t){e.exports=function(e,t,n){for(var r=-1,i=null==e?0:e.length;++r<i;)if(n(t,e[r]))return!0;return!1}},function(e,t,n){var r=n(162),i=n(346),o=n(129),a=r&&1/o(new r([,-0]))[1]==1/0?function(e){return new r(e)}:i;e.exports=a},function(e,t){e.exports=function(){}},function(e,t,n){var r=n(88);e.exports=function(e,t){return r(t,(function(t){return e[t]}))}},function(e,t){e.exports="2.1.8"},function(e,t,n){var r=n(22),i=n(116);function o(e){return r.map(e.nodes(),(function(t){var n=e.node(t),i=e.parent(t),o={v:t};return r.isUndefined(n)||(o.value=n),r.isUndefined(i)||(o.parent=i),o}))}function a(e){return r.map(e.edges(),(function(t){var n=e.edge(t),i={v:t.v,w:t.w};return r.isUndefined(t.name)||(i.name=t.name),r.isUndefined(n)||(i.value=n),i}))}e.exports={write:function(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:o(e),edges:a(e)};r.isUndefined(e.graph())||(t.value=r.clone(e.graph()));return t},read:function(e){var t=new i(e.options).setGraph(e.value);return r.each(e.nodes,(function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)})),r.each(e.edges,(function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)})),t}}},function(e,t,n){e.exports={components:n(351),dijkstra:n(191),dijkstraAll:n(352),findCycles:n(353),floydWarshall:n(354),isAcyclic:n(355),postorder:n(356),preorder:n(357),prim:n(358),tarjan:n(193),topsort:n(194)}},function(e,t,n){var r=n(22);e.exports=function(e){var t,n={},i=[];function o(i){r.has(n,i)||(n[i]=!0,t.push(i),r.each(e.successors(i),o),r.each(e.predecessors(i),o))}return r.each(e.nodes(),(function(e){t=[],o(e),t.length&&i.push(t)})),i}},function(e,t,n){var r=n(191),i=n(22);e.exports=function(e,t,n){return i.transform(e.nodes(),(function(i,o){i[o]=r(e,o,t,n)}),{})}},function(e,t,n){var r=n(22),i=n(193);e.exports=function(e){return r.filter(i(e),(function(t){return t.length>1||1===t.length&&e.hasEdge(t[0],t[0])}))}},function(e,t,n){var r=n(22);e.exports=function(e,t,n){return function(e,t,n){var r={},i=e.nodes();return i.forEach((function(e){r[e]={},r[e][e]={distance:0},i.forEach((function(t){e!==t&&(r[e][t]={distance:Number.POSITIVE_INFINITY})})),n(e).forEach((function(n){var i=n.v===e?n.w:n.v,o=t(n);r[e][i]={distance:o,predecessor:e}}))})),i.forEach((function(e){var t=r[e];i.forEach((function(n){var o=r[n];i.forEach((function(n){var r=o[e],i=t[n],a=o[n],s=r.distance+i.distance;s<a.distance&&(a.distance=s,a.predecessor=i.predecessor)}))}))})),r}(e,t||i,n||function(t){return e.outEdges(t)})};var i=r.constant(1)},function(e,t,n){var r=n(194);e.exports=function(e){try{r(e)}catch(e){if(e instanceof r.CycleException)return!1;throw e}return!0}},function(e,t,n){var r=n(195);e.exports=function(e,t){return r(e,t,"post")}},function(e,t,n){var r=n(195);e.exports=function(e,t){return r(e,t,"pre")}},function(e,t,n){var r=n(22),i=n(116),o=n(192);e.exports=function(e,t){var n,a=new i,s={},l=new o;function c(e){var r=e.v===n?e.w:e.v,i=l.priority(r);if(void 0!==i){var o=t(e);o<i&&(s[r]=n,l.decrease(r,o))}}if(0===e.nodeCount())return a;r.each(e.nodes(),(function(e){l.add(e,Number.POSITIVE_INFINITY),a.setNode(e)})),l.decrease(e.nodes()[0],0);var u=!1;for(;l.size()>0;){if(n=l.removeMin(),r.has(s,n))a.setEdge(n,s[n]);else{if(u)throw new Error("Input graph is not connected: "+e);u=!0}e.nodeEdges(n).forEach(c)}return a}},function(e,t,n){"use strict";var r=n(11),i=n(399),o=n(402),a=n(403),s=n(20).normalizeRanks,l=n(405),c=n(20).removeEmptyRanks,u=n(406),d=n(407),p=n(408),f=n(409),h=n(418),g=n(20),m=n(28).Graph;e.exports=function(e,t){var n=t&&t.debugTiming?g.time:g.notime;n("layout",(function(){var t=n(" buildLayoutGraph",(function(){return function(e){var t=new m({multigraph:!0,compound:!0}),n=$(e.graph());return t.setGraph(r.merge({},b,S(n,v),r.pick(n,y))),r.forEach(e.nodes(),(function(n){var i=$(e.node(n));t.setNode(n,r.defaults(S(i,x),w)),t.setParent(n,e.parent(n))})),r.forEach(e.edges(),(function(n){var i=$(e.edge(n));t.setEdge(n,r.merge({},A,S(i,k),r.pick(i,E)))})),t}(e)}));n(" runLayout",(function(){!function(e,t){t(" makeSpaceForEdgeLabels",(function(){!function(e){var t=e.graph();t.ranksep/=2,r.forEach(e.edges(),(function(n){var r=e.edge(n);r.minlen*=2,"c"!==r.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?r.width+=r.labeloffset:r.height+=r.labeloffset)}))}(e)})),t(" removeSelfEdges",(function(){!function(e){r.forEach(e.edges(),(function(t){if(t.v===t.w){var n=e.node(t.v);n.selfEdges||(n.selfEdges=[]),n.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}}))}(e)})),t(" acyclic",(function(){i.run(e)})),t(" nestingGraph.run",(function(){u.run(e)})),t(" rank",(function(){a(g.asNonCompoundGraph(e))})),t(" injectEdgeLabelProxies",(function(){!function(e){r.forEach(e.edges(),(function(t){var n=e.edge(t);if(n.width&&n.height){var r=e.node(t.v),i={rank:(e.node(t.w).rank-r.rank)/2+r.rank,e:t};g.addDummyNode(e,"edge-proxy",i,"_ep")}}))}(e)})),t(" removeEmptyRanks",(function(){c(e)})),t(" nestingGraph.cleanup",(function(){u.cleanup(e)})),t(" normalizeRanks",(function(){s(e)})),t(" assignRankMinMax",(function(){!function(e){var t=0;r.forEach(e.nodes(),(function(n){var i=e.node(n);i.borderTop&&(i.minRank=e.node(i.borderTop).rank,i.maxRank=e.node(i.borderBottom).rank,t=r.max(t,i.maxRank))})),e.graph().maxRank=t}(e)})),t(" removeEdgeLabelProxies",(function(){!function(e){r.forEach(e.nodes(),(function(t){var n=e.node(t);"edge-proxy"===n.dummy&&(e.edge(n.e).labelRank=n.rank,e.removeNode(t))}))}(e)})),t(" normalize.run",(function(){o.run(e)})),t(" parentDummyChains",(function(){l(e)})),t(" addBorderSegments",(function(){d(e)})),t(" order",(function(){f(e)})),t(" insertSelfEdges",(function(){!function(e){var t=g.buildLayerMatrix(e);r.forEach(t,(function(t){var n=0;r.forEach(t,(function(t,i){var o=e.node(t);o.order=i+n,r.forEach(o.selfEdges,(function(t){g.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:o.rank,order:i+ ++n,e:t.e,label:t.label},"_se")})),delete o.selfEdges}))}))}(e)})),t(" adjustCoordinateSystem",(function(){p.adjust(e)})),t(" position",(function(){h(e)})),t(" positionSelfEdges",(function(){!function(e){r.forEach(e.nodes(),(function(t){var n=e.node(t);if("selfedge"===n.dummy){var r=e.node(n.e.v),i=r.x+r.width/2,o=r.y,a=n.x-i,s=r.height/2;e.setEdge(n.e,n.label),e.removeNode(t),n.label.points=[{x:i+2*a/3,y:o-s},{x:i+5*a/6,y:o-s},{x:i+a,y:o},{x:i+5*a/6,y:o+s},{x:i+2*a/3,y:o+s}],n.label.x=n.x,n.label.y=n.y}}))}(e)})),t(" removeBorderNodes",(function(){!function(e){r.forEach(e.nodes(),(function(t){if(e.children(t).length){var n=e.node(t),i=e.node(n.borderTop),o=e.node(n.borderBottom),a=e.node(r.last(n.borderLeft)),s=e.node(r.last(n.borderRight));n.width=Math.abs(s.x-a.x),n.height=Math.abs(o.y-i.y),n.x=a.x+n.width/2,n.y=i.y+n.height/2}})),r.forEach(e.nodes(),(function(t){"border"===e.node(t).dummy&&e.removeNode(t)}))}(e)})),t(" normalize.undo",(function(){o.undo(e)})),t(" fixupEdgeLabelCoords",(function(){!function(e){r.forEach(e.edges(),(function(t){var n=e.edge(t);if(r.has(n,"x"))switch("l"!==n.labelpos&&"r"!==n.labelpos||(n.width-=n.labeloffset),n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset}}))}(e)})),t(" undoCoordinateSystem",(function(){p.undo(e)})),t(" translateGraph",(function(){!function(e){var t=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,o=0,a=e.graph(),s=a.marginx||0,l=a.marginy||0;function c(e){var r=e.x,a=e.y,s=e.width,l=e.height;t=Math.min(t,r-s/2),n=Math.max(n,r+s/2),i=Math.min(i,a-l/2),o=Math.max(o,a+l/2)}r.forEach(e.nodes(),(function(t){c(e.node(t))})),r.forEach(e.edges(),(function(t){var n=e.edge(t);r.has(n,"x")&&c(n)})),t-=s,i-=l,r.forEach(e.nodes(),(function(n){var r=e.node(n);r.x-=t,r.y-=i})),r.forEach(e.edges(),(function(n){var o=e.edge(n);r.forEach(o.points,(function(e){e.x-=t,e.y-=i})),r.has(o,"x")&&(o.x-=t),r.has(o,"y")&&(o.y-=i)})),a.width=n-t+s,a.height=o-i+l}(e)})),t(" assignNodeIntersects",(function(){!function(e){r.forEach(e.edges(),(function(t){var n,r,i=e.edge(t),o=e.node(t.v),a=e.node(t.w);i.points?(n=i.points[0],r=i.points[i.points.length-1]):(i.points=[],n=a,r=o),i.points.unshift(g.intersectRect(o,n)),i.points.push(g.intersectRect(a,r))}))}(e)})),t(" reversePoints",(function(){!function(e){r.forEach(e.edges(),(function(t){var n=e.edge(t);n.reversed&&n.points.reverse()}))}(e)})),t(" acyclic.undo",(function(){i.undo(e)}))}(t,n)})),n(" updateInputGraph",(function(){!function(e,t){r.forEach(e.nodes(),(function(n){var r=e.node(n),i=t.node(n);r&&(r.x=i.x,r.y=i.y,t.children(n).length&&(r.width=i.width,r.height=i.height))})),r.forEach(e.edges(),(function(n){var i=e.edge(n),o=t.edge(n);i.points=o.points,r.has(o,"x")&&(i.x=o.x,i.y=o.y)})),e.graph().width=t.graph().width,e.graph().height=t.graph().height}(e,t)}))}))};var v=["nodesep","edgesep","ranksep","marginx","marginy"],b={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},y=["acyclicer","ranker","rankdir","align"],x=["width","height"],w={width:0,height:0},k=["minlen","weight","width","height","labeloffset"],A={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},E=["labelpos"];function S(e,t){return r.mapValues(r.pick(e,t),Number)}function $(e){var t={};return r.forEach(e,(function(e,n){t[n.toLowerCase()]=e})),t}},function(e,t,n){var r=n(149);e.exports=function(e){return r(e,5)}},function(e,t,n){var r=n(89),i=n(57),o=n(90),a=n(48),s=Object.prototype,l=s.hasOwnProperty,c=r((function(e,t){e=Object(e);var n=-1,r=t.length,c=r>2?t[2]:void 0;for(c&&o(t[0],t[1],c)&&(r=1);++n<r;)for(var u=t[n],d=a(u),p=-1,f=d.length;++p<f;){var h=d[p],g=e[h];(void 0===g||i(g,s[h])&&!l.call(e,h))&&(e[h]=u[h])}return e}));e.exports=c},function(e,t,n){var r=n(363)(n(364));e.exports=r},function(e,t,n){var r=n(37),i=n(36),o=n(41);e.exports=function(e){return function(t,n,a){var s=Object(t);if(!i(t)){var l=r(n,3);t=o(t),n=function(e){return l(s[e],e,s)}}var c=e(t,n,a);return c>-1?s[l?t[c]:c]:void 0}}},function(e,t,n){var r=n(188),i=n(37),o=n(365),a=Math.max;e.exports=function(e,t,n){var s=null==e?0:e.length;if(!s)return-1;var l=null==n?0:o(n);return l<0&&(l=a(s+l,0)),r(e,i(t,3),l)}},function(e,t,n){var r=n(196);e.exports=function(e){var t=r(e),n=t%1;return t==t?n?t-n:t:0}},function(e,t,n){var r=n(367),i=n(23),o=n(61),a=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,l=/^0o[0-7]+$/i,c=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(o(e))return NaN;if(i(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=r(e);var n=s.test(e);return n||l.test(e)?c(e.slice(2),n?2:8):a.test(e)?NaN:+e}},function(e,t,n){var r=n(368),i=/^\s+/;e.exports=function(e){return e?e.slice(0,r(e)+1).replace(i,""):e}},function(e,t){var n=/\s/;e.exports=function(e){for(var t=e.length;t--&&n.test(e.charAt(t)););return t}},function(e,t,n){var r=n(128),i=n(169),o=n(48);e.exports=function(e,t){return null==e?e:r(e,i(t),o)}},function(e,t){e.exports=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}},function(e,t,n){var r=n(79),i=n(127),o=n(37);e.exports=function(e,t){var n={};return t=o(t,3),i(e,(function(e,i,o){r(n,i,t(e,i,o))})),n}},function(e,t,n){var r=n(132),i=n(373),o=n(49);e.exports=function(e){return e&&e.length?r(e,o,i):void 0}},function(e,t){e.exports=function(e,t){return e>t}},function(e,t,n){var r=n(375),i=n(379)((function(e,t,n){r(e,t,n)}));e.exports=i},function(e,t,n){var r=n(73),i=n(198),o=n(128),a=n(376),s=n(23),l=n(48),c=n(199);e.exports=function e(t,n,u,d,p){t!==n&&o(n,(function(o,l){if(p||(p=new r),s(o))a(t,n,l,u,e,d,p);else{var f=d?d(c(t,l),o,l+"",t,n,p):void 0;void 0===f&&(f=o),i(t,l,f)}}),l)}},function(e,t,n){var r=n(198),i=n(155),o=n(164),a=n(156),s=n(165),l=n(66),c=n(13),u=n(189),d=n(59),p=n(64),f=n(23),h=n(377),g=n(67),m=n(199),v=n(378);e.exports=function(e,t,n,b,y,x,w){var k=m(e,n),A=m(t,n),E=w.get(A);if(E)r(e,n,E);else{var S=x?x(k,A,n+"",e,t,w):void 0,$=void 0===S;if($){var C=c(A),_=!C&&d(A),O=!C&&!_&&g(A);S=A,C||_||O?c(k)?S=k:u(k)?S=a(k):_?($=!1,S=i(A,!0)):O?($=!1,S=o(A,!0)):S=[]:h(A)||l(A)?(S=k,l(k)?S=v(k):f(k)&&!p(k)||(S=s(A))):$=!1}$&&(w.set(A,S),y(S,A,b,x,w),w.delete(A)),r(e,n,S)}}},function(e,t,n){var r=n(47),i=n(84),o=n(34),a=Function.prototype,s=Object.prototype,l=a.toString,c=s.hasOwnProperty,u=l.call(Object);e.exports=function(e){if(!o(e)||"[object Object]"!=r(e))return!1;var t=i(e);if(null===t)return!0;var n=c.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&l.call(n)==u}},function(e,t,n){var r=n(65),i=n(48);e.exports=function(e){return r(e,i(e))}},function(e,t,n){var r=n(89),i=n(90);e.exports=function(e){return r((function(t,n){var r=-1,o=n.length,a=o>1?n[o-1]:void 0,s=o>2?n[2]:void 0;for(a=e.length>3&&"function"==typeof a?(o--,a):void 0,s&&i(n[0],n[1],s)&&(a=o<3?void 0:a,o=1),t=Object(t);++r<o;){var l=n[r];l&&e(t,l,r,a)}return t}))}},function(e,t,n){var r=n(132),i=n(200),o=n(49);e.exports=function(e){return e&&e.length?r(e,o,i):void 0}},function(e,t,n){var r=n(132),i=n(37),o=n(200);e.exports=function(e,t){return e&&e.length?r(e,i(t,2),o):void 0}},function(e,t,n){var r=n(29);e.exports=function(){return r.Date.now()}},function(e,t,n){var r=n(384),i=n(387)((function(e,t){return null==e?{}:r(e,t)}));e.exports=i},function(e,t,n){var r=n(385),i=n(178);e.exports=function(e,t){return r(e,t,(function(t,n){return i(e,n)}))}},function(e,t,n){var r=n(86),i=n(386),o=n(87);e.exports=function(e,t,n){for(var a=-1,s=t.length,l={};++a<s;){var c=t[a],u=r(e,c);n(u,c)&&i(l,o(c,e),u)}return l}},function(e,t,n){var r=n(78),i=n(87),o=n(81),a=n(23),s=n(68);e.exports=function(e,t,n,l){if(!a(e))return e;for(var c=-1,u=(t=i(t,e)).length,d=u-1,p=e;null!=p&&++c<u;){var f=s(t[c]),h=n;if("__proto__"===f||"constructor"===f||"prototype"===f)return e;if(c!=d){var g=p[f];void 0===(h=l?l(g,f,p):void 0)&&(h=a(g)?g:o(t[c+1])?[]:{})}r(p,f,h),p=p[f]}return e}},function(e,t,n){var r=n(197),i=n(186),o=n(187);e.exports=function(e){return o(i(e,void 0,r),e+"")}},function(e,t,n){var r=n(389)();e.exports=r},function(e,t,n){var r=n(390),i=n(90),o=n(196);e.exports=function(e){return function(t,n,a){return a&&"number"!=typeof a&&i(t,n,a)&&(n=a=void 0),t=o(t),void 0===n?(n=t,t=0):n=o(n),a=void 0===a?t<n?1:-1:o(a),r(t,n,a,e)}}},function(e,t){var n=Math.ceil,r=Math.max;e.exports=function(e,t,i,o){for(var a=-1,s=r(n((t-e)/(i||1)),0),l=Array(s);s--;)l[o?s:++a]=e,e+=i;return l}},function(e,t,n){var r=n(131),i=n(392),o=n(89),a=n(90),s=o((function(e,t){if(null==e)return[];var n=t.length;return n>1&&a(e,t[0],t[1])?t=[]:n>2&&a(t[0],t[1],t[2])&&(t=[t[0]]),i(e,r(t,1),[])}));e.exports=s},function(e,t,n){var r=n(88),i=n(86),o=n(37),a=n(184),s=n(393),l=n(82),c=n(394),u=n(49),d=n(13);e.exports=function(e,t,n){t=t.length?r(t,(function(e){return d(e)?function(t){return i(t,1===e.length?e[0]:e)}:e})):[u];var p=-1;t=r(t,l(o));var f=a(e,(function(e,n,i){return{criteria:r(t,(function(t){return t(e)})),index:++p,value:e}}));return s(f,(function(e,t){return c(e,t,n)}))}},function(e,t){e.exports=function(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}},function(e,t,n){var r=n(395);e.exports=function(e,t,n){for(var i=-1,o=e.criteria,a=t.criteria,s=o.length,l=n.length;++i<s;){var c=r(o[i],a[i]);if(c)return i>=l?c:c*("desc"==n[i]?-1:1)}return e.index-t.index}},function(e,t,n){var r=n(61);e.exports=function(e,t){if(e!==t){var n=void 0!==e,i=null===e,o=e==e,a=r(e),s=void 0!==t,l=null===t,c=t==t,u=r(t);if(!l&&!u&&!a&&e>t||a&&s&&c&&!l&&!u||i&&s&&c||!n&&c||!o)return 1;if(!i&&!a&&!u&&e<t||u&&n&&o&&!i&&!a||l&&n&&o||!s&&o||!c)return-1}return 0}},function(e,t,n){var r=n(177),i=0;e.exports=function(e){var t=++i;return r(e)+t}},function(e,t,n){var r=n(78),i=n(398);e.exports=function(e,t){return i(e||[],t||[],r)}},function(e,t){e.exports=function(e,t,n){for(var r=-1,i=e.length,o=t.length,a={};++r<i;){var s=r<o?t[r]:void 0;n(a,e[r],s)}return a}},function(e,t,n){"use strict";var r=n(11),i=n(400);e.exports={run:function(e){var t="greedy"===e.graph().acyclicer?i(e,function(e){return function(t){return e.edge(t).weight}}(e)):function(e){var t=[],n={},i={};function o(a){r.has(i,a)||(i[a]=!0,n[a]=!0,r.forEach(e.outEdges(a),(function(e){r.has(n,e.w)?t.push(e):o(e.w)})),delete n[a])}return r.forEach(e.nodes(),o),t}(e);r.forEach(t,(function(t){var n=e.edge(t);e.removeEdge(t),n.forwardName=t.name,n.reversed=!0,e.setEdge(t.w,t.v,n,r.uniqueId("rev"))}))},undo:function(e){r.forEach(e.edges(),(function(t){var n=e.edge(t);if(n.reversed){e.removeEdge(t);var r=n.forwardName;delete n.reversed,delete n.forwardName,e.setEdge(t.w,t.v,n,r)}}))}}},function(e,t,n){var r=n(11),i=n(28).Graph,o=n(401);e.exports=function(e,t){if(e.nodeCount()<=1)return[];var n=function(e,t){var n=new i,a=0,s=0;r.forEach(e.nodes(),(function(e){n.setNode(e,{v:e,in:0,out:0})})),r.forEach(e.edges(),(function(e){var r=n.edge(e.v,e.w)||0,i=t(e),o=r+i;n.setEdge(e.v,e.w,o),s=Math.max(s,n.node(e.v).out+=i),a=Math.max(a,n.node(e.w).in+=i)}));var c=r.range(s+a+3).map((function(){return new o})),u=a+1;return r.forEach(n.nodes(),(function(e){l(c,u,n.node(e))})),{graph:n,buckets:c,zeroIdx:u}}(e,t||a),c=function(e,t,n){var r,i=[],o=t[t.length-1],a=t[0];for(;e.nodeCount();){for(;r=a.dequeue();)s(e,t,n,r);for(;r=o.dequeue();)s(e,t,n,r);if(e.nodeCount())for(var l=t.length-2;l>0;--l)if(r=t[l].dequeue()){i=i.concat(s(e,t,n,r,!0));break}}return i}(n.graph,n.buckets,n.zeroIdx);return r.flatten(r.map(c,(function(t){return e.outEdges(t.v,t.w)})),!0)};var a=r.constant(1);function s(e,t,n,i,o){var a=o?[]:void 0;return r.forEach(e.inEdges(i.v),(function(r){var i=e.edge(r),s=e.node(r.v);o&&a.push({v:r.v,w:r.w}),s.out-=i,l(t,n,s)})),r.forEach(e.outEdges(i.v),(function(r){var i=e.edge(r),o=r.w,a=e.node(o);a.in-=i,l(t,n,a)})),e.removeNode(i.v),a}function l(e,t,n){n.out?n.in?e[n.out-n.in+t].enqueue(n):e[e.length-1].enqueue(n):e[0].enqueue(n)}},function(e,t){function n(){var e={};e._next=e._prev=e,this._sentinel=e}function r(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){if("_next"!==e&&"_prev"!==e)return t}e.exports=n,n.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;if(t!==e)return r(t),t},n.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&r(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},n.prototype.toString=function(){for(var e=[],t=this._sentinel,n=t._prev;n!==t;)e.push(JSON.stringify(n,i)),n=n._prev;return"["+e.join(", ")+"]"}},function(e,t,n){"use strict";var r=n(11),i=n(20);e.exports={run:function(e){e.graph().dummyChains=[],r.forEach(e.edges(),(function(t){!function(e,t){var n,r,o,a=t.v,s=e.node(a).rank,l=t.w,c=e.node(l).rank,u=t.name,d=e.edge(t),p=d.labelRank;if(c===s+1)return;for(e.removeEdge(t),o=0,++s;s<c;++o,++s)d.points=[],r={width:0,height:0,edgeLabel:d,edgeObj:t,rank:s},n=i.addDummyNode(e,"edge",r,"_d"),s===p&&(r.width=d.width,r.height=d.height,r.dummy="edge-label",r.labelpos=d.labelpos),e.setEdge(a,n,{weight:d.weight},u),0===o&&e.graph().dummyChains.push(n),a=n;e.setEdge(a,l,{weight:d.weight},u)}(e,t)}))},undo:function(e){r.forEach(e.graph().dummyChains,(function(t){var n,r=e.node(t),i=r.edgeLabel;for(e.setEdge(r.edgeObj,i);r.dummy;)n=e.successors(t)[0],e.removeNode(t),i.points.push({x:r.x,y:r.y}),"edge-label"===r.dummy&&(i.x=r.x,i.y=r.y,i.width=r.width,i.height=r.height),t=n,r=e.node(t)}))}}},function(e,t,n){"use strict";var r=n(91).longestPath,i=n(201),o=n(404);e.exports=function(e){switch(e.graph().ranker){case"network-simplex":s(e);break;case"tight-tree":!function(e){r(e),i(e)}(e);break;case"longest-path":a(e);break;default:s(e)}};var a=r;function s(e){o(e)}},function(e,t,n){"use strict";var r=n(11),i=n(201),o=n(91).slack,a=n(91).longestPath,s=n(28).alg.preorder,l=n(28).alg.postorder,c=n(20).simplify;function u(e){e=c(e),a(e);var t,n=i(e);for(f(n),d(n,e);t=g(n);)v(n,e,t,m(n,e,t))}function d(e,t){var n=l(e,e.nodes());n=n.slice(0,n.length-1),r.forEach(n,(function(n){!function(e,t,n){var r=e.node(n).parent;e.edge(n,r).cutvalue=p(e,t,n)}(e,t,n)}))}function p(e,t,n){var i=e.node(n).parent,o=!0,a=t.edge(n,i),s=0;return a||(o=!1,a=t.edge(i,n)),s=a.weight,r.forEach(t.nodeEdges(n),(function(r){var a,l,c=r.v===n,u=c?r.w:r.v;if(u!==i){var d=c===o,p=t.edge(r).weight;if(s+=d?p:-p,a=n,l=u,e.hasEdge(a,l)){var f=e.edge(n,u).cutvalue;s+=d?-f:f}}})),s}function f(e,t){arguments.length<2&&(t=e.nodes()[0]),h(e,{},1,t)}function h(e,t,n,i,o){var a=n,s=e.node(i);return t[i]=!0,r.forEach(e.neighbors(i),(function(o){r.has(t,o)||(n=h(e,t,n,o,i))})),s.low=a,s.lim=n++,o?s.parent=o:delete s.parent,n}function g(e){return r.find(e.edges(),(function(t){return e.edge(t).cutvalue<0}))}function m(e,t,n){var i=n.v,a=n.w;t.hasEdge(i,a)||(i=n.w,a=n.v);var s=e.node(i),l=e.node(a),c=s,u=!1;s.lim>l.lim&&(c=l,u=!0);var d=r.filter(t.edges(),(function(t){return u===b(e,e.node(t.v),c)&&u!==b(e,e.node(t.w),c)}));return r.minBy(d,(function(e){return o(t,e)}))}function v(e,t,n,i){var o=n.v,a=n.w;e.removeEdge(o,a),e.setEdge(i.v,i.w,{}),f(e),d(e,t),function(e,t){var n=r.find(e.nodes(),(function(e){return!t.node(e).parent})),i=s(e,n);i=i.slice(1),r.forEach(i,(function(n){var r=e.node(n).parent,i=t.edge(n,r),o=!1;i||(i=t.edge(r,n),o=!0),t.node(n).rank=t.node(r).rank+(o?i.minlen:-i.minlen)}))}(e,t)}function b(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}e.exports=u,u.initLowLimValues=f,u.initCutValues=d,u.calcCutValue=p,u.leaveEdge=g,u.enterEdge=m,u.exchangeEdges=v},function(e,t,n){var r=n(11);e.exports=function(e){var t=function(e){var t={},n=0;function i(o){var a=n;r.forEach(e.children(o),i),t[o]={low:a,lim:n++}}return r.forEach(e.children(),i),t}(e);r.forEach(e.graph().dummyChains,(function(n){for(var r=e.node(n),i=r.edgeObj,o=function(e,t,n,r){var i,o,a=[],s=[],l=Math.min(t[n].low,t[r].low),c=Math.max(t[n].lim,t[r].lim);i=n;do{i=e.parent(i),a.push(i)}while(i&&(t[i].low>l||c>t[i].lim));o=i,i=r;for(;(i=e.parent(i))!==o;)s.push(i);return{path:a.concat(s.reverse()),lca:o}}(e,t,i.v,i.w),a=o.path,s=o.lca,l=0,c=a[l],u=!0;n!==i.w;){if(r=e.node(n),u){for(;(c=a[l])!==s&&e.node(c).maxRank<r.rank;)l++;c===s&&(u=!1)}if(!u){for(;l<a.length-1&&e.node(c=a[l+1]).minRank<=r.rank;)l++;c=a[l]}e.setParent(n,c),n=e.successors(n)[0]}}))}},function(e,t,n){var r=n(11),i=n(20);e.exports={run:function(e){var t=i.addDummyNode(e,"root",{},"_root"),n=function(e){var t={};return r.forEach(e.children(),(function(n){!function n(i,o){var a=e.children(i);a&&a.length&&r.forEach(a,(function(e){n(e,o+1)}));t[i]=o}(n,1)})),t}(e),o=r.max(r.values(n))-1,a=2*o+1;e.graph().nestingRoot=t,r.forEach(e.edges(),(function(t){e.edge(t).minlen*=a}));var s=function(e){return r.reduce(e.edges(),(function(t,n){return t+e.edge(n).weight}),0)}(e)+1;r.forEach(e.children(),(function(l){!function e(t,n,o,a,s,l,c){var u=t.children(c);if(!u.length)return void(c!==n&&t.setEdge(n,c,{weight:0,minlen:o}));var d=i.addBorderNode(t,"_bt"),p=i.addBorderNode(t,"_bb"),f=t.node(c);t.setParent(d,c),f.borderTop=d,t.setParent(p,c),f.borderBottom=p,r.forEach(u,(function(r){e(t,n,o,a,s,l,r);var i=t.node(r),u=i.borderTop?i.borderTop:r,f=i.borderBottom?i.borderBottom:r,h=i.borderTop?a:2*a,g=u!==f?1:s-l[c]+1;t.setEdge(d,u,{weight:h,minlen:g,nestingEdge:!0}),t.setEdge(f,p,{weight:h,minlen:g,nestingEdge:!0})})),t.parent(c)||t.setEdge(n,d,{weight:0,minlen:s+l[c]})}(e,t,a,s,o,n,l)})),e.graph().nodeRankFactor=a},cleanup:function(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,r.forEach(e.edges(),(function(t){e.edge(t).nestingEdge&&e.removeEdge(t)}))}}},function(e,t,n){var r=n(11),i=n(20);function o(e,t,n,r,o,a){var s={width:0,height:0,rank:a,borderType:t},l=o[t][a-1],c=i.addDummyNode(e,"border",s,n);o[t][a]=c,e.setParent(c,r),l&&e.setEdge(l,c,{weight:1})}e.exports=function(e){r.forEach(e.children(),(function t(n){var i=e.children(n),a=e.node(n);if(i.length&&r.forEach(i,t),r.has(a,"minRank")){a.borderLeft=[],a.borderRight=[];for(var s=a.minRank,l=a.maxRank+1;s<l;++s)o(e,"borderLeft","_bl",n,a,s),o(e,"borderRight","_br",n,a,s)}}))}},function(e,t,n){"use strict";var r=n(11);function i(e){r.forEach(e.nodes(),(function(t){o(e.node(t))})),r.forEach(e.edges(),(function(t){o(e.edge(t))}))}function o(e){var t=e.width;e.width=e.height,e.height=t}function a(e){e.y=-e.y}function s(e){var t=e.x;e.x=e.y,e.y=t}e.exports={adjust:function(e){var t=e.graph().rankdir.toLowerCase();"lr"!==t&&"rl"!==t||i(e)},undo:function(e){var t=e.graph().rankdir.toLowerCase();"bt"!==t&&"rl"!==t||function(e){r.forEach(e.nodes(),(function(t){a(e.node(t))})),r.forEach(e.edges(),(function(t){var n=e.edge(t);r.forEach(n.points,a),r.has(n,"y")&&a(n)}))}(e);"lr"!==t&&"rl"!==t||(!function(e){r.forEach(e.nodes(),(function(t){s(e.node(t))})),r.forEach(e.edges(),(function(t){var n=e.edge(t);r.forEach(n.points,s),r.has(n,"x")&&s(n)}))}(e),i(e))}}},function(e,t,n){"use strict";var r=n(11),i=n(410),o=n(411),a=n(412),s=n(416),l=n(417),c=n(28).Graph,u=n(20);function d(e,t,n){return r.map(t,(function(t){return s(e,t,n)}))}function p(e,t){var n=new c;r.forEach(e,(function(e){var i=e.graph().root,o=a(e,i,n,t);r.forEach(o.vs,(function(t,n){e.node(t).order=n})),l(e,n,o.vs)}))}function f(e,t){r.forEach(t,(function(t){r.forEach(t,(function(t,n){e.node(t).order=n}))}))}e.exports=function(e){var t=u.maxRank(e),n=d(e,r.range(1,t+1),"inEdges"),a=d(e,r.range(t-1,-1,-1),"outEdges"),s=i(e);f(e,s);for(var l,c=Number.POSITIVE_INFINITY,h=0,g=0;g<4;++h,++g){p(h%2?n:a,h%4>=2),s=u.buildLayerMatrix(e);var m=o(e,s);m<c&&(g=0,l=r.cloneDeep(s),c=m)}f(e,l)}},function(e,t,n){"use strict";var r=n(11);e.exports=function(e){var t={},n=r.filter(e.nodes(),(function(t){return!e.children(t).length})),i=r.max(r.map(n,(function(t){return e.node(t).rank}))),o=r.map(r.range(i+1),(function(){return[]}));var a=r.sortBy(n,(function(t){return e.node(t).rank}));return r.forEach(a,(function n(i){if(r.has(t,i))return;t[i]=!0;var a=e.node(i);o[a.rank].push(i),r.forEach(e.successors(i),n)})),o}},function(e,t,n){"use strict";var r=n(11);function i(e,t,n){for(var i=r.zipObject(n,r.map(n,(function(e,t){return t}))),o=r.flatten(r.map(t,(function(t){return r.sortBy(r.map(e.outEdges(t),(function(t){return{pos:i[t.w],weight:e.edge(t).weight}})),"pos")})),!0),a=1;a<n.length;)a<<=1;var s=2*a-1;a-=1;var l=r.map(new Array(s),(function(){return 0})),c=0;return r.forEach(o.forEach((function(e){var t=e.pos+a;l[t]+=e.weight;for(var n=0;t>0;)t%2&&(n+=l[t+1]),l[t=t-1>>1]+=e.weight;c+=e.weight*n}))),c}e.exports=function(e,t){for(var n=0,r=1;r<t.length;++r)n+=i(e,t[r-1],t[r]);return n}},function(e,t,n){var r=n(11),i=n(413),o=n(414),a=n(415);e.exports=function e(t,n,s,l){var c=t.children(n),u=t.node(n),d=u?u.borderLeft:void 0,p=u?u.borderRight:void 0,f={};d&&(c=r.filter(c,(function(e){return e!==d&&e!==p})));var h=i(t,c);r.forEach(h,(function(n){if(t.children(n.v).length){var i=e(t,n.v,s,l);f[n.v]=i,r.has(i,"barycenter")&&(o=n,a=i,r.isUndefined(o.barycenter)?(o.barycenter=a.barycenter,o.weight=a.weight):(o.barycenter=(o.barycenter*o.weight+a.barycenter*a.weight)/(o.weight+a.weight),o.weight+=a.weight))}var o,a}));var g=o(h,s);!function(e,t){r.forEach(e,(function(e){e.vs=r.flatten(e.vs.map((function(e){return t[e]?t[e].vs:e})),!0)}))}(g,f);var m=a(g,l);if(d&&(m.vs=r.flatten([d,m.vs,p],!0),t.predecessors(d).length)){var v=t.node(t.predecessors(d)[0]),b=t.node(t.predecessors(p)[0]);r.has(m,"barycenter")||(m.barycenter=0,m.weight=0),m.barycenter=(m.barycenter*m.weight+v.order+b.order)/(m.weight+2),m.weight+=2}return m}},function(e,t,n){var r=n(11);e.exports=function(e,t){return r.map(t,(function(t){var n=e.inEdges(t);if(n.length){var i=r.reduce(n,(function(t,n){var r=e.edge(n),i=e.node(n.v);return{sum:t.sum+r.weight*i.order,weight:t.weight+r.weight}}),{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}}))}},function(e,t,n){"use strict";var r=n(11);e.exports=function(e,t){var n={};return r.forEach(e,(function(e,t){var i=n[e.v]={indegree:0,in:[],out:[],vs:[e.v],i:t};r.isUndefined(e.barycenter)||(i.barycenter=e.barycenter,i.weight=e.weight)})),r.forEach(t.edges(),(function(e){var t=n[e.v],i=n[e.w];r.isUndefined(t)||r.isUndefined(i)||(i.indegree++,t.out.push(n[e.w]))})),function(e){var t=[];function n(e){return function(t){t.merged||(r.isUndefined(t.barycenter)||r.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&function(e,t){var n=0,r=0;e.weight&&(n+=e.barycenter*e.weight,r+=e.weight);t.weight&&(n+=t.barycenter*t.weight,r+=t.weight);e.vs=t.vs.concat(e.vs),e.barycenter=n/r,e.weight=r,e.i=Math.min(t.i,e.i),t.merged=!0}(e,t)}}function i(t){return function(n){n.in.push(t),0==--n.indegree&&e.push(n)}}for(;e.length;){var o=e.pop();t.push(o),r.forEach(o.in.reverse(),n(o)),r.forEach(o.out,i(o))}return r.map(r.filter(t,(function(e){return!e.merged})),(function(e){return r.pick(e,["vs","i","barycenter","weight"])}))}(r.filter(n,(function(e){return!e.indegree})))}},function(e,t,n){var r=n(11),i=n(20);function o(e,t,n){for(var i;t.length&&(i=r.last(t)).i<=n;)t.pop(),e.push(i.vs),n++;return n}e.exports=function(e,t){var n=i.partition(e,(function(e){return r.has(e,"barycenter")})),a=n.lhs,s=r.sortBy(n.rhs,(function(e){return-e.i})),l=[],c=0,u=0,d=0;a.sort((p=!!t,function(e,t){return e.barycenter<t.barycenter?-1:e.barycenter>t.barycenter?1:p?t.i-e.i:e.i-t.i})),d=o(l,s,d),r.forEach(a,(function(e){d+=e.vs.length,l.push(e.vs),c+=e.barycenter*e.weight,u+=e.weight,d=o(l,s,d)}));var p;var f={vs:r.flatten(l,!0)};u&&(f.barycenter=c/u,f.weight=u);return f}},function(e,t,n){var r=n(11),i=n(28).Graph;e.exports=function(e,t,n){var o=function(e){var t;for(;e.hasNode(t=r.uniqueId("_root")););return t}(e),a=new i({compound:!0}).setGraph({root:o}).setDefaultNodeLabel((function(t){return e.node(t)}));return r.forEach(e.nodes(),(function(i){var s=e.node(i),l=e.parent(i);(s.rank===t||s.minRank<=t&&t<=s.maxRank)&&(a.setNode(i),a.setParent(i,l||o),r.forEach(e[n](i),(function(t){var n=t.v===i?t.w:t.v,o=a.edge(n,i),s=r.isUndefined(o)?0:o.weight;a.setEdge(n,i,{weight:e.edge(t).weight+s})})),r.has(s,"minRank")&&a.setNode(i,{borderLeft:s.borderLeft[t],borderRight:s.borderRight[t]}))})),a}},function(e,t,n){var r=n(11);e.exports=function(e,t,n){var i,o={};r.forEach(n,(function(n){for(var r,a,s=e.parent(n);s;){if((r=e.parent(s))?(a=o[r],o[r]=s):(a=i,i=s),a&&a!==s)return void t.setEdge(a,s);s=r}}))}},function(e,t,n){"use strict";var r=n(11),i=n(20),o=n(419).positionX;e.exports=function(e){(function(e){var t=i.buildLayerMatrix(e),n=e.graph().ranksep,o=0;r.forEach(t,(function(t){var i=r.max(r.map(t,(function(t){return e.node(t).height})));r.forEach(t,(function(t){e.node(t).y=o+i/2})),o+=i+n}))})(e=i.asNonCompoundGraph(e)),r.forEach(o(e),(function(t,n){e.node(n).x=t}))}},function(e,t,n){"use strict";var r=n(11),i=n(28).Graph,o=n(20);function a(e,t){var n={};return r.reduce(t,(function(t,i){var o=0,a=0,s=t.length,c=r.last(i);return r.forEach(i,(function(t,u){var d=function(e,t){if(e.node(t).dummy)return r.find(e.predecessors(t),(function(t){return e.node(t).dummy}))}(e,t),p=d?e.node(d).order:s;(d||t===c)&&(r.forEach(i.slice(a,u+1),(function(t){r.forEach(e.predecessors(t),(function(r){var i=e.node(r),a=i.order;!(a<o||p<a)||i.dummy&&e.node(t).dummy||l(n,r,t)}))})),a=u+1,o=p)})),i})),n}function s(e,t){var n={};function i(t,i,o,a,s){var c;r.forEach(r.range(i,o),(function(i){c=t[i],e.node(c).dummy&&r.forEach(e.predecessors(c),(function(t){var r=e.node(t);r.dummy&&(r.order<a||r.order>s)&&l(n,t,c)}))}))}return r.reduce(t,(function(t,n){var o,a=-1,s=0;return r.forEach(n,(function(r,l){if("border"===e.node(r).dummy){var c=e.predecessors(r);c.length&&(o=e.node(c[0]).order,i(n,s,l,a,o),s=l,a=o)}i(n,s,n.length,o,t.length)})),n})),n}function l(e,t,n){if(t>n){var r=t;t=n,n=r}var i=e[t];i||(e[t]=i={}),i[n]=!0}function c(e,t,n){if(t>n){var i=t;t=n,n=i}return r.has(e[t],n)}function u(e,t,n,i){var o={},a={},s={};return r.forEach(t,(function(e){r.forEach(e,(function(e,t){o[e]=e,a[e]=e,s[e]=t}))})),r.forEach(t,(function(e){var t=-1;r.forEach(e,(function(e){var l=i(e);if(l.length)for(var u=((l=r.sortBy(l,(function(e){return s[e]}))).length-1)/2,d=Math.floor(u),p=Math.ceil(u);d<=p;++d){var f=l[d];a[e]===e&&t<s[f]&&!c(n,e,f)&&(a[f]=e,a[e]=o[e]=o[f],t=s[f])}}))})),{root:o,align:a}}function d(e,t,n,o,a){var s={},l=function(e,t,n,o){var a=new i,s=e.graph(),l=function(e,t,n){return function(i,o,a){var s,l=i.node(o),c=i.node(a),u=0;if(u+=l.width/2,r.has(l,"labelpos"))switch(l.labelpos.toLowerCase()){case"l":s=-l.width/2;break;case"r":s=l.width/2}if(s&&(u+=n?s:-s),s=0,u+=(l.dummy?t:e)/2,u+=(c.dummy?t:e)/2,u+=c.width/2,r.has(c,"labelpos"))switch(c.labelpos.toLowerCase()){case"l":s=c.width/2;break;case"r":s=-c.width/2}return s&&(u+=n?s:-s),s=0,u}}(s.nodesep,s.edgesep,o);return r.forEach(t,(function(t){var i;r.forEach(t,(function(t){var r=n[t];if(a.setNode(r),i){var o=n[i],s=a.edge(o,r);a.setEdge(o,r,Math.max(l(e,t,i),s||0))}i=t}))})),a}(e,t,n,a),c=a?"borderLeft":"borderRight";function u(e,t){for(var n=l.nodes(),r=n.pop(),i={};r;)i[r]?e(r):(i[r]=!0,n.push(r),n=n.concat(t(r))),r=n.pop()}return u((function(e){s[e]=l.inEdges(e).reduce((function(e,t){return Math.max(e,s[t.v]+l.edge(t))}),0)}),l.predecessors.bind(l)),u((function(t){var n=l.outEdges(t).reduce((function(e,t){return Math.min(e,s[t.w]-l.edge(t))}),Number.POSITIVE_INFINITY),r=e.node(t);n!==Number.POSITIVE_INFINITY&&r.borderType!==c&&(s[t]=Math.max(s[t],n))}),l.successors.bind(l)),r.forEach(o,(function(e){s[e]=s[n[e]]})),s}function p(e,t){return r.minBy(r.values(t),(function(t){var n=Number.NEGATIVE_INFINITY,i=Number.POSITIVE_INFINITY;return r.forIn(t,(function(t,r){var o=function(e,t){return e.node(t).width}(e,r)/2;n=Math.max(t+o,n),i=Math.min(t-o,i)})),n-i}))}function f(e,t){var n=r.values(t),i=r.min(n),o=r.max(n);r.forEach(["u","d"],(function(n){r.forEach(["l","r"],(function(a){var s,l=n+a,c=e[l];if(c!==t){var u=r.values(c);(s="l"===a?i-r.min(u):o-r.max(u))&&(e[l]=r.mapValues(c,(function(e){return e+s})))}}))}))}function h(e,t){return r.mapValues(e.ul,(function(n,i){if(t)return e[t.toLowerCase()][i];var o=r.sortBy(r.map(e,i));return(o[1]+o[2])/2}))}e.exports={positionX:function(e){var t,n=o.buildLayerMatrix(e),i=r.merge(a(e,n),s(e,n)),l={};r.forEach(["u","d"],(function(o){t="u"===o?n:r.values(n).reverse(),r.forEach(["l","r"],(function(n){"r"===n&&(t=r.map(t,(function(e){return r.values(e).reverse()})));var a=("u"===o?e.predecessors:e.successors).bind(e),s=u(e,t,i,a),c=d(e,t,s.root,s.align,"r"===n);"r"===n&&(c=r.mapValues(c,(function(e){return-e}))),l[o+n]=c}))}));var c=p(e,l);return f(l,c),h(l,e.graph().align)},findType1Conflicts:a,findType2Conflicts:s,addConflict:l,hasConflict:c,verticalAlignment:u,horizontalCompaction:d,alignCoordinates:f,findSmallestWidthAlignment:p,balance:h}},function(e,t,n){var r=n(11),i=n(20),o=n(28).Graph;e.exports={debugOrdering:function(e){var t=i.buildLayerMatrix(e),n=new o({compound:!0,multigraph:!0}).setGraph({});return r.forEach(e.nodes(),(function(t){n.setNode(t,{label:t}),n.setParent(t,"layer"+e.node(t).rank)})),r.forEach(e.edges(),(function(e){n.setEdge(e.v,e.w,{},e.name)})),r.forEach(t,(function(e,t){var i="layer"+t;n.setNode(i,{rank:"same"}),r.reduce(e,(function(e,t){return n.setEdge(e,t,{style:"invis"}),t}))})),n}}},function(e,t){e.exports="0.8.5"},function(e,t,n){"use strict";const r=n(423);angular.module("dbt").directive("modelTree",[function(){return{scope:{tree:"="},templateUrl:r,link:function(e){e.nav_selected="project"}}}])},function(e,t){var n="/components/model_tree/model_tree.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'<style>\n.menu ul ul {\n margin-left: 12px;\n}\n</style>\n\n<div class="menu">\n <ul>\n <li>\n <a ui-sref="dbt.overview()" class="menu-link menu-main">\n Overview\n </a>\n </li>\n\n <li>\n <div class="switches">\n <div class="switch ">\n <span\n class="switch-label btn btn-sm"\n ng-class="{active: (nav_selected == \'project\')}"\n ng-click="nav_selected = \'project\'">\n <svg class="icn menu-icon-on"><use xlink:href="#icn-dir-on"></use></svg>\n Project\n </span>\n </div>\n <div class="switch">\n <span\n class="switch-label btn btn-sm"\n ng-class="{active: (nav_selected == \'database\')}"\n ng-click="nav_selected = \'database\'">\n <svg class="icn menu-icon-on"><use xlink:href="#icn-tree-on"></use></svg>\n Database\n </span>\n </div>\n <div class="switch">\n <span\n class="switch-label btn btn-sm"\n ng-class="{active: (nav_selected == \'group\')}"\n ng-click="nav_selected = \'group\'">\n <svg class="icn menu-icon-on"><use xlink:href="#icn-filter"></use></svg>\n Group\n </span>\n </div>\n </div>\n </li>\n\n <li>\n <div class="menu" ng-show="nav_selected == \'project\'">\n <div ng-show="tree.sources.length > 0">\n <strong>Sources</strong>\n <ul style="display: block">\n <model-tree-line\n item="item"\n resource-type="source"\n ng-repeat="item in tree.sources"></source-tree-line>\n </ul>\n <br />\n </div>\n\n <div ng-show="tree.exposures.length > 0">\n <strong>Exposures</strong>\n <ul style="display: block">\n <model-tree-line\n item="item"\n resource-type="exposure"\n ng-repeat="item in tree.exposures"></model-tree-line>\n </ul>\n <br />\n </div>\n \n <div ng-show="tree.metrics.length > 0">\n <strong>Metrics</strong>\n <ul style="display: block">\n <model-tree-line\n item="item"\n resource-type="metric"\n ng-repeat="item in tree.metrics"></model-tree-line>\n </ul>\n <br />\n </div>\n \n <div ng-show="tree.semantic_models.length > 0">\n <strong>Semantic Models</strong>\n <ul style="display: block">\n <model-tree-line\n item="item"\n resource-type="semantic_model"\n ng-repeat="item in tree.semantic_models"></model-tree-line>\n </ul>\n <br />\n </div>\n\n <strong>Projects</strong>\n <ul>\n <model-tree-line\n item="item"\n resource-type="model"\n ng-repeat="item in tree.project"></model-tree-line>\n </ul>\n </div>\n </li>\n\n <li>\n <div class="menu" ng-show="nav_selected == \'database\'">\n <strong>Tables and Views</strong>\n <ul>\n <model-tree-line\n item="item"\n resource-type="model"\n ng-repeat="item in tree.database"></model-tree-line>\n </ul>\n </div>\n </li>\n\n <li>\n <div class="menu" ng-show="nav_selected == \'group\'">\n <strong>Public Models</strong>\n <ul><model-tree-line\n item="item"\n resource-type="model"\n ng-repeat="item in tree.groups"></model-tree-line>\n </ul>\n </div>\n </li>\n </ul>\n</div>\n')}]),e.exports=n},function(e,t,n){"use strict";const r=n(425),i=n(21);n(426),angular.module("dbt").directive("modelTreeLine",["$state",function(e){return{scope:{item:"=",depth:"<",resourceType:"@"},replace:!0,templateUrl:r,link:function(t,n,r,o){t.depth||(t.depth=0);var a=t.item.name;if(a){var s=i.last(a,15).join(""),l=i.initial(a,s.length).join("");t.name={name:a,start:l,end:s},t.name_start=l,t.name_end=s,t.onFolderClick=function(n){if(n.active=!n.active,"source"==t.resourceType){var r=n.name;e.go("dbt.source_list",{source:r})}else 0===t.depth&&"database"!==n.type&&e.go("dbt.project_overview",{project_name:n.name})},t.activate=function(n){t.$emit("clearSearch"),n.active=!0;var r="dbt."+n.node.resource_type;e.go(r,{unique_id:n.unique_id})},t.getIcon=function(e,t){return"#"+{header:{on:"icn-down",off:"icn-right"},database:{on:"icn-db-on",off:"icn-db"},schema:{on:"icn-tree-on",off:"icn-tree"},table:{on:"icn-doc-on",off:"icn-doc"},folder:{on:"icn-dir-on",off:"icn-dir"},file:{on:"icn-doc-on",off:"icn-doc"},group:{on:"icn-filter",off:"icn-filter"}}[e][t]},t.getClass=function(e){return{active:e.active,"menu-tree":"header"==e.type||"schema"==e.type||"folder"==e.type,"menu-main":"header"==e.type,"menu-node":"file"==e.type||"table"==e.type}}}}}}])},function(e,t){var n="/components/model_tree/model_tree_line.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'<li class=\'unselectable\'>\n\n <a ng-if="!item.unique_id"\n class=\'unselectable\'\n ng-class="getClass(item)"\n ng-click="onFolderClick(item)">\n <span class="filename">\n <span class="filename-normal">\n <svg class="icn menu-icon-on"><use xlink:href="{{ getIcon(item.type, \'on\') }}"></use></svg>\n <svg class="icn menu-icon-off"><use xlink:href="{{ getIcon(item.type, \'off\') }}"></use></svg>\n </span>\n <span class="filename-ellip">{{name.start}}</span>\n <span class="filename-normal">{{name.end}}</span>\n </span>\n </a>\n\n <a ng-if="item.unique_id"\n class=\'unselectable\'\n ng-class="getClass(item)"\n ng-click="activate(item)"\n data-nav-unique-id="{{ item.unique_id }}"\n title="{{ name.name }}">\n <span class="filename">\n <span class="filename-normal">\n <svg class="icn menu-icon-on"><use xlink:href="{{ getIcon(item.type, \'on\') }}"></use></svg>\n <svg class="icn menu-icon-off"><use xlink:href="{{ getIcon(item.type, \'off\') }}"></use></svg>\n </span>\n <span class="filename-ellip">{{name.start}}</span>\n <span class="filename-normal">{{name.end}}</span>\n </span>\n </a>\n\n <ul ng-if="item.items">\n <model-tree-line\n resource-type="{{ resourceType }}"\n item="subitem"\n depth="depth + 1"\n ng-repeat="subitem in item.items" />\n </ul>\n</li>\n')}]),e.exports=n},function(e,t,n){var r=n(427);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};n(40)(r,i);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(39)(!1)).push([e.i,"\n.unselectable{\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n",""])},function(e,t,n){"use strict";const r=n(9),i=n(429);n(33);n(206),r.module("dbt").directive("docsSearch",["$sce","project",function(e,t){return{scope:{query:"=",results:"=",onSelect:"&"},replace:!0,templateUrl:i,link:function(n){n.max_results=20,n.show_all=!1,n.max_results_columns=3,n.limit_columns={},n.checkboxStatus={show_names:!1,show_descriptions:!1,show_columns:!1,show_column_descriptions:!1,show_code:!1,show_tags:!1},n.limit_search=function(e,t,r){return t<n.max_results||n.show_all},n.getState=function(e){return"dbt."+e.resource_type},n.getModelName=function(e){return"source"==e.resource_type?e.source_name+"."+e.name:"macro"==e.resource_type?e.package_name+"."+e.name:"metric"==e.resource_type?e.label:"semantic_model"==e.resource_type?e.name:"exposure"==e.resource_type||"model"==e.resource_type&&null!=e.version?e.label:e.name};function r(e){return e.replace(/[.*+\-?^${}()|[\]\\]/g,"\\$&")}function i(e){return _.words(e.toLowerCase())}n.$watchGroup(["query","checkboxStatus.show_names","checkboxStatus.show_descriptions","checkboxStatus.show_columns","checkboxStatus.show_column_descriptions","checkboxStatus.show_code","checkboxStatus.show_tags"],(function(){n.results=function(e,t){if(!_.some(_.values(t)))return e;let n=[],r=[];const{show_names:i,show_descriptions:o,show_columns:a,show_column_descriptions:s,show_code:l,show_tags:c}=t;return _.each(e,(function(e){_.each(e.matches,(function(t){if(!r.includes(e.model.unique_id)){const u=i&&("name"===t.key||"label"==t.key),d=o&&"description"==t.key,p=a&&"columns"===t.key,f=s&&"column_description"===t.key,h=l&&"raw_code"===t.key,g=c&&"tags"===t.key;(u||d||p||f||h||g)&&(r.push(e.model.unique_id),n.push(e))}}))})),n}(t.search(n.query),n.checkboxStatus)})),n.shorten=function(e){if(null!=e&&e.trim().length>0&&null!=n.query&&n.query.trim().length>0){let t=e.replace(/\s+/g," "),o=r(i(n.query)[0]),a=t.search(new RegExp(o)),s=a-75<0?0:a-75,l=a+75>t.length?t.length:a+75;return"..."+t.substring(s,l)+"..."}return e},n.highlight=function(t){if(!n.query||!t)return e.trustAsHtml(t);let o="("+i(n.query).map(e=>r(e)).join(")|(")+")";return e.trustAsHtml(t.replace(new RegExp(o,"gi"),'<span class="search-result-match">$&</span>'))},n.$watch("query",(function(e,t){0==e.length&&(n.show_all=!1,n.limit_columns={})})),n.columnFilter=function(e){var t=[];let r=i(n.query);for(var o in e)r.every(e=>-1!=o.toLowerCase().indexOf(e))&&t.push(o);return t},n.limitColumns=function(e){return void 0!==n.limit_columns[e]?n.limit_columns[e]:3}}}}])},function(e,t){var n="/components/search/search.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'<div class="app-scroll">\n <style>\n .search-result-match {\n background-color: #eee;\n }\n .spacing {\n margin-right: 0.25em;\n }\n .sub-results {\n margin-left: 36px;\n }\n </style>\n <div class="app-title">\n <div class="app-frame app-pad">\n <h1>\n <span class="break">{{ query }}</span>\n <small><span>{{ results.length }}</span> search results</small>\n </h1>\n <input type="checkbox" id="name" ng-model="checkboxStatus.show_names" ng-click="filterResults(results, checkboxStatus)" style = "margin-left:10px;margin-right:5px">\n <label for="name" style="margin-right:25px">Name</label> \n <input type="checkbox" id="desc" ng-model="checkboxStatus.show_descriptions" ng-click = "filterResults(results, checkboxStatus)" style = "margin-right:5px">\n <label for="desc" style="margin-right:25px;">Description</label> \n <input type="checkbox" id="column" ng-model="checkboxStatus.show_columns" ng-click = "filterResults(results, checkboxStatus)" style = "margin-right:5px">\n <label for="column" style="margin-right:25px;">Column</label> \n <input type="checkbox" id="column_description" ng-model="checkboxStatus.show_column_descriptions" ng-click = "filterResults(results, checkboxStatus)" style = "margin-right:5px">\n <label for="column_description" style="margin-right:25px;">Column Description</label>\n <input type="checkbox" id="code" ng-model="checkboxStatus.show_code" ng-click = "filterResults(results, checkboxStatus)" style = "margin-right:5px">\n <label for="code" style="margin-right:15px;">SQL</label>\n <input type="checkbox" id="tag" ng-model="checkboxStatus.show_tags" ng-click = "filterResults(results, checkboxStatus)" style = "margin-right:5px">\n <label for="code" style="margin-right:15px;">Tags</label>\n </div>\n </div>\n <div class="app-details">\n <div class="app-frame app-pad">\n <div class="results">\n <div ng-repeat="result in results | filter:limit_search | orderBy:\'overallWeight\':true track by result.model.unique_id"\n data-ui-state="getState(result.model)" data-ui-state-params="{unique_id: result.model.unique_id}"\n ng-click="onSelect()"\n class="result search-result a">\n <div class="result-content">\n <div class="result-icn">\n <svg class="icn "><use xlink:href="#icn-doc"></use></svg>\n </div>\n <div class="result-body">\n <h4 class="a">\n <span ng-bind-html="highlight(getModelName(result.model))"></span>\n <small>{{result.model.resource_type}}</small>\n </h4>\n <p ng-bind-html="highlight(shorten(result.model.description))"></p>\n </div>\n </div>\n <div class="sub-results" ng-show="query.length > 0">\n <span ng-repeat="column in columnFilter(result.model.columns) | limitTo:limitColumns(result.model.unique_id)">\n <span ng-show="$first === true">columns:</span>\n <span ng-bind-html="highlight(column + \',\')" ng-show="$last === false"></span>\n <span ng-bind-html="highlight(column)" ng-show="$last === true"></span>\n </span>\n <a\n ng-show="columnFilter(result.model.columns).length > max_results_columns && !limit_columns[result.model.unique_id]"\n ng-click="$event.stopPropagation(); limit_columns[result.model.unique_id] = 100">Show {{ columnFilter(result.model.columns).length - max_results_columns }} more</a>\n </div>\n <div class="sub-results" ng-show="query.length > 0">\n <span>\n <span ng-bind-html = "highlight(shorten(result.model[\'raw_code\']))"></span>\n </span>\n </div>\n <div class="sub-results" ng-show="query.length > 0">\n <span ng-repeat="tag in result.model.tags">\n <span ng-show="$first === true">tags:</span>\n <span ng-bind-html="highlight(tag + \',\')" ng-show="$last === false"></span>\n <span ng-bind-html="highlight(tag)" ng-show="$last === true"></span>\n </span>\n </div>\n </div>\n <a\n ng-show="results.length >= max_results && !show_all"\n ng-click="show_all = true">Show {{ results.length - max_results }} more</a>\n </div>\n </div>\n </div>\n</div>\n')}]),e.exports=n},function(e,t){e.exports={getQuoteChar:function(e){var t=(e||{}).adapter_type;return["bigquery","spark","databricks"].indexOf(t)>=0?"`":'"'}}},function(e,t,n){"use strict";const r=n(432);n(433);const i=n(21);angular.module("dbt").directive("tableDetails",["$sce","$filter","project",function(e,t,n){return{scope:{model:"=",extras:"=",exclude:"<"},templateUrl:r,link:function(e){function r(e,t){if(0==e)return"0 bytes";if(e<1&&(e*=1e6),isNaN(parseFloat(e))||!isFinite(e))return"-";void 0===t&&(t=0);var n=Math.floor(Math.log(e)/Math.log(1024));return(e/Math.pow(1024,Math.floor(n))).toFixed(t)+" "+["bytes","KB","MB","GB","TB","PB"][n]}function o(e,n){return void 0===n&&(n=2),t("number")(100*e,n)+"%"}function a(e,n){return void 0===n&&(n=0),t("number")(e,n)}function s(e){var t,r,o=!e.metadata,a=e.metadata||{};t=e.database?e.database+".":"",r=o?void 0:"source"==e.resource_type?t+e.schema+"."+e.identifier:t+e.schema+"."+e.alias;const s=e.group?function(e){const{name:t,email:r}=n.project.groups[e].owner,i=[];if(t&&i.push(t),r){const e=i.length>0?`<${r}>`:r;i.push(e)}return i.join(" ")}(`group.${e.package_name}.${e.group}`):a.owner,l=!(!e.hasOwnProperty("config")||!e.config.hasOwnProperty("contract"))&&e.config.contract.enforced;var c,u=[{name:"Owner",value:s},{name:"Type",value:o?void 0:(c=a.type,"BASE TABLE"==c?{type:"table",name:"table"}:"LATE BINDING VIEW"==c?{type:"view",name:"late binding view"}:{type:c.toLowerCase(),name:c.toLowerCase()}).name},{name:"Package",value:e.package_name},{name:"Language",value:e.language},{name:"Relation",value:r},{name:"Access",value:e.access},{name:"Version",value:e.version},{name:"Contract",value:l?"Enforced":"Not Enforced"}];return i.filter(u,(function(e){return void 0!==e.value}))}e.details=[],e.extended=[],e.exclude=e.exclude||[],e.meta=null,e._show_expanded=!1,e.show_expanded=function(t){return void 0!==t&&(e._show_expanded=t),e._show_expanded},e.hasData=function(e){return!(!e||i.isEmpty(e))&&(1!=e.length||0!=e[0].include)},e.$watch("model",(function(t,n){i.property(["metadata","type"])(t);var l,c,u,d=t.hasOwnProperty("sources")&&null!=t.sources[0]?t.sources[0].source_meta:null;if(e.meta=t.meta||d,e.details=s(t),e.extended=(l=t.stats,c={rows:a,row_count:a,num_rows:a,max_varchar:a,pct_used:o,size:r,bytes:r,num_bytes:r},u=i.sortBy(i.values(l),"label"),i.map(u,(function(e){var t=i.clone(e),n=c[e.id];return n&&(t.value=n(e.value),t.label=e.label.replace("Approximate","~"),t.label=e.label.replace("Utilization","Used")),t}))),e.extras){var p=i.filter(e.extras,(function(e){return void 0!==e.value&&null!==e.value}));e.details=e.details.concat(p)}e.show_extended=i.where(e.extended,{include:!0}).length>0})),e.queryTag=function(t){e.$emit("query",t)}}}}])},function(e,t){var n="/components/table_details/table_details.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'<div class="section-content">\n <h6>Details</h6>\n <div class="panel">\n <div class="panel-body">\n <div class="details">\n <div class="details-content">\n <div class="detail-group" ng-if="hasData(meta)">\n <div class="detail-body">\n <dl class="detail"\n ng-repeat="(k, v) in meta">\n <dt class="detail-label">{{ k }}</dt>\n <dd class="detail-value">{{ v }}</dd>\n </dl>\n </div>\n </div>\n <div class="detail-group">\n <div class="detail-body">\n <dl class=\'detail\' ng-if="model.tags != undefined && exclude.indexOf(\'tags\') == -1">\n <dt class="detail-label">Tags</dt>\n <dd ng-if="model.tags.length > 0" class="detail-value">\n <span ng-repeat="tag in model.tags"><code><a ng-click=queryTag(tag)>{{ tag }}</a></code> </span>\n </dd>\n <dd ng-if="model.tags.length == 0" class="detail-value">untagged</dd>\n </dl>\n <dl class="detail"\n ng-repeat="item in details">\n <dt class="detail-label">{{ item.name }}</dt>\n <dd class="detail-value">{{ item.value }}</dd>\n </dl>\n </div>\n </div>\n <div class="detail-group" ng-if="hasData(extended)">\n <div class="detail-body">\n <dl class="detail"\n ng-repeat="item in extended"\n ng-if="item.include">\n <dt data-toggle="tooltip" title="{{ item.description }}" class="detail-label">{{ item.label }}</dt>\n <dd class="detail-value">{{ item.value }}</dd>\n </dl>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n')}]),e.exports=n},function(e,t,n){var r=n(434);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};n(40)(r,i);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(39)(!1)).push([e.i,"\n\n.details-content {\n table-layout: fixed;\n}\n\n.detail-body {\n white-space: nowrap;\n overflow-x: scroll;\n}\n",""])},function(e,t,n){"use strict";const r=n(436),i=n(21);angular.module("dbt").directive("columnDetails",["project",function(e){return{scope:{model:"="},templateUrl:r,link:function(t){t.has_test=function(e,t){return-1!=i.pluck(e.tests,"short").indexOf(t)},t.has_constraint=function(e,t){return!!e.hasOwnProperty("constraints")&&e.constraints.some(e=>e.type===t)},t.has_more_info=function(e){var t=e.tests||[],n=e.description||"",r=e.meta||{},o=e.constraints||[];return t.length||n.length||o.length||!i.isEmpty(r)},t.toggle_column_expanded=function(e){t.has_more_info(e)&&(e.expanded=!e.expanded)},t.getState=function(e){return"dbt."+e.resource_type},t.get_col_name=function(t){return e.caseColumn(t)},t.get_columns=function(e){var t=i.chain(e.columns).values().sortBy("index").value();return i.each(t,(function(e,t){e.index=t})),t}}}}])},function(e,t){var n="/components/column_details/column_details.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'<div class="panel">\n <div class="panel-body">\n <div ng-if="_.isEmpty(model.columns)">\n Column information is not available for this seed\n </div>\n <div class="table-responsive"\n style="max-height: 800px; overflow-y: scroll;"\n ng-if="!_.isEmpty(model.columns)">\n <table class="table table-borderless table-hover">\n <thead>\n <tr>\n <th style="background-color: white; position: sticky; top: 0; z-index: 1;">Column</th>\n <th style="background-color: white; position: sticky; top: 0; z-index: 1;">Type</th>\n <th style="background-color: white; position: sticky; top: 0; z-index: 1;">Description</th>\n <th style="width: 1px; background-color: white; position: sticky; top: 0; z-index: 1;">Constraints</th>\n <th style="width: 1px; background-color: white; position: sticky; top: 0; z-index: 1;">Tests</th>\n <th style="width: 1px; background-color: white; position: sticky; top: 0; z-index: 1;" class=\'text-center\'>More?</th>\n </tr>\n </thead>\n <tbody>\n <tr\n ng-repeat-start="column in get_columns(model) track by column.index"\n ng-click="toggle_column_expanded(column)"\n class="column-row"\n ng-class="{\'column-row-selected\': column.expanded}"\n ng-style="{cursor: has_more_info(column) ? \'pointer\' : \'auto\'}">\n <td>\n <div>\n <span class=\'text-dark\'>{{ get_col_name(column.name) }}</span>\n </div>\n </td>\n <td>\n <span class=\'text-dark\'>{{ column.type }}</p>\n </td>\n <td style="text-overflow: ellipsis; overflow-x: hidden; white-space: nowrap; max-width: 1px;">\n <span ng-show="!column.expanded">{{ column.description }}</span>\n </td>\n <td>\n <span class="text-light" ng-show="!column.expanded">\n <span data-toggle="tooltip" title="Not Null" ng-if="has_constraint(column, \'not_null\')">N</span>\n <span data-toggle="tooltip" title="Primary Key" ng-if="has_constraint(column, \'primary_key\')">PK</span>\n <span data-toggle="tooltip" title="Foreign Key" ng-if="has_constraint(column, \'foreign_key\')">FK</span>\n <span data-toggle="tooltip" title="Check" ng-if="has_constraint(column, \'check\')">C</span>\n <span data-toggle="tooltip" title="Custom" ng-if="has_constraint(column, \'custom\')">+</span>\n </span>\n </td>\n <td>\n <span class="text-light" ng-show="!column.expanded">\n <span data-toggle="tooltip" title="Unique" ng-if="has_test(column, \'U\')">U</span>\n <span data-toggle="tooltip" title="Not Null" ng-if="has_test(column, \'N\')">N</span>\n <span data-toggle="tooltip" title="Foreign Key" ng-if="has_test(column, \'F\')">F</span>\n <span data-toggle="tooltip" title="Accepted Values" ng-if="has_test(column, \'A\')">A</span>\n <span data-toggle="tooltip" title="Custom Test" ng-if="has_test(column, \'+\')">+</span>\n </span>\n </td>\n <td class=\'text-center\'>\n <span class=\'text-light\' ng-show="has_more_info(column)">\n <span ng-if="column.expanded">\n <svg class="icn"><use xlink:href="#icn-up"></use></svg>\n </span>\n <span ng-if="!column.expanded">\n <svg class="icn"><use xlink:href="#icn-right"></use></svg>\n </span>\n </span>\n </td>\n </tr>\n <tr ng-repeat-end ng-show="column.expanded" style="background-color: white; padding: 10px">\n <td colspan="5" class="column-expanded">\n <div style="padding: 5px 20px">\n <div ng-show="column.meta">\n <h5>Details</h5>\n <div class="detail-group" style="padding-bottom: 0">\n <div class="detail-body" style="padding-left: 0">\n <dl class="detail"\n ng-style="{\'padding-left\': $index == 0 ? 0 : \'auto\'}"\n ng-repeat="(k, v) in column.meta">\n <dt class="detail-label">{{ k }}</dt>\n <dd class="detail-value">{{ v }}</dd>\n </dl>\n </div>\n </div>\n </div>\n\n <div style="margin-bottom: 15px" ng-if="column.description.length">\n <h5>Description</h5>\n <span marked="column.description"></span>\n </div>\n\n <div ng-show="column.constraints && column.constraints.length" style="margin-bottom: 15px">\n <h5>Constraints</h5>\n <div class="detail-group" style="padding-bottom: 0">\n <div class="detail-body" style="padding-left: 0">\n <dl class="detail" ng-style="{\'padding-left\': $index == 0 ? 0 : \'auto\'}"\n ng-repeat="constraint in column.constraints">\n <dt class="detail-label">Name</dt>\n <dd class="detail-value">{{ constraint.name }}</dd>\n <dt class="detail-label">Type</dt>\n <dd class="detail-value">{{ constraint.type }}</dd>\n <dt class="detail-label">Expression</dt>\n <dd class="detail-value">{{ constraint.expression }}</dd>\n </dl>\n </div>\n </div>\n </div>\n\n <div ng-show="column.tests && column.tests.length" style="margin-bottom: 15px">\n <h5>Generic Tests</h5>\n <ul class="list-unstyled" style="margin-top: 2px">\n <li ng-repeat="test in column.tests" ng-switch on="test.short" class=\'text-light\'>\n <span ng-switch-when="F">\n Foreign Key\n <span ng-if="test.fk_model.unique_id">\n <a data-ui-state="getState(test.fk_model)"\n data-ui-state-params="{unique_id: test.fk_model.unique_id}">\n to {{ test.fk_model.name }}\n </a> on <code>{{ test.fk_field }}</code>\n </span>\n </span>\n <span ng-switch-when="P">Primary Key</span>\n <span ng-switch-when="U">Unique</span>\n <span ng-switch-when="N">Not Null</span>\n <span ng-switch-default>{{ test.label }}</span>\n </li>\n </ul>\n </div>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n</div>\n')}]),e.exports=n},function(e,t,n){"use strict";const r=n(438);n(33),n(439);function i(e){return"python"===e?"language-python":"language-sql"}angular.module("dbt").directive("codeBlock",["code","$timeout",function(e,t){return{scope:{versions:"=",default:"<",language:"="},restrict:"E",templateUrl:r,link:function(n,r){n.selected_version=n.default,n.language_class=i(n.language),n.source=null,n.setSelected=function(r){n.selected_version=r,n.source=n.versions[r]||"";const i=n.source.trim();n.highlighted=e.highlight(i,n.language),t((function(){Prism.highlightAll()}))},n.titleCase=function(e){return e.charAt(0).toUpperCase()+e.substring(1)},n.copied=!1,n.copy_to_clipboard=function(){e.copy_to_clipboard(n.source),n.copied=!0,setTimeout((function(){n.$apply((function(){n.copied=!1}))}),1e3)},n.$watch("language",(function(e,t){e&&e!=t&&(n.language_class=i(e))}),!0),n.$watch("versions",(function(e,t){if(e)if(n.default)n.setSelected(n.default);else{var r=Object.keys(n.versions);r.length>0&&n.setSelected(r[0])}}),!0)}}}])},function(e,t){var n="/components/code_block/code_block.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'<h6>Code</h6>\n<div class="panel">\n <div class="panel-body">\n <ul class="nav nav-tabs">\n <li\n ng-repeat="(version_name, version) in versions"\n ng-class="{active: version_name == selected_version}">\n <a ng-click="setSelected(version_name)">{{ titleCase(version_name) }}</a>\n </li>\n <li class=\'nav-pull-right\'></li>\n <li>\n <a class=\'unselectable\'\n ng-click="copy_to_clipboard()">{{ copied ? \'copied\' : \'copy to clipboard\' }}</a>\n </li>\n </ul>\n <div style="margin-top: 1px">\n <pre style="background-color: white"\n class=\'code line-numbers\'><code class="source-code highlight" ng-class="language_class" ng-bind-html="highlighted"></code></pre>\n </div>\n </div>\n</div>\n')}]),e.exports=n},function(e,t,n){var r=n(440);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};n(40)(r,i);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(39)(!1)).push([e.i,"pre.code {\n border: none !important;\n overflow-y: visible !important;\n overflow-x: scroll !important;\n padding-bottom: 10px;\n}\n\npre.code code {\n font-family: Monaco, monospace !important;\n font-weight: 400 !important;\n}\n\n.line-numbers-rows {\n border: none !important;\n}\n",""])},function(e,t,n){"use strict";const r=n(442);angular.module("dbt").directive("macroArguments",[function(){return{scope:{macro:"="},templateUrl:r,link:function(e){_.each(e.macro.arguments,(function(e){e.expanded=!1}))}}}])},function(e,t){var n="/components/macro_arguments/index.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'<style>\n .arg-header {\n background-color: white;\n position: sticky;\n top: 0;\n z-index: 1;\n }\n\n</style>\n\n<div class="panel">\n <div class="panel-body">\n <div ng-if="macro.arguments.length == 0">\n Details are not available for this macro. This may be due to the fact that this macro doesn\'t have any\n arguments or that they haven\'t been documented yet.\n </div>\n <div ng-if="macro.arguments.length > 0" class="table-responsive" style="max-height: 800px; overflow-y: scroll;">\n <table class="table table-borderless table-hover">\n <thead>\n <tr>\n <th class="arg-header">Argument</th>\n <th class="arg-header">Type</th>\n <th class="arg-header">Description</th>\n <th style="width: 1px;" class=\'text-center\'>More?</th>\n </tr>\n </thead>\n <tbody>\n <tr ng-repeat-start="arg in macro.arguments" ng-click="arg.expanded = !arg.expanded"\n ng-class="{\'column-row-selected\': arg.expanded}"\n ng-style="{cursor: arg.description ? \'pointer\' : \'auto\'}" class="column-row">\n <td>\n <div>\n <span class=\'text-dark\'>{{ arg.name }}</span>\n </div>\n </td>\n <td>\n <span class=\'text-dark\'>{{ arg.type }}</p>\n </td>\n <td style="text-overflow: ellipsis; overflow-x: hidden; white-space: nowrap; max-width: 1px;">\n <span ng-show="!arg.expanded">{{ arg.description }}</span>\n </td>\n <td class=\'text-center\'>\n <span class=\'text-light\' ng-show="arg.description">\n <span ng-if="arg.expanded">\n <svg class="icn">\n <use xlink:href="#icn-up"></use>\n </svg>\n </span>\n <span ng-if="!arg.expanded">\n <svg class="icn">\n <use xlink:href="#icn-right"></use>\n </svg>\n </span>\n </span>\n </td>\n </tr>\n <tr ng-repeat-end ng-show="arg.expanded" style="background-color: white; padding: 10px">\n <td colspan="4" class="column-expanded">\n <div style="padding: 5px 20px">\n <div style="margin-bottom: 15px">\n <h5>Description</h5>\n <span marked="arg.description"></span>\n </div>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n</div>\n')}]),e.exports=n},function(e,t,n){"use strict";const r=n(444);angular.module("dbt").directive("referenceList",["$state",function(e){return{scope:{references:"=",node:"="},restrict:"E",templateUrl:r,link:function(t){t.selected_type=null,t.setType=function(e){t.selected_type=e,t.nodes=t.references[t.selected_type]},t.getNodeUrl=function(t){var n="dbt."+t.resource_type;return e.href(n,{unique_id:t.unique_id,"#":null})},t.mapResourceType=function(e){return"model"==e?"Models":"seed"==e?"Seeds":"test"==e?"Tests":"snapshot"==e?"Snapshots":"analysis"==e?"Analyses":"macro"==e?"Macros":"exposure"==e?"Exposures":"metric"==e?"Metrics":"semantic_model"==e?"Semantic Models":"operation"==e?"Operations":"Nodes"},t.$watch("references",(function(e){e&&_.size(e)>0?(t.selected_type=_.keys(e)[0],t.has_references=!0,t.nodes=t.references[t.selected_type]):t.has_references=!1}))}}}])},function(e,t){var n="/components/references/index.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'<div class="panel">\n <div class="panel-body" ng-if="!has_references">\n No resources reference this {{ node.resource_type }}\n </div>\n <div class="panel-body" ng-if="has_references">\n <ul class="nav nav-tabs">\n <li\n ng-repeat="(resource_type, nodes) in references"\n ng-class="{active: resource_type == selected_type}">\n <a ng-click="setType(resource_type)">\n {{ mapResourceType(resource_type) }}\n </a>\n </li>\n </ul>\n <div style="margin-top: 15px">\n <ul class=\'list-unstyled\'>\n <li ng-repeat="node in nodes">\n <a ng-href="{{ getNodeUrl(node) }}">{{ node.name }}</a>\n </li>\n </ul>\n <div>\n </div>\n</div>\n')}]),e.exports=n},function(e,t,n){n(446),n(448),n(449),n(450),n(451),n(452),n(453),n(454),n(455),n(456),n(457)},function(e,t,n){"use strict";const r=n(9),i=n(30);n(31),r.module("dbt").controller("ModelCtrl",["$scope","$state","project","code","$anchorScroll","$location",function(e,t,n,r,o,a){e.model_uid=t.params.unique_id,e.tab=t.params.tab,e.project=n,e.codeService=r,e.versions={},e.copied=!1,e.copy_to_clipboard=function(t){r.copy_to_clipboard(t),e.copied=!0,setTimeout((function(){e.$apply((function(){e.copied=!1}))}),1e3)},e.model={},n.ready((function(t){let n=t.nodes[e.model_uid];e.model=n,e.references=i.getReferences(t,n),e.referencesLength=Object.keys(e.references).length,e.parents=i.getParents(t,n),e.parentsLength=Object.keys(e.parents).length,e.language=n.language;e.versions={Source:e.model.raw_code,Compiled:e.model.compiled_code||"\n-- compiled code not found for this model\n"},setTimeout((function(){o()}),0)}))}])},function(e,t,n){(e.exports=n(39)(!1)).push([e.i,"\n.nav-tabs li.nav-pull-right {\n flex: 1 0 auto;\n text-align: right;\n}\n\ntr.column-row-selected {\n\n}\n\ntd.column-expanded{\n padding: 0px !important;\n}\n\ntd.column-expanded > div {\n padding: 5px 10px;\n margin-left: 20px;\n height: 100%;\n\n border-left: 1px solid #ccc !important;\n}\n",""])},function(e,t,n){"use strict";const r=n(9),i=n(30);n(31),r.module("dbt").controller("SourceCtrl",["$scope","$state","project","code","$anchorScroll","$location",function(e,t,n,r,o,a){e.model_uid=t.params.unique_id,e.project=n,e.codeService=r,e.extra_table_fields=[],e.versions={},e.model={},n.ready((function(t){let n=t.nodes[e.model_uid];e.model=n,e.references=i.getReferences(t,n),e.referencesLength=Object.keys(e.references).length,e.parents=i.getParents(t,n),e.parentsLength=Object.keys(e.parents).length,e.versions={"Sample SQL":r.generateSourceSQL(e.model)},e.extra_table_fields=[{name:"Loader",value:e.model.loader},{name:"Source",value:e.model.source_name}]}))}])},function(e,t,n){"use strict";const r=n(9),i=n(30);n(31),r.module("dbt").controller("SeedCtrl",["$scope","$state","project","code","$transitions","$anchorScroll","$location",function(e,t,n,r,o,a,s){e.model_uid=t.params.unique_id,e.tab=t.params.tab,e.project=n,e.codeService=r,e.versions={},e.model={},n.ready((function(t){let n=t.nodes[e.model_uid];e.model=n,e.references=i.getReferences(t,n),e.referencesLength=Object.keys(e.references).length,e.parents=i.getParents(t,n),e.parentsLength=Object.keys(e.parents).length,e.versions={"Example SQL":r.generateSourceSQL(e.model)}}))}])},function(e,t,n){"use strict";const r=n(9),i=n(30);n(31),r.module("dbt").controller("SnapshotCtrl",["$scope","$state","project","code","$anchorScroll","$location",function(e,t,n,r,o,a){e.model_uid=t.params.unique_id,e.tab=t.params.tab,e.project=n,e.codeService=r,e.versions={},e.model={},n.ready((function(t){let n=t.nodes[e.model_uid];e.model=n,e.references=i.getReferences(t,n),e.referencesLength=Object.keys(e.references).length,e.parents=i.getParents(t,n),e.parentsLength=Object.keys(e.parents).length,e.language=n.language;e.versions={Source:e.model.raw_code,Compiled:e.model.compiled_code||"Compiled SQL is not available for this snapshot"},setTimeout((function(){o()}),0)}))}])},function(e,t,n){"use strict";const r=n(9),i=n(30);n(31),r.module("dbt").controller("TestCtrl",["$scope","$state","project","code","$anchorScroll","$location",function(e,t,n,r,o,a){e.model_uid=t.params.unique_id,e.tab=t.params.tab,e.project=n,e.codeService=r,e.versions={},e.model={},n.ready((function(t){let n=t.nodes[e.model_uid];e.model=n,e.references=i.getReferences(t,n),e.referencesLength=Object.keys(e.references).length,e.parents=i.getParents(t,n),e.parentsLength=Object.keys(e.parents).length,e.language=n.language;e.versions={Source:e.model.raw_code,Compiled:e.model.compiled_code||"\n-- compiled code not found for this model\n"},setTimeout((function(){o()}),0)}))}])},function(e,t,n){"use strict";const r=n(9),i=n(21),o=n(30);n(31),r.module("dbt").controller("MacroCtrl",["$scope","$state","project","code","$transitions","$anchorScroll","$location",function(e,t,n,r,a,s,l){e.model_uid=t.params.unique_id,e.tab=t.params.tab,e.project=n,e.codeService=r,e.macro={},n.ready((function(t){let n=t.macros[e.model_uid];if(e.macro=n,e.references=o.getMacroReferences(t,n),e.referencesLength=Object.keys(e.references).length,e.parents=o.getMacroParents(t,n),e.parentsLength=Object.keys(e.parents).length,e.macro.is_adapter_macro){var r=t.metadata.adapter_type;e.versions=n.impls,n.impls[r]?e.default_version=r:n.impls.default?e.default_version="default":e.default_version=i.keys(n.impls)[0]}else e.default_version="Source",e.versions={Source:e.macro.macro_sql}}))}])},function(e,t,n){"use strict";const r=n(9),i=n(30);n(31),r.module("dbt").controller("AnalysisCtrl",["$scope","$state","project","code","$transitions","$anchorScroll","$location",function(e,t,n,r,o,a,s){e.model_uid=t.params.unique_id,e.project=n,e.codeService=r,e.default_version="Source",e.versions={Source:"",Compiled:""},e.model={},n.ready((function(t){let n=t.nodes[e.model_uid];e.model=n,e.references=i.getReferences(t,n),e.referencesLength=Object.keys(e.references).length,e.parents=i.getParents(t,n),e.parentsLength=Object.keys(e.parents).length,e.language=n.language,e.versions={Source:e.model.raw_code,Compiled:e.model.compiled_code}}))}])},function(e,t,n){"use strict";const r=n(9),i=n(30);n(31),r.module("dbt").controller("ExposureCtrl",["$scope","$state","project","code","$anchorScroll","$location",function(e,t,n,r,o,a){e.model_uid=t.params.unique_id,e.project=n,e.codeService=r,e.extra_table_fields=[],e.versions={},e.exposure={},n.ready((function(t){let n=t.nodes[e.model_uid];var r;e.exposure=n,e.parents=i.getParents(t,n),e.parentsLength=e.parents.length,e.language=n.language,e.exposure.owner.name&&e.exposure.owner.email?r=`${e.exposure.owner.name} <${e.exposure.owner.email}>`:e.exposure.owner.name?r=""+e.exposure.owner.name:e.exposure.owner.email&&(r=""+e.exposure.owner.email),e.extra_table_fields=[{name:"Maturity",value:e.exposure.maturity},{name:"Owner",value:r},{name:"Exposure name",value:e.exposure.name}]}))}])},function(e,t,n){"use strict";const r=n(9),i=n(30);n(31),r.module("dbt").controller("MetricCtrl",["$scope","$state","project","code","$anchorScroll","$location",function(e,t,n,r,o,a){e.model_uid=t.params.unique_id,e.project=n,e.codeService=r,e.extra_table_fields=[],e.versions={},e.metric={},n.ready((function(t){let n=t.nodes[e.model_uid];e.metric=n,e.parents=i.getParents(t,n),e.parentsLength=e.parents.length;const r="expression"===e.metric.type?"Expression metric":"Aggregate metric";e.extra_table_fields=[{name:"Metric Type",value:r},{name:"Metric name",value:e.metric.name}]}))}])},function(e,t,n){"use strict";const r=n(9),i=n(30);n(31),r.module("dbt").controller("SemanticModelCtrl",["$scope","$state","project","code","$anchorScroll","$location",function(e,t,n,r,o,a){e.model_uid=t.params.unique_id,e.project=n,e.codeService=r,e.extra_table_fields=[],e.versions={},e.semantic_model={},n.ready((function(t){let n=t.nodes[e.model_uid];e.semantic_model=n,e.parents=i.getParents(t,n),e.parentsLength=e.parents.length;const r="expression"===e.semantic_model.type?"Expression semantic_model":"Aggregate semantic_model";e.extra_table_fields=[{name:"Semantic Model Type",value:r},{name:"Semantic Model name",value:e.semantic_model.name}]}))}])},function(e,t,n){"use strict";const r=n(9),i=n(30);n(31),r.module("dbt").controller("OperationCtrl",["$scope","$state","project","code","$anchorScroll","$location",function(e,t,n,r,o,a){e.model_uid=t.params.unique_id,e.tab=t.params.tab,e.project=n,e.codeService=r,e.versions={},e.model={},n.ready((function(t){let n=t.nodes[e.model_uid];e.model=n,e.references=i.getReferences(t,n),e.referencesLength=Object.keys(e.references).length,e.parents=i.getParents(t,n),e.parentsLength=Object.keys(e.parents).length,e.language=n.language;e.versions={Source:e.model.raw_code,Compiled:e.model.compiled_code||"\n-- compiled code not found for this model\n"},setTimeout((function(){o()}),0)}))}])},function(e,t,n){"use strict";n(9).module("dbt").controller("GraphCtrl",["$scope","$state","$window","graph","project","selectorService",function(e,t,n,r,i,o){function a(e){return e&&"source"==e.resource_type?"source:"+e.source_name+"."+e.name:e&&"exposure"==e.resource_type?"exposure:"+e.name:e&&"metric"==e.resource_type?"metric:"+e.name:e&&"semantic_model"==e.resource_type?"semantic_model:"+e.name:e&&"model"==e.resource_type&&null!=e.version?e.label:e.name?e.name:"*"}e.graph=r.graph,e.graphService=r,e.graphRendered=function(e){r.setGraphReady(e)},e.$watch((function(){return t.params.unique_id}),(function(e,t){e&&e!=t&&i.find_by_id(e,(function(e){e&&("sidebar"==r.orientation?r.showVerticalGraph(a(e),!1):r.showFullGraph(a(e)))})),e||o.clearViewNode()}))}])},function(e,t,n){"use strict";const r=n(9),i=n(21),o=n(33),a=n(460);n(461),n(206),n(469),n(471),n(474),n(478),r.module("dbt").controller("MainController",["$scope","$route","$state","project","graph","selectorService","trackingService","locationService","$transitions",function(e,t,n,r,s,l,c,u,d){function p(t){e.model_uid=t;var n=r.node(t);n&&l.resetSelection(n)}function f(e){e&&setTimeout((function(){var t=o("*[data-nav-unique-id='"+e+"']");t.length&&t[0].scrollIntoView&&t[0].scrollIntoView({behavior:"smooth",block:"center",inline:"center"})}),1)}e.tree={database:{},project:{},sources:{}},e.search={query:"",results:[],is_focused:!1},e.logo=a,e.model_uid=null,e.project={},o("body").bind("keydown",(function(e){"t"==event.key&&"INPUT"!=event.target.tagName&&(o("#search").focus(),event.preventDefault())})),e.onSearchFocus=function(t,n){e.search.is_focused=n},e.clearSearch=function(){e.search.is_focused=!1,e.search.query="",e.search.results=[],o("#search").blur()},e.$on("clearSearch",(function(){e.clearSearch()})),e.$on("query",(function(t,n){e.search.is_focused=!0,e.search.query=n})),e.onSearchKeypress=function(t){"Escape"==t.key&&(e.clearSearch(),t.preventDefault())},r.getModelTree(n.params.unique_id,(function(t){e.tree.database=t.database,e.tree.project=t.project,e.tree.sources=t.sources,e.tree.exposures=t.exposures,e.tree.metrics=t.metrics,e.tree.semantic_models=t.semantic_models,e.tree.groups=t.groups,setTimeout((function(){f(e.model_uid)}))})),d.onSuccess({},(function(t,n){var i=t.router.globals.params,o=l.getViewNode(),a=o?o.unique_id:null,s=i.unique_id,u=!0;if(t.from().name==t.to().name&&a==s&&(u=!1),u&&i.unique_id){var d=r.updateSelected(i.unique_id);e.tree.database=d.database,e.tree.groups=d.groups,e.tree.project=d.project,e.tree.sources=d.sources,e.search.query="",p(i.unique_id),setTimeout((function(){f(i.unique_id)}))}u&&c.track_pageview()})),e.$watch("search.query",(function(t){e.search.results=function(t){if(""===e.search.query)return t;let n={name:10,tags:5,description:3,raw_code:2,columns:1};return i.each(t,(function(t){t.overallWeight=0,i.each(Object.keys(n),(function(r){if(null!=t.model[r]){let o=0,a=t.model[r],s=e.search.query.toLowerCase();if("columns"===r)i.each(a,(function(e){if(e.name){let t=e.name.toLowerCase(),n=0;for(;-1!=n;)n=t.indexOf(s,n),-1!=n&&(o++,n++)}}));else if("tags"===r)i.each(a,(function(e){let t=e.toLowerCase(),n=0;for(;-1!=n;)n=t.indexOf(s,n),-1!=n&&(o++,n++)}));else{a=a.toLowerCase();let e=0;for(;-1!=e;)e=a.indexOf(s,e),-1!=e&&(o++,e++)}t.overallWeight+=o*n[r]}}))})),t}(r.search(t))})),r.init(),r.ready((function(t){e.project=t,e.search.results=r.search("");var o=i.unique(i.pluck(i.values(t.nodes),"package_name")).sort(),a=[null];i.each(t.nodes,(function(e){var t=e.tags;a=i.union(a,t).sort()})),l.init({packages:o,tags:a}),p(n.params.unique_id);var d=u.parseState(n.params);d.show_graph&&s.ready((function(){i.assign(l.selection.dirty,d.selected);var e=l.updateSelection();s.updateGraph(e)}));var f=t.metadata||{};c.init({track:f.send_anonymous_usage_stats,project_id:f.project_id})}))}])},function(e,t){e.exports="data:image/svg+xml,%3Csvg width='242' height='90' viewBox='0 0 242 90' fill='none' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath d='M240.384 74.5122L239.905 75.8589H239.728L239.249 74.5156V75.8589H238.941V74.0234H239.324L239.816 75.3872L240.309 74.0234H240.691V75.8589H240.384V74.5122ZM238.671 74.3003H238.169V75.8589H237.858V74.3003H237.352V74.0234H238.671V74.3003Z' fill='%23262A38'/%3E %3Cpath d='M154.123 13.915V75.3527H141.672V69.0868C140.37 71.2839 138.499 73.0742 136.22 74.2134C133.779 75.434 131.012 76.085 128.246 76.085C124.828 76.1664 121.41 75.1899 118.562 73.2369C115.633 71.2839 113.354 68.5986 111.889 65.425C110.262 61.7631 109.448 57.8572 109.529 53.8698C109.448 49.8825 110.262 45.9765 111.889 42.3961C113.354 39.3038 115.633 36.6185 118.481 34.7469C121.41 32.8753 124.828 31.9801 128.246 32.0615C130.931 32.0615 133.616 32.6311 135.976 33.8517C138.255 34.991 140.126 36.6999 141.428 38.8156V18.0651L154.123 13.915ZM139.15 63.2279C140.777 61.1121 141.672 58.0199 141.672 54.0326C141.672 50.0452 140.859 47.0344 139.15 44.9187C137.441 42.8029 134.755 41.5823 131.989 41.6637C129.222 41.5009 126.537 42.7215 124.746 44.8373C123.038 46.953 122.142 49.9639 122.142 53.8698C122.142 57.8572 123.038 60.9494 124.746 63.1465C126.455 65.3436 129.222 66.5642 131.989 66.4828C135.081 66.4828 137.522 65.3436 139.15 63.2279Z' fill='%23262A38'/%3E %3Cpath d='M198.635 34.6655C201.564 36.5371 203.843 39.2225 205.226 42.3147C206.853 45.8952 207.667 49.8011 207.586 53.7885C207.667 57.7758 206.853 61.7632 205.226 65.3436C203.761 68.5172 201.483 71.2026 198.553 73.1556C195.705 75.0272 192.287 76.0037 188.87 75.9223C186.103 76.0037 183.336 75.3527 180.895 74.0507C178.617 72.9114 176.745 71.1212 175.524 68.9241V75.2713H162.993V18.0651L175.606 13.915V38.9783C176.826 36.7812 178.698 34.991 180.976 33.8517C183.418 32.5498 186.103 31.8988 188.87 31.9801C192.287 31.8988 195.705 32.8753 198.635 34.6655ZM192.45 63.1465C194.159 60.9494 194.973 57.8572 194.973 53.7885C194.973 49.8825 194.159 46.8716 192.45 44.7559C190.741 42.6402 188.381 41.5823 185.289 41.5823C182.523 41.4196 179.837 42.6402 178.047 44.8373C176.338 47.0344 175.524 50.0452 175.524 53.9512C175.524 57.9386 176.338 61.0308 178.047 63.1465C179.756 65.3436 182.441 66.5642 185.289 66.4015C188.056 66.5642 190.741 65.3436 192.45 63.1465Z' fill='%23262A38'/%3E %3Cpath d='M225 42.4774V58.915C225 61.2749 225.651 62.9838 226.791 64.0416C228.093 65.1809 229.801 65.7505 231.592 65.6691C232.975 65.6691 234.44 65.425 235.742 65.0995V74.8644C233.382 75.6782 230.941 76.085 228.499 76.0037C223.292 76.0037 219.304 74.5389 216.537 71.6094C213.771 68.68 212.387 64.5299 212.387 59.1592V23.1103L225 19.0416V33.038H235.742V42.4774H225Z' fill='%23262A38'/%3E %3Cpath d='M86.1754 3.74322C88.2911 5.77758 89.6745 8.46293 90 11.3924C90 12.613 89.6745 13.4268 88.9421 14.9729C88.2098 16.519 79.1772 32.1429 76.4919 36.4557C74.9458 38.9783 74.132 41.9892 74.132 44.9186C74.132 47.9295 74.9458 50.859 76.4919 53.3816C79.1772 57.6944 88.2098 73.3996 88.9421 74.9457C89.6745 76.4919 90 77.2242 90 78.4448C89.6745 81.3743 88.3725 84.0597 86.2568 86.0127C84.2224 88.1284 81.5371 89.5118 78.689 89.7559C77.4684 89.7559 76.6546 89.4304 75.1899 88.698C73.7251 87.9656 57.7758 79.1772 53.4629 76.4919C53.1374 76.3291 52.8119 76.085 52.4051 75.9222L31.085 63.3092C31.5732 67.3779 33.3635 71.2839 36.2929 74.132C36.8626 74.7016 37.4322 75.1899 38.0832 75.6781C37.5949 75.9222 37.0253 76.1664 36.5371 76.4919C32.2242 79.1772 16.519 88.2098 14.9729 88.9421C13.4268 89.6745 12.6944 90 11.3924 90C8.46293 89.6745 5.77758 88.3725 3.82459 86.2568C1.70886 84.2224 0.325497 81.5371 0 78.6076C0.0813743 77.387 0.406872 76.1664 1.05787 75.1085C1.79024 73.5624 10.8228 57.8571 13.5081 53.5443C15.0542 51.0217 15.868 48.0922 15.868 45.0814C15.868 42.0705 15.0542 39.141 13.5081 36.6184C10.8228 32.1429 1.70886 16.4376 1.05787 14.8915C0.406872 13.8336 0.0813743 12.613 0 11.3924C0.325497 8.46293 1.62749 5.77758 3.74322 3.74322C5.77758 1.62749 8.46293 0.325497 11.3924 0C12.613 0.0813743 13.8336 0.406872 14.9729 1.05787C16.2749 1.62749 27.7486 8.30018 33.8517 11.8807L35.2351 12.6944C35.7233 13.0199 36.1302 13.264 36.4557 13.4268L37.1067 13.8336L58.8336 26.6908C58.3454 21.8083 55.8228 17.3327 51.9168 14.3219C52.4051 14.0778 52.9747 13.8336 53.4629 13.5081C57.7758 10.8228 73.481 1.70886 75.0271 1.05787C76.085 0.406872 77.3056 0.0813743 78.6076 0C81.4557 0.325497 84.1411 1.62749 86.1754 3.74322ZM46.1392 50.7776L50.7776 46.1392C51.4286 45.4882 51.4286 44.5118 50.7776 43.8608L46.1392 39.2224C45.4882 38.5714 44.5118 38.5714 43.8608 39.2224L39.2224 43.8608C38.5714 44.5118 38.5714 45.4882 39.2224 46.1392L43.8608 50.7776C44.4304 51.3472 45.4882 51.3472 46.1392 50.7776Z' fill='%23FF694A'/%3E %3C/svg%3E"},function(e,t,n){"use strict";n.r(t);var r=n(63),i=n.n(r);n(462),n(463),n(464),n(465),n(467);const o=n(9),a=(n(33),n(21));window.Prism=i.a,o.module("dbt").factory("code",["$sce",function(e){var t={copied:!1,highlight:function(t,n="sql"){if("sql"==n)var r=i.a.highlight(t,i.a.languages.sql,"sql");else if("python"==n)r=i.a.highlight(t,i.a.languages.python,"python");return e.trustAsHtml(r)},copy_to_clipboard:function(e){var t=document.createElement("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="absolute",t.style.left="-9999px",document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t)},generateSourceSQL:function(e){var t=["select"],n=a.size(e.columns),r=a.keys(e.columns);a.each(r,(function(e,r){var i=" "+e;r+1!=n&&(i+=","),t.push(i)}));const i=(e.database?e.database+".":"")+e.schema+"."+e.identifier;return t.push("from "+i),t.join("\n")}};return t}])},function(e,t){Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}},function(e,t){Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern://,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python},function(e,t){!function(){if("undefined"!=typeof Prism&&"undefined"!=typeof document){var e=/\n(?!$)/g,t=Prism.plugins.lineNumbers={getLine:function(e,t){if("PRE"===e.tagName&&e.classList.contains("line-numbers")){var n=e.querySelector(".line-numbers-rows");if(n){var r=parseInt(e.getAttribute("data-start"),10)||1,i=r+(n.children.length-1);t<r&&(t=r),t>i&&(t=i);var o=t-r;return n.children[o]}}},resize:function(e){r([e])},assumeViewportIndependence:!0},n=void 0;window.addEventListener("resize",(function(){t.assumeViewportIndependence&&n===window.innerWidth||(n=window.innerWidth,r(Array.prototype.slice.call(document.querySelectorAll("pre.line-numbers"))))})),Prism.hooks.add("complete",(function(t){if(t.code){var n=t.element,i=n.parentNode;if(i&&/pre/i.test(i.nodeName)&&!n.querySelector(".line-numbers-rows")&&Prism.util.isActive(n,"line-numbers")){n.classList.remove("line-numbers"),i.classList.add("line-numbers");var o,a=t.code.match(e),s=a?a.length+1:1,l=new Array(s+1).join("<span></span>");(o=document.createElement("span")).setAttribute("aria-hidden","true"),o.className="line-numbers-rows",o.innerHTML=l,i.hasAttribute("data-start")&&(i.style.counterReset="linenumber "+(parseInt(i.getAttribute("data-start"),10)-1)),t.element.appendChild(o),r([i]),Prism.hooks.run("line-numbers",t)}}})),Prism.hooks.add("line-numbers",(function(e){e.plugins=e.plugins||{},e.plugins.lineNumbers=!0}))}function r(t){if(0!=(t=t.filter((function(e){var t=function(e){if(!e)return null;return window.getComputedStyle?getComputedStyle(e):e.currentStyle||null}(e)["white-space"];return"pre-wrap"===t||"pre-line"===t}))).length){var n=t.map((function(t){var n=t.querySelector("code"),r=t.querySelector(".line-numbers-rows");if(n&&r){var i=t.querySelector(".line-numbers-sizer"),o=n.textContent.split(e);i||((i=document.createElement("span")).className="line-numbers-sizer",n.appendChild(i)),i.innerHTML="0",i.style.display="block";var a=i.getBoundingClientRect().height;return i.innerHTML="",{element:t,lines:o,lineHeights:[],oneLinerHeight:a,sizer:i}}})).filter(Boolean);n.forEach((function(e){var t=e.sizer,n=e.lines,r=e.lineHeights,i=e.oneLinerHeight;r[n.length-1]=void 0,n.forEach((function(e,n){if(e&&e.length>1){var o=t.appendChild(document.createElement("span"));o.style.display="block",o.textContent=e}else r[n]=i}))})),n.forEach((function(e){for(var t=e.sizer,n=e.lineHeights,r=0,i=0;i<n.length;i++)void 0===n[i]&&(n[i]=t.children[r++].getBoundingClientRect().height)})),n.forEach((function(e){var t=e.sizer,n=e.element.querySelector(".line-numbers-rows");t.style.display="none",t.innerHTML="",e.lineHeights.forEach((function(e,t){n.children[t].style.height=e+"px"}))}))}}}()},function(e,t,n){var r=n(466);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};n(40)(r,i);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(39)(!1)).push([e.i,'pre[class*="language-"].line-numbers {\n\tposition: relative;\n\tpadding-left: 3.8em;\n\tcounter-reset: linenumber;\n}\n\npre[class*="language-"].line-numbers > code {\n\tposition: relative;\n\twhite-space: inherit;\n}\n\n.line-numbers .line-numbers-rows {\n\tposition: absolute;\n\tpointer-events: none;\n\ttop: 0;\n\tfont-size: 100%;\n\tleft: -3.8em;\n\twidth: 3em; /* works for line-numbers below 1000 lines */\n\tletter-spacing: -1px;\n\tborder-right: 1px solid #999;\n\n\t-webkit-user-select: none;\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none;\n\n}\n\n\t.line-numbers-rows > span {\n\t\tdisplay: block;\n\t\tcounter-increment: linenumber;\n\t}\n\n\t\t.line-numbers-rows > span:before {\n\t\t\tcontent: counter(linenumber);\n\t\t\tcolor: #999;\n\t\t\tdisplay: block;\n\t\t\tpadding-right: 0.8em;\n\t\t\ttext-align: right;\n\t\t}\n',""])},function(e,t,n){var r=n(468);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};n(40)(r,i);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(39)(!1)).push([e.i,'/**\n * GHColors theme by Avi Aryan (http://aviaryan.in)\n * Inspired by Github syntax coloring\n */\n\ncode[class*="language-"],\npre[class*="language-"] {\n\tcolor: #393A34;\n\tfont-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace;\n\tdirection: ltr;\n\ttext-align: left;\n\twhite-space: pre;\n\tword-spacing: normal;\n\tword-break: normal;\n\tfont-size: .9em;\n\tline-height: 1.2em;\n\n\t-moz-tab-size: 4;\n\t-o-tab-size: 4;\n\ttab-size: 4;\n\n\t-webkit-hyphens: none;\n\t-moz-hyphens: none;\n\t-ms-hyphens: none;\n\thyphens: none;\n}\n\npre > code[class*="language-"] {\n\tfont-size: 1em;\n}\n\npre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,\ncode[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {\n\tbackground: #b3d4fc;\n}\n\npre[class*="language-"]::selection, pre[class*="language-"] ::selection,\ncode[class*="language-"]::selection, code[class*="language-"] ::selection {\n\tbackground: #b3d4fc;\n}\n\n/* Code blocks */\npre[class*="language-"] {\n\tpadding: 1em;\n\tmargin: .5em 0;\n\toverflow: auto;\n\tborder: 1px solid #dddddd;\n\tbackground-color: white;\n}\n\n/* Inline code */\n:not(pre) > code[class*="language-"] {\n\tpadding: .2em;\n\tpadding-top: 1px;\n\tpadding-bottom: 1px;\n\tbackground: #f8f8f8;\n\tborder: 1px solid #dddddd;\n}\n\n.token.comment,\n.token.prolog,\n.token.doctype,\n.token.cdata {\n\tcolor: #999988;\n\tfont-style: italic;\n}\n\n.token.namespace {\n\topacity: .7;\n}\n\n.token.string,\n.token.attr-value {\n\tcolor: #e3116c;\n}\n\n.token.punctuation,\n.token.operator {\n\tcolor: #393A34; /* no highlight */\n}\n\n.token.entity,\n.token.url,\n.token.symbol,\n.token.number,\n.token.boolean,\n.token.variable,\n.token.constant,\n.token.property,\n.token.regex,\n.token.inserted {\n\tcolor: #36acaa;\n}\n\n.token.atrule,\n.token.keyword,\n.token.attr-name,\n.language-autohotkey .token.selector {\n\tcolor: #00a4db;\n}\n\n.token.function,\n.token.deleted,\n.language-autohotkey .token.tag {\n\tcolor: #9a050f;\n}\n\n.token.tag,\n.token.selector,\n.language-autohotkey .token.keyword {\n\tcolor: #00009f;\n}\n\n.token.important,\n.token.function,\n.token.bold {\n\tfont-weight: bold;\n}\n\n.token.italic {\n\tfont-style: italic;\n}\n',""])},function(e,t,n){n(33);const r=n(21),i=n(148),o=n(203),a=n(470);angular.module("dbt").factory("graph",["$state","$window","$q","selectorService","project","locationService",function(e,t,n,s,l,c){var u={vertical:{userPanningEnabled:!1,boxSelectionEnabled:!1,maxZoom:1.5},horizontal:{userPanningEnabled:!0,boxSelectionEnabled:!1,maxZoom:1,minZoom:.05}},d={none:{name:"null"},left_right:{name:"dagre",rankDir:"LR",rankSep:200,edgeSep:30,nodeSep:50},top_down:{name:"preset",positions:function(t){var n=e.params.unique_id;if(!n)return{x:0,y:0};var a=p.graph.pristine.dag,s=r.sortBy(o.ancestorNodes(a,n,1)),l=r.sortBy(o.descendentNodes(a,n,1)),c=r.partial(r.includes,s),u=r.partial(r.includes,l),d=a.filterNodes(c),f=a.filterNodes(u);return function(e,t,n,i){var o,a=100/(1+Math.max(t.length,n.length));if(e==i)return{x:0,y:0};if(r.includes(t,i))o={set:t,index:r.indexOf(t,i),factor:-1,type:"parent"};else{if(!r.includes(n,i))return{x:0,y:0};o={set:n,index:r.indexOf(n,i),factor:1,type:"child"}}var s=o.set.length;if("parent"==o.type)var l={x:(0+o.index)*a,y:-200-100*(s-o.index-1)};else l={x:(0+o.index)*a,y:200+100*(s-o.index-1)};return l}(n,i.alg.topsort(d),i.alg.topsort(f).reverse(),t.data("id"))}}},p={loading:!0,loaded:n.defer(),graph_element:null,orientation:"sidebar",expanded:!1,graph:{options:u.vertical,pristine:{nodes:{},edges:{},dag:null},elements:[],layout:d.none,style:[{selector:"edge.vertical",style:{"curve-style":"unbundled-bezier","target-arrow-shape":"triangle-backcurve","target-arrow-color":"#027599","arrow-scale":1.5,"line-color":"#027599",width:3,"target-distance-from-node":"5px","source-endpoint":"0% 50%","target-endpoint":"0deg"}},{selector:"edge.horizontal",style:{"curve-style":"unbundled-bezier","target-arrow-shape":"triangle-backcurve","target-arrow-color":"#006f8a","arrow-scale":1.5,"target-distance-from-node":"10px","source-distance-from-node":"5px","line-color":"#006f8a",width:3,"source-endpoint":"50% 0%","target-endpoint":"270deg"}},{selector:"edge[selected=1]",style:{"line-color":"#bd6bb6","target-arrow-color":"#bd6bb6","z-index":1}},{selector:'node[display="none"]',style:{display:"none"}},{selector:"node.vertical",style:{"text-margin-x":"5px","background-color":"#0094b3","border-color":"#0094b3","font-size":"16px",shape:"ellipse",color:"#fff",width:"5px",height:"5px",padding:"5px",content:"data(label)","font-weight":300,"text-valign":"center","text-halign":"right"}},{selector:"node.horizontal",style:{"background-color":"#0094b3","border-color":"#0094b3","font-size":"24px",shape:"roundrectangle",color:"#fff",width:"label",height:"label",padding:"12px",content:"data(label)","font-weight":300,"font-family":'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Helvetica, Arial, sans-serif',"text-valign":"center","text-halign":"center",ghost:"yes","ghost-offset-x":"2px","ghost-offset-y":"4px","ghost-opacity":.5,"text-outline-color":"#000","text-outline-width":"1px","text-outline-opacity":.2}},{selector:'node[resource_type="source"]',style:{"background-color":"#5fb825","border-color":"#5fb825"}},{selector:'node[resource_type="exposure"]',style:{"background-color":"#ff694b","border-color":"#ff694b"}},{selector:'node[resource_type="metric"]',style:{"background-color":"#ff5688","border-color":"#ff5688"}},{selector:'node[resource_type="semantic_model"]',style:{"background-color":"#ffa8c2","border-color":"#ffa8c2"}},{selector:'node[language="python"]',style:{"background-color":"#6a5acd","border-color":"#6a5acd"}},{selector:"node[node_color]",style:{"background-color":"data(node_color)","border-color":"data(node_color)"}},{selector:"node[selected=1]",style:{"background-color":"#bd6bb6","border-color":"#bd6bb6"}},{selector:"node.horizontal[selected=1]",style:{"background-color":"#88447d","border-color":"#88447d"}},{selector:"node.horizontal.dirty",style:{"background-color":"#919599","border-color":"#919599"}},{selector:"node[hidden=1]",style:{"background-color":"#919599","border-color":"#919599","background-opacity":.5}},{selector:'node[access="private"]',style:{"background-opacity":.2,"border-width":2,ghost:"no"}}],ready:function(e){console.log("graph ready")}}};function f(e,t,n){var i=r.map(e,(function(e){return p.graph.pristine.nodes[e]})),o=[];r.flatten(r.each(e,(function(t){var n=p.graph.pristine.edges[t];r.each(n,(function(t){r.includes(e,t.data.target)&&r.includes(e,t.data.source)&&o.push(t)}))})));var s=r.compact(i).concat(r.compact(o));return r.each(p.graph.elements,(function(e){e.data.display="none",e.data.selected=0,e.data.hidden=0,e.classes=n})),r.each(s,(function(e){e.data.display="element",e.classes=n,t&&r.includes(t,e.data.unique_id)&&(e.data.selected=1),r.get(e,["data","docs","show"],!0)||(e.data.hidden=1);var i=r.get(e,["data","docs","node_color"]);i&&a.isValidColor(i)&&(e.data.node_color=i)})),p.graph.elements=r.filter(s,(function(e){return"element"==e.data.display})),e}function h(e,t,n){var r=p.graph.pristine.dag;if(r){var i=p.graph.pristine.nodes,o=s.selectNodes(r,i,e),a=n?o.matched:[];return f(o.selected,a,t)}}return p.setGraphReady=function(e){p.loading=!1,p.loaded.resolve(),p.graph_element=e},p.ready=function(e){p.loaded.promise.then((function(){e(p)}))},p.manifest={},p.packages=[],p.selected_node=null,p.getCanvasHeight=function(){return.8*t.innerHeight+"px"},l.ready((function(e){p.manifest=e,p.packages=r.uniq(r.map(p.manifest.nodes,"package_name")),r.each(r.filter(p.manifest.nodes,(function(e){var t=r.includes(["model","seed","source","snapshot","analysis","exposure","metric","semantic_model","operation"],e.resource_type),n="test"==e.resource_type&&!e.hasOwnProperty("test_metadata");return t||n})),(function(e){var t={group:"nodes",data:r.assign(e,{parent:e.package_name,id:e.unique_id,is_group:"false"})};p.graph.pristine.nodes[e.unique_id]=t})),r.each(p.manifest.parent_map,(function(e,t){r.each(e,(function(e){var n=p.manifest.nodes[e],i=p.manifest.nodes[t];if(r.includes(["model","source","seed","snapshot","metric","semantic_model"],n.resource_type)&&("test"!=i.resource_type||!i.hasOwnProperty("test_metadata"))){var o=n.unique_id+"|"+i.unique_id,a={group:"edges",data:{source:n.unique_id,target:i.unique_id,unique_id:o}},s=i.unique_id;p.graph.pristine.edges[s]||(p.graph.pristine.edges[s]=[]),p.graph.pristine.edges[s].push(a)}}))}));var t=new i.Graph({directed:!0});r.each(p.graph.pristine.nodes,(function(e){t.setNode(e.data.unique_id,e.data.name)})),r.each(p.graph.pristine.edges,(function(e){r.each(e,(function(e){t.setEdge(e.data.source,e.data.target)}))})),p.graph.pristine.dag=t,p.graph.elements=r.flatten(r.values(p.graph.pristine.nodes).concat(r.values(p.graph.pristine.edges))),f(t.nodes())})),p.hideGraph=function(){p.orientation="sidebar",p.expanded=!1},p.showVerticalGraph=function(e,t){p.orientation="sidebar",t&&(p.expanded=!0);var n=h(r.assign({},s.options,{include:"+"+e+"+",exclude:"",hops:1}),"vertical",!0);return p.graph.layout=d.top_down,p.graph.options=u.vertical,n},p.showFullGraph=function(e){p.orientation="fullscreen",p.expanded=!0;var t=r.assign({},s.options);e?(t.include="+"+e+"+",t.exclude=""):(t.include="",t.exclude="");var n=h(t,"horizontal",!0);return p.graph.layout=d.left_right,p.graph.options=u.horizontal,c.setState(t),n},p.updateGraph=function(e){p.orientation="fullscreen",p.expanded=!0;var t=h(e,"horizontal",!1);return p.graph.layout=d.left_right,p.graph.options=u.horizontal,c.setState(e),t},p.deselectNodes=function(){"fullscreen"==p.orientation&&p.graph_element.elements().data("selected",0)},p.selectNode=function(e){if("fullscreen"==p.orientation){p.graph.pristine.nodes[e];var t=p.graph.pristine.dag,n=r.indexBy(o.ancestorNodes(t,e)),i=r.indexBy(o.descendentNodes(t,e));n[e]=e,i[e]=e;var a=p.graph_element;r.each(p.graph.elements,(function(t){var r=a.$id(t.data.id);n[t.data.source]&&n[t.data.target]||i[t.data.source]&&i[t.data.target]||t.data.unique_id==e?r.data("selected",1):r.data("selected",0)}))}},p.markDirty=function(e){p.markAllClean(),r.each(e,(function(e){p.graph_element.$id(e).addClass("dirty")}))},p.markAllClean=function(){p.graph_element&&p.graph_element.elements().removeClass("dirty")},p}])},function(e,t,n){"use strict";n.r(t),n.d(t,"isValidColor",(function(){return i}));const r=new Set(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","ghostwhite","gold","goldenrod","gray","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"]);function i(e){if(!e)return!1;const t=e.trim().toLowerCase();if(""===t)return!1;const n=t.match(/^#([A-Fa-f0-9]{3}){1,2}$/),i=r.has(t);return Boolean(n)||i}},function(e,t,n){n(33);const r=n(21),i=n(472);angular.module("dbt").factory("selectorService",["$state",function(e){var t={include:"",exclude:"",packages:[],tags:[null],resource_types:["model","seed","snapshot","source","test","analysis","exposure","metric","semantic_model"],depth:1},n={view_node:null,selection:{clean:r.clone(t),dirty:r.clone(t)},options:{packages:[],tags:[null],resource_types:["model","seed","snapshot","source","test","analysis","exposure","metric","semantic_model"]},init:function(e){r.each(e,(function(e,r){n.options[r]=e,t[r]=e,n.selection.clean[r]=e,n.selection.dirty[r]=e}))},resetSelection:function(e){var i={include:e&&r.includes(["model","seed","snapshot"],e.resource_type)?"+"+e.name+"+":e&&"source"==e.resource_type?"+source:"+e.source_name+"."+e.name+"+":e&&"exposure"==e.resource_type?"+exposure:"+e.name:e&&"metric"==e.resource_type?"+metric:"+e.name:e&&"semantic_model"==e.resource_type?"+semantic_model:"+e.name:e&&r.includes(["analysis","test"],e.resource_type)?"+"+e.name:""},o=r.assign({},t,i);n.selection.clean=r.clone(o),n.selection.dirty=r.clone(o),n.view_node=e},getViewNode:function(){return n.view_node},excludeNode:function(e,t){var r,i=n.selection.dirty.exclude,o=t.parents?"+":"",a=t.children?"+":"",s=i.length>0?" ":"";"source"==e.resource_type?(o+="source:",r=e.source_name+"."+e.name):["exposure","metric","semantic_model"].indexOf(e.resource_type)>-1?(o+=e.resource_type+":",r=e.name):r=e.name;var l=i+s+o+r+a;return n.selection.dirty.exclude=l,n.updateSelection()},selectSource:function(e,t){var r="source:"+e+(t.children?"+":"");return n.selection.dirty.include=r,n.updateSelection()},clearViewNode:function(){n.view_node=null},isDirty:function(){return!r.isEqual(n.selection.clean,n.selection.dirty)},updateSelection:function(){return n.selection.clean=r.clone(n.selection.dirty),n.selection.clean},selectNodes:function(e,t,n){return i.selectNodes(e,t,n)}};return n}])},function(e,t,n){const r=n(21),i=n(473);function o(e,t){return t||(t=" "),r.filter(r.uniq(e.split(t)),(function(e){return e.length>0}))}function a(e){var t={raw:e,select_at:!1,select_children:!1,children_depth:null,select_parents:!1,parents_depth:null};const n=new RegExp(""+/^/.source+/(?<childs_parents>(\@))?/.source+/(?<parents>((?<parents_depth>(\d*))\+))?/.source+/((?<method>([\w.]+)):)?/.source+/(?<value>(.*?))/.source+/(?<children>(\+(?<children_depth>(\d*))))?/.source+/$/.source).exec(e).groups;t.select_at="@"==n.childs_parents,t.select_parents=!!n.parents,t.select_children=!!n.children,n.parents_depth&&(t.parents_depth=parseInt(n.parents_depth)),n.children_depth&&(t.children_depth=parseInt(n.children_depth));var r=n.method,i=n.value;return r?-1!=r.indexOf(".")&&([r,selector_modifier]=r.split(".",2),i={config:selector_modifier,value:i}):r="implicit",t.selector_type=r,t.selector_value=i,t}function s(e){var t=o(e," ");return r.map(t,(function(e){var t=o(e,",");return t.length>1?{method:"intersect",selectors:r.map(t,a)}:{method:"none",selectors:r.map([e],a)}}))}function l(e,t){var n=s(e),i=null,o=null;return r.each(n,(function(e){var n="intersect"==e.method?r.intersection:r.union;r.each(e.selectors,(function(e){var r=t(e);null===i?(i=r.matched,o=r.selected):(i=n(i,r.matched),o=n(o,r.selected))}))})),{matched:i||[],selected:o||[]}}e.exports={splitSpecs:o,parseSpec:a,parseSpecs:s,buildSpec:function(e,t,n){return{include:s(e),exclude:s(t),hops:n}},applySpec:l,selectNodes:function(e,t,n){n.include,n.exclude;var o,a=r.partial(i.getNodesFromSpec,e,t,n.hops);r.values(t),o=0==n.include.trim().length?{selected:e.nodes(),matched:[]}:l(n.include,a);var s=l(n.exclude,a),c=o.selected,u=o.matched;c=r.difference(c,s.selected),u=r.difference(u,s.matched);var d=[];return r.each(c,(function(e){var i=t[e];i.data.tags||(i.data.tags=[]);var o=r.includes(n.packages,i.data.package_name),a=r.intersection(n.tags,i.data.tags).length>0,s=r.includes(n.tags,null)&&0==i.data.tags.length,l=r.includes(n.resource_types,i.data.resource_type);o&&(a||s)&&l||d.push(i.data.unique_id)})),{selected:r.difference(c,d),matched:r.difference(u,d)}}}},function(e,t,n){const r=n(21),i=n(203);var o="fqn",a="tag",s="source",l="exposure",c="metric",u="semantic_model",d="group",p="path",f="file",h="package",g="config",m="test_name",v="test_type",b={};function y(e,t,n){var r=e.slice(-1)[0],i=e.slice(-2,-1)[0];if(t===r)return!0;if(version_options=[i,i+"_"+r,i+"."+r],n&&version_options.includes(t))return!0;var o=e.reduce((e,t)=>e.concat(t.split(".")),[]),a=t.split(".");if(o.length<a.length)return!1;for(var s=0;s<a.length;s++){var l=a[s];if("*"==l)return!0;if(o[s]!=l)return!1}return!0}function x(e,t){var n=[];return r.each(e,(function(e){var i=e.data,o=i.fqn,a=null!==i.version;if(o&&"source"!=i.resource_type&&"exposure"!=i.resource_type&&"metric"!=i.resource_type&&"semantic_model"!=i.resource_type){var s=r.rest(o);(y(o,t,a)||y(s,t,a))&&n.push(i)}})),r.uniq(n)}function w(e,t){var n=[],i=t.split("/");return r.each(e,(function(e){var t=(e.data.original_file_path||"").split("/"),o=!0;r.each(i,(function(e,n){"*"==e||""==e||e!=t[n]&&(o=!1)})),o&&n.push(e.data)})),n}function k(e,t){var n=[];return r.each(e,(function(e){var i=e.data.original_file_path.split("/");r.last(i)==t&&n.push(e.data)})),n}function A(e,t){var n=[];return r.each(e,(function(e){var i=e.data.tags;r.includes(i,t)&&n.push(e.data)})),n}function E(e,t){var n=[];return r.each(e,(function(e){e.data.package_name==t&&n.push(e.data)})),n}function S(e,t){var n=[];return r.each(e,(function(e){var r=e.data;r.config&&r.config[t.config]==t.value&&n.push(r)})),n}function $(e,t){var n=[];return r.each(e,(function(e){var r=e.data;r.test_metadata&&r.test_metadata.name==t&&n.push(r)})),n}function C(e,t){var n=[];return r.each(e,(function(e){var r=e.data;if("test"!=r.resource_type)return!1;(r.hasOwnProperty("test_metadata")&&["schema","generic"].indexOf(t)>-1||!r.hasOwnProperty("test_metadata")&&["data","singular"].indexOf(t)>-1)&&n.push(r)})),n}function _(e,t){var n=[];return r.each(e,(function(e){var r=e.data;if("source"==r.resource_type){var i,o,a=r.source_name,s=r.name;-1!=t.indexOf(".")?[i,o]=t.split(".",2):(i=t,o=null),("*"==i||i==a&&"*"===o||i==a&&o===s||i==a&&null===o)&&n.push(e.data)}})),n}b["implicit"]=function(e,t){var n=x(e,t),i=w(e,t),o=[];t.toLowerCase().endsWith(".sql")&&(o=k(e,t));var a=r.uniq([].concat(r.map(n,"unique_id"),r.map(i,"unique_id"),r.map(o,"unique_id")));return r.map(a,t=>e[t].data)},b[o]=x,b[a]=A,b[s]=_,b[l]=function(e,t){var n=[];return r.each(e,(function(e){var r=e.data;if("exposure"==r.resource_type){var i=r.name;("*"==t||t==i)&&n.push(e.data)}})),n},b[c]=function(e,t){var n=[];return r.each(e,(function(e){var r=e.data;if("metric"==r.resource_type){var i=r.name;("*"==t||t==i)&&n.push(e.data)}})),n},b[u]=function(e,t){var n=[];return r.each(e,(function(e){var r=e.data;if("semantic_model"==r.resource_type){var i=r.name;("*"==t||t==i)&&n.push(e.data)}})),n},b[d]=function(e,t){var n=[];return r.each(e,(function(e){var r=e.data;r.group==t&&n.push(r)})),n},b[p]=w,b[f]=k,b[h]=E,b[g]=S,b[m]=$,b[v]=C,e.exports={isFQNMatch:y,getNodesByFQN:x,getNodesByTag:A,getNodesBySource:_,getNodesByPath:w,getNodesByPackage:E,getNodesByConfig:S,getNodesByTestName:$,getNodesByTestType:C,getNodesFromSpec:function(e,t,n,o){const a=b[o.selector_type];if(!a)return{selected:[],matched:[]};var s=a(t,o.selector_value),l=[],c=[];return r.each(s,(function(t){var a=t.unique_id;c.push(t.unique_id);var s=[],u=[],d=[];if(o.select_at&&(d=r.union(i.selectAt(e,a))),o.select_parents){var p=n||o.parents_depth;s=i.ancestorNodes(e,a,p)}if(o.select_children){p=n||o.children_depth;u=i.descendentNodes(e,a,p)}l=r.union([a],l,u,s,d)})),{selected:l,matched:c}}}},function(e,t,n){const r=n(9);n(475);r.module("dbt").factory("trackingService",["$location","selectorService","$rootScope",function(e,t,n){var r={initialized:!1,snowplow:null,project_id:null,init:function(e){r.initialized||(r.initialized=!0,r.project_id=e.project_id,!0===e.track&&r.turn_on_tracking())},isHosted:function(){return window.location.hostname.indexOf(".getdbt.com")>-1},turn_on_tracking:function(){var e,t,n,i,o,a;e=window,t=document,n="script",e[i="snowplow"]||(e.GlobalSnowplowNamespace=e.GlobalSnowplowNamespace||[],e.GlobalSnowplowNamespace.push(i),e[i]=function(){(e[i].q=e[i].q||[]).push(arguments)},e[i].q=e[i].q||[],o=t.createElement(n),a=t.getElementsByTagName(n)[0],o.async=1,o.src="//d1fc8wv8zag5ca.cloudfront.net/2.9.0/sp.js",a.parentNode.insertBefore(o,a));var s={appId:"dbt-docs",forceSecureTracker:!0,respectDoNotTrack:!0,userFingerprint:!1,contexts:{webPage:!0}};r.isHosted()&&(s.cookieDomain=".getdbt.com"),r.snowplow=window.snowplow,r.snowplow("newTracker","sp","fishtownanalytics.sinter-collect.com",s),r.snowplow("enableActivityTracking",30,30),r.track_pageview()},fuzzUrls:function(){r.isHosted()||(r.snowplow("setCustomUrl","https://fuzzed.getdbt.com/"),r.snowplow("setReferrerUrl","https://fuzzed.getdbt.com/"))},getContext:function(){return[{schema:"iglu:com.dbt/dbt_docs/jsonschema/1-0-0",data:{is_cloud_hosted:r.isHosted(),core_project_id:r.project_id}}]},track_pageview:function(){if(r.snowplow){r.fuzzUrls();r.snowplow("trackPageView",null,r.getContext())}},track_event:function(e,t,n,i){r.snowplow&&(r.fuzzUrls(),r.snowplow("trackStructEvent","dbt-docs",e,t,n,i,r.getContext()))},track_graph_interaction:function(e,t){r.snowplow&&(r.fuzzUrls(),r.track_event("graph","interact",e,t))}};return r}])},function(e,t,n){var r,i,o,a,s;r=n(476),i=n(204).utf8,o=n(477),a=n(204).bin,(s=function(e,t){e.constructor==String?e=t&&"binary"===t.encoding?a.stringToBytes(e):i.stringToBytes(e):o(e)?e=Array.prototype.slice.call(e,0):Array.isArray(e)||e.constructor===Uint8Array||(e=e.toString());for(var n=r.bytesToWords(e),l=8*e.length,c=1732584193,u=-271733879,d=-1732584194,p=271733878,f=0;f<n.length;f++)n[f]=16711935&(n[f]<<8|n[f]>>>24)|4278255360&(n[f]<<24|n[f]>>>8);n[l>>>5]|=128<<l%32,n[14+(l+64>>>9<<4)]=l;var h=s._ff,g=s._gg,m=s._hh,v=s._ii;for(f=0;f<n.length;f+=16){var b=c,y=u,x=d,w=p;c=h(c,u,d,p,n[f+0],7,-680876936),p=h(p,c,u,d,n[f+1],12,-389564586),d=h(d,p,c,u,n[f+2],17,606105819),u=h(u,d,p,c,n[f+3],22,-1044525330),c=h(c,u,d,p,n[f+4],7,-176418897),p=h(p,c,u,d,n[f+5],12,1200080426),d=h(d,p,c,u,n[f+6],17,-1473231341),u=h(u,d,p,c,n[f+7],22,-45705983),c=h(c,u,d,p,n[f+8],7,1770035416),p=h(p,c,u,d,n[f+9],12,-1958414417),d=h(d,p,c,u,n[f+10],17,-42063),u=h(u,d,p,c,n[f+11],22,-1990404162),c=h(c,u,d,p,n[f+12],7,1804603682),p=h(p,c,u,d,n[f+13],12,-40341101),d=h(d,p,c,u,n[f+14],17,-1502002290),c=g(c,u=h(u,d,p,c,n[f+15],22,1236535329),d,p,n[f+1],5,-165796510),p=g(p,c,u,d,n[f+6],9,-1069501632),d=g(d,p,c,u,n[f+11],14,643717713),u=g(u,d,p,c,n[f+0],20,-373897302),c=g(c,u,d,p,n[f+5],5,-701558691),p=g(p,c,u,d,n[f+10],9,38016083),d=g(d,p,c,u,n[f+15],14,-660478335),u=g(u,d,p,c,n[f+4],20,-405537848),c=g(c,u,d,p,n[f+9],5,568446438),p=g(p,c,u,d,n[f+14],9,-1019803690),d=g(d,p,c,u,n[f+3],14,-187363961),u=g(u,d,p,c,n[f+8],20,1163531501),c=g(c,u,d,p,n[f+13],5,-1444681467),p=g(p,c,u,d,n[f+2],9,-51403784),d=g(d,p,c,u,n[f+7],14,1735328473),c=m(c,u=g(u,d,p,c,n[f+12],20,-1926607734),d,p,n[f+5],4,-378558),p=m(p,c,u,d,n[f+8],11,-2022574463),d=m(d,p,c,u,n[f+11],16,1839030562),u=m(u,d,p,c,n[f+14],23,-35309556),c=m(c,u,d,p,n[f+1],4,-1530992060),p=m(p,c,u,d,n[f+4],11,1272893353),d=m(d,p,c,u,n[f+7],16,-155497632),u=m(u,d,p,c,n[f+10],23,-1094730640),c=m(c,u,d,p,n[f+13],4,681279174),p=m(p,c,u,d,n[f+0],11,-358537222),d=m(d,p,c,u,n[f+3],16,-722521979),u=m(u,d,p,c,n[f+6],23,76029189),c=m(c,u,d,p,n[f+9],4,-640364487),p=m(p,c,u,d,n[f+12],11,-421815835),d=m(d,p,c,u,n[f+15],16,530742520),c=v(c,u=m(u,d,p,c,n[f+2],23,-995338651),d,p,n[f+0],6,-198630844),p=v(p,c,u,d,n[f+7],10,1126891415),d=v(d,p,c,u,n[f+14],15,-1416354905),u=v(u,d,p,c,n[f+5],21,-57434055),c=v(c,u,d,p,n[f+12],6,1700485571),p=v(p,c,u,d,n[f+3],10,-1894986606),d=v(d,p,c,u,n[f+10],15,-1051523),u=v(u,d,p,c,n[f+1],21,-2054922799),c=v(c,u,d,p,n[f+8],6,1873313359),p=v(p,c,u,d,n[f+15],10,-30611744),d=v(d,p,c,u,n[f+6],15,-1560198380),u=v(u,d,p,c,n[f+13],21,1309151649),c=v(c,u,d,p,n[f+4],6,-145523070),p=v(p,c,u,d,n[f+11],10,-1120210379),d=v(d,p,c,u,n[f+2],15,718787259),u=v(u,d,p,c,n[f+9],21,-343485551),c=c+b>>>0,u=u+y>>>0,d=d+x>>>0,p=p+w>>>0}return r.endian([c,u,d,p])})._ff=function(e,t,n,r,i,o,a){var s=e+(t&n|~t&r)+(i>>>0)+a;return(s<<o|s>>>32-o)+t},s._gg=function(e,t,n,r,i,o,a){var s=e+(t&r|n&~r)+(i>>>0)+a;return(s<<o|s>>>32-o)+t},s._hh=function(e,t,n,r,i,o,a){var s=e+(t^n^r)+(i>>>0)+a;return(s<<o|s>>>32-o)+t},s._ii=function(e,t,n,r,i,o,a){var s=e+(n^(t|~r))+(i>>>0)+a;return(s<<o|s>>>32-o)+t},s._blocksize=16,s._digestsize=16,e.exports=function(e,t){if(null==e)throw new Error("Illegal argument "+e);var n=r.wordsToBytes(s(e,t));return t&&t.asBytes?n:t&&t.asString?a.bytesToString(n):r.bytesToHex(n)}},function(e,t){var n,r;n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r={rotl:function(e,t){return e<<t|e>>>32-t},rotr:function(e,t){return e<<32-t|e>>>t},endian:function(e){if(e.constructor==Number)return 16711935&r.rotl(e,8)|4278255360&r.rotl(e,24);for(var t=0;t<e.length;t++)e[t]=r.endian(e[t]);return e},randomBytes:function(e){for(var t=[];e>0;e--)t.push(Math.floor(256*Math.random()));return t},bytesToWords:function(e){for(var t=[],n=0,r=0;n<e.length;n++,r+=8)t[r>>>5]|=e[n]<<24-r%32;return t},wordsToBytes:function(e){for(var t=[],n=0;n<32*e.length;n+=8)t.push(e[n>>>5]>>>24-n%32&255);return t},bytesToHex:function(e){for(var t=[],n=0;n<e.length;n++)t.push((e[n]>>>4).toString(16)),t.push((15&e[n]).toString(16));return t.join("")},hexToBytes:function(e){for(var t=[],n=0;n<e.length;n+=2)t.push(parseInt(e.substr(n,2),16));return t},bytesToBase64:function(e){for(var t=[],r=0;r<e.length;r+=3)for(var i=e[r]<<16|e[r+1]<<8|e[r+2],o=0;o<4;o++)8*r+6*o<=8*e.length?t.push(n.charAt(i>>>6*(3-o)&63)):t.push("=");return t.join("")},base64ToBytes:function(e){e=e.replace(/[^A-Z0-9+\/]/gi,"");for(var t=[],r=0,i=0;r<e.length;i=++r%4)0!=i&&t.push((n.indexOf(e.charAt(r-1))&Math.pow(2,-2*i+8)-1)<<2*i|n.indexOf(e.charAt(r))>>>6-2*i);return t}},e.exports=r},function(e,t){function n(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)} +/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var r=function(){function e(e){return-e.tension*e.x-e.friction*e.v}function t(t,n,r){var i={x:t.x+r.dx*n,v:t.v+r.dv*n,tension:t.tension,friction:t.friction};return{dx:i.v,dv:e(i)}}function n(n,r){var i={dx:n.v,dv:e(n)},o=t(n,.5*r,i),a=t(n,.5*r,o),s=t(n,r,a),l=1/6*(i.dx+2*(o.dx+a.dx)+s.dx),c=1/6*(i.dv+2*(o.dv+a.dv)+s.dv);return n.x=n.x+l*r,n.v=n.v+c*r,n}return function e(t,r,i){var o,a={x:-1,v:0,tension:null,friction:null},s=[0],l=0,c=void 0,u=void 0;for(t=parseFloat(t)||500,r=parseFloat(r)||20,i=i||null,a.tension=t,a.friction=r,c=(o=null!==i)?(l=e(t,r))/i*.016:.016;u=n(u||a,c),s.push(1+u.x),l+=16,Math.abs(u.x)>1e-4&&Math.abs(u.v)>1e-4;);return o?function(e){return s[e*(s.length-1)|0]}:l}}();e.exports=r},function(e,t,n){"use strict";var r=n(0);function i(e,t,n,r,i){if(1===r)return n;var o=i(t,n,r);return null==e||((e.roundValue||e.color)&&(o=Math.round(o)),void 0!==e.min&&(o=Math.max(o,e.min)),void 0!==e.max&&(o=Math.min(o,e.max))),o}function o(e,t){return null!=e.pfValue||null!=e.value?null==e.pfValue||null!=t&&"%"===t.type.units?e.value:e.pfValue:e}e.exports=function(e,t,n,a,s){var l=null!=s?s.type:null;n<0?n=0:n>1&&(n=1);var c=o(e,s),u=o(t,s);if(r.number(c)&&r.number(u))return i(l,c,u,n,a);if(r.array(c)&&r.array(u)){for(var d=[],p=0;p<u.length;p++){var f=c[p],h=u[p];if(null!=f&&null!=h){var g=i(l,f,h,n,a);d.push(g)}else d.push(h)}return d}}},function(e,t,n){"use strict";e.exports=function(e,t,n,r){var i=!r,o=e,a=t._private,s=r?e:e.cy(),l=s.style();if(i){var c=o.position();a.startPosition=a.startPosition||{x:c.x,y:c.y},a.startStyle=a.startStyle||l.getAnimationStartStyle(o,a.style)}if(r){var u=s._private.pan;a.startPan=a.startPan||{x:u.x,y:u.y},a.startZoom=null!=a.startZoom?a.startZoom:s._private.zoom}a.started=!0,a.startTime=n-a.progress*a.duration}},function(e,t,n){"use strict";var r=n(11),i=n(4),o=n(0),a=n(1),s=n(6),l={qualifierCompare:function(e,t){return null==e||null==t?null==e&&null==t:e.sameText(t)},eventMatches:function(e,t,n){var r=t.qualifier;return null==r||e!==n.target&&o.element(n.target)&&r.matches(n.target)},eventFields:function(e){return{cy:e,target:e}},callbackContext:function(e,t,n){return null!=t.qualifier?n.target:e}},c=function(e){return o.string(e)?new s(e):e},u={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new r(a.assign({context:this},l))),this},emitter:function(){return this._private.emitter},on:function(e,t,n){return this.emitter().on(e,c(t),n),this},removeListener:function(e,t,n){return this.emitter().removeListener(e,c(t),n),this},one:function(e,t,n){return this.emitter().one(e,c(t),n),this},once:function(e,t,n){return this.emitter().one(e,c(t),n),this},emit:function(e,t){return this.emitter().emit(e,t),this}};i.eventAliasesOn(u),e.exports=u},function(e,t,n){"use strict";var r={png:function(e){return e=e||{},this._private.renderer.png(e)},jpg:function(e){var t=this._private.renderer;return(e=e||{}).bg=e.bg||"#fff",t.jpg(e)}};r.jpeg=r.jpg,e.exports=r},function(e,t,n){"use strict";var r=n(1),i=n(0),o={layout:function(e){if(null!=e)if(null!=e.name){var t=e.name,n=this.extension("layout",t);if(null!=n){var o=void 0;o=i.string(e.eles)?this.$(e.eles):null!=e.eles?e.eles:this.$();var a=new n(r.extend({},e,{cy:this,eles:o}));return a}r.error("Can not apply layout: No such layout `"+t+"` found; did you include its JS file?")}else r.error("A `name` must be specified to make a layout");else r.error("Layout options must be specified to make a layout")}};o.createLayout=o.makeLayout=o.layout,e.exports=o},function(e,t,n){"use strict";var r={notify:function(e){var t=this._private;if(t.batchingNotify){var n=t.batchNotifyEles,r=t.batchNotifyTypes;return e.eles&&n.merge(e.eles),void(r.ids[e.type]||(r.push(e.type),r.ids[e.type]=!0))}if(t.notificationsEnabled){var i=this.renderer();!this.isDestroyed()&&i&&i.notify(e)}},notifications:function(e){var t=this._private;if(void 0===e)return t.notificationsEnabled;t.notificationsEnabled=!!e},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return null==e.batchCount&&(e.batchCount=0),0===e.batchCount&&(e.batchingStyle=e.batchingNotify=!0,e.batchStyleEles=this.collection(),e.batchNotifyEles=this.collection(),e.batchNotifyTypes=[],e.batchNotifyTypes.ids={}),e.batchCount++,this},endBatch:function(){var e=this._private;return e.batchCount--,0===e.batchCount&&(e.batchingStyle=!1,e.batchStyleEles.updateStyle(),e.batchingNotify=!1,this.notify({type:e.batchNotifyTypes,eles:e.batchNotifyEles})),this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var t=this;return this.batch((function(){for(var n=Object.keys(e),r=0;r<n.length;r++){var i=n[r],o=e[i];t.getElementById(i).data(o)}}))}};e.exports=r},function(e,t,n){"use strict";var r=n(1),i={renderTo:function(e,t,n,r){return this._private.renderer.renderTo(e,t,n,r),this},renderer:function(){return this._private.renderer},forceRender:function(){return this.notify({type:"draw"}),this},resize:function(){return this.invalidateSize(),this.notify({type:"resize"}),this.emit("resize"),this},initRenderer:function(e){var t=this.extension("renderer",e.name);null!=t?(this._private.renderer=new t(r.extend({},e,{cy:this})),this.notify({type:"init"})):r.error("Can not initialise: No such renderer `%s` found; did you include its JS file?",e.name)},destroyRenderer:function(){this.notify({type:"destroy"});var e=this.container();if(e)for(e._cyreg=null;e.childNodes.length>0;)e.removeChild(e.childNodes[0]);this._private.renderer=null},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};i.invalidateDimensions=i.resize,e.exports=i},function(e,t,n){"use strict";var r=n(0),i=n(7),o={collection:function(e,t){return r.string(e)?this.$(e):r.elementOrCollection(e)?e.collection():r.array(e)?new i(this,e,t):new i(this)},nodes:function(e){var t=this.$((function(e){return e.isNode()}));return e?t.filter(e):t},edges:function(e){var t=this.$((function(e){return e.isEdge()}));return e?t.filter(e):t},$:function(e){var t=this._private.elements;return e?t.filter(e):t.spawnSelf()},mutableElements:function(){return this._private.elements}};o.elements=o.filter=o.$,e.exports=o},function(e,t,n){"use strict";var r=n(0),i=n(18),o={style:function(e){return e&&this.setStyle(e).update(),this._private.style},setStyle:function(e){var t=this._private;return r.stylesheet(e)?t.style=e.generateStyle(this):r.array(e)?t.style=i.fromJson(this,e):r.string(e)?t.style=i.fromString(this,e):t.style=i(this),t.style}};e.exports=o},function(e,t,n){"use strict";var r=n(1),i=n(0),o=n(5),a={apply:function(e){var t=this._private,n=t.cy.collection();t.newStyle&&(t.contextStyles={},t.propDiffs={},this.cleanElements(e,!0));for(var r=0;r<e.length;r++){var i=e[r],o=this.getContextMeta(i);if(!o.empty){n.merge(i);var a=this.getContextStyle(o),s=this.applyContextStyle(o,a,i);t.newStyle||this.updateTransitions(i,s.diffProps),this.updateStyleHints(i)}}return t.newStyle=!1,n},getPropertiesDiff:function(e,t){var n=this._private.propDiffs=this._private.propDiffs||{},r=e+"-"+t,i=n[r];if(i)return i;for(var o=[],a={},s=0;s<this.length;s++){var l=this[s],c="t"===e[s]!=("t"===t[s]),u=l.mappedProperties.length>0;if(c||u){var d=void 0;c&&u||c?d=l.properties:u&&(d=l.mappedProperties);for(var p=0;p<d.length;p++){for(var f=d[p],h=f.name,g=!1,m=s+1;m<this.length;m++){var v=this[m];if("t"===t[m]&&(g=null!=v.properties[f.name]))break}a[h]||g||(a[h]=!0,o.push(h))}}}return n[r]=o,o},getContextMeta:function(e){var t,n="",r=e._private.styleCxtKey||"";this._private.newStyle&&(r="");for(var i=0;i<this.length;i++){var o=this[i];n+=o.selector&&o.selector.matches(e)?"t":"f"}return t=this.getPropertiesDiff(r,n),e._private.styleCxtKey=n,{key:n,diffPropNames:t,empty:0===t.length}},getContextStyle:function(e){var t=e.key,n=this._private.contextStyles=this._private.contextStyles||{};if(n[t])return n[t];for(var r={_private:{key:t}},i=0;i<this.length;i++){var o=this[i];if("t"===t[i])for(var a=0;a<o.properties.length;a++){var s=o.properties[a];r[s.name]=s}}return n[t]=r,r},applyContextStyle:function(e,t,n){for(var r=e.diffPropNames,i={},o=0;o<r.length;o++){var a=r[o],s=t[a],l=n.pstyle(a);if(!s){if(!l)continue;s=l.bypass?{name:a,deleteBypassed:!0}:{name:a,delete:!0}}if(l!==s){var c=i[a]={prev:l};this.applyParsedProperty(n,s),c.next=n.pstyle(a),c.next&&c.next.bypass&&(c.next=c.next.bypassed)}}return{diffProps:i}},updateStyleHints:function(e){var t=e._private;if(!e.removed()){var n=!1;if("nodes"===t.group)for(var r=1;r<=this.pieBackgroundN;r++)if(e.pstyle("pie-"+r+"-background-size").value>0){n=!0;break}t.hasPie=n;var i=e.pstyle("text-transform").strValue,o=e.pstyle("label").strValue,a=e.pstyle("source-label").strValue,s=e.pstyle("target-label").strValue,l=e.pstyle("font-style").strValue,c=e.pstyle("font-size").pfValue+"px",u=e.pstyle("font-family").strValue,d=e.pstyle("font-weight").strValue,p=l+"$"+c+"$"+u+"$"+d+"$"+i+"$"+e.pstyle("text-valign").strValue+"$"+e.pstyle("text-valign").strValue+"$"+e.pstyle("text-outline-width").pfValue+"$"+e.pstyle("text-wrap").strValue+"$"+e.pstyle("text-max-width").pfValue;t.labelStyleKey=p,t.sourceLabelKey=p+"$"+a,t.targetLabelKey=p+"$"+s,t.labelKey=p+"$"+o,t.fontKey=l+"$"+d+"$"+c+"$"+u,t.styleKey=Date.now()}},applyParsedProperty:function(e,t){var n=this,o=t,a=e._private.style,s=void 0,l=n.types,c=n.properties[o.name].type,u=o.bypass,d=a[o.name],p=d&&d.bypass,f=e._private,h=function(){n.checkZOrderTrigger(e,o.name,d?d.value:null,o.value)};if("curve-style"===t.name&&"haystack"===t.value&&e.isEdge()&&(e.isLoop()||e.source().isParent()||e.target().isParent())&&(o=t=this.parse(t.name,"bezier",u)),o.delete)return a[o.name]=void 0,h(),!0;if(o.deleteBypassed)return d?!!d.bypass&&(d.bypassed=void 0,h(),!0):(h(),!0);if(o.deleteBypass)return d?!!d.bypass&&(a[o.name]=d.bypassed,h(),!0):(h(),!0);var g=function(){r.error("Do not assign mappings to elements without corresponding data (e.g. ele `"+e.id()+"` for property `"+o.name+"` with data field `"+o.field+"`); try a `["+o.field+"]` selector to limit scope to elements with `"+o.field+"` defined")};switch(o.mapped){case l.mapData:for(var m=o.field.split("."),v=f.data,b=0;b<m.length&&v;b++)v=v[m[b]];var y=void 0;if((y=i.number(v)?(v-o.fieldMin)/(o.fieldMax-o.fieldMin):0)<0?y=0:y>1&&(y=1),c.color){var x=o.valueMin[0],w=o.valueMax[0],k=o.valueMin[1],A=o.valueMax[1],E=o.valueMin[2],S=o.valueMax[2],$=null==o.valueMin[3]?1:o.valueMin[3],C=null==o.valueMax[3]?1:o.valueMax[3],_=[Math.round(x+(w-x)*y),Math.round(k+(A-k)*y),Math.round(E+(S-E)*y),Math.round($+(C-$)*y)];s={bypass:o.bypass,name:o.name,value:_,strValue:"rgb("+_[0]+", "+_[1]+", "+_[2]+")"}}else{if(!c.number)return!1;var O=o.valueMin+(o.valueMax-o.valueMin)*y;s=this.parse(o.name,O,o.bypass,"mapping")}s||(s=this.parse(o.name,d.strValue,o.bypass,"mapping")),s||g(),s.mapping=o,o=s;break;case l.data:var T=o.field.split("."),j=f.data;if(j)for(var P=0;P<T.length;P++)j=j[T[P]];if(!(s=this.parse(o.name,j,o.bypass,"mapping"))){var D=d?d.strValue:"";s=this.parse(o.name,D,o.bypass,"mapping")}s||g(),s.mapping=o,o=s;break;case l.fn:var R=(0,o.value)(e);(s=this.parse(o.name,R,o.bypass,"mapping")).mapping=o,o=s;break;case void 0:break;default:return!1}return u?(o.bypassed=p?d.bypassed:d,a[o.name]=o):p?d.bypassed=o:a[o.name]=o,h(),!0},cleanElements:function(e,t){for(var n=this.properties,r=0;r<e.length;r++){var i=e[r];if(t)for(var o=i._private.style,a=0;a<n.length;a++){var s=n[a],l=o[s.name];l&&(l.bypass?l.bypassed=null:o[s.name]=null)}else i._private.style={}}},update:function(){this._private.cy.mutableElements().updateStyle()},updateMappers:function(e){for(var t=this._private.cy.collection(),n=0;n<e.length;n++){for(var r=e[n],i=r._private.style,o=!1,a=0;a<this.properties.length;a++){var s=i[this.properties[a].name];if(s&&s.mapping){var l=s.mapping;this.applyParsedProperty(r,l),o=!0}}o&&(this.updateStyleHints(r),t.merge(r))}return t},updateTransitions:function(e,t,n){var r=this,a=e._private,s=e.pstyle("transition-property").value,l=e.pstyle("transition-duration").pfValue,c=e.pstyle("transition-delay").pfValue;if(s.length>0&&l>0){for(var u={},d=!1,p=0;p<s.length;p++){var f=s[p],h=e.pstyle(f),g=t[f];if(g){var m=g.prev,v=null!=g.next?g.next:h,b=!1,y=void 0;m&&(i.number(m.pfValue)&&i.number(v.pfValue)?(b=v.pfValue-m.pfValue,y=m.pfValue+1e-6*b):i.number(m.value)&&i.number(v.value)?(b=v.value-m.value,y=m.value+1e-6*b):i.array(m.value)&&i.array(v.value)&&(b=m.value[0]!==v.value[0]||m.value[1]!==v.value[1]||m.value[2]!==v.value[2],y=m.strValue),b&&(u[f]=v.strValue,this.applyBypass(e,f,y),d=!0))}}if(!d)return;a.transitioning=!0,new o((function(t){c>0?e.delayAnimation(c).play().promise().then(t):t()})).then((function(){return e.animation({style:u,duration:l,easing:e.pstyle("transition-timing-function").value,queue:!1}).play().promise()})).then((function(){r.removeBypasses(e,s),e.emitAndNotify("style"),a.transitioning=!1}))}else a.transitioning&&(this.removeBypasses(e,s),e.emitAndNotify("style"),a.transitioning=!1)},checkZOrderTrigger:function(e,t,n,r){var i=this.properties[t];null==i.triggersZOrder||null!=n&&!i.triggersZOrder(n,r)||this._private.cy.notify({type:"zorder",eles:e})}};e.exports=a},function(e,t,n){"use strict";var r=n(0),i=n(1),o={applyBypass:function(e,t,n,o){var a=[];if("*"===t||"**"===t){if(void 0!==n)for(var s=0;s<this.properties.length;s++){var l=this.properties[s].name,c=this.parse(l,n,!0);c&&a.push(c)}}else if(r.string(t)){var u=this.parse(t,n,!0);u&&a.push(u)}else{if(!r.plainObject(t))return!1;var d=t;o=n;for(var p=Object.keys(d),f=0;f<p.length;f++){var h=p[f],g=(this.properties[h],d[h]);if(void 0===g&&(g=d[i.dash2camel(h)]),void 0!==g){var m=this.parse(h,g,!0);m&&a.push(m)}}}if(0===a.length)return!1;for(var v=!1,b=0;b<e.length;b++){for(var y=e[b],x={},w=void 0,k=0;k<a.length;k++){var A=a[k];if(o){var E=y.pstyle(A.name);w=x[A.name]={prev:E}}v=this.applyParsedProperty(y,A)||v,o&&(w.next=y.pstyle(A.name))}v&&this.updateStyleHints(y),o&&this.updateTransitions(y,x,!0)}return v},overrideBypass:function(e,t,n){t=i.camel2dash(t);for(var r=0;r<e.length;r++){var o=e[r],a=o._private.style[t],s=this.properties[t].type,l=s.color,c=s.mutiple;if(a&&a.bypass){var u=null!=a.pfValue?a.pfValue:a.value;a.value=n,null!=a.pfValue&&(a.pfValue=n),a.strValue=l?"rgb("+n.join(",")+")":c?n.join(" "):""+n,this.checkZOrderTrigger(o,t,u,n)}else this.applyBypass(o,t,n)}},removeAllBypasses:function(e,t){return this.removeBypasses(e,this.propertyNames,t)},removeBypasses:function(e,t,n){for(var r=0;r<e.length;r++){for(var i=e[r],o={},a=0;a<t.length;a++){var s=t[a],l=this.properties[s],c=i.pstyle(l.name);if(c&&c.bypass){var u=this.parse(s,"",!0),d=o[l.name]={prev:c};this.applyParsedProperty(i,u),d.next=i.pstyle(l.name)}}this.updateStyleHints(i),n&&this.updateTransitions(i,o,!0)}}};e.exports=o},function(e,t,n){"use strict";var r=n(3),i={getEmSizeInPixels:function(){var e=this.containerCss("font-size");return null!=e?parseFloat(e):1},containerCss:function(e){var t=this._private.cy.container();if(r&&t&&r.getComputedStyle)return r.getComputedStyle(t).getPropertyValue(e)}};e.exports=i},function(e,t,n){"use strict";var r=n(1),i=n(0),o={getRenderedStyle:function(e,t){return t?this.getStylePropertyValue(e,t,!0):this.getRawStyle(e,!0)},getRawStyle:function(e,t){if(e=e[0]){for(var n={},i=0;i<this.properties.length;i++){var o=this.properties[i],a=this.getStylePropertyValue(e,o.name,t);null!=a&&(n[o.name]=a,n[r.dash2camel(o.name)]=a)}return n}},getIndexedStyle:function(e,t,n,r){var i=e.pstyle(t)[n][r];return null!=i?i:e.cy().style().getDefaultProperty(t)[n][0]},getStylePropertyValue:function(e,t,n){if(e=e[0]){var r=this.properties[t];r.alias&&(r=r.pointsTo);var i=r.type,o=e.pstyle(r.name),a=e.cy().zoom();if(o){var s=o.units?i.implicitUnits||"px":null;return s?[].concat(o.pfValue).map((function(e){return e*(n?a:1)+s})).join(" "):o.strValue}}},getAnimationStartStyle:function(e,t){for(var n={},r=0;r<t.length;r++){var o=t[r].name,a=e.pstyle(o);void 0!==a&&(a=i.plainObject(a)?this.parse(o,a.strValue):this.parse(o,a)),a&&(n[o]=a)}return n},getPropsList:function(e){var t=[],n=e,i=this.properties;if(n)for(var o=Object.keys(n),a=0;a<o.length;a++){var s=o[a],l=n[s],c=i[s]||i[r.camel2dash(s)],u=this.parse(c.name,l);u&&t.push(u)}return t}};e.exports=o},function(e,t,n){"use strict";var r={appendFromJson:function(e){for(var t=0;t<e.length;t++){var n=e[t],r=n.selector,i=n.style||n.css,o=Object.keys(i);this.selector(r);for(var a=0;a<o.length;a++){var s=o[a],l=i[s];this.css(s,l)}}return this},fromJson:function(e){return this.resetToDefault(),this.appendFromJson(e),this},json:function(){for(var e=[],t=this.defaultLength;t<this.length;t++){for(var n=this[t],r=n.selector,i=n.properties,o={},a=0;a<i.length;a++){var s=i[a];o[s.name]=s.strValue}e.push({selector:r?r.toString():"core",style:o})}return e}};e.exports=r},function(e,t,n){"use strict";var r=n(1),i=n(6),o={appendFromString:function(e){var t=""+e,n=void 0,o=void 0,a=void 0;function s(){t=t.length>n.length?t.substr(n.length):""}function l(){o=o.length>a.length?o.substr(a.length):""}for(t=t.replace(/[/][*](\s|.)+?[*][/]/g,"");!t.match(/^\s*$/);){var c=t.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!c){r.error("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+t);break}n=c[0];var u=c[1];if("core"!==u&&new i(u)._private.invalid)r.error("Skipping parsing of block: Invalid selector found in string stylesheet: "+u),s();else{var d=c[2],p=!1;o=d;for(var f=[];!o.match(/^\s*$/);){var h=o.match(/^\s*(.+?)\s*:\s*(.+?)\s*;/);if(!h){r.error("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+d),p=!0;break}a=h[0];var g=h[1],m=h[2];this.properties[g]?this.parse(g,m)?(f.push({name:g,val:m}),l()):(r.error("Skipping property: Invalid property definition in: "+a),l()):(r.error("Skipping property: Invalid property name in: "+a),l())}if(p){s();break}this.selector(u);for(var v=0;v<f.length;v++){var b=f[v];this.css(b.name,b.val)}s()}}return this},fromString:function(e){return this.resetToDefault(),this.appendFromString(e),this}};e.exports=o},function(e,t,n){"use strict";var r=n(1),i=n(0),o={};!function(){var e=r.regex.number,t=r.regex.rgbaNoBackRefs,n=r.regex.hslaNoBackRefs,a=r.regex.hex3,s=r.regex.hex6,l=function(e){return"^"+e+"\\s*\\(\\s*([\\w\\.]+)\\s*\\)$"},c=function(r){var i=e+"|\\w+|"+t+"|"+n+"|"+a+"|"+s;return"^"+r+"\\s*\\(([\\w\\.]+)\\s*\\,\\s*("+e+")\\s*\\,\\s*("+e+")\\s*,\\s*("+i+")\\s*\\,\\s*("+i+")\\)$"},u=["^url\\s*\\(\\s*['\"]?(.+?)['\"]?\\s*\\)$","^(none)$","^(.+)$"];o.types={time:{number:!0,min:0,units:"s|ms",implicitUnits:"ms"},percent:{number:!0,min:0,max:100,units:"%",implicitUnits:"%"},zeroOneNumber:{number:!0,min:0,max:1,unitless:!0},zeroOneNumbers:{number:!0,min:0,max:1,unitless:!0,multiple:!0},nOneOneNumber:{number:!0,min:-1,max:1,unitless:!0},nonNegativeInt:{number:!0,min:0,integer:!0,unitless:!0},position:{enums:["parent","origin"]},nodeSize:{number:!0,min:0,enums:["label"]},number:{number:!0,unitless:!0},numbers:{number:!0,unitless:!0,multiple:!0},positiveNumber:{number:!0,unitless:!0,min:0,strictMin:!0},size:{number:!0,min:0},bidirectionalSize:{number:!0},bidirectionalSizes:{number:!0,multiple:!0},sizeMaybePercent:{number:!0,min:0,allowPercent:!0},paddingRelativeTo:{enums:["width","height","average","min","max"]},bgWH:{number:!0,min:0,allowPercent:!0,enums:["auto"],multiple:!0},bgPos:{number:!0,allowPercent:!0,multiple:!0},bgRelativeTo:{enums:["inner","include-padding"],multiple:!0},bgRepeat:{enums:["repeat","repeat-x","repeat-y","no-repeat"],multiple:!0},bgFit:{enums:["none","contain","cover"],multiple:!0},bgCrossOrigin:{enums:["anonymous","use-credentials"],multiple:!0},bgClip:{enums:["none","node"]},color:{color:!0},bool:{enums:["yes","no"]},lineStyle:{enums:["solid","dotted","dashed"]},borderStyle:{enums:["solid","dotted","dashed","double"]},curveStyle:{enums:["bezier","unbundled-bezier","haystack","segments"]},fontFamily:{regex:'^([\\w- \\"]+(?:\\s*,\\s*[\\w- \\"]+)*)$'},fontletiant:{enums:["small-caps","normal"]},fontStyle:{enums:["italic","normal","oblique"]},fontWeight:{enums:["normal","bold","bolder","lighter","100","200","300","400","500","600","800","900",100,200,300,400,500,600,700,800,900]},textDecoration:{enums:["none","underline","overline","line-through"]},textTransform:{enums:["none","uppercase","lowercase"]},textWrap:{enums:["none","wrap","ellipsis"]},textBackgroundShape:{enums:["rectangle","roundrectangle"]},nodeShape:{enums:["rectangle","roundrectangle","cutrectangle","bottomroundrectangle","barrel","ellipse","triangle","square","pentagon","hexagon","concavehexagon","heptagon","octagon","tag","star","diamond","vee","rhomboid","polygon"]},compoundIncludeLabels:{enums:["include","exclude"]},arrowShape:{enums:["tee","triangle","triangle-tee","triangle-cross","triangle-backcurve","half-triangle-overshot","vee","square","circle","diamond","none"]},arrowFill:{enums:["filled","hollow"]},display:{enums:["element","none"]},visibility:{enums:["hidden","visible"]},zCompoundDepth:{enums:["bottom","orphan","auto","top"]},zIndexCompare:{enums:["auto","manual"]},valign:{enums:["top","center","bottom"]},halign:{enums:["left","center","right"]},text:{string:!0},data:{mapping:!0,regex:l("data")},layoutData:{mapping:!0,regex:l("layoutData")},scratch:{mapping:!0,regex:l("scratch")},mapData:{mapping:!0,regex:c("mapData")},mapLayoutData:{mapping:!0,regex:c("mapLayoutData")},mapScratch:{mapping:!0,regex:c("mapScratch")},fn:{mapping:!0,fn:!0},url:{regexes:u,singleRegexMatchValue:!0},urls:{regexes:u,singleRegexMatchValue:!0,multiple:!0},propList:{propList:!0},angle:{number:!0,units:"deg|rad",implicitUnits:"rad"},textRotation:{number:!0,units:"deg|rad",implicitUnits:"rad",enums:["none","autorotate"]},polygonPointList:{number:!0,multiple:!0,evenMultiple:!0,min:-1,max:1,unitless:!0},edgeDistances:{enums:["intersection","node-position"]},edgeEndpoint:{number:!0,multiple:!0,units:"%|px|em|deg|rad",implicitUnits:"px",enums:["inside-to-node","outside-to-node","outside-to-line"],singleEnum:!0,validate:function(e,t){switch(e.length){case 2:return"deg"!==t[0]&&"rad"!==t[0]&&"deg"!==t[1]&&"rad"!==t[1];case 1:return i.string(e[0])||"deg"===t[0]||"rad"===t[0];default:return!1}}},easing:{regexes:["^(spring)\\s*\\(\\s*("+e+")\\s*,\\s*("+e+")\\s*\\)$","^(cubic-bezier)\\s*\\(\\s*("+e+")\\s*,\\s*("+e+")\\s*,\\s*("+e+")\\s*,\\s*("+e+")\\s*\\)$"],enums:["linear","ease","ease-in","ease-out","ease-in-out","ease-in-sine","ease-out-sine","ease-in-out-sine","ease-in-quad","ease-out-quad","ease-in-out-quad","ease-in-cubic","ease-out-cubic","ease-in-out-cubic","ease-in-quart","ease-out-quart","ease-in-out-quart","ease-in-quint","ease-out-quint","ease-in-out-quint","ease-in-expo","ease-out-expo","ease-in-out-expo","ease-in-circ","ease-out-circ","ease-in-out-circ"]}};var d={zeroNonZero:function(e,t){return 0===e&&0!==t||0!==e&&0===t},anyDiff:function(e,t){return e!==t}},p=o.types,f=o.properties=[{name:"label",type:p.text},{name:"text-rotation",type:p.textRotation},{name:"text-margin-x",type:p.bidirectionalSize},{name:"text-margin-y",type:p.bidirectionalSize},{name:"source-label",type:p.text},{name:"source-text-rotation",type:p.textRotation},{name:"source-text-margin-x",type:p.bidirectionalSize},{name:"source-text-margin-y",type:p.bidirectionalSize},{name:"source-text-offset",type:p.size},{name:"target-label",type:p.text},{name:"target-text-rotation",type:p.textRotation},{name:"target-text-margin-x",type:p.bidirectionalSize},{name:"target-text-margin-y",type:p.bidirectionalSize},{name:"target-text-offset",type:p.size},{name:"text-valign",type:p.valign},{name:"text-halign",type:p.halign},{name:"color",type:p.color},{name:"text-outline-color",type:p.color},{name:"text-outline-width",type:p.size},{name:"text-outline-opacity",type:p.zeroOneNumber},{name:"text-opacity",type:p.zeroOneNumber},{name:"text-background-color",type:p.color},{name:"text-background-opacity",type:p.zeroOneNumber},{name:"text-background-padding",type:p.size},{name:"text-border-opacity",type:p.zeroOneNumber},{name:"text-border-color",type:p.color},{name:"text-border-width",type:p.size},{name:"text-border-style",type:p.borderStyle},{name:"text-background-shape",type:p.textBackgroundShape},{name:"text-transform",type:p.textTransform},{name:"text-wrap",type:p.textWrap},{name:"text-max-width",type:p.size},{name:"text-events",type:p.bool},{name:"font-family",type:p.fontFamily},{name:"font-style",type:p.fontStyle},{name:"font-weight",type:p.fontWeight},{name:"font-size",type:p.size},{name:"min-zoomed-font-size",type:p.size},{name:"events",type:p.bool},{name:"display",type:p.display,triggersZOrder:d.anyDiff},{name:"visibility",type:p.visibility,triggersZOrder:d.anyDiff},{name:"opacity",type:p.zeroOneNumber,triggersZOrder:d.zeroNonZero},{name:"z-compound-depth",type:p.zCompoundDepth,triggersZOrder:d.anyDiff},{name:"z-index-compare",type:p.zIndexCompare,triggersZOrder:d.anyDiff},{name:"z-index",type:p.nonNegativeInt,triggersZOrder:d.anyDiff},{name:"overlay-padding",type:p.size},{name:"overlay-color",type:p.color},{name:"overlay-opacity",type:p.zeroOneNumber},{name:"transition-property",type:p.propList},{name:"transition-duration",type:p.time},{name:"transition-delay",type:p.time},{name:"transition-timing-function",type:p.easing},{name:"height",type:p.nodeSize},{name:"width",type:p.nodeSize},{name:"shape",type:p.nodeShape},{name:"shape-polygon-points",type:p.polygonPointList},{name:"background-color",type:p.color},{name:"background-opacity",type:p.zeroOneNumber},{name:"background-blacken",type:p.nOneOneNumber},{name:"padding",type:p.sizeMaybePercent},{name:"padding-relative-to",type:p.paddingRelativeTo},{name:"border-color",type:p.color},{name:"border-opacity",type:p.zeroOneNumber},{name:"border-width",type:p.size},{name:"border-style",type:p.borderStyle},{name:"background-image",type:p.urls},{name:"background-image-crossorigin",type:p.bgCrossOrigin},{name:"background-image-opacity",type:p.zeroOneNumbers},{name:"background-position-x",type:p.bgPos},{name:"background-position-y",type:p.bgPos},{name:"background-width-relative-to",type:p.bgRelativeTo},{name:"background-height-relative-to",type:p.bgRelativeTo},{name:"background-repeat",type:p.bgRepeat},{name:"background-fit",type:p.bgFit},{name:"background-clip",type:p.bgClip},{name:"background-width",type:p.bgWH},{name:"background-height",type:p.bgWH},{name:"position",type:p.position},{name:"compound-sizing-wrt-labels",type:p.compoundIncludeLabels},{name:"min-width",type:p.size},{name:"min-width-bias-left",type:p.sizeMaybePercent},{name:"min-width-bias-right",type:p.sizeMaybePercent},{name:"min-height",type:p.size},{name:"min-height-bias-top",type:p.sizeMaybePercent},{name:"min-height-bias-bottom",type:p.sizeMaybePercent},{name:"line-style",type:p.lineStyle},{name:"line-color",type:p.color},{name:"curve-style",type:p.curveStyle},{name:"haystack-radius",type:p.zeroOneNumber},{name:"source-endpoint",type:p.edgeEndpoint},{name:"target-endpoint",type:p.edgeEndpoint},{name:"control-point-step-size",type:p.size},{name:"control-point-distances",type:p.bidirectionalSizes},{name:"control-point-weights",type:p.numbers},{name:"segment-distances",type:p.bidirectionalSizes},{name:"segment-weights",type:p.numbers},{name:"edge-distances",type:p.edgeDistances},{name:"arrow-scale",type:p.positiveNumber},{name:"loop-direction",type:p.angle},{name:"loop-sweep",type:p.angle},{name:"source-distance-from-node",type:p.size},{name:"target-distance-from-node",type:p.size},{name:"ghost",type:p.bool},{name:"ghost-offset-x",type:p.bidirectionalSize},{name:"ghost-offset-y",type:p.bidirectionalSize},{name:"ghost-opacity",type:p.zeroOneNumber},{name:"selection-box-color",type:p.color},{name:"selection-box-opacity",type:p.zeroOneNumber},{name:"selection-box-border-color",type:p.color},{name:"selection-box-border-width",type:p.size},{name:"active-bg-color",type:p.color},{name:"active-bg-opacity",type:p.zeroOneNumber},{name:"active-bg-size",type:p.size},{name:"outside-texture-bg-color",type:p.color},{name:"outside-texture-bg-opacity",type:p.zeroOneNumber}],h=o.aliases=[{name:"content",pointsTo:"label"},{name:"control-point-distance",pointsTo:"control-point-distances"},{name:"control-point-weight",pointsTo:"control-point-weights"},{name:"edge-text-rotation",pointsTo:"text-rotation"},{name:"padding-left",pointsTo:"padding"},{name:"padding-right",pointsTo:"padding"},{name:"padding-top",pointsTo:"padding"},{name:"padding-bottom",pointsTo:"padding"}];o.pieBackgroundN=16,f.push({name:"pie-size",type:p.sizeMaybePercent});for(var g=1;g<=o.pieBackgroundN;g++)f.push({name:"pie-"+g+"-background-color",type:p.color}),f.push({name:"pie-"+g+"-background-size",type:p.percent}),f.push({name:"pie-"+g+"-background-opacity",type:p.zeroOneNumber});var m=o.arrowPrefixes=["source","mid-source","target","mid-target"];[{name:"arrow-shape",type:p.arrowShape},{name:"arrow-color",type:p.color},{name:"arrow-fill",type:p.arrowFill}].forEach((function(e){m.forEach((function(t){var n=t+"-"+e.name,r=e.type;f.push({name:n,type:r})}))}),{}),o.propertyNames=f.map((function(e){return e.name}));for(var v=0;v<f.length;v++){var b=f[v];f[b.name]=b}for(var y=0;y<h.length;y++){var x=h[y],w=f[x.pointsTo],k={name:x.name,alias:!0,pointsTo:w};f.push(k),f[x.name]=k}}(),o.getDefaultProperty=function(e){return this.getDefaultProperties()[e]},o.getDefaultProperties=r.memoize((function(){for(var e=r.extend({events:"yes","text-events":"no","text-valign":"top","text-halign":"center",color:"#000","text-outline-color":"#000","text-outline-width":0,"text-outline-opacity":1,"text-opacity":1,"text-decoration":"none","text-transform":"none","text-wrap":"none","text-max-width":9999,"text-background-color":"#000","text-background-opacity":0,"text-background-shape":"rectangle","text-background-padding":0,"text-border-opacity":0,"text-border-width":0,"text-border-style":"solid","text-border-color":"#000","font-family":"Helvetica Neue, Helvetica, sans-serif","font-style":"normal","font-weight":"normal","font-size":16,"min-zoomed-font-size":0,"text-rotation":"none","source-text-rotation":"none","target-text-rotation":"none",visibility:"visible",display:"element",opacity:1,"z-compound-depth":"auto","z-index-compare":"auto","z-index":0,label:"","text-margin-x":0,"text-margin-y":0,"source-label":"","source-text-offset":0,"source-text-margin-x":0,"source-text-margin-y":0,"target-label":"","target-text-offset":0,"target-text-margin-x":0,"target-text-margin-y":0,"overlay-opacity":0,"overlay-color":"#000","overlay-padding":10,"transition-property":"none","transition-duration":0,"transition-delay":0,"transition-timing-function":"linear","background-blacken":0,"background-color":"#999","background-opacity":1,"background-image":"none","background-image-crossorigin":"anonymous","background-image-opacity":1,"background-position-x":"50%","background-position-y":"50%","background-width-relative-to":"include-padding","background-height-relative-to":"include-padding","background-repeat":"no-repeat","background-fit":"none","background-clip":"node","background-width":"auto","background-height":"auto","border-color":"#000","border-opacity":1,"border-width":0,"border-style":"solid",height:30,width:30,shape:"ellipse","shape-polygon-points":"-1, -1, 1, -1, 1, 1, -1, 1",ghost:"no","ghost-offset-y":0,"ghost-offset-x":0,"ghost-opacity":0,padding:0,"padding-relative-to":"width",position:"origin","compound-sizing-wrt-labels":"include","min-width":0,"min-width-bias-left":0,"min-width-bias-right":0,"min-height":0,"min-height-bias-top":0,"min-height-bias-bottom":0},{"pie-size":"100%"},[{name:"pie-{{i}}-background-color",value:"black"},{name:"pie-{{i}}-background-size",value:"0%"},{name:"pie-{{i}}-background-opacity",value:1}].reduce((function(e,t){for(var n=1;n<=o.pieBackgroundN;n++){var r=t.name.replace("{{i}}",n),i=t.value;e[r]=i}return e}),{}),{"line-style":"solid","line-color":"#999","control-point-step-size":40,"control-point-weights":.5,"segment-weights":.5,"segment-distances":20,"edge-distances":"intersection","curve-style":"bezier","haystack-radius":0,"arrow-scale":1,"loop-direction":"-45deg","loop-sweep":"-90deg","source-distance-from-node":0,"target-distance-from-node":0,"source-endpoint":"outside-to-node","target-endpoint":"outside-to-node"},[{name:"arrow-shape",value:"none"},{name:"arrow-color",value:"#999"},{name:"arrow-fill",value:"filled"}].reduce((function(e,t){return o.arrowPrefixes.forEach((function(n){var r=n+"-"+t.name,i=t.value;e[r]=i})),e}),{})),t={},n=0;n<this.properties.length;n++){var i=this.properties[n];if(!i.pointsTo){var a=i.name,s=e[a],l=this.parse(a,s);t[a]=l}}return t})),o.addDefaultStylesheet=function(){this.selector("$node > node").css({shape:"rectangle",padding:10,"background-color":"#eee","border-color":"#ccc","border-width":1}).selector("edge").css({width:3,"curve-style":"haystack"}).selector(":parent <-> node").css({"curve-style":"bezier","source-endpoint":"outside-to-line","target-endpoint":"outside-to-line"}).selector(":selected").css({"background-color":"#0169D9","line-color":"#0169D9","source-arrow-color":"#0169D9","target-arrow-color":"#0169D9","mid-source-arrow-color":"#0169D9","mid-target-arrow-color":"#0169D9"}).selector("node:parent:selected").css({"background-color":"#CCE1F9","border-color":"#aec8e5"}).selector(":active").css({"overlay-color":"black","overlay-padding":10,"overlay-opacity":.25}).selector("core").css({"selection-box-color":"#ddd","selection-box-opacity":.65,"selection-box-border-color":"#aaa","selection-box-border-width":1,"active-bg-color":"black","active-bg-opacity":.15,"active-bg-size":30,"outside-texture-bg-color":"#000","outside-texture-bg-opacity":.125}),this.defaultLength=this.length},e.exports=o},function(e,t,n){"use strict";var r=n(1),i=n(0),o=n(2),a={parse:function(e,t,n,o){if(i.fn(t))return this.parseImplWarn(e,t,n,o);var a=[e,t,n,"mapping"===o||!0===o||!1===o||null==o?"dontcare":o].join("$"),s=this.propCache=this.propCache||{},l=void 0;return(l=s[a])||(l=s[a]=this.parseImplWarn(e,t,n,o)),(n||"mapping"===o)&&(l=r.copy(l))&&(l.value=r.copy(l.value)),l},parseImplWarn:function(e,t,n,i){var o=this.parseImpl(e,t,n,i);return o||null==t||r.error("The style property `%s: %s` is invalid",e,t),o},parseImpl:function(e,t,n,a){e=r.camel2dash(e);var s=this.properties[e],l=t,c=this.types;if(!s)return null;if(void 0===t)return null;s.alias&&(s=s.pointsTo,e=s.name);var u=i.string(t);u&&(t=t.trim());var d=s.type;if(!d)return null;if(n&&(""===t||null===t))return{name:e,value:t,bypass:!0,deleteBypass:!0};if(i.fn(t))return{name:e,value:t,strValue:"fn",mapped:c.fn,bypass:n};var p=void 0,f=void 0;if(!u||a);else{if(p=new RegExp(c.data.regex).exec(t)){if(n)return!1;var h=c.data;return{name:e,value:p,strValue:""+t,mapped:h,field:p[1],bypass:n}}if(f=new RegExp(c.mapData.regex).exec(t)){if(n)return!1;if(d.multiple)return!1;var g=c.mapData;if(!d.color&&!d.number)return!1;var m=this.parse(e,f[4]);if(!m||m.mapped)return!1;var v=this.parse(e,f[5]);if(!v||v.mapped)return!1;if(m.value===v.value)return!1;if(d.color){var b=m.value,y=v.value;if(!(b[0]!==y[0]||b[1]!==y[1]||b[2]!==y[2]||b[3]!==y[3]&&(null!=b[3]&&1!==b[3]||null!=y[3]&&1!==y[3])))return!1}return{name:e,value:f,strValue:""+t,mapped:g,field:f[1],fieldMin:parseFloat(f[2]),fieldMax:parseFloat(f[3]),valueMin:m.value,valueMax:v.value,bypass:n}}}if(d.multiple&&"multiple"!==a){var x=void 0;if(x=u?t.split(/\s+/):i.array(t)?t:[t],d.evenMultiple&&x.length%2!=0)return null;for(var w=[],k=[],A=[],E=!1,S=0;S<x.length;S++){var $=this.parse(e,x[S],n,"multiple");E=E||i.string($.value),w.push($.value),A.push(null!=$.pfValue?$.pfValue:$.value),k.push($.units)}return d.validate&&!d.validate(w,k)?null:d.singleEnum&&E?1===w.length&&i.string(w[0])?{name:e,value:w[0],strValue:w[0],bypass:n}:null:{name:e,value:w,pfValue:A,strValue:w.map((function(e,t){return e+(k[t]||"")})).join(" "),bypass:n,units:k}}var C=function(){for(var r=0;r<d.enums.length;r++)if(d.enums[r]===t)return{name:e,value:t,strValue:""+t,bypass:n};return null};if(d.number){var _=void 0,O="px";if(d.units&&(_=d.units),d.implicitUnits&&(O=d.implicitUnits),!d.unitless)if(u){var T="px|em"+(d.allowPercent?"|\\%":"");_&&(T=_);var j=t.match("^("+r.regex.number+")("+T+")?$");j&&(t=j[1],_=j[2]||O)}else _&&!d.implicitUnits||(_=O);if(t=parseFloat(t),isNaN(t)&&void 0===d.enums)return null;if(isNaN(t)&&void 0!==d.enums)return t=l,C();if(d.integer&&!i.integer(t))return null;if(void 0!==d.min&&(t<d.min||d.strictMin&&t===d.min)||void 0!==d.max&&(t>d.max||d.strictMax&&t===d.max))return null;var P={name:e,value:t,strValue:""+t+(_||""),units:_,bypass:n};return d.unitless||"px"!==_&&"em"!==_?P.pfValue=t:P.pfValue="px"!==_&&_?this.getEmSizeInPixels()*t:t,"ms"!==_&&"s"!==_||(P.pfValue="ms"===_?t:1e3*t),"deg"!==_&&"rad"!==_||(P.pfValue="rad"===_?t:o.deg2rad(t)),"%"===_&&(P.pfValue=t/100),P}if(d.propList){var D=[],R=""+t;if("none"===R);else{for(var I=R.split(","),N=0;N<I.length;N++){var M=I[N].trim();this.properties[M]&&D.push(M)}if(0===D.length)return null}return{name:e,value:D,strValue:0===D.length?"none":D.join(", "),bypass:n}}if(d.color){var z=r.color2tuple(t);return z?{name:e,value:z,pfValue:z,strValue:""+t,bypass:n}:null}if(d.regex||d.regexes){if(d.enums){var L=C();if(L)return L}for(var B=d.regexes?d.regexes:[d.regex],F=0;F<B.length;F++){var q=new RegExp(B[F]).exec(t);if(q)return{name:e,value:d.singleRegexMatchValue?q[1]:q,strValue:""+t,bypass:n}}return null}return d.string?{name:e,value:""+t,strValue:""+t,bypass:n}:d.enums?C():null}};e.exports=a},function(e,t,n){"use strict";var r=n(0),i=n(3),o=n(2),a={autolock:function(e){return void 0===e?this._private.autolock:(this._private.autolock=!!e,this)},autoungrabify:function(e){return void 0===e?this._private.autoungrabify:(this._private.autoungrabify=!!e,this)},autounselectify:function(e){return void 0===e?this._private.autounselectify:(this._private.autounselectify=!!e,this)},panningEnabled:function(e){return void 0===e?this._private.panningEnabled:(this._private.panningEnabled=!!e,this)},userPanningEnabled:function(e){return void 0===e?this._private.userPanningEnabled:(this._private.userPanningEnabled=!!e,this)},zoomingEnabled:function(e){return void 0===e?this._private.zoomingEnabled:(this._private.zoomingEnabled=!!e,this)},userZoomingEnabled:function(e){return void 0===e?this._private.userZoomingEnabled:(this._private.userZoomingEnabled=!!e,this)},boxSelectionEnabled:function(e){return void 0===e?this._private.boxSelectionEnabled:(this._private.boxSelectionEnabled=!!e,this)},pan:function(){var e=arguments,t=this._private.pan,n=void 0,i=void 0,o=void 0,a=void 0,s=void 0;switch(e.length){case 0:return t;case 1:if(r.string(e[0]))return t[n=e[0]];if(r.plainObject(e[0])){if(!this._private.panningEnabled)return this;a=(o=e[0]).x,s=o.y,r.number(a)&&(t.x=a),r.number(s)&&(t.y=s),this.emit("pan viewport")}break;case 2:if(!this._private.panningEnabled)return this;n=e[0],i=e[1],"x"!==n&&"y"!==n||!r.number(i)||(t[n]=i),this.emit("pan viewport")}return this.notify({type:"viewport"}),this},panBy:function(e,t){var n=arguments,i=this._private.pan,o=void 0,a=void 0,s=void 0,l=void 0,c=void 0;if(!this._private.panningEnabled)return this;switch(n.length){case 1:r.plainObject(e)&&(l=(s=n[0]).x,c=s.y,r.number(l)&&(i.x+=l),r.number(c)&&(i.y+=c),this.emit("pan viewport"));break;case 2:a=t,"x"!==(o=e)&&"y"!==o||!r.number(a)||(i[o]+=a),this.emit("pan viewport")}return this.notify({type:"viewport"}),this},fit:function(e,t){var n=this.getFitViewport(e,t);if(n){var r=this._private;r.zoom=n.zoom,r.pan=n.pan,this.emit("pan zoom viewport"),this.notify({type:"viewport"})}return this},getFitViewport:function(e,t){if(r.number(e)&&void 0===t&&(t=e,e=void 0),this._private.panningEnabled&&this._private.zoomingEnabled){var n=void 0;if(r.string(e)){var i=e;e=this.$(i)}else if(r.boundingBox(e)){var o=e;(n={x1:o.x1,y1:o.y1,x2:o.x2,y2:o.y2}).w=n.x2-n.x1,n.h=n.y2-n.y1}else r.elementOrCollection(e)||(e=this.mutableElements());if(!r.elementOrCollection(e)||!e.empty()){n=n||e.boundingBox();var a=this.width(),s=this.height(),l=void 0;if(t=r.number(t)?t:0,!isNaN(a)&&!isNaN(s)&&a>0&&s>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0)return{zoom:l=(l=(l=Math.min((a-2*t)/n.w,(s-2*t)/n.h))>this._private.maxZoom?this._private.maxZoom:l)<this._private.minZoom?this._private.minZoom:l,pan:{x:(a-l*(n.x1+n.x2))/2,y:(s-l*(n.y1+n.y2))/2}}}}},minZoom:function(e){return void 0===e?this._private.minZoom:(r.number(e)&&(this._private.minZoom=e),this)},maxZoom:function(e){return void 0===e?this._private.maxZoom:(r.number(e)&&(this._private.maxZoom=e),this)},getZoomedViewport:function(e){var t=this._private,n=t.pan,i=t.zoom,a=void 0,s=void 0,l=!1;if(t.zoomingEnabled||(l=!0),r.number(e)?s=e:r.plainObject(e)&&(s=e.level,null!=e.position?a=o.modelToRenderedPosition(e.position,i,n):null!=e.renderedPosition&&(a=e.renderedPosition),null==a||t.panningEnabled||(l=!0)),s=(s=s>t.maxZoom?t.maxZoom:s)<t.minZoom?t.minZoom:s,l||!r.number(s)||s===i||null!=a&&(!r.number(a.x)||!r.number(a.y)))return null;if(null!=a){var c=n,u=i,d=s;return{zoomed:!0,panned:!0,zoom:d,pan:{x:-d/u*(a.x-c.x)+a.x,y:-d/u*(a.y-c.y)+a.y}}}return{zoomed:!0,panned:!1,zoom:s,pan:n}},zoom:function(e){if(void 0===e)return this._private.zoom;var t=this.getZoomedViewport(e),n=this._private;return null!=t&&t.zoomed?(n.zoom=t.zoom,t.panned&&(n.pan.x=t.pan.x,n.pan.y=t.pan.y),this.emit("zoom"+(t.panned?" pan":"")+" viewport"),this.notify({type:"viewport"}),this):this},viewport:function(e){var t=this._private,n=!0,i=!0,o=[],a=!1,s=!1;if(!e)return this;if(r.number(e.zoom)||(n=!1),r.plainObject(e.pan)||(i=!1),!n&&!i)return this;if(n){var l=e.zoom;l<t.minZoom||l>t.maxZoom||!t.zoomingEnabled?a=!0:(t.zoom=l,o.push("zoom"))}if(i&&(!a||!e.cancelOnFailedZoom)&&t.panningEnabled){var c=e.pan;r.number(c.x)&&(t.pan.x=c.x,s=!1),r.number(c.y)&&(t.pan.y=c.y,s=!1),s||o.push("pan")}return o.length>0&&(o.push("viewport"),this.emit(o.join(" ")),this.notify({type:"viewport"})),this},center:function(e){var t=this.getCenterPan(e);return t&&(this._private.pan=t,this.emit("pan viewport"),this.notify({type:"viewport"})),this},getCenterPan:function(e,t){if(this._private.panningEnabled){if(r.string(e)){var n=e;e=this.mutableElements().filter(n)}else r.elementOrCollection(e)||(e=this.mutableElements());if(0!==e.length){var i=e.boundingBox(),o=this.width(),a=this.height();return{x:(o-(t=void 0===t?this._private.zoom:t)*(i.x1+i.x2))/2,y:(a-t*(i.y1+i.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled?(this.viewport({pan:{x:0,y:0},zoom:1}),this):this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e,t,n=this._private,r=n.container;return n.sizeCache=n.sizeCache||(r?(e=i.getComputedStyle(r),t=function(t){return parseFloat(e.getPropertyValue(t))},{width:r.clientWidth-t("padding-left")-t("padding-right"),height:r.clientHeight-t("padding-top")-t("padding-bottom")}):{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,t=this._private.zoom,n=this.renderedExtent(),r={x1:(n.x1-e.x)/t,x2:(n.x2-e.x)/t,y1:(n.y1-e.y)/t,y2:(n.y2-e.y)/t};return r.w=r.x2-r.x1,r.h=r.y2-r.y1,r},renderedExtent:function(){var e=this.width(),t=this.height();return{x1:0,y1:0,x2:e,y2:t,w:e,h:t}}};a.centre=a.center,a.autolockNodes=a.autolock,a.autoungrabifyNodes=a.autoungrabify,e.exports=a},function(e,t,n){"use strict";var r=n(1),i=n(4),o=n(7),a=n(12),s=n(95),l=n(0),c=n(11),u={},d={};function p(e,t,n){var s=n,d=function(n){r.error("Can not register `"+t+"` for `"+e+"` since `"+n+"` already exists in the prototype and can not be overridden")};if("core"===e){if(a.prototype[t])return d(t);a.prototype[t]=n}else if("collection"===e){if(o.prototype[t])return d(t);o.prototype[t]=n}else if("layout"===e){for(var p=function(e){this.options=e,n.call(this,e),l.plainObject(this._private)||(this._private={}),this._private.cy=e.cy,this._private.listeners=[],this.createEmitter()},h=p.prototype=Object.create(n.prototype),g=[],m=0;m<g.length;m++){var v=g[m];h[v]=h[v]||function(){return this}}h.start&&!h.run?h.run=function(){return this.start(),this}:!h.start&&h.run&&(h.start=function(){return this.run(),this});var b=n.prototype.stop;h.stop=function(){var e=this.options;if(e&&e.animate){var t=this.animations;if(t)for(var n=0;n<t.length;n++)t[n].stop()}return b?b.call(this):this.emit("layoutstop"),this},h.destroy||(h.destroy=function(){return this}),h.cy=function(){return this._private.cy};var y=function(e){return e._private.cy};r.assign(h,{createEmitter:function(){return this._private.emitter=new c({eventFields:function(e){return{layout:e,cy:y(e),target:e}},bubble:function(){return!0},parent:function(e){return y(e)},context:this}),this},emitter:function(){return this._private.emitter},on:function(e,t){return this.emitter().on(e,t),this},one:function(e,t){return this.emitter().one(e,t),this},once:function(e,t){return this.emitter().one(e,t),this},removeListener:function(e,t){return this.emitter().removeListener(e,t),this},emit:function(e,t){return this.emitter().emit(e,t),this}}),i.eventAliasesOn(h),s=p}else if("renderer"===e&&"null"!==t&&"base"!==t){var x=f("renderer","base"),w=x.prototype,k=n,A=n.prototype,E=function(){x.apply(this,arguments),k.apply(this,arguments)},S=E.prototype;for(var $ in w){var C=w[$];if(null!=A[$])return d($);S[$]=C}for(var _ in A)S[_]=A[_];w.clientFunctions.forEach((function(e){S[e]=S[e]||function(){r.error("Renderer does not implement `renderer."+e+"()` on its prototype")}})),s=E}return r.setMap({map:u,keys:[e,t],value:s})}function f(e,t){return r.getMap({map:u,keys:[e,t]})}function h(e,t,n,i,o){return r.setMap({map:d,keys:[e,t,n,i],value:o})}function g(e,t,n,i){return r.getMap({map:d,keys:[e,t,n,i]})}var m=function(){return 2===arguments.length?f.apply(null,arguments):3===arguments.length?p.apply(null,arguments):4===arguments.length?g.apply(null,arguments):5===arguments.length?h.apply(null,arguments):void r.error("Invalid extension access syntax")};a.prototype.extension=m,s.forEach((function(e){e.extensions.forEach((function(t){p(e.type,t.name,t.impl)}))})),e.exports=m},function(e,t,n){"use strict";e.exports=[{type:"layout",extensions:n(96)},{type:"renderer",extensions:n(105)}]},function(e,t,n){"use strict";e.exports=[{name:"breadthfirst",impl:n(97)},{name:"circle",impl:n(98)},{name:"concentric",impl:n(99)},{name:"cose",impl:n(100)},{name:"grid",impl:n(101)},{name:"null",impl:n(102)},{name:"preset",impl:n(103)},{name:"random",impl:n(104)}]},function(e,t,n){"use strict";var r=n(1),i=n(2),o=n(0),a={fit:!0,directed:!1,padding:30,circle:!1,spacingFactor:1.75,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,roots:void 0,maximalAdjustments:0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function s(e){this.options=r.extend({},a,e)}s.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles,a=r.nodes().not(":parent"),s=r,l=i.makeBoundingBox(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),c=void 0;if(o.elementOrCollection(t.roots))c=t.roots;else if(o.array(t.roots)){for(var u=[],d=0;d<t.roots.length;d++){var p=t.roots[d],f=n.getElementById(p);u.push(f)}c=n.collection(u)}else if(o.string(t.roots))c=n.$(t.roots);else if(t.directed)c=a.roots();else{for(var h=[],g=a,m=function(){var e=n.collection();r.bfs({roots:g[0],visit:function(t,n,r,i,o){e=e.add(t)},directed:!1}),g=g.not(e),h.push(e)};g.length>0;)m();c=n.collection();for(var v=function(e){var t=h[e],n=t.maxDegree(!1),r=t.filter((function(e){return e.degree(!1)===n}));c=c.add(r)},b=0;b<h.length;b++)v(b)}var y=[],x={},w={},k={},A={},E={};s.bfs({roots:c,directed:t.directed,visit:function(e,t,n,r,i){var o=e[0],a=o.id();if(y[i]||(y[i]=[]),y[i].push(o),x[a]=!0,w[a]=i,k[a]=n,A[a]=t,n){var s=n.id();(E[s]=E[s]||[]).push(e)}}});for(var S=[],$=0;$<a.length;$++){var C=a[$];x[C.id()]||S.push(C)}for(var _=3*S.length,O=0;0!==S.length&&O<_;){for(var T=S.shift(),j=T.neighborhood().nodes(),P=!1,D=0;D<j.length;D++){var R=w[j[D].id()];if(void 0!==R){y[R].push(T),P=!0;break}}P||S.push(T),O++}for(;0!==S.length;){var I=S.shift();0===y.length&&y.push([]),y[0].push(I)}var N=function(){for(var e=0;e<y.length;e++)for(var t=y[e],n=0;n<t.length;n++){var r=t[n];null!=r?r._private.scratch.breadthfirst={depth:e,index:n}:(t.splice(n,1),n--)}};N();for(var M=function(e){for(var t=e.connectedEdges((function(t){return t.data("target")===e.id()})),n=e._private.scratch.breadthfirst,r=0,i=void 0,o=0;o<t.length;o++){var a=t[o].source()[0],s=a._private.scratch.breadthfirst;n.depth<=s.depth&&r<s.depth&&(r=s.depth,i=a)}return i},z=0;z<t.maximalAdjustments;z++){for(var L=y.length,B=[],F=0;F<L;F++)for(var q=y[F],V=q.length,U=0;U<V;U++){var H=q[U],G=H._private.scratch.breadthfirst,W=M(H);W&&(G.intEle=W,B.push(H))}for(var Y=0;Y<B.length;Y++){var X=B[Y],Z=X._private.scratch.breadthfirst,Q=Z.intEle._private.scratch.breadthfirst;y[Z.depth][Z.index]=null;for(var J=Q.depth+1;J>y.length-1;)y.push([]);y[J].push(X),Z.depth=J,Z.index=y[J].length-1}N()}var K=0;if(t.avoidOverlap)for(var ee=0;ee<a.length;ee++){var te=a[ee].layoutDimensions(t),ne=te.w,re=te.h;K=Math.max(K,ne,re)}for(var ie={},oe=function(e){if(ie[e.id()])return ie[e.id()];for(var t=e._private.scratch.breadthfirst.depth,n=e.neighborhood().nodes().not(":parent").intersection(a),r=0,i=0,o=0;o<n.length;o++){var s=n[o]._private.scratch.breadthfirst,l=s.index,c=s.depth,u=y[c].length;(t>c||0===t)&&(r+=l/u,i++)}return r/=i=Math.max(1,i),0===i&&(r=void 0),ie[e.id()]=r,r},ae=function(e,t){return oe(e)-oe(t)},se=0;se<3;se++){for(var le=0;le<y.length;le++)y[le]=y[le].sort(ae);N()}for(var ce=0,ue=0;ue<y.length;ue++)ce=Math.max(y[ue].length,ce);for(var de=l.x1+l.w/2,pe=l.x1+l.h/2,fe=function(e,n){var r=e._private.scratch.breadthfirst,i=r.depth,o=r.index,a=y[i].length,s=Math.max(l.w/(a+1),K),c=Math.max(l.h/(y.length+1),K),u=Math.min(l.w/2/y.length,l.h/2/y.length);if(u=Math.max(u,K),t.circle){if(t.circle){var d=u*i+u-(y.length>0&&y[0].length<=3?u/2:0),p=2*Math.PI/y[i].length*o;return 0===i&&1===y[0].length&&(d=1),{x:de+d*Math.cos(p),y:pe+d*Math.sin(p)}}return{x:de+(o+1-(a+1)/2)*s,y:(i+1)*c}}var f={x:de+(o+1-(a+1)/2)*s,y:(i+1)*c};return f},he={},ge=y.length-1;ge>=0;ge--)for(var me=y[ge],ve=0;ve<me.length;ve++){var be=me[ve];he[be.id()]=fe(be,y.length)}return a.layoutPositions(this,t,(function(e){return he[e.id()]})),this},e.exports=s},function(e,t,n){"use strict";var r=n(1),i=n(2),o=n(0),a={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function s(e){this.options=r.extend({},a,e)}s.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles,a=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,s=r.nodes().not(":parent");t.sort&&(s=s.sort(t.sort));for(var l=i.makeBoundingBox(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),c=l.x1+l.w/2,u=l.y1+l.h/2,d=(void 0===t.sweep?2*Math.PI-2*Math.PI/s.length:t.sweep)/Math.max(1,s.length-1),p=void 0,f=0,h=0;h<s.length;h++){var g=s[h].layoutDimensions(t),m=g.w,v=g.h;f=Math.max(f,m,v)}if(p=o.number(t.radius)?t.radius:s.length<=1?0:Math.min(l.h,l.w)/2-f,s.length>1&&t.avoidOverlap){f*=1.75;var b=Math.cos(d)-Math.cos(0),y=Math.sin(d)-Math.sin(0),x=Math.sqrt(f*f/(b*b+y*y));p=Math.max(x,p)}return s.layoutPositions(this,t,(function(e,n){var r=t.startAngle+n*d*(a?1:-1),i=p*Math.cos(r),o=p*Math.sin(r);return{x:c+i,y:u+o}})),this},e.exports=s},function(e,t,n){"use strict";var r=n(1),i=n(2),o={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function a(e){this.options=r.extend({},o,e)}a.prototype.run=function(){for(var e=this.options,t=e,n=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,r=e.cy,o=t.eles.nodes().not(":parent"),a=i.makeBoundingBox(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),s=a.x1+a.w/2,l=a.y1+a.h/2,c=[],u=(t.startAngle,0),d=0;d<o.length;d++){var p,f=o[d];p=t.concentric(f),c.push({value:p,node:f}),f._private.scratch.concentric=p}o.updateStyle();for(var h=0;h<o.length;h++){var g=o[h].layoutDimensions(t);u=Math.max(u,g.w,g.h)}c.sort((function(e,t){return t.value-e.value}));for(var m=t.levelWidth(o),v=[[]],b=v[0],y=0;y<c.length;y++){var x=c[y];b.length>0&&Math.abs(b[0].value-x.value)>=m&&(b=[],v.push(b)),b.push(x)}var w=u+t.minNodeSpacing;if(!t.avoidOverlap){var k=v.length>0&&v[0].length>1,A=(Math.min(a.w,a.h)/2-w)/(v.length+k?1:0);w=Math.min(w,A)}for(var E=0,S=0;S<v.length;S++){var $=v[S],C=void 0===t.sweep?2*Math.PI-2*Math.PI/$.length:t.sweep,_=$.dTheta=C/Math.max(1,$.length-1);if($.length>1&&t.avoidOverlap){var O=Math.cos(_)-Math.cos(0),T=Math.sin(_)-Math.sin(0),j=Math.sqrt(w*w/(O*O+T*T));E=Math.max(j,E)}$.r=E,E+=w}if(t.equidistant){for(var P=0,D=0,R=0;R<v.length;R++){var I=v[R].r-D;P=Math.max(P,I)}D=0;for(var N=0;N<v.length;N++){var M=v[N];0===N&&(D=M.r),M.r=D,D+=P}}for(var z={},L=0;L<v.length;L++)for(var B=v[L],F=B.dTheta,q=B.r,V=0;V<B.length;V++){var U=B[V],H=t.startAngle+(n?1:-1)*F*V,G={x:s+q*Math.cos(H),y:l+q*Math.sin(H)};z[U.node.id()]=G}return o.layoutPositions(this,t,(function(e){var t=e.id();return z[t]})),this},e.exports=a},function(e,t,n){"use strict";var r,i=n(1),o=n(2),a=n(0),s=n(5),l={ready:function(){},stop:function(){},animate:!0,animationEasing:void 0,animationDuration:void 0,animateFilter:function(e,t){return!0},animationThreshold:250,refresh:20,fit:!0,padding:30,boundingBox:void 0,nodeDimensionsIncludeLabels:!1,randomize:!1,componentSpacing:40,nodeRepulsion:function(e){return 2048},nodeOverlap:4,idealEdgeLength:function(e){return 32},edgeElasticity:function(e){return 32},nestingFactor:1.2,gravity:1,numIter:1e3,initialTemp:1e3,coolingFactor:.99,minTemp:1,weaver:!1};function c(e){this.options=i.extend({},l,e),this.options.layout=this}c.prototype.run=function(){var e=this.options,t=e.cy,n=this,o=this.thread,l=e.weaver?e.weaver.Thread:null,c={listeners:[],on:function(e,t){return this.listeners.push({event:e,callback:t}),this},trigger:function(e){a.string(e)&&(e={type:e});var t=function(t){t.callback(e)};return this.listeners.filter((function(t){return t.event===e.type})).forEach(t),this},pass:function(e){return this.pass=e,this},run:function(e){var t=this.pass;return new s((function(n){n(e(t))}))},stop:function(){return this},stopped:function(){return!0}};o&&!o.stopped()||(o=this.thread=l?new l:c),n.stopped=!1,!0!==e.animate&&!1!==e.animate||n.emit({type:"layoutstart",layout:n}),r=!0===e.debug;var d=u(t,n,e);r&&f(d),e.randomize&&h(d,t);var p=Date.now(),m=!1,v=function(n){n=n||{},m&&!n.next||!n.force&&Date.now()-p<e.animationThreshold||(m=!0,i.requestAnimationFrame((function(){g(d,t,e),!0===e.fit&&t.fit(e.padding),m=!1,n.next&&n.next()})))};o.on("message",(function(e){var t=e.message;d.layoutNodes=t,v()})),o.pass({layoutInfo:d,options:{animate:e.animate,refresh:e.refresh,componentSpacing:e.componentSpacing,nodeOverlap:e.nodeOverlap,nestingFactor:e.nestingFactor,gravity:e.gravity,numIter:e.numIter,initialTemp:e.initialTemp,coolingFactor:e.coolingFactor,minTemp:e.minTemp}}).run((function(e){var t,n,r=e.layoutInfo,i=e.options,o=function(e,t){for(var n=0;n<e.graphSet.length;n++)for(var r=e.graphSet[n],i=r.length,o=0;o<i;o++)for(var a=e.layoutNodes[e.idToIndex[r[o]]],l=o+1;l<i;l++){var c=e.layoutNodes[e.idToIndex[r[l]]];s(a,c,e,t)}},a=function(e){return-e+2*e*Math.random()},s=function(e,t,n,r){if(e.cmptId===t.cmptId||n.isCompound){var i=t.positionX-e.positionX,o=t.positionY-e.positionY;0===i&&0===o&&(i=a(1),o=a(1));var s=l(e,t,i,o);if(s>0)var c=(p=r.nodeOverlap*s)*i/(b=Math.sqrt(i*i+o*o)),d=p*o/b;else{var p,f=u(e,i,o),h=u(t,-1*i,-1*o),g=h.x-f.x,m=h.y-f.y,v=g*g+m*m,b=Math.sqrt(v);c=(p=(e.nodeRepulsion+t.nodeRepulsion)/v)*g/b,d=p*m/b}e.isLocked||(e.offsetX-=c,e.offsetY-=d),t.isLocked||(t.offsetX+=c,t.offsetY+=d)}},l=function(e,t,n,r){if(n>0)var i=e.maxX-t.minX;else i=t.maxX-e.minX;if(r>0)var o=e.maxY-t.minY;else o=t.maxY-e.minY;return i>=0&&o>=0?Math.sqrt(i*i+o*o):0},u=function(e,t,n){var r=e.positionX,i=e.positionY,o=e.height||1,a=e.width||1,s=n/t,l=o/a,c={};return 0===t&&0<n||0===t&&0>n?(c.x=r,c.y=i+o/2,c):0<t&&-1*l<=s&&s<=l?(c.x=r+a/2,c.y=i+a*n/2/t,c):0>t&&-1*l<=s&&s<=l?(c.x=r-a/2,c.y=i-a*n/2/t,c):0<n&&(s<=-1*l||s>=l)?(c.x=r+o*t/2/n,c.y=i+o/2,c):0>n&&(s<=-1*l||s>=l)?(c.x=r-o*t/2/n,c.y=i-o/2,c):c},d=function(e,t){for(var n=0;n<e.edgeSize;n++){var r=e.layoutEdges[n],i=e.idToIndex[r.sourceId],o=e.layoutNodes[i],a=e.idToIndex[r.targetId],s=e.layoutNodes[a],l=s.positionX-o.positionX,c=s.positionY-o.positionY;if(0!==l||0!==c){var d=u(o,l,c),p=u(s,-1*l,-1*c),f=p.x-d.x,h=p.y-d.y,g=Math.sqrt(f*f+h*h),m=Math.pow(r.idealLength-g,2)/r.elasticity;if(0!==g)var v=m*f/g,b=m*h/g;else v=0,b=0;o.isLocked||(o.offsetX+=v,o.offsetY+=b),s.isLocked||(s.offsetX-=v,s.offsetY-=b)}}},p=function(e,t){for(var n=0;n<e.graphSet.length;n++){var r=e.graphSet[n],i=r.length;if(0===n)var o=e.clientHeight/2,a=e.clientWidth/2;else{var s=e.layoutNodes[e.idToIndex[r[0]]],l=e.layoutNodes[e.idToIndex[s.parentId]];o=l.positionX,a=l.positionY}for(var c=0;c<i;c++){var u=e.layoutNodes[e.idToIndex[r[c]]];if(!u.isLocked){var d=o-u.positionX,p=a-u.positionY,f=Math.sqrt(d*d+p*p);if(f>1){var h=t.gravity*d/f,g=t.gravity*p/f;u.offsetX+=h,u.offsetY+=g}}}}},f=function(e,t){var n=[],r=0,i=-1;for(n.push.apply(n,e.graphSet[0]),i+=e.graphSet[0].length;r<=i;){var o=n[r++],a=e.idToIndex[o],s=e.layoutNodes[a],l=s.children;if(0<l.length&&!s.isLocked){for(var c=s.offsetX,u=s.offsetY,d=0;d<l.length;d++){var p=e.layoutNodes[e.idToIndex[l[d]]];p.offsetX+=c,p.offsetY+=u,n[++i]=l[d]}s.offsetX=0,s.offsetY=0}}},h=function(e,t){for(var n=0;n<e.nodeSize;n++)0<(i=e.layoutNodes[n]).children.length&&(i.maxX=void 0,i.minX=void 0,i.maxY=void 0,i.minY=void 0);for(n=0;n<e.nodeSize;n++)if(!(0<(i=e.layoutNodes[n]).children.length||i.isLocked)){var r=g(i.offsetX,i.offsetY,e.temperature);i.positionX+=r.x,i.positionY+=r.y,i.offsetX=0,i.offsetY=0,i.minX=i.positionX-i.width,i.maxX=i.positionX+i.width,i.minY=i.positionY-i.height,i.maxY=i.positionY+i.height,m(i,e)}for(n=0;n<e.nodeSize;n++){var i;0<(i=e.layoutNodes[n]).children.length&&!i.isLocked&&(i.positionX=(i.maxX+i.minX)/2,i.positionY=(i.maxY+i.minY)/2,i.width=i.maxX-i.minX,i.height=i.maxY-i.minY)}},g=function(e,t,n){var r=Math.sqrt(e*e+t*t);if(r>n)var i={x:n*e/r,y:n*t/r};else i={x:e,y:t};return i},m=function e(t,n){var r=t.parentId;if(null!=r){var i=n.layoutNodes[n.idToIndex[r]],o=!1;return(null==i.maxX||t.maxX+i.padRight>i.maxX)&&(i.maxX=t.maxX+i.padRight,o=!0),(null==i.minX||t.minX-i.padLeft<i.minX)&&(i.minX=t.minX-i.padLeft,o=!0),(null==i.maxY||t.maxY+i.padBottom>i.maxY)&&(i.maxY=t.maxY+i.padBottom,o=!0),(null==i.minY||t.minY-i.padTop<i.minY)&&(i.minY=t.minY-i.padTop,o=!0),o?e(i,n):void 0}},v=function(e){return function(e,t,n){o(e,t),d(e,t),p(e,t),f(e,t),h(e,t)}(r,i),r.temperature=r.temperature*i.coolingFactor,!(r.temperature<i.minTemp)},b=0;do{for(var y=0;y<i.refresh&&b<i.numIter;){var x;if(!(x=v()))break;y++,b++}!0===i.animate&&(t=r.layoutNodes,n=void 0,n={type:"message",message:t},c.trigger(n))}while(x&&b+1<i.numIter);return function(e,t){for(var n=r.layoutNodes,i=[],o=0;o<n.length;o++){var a=n[o],s=a.cmptId;(i[s]=i[s]||[]).push(a)}var l=0;for(o=0;o<i.length;o++)if(m=i[o]){m.x1=1/0,m.x2=-1/0,m.y1=1/0,m.y2=-1/0;for(var c=0;c<m.length;c++){var u=m[c];m.x1=Math.min(m.x1,u.positionX-u.width/2),m.x2=Math.max(m.x2,u.positionX+u.width/2),m.y1=Math.min(m.y1,u.positionY-u.height/2),m.y2=Math.max(m.y2,u.positionY+u.height/2)}m.w=m.x2-m.x1,m.h=m.y2-m.y1,l+=m.w*m.h}i.sort((function(e,t){return t.w*t.h-e.w*e.h}));var d=0,p=0,f=0,h=0,g=Math.sqrt(l)*r.clientWidth/r.clientHeight;for(o=0;o<i.length;o++){var m;if(m=i[o]){for(c=0;c<m.length;c++)(u=m[c]).isLocked||(u.positionX+=d,u.positionY+=p);d+=m.w+t.componentSpacing,f+=m.w+t.componentSpacing,h=Math.max(h,m.h),f>g&&(p+=h+t.componentSpacing,d=0,f=0,h=0)}}}(0,i),r})).then((function(e){d.layoutNodes=e.layoutNodes,o.stop(),b()}));var b=function(){!0===e.animate||!1===e.animate?v({force:!0,next:function(){n.one("layoutstop",e.stop),n.emit({type:"layoutstop",layout:n})}}):e.eles.nodes().layoutPositions(n,e,(function(e){var t=d.layoutNodes[d.idToIndex[e.data("id")]];return{x:t.positionX,y:t.positionY}}))};return this},c.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},c.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var u=function(e,t,n){for(var r=n.eles.edges(),i=n.eles.nodes(),s={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:r.size(),temperature:n.initialTemp,clientWidth:e.width(),clientHeight:e.width(),boundingBox:o.makeBoundingBox(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()})},l=n.eles.components(),c={},u=0;u<l.length;u++)for(var p=l[u],f=0;f<p.length;f++)c[p[f].id()]=u;for(u=0;u<s.nodeSize;u++){var h=(y=i[u]).layoutDimensions(n);(I={}).isLocked=y.locked(),I.id=y.data("id"),I.parentId=y.data("parent"),I.cmptId=c[y.id()],I.children=[],I.positionX=y.position("x"),I.positionY=y.position("y"),I.offsetX=0,I.offsetY=0,I.height=h.w,I.width=h.h,I.maxX=I.positionX+I.width/2,I.minX=I.positionX-I.width/2,I.maxY=I.positionY+I.height/2,I.minY=I.positionY-I.height/2,I.padLeft=parseFloat(y.style("padding")),I.padRight=parseFloat(y.style("padding")),I.padTop=parseFloat(y.style("padding")),I.padBottom=parseFloat(y.style("padding")),I.nodeRepulsion=a.fn(n.nodeRepulsion)?n.nodeRepulsion(y):n.nodeRepulsion,s.layoutNodes.push(I),s.idToIndex[I.id]=u}var g=[],m=0,v=-1,b=[];for(u=0;u<s.nodeSize;u++){var y,x=(y=s.layoutNodes[u]).parentId;null!=x?s.layoutNodes[s.idToIndex[x]].children.push(y.id):(g[++v]=y.id,b.push(y.id))}for(s.graphSet.push(b);m<=v;){var w=g[m++],k=s.idToIndex[w],A=s.layoutNodes[k].children;if(A.length>0)for(s.graphSet.push(A),u=0;u<A.length;u++)g[++v]=A[u]}for(u=0;u<s.graphSet.length;u++){var E=s.graphSet[u];for(f=0;f<E.length;f++){var S=s.idToIndex[E[f]];s.indexToGraph[S]=u}}for(u=0;u<s.edgeSize;u++){var $=r[u],C={};C.id=$.data("id"),C.sourceId=$.data("source"),C.targetId=$.data("target");var _=a.fn(n.idealEdgeLength)?n.idealEdgeLength($):n.idealEdgeLength,O=a.fn(n.edgeElasticity)?n.edgeElasticity($):n.edgeElasticity,T=s.idToIndex[C.sourceId],j=s.idToIndex[C.targetId];if(s.indexToGraph[T]!=s.indexToGraph[j]){for(var P=d(C.sourceId,C.targetId,s),D=s.graphSet[P],R=0,I=s.layoutNodes[T];-1===D.indexOf(I.id);)I=s.layoutNodes[s.idToIndex[I.parentId]],R++;for(I=s.layoutNodes[j];-1===D.indexOf(I.id);)I=s.layoutNodes[s.idToIndex[I.parentId]],R++;_*=R*n.nestingFactor}C.idealLength=_,C.elasticity=O,s.layoutEdges.push(C)}return s},d=function(e,t,n){var r=p(e,t,0,n);return 2>r.count?0:r.graph},p=function e(t,n,r,i){var o=i.graphSet[r];if(-1<o.indexOf(t)&&-1<o.indexOf(n))return{count:2,graph:r};for(var a=0,s=0;s<o.length;s++){var l=o[s],c=i.idToIndex[l],u=i.layoutNodes[c].children;if(0!==u.length){var d=e(t,n,i.indexToGraph[i.idToIndex[u[0]]],i);if(0!==d.count){if(1!==d.count)return d;if(2==++a)break}}}return{count:a,graph:r}},f=function(e){if(r){console.debug("layoutNodes:");for(var t=0;t<e.nodeSize;t++){var n=e.layoutNodes[t],i="\nindex: "+t+"\nId: "+n.id+"\nChildren: "+n.children.toString()+"\nparentId: "+n.parentId+"\npositionX: "+n.positionX+"\npositionY: "+n.positionY+"\nOffsetX: "+n.offsetX+"\nOffsetY: "+n.offsetY+"\npadLeft: "+n.padLeft+"\npadRight: "+n.padRight+"\npadTop: "+n.padTop+"\npadBottom: "+n.padBottom;console.debug(i)}for(var t in console.debug("idToIndex"),e.idToIndex)console.debug("Id: "+t+"\nIndex: "+e.idToIndex[t]);console.debug("Graph Set");var o=e.graphSet;for(t=0;t<o.length;t++)console.debug("Set : "+t+": "+o[t].toString());for(i="IndexToGraph",t=0;t<e.indexToGraph.length;t++)i+="\nIndex : "+t+" Graph: "+e.indexToGraph[t];for(console.debug(i),i="Layout Edges",t=0;t<e.layoutEdges.length;t++){var a=e.layoutEdges[t];i+="\nEdge Index: "+t+" ID: "+a.id+" SouceID: "+a.sourceId+" TargetId: "+a.targetId+" Ideal Length: "+a.idealLength}console.debug(i),i="nodeSize: "+e.nodeSize,i+="\nedgeSize: "+e.edgeSize,i+="\ntemperature: "+e.temperature,console.debug(i)}},h=function(e,t){for(var n=e.clientWidth,r=e.clientHeight,i=0;i<e.nodeSize;i++){var o=e.layoutNodes[i];0!==o.children.length||o.isLocked||(o.positionX=Math.random()*n,o.positionY=Math.random()*r)}},g=function(e,t,n){var r=n.layout,i=n.eles.nodes(),o=e.boundingBox,a={x1:1/0,x2:-1/0,y1:1/0,y2:-1/0};n.boundingBox&&(i.forEach((function(t){var n=e.layoutNodes[e.idToIndex[t.data("id")]];a.x1=Math.min(a.x1,n.positionX),a.x2=Math.max(a.x2,n.positionX),a.y1=Math.min(a.y1,n.positionY),a.y2=Math.max(a.y2,n.positionY)})),a.w=a.x2-a.x1,a.h=a.y2-a.y1),i.positions((function(t,r){var i=e.layoutNodes[e.idToIndex[t.data("id")]];if(n.boundingBox){var s=(i.positionX-a.x1)/a.w,l=(i.positionY-a.y1)/a.h;return{x:o.x1+s*o.w,y:o.y1+l*o.h}}return{x:i.positionX,y:i.positionY}})),!0!==e.ready&&(e.ready=!0,r.one("layoutready",n.ready),r.emit({type:"layoutready",layout:this}))};e.exports=c},function(e,t,n){"use strict";var r=n(1),i=n(2),o={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function a(e){this.options=r.extend({},o,e)}a.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles.nodes().not(":parent");t.sort&&(r=r.sort(t.sort));var o=i.makeBoundingBox(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()});if(0===o.h||0===o.w)r.layoutPositions(this,t,(function(e){return{x:o.x1,y:o.y1}}));else{var a=r.size(),s=Math.sqrt(a*o.h/o.w),l=Math.round(s),c=Math.round(o.w/o.h*s),u=function(e){if(null==e)return Math.min(l,c);Math.min(l,c)==l?l=e:c=e},d=function(e){if(null==e)return Math.max(l,c);Math.max(l,c)==l?l=e:c=e},p=t.rows,f=null!=t.cols?t.cols:t.columns;if(null!=p&&null!=f)l=p,c=f;else if(null!=p&&null==f)l=p,c=Math.ceil(a/l);else if(null==p&&null!=f)c=f,l=Math.ceil(a/c);else if(c*l>a){var h=u(),g=d();(h-1)*g>=a?u(h-1):(g-1)*h>=a&&d(g-1)}else for(;c*l<a;){var m=u(),v=d();(v+1)*m>=a?d(v+1):u(m+1)}var b=o.w/c,y=o.h/l;if(t.condense&&(b=0,y=0),t.avoidOverlap)for(var x=0;x<r.length;x++){var w=r[x],k=w._private.position;null!=k.x&&null!=k.y||(k.x=0,k.y=0);var A=w.layoutDimensions(t),E=t.avoidOverlapPadding,S=A.w+E,$=A.h+E;b=Math.max(b,S),y=Math.max(y,$)}for(var C={},_=function(e,t){return!!C["c-"+e+"-"+t]},O=function(e,t){C["c-"+e+"-"+t]=!0},T=0,j=0,P=function(){++j>=c&&(j=0,T++)},D={},R=0;R<r.length;R++){var I=r[R],N=t.position(I);if(N&&(void 0!==N.row||void 0!==N.col)){var M={row:N.row,col:N.col};if(void 0===M.col)for(M.col=0;_(M.row,M.col);)M.col++;else if(void 0===M.row)for(M.row=0;_(M.row,M.col);)M.row++;D[I.id()]=M,O(M.row,M.col)}}r.layoutPositions(this,t,(function(e,t){var n=void 0,r=void 0;if(e.locked()||e.isParent())return!1;var i=D[e.id()];if(i)n=i.col*b+b/2+o.x1,r=i.row*y+y/2+o.y1;else{for(;_(T,j);)P();n=j*b+b/2+o.x1,r=T*y+y/2+o.y1,O(T,j),P()}return{x:n,y:r}}))}return this},e.exports=a},function(e,t,n){"use strict";var r=n(1),i={ready:function(){},stop:function(){}};function o(e){this.options=r.extend({},i,e)}o.prototype.run=function(){var e=this.options,t=e.eles;return e.cy,this.emit("layoutstart"),t.nodes().positions((function(){return{x:0,y:0}})),this.one("layoutready",e.ready),this.emit("layoutready"),this.one("layoutstop",e.stop),this.emit("layoutstop"),this},o.prototype.stop=function(){return this},e.exports=o},function(e,t,n){"use strict";var r=n(1),i=n(0),o={positions:void 0,zoom:void 0,pan:void 0,fit:!0,padding:30,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function a(e){this.options=r.extend({},o,e)}a.prototype.run=function(){var e=this.options,t=e.eles.nodes(),n=i.fn(e.positions);return t.layoutPositions(this,e,(function(t,r){var i=function(t){if(null==e.positions)return null;if(n)return e.positions(t);var r=e.positions[t._private.data.id];return null==r?null:r}(t);return!t.locked()&&null!=i&&i})),this},e.exports=a},function(e,t,n){"use strict";var r=n(1),i=n(2),o={fit:!0,padding:30,boundingBox:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function a(e){this.options=r.extend({},o,e)}a.prototype.run=function(){var e=this.options,t=e.cy,n=e.eles.nodes().not(":parent"),r=i.makeBoundingBox(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()});return n.layoutPositions(this,e,(function(e,t){return{x:r.x1+Math.round(Math.random()*r.w),y:r.y1+Math.round(Math.random()*r.h)}})),this},e.exports=a},function(e,t,n){"use strict";e.exports=[{name:"null",impl:n(106)},{name:"base",impl:n(107)},{name:"canvas",impl:n(123)}]},function(e,t,n){"use strict";function r(e){this.options=e,this.notifications=0}var i=function(){};r.prototype={recalculateRenderedStyle:i,notify:function(){this.notifications++},init:i},e.exports=r},function(e,t,n){"use strict";var r=n(0),i=n(1),o=n(3),a=function(e){this.init(e)},s=a.prototype;s.clientFunctions=["redrawHint","render","renderTo","matchCanvasSize","nodeShapeImpl","arrowShapeImpl"],s.init=function(e){var t=this;t.options=e,t.cy=e.cy;var n=t.container=e.cy.container();if(o){var r=o.document,a=r.head,s="__________cytoscape_container",l=null!=r.getElementById("__________cytoscape_stylesheet");if(n.className.indexOf(s)<0&&(n.className=(n.className||"")+" "+s),!l){var c=r.createElement("style");c.id="__________cytoscape_stylesheet",c.innerHTML="."+s+" { position: relative; }",a.insertBefore(c,a.children[0])}"static"===o.getComputedStyle(n).getPropertyValue("position")&&i.error("A Cytoscape container has style position:static and so can not use UI extensions properly")}t.selection=[void 0,void 0,void 0,void 0,0],t.bezierProjPcts=[.05,.225,.4,.5,.6,.775,.95],t.hoverData={down:null,last:null,downTime:null,triggerMode:null,dragging:!1,initialPan:[null,null],capture:!1},t.dragData={possibleDragElements:[]},t.touchData={start:null,capture:!1,startPosition:[null,null,null,null,null,null],singleTouchStartTime:null,singleTouchMoved:!0,now:[null,null,null,null,null,null],earlier:[null,null,null,null,null,null]},t.redraws=0,t.showFps=e.showFps,t.debug=e.debug,t.hideEdgesOnViewport=e.hideEdgesOnViewport,t.hideLabelsOnViewport=e.hideLabelsOnViewport,t.textureOnViewport=e.textureOnViewport,t.wheelSensitivity=e.wheelSensitivity,t.motionBlurEnabled=e.motionBlur,t.forcedPixelRatio=e.pixelRatio,t.motionBlur=e.motionBlur,t.motionBlurOpacity=e.motionBlurOpacity,t.motionBlurTransparency=1-t.motionBlurOpacity,t.motionBlurPxRatio=1,t.mbPxRBlurry=1,t.minMbLowQualFrames=4,t.fullQualityMb=!1,t.clearedForMotionBlur=[],t.desktopTapThreshold=e.desktopTapThreshold,t.desktopTapThreshold2=e.desktopTapThreshold*e.desktopTapThreshold,t.touchTapThreshold=e.touchTapThreshold,t.touchTapThreshold2=e.touchTapThreshold*e.touchTapThreshold,t.tapholdDuration=500,t.bindings=[],t.beforeRenderCallbacks=[],t.beforeRenderPriorities={animations:400,eleCalcs:300,eleTxrDeq:200,lyrTxrDeq:100},t.registerNodeShapes(),t.registerArrowShapes(),t.registerCalculationListeners()},s.notify=function(e){var t,n=this;if(!this.destroyed){t=r.array(e.type)?e.type:[e.type];for(var i={},o=0;o<t.length;o++)i[t[o]]=!0;i.init?n.load():i.destroy?n.destroy():((i.add||i.remove||i.load||i.zorder)&&n.invalidateCachedZSortedEles(),i.viewport&&n.redrawHint("select",!0),(i.load||i.resize)&&(n.invalidateContainerClientCoordsCache(),n.matchCanvasSize(n.container)),n.redrawHint("eles",!0),n.redrawHint("drag",!0),this.startRenderLoop(),this.redraw())}},s.destroy=function(){var e=this;e.destroyed=!0,e.cy.stopAnimationLoop();for(var t=0;t<e.bindings.length;t++){var n=e.bindings[t],r=n.target;(r.off||r.removeEventListener).apply(r,n.args)}if(e.bindings=[],e.beforeRenderCallbacks=[],e.onUpdateEleCalcsFns=[],e.removeObserver&&e.removeObserver.disconnect(),e.styleObserver&&e.styleObserver.disconnect(),e.labelCalcDiv)try{document.body.removeChild(e.labelCalcDiv)}catch(e){}},[n(108),n(109),n(119),n(120),n(121),n(122)].forEach((function(e){i.extend(s,e)})),e.exports=a},function(e,t,n){"use strict";var r=n(2),i=n(0),o=n(1),a={arrowShapeWidth:.3,registerArrowShapes:function(){var e=this.arrowShapes={},t=this,n=function(e,t,n,r,i,o,a){var s=i.x-n/2-a,l=i.x+n/2+a,c=i.y-n/2-a,u=i.y+n/2+a;return s<=e&&e<=l&&c<=t&&t<=u},a=function(e,t,n,r,i){var o=e*Math.cos(r)-t*Math.sin(r),a=(e*Math.sin(r)+t*Math.cos(r))*n;return{x:o*n+i.x,y:a+i.y}},s=function(e,t,n,r){for(var i=[],o=0;o<e.length;o+=2){var s=e[o],l=e[o+1];i.push(a(s,l,t,n,r))}return i},l=function(e){for(var t=[],n=0;n<e.length;n++){var r=e[n];t.push(r.x,r.y)}return t},c=function(e){return e.pstyle("width").pfValue*e.pstyle("arrow-scale").pfValue*2},u=function(a,u){i.string(u)&&(u=e[u]),e[a]=o.extend({name:a,points:[-.15,-.3,.15,-.3,.15,.3,-.15,.3],collide:function(e,t,n,i,o,a){var c=l(s(this.points,n+2*a,i,o));return r.pointInsidePolygonPoints(e,t,c)},roughCollide:n,draw:function(e,n,r,i){var o=s(this.points,n,r,i);t.arrowShapeImpl("polygon")(e,o)},spacing:function(e){return 0},gap:c},u)};u("none",{collide:o.falsify,roughCollide:o.falsify,draw:o.noop,spacing:o.zeroify,gap:o.zeroify}),u("triangle",{points:[-.15,-.3,0,0,.15,-.3]}),u("arrow","triangle"),u("triangle-backcurve",{points:e.triangle.points,controlPoint:[0,-.15],roughCollide:n,draw:function(e,n,r,i,o){var l=s(this.points,n,r,i),c=this.controlPoint,u=a(c[0],c[1],n,r,i);t.arrowShapeImpl(this.name)(e,l,u)},gap:function(e){return.8*c(e)}}),u("triangle-tee",{points:[-.15,-.3,0,0,.15,-.3,-.15,-.3],pointsTee:[-.15,-.4,-.15,-.5,.15,-.5,.15,-.4],collide:function(e,t,n,i,o,a,c){var u=l(s(this.points,n+2*c,i,o)),d=l(s(this.pointsTee,n+2*c,i,o));return r.pointInsidePolygonPoints(e,t,u)||r.pointInsidePolygonPoints(e,t,d)},draw:function(e,n,r,i,o){var a=s(this.points,n,r,i),l=s(this.pointsTee,n,r,i);t.arrowShapeImpl(this.name)(e,a,l)}}),u("triangle-cross",{points:[-.15,-.3,0,0,.15,-.3,-.15,-.3],baseCrossLinePts:[-.15,-.4,-.15,-.4,.15,-.4,.15,-.4],crossLinePts:function(e,t){var n=this.baseCrossLinePts.slice(),r=t/e;return n[3]=n[3]-r,n[5]=n[5]-r,n},collide:function(e,t,n,i,o,a,c){var u=l(s(this.points,n+2*c,i,o)),d=l(s(this.crossLinePts(n,a),n+2*c,i,o));return r.pointInsidePolygonPoints(e,t,u)||r.pointInsidePolygonPoints(e,t,d)},draw:function(e,n,r,i,o){var a=s(this.points,n,r,i),l=s(this.crossLinePts(n,o),n,r,i);t.arrowShapeImpl(this.name)(e,a,l)}}),u("vee",{points:[-.15,-.3,0,0,.15,-.3,0,-.15],gap:function(e){return.525*c(e)}}),u("circle",{radius:.15,collide:function(e,t,n,r,i,o,a){var s=i;return Math.pow(s.x-e,2)+Math.pow(s.y-t,2)<=Math.pow((n+2*a)*this.radius,2)},draw:function(e,n,r,i,o){t.arrowShapeImpl(this.name)(e,i.x,i.y,this.radius*n)},spacing:function(e){return t.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.radius}}),u("tee",{points:[-.15,0,-.15,-.1,.15,-.1,.15,0],spacing:function(e){return 1},gap:function(e){return 1}}),u("square",{points:[-.15,0,.15,0,.15,-.3,-.15,-.3]}),u("diamond",{points:[-.15,-.15,0,-.3,.15,-.15,0,0],gap:function(e){return e.pstyle("width").pfValue*e.pstyle("arrow-scale").value}})}};e.exports=a},function(e,t,n){"use strict";var r=n(1),i={};[n(110),n(111),n(112),n(113),n(114),n(115),n(116),n(117),n(118)].forEach((function(e){r.extend(i,e)})),e.exports=i},function(e,t,n){"use strict";var r=n(3),i=n(2),o=n(1),a=(r=n(3),{projectIntoViewport:function(e,t){var n=this.cy,r=this.findContainerClientCoords(),i=r[0],o=r[1],a=r[4],s=n.pan(),l=n.zoom();return[((e-i)/a-s.x)/l,((t-o)/a-s.y)/l]},findContainerClientCoords:function(){if(this.containerBB)return this.containerBB;var e=this.container,t=e.getBoundingClientRect(),n=r.getComputedStyle(e),i=function(e){return parseFloat(n.getPropertyValue(e))},o=i("padding-left"),a=i("padding-right"),s=i("padding-top"),l=i("padding-bottom"),c=i("border-left-width"),u=i("border-right-width"),d=i("border-top-width"),p=(i("border-bottom-width"),e.clientWidth),f=e.clientHeight,h=o+a,g=s+l,m=c+u,v=t.width/(p+m),b=p-h,y=f-g,x=(t.width,t.height,t.left+o+c),w=t.top+s+d;return this.containerBB=[x,w,b,y,v]},invalidateContainerClientCoordsCache:function(){this.containerBB=null},findNearestElement:function(e,t,n,r){return this.findNearestElements(e,t,n,r)[0]},findNearestElements:function(e,t,n,r){var a,s,l=this,c=this,u=c.getCachedZSortedEles(),d=[],p=c.cy.zoom(),f=c.cy.hasCompoundNodes(),h=(r?24:8)/p,g=(r?8:2)/p,m=(r?8:2)/p,v=1/0;function b(e,t){if(e.isNode()){if(s)return;s=e,d.push(e)}if(e.isEdge()&&(null==t||t<v))if(a){if(a.pstyle("z-index").value===e.pstyle("z-index").value)for(var n=0;n<d.length;n++)if(d[n].isEdge()){d[n]=e,a=e,v=null!=t?t:v;break}}else d.push(e),a=e,v=null!=t?t:v}function y(n){var r=n.outerWidth()+2*g,i=n.outerHeight()+2*g,o=r/2,a=i/2,s=n.position();if(s.x-o<=e&&e<=s.x+o&&s.y-a<=t&&t<=s.y+a&&c.nodeShapes[l.getNodeShape(n)].checkPoint(e,t,0,r,i,s.x,s.y))return b(n,0),!0}function x(n){var r,o=n._private,a=o.rscratch,s=n.pstyle("width").pfValue,u=n.pstyle("arrow-scale").value,p=s/2+h,g=p*p,m=2*p,v=o.source,x=o.target;if("segments"===a.edgeType||"straight"===a.edgeType||"haystack"===a.edgeType){for(var w=a.allpts,k=0;k+3<w.length;k+=2)if(i.inLineVicinity(e,t,w[k],w[k+1],w[k+2],w[k+3],m)&&g>(r=i.sqdistToFiniteLine(e,t,w[k],w[k+1],w[k+2],w[k+3])))return b(n,r),!0}else if("bezier"===a.edgeType||"multibezier"===a.edgeType||"self"===a.edgeType||"compound"===a.edgeType)for(w=a.allpts,k=0;k+5<a.allpts.length;k+=4)if(i.inBezierVicinity(e,t,w[k],w[k+1],w[k+2],w[k+3],w[k+4],w[k+5],m)&&g>(r=i.sqdistToQuadraticBezier(e,t,w[k],w[k+1],w[k+2],w[k+3],w[k+4],w[k+5])))return b(n,r),!0;v=v||o.source,x=x||o.target;var A=l.getArrowWidth(s,u),E=[{name:"source",x:a.arrowStartX,y:a.arrowStartY,angle:a.srcArrowAngle},{name:"target",x:a.arrowEndX,y:a.arrowEndY,angle:a.tgtArrowAngle},{name:"mid-source",x:a.midX,y:a.midY,angle:a.midsrcArrowAngle},{name:"mid-target",x:a.midX,y:a.midY,angle:a.midtgtArrowAngle}];for(k=0;k<E.length;k++){var S=E[k],$=c.arrowShapes[n.pstyle(S.name+"-arrow-shape").value],C=n.pstyle("width").pfValue;if($.roughCollide(e,t,A,S.angle,{x:S.x,y:S.y},C,h)&&$.collide(e,t,A,S.angle,{x:S.x,y:S.y},C,h))return b(n),!0}f&&d.length>0&&(y(v),y(x))}function w(e,t,n){return o.getPrefixedProperty(e,t,n)}function k(n,r){var o,a=n._private,s=m;o=r?r+"-":"";var l=n.pstyle(o+"label").value;if("yes"===n.pstyle("text-events").strValue&&l){var c=a.rstyle,u=n.pstyle("text-border-width").pfValue,d=n.pstyle("text-background-padding").pfValue,p=w(c,"labelWidth",r)+u+2*s+2*d,f=w(c,"labelHeight",r)+u+2*s+2*d,h=w(c,"labelX",r),g=w(c,"labelY",r),v=w(a.rscratch,"labelAngle",r),y=h-p/2,x=h+p/2,k=g-f/2,A=g+f/2;if(v){var E=Math.cos(v),S=Math.sin(v),$=function(e,t){return{x:(e-=h)*E-(t-=g)*S+h,y:e*S+t*E+g}},C=$(y,k),_=$(y,A),O=$(x,k),T=$(x,A),j=[C.x,C.y,O.x,O.y,T.x,T.y,_.x,_.y];if(i.pointInsidePolygonPoints(e,t,j))return b(n),!0}else{var P={w:p,h:f,x1:y,x2:x,y1:k,y2:A};if(i.inBoundingBox(P,e,t))return b(n),!0}}}n&&(u=u.interactive);for(var A=u.length-1;A>=0;A--){var E=u[A];E.isNode()?y(E)||k(E):x(E)||k(E)||k(E,"source")||k(E,"target")}return d},getAllInBox:function(e,t,n,r){var o=this.getCachedZSortedEles().interactive,a=[],s=Math.min(e,n),l=Math.max(e,n),c=Math.min(t,r),u=Math.max(t,r);e=s,n=l,t=c,r=u;for(var d=i.makeBoundingBox({x1:e,y1:t,x2:n,y2:r}),p=0;p<o.length;p++){var f=o[p];if(f.isNode()){var h=f,g=h.boundingBox({includeNodes:!0,includeEdges:!1,includeLabels:!1});i.boundingBoxesIntersect(d,g)&&!i.boundingBoxInBoundingBox(g,d)&&a.push(h)}else{var m=f,v=m._private,b=v.rscratch;if(null!=b.startX&&null!=b.startY&&!i.inBoundingBox(d,b.startX,b.startY))continue;if(null!=b.endX&&null!=b.endY&&!i.inBoundingBox(d,b.endX,b.endY))continue;if("bezier"===b.edgeType||"multibezier"===b.edgeType||"self"===b.edgeType||"compound"===b.edgeType||"segments"===b.edgeType||"haystack"===b.edgeType){for(var y=v.rstyle.bezierPts||v.rstyle.linePts||v.rstyle.haystackPts,x=!0,w=0;w<y.length;w++)if(!i.pointInBoundingBox(d,y[w])){x=!1;break}x&&a.push(m)}else"haystack"!==b.edgeType&&"straight"!==b.edgeType||a.push(m)}}return a}});e.exports=a},function(e,t,n){"use strict";var r=n(2),i={calculateArrowAngles:function(e){var t,n,i,o,a,s,l=e._private.rscratch,c="haystack"===l.edgeType,u="bezier"===l.edgeType,d="multibezier"===l.edgeType,p="segments"===l.edgeType,f="compound"===l.edgeType,h="self"===l.edgeType;if(c?(i=l.haystackPts[0],o=l.haystackPts[1],a=l.haystackPts[2],s=l.haystackPts[3]):(i=l.arrowStartX,o=l.arrowStartY,a=l.arrowEndX,s=l.arrowEndY),m=l.midX,v=l.midY,p)t=i-l.segpts[0],n=o-l.segpts[1];else if(d||f||h||u){var g=l.allpts;t=i-r.qbezierAt(g[0],g[2],g[4],.1),n=o-r.qbezierAt(g[1],g[3],g[5],.1)}else t=i-m,n=o-v;l.srcArrowAngle=r.getAngleFromDisp(t,n);var m=l.midX,v=l.midY;if(c&&(m=(i+a)/2,v=(o+s)/2),t=a-i,n=s-o,p)if((g=l.allpts).length/2%2==0){var b=(y=g.length/2)-2;t=g[y]-g[b],n=g[y+1]-g[b+1]}else{b=(y=g.length/2-1)-2;var y,x=y+2;t=g[y]-g[b],n=g[y+1]-g[b+1]}else if(d||f||h){var w,k,A,E,g=l.allpts;if(l.ctrlpts.length/2%2==0){var S=2+($=2+(C=g.length/2-1));w=r.qbezierAt(g[C],g[$],g[S],0),k=r.qbezierAt(g[C+1],g[$+1],g[S+1],0),A=r.qbezierAt(g[C],g[$],g[S],1e-4),E=r.qbezierAt(g[C+1],g[$+1],g[S+1],1e-4)}else{var $,C=($=g.length/2-1)-2;S=$+2,w=r.qbezierAt(g[C],g[$],g[S],.4999),k=r.qbezierAt(g[C+1],g[$+1],g[S+1],.4999),A=r.qbezierAt(g[C],g[$],g[S],.5),E=r.qbezierAt(g[C+1],g[$+1],g[S+1],.5)}t=A-w,n=E-k}if(l.midtgtArrowAngle=r.getAngleFromDisp(t,n),l.midDispX=t,l.midDispY=n,t*=-1,n*=-1,p&&((g=l.allpts).length/2%2==0||(t=-(g[x=2+(y=g.length/2-1)]-g[y]),n=-(g[x+1]-g[y+1]))),l.midsrcArrowAngle=r.getAngleFromDisp(t,n),p)t=a-l.segpts[l.segpts.length-2],n=s-l.segpts[l.segpts.length-1];else if(d||f||h||u){var _=(g=l.allpts).length;t=a-r.qbezierAt(g[_-6],g[_-4],g[_-2],.9),n=s-r.qbezierAt(g[_-5],g[_-3],g[_-1],.9)}else t=a-m,n=s-v;l.tgtArrowAngle=r.getAngleFromDisp(t,n)}};i.getArrowWidth=i.getArrowHeight=function(e,t){var n=this.arrowWidthCache=this.arrowWidthCache||{},r=n[e+", "+t];return r||(r=Math.max(Math.pow(13.37*e,.9),29)*t,n[e+", "+t]=r,r)},e.exports=i},function(e,t,n){"use strict";var r=n(2),i=n(0),o={};function a(e){var t=[];if(null!=e){for(var n=0;n<e.length;n+=2){var r=e[n],i=e[n+1];t.push({x:r,y:i})}return t}}o.findEdgeControlPoints=function(e){if(e&&0!==e.length){for(var t,n,o,a,s,l=this,c=l.cy.hasCompoundNodes(),u={},d=[],p=[],f=0;f<e.length;f++){var h=(Ft=(Bt=e[f])._private).data,g="unbundled-bezier"===(D=Bt.pstyle("curve-style").value)||"segments"===D,m="unbundled-bezier"===D||"bezier"===D;if("none"!==Bt.pstyle("display").value)if("haystack"!==D){var v=h.source,b=h.target;t=v>b?b+"$-$"+v:v+"$-$"+b,g&&(t="unbundled$-$"+h.id);var y=u[t];null==y&&(y=u[t]=[],d.push(t)),y.push(Bt),g&&(y.hasUnbundled=!0),m&&(y.hasBezier=!0)}else p.push(Bt)}for(var x=0;x<d.length;x++){var w=u[t=d[x]];if(w.sort((function(e,t){return e.poolIndex()-t.poolIndex()})),Ht=w[0]._private.source,Gt=w[0]._private.target,!w.hasUnbundled&&Ht.id()>Gt.id()){var k=Ht;Ht=Gt,Gt=k}Wt=Ht.position(),Yt=Gt.position(),Xt=Ht.outerWidth(),Qt=Ht.outerHeight(),Zt=Gt.outerWidth(),Jt=Gt.outerHeight(),n=l.nodeShapes[this.getNodeShape(Ht)],o=l.nodeShapes[this.getNodeShape(Gt)],s=!1;var A={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0},E=Wt.x,S=Wt.y,$=Xt,C=Qt,_=Yt.x,O=Yt.y,T=Zt,j=Jt,P=w.length;for(f=0;f<w.length;f++){var D,R,I=(Vt=(Bt=w[f])._private.rscratch).lastEdgeIndex,N=f,M=Vt.lastNumEdges,z=(g="unbundled-bezier"===(D=Bt.pstyle("curve-style").value)||"segments"===D,Ht.id()!==Bt.source().id()),L=Bt.pstyle("control-point-distances"),B=Bt.pstyle("loop-direction").pfValue,F=Bt.pstyle("loop-sweep").pfValue,q=Bt.pstyle("control-point-weights"),V=L&&q?Math.min(L.value.length,q.value.length):1,U=Bt.pstyle("control-point-step-size").pfValue,H=L?L.pfValue[0]:void 0,G=q.value[0],W=Bt.pstyle("edge-distances").value,Y=Bt.pstyle("segment-weights"),X=Bt.pstyle("segment-distances"),Z=Math.min(Y.pfValue.length,X.pfValue.length),Q=Bt.pstyle("source-endpoint").value,J=Bt.pstyle("target-endpoint").value,K=Bt.pstyle("source-arrow-shape").value,ee=Bt.pstyle("target-arrow-shape").value,te=Bt.pstyle("arrow-scale").value,ne=Bt.pstyle("width").pfValue,re=Vt.lastSrcCtlPtX,ie=Vt.lastSrcCtlPtY,oe=Vt.lastSrcCtlPtW,ae=Vt.lastSrcCtlPtH,se=Vt.lastTgtCtlPtX,le=Vt.lastTgtCtlPtY,ce=Vt.lastTgtCtlPtW,ue=Vt.lastTgtCtlPtH,de=Vt.lastCurveStyle,pe=D,fe=Vt.lastCtrlptDists,he=L?L.strValue:null,ge=Vt.lastCtrlptWs,me=q.strValue,ve=Vt.lastSegmentWs,be=Y.strValue,ye=Vt.lastSegmentDs,xe=X.strValue,we=Vt.lastStepSize,ke=U,Ae=Vt.lastLoopDir,Ee=B,Se=Vt.lastLoopSwp,$e=F,Ce=Vt.lastEdgeDistances,_e=W,Oe=Vt.lastSrcEndpt,Te=Q,je=Vt.lastTgtEndpt,Pe=J,De=Vt.lastSrcArr,Re=K,Ie=Vt.lastTgtArr,Ne=ee,Me=Vt.lastLineW,ze=ne,Le=Vt.lastArrScl,Be=te;if(Vt.badBezier=!!s,re===E&&ie===S&&oe===$&&ae===C&&se===_&&le===O&&ce===T&&ue===j&&de===pe&&fe===he&&ge===me&&ve===be&&ye===xe&&we===ke&&Ae===Ee&&Se===$e&&Ce===_e&&Oe===Te&&je===Pe&&De===Re&&Ie===Ne&&Me===ze&&Le===Be&&(I===N&&M===P||g)?R=!0:(R=!1,Vt.lastSrcCtlPtX=E,Vt.lastSrcCtlPtY=S,Vt.lastSrcCtlPtW=$,Vt.lastSrcCtlPtH=C,Vt.lastTgtCtlPtX=_,Vt.lastTgtCtlPtY=O,Vt.lastTgtCtlPtW=T,Vt.lastTgtCtlPtH=j,Vt.lastEdgeIndex=N,Vt.lastNumEdges=P,Vt.lastCurveStyle=pe,Vt.lastCtrlptDists=he,Vt.lastCtrlptWs=me,Vt.lastSegmentDs=xe,Vt.lastSegmentWs=be,Vt.lastStepSize=ke,Vt.lastLoopDir=Ee,Vt.lastLoopSwp=$e,Vt.lastEdgeDistances=_e,Vt.lastSrcEndpt=Te,Vt.lastTgtEndpt=Pe,Vt.lastSrcArr=Re,Vt.lastTgtArr=Ne,Vt.lastLineW=ze,Vt.lastArrScl=Be),!R){if(!w.calculatedIntersection&&Ht!==Gt&&(w.hasBezier||w.hasUnbundled)){w.calculatedIntersection=!0;var Fe=n.intersectLine(Wt.x,Wt.y,Xt,Qt,Yt.x,Yt.y,0);w.srcIntn=Fe;var qe=o.intersectLine(Yt.x,Yt.y,Zt,Jt,Wt.x,Wt.y,0);w.tgtIntn=qe;var Ve={x1:Fe[0],x2:qe[0],y1:Fe[1],y2:qe[1]},Ue={x1:Wt.x,x2:Yt.x,y1:Wt.y,y2:Yt.y},He=qe[1]-Fe[1],Ge=qe[0]-Fe[0],We=Math.sqrt(Ge*Ge+He*He),Ye={x:Ge,y:He},Xe={x:Ye.x/We,y:Ye.y/We};a={x:-Xe.y,y:Xe.x},o.checkPoint(Fe[0],Fe[1],0,Zt,Jt,Yt.x,Yt.y)&&n.checkPoint(qe[0],qe[1],0,Xt,Qt,Wt.x,Wt.y)&&(a={},s=!0)}if(z?(Vt.srcIntn=w.tgtIntn,Vt.tgtIntn=w.srcIntn):(Vt.srcIntn=w.srcIntn,Vt.tgtIntn=w.tgtIntn),Ht===Gt){Vt.edgeType="self";var Ze=f,Qe=U;g&&(Ze=0,Qe=H);var Je=B-Math.PI/2,Ke=Je-F/2,et=Je+F/2,tt=String(B+"_"+F);Ze=void 0===A[tt]?A[tt]=0:++A[tt],Vt.ctrlpts=[Wt.x+1.4*Math.cos(Ke)*Qe*(Ze/3+1),Wt.y+1.4*Math.sin(Ke)*Qe*(Ze/3+1),Wt.x+1.4*Math.cos(et)*Qe*(Ze/3+1),Wt.y+1.4*Math.sin(et)*Qe*(Ze/3+1)]}else if(c&&(Ht.isParent()||Ht.isChild()||Gt.isParent()||Gt.isChild())&&(Ht.parents().anySame(Gt)||Gt.parents().anySame(Ht))){Vt.edgeType="compound",Vt.badBezier=!1,Ze=f,Qe=U,g&&(Ze=0,Qe=H);var nt={x:Wt.x-Xt/2,y:Wt.y-Qt/2},rt={x:Yt.x-Zt/2,y:Yt.y-Jt/2},it={x:Math.min(nt.x,rt.x),y:Math.min(nt.y,rt.y)},ot=Math.max(.5,Math.log(.01*Xt)),at=Math.max(.5,Math.log(.01*Zt));Vt.ctrlpts=[it.x,it.y-(1+Math.pow(50,1.12)/100)*Qe*(Ze/3+1)*ot,it.x-(1+Math.pow(50,1.12)/100)*Qe*(Ze/3+1)*at,it.y]}else if("segments"===D){Vt.edgeType="segments",Vt.segpts=[];for(var st=0;st<Z;st++){var lt=Y.pfValue[st],ct=X.pfValue[st],ut=1-lt,dt=lt,pt={x:(bt="node-position"===W?Ue:Ve).x1*ut+bt.x2*dt,y:bt.y1*ut+bt.y2*dt};Vt.segpts.push(pt.x+a.x*ct,pt.y+a.y*ct)}}else if(w.length%2!=1||f!==Math.floor(w.length/2)||g){var ft=g;Vt.edgeType=ft?"multibezier":"bezier",Vt.ctrlpts=[];for(var ht=0;ht<V;ht++){var gt,mt=(.5-w.length/2+f)*U,vt=r.signum(mt);ft&&(H=L?L.pfValue[ht]:U,G=q.value[ht]);var bt,yt=void 0!==(gt=g?H:void 0!==H?vt*H:void 0)?gt:mt;ut=1-G,dt=G,z&&(k=ut,ut=dt,dt=k),pt={x:(bt="node-position"===W?Ue:Ve).x1*ut+bt.x2*dt,y:bt.y1*ut+bt.y2*dt},Vt.ctrlpts.push(pt.x+a.x*yt,pt.y+a.y*yt)}}else Vt.edgeType="straight";this.findEndpoints(Bt);var xt=!i.number(Vt.startX)||!i.number(Vt.startY),wt=!i.number(Vt.arrowStartX)||!i.number(Vt.arrowStartY),kt=!i.number(Vt.endX)||!i.number(Vt.endY),At=!i.number(Vt.arrowEndX)||!i.number(Vt.arrowEndY),Et=this.getArrowWidth(Bt.pstyle("width").pfValue,Bt.pstyle("arrow-scale").value)*this.arrowShapeWidth*3;if("bezier"===Vt.edgeType){var St=r.dist({x:Vt.ctrlpts[0],y:Vt.ctrlpts[1]},{x:Vt.startX,y:Vt.startY}),$t=St<Et,Ct=r.dist({x:Vt.ctrlpts[0],y:Vt.ctrlpts[1]},{x:Vt.endX,y:Vt.endY}),_t=Ct<Et,Ot=!1;if(xt||wt||$t){Ot=!0;var Tt={x:Vt.ctrlpts[0]-Wt.x,y:Vt.ctrlpts[1]-Wt.y},jt=Math.sqrt(Tt.x*Tt.x+Tt.y*Tt.y),Pt={x:Tt.x/jt,y:Tt.y/jt},Dt=Math.max(Xt,Qt),Rt={x:Vt.ctrlpts[0]+2*Pt.x*Dt,y:Vt.ctrlpts[1]+2*Pt.y*Dt},It=n.intersectLine(Wt.x,Wt.y,Xt,Qt,Rt.x,Rt.y,0);$t?(Vt.ctrlpts[0]=Vt.ctrlpts[0]+Pt.x*(Et-St),Vt.ctrlpts[1]=Vt.ctrlpts[1]+Pt.y*(Et-St)):(Vt.ctrlpts[0]=It[0]+Pt.x*Et,Vt.ctrlpts[1]=It[1]+Pt.y*Et)}if(kt||At||_t){Ot=!0,Tt={x:Vt.ctrlpts[0]-Yt.x,y:Vt.ctrlpts[1]-Yt.y},jt=Math.sqrt(Tt.x*Tt.x+Tt.y*Tt.y),Pt={x:Tt.x/jt,y:Tt.y/jt},Dt=Math.max(Xt,Qt),Rt={x:Vt.ctrlpts[0]+2*Pt.x*Dt,y:Vt.ctrlpts[1]+2*Pt.y*Dt};var Nt=o.intersectLine(Yt.x,Yt.y,Zt,Jt,Rt.x,Rt.y,0);_t?(Vt.ctrlpts[0]=Vt.ctrlpts[0]+Pt.x*(Et-Ct),Vt.ctrlpts[1]=Vt.ctrlpts[1]+Pt.y*(Et-Ct)):(Vt.ctrlpts[0]=Nt[0]+Pt.x*Et,Vt.ctrlpts[1]=Nt[1]+Pt.y*Et)}Ot&&this.findEndpoints(Bt)}if("multibezier"===Vt.edgeType||"bezier"===Vt.edgeType||"self"===Vt.edgeType||"compound"===Vt.edgeType){for(Vt.allpts=[],Vt.allpts.push(Vt.startX,Vt.startY),ht=0;ht+1<Vt.ctrlpts.length;ht+=2)Vt.allpts.push(Vt.ctrlpts[ht],Vt.ctrlpts[ht+1]),ht+3<Vt.ctrlpts.length&&Vt.allpts.push((Vt.ctrlpts[ht]+Vt.ctrlpts[ht+2])/2,(Vt.ctrlpts[ht+1]+Vt.ctrlpts[ht+3])/2);var Mt;Vt.allpts.push(Vt.endX,Vt.endY),Vt.ctrlpts.length/2%2==0?(Mt=Vt.allpts.length/2-1,Vt.midX=Vt.allpts[Mt],Vt.midY=Vt.allpts[Mt+1]):(Mt=Vt.allpts.length/2-3,Vt.midX=r.qbezierAt(Vt.allpts[Mt],Vt.allpts[Mt+2],Vt.allpts[Mt+4],.5),Vt.midY=r.qbezierAt(Vt.allpts[Mt+1],Vt.allpts[Mt+3],Vt.allpts[Mt+5],.5))}else if("straight"===Vt.edgeType)Vt.allpts=[Vt.startX,Vt.startY,Vt.endX,Vt.endY],Vt.midX=(Vt.startX+Vt.endX+Vt.arrowStartX+Vt.arrowEndX)/4,Vt.midY=(Vt.startY+Vt.endY+Vt.arrowStartY+Vt.arrowEndY)/4;else if("segments"===Vt.edgeType)if(Vt.allpts=[],Vt.allpts.push(Vt.startX,Vt.startY),Vt.allpts.push.apply(Vt.allpts,Vt.segpts),Vt.allpts.push(Vt.endX,Vt.endY),Vt.segpts.length%4==0){var zt=Vt.segpts.length/2,Lt=zt-2;Vt.midX=(Vt.segpts[Lt]+Vt.segpts[zt])/2,Vt.midY=(Vt.segpts[Lt+1]+Vt.segpts[zt+1])/2}else Lt=Vt.segpts.length/2-1,Vt.midX=Vt.segpts[Lt],Vt.midY=Vt.segpts[Lt+1];this.storeEdgeProjections(Bt),this.calculateArrowAngles(Bt)}this.recalculateEdgeLabelProjections(Bt),this.calculateLabelAngles(Bt)}}for(f=0;f<p.length;f++){var Bt,Ft,qt=(Ft=(Bt=p[f])._private).rscratch,Vt=qt;if(!qt.haystack){var Ut=2*Math.random()*Math.PI;qt.source={x:Math.cos(Ut),y:Math.sin(Ut)},Ut=2*Math.random()*Math.PI,qt.target={x:Math.cos(Ut),y:Math.sin(Ut)}}var Ht=Ft.source,Gt=Ft.target,Wt=Ht.position(),Yt=Gt.position(),Xt=Ht.width(),Zt=Gt.width(),Qt=Ht.height(),Jt=Gt.height(),Kt=(Dt=Bt.pstyle("haystack-radius").value)/2;Vt.haystackPts=Vt.allpts=[Vt.source.x*Xt*Kt+Wt.x,Vt.source.y*Qt*Kt+Wt.y,Vt.target.x*Zt*Kt+Yt.x,Vt.target.y*Jt*Kt+Yt.y],Vt.midX=(Vt.allpts[0]+Vt.allpts[2])/2,Vt.midY=(Vt.allpts[1]+Vt.allpts[3])/2,qt.edgeType=qt.lastCurveStyle="haystack",qt.haystack=!0,this.storeEdgeProjections(Bt),this.calculateArrowAngles(Bt),this.recalculateEdgeLabelProjections(Bt),this.calculateLabelAngles(Bt)}}},o.getSegmentPoints=function(e){var t=e[0]._private.rscratch;if("segments"===t.edgeType)return a(t.segpts)},o.getControlPoints=function(e){var t=e[0]._private.rscratch,n=t.edgeType;if("bezier"===n||"multibezier"===n||"self"===n||"compound"===n)return a(t.ctrlpts)},o.getEdgeMidpoint=function(e){var t=e[0]._private.rscratch;return{x:t.midX,y:t.midY}},e.exports=o},function(e,t,n){"use strict";var r=n(2),i=n(0),o={manualEndptToPx:function(e,t){var n=e.position(),r=e.outerWidth(),i=e.outerHeight();if(2===t.value.length){var o=[t.pfValue[0],t.pfValue[1]];return"%"===t.units[0]&&(o[0]=o[0]*r),"%"===t.units[1]&&(o[1]=o[1]*i),o[0]+=n.x,o[1]+=n.y,o}var a=t.pfValue[0];a=-Math.PI/2+a;var s=2*Math.max(r,i),l=[n.x+Math.cos(a)*s,n.y+Math.sin(a)*s];return this.nodeShapes[this.getNodeShape(e)].intersectLine(n.x,n.y,r,i,l[0],l[1],0)},findEndpoints:function(e){var t=this,n=void 0,o=e.source()[0],a=e.target()[0],s=o.position(),l=a.position(),c=e.pstyle("target-arrow-shape").value,u=e.pstyle("source-arrow-shape").value,d=e.pstyle("target-distance-from-node").pfValue,p=e.pstyle("source-distance-from-node").pfValue,f=e._private.rscratch,h=f.edgeType,g="self"===h||"compound"===h,m="bezier"===h||"multibezier"===h||g,v="bezier"!==h,b="straight"===h||"segments"===h,y="segments"===h,x=m||v||b,w=e.pstyle("source-endpoint"),k=g?"outside-to-node":w.value,A=e.pstyle("target-endpoint"),E=g?"outside-to-node":A.value;f.srcManEndpt=w,f.tgtManEndpt=A;var S=void 0,$=void 0,C=void 0,_=void 0;if(m){var O=[f.ctrlpts[0],f.ctrlpts[1]];S=v?[f.ctrlpts[f.ctrlpts.length-2],f.ctrlpts[f.ctrlpts.length-1]]:O,$=O}else if(b){var T=y?f.segpts.slice(0,2):[l.x,l.y];S=y?f.segpts.slice(f.segpts.length-2):[s.x,s.y],$=T}"inside-to-node"===E?n=[l.x,l.y]:A.units?n=this.manualEndptToPx(a,A):"outside-to-line"===E?n=f.tgtIntn:("outside-to-node"===E?C=S:"outside-to-line"===E&&(C=[s.x,s.y]),n=t.nodeShapes[this.getNodeShape(a)].intersectLine(l.x,l.y,a.outerWidth(),a.outerHeight(),C[0],C[1],0));var j=r.shortenIntersection(n,S,t.arrowShapes[c].spacing(e)+d),P=r.shortenIntersection(n,S,t.arrowShapes[c].gap(e)+d);e.hasClass("horizontal")?(f.endX=n[0]-d,f.endY=n[1],f.arrowEndX=n[0]-d/2,f.arrowEndY=n[1]):e.hasClass("vertical")?(f.endX=n[0],f.endY=n[1]-d,f.arrowEndX=n[0],f.arrowEndY=n[1]-d/2):(f.endX=P[0],f.endY=P[1],f.arrowEndX=j[0],f.arrowEndY=j[1]),"inside-to-node"===k?n=[s.x,s.y]:w.units?n=this.manualEndptToPx(o,w):"outside-to-line"===k?n=f.srcIntn:("outside-to-node"===k?_=$:"outside-to-line"===k&&(_=[l.x,l.y]),n=t.nodeShapes[this.getNodeShape(o)].intersectLine(s.x,s.y,o.outerWidth(),o.outerHeight(),_[0],_[1],0));var D=r.shortenIntersection(n,$,t.arrowShapes[u].spacing(e)+p),R=r.shortenIntersection(n,$,t.arrowShapes[u].gap(e)+p);f.startX=R[0],f.startY=R[1],f.arrowStartX=D[0],f.arrowStartY=D[1],x&&(i.number(f.startX)&&i.number(f.startY)&&i.number(f.endX)&&i.number(f.endY)?f.badLine=!1:f.badLine=!0)},getSourceEndpoint:function(e){var t=e[0]._private.rscratch;switch(t.edgeType){case"haystack":return{x:t.haystackPts[0],y:t.haystackPts[1]};default:return{x:t.arrowStartX,y:t.arrowStartY}}},getTargetEndpoint:function(e){var t=e[0]._private.rscratch;switch(t.edgeType){case"haystack":return{x:t.haystackPts[2],y:t.haystackPts[3]};default:return{x:t.arrowEndX,y:t.arrowEndY}}}};e.exports=o},function(e,t,n){"use strict";var r=n(2),i={};function o(e,t,n){for(var i=function(e,t,n,i){return r.qbezierAt(e,t,n,i)},o=t._private.rstyle.bezierPts,a=0;a<e.bezierProjPcts.length;a++){var s=e.bezierProjPcts[a];o.push({x:i(n[0],n[2],n[4],s),y:i(n[1],n[3],n[5],s)})}}i.storeEdgeProjections=function(e){var t=e._private,n=t.rscratch,r=n.edgeType;if(t.rstyle.bezierPts=null,t.rstyle.linePts=null,t.rstyle.haystackPts=null,"multibezier"===r||"bezier"===r||"self"===r||"compound"===r){t.rstyle.bezierPts=[];for(var i=0;i+5<n.allpts.length;i+=4)o(this,e,n.allpts.slice(i,i+6))}else if("segments"===r){var a=t.rstyle.linePts=[];for(i=0;i+1<n.allpts.length;i+=2)a.push({x:n.allpts[i],y:n.allpts[i+1]})}else if("haystack"===r){var s=n.haystackPts;t.rstyle.haystackPts=[{x:s[0],y:s[1]},{x:s[2],y:s[3]}]}t.rstyle.arrowWidth=this.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.arrowShapeWidth},i.recalculateEdgeProjections=function(e){this.findEdgeControlPoints(e)},e.exports=i},function(e,t,n){"use strict";var r=n(2),i=n(0),o=n(1),a={recalculateNodeLabelProjection:function(e){var t=e.pstyle("label").strValue;if(!i.emptyString(t)){var n,r,o=e._private,a=e.width(),s=e.height(),l=e.padding(),c=e.position(),u=e.pstyle("text-halign").strValue,d=e.pstyle("text-valign").strValue,p=o.rscratch,f=o.rstyle;switch(u){case"left":n=c.x-a/2-l;break;case"right":n=c.x+a/2+l;break;default:n=c.x}switch(d){case"top":r=c.y-s/2-l;break;case"bottom":r=c.y+s/2+l;break;default:r=c.y}p.labelX=n,p.labelY=r,f.labelX=n,f.labelY=r,this.applyLabelDimensions(e)}},recalculateEdgeLabelProjections:function(e){var t,n=e._private,i=n.rscratch,a=this,s={mid:e.pstyle("label").strValue,source:e.pstyle("source-label").strValue,target:e.pstyle("target-label").strValue};if(s.mid||s.source||s.target){t={x:i.midX,y:i.midY};var l=function(e,t,r){o.setPrefixedProperty(n.rscratch,e,t,r),o.setPrefixedProperty(n.rstyle,e,t,r)};l("labelX",null,t.x),l("labelY",null,t.y);var c=function(o){var c,u="source"===o;if(s[o]){var d=e.pstyle(o+"-text-offset").pfValue,p=function(e,t){var n=t.x-e.x,r=t.y-e.y;return Math.atan(r/n)};switch(i.edgeType){case"self":case"compound":case"bezier":case"multibezier":for(var f,h=function e(){if(e.cache)return e.cache;for(var t=[],o=0;o+5<i.allpts.length;o+=4){var s={x:i.allpts[o],y:i.allpts[o+1]},l={x:i.allpts[o+2],y:i.allpts[o+3]},c={x:i.allpts[o+4],y:i.allpts[o+5]};t.push({p0:s,p1:l,p2:c,startDist:0,length:0,segments:[]})}var u=n.rstyle.bezierPts,d=a.bezierProjPcts.length;function p(e,t,n,i,o){var a=r.dist(t,n),s=e.segments[e.segments.length-1],l={p0:t,p1:n,t0:i,t1:o,startDist:s?s.startDist+s.length:0,length:a};e.segments.push(l),e.length+=a}for(o=0;o<t.length;o++){var f=t[o],h=t[o-1];h&&(f.startDist=h.startDist+h.length),p(f,f.p0,u[o*d],0,a.bezierProjPcts[0]);for(var g=0;g<d-1;g++)p(f,u[o*d+g],u[o*d+g+1],a.bezierProjPcts[g],a.bezierProjPcts[g+1]);p(f,u[o*d+d-1],f.p2,a.bezierProjPcts[d-1],1)}return e.cache=t}(),g=0,m=0,v=0;v<h.length;v++){for(var b=h[u?v:h.length-1-v],y=0;y<b.segments.length;y++){var x=b.segments[u?y:b.segments.length-1-y],w=v===h.length-1&&y===b.segments.length-1;if(g=m,(m+=x.length)>=d||w){f={cp:b,segment:x};break}}if(f)break}b=f.cp;var k=(d-g)/(x=f.segment).length,A=x.t1-x.t0,E=u?x.t0+A*k:x.t1-A*k;E=r.bound(0,E,1),t=r.qbezierPtAt(b.p0,b.p1,b.p2,E),c=function(e,t,n,i){var o=r.bound(0,i-.001,1),a=r.bound(0,i+.001,1),s=r.qbezierPtAt(e,t,n,o),l=r.qbezierPtAt(e,t,n,a);return p(s,l)}(b.p0,b.p1,b.p2,E);break;case"straight":case"segments":case"haystack":var S,$,C,_,O=0,T=i.allpts.length;for(v=0;v+3<T&&(u?(C={x:i.allpts[v],y:i.allpts[v+1]},_={x:i.allpts[v+2],y:i.allpts[v+3]}):(C={x:i.allpts[T-2-v],y:i.allpts[T-1-v]},_={x:i.allpts[T-4-v],y:i.allpts[T-3-v]}),$=O,!((O+=S=r.dist(C,_))>=d));v+=2);E=(d-$)/S,E=r.bound(0,E,1),t=r.lineAt(C,_,E),c=p(C,_)}l("labelX",o,t.x),l("labelY",o,t.y),l("labelAutoAngle",o,c)}};c("source"),c("target"),this.applyLabelDimensions(e)}},applyLabelDimensions:function(e){this.applyPrefixedLabelDimensions(e),e.isEdge()&&(this.applyPrefixedLabelDimensions(e,"source"),this.applyPrefixedLabelDimensions(e,"target"))},applyPrefixedLabelDimensions:function(e,t){var n=e._private,r=this.getLabelText(e,t),i=this.calculateLabelDimensions(e,r);o.setPrefixedProperty(n.rstyle,"labelWidth",t,i.width),o.setPrefixedProperty(n.rscratch,"labelWidth",t,i.width),o.setPrefixedProperty(n.rstyle,"labelHeight",t,i.height),o.setPrefixedProperty(n.rscratch,"labelHeight",t,i.height)},getLabelText:function(e,t){var n=e._private,r=t?t+"-":"",i=e.pstyle(r+"label").strValue,a=e.pstyle("text-transform").value,s=function(e,r){return r?(o.setPrefixedProperty(n.rscratch,e,t,r),r):o.getPrefixedProperty(n.rscratch,e,t)};"none"==a||("uppercase"==a?i=i.toUpperCase():"lowercase"==a&&(i=i.toLowerCase()));var l=e.pstyle("text-wrap").value;if("wrap"===l){var c=s("labelKey");if(c&&s("labelWrapKey")===c)return s("labelWrapCachedText");for(var u=i.split("\n"),d=e.pstyle("text-max-width").pfValue,p=[],f=0;f<u.length;f++){var h=u[f];if(this.calculateLabelDimensions(e,h,"line="+h).width>d){for(var g=h.split(/\s+/),m="",v=0;v<g.length;v++){var b=g[v],y=0===m.length?b:m+" "+b;this.calculateLabelDimensions(e,y,"testLine="+y).width<=d?m+=b+" ":(p.push(m),m=b+" ")}m.match(/^\s+$/)||p.push(m)}else p.push(h)}s("labelWrapCachedLines",p),i=s("labelWrapCachedText",p.join("\n")),s("labelWrapKey",c)}else if("ellipsis"===l){d=e.pstyle("text-max-width").pfValue;for(var x="",w=!1,k=0;k<i.length&&!(this.calculateLabelDimensions(e,x+i[k]+"…").width>d);k++)x+=i[k],k===i.length-1&&(w=!0);return w||(x+="…"),x}return i},calculateLabelDimensions:function(e,t,n){var r=e._private.labelStyleKey+"$@$"+t;n&&(r+="$@$"+n);var i=this.labelDimCache||(this.labelDimCache={});if(i[r])return i[r];var o=e.pstyle("font-style").strValue,a=1*e.pstyle("font-size").pfValue+"px",s=e.pstyle("font-family").strValue,l=e.pstyle("font-weight").strValue,c=this.labelCalcDiv;c||(c=this.labelCalcDiv=document.createElement("div"),document.body.appendChild(c));var u=c.style;return u.fontFamily=s,u.fontStyle=o,u.fontSize=a,u.fontWeight=l,u.position="absolute",u.left="-9999px",u.top="-9999px",u.zIndex="-1",u.visibility="hidden",u.pointerEvents="none",u.padding="0",u.lineHeight="1","wrap"===e.pstyle("text-wrap").value?u.whiteSpace="pre":u.whiteSpace="normal",c.textContent=t,i[r]={width:Math.ceil(c.clientWidth/1),height:Math.ceil(c.clientHeight/1)},i[r]},calculateLabelAngles:function(e){var t=e._private.rscratch,n=e.isEdge(),r=e.pstyle("text-rotation"),i=r.strValue;"none"===i?t.labelAngle=t.sourceLabelAngle=t.targetLabelAngle=0:n&&"autorotate"===i?(t.labelAngle=Math.atan(t.midDispY/t.midDispX),t.sourceLabelAngle=t.sourceLabelAutoAngle,t.targetLabelAngle=t.targetLabelAutoAngle):t.labelAngle=t.sourceLabelAngle=t.targetLabelAngle="autorotate"===i?0:r.pfValue}};e.exports=a},function(e,t,n){"use strict";var r={getNodeShape:function(e){var t=e.pstyle("shape").value;if(e.isParent())return"rectangle"===t||"roundrectangle"===t||"cutrectangle"===t||"barrel"===t?t:"rectangle";if("polygon"===t){var n=e.pstyle("shape-polygon-points").value;return this.nodeShapes.makePolygon(n).name}return t}};e.exports=r},function(e,t,n){"use strict";var r={registerCalculationListeners:function(){var e=this.cy,t=e.collection(),n=this,r=function(e,n){var r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];t.merge(e);for(var i=0;i<e.length;i++){var o=e[i],a=o._private,s=a.rstyle;r&&(s.clean=!1,a.bbCache=null);var l=s.dirtyEvents=s.dirtyEvents||{length:0};l[n.type]||(l[n.type]=!0,l.length++)}};n.binder(e).on("position.* style.* free.* bounds.*","node",(function(e){var t=e.target;r(t,e),r(t.connectedEdges(),e)})).on("add.*","node",(function(e){var t=e.target;r(t,e)})).on("background.*","node",(function(e){var t=e.target;r(t,e,!1)})).on("add.* style.*","edge",(function(e){var t=e.target;r(t,e),r(t.parallelEdges(),e)})).on("remove.*","edge",(function(e){for(var t=e.target.parallelEdges(),n=0;n<t.length;n++){var i=t[n];i.removed()||r(i,e)}})).on("dirty.*","node",(function(e){var t=e.target;r(t,e)})),n.beforeRender((function(r){if(r){var i=n.onUpdateEleCalcsFns;if(i)for(var o=0;o<i.length;o++)(0,i[o])(r,t);for(n.recalculateRenderedStyle(t,!1),o=0;o<t.length;o++)t[o]._private.rstyle.dirtyEvents=null;t=e.collection()}}),n.beforeRenderPriorities.eleCalcs)},onUpdateEleCalcs:function(e){(this.onUpdateEleCalcsFns=this.onUpdateEleCalcsFns||[]).push(e)},recalculateRenderedStyle:function(e,t){var n=[],r=[];if(!this.destroyed){void 0===t&&(t=!0);for(var i=0;i<e.length;i++){var o=(l=(s=e[i])._private).rstyle;t&&o.clean||s.removed()||"none"!==s.pstyle("display").value&&("nodes"===l.group?r.push(s):n.push(s),o.clean=!0)}for(i=0;i<r.length;i++){o=(l=(s=r[i])._private).rstyle;var a=s.position();this.recalculateNodeLabelProjection(s),o.nodeX=a.x,o.nodeY=a.y,o.nodeW=s.pstyle("width").pfValue,o.nodeH=s.pstyle("height").pfValue}for(this.recalculateEdgeProjections(n),i=0;i<n.length;i++){o=(l=(s=n[i])._private).rstyle;var s,l,c=l.rscratch;this.recalculateEdgeLabelProjections(s),o.srcX=c.arrowStartX,o.srcY=c.arrowStartY,o.tgtX=c.arrowEndX,o.tgtY=c.arrowEndY,o.midX=c.midX,o.midY=c.midY,o.labelAngle=c.labelAngle,o.sourceLabelAngle=c.sourceLabelAngle,o.targetLabelAngle=c.targetLabelAngle}}}};e.exports=r},function(e,t,n){"use strict";var r=n(17),i={updateCachedGrabbedEles:function(){var e=this.cachedZSortedEles;if(e){e.drag=[],e.nondrag=[];for(var t=[],n=0;n<e.length;n++){var r=(i=e[n])._private.rscratch;i.grabbed()&&!i.isParent()?t.push(i):r.inDragLayer?e.drag.push(i):e.nondrag.push(i)}for(n=0;n<t.length;n++){var i=t[n];e.drag.push(i)}}},invalidateCachedZSortedEles:function(){this.cachedZSortedEles=null},getCachedZSortedEles:function(e){if(e||!this.cachedZSortedEles){var t=this.cy.mutableElements().toArray();t.sort(r),t.interactive=t.filter((function(e){return e.interactive()})),this.cachedZSortedEles=t,this.updateCachedGrabbedEles()}else t=this.cachedZSortedEles;return t}};e.exports=i},function(e,t,n){"use strict";var r={getCachedImage:function(e,t,n){var r=this.imageCache=this.imageCache||{},i=r[e];if(i)return i.image.complete||i.image.addEventListener("load",n),i.image;var o=(i=r[e]=r[e]||{}).image=new Image;return o.addEventListener("load",n),o.addEventListener("error",(function(){o.error=!0})),"data:"===e.substring(0,"data:".length).toLowerCase()||(o.crossOrigin=t),o.src=e,o}};e.exports=r},function(e,t,n){"use strict";var r=n(0),i=n(1),o=n(2),a=(n(16),{registerBinding:function(e,t,n,r){var i=Array.prototype.slice.apply(arguments,[1]),o=this.binder(e);return o.on.apply(o,i)},binder:function(e){var t=this,n=e===window||e===document||e===document.body||r.domElement(e);if(null==t.supportsPassiveEvents){var i=!1;try{var o=Object.defineProperty({},"passive",{get:function(){i=!0}});window.addEventListener("test",null,o)}catch(e){}t.supportsPassiveEvents=i}var a=function(r,i,o){var a=Array.prototype.slice.call(arguments);return n&&t.supportsPassiveEvents&&(a[2]={capture:null!=o&&o,passive:!1,once:!1}),t.bindings.push({target:e,args:a}),(e.addEventListener||e.on).apply(e,a),this};return{on:a,addEventListener:a,addListener:a,bind:a}},nodeIsDraggable:function(e){return e&&e.isNode()&&!e.locked()&&e.grabbable()},nodeIsGrabbable:function(e){return this.nodeIsDraggable(e)&&e.interactive()}});a.load=function(){var e=this,t=function(t,n,r,o){null==t&&(t=e.cy);for(var a=0;a<n.length;a++){var s=n[a];t.emit(i.extend({originalEvent:r,type:s},o))}},n=function(e){return e.shiftKey||e.metaKey||e.ctrlKey},a=function(t,n){var r=!0;if(e.cy.hasCompoundNodes()&&t&&t.isEdge()){for(var i=0;n&&i<n.length;i++)if((t=n[i]).isNode()&&t.isParent()){r=!1;break}}else r=!0;return r},s=function(e){e[0]._private.rscratch.inDragLayer=!0},l=function(e){e[0]._private.rscratch.isGrabTarget=!0},c=function(t,n){var r=function(t){var n;if(t.addToList&&e.cy.hasCompoundNodes()){if(!t.addToList.hasId){t.addToList.hasId={};for(var r=0;r<t.addToList.length;r++){var i=t.addToList[r];t.addToList.hasId[i.id()]=!0}}n=t.addToList.hasId}return n||{}}(n);r[t.id()]||(n.addToList.push(t),r[t.id()]=!0,function(e){e[0]._private.grabbed=!0}(t))},u=function(t,n){n=n||{};var r=t.cy().hasCompoundNodes();n.inDragLayer&&(t.forEach(s),t.neighborhood().stdFilter((function(e){return!r||e.isEdge()})).forEach(s)),n.addToList&&t.forEach((function(e){c(e,n)})),function(e,t){if(e.cy().hasCompoundNodes()&&(null!=t.inDragLayer||null!=t.addToList)){var n=e.descendants();t.inDragLayer&&(n.forEach(s),n.connectedEdges().forEach(s)),t.addToList&&n.forEach((function(e){c(e,t)}))}}(t,n),f(t,{inDragLayer:n.inDragLayer}),e.updateCachedGrabbedEles()},d=u,p=function(t){t&&(t.hasId={},e.getCachedZSortedEles().forEach((function(e){!function(e){e[0]._private.grabbed=!1}(e),function(e){e[0]._private.rscratch.inDragLayer=!1}(e),function(e){e[0]._private.rscratch.isGrabTarget=!1}(e)})),e.updateCachedGrabbedEles())},f=function(e,t){if((null!=t.inDragLayer||null!=t.addToList)&&e.cy().hasCompoundNodes()){var n=e.ancestors().orphans();if(!n.same(e)){var r=n.descendants().spawnSelf().merge(n).unmerge(e).unmerge(e.descendants()),i=r.connectedEdges();t.inDragLayer&&(i.forEach(s),r.forEach(s)),t.addToList&&r.forEach((function(e){c(e,t)}))}}},h="undefined"!=typeof MutationObserver;h?(e.removeObserver=new MutationObserver((function(t){for(var n=0;n<t.length;n++){var r=t[n].removedNodes;if(r)for(var i=0;i<r.length;i++)if(r[i]===e.container){e.destroy();break}}})),e.container.parentNode&&e.removeObserver.observe(e.container.parentNode,{childList:!0})):e.registerBinding(e.container,"DOMNodeRemoved",(function(t){e.destroy()}));var g=i.debounce((function(){e.cy.resize()}),100);h&&(e.styleObserver=new MutationObserver(g),e.styleObserver.observe(e.container,{attributes:!0})),e.registerBinding(window,"resize",g);var m=function(){e.invalidateContainerClientCoordsCache()};!function(e,t){for(;null!=e;)t(e),e=e.parentNode}(e.container,(function(t){e.registerBinding(t,"transitionend",m),e.registerBinding(t,"animationend",m),e.registerBinding(t,"scroll",m)})),e.registerBinding(e.container,"contextmenu",(function(e){e.preventDefault()}));var v,b,y,x,w,k,A,E,S,$,C,_,O,T=function(t){for(var n=e.findContainerClientCoords(),r=n[0],i=n[1],o=n[2],a=n[3],s=t.touches?t.touches:[t],l=!1,c=0;c<s.length;c++){var u=s[c];if(r<=u.clientX&&u.clientX<=r+o&&i<=u.clientY&&u.clientY<=i+a){l=!0;break}}if(!l)return!1;for(var d=e.container,p=t.target.parentNode,f=!1;p;){if(p===d){f=!0;break}p=p.parentNode}return!!f};e.registerBinding(e.container,"mousedown",(function(n){if(T(n)){n.preventDefault(),e.hoverData.capture=!0,e.hoverData.which=n.which;var r=e.cy,i=[n.clientX,n.clientY],o=e.projectIntoViewport(i[0],i[1]),a=e.selection,s=e.findNearestElements(o[0],o[1],!0,!1),c=s[0],p=e.dragData.possibleDragElements;if(e.hoverData.mdownPos=o,e.hoverData.mdownGPos=i,3==n.which){e.hoverData.cxtStarted=!0;var f={originalEvent:n,type:"cxttapstart",position:{x:o[0],y:o[1]}};c?(c.activate(),c.emit(f),e.hoverData.down=c):r.emit(f),e.hoverData.downTime=(new Date).getTime(),e.hoverData.cxtDragged=!1}else if(1==n.which){if(c&&c.activate(),null!=c&&e.nodeIsGrabbable(c)){var h=function(e){return{originalEvent:n,type:e,position:{x:o[0],y:o[1]}}};if(l(c),c.selected()){p=e.dragData.possibleDragElements=[];var g=r.$((function(t){return t.isNode()&&t.selected()&&e.nodeIsGrabbable(t)}));u(g,{addToList:p}),c.emit(h("grabon")),g.forEach((function(e){e.emit(h("grab"))}))}else p=e.dragData.possibleDragElements=[],d(c,{addToList:p}),c.emit(h("grabon")).emit(h("grab"));e.redrawHint("eles",!0),e.redrawHint("drag",!0)}e.hoverData.down=c,e.hoverData.downs=s,e.hoverData.downTime=(new Date).getTime(),t(c,["mousedown","tapstart","vmousedown"],n,{position:{x:o[0],y:o[1]}}),null==c?(a[4]=1,e.data.bgActivePosistion={x:o[0],y:o[1]},e.redrawHint("select",!0),e.redraw()):c.isEdge()&&(a[4]=1),e.hoverData.tapholdCancelled=!1,clearTimeout(e.hoverData.tapholdTimeout),e.hoverData.tapholdTimeout=setTimeout((function(){if(!e.hoverData.tapholdCancelled){var t=e.hoverData.down;t?t.emit({originalEvent:n,type:"taphold",position:{x:o[0],y:o[1]}}):r.emit({originalEvent:n,type:"taphold",position:{x:o[0],y:o[1]}})}}),e.tapholdDuration)}a[0]=a[2]=o[0],a[1]=a[3]=o[1]}}),!1),e.registerBinding(window,"mousemove",(function(i){if(e.hoverData.capture||T(i)){var s=!1,l=e.cy,c=l.zoom(),d=[i.clientX,i.clientY],f=e.projectIntoViewport(d[0],d[1]),h=e.hoverData.mdownPos,g=e.hoverData.mdownGPos,m=e.selection,v=null;e.hoverData.draggingEles||e.hoverData.dragging||e.hoverData.selecting||(v=e.findNearestElement(f[0],f[1],!0,!1));var b,y=e.hoverData.last,x=e.hoverData.down,w=[f[0]-m[2],f[1]-m[3]],k=e.dragData.possibleDragElements;if(g){var A=d[0]-g[0],E=A*A,S=d[1]-g[1],$=E+S*S;e.hoverData.isOverThresholdDrag=b=$>=e.desktopTapThreshold2}var C=n(i);b&&(e.hoverData.tapholdCancelled=!0),s=!0,t(v,["mousemove","vmousemove","tapdrag"],i,{position:{x:f[0],y:f[1]}});var _=function(){e.data.bgActivePosistion=void 0,e.hoverData.selecting||l.emit("boxstart"),m[4]=1,e.hoverData.selecting=!0,e.redrawHint("select",!0),e.redraw()};if(3===e.hoverData.which){if(b){var O={originalEvent:i,type:"cxtdrag",position:{x:f[0],y:f[1]}};x?x.emit(O):l.emit(O),e.hoverData.cxtDragged=!0,e.hoverData.cxtOver&&v===e.hoverData.cxtOver||(e.hoverData.cxtOver&&e.hoverData.cxtOver.emit({originalEvent:i,type:"cxtdragout",position:{x:f[0],y:f[1]}}),e.hoverData.cxtOver=v,v&&v.emit({originalEvent:i,type:"cxtdragover",position:{x:f[0],y:f[1]}}))}}else if(e.hoverData.dragging){if(s=!0,l.panningEnabled()&&l.userPanningEnabled()){var j;if(e.hoverData.justStartedPan){var P=e.hoverData.mdownPos;j={x:(f[0]-P[0])*c,y:(f[1]-P[1])*c},e.hoverData.justStartedPan=!1}else j={x:w[0]*c,y:w[1]*c};l.panBy(j),e.hoverData.dragged=!0}f=e.projectIntoViewport(i.clientX,i.clientY)}else if(1!=m[4]||null!=x&&!x.isEdge()){if(x&&x.isEdge()&&x.active()&&x.unactivate(),x&&x.grabbed()||v==y||(y&&t(y,["mouseout","tapdragout"],i,{position:{x:f[0],y:f[1]}}),v&&t(v,["mouseover","tapdragover"],i,{position:{x:f[0],y:f[1]}}),e.hoverData.last=v),x)if(b){if(l.boxSelectionEnabled()&&C)x&&x.grabbed()&&(p(k),x.emit("free")),_();else if(x&&x.grabbed()&&e.nodeIsDraggable(x)){var D=!e.dragData.didDrag;D&&e.redrawHint("eles",!0),e.dragData.didDrag=!0;var R=[];e.hoverData.draggingEles||u(l.collection(k),{inDragLayer:!0});for(var I=0;I<k.length;I++){var N=k[I];if(e.nodeIsDraggable(N)&&N.grabbed()){var M=N.position();if(R.push(N),r.number(w[0])&&r.number(w[1])&&(M.x+=w[0],M.y+=w[1],D)){var z=e.hoverData.dragDelta;z&&r.number(z[0])&&r.number(z[1])&&(M.x+=z[0],M.y+=z[1])}}}e.hoverData.draggingEles=!0;var L=l.collection(R);L.dirtyCompoundBoundsCache(),L.emit("position drag"),e.redrawHint("drag",!0),e.redraw()}}else!function(){var t=e.hoverData.dragDelta=e.hoverData.dragDelta||[];0===t.length?(t.push(w[0]),t.push(w[1])):(t[0]+=w[0],t[1]+=w[1])}();s=!0}else b&&(e.hoverData.dragging||!l.boxSelectionEnabled()||!C&&l.panningEnabled()&&l.userPanningEnabled()?!e.hoverData.selecting&&l.panningEnabled()&&l.userPanningEnabled()&&a(x,e.hoverData.downs)&&(e.hoverData.dragging=!0,e.hoverData.justStartedPan=!0,m[4]=0,e.data.bgActivePosistion=o.array2point(h),e.redrawHint("select",!0),e.redraw()):_(),x&&x.isEdge()&&x.active()&&x.unactivate());return m[2]=f[0],m[3]=f[1],s?(i.stopPropagation&&i.stopPropagation(),i.preventDefault&&i.preventDefault(),!1):void 0}}),!1),e.registerBinding(window,"mouseup",(function(r){if(e.hoverData.capture){e.hoverData.capture=!1;var i=e.cy,o=e.projectIntoViewport(r.clientX,r.clientY),a=e.selection,s=e.findNearestElement(o[0],o[1],!0,!1),l=e.dragData.possibleDragElements,c=e.hoverData.down,u=n(r);if(e.data.bgActivePosistion&&(e.redrawHint("select",!0),e.redraw()),e.hoverData.tapholdCancelled=!0,e.data.bgActivePosistion=void 0,c&&c.unactivate(),3===e.hoverData.which){var d={originalEvent:r,type:"cxttapend",position:{x:o[0],y:o[1]}};if(c?c.emit(d):i.emit(d),!e.hoverData.cxtDragged){var f={originalEvent:r,type:"cxttap",position:{x:o[0],y:o[1]}};c?c.emit(f):i.emit(f)}e.hoverData.cxtDragged=!1,e.hoverData.which=null}else if(1===e.hoverData.which){if(null!=c||e.dragData.didDrag||e.hoverData.selecting||e.hoverData.dragged||n(r)||(i.$((function(e){return e.selected()})).unselect(),l.length>0&&e.redrawHint("eles",!0),e.dragData.possibleDragElements=l=[]),t(s,["mouseup","tapend","vmouseup"],r,{position:{x:o[0],y:o[1]}}),e.dragData.didDrag||e.hoverData.dragged||e.hoverData.selecting||e.hoverData.isOverThresholdDrag||t(c,["click","tap","vclick"],r,{position:{x:o[0],y:o[1]}}),s!=c||e.dragData.didDrag||e.hoverData.selecting||null!=s&&s._private.selectable&&(e.hoverData.dragging||("additive"===i.selectionType()||u?s.selected()?s.unselect():s.select():u||(i.$(":selected").unmerge(s).unselect(),s.select())),e.redrawHint("eles",!0)),e.hoverData.selecting){var h=i.collection(e.getAllInBox(a[0],a[1],a[2],a[3]));e.redrawHint("select",!0),h.length>0&&e.redrawHint("eles",!0),i.emit("boxend");var g=function(e){return e.selectable()&&!e.selected()};"additive"===i.selectionType()||u||i.$(":selected").unmerge(h).unselect(),h.emit("box").stdFilter(g).select().emit("boxselect"),e.redraw()}if(e.hoverData.dragging&&(e.hoverData.dragging=!1,e.redrawHint("select",!0),e.redrawHint("eles",!0),e.redraw()),!a[4]){e.redrawHint("drag",!0),e.redrawHint("eles",!0);var m=c&&c.grabbed();p(l),m&&c.emit("free")}}a[4]=0,e.hoverData.down=null,e.hoverData.cxtStarted=!1,e.hoverData.draggingEles=!1,e.hoverData.selecting=!1,e.hoverData.isOverThresholdDrag=!1,e.dragData.didDrag=!1,e.hoverData.dragged=!1,e.hoverData.dragDelta=[],e.hoverData.mdownPos=null,e.hoverData.mdownGPos=null}}),!1),e.registerBinding(e.container,"wheel",(function(t){if(!e.scrollingPage){var n,r=e.cy,i=e.projectIntoViewport(t.clientX,t.clientY),o=[i[0]*r.zoom()+r.pan().x,i[1]*r.zoom()+r.pan().y];e.hoverData.draggingEles||e.hoverData.dragging||e.hoverData.cxtStarted||0!==e.selection[4]?t.preventDefault():r.panningEnabled()&&r.userPanningEnabled()&&r.zoomingEnabled()&&r.userZoomingEnabled()&&(t.preventDefault(),e.data.wheelZooming=!0,clearTimeout(e.data.wheelTimeout),e.data.wheelTimeout=setTimeout((function(){e.data.wheelZooming=!1,e.redrawHint("eles",!0),e.redraw()}),150),n=null!=t.deltaY?t.deltaY/-250:null!=t.wheelDeltaY?t.wheelDeltaY/1e3:t.wheelDelta/1e3,n*=e.wheelSensitivity,1===t.deltaMode&&(n*=33),r.zoom({level:r.zoom()*Math.pow(10,n),renderedPosition:{x:o[0],y:o[1]}}))}}),!0),e.registerBinding(window,"scroll",(function(t){e.scrollingPage=!0,clearTimeout(e.scrollingPageTimeout),e.scrollingPageTimeout=setTimeout((function(){e.scrollingPage=!1}),250)}),!0),e.registerBinding(e.container,"mouseout",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseout",position:{x:n[0],y:n[1]}})}),!1),e.registerBinding(e.container,"mouseover",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseover",position:{x:n[0],y:n[1]}})}),!1);var j,P,D,R,I=function(e,t,n,r){return Math.sqrt((n-e)*(n-e)+(r-t)*(r-t))},N=function(e,t,n,r){return(n-e)*(n-e)+(r-t)*(r-t)};if(e.registerBinding(e.container,"touchstart",j=function(n){if(T(n)){e.touchData.capture=!0,e.data.bgActivePosistion=void 0;var r=e.cy,i=e.touchData.now,o=e.touchData.earlier;if(n.touches[0]){var a=e.projectIntoViewport(n.touches[0].clientX,n.touches[0].clientY);i[0]=a[0],i[1]=a[1]}if(n.touches[1]&&(a=e.projectIntoViewport(n.touches[1].clientX,n.touches[1].clientY),i[2]=a[0],i[3]=a[1]),n.touches[2]&&(a=e.projectIntoViewport(n.touches[2].clientX,n.touches[2].clientY),i[4]=a[0],i[5]=a[1]),n.touches[1]){p(e.dragData.touchDragEles);var s=e.findContainerClientCoords();S=s[0],$=s[1],C=s[2],_=s[3],v=n.touches[0].clientX-S,b=n.touches[0].clientY-$,y=n.touches[1].clientX-S,x=n.touches[1].clientY-$,O=0<=v&&v<=C&&0<=y&&y<=C&&0<=b&&b<=_&&0<=x&&x<=_;var c=r.pan(),f=r.zoom();if(w=I(v,b,y,x),k=N(v,b,y,x),E=[((A=[(v+y)/2,(b+x)/2])[0]-c.x)/f,(A[1]-c.y)/f],k<4e4&&!n.touches[2]){var h=e.findNearestElement(i[0],i[1],!0,!0),g=e.findNearestElement(i[2],i[3],!0,!0);return h&&h.isNode()?(h.activate().emit({originalEvent:n,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start=h):g&&g.isNode()?(g.activate().emit({originalEvent:n,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start=g):r.emit({originalEvent:n,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!0,e.touchData.cxtDragged=!1,e.data.bgActivePosistion=void 0,void e.redraw()}}if(n.touches[2]);else if(n.touches[1]);else if(n.touches[0]){var m=e.findNearestElements(i[0],i[1],!0,!0),j=m[0];if(null!=j&&(j.activate(),e.touchData.start=j,e.touchData.starts=m,e.nodeIsGrabbable(j))){var P=e.dragData.touchDragEles=[],D=null;e.redrawHint("eles",!0),e.redrawHint("drag",!0),j.selected()?(D=r.$((function(t){return t.selected()&&e.nodeIsGrabbable(t)})),u(D,{addToList:P})):d(j,{addToList:P}),l(j);var R=function(e){return{originalEvent:n,type:e,position:{x:i[0],y:i[1]}}};j.emit(R("grabon")),D?D.forEach((function(e){e.emit(R("grab"))})):j.emit(R("grab"))}t(j,["touchstart","tapstart","vmousedown"],n,{position:{x:i[0],y:i[1]}}),null==j&&(e.data.bgActivePosistion={x:a[0],y:a[1]},e.redrawHint("select",!0),e.redraw()),e.touchData.singleTouchMoved=!1,e.touchData.singleTouchStartTime=+new Date,clearTimeout(e.touchData.tapholdTimeout),e.touchData.tapholdTimeout=setTimeout((function(){!1!==e.touchData.singleTouchMoved||e.pinching||e.touchData.selecting||(t(e.touchData.start,["taphold"],n,{position:{x:i[0],y:i[1]}}),e.touchData.start||r.$(":selected").unselect())}),e.tapholdDuration)}if(n.touches.length>=1){for(var M=e.touchData.startPosition=[],z=0;z<i.length;z++)M[z]=o[z]=i[z];var L=n.touches[0];e.touchData.startGPosition=[L.clientX,L.clientY]}}},!1),e.registerBinding(window,"touchmove",P=function(n){var i=e.touchData.capture;if(i||T(n)){var s=e.selection,l=e.cy,c=e.touchData.now,d=e.touchData.earlier,f=l.zoom();if(n.touches[0]){var h=e.projectIntoViewport(n.touches[0].clientX,n.touches[0].clientY);c[0]=h[0],c[1]=h[1]}n.touches[1]&&(h=e.projectIntoViewport(n.touches[1].clientX,n.touches[1].clientY),c[2]=h[0],c[3]=h[1]),n.touches[2]&&(h=e.projectIntoViewport(n.touches[2].clientX,n.touches[2].clientY),c[4]=h[0],c[5]=h[1]);var g,m=e.touchData.startGPosition;if(i&&n.touches[0]&&m){for(var A=[],C=0;C<c.length;C++)A[C]=c[C]-d[C];var _=n.touches[0].clientX-m[0],j=_*_,P=n.touches[0].clientY-m[1];g=j+P*P>=e.touchTapThreshold2}if(i&&e.touchData.cxt){n.preventDefault();var D=n.touches[0].clientX-S,R=n.touches[0].clientY-$,M=n.touches[1].clientX-S,z=n.touches[1].clientY-$,L=N(D,R,M,z);if(L/k>=2.25||L>=22500){e.touchData.cxt=!1,e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var B={originalEvent:n,type:"cxttapend",position:{x:c[0],y:c[1]}};e.touchData.start?(e.touchData.start.unactivate().emit(B),e.touchData.start=null):l.emit(B)}}if(i&&e.touchData.cxt){B={originalEvent:n,type:"cxtdrag",position:{x:c[0],y:c[1]}},e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.touchData.start?e.touchData.start.emit(B):l.emit(B),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxtDragged=!0;var F=e.findNearestElement(c[0],c[1],!0,!0);e.touchData.cxtOver&&F===e.touchData.cxtOver||(e.touchData.cxtOver&&e.touchData.cxtOver.emit({originalEvent:n,type:"cxtdragout",position:{x:c[0],y:c[1]}}),e.touchData.cxtOver=F,F&&F.emit({originalEvent:n,type:"cxtdragover",position:{x:c[0],y:c[1]}}))}else if(i&&n.touches[2]&&l.boxSelectionEnabled())n.preventDefault(),e.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,e.touchData.selecting||l.emit("boxstart"),e.touchData.selecting=!0,e.redrawHint("select",!0),s&&0!==s.length&&void 0!==s[0]?(s[2]=(c[0]+c[2]+c[4])/3,s[3]=(c[1]+c[3]+c[5])/3):(s[0]=(c[0]+c[2]+c[4])/3,s[1]=(c[1]+c[3]+c[5])/3,s[2]=(c[0]+c[2]+c[4])/3+1,s[3]=(c[1]+c[3]+c[5])/3+1),s[4]=1,e.touchData.selecting=!0,e.redraw();else if(i&&n.touches[1]&&l.zoomingEnabled()&&l.panningEnabled()&&l.userZoomingEnabled()&&l.userPanningEnabled()){if(n.preventDefault(),e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),ee=e.dragData.touchDragEles){e.redrawHint("drag",!0);for(var q=0;q<ee.length;q++){var V=ee[q]._private;V.grabbed=!1,V.rscratch.inDragLayer=!1}}D=n.touches[0].clientX-S,R=n.touches[0].clientY-$,M=n.touches[1].clientX-S,z=n.touches[1].clientY-$;var U=I(D,R,M,z),H=U/w;if(O){var G=(D-v+(M-y))/2,W=(R-b+(z-x))/2,Y=l.zoom(),X=Y*H,Z=l.pan(),Q=E[0]*Y+Z.x,J=E[1]*Y+Z.y,K={x:-X/Y*(Q-Z.x-G)+Q,y:-X/Y*(J-Z.y-W)+J};if(e.touchData.start&&e.touchData.start.active()){var ee=e.dragData.touchDragEles;p(ee),e.redrawHint("drag",!0),e.redrawHint("eles",!0),e.touchData.start.unactivate().emit("free")}l.viewport({zoom:X,pan:K,cancelOnFailedZoom:!0}),w=U,v=D,b=R,y=M,x=z,e.pinching=!0}n.touches[0]&&(h=e.projectIntoViewport(n.touches[0].clientX,n.touches[0].clientY),c[0]=h[0],c[1]=h[1]),n.touches[1]&&(h=e.projectIntoViewport(n.touches[1].clientX,n.touches[1].clientY),c[2]=h[0],c[3]=h[1]),n.touches[2]&&(h=e.projectIntoViewport(n.touches[2].clientX,n.touches[2].clientY),c[4]=h[0],c[5]=h[1])}else if(n.touches[0]){var te=e.touchData.start,ne=e.touchData.last;if(e.hoverData.draggingEles||e.swipePanning||(F=e.findNearestElement(c[0],c[1],!0,!0)),i&&null!=te&&n.preventDefault(),i&&null!=te&&e.nodeIsDraggable(te))if(g){ee=e.dragData.touchDragEles;var re=!e.dragData.didDrag;re&&u(l.collection(ee),{inDragLayer:!0});for(var ie=0;ie<ee.length;ie++){var oe=ee[ie];if(e.nodeIsDraggable(oe)&&oe.grabbed()){e.dragData.didDrag=!0;var ae=oe.position();r.number(A[0])&&r.number(A[1])&&(ae.x+=A[0],ae.y+=A[1]),re&&(e.redrawHint("eles",!0),(le=e.touchData.dragDelta)&&r.number(le[0])&&r.number(le[1])&&(ae.x+=le[0],ae.y+=le[1]))}}var se=l.collection(ee);se.dirtyCompoundBoundsCache(),se.emit("position drag"),e.hoverData.draggingEles=!0,e.redrawHint("drag",!0),e.touchData.startPosition[0]==d[0]&&e.touchData.startPosition[1]==d[1]&&e.redrawHint("eles",!0),e.redraw()}else{var le;0===(le=e.touchData.dragDelta=e.touchData.dragDelta||[]).length?(le.push(A[0]),le.push(A[1])):(le[0]+=A[0],le[1]+=A[1])}if(t(te||F,["touchmove","tapdrag","vmousemove"],n,{position:{x:c[0],y:c[1]}}),te&&te.grabbed()||F==ne||(ne&&ne.emit({originalEvent:n,type:"tapdragout",position:{x:c[0],y:c[1]}}),F&&F.emit({originalEvent:n,type:"tapdragover",position:{x:c[0],y:c[1]}})),e.touchData.last=F,i)for(q=0;q<c.length;q++)c[q]&&e.touchData.startPosition[q]&&g&&(e.touchData.singleTouchMoved=!0);i&&(null==te||te.isEdge())&&l.panningEnabled()&&l.userPanningEnabled()&&(a(te,e.touchData.starts)&&(n.preventDefault(),e.swipePanning?l.panBy({x:A[0]*f,y:A[1]*f}):g&&(e.swipePanning=!0,l.panBy({x:_*f,y:P*f}),te&&(te.unactivate(),e.data.bgActivePosistion||(e.data.bgActivePosistion=o.array2point(e.touchData.startPosition)),e.redrawHint("select",!0),e.touchData.start=null))),h=e.projectIntoViewport(n.touches[0].clientX,n.touches[0].clientY),c[0]=h[0],c[1]=h[1])}for(C=0;C<c.length;C++)d[C]=c[C]}},!1),e.registerBinding(window,"touchcancel",D=function(t){var n=e.touchData.start;e.touchData.capture=!1,n&&n.unactivate()}),e.registerBinding(window,"touchend",R=function(n){var r=e.touchData.start;if(e.touchData.capture){e.touchData.capture=!1,n.preventDefault();var i=e.selection;e.swipePanning=!1,e.hoverData.draggingEles=!1;var o,a=e.cy,s=a.zoom(),l=e.touchData.now,c=e.touchData.earlier;if(n.touches[0]){var u=e.projectIntoViewport(n.touches[0].clientX,n.touches[0].clientY);l[0]=u[0],l[1]=u[1]}if(n.touches[1]&&(u=e.projectIntoViewport(n.touches[1].clientX,n.touches[1].clientY),l[2]=u[0],l[3]=u[1]),n.touches[2]&&(u=e.projectIntoViewport(n.touches[2].clientX,n.touches[2].clientY),l[4]=u[0],l[5]=u[1]),r&&r.unactivate(),e.touchData.cxt){if(o={originalEvent:n,type:"cxttapend",position:{x:l[0],y:l[1]}},r?r.emit(o):a.emit(o),!e.touchData.cxtDragged){var d={originalEvent:n,type:"cxttap",position:{x:l[0],y:l[1]}};r?r.emit(d):a.emit(d)}return e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!1,e.touchData.start=null,void e.redraw()}if(!n.touches[2]&&a.boxSelectionEnabled()&&e.touchData.selecting){e.touchData.selecting=!1;var f=a.collection(e.getAllInBox(i[0],i[1],i[2],i[3]));i[0]=void 0,i[1]=void 0,i[2]=void 0,i[3]=void 0,i[4]=0,e.redrawHint("select",!0),a.emit("boxend"),f.emit("box").stdFilter((function(e){return e.selectable()&&!e.selected()})).select().emit("boxselect"),f.nonempty()&&e.redrawHint("eles",!0),e.redraw()}if(null!=r&&r.unactivate(),n.touches[2])e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);else if(n.touches[1]);else if(n.touches[0]);else if(!n.touches[0]){e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var h=e.dragData.touchDragEles;if(null!=r){var g=r._private.grabbed;p(h),e.redrawHint("drag",!0),e.redrawHint("eles",!0),g&&r.emit("free"),t(r,["touchend","tapend","vmouseup","tapdragout"],n,{position:{x:l[0],y:l[1]}}),r.unactivate(),e.touchData.start=null}else{var m=e.findNearestElement(l[0],l[1],!0,!0);t(m,["touchend","tapend","vmouseup","tapdragout"],n,{position:{x:l[0],y:l[1]}})}var v=e.touchData.startPosition[0]-l[0],b=v*v,y=e.touchData.startPosition[1]-l[1],x=(b+y*y)*s*s;null!=r&&!e.dragData.didDrag&&r._private.selectable&&x<e.touchTapThreshold2&&!e.pinching&&("single"===a.selectionType()?(a.$(":selected").unmerge(r).unselect(),r.select()):r.selected()?r.unselect():r.select(),e.redrawHint("eles",!0)),e.touchData.singleTouchMoved||t(r,["tap","vclick"],n,{position:{x:l[0],y:l[1]}}),e.touchData.singleTouchMoved=!0}for(var w=0;w<l.length;w++)c[w]=l[w];e.dragData.didDrag=!1,0===n.touches.length&&(e.touchData.dragDelta=[],e.touchData.startPosition=null,e.touchData.startGPosition=null),n.touches.length<2&&(e.pinching=!1,e.redrawHint("eles",!0),e.redraw())}},!1),"undefined"==typeof TouchEvent){var M=[],z=function(e){return{clientX:e.clientX,clientY:e.clientY,force:1,identifier:e.pointerId,pageX:e.pageX,pageY:e.pageY,radiusX:e.width/2,radiusY:e.height/2,screenX:e.screenX,screenY:e.screenY,target:e.target}},L=function(e){M.push(function(e){return{event:e,touch:z(e)}}(e))},B=function(e){for(var t=0;t<M.length;t++)if(M[t].event.pointerId===e.pointerId)return void M.splice(t,1)},F=function(e){e.touches=M.map((function(e){return e.touch}))},q=function(e){return"mouse"===e.pointerType||4===e.pointerType};e.registerBinding(e.container,"pointerdown",(function(e){q(e)||(e.preventDefault(),L(e),F(e),j(e))})),e.registerBinding(e.container,"pointerup",(function(e){q(e)||(B(e),F(e),R(e))})),e.registerBinding(e.container,"pointercancel",(function(e){q(e)||(B(e),F(e),D())})),e.registerBinding(e.container,"pointermove",(function(e){q(e)||(e.preventDefault(),function(e){var t=M.filter((function(t){return t.event.pointerId===e.pointerId}))[0];t.event=e,t.touch=z(e)}(e),F(e),P(e))}))}},e.exports=a},function(e,t,n){"use strict";var r=n(2),i={generatePolygon:function(e,t){return this.nodeShapes[e]={renderer:this,name:e,points:t,draw:function(e,t,n,r,i){this.renderer.nodeShapeImpl("polygon",e,t,n,r,i,this.points)},intersectLine:function(e,t,n,i,o,a,s){return r.polygonIntersectLine(o,a,this.points,e,t,n/2,i/2,s)},checkPoint:function(e,t,n,i,o,a,s){return r.pointInsidePolygon(e,t,this.points,a,s,i,o,[0,-1],n)}}},generateEllipse:function(){return this.nodeShapes.ellipse={renderer:this,name:"ellipse",draw:function(e,t,n,r,i){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i)},intersectLine:function(e,t,n,i,o,a,s){return r.intersectLineEllipse(o,a,e,t,n/2+s,i/2+s)},checkPoint:function(e,t,n,i,o,a,s){return r.checkInEllipse(e,t,i,o,a,s,n)}}},generateRoundRectangle:function(){return this.nodeShapes.roundrectangle={renderer:this,name:"roundrectangle",points:r.generateUnitNgonPointsFitToSquare(4,0),draw:function(e,t,n,r,i){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i)},intersectLine:function(e,t,n,i,o,a,s){return r.roundRectangleIntersectLine(o,a,e,t,n,i,s)},checkPoint:function(e,t,n,i,o,a,s){var l=r.getRoundRectangleRadius(i,o),c=2*l;return!!(r.pointInsidePolygon(e,t,this.points,a,s,i,o-c,[0,-1],n)||r.pointInsidePolygon(e,t,this.points,a,s,i-c,o,[0,-1],n)||r.checkInEllipse(e,t,c,c,a-i/2+l,s-o/2+l,n)||r.checkInEllipse(e,t,c,c,a+i/2-l,s-o/2+l,n)||r.checkInEllipse(e,t,c,c,a+i/2-l,s+o/2-l,n)||r.checkInEllipse(e,t,c,c,a-i/2+l,s+o/2-l,n))}}},generateCutRectangle:function(){return this.nodeShapes.cutrectangle={renderer:this,name:"cutrectangle",cornerLength:r.getCutRectangleCornerLength(),points:r.generateUnitNgonPointsFitToSquare(4,0),draw:function(e,t,n,r,i){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i)},generateCutTrianglePts:function(e,t,n,r){var i=this.cornerLength,o=t/2,a=e/2,s=n-a,l=n+a,c=r-o,u=r+o;return{topLeft:[s,c+i,s+i,c,s+i,c+i],topRight:[l-i,c,l,c+i,l-i,c+i],bottomRight:[l,u-i,l-i,u,l-i,u-i],bottomLeft:[s+i,u,s,u-i,s+i,u-i]}},intersectLine:function(e,t,n,i,o,a,s){var l=this.generateCutTrianglePts(n+2*s,i+2*s,e,t),c=[].concat.apply([],[l.topLeft.splice(0,4),l.topRight.splice(0,4),l.bottomRight.splice(0,4),l.bottomLeft.splice(0,4)]);return r.polygonIntersectLine(o,a,c,e,t)},checkPoint:function(e,t,n,i,o,a,s){if(r.pointInsidePolygon(e,t,this.points,a,s,i,o-2*this.cornerLength,[0,-1],n))return!0;if(r.pointInsidePolygon(e,t,this.points,a,s,i-2*this.cornerLength,o,[0,-1],n))return!0;var l=this.generateCutTrianglePts(i,o,a,s);return r.pointInsidePolygonPoints(e,t,l.topLeft)||r.pointInsidePolygonPoints(e,t,l.topRight)||r.pointInsidePolygonPoints(e,t,l.bottomRight)||r.pointInsidePolygonPoints(e,t,l.bottomLeft)}}},generateBarrel:function(){return this.nodeShapes.barrel={renderer:this,name:"barrel",points:r.generateUnitNgonPointsFitToSquare(4,0),draw:function(e,t,n,r,i){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i)},intersectLine:function(e,t,n,i,o,a,s){var l=this.generateBarrelBezierPts(n+2*s,i+2*s,e,t),c=function(e){var t=r.qbezierPtAt({x:e[0],y:e[1]},{x:e[2],y:e[3]},{x:e[4],y:e[5]},.15),n=r.qbezierPtAt({x:e[0],y:e[1]},{x:e[2],y:e[3]},{x:e[4],y:e[5]},.5),i=r.qbezierPtAt({x:e[0],y:e[1]},{x:e[2],y:e[3]},{x:e[4],y:e[5]},.85);return[e[0],e[1],t.x,t.y,n.x,n.y,i.x,i.y,e[4],e[5]]},u=[].concat(c(l.topLeft),c(l.topRight),c(l.bottomRight),c(l.bottomLeft));return r.polygonIntersectLine(o,a,u,e,t)},generateBarrelBezierPts:function(e,t,n,i){var o=t/2,a=e/2,s=n-a,l=n+a,c=i-o,u=i+o,d=r.getBarrelCurveConstants(e,t),p=d.heightOffset,f=d.widthOffset,h=d.ctrlPtOffsetPct*e,g={topLeft:[s,c+p,s+h,c,s+f,c],topRight:[l-f,c,l-h,c,l,c+p],bottomRight:[l,u-p,l-h,u,l-f,u],bottomLeft:[s+f,u,s+h,u,s,u-p]};return g.topLeft.isTop=!0,g.topRight.isTop=!0,g.bottomLeft.isBottom=!0,g.bottomRight.isBottom=!0,g},checkPoint:function(e,t,n,i,o,a,s){var l=r.getBarrelCurveConstants(i,o),c=l.heightOffset,u=l.widthOffset;if(r.pointInsidePolygon(e,t,this.points,a,s,i,o-2*c,[0,-1],n))return!0;if(r.pointInsidePolygon(e,t,this.points,a,s,i-2*u,o,[0,-1],n))return!0;for(var d=this.generateBarrelBezierPts(i,o,a,s),p=function(e,t,n){var i=n[4],o=n[2],a=n[0],s=n[5],l=n[1],c=Math.min(i,a),u=Math.max(i,a),d=Math.min(s,l),p=Math.max(s,l);if(c<=e&&e<=u&&d<=t&&t<=p){var f=r.bezierPtsToQuadCoeff(i,o,a),h=r.solveQuadratic(f[0],f[1],f[2],e).filter((function(e){return 0<=e&&e<=1}));if(h.length>0)return h[0]}return null},f=Object.keys(d),h=0;h<f.length;h++){var g=d[f[h]],m=p(e,t,g);if(null!=m){var v=g[5],b=g[3],y=g[1],x=r.qbezierAt(v,b,y,m);if(g.isTop&&x<=t)return!0;if(g.isBottom&&t<=x)return!0}}return!1}}},generateBottomRoundrectangle:function(){return this.nodeShapes.bottomroundrectangle={renderer:this,name:"bottomroundrectangle",points:r.generateUnitNgonPointsFitToSquare(4,0),draw:function(e,t,n,r,i){this.renderer.nodeShapeImpl(this.name,e,t,n,r,i)},intersectLine:function(e,t,n,i,o,a,s){var l=e-(n/2+s),c=t-(i/2+s),u=c,d=e+(n/2+s),p=r.finiteLinesIntersect(o,a,e,t,l,c,d,u,!1);return p.length>0?p:r.roundRectangleIntersectLine(o,a,e,t,n,i,s)},checkPoint:function(e,t,n,i,o,a,s){var l=r.getRoundRectangleRadius(i,o),c=2*l;if(r.pointInsidePolygon(e,t,this.points,a,s,i,o-c,[0,-1],n))return!0;if(r.pointInsidePolygon(e,t,this.points,a,s,i-c,o,[0,-1],n))return!0;var u=i/2+2*n,d=o/2+2*n,p=[a-u,s-d,a-u,s,a+u,s,a+u,s-d];return!!r.pointInsidePolygonPoints(e,t,p)||!!r.checkInEllipse(e,t,c,c,a+i/2-l,s+o/2-l,n)||!!r.checkInEllipse(e,t,c,c,a-i/2+l,s+o/2-l,n)}}},registerNodeShapes:function(){var e=this.nodeShapes={},t=this;this.generateEllipse(),this.generatePolygon("triangle",r.generateUnitNgonPointsFitToSquare(3,0)),this.generatePolygon("rectangle",r.generateUnitNgonPointsFitToSquare(4,0)),e.square=e.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle(),this.generatePolygon("diamond",[0,1,1,0,0,-1,-1,0]),this.generatePolygon("pentagon",r.generateUnitNgonPointsFitToSquare(5,0)),this.generatePolygon("hexagon",r.generateUnitNgonPointsFitToSquare(6,0)),this.generatePolygon("heptagon",r.generateUnitNgonPointsFitToSquare(7,0)),this.generatePolygon("octagon",r.generateUnitNgonPointsFitToSquare(8,0));var n=new Array(20),i=r.generateUnitNgonPoints(5,0),o=r.generateUnitNgonPoints(5,Math.PI/5),a=.5*(3-Math.sqrt(5));a*=1.57;for(var s=0;s<o.length/2;s++)o[2*s]*=a,o[2*s+1]*=a;for(s=0;s<5;s++)n[4*s]=i[2*s],n[4*s+1]=i[2*s+1],n[4*s+2]=o[2*s],n[4*s+3]=o[2*s+1];n=r.fitPolygonToSquare(n),this.generatePolygon("star",n),this.generatePolygon("vee",[-1,-1,0,-.333,1,-1,0,1]),this.generatePolygon("rhomboid",[-1,-1,.333,-1,1,1,-.333,1]),this.generatePolygon("concavehexagon",[-1,-.95,-.75,0,-1,.95,1,.95,.75,0,1,-.95]),this.generatePolygon("tag",[-1,-1,.25,-1,1,0,.25,1,-1,1]),e.makePolygon=function(e){var n,r="polygon-"+e.join("$");return(n=this[r])?n:t.generatePolygon(r,e)}}};e.exports=i},function(e,t,n){"use strict";var r=n(1),i={timeToRender:function(){return this.redrawTotalTime/this.redrawCount},redraw:function(e){e=e||r.staticEmptyObject();var t=this;void 0===t.averageRedrawTime&&(t.averageRedrawTime=0),void 0===t.lastRedrawTime&&(t.lastRedrawTime=0),void 0===t.lastDrawTime&&(t.lastDrawTime=0),t.requestedFrame=!0,t.renderOptions=e},beforeRender:function(e,t){if(!this.destroyed){t=t||0;var n=this.beforeRenderCallbacks;n.push({fn:e,priority:t}),n.sort((function(e,t){return t.priority-e.priority}))}}},o=function(e,t,n){for(var r=e.beforeRenderCallbacks,i=0;i<r.length;i++)r[i].fn(t,n)};i.startRenderLoop=function(){var e=this;e.renderLoopStarted||(e.renderLoopStarted=!0,r.requestAnimationFrame((function t(n){if(!e.destroyed){if(e.requestedFrame&&!e.skipFrame){o(e,!0,n);var i=r.performanceNow();e.render(e.renderOptions);var a=e.lastDrawTime=r.performanceNow();void 0===e.averageRedrawTime&&(e.averageRedrawTime=a-i),void 0===e.redrawCount&&(e.redrawCount=0),e.redrawCount++,void 0===e.redrawTotalTime&&(e.redrawTotalTime=0);var s=a-i;e.redrawTotalTime+=s,e.lastRedrawTime=s,e.averageRedrawTime=e.averageRedrawTime/2+s/2,e.requestedFrame=!1}else o(e,!1,n);e.skipFrame=!1,r.requestAnimationFrame(t)}})))},e.exports=i},function(e,t,n){"use strict";var r=n(1),i=n(0),o=n(124),a=n(125),s=c,l=c.prototype;function c(e){var t=this;t.data={canvases:new Array(l.CANVAS_LAYERS),contexts:new Array(l.CANVAS_LAYERS),canvasNeedsRedraw:new Array(l.CANVAS_LAYERS),bufferCanvases:new Array(l.BUFFER_COUNT),bufferContexts:new Array(l.CANVAS_LAYERS)};var n="-webkit-tap-highlight-color: rgba(0,0,0,0);";t.data.canvasContainer=document.createElement("div");var r=t.data.canvasContainer.style;t.data.canvasContainer.setAttribute("style",n),r.position="relative",r.zIndex="0",r.overflow="hidden";var s=e.cy.container();s.appendChild(t.data.canvasContainer),(s.getAttribute("style")||"").indexOf(n)<0&&s.setAttribute("style",(s.getAttribute("style")||"")+n);for(var c=0;c<l.CANVAS_LAYERS;c++){var u=t.data.canvases[c]=document.createElement("canvas");t.data.contexts[c]=u.getContext("2d"),u.setAttribute("style","-webkit-user-select: none; -moz-user-select: -moz-none; user-select: none; -webkit-tap-highlight-color: rgba(0,0,0,0); outline-style: none;"+(i.ms()?" -ms-touch-action: none; touch-action: none; ":"")),u.style.position="absolute",u.setAttribute("data-id","layer"+c),u.style.zIndex=String(l.CANVAS_LAYERS-c),t.data.canvasContainer.appendChild(u),t.data.canvasNeedsRedraw[c]=!1}for(t.data.topCanvas=t.data.canvases[0],t.data.canvases[l.NODE].setAttribute("data-id","layer"+l.NODE+"-node"),t.data.canvases[l.SELECT_BOX].setAttribute("data-id","layer"+l.SELECT_BOX+"-selectbox"),t.data.canvases[l.DRAG].setAttribute("data-id","layer"+l.DRAG+"-drag"),c=0;c<l.BUFFER_COUNT;c++)t.data.bufferCanvases[c]=document.createElement("canvas"),t.data.bufferContexts[c]=t.data.bufferCanvases[c].getContext("2d"),t.data.bufferCanvases[c].style.position="absolute",t.data.bufferCanvases[c].setAttribute("data-id","buffer"+c),t.data.bufferCanvases[c].style.zIndex=String(-c-1),t.data.bufferCanvases[c].style.visibility="hidden";t.pathsEnabled=!0,t.data.eleTxrCache=new o(t),t.data.lyrTxrCache=new a(t,t.data.eleTxrCache),t.onUpdateEleCalcs((function(e,n){for(var r=0;r<n.length;r++){var i=n[r],o=i._private.rstyle,a=o.dirtyEvents;if(i.isNode()&&a&&1===a.length&&a.position);else if(t.data.eleTxrCache.invalidateElement(i),i.isParent()&&a.style){var s=o.prevParentOpacity,l=i.pstyle("opacity").pfValue;if(o.prevParentOpacity=l,s!==l)for(var c=i.descendants(),u=0;u<c.length;u++)t.data.eleTxrCache.invalidateElement(c[u])}}n.length>0&&t.data.lyrTxrCache.invalidateElements(n)}))}l.CANVAS_LAYERS=3,l.SELECT_BOX=0,l.DRAG=1,l.NODE=2,l.BUFFER_COUNT=3,l.TEXTURE_BUFFER=0,l.MOTIONBLUR_BUFFER_NODE=1,l.MOTIONBLUR_BUFFER_DRAG=2,l.redrawHint=function(e,t){var n=this;switch(e){case"eles":n.data.canvasNeedsRedraw[l.NODE]=t;break;case"drag":n.data.canvasNeedsRedraw[l.DRAG]=t;break;case"select":n.data.canvasNeedsRedraw[l.SELECT_BOX]=t}};var u="undefined"!=typeof Path2D;l.path2dEnabled=function(e){if(void 0===e)return this.pathsEnabled;this.pathsEnabled=!!e},l.usePaths=function(){return u&&this.pathsEnabled},[n(126),n(127),n(128),n(129),n(130),n(131),n(132),n(133),n(134),n(135)].forEach((function(e){r.extend(l,e)})),e.exports=s},function(e,t,n){"use strict";var r=n(2),i=n(1),o=n(9),a=n(19),s={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},l=function(e){this.renderer=e,this.onDequeues=[],this.setupDequeueing()},c=l.prototype;c.reasons=s,c.getTextureQueue=function(e){return this.eleImgCaches=this.eleImgCaches||{},this.eleImgCaches[e]=this.eleImgCaches[e]||[]},c.getRetiredTextureQueue=function(e){var t=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return t[e]=t[e]||[]},c.getElementQueue=function(){return this.eleCacheQueue=this.eleCacheQueue||new o((function(e,t){return t.reqs-e.reqs}))},c.getElementIdToQueue=function(){return this.eleIdToCacheQueue=this.eleIdToCacheQueue||{}},c.getElement=function(e,t,n,i,o){var a=this,l=this.renderer,c=e._private.rscratch,u=l.cy.zoom();if(0===t.w||0===t.h||!e.visible())return null;if(null==i&&(i=Math.ceil(r.log2(u*n))),i<-4)i=-4;else if(u>=3.99||i>2)return null;var d,p=Math.pow(2,i),f=t.h*p,h=t.w*p,g=c.imgCaches=c.imgCaches||{},m=g[i];if(m)return m;if(d=f<=25?25:f<=50?50:50*Math.ceil(f/50),f>1024||h>1024||e.isEdge()||e.isParent())return null;var v=a.getTextureQueue(d),b=v[v.length-2],y=function(){return a.recycleTexture(d,h)||a.addTexture(d,h)};b||(b=v[v.length-1]),b||(b=y()),b.width-b.usedWidth<h&&(b=y());for(var x,w=l.eleTextBiggerThanMin(e,p),k=function(e){return e&&e.scaledLabelShown===w},A=o&&o===s.dequeue,E=o&&o===s.highQuality,S=o&&o===s.downscale,$=i+1;$<=2;$++)if(T=g[$]){x=T;break}var C=x&&x.level===i+1?x:null,_=function(){b.context.drawImage(C.texture.canvas,C.x,0,C.width,C.height,b.usedWidth,0,h,f)};if(b.context.setTransform(1,0,0,1,0,0),b.context.clearRect(b.usedWidth,0,h,d),k(C))_();else if(k(x)){if(!E)return a.queueElement(e,x.level-1),x;for($=x.level;$>i;$--)C=a.getElement(e,t,n,$,s.downscale);_()}else{var O;if(!A&&!E&&!S)for($=i-1;$>=-4;$--){var T;if(T=g[$]){O=T;break}}if(k(O))return a.queueElement(e,i),O;b.context.translate(b.usedWidth,0),b.context.scale(p,p),l.drawElement(b.context,e,t,w),b.context.scale(1/p,1/p),b.context.translate(-b.usedWidth,0)}return m=g[i]={ele:e,x:b.usedWidth,texture:b,level:i,scale:p,width:h,height:f,scaledLabelShown:w},b.usedWidth+=Math.ceil(h+8),b.eleCaches.push(m),a.checkTextureFullness(b),m},c.invalidateElement=function(e){var t=e._private.rscratch.imgCaches;if(t)for(var n=-4;n<=2;n++){var r=t[n];if(r){var o=r.texture;o.invalidatedWidth+=r.width,t[n]=null,i.removeFromArray(o.eleCaches,r),this.removeFromQueue(e),this.checkTextureUtility(o)}}},c.checkTextureUtility=function(e){e.invalidatedWidth>=.5*e.width&&this.retireTexture(e)},c.checkTextureFullness=function(e){var t=this.getTextureQueue(e.height);e.usedWidth/e.width>.8&&e.fullnessChecks>=10?i.removeFromArray(t,e):e.fullnessChecks++},c.retireTexture=function(e){var t=e.height,n=this.getTextureQueue(t);i.removeFromArray(n,e),e.retired=!0;for(var r=e.eleCaches,o=0;o<r.length;o++){var a=r[o],s=a.ele,l=a.level,c=s._private.rscratch.imgCaches;c&&(c[l]=null)}i.clearArray(r),this.getRetiredTextureQueue(t).push(e)},c.addTexture=function(e,t){var n={};return this.getTextureQueue(e).push(n),n.eleCaches=[],n.height=e,n.width=Math.max(1024,t),n.usedWidth=0,n.invalidatedWidth=0,n.fullnessChecks=0,n.canvas=document.createElement("canvas"),n.canvas.width=n.width,n.canvas.height=n.height,n.context=n.canvas.getContext("2d"),n},c.recycleTexture=function(e,t){for(var n=this.getTextureQueue(e),r=this.getRetiredTextureQueue(e),o=0;o<r.length;o++){var a=r[o];if(a.width>=t)return a.retired=!1,a.usedWidth=0,a.invalidatedWidth=0,a.fullnessChecks=0,i.clearArray(a.eleCaches),a.context.setTransform(1,0,0,1,0,0),a.context.clearRect(0,0,a.width,a.height),i.removeFromArray(r,a),n.push(a),a}},c.queueElement=function(e,t){var n=this.getElementQueue(),r=this.getElementIdToQueue(),i=e.id(),o=r[i];if(o)o.level=Math.max(o.level,t),o.reqs++,n.updateItem(o);else{var a={ele:e,level:t,reqs:1};n.push(a),r[i]=a}},c.dequeue=function(e){for(var t=this.getElementQueue(),n=this.getElementIdToQueue(),r=[],i=0;i<1&&t.size()>0;i++){var o=t.pop(),a=o.ele;if(null==a._private.rscratch.imgCaches[o.level]){n[a.id()]=null,r.push(o);var l=a.boundingBox();this.getElement(a,l,e,o.level,s.dequeue)}}return r},c.removeFromQueue=function(e){var t=this.getElementQueue(),n=this.getElementIdToQueue(),r=n[e.id()];null!=r&&(r.reqs=i.MAX_INT,t.updateItem(r),t.pop(),n[e.id()]=null)},c.onDequeue=function(e){this.onDequeues.push(e)},c.offDequeue=function(e){i.removeFromArray(this.onDequeues,e)},c.setupDequeueing=a.setupDequeueing({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(e,t,n){return e.dequeue(t,n)},onDeqd:function(e,t){for(var n=0;n<e.onDequeues.length;n++)(0,e.onDequeues[n])(t)},shouldRedraw:function(e,t,n,i){for(var o=0;o<t.length;o++){var a=t[o].ele.boundingBox();if(r.boundingBoxesIntersect(a,i))return!0}return!1},priority:function(e){return e.renderer.beforeRenderPriorities.eleTxrDeq}}),e.exports=l},function(e,t,n){"use strict";var r=n(1),i=n(2),o=n(9),a=n(0),s=n(19),l=function(e,t){var n=this,i=n.renderer=e;n.layersByLevel={},n.firstGet=!0,n.lastInvalidationTime=r.performanceNow()-500,n.skipping=!1,i.beforeRender((function(e,t){t-n.lastInvalidationTime<=250?n.skipping=!0:n.skipping=!1})),n.layersQueue=new o((function(e,t){return t.reqs-e.reqs})),n.eleTxrCache=t,n.setupEleCacheInvalidation(),n.setupDequeueing()},c=l.prototype,u=0,d=Math.pow(2,53)-1;function p(e,t){null!=e.imageSmoothingEnabled?e.imageSmoothingEnabled=t:(e.webkitImageSmoothingEnabled=t,e.mozImageSmoothingEnabled=t,e.msImageSmoothingEnabled=t)}c.makeLayer=function(e,t){var n=Math.pow(2,t),r=Math.ceil(e.w*n),i=Math.ceil(e.h*n),o=document.createElement("canvas");o.width=r,o.height=i;var a={id:u=++u%d,bb:e,level:t,width:r,height:i,canvas:o,context:o.getContext("2d"),eles:[],elesQueue:[],reqs:0},s=a.context,l=-a.bb.x1,c=-a.bb.y1;return s.scale(n,n),s.translate(l,c),a},c.getLayers=function(e,t,n){var o=this,a=o.renderer.cy.zoom(),s=o.firstGet;if(o.firstGet=!1,null==n)if((n=Math.ceil(i.log2(a*t)))<-4)n=-4;else if(a>=3.99||n>2)return null;o.validateLayersElesOrdering(n,e);var l,c,u=o.layersByLevel,d=Math.pow(2,n),p=u[n]=u[n]||[];if(o.levelIsComplete(n,e))return p;!function(){var t=function(t){if(o.validateLayersElesOrdering(t,e),o.levelIsComplete(t,e))return c=u[t],!0},i=function(e){if(!c)for(var r=n+e;-4<=r&&r<=2&&!t(r);r+=e);};i(1),i(-1);for(var a=p.length-1;a>=0;a--){var s=p[a];s.invalid&&r.removeFromArray(p,s)}}();var f=function(t){var r=(t=t||{}).after;if(function(){if(!l){l=i.makeBoundingBox();for(var t=0;t<e.length;t++)i.updateBoundingBox(l,e[t].boundingBox())}}(),l.w*d*(l.h*d)>16e6)return null;var a=o.makeLayer(l,n);if(null!=r){var s=p.indexOf(r)+1;p.splice(s,0,a)}else(void 0===t.insert||t.insert)&&p.unshift(a);return a};if(o.skipping&&!s)return null;for(var h=null,g=e.length/1,m=!s,v=0;v<e.length;v++){var b=e[v],y=b._private.rscratch,x=y.imgLayerCaches=y.imgLayerCaches||{},w=x[n];if(w)h=w;else{if((!h||h.eles.length>=g||!i.boundingBoxInBoundingBox(h.bb,b.boundingBox()))&&!(h=f({insert:!0,after:h})))return null;c||m?o.queueLayer(h,b):o.drawEleInLayer(h,b,n,t),h.eles.push(b),x[n]=h}}return c||(m?null:p)},c.getEleLevelForLayerLevel=function(e,t){return e},c.drawEleInLayer=function(e,t,n,r){var i=this.renderer,o=e.context,a=t.boundingBox();if(0!==a.w&&0!==a.h&&t.visible()){var s=this.eleTxrCache,l=s.reasons.highQuality;n=this.getEleLevelForLayerLevel(n,r);var c=s.getElement(t,a,null,n,l);c?(p(o,!1),o.drawImage(c.texture.canvas,c.x,0,c.width,c.height,a.x1,a.y1,a.w,a.h),p(o,!0)):i.drawElement(o,t)}},c.levelIsComplete=function(e,t){var n=this.layersByLevel[e];if(!n||0===n.length)return!1;for(var r=0,i=0;i<n.length;i++){var o=n[i];if(o.reqs>0)return!1;if(o.invalid)return!1;r+=o.eles.length}return r===t.length},c.validateLayersElesOrdering=function(e,t){var n=this.layersByLevel[e];if(n)for(var r=0;r<n.length;r++){for(var i=n[r],o=-1,a=0;a<t.length;a++)if(i.eles[0]===t[a]){o=a;break}if(o<0)this.invalidateLayer(i);else{var s=o;for(a=0;a<i.eles.length;a++)if(i.eles[a]!==t[s+a]){this.invalidateLayer(i);break}}}},c.updateElementsInLayers=function(e,t){for(var n=a.element(e[0]),r=0;r<e.length;r++)for(var i=n?null:e[r],o=n?e[r]:e[r].ele,s=o._private.rscratch,l=s.imgLayerCaches=s.imgLayerCaches||{},c=-4;c<=2;c++){var u=l[c];u&&(i&&this.getEleLevelForLayerLevel(u.level)!==i.level||t(u,o,i))}},c.haveLayers=function(){for(var e=!1,t=-4;t<=2;t++){var n=this.layersByLevel[t];if(n&&n.length>0){e=!0;break}}return e},c.invalidateElements=function(e){var t=this;t.lastInvalidationTime=r.performanceNow(),0!==e.length&&t.haveLayers()&&t.updateElementsInLayers(e,(function(e,n,r){t.invalidateLayer(e)}))},c.invalidateLayer=function(e){if(this.lastInvalidationTime=r.performanceNow(),!e.invalid){var t=e.level,n=e.eles,i=this.layersByLevel[t];r.removeFromArray(i,e),e.elesQueue=[],e.invalid=!0,e.replacement&&(e.replacement.invalid=!0);for(var o=0;o<n.length;o++){var a=n[o]._private.rscratch.imgLayerCaches;a&&(a[t]=null)}}},c.refineElementTextures=function(e){var t=this;t.updateElementsInLayers(e,(function(e,n,r){var i=e.replacement;if(i||((i=e.replacement=t.makeLayer(e.bb,e.level)).replaces=e,i.eles=e.eles),!i.reqs)for(var o=0;o<i.eles.length;o++)t.queueLayer(i,i.eles[o])}))},c.setupEleCacheInvalidation=function(){var e=this,t=[],n=r.debounce((function(){e.refineElementTextures(t),t=[]}),50);e.eleTxrCache.onDequeue((function(e){for(var r=0;r<e.length;r++)t.push(e[r]);n()}))},c.queueLayer=function(e,t){var n=this.layersQueue,r=e.elesQueue,i=r.hasId=r.hasId||{};if(!e.replacement){if(t){if(i[t.id()])return;r.push(t),i[t.id()]=!0}e.reqs?(e.reqs++,n.updateItem(e)):(e.reqs=1,n.push(e))}},c.dequeue=function(e){for(var t=this.layersQueue,n=[],r=0;r<1&&0!==t.size();){var i=t.peek();if(i.replacement)t.pop();else if(i.replaces&&i!==i.replaces.replacement)t.pop();else if(i.invalid)t.pop();else{var o=i.elesQueue.shift();o&&(this.drawEleInLayer(i,o,i.level,e),r++),0===n.length&&n.push(!0),0===i.elesQueue.length&&(t.pop(),i.reqs=0,i.replaces&&this.applyLayerReplacement(i),this.requestRedraw())}}return n},c.applyLayerReplacement=function(e){var t=this.layersByLevel[e.level],n=e.replaces,r=t.indexOf(n);if(!(r<0||n.invalid)){t[r]=e;for(var i=0;i<e.eles.length;i++){var o=e.eles[i]._private,a=o.imgLayerCaches=o.imgLayerCaches||{};a&&(a[e.level]=e)}this.requestRedraw()}},c.requestRedraw=r.debounce((function(){var e=this.renderer;e.redrawHint("eles",!0),e.redrawHint("drag",!0),e.redraw()}),100),c.setupDequeueing=s.setupDequeueing({deqRedrawThreshold:50,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(e,t){return e.dequeue(t)},onDeqd:r.noop,shouldRedraw:r.trueify,priority:function(e){return e.renderer.beforeRenderPriorities.lyrTxrDeq}}),e.exports=l},function(e,t,n){"use strict";var r,i={arrowShapeImpl:function(e){return(r||(r={polygon:function(e,t){for(var n=0;n<t.length;n++){var r=t[n];e.lineTo(r.x,r.y)}},"triangle-backcurve":function(e,t,n){for(var r,i=0;i<t.length;i++){var o=t[i];0===i&&(r=o),e.lineTo(o.x,o.y)}e.quadraticCurveTo(n.x,n.y,r.x,r.y)},"triangle-tee":function(e,t,n){e.beginPath&&e.beginPath();for(var r=t,i=0;i<r.length;i++){var o=r[i];e.lineTo(o.x,o.y)}e.closePath&&e.closePath(),e.beginPath&&e.beginPath();var a=n,s=n[0];for(e.moveTo(s.x,s.y),i=0;i<a.length;i++)o=a[i],e.lineTo(o.x,o.y);e.closePath&&e.closePath()},"triangle-cross":function(e,t,n){e.beginPath&&e.beginPath();for(var r=t,i=0;i<r.length;i++){var o=r[i];e.lineTo(o.x,o.y)}e.closePath&&e.closePath(),e.beginPath&&e.beginPath();var a=n,s=n[0];for(e.moveTo(s.x,s.y),i=0;i<a.length;i++)o=a[i],e.lineTo(o.x,o.y);e.closePath&&e.closePath()},circle:function(e,t,n,r){e.arc(t,n,r,0,2*Math.PI,!1)}}))[e]}};e.exports=i},function(e,t,n){"use strict";var r=n(2),i={drawElement:function(e,t,n,r){t.isNode()?this.drawNode(e,t,n,r):this.drawEdge(e,t,n,r)},drawCachedElement:function(e,t,n,i){var o=t.boundingBox();if(0!==o.w&&0!==o.h&&(!i||r.boundingBoxesIntersect(o,i))){var a=this.data.eleTxrCache.getElement(t,o,n);null!=a?e.drawImage(a.texture.canvas,a.x,0,a.width,a.height,o.x1,o.y1,o.w,o.h):this.drawElement(e,t)}},drawElements:function(e,t){for(var n=0;n<t.length;n++){var r=t[n];this.drawElement(e,r)}},drawCachedElements:function(e,t,n,r){for(var i=0;i<t.length;i++){var o=t[i];this.drawCachedElement(e,o,n,r)}},drawCachedNodes:function(e,t,n,r){for(var i=0;i<t.length;i++){var o=t[i];o.isNode()&&this.drawCachedElement(e,o,n,r)}},drawLayeredElements:function(e,t,n,r){var i=this.data.lyrTxrCache.getLayers(t,n);if(i)for(var o=0;o<i.length;o++){var a=i[o],s=a.bb;0!==s.w&&0!==s.h&&e.drawImage(a.canvas,s.x1,s.y1,s.w,s.h)}else this.drawCachedElements(e,t,n,r)},drawDebugPoints:function(e,t){for(var n=function(t,n,r){e.fillStyle=r,e.fillRect(t-1,n-1,3,3)},r=0;r<t.length;r++){var i=t[r],o=i._private.rscratch;if(i.isNode()){var a=i.position();n(a.x,a.y,"magenta")}else{for(var s=o.allpts,l=0;l+1<s.length;l+=2)n(s[l],s[l+1],"cyan");n(o.midX,o.midY,"yellow")}}}};e.exports=i},function(e,t,n){"use strict";var r={drawEdge:function(e,t,n,r){var i=this,o=t._private.rscratch,a=i.usePaths();if(t.visible()&&!o.badLine&&null!=o.allpts&&!isNaN(o.allpts[0])){var s=void 0;n&&(s=n,e.translate(-s.x1,-s.y1));var l=2*t.pstyle("overlay-padding").pfValue,c=t.pstyle("overlay-opacity").value,u=t.pstyle("overlay-color").value,d=t.pstyle("line-color").value,p=t.pstyle("opacity").value,f=t.pstyle("line-style").value,h=t.pstyle("width").pfValue,g=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p;e.lineWidth=h,e.lineCap="butt",i.strokeStyle(e,d[0],d[1],d[2],n),i.drawEdgePath(t,e,o.allpts,f)},m=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p;i.drawArrowheads(e,t,n)};if(e.lineJoin="round","yes"===t.pstyle("ghost").value){var v=t.pstyle("ghost-offset-x").pfValue,b=t.pstyle("ghost-offset-y").pfValue,y=t.pstyle("ghost-opacity").value,x=p*y;e.translate(v,b),g(x),m(x),e.translate(-v,-b)}g(),m(),function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:c;e.lineWidth=l,"self"!==o.edgeType||a?e.lineCap="round":e.lineCap="butt",i.strokeStyle(e,u[0],u[1],u[2],n),i.drawEdgePath(t,e,o.allpts,"solid")}(),i.drawElementText(e,t,r),n&&e.translate(s.x1,s.y1)}},drawEdgePath:function(e,t,n,r){var i=e._private.rscratch,o=t,a=void 0,s=!1,l=this.usePaths();if(l){var c=n.join("$");i.pathCacheKey&&i.pathCacheKey===c?(a=t=i.pathCache,s=!0):(a=t=new Path2D,i.pathCacheKey=c,i.pathCache=a)}if(o.setLineDash)switch(r){case"dotted":o.setLineDash([1,1]);break;case"dashed":o.setLineDash([6,3]);break;case"solid":o.setLineDash([])}if(!s&&!i.badLine)switch(t.beginPath&&t.beginPath(),t.moveTo(n[0],n[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":if(e.hasClass("horizontal")){var u=n[4],d=n[5],p=(n[0]+n[4])/2;t.lineTo(n[0]+10,n[1]),t.bezierCurveTo(p,n[1],p,n[5],n[4]-10,n[5]),t.lineTo(u,d)}else if(e.hasClass("vertical")){var f=n[4],h=n[5],g=(n[1]+n[5])/2;t.bezierCurveTo(n[0],g,n[4],g,n[4],n[5]-10),t.lineTo(f,h)}else for(var m=2;m+3<n.length;m+=4)t.quadraticCurveTo(n[m],n[m+1],n[m+2],n[m+3]);break;case"straight":case"segments":case"haystack":for(var v=2;v+1<n.length;v+=2)t.lineTo(n[v],n[v+1])}t=o,l?t.stroke(a):t.stroke(),t.setLineDash&&t.setLineDash([])},drawArrowheads:function(e,t,n){var r=t._private.rscratch,i="haystack"===r.edgeType;i||this.drawArrowhead(e,t,"source",r.arrowStartX,r.arrowStartY,r.srcArrowAngle,n),this.drawArrowhead(e,t,"mid-target",r.midX,r.midY,r.midtgtArrowAngle,n),this.drawArrowhead(e,t,"mid-source",r.midX,r.midY,r.midsrcArrowAngle,n),i||(t.hasClass("horizontal")?this.drawArrowhead(e,t,"target",r.arrowEndX,r.arrowEndY,-Math.PI/2,n):t.hasClass("vertical")?this.drawArrowhead(e,t,"target",r.arrowEndX,r.arrowEndY,0,n):this.drawArrowhead(e,t,"target",r.arrowEndX,r.arrowEndY,r.tgtArrowAngle,n))},drawArrowhead:function(e,t,n,r,i,o,a){if(!(isNaN(r)||null==r||isNaN(i)||null==i||isNaN(o)||null==o)){var s=t.pstyle(n+"-arrow-shape").value;if("none"!==s){var l="hollow"===t.pstyle(n+"-arrow-fill").value?"both":"filled",c=t.pstyle(n+"-arrow-fill").value,u=t.pstyle("width").pfValue,d=t.pstyle("opacity").value;void 0===a&&(a=d);var p=e.globalCompositeOperation;1===a&&"hollow"!==c||(e.globalCompositeOperation="destination-out",this.fillStyle(e,255,255,255,1),this.strokeStyle(e,255,255,255,1),this.drawArrowShape(t,n,e,l,u,s,r,i,o),e.globalCompositeOperation=p);var f=t.pstyle(n+"-arrow-color").value;this.fillStyle(e,f[0],f[1],f[2],a),this.strokeStyle(e,f[0],f[1],f[2],a),this.drawArrowShape(t,n,e,c,u,s,r,i,o)}}},drawArrowShape:function(e,t,n,r,i,o,a,s,l){var c=this.usePaths(),u=e._private.rscratch,d=!1,p=void 0,f=n,h={x:a,y:s},g=e.pstyle("arrow-scale").value,m=this.getArrowWidth(i,g),v=this.arrowShapes[o];if(c){var b=m+"$"+o+"$"+l+"$"+a+"$"+s;u.arrowPathCacheKey=u.arrowPathCacheKey||{},u.arrowPathCache=u.arrowPathCache||{},u.arrowPathCacheKey[t]===b?(p=n=u.arrowPathCache[t],d=!0):(p=n=new Path2D,u.arrowPathCacheKey[t]=b,u.arrowPathCache[t]=p)}n.beginPath&&n.beginPath(),d||v.draw(n,m,l,h,i),!v.leavePathOpen&&n.closePath&&n.closePath(),n=f,"filled"!==r&&"both"!==r||(c?n.fill(p):n.fill()),"hollow"!==r&&"both"!==r||(n.lineWidth=v.matchEdgeWidth?i:1,n.lineJoin="miter",c?n.stroke(p):n.stroke())}};e.exports=r},function(e,t,n){"use strict";var r={safeDrawImage:function(e,t,n,r,i,o,a,s,l,c){i<=0||o<=0||l<=0||c<=0||e.drawImage(t,n,r,i,o,a,s,l,c)},drawInscribedImage:function(e,t,n,r,i){var o=this,a=n.position(),s=a.x,l=a.y,c=n.cy().style(),u=c.getIndexedStyle.bind(c),d=u(n,"background-fit","value",r),p=u(n,"background-repeat","value",r),f=n.width(),h=n.height(),g=2*n.padding(),m=f+("inner"===u(n,"background-width-relative-to","value",r)?0:g),v=h+("inner"===u(n,"background-height-relative-to","value",r)?0:g),b=n._private.rscratch,y="node"===n.pstyle("background-clip").value,x=u(n,"background-image-opacity","value",r)*i,w=t.width||t.cachedW,k=t.height||t.cachedH;null!=w&&null!=k||(document.body.appendChild(t),w=t.cachedW=t.width||t.offsetWidth,k=t.cachedH=t.height||t.offsetHeight,document.body.removeChild(t));var A=w,E=k;if("auto"!==u(n,"background-width","value",r)&&(A="%"===u(n,"background-width","units",r)?u(n,"background-width","pfValue",r)*m:u(n,"background-width","pfValue",r)),"auto"!==u(n,"background-height","value",r)&&(E="%"===u(n,"background-height","units",r)?u(n,"background-height","pfValue",r)*v:u(n,"background-height","pfValue",r)),0!==A&&0!==E){if("contain"===d)A*=S=Math.min(m/A,v/E),E*=S;else if("cover"===d){var S;A*=S=Math.max(m/A,v/E),E*=S}var $=s-m/2;"%"===u(n,"background-position-x","units",r)?$+=(m-A)*u(n,"background-position-x","pfValue",r):$+=u(n,"background-position-x","pfValue",r);var C=l-v/2;"%"===u(n,"background-position-y","units",r)?C+=(v-E)*u(n,"background-position-y","pfValue",r):C+=u(n,"background-position-y","pfValue",r),b.pathCache&&($-=s,C-=l,s=0,l=0);var _=e.globalAlpha;if(e.globalAlpha=x,"no-repeat"===p)y&&(e.save(),b.pathCache?e.clip(b.pathCache):(o.nodeShapes[o.getNodeShape(n)].draw(e,s,l,m,v),e.clip())),o.safeDrawImage(e,t,0,0,w,k,$,C,A,E),y&&e.restore();else{var O=e.createPattern(t,p);e.fillStyle=O,o.nodeShapes[o.getNodeShape(n)].draw(e,s,l,m,v),e.translate($,C),e.fill(),e.translate(-$,-C)}e.globalAlpha=_}}};e.exports=r},function(e,t,n){"use strict";var r=n(1),i=n(2),o={eleTextBiggerThanMin:function(e,t){if(!t){var n=e.cy().zoom(),r=this.getPixelRatio(),o=Math.ceil(i.log2(n*r));t=Math.pow(2,o)}return!(e.pstyle("font-size").pfValue*t<e.pstyle("min-zoomed-font-size").pfValue)},drawElementText:function(e,t,n){var r=this;if(void 0===n){if(!r.eleTextBiggerThanMin(t))return}else if(!n)return;if(t.isNode()){if(!(o=t.pstyle("label"))||!o.value)return;var i=t.pstyle("text-halign").strValue;switch(t.pstyle("text-valign").strValue,i){case"left":e.textAlign="right";break;case"right":e.textAlign="left";break;default:e.textAlign="center"}e.textBaseline="bottom"}else{var o=t.pstyle("label"),a=t.pstyle("source-label"),s=t.pstyle("target-label");if(!(o&&o.value||a&&a.value||s&&s.value))return;e.textAlign="center",e.textBaseline="bottom"}r.drawText(e,t),t.isEdge()&&(r.drawText(e,t,"source"),r.drawText(e,t,"target"))}};o.drawNodeText=o.drawEdgeText=o.drawElementText,o.getFontCache=function(e){var t;this.fontCaches=this.fontCaches||[];for(var n=0;n<this.fontCaches.length;n++)if((t=this.fontCaches[n]).context===e)return t;return t={context:e},this.fontCaches.push(t),t},o.setupTextStyle=function(e,t){var n=t.effectiveOpacity(),r=t.pstyle("font-style").strValue,i=t.pstyle("font-size").pfValue+"px",o=t.pstyle("font-family").strValue,a=t.pstyle("font-weight").strValue,s=t.pstyle("text-opacity").value*t.pstyle("opacity").value*n,l=t.pstyle("text-outline-opacity").value*s,c=t.pstyle("color").value,u=t.pstyle("text-outline-color").value,d=t._private.fontKey,p=this.getFontCache(e);p.key!==d&&(e.font=r+" "+a+" "+i+" "+o,p.key=d),e.lineJoin="round",this.fillStyle(e,c[0],c[1],c[2],s),this.strokeStyle(e,u[0],u[1],u[2],l)},o.drawText=function(e,t,n){var i=t._private.rscratch,o=t.effectiveOpacity();if(0!==o&&0!==t.pstyle("text-opacity").value){var a,s,l,c,u,d,p=r.getPrefixedProperty(i,"labelX",n),f=r.getPrefixedProperty(i,"labelY",n),h=this.getLabelText(t,n);if(null!=h&&""!==h&&!isNaN(p)&&!isNaN(f)){this.setupTextStyle(e,t);var g=n?n+"-":"",m=r.getPrefixedProperty(i,"labelWidth",n),v=r.getPrefixedProperty(i,"labelHeight",n),b=r.getPrefixedProperty(i,"labelAngle",n),y=t.pstyle(g+"text-margin-x").pfValue,x=t.pstyle(g+"text-margin-y").pfValue,w=t.isEdge(),k=(t.isNode(),t.pstyle("text-halign").value),A=t.pstyle("text-valign").value;w&&(k="center",A="center"),p+=y,f+=x;var E,S=t.pstyle("text-rotation");if(0!==(E="autorotate"===S.strValue?w?b:0:"none"===S.strValue?0:S.pfValue)){var $=p,C=f;e.translate($,C),e.rotate(E),p=0,f=0}switch(A){case"top":break;case"center":f+=v/2;break;case"bottom":f+=v}var _=t.pstyle("text-background-opacity").value,O=t.pstyle("text-border-opacity").value,T=t.pstyle("text-border-width").pfValue,j=t.pstyle("text-background-padding").pfValue;if(_>0||T>0&&O>0){var P=p-j;switch(k){case"left":P-=m;break;case"center":P-=m/2}var D=f-v-j,R=m+2*j,I=v+2*j;if(_>0){var N=e.fillStyle,M=t.pstyle("text-background-color").value;e.fillStyle="rgba("+M[0]+","+M[1]+","+M[2]+","+_*o+")","roundrectangle"==t.pstyle("text-background-shape").strValue?(s=P,l=D,c=R,u=I,d=(d=2)||5,(a=e).beginPath(),a.moveTo(s+d,l),a.lineTo(s+c-d,l),a.quadraticCurveTo(s+c,l,s+c,l+d),a.lineTo(s+c,l+u-d),a.quadraticCurveTo(s+c,l+u,s+c-d,l+u),a.lineTo(s+d,l+u),a.quadraticCurveTo(s,l+u,s,l+u-d),a.lineTo(s,l+d),a.quadraticCurveTo(s,l,s+d,l),a.closePath(),a.fill()):e.fillRect(P,D,R,I),e.fillStyle=N}if(T>0&&O>0){var z=e.strokeStyle,L=e.lineWidth,B=t.pstyle("text-border-color").value,F=t.pstyle("text-border-style").value;if(e.strokeStyle="rgba("+B[0]+","+B[1]+","+B[2]+","+O*o+")",e.lineWidth=T,e.setLineDash)switch(F){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"double":e.lineWidth=T/4,e.setLineDash([]);break;case"solid":e.setLineDash([])}if(e.strokeRect(P,D,R,I),"double"===F){var q=T/2;e.strokeRect(P+q,D+q,R-2*q,I-2*q)}e.setLineDash&&e.setLineDash([]),e.lineWidth=L,e.strokeStyle=z}}var V=2*t.pstyle("text-outline-width").pfValue;if(V>0&&(e.lineWidth=V),"wrap"===t.pstyle("text-wrap").value){var U=r.getPrefixedProperty(i,"labelWrapCachedLines",n),H=v/U.length;switch(A){case"top":f-=(U.length-1)*H;break;case"center":case"bottom":f-=(U.length-1)*H}for(var G=0;G<U.length;G++)V>0&&e.strokeText(U[G],p,f),e.fillText(U[G],p,f),f+=H}else V>0&&e.strokeText(h,p,f),e.fillText(h,p,f);0!==E&&(e.rotate(-E),e.translate(-$,-C))}}},e.exports=o},function(e,t,n){"use strict";var r=n(0),i={drawNode:function(e,t,n,i){var o,a,s=this,l=t._private,c=l.rscratch,u=t.position();if(r.number(u.x)&&r.number(u.y)&&t.visible()){var d=t.effectiveOpacity(),p=s.usePaths(),f=void 0,h=!1,g=t.padding();o=t.width()+2*g,a=t.height()+2*g;var m=void 0;n&&(m=n,e.translate(-m.x1,-m.y1));for(var v=t.pstyle("background-image").value,b=new Array(v.length),y=new Array(v.length),x=0,w=0;w<v.length;w++){var k=v[w];if(b[w]=null!=k&&"none"!==k){var A=t.cy().style().getIndexedStyle(t,"background-image-crossorigin","value",w);x++,y[w]=s.getCachedImage(k,A,(function(){t.emitAndNotify("background")}))}}var E=t.pstyle("background-blacken").value,S=t.pstyle("border-width").pfValue,$=t.pstyle("background-color").value,C=t.pstyle("background-opacity").value*d,_=t.pstyle("border-color").value,O=t.pstyle("border-style").value,T=t.pstyle("border-opacity").value*d;e.lineJoin="miter";var j=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:C;s.fillStyle(e,$[0],$[1],$[2],t)},P=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:T;s.strokeStyle(e,_[0],_[1],_[2],t)},D=t.pstyle("shape").strValue,R=t.pstyle("shape-polygon-points").pfValue;if(p){var I=D+"$"+o+"$"+a+("polygon"===D?"$"+R.join("$"):"");e.translate(u.x,u.y),c.pathCacheKey===I?(f=c.pathCache,h=!0):(f=new Path2D,c.pathCacheKey=I,c.pathCache=f)}var N,M,z,L=function(){if(!h){var n=u;p&&(n={x:0,y:0}),s.nodeShapes[s.getNodeShape(t)].draw(f||e,n.x,n.y,o,a)}p?e.fill(f):e.fill()},B=function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:d,r=l.backgrounding,i=0,o=0;o<y.length;o++)b[o]&&y[o].complete&&!y[o].error&&(i++,s.drawInscribedImage(e,y[o],t,o,n));l.backgrounding=!(i===x),r!==l.backgrounding&&t.updateStyle(!1)},F=function(){var n=arguments.length>0&&void 0!==arguments[0]&&arguments[0],r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:d;s.hasPie(t)&&(s.drawPie(e,t,r),n&&(p||s.nodeShapes[s.getNodeShape(t)].draw(e,u.x,u.y,o,a)))},q=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:d,n=(E>0?E:-E)*t,r=E>0?0:255;0!==E&&(s.fillStyle(e,r,r,r,n),p?e.fill(f):e.fill())},V=function(){if(S>0){if(e.lineWidth=S,e.lineCap="butt",e.setLineDash)switch(O){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"solid":case"double":e.setLineDash([])}if(p?e.stroke(f):e.stroke(),"double"===O){e.lineWidth=S/3;var t=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",p?e.stroke(f):e.stroke(),e.globalCompositeOperation=t}e.setLineDash&&e.setLineDash([])}};if("yes"===t.pstyle("ghost").value){var U=t.pstyle("ghost-offset-x").pfValue,H=t.pstyle("ghost-offset-y").pfValue,G=t.pstyle("ghost-opacity").value,W=G*d;e.translate(U,H),j(G*C),L(),B(W),F(0!==E||0!==S),q(W),P(G*T),V(),e.translate(-U,-H)}j(),L(),B(),F(0!==E||0!==S),q(),P(),V(),p&&e.translate(-u.x,-u.y),s.drawElementText(e,t,i),N=t.pstyle("overlay-padding").pfValue,M=t.pstyle("overlay-opacity").value,z=t.pstyle("overlay-color").value,M>0&&(s.fillStyle(e,z[0],z[1],z[2],M),s.nodeShapes.roundrectangle.draw(e,u.x,u.y,o+2*N,a+2*N),e.fill()),n&&e.translate(m.x1,m.y1)}},hasPie:function(e){return(e=e[0])._private.hasPie},drawPie:function(e,t,n,r){t=t[0],r=r||t.position();var i=t.cy().style(),o=t.pstyle("pie-size"),a=r.x,s=r.y,l=t.width(),c=t.height(),u=Math.min(l,c)/2,d=0;this.usePaths()&&(a=0,s=0),"%"===o.units?u*=o.pfValue:void 0!==o.pfValue&&(u=o.pfValue/2);for(var p=1;p<=i.pieBackgroundN;p++){var f=t.pstyle("pie-"+p+"-background-size").value,h=t.pstyle("pie-"+p+"-background-color").value,g=t.pstyle("pie-"+p+"-background-opacity").value*n,m=f/100;m+d>1&&(m=1-d);var v=1.5*Math.PI+2*Math.PI*d,b=v+2*Math.PI*m;0===f||d>=1||d+m>1||(e.beginPath(),e.moveTo(a,s),e.arc(a,s,u,v,b),e.closePath(),this.fillStyle(e,h[0],h[1],h[2],g),e.fill(),d+=m)}}};e.exports=i},function(e,t,n){"use strict";var r={},i=n(1);r.getPixelRatio=function(){var e=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var t=e.backingStorePixelRatio||e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/t},r.paintCache=function(e){for(var t,n=this.paintCaches=this.paintCaches||[],r=!0,i=0;i<n.length;i++)if((t=n[i]).context===e){r=!1;break}return r&&(t={context:e},n.push(t)),t},r.fillStyle=function(e,t,n,r,i){e.fillStyle="rgba("+t+","+n+","+r+","+i+")"},r.strokeStyle=function(e,t,n,r,i){e.strokeStyle="rgba("+t+","+n+","+r+","+i+")"},r.matchCanvasSize=function(e){var t=this,n=t.data,r=t.findContainerClientCoords(),i=r[2],o=r[3],a=t.getPixelRatio(),s=t.motionBlurPxRatio;e!==t.data.bufferCanvases[t.MOTIONBLUR_BUFFER_NODE]&&e!==t.data.bufferCanvases[t.MOTIONBLUR_BUFFER_DRAG]||(a=s);var l,c=i*a,u=o*a;if(c!==t.canvasWidth||u!==t.canvasHeight){t.fontCaches=null;var d=n.canvasContainer;d.style.width=i+"px",d.style.height=o+"px";for(var p=0;p<t.CANVAS_LAYERS;p++)(l=n.canvases[p]).width=c,l.height=u,l.style.width=i+"px",l.style.height=o+"px";for(p=0;p<t.BUFFER_COUNT;p++)(l=n.bufferCanvases[p]).width=c,l.height=u,l.style.width=i+"px",l.style.height=o+"px";t.textureMult=1,a<=1&&(l=n.bufferCanvases[t.TEXTURE_BUFFER],t.textureMult=2,l.width=c*t.textureMult,l.height=u*t.textureMult),t.canvasWidth=c,t.canvasHeight=u}},r.renderTo=function(e,t,n,r){this.render({forcedContext:e,forcedZoom:t,forcedPan:n,drawAllLayers:!0,forcedPxRatio:r})},r.render=function(e){var t=(e=e||i.staticEmptyObject()).forcedContext,n=e.drawAllLayers,r=e.drawOnlyNodeLayer,o=e.forcedZoom,a=e.forcedPan,s=this,l=void 0===e.forcedPxRatio?this.getPixelRatio():e.forcedPxRatio,c=s.cy,u=s.data,d=u.canvasNeedsRedraw,p=s.textureOnViewport&&!t&&(s.pinching||s.hoverData.dragging||s.swipePanning||s.data.wheelZooming),f=void 0!==e.motionBlur?e.motionBlur:s.motionBlur,h=s.motionBlurPxRatio,g=c.hasCompoundNodes(),m=s.hoverData.draggingEles,v=!(!s.hoverData.selecting&&!s.touchData.selecting),b=f=f&&!t&&s.motionBlurEnabled&&!v;t||(s.prevPxRatio!==l&&(s.invalidateContainerClientCoordsCache(),s.matchCanvasSize(s.container),s.redrawHint("eles",!0),s.redrawHint("drag",!0)),s.prevPxRatio=l),!t&&s.motionBlurTimeout&&clearTimeout(s.motionBlurTimeout),f&&(null==s.mbFrames&&(s.mbFrames=0),s.mbFrames++,s.mbFrames<3&&(b=!1),s.mbFrames>s.minMbLowQualFrames&&(s.motionBlurPxRatio=s.mbPxRBlurry)),s.clearingMotionBlur&&(s.motionBlurPxRatio=1),s.textureDrawLastFrame&&!p&&(d[s.NODE]=!0,d[s.SELECT_BOX]=!0);var y=c.style()._private.coreStyle,x=c.zoom(),w=void 0!==o?o:x,k=c.pan(),A={x:k.x,y:k.y},E={zoom:x,pan:{x:k.x,y:k.y}},S=s.prevViewport;void 0===S||E.zoom!==S.zoom||E.pan.x!==S.pan.x||E.pan.y!==S.pan.y||m&&!g||(s.motionBlurPxRatio=1),a&&(A=a),w*=l,A.x*=l,A.y*=l;var $=s.getCachedZSortedEles();function C(e,t,n,r,i){var o=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",s.fillStyle(e,255,255,255,s.motionBlurTransparency),e.fillRect(t,n,r,i),e.globalCompositeOperation=o}function _(e,r){var i,l,c,d;s.clearingMotionBlur||e!==u.bufferContexts[s.MOTIONBLUR_BUFFER_NODE]&&e!==u.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG]?(i=A,l=w,c=s.canvasWidth,d=s.canvasHeight):(i={x:k.x*h,y:k.y*h},l=x*h,c=s.canvasWidth*h,d=s.canvasHeight*h),e.setTransform(1,0,0,1,0,0),"motionBlur"===r?C(e,0,0,c,d):t||void 0!==r&&!r||e.clearRect(0,0,c,d),n||(e.translate(i.x,i.y),e.scale(l,l)),a&&e.translate(a.x,a.y),o&&e.scale(o,o)}if(p||(s.textureDrawLastFrame=!1),p){if(s.textureDrawLastFrame=!0,!s.textureCache){s.textureCache={},s.textureCache.bb=c.mutableElements().boundingBox(),s.textureCache.texture=s.data.bufferCanvases[s.TEXTURE_BUFFER];var O=s.data.bufferContexts[s.TEXTURE_BUFFER];O.setTransform(1,0,0,1,0,0),O.clearRect(0,0,s.canvasWidth*s.textureMult,s.canvasHeight*s.textureMult),s.render({forcedContext:O,drawOnlyNodeLayer:!0,forcedPxRatio:l*s.textureMult}),(E=s.textureCache.viewport={zoom:c.zoom(),pan:c.pan(),width:s.canvasWidth,height:s.canvasHeight}).mpan={x:(0-E.pan.x)/E.zoom,y:(0-E.pan.y)/E.zoom}}d[s.DRAG]=!1,d[s.NODE]=!1;var T=u.contexts[s.NODE],j=s.textureCache.texture;E=s.textureCache.viewport,s.textureCache.bb,T.setTransform(1,0,0,1,0,0),f?C(T,0,0,E.width,E.height):T.clearRect(0,0,E.width,E.height);var P=y["outside-texture-bg-color"].value,D=y["outside-texture-bg-opacity"].value;s.fillStyle(T,P[0],P[1],P[2],D),T.fillRect(0,0,E.width,E.height),x=c.zoom(),_(T,!1),T.clearRect(E.mpan.x,E.mpan.y,E.width/E.zoom/l,E.height/E.zoom/l),T.drawImage(j,E.mpan.x,E.mpan.y,E.width/E.zoom/l,E.height/E.zoom/l)}else s.textureOnViewport&&!t&&(s.textureCache=null);var R=c.extent(),I=s.pinching||s.hoverData.dragging||s.swipePanning||s.data.wheelZooming||s.hoverData.draggingEles,N=s.hideEdgesOnViewport&&I,M=[];if(M[s.NODE]=!d[s.NODE]&&f&&!s.clearedForMotionBlur[s.NODE]||s.clearingMotionBlur,M[s.NODE]&&(s.clearedForMotionBlur[s.NODE]=!0),M[s.DRAG]=!d[s.DRAG]&&f&&!s.clearedForMotionBlur[s.DRAG]||s.clearingMotionBlur,M[s.DRAG]&&(s.clearedForMotionBlur[s.DRAG]=!0),d[s.NODE]||n||r||M[s.NODE]){var z=f&&!M[s.NODE]&&1!==h;_(T=t||(z?s.data.bufferContexts[s.MOTIONBLUR_BUFFER_NODE]:u.contexts[s.NODE]),f&&!z?"motionBlur":void 0),N?s.drawCachedNodes(T,$.nondrag,l,R):s.drawLayeredElements(T,$.nondrag,l,R),s.debug&&s.drawDebugPoints(T,$.nondrag),n||f||(d[s.NODE]=!1)}if(!r&&(d[s.DRAG]||n||M[s.DRAG])&&(z=f&&!M[s.DRAG]&&1!==h,_(T=t||(z?s.data.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG]:u.contexts[s.DRAG]),f&&!z?"motionBlur":void 0),N?s.drawCachedNodes(T,$.drag,l,R):s.drawCachedElements(T,$.drag,l,R),s.debug&&s.drawDebugPoints(T,$.drag),n||f||(d[s.DRAG]=!1)),s.showFps||!r&&d[s.SELECT_BOX]&&!n){if(_(T=t||u.contexts[s.SELECT_BOX]),1==s.selection[4]&&(s.hoverData.selecting||s.touchData.selecting)){x=s.cy.zoom();var L=y["selection-box-border-width"].value/x;T.lineWidth=L,T.fillStyle="rgba("+y["selection-box-color"].value[0]+","+y["selection-box-color"].value[1]+","+y["selection-box-color"].value[2]+","+y["selection-box-opacity"].value+")",T.fillRect(s.selection[0],s.selection[1],s.selection[2]-s.selection[0],s.selection[3]-s.selection[1]),L>0&&(T.strokeStyle="rgba("+y["selection-box-border-color"].value[0]+","+y["selection-box-border-color"].value[1]+","+y["selection-box-border-color"].value[2]+","+y["selection-box-opacity"].value+")",T.strokeRect(s.selection[0],s.selection[1],s.selection[2]-s.selection[0],s.selection[3]-s.selection[1]))}if(u.bgActivePosistion&&!s.hoverData.selecting){x=s.cy.zoom();var B=u.bgActivePosistion;T.fillStyle="rgba("+y["active-bg-color"].value[0]+","+y["active-bg-color"].value[1]+","+y["active-bg-color"].value[2]+","+y["active-bg-opacity"].value+")",T.beginPath(),T.arc(B.x,B.y,y["active-bg-size"].pfValue/x,0,2*Math.PI),T.fill()}var F=s.lastRedrawTime;if(s.showFps&&F){F=Math.round(F);var q=Math.round(1e3/F);T.setTransform(1,0,0,1,0,0),T.fillStyle="rgba(255, 0, 0, 0.75)",T.strokeStyle="rgba(255, 0, 0, 0.75)",T.lineWidth=1,T.fillText("1 frame = "+F+" ms = "+q+" fps",0,20),T.strokeRect(0,30,250,20),T.fillRect(0,30,250*Math.min(q/60,1),20)}n||(d[s.SELECT_BOX]=!1)}if(f&&1!==h){var V=u.contexts[s.NODE],U=s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_NODE],H=u.contexts[s.DRAG],G=s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_DRAG],W=function(e,t,n){e.setTransform(1,0,0,1,0,0),n||!b?e.clearRect(0,0,s.canvasWidth,s.canvasHeight):C(e,0,0,s.canvasWidth,s.canvasHeight);var r=h;e.drawImage(t,0,0,s.canvasWidth*r,s.canvasHeight*r,0,0,s.canvasWidth,s.canvasHeight)};(d[s.NODE]||M[s.NODE])&&(W(V,U,M[s.NODE]),d[s.NODE]=!1),(d[s.DRAG]||M[s.DRAG])&&(W(H,G,M[s.DRAG]),d[s.DRAG]=!1)}s.prevViewport=E,s.clearingMotionBlur&&(s.clearingMotionBlur=!1,s.motionBlurCleared=!0,s.motionBlur=!0),f&&(s.motionBlurTimeout=setTimeout((function(){s.motionBlurTimeout=null,s.clearedForMotionBlur[s.NODE]=!1,s.clearedForMotionBlur[s.DRAG]=!1,s.motionBlur=!1,s.clearingMotionBlur=!p,s.mbFrames=0,d[s.NODE]=!0,d[s.DRAG]=!0,s.redraw()}),100)),t||c.emit("render")},e.exports=r},function(e,t,n){"use strict";for(var r=n(2),i={drawPolygonPath:function(e,t,n,r,i,o){var a=r/2,s=i/2;e.beginPath&&e.beginPath(),e.moveTo(t+a*o[0],n+s*o[1]);for(var l=1;l<o.length/2;l++)e.lineTo(t+a*o[2*l],n+s*o[2*l+1]);e.closePath()},drawRoundRectanglePath:function(e,t,n,i,o){var a=i/2,s=o/2,l=r.getRoundRectangleRadius(i,o);e.beginPath&&e.beginPath(),e.moveTo(t,n-s),e.arcTo(t+a,n-s,t+a,n,l),e.arcTo(t+a,n+s,t,n+s,l),e.arcTo(t-a,n+s,t-a,n,l),e.arcTo(t-a,n-s,t,n-s,l),e.lineTo(t,n-s),e.closePath()},drawBottomRoundRectanglePath:function(e,t,n,i,o){var a=i/2,s=o/2,l=r.getRoundRectangleRadius(i,o);e.beginPath&&e.beginPath(),e.moveTo(t,n-s),e.lineTo(t+a,n-s),e.lineTo(t+a,n),e.arcTo(t+a,n+s,t,n+s,l),e.arcTo(t-a,n+s,t-a,n,l),e.lineTo(t-a,n-s),e.lineTo(t,n-s),e.closePath()},drawCutRectanglePath:function(e,t,n,i,o){var a=i/2,s=o/2,l=r.getCutRectangleCornerLength();e.beginPath&&e.beginPath(),e.moveTo(t-a+l,n-s),e.lineTo(t+a-l,n-s),e.lineTo(t+a,n-s+l),e.lineTo(t+a,n+s-l),e.lineTo(t+a-l,n+s),e.lineTo(t-a+l,n+s),e.lineTo(t-a,n+s-l),e.lineTo(t-a,n-s+l),e.closePath()},drawBarrelPath:function(e,t,n,i,o){var a=i/2,s=o/2,l=t-a,c=t+a,u=n-s,d=n+s,p=r.getBarrelCurveConstants(i,o),f=p.widthOffset,h=p.heightOffset,g=p.ctrlPtOffsetPct*f;e.beginPath&&e.beginPath(),e.moveTo(l,u+h),e.lineTo(l,d-h),e.quadraticCurveTo(l+g,d,l+f,d),e.lineTo(c-f,d),e.quadraticCurveTo(c-g,d,c,d-h),e.lineTo(c,u+h),e.quadraticCurveTo(c-g,u,c-f,u),e.lineTo(l+f,u),e.quadraticCurveTo(l+g,u,l,u+h),e.closePath()}},o=Math.sin(0),a=Math.cos(0),s={},l={},c=Math.PI/40,u=0*Math.PI;u<2*Math.PI;u+=c)s[u]=Math.sin(u),l[u]=Math.cos(u);i.drawEllipsePath=function(e,t,n,r,i){if(e.beginPath&&e.beginPath(),e.ellipse)e.ellipse(t,n,r/2,i/2,0,0,2*Math.PI);else for(var u,d,p=r/2,f=i/2,h=0*Math.PI;h<2*Math.PI;h+=c)u=t-p*s[h]*o+p*l[h]*a,d=n+f*l[h]*o+f*s[h]*a,0===h?e.moveTo(u,d):e.lineTo(u,d);e.closePath()},e.exports=i},function(e,t,n){"use strict";var r=n(0),i={};function o(e){var t=e.indexOf(",");return e.substr(t+1)}function a(e,t,n){var r=t.toDataURL(n,e.quality);switch(e.output){case"blob":return function(e,t){for(var n=atob(e),r=new ArrayBuffer(n.length),i=new Uint8Array(r),o=0;o<n.length;o++)i[o]=n.charCodeAt(o);return new Blob([r],{type:t})}(o(r),n);case"base64":return o(r);case"base64uri":default:return r}}i.createBuffer=function(e,t){var n=document.createElement("canvas");return n.width=e,n.height=t,[n,n.getContext("2d")]},i.bufferCanvasImage=function(e){var t=this.cy,n=t.mutableElements().boundingBox(),i=this.findContainerClientCoords(),o=e.full?Math.ceil(n.w):i[2],a=e.full?Math.ceil(n.h):i[3],s=r.number(e.maxWidth)||r.number(e.maxHeight),l=this.getPixelRatio(),c=1;if(void 0!==e.scale)o*=e.scale,a*=e.scale,c=e.scale;else if(s){var u=1/0,d=1/0;r.number(e.maxWidth)&&(u=c*e.maxWidth/o),r.number(e.maxHeight)&&(d=c*e.maxHeight/a),o*=c=Math.min(u,d),a*=c}s||(o*=l,a*=l,c*=l);var p=document.createElement("canvas");p.width=o,p.height=a,p.style.width=o+"px",p.style.height=a+"px";var f=p.getContext("2d");if(o>0&&a>0){f.clearRect(0,0,o,a),f.globalCompositeOperation="source-over";var h=this.getCachedZSortedEles();if(e.full)f.translate(-n.x1*c,-n.y1*c),f.scale(c,c),this.drawElements(f,h),f.scale(1/c,1/c),f.translate(n.x1*c,n.y1*c);else{var g=t.pan(),m={x:g.x*c,y:g.y*c};c*=t.zoom(),f.translate(m.x,m.y),f.scale(c,c),this.drawElements(f,h),f.scale(1/c,1/c),f.translate(-m.x,-m.y)}e.bg&&(f.globalCompositeOperation="destination-over",f.fillStyle=e.bg,f.rect(0,0,o,a),f.fill())}return p},i.png=function(e){return a(e,this.bufferCanvasImage(e),"image/png")},i.jpg=function(e){return a(e,this.bufferCanvasImage(e),"image/jpeg")},e.exports=i},function(e,t,n){"use strict";var r={nodeShapeImpl:function(e,t,n,r,i,o,a){switch(e){case"ellipse":return this.drawEllipsePath(t,n,r,i,o);case"polygon":return this.drawPolygonPath(t,n,r,i,o,a);case"roundrectangle":return this.drawRoundRectanglePath(t,n,r,i,o);case"cutrectangle":return this.drawCutRectanglePath(t,n,r,i,o);case"bottomroundrectangle":return this.drawBottomRoundRectanglePath(t,n,r,i,o);case"barrel":return this.drawBarrelPath(t,n,r,i,o)}}};e.exports=r},function(e,t,n){"use strict";var r=n(0),i=n(1),o=n(18),a=function e(){if(!(this instanceof e))return new e;this.length=0},s=a.prototype;s.instanceString=function(){return"stylesheet"},s.selector=function(e){return this[this.length++]={selector:e,properties:[]},this},s.css=function(e,t){var n=this.length-1;if(r.string(e))this[n].properties.push({name:e,value:t});else if(r.plainObject(e))for(var a=e,s=0;s<o.properties.length;s++){var l=o.properties[s],c=a[l.name];if(void 0===c&&(c=a[i.dash2camel(l.name)]),void 0!==c){var u=l.name,d=c;this[n].properties.push({name:u,value:d})}}return this},s.style=s.css,s.generateStyle=function(e){var t=new o(e);return this.appendToStyle(t)},s.appendToStyle=function(e){for(var t=0;t<this.length;t++){var n=this[t],r=n.selector,i=n.properties;e.selector(r);for(var o=0;o<i.length;o++){var a=i[o];e.css(a.name,a.value)}}return e},e.exports=a},function(e,t,n){"use strict";e.exports="snapshot-2fd4aa6cc2-1531011493999"}])},e.exports=r(n(241),n(242))}).call(this,n(238).setImmediate)},function(e,t,n){(function(e){var r=void 0!==e&&e||"undefined"!=typeof self&&self||window,i=Function.prototype.apply;function o(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new o(i.call(setTimeout,r,arguments),clearTimeout)},t.setInterval=function(){return new o(i.call(setInterval,r,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},o.prototype.unref=o.prototype.ref=function(){},o.prototype.close=function(){this._clearFn.call(r,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},n(239),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,n(35))},function(e,t,n){(function(e,t){!function(e,n){"use strict";if(!e.setImmediate){var r,i,o,a,s,l=1,c={},u=!1,d=e.document,p=Object.getPrototypeOf&&Object.getPrototypeOf(e);p=p&&p.setTimeout?p:e,"[object process]"==={}.toString.call(e.process)?r=function(e){t.nextTick((function(){h(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?e.MessageChannel?((o=new MessageChannel).port1.onmessage=function(e){h(e.data)},r=function(e){o.port2.postMessage(e)}):d&&"onreadystatechange"in d.createElement("script")?(i=d.documentElement,r=function(e){var t=d.createElement("script");t.onreadystatechange=function(){h(e),t.onreadystatechange=null,i.removeChild(t),t=null},i.appendChild(t)}):r=function(e){setTimeout(h,0,e)}:(a="setImmediate$"+Math.random()+"$",s=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(a)&&h(+t.data.slice(a.length))},e.addEventListener?e.addEventListener("message",s,!1):e.attachEvent("onmessage",s),r=function(t){e.postMessage(a+t,"*")}),p.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n<t.length;n++)t[n]=arguments[n+1];var i={callback:e,args:t};return c[l]=i,r(l),l++},p.clearImmediate=f}function f(e){delete c[e]}function h(e){if(u)setTimeout(h,0,e);else{var t=c[e];if(t){u=!0;try{!function(e){var t=e.callback,n=e.args;switch(n.length){case 0:t();break;case 1:t(n[0]);break;case 2:t(n[0],n[1]);break;case 3:t(n[0],n[1],n[2]);break;default:t.apply(void 0,n)}}(t)}finally{f(e),u=!1}}}}}("undefined"==typeof self?void 0===e?this:e:self)}).call(this,n(35),n(240))},function(e,t){var n,r,i=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function s(e){if(n===setTimeout)return setTimeout(e,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(e){n=o}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var l,c=[],u=!1,d=-1;function p(){u&&l&&(u=!1,l.length?c=l.concat(c):d=-1,c.length&&f())}function f(){if(!u){var e=s(p);u=!0;for(var t=c.length;t;){for(l=c,c=[];++d<t;)l&&l[d].run();d=-1,t=c.length}l=null,u=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===a||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function h(e,t){this.fun=e,this.array=t}function g(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];c.push(new h(e,t)),1!==c.length||u||s(f)},h.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=g,i.addListener=g,i.once=g,i.off=g,i.removeListener=g,i.removeAllListeners=g,i.emit=g,i.prependListener=g,i.prependOnceListener=g,i.listeners=function(e){return[]},i.binding=function(e){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},function(e,t,n){(function(t){var n=/^\s+|\s+$/g,r=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,o=/^0o[0-7]+$/i,a=parseInt,s="object"==typeof t&&t&&t.Object===Object&&t,l="object"==typeof self&&self&&self.Object===Object&&self,c=s||l||Function("return this")(),u=Object.prototype.toString,d=Math.max,p=Math.min,f=function(){return c.Date.now()};function h(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function g(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==u.call(e)}(e))return NaN;if(h(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=h(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(n,"");var s=i.test(e);return s||o.test(e)?a(e.slice(2),s?2:8):r.test(e)?NaN:+e}e.exports=function(e,t,n){var r,i,o,a,s,l,c=0,u=!1,m=!1,v=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function b(t){var n=r,o=i;return r=i=void 0,c=t,a=e.apply(o,n)}function y(e){return c=e,s=setTimeout(w,t),u?b(e):a}function x(e){var n=e-l;return void 0===l||n>=t||n<0||m&&e-c>=o}function w(){var e=f();if(x(e))return k(e);s=setTimeout(w,function(e){var n=t-(e-l);return m?p(n,o-(e-c)):n}(e))}function k(e){return s=void 0,v&&r?b(e):(r=i=void 0,a)}function A(){var e=f(),n=x(e);if(r=arguments,i=this,l=e,n){if(void 0===s)return y(l);if(m)return s=setTimeout(w,t),b(l)}return void 0===s&&(s=setTimeout(w,t)),a}return t=g(t)||0,h(n)&&(u=!!n.leading,o=(m="maxWait"in n)?d(g(n.maxWait)||0,t):o,v="trailing"in n?!!n.trailing:v),A.cancel=function(){void 0!==s&&clearTimeout(s),c=0,r=l=i=s=void 0},A.flush=function(){return void 0===s?a:k(f())},A}}).call(this,n(35))},function(e,t,n){e.exports=n(243)},function(e,t,n){var r,i,o;(function(){var n,a,s,l,c,u,d,p,f,h,g,m,v,b,y;s=Math.floor,h=Math.min,a=function(e,t){return e<t?-1:e>t?1:0},f=function(e,t,n,r,i){var o;if(null==n&&(n=0),null==i&&(i=a),n<0)throw new Error("lo must be non-negative");for(null==r&&(r=e.length);n<r;)i(t,e[o=s((n+r)/2)])<0?r=o:n=o+1;return[].splice.apply(e,[n,n-n].concat(t)),t},u=function(e,t,n){return null==n&&(n=a),e.push(t),b(e,0,e.length-1,n)},c=function(e,t){var n,r;return null==t&&(t=a),n=e.pop(),e.length?(r=e[0],e[0]=n,y(e,0,t)):r=n,r},p=function(e,t,n){var r;return null==n&&(n=a),r=e[0],e[0]=t,y(e,0,n),r},d=function(e,t,n){var r;return null==n&&(n=a),e.length&&n(e[0],t)<0&&(t=(r=[e[0],t])[0],e[0]=r[1],y(e,0,n)),t},l=function(e,t){var n,r,i,o,l,c;for(null==t&&(t=a),l=[],r=0,i=(o=function(){c=[];for(var t=0,n=s(e.length/2);0<=n?t<n:t>n;0<=n?t++:t--)c.push(t);return c}.apply(this).reverse()).length;r<i;r++)n=o[r],l.push(y(e,n,t));return l},v=function(e,t,n){var r;if(null==n&&(n=a),-1!==(r=e.indexOf(t)))return b(e,0,r,n),y(e,r,n)},g=function(e,t,n){var r,i,o,s,c;if(null==n&&(n=a),!(i=e.slice(0,t)).length)return i;for(l(i,n),o=0,s=(c=e.slice(t)).length;o<s;o++)r=c[o],d(i,r,n);return i.sort(n).reverse()},m=function(e,t,n){var r,i,o,s,u,d,p,g,m;if(null==n&&(n=a),10*t<=e.length){if(!(o=e.slice(0,t).sort(n)).length)return o;for(i=o[o.length-1],s=0,d=(p=e.slice(t)).length;s<d;s++)n(r=p[s],i)<0&&(f(o,r,0,null,n),o.pop(),i=o[o.length-1]);return o}for(l(e,n),m=[],u=0,g=h(t,e.length);0<=g?u<g:u>g;0<=g?++u:--u)m.push(c(e,n));return m},b=function(e,t,n,r){var i,o,s;for(null==r&&(r=a),i=e[n];n>t&&r(i,o=e[s=n-1>>1])<0;)e[n]=o,n=s;return e[n]=i},y=function(e,t,n){var r,i,o,s,l;for(null==n&&(n=a),i=e.length,l=t,o=e[t],r=2*t+1;r<i;)(s=r+1)<i&&!(n(e[r],e[s])<0)&&(r=s),e[t]=e[r],r=2*(t=r)+1;return e[t]=o,b(e,l,t,n)},n=function(){function e(e){this.cmp=null!=e?e:a,this.nodes=[]}return e.push=u,e.pop=c,e.replace=p,e.pushpop=d,e.heapify=l,e.updateItem=v,e.nlargest=g,e.nsmallest=m,e.prototype.push=function(e){return u(this.nodes,e,this.cmp)},e.prototype.pop=function(){return c(this.nodes,this.cmp)},e.prototype.peek=function(){return this.nodes[0]},e.prototype.contains=function(e){return-1!==this.nodes.indexOf(e)},e.prototype.replace=function(e){return p(this.nodes,e,this.cmp)},e.prototype.pushpop=function(e){return d(this.nodes,e,this.cmp)},e.prototype.heapify=function(){return l(this.nodes,this.cmp)},e.prototype.updateItem=function(e){return v(this.nodes,e,this.cmp)},e.prototype.clear=function(){return this.nodes=[]},e.prototype.empty=function(){return 0===this.nodes.length},e.prototype.size=function(){return this.nodes.length},e.prototype.clone=function(){var t;return(t=new e).nodes=this.nodes.slice(0),t},e.prototype.toArray=function(){return this.nodes.slice(0)},e.prototype.insert=e.prototype.push,e.prototype.top=e.prototype.peek,e.prototype.front=e.prototype.peek,e.prototype.has=e.prototype.contains,e.prototype.copy=e.prototype.clone,e}(),i=[],void 0===(o="function"==typeof(r=function(){return n})?r.apply(t,i):r)||(e.exports=o)}).call(this)},function(e,t,n){var r;!function(){"use strict";var i="undefined"==typeof jQuery?null:jQuery,o=function(e,t){if(e){var n,r={menuItems:[],menuItemClasses:[],contextMenuClasses:[]};e("core","contextMenus",(function(e){var i=this;i.scratch("cycontextmenus")||i.scratch("cycontextmenus",{});var o,a=l("options"),s=l("cxtMenu");function l(e){return i.scratch("cycontextmenus")[e]}function c(e,t){i.scratch("cycontextmenus")[e]=t}function u(e){for(var t="",n=0;n<e.length;n++){t+=e[n],n!==e.length-1&&(t+=" ")}return t}function d(e){e.css("display","block")}function p(e){e.css("display","none")}function f(e,n,r){function o(n){c("currentCyEvent",n),function(e){var n=l("cxtMenuPosition"),r=e.position||e.cyPosition;if(n!=r){s.children().css("display","none"),c("anyVisibleChild",!1),c("cxtMenuPosition",r);var o=t(i.container()).offset(),a=e.renderedPosition||e.cyRenderedPosition,u=o.left+a.x,d=o.top+a.y;s.css("left",u),s.css("top",d)}}(n),e.data("show")&&(s.is(":visible")||d(s),c("anyVisibleChild",!0),d(e)),!l("anyVisibleChild")&&s.is(":visible")&&p(s)}var a,u;r&&i.on("cxttap",u=function(e){(e.target||e.cyTarget)==i&&o(e)}),n&&i.on("cxttap",n,a=function(e){o(e)}),e.data("cy-context-menus-cxtfcn",a),e.data("cy-context-menus-cxtcorefcn",u)}function h(e,t,n,r){!function(e,t){var n;e.on("click",n=function(){t(l("currentCyEvent"))}),e.data("call-on-click-function",n)}(e,t),f(e,n,r)}function g(e){for(var t=0;t<e.length;t++)m(e[t])}function m(e){var t,n=b(e);t=n,s.append(t),function(e){e.click((function(){p(s),c("cxtMenuPosition",void 0)}))}(t),h(n,e.onClickFunction,e.selector,e.coreAsWell)}function v(e,n){var r,i,o=b(e);r=o,i=t("#"+n),r.insertBefore(i),h(o,e.onClickFunction,e.selector,e.coreAsWell)}function b(e){var n,r,i,o=(n=a.menuItemClasses,r=e.hasTrailingDivider,i=u(n),i+=" cy-context-menus-cxt-menuitem",r&&(i+=" cy-context-menus-divider"),i),s='<button id="'+e.id+'" class="'+o+'"';e.tooltipText&&(s+=' title="'+e.tooltipText+'"'),e.disabled&&(s+=" disabled"),e.image?s+='><img src="'+e.image.src+'" width="'+e.image.width+'px"; height="'+e.image.height+'px"; style="position:absolute; top: '+e.image.y+"px; left: "+e.image.x+'px;">'+e.content+"</button>":s+=">"+e.content+"</button>";var l=t(s);return l.data("selector",e.selector),l.data("on-click-function",e.onClickFunction),l.data("show",void 0===e.show||e.show),l}function y(){var e;l("active")&&(e=s.children(),t(e).each((function(){x(t(this))})),i.off("tapstart",n),s.remove(),c(s=void 0,void 0),c("active",!1),c("anyVisibleChild",!1))}function x(e){var n="string"==typeof e?t("#"+e):e,r=n.data("cy-context-menus-cxtfcn"),o=n.data("selector"),a=n.data("call-on-click-function"),s=n.data("cy-context-menus-cxtcorefcn");r&&i.off("cxttap",o,r),s&&i.off("cxttap",s),a&&n.off("click",a),n.remove()}"get"!==e&&(c("options",a=function(e,t){var n={};for(var r in e)n[r]=e[r];for(var r in t)n[r]=t[r];return n}(r,e)),l("active")&&y(),c("active",!0),o=u(a.contextMenuClasses),(s=t("<div class="+o+"></div>")).addClass("cy-context-menus-cxt-menu"),c("cxtMenu",s),t("body").append(s),s=s,g(a.menuItems),i.on("tapstart",n=function(){p(s),c("cxtMenuPosition",void 0),c("currentCyEvent",void 0)}),t(".cy-context-menus-cxt-menu").contextmenu((function(){return!1})));return function(e){return{isActive:function(){return l("active")},appendMenuItem:function(t){return m(t),e},appendMenuItems:function(t){return g(t),e},removeMenuItem:function(t){return x(t),e},setTrailingDivider:function(n,r){return function(e,n){var r=t("#"+e);n?r.addClass("cy-context-menus-divider"):r.removeClass("cy-context-menus-divider")}(n,r),e},insertBeforeMenuItem:function(t,n){return v(t,n),e},moveBeforeOtherMenuItem:function(n,r){return function(e,n){if(e!==n){var r=t("#"+e).detach(),i=t("#"+n);r.insertBefore(i)}}(n,r),e},disableMenuItem:function(n){return t("#"+n).attr("disabled",!0),e},enableMenuItem:function(n){return t("#"+n).attr("disabled",!1),e},hideMenuItem:function(n){return t("#"+n).data("show",!1),p(t("#"+n)),e},showMenuItem:function(n){return t("#"+n).data("show",!0),d(t("#"+n)),e},destroy:function(){return y(),e}}}(this)}))}};e.exports&&(e.exports=o),void 0===(r=function(){return o}.call(t,n,t,e))||(e.exports=r),"undefined"!=typeof cytoscape&&i&&o(cytoscape,i)}()},function(e,t,n){var r;r=function(e){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){var r=n(1),i=function(e){e&&e("layout","dagre",r)};"undefined"!=typeof cytoscape&&i(cytoscape),e.exports=i},function(e,t,n){function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var i=n(2),o=n(3),a=n(4);function s(e){this.options=o({},i,e)}s.prototype.run=function(){var e=this.options,t=e.cy,n=e.eles,i=function(e,t){return"function"==typeof t?t.apply(e,[e]):t},o=e.boundingBox||{x1:0,y1:0,w:t.width(),h:t.height()};void 0===o.x2&&(o.x2=o.x1+o.w),void 0===o.w&&(o.w=o.x2-o.x1),void 0===o.y2&&(o.y2=o.y1+o.h),void 0===o.h&&(o.h=o.y2-o.y1);var s=new a.graphlib.Graph({multigraph:!0,compound:!0}),l={},c=function(e,t){null!=t&&(l[e]=t)};c("nodesep",e.nodeSep),c("edgesep",e.edgeSep),c("ranksep",e.rankSep),c("rankdir",e.rankDir),c("ranker",e.ranker),s.setGraph(l),s.setDefaultEdgeLabel((function(){return{}})),s.setDefaultNodeLabel((function(){return{}}));for(var u=n.nodes(),d=0;d<u.length;d++){var p=u[d],f=p.layoutDimensions(e);s.setNode(p.id(),{width:f.w,height:f.h,name:p.id()})}for(var h=0;h<u.length;h++){var g=u[h];g.isChild()&&s.setParent(g.id(),g.parent().id())}for(var m=n.edges().stdFilter((function(e){return!e.source().isParent()&&!e.target().isParent()})),v=0;v<m.length;v++){var b=m[v];s.setEdge(b.source().id(),b.target().id(),{minlen:i(b,e.minLen),weight:i(b,e.edgeWeight),name:b.id()},b.id())}a.layout(s);for(var y,x=s.nodes(),w=0;w<x.length;w++){var k=x[w],A=s.node(k);t.getElementById(k).scratch().dagre=A}return e.boundingBox?(y={x1:1/0,x2:-1/0,y1:1/0,y2:-1/0},u.forEach((function(e){var t=e.scratch().dagre;y.x1=Math.min(y.x1,t.x),y.x2=Math.max(y.x2,t.x),y.y1=Math.min(y.y1,t.y),y.y2=Math.max(y.y2,t.y)})),y.w=y.x2-y.x1,y.h=y.y2-y.y1):y=o,u.layoutPositions(this,e,(function(t){var n=(t="object"===r(t)?t:this).scratch().dagre;return function(t){if(e.boundingBox){var n=0===y.w?0:(t.x-y.x1)/y.w,r=0===y.h?0:(t.y-y.y1)/y.h;return{x:o.x1+n*o.w,y:o.y1+r*o.h}}return t}({x:n.x,y:n.y})})),this},e.exports=s},function(e,t){var n={nodeSep:void 0,edgeSep:void 0,rankSep:void 0,rankDir:void 0,ranker:void 0,minLen:function(e){return 1},edgeWeight:function(e){return 1},fit:!0,padding:30,spacingFactor:void 0,nodeDimensionsIncludeLabels:!1,animate:!1,animateFilter:function(e,t){return!0},animationDuration:500,animationEasing:void 0,boundingBox:void 0,transform:function(e,t){return t},ready:function(){},stop:function(){}};e.exports=n},function(e,t){e.exports=null!=Object.assign?Object.assign.bind(Object):function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return n.forEach((function(t){Object.keys(t).forEach((function(n){return e[n]=t[n]}))})),e}},function(t,n){t.exports=e}])},e.exports=r(n(246))},function(e,t,n){e.exports={graphlib:n(28),layout:n(359),debug:n(420),util:{time:n(20).time,notime:n(20).notime},version:n(421)}},function(e,t,n){e.exports={Graph:n(116),version:n(348)}},function(e,t,n){var r=n(149);e.exports=function(e){return r(e,4)}},function(e,t){e.exports=function(){this.__data__=[],this.size=0}},function(e,t,n){var r=n(75),i=Array.prototype.splice;e.exports=function(e){var t=this.__data__,n=r(t,e);return!(n<0)&&(n==t.length-1?t.pop():i.call(t,n,1),--this.size,!0)}},function(e,t,n){var r=n(75);e.exports=function(e){var t=this.__data__,n=r(t,e);return n<0?void 0:t[n][1]}},function(e,t,n){var r=n(75);e.exports=function(e){return r(this.__data__,e)>-1}},function(e,t,n){var r=n(75);e.exports=function(e,t){var n=this.__data__,i=r(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this}},function(e,t,n){var r=n(74);e.exports=function(){this.__data__=new r,this.size=0}},function(e,t){e.exports=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}},function(e,t){e.exports=function(e){return this.__data__.get(e)}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t,n){var r=n(74),i=n(117),o=n(118);e.exports=function(e,t){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!i||a.length<199)return a.push([e,t]),this.size=++n.size,this;n=this.__data__=new o(a)}return n.set(e,t),this.size=n.size,this}},function(e,t,n){var r=n(64),i=n(262),o=n(23),a=n(151),s=/^\[object .+?Constructor\]$/,l=Function.prototype,c=Object.prototype,u=l.toString,d=c.hasOwnProperty,p=RegExp("^"+u.call(d).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!o(e)||i(e))&&(r(e)?p:s).test(a(e))}},function(e,t,n){var r=n(58),i=Object.prototype,o=i.hasOwnProperty,a=i.toString,s=r?r.toStringTag:void 0;e.exports=function(e){var t=o.call(e,s),n=e[s];try{e[s]=void 0;var r=!0}catch(e){}var i=a.call(e);return r&&(t?e[s]=n:delete e[s]),i}},function(e,t){var n=Object.prototype.toString;e.exports=function(e){return n.call(e)}},function(e,t,n){var r,i=n(263),o=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";e.exports=function(e){return!!o&&o in e}},function(e,t,n){var r=n(29)["__core-js_shared__"];e.exports=r},function(e,t){e.exports=function(e,t){return null==e?void 0:e[t]}},function(e,t,n){var r=n(266),i=n(74),o=n(117);e.exports=function(){this.size=0,this.__data__={hash:new r,map:new(o||i),string:new r}}},function(e,t,n){var r=n(267),i=n(268),o=n(269),a=n(270),s=n(271);function l(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}l.prototype.clear=r,l.prototype.delete=i,l.prototype.get=o,l.prototype.has=a,l.prototype.set=s,e.exports=l},function(e,t,n){var r=n(76);e.exports=function(){this.__data__=r?r(null):{},this.size=0}},function(e,t){e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},function(e,t,n){var r=n(76),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(r){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return i.call(t,e)?t[e]:void 0}},function(e,t,n){var r=n(76),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return r?void 0!==t[e]:i.call(t,e)}},function(e,t,n){var r=n(76);e.exports=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=r&&void 0===t?"__lodash_hash_undefined__":t,this}},function(e,t,n){var r=n(77);e.exports=function(e){var t=r(this,e).delete(e);return this.size-=t?1:0,t}},function(e,t){e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},function(e,t,n){var r=n(77);e.exports=function(e){return r(this,e).get(e)}},function(e,t,n){var r=n(77);e.exports=function(e){return r(this,e).has(e)}},function(e,t,n){var r=n(77);e.exports=function(e,t){var n=r(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this}},function(e,t,n){var r=n(65),i=n(41);e.exports=function(e,t){return e&&r(t,i(t),e)}},function(e,t){e.exports=function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}},function(e,t,n){var r=n(47),i=n(34);e.exports=function(e){return i(e)&&"[object Arguments]"==r(e)}},function(e,t){e.exports=function(){return!1}},function(e,t,n){var r=n(47),i=n(120),o=n(34),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1,e.exports=function(e){return o(e)&&i(e.length)&&!!a[r(e)]}},function(e,t,n){var r=n(154)(Object.keys,Object);e.exports=r},function(e,t,n){var r=n(65),i=n(48);e.exports=function(e,t){return e&&r(t,i(t),e)}},function(e,t,n){var r=n(23),i=n(83),o=n(285),a=Object.prototype.hasOwnProperty;e.exports=function(e){if(!r(e))return o(e);var t=i(e),n=[];for(var s in e)("constructor"!=s||!t&&a.call(e,s))&&n.push(s);return n}},function(e,t){e.exports=function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}},function(e,t,n){var r=n(65),i=n(123);e.exports=function(e,t){return r(e,i(e),t)}},function(e,t,n){var r=n(65),i=n(159);e.exports=function(e,t){return r(e,i(e),t)}},function(e,t,n){var r=n(161),i=n(159),o=n(48);e.exports=function(e){return r(e,o,i)}},function(e,t,n){var r=n(46)(n(29),"DataView");e.exports=r},function(e,t,n){var r=n(46)(n(29),"Promise");e.exports=r},function(e,t,n){var r=n(46)(n(29),"WeakMap");e.exports=r},function(e,t){var n=Object.prototype.hasOwnProperty;e.exports=function(e){var t=e.length,r=new e.constructor(t);return t&&"string"==typeof e[0]&&n.call(e,"index")&&(r.index=e.index,r.input=e.input),r}},function(e,t,n){var r=n(125),i=n(294),o=n(295),a=n(296),s=n(164);e.exports=function(e,t,n){var l=e.constructor;switch(t){case"[object ArrayBuffer]":return r(e);case"[object Boolean]":case"[object Date]":return new l(+e);case"[object DataView]":return i(e,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return s(e,n);case"[object Map]":return new l;case"[object Number]":case"[object String]":return new l(e);case"[object RegExp]":return o(e);case"[object Set]":return new l;case"[object Symbol]":return a(e)}}},function(e,t,n){var r=n(125);e.exports=function(e,t){var n=t?r(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}},function(e,t){var n=/\w*$/;e.exports=function(e){var t=new e.constructor(e.source,n.exec(e));return t.lastIndex=e.lastIndex,t}},function(e,t,n){var r=n(58),i=r?r.prototype:void 0,o=i?i.valueOf:void 0;e.exports=function(e){return o?Object(o.call(e)):{}}},function(e,t,n){var r=n(298),i=n(82),o=n(121),a=o&&o.isMap,s=a?i(a):r;e.exports=s},function(e,t,n){var r=n(60),i=n(34);e.exports=function(e){return i(e)&&"[object Map]"==r(e)}},function(e,t,n){var r=n(300),i=n(82),o=n(121),a=o&&o.isSet,s=a?i(a):r;e.exports=s},function(e,t,n){var r=n(60),i=n(34);e.exports=function(e){return i(e)&&"[object Set]"==r(e)}},function(e,t){e.exports=function(e){return function(t,n,r){for(var i=-1,o=Object(t),a=r(t),s=a.length;s--;){var l=a[e?s:++i];if(!1===n(o[l],l,o))break}return t}}},function(e,t,n){var r=n(36);e.exports=function(e,t){return function(n,i){if(null==n)return n;if(!r(n))return e(n,i);for(var o=n.length,a=t?o:-1,s=Object(n);(t?a--:++a<o)&&!1!==i(s[a],a,s););return n}}},function(e,t,n){var r=n(85);e.exports=function(e,t){var n=[];return r(e,(function(e,r,i){t(e,r,i)&&n.push(e)})),n}},function(e,t,n){var r=n(305),i=n(313),o=n(176);e.exports=function(e){var t=i(e);return 1==t.length&&t[0][2]?o(t[0][0],t[0][1]):function(n){return n===e||r(n,e,t)}}},function(e,t,n){var r=n(73),i=n(171);e.exports=function(e,t,n,o){var a=n.length,s=a,l=!o;if(null==e)return!s;for(e=Object(e);a--;){var c=n[a];if(l&&c[2]?c[1]!==e[c[0]]:!(c[0]in e))return!1}for(;++a<s;){var u=(c=n[a])[0],d=e[u],p=c[1];if(l&&c[2]){if(void 0===d&&!(u in e))return!1}else{var f=new r;if(o)var h=o(d,p,u,e,t,f);if(!(void 0===h?i(p,d,3,o,f):h))return!1}}return!0}},function(e,t,n){var r=n(73),i=n(172),o=n(310),a=n(312),s=n(60),l=n(13),c=n(59),u=n(67),d="[object Object]",p=Object.prototype.hasOwnProperty;e.exports=function(e,t,n,f,h,g){var m=l(e),v=l(t),b=m?"[object Array]":s(e),y=v?"[object Array]":s(t),x=(b="[object Arguments]"==b?d:b)==d,w=(y="[object Arguments]"==y?d:y)==d,k=b==y;if(k&&c(e)){if(!c(t))return!1;m=!0,x=!1}if(k&&!x)return g||(g=new r),m||u(e)?i(e,t,n,f,h,g):o(e,t,b,n,f,h,g);if(!(1&n)){var A=x&&p.call(e,"__wrapped__"),E=w&&p.call(t,"__wrapped__");if(A||E){var S=A?e.value():e,$=E?t.value():t;return g||(g=new r),h(S,$,n,f,g)}}return!!k&&(g||(g=new r),a(e,t,n,f,h,g))}},function(e,t){e.exports=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}},function(e,t,n){var r=n(58),i=n(163),o=n(57),a=n(172),s=n(311),l=n(129),c=r?r.prototype:void 0,u=c?c.valueOf:void 0;e.exports=function(e,t,n,r,c,d,p){switch(n){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!d(new i(e),new i(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return o(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var f=s;case"[object Set]":var h=1&r;if(f||(f=l),e.size!=t.size&&!h)return!1;var g=p.get(e);if(g)return g==t;r|=2,p.set(e,t);var m=a(f(e),f(t),r,c,d,p);return p.delete(e),m;case"[object Symbol]":if(u)return u.call(e)==u.call(t)}return!1}},function(e,t){e.exports=function(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}},function(e,t,n){var r=n(160),i=Object.prototype.hasOwnProperty;e.exports=function(e,t,n,o,a,s){var l=1&n,c=r(e),u=c.length;if(u!=r(t).length&&!l)return!1;for(var d=u;d--;){var p=c[d];if(!(l?p in t:i.call(t,p)))return!1}var f=s.get(e),h=s.get(t);if(f&&h)return f==t&&h==e;var g=!0;s.set(e,t),s.set(t,e);for(var m=l;++d<u;){var v=e[p=c[d]],b=t[p];if(o)var y=l?o(b,v,p,t,e,s):o(v,b,p,e,t,s);if(!(void 0===y?v===b||a(v,b,n,o,s):y)){g=!1;break}m||(m="constructor"==p)}if(g&&!m){var x=e.constructor,w=t.constructor;x==w||!("constructor"in e)||!("constructor"in t)||"function"==typeof x&&x instanceof x&&"function"==typeof w&&w instanceof w||(g=!1)}return s.delete(e),s.delete(t),g}},function(e,t,n){var r=n(175),i=n(41);e.exports=function(e){for(var t=i(e),n=t.length;n--;){var o=t[n],a=e[o];t[n]=[o,a,r(a)]}return t}},function(e,t,n){var r=n(171),i=n(315),o=n(178),a=n(130),s=n(175),l=n(176),c=n(68);e.exports=function(e,t){return a(e)&&s(t)?l(c(e),t):function(n){var a=i(n,e);return void 0===a&&a===t?o(n,e):r(t,a,3)}}},function(e,t,n){var r=n(86);e.exports=function(e,t,n){var i=null==e?void 0:r(e,t);return void 0===i?n:i}},function(e,t,n){var r=n(317),i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,a=r((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(i,(function(e,n,r,i){t.push(r?i.replace(o,"$1"):n||e)})),t}));e.exports=a},function(e,t,n){var r=n(318);e.exports=function(e){var t=r(e,(function(e){return 500===n.size&&n.clear(),e})),n=t.cache;return t}},function(e,t,n){var r=n(118);function i(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=e.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(i.Cache||r),n}i.Cache=r,e.exports=i},function(e,t,n){var r=n(58),i=n(88),o=n(13),a=n(61),s=r?r.prototype:void 0,l=s?s.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(o(t))return i(t,e)+"";if(a(t))return l?l.call(t):"";var n=t+"";return"0"==n&&1/t==-1/0?"-0":n}},function(e,t){e.exports=function(e,t){return null!=e&&t in Object(e)}},function(e,t,n){var r=n(180),i=n(322),o=n(130),a=n(68);e.exports=function(e){return o(e)?r(a(e)):i(e)}},function(e,t,n){var r=n(86);e.exports=function(e){return function(t){return r(t,e)}}},function(e,t){var n=Object.prototype.hasOwnProperty;e.exports=function(e,t){return null!=e&&n.call(e,t)}},function(e,t,n){var r=n(122),i=n(60),o=n(66),a=n(13),s=n(36),l=n(59),c=n(83),u=n(67),d=Object.prototype.hasOwnProperty;e.exports=function(e){if(null==e)return!0;if(s(e)&&(a(e)||"string"==typeof e||"function"==typeof e.splice||l(e)||u(e)||o(e)))return!e.length;var t=i(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(c(e))return!r(e).length;for(var n in e)if(d.call(e,n))return!1;return!0}},function(e,t){e.exports=function(e,t,n,r){var i=-1,o=null==e?0:e.length;for(r&&o&&(n=e[++i]);++i<o;)n=t(n,e[i],i,e);return n}},function(e,t){e.exports=function(e,t,n,r,i){return i(e,(function(e,i,o){n=r?(r=!1,e):t(n,e,i,o)})),n}},function(e,t,n){var r=n(122),i=n(60),o=n(36),a=n(328),s=n(329);e.exports=function(e){if(null==e)return 0;if(o(e))return a(e)?s(e):e.length;var t=i(e);return"[object Map]"==t||"[object Set]"==t?e.size:r(e).length}},function(e,t,n){var r=n(47),i=n(13),o=n(34);e.exports=function(e){return"string"==typeof e||!i(e)&&o(e)&&"[object String]"==r(e)}},function(e,t,n){var r=n(330),i=n(331),o=n(332);e.exports=function(e){return i(e)?o(e):r(e)}},function(e,t,n){var r=n(180)("length");e.exports=r},function(e,t){var n=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");e.exports=function(e){return n.test(e)}},function(e,t){var n="[\\ud800-\\udfff]",r="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",i="\\ud83c[\\udffb-\\udfff]",o="[^\\ud800-\\udfff]",a="(?:\\ud83c[\\udde6-\\uddff]){2}",s="[\\ud800-\\udbff][\\udc00-\\udfff]",l="(?:"+r+"|"+i+")"+"?",c="[\\ufe0e\\ufe0f]?"+l+("(?:\\u200d(?:"+[o,a,s].join("|")+")[\\ufe0e\\ufe0f]?"+l+")*"),u="(?:"+[o+r+"?",r,a,s,n].join("|")+")",d=RegExp(i+"(?="+i+")|"+u+c,"g");e.exports=function(e){for(var t=d.lastIndex=0;d.test(e);)++t;return t}},function(e,t,n){var r=n(119),i=n(166),o=n(127),a=n(37),s=n(84),l=n(13),c=n(59),u=n(64),d=n(23),p=n(67);e.exports=function(e,t,n){var f=l(e),h=f||c(e)||p(e);if(t=a(t,4),null==n){var g=e&&e.constructor;n=h?f?new g:[]:d(e)&&u(g)?i(s(e)):{}}return(h?r:o)(e,(function(e,r,i){return t(n,e,r,i)})),n}},function(e,t,n){var r=n(131),i=n(89),o=n(339),a=n(189),s=i((function(e){return o(r(e,1,a,!0))}));e.exports=s},function(e,t,n){var r=n(58),i=n(66),o=n(13),a=r?r.isConcatSpreadable:void 0;e.exports=function(e){return o(e)||i(e)||!!(a&&e&&e[a])}},function(e,t){e.exports=function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}},function(e,t,n){var r=n(126),i=n(152),o=n(49),a=i?function(e,t){return i(e,"toString",{configurable:!0,enumerable:!1,value:r(t),writable:!0})}:o;e.exports=a},function(e,t){var n=Date.now;e.exports=function(e){var t=0,r=0;return function(){var i=n(),o=16-(i-r);if(r=i,o>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}},function(e,t,n){var r=n(173),i=n(340),o=n(344),a=n(174),s=n(345),l=n(129);e.exports=function(e,t,n){var c=-1,u=i,d=e.length,p=!0,f=[],h=f;if(n)p=!1,u=o;else if(d>=200){var g=t?null:s(e);if(g)return l(g);p=!1,u=a,h=new r}else h=t?[]:f;e:for(;++c<d;){var m=e[c],v=t?t(m):m;if(m=n||0!==m?m:0,p&&v==v){for(var b=h.length;b--;)if(h[b]===v)continue e;t&&h.push(v),f.push(m)}else u(h,v,n)||(h!==f&&h.push(v),f.push(m))}return f}},function(e,t,n){var r=n(341);e.exports=function(e,t){return!!(null==e?0:e.length)&&r(e,t,0)>-1}},function(e,t,n){var r=n(188),i=n(342),o=n(343);e.exports=function(e,t,n){return t==t?o(e,t,n):r(e,i,n)}},function(e,t){e.exports=function(e){return e!=e}},function(e,t){e.exports=function(e,t,n){for(var r=n-1,i=e.length;++r<i;)if(e[r]===t)return r;return-1}},function(e,t){e.exports=function(e,t,n){for(var r=-1,i=null==e?0:e.length;++r<i;)if(n(t,e[r]))return!0;return!1}},function(e,t,n){var r=n(162),i=n(346),o=n(129),a=r&&1/o(new r([,-0]))[1]==1/0?function(e){return new r(e)}:i;e.exports=a},function(e,t){e.exports=function(){}},function(e,t,n){var r=n(88);e.exports=function(e,t){return r(t,(function(t){return e[t]}))}},function(e,t){e.exports="2.1.8"},function(e,t,n){var r=n(22),i=n(116);function o(e){return r.map(e.nodes(),(function(t){var n=e.node(t),i=e.parent(t),o={v:t};return r.isUndefined(n)||(o.value=n),r.isUndefined(i)||(o.parent=i),o}))}function a(e){return r.map(e.edges(),(function(t){var n=e.edge(t),i={v:t.v,w:t.w};return r.isUndefined(t.name)||(i.name=t.name),r.isUndefined(n)||(i.value=n),i}))}e.exports={write:function(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:o(e),edges:a(e)};r.isUndefined(e.graph())||(t.value=r.clone(e.graph()));return t},read:function(e){var t=new i(e.options).setGraph(e.value);return r.each(e.nodes,(function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)})),r.each(e.edges,(function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)})),t}}},function(e,t,n){e.exports={components:n(351),dijkstra:n(191),dijkstraAll:n(352),findCycles:n(353),floydWarshall:n(354),isAcyclic:n(355),postorder:n(356),preorder:n(357),prim:n(358),tarjan:n(193),topsort:n(194)}},function(e,t,n){var r=n(22);e.exports=function(e){var t,n={},i=[];function o(i){r.has(n,i)||(n[i]=!0,t.push(i),r.each(e.successors(i),o),r.each(e.predecessors(i),o))}return r.each(e.nodes(),(function(e){t=[],o(e),t.length&&i.push(t)})),i}},function(e,t,n){var r=n(191),i=n(22);e.exports=function(e,t,n){return i.transform(e.nodes(),(function(i,o){i[o]=r(e,o,t,n)}),{})}},function(e,t,n){var r=n(22),i=n(193);e.exports=function(e){return r.filter(i(e),(function(t){return t.length>1||1===t.length&&e.hasEdge(t[0],t[0])}))}},function(e,t,n){var r=n(22);e.exports=function(e,t,n){return function(e,t,n){var r={},i=e.nodes();return i.forEach((function(e){r[e]={},r[e][e]={distance:0},i.forEach((function(t){e!==t&&(r[e][t]={distance:Number.POSITIVE_INFINITY})})),n(e).forEach((function(n){var i=n.v===e?n.w:n.v,o=t(n);r[e][i]={distance:o,predecessor:e}}))})),i.forEach((function(e){var t=r[e];i.forEach((function(n){var o=r[n];i.forEach((function(n){var r=o[e],i=t[n],a=o[n],s=r.distance+i.distance;s<a.distance&&(a.distance=s,a.predecessor=i.predecessor)}))}))})),r}(e,t||i,n||function(t){return e.outEdges(t)})};var i=r.constant(1)},function(e,t,n){var r=n(194);e.exports=function(e){try{r(e)}catch(e){if(e instanceof r.CycleException)return!1;throw e}return!0}},function(e,t,n){var r=n(195);e.exports=function(e,t){return r(e,t,"post")}},function(e,t,n){var r=n(195);e.exports=function(e,t){return r(e,t,"pre")}},function(e,t,n){var r=n(22),i=n(116),o=n(192);e.exports=function(e,t){var n,a=new i,s={},l=new o;function c(e){var r=e.v===n?e.w:e.v,i=l.priority(r);if(void 0!==i){var o=t(e);o<i&&(s[r]=n,l.decrease(r,o))}}if(0===e.nodeCount())return a;r.each(e.nodes(),(function(e){l.add(e,Number.POSITIVE_INFINITY),a.setNode(e)})),l.decrease(e.nodes()[0],0);var u=!1;for(;l.size()>0;){if(n=l.removeMin(),r.has(s,n))a.setEdge(n,s[n]);else{if(u)throw new Error("Input graph is not connected: "+e);u=!0}e.nodeEdges(n).forEach(c)}return a}},function(e,t,n){"use strict";var r=n(11),i=n(399),o=n(402),a=n(403),s=n(20).normalizeRanks,l=n(405),c=n(20).removeEmptyRanks,u=n(406),d=n(407),p=n(408),f=n(409),h=n(418),g=n(20),m=n(28).Graph;e.exports=function(e,t){var n=t&&t.debugTiming?g.time:g.notime;n("layout",(function(){var t=n(" buildLayoutGraph",(function(){return function(e){var t=new m({multigraph:!0,compound:!0}),n=$(e.graph());return t.setGraph(r.merge({},b,S(n,v),r.pick(n,y))),r.forEach(e.nodes(),(function(n){var i=$(e.node(n));t.setNode(n,r.defaults(S(i,x),w)),t.setParent(n,e.parent(n))})),r.forEach(e.edges(),(function(n){var i=$(e.edge(n));t.setEdge(n,r.merge({},A,S(i,k),r.pick(i,E)))})),t}(e)}));n(" runLayout",(function(){!function(e,t){t(" makeSpaceForEdgeLabels",(function(){!function(e){var t=e.graph();t.ranksep/=2,r.forEach(e.edges(),(function(n){var r=e.edge(n);r.minlen*=2,"c"!==r.labelpos.toLowerCase()&&("TB"===t.rankdir||"BT"===t.rankdir?r.width+=r.labeloffset:r.height+=r.labeloffset)}))}(e)})),t(" removeSelfEdges",(function(){!function(e){r.forEach(e.edges(),(function(t){if(t.v===t.w){var n=e.node(t.v);n.selfEdges||(n.selfEdges=[]),n.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}}))}(e)})),t(" acyclic",(function(){i.run(e)})),t(" nestingGraph.run",(function(){u.run(e)})),t(" rank",(function(){a(g.asNonCompoundGraph(e))})),t(" injectEdgeLabelProxies",(function(){!function(e){r.forEach(e.edges(),(function(t){var n=e.edge(t);if(n.width&&n.height){var r=e.node(t.v),i={rank:(e.node(t.w).rank-r.rank)/2+r.rank,e:t};g.addDummyNode(e,"edge-proxy",i,"_ep")}}))}(e)})),t(" removeEmptyRanks",(function(){c(e)})),t(" nestingGraph.cleanup",(function(){u.cleanup(e)})),t(" normalizeRanks",(function(){s(e)})),t(" assignRankMinMax",(function(){!function(e){var t=0;r.forEach(e.nodes(),(function(n){var i=e.node(n);i.borderTop&&(i.minRank=e.node(i.borderTop).rank,i.maxRank=e.node(i.borderBottom).rank,t=r.max(t,i.maxRank))})),e.graph().maxRank=t}(e)})),t(" removeEdgeLabelProxies",(function(){!function(e){r.forEach(e.nodes(),(function(t){var n=e.node(t);"edge-proxy"===n.dummy&&(e.edge(n.e).labelRank=n.rank,e.removeNode(t))}))}(e)})),t(" normalize.run",(function(){o.run(e)})),t(" parentDummyChains",(function(){l(e)})),t(" addBorderSegments",(function(){d(e)})),t(" order",(function(){f(e)})),t(" insertSelfEdges",(function(){!function(e){var t=g.buildLayerMatrix(e);r.forEach(t,(function(t){var n=0;r.forEach(t,(function(t,i){var o=e.node(t);o.order=i+n,r.forEach(o.selfEdges,(function(t){g.addDummyNode(e,"selfedge",{width:t.label.width,height:t.label.height,rank:o.rank,order:i+ ++n,e:t.e,label:t.label},"_se")})),delete o.selfEdges}))}))}(e)})),t(" adjustCoordinateSystem",(function(){p.adjust(e)})),t(" position",(function(){h(e)})),t(" positionSelfEdges",(function(){!function(e){r.forEach(e.nodes(),(function(t){var n=e.node(t);if("selfedge"===n.dummy){var r=e.node(n.e.v),i=r.x+r.width/2,o=r.y,a=n.x-i,s=r.height/2;e.setEdge(n.e,n.label),e.removeNode(t),n.label.points=[{x:i+2*a/3,y:o-s},{x:i+5*a/6,y:o-s},{x:i+a,y:o},{x:i+5*a/6,y:o+s},{x:i+2*a/3,y:o+s}],n.label.x=n.x,n.label.y=n.y}}))}(e)})),t(" removeBorderNodes",(function(){!function(e){r.forEach(e.nodes(),(function(t){if(e.children(t).length){var n=e.node(t),i=e.node(n.borderTop),o=e.node(n.borderBottom),a=e.node(r.last(n.borderLeft)),s=e.node(r.last(n.borderRight));n.width=Math.abs(s.x-a.x),n.height=Math.abs(o.y-i.y),n.x=a.x+n.width/2,n.y=i.y+n.height/2}})),r.forEach(e.nodes(),(function(t){"border"===e.node(t).dummy&&e.removeNode(t)}))}(e)})),t(" normalize.undo",(function(){o.undo(e)})),t(" fixupEdgeLabelCoords",(function(){!function(e){r.forEach(e.edges(),(function(t){var n=e.edge(t);if(r.has(n,"x"))switch("l"!==n.labelpos&&"r"!==n.labelpos||(n.width-=n.labeloffset),n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset}}))}(e)})),t(" undoCoordinateSystem",(function(){p.undo(e)})),t(" translateGraph",(function(){!function(e){var t=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,o=0,a=e.graph(),s=a.marginx||0,l=a.marginy||0;function c(e){var r=e.x,a=e.y,s=e.width,l=e.height;t=Math.min(t,r-s/2),n=Math.max(n,r+s/2),i=Math.min(i,a-l/2),o=Math.max(o,a+l/2)}r.forEach(e.nodes(),(function(t){c(e.node(t))})),r.forEach(e.edges(),(function(t){var n=e.edge(t);r.has(n,"x")&&c(n)})),t-=s,i-=l,r.forEach(e.nodes(),(function(n){var r=e.node(n);r.x-=t,r.y-=i})),r.forEach(e.edges(),(function(n){var o=e.edge(n);r.forEach(o.points,(function(e){e.x-=t,e.y-=i})),r.has(o,"x")&&(o.x-=t),r.has(o,"y")&&(o.y-=i)})),a.width=n-t+s,a.height=o-i+l}(e)})),t(" assignNodeIntersects",(function(){!function(e){r.forEach(e.edges(),(function(t){var n,r,i=e.edge(t),o=e.node(t.v),a=e.node(t.w);i.points?(n=i.points[0],r=i.points[i.points.length-1]):(i.points=[],n=a,r=o),i.points.unshift(g.intersectRect(o,n)),i.points.push(g.intersectRect(a,r))}))}(e)})),t(" reversePoints",(function(){!function(e){r.forEach(e.edges(),(function(t){var n=e.edge(t);n.reversed&&n.points.reverse()}))}(e)})),t(" acyclic.undo",(function(){i.undo(e)}))}(t,n)})),n(" updateInputGraph",(function(){!function(e,t){r.forEach(e.nodes(),(function(n){var r=e.node(n),i=t.node(n);r&&(r.x=i.x,r.y=i.y,t.children(n).length&&(r.width=i.width,r.height=i.height))})),r.forEach(e.edges(),(function(n){var i=e.edge(n),o=t.edge(n);i.points=o.points,r.has(o,"x")&&(i.x=o.x,i.y=o.y)})),e.graph().width=t.graph().width,e.graph().height=t.graph().height}(e,t)}))}))};var v=["nodesep","edgesep","ranksep","marginx","marginy"],b={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},y=["acyclicer","ranker","rankdir","align"],x=["width","height"],w={width:0,height:0},k=["minlen","weight","width","height","labeloffset"],A={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},E=["labelpos"];function S(e,t){return r.mapValues(r.pick(e,t),Number)}function $(e){var t={};return r.forEach(e,(function(e,n){t[n.toLowerCase()]=e})),t}},function(e,t,n){var r=n(149);e.exports=function(e){return r(e,5)}},function(e,t,n){var r=n(89),i=n(57),o=n(90),a=n(48),s=Object.prototype,l=s.hasOwnProperty,c=r((function(e,t){e=Object(e);var n=-1,r=t.length,c=r>2?t[2]:void 0;for(c&&o(t[0],t[1],c)&&(r=1);++n<r;)for(var u=t[n],d=a(u),p=-1,f=d.length;++p<f;){var h=d[p],g=e[h];(void 0===g||i(g,s[h])&&!l.call(e,h))&&(e[h]=u[h])}return e}));e.exports=c},function(e,t,n){var r=n(363)(n(364));e.exports=r},function(e,t,n){var r=n(37),i=n(36),o=n(41);e.exports=function(e){return function(t,n,a){var s=Object(t);if(!i(t)){var l=r(n,3);t=o(t),n=function(e){return l(s[e],e,s)}}var c=e(t,n,a);return c>-1?s[l?t[c]:c]:void 0}}},function(e,t,n){var r=n(188),i=n(37),o=n(365),a=Math.max;e.exports=function(e,t,n){var s=null==e?0:e.length;if(!s)return-1;var l=null==n?0:o(n);return l<0&&(l=a(s+l,0)),r(e,i(t,3),l)}},function(e,t,n){var r=n(196);e.exports=function(e){var t=r(e),n=t%1;return t==t?n?t-n:t:0}},function(e,t,n){var r=n(367),i=n(23),o=n(61),a=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,l=/^0o[0-7]+$/i,c=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(o(e))return NaN;if(i(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=r(e);var n=s.test(e);return n||l.test(e)?c(e.slice(2),n?2:8):a.test(e)?NaN:+e}},function(e,t,n){var r=n(368),i=/^\s+/;e.exports=function(e){return e?e.slice(0,r(e)+1).replace(i,""):e}},function(e,t){var n=/\s/;e.exports=function(e){for(var t=e.length;t--&&n.test(e.charAt(t)););return t}},function(e,t,n){var r=n(128),i=n(169),o=n(48);e.exports=function(e,t){return null==e?e:r(e,i(t),o)}},function(e,t){e.exports=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}},function(e,t,n){var r=n(79),i=n(127),o=n(37);e.exports=function(e,t){var n={};return t=o(t,3),i(e,(function(e,i,o){r(n,i,t(e,i,o))})),n}},function(e,t,n){var r=n(132),i=n(373),o=n(49);e.exports=function(e){return e&&e.length?r(e,o,i):void 0}},function(e,t){e.exports=function(e,t){return e>t}},function(e,t,n){var r=n(375),i=n(379)((function(e,t,n){r(e,t,n)}));e.exports=i},function(e,t,n){var r=n(73),i=n(198),o=n(128),a=n(376),s=n(23),l=n(48),c=n(199);e.exports=function e(t,n,u,d,p){t!==n&&o(n,(function(o,l){if(p||(p=new r),s(o))a(t,n,l,u,e,d,p);else{var f=d?d(c(t,l),o,l+"",t,n,p):void 0;void 0===f&&(f=o),i(t,l,f)}}),l)}},function(e,t,n){var r=n(198),i=n(155),o=n(164),a=n(156),s=n(165),l=n(66),c=n(13),u=n(189),d=n(59),p=n(64),f=n(23),h=n(377),g=n(67),m=n(199),v=n(378);e.exports=function(e,t,n,b,y,x,w){var k=m(e,n),A=m(t,n),E=w.get(A);if(E)r(e,n,E);else{var S=x?x(k,A,n+"",e,t,w):void 0,$=void 0===S;if($){var C=c(A),_=!C&&d(A),O=!C&&!_&&g(A);S=A,C||_||O?c(k)?S=k:u(k)?S=a(k):_?($=!1,S=i(A,!0)):O?($=!1,S=o(A,!0)):S=[]:h(A)||l(A)?(S=k,l(k)?S=v(k):f(k)&&!p(k)||(S=s(A))):$=!1}$&&(w.set(A,S),y(S,A,b,x,w),w.delete(A)),r(e,n,S)}}},function(e,t,n){var r=n(47),i=n(84),o=n(34),a=Function.prototype,s=Object.prototype,l=a.toString,c=s.hasOwnProperty,u=l.call(Object);e.exports=function(e){if(!o(e)||"[object Object]"!=r(e))return!1;var t=i(e);if(null===t)return!0;var n=c.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&l.call(n)==u}},function(e,t,n){var r=n(65),i=n(48);e.exports=function(e){return r(e,i(e))}},function(e,t,n){var r=n(89),i=n(90);e.exports=function(e){return r((function(t,n){var r=-1,o=n.length,a=o>1?n[o-1]:void 0,s=o>2?n[2]:void 0;for(a=e.length>3&&"function"==typeof a?(o--,a):void 0,s&&i(n[0],n[1],s)&&(a=o<3?void 0:a,o=1),t=Object(t);++r<o;){var l=n[r];l&&e(t,l,r,a)}return t}))}},function(e,t,n){var r=n(132),i=n(200),o=n(49);e.exports=function(e){return e&&e.length?r(e,o,i):void 0}},function(e,t,n){var r=n(132),i=n(37),o=n(200);e.exports=function(e,t){return e&&e.length?r(e,i(t,2),o):void 0}},function(e,t,n){var r=n(29);e.exports=function(){return r.Date.now()}},function(e,t,n){var r=n(384),i=n(387)((function(e,t){return null==e?{}:r(e,t)}));e.exports=i},function(e,t,n){var r=n(385),i=n(178);e.exports=function(e,t){return r(e,t,(function(t,n){return i(e,n)}))}},function(e,t,n){var r=n(86),i=n(386),o=n(87);e.exports=function(e,t,n){for(var a=-1,s=t.length,l={};++a<s;){var c=t[a],u=r(e,c);n(u,c)&&i(l,o(c,e),u)}return l}},function(e,t,n){var r=n(78),i=n(87),o=n(81),a=n(23),s=n(68);e.exports=function(e,t,n,l){if(!a(e))return e;for(var c=-1,u=(t=i(t,e)).length,d=u-1,p=e;null!=p&&++c<u;){var f=s(t[c]),h=n;if("__proto__"===f||"constructor"===f||"prototype"===f)return e;if(c!=d){var g=p[f];void 0===(h=l?l(g,f,p):void 0)&&(h=a(g)?g:o(t[c+1])?[]:{})}r(p,f,h),p=p[f]}return e}},function(e,t,n){var r=n(197),i=n(186),o=n(187);e.exports=function(e){return o(i(e,void 0,r),e+"")}},function(e,t,n){var r=n(389)();e.exports=r},function(e,t,n){var r=n(390),i=n(90),o=n(196);e.exports=function(e){return function(t,n,a){return a&&"number"!=typeof a&&i(t,n,a)&&(n=a=void 0),t=o(t),void 0===n?(n=t,t=0):n=o(n),a=void 0===a?t<n?1:-1:o(a),r(t,n,a,e)}}},function(e,t){var n=Math.ceil,r=Math.max;e.exports=function(e,t,i,o){for(var a=-1,s=r(n((t-e)/(i||1)),0),l=Array(s);s--;)l[o?s:++a]=e,e+=i;return l}},function(e,t,n){var r=n(131),i=n(392),o=n(89),a=n(90),s=o((function(e,t){if(null==e)return[];var n=t.length;return n>1&&a(e,t[0],t[1])?t=[]:n>2&&a(t[0],t[1],t[2])&&(t=[t[0]]),i(e,r(t,1),[])}));e.exports=s},function(e,t,n){var r=n(88),i=n(86),o=n(37),a=n(184),s=n(393),l=n(82),c=n(394),u=n(49),d=n(13);e.exports=function(e,t,n){t=t.length?r(t,(function(e){return d(e)?function(t){return i(t,1===e.length?e[0]:e)}:e})):[u];var p=-1;t=r(t,l(o));var f=a(e,(function(e,n,i){return{criteria:r(t,(function(t){return t(e)})),index:++p,value:e}}));return s(f,(function(e,t){return c(e,t,n)}))}},function(e,t){e.exports=function(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}},function(e,t,n){var r=n(395);e.exports=function(e,t,n){for(var i=-1,o=e.criteria,a=t.criteria,s=o.length,l=n.length;++i<s;){var c=r(o[i],a[i]);if(c)return i>=l?c:c*("desc"==n[i]?-1:1)}return e.index-t.index}},function(e,t,n){var r=n(61);e.exports=function(e,t){if(e!==t){var n=void 0!==e,i=null===e,o=e==e,a=r(e),s=void 0!==t,l=null===t,c=t==t,u=r(t);if(!l&&!u&&!a&&e>t||a&&s&&c&&!l&&!u||i&&s&&c||!n&&c||!o)return 1;if(!i&&!a&&!u&&e<t||u&&n&&o&&!i&&!a||l&&n&&o||!s&&o||!c)return-1}return 0}},function(e,t,n){var r=n(177),i=0;e.exports=function(e){var t=++i;return r(e)+t}},function(e,t,n){var r=n(78),i=n(398);e.exports=function(e,t){return i(e||[],t||[],r)}},function(e,t){e.exports=function(e,t,n){for(var r=-1,i=e.length,o=t.length,a={};++r<i;){var s=r<o?t[r]:void 0;n(a,e[r],s)}return a}},function(e,t,n){"use strict";var r=n(11),i=n(400);e.exports={run:function(e){var t="greedy"===e.graph().acyclicer?i(e,function(e){return function(t){return e.edge(t).weight}}(e)):function(e){var t=[],n={},i={};function o(a){r.has(i,a)||(i[a]=!0,n[a]=!0,r.forEach(e.outEdges(a),(function(e){r.has(n,e.w)?t.push(e):o(e.w)})),delete n[a])}return r.forEach(e.nodes(),o),t}(e);r.forEach(t,(function(t){var n=e.edge(t);e.removeEdge(t),n.forwardName=t.name,n.reversed=!0,e.setEdge(t.w,t.v,n,r.uniqueId("rev"))}))},undo:function(e){r.forEach(e.edges(),(function(t){var n=e.edge(t);if(n.reversed){e.removeEdge(t);var r=n.forwardName;delete n.reversed,delete n.forwardName,e.setEdge(t.w,t.v,n,r)}}))}}},function(e,t,n){var r=n(11),i=n(28).Graph,o=n(401);e.exports=function(e,t){if(e.nodeCount()<=1)return[];var n=function(e,t){var n=new i,a=0,s=0;r.forEach(e.nodes(),(function(e){n.setNode(e,{v:e,in:0,out:0})})),r.forEach(e.edges(),(function(e){var r=n.edge(e.v,e.w)||0,i=t(e),o=r+i;n.setEdge(e.v,e.w,o),s=Math.max(s,n.node(e.v).out+=i),a=Math.max(a,n.node(e.w).in+=i)}));var c=r.range(s+a+3).map((function(){return new o})),u=a+1;return r.forEach(n.nodes(),(function(e){l(c,u,n.node(e))})),{graph:n,buckets:c,zeroIdx:u}}(e,t||a),c=function(e,t,n){var r,i=[],o=t[t.length-1],a=t[0];for(;e.nodeCount();){for(;r=a.dequeue();)s(e,t,n,r);for(;r=o.dequeue();)s(e,t,n,r);if(e.nodeCount())for(var l=t.length-2;l>0;--l)if(r=t[l].dequeue()){i=i.concat(s(e,t,n,r,!0));break}}return i}(n.graph,n.buckets,n.zeroIdx);return r.flatten(r.map(c,(function(t){return e.outEdges(t.v,t.w)})),!0)};var a=r.constant(1);function s(e,t,n,i,o){var a=o?[]:void 0;return r.forEach(e.inEdges(i.v),(function(r){var i=e.edge(r),s=e.node(r.v);o&&a.push({v:r.v,w:r.w}),s.out-=i,l(t,n,s)})),r.forEach(e.outEdges(i.v),(function(r){var i=e.edge(r),o=r.w,a=e.node(o);a.in-=i,l(t,n,a)})),e.removeNode(i.v),a}function l(e,t,n){n.out?n.in?e[n.out-n.in+t].enqueue(n):e[e.length-1].enqueue(n):e[0].enqueue(n)}},function(e,t){function n(){var e={};e._next=e._prev=e,this._sentinel=e}function r(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function i(e,t){if("_next"!==e&&"_prev"!==e)return t}e.exports=n,n.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;if(t!==e)return r(t),t},n.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&r(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},n.prototype.toString=function(){for(var e=[],t=this._sentinel,n=t._prev;n!==t;)e.push(JSON.stringify(n,i)),n=n._prev;return"["+e.join(", ")+"]"}},function(e,t,n){"use strict";var r=n(11),i=n(20);e.exports={run:function(e){e.graph().dummyChains=[],r.forEach(e.edges(),(function(t){!function(e,t){var n,r,o,a=t.v,s=e.node(a).rank,l=t.w,c=e.node(l).rank,u=t.name,d=e.edge(t),p=d.labelRank;if(c===s+1)return;for(e.removeEdge(t),o=0,++s;s<c;++o,++s)d.points=[],r={width:0,height:0,edgeLabel:d,edgeObj:t,rank:s},n=i.addDummyNode(e,"edge",r,"_d"),s===p&&(r.width=d.width,r.height=d.height,r.dummy="edge-label",r.labelpos=d.labelpos),e.setEdge(a,n,{weight:d.weight},u),0===o&&e.graph().dummyChains.push(n),a=n;e.setEdge(a,l,{weight:d.weight},u)}(e,t)}))},undo:function(e){r.forEach(e.graph().dummyChains,(function(t){var n,r=e.node(t),i=r.edgeLabel;for(e.setEdge(r.edgeObj,i);r.dummy;)n=e.successors(t)[0],e.removeNode(t),i.points.push({x:r.x,y:r.y}),"edge-label"===r.dummy&&(i.x=r.x,i.y=r.y,i.width=r.width,i.height=r.height),t=n,r=e.node(t)}))}}},function(e,t,n){"use strict";var r=n(91).longestPath,i=n(201),o=n(404);e.exports=function(e){switch(e.graph().ranker){case"network-simplex":s(e);break;case"tight-tree":!function(e){r(e),i(e)}(e);break;case"longest-path":a(e);break;default:s(e)}};var a=r;function s(e){o(e)}},function(e,t,n){"use strict";var r=n(11),i=n(201),o=n(91).slack,a=n(91).longestPath,s=n(28).alg.preorder,l=n(28).alg.postorder,c=n(20).simplify;function u(e){e=c(e),a(e);var t,n=i(e);for(f(n),d(n,e);t=g(n);)v(n,e,t,m(n,e,t))}function d(e,t){var n=l(e,e.nodes());n=n.slice(0,n.length-1),r.forEach(n,(function(n){!function(e,t,n){var r=e.node(n).parent;e.edge(n,r).cutvalue=p(e,t,n)}(e,t,n)}))}function p(e,t,n){var i=e.node(n).parent,o=!0,a=t.edge(n,i),s=0;return a||(o=!1,a=t.edge(i,n)),s=a.weight,r.forEach(t.nodeEdges(n),(function(r){var a,l,c=r.v===n,u=c?r.w:r.v;if(u!==i){var d=c===o,p=t.edge(r).weight;if(s+=d?p:-p,a=n,l=u,e.hasEdge(a,l)){var f=e.edge(n,u).cutvalue;s+=d?-f:f}}})),s}function f(e,t){arguments.length<2&&(t=e.nodes()[0]),h(e,{},1,t)}function h(e,t,n,i,o){var a=n,s=e.node(i);return t[i]=!0,r.forEach(e.neighbors(i),(function(o){r.has(t,o)||(n=h(e,t,n,o,i))})),s.low=a,s.lim=n++,o?s.parent=o:delete s.parent,n}function g(e){return r.find(e.edges(),(function(t){return e.edge(t).cutvalue<0}))}function m(e,t,n){var i=n.v,a=n.w;t.hasEdge(i,a)||(i=n.w,a=n.v);var s=e.node(i),l=e.node(a),c=s,u=!1;s.lim>l.lim&&(c=l,u=!0);var d=r.filter(t.edges(),(function(t){return u===b(e,e.node(t.v),c)&&u!==b(e,e.node(t.w),c)}));return r.minBy(d,(function(e){return o(t,e)}))}function v(e,t,n,i){var o=n.v,a=n.w;e.removeEdge(o,a),e.setEdge(i.v,i.w,{}),f(e),d(e,t),function(e,t){var n=r.find(e.nodes(),(function(e){return!t.node(e).parent})),i=s(e,n);i=i.slice(1),r.forEach(i,(function(n){var r=e.node(n).parent,i=t.edge(n,r),o=!1;i||(i=t.edge(r,n),o=!0),t.node(n).rank=t.node(r).rank+(o?i.minlen:-i.minlen)}))}(e,t)}function b(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}e.exports=u,u.initLowLimValues=f,u.initCutValues=d,u.calcCutValue=p,u.leaveEdge=g,u.enterEdge=m,u.exchangeEdges=v},function(e,t,n){var r=n(11);e.exports=function(e){var t=function(e){var t={},n=0;function i(o){var a=n;r.forEach(e.children(o),i),t[o]={low:a,lim:n++}}return r.forEach(e.children(),i),t}(e);r.forEach(e.graph().dummyChains,(function(n){for(var r=e.node(n),i=r.edgeObj,o=function(e,t,n,r){var i,o,a=[],s=[],l=Math.min(t[n].low,t[r].low),c=Math.max(t[n].lim,t[r].lim);i=n;do{i=e.parent(i),a.push(i)}while(i&&(t[i].low>l||c>t[i].lim));o=i,i=r;for(;(i=e.parent(i))!==o;)s.push(i);return{path:a.concat(s.reverse()),lca:o}}(e,t,i.v,i.w),a=o.path,s=o.lca,l=0,c=a[l],u=!0;n!==i.w;){if(r=e.node(n),u){for(;(c=a[l])!==s&&e.node(c).maxRank<r.rank;)l++;c===s&&(u=!1)}if(!u){for(;l<a.length-1&&e.node(c=a[l+1]).minRank<=r.rank;)l++;c=a[l]}e.setParent(n,c),n=e.successors(n)[0]}}))}},function(e,t,n){var r=n(11),i=n(20);e.exports={run:function(e){var t=i.addDummyNode(e,"root",{},"_root"),n=function(e){var t={};return r.forEach(e.children(),(function(n){!function n(i,o){var a=e.children(i);a&&a.length&&r.forEach(a,(function(e){n(e,o+1)}));t[i]=o}(n,1)})),t}(e),o=r.max(r.values(n))-1,a=2*o+1;e.graph().nestingRoot=t,r.forEach(e.edges(),(function(t){e.edge(t).minlen*=a}));var s=function(e){return r.reduce(e.edges(),(function(t,n){return t+e.edge(n).weight}),0)}(e)+1;r.forEach(e.children(),(function(l){!function e(t,n,o,a,s,l,c){var u=t.children(c);if(!u.length)return void(c!==n&&t.setEdge(n,c,{weight:0,minlen:o}));var d=i.addBorderNode(t,"_bt"),p=i.addBorderNode(t,"_bb"),f=t.node(c);t.setParent(d,c),f.borderTop=d,t.setParent(p,c),f.borderBottom=p,r.forEach(u,(function(r){e(t,n,o,a,s,l,r);var i=t.node(r),u=i.borderTop?i.borderTop:r,f=i.borderBottom?i.borderBottom:r,h=i.borderTop?a:2*a,g=u!==f?1:s-l[c]+1;t.setEdge(d,u,{weight:h,minlen:g,nestingEdge:!0}),t.setEdge(f,p,{weight:h,minlen:g,nestingEdge:!0})})),t.parent(c)||t.setEdge(n,d,{weight:0,minlen:s+l[c]})}(e,t,a,s,o,n,l)})),e.graph().nodeRankFactor=a},cleanup:function(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,r.forEach(e.edges(),(function(t){e.edge(t).nestingEdge&&e.removeEdge(t)}))}}},function(e,t,n){var r=n(11),i=n(20);function o(e,t,n,r,o,a){var s={width:0,height:0,rank:a,borderType:t},l=o[t][a-1],c=i.addDummyNode(e,"border",s,n);o[t][a]=c,e.setParent(c,r),l&&e.setEdge(l,c,{weight:1})}e.exports=function(e){r.forEach(e.children(),(function t(n){var i=e.children(n),a=e.node(n);if(i.length&&r.forEach(i,t),r.has(a,"minRank")){a.borderLeft=[],a.borderRight=[];for(var s=a.minRank,l=a.maxRank+1;s<l;++s)o(e,"borderLeft","_bl",n,a,s),o(e,"borderRight","_br",n,a,s)}}))}},function(e,t,n){"use strict";var r=n(11);function i(e){r.forEach(e.nodes(),(function(t){o(e.node(t))})),r.forEach(e.edges(),(function(t){o(e.edge(t))}))}function o(e){var t=e.width;e.width=e.height,e.height=t}function a(e){e.y=-e.y}function s(e){var t=e.x;e.x=e.y,e.y=t}e.exports={adjust:function(e){var t=e.graph().rankdir.toLowerCase();"lr"!==t&&"rl"!==t||i(e)},undo:function(e){var t=e.graph().rankdir.toLowerCase();"bt"!==t&&"rl"!==t||function(e){r.forEach(e.nodes(),(function(t){a(e.node(t))})),r.forEach(e.edges(),(function(t){var n=e.edge(t);r.forEach(n.points,a),r.has(n,"y")&&a(n)}))}(e);"lr"!==t&&"rl"!==t||(!function(e){r.forEach(e.nodes(),(function(t){s(e.node(t))})),r.forEach(e.edges(),(function(t){var n=e.edge(t);r.forEach(n.points,s),r.has(n,"x")&&s(n)}))}(e),i(e))}}},function(e,t,n){"use strict";var r=n(11),i=n(410),o=n(411),a=n(412),s=n(416),l=n(417),c=n(28).Graph,u=n(20);function d(e,t,n){return r.map(t,(function(t){return s(e,t,n)}))}function p(e,t){var n=new c;r.forEach(e,(function(e){var i=e.graph().root,o=a(e,i,n,t);r.forEach(o.vs,(function(t,n){e.node(t).order=n})),l(e,n,o.vs)}))}function f(e,t){r.forEach(t,(function(t){r.forEach(t,(function(t,n){e.node(t).order=n}))}))}e.exports=function(e){var t=u.maxRank(e),n=d(e,r.range(1,t+1),"inEdges"),a=d(e,r.range(t-1,-1,-1),"outEdges"),s=i(e);f(e,s);for(var l,c=Number.POSITIVE_INFINITY,h=0,g=0;g<4;++h,++g){p(h%2?n:a,h%4>=2),s=u.buildLayerMatrix(e);var m=o(e,s);m<c&&(g=0,l=r.cloneDeep(s),c=m)}f(e,l)}},function(e,t,n){"use strict";var r=n(11);e.exports=function(e){var t={},n=r.filter(e.nodes(),(function(t){return!e.children(t).length})),i=r.max(r.map(n,(function(t){return e.node(t).rank}))),o=r.map(r.range(i+1),(function(){return[]}));var a=r.sortBy(n,(function(t){return e.node(t).rank}));return r.forEach(a,(function n(i){if(r.has(t,i))return;t[i]=!0;var a=e.node(i);o[a.rank].push(i),r.forEach(e.successors(i),n)})),o}},function(e,t,n){"use strict";var r=n(11);function i(e,t,n){for(var i=r.zipObject(n,r.map(n,(function(e,t){return t}))),o=r.flatten(r.map(t,(function(t){return r.sortBy(r.map(e.outEdges(t),(function(t){return{pos:i[t.w],weight:e.edge(t).weight}})),"pos")})),!0),a=1;a<n.length;)a<<=1;var s=2*a-1;a-=1;var l=r.map(new Array(s),(function(){return 0})),c=0;return r.forEach(o.forEach((function(e){var t=e.pos+a;l[t]+=e.weight;for(var n=0;t>0;)t%2&&(n+=l[t+1]),l[t=t-1>>1]+=e.weight;c+=e.weight*n}))),c}e.exports=function(e,t){for(var n=0,r=1;r<t.length;++r)n+=i(e,t[r-1],t[r]);return n}},function(e,t,n){var r=n(11),i=n(413),o=n(414),a=n(415);e.exports=function e(t,n,s,l){var c=t.children(n),u=t.node(n),d=u?u.borderLeft:void 0,p=u?u.borderRight:void 0,f={};d&&(c=r.filter(c,(function(e){return e!==d&&e!==p})));var h=i(t,c);r.forEach(h,(function(n){if(t.children(n.v).length){var i=e(t,n.v,s,l);f[n.v]=i,r.has(i,"barycenter")&&(o=n,a=i,r.isUndefined(o.barycenter)?(o.barycenter=a.barycenter,o.weight=a.weight):(o.barycenter=(o.barycenter*o.weight+a.barycenter*a.weight)/(o.weight+a.weight),o.weight+=a.weight))}var o,a}));var g=o(h,s);!function(e,t){r.forEach(e,(function(e){e.vs=r.flatten(e.vs.map((function(e){return t[e]?t[e].vs:e})),!0)}))}(g,f);var m=a(g,l);if(d&&(m.vs=r.flatten([d,m.vs,p],!0),t.predecessors(d).length)){var v=t.node(t.predecessors(d)[0]),b=t.node(t.predecessors(p)[0]);r.has(m,"barycenter")||(m.barycenter=0,m.weight=0),m.barycenter=(m.barycenter*m.weight+v.order+b.order)/(m.weight+2),m.weight+=2}return m}},function(e,t,n){var r=n(11);e.exports=function(e,t){return r.map(t,(function(t){var n=e.inEdges(t);if(n.length){var i=r.reduce(n,(function(t,n){var r=e.edge(n),i=e.node(n.v);return{sum:t.sum+r.weight*i.order,weight:t.weight+r.weight}}),{sum:0,weight:0});return{v:t,barycenter:i.sum/i.weight,weight:i.weight}}return{v:t}}))}},function(e,t,n){"use strict";var r=n(11);e.exports=function(e,t){var n={};return r.forEach(e,(function(e,t){var i=n[e.v]={indegree:0,in:[],out:[],vs:[e.v],i:t};r.isUndefined(e.barycenter)||(i.barycenter=e.barycenter,i.weight=e.weight)})),r.forEach(t.edges(),(function(e){var t=n[e.v],i=n[e.w];r.isUndefined(t)||r.isUndefined(i)||(i.indegree++,t.out.push(n[e.w]))})),function(e){var t=[];function n(e){return function(t){t.merged||(r.isUndefined(t.barycenter)||r.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&function(e,t){var n=0,r=0;e.weight&&(n+=e.barycenter*e.weight,r+=e.weight);t.weight&&(n+=t.barycenter*t.weight,r+=t.weight);e.vs=t.vs.concat(e.vs),e.barycenter=n/r,e.weight=r,e.i=Math.min(t.i,e.i),t.merged=!0}(e,t)}}function i(t){return function(n){n.in.push(t),0==--n.indegree&&e.push(n)}}for(;e.length;){var o=e.pop();t.push(o),r.forEach(o.in.reverse(),n(o)),r.forEach(o.out,i(o))}return r.map(r.filter(t,(function(e){return!e.merged})),(function(e){return r.pick(e,["vs","i","barycenter","weight"])}))}(r.filter(n,(function(e){return!e.indegree})))}},function(e,t,n){var r=n(11),i=n(20);function o(e,t,n){for(var i;t.length&&(i=r.last(t)).i<=n;)t.pop(),e.push(i.vs),n++;return n}e.exports=function(e,t){var n=i.partition(e,(function(e){return r.has(e,"barycenter")})),a=n.lhs,s=r.sortBy(n.rhs,(function(e){return-e.i})),l=[],c=0,u=0,d=0;a.sort((p=!!t,function(e,t){return e.barycenter<t.barycenter?-1:e.barycenter>t.barycenter?1:p?t.i-e.i:e.i-t.i})),d=o(l,s,d),r.forEach(a,(function(e){d+=e.vs.length,l.push(e.vs),c+=e.barycenter*e.weight,u+=e.weight,d=o(l,s,d)}));var p;var f={vs:r.flatten(l,!0)};u&&(f.barycenter=c/u,f.weight=u);return f}},function(e,t,n){var r=n(11),i=n(28).Graph;e.exports=function(e,t,n){var o=function(e){var t;for(;e.hasNode(t=r.uniqueId("_root")););return t}(e),a=new i({compound:!0}).setGraph({root:o}).setDefaultNodeLabel((function(t){return e.node(t)}));return r.forEach(e.nodes(),(function(i){var s=e.node(i),l=e.parent(i);(s.rank===t||s.minRank<=t&&t<=s.maxRank)&&(a.setNode(i),a.setParent(i,l||o),r.forEach(e[n](i),(function(t){var n=t.v===i?t.w:t.v,o=a.edge(n,i),s=r.isUndefined(o)?0:o.weight;a.setEdge(n,i,{weight:e.edge(t).weight+s})})),r.has(s,"minRank")&&a.setNode(i,{borderLeft:s.borderLeft[t],borderRight:s.borderRight[t]}))})),a}},function(e,t,n){var r=n(11);e.exports=function(e,t,n){var i,o={};r.forEach(n,(function(n){for(var r,a,s=e.parent(n);s;){if((r=e.parent(s))?(a=o[r],o[r]=s):(a=i,i=s),a&&a!==s)return void t.setEdge(a,s);s=r}}))}},function(e,t,n){"use strict";var r=n(11),i=n(20),o=n(419).positionX;e.exports=function(e){(function(e){var t=i.buildLayerMatrix(e),n=e.graph().ranksep,o=0;r.forEach(t,(function(t){var i=r.max(r.map(t,(function(t){return e.node(t).height})));r.forEach(t,(function(t){e.node(t).y=o+i/2})),o+=i+n}))})(e=i.asNonCompoundGraph(e)),r.forEach(o(e),(function(t,n){e.node(n).x=t}))}},function(e,t,n){"use strict";var r=n(11),i=n(28).Graph,o=n(20);function a(e,t){var n={};return r.reduce(t,(function(t,i){var o=0,a=0,s=t.length,c=r.last(i);return r.forEach(i,(function(t,u){var d=function(e,t){if(e.node(t).dummy)return r.find(e.predecessors(t),(function(t){return e.node(t).dummy}))}(e,t),p=d?e.node(d).order:s;(d||t===c)&&(r.forEach(i.slice(a,u+1),(function(t){r.forEach(e.predecessors(t),(function(r){var i=e.node(r),a=i.order;!(a<o||p<a)||i.dummy&&e.node(t).dummy||l(n,r,t)}))})),a=u+1,o=p)})),i})),n}function s(e,t){var n={};function i(t,i,o,a,s){var c;r.forEach(r.range(i,o),(function(i){c=t[i],e.node(c).dummy&&r.forEach(e.predecessors(c),(function(t){var r=e.node(t);r.dummy&&(r.order<a||r.order>s)&&l(n,t,c)}))}))}return r.reduce(t,(function(t,n){var o,a=-1,s=0;return r.forEach(n,(function(r,l){if("border"===e.node(r).dummy){var c=e.predecessors(r);c.length&&(o=e.node(c[0]).order,i(n,s,l,a,o),s=l,a=o)}i(n,s,n.length,o,t.length)})),n})),n}function l(e,t,n){if(t>n){var r=t;t=n,n=r}var i=e[t];i||(e[t]=i={}),i[n]=!0}function c(e,t,n){if(t>n){var i=t;t=n,n=i}return r.has(e[t],n)}function u(e,t,n,i){var o={},a={},s={};return r.forEach(t,(function(e){r.forEach(e,(function(e,t){o[e]=e,a[e]=e,s[e]=t}))})),r.forEach(t,(function(e){var t=-1;r.forEach(e,(function(e){var l=i(e);if(l.length)for(var u=((l=r.sortBy(l,(function(e){return s[e]}))).length-1)/2,d=Math.floor(u),p=Math.ceil(u);d<=p;++d){var f=l[d];a[e]===e&&t<s[f]&&!c(n,e,f)&&(a[f]=e,a[e]=o[e]=o[f],t=s[f])}}))})),{root:o,align:a}}function d(e,t,n,o,a){var s={},l=function(e,t,n,o){var a=new i,s=e.graph(),l=function(e,t,n){return function(i,o,a){var s,l=i.node(o),c=i.node(a),u=0;if(u+=l.width/2,r.has(l,"labelpos"))switch(l.labelpos.toLowerCase()){case"l":s=-l.width/2;break;case"r":s=l.width/2}if(s&&(u+=n?s:-s),s=0,u+=(l.dummy?t:e)/2,u+=(c.dummy?t:e)/2,u+=c.width/2,r.has(c,"labelpos"))switch(c.labelpos.toLowerCase()){case"l":s=c.width/2;break;case"r":s=-c.width/2}return s&&(u+=n?s:-s),s=0,u}}(s.nodesep,s.edgesep,o);return r.forEach(t,(function(t){var i;r.forEach(t,(function(t){var r=n[t];if(a.setNode(r),i){var o=n[i],s=a.edge(o,r);a.setEdge(o,r,Math.max(l(e,t,i),s||0))}i=t}))})),a}(e,t,n,a),c=a?"borderLeft":"borderRight";function u(e,t){for(var n=l.nodes(),r=n.pop(),i={};r;)i[r]?e(r):(i[r]=!0,n.push(r),n=n.concat(t(r))),r=n.pop()}return u((function(e){s[e]=l.inEdges(e).reduce((function(e,t){return Math.max(e,s[t.v]+l.edge(t))}),0)}),l.predecessors.bind(l)),u((function(t){var n=l.outEdges(t).reduce((function(e,t){return Math.min(e,s[t.w]-l.edge(t))}),Number.POSITIVE_INFINITY),r=e.node(t);n!==Number.POSITIVE_INFINITY&&r.borderType!==c&&(s[t]=Math.max(s[t],n))}),l.successors.bind(l)),r.forEach(o,(function(e){s[e]=s[n[e]]})),s}function p(e,t){return r.minBy(r.values(t),(function(t){var n=Number.NEGATIVE_INFINITY,i=Number.POSITIVE_INFINITY;return r.forIn(t,(function(t,r){var o=function(e,t){return e.node(t).width}(e,r)/2;n=Math.max(t+o,n),i=Math.min(t-o,i)})),n-i}))}function f(e,t){var n=r.values(t),i=r.min(n),o=r.max(n);r.forEach(["u","d"],(function(n){r.forEach(["l","r"],(function(a){var s,l=n+a,c=e[l];if(c!==t){var u=r.values(c);(s="l"===a?i-r.min(u):o-r.max(u))&&(e[l]=r.mapValues(c,(function(e){return e+s})))}}))}))}function h(e,t){return r.mapValues(e.ul,(function(n,i){if(t)return e[t.toLowerCase()][i];var o=r.sortBy(r.map(e,i));return(o[1]+o[2])/2}))}e.exports={positionX:function(e){var t,n=o.buildLayerMatrix(e),i=r.merge(a(e,n),s(e,n)),l={};r.forEach(["u","d"],(function(o){t="u"===o?n:r.values(n).reverse(),r.forEach(["l","r"],(function(n){"r"===n&&(t=r.map(t,(function(e){return r.values(e).reverse()})));var a=("u"===o?e.predecessors:e.successors).bind(e),s=u(e,t,i,a),c=d(e,t,s.root,s.align,"r"===n);"r"===n&&(c=r.mapValues(c,(function(e){return-e}))),l[o+n]=c}))}));var c=p(e,l);return f(l,c),h(l,e.graph().align)},findType1Conflicts:a,findType2Conflicts:s,addConflict:l,hasConflict:c,verticalAlignment:u,horizontalCompaction:d,alignCoordinates:f,findSmallestWidthAlignment:p,balance:h}},function(e,t,n){var r=n(11),i=n(20),o=n(28).Graph;e.exports={debugOrdering:function(e){var t=i.buildLayerMatrix(e),n=new o({compound:!0,multigraph:!0}).setGraph({});return r.forEach(e.nodes(),(function(t){n.setNode(t,{label:t}),n.setParent(t,"layer"+e.node(t).rank)})),r.forEach(e.edges(),(function(e){n.setEdge(e.v,e.w,{},e.name)})),r.forEach(t,(function(e,t){var i="layer"+t;n.setNode(i,{rank:"same"}),r.reduce(e,(function(e,t){return n.setEdge(e,t,{style:"invis"}),t}))})),n}}},function(e,t){e.exports="0.8.5"},function(e,t,n){"use strict";const r=n(423);angular.module("dbt").directive("modelTree",[function(){return{scope:{tree:"="},templateUrl:r,link:function(e){e.nav_selected="project"}}}])},function(e,t){var n="/components/model_tree/model_tree.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'<style>\n.menu ul ul {\n margin-left: 12px;\n}\n</style>\n\n<div class="menu">\n <ul>\n <li>\n <a ui-sref="dbt.overview()" class="menu-link menu-main">\n Overview\n </a>\n </li>\n\n <li>\n <div class="switches">\n <div class="switch ">\n <span\n class="switch-label btn btn-sm"\n ng-class="{active: (nav_selected == \'project\')}"\n ng-click="nav_selected = \'project\'">\n <svg class="icn menu-icon-on"><use xlink:href="#icn-dir-on"></use></svg>\n Project\n </span>\n </div>\n <div class="switch">\n <span\n class="switch-label btn btn-sm"\n ng-class="{active: (nav_selected == \'database\')}"\n ng-click="nav_selected = \'database\'">\n <svg class="icn menu-icon-on"><use xlink:href="#icn-tree-on"></use></svg>\n Database\n </span>\n </div>\n <div class="switch">\n <span\n class="switch-label btn btn-sm"\n ng-class="{active: (nav_selected == \'group\')}"\n ng-click="nav_selected = \'group\'">\n <svg class="icn menu-icon-on"><use xlink:href="#icn-filter"></use></svg>\n Group\n </span>\n </div>\n </div>\n </li>\n\n <li>\n <div class="menu" ng-show="nav_selected == \'project\'">\n <div ng-show="tree.sources.length > 0">\n <strong>Sources</strong>\n <ul style="display: block">\n <model-tree-line\n item="item"\n resource-type="source"\n ng-repeat="item in tree.sources"></source-tree-line>\n </ul>\n <br />\n </div>\n\n <div ng-show="tree.exposures.length > 0">\n <strong>Exposures</strong>\n <ul style="display: block">\n <model-tree-line\n item="item"\n resource-type="exposure"\n ng-repeat="item in tree.exposures"></model-tree-line>\n </ul>\n <br />\n </div>\n \n <div ng-show="tree.metrics.length > 0">\n <strong>Metrics</strong>\n <ul style="display: block">\n <model-tree-line\n item="item"\n resource-type="metric"\n ng-repeat="item in tree.metrics"></model-tree-line>\n </ul>\n <br />\n </div>\n \n <div ng-show="tree.semantic_models.length > 0">\n <strong>Semantic Models</strong>\n <ul style="display: block">\n <model-tree-line\n item="item"\n resource-type="semantic_model"\n ng-repeat="item in tree.semantic_models"></model-tree-line>\n </ul>\n <br />\n </div>\n\n <strong>Projects</strong>\n <ul>\n <model-tree-line\n item="item"\n resource-type="model"\n ng-repeat="item in tree.project"></model-tree-line>\n </ul>\n </div>\n </li>\n\n <li>\n <div class="menu" ng-show="nav_selected == \'database\'">\n <strong>Tables and Views</strong>\n <ul>\n <model-tree-line\n item="item"\n resource-type="model"\n ng-repeat="item in tree.database"></model-tree-line>\n </ul>\n </div>\n </li>\n\n <li>\n <div class="menu" ng-show="nav_selected == \'group\'">\n <strong>Public Models</strong>\n <ul><model-tree-line\n item="item"\n resource-type="model"\n ng-repeat="item in tree.groups"></model-tree-line>\n </ul>\n </div>\n </li>\n </ul>\n</div>\n')}]),e.exports=n},function(e,t,n){"use strict";const r=n(425),i=n(21);n(426),angular.module("dbt").directive("modelTreeLine",["$state",function(e){return{scope:{item:"=",depth:"<",resourceType:"@"},replace:!0,templateUrl:r,link:function(t,n,r,o){t.depth||(t.depth=0);var a=t.item.name;if(a){var s=i.last(a,15).join(""),l=i.initial(a,s.length).join("");t.name={name:a,start:l,end:s},t.name_start=l,t.name_end=s,t.onFolderClick=function(n){if(n.active=!n.active,"source"==t.resourceType){var r=n.name;e.go("dbt.source_list",{source:r})}else 0===t.depth&&"database"!==n.type&&e.go("dbt.project_overview",{project_name:n.name})},t.activate=function(n){t.$emit("clearSearch"),n.active=!0;var r="dbt."+n.node.resource_type;e.go(r,{unique_id:n.unique_id})},t.getIcon=function(e,t){return"#"+{header:{on:"icn-down",off:"icn-right"},database:{on:"icn-db-on",off:"icn-db"},schema:{on:"icn-tree-on",off:"icn-tree"},table:{on:"icn-doc-on",off:"icn-doc"},folder:{on:"icn-dir-on",off:"icn-dir"},file:{on:"icn-doc-on",off:"icn-doc"},group:{on:"icn-filter",off:"icn-filter"}}[e][t]},t.getClass=function(e){return{active:e.active,"menu-tree":"header"==e.type||"schema"==e.type||"folder"==e.type,"menu-main":"header"==e.type,"menu-node":"file"==e.type||"table"==e.type}}}}}}])},function(e,t){var n="/components/model_tree/model_tree_line.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'<li class=\'unselectable\'>\n\n <a ng-if="!item.unique_id"\n class=\'unselectable\'\n ng-class="getClass(item)"\n ng-click="onFolderClick(item)">\n <span class="filename">\n <span class="filename-normal">\n <svg class="icn menu-icon-on"><use xlink:href="{{ getIcon(item.type, \'on\') }}"></use></svg>\n <svg class="icn menu-icon-off"><use xlink:href="{{ getIcon(item.type, \'off\') }}"></use></svg>\n </span>\n <span class="filename-ellip">{{name.start}}</span>\n <span class="filename-normal">{{name.end}}</span>\n </span>\n </a>\n\n <a ng-if="item.unique_id"\n class=\'unselectable\'\n ng-class="getClass(item)"\n ng-click="activate(item)"\n data-nav-unique-id="{{ item.unique_id }}"\n title="{{ name.name }}">\n <span class="filename">\n <span class="filename-normal">\n <svg class="icn menu-icon-on"><use xlink:href="{{ getIcon(item.type, \'on\') }}"></use></svg>\n <svg class="icn menu-icon-off"><use xlink:href="{{ getIcon(item.type, \'off\') }}"></use></svg>\n </span>\n <span class="filename-ellip">{{name.start}}</span>\n <span class="filename-normal">{{name.end}}</span>\n </span>\n </a>\n\n <ul ng-if="item.items">\n <model-tree-line\n resource-type="{{ resourceType }}"\n item="subitem"\n depth="depth + 1"\n ng-repeat="subitem in item.items" />\n </ul>\n</li>\n')}]),e.exports=n},function(e,t,n){var r=n(427);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};n(40)(r,i);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(39)(!1)).push([e.i,"\n.unselectable{\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n",""])},function(e,t,n){"use strict";const r=n(9),i=n(429);n(33);n(206),r.module("dbt").directive("docsSearch",["$sce","project",function(e,t){return{scope:{query:"=",results:"=",onSelect:"&"},replace:!0,templateUrl:i,link:function(n){n.max_results=20,n.show_all=!1,n.max_results_columns=3,n.limit_columns={},n.checkboxStatus={show_names:!1,show_descriptions:!1,show_columns:!1,show_column_descriptions:!1,show_code:!1,show_tags:!1},n.limit_search=function(e,t,r){return t<n.max_results||n.show_all},n.getState=function(e){return"dbt."+e.resource_type},n.getModelName=function(e){return"source"==e.resource_type?e.source_name+"."+e.name:"macro"==e.resource_type?e.package_name+"."+e.name:"metric"==e.resource_type?e.label:"semantic_model"==e.resource_type?e.name:"exposure"==e.resource_type||"model"==e.resource_type&&null!=e.version?e.label:e.name};function r(e){return e.replace(/[.*+\-?^${}()|[\]\\]/g,"\\$&")}function i(e){return _.words(e.toLowerCase())}n.$watchGroup(["query","checkboxStatus.show_names","checkboxStatus.show_descriptions","checkboxStatus.show_columns","checkboxStatus.show_column_descriptions","checkboxStatus.show_code","checkboxStatus.show_tags"],(function(){n.results=function(e,t){if(!_.some(_.values(t)))return e;let n=[],r=[];const{show_names:i,show_descriptions:o,show_columns:a,show_column_descriptions:s,show_code:l,show_tags:c}=t;return _.each(e,(function(e){_.each(e.matches,(function(t){if(!r.includes(e.model.unique_id)){const u=i&&("name"===t.key||"label"==t.key),d=o&&"description"==t.key,p=a&&"columns"===t.key,f=s&&"column_description"===t.key,h=l&&"raw_code"===t.key,g=c&&"tags"===t.key;(u||d||p||f||h||g)&&(r.push(e.model.unique_id),n.push(e))}}))})),n}(t.search(n.query),n.checkboxStatus)})),n.shorten=function(e){if(null!=e&&e.trim().length>0&&null!=n.query&&n.query.trim().length>0){let t=e.replace(/\s+/g," "),o=r(i(n.query)[0]),a=t.search(new RegExp(o)),s=a-75<0?0:a-75,l=a+75>t.length?t.length:a+75;return"..."+t.substring(s,l)+"..."}return e},n.highlight=function(t){if(!n.query||!t)return e.trustAsHtml(t);let o="("+i(n.query).map(e=>r(e)).join(")|(")+")";return e.trustAsHtml(t.replace(new RegExp(o,"gi"),'<span class="search-result-match">$&</span>'))},n.$watch("query",(function(e,t){0==e.length&&(n.show_all=!1,n.limit_columns={})})),n.columnFilter=function(e){var t=[];let r=i(n.query);for(var o in e)r.every(e=>-1!=o.toLowerCase().indexOf(e))&&t.push(o);return t},n.limitColumns=function(e){return void 0!==n.limit_columns[e]?n.limit_columns[e]:3}}}}])},function(e,t){var n="/components/search/search.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'<div class="app-scroll">\n <style>\n .search-result-match {\n background-color: #eee;\n }\n .spacing {\n margin-right: 0.25em;\n }\n .sub-results {\n margin-left: 36px;\n }\n </style>\n <div class="app-title">\n <div class="app-frame app-pad">\n <h1>\n <span class="break">{{ query }}</span>\n <small><span>{{ results.length }}</span> search results</small>\n </h1>\n <input type="checkbox" id="name" ng-model="checkboxStatus.show_names" ng-click="filterResults(results, checkboxStatus)" style = "margin-left:10px;margin-right:5px">\n <label for="name" style="margin-right:25px">Name</label> \n <input type="checkbox" id="desc" ng-model="checkboxStatus.show_descriptions" ng-click = "filterResults(results, checkboxStatus)" style = "margin-right:5px">\n <label for="desc" style="margin-right:25px;">Description</label> \n <input type="checkbox" id="column" ng-model="checkboxStatus.show_columns" ng-click = "filterResults(results, checkboxStatus)" style = "margin-right:5px">\n <label for="column" style="margin-right:25px;">Column</label> \n <input type="checkbox" id="column_description" ng-model="checkboxStatus.show_column_descriptions" ng-click = "filterResults(results, checkboxStatus)" style = "margin-right:5px">\n <label for="column_description" style="margin-right:25px;">Column Description</label>\n <input type="checkbox" id="code" ng-model="checkboxStatus.show_code" ng-click = "filterResults(results, checkboxStatus)" style = "margin-right:5px">\n <label for="code" style="margin-right:15px;">SQL</label>\n <input type="checkbox" id="tag" ng-model="checkboxStatus.show_tags" ng-click = "filterResults(results, checkboxStatus)" style = "margin-right:5px">\n <label for="code" style="margin-right:15px;">Tags</label>\n </div>\n </div>\n <div class="app-details">\n <div class="app-frame app-pad">\n <div class="results">\n <div ng-repeat="result in results | filter:limit_search | orderBy:\'overallWeight\':true track by result.model.unique_id"\n data-ui-state="getState(result.model)" data-ui-state-params="{unique_id: result.model.unique_id}"\n ng-click="onSelect()"\n class="result search-result a">\n <div class="result-content">\n <div class="result-icn">\n <svg class="icn "><use xlink:href="#icn-doc"></use></svg>\n </div>\n <div class="result-body">\n <h4 class="a">\n <span ng-bind-html="highlight(getModelName(result.model))"></span>\n <small>{{result.model.resource_type}}</small>\n </h4>\n <p ng-bind-html="highlight(shorten(result.model.description))"></p>\n </div>\n </div>\n <div class="sub-results" ng-show="query.length > 0">\n <span ng-repeat="column in columnFilter(result.model.columns) | limitTo:limitColumns(result.model.unique_id)">\n <span ng-show="$first === true">columns:</span>\n <span ng-bind-html="highlight(column + \',\')" ng-show="$last === false"></span>\n <span ng-bind-html="highlight(column)" ng-show="$last === true"></span>\n </span>\n <a\n ng-show="columnFilter(result.model.columns).length > max_results_columns && !limit_columns[result.model.unique_id]"\n ng-click="$event.stopPropagation(); limit_columns[result.model.unique_id] = 100">Show {{ columnFilter(result.model.columns).length - max_results_columns }} more</a>\n </div>\n <div class="sub-results" ng-show="query.length > 0">\n <span>\n <span ng-bind-html = "highlight(shorten(result.model[\'raw_code\']))"></span>\n </span>\n </div>\n <div class="sub-results" ng-show="query.length > 0">\n <span ng-repeat="tag in result.model.tags">\n <span ng-show="$first === true">tags:</span>\n <span ng-bind-html="highlight(tag + \',\')" ng-show="$last === false"></span>\n <span ng-bind-html="highlight(tag)" ng-show="$last === true"></span>\n </span>\n </div>\n </div>\n <a\n ng-show="results.length >= max_results && !show_all"\n ng-click="show_all = true">Show {{ results.length - max_results }} more</a>\n </div>\n </div>\n </div>\n</div>\n')}]),e.exports=n},function(e,t){e.exports={getQuoteChar:function(e){var t=(e||{}).adapter_type;return["bigquery","spark","databricks"].indexOf(t)>=0?"`":'"'}}},function(e,t,n){"use strict";const r=n(432);n(433);const i=n(21);angular.module("dbt").directive("tableDetails",["$sce","$filter","project",function(e,t,n){return{scope:{model:"=",extras:"=",exclude:"<"},templateUrl:r,link:function(e){function r(e,t){if(0==e)return"0 bytes";if(e<1&&(e*=1e6),isNaN(parseFloat(e))||!isFinite(e))return"-";void 0===t&&(t=0);var n=Math.floor(Math.log(e)/Math.log(1024));return(e/Math.pow(1024,Math.floor(n))).toFixed(t)+" "+["bytes","KB","MB","GB","TB","PB"][n]}function o(e,n){return void 0===n&&(n=2),t("number")(100*e,n)+"%"}function a(e,n){return void 0===n&&(n=0),t("number")(e,n)}function s(e){var t,r,o=!e.metadata,a=e.metadata||{};t=e.database?e.database+".":"",r=o?void 0:"source"==e.resource_type?t+e.schema+"."+e.identifier:t+e.schema+"."+e.alias;var s,l=[{name:"Owner",value:e.group?function(e){const{name:t,email:r}=n.project.groups[e].owner,i=[];if(t&&i.push(t),r){const e=i.length>0?`<${r}>`:r;i.push(e)}return i.join(" ")}(`group.${e.package_name}.${e.group}`):a.owner},{name:"Type",value:o?void 0:(s=a.type,"BASE TABLE"==s?{type:"table",name:"table"}:"LATE BINDING VIEW"==s?{type:"view",name:"late binding view"}:{type:s.toLowerCase(),name:s.toLowerCase()}).name},{name:"Package",value:e.package_name},{name:"Language",value:e.language},{name:"Relation",value:r},{name:"Access",value:e.access},{name:"Version",value:e.version},{name:"Contract",value:e.config.contract.enforced?"Enforced":"Not Enforced"}];return i.filter(l,(function(e){return void 0!==e.value}))}e.details=[],e.extended=[],e.exclude=e.exclude||[],e.meta=null,e._show_expanded=!1,e.show_expanded=function(t){return void 0!==t&&(e._show_expanded=t),e._show_expanded},e.hasData=function(e){return!(!e||i.isEmpty(e))&&(1!=e.length||0!=e[0].include)},e.$watch("model",(function(t,n){i.property(["metadata","type"])(t);var l,c,u,d=t.hasOwnProperty("sources")&&null!=t.sources[0]?t.sources[0].source_meta:null;if(e.meta=t.meta||d,e.details=s(t),e.extended=(l=t.stats,c={rows:a,row_count:a,num_rows:a,max_varchar:a,pct_used:o,size:r,bytes:r,num_bytes:r},u=i.sortBy(i.values(l),"label"),i.map(u,(function(e){var t=i.clone(e),n=c[e.id];return n&&(t.value=n(e.value),t.label=e.label.replace("Approximate","~"),t.label=e.label.replace("Utilization","Used")),t}))),e.extras){var p=i.filter(e.extras,(function(e){return void 0!==e.value&&null!==e.value}));e.details=e.details.concat(p)}e.show_extended=i.where(e.extended,{include:!0}).length>0})),e.queryTag=function(t){e.$emit("query",t)}}}}])},function(e,t){var n="/components/table_details/table_details.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'<div class="section-content">\n <h6>Details</h6>\n <div class="panel">\n <div class="panel-body">\n <div class="details">\n <div class="details-content">\n <div class="detail-group" ng-if="hasData(meta)">\n <div class="detail-body">\n <dl class="detail"\n ng-repeat="(k, v) in meta">\n <dt class="detail-label">{{ k }}</dt>\n <dd class="detail-value">{{ v }}</dd>\n </dl>\n </div>\n </div>\n <div class="detail-group">\n <div class="detail-body">\n <dl class=\'detail\' ng-if="model.tags != undefined && exclude.indexOf(\'tags\') == -1">\n <dt class="detail-label">Tags</dt>\n <dd ng-if="model.tags.length > 0" class="detail-value">\n <span ng-repeat="tag in model.tags"><code><a ng-click=queryTag(tag)>{{ tag }}</a></code> </span>\n </dd>\n <dd ng-if="model.tags.length == 0" class="detail-value">untagged</dd>\n </dl>\n <dl class="detail"\n ng-repeat="item in details">\n <dt class="detail-label">{{ item.name }}</dt>\n <dd class="detail-value">{{ item.value }}</dd>\n </dl>\n </div>\n </div>\n <div class="detail-group" ng-if="hasData(extended)">\n <div class="detail-body">\n <dl class="detail"\n ng-repeat="item in extended"\n ng-if="item.include">\n <dt data-toggle="tooltip" title="{{ item.description }}" class="detail-label">{{ item.label }}</dt>\n <dd class="detail-value">{{ item.value }}</dd>\n </dl>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n')}]),e.exports=n},function(e,t,n){var r=n(434);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};n(40)(r,i);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(39)(!1)).push([e.i,"\n\n.details-content {\n table-layout: fixed;\n}\n\n.detail-body {\n white-space: nowrap;\n overflow-x: scroll;\n}\n",""])},function(e,t,n){"use strict";const r=n(436),i=n(21);angular.module("dbt").directive("columnDetails",["project",function(e){return{scope:{model:"="},templateUrl:r,link:function(t){t.has_test=function(e,t){return-1!=i.pluck(e.tests,"short").indexOf(t)},t.has_constraint=function(e,t){return e.constraints.some(e=>e.type===t)},t.has_more_info=function(e){var t=e.tests||[],n=e.description||"",r=e.meta||{},o=e.constraints||[];return t.length||n.length||o.length||!i.isEmpty(r)},t.toggle_column_expanded=function(e){t.has_more_info(e)&&(e.expanded=!e.expanded)},t.getState=function(e){return"dbt."+e.resource_type},t.get_col_name=function(t){return e.caseColumn(t)},t.get_columns=function(e){var t=i.chain(e.columns).values().sortBy("index").value();return i.each(t,(function(e,t){e.index=t})),t}}}}])},function(e,t){var n="/components/column_details/column_details.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'<div class="panel">\n <div class="panel-body">\n <div ng-if="_.isEmpty(model.columns)">\n Column information is not available for this seed\n </div>\n <div class="table-responsive"\n style="max-height: 800px; overflow-y: scroll;"\n ng-if="!_.isEmpty(model.columns)">\n <table class="table table-borderless table-hover">\n <thead>\n <tr>\n <th style="background-color: white; position: sticky; top: 0; z-index: 1;">Column</th>\n <th style="background-color: white; position: sticky; top: 0; z-index: 1;">Type</th>\n <th style="background-color: white; position: sticky; top: 0; z-index: 1;">Description</th>\n <th style="width: 1px; background-color: white; position: sticky; top: 0; z-index: 1;">Constraints</th>\n <th style="width: 1px; background-color: white; position: sticky; top: 0; z-index: 1;">Tests</th>\n <th style="width: 1px; background-color: white; position: sticky; top: 0; z-index: 1;" class=\'text-center\'>More?</th>\n </tr>\n </thead>\n <tbody>\n <tr\n ng-repeat-start="column in get_columns(model) track by column.index"\n ng-click="toggle_column_expanded(column)"\n class="column-row"\n ng-class="{\'column-row-selected\': column.expanded}"\n ng-style="{cursor: has_more_info(column) ? \'pointer\' : \'auto\'}">\n <td>\n <div>\n <span class=\'text-dark\'>{{ get_col_name(column.name) }}</span>\n </div>\n </td>\n <td>\n <span class=\'text-dark\'>{{ column.type }}</p>\n </td>\n <td style="text-overflow: ellipsis; overflow-x: hidden; white-space: nowrap; max-width: 1px;">\n <span ng-show="!column.expanded">{{ column.description }}</span>\n </td>\n <td>\n <span class="text-light" ng-show="!column.expanded">\n <span data-toggle="tooltip" title="Not Null" ng-if="has_constraint(column, \'not_null\')">N</span>\n <span data-toggle="tooltip" title="Primary Key" ng-if="has_constraint(column, \'primary_key\')">PK</span>\n <span data-toggle="tooltip" title="Foreign Key" ng-if="has_constraint(column, \'foreign_key\')">FK</span>\n <span data-toggle="tooltip" title="Check" ng-if="has_constraint(column, \'check\')">C</span>\n <span data-toggle="tooltip" title="Custom" ng-if="has_constraint(column, \'custom\')">+</span>\n </span>\n </td>\n <td>\n <span class="text-light" ng-show="!column.expanded">\n <span data-toggle="tooltip" title="Unique" ng-if="has_test(column, \'U\')">U</span>\n <span data-toggle="tooltip" title="Not Null" ng-if="has_test(column, \'N\')">N</span>\n <span data-toggle="tooltip" title="Foreign Key" ng-if="has_test(column, \'F\')">F</span>\n <span data-toggle="tooltip" title="Accepted Values" ng-if="has_test(column, \'A\')">A</span>\n <span data-toggle="tooltip" title="Custom Test" ng-if="has_test(column, \'+\')">+</span>\n </span>\n </td>\n <td class=\'text-center\'>\n <span class=\'text-light\' ng-show="has_more_info(column)">\n <span ng-if="column.expanded">\n <svg class="icn"><use xlink:href="#icn-up"></use></svg>\n </span>\n <span ng-if="!column.expanded">\n <svg class="icn"><use xlink:href="#icn-right"></use></svg>\n </span>\n </span>\n </td>\n </tr>\n <tr ng-repeat-end ng-show="column.expanded" style="background-color: white; padding: 10px">\n <td colspan="5" class="column-expanded">\n <div style="padding: 5px 20px">\n <div ng-show="column.meta">\n <h5>Details</h5>\n <div class="detail-group" style="padding-bottom: 0">\n <div class="detail-body" style="padding-left: 0">\n <dl class="detail"\n ng-style="{\'padding-left\': $index == 0 ? 0 : \'auto\'}"\n ng-repeat="(k, v) in column.meta">\n <dt class="detail-label">{{ k }}</dt>\n <dd class="detail-value">{{ v }}</dd>\n </dl>\n </div>\n </div>\n </div>\n\n <div style="margin-bottom: 15px" ng-if="column.description.length">\n <h5>Description</h5>\n <span marked="column.description"></span>\n </div>\n\n <div ng-show="column.constraints && column.constraints.length" style="margin-bottom: 15px">\n <h5>Constraints</h5>\n <div class="detail-group" style="padding-bottom: 0">\n <div class="detail-body" style="padding-left: 0">\n <dl class="detail" ng-style="{\'padding-left\': $index == 0 ? 0 : \'auto\'}"\n ng-repeat="constraint in column.constraints">\n <dt class="detail-label">Name</dt>\n <dd class="detail-value">{{ constraint.name }}</dd>\n <dt class="detail-label">Type</dt>\n <dd class="detail-value">{{ constraint.type }}</dd>\n <dt class="detail-label">Expression</dt>\n <dd class="detail-value">{{ constraint.expression }}</dd>\n </dl>\n </div>\n </div>\n </div>\n\n <div ng-show="column.tests && column.tests.length" style="margin-bottom: 15px">\n <h5>Generic Tests</h5>\n <ul class="list-unstyled" style="margin-top: 2px">\n <li ng-repeat="test in column.tests" ng-switch on="test.short" class=\'text-light\'>\n <span ng-switch-when="F">\n Foreign Key\n <span ng-if="test.fk_model.unique_id">\n <a data-ui-state="getState(test.fk_model)"\n data-ui-state-params="{unique_id: test.fk_model.unique_id}">\n to {{ test.fk_model.name }}\n </a> on <code>{{ test.fk_field }}</code>\n </span>\n </span>\n <span ng-switch-when="P">Primary Key</span>\n <span ng-switch-when="U">Unique</span>\n <span ng-switch-when="N">Not Null</span>\n <span ng-switch-default>{{ test.label }}</span>\n </li>\n </ul>\n </div>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n</div>\n')}]),e.exports=n},function(e,t,n){"use strict";const r=n(438);n(33),n(439);function i(e){return"python"===e?"language-python":"language-sql"}angular.module("dbt").directive("codeBlock",["code","$timeout",function(e,t){return{scope:{versions:"=",default:"<",language:"="},restrict:"E",templateUrl:r,link:function(n,r){n.selected_version=n.default,n.language_class=i(n.language),n.source=null,n.setSelected=function(r){n.selected_version=r,n.source=n.versions[r]||"";const i=n.source.trim();n.highlighted=e.highlight(i,n.language),t((function(){Prism.highlightAll()}))},n.titleCase=function(e){return e.charAt(0).toUpperCase()+e.substring(1)},n.copied=!1,n.copy_to_clipboard=function(){e.copy_to_clipboard(n.source),n.copied=!0,setTimeout((function(){n.$apply((function(){n.copied=!1}))}),1e3)},n.$watch("language",(function(e,t){e&&e!=t&&(n.language_class=i(e))}),!0),n.$watch("versions",(function(e,t){if(e)if(n.default)n.setSelected(n.default);else{var r=Object.keys(n.versions);r.length>0&&n.setSelected(r[0])}}),!0)}}}])},function(e,t){var n="/components/code_block/code_block.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'<h6>Code</h6>\n<div class="panel">\n <div class="panel-body">\n <ul class="nav nav-tabs">\n <li\n ng-repeat="(version_name, version) in versions"\n ng-class="{active: version_name == selected_version}">\n <a ng-click="setSelected(version_name)">{{ titleCase(version_name) }}</a>\n </li>\n <li class=\'nav-pull-right\'></li>\n <li>\n <a class=\'unselectable\'\n ng-click="copy_to_clipboard()">{{ copied ? \'copied\' : \'copy to clipboard\' }}</a>\n </li>\n </ul>\n <div style="margin-top: 1px">\n <pre style="background-color: white"\n class=\'code line-numbers\'><code class="source-code highlight" ng-class="language_class" ng-bind-html="highlighted"></code></pre>\n </div>\n </div>\n</div>\n')}]),e.exports=n},function(e,t,n){var r=n(440);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};n(40)(r,i);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(39)(!1)).push([e.i,"pre.code {\n border: none !important;\n overflow-y: visible !important;\n overflow-x: scroll !important;\n padding-bottom: 10px;\n}\n\npre.code code {\n font-family: Monaco, monospace !important;\n font-weight: 400 !important;\n}\n\n.line-numbers-rows {\n border: none !important;\n}\n",""])},function(e,t,n){"use strict";const r=n(442);angular.module("dbt").directive("macroArguments",[function(){return{scope:{macro:"="},templateUrl:r,link:function(e){_.each(e.macro.arguments,(function(e){e.expanded=!1}))}}}])},function(e,t){var n="/components/macro_arguments/index.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'<style>\n .arg-header {\n background-color: white;\n position: sticky;\n top: 0;\n z-index: 1;\n }\n\n</style>\n\n<div class="panel">\n <div class="panel-body">\n <div ng-if="macro.arguments.length == 0">\n Details are not available for this macro. This may be due to the fact that this macro doesn\'t have any\n arguments or that they haven\'t been documented yet.\n </div>\n <div ng-if="macro.arguments.length > 0" class="table-responsive" style="max-height: 800px; overflow-y: scroll;">\n <table class="table table-borderless table-hover">\n <thead>\n <tr>\n <th class="arg-header">Argument</th>\n <th class="arg-header">Type</th>\n <th class="arg-header">Description</th>\n <th style="width: 1px;" class=\'text-center\'>More?</th>\n </tr>\n </thead>\n <tbody>\n <tr ng-repeat-start="arg in macro.arguments" ng-click="arg.expanded = !arg.expanded"\n ng-class="{\'column-row-selected\': arg.expanded}"\n ng-style="{cursor: arg.description ? \'pointer\' : \'auto\'}" class="column-row">\n <td>\n <div>\n <span class=\'text-dark\'>{{ arg.name }}</span>\n </div>\n </td>\n <td>\n <span class=\'text-dark\'>{{ arg.type }}</p>\n </td>\n <td style="text-overflow: ellipsis; overflow-x: hidden; white-space: nowrap; max-width: 1px;">\n <span ng-show="!arg.expanded">{{ arg.description }}</span>\n </td>\n <td class=\'text-center\'>\n <span class=\'text-light\' ng-show="arg.description">\n <span ng-if="arg.expanded">\n <svg class="icn">\n <use xlink:href="#icn-up"></use>\n </svg>\n </span>\n <span ng-if="!arg.expanded">\n <svg class="icn">\n <use xlink:href="#icn-right"></use>\n </svg>\n </span>\n </span>\n </td>\n </tr>\n <tr ng-repeat-end ng-show="arg.expanded" style="background-color: white; padding: 10px">\n <td colspan="4" class="column-expanded">\n <div style="padding: 5px 20px">\n <div style="margin-bottom: 15px">\n <h5>Description</h5>\n <span marked="arg.description"></span>\n </div>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n</div>\n')}]),e.exports=n},function(e,t,n){"use strict";const r=n(444);angular.module("dbt").directive("referenceList",["$state",function(e){return{scope:{references:"=",node:"="},restrict:"E",templateUrl:r,link:function(t){t.selected_type=null,t.setType=function(e){t.selected_type=e,t.nodes=t.references[t.selected_type]},t.getNodeUrl=function(t){var n="dbt."+t.resource_type;return e.href(n,{unique_id:t.unique_id,"#":null})},t.mapResourceType=function(e){return"model"==e?"Models":"seed"==e?"Seeds":"test"==e?"Tests":"snapshot"==e?"Snapshots":"analysis"==e?"Analyses":"macro"==e?"Macros":"exposure"==e?"Exposures":"metric"==e?"Metrics":"semantic_model"==e?"Semantic Models":"operation"==e?"Operations":"Nodes"},t.$watch("references",(function(e){e&&_.size(e)>0?(t.selected_type=_.keys(e)[0],t.has_references=!0,t.nodes=t.references[t.selected_type]):t.has_references=!1}))}}}])},function(e,t){var n="/components/references/index.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'<div class="panel">\n <div class="panel-body" ng-if="!has_references">\n No resources reference this {{ node.resource_type }}\n </div>\n <div class="panel-body" ng-if="has_references">\n <ul class="nav nav-tabs">\n <li\n ng-repeat="(resource_type, nodes) in references"\n ng-class="{active: resource_type == selected_type}">\n <a ng-click="setType(resource_type)">\n {{ mapResourceType(resource_type) }}\n </a>\n </li>\n </ul>\n <div style="margin-top: 15px">\n <ul class=\'list-unstyled\'>\n <li ng-repeat="node in nodes">\n <a ng-href="{{ getNodeUrl(node) }}">{{ node.name }}</a>\n </li>\n </ul>\n <div>\n </div>\n</div>\n')}]),e.exports=n},function(e,t,n){n(446),n(448),n(449),n(450),n(451),n(452),n(453),n(454),n(455),n(456),n(457)},function(e,t,n){"use strict";const r=n(9),i=n(30);n(31),r.module("dbt").controller("ModelCtrl",["$scope","$state","project","code","$anchorScroll","$location",function(e,t,n,r,o,a){e.model_uid=t.params.unique_id,e.tab=t.params.tab,e.project=n,e.codeService=r,e.versions={},e.copied=!1,e.copy_to_clipboard=function(t){r.copy_to_clipboard(t),e.copied=!0,setTimeout((function(){e.$apply((function(){e.copied=!1}))}),1e3)},e.model={},n.ready((function(t){let n=t.nodes[e.model_uid];e.model=n,e.references=i.getReferences(t,n),e.referencesLength=Object.keys(e.references).length,e.parents=i.getParents(t,n),e.parentsLength=Object.keys(e.parents).length,e.language=n.language;e.versions={Source:e.model.raw_code,Compiled:e.model.compiled_code||"\n-- compiled code not found for this model\n"},setTimeout((function(){o()}),0)}))}])},function(e,t,n){(e.exports=n(39)(!1)).push([e.i,"\n.nav-tabs li.nav-pull-right {\n flex: 1 0 auto;\n text-align: right;\n}\n\ntr.column-row-selected {\n\n}\n\ntd.column-expanded{\n padding: 0px !important;\n}\n\ntd.column-expanded > div {\n padding: 5px 10px;\n margin-left: 20px;\n height: 100%;\n\n border-left: 1px solid #ccc !important;\n}\n",""])},function(e,t,n){"use strict";const r=n(9),i=n(30);n(31),r.module("dbt").controller("SourceCtrl",["$scope","$state","project","code","$anchorScroll","$location",function(e,t,n,r,o,a){e.model_uid=t.params.unique_id,e.project=n,e.codeService=r,e.extra_table_fields=[],e.versions={},e.model={},n.ready((function(t){let n=t.nodes[e.model_uid];e.model=n,e.references=i.getReferences(t,n),e.referencesLength=Object.keys(e.references).length,e.parents=i.getParents(t,n),e.parentsLength=Object.keys(e.parents).length,e.versions={"Sample SQL":r.generateSourceSQL(e.model)},e.extra_table_fields=[{name:"Loader",value:e.model.loader},{name:"Source",value:e.model.source_name}]}))}])},function(e,t,n){"use strict";const r=n(9),i=n(30);n(31),r.module("dbt").controller("SeedCtrl",["$scope","$state","project","code","$transitions","$anchorScroll","$location",function(e,t,n,r,o,a,s){e.model_uid=t.params.unique_id,e.tab=t.params.tab,e.project=n,e.codeService=r,e.versions={},e.model={},n.ready((function(t){let n=t.nodes[e.model_uid];e.model=n,e.references=i.getReferences(t,n),e.referencesLength=Object.keys(e.references).length,e.parents=i.getParents(t,n),e.parentsLength=Object.keys(e.parents).length,e.versions={"Example SQL":r.generateSourceSQL(e.model)}}))}])},function(e,t,n){"use strict";const r=n(9),i=n(30);n(31),r.module("dbt").controller("SnapshotCtrl",["$scope","$state","project","code","$anchorScroll","$location",function(e,t,n,r,o,a){e.model_uid=t.params.unique_id,e.tab=t.params.tab,e.project=n,e.codeService=r,e.versions={},e.model={},n.ready((function(t){let n=t.nodes[e.model_uid];e.model=n,e.references=i.getReferences(t,n),e.referencesLength=Object.keys(e.references).length,e.parents=i.getParents(t,n),e.parentsLength=Object.keys(e.parents).length,e.language=n.language;e.versions={Source:e.model.raw_code,Compiled:e.model.compiled_code||"Compiled SQL is not available for this snapshot"},setTimeout((function(){o()}),0)}))}])},function(e,t,n){"use strict";const r=n(9),i=n(30);n(31),r.module("dbt").controller("TestCtrl",["$scope","$state","project","code","$anchorScroll","$location",function(e,t,n,r,o,a){e.model_uid=t.params.unique_id,e.tab=t.params.tab,e.project=n,e.codeService=r,e.versions={},e.model={},n.ready((function(t){let n=t.nodes[e.model_uid];e.model=n,e.references=i.getReferences(t,n),e.referencesLength=Object.keys(e.references).length,e.parents=i.getParents(t,n),e.parentsLength=Object.keys(e.parents).length,e.language=n.language;e.versions={Source:e.model.raw_code,Compiled:e.model.compiled_code||"\n-- compiled code not found for this model\n"},setTimeout((function(){o()}),0)}))}])},function(e,t,n){"use strict";const r=n(9),i=n(21),o=n(30);n(31),r.module("dbt").controller("MacroCtrl",["$scope","$state","project","code","$transitions","$anchorScroll","$location",function(e,t,n,r,a,s,l){e.model_uid=t.params.unique_id,e.tab=t.params.tab,e.project=n,e.codeService=r,e.macro={},n.ready((function(t){let n=t.macros[e.model_uid];if(e.macro=n,e.references=o.getMacroReferences(t,n),e.referencesLength=Object.keys(e.references).length,e.parents=o.getMacroParents(t,n),e.parentsLength=Object.keys(e.parents).length,e.macro.is_adapter_macro){var r=t.metadata.adapter_type;e.versions=n.impls,n.impls[r]?e.default_version=r:n.impls.default?e.default_version="default":e.default_version=i.keys(n.impls)[0]}else e.default_version="Source",e.versions={Source:e.macro.macro_sql}}))}])},function(e,t,n){"use strict";const r=n(9),i=n(30);n(31),r.module("dbt").controller("AnalysisCtrl",["$scope","$state","project","code","$transitions","$anchorScroll","$location",function(e,t,n,r,o,a,s){e.model_uid=t.params.unique_id,e.project=n,e.codeService=r,e.default_version="Source",e.versions={Source:"",Compiled:""},e.model={},n.ready((function(t){let n=t.nodes[e.model_uid];e.model=n,e.references=i.getReferences(t,n),e.referencesLength=Object.keys(e.references).length,e.parents=i.getParents(t,n),e.parentsLength=Object.keys(e.parents).length,e.language=n.language,e.versions={Source:e.model.raw_code,Compiled:e.model.compiled_code}}))}])},function(e,t,n){"use strict";const r=n(9),i=n(30);n(31),r.module("dbt").controller("ExposureCtrl",["$scope","$state","project","code","$anchorScroll","$location",function(e,t,n,r,o,a){e.model_uid=t.params.unique_id,e.project=n,e.codeService=r,e.extra_table_fields=[],e.versions={},e.exposure={},n.ready((function(t){let n=t.nodes[e.model_uid];var r;e.exposure=n,e.parents=i.getParents(t,n),e.parentsLength=e.parents.length,e.language=n.language,e.exposure.owner.name&&e.exposure.owner.email?r=`${e.exposure.owner.name} <${e.exposure.owner.email}>`:e.exposure.owner.name?r=""+e.exposure.owner.name:e.exposure.owner.email&&(r=""+e.exposure.owner.email),e.extra_table_fields=[{name:"Maturity",value:e.exposure.maturity},{name:"Owner",value:r},{name:"Exposure name",value:e.exposure.name}]}))}])},function(e,t,n){"use strict";const r=n(9),i=n(30);n(31),r.module("dbt").controller("MetricCtrl",["$scope","$state","project","code","$anchorScroll","$location",function(e,t,n,r,o,a){e.model_uid=t.params.unique_id,e.project=n,e.codeService=r,e.extra_table_fields=[],e.versions={},e.metric={},n.ready((function(t){let n=t.nodes[e.model_uid];e.metric=n,e.parents=i.getParents(t,n),e.parentsLength=e.parents.length;const r="expression"===e.metric.type?"Expression metric":"Aggregate metric";e.extra_table_fields=[{name:"Metric Type",value:r},{name:"Metric name",value:e.metric.name}]}))}])},function(e,t,n){"use strict";const r=n(9),i=n(30);n(31),r.module("dbt").controller("SemanticModelCtrl",["$scope","$state","project","code","$anchorScroll","$location",function(e,t,n,r,o,a){e.model_uid=t.params.unique_id,e.project=n,e.codeService=r,e.extra_table_fields=[],e.versions={},e.semantic_model={},n.ready((function(t){let n=t.nodes[e.model_uid];e.semantic_model=n,e.parents=i.getParents(t,n),e.parentsLength=e.parents.length;const r="expression"===e.semantic_model.type?"Expression semantic_model":"Aggregate semantic_model";e.extra_table_fields=[{name:"Semantic Model Type",value:r},{name:"Semantic Model name",value:e.semantic_model.name}]}))}])},function(e,t,n){"use strict";const r=n(9),i=n(30);n(31),r.module("dbt").controller("OperationCtrl",["$scope","$state","project","code","$anchorScroll","$location",function(e,t,n,r,o,a){e.model_uid=t.params.unique_id,e.tab=t.params.tab,e.project=n,e.codeService=r,e.versions={},e.model={},n.ready((function(t){let n=t.nodes[e.model_uid];e.model=n,e.references=i.getReferences(t,n),e.referencesLength=Object.keys(e.references).length,e.parents=i.getParents(t,n),e.parentsLength=Object.keys(e.parents).length,e.language=n.language;e.versions={Source:e.model.raw_code,Compiled:e.model.compiled_code||"\n-- compiled code not found for this model\n"},setTimeout((function(){o()}),0)}))}])},function(e,t,n){"use strict";n(9).module("dbt").controller("GraphCtrl",["$scope","$state","$window","graph","project","selectorService",function(e,t,n,r,i,o){function a(e){return e&&"source"==e.resource_type?"source:"+e.source_name+"."+e.name:e&&"exposure"==e.resource_type?"exposure:"+e.name:e&&"metric"==e.resource_type?"metric:"+e.name:e&&"semantic_model"==e.resource_type?"semantic_model:"+e.name:e&&"model"==e.resource_type&&null!=e.version?e.label:e.name?e.name:"*"}e.graph=r.graph,e.graphService=r,e.graphRendered=function(e){r.setGraphReady(e)},e.$watch((function(){return t.params.unique_id}),(function(e,t){e&&e!=t&&i.find_by_id(e,(function(e){e&&("sidebar"==r.orientation?r.showVerticalGraph(a(e),!1):r.showFullGraph(a(e)))})),e||o.clearViewNode()}))}])},function(e,t,n){"use strict";const r=n(9),i=n(21),o=n(33),a=n(460);n(461),n(206),n(469),n(471),n(474),n(478),r.module("dbt").controller("MainController",["$scope","$route","$state","project","graph","selectorService","trackingService","locationService","$transitions",function(e,t,n,r,s,l,c,u,d){function p(t){e.model_uid=t;var n=r.node(t);n&&l.resetSelection(n)}function f(e){e&&setTimeout((function(){var t=o("*[data-nav-unique-id='"+e+"']");t.length&&t[0].scrollIntoView&&t[0].scrollIntoView({behavior:"smooth",block:"center",inline:"center"})}),1)}e.tree={database:{},project:{},sources:{}},e.search={query:"",results:[],is_focused:!1},e.logo=a,e.model_uid=null,e.project={},o("body").bind("keydown",(function(e){"t"==event.key&&"INPUT"!=event.target.tagName&&(o("#search").focus(),event.preventDefault())})),e.onSearchFocus=function(t,n){e.search.is_focused=n},e.clearSearch=function(){e.search.is_focused=!1,e.search.query="",e.search.results=[],o("#search").blur()},e.$on("clearSearch",(function(){e.clearSearch()})),e.$on("query",(function(t,n){e.search.is_focused=!0,e.search.query=n})),e.onSearchKeypress=function(t){"Escape"==t.key&&(e.clearSearch(),t.preventDefault())},r.getModelTree(n.params.unique_id,(function(t){e.tree.database=t.database,e.tree.project=t.project,e.tree.sources=t.sources,e.tree.exposures=t.exposures,e.tree.metrics=t.metrics,e.tree.semantic_models=t.semantic_models,e.tree.groups=t.groups,setTimeout((function(){f(e.model_uid)}))})),d.onSuccess({},(function(t,n){var i=t.router.globals.params,o=l.getViewNode(),a=o?o.unique_id:null,s=i.unique_id,u=!0;if(t.from().name==t.to().name&&a==s&&(u=!1),u&&i.unique_id){var d=r.updateSelected(i.unique_id);e.tree.database=d.database,e.tree.groups=d.groups,e.tree.project=d.project,e.tree.sources=d.sources,e.search.query="",p(i.unique_id),setTimeout((function(){f(i.unique_id)}))}u&&c.track_pageview()})),e.$watch("search.query",(function(t){e.search.results=function(t){if(""===e.search.query)return t;let n={name:10,tags:5,description:3,raw_code:2,columns:1};return i.each(t,(function(t){t.overallWeight=0,i.each(Object.keys(n),(function(r){if(null!=t.model[r]){let o=0,a=t.model[r],s=e.search.query.toLowerCase();if("columns"===r)i.each(a,(function(e){if(e.name){let t=e.name.toLowerCase(),n=0;for(;-1!=n;)n=t.indexOf(s,n),-1!=n&&(o++,n++)}}));else if("tags"===r)i.each(a,(function(e){let t=e.toLowerCase(),n=0;for(;-1!=n;)n=t.indexOf(s,n),-1!=n&&(o++,n++)}));else{a=a.toLowerCase();let e=0;for(;-1!=e;)e=a.indexOf(s,e),-1!=e&&(o++,e++)}t.overallWeight+=o*n[r]}}))})),t}(r.search(t))})),r.init(),r.ready((function(t){e.project=t,e.search.results=r.search("");var o=i.unique(i.pluck(i.values(t.nodes),"package_name")).sort(),a=[null];i.each(t.nodes,(function(e){var t=e.tags;a=i.union(a,t).sort()})),l.init({packages:o,tags:a}),p(n.params.unique_id);var d=u.parseState(n.params);d.show_graph&&s.ready((function(){i.assign(l.selection.dirty,d.selected);var e=l.updateSelection();s.updateGraph(e)}));var f=t.metadata||{};c.init({track:f.send_anonymous_usage_stats,project_id:f.project_id})}))}])},function(e,t){e.exports="data:image/svg+xml,%3Csvg width='242' height='90' viewBox='0 0 242 90' fill='none' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath d='M240.384 74.5122L239.905 75.8589H239.728L239.249 74.5156V75.8589H238.941V74.0234H239.324L239.816 75.3872L240.309 74.0234H240.691V75.8589H240.384V74.5122ZM238.671 74.3003H238.169V75.8589H237.858V74.3003H237.352V74.0234H238.671V74.3003Z' fill='%23262A38'/%3E %3Cpath d='M154.123 13.915V75.3527H141.672V69.0868C140.37 71.2839 138.499 73.0742 136.22 74.2134C133.779 75.434 131.012 76.085 128.246 76.085C124.828 76.1664 121.41 75.1899 118.562 73.2369C115.633 71.2839 113.354 68.5986 111.889 65.425C110.262 61.7631 109.448 57.8572 109.529 53.8698C109.448 49.8825 110.262 45.9765 111.889 42.3961C113.354 39.3038 115.633 36.6185 118.481 34.7469C121.41 32.8753 124.828 31.9801 128.246 32.0615C130.931 32.0615 133.616 32.6311 135.976 33.8517C138.255 34.991 140.126 36.6999 141.428 38.8156V18.0651L154.123 13.915ZM139.15 63.2279C140.777 61.1121 141.672 58.0199 141.672 54.0326C141.672 50.0452 140.859 47.0344 139.15 44.9187C137.441 42.8029 134.755 41.5823 131.989 41.6637C129.222 41.5009 126.537 42.7215 124.746 44.8373C123.038 46.953 122.142 49.9639 122.142 53.8698C122.142 57.8572 123.038 60.9494 124.746 63.1465C126.455 65.3436 129.222 66.5642 131.989 66.4828C135.081 66.4828 137.522 65.3436 139.15 63.2279Z' fill='%23262A38'/%3E %3Cpath d='M198.635 34.6655C201.564 36.5371 203.843 39.2225 205.226 42.3147C206.853 45.8952 207.667 49.8011 207.586 53.7885C207.667 57.7758 206.853 61.7632 205.226 65.3436C203.761 68.5172 201.483 71.2026 198.553 73.1556C195.705 75.0272 192.287 76.0037 188.87 75.9223C186.103 76.0037 183.336 75.3527 180.895 74.0507C178.617 72.9114 176.745 71.1212 175.524 68.9241V75.2713H162.993V18.0651L175.606 13.915V38.9783C176.826 36.7812 178.698 34.991 180.976 33.8517C183.418 32.5498 186.103 31.8988 188.87 31.9801C192.287 31.8988 195.705 32.8753 198.635 34.6655ZM192.45 63.1465C194.159 60.9494 194.973 57.8572 194.973 53.7885C194.973 49.8825 194.159 46.8716 192.45 44.7559C190.741 42.6402 188.381 41.5823 185.289 41.5823C182.523 41.4196 179.837 42.6402 178.047 44.8373C176.338 47.0344 175.524 50.0452 175.524 53.9512C175.524 57.9386 176.338 61.0308 178.047 63.1465C179.756 65.3436 182.441 66.5642 185.289 66.4015C188.056 66.5642 190.741 65.3436 192.45 63.1465Z' fill='%23262A38'/%3E %3Cpath d='M225 42.4774V58.915C225 61.2749 225.651 62.9838 226.791 64.0416C228.093 65.1809 229.801 65.7505 231.592 65.6691C232.975 65.6691 234.44 65.425 235.742 65.0995V74.8644C233.382 75.6782 230.941 76.085 228.499 76.0037C223.292 76.0037 219.304 74.5389 216.537 71.6094C213.771 68.68 212.387 64.5299 212.387 59.1592V23.1103L225 19.0416V33.038H235.742V42.4774H225Z' fill='%23262A38'/%3E %3Cpath d='M86.1754 3.74322C88.2911 5.77758 89.6745 8.46293 90 11.3924C90 12.613 89.6745 13.4268 88.9421 14.9729C88.2098 16.519 79.1772 32.1429 76.4919 36.4557C74.9458 38.9783 74.132 41.9892 74.132 44.9186C74.132 47.9295 74.9458 50.859 76.4919 53.3816C79.1772 57.6944 88.2098 73.3996 88.9421 74.9457C89.6745 76.4919 90 77.2242 90 78.4448C89.6745 81.3743 88.3725 84.0597 86.2568 86.0127C84.2224 88.1284 81.5371 89.5118 78.689 89.7559C77.4684 89.7559 76.6546 89.4304 75.1899 88.698C73.7251 87.9656 57.7758 79.1772 53.4629 76.4919C53.1374 76.3291 52.8119 76.085 52.4051 75.9222L31.085 63.3092C31.5732 67.3779 33.3635 71.2839 36.2929 74.132C36.8626 74.7016 37.4322 75.1899 38.0832 75.6781C37.5949 75.9222 37.0253 76.1664 36.5371 76.4919C32.2242 79.1772 16.519 88.2098 14.9729 88.9421C13.4268 89.6745 12.6944 90 11.3924 90C8.46293 89.6745 5.77758 88.3725 3.82459 86.2568C1.70886 84.2224 0.325497 81.5371 0 78.6076C0.0813743 77.387 0.406872 76.1664 1.05787 75.1085C1.79024 73.5624 10.8228 57.8571 13.5081 53.5443C15.0542 51.0217 15.868 48.0922 15.868 45.0814C15.868 42.0705 15.0542 39.141 13.5081 36.6184C10.8228 32.1429 1.70886 16.4376 1.05787 14.8915C0.406872 13.8336 0.0813743 12.613 0 11.3924C0.325497 8.46293 1.62749 5.77758 3.74322 3.74322C5.77758 1.62749 8.46293 0.325497 11.3924 0C12.613 0.0813743 13.8336 0.406872 14.9729 1.05787C16.2749 1.62749 27.7486 8.30018 33.8517 11.8807L35.2351 12.6944C35.7233 13.0199 36.1302 13.264 36.4557 13.4268L37.1067 13.8336L58.8336 26.6908C58.3454 21.8083 55.8228 17.3327 51.9168 14.3219C52.4051 14.0778 52.9747 13.8336 53.4629 13.5081C57.7758 10.8228 73.481 1.70886 75.0271 1.05787C76.085 0.406872 77.3056 0.0813743 78.6076 0C81.4557 0.325497 84.1411 1.62749 86.1754 3.74322ZM46.1392 50.7776L50.7776 46.1392C51.4286 45.4882 51.4286 44.5118 50.7776 43.8608L46.1392 39.2224C45.4882 38.5714 44.5118 38.5714 43.8608 39.2224L39.2224 43.8608C38.5714 44.5118 38.5714 45.4882 39.2224 46.1392L43.8608 50.7776C44.4304 51.3472 45.4882 51.3472 46.1392 50.7776Z' fill='%23FF694A'/%3E %3C/svg%3E"},function(e,t,n){"use strict";n.r(t);var r=n(63),i=n.n(r);n(462),n(463),n(464),n(465),n(467);const o=n(9),a=(n(33),n(21));window.Prism=i.a,o.module("dbt").factory("code",["$sce",function(e){var t={copied:!1,highlight:function(t,n="sql"){if("sql"==n)var r=i.a.highlight(t,i.a.languages.sql,"sql");else if("python"==n)r=i.a.highlight(t,i.a.languages.python,"python");return e.trustAsHtml(r)},copy_to_clipboard:function(e){var t=document.createElement("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="absolute",t.style.left="-9999px",document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t)},generateSourceSQL:function(e){var t=["select"],n=a.size(e.columns),r=a.keys(e.columns);a.each(r,(function(e,r){var i=" "+e;r+1!=n&&(i+=","),t.push(i)}));const i=(e.database?e.database+".":"")+e.schema+"."+e.identifier;return t.push("from "+i),t.join("\n")}};return t}])},function(e,t){Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}},function(e,t){Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern://,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python},function(e,t){!function(){if("undefined"!=typeof Prism&&"undefined"!=typeof document){var e=/\n(?!$)/g,t=Prism.plugins.lineNumbers={getLine:function(e,t){if("PRE"===e.tagName&&e.classList.contains("line-numbers")){var n=e.querySelector(".line-numbers-rows");if(n){var r=parseInt(e.getAttribute("data-start"),10)||1,i=r+(n.children.length-1);t<r&&(t=r),t>i&&(t=i);var o=t-r;return n.children[o]}}},resize:function(e){r([e])},assumeViewportIndependence:!0},n=void 0;window.addEventListener("resize",(function(){t.assumeViewportIndependence&&n===window.innerWidth||(n=window.innerWidth,r(Array.prototype.slice.call(document.querySelectorAll("pre.line-numbers"))))})),Prism.hooks.add("complete",(function(t){if(t.code){var n=t.element,i=n.parentNode;if(i&&/pre/i.test(i.nodeName)&&!n.querySelector(".line-numbers-rows")&&Prism.util.isActive(n,"line-numbers")){n.classList.remove("line-numbers"),i.classList.add("line-numbers");var o,a=t.code.match(e),s=a?a.length+1:1,l=new Array(s+1).join("<span></span>");(o=document.createElement("span")).setAttribute("aria-hidden","true"),o.className="line-numbers-rows",o.innerHTML=l,i.hasAttribute("data-start")&&(i.style.counterReset="linenumber "+(parseInt(i.getAttribute("data-start"),10)-1)),t.element.appendChild(o),r([i]),Prism.hooks.run("line-numbers",t)}}})),Prism.hooks.add("line-numbers",(function(e){e.plugins=e.plugins||{},e.plugins.lineNumbers=!0}))}function r(t){if(0!=(t=t.filter((function(e){var t=function(e){if(!e)return null;return window.getComputedStyle?getComputedStyle(e):e.currentStyle||null}(e)["white-space"];return"pre-wrap"===t||"pre-line"===t}))).length){var n=t.map((function(t){var n=t.querySelector("code"),r=t.querySelector(".line-numbers-rows");if(n&&r){var i=t.querySelector(".line-numbers-sizer"),o=n.textContent.split(e);i||((i=document.createElement("span")).className="line-numbers-sizer",n.appendChild(i)),i.innerHTML="0",i.style.display="block";var a=i.getBoundingClientRect().height;return i.innerHTML="",{element:t,lines:o,lineHeights:[],oneLinerHeight:a,sizer:i}}})).filter(Boolean);n.forEach((function(e){var t=e.sizer,n=e.lines,r=e.lineHeights,i=e.oneLinerHeight;r[n.length-1]=void 0,n.forEach((function(e,n){if(e&&e.length>1){var o=t.appendChild(document.createElement("span"));o.style.display="block",o.textContent=e}else r[n]=i}))})),n.forEach((function(e){for(var t=e.sizer,n=e.lineHeights,r=0,i=0;i<n.length;i++)void 0===n[i]&&(n[i]=t.children[r++].getBoundingClientRect().height)})),n.forEach((function(e){var t=e.sizer,n=e.element.querySelector(".line-numbers-rows");t.style.display="none",t.innerHTML="",e.lineHeights.forEach((function(e,t){n.children[t].style.height=e+"px"}))}))}}}()},function(e,t,n){var r=n(466);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};n(40)(r,i);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(39)(!1)).push([e.i,'pre[class*="language-"].line-numbers {\n\tposition: relative;\n\tpadding-left: 3.8em;\n\tcounter-reset: linenumber;\n}\n\npre[class*="language-"].line-numbers > code {\n\tposition: relative;\n\twhite-space: inherit;\n}\n\n.line-numbers .line-numbers-rows {\n\tposition: absolute;\n\tpointer-events: none;\n\ttop: 0;\n\tfont-size: 100%;\n\tleft: -3.8em;\n\twidth: 3em; /* works for line-numbers below 1000 lines */\n\tletter-spacing: -1px;\n\tborder-right: 1px solid #999;\n\n\t-webkit-user-select: none;\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none;\n\n}\n\n\t.line-numbers-rows > span {\n\t\tdisplay: block;\n\t\tcounter-increment: linenumber;\n\t}\n\n\t\t.line-numbers-rows > span:before {\n\t\t\tcontent: counter(linenumber);\n\t\t\tcolor: #999;\n\t\t\tdisplay: block;\n\t\t\tpadding-right: 0.8em;\n\t\t\ttext-align: right;\n\t\t}\n',""])},function(e,t,n){var r=n(468);"string"==typeof r&&(r=[[e.i,r,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};n(40)(r,i);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(39)(!1)).push([e.i,'/**\n * GHColors theme by Avi Aryan (http://aviaryan.in)\n * Inspired by Github syntax coloring\n */\n\ncode[class*="language-"],\npre[class*="language-"] {\n\tcolor: #393A34;\n\tfont-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace;\n\tdirection: ltr;\n\ttext-align: left;\n\twhite-space: pre;\n\tword-spacing: normal;\n\tword-break: normal;\n\tfont-size: .9em;\n\tline-height: 1.2em;\n\n\t-moz-tab-size: 4;\n\t-o-tab-size: 4;\n\ttab-size: 4;\n\n\t-webkit-hyphens: none;\n\t-moz-hyphens: none;\n\t-ms-hyphens: none;\n\thyphens: none;\n}\n\npre > code[class*="language-"] {\n\tfont-size: 1em;\n}\n\npre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,\ncode[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {\n\tbackground: #b3d4fc;\n}\n\npre[class*="language-"]::selection, pre[class*="language-"] ::selection,\ncode[class*="language-"]::selection, code[class*="language-"] ::selection {\n\tbackground: #b3d4fc;\n}\n\n/* Code blocks */\npre[class*="language-"] {\n\tpadding: 1em;\n\tmargin: .5em 0;\n\toverflow: auto;\n\tborder: 1px solid #dddddd;\n\tbackground-color: white;\n}\n\n/* Inline code */\n:not(pre) > code[class*="language-"] {\n\tpadding: .2em;\n\tpadding-top: 1px;\n\tpadding-bottom: 1px;\n\tbackground: #f8f8f8;\n\tborder: 1px solid #dddddd;\n}\n\n.token.comment,\n.token.prolog,\n.token.doctype,\n.token.cdata {\n\tcolor: #999988;\n\tfont-style: italic;\n}\n\n.token.namespace {\n\topacity: .7;\n}\n\n.token.string,\n.token.attr-value {\n\tcolor: #e3116c;\n}\n\n.token.punctuation,\n.token.operator {\n\tcolor: #393A34; /* no highlight */\n}\n\n.token.entity,\n.token.url,\n.token.symbol,\n.token.number,\n.token.boolean,\n.token.variable,\n.token.constant,\n.token.property,\n.token.regex,\n.token.inserted {\n\tcolor: #36acaa;\n}\n\n.token.atrule,\n.token.keyword,\n.token.attr-name,\n.language-autohotkey .token.selector {\n\tcolor: #00a4db;\n}\n\n.token.function,\n.token.deleted,\n.language-autohotkey .token.tag {\n\tcolor: #9a050f;\n}\n\n.token.tag,\n.token.selector,\n.language-autohotkey .token.keyword {\n\tcolor: #00009f;\n}\n\n.token.important,\n.token.function,\n.token.bold {\n\tfont-weight: bold;\n}\n\n.token.italic {\n\tfont-style: italic;\n}\n',""])},function(e,t,n){n(33);const r=n(21),i=n(148),o=n(203),a=n(470);angular.module("dbt").factory("graph",["$state","$window","$q","selectorService","project","locationService",function(e,t,n,s,l,c){var u={vertical:{userPanningEnabled:!1,boxSelectionEnabled:!1,maxZoom:1.5},horizontal:{userPanningEnabled:!0,boxSelectionEnabled:!1,maxZoom:1,minZoom:.05}},d={none:{name:"null"},left_right:{name:"dagre",rankDir:"LR",rankSep:200,edgeSep:30,nodeSep:50},top_down:{name:"preset",positions:function(t){var n=e.params.unique_id;if(!n)return{x:0,y:0};var a=p.graph.pristine.dag,s=r.sortBy(o.ancestorNodes(a,n,1)),l=r.sortBy(o.descendentNodes(a,n,1)),c=r.partial(r.includes,s),u=r.partial(r.includes,l),d=a.filterNodes(c),f=a.filterNodes(u);return function(e,t,n,i){var o,a=100/(1+Math.max(t.length,n.length));if(e==i)return{x:0,y:0};if(r.includes(t,i))o={set:t,index:r.indexOf(t,i),factor:-1,type:"parent"};else{if(!r.includes(n,i))return{x:0,y:0};o={set:n,index:r.indexOf(n,i),factor:1,type:"child"}}var s=o.set.length;if("parent"==o.type)var l={x:(0+o.index)*a,y:-200-100*(s-o.index-1)};else l={x:(0+o.index)*a,y:200+100*(s-o.index-1)};return l}(n,i.alg.topsort(d),i.alg.topsort(f).reverse(),t.data("id"))}}},p={loading:!0,loaded:n.defer(),graph_element:null,orientation:"sidebar",expanded:!1,graph:{options:u.vertical,pristine:{nodes:{},edges:{},dag:null},elements:[],layout:d.none,style:[{selector:"edge.vertical",style:{"curve-style":"unbundled-bezier","target-arrow-shape":"triangle-backcurve","target-arrow-color":"#027599","arrow-scale":1.5,"line-color":"#027599",width:3,"target-distance-from-node":"5px","source-endpoint":"0% 50%","target-endpoint":"0deg"}},{selector:"edge.horizontal",style:{"curve-style":"unbundled-bezier","target-arrow-shape":"triangle-backcurve","target-arrow-color":"#006f8a","arrow-scale":1.5,"target-distance-from-node":"10px","source-distance-from-node":"5px","line-color":"#006f8a",width:3,"source-endpoint":"50% 0%","target-endpoint":"270deg"}},{selector:"edge[selected=1]",style:{"line-color":"#bd6bb6","target-arrow-color":"#bd6bb6","z-index":1}},{selector:'node[display="none"]',style:{display:"none"}},{selector:"node.vertical",style:{"text-margin-x":"5px","background-color":"#0094b3","border-color":"#0094b3","font-size":"16px",shape:"ellipse",color:"#fff",width:"5px",height:"5px",padding:"5px",content:"data(label)","font-weight":300,"text-valign":"center","text-halign":"right"}},{selector:"node.horizontal",style:{"background-color":"#0094b3","border-color":"#0094b3","font-size":"24px",shape:"roundrectangle",color:"#fff",width:"label",height:"label",padding:"12px",content:"data(label)","font-weight":300,"font-family":'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Helvetica, Arial, sans-serif',"text-valign":"center","text-halign":"center",ghost:"yes","ghost-offset-x":"2px","ghost-offset-y":"4px","ghost-opacity":.5,"text-outline-color":"#000","text-outline-width":"1px","text-outline-opacity":.2}},{selector:'node[resource_type="source"]',style:{"background-color":"#5fb825","border-color":"#5fb825"}},{selector:'node[resource_type="exposure"]',style:{"background-color":"#ff694b","border-color":"#ff694b"}},{selector:'node[resource_type="metric"]',style:{"background-color":"#ff5688","border-color":"#ff5688"}},{selector:'node[resource_type="semantic_model"]',style:{"background-color":"#ffa8c2","border-color":"#ffa8c2"}},{selector:'node[language="python"]',style:{"background-color":"#6a5acd","border-color":"#6a5acd"}},{selector:"node[node_color]",style:{"background-color":"data(node_color)","border-color":"data(node_color)"}},{selector:"node[selected=1]",style:{"background-color":"#bd6bb6","border-color":"#bd6bb6"}},{selector:"node.horizontal[selected=1]",style:{"background-color":"#88447d","border-color":"#88447d"}},{selector:"node.horizontal.dirty",style:{"background-color":"#919599","border-color":"#919599"}},{selector:"node[hidden=1]",style:{"background-color":"#919599","border-color":"#919599","background-opacity":.5}},{selector:'node[access="private"]',style:{"background-opacity":.2,"border-width":2,ghost:"no"}}],ready:function(e){console.log("graph ready")}}};function f(e,t,n){var i=r.map(e,(function(e){return p.graph.pristine.nodes[e]})),o=[];r.flatten(r.each(e,(function(t){var n=p.graph.pristine.edges[t];r.each(n,(function(t){r.includes(e,t.data.target)&&r.includes(e,t.data.source)&&o.push(t)}))})));var s=r.compact(i).concat(r.compact(o));return r.each(p.graph.elements,(function(e){e.data.display="none",e.data.selected=0,e.data.hidden=0,e.classes=n})),r.each(s,(function(e){e.data.display="element",e.classes=n,t&&r.includes(t,e.data.unique_id)&&(e.data.selected=1),r.get(e,["data","docs","show"],!0)||(e.data.hidden=1);var i=r.get(e,["data","docs","node_color"]);i&&a.isValidColor(i)&&(e.data.node_color=i)})),p.graph.elements=r.filter(s,(function(e){return"element"==e.data.display})),e}function h(e,t,n){var r=p.graph.pristine.dag;if(r){var i=p.graph.pristine.nodes,o=s.selectNodes(r,i,e),a=n?o.matched:[];return f(o.selected,a,t)}}return p.setGraphReady=function(e){p.loading=!1,p.loaded.resolve(),p.graph_element=e},p.ready=function(e){p.loaded.promise.then((function(){e(p)}))},p.manifest={},p.packages=[],p.selected_node=null,p.getCanvasHeight=function(){return.8*t.innerHeight+"px"},l.ready((function(e){p.manifest=e,p.packages=r.uniq(r.map(p.manifest.nodes,"package_name")),r.each(r.filter(p.manifest.nodes,(function(e){var t=r.includes(["model","seed","source","snapshot","analysis","exposure","metric","semantic_model","operation"],e.resource_type),n="test"==e.resource_type&&!e.hasOwnProperty("test_metadata");return t||n})),(function(e){var t={group:"nodes",data:r.assign(e,{parent:e.package_name,id:e.unique_id,is_group:"false"})};p.graph.pristine.nodes[e.unique_id]=t})),r.each(p.manifest.parent_map,(function(e,t){r.each(e,(function(e){var n=p.manifest.nodes[e],i=p.manifest.nodes[t];if(r.includes(["model","source","seed","snapshot","metric","semantic_model"],n.resource_type)&&("test"!=i.resource_type||!i.hasOwnProperty("test_metadata"))){var o=n.unique_id+"|"+i.unique_id,a={group:"edges",data:{source:n.unique_id,target:i.unique_id,unique_id:o}},s=i.unique_id;p.graph.pristine.edges[s]||(p.graph.pristine.edges[s]=[]),p.graph.pristine.edges[s].push(a)}}))}));var t=new i.Graph({directed:!0});r.each(p.graph.pristine.nodes,(function(e){t.setNode(e.data.unique_id,e.data.name)})),r.each(p.graph.pristine.edges,(function(e){r.each(e,(function(e){t.setEdge(e.data.source,e.data.target)}))})),p.graph.pristine.dag=t,p.graph.elements=r.flatten(r.values(p.graph.pristine.nodes).concat(r.values(p.graph.pristine.edges))),f(t.nodes())})),p.hideGraph=function(){p.orientation="sidebar",p.expanded=!1},p.showVerticalGraph=function(e,t){p.orientation="sidebar",t&&(p.expanded=!0);var n=h(r.assign({},s.options,{include:"+"+e+"+",exclude:"",hops:1}),"vertical",!0);return p.graph.layout=d.top_down,p.graph.options=u.vertical,n},p.showFullGraph=function(e){p.orientation="fullscreen",p.expanded=!0;var t=r.assign({},s.options);e?(t.include="+"+e+"+",t.exclude=""):(t.include="",t.exclude="");var n=h(t,"horizontal",!0);return p.graph.layout=d.left_right,p.graph.options=u.horizontal,c.setState(t),n},p.updateGraph=function(e){p.orientation="fullscreen",p.expanded=!0;var t=h(e,"horizontal",!1);return p.graph.layout=d.left_right,p.graph.options=u.horizontal,c.setState(e),t},p.deselectNodes=function(){"fullscreen"==p.orientation&&p.graph_element.elements().data("selected",0)},p.selectNode=function(e){if("fullscreen"==p.orientation){p.graph.pristine.nodes[e];var t=p.graph.pristine.dag,n=r.indexBy(o.ancestorNodes(t,e)),i=r.indexBy(o.descendentNodes(t,e));n[e]=e,i[e]=e;var a=p.graph_element;r.each(p.graph.elements,(function(t){var r=a.$id(t.data.id);n[t.data.source]&&n[t.data.target]||i[t.data.source]&&i[t.data.target]||t.data.unique_id==e?r.data("selected",1):r.data("selected",0)}))}},p.markDirty=function(e){p.markAllClean(),r.each(e,(function(e){p.graph_element.$id(e).addClass("dirty")}))},p.markAllClean=function(){p.graph_element&&p.graph_element.elements().removeClass("dirty")},p}])},function(e,t,n){"use strict";n.r(t),n.d(t,"isValidColor",(function(){return i}));const r=new Set(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","ghostwhite","gold","goldenrod","gray","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"]);function i(e){if(!e)return!1;const t=e.trim().toLowerCase();if(""===t)return!1;const n=t.match(/^#([A-Fa-f0-9]{3}){1,2}$/),i=r.has(t);return Boolean(n)||i}},function(e,t,n){n(33);const r=n(21),i=n(472);angular.module("dbt").factory("selectorService",["$state",function(e){var t={include:"",exclude:"",packages:[],tags:[null],resource_types:["model","seed","snapshot","source","test","analysis","exposure","metric","semantic_model"],depth:1},n={view_node:null,selection:{clean:r.clone(t),dirty:r.clone(t)},options:{packages:[],tags:[null],resource_types:["model","seed","snapshot","source","test","analysis","exposure","metric","semantic_model"]},init:function(e){r.each(e,(function(e,r){n.options[r]=e,t[r]=e,n.selection.clean[r]=e,n.selection.dirty[r]=e}))},resetSelection:function(e){var i={include:e&&r.includes(["model","seed","snapshot"],e.resource_type)?"+"+e.name+"+":e&&"source"==e.resource_type?"+source:"+e.source_name+"."+e.name+"+":e&&"exposure"==e.resource_type?"+exposure:"+e.name:e&&"metric"==e.resource_type?"+metric:"+e.name:e&&"semantic_model"==e.resource_type?"+semantic_model:"+e.name:e&&r.includes(["analysis","test"],e.resource_type)?"+"+e.name:""},o=r.assign({},t,i);n.selection.clean=r.clone(o),n.selection.dirty=r.clone(o),n.view_node=e},getViewNode:function(){return n.view_node},excludeNode:function(e,t){var r,i=n.selection.dirty.exclude,o=t.parents?"+":"",a=t.children?"+":"",s=i.length>0?" ":"";"source"==e.resource_type?(o+="source:",r=e.source_name+"."+e.name):["exposure","metric","semantic_model"].indexOf(e.resource_type)>-1?(o+=e.resource_type+":",r=e.name):r=e.name;var l=i+s+o+r+a;return n.selection.dirty.exclude=l,n.updateSelection()},selectSource:function(e,t){var r="source:"+e+(t.children?"+":"");return n.selection.dirty.include=r,n.updateSelection()},clearViewNode:function(){n.view_node=null},isDirty:function(){return!r.isEqual(n.selection.clean,n.selection.dirty)},updateSelection:function(){return n.selection.clean=r.clone(n.selection.dirty),n.selection.clean},selectNodes:function(e,t,n){return i.selectNodes(e,t,n)}};return n}])},function(e,t,n){const r=n(21),i=n(473);function o(e,t){return t||(t=" "),r.filter(r.uniq(e.split(t)),(function(e){return e.length>0}))}function a(e){var t={raw:e,select_at:!1,select_children:!1,children_depth:null,select_parents:!1,parents_depth:null};const n=new RegExp(""+/^/.source+/(?<childs_parents>(\@))?/.source+/(?<parents>((?<parents_depth>(\d*))\+))?/.source+/((?<method>([\w.]+)):)?/.source+/(?<value>(.*?))/.source+/(?<children>(\+(?<children_depth>(\d*))))?/.source+/$/.source).exec(e).groups;t.select_at="@"==n.childs_parents,t.select_parents=!!n.parents,t.select_children=!!n.children,n.parents_depth&&(t.parents_depth=parseInt(n.parents_depth)),n.children_depth&&(t.children_depth=parseInt(n.children_depth));var r=n.method,i=n.value;return r?-1!=r.indexOf(".")&&([r,selector_modifier]=r.split(".",2),i={config:selector_modifier,value:i}):r="implicit",t.selector_type=r,t.selector_value=i,t}function s(e){var t=o(e," ");return r.map(t,(function(e){var t=o(e,",");return t.length>1?{method:"intersect",selectors:r.map(t,a)}:{method:"none",selectors:r.map([e],a)}}))}function l(e,t){var n=s(e),i=null,o=null;return r.each(n,(function(e){var n="intersect"==e.method?r.intersection:r.union;r.each(e.selectors,(function(e){var r=t(e);null===i?(i=r.matched,o=r.selected):(i=n(i,r.matched),o=n(o,r.selected))}))})),{matched:i||[],selected:o||[]}}e.exports={splitSpecs:o,parseSpec:a,parseSpecs:s,buildSpec:function(e,t,n){return{include:s(e),exclude:s(t),hops:n}},applySpec:l,selectNodes:function(e,t,n){n.include,n.exclude;var o,a=r.partial(i.getNodesFromSpec,e,t,n.hops);r.values(t),o=0==n.include.trim().length?{selected:e.nodes(),matched:[]}:l(n.include,a);var s=l(n.exclude,a),c=o.selected,u=o.matched;c=r.difference(c,s.selected),u=r.difference(u,s.matched);var d=[];return r.each(c,(function(e){var i=t[e];i.data.tags||(i.data.tags=[]);var o=r.includes(n.packages,i.data.package_name),a=r.intersection(n.tags,i.data.tags).length>0,s=r.includes(n.tags,null)&&0==i.data.tags.length,l=r.includes(n.resource_types,i.data.resource_type);o&&(a||s)&&l||d.push(i.data.unique_id)})),{selected:r.difference(c,d),matched:r.difference(u,d)}}}},function(e,t,n){const r=n(21),i=n(203);var o="fqn",a="tag",s="source",l="exposure",c="metric",u="semantic_model",d="group",p="path",f="file",h="package",g="config",m="test_name",v="test_type",b={};function y(e,t,n){var r=e.slice(-1)[0],i=e.slice(-2,-1)[0];if(t===r)return!0;if(version_options=[i,i+"_"+r,i+"."+r],n&&version_options.includes(t))return!0;var o=e.reduce((e,t)=>e.concat(t.split(".")),[]),a=t.split(".");if(o.length<a.length)return!1;for(var s=0;s<a.length;s++){var l=a[s];if("*"==l)return!0;if(o[s]!=l)return!1}return!0}function x(e,t){var n=[];return r.each(e,(function(e){var i=e.data,o=i.fqn,a=null!==i.version;if(o&&"source"!=i.resource_type&&"exposure"!=i.resource_type&&"metric"!=i.resource_type&&"semantic_model"!=i.resource_type){var s=r.rest(o);(y(o,t,a)||y(s,t,a))&&n.push(i)}})),r.uniq(n)}function w(e,t){var n=[],i=t.split("/");return r.each(e,(function(e){var t=(e.data.original_file_path||"").split("/"),o=!0;r.each(i,(function(e,n){"*"==e||""==e||e!=t[n]&&(o=!1)})),o&&n.push(e.data)})),n}function k(e,t){var n=[];return r.each(e,(function(e){var i=e.data.original_file_path.split("/");r.last(i)==t&&n.push(e.data)})),n}function A(e,t){var n=[];return r.each(e,(function(e){var i=e.data.tags;r.includes(i,t)&&n.push(e.data)})),n}function E(e,t){var n=[];return r.each(e,(function(e){e.data.package_name==t&&n.push(e.data)})),n}function S(e,t){var n=[];return r.each(e,(function(e){var r=e.data;r.config&&r.config[t.config]==t.value&&n.push(r)})),n}function $(e,t){var n=[];return r.each(e,(function(e){var r=e.data;r.test_metadata&&r.test_metadata.name==t&&n.push(r)})),n}function C(e,t){var n=[];return r.each(e,(function(e){var r=e.data;if("test"!=r.resource_type)return!1;(r.hasOwnProperty("test_metadata")&&["schema","generic"].indexOf(t)>-1||!r.hasOwnProperty("test_metadata")&&["data","singular"].indexOf(t)>-1)&&n.push(r)})),n}function _(e,t){var n=[];return r.each(e,(function(e){var r=e.data;if("source"==r.resource_type){var i,o,a=r.source_name,s=r.name;-1!=t.indexOf(".")?[i,o]=t.split(".",2):(i=t,o=null),("*"==i||i==a&&"*"===o||i==a&&o===s||i==a&&null===o)&&n.push(e.data)}})),n}b["implicit"]=function(e,t){var n=x(e,t),i=w(e,t),o=[];t.toLowerCase().endsWith(".sql")&&(o=k(e,t));var a=r.uniq([].concat(r.map(n,"unique_id"),r.map(i,"unique_id"),r.map(o,"unique_id")));return r.map(a,t=>e[t].data)},b[o]=x,b[a]=A,b[s]=_,b[l]=function(e,t){var n=[];return r.each(e,(function(e){var r=e.data;if("exposure"==r.resource_type){var i=r.name;("*"==t||t==i)&&n.push(e.data)}})),n},b[c]=function(e,t){var n=[];return r.each(e,(function(e){var r=e.data;if("metric"==r.resource_type){var i=r.name;("*"==t||t==i)&&n.push(e.data)}})),n},b[u]=function(e,t){var n=[];return r.each(e,(function(e){var r=e.data;if("semantic_model"==r.resource_type){var i=r.name;("*"==t||t==i)&&n.push(e.data)}})),n},b[d]=function(e,t){var n=[];return r.each(e,(function(e){var r=e.data;r.group==t&&n.push(r)})),n},b[p]=w,b[f]=k,b[h]=E,b[g]=S,b[m]=$,b[v]=C,e.exports={isFQNMatch:y,getNodesByFQN:x,getNodesByTag:A,getNodesBySource:_,getNodesByPath:w,getNodesByPackage:E,getNodesByConfig:S,getNodesByTestName:$,getNodesByTestType:C,getNodesFromSpec:function(e,t,n,o){const a=b[o.selector_type];if(!a)return{selected:[],matched:[]};var s=a(t,o.selector_value),l=[],c=[];return r.each(s,(function(t){var a=t.unique_id;c.push(t.unique_id);var s=[],u=[],d=[];if(o.select_at&&(d=r.union(i.selectAt(e,a))),o.select_parents){var p=n||o.parents_depth;s=i.ancestorNodes(e,a,p)}if(o.select_children){p=n||o.children_depth;u=i.descendentNodes(e,a,p)}l=r.union([a],l,u,s,d)})),{selected:l,matched:c}}}},function(e,t,n){const r=n(9);n(475);r.module("dbt").factory("trackingService",["$location","selectorService","$rootScope",function(e,t,n){var r={initialized:!1,snowplow:null,project_id:null,init:function(e){r.initialized||(r.initialized=!0,r.project_id=e.project_id,!0===e.track&&r.turn_on_tracking())},isHosted:function(){return window.location.hostname.indexOf(".getdbt.com")>-1},turn_on_tracking:function(){var e,t,n,i,o,a;e=window,t=document,n="script",e[i="snowplow"]||(e.GlobalSnowplowNamespace=e.GlobalSnowplowNamespace||[],e.GlobalSnowplowNamespace.push(i),e[i]=function(){(e[i].q=e[i].q||[]).push(arguments)},e[i].q=e[i].q||[],o=t.createElement(n),a=t.getElementsByTagName(n)[0],o.async=1,o.src="//d1fc8wv8zag5ca.cloudfront.net/2.9.0/sp.js",a.parentNode.insertBefore(o,a));var s={appId:"dbt-docs",forceSecureTracker:!0,respectDoNotTrack:!0,userFingerprint:!1,contexts:{webPage:!0}};r.isHosted()&&(s.cookieDomain=".getdbt.com"),r.snowplow=window.snowplow,r.snowplow("newTracker","sp","fishtownanalytics.sinter-collect.com",s),r.snowplow("enableActivityTracking",30,30),r.track_pageview()},fuzzUrls:function(){r.isHosted()||(r.snowplow("setCustomUrl","https://fuzzed.getdbt.com/"),r.snowplow("setReferrerUrl","https://fuzzed.getdbt.com/"))},getContext:function(){return[{schema:"iglu:com.dbt/dbt_docs/jsonschema/1-0-0",data:{is_cloud_hosted:r.isHosted(),core_project_id:r.project_id}}]},track_pageview:function(){if(r.snowplow){r.fuzzUrls();r.snowplow("trackPageView",null,r.getContext())}},track_event:function(e,t,n,i){r.snowplow&&(r.fuzzUrls(),r.snowplow("trackStructEvent","dbt-docs",e,t,n,i,r.getContext()))},track_graph_interaction:function(e,t){r.snowplow&&(r.fuzzUrls(),r.track_event("graph","interact",e,t))}};return r}])},function(e,t,n){var r,i,o,a,s;r=n(476),i=n(204).utf8,o=n(477),a=n(204).bin,(s=function(e,t){e.constructor==String?e=t&&"binary"===t.encoding?a.stringToBytes(e):i.stringToBytes(e):o(e)?e=Array.prototype.slice.call(e,0):Array.isArray(e)||e.constructor===Uint8Array||(e=e.toString());for(var n=r.bytesToWords(e),l=8*e.length,c=1732584193,u=-271733879,d=-1732584194,p=271733878,f=0;f<n.length;f++)n[f]=16711935&(n[f]<<8|n[f]>>>24)|4278255360&(n[f]<<24|n[f]>>>8);n[l>>>5]|=128<<l%32,n[14+(l+64>>>9<<4)]=l;var h=s._ff,g=s._gg,m=s._hh,v=s._ii;for(f=0;f<n.length;f+=16){var b=c,y=u,x=d,w=p;c=h(c,u,d,p,n[f+0],7,-680876936),p=h(p,c,u,d,n[f+1],12,-389564586),d=h(d,p,c,u,n[f+2],17,606105819),u=h(u,d,p,c,n[f+3],22,-1044525330),c=h(c,u,d,p,n[f+4],7,-176418897),p=h(p,c,u,d,n[f+5],12,1200080426),d=h(d,p,c,u,n[f+6],17,-1473231341),u=h(u,d,p,c,n[f+7],22,-45705983),c=h(c,u,d,p,n[f+8],7,1770035416),p=h(p,c,u,d,n[f+9],12,-1958414417),d=h(d,p,c,u,n[f+10],17,-42063),u=h(u,d,p,c,n[f+11],22,-1990404162),c=h(c,u,d,p,n[f+12],7,1804603682),p=h(p,c,u,d,n[f+13],12,-40341101),d=h(d,p,c,u,n[f+14],17,-1502002290),c=g(c,u=h(u,d,p,c,n[f+15],22,1236535329),d,p,n[f+1],5,-165796510),p=g(p,c,u,d,n[f+6],9,-1069501632),d=g(d,p,c,u,n[f+11],14,643717713),u=g(u,d,p,c,n[f+0],20,-373897302),c=g(c,u,d,p,n[f+5],5,-701558691),p=g(p,c,u,d,n[f+10],9,38016083),d=g(d,p,c,u,n[f+15],14,-660478335),u=g(u,d,p,c,n[f+4],20,-405537848),c=g(c,u,d,p,n[f+9],5,568446438),p=g(p,c,u,d,n[f+14],9,-1019803690),d=g(d,p,c,u,n[f+3],14,-187363961),u=g(u,d,p,c,n[f+8],20,1163531501),c=g(c,u,d,p,n[f+13],5,-1444681467),p=g(p,c,u,d,n[f+2],9,-51403784),d=g(d,p,c,u,n[f+7],14,1735328473),c=m(c,u=g(u,d,p,c,n[f+12],20,-1926607734),d,p,n[f+5],4,-378558),p=m(p,c,u,d,n[f+8],11,-2022574463),d=m(d,p,c,u,n[f+11],16,1839030562),u=m(u,d,p,c,n[f+14],23,-35309556),c=m(c,u,d,p,n[f+1],4,-1530992060),p=m(p,c,u,d,n[f+4],11,1272893353),d=m(d,p,c,u,n[f+7],16,-155497632),u=m(u,d,p,c,n[f+10],23,-1094730640),c=m(c,u,d,p,n[f+13],4,681279174),p=m(p,c,u,d,n[f+0],11,-358537222),d=m(d,p,c,u,n[f+3],16,-722521979),u=m(u,d,p,c,n[f+6],23,76029189),c=m(c,u,d,p,n[f+9],4,-640364487),p=m(p,c,u,d,n[f+12],11,-421815835),d=m(d,p,c,u,n[f+15],16,530742520),c=v(c,u=m(u,d,p,c,n[f+2],23,-995338651),d,p,n[f+0],6,-198630844),p=v(p,c,u,d,n[f+7],10,1126891415),d=v(d,p,c,u,n[f+14],15,-1416354905),u=v(u,d,p,c,n[f+5],21,-57434055),c=v(c,u,d,p,n[f+12],6,1700485571),p=v(p,c,u,d,n[f+3],10,-1894986606),d=v(d,p,c,u,n[f+10],15,-1051523),u=v(u,d,p,c,n[f+1],21,-2054922799),c=v(c,u,d,p,n[f+8],6,1873313359),p=v(p,c,u,d,n[f+15],10,-30611744),d=v(d,p,c,u,n[f+6],15,-1560198380),u=v(u,d,p,c,n[f+13],21,1309151649),c=v(c,u,d,p,n[f+4],6,-145523070),p=v(p,c,u,d,n[f+11],10,-1120210379),d=v(d,p,c,u,n[f+2],15,718787259),u=v(u,d,p,c,n[f+9],21,-343485551),c=c+b>>>0,u=u+y>>>0,d=d+x>>>0,p=p+w>>>0}return r.endian([c,u,d,p])})._ff=function(e,t,n,r,i,o,a){var s=e+(t&n|~t&r)+(i>>>0)+a;return(s<<o|s>>>32-o)+t},s._gg=function(e,t,n,r,i,o,a){var s=e+(t&r|n&~r)+(i>>>0)+a;return(s<<o|s>>>32-o)+t},s._hh=function(e,t,n,r,i,o,a){var s=e+(t^n^r)+(i>>>0)+a;return(s<<o|s>>>32-o)+t},s._ii=function(e,t,n,r,i,o,a){var s=e+(n^(t|~r))+(i>>>0)+a;return(s<<o|s>>>32-o)+t},s._blocksize=16,s._digestsize=16,e.exports=function(e,t){if(null==e)throw new Error("Illegal argument "+e);var n=r.wordsToBytes(s(e,t));return t&&t.asBytes?n:t&&t.asString?a.bytesToString(n):r.bytesToHex(n)}},function(e,t){var n,r;n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r={rotl:function(e,t){return e<<t|e>>>32-t},rotr:function(e,t){return e<<32-t|e>>>t},endian:function(e){if(e.constructor==Number)return 16711935&r.rotl(e,8)|4278255360&r.rotl(e,24);for(var t=0;t<e.length;t++)e[t]=r.endian(e[t]);return e},randomBytes:function(e){for(var t=[];e>0;e--)t.push(Math.floor(256*Math.random()));return t},bytesToWords:function(e){for(var t=[],n=0,r=0;n<e.length;n++,r+=8)t[r>>>5]|=e[n]<<24-r%32;return t},wordsToBytes:function(e){for(var t=[],n=0;n<32*e.length;n+=8)t.push(e[n>>>5]>>>24-n%32&255);return t},bytesToHex:function(e){for(var t=[],n=0;n<e.length;n++)t.push((e[n]>>>4).toString(16)),t.push((15&e[n]).toString(16));return t.join("")},hexToBytes:function(e){for(var t=[],n=0;n<e.length;n+=2)t.push(parseInt(e.substr(n,2),16));return t},bytesToBase64:function(e){for(var t=[],r=0;r<e.length;r+=3)for(var i=e[r]<<16|e[r+1]<<8|e[r+2],o=0;o<4;o++)8*r+6*o<=8*e.length?t.push(n.charAt(i>>>6*(3-o)&63)):t.push("=");return t.join("")},base64ToBytes:function(e){e=e.replace(/[^A-Z0-9+\/]/gi,"");for(var t=[],r=0,i=0;r<e.length;i=++r%4)0!=i&&t.push((n.indexOf(e.charAt(r-1))&Math.pow(2,-2*i+8)-1)<<2*i|n.indexOf(e.charAt(r))>>>6-2*i);return t}},e.exports=r},function(e,t){function n(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)} /*! * Determine if an object is a Buffer * @@ -72,4 +98,5 @@ * @license MIT */ e.exports=function(e){return null!=e&&(n(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&n(e.slice(0,0))}(e)||!!e._isBuffer)}},function(e,t,n){n(9).module("dbt").factory("locationService",["$state",function(e){var t={};return t.parseState=function(e){return function(e){return{selected:{include:e.g_i||"",exclude:e.g_e||""},show_graph:!!e.g_v}}(e)},t.setState=function(t){var n=function(e){var t={g_v:1};return t.g_i=e.include,t.g_e=e.exclude,t}(t),r=e.current.name;e.go(r,n)},t.clearState=function(){var t=e.current.name;e.go(t,{g_i:null,g_e:null,g_v:null})},t}])},function(e,t,n){"use strict";const r=n(9),i=n(202);r.module("dbt").controller("OverviewCtrl",["$scope","$state","project",function(e,t,n){e.overview_md="(loading)",n.ready((function(n){let r=t.params.project_name?t.params.project_name:null;var o=n.docs["doc.dbt.__overview__"],a=i.filter(n.docs,{name:"__overview__"});if(i.each(a,(function(e){"dbt"!=e.package_name&&(o=e)})),null!==r){o=n.docs[`doc.${r}.__${r}__`]||o;let e=i.filter(n.docs,{name:`__${r}__`});i.each(e,e=>{e.package_name!==r&&(o=e)})}e.overview_md=o.block_contents}))}])},function(e,t,n){"use strict";n(9).module("dbt").controller("SourceListCtrl",["$scope","$state","project",function(e,t,n){e.source=t.params.source,e.model={},e.extra_table_fields=[],e.has_more_info=function(e){return(e.description||"").length},e.toggle_source_expanded=function(t){e.has_more_info(t)&&(t.expanded=!t.expanded)},n.ready((function(t){var n=_.filter(t.nodes,(function(t){return t.source_name==e.source}));if(0!=n.length){n.sort((e,t)=>e.name.localeCompare(t.name));var r=n[0];e.model={name:e.source,source_description:r.source_description,sources:n};var i=_.uniq(_.map(n,"metadata.owner")),o=_.uniq(_.map(n,"database")),a=_.uniq(_.map(n,"schema"));e.extra_table_fields=[{name:"Loader",value:r.loader},{name:1==i.length?"Owner":"Owners",value:i.join(", ")},{name:1==o.length?"Database":"Databases",value:o.join(", ")},{name:1==a.length?"Schema":"Schemas",value:a.join(", ")},{name:"Tables",value:n.length}]}}))}])},function(e,t,n){const r=n(9),i={main:n(482),overview:n(483),graph:n(484),source:n(205),source_list:n(485),model:n(486),source:n(205),snapshot:n(487),seed:n(488),test:n(489),analysis:n(490),macro:n(491),exposure:n(492),metric:n(493),semantic_model:n(494),operation:n(495)};r.module("dbt").config(["$stateProvider","$urlRouterProvider",function(e,t){var n="g_v&g_i&g_e&g_p&g_n";t.otherwise("/overview"),e.state("dbt",{url:"/",abstract:!0,controller:"MainController",templateUrl:i.main}).state("dbt.overview",{url:"overview?"+n,controller:"OverviewCtrl",templateUrl:i.overview}).state("dbt.project_overview",{url:"overview/:project_name?"+n,controller:"OverviewCtrl",templateUrl:i.overview,params:{project_name:{type:"string"}}}).state("dbt.graph",{url:"graph",controller:"GraphCtrl",templateUrl:i.graph}).state("dbt.model",{url:"model/:unique_id?section&"+n,controller:"ModelCtrl",templateUrl:i.model,params:{unique_id:{type:"string"}}}).state("dbt.seed",{url:"seed/:unique_id?section&"+n,controller:"SeedCtrl",templateUrl:i.seed,params:{unique_id:{type:"string"}}}).state("dbt.snapshot",{url:"snapshot/:unique_id?section&"+n,controller:"SnapshotCtrl",templateUrl:i.snapshot,params:{unique_id:{type:"string"}}}).state("dbt.test",{url:"test/:unique_id?section&"+n,controller:"TestCtrl",templateUrl:i.test,params:{unique_id:{type:"string"}}}).state("dbt.analysis",{url:"analysis/:unique_id?section&"+n,controller:"AnalysisCtrl",templateUrl:i.analysis,params:{unique_id:{type:"string"}}}).state("dbt.source",{url:"source/:unique_id?section&"+n,controller:"SourceCtrl",templateUrl:i.source,params:{unique_id:{type:"string"}}}).state("dbt.source_list",{url:"source_list/:source?section&"+n,controller:"SourceListCtrl",templateUrl:i.source_list,params:{source:{type:"string"}}}).state("dbt.macro",{url:"macro/:unique_id?section",controller:"MacroCtrl",templateUrl:i.macro,params:{unique_id:{type:"string"}}}).state("dbt.exposure",{url:"exposure/:unique_id?section&"+n,controller:"ExposureCtrl",templateUrl:i.exposure,params:{unique_id:{type:"string"}}}).state("dbt.metric",{url:"metric/:unique_id?section&"+n,controller:"MetricCtrl",templateUrl:i.metric,params:{unique_id:{type:"string"}}}).state("dbt.semantic_model",{url:"semantic_model/:unique_id?section&"+n,controller:"SemanticModelCtrl",templateUrl:i.semantic_model,params:{unique_id:{type:"string"}}}).state("dbt.operation",{url:"operation/:unique_id?section&"+n,controller:"OperationCtrl",templateUrl:i.operation,params:{unique_id:{type:"string"}}})}])},function(e,t){var n="/main/main.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'<style>\n.no-x-overflow {\n overflow-x: hidden;\n}\n\n.logo {\n width: 140px;\n height: 46px ;\n}\n</style>\n\n<div>\n <graph-launcher></graph-launcher>\n\n <div class="app app-row">\n <div class="app-menu app-column">\n <div class="app-overlay" data-toggle=".app-menu"></div>\n <div class="app-header app-navbar app-shadow app-pad">\n <div class="app-row app-middle">\n <div class="app-body">\n <div class="logo">\n <a ui-sref="dbt.overview()">\n <img style="width: 100px; height: 40px" class="logo" ng-src="{{ logo }}" />\n </a>\n </div>\n </div>\n </div>\n </div>\n <div class="app-body">\n <div class="app-scroll app-pad app-flush-right no-x-overflow">\n <model-tree tree="tree"></model-tree>\n </div>\n </div>\n </div>\n <div class="app-content app-column">\n <div class="app-header app-navbar app-shadow">\n <div class="app-frame app-pad app-row app-middle">\n <input\n id="search"\n ng-model="search.query"\n ng-focus="onSearchFocus($event, true)"\n ng-keydown="onSearchKeypress($event)"\n type="text"\n class="form-control"\n placeholder="Search for models..." />\n <div class="app-body">\n </div>\n <div class="app-footer app-icn" ng-show="search.is_focused" ng-click="clearSearch()">\n <svg class="icn icn-md"><use xlink:href="#icn-close"></use></svg>\n </div>\n </div>\n </div>\n <div class=\'app-body\' ng-show=\'!search.is_focused\' ui-view></div>\n <div class="app-body" ng-show="search.is_focused">\n <docs-search query="search.query" results="search.results" on-select="clearSearch()"></docs-search>\n </div>\n </div>\n </div>\n</div>\n')}]),e.exports=n},function(e,t){var n="/overview/overview.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'<div class="app-details app-scroll app-pad">\n <app-scroll div class="app-frame app-pad">\n <div class="panel panel-default">\n <div class="panel-body">\n <p marked=\'overview_md\'></p>\n </div>\n </div>\n </div>\n</div>\n')}]),e.exports=n},function(e,t){var n="/graph/graph.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'<div ng-controller="GraphCtrl" id=\'graph-container\' style="width: 100%">\n <div class=\'row viz-container\' style="margin: 0">\n <div class=\'col-md-12\'>\n <div graph-viz\n viz-options="graph.options"\n viz-elements="graph.elements"\n viz-style="graph.style"\n viz-layout="graph.layout"\n viz-ready="graph.ready"\n viz-size="{height: \'800px\', width: \'100%\'}"></div>\n </div>\n </div>\n</div>\n')}]),e.exports=n},function(e,t){var n="/sources/source_list.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'<style>\n/* TODO */\n.section-target {\n top: -8em;\n}\n\n.noflex {\n flex: 0 0 160px !important;\n}\n\n.highlight {\n color: #24292e;\n background-color: white;\n}\n\n</style>\n\n<div class=\'app-scroll\'>\n <div class="app-links app-sticky">\n <div class="app-title">\n <div class="app-frame app-pad app-flush-bottom">\n <h1>\n <span class="break">{{ source }}</span>\n <small>source</small>\n </h1>\n </div>\n </div>\n <div class="app-frame app-pad-h">\n <ul class="nav nav-tabs">\n <li ui-sref-active=\'active\'><a ui-sref="dbt.source_list({\'#\': \'details\'})">Details</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.source_list({\'#\': \'description\'})">Description</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.source_list({\'#\': \'sources\'})">Sources</a></li>\n </ul>\n </div>\n </div>\n <div class="app-details">\n <div class="app-frame app-pad">\n <section class="section">\n <div class="section-target" id="details"></div>\n <table-details model="model" extras="extra_table_fields"/>\n </section>\n\n <section class="section">\n <div class="section-target" id="description"></div>\n <div class="section-content">\n <h6>Description</h6>\n <div class="panel">\n <div class="panel-body">\n <div ng-if="model.source_description" class="model-markdown" marked="model.source_description"></div>\n <div ng-if="!model.source_description">This {{ model.resource_type }} is not currently documented</div>\n </div>\n </div>\n </div>\n </section>\n\n\n <section class="section">\n <div class="section-target" id="sources"></div>\n <div class="section-content">\n <h6>Source Tables</h6>\n <div class="panel">\n <div class="panel-body">\n <div class="table-responsive" style="max-height: 800px; overflow-y: scroll;" ng-if="!_.isEmpty(model.sources)">\n <table class="table table-borderless table-hover">\n <thead>\n <tr>\n <th style="background-color: white; position: sticky; top: 0; z-index: 1;">Source</th>\n <th style="background-color: white; position: sticky; top: 0; z-index: 1;">Table</th>\n <th style="background-color: white; position: sticky; top: 0; z-index: 1;">Description</th>\n <th style="background-color: white; position: sticky; top: 0; z-index: 1;">Link</th>\n <th style="width: 1px; background-color: white; position: sticky; top: 0; z-index: 1;" class=\'text-center\'>More?</th>\n </tr>\n </thead>\n <tbody>\n <tr\n ng-repeat-start="source in model.sources track by source.name"\n ng-click="toggle_source_expanded(source)"\n class="column-row"\n ng-class="{\'column-row-selected\': source.expanded}"\n ng-style="{cursor: has_more_info(source) ? \'pointer\' : \'auto\'}">\n <td>\n <div>\n <span class=\'text-dark\'>{{ source.source_name }}</span>\n </div>\n </td>\n <td>\n <span class=\'text-dark\'>{{ source.name }}</p>\n </td>\n <td style="text-overflow: ellipsis; overflow-x: hidden; white-space: nowrap; max-width: 1px;">\n <span ng-show="!column.expanded">{{ source.description }}</span>\n </td>\n <td>\n <a ui-sref="dbt.source({unique_id: source.unique_id})">View docs</a>\n </td>\n <td class=\'text-center\'>\n <span class=\'text-light\' ng-show="has_more_info(source)">\n <span ng-if="source.expanded">\n <svg class="icn"><use xlink:href="#icn-up"></use></svg>\n </span>\n <span ng-if="!source.expanded">\n <svg class="icn"><use xlink:href="#icn-right"></use></svg>\n </span>\n </span>\n </td>\n </tr>\n <tr ng-repeat-end ng-show="source.expanded" style="background-color: white; padding: 10px">\n <td colspan="5" class="column-expanded">\n <div style="padding: 5px 20px">\n <div style="margin-bottom: 15px">\n <h5>Description</h5>\n <span marked="source.description"></span>\n </div>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n </div>\n </section>\n </div>\n </div>\n</div>\n')}]),e.exports=n},function(e,t){var n="/docs/model.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'<style>\n/* TODO */\n.section-target {\n top: -8em;\n}\n\n.noflex {\n flex: 0 0 160px !important;\n}\n\n.highlight {\n color: #24292e;\n background-color: white;\n}\n\n</style>\n\n<div class=\'app-scroll\'>\n <div class="app-links app-sticky">\n <div class="app-title">\n <div class="app-frame app-pad app-flush-bottom">\n <h1 ng-if="model.docs.show === false">\n <small class=\'text-bold text-right\'>\n <i data-icon="eye"></i>\n This model is hidden\n </small>\n </h1>\n <h1>\n <span class="break">{{ model.name }}</span>\n <small>{{ model.config.materialized }}</small>\n </h1>\n </div>\n </div>\n <div class="app-frame app-pad-h">\n <ul class="nav nav-tabs">\n <li ui-sref-active=\'active\'><a ui-sref="dbt.model({\'#\': \'details\'})">Details</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.model({\'#\': \'description\'})">Description</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.model({\'#\': \'columns\'})">Columns</a></li>\n <li ui-sref-active=\'active\' ng-show = "referencesLength != 0"><a ui-sref="dbt.model({\'#\': \'referenced_by\'})">Referenced By</a></li>\n <li ui-sref-active=\'active\' ng-show = "parentsLength != 0"><a ui-sref="dbt.model({\'#\': \'depends_on\'})">Depends On</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.model({\'#\': \'code\'})">Code</a></li>\n </ul>\n </div>\n </div>\n <div class="app-details">\n <div class="app-frame app-pad">\n <section class="section">\n <div class="section-target" id="details"></div>\n <table-details model="model"></table-details>\n </section>\n\n <section class="section">\n <div class="section-target" id="description"></div>\n <div class="section-content">\n <h6>Description</h6>\n <div class="panel">\n <div class="panel-body">\n <div ng-if="model.description" class="model-markdown" marked="model.description"></div>\n <div ng-if="!model.description">This {{ model.resource_type }} is not currently documented</div>\n </div>\n </div>\n </div>\n </section>\n\n <section class="section">\n <div class="section-target" id="columns"></div>\n <div class="section-content">\n <h6>Columns</h6>\n <column-details model="model" />\n </div>\n </section>\n\n <section class="section" ng-show = "referencesLength != 0">\n <div class="section-target" id="referenced_by"></div>\n <div class="section-content">\n <h6>Referenced By</h6>\n <reference-list references="references" node="model" />\n </div>\n </section>\n\n <section class="section" ng-show = "parentsLength != 0">\n <div class="section-target" id="depends_on"></div>\n <div class="section-content">\n <h6>Depends On</h6>\n <reference-list references="parents" node="model" />\n </div>\n </section>\n\n <section class="section">\n <div class="section-target" id="code"></div>\n <div class="section-content">\n <code-block versions="versions" default="default_version" language="language"></code-block>\n </div>\n </section>\n </div>\n </div>\n</div>\n')}]),e.exports=n},function(e,t){var n="/docs/snapshot.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'<style>\n/* TODO */\n.section-target {\n top: -8em;\n}\n\n.noflex {\n flex: 0 0 160px !important;\n}\n\n.highlight {\n color: #24292e;\n background-color: white;\n}\n\n</style>\n\n<div class=\'app-scroll\'>\n <div class="app-links app-sticky">\n <div class="app-title">\n <div class="app-frame app-pad app-flush-bottom">\n <h1 ng-if="model.docs.show === false">\n <small class=\'text-bold text-right\'>\n <i data-icon="eye"></i>\n This {{ model.resource_type }} is hidden\n </small>\n </h1>\n <h1>\n <span class="break">{{ model.name }}</span>\n <small>{{ model.config.materialized }}</small>\n </h1>\n </div>\n </div>\n <div class="app-frame app-pad-h">\n <ul class="nav nav-tabs">\n <li ui-sref-active=\'active\'><a ui-sref="dbt.snapshot({\'#\': \'details\'})">Details</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.snapshot({\'#\': \'description\'})">Description</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.snapshot({\'#\': \'columns\'})">Columns</a></li>\n <li ui-sref-active=\'active\' ng-show = "referencesLength != 0"><a ui-sref="dbt.snapshot({\'#\': \'referenced_by\'})">Referenced By</a></li>\n <li ui-sref-active=\'active\' ng-show = "parentsLength != 0"><a ui-sref="dbt.snapshot({\'#\': \'depends_on\'})">Depends On</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.snapshot({\'#\': \'code\'})">SQL</a></li>\n </ul>\n </div>\n </div>\n <div class="app-details">\n <div class="app-frame app-pad">\n <section class="section">\n <div class="section-target" id="details"></div>\n <table-details model="model" />\n </section>\n\n <section class="section">\n <div class="section-target" id="description"></div>\n <div class="section-content">\n <h6>Description</h6>\n <div class="panel">\n <div class="panel-body">\n <div ng-if="model.description" class="model-markdown" marked="model.description"></div>\n <div ng-if="!model.description">This {{ model.resource_type }} is not currently documented</div>\n </div>\n </div>\n </div>\n </section>\n\n <section class="section">\n <div class="section-target" id="columns"></div>\n <div class="section-content">\n <h6>Columns</h6>\n <column-details model="model" />\n </div>\n </section>\n\n <section class="section" ng-show = "referencesLength != 0">\n <div class="section-target" id="referenced_by"></div>\n <div class="section-content">\n <h6>Referenced By</h6>\n <reference-list references="references" node="model" />\n </div>\n </section>\n\n <section class="section" ng-show = "parentsLength != 0">\n <div class="section-target" id="depends_on"></div>\n <div class="section-content">\n <h6>Depends On</h6>\n <reference-list references="parents" node="model" />\n </div>\n </section>\n\n <section class="section">\n <div class="section-target" id="code"></div>\n <div class="section-content">\n <code-block versions="versions" default="default_version" language="language"></code-block>\n </div>\n </section>\n </div>\n </div>\n</div>\n')}]),e.exports=n},function(e,t){var n="/docs/seed.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'<style>\n/* TODO */\n.section-target {\n top: -8em;\n}\n\n.noflex {\n flex: 0 0 160px !important;\n}\n\n.highlight {\n color: #24292e;\n background-color: white;\n}\n\n</style>\n\n<div class=\'app-scroll\'>\n <div class="app-links app-sticky">\n <div class="app-title">\n <div class="app-frame app-pad app-flush-bottom">\n <h1 ng-if="model.docs.show === false">\n <small class=\'text-bold text-right\'>\n <i data-icon="eye"></i>\n This {{ model.resource_type }} is hidden\n </small>\n </h1>\n <h1>\n <span class="break">{{ model.name }}</span>\n <small>{{ model.config.materialized }}</small>\n </h1>\n </div>\n </div>\n <div class="app-frame app-pad-h">\n <ul class="nav nav-tabs">\n <li ui-sref-active=\'active\'><a ui-sref="dbt.seed({\'#\': \'details\'})">Details</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.seed({\'#\': \'description\'})">Description</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.seed({\'#\': \'columns\'})">Columns</a></li>\n <li ui-sref-active=\'active\' ng-show = "referencesLength != 0"><a ui-sref="dbt.seed({\'#\': \'referenced_by\'})">Referenced By</a></li>\n <li ui-sref-active=\'active\' ng-show = "parentsLength != 0"><a ui-sref="dbt.seed({\'#\': \'depends_on\'})">Depends On</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.seed({\'#\': \'code\'})">SQL</a></li>\n </ul>\n </div>\n </div>\n <div class="app-details">\n <div class="app-frame app-pad">\n <section class="section">\n <div class="section-target" id="details"></div>\n <table-details model="model" />\n </section>\n\n <section class="section">\n <div class="section-target" id="description"></div>\n <div class="section-content">\n <h6>Description</h6>\n <div class="panel">\n <div class="panel-body">\n <div ng-if="model.description" class="model-markdown" marked="model.description"></div>\n <div ng-if="!model.description">This {{ model.resource_type }} is not currently documented</div>\n </div>\n </div>\n </div>\n </section>\n <section class="section">\n <div class="section-target" id="columns"></div>\n <div class="section-content">\n <h6>Columns</h6>\n <column-details model="model" />\n </div>\n </section>\n\n <section class="section" ng-show = "referencesLength != 0">\n <div class="section-target" id="referenced_by"></div>\n <div class="section-content">\n <h6>Referenced By</h6>\n <reference-list references="references" node="model" />\n </div>\n </section>\n\n <section class="section" ng-show = "parentsLength != 0">\n <div class="section-target" id="depends_on"></div>\n <div class="section-content">\n <h6>Depends On</h6>\n <reference-list references="parents" node="model" />\n </div>\n </section>\n\n <section class="section">\n <div class="section-target" id="code"></div>\n <div class="section-content">\n <code-block versions="versions" default="default_version" language="language"></code-block>\n </div>\n </section>\n </div>\n </div>\n</div>\n')}]),e.exports=n},function(e,t){var n="/docs/test.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'<style>\n/* TODO */\n.section-target {\n top: -8em;\n}\n\n.noflex {\n flex: 0 0 160px !important;\n}\n\n.highlight {\n color: #24292e;\n background-color: white;\n}\n\n</style>\n\n<div class=\'app-scroll\'>\n <div class="app-links app-sticky">\n <div class="app-title">\n <div class="app-frame app-pad app-flush-bottom">\n <h1>\n <span class="break">{{ model.name }}</span>\n <small>test</small>\n </h1>\n </div>\n </div>\n <div class="app-frame app-pad-h">\n <ul class="nav nav-tabs">\n <li ui-sref-active=\'active\'><a ui-sref="dbt.test({\'#\': \'description\'})">Description</a></li>\n <li ui-sref-active=\'active\' ng-show = "parentsLength != 0"><a ui-sref="dbt.test({\'#\': \'depends_on\'})">Depends On</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.test({\'#\': \'code\'})">SQL</a></li>\n </ul>\n </div>\n </div>\n <div class="app-details">\n <div class="app-frame app-pad">\n <section class="section">\n <div class="section-target" id="description"></div>\n <div class="section-content">\n <h6>Description</h6>\n <div class="panel">\n <div class="panel-body">\n <div ng-if="model.description" class="model-markdown" marked="model.description"></div>\n <div ng-if="!model.description">This {{ model.resource_type }} is not currently documented</div>\n </div>\n </div>\n </div>\n </section>\n\n <section class="section" ng-show = "parentsLength != 0">\n <div class="section-target" id="depends_on"></div>\n <div class="section-content">\n <h6>Depends On</h6>\n <reference-list references="parents" node="model" />\n </div>\n </section>\n\n <section class="section">\n <div class="section-target" id="code"></div>\n <div class="section-content">\n <code-block versions="versions" default="default_version" language="language"></code-block>\n </div>\n </section>\n </div>\n </div>\n</div>\n')}]),e.exports=n},function(e,t){var n="/docs/analysis.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'<style>\n/* TODO */\n.section-target {\n top: -8em;\n}\n\n.noflex {\n flex: 0 0 160px !important;\n}\n\n.highlight {\n color: #24292e;\n background-color: white;\n}\n\n</style>\n\n<div class=\'app-scroll\'>\n <div class="app-links app-sticky">\n <div class="app-title">\n <div class="app-frame app-pad app-flush-bottom">\n <h1 ng-if="model.docs.show === false">\n <small class=\'text-bold text-right\'>\n <i data-icon="eye"></i>\n This {{ model.resource_type }} is hidden\n </small>\n </h1>\n <h1>\n <span class="break">{{ model.name }}</span>\n <small>Analysis</small>\n </h1>\n </div>\n </div>\n <div class="app-frame app-pad-h">\n <ul class="nav nav-tabs">\n <li ui-sref-active=\'active\'><a ui-sref="dbt.analysis({\'#\': \'description\'})">Description</a></li>\n <li ui-sref-active=\'active\' ng-show = "parentsLength != 0"><a ui-sref="dbt.analysis({\'#\': \'depends_on\'})">Depends On</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.analysis({\'#\': \'sql\'})">SQL</a></li>\n </ul>\n </div>\n </div>\n <div class="app-details">\n <div class="app-frame app-pad">\n\n <section class="section">\n <div class="section-target" id="description"></div>\n <div class="section-content">\n <h6>Description</h6>\n <div class="panel">\n <div class="panel-body">\n <div ng-if="model.description" class="model-markdown" marked="model.description"></div>\n <div ng-if="!model.description">This {{ model.resource_type }} is not currently documented</div>\n </div>\n </div>\n </div>\n </section>\n\n <section class="section" ng-show = "parentsLength != 0">\n <div class="section-target" id="depends_on"></div>\n <div class="section-content">\n <h6>Depends On</h6>\n <reference-list references="parents" />\n </div>\n </section>\n\n <section class="section">\n <div class="section-target" id="sql"></div>\n <div class="section-content">\n <code-block versions="versions" default="default_version" language="language"></code-block>\n </div>\n </section>\n </div>\n </div>\n</div>\n')}]),e.exports=n},function(e,t){var n="/docs/macro.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'<style>\n/* TODO */\n.section-target {\n top: -8em;\n}\n\n.noflex {\n flex: 0 0 160px !important;\n}\n\n.highlight {\n color: #24292e;\n background-color: white;\n}\n\n</style>\n\n<div class=\'app-scroll\'>\n <div class="app-links app-sticky">\n <div class="app-title">\n <div class="app-frame app-pad app-flush-bottom">\n <h1>\n <span class="break">{{ macro.package_name }}.{{ macro.name }}</span>\n <small ng-if="macro.is_adapter_macro">adapter macro</small>\n <small ng-if="!macro.is_adapter_macro">macro</small>\n </h1>\n </div>\n </div>\n <div class="app-frame app-pad-h">\n <ul class="nav nav-tabs">\n <li ui-sref-active=\'active\'><a ui-sref="dbt.macro({\'#\': \'description\'})">Description</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.macro({\'#\': \'arguments\'})">Arguments</a></li>\n <li ui-sref-active=\'active\' ng-show = "referencesLength != 0"><a ui-sref="dbt.macro({\'#\': \'referenced_by\'})">Referenced By</a></li>\n <li ui-sref-active=\'active\' ng-show = "parentsLength != 0"><a ui-sref="dbt.macro({\'#\': \'depends_on\'})">Depends On</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.macro({\'#\': \'code\'})">Code</a></li>\n </ul>\n </div>\n </div>\n <div class="app-details">\n <div class="app-frame app-pad">\n <section class="section">\n <div class="section-target" id="description"></div>\n <div class="section-content">\n <h6>Description</h6>\n <div class="panel">\n <div class="panel-body">\n <div ng-if="macro.description" class="model-markdown" marked="macro.description"></div>\n <div ng-if="!macro.description">This {{ macro.resource_type }} is not currently documented</div>\n </div>\n </div>\n </div>\n </section>\n\n <section class="section">\n <div class="section-target" id="arguments"></div>\n <div class="section-content">\n <h6>Arguments</h6>\n <macro-arguments macro="macro"></macro-arguments>\n </div>\n </section>\n\n <section class="section" ng-show = "referencesLength != 0">\n <div class="section-target" id="referenced_by"></div>\n <div class="section-content">\n <h6>Referenced By</h6>\n <reference-list references="references" node="macro" />\n </div>\n </section>\n\n <section class="section" ng-show = "parentsLength != 0">\n <div class="section-target" id="depends_on"></div>\n <div class="section-content">\n <h6>Depends On</h6>\n <reference-list references="parents" node="macro" />\n </div>\n </section>\n\n <section class="section">\n <div class="section-target" id="code"></div>\n <div class="section-content">\n <code-block versions="versions" default="default_version" language="language"></code-block>\n </div>\n </section>\n </div>\n </div>\n</div>\n')}]),e.exports=n},function(e,t){var n="/docs/exposure.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'<style>\n/* TODO */\n.section-target {\n top: -8em;\n}\n\n.noflex {\n flex: 0 0 160px !important;\n}\n\n.highlight {\n color: #24292e;\n background-color: white;\n}\n\n</style>\n\n<div class=\'app-scroll\'>\n <div class="app-links app-sticky">\n <div class="app-title">\n <div class="app-frame app-pad app-flush-bottom">\n\n <h1>\n <span class="break">{{ exposure.label }}</span>\n <small>exposure</small>\n\n <div class=\'pull-right\' ng-show="exposure.url">\n <a class=\'btn text-white btn-primary btn-sm\' ng-href="{{ exposure.url }}" target="_blank">View this exposure</a>\n </div>\n\n <div class=\'clearfix\'></div>\n </h1>\n\n </div>\n </div>\n <div class="app-frame app-pad-h">\n <ul class="nav nav-tabs">\n <li ui-sref-active=\'active\'><a ui-sref="dbt.exposure({\'#\': \'details\'})">Details</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.exposure({\'#\': \'description\'})">Description</a></li>\n <li ui-sref-active=\'active\' ng-show = "parentsLength != 0"><a ui-sref="dbt.exposure({\'#\': \'depends_on\'})">Depends On</a></li>\n </ul>\n </div>\n </div>\n <div class="app-details">\n <div class="app-frame app-pad">\n\n <section class="section">\n <div class="section-target" id="details"></div>\n <table-details model="exposure" extras="extra_table_fields" />\n </section>\n\n <section class="section">\n <div class="section-target" id="description"></div>\n <div class="section-content">\n <h6>Description</h6>\n <div class="panel">\n <div class="panel-body">\n <div ng-if="exposure.description" class="model-markdown" marked="exposure.description"></div>\n <div ng-if="!exposure.description">This {{ exposure.resource_type }} is not currently documented</div>\n </div>\n </div>\n </div>\n </section>\n\n <section class="section" ng-show = "parentsLength != 0">\n <div class="section-target" id="depends_on"></div>\n <div class="section-content">\n <h6>Depends On</h6>\n <reference-list references="parents" node="exposure" />\n </div>\n </section>\n\n </div>\n </div>\n</div>\n')}]),e.exports=n},function(e,t){var n="/docs/metric.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'<style>\n/* TODO */\n.section-target {\n top: -8em;\n}\n\n.noflex {\n flex: 0 0 160px !important;\n}\n\n.highlight {\n color: #24292e;\n background-color: white;\n}\n\n</style>\n\n<div class=\'app-scroll\'>\n <div class="app-links app-sticky">\n <div class="app-title">\n <div class="app-frame app-pad app-flush-bottom">\n\n <h1>\n <span class="break">{{ metric.label }}</span>\n <small>metric</small>\n\n <div class=\'clearfix\'></div>\n </h1>\n\n </div>\n </div>\n <div class="app-frame app-pad-h">\n <ul class="nav nav-tabs">\n <li ui-sref-active=\'active\'><a ui-sref="dbt.metric({\'#\': \'details\'})">Details</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.metric({\'#\': \'description\'})">Description</a></li>\n <li ui-sref-active=\'active\' ng-show = "parentsLength != 0"><a ui-sref="dbt.metric({\'#\': \'depends_on\'})">Depends On</a></li>\n </ul>\n </div>\n </div>\n <div class="app-details">\n <div class="app-frame app-pad">\n\n <section class="section">\n <div class="section-target" id="details"></div>\n <table-details model="metric" extras="extra_table_fields" />\n </section>\n\n <section class="section">\n <div class="section-target" id="description"></div>\n <div class="section-content">\n <h6>Description</h6>\n <div class="panel">\n <div class="panel-body">\n <div ng-if="metric.description" class="model-markdown" marked="metric.description"></div>\n <div ng-if="!metric.description">This {{ metric.resource_type }} is not currently documented</div>\n </div>\n </div>\n </div>\n </section>\n\n <section class="section" ng-show = "parentsLength != 0">\n <div class="section-target" id="depends_on"></div>\n <div class="section-content">\n <h6>Depends On</h6>\n <reference-list references="parents" node="metric" />\n </div>\n </section>\n\n </div>\n </div>\n</div>\n')}]),e.exports=n},function(e,t){var n="/docs/semantic_model.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'<style>\n/* TODO */\n.section-target {\n top: -8em;\n}\n\n.noflex {\n flex: 0 0 160px !important;\n}\n\n.highlight {\n color: #24292e;\n background-color: white;\n}\n\n</style>\n\n<div class=\'app-scroll\'>\n <div class="app-links app-sticky">\n <div class="app-title">\n <div class="app-frame app-pad app-flush-bottom">\n\n <h1>\n <span class="break">{{ semantic_model.name }}</span>\n <small>semantic_model</small>\n\n <div class=\'clearfix\'></div>\n </h1>\n\n </div>\n </div>\n <div class="app-frame app-pad-h">\n <ul class="nav nav-tabs">\n <li ui-sref-active=\'active\'><a ui-sref="dbt.semantic_model({\'#\': \'details\'})">Details</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.semantic_model({\'#\': \'description\'})">Description</a></li>\n <li ui-sref-active=\'active\' ng-show = "parentsLength != 0"><a ui-sref="dbt.semantic_model({\'#\': \'depends_on\'})">Depends On</a></li>\n </ul>\n </div>\n </div>\n <div class="app-details">\n <div class="app-frame app-pad">\n\n <section class="section">\n <div class="section-target" id="details"></div>\n <table-details model="semantic_model" extras="extra_table_fields" />\n </section>\n\n <section class="section">\n <div class="section-target" id="description"></div>\n <div class="section-content">\n <h6>Description</h6>\n <div class="panel">\n <div class="panel-body">\n <div ng-if="semantic_model.description" class="model-markdown" marked="semantic_model.description"></div>\n <div ng-if="!semantic_model.description">This {{ semantic_model.resource_type }} is not currently documented</div>\n </div>\n </div>\n </div>\n </section>\n\n <section class="section" ng-show = "semantic_model.entities.length != 0">\n <div class="section-target" id="entities"></div>\n <div class="section-content">\n <h6>Entities</h6>\n\n <div class="panel">\n <div class="detail-group" style="padding-bottom: 0">\n <div class="detail-body" style="padding-left: 0">\n <dl class="detail" ng-style="{\'padding-left\': $index == 0 ? 0 : \'auto\'}"\n ng-repeat="entity in semantic_model.entities">\n <dt class="detail-label">Name</dt>\n <dd class="detail-value" ng-if="entity.name">{{ entity.name }}</dd>\n <dd class="detail-value" ng-if="!entity.name">None</dd>\n <dt class="detail-label">Type</dt>\n <dd class="detail-value" ng-if="entity.type">{{ entity.type }}</dd>\n <dd class="detail-value" ng-if="!entity.type">None</dd>\n <dt class="detail-label">Expression</dt>\n <dd class="detail-value" ng-if="entity.expr">{{ entity.expr }}</dd>\n <dd class="detail-value" ng-if="!entity.expr">None</dd>\n </dl>\n </div>\n </div>\n </div>\n </div>\n </section>\n\n <section class="section" ng-show = "parentsLength != 0">\n <div class="section-target" id="depends_on"></div>\n <div class="section-content">\n <h6>Depends On</h6>\n <reference-list references="parents" node="semantic_model" />\n </div>\n </section>\n\n </div>\n </div>\n</div>\n')}]),e.exports=n},function(e,t){var n="/docs/operation.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'<style>\n/* TODO */\n.section-target {\n top: -8em;\n}\n\n.noflex {\n flex: 0 0 160px !important;\n}\n\n.highlight {\n color: #24292e;\n background-color: white;\n}\n\n</style>\n\n<div class=\'app-scroll\'>\n <div class="app-links app-sticky">\n <div class="app-title">\n <div class="app-frame app-pad app-flush-bottom">\n <h1>\n <span class="break">{{ model.name }}</span>\n <small>operation</small>\n </h1>\n </div>\n </div>\n <div class="app-frame app-pad-h">\n <ul class="nav nav-tabs">\n <li ui-sref-active=\'active\'><a ui-sref="dbt.operation({\'#\': \'description\'})">Description</a></li>\n <li ui-sref-active=\'active\' ng-show = "parentsLength != 0"><a ui-sref="dbt.operation({\'#\': \'depends_on\'})">Depends On</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.operation({\'#\': \'code\'})">SQL</a></li>\n </ul>\n </div>\n </div>\n <div class="app-details">\n <div class="app-frame app-pad">\n <section class="section">\n <div class="section-target" id="description"></div>\n <div class="section-content">\n <h6>Description</h6>\n <div class="panel">\n <div class="panel-body">\n <div ng-if="model.description" class="model-markdown" marked="model.description"></div>\n <div ng-if="!model.description">This {{ model.resource_type }} is not currently documented</div>\n </div>\n </div>\n </div>\n </section>\n\n <section class="section" ng-show = "parentsLength != 0">\n <div class="section-target" id="depends_on"></div>\n <div class="section-content">\n <h6>Depends On</h6>\n <reference-list references="parents" node="model" />\n </div>\n </section>\n\n <section class="section">\n <div class="section-target" id="code"></div>\n <div class="section-content">\n <code-block versions="versions" default="default_version" language="language"></code-block>\n </div>\n </section>\n </div>\n </div>\n</div>\n')}]),e.exports=n}]); -//# sourceMappingURL=main.js.map</script></body></html> +//# sourceMappingURL=main.js.map</script></body> +</html> diff --git a/docs/manifest.json b/docs/manifest.json index b03ceb2c..6ee320be 100644 --- a/docs/manifest.json +++ b/docs/manifest.json @@ -1 +1 @@ -{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/manifest/v11.json", "dbt_version": "1.7.17", "generated_at": "2024-10-30T18:13:39.037721Z", "invocation_id": "5e462e89-eb06-4175-ba3f-5765b3765c13", "env": {}, "project_name": "quickbooks_integration_tests", "project_id": "fb1a7b9ce88ce39cb54ba2ec5c0aaab3", "user_id": "81581f81-d5af-4143-8fbf-c2f0001e4f56", "send_anonymous_usage_stats": true, "adapter_type": "postgres"}, "nodes": {"seed.quickbooks_integration_tests.bill_payment_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "bill_payment_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "bill_payment_data.csv", "original_file_path": "seeds/bill_payment_data.csv", "unique_id": "seed.quickbooks_integration_tests.bill_payment_data", "fqn": ["quickbooks_integration_tests", "bill_payment_data"], "alias": "bill_payment_data", "checksum": {"name": "sha256", "checksum": "654e27fe99f7891483ba67ae67202f00a166df46c6463965f831bd47d3bc53cf"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.515023, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"bill_payment_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.bundle_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "bundle_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "bundle_data.csv", "original_file_path": "seeds/bundle_data.csv", "unique_id": "seed.quickbooks_integration_tests.bundle_data", "fqn": ["quickbooks_integration_tests", "bundle_data"], "alias": "bundle_data", "checksum": {"name": "sha256", "checksum": "05c58a514ad8c1ea4162a3b64ed0cf8a0c517b277d9b7df566a79b419dbc8bce"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.518452, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"bundle_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.bill_payment_line_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "bill_payment_line_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "bill_payment_line_data.csv", "original_file_path": "seeds/bill_payment_line_data.csv", "unique_id": "seed.quickbooks_integration_tests.bill_payment_line_data", "fqn": ["quickbooks_integration_tests", "bill_payment_line_data"], "alias": "bill_payment_line_data", "checksum": {"name": "sha256", "checksum": "ae8e7b58ddb78ecbcb7facd257a29f27db08cb69e4014ee40e3a07d02e7ea51a"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.5198321, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"bill_payment_line_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.payment_line_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "payment_line_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "payment_line_data.csv", "original_file_path": "seeds/payment_line_data.csv", "unique_id": "seed.quickbooks_integration_tests.payment_line_data", "fqn": ["quickbooks_integration_tests", "payment_line_data"], "alias": "payment_line_data", "checksum": {"name": "sha256", "checksum": "6e54b93beaddd05e86b071eb43833845bfc76a841b2780e3e1059f6d661cd238"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.521591, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"payment_line_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.vendor_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "vendor_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "vendor_data.csv", "original_file_path": "seeds/vendor_data.csv", "unique_id": "seed.quickbooks_integration_tests.vendor_data", "fqn": ["quickbooks_integration_tests", "vendor_data"], "alias": "vendor_data", "checksum": {"name": "sha256", "checksum": "bffa017c52634742d44c5621b4a3e5c3d91a0a10dc66f9517202eb5cca923d15"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date", "id": "bigint"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1730311926.5228958, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"vendor_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.address_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "address_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "address_data.csv", "original_file_path": "seeds/address_data.csv", "unique_id": "seed.quickbooks_integration_tests.address_data", "fqn": ["quickbooks_integration_tests", "address_data"], "alias": "address_data", "checksum": {"name": "sha256", "checksum": "2b7bfb3f76e41e3fee0443c10a939053b0edb31b9f4be1bcd0af8d4b686da7b0"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.524176, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"address_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.purchase_order_linked_txn_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "purchase_order_linked_txn_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "purchase_order_linked_txn_data.csv", "original_file_path": "seeds/purchase_order_linked_txn_data.csv", "unique_id": "seed.quickbooks_integration_tests.purchase_order_linked_txn_data", "fqn": ["quickbooks_integration_tests", "purchase_order_linked_txn_data"], "alias": "purchase_order_linked_txn_data", "checksum": {"name": "sha256", "checksum": "783640948c1f42079de535df23609064f3195e20ce34dffe56ac54f0c0f16ada"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.525753, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"purchase_order_linked_txn_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.invoice_line_bundle_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "invoice_line_bundle_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "invoice_line_bundle_data.csv", "original_file_path": "seeds/invoice_line_bundle_data.csv", "unique_id": "seed.quickbooks_integration_tests.invoice_line_bundle_data", "fqn": ["quickbooks_integration_tests", "invoice_line_bundle_data"], "alias": "invoice_line_bundle_data", "checksum": {"name": "sha256", "checksum": "f1cdc81c2fb1ec4f76c5226e2f5e4ed6f17f7b446cb53cfa539d8caafb252a5c"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.526935, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"invoice_line_bundle_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.invoice_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "invoice_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "invoice_data.csv", "original_file_path": "seeds/invoice_data.csv", "unique_id": "seed.quickbooks_integration_tests.invoice_data", "fqn": ["quickbooks_integration_tests", "invoice_data"], "alias": "invoice_data", "checksum": {"name": "sha256", "checksum": "cd8527ea11d19987f98860a31d2d99ac78cf045bf1af9c135c354310edd7c65b"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.528116, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"invoice_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.payment_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "payment_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "payment_data.csv", "original_file_path": "seeds/payment_data.csv", "unique_id": "seed.quickbooks_integration_tests.payment_data", "fqn": ["quickbooks_integration_tests", "payment_data"], "alias": "payment_data", "checksum": {"name": "sha256", "checksum": "1d04470de19b7e48f687a9ee6300cfaefcb777e49316bbd55d52a12f34e4d357"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.529313, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"payment_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.invoice_line_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "invoice_line_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "invoice_line_data.csv", "original_file_path": "seeds/invoice_line_data.csv", "unique_id": "seed.quickbooks_integration_tests.invoice_line_data", "fqn": ["quickbooks_integration_tests", "invoice_line_data"], "alias": "invoice_line_data", "checksum": {"name": "sha256", "checksum": "a05f10afc36145c8449665e8f314939d4a039eb87969448d98685d5964decfb7"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.530802, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"invoice_line_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.deposit_line_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "deposit_line_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "deposit_line_data.csv", "original_file_path": "seeds/deposit_line_data.csv", "unique_id": "seed.quickbooks_integration_tests.deposit_line_data", "fqn": ["quickbooks_integration_tests", "deposit_line_data"], "alias": "deposit_line_data", "checksum": {"name": "sha256", "checksum": "064d28ea96f9f70114d364924ce93b4dd18ac77a27b2091e65537dc0e46440ed"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date", "deposit_account_id": "bigint", "deposit_class_id": "bigint"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"deposit_account_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "deposit_class_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1730311926.532374, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"deposit_line_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.estimate_line_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "estimate_line_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "estimate_line_data.csv", "original_file_path": "seeds/estimate_line_data.csv", "unique_id": "seed.quickbooks_integration_tests.estimate_line_data", "fqn": ["quickbooks_integration_tests", "estimate_line_data"], "alias": "estimate_line_data", "checksum": {"name": "sha256", "checksum": "cff0f0d902a16e9ab0b877d174dd67536537fc669c16505c2efadb0721ce6c26"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.533708, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"estimate_line_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.purchase_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "purchase_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "purchase_data.csv", "original_file_path": "seeds/purchase_data.csv", "unique_id": "seed.quickbooks_integration_tests.purchase_data", "fqn": ["quickbooks_integration_tests", "purchase_data"], "alias": "purchase_data", "checksum": {"name": "sha256", "checksum": "ac38b4fff602a8b6503082d010e026efc561fb55567fb52b4c3cd0a6fb295cfc"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date", "credit": "bool"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"credit": "{{ 'boolean' if target.name in ('snowflake', 'spark', 'databricks') else 'bool' }}"}}, "created_at": 1730311926.535105, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"purchase_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.refund_receipt_line_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "refund_receipt_line_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "refund_receipt_line_data.csv", "original_file_path": "seeds/refund_receipt_line_data.csv", "unique_id": "seed.quickbooks_integration_tests.refund_receipt_line_data", "fqn": ["quickbooks_integration_tests", "refund_receipt_line_data"], "alias": "refund_receipt_line_data", "checksum": {"name": "sha256", "checksum": "8a67266f87e49dda0de57a6d66b4c1a053af545a6c8d394f8df6470b98cd31c7"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.536396, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"refund_receipt_line_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.credit_memo_line_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "credit_memo_line_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "credit_memo_line_data.csv", "original_file_path": "seeds/credit_memo_line_data.csv", "unique_id": "seed.quickbooks_integration_tests.credit_memo_line_data", "fqn": ["quickbooks_integration_tests", "credit_memo_line_data"], "alias": "credit_memo_line_data", "checksum": {"name": "sha256", "checksum": "01898bc6786c3c48ebf5aa4170ea54257dd66e6fc38931067c9012bc639f6994"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.537738, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"credit_memo_line_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.bill_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "bill_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "bill_data.csv", "original_file_path": "seeds/bill_data.csv", "unique_id": "seed.quickbooks_integration_tests.bill_data", "fqn": ["quickbooks_integration_tests", "bill_data"], "alias": "bill_data", "checksum": {"name": "sha256", "checksum": "3241a63054f0ffb9737a402a18fbe8286e86114e18425db853ff0673fc410314"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.538892, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"bill_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.bill_linked_txn_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "bill_linked_txn_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "bill_linked_txn_data.csv", "original_file_path": "seeds/bill_linked_txn_data.csv", "unique_id": "seed.quickbooks_integration_tests.bill_linked_txn_data", "fqn": ["quickbooks_integration_tests", "bill_linked_txn_data"], "alias": "bill_linked_txn_data", "checksum": {"name": "sha256", "checksum": "14f88fc0716d3c253043a68af9b026ab54a93a33784c682b6ec700671f1e03c7"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.54015, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"bill_linked_txn_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.vendor_credit_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "vendor_credit_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "vendor_credit_data.csv", "original_file_path": "seeds/vendor_credit_data.csv", "unique_id": "seed.quickbooks_integration_tests.vendor_credit_data", "fqn": ["quickbooks_integration_tests", "vendor_credit_data"], "alias": "vendor_credit_data", "checksum": {"name": "sha256", "checksum": "ccc4a1ca3967e3eb7f61d2831242f07b1e5a77006dd4312a17fd36e7ea008bea"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.5417652, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"vendor_credit_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.customer_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "customer_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "customer_data.csv", "original_file_path": "seeds/customer_data.csv", "unique_id": "seed.quickbooks_integration_tests.customer_data", "fqn": ["quickbooks_integration_tests", "customer_data"], "alias": "customer_data", "checksum": {"name": "sha256", "checksum": "e2b9abb83f4dc3812031037fc13d830832d8716045300555cdc45b06ec6e353d"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.543087, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"customer_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.estimate_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "estimate_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "estimate_data.csv", "original_file_path": "seeds/estimate_data.csv", "unique_id": "seed.quickbooks_integration_tests.estimate_data", "fqn": ["quickbooks_integration_tests", "estimate_data"], "alias": "estimate_data", "checksum": {"name": "sha256", "checksum": "b74a86af936ab89d26162e2f0184387241d748c1008380ac1e7a7e1c475c69a8"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.544553, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"estimate_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.purchase_line_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "purchase_line_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "purchase_line_data.csv", "original_file_path": "seeds/purchase_line_data.csv", "unique_id": "seed.quickbooks_integration_tests.purchase_line_data", "fqn": ["quickbooks_integration_tests", "purchase_line_data"], "alias": "purchase_line_data", "checksum": {"name": "sha256", "checksum": "33355dd453e68ac5a5afa2f71e3c515dc414cdd55a489c65d2c2c4fa06fd18e7"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date", "item_expense_billable_status": "varchar(100)", "account_expense_account_id": "bigint"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"item_expense_billable_status": "{{ 'varchar(100)' if target.name in ('redshift', 'postgres') else 'string' }}", "account_expense_account_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1730311926.545847, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"purchase_line_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.journal_entry_line_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "journal_entry_line_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "journal_entry_line_data.csv", "original_file_path": "seeds/journal_entry_line_data.csv", "unique_id": "seed.quickbooks_integration_tests.journal_entry_line_data", "fqn": ["quickbooks_integration_tests", "journal_entry_line_data"], "alias": "journal_entry_line_data", "checksum": {"name": "sha256", "checksum": "a17bbafe90f2f00403538657b9f45c14d929ce2d9b5b29a55828855756024516"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.547157, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"journal_entry_line_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.journal_entry_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "journal_entry_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "journal_entry_data.csv", "original_file_path": "seeds/journal_entry_data.csv", "unique_id": "seed.quickbooks_integration_tests.journal_entry_data", "fqn": ["quickbooks_integration_tests", "journal_entry_data"], "alias": "journal_entry_data", "checksum": {"name": "sha256", "checksum": "6f717632a6fe0901786fbdfed63db69af1c928331ed9cb83f9fd389fe2b9ab83"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.548397, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"journal_entry_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.bill_line_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "bill_line_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "bill_line_data.csv", "original_file_path": "seeds/bill_line_data.csv", "unique_id": "seed.quickbooks_integration_tests.bill_line_data", "fqn": ["quickbooks_integration_tests", "bill_line_data"], "alias": "bill_line_data", "checksum": {"name": "sha256", "checksum": "ea538cd77d1034c9b0d941677d4f92040a5e73cf839135ac7173a0b30649dbd1"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date", "item_expense_billable_status": "varchar(100)", "account_expense_billable_status": "varchar(100)"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"item_expense_billable_status": "{{ 'varchar(100)' if target.name in ('redshift', 'postgres') else 'string' }}", "account_expense_billable_status": "{{ 'varchar(100)' if target.name in ('redshift', 'postgres') else 'string' }}"}}, "created_at": 1730311926.54987, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"bill_line_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.bundle_item_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "bundle_item_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "bundle_item_data.csv", "original_file_path": "seeds/bundle_item_data.csv", "unique_id": "seed.quickbooks_integration_tests.bundle_item_data", "fqn": ["quickbooks_integration_tests", "bundle_item_data"], "alias": "bundle_item_data", "checksum": {"name": "sha256", "checksum": "69218d4dc89cf8da55d1a5aab12bbe45129b48377fa7615f0030616d8c34fe9d"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.55114, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"bundle_item_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.invoice_linked_txn_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "invoice_linked_txn_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "invoice_linked_txn_data.csv", "original_file_path": "seeds/invoice_linked_txn_data.csv", "unique_id": "seed.quickbooks_integration_tests.invoice_linked_txn_data", "fqn": ["quickbooks_integration_tests", "invoice_linked_txn_data"], "alias": "invoice_linked_txn_data", "checksum": {"name": "sha256", "checksum": "88dda316adf9a5921231dbe5bd5d0c425391ccf9b72a7d6c937155d67b3b45ba"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.5523462, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"invoice_linked_txn_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.account_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "account_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "account_data.csv", "original_file_path": "seeds/account_data.csv", "unique_id": "seed.quickbooks_integration_tests.account_data", "fqn": ["quickbooks_integration_tests", "account_data"], "alias": "account_data", "checksum": {"name": "sha256", "checksum": "f7bfbd970c7ad186e798eec1c56ba7c9579c916ef6e7791293b0bcb5acafaf80"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.5535731, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"account_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.purchase_order_line_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "purchase_order_line_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "purchase_order_line_data.csv", "original_file_path": "seeds/purchase_order_line_data.csv", "unique_id": "seed.quickbooks_integration_tests.purchase_order_line_data", "fqn": ["quickbooks_integration_tests", "purchase_order_line_data"], "alias": "purchase_order_line_data", "checksum": {"name": "sha256", "checksum": "39d5f88917f7d5d8ec70465d8569a38bd19d72bfb26bc495f3231b3e6599c945"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.5547898, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"purchase_order_line_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.transfer_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "transfer_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "transfer_data.csv", "original_file_path": "seeds/transfer_data.csv", "unique_id": "seed.quickbooks_integration_tests.transfer_data", "fqn": ["quickbooks_integration_tests", "transfer_data"], "alias": "transfer_data", "checksum": {"name": "sha256", "checksum": "79139d758013f9fe26aec7a1283224df79f5bb780c3b896ed8ead578bc4f8ff5"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.556169, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"transfer_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.purchase_order_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "purchase_order_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "purchase_order_data.csv", "original_file_path": "seeds/purchase_order_data.csv", "unique_id": "seed.quickbooks_integration_tests.purchase_order_data", "fqn": ["quickbooks_integration_tests", "purchase_order_data"], "alias": "purchase_order_data", "checksum": {"name": "sha256", "checksum": "b9348ee111769ebb6e08dda6b5cf73209cd853d86267de1a28574bf630e02431"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.5573812, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"purchase_order_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.sales_receipt_line_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "sales_receipt_line_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "sales_receipt_line_data.csv", "original_file_path": "seeds/sales_receipt_line_data.csv", "unique_id": "seed.quickbooks_integration_tests.sales_receipt_line_data", "fqn": ["quickbooks_integration_tests", "sales_receipt_line_data"], "alias": "sales_receipt_line_data", "checksum": {"name": "sha256", "checksum": "e710dc7b9aba51824d9c660984fcd76975ec70f7afd28f4fe0e16bc251368c5d"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.5586078, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"sales_receipt_line_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.vendor_credit_line_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "vendor_credit_line_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "vendor_credit_line_data.csv", "original_file_path": "seeds/vendor_credit_line_data.csv", "unique_id": "seed.quickbooks_integration_tests.vendor_credit_line_data", "fqn": ["quickbooks_integration_tests", "vendor_credit_line_data"], "alias": "vendor_credit_line_data", "checksum": {"name": "sha256", "checksum": "8c60276eb72f29fcd60b6aff2615648b71ce47e0b738331b54f86c988a979737"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date", "item_expense_billable_status": "varchar(100)", "account_expense_billable_status": "varchar(100)"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"item_expense_billable_status": "{{ 'varchar(100)' if target.name in ('redshift', 'postgres') else 'string' }}", "account_expense_billable_status": "{{ 'varchar(100)' if target.name in ('redshift', 'postgres') else 'string' }}"}}, "created_at": 1730311926.55987, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"vendor_credit_line_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.credit_card_payment_txn_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "credit_card_payment_txn_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "credit_card_payment_txn_data.csv", "original_file_path": "seeds/credit_card_payment_txn_data.csv", "unique_id": "seed.quickbooks_integration_tests.credit_card_payment_txn_data", "fqn": ["quickbooks_integration_tests", "credit_card_payment_txn_data"], "alias": "credit_card_payment_txn_data", "checksum": {"name": "sha256", "checksum": "b841a2f9402ba5f52789b27002186dd63d63c303bce30c02aba104b787c048d6"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.561431, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"credit_card_payment_txn_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.credit_memo_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "credit_memo_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "credit_memo_data.csv", "original_file_path": "seeds/credit_memo_data.csv", "unique_id": "seed.quickbooks_integration_tests.credit_memo_data", "fqn": ["quickbooks_integration_tests", "credit_memo_data"], "alias": "credit_memo_data", "checksum": {"name": "sha256", "checksum": "e78544a27c48f4cad0b44f943800fa35faf9fd82d6c0a058535b980e59e1ca9e"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.562772, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"credit_memo_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.department_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "department_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "department_data.csv", "original_file_path": "seeds/department_data.csv", "unique_id": "seed.quickbooks_integration_tests.department_data", "fqn": ["quickbooks_integration_tests", "department_data"], "alias": "department_data", "checksum": {"name": "sha256", "checksum": "bc4fc3ec74243d1de20190986676ad03ddd7e65b4ea7356efdacd1a9a71ba4e7"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.563991, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"department_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.item_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "item_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "item_data.csv", "original_file_path": "seeds/item_data.csv", "unique_id": "seed.quickbooks_integration_tests.item_data", "fqn": ["quickbooks_integration_tests", "item_data"], "alias": "item_data", "checksum": {"name": "sha256", "checksum": "87ccec7cfdde8bc7e75c6f2682d82490f61c90cd1177ea5013ae322b6c36f2d3"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.5651891, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"item_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.sales_receipt_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "sales_receipt_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "sales_receipt_data.csv", "original_file_path": "seeds/sales_receipt_data.csv", "unique_id": "seed.quickbooks_integration_tests.sales_receipt_data", "fqn": ["quickbooks_integration_tests", "sales_receipt_data"], "alias": "sales_receipt_data", "checksum": {"name": "sha256", "checksum": "1eb213364426d9a6dd17a248773531cf73117558bf7c064ff0af685e98516422"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.566391, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"sales_receipt_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.deposit_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "deposit_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "deposit_data.csv", "original_file_path": "seeds/deposit_data.csv", "unique_id": "seed.quickbooks_integration_tests.deposit_data", "fqn": ["quickbooks_integration_tests", "deposit_data"], "alias": "deposit_data", "checksum": {"name": "sha256", "checksum": "299d1c71bfff3238072188f87070b936a9697b632a7146f39faf3642170ec3a8"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.567806, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"deposit_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.refund_receipt_data": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "refund_receipt_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "refund_receipt_data.csv", "original_file_path": "seeds/refund_receipt_data.csv", "unique_id": "seed.quickbooks_integration_tests.refund_receipt_data", "fqn": ["quickbooks_integration_tests", "refund_receipt_data"], "alias": "refund_receipt_data", "checksum": {"name": "sha256", "checksum": "0bfb44ee366239221dfee9e985b0c66d5a7cbc6d0bb8c18cf02acba7616c135d"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1730311926.5691059, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"refund_receipt_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "model.quickbooks.quickbooks__balance_sheet": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "quickbooks__balance_sheet", "resource_type": "model", "package_name": "quickbooks", "path": "quickbooks__balance_sheet.sql", "original_file_path": "models/quickbooks__balance_sheet.sql", "unique_id": "model.quickbooks.quickbooks__balance_sheet", "fqn": ["quickbooks", "quickbooks__balance_sheet"], "alias": "quickbooks__balance_sheet", "checksum": {"name": "sha256", "checksum": "92ca99ccf2c7b0758cd6f77a536d7c4ee180acc883465a7a63999a7a09a6598e"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing all asset, liability, and equity account classes by calendar year and month enriched with account type, class, and parent information.\n", "columns": {"calendar_date": {"name": "calendar_date", "description": "Timestamp of the first calendar date of the month. This is slated to be deprecated, and the fields `period_first_day` and `period_last_day` are both offered as replacements, depending on how your company performs their financial reporting.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "period_first_day": {"name": "period_first_day", "description": "Timestamp of the first date of the month.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "period_last_day": {"name": "period_last_day", "description": "Timestamp of the last date of the month.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_class": {"name": "account_class", "description": "Class of the account associated with the balance sheet line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_sub_account": {"name": "is_sub_account", "description": "Boolean indicating whether the account is a sub account (true) or a parent account (false).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "parent_account_number": {"name": "parent_account_number", "description": "The parent account number. If the account is the parent account then the account number is recorded.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "parent_account_name": {"name": "parent_account_name", "description": "The parent account name. If the account is the parent account then the account name is recorded.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated with the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_type": {"name": "account_type", "description": "The type of account associated with the balance sheet line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_sub_type": {"name": "account_sub_type", "description": "Sub type of the account associated with the balance sheet line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_number": {"name": "account_number", "description": "User defined number of the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "Name of the account associated with the balance sheet line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The identifier of the account associated with the balance sheet line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "The total ending period balance.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "converted_amount": {"name": "converted_amount", "description": "The total ending period balance, converted with exchange rates applied if available,", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_ordinal": {"name": "account_ordinal", "description": "Integer value to order the account within final financial statement reporting. The customer can also configure the ordinal; [see the README for details](https://github.com/fivetran/dbt_quickbooks/blob/main/README.md#customize-the-account-ordering-of-your-profit-loss-and-balance-sheet-models)", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}"}, "created_at": 1730311927.88512, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"quickbooks__balance_sheet\"", "raw_code": "with general_ledger_by_period as (\n\n select *\n from {{ ref('quickbooks__general_ledger_by_period') }}\n where financial_statement_helper = 'balance_sheet'\n), \n\nfinal as (\n select\n period_first_day as calendar_date, -- Slated to be deprecated; we recommend using `period_first_day` or `period_last_day`\n period_first_day,\n period_last_day,\n source_relation,\n account_class,\n class_id,\n is_sub_account,\n parent_account_number,\n parent_account_name,\n account_type,\n account_sub_type,\n account_number,\n account_id,\n account_name,\n period_ending_balance as amount,\n period_ending_converted_balance as converted_amount,\n account_ordinal\n from general_ledger_by_period\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "quickbooks__general_ledger_by_period", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.quickbooks.quickbooks__general_ledger_by_period"]}, "compiled_path": "target/compiled/quickbooks/models/quickbooks__balance_sheet.sql", "compiled": true, "compiled_code": "with general_ledger_by_period as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"quickbooks__general_ledger_by_period\"\n where financial_statement_helper = 'balance_sheet'\n), \n\nfinal as (\n select\n period_first_day as calendar_date, -- Slated to be deprecated; we recommend using `period_first_day` or `period_last_day`\n period_first_day,\n period_last_day,\n source_relation,\n account_class,\n class_id,\n is_sub_account,\n parent_account_number,\n parent_account_name,\n account_type,\n account_sub_type,\n account_number,\n account_id,\n account_name,\n period_ending_balance as amount,\n period_ending_converted_balance as converted_amount,\n account_ordinal\n from general_ledger_by_period\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.quickbooks__general_ledger_by_period": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "quickbooks__general_ledger_by_period", "resource_type": "model", "package_name": "quickbooks", "path": "quickbooks__general_ledger_by_period.sql", "original_file_path": "models/quickbooks__general_ledger_by_period.sql", "unique_id": "model.quickbooks.quickbooks__general_ledger_by_period", "fqn": ["quickbooks", "quickbooks__general_ledger_by_period"], "alias": "quickbooks__general_ledger_by_period", "checksum": {"name": "sha256", "checksum": "81b71ad880e03e46825645b549c5459da037d29b07524c66547764201690f1d9"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that pulls general ledger account level balances per period from int_quickbooks__general_ledger_balances while also creating an offsetting Retained Earnings entry for Revenue - Expenses per year to be added as single Equity line balance per year.", "columns": {"account_id": {"name": "account_id", "description": "The identifier of the account associated with the period balance transactions.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_number": {"name": "account_number", "description": "User defined number of the account. with the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "Name of the account associated with the period balance transactions.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_sub_account": {"name": "is_sub_account", "description": "Boolean indicating whether the account is a sub account (true) or a parent account (false).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "parent_account_number": {"name": "parent_account_number", "description": "The parent account number. If the account is the parent account then the account number is recorded.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "parent_account_name": {"name": "parent_account_name", "description": "The parent account name. If the account is the parent account then the account name is recorded.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_type": {"name": "account_type", "description": "The type of account associated with the period balance transactions.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_sub_type": {"name": "account_sub_type", "description": "Sub type of the account associated with the period balance transactions.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_class": {"name": "account_class", "description": "Class of the account associated with the period balance transactions.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated with the period balance transactions.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "financial_statement_helper": {"name": "financial_statement_helper", "description": "Helper field identifying whether the account impacts the balances sheet or income statement.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "date_year": {"name": "date_year", "description": "Timestamp of the year.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "period_first_day": {"name": "period_first_day", "description": "Timestamp of the first date of the month.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "period_last_day": {"name": "period_last_day", "description": "Timestamp of the last date of the month.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "period_net_change": {"name": "period_net_change", "description": "Account balance difference from the beginning and ending of the period.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "period_beginning_balance": {"name": "period_beginning_balance", "description": "Balance of the account as of the first date of the period.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "period_ending_balance": {"name": "period_ending_balance", "description": "Sum of all transaction line adjusted_balances of the account for the period.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "period_net_converted_change": {"name": "period_net_converted_change", "description": "Account balance difference, converted with exchange rates applied if available, from the beginning and ending of the period.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "period_beginning_converted_balance": {"name": "period_beginning_converted_balance", "description": "Balance of the account, converted with exchange rates applied if available, as of the first date of the period.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "period_ending_converted_balance": {"name": "period_ending_converted_balance", "description": "Sum of all transaction line adjusted_balances of the account for the period, converted with exchange rates applied if available.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_ordinal": {"name": "account_ordinal", "description": "Integer value to order the account within final financial statement reporting. The customer can also configure the ordinal; [see the README for details](https://github.com/fivetran/dbt_quickbooks/blob/main/README.md#customize-the-account-ordering-of-your-profit-loss-and-balance-sheet-models)", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}"}, "created_at": 1730311927.8838458, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"quickbooks__general_ledger_by_period\"", "raw_code": "with general_ledger_balances as (\n\n select *\n from {{ ref('int_quickbooks__general_ledger_balances') }}\n),\n\nretained_earnings as (\n\n select *\n from {{ ref('int_quickbooks__retained_earnings') }}\n),\n\n{% if var('financial_statement_ordinal') %}\nordinals as ( \n\n select \n cast(account_class as {{ dbt.type_string() }}) as account_class,\n cast(account_type as {{ dbt.type_string() }}) as account_type,\n cast(account_sub_type as {{ dbt.type_string() }}) as account_sub_type,\n cast(account_number as {{ dbt.type_string() }}) as account_number,\n ordinal\n from {{ var('financial_statement_ordinal') }}\n),\n{% endif %}\n\nbalances_earnings_unioned as (\n\n select *\n from general_ledger_balances\n\n union all \n\n select *\n from retained_earnings\n), \n\nfinal as (\n\n select \n balances_earnings_unioned.*,\n {% if var('financial_statement_ordinal') %}\n coalesce(account_number_ordinal.ordinal, account_sub_type_ordinal.ordinal, account_type_ordinal.ordinal, account_class_ordinal.ordinal) as account_ordinal\n {% else %}\n case \n when account_class = 'Asset' then 1\n when account_class = 'Liability' then 2\n when account_class = 'Equity' then 3\n when account_class = 'Revenue' then 1\n when account_class = 'Expense' then 2\n end as account_ordinal \n {% endif %}\n from balances_earnings_unioned\n {% if var('financial_statement_ordinal') %}\n left join ordinals as account_number_ordinal\n on balances_earnings_unioned.account_number = account_number_ordinal.account_number\n left join ordinals as account_sub_type_ordinal\n on balances_earnings_unioned.account_sub_type = account_sub_type_ordinal.account_sub_type\n left join ordinals as account_type_ordinal\n on balances_earnings_unioned.account_type = account_type_ordinal.account_type\n left join ordinals as account_class_ordinal\n on balances_earnings_unioned.account_class = account_class_ordinal.account_class\n {% endif %}\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "int_quickbooks__general_ledger_balances", "package": null, "version": null}, {"name": "int_quickbooks__retained_earnings", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.quickbooks.int_quickbooks__general_ledger_balances", "model.quickbooks.int_quickbooks__retained_earnings"]}, "compiled_path": "target/compiled/quickbooks/models/quickbooks__general_ledger_by_period.sql", "compiled": true, "compiled_code": "with general_ledger_balances as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__general_ledger_balances\"\n),\n\nretained_earnings as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__retained_earnings\"\n),\n\n\n\nbalances_earnings_unioned as (\n\n select *\n from general_ledger_balances\n\n union all \n\n select *\n from retained_earnings\n), \n\nfinal as (\n\n select \n balances_earnings_unioned.*,\n \n case \n when account_class = 'Asset' then 1\n when account_class = 'Liability' then 2\n when account_class = 'Equity' then 3\n when account_class = 'Revenue' then 1\n when account_class = 'Expense' then 2\n end as account_ordinal \n \n from balances_earnings_unioned\n \n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.quickbooks__general_ledger": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "quickbooks__general_ledger", "resource_type": "model", "package_name": "quickbooks", "path": "quickbooks__general_ledger.sql", "original_file_path": "models/quickbooks__general_ledger.sql", "unique_id": "model.quickbooks.quickbooks__general_ledger", "fqn": ["quickbooks", "quickbooks__general_ledger"], "alias": "quickbooks__general_ledger", "checksum": {"name": "sha256", "checksum": "40dd35994334dd4eb1d8baed44dd0e97d173e93667e12e83ec0dd0922fd541f5"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that unions all records from each model within the double_entry_transactions directory. The table end result is a comprehensive general ledger with an offsetting debit and credit entry for each transaction.", "columns": {"unique_id": {"name": "unique_id", "description": "Unique identifier of the general ledger line, dependent on `transaction_id`, `transaction_index`, `account_id`, `transaction_type`, `transaction_source`, and `source_relation`. \n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_id": {"name": "transaction_id", "description": "Unique identifier of the transaction. Each transaction will have an offsetting debit and credit record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_index": {"name": "transaction_index", "description": "Unique identifier of the individual debit and credit records of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "The date that the transaction occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the transaction line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The identifier of the account associated with the transaction line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Reference to the customer associated with the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_id": {"name": "vendor_id", "description": "Reference to the vendor associated with the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated with the transaction line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department with the transaction line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_number": {"name": "account_number", "description": "User defined number of the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "Name of the account associated with the transaction line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_sub_account": {"name": "is_sub_account", "description": "Boolean indicating whether the account is a sub account (true) or a parent account (false).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "parent_account_number": {"name": "parent_account_number", "description": "The parent account number. If the account is the parent account then the account number is recorded.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "parent_account_name": {"name": "parent_account_name", "description": "The parent account name. If the account is the parent account then the account name is recorded.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_type": {"name": "account_type", "description": "The type of account associated with the transaction line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_sub_type": {"name": "account_sub_type", "description": "Sub type of the account associated with the transaction line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "financial_statement_helper": {"name": "financial_statement_helper", "description": "Either 'balance sheet' or 'income statement' and is used to determine that financial statement the account impacts.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_current_balance": {"name": "account_current_balance", "description": "Total current balance of the account associated with the transaction line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_class": {"name": "account_class", "description": "Class of the account associated with the transaction line. Will be one of 'Expense', 'Revenue', 'Asset', 'Liability', and 'Equity'.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_type": {"name": "transaction_type", "description": "Identifier of whether the transaction is a debit or credit entry.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_source": {"name": "transaction_source", "description": "Field signifying the source of transaction (eg. Bill, Invoice, Deposit, Journal Entry, etc.).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_transaction_type": {"name": "account_transaction_type", "description": "Identifier of whether the account is increased by either a debit or credit entry.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "adjusted_amount": {"name": "adjusted_amount", "description": "The amount that impacts the account. If the transaction_type = account_transaction_type then the impact will increase, otherwise it will decrease the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "adjusted_converted_amount": {"name": "adjusted_converted_amount", "description": "The amount, converted with exchange rates applied if available, that impacts the account. If the transaction_type = account_transaction_type then the impact will increase, otherwise it will decrease the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "running_balance": {"name": "running_balance", "description": "The running balance of the account by each individual day.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "running_converted_balance": {"name": "running_converted_balance", "description": "The running balance of the account by each individual day, --converted with exchange rates applied if available.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}"}, "created_at": 1730311927.8819442, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"quickbooks__general_ledger\"", "raw_code": "with unioned_models as (\n\n {{ dbt_utils.union_relations(get_enabled_unioned_models()) }}\n),\n\ngl_union as (\n\n select transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount,\n converted_amount,\n account_id,\n class_id,\n department_id,\n transaction_type,\n transaction_source \n from unioned_models\n),\n\naccounts as (\n\n select *\n from {{ ref('int_quickbooks__account_classifications') }}\n),\n\n\nadjusted_gl as (\n \n select\n {{ dbt_utils.generate_surrogate_key(['gl_union.transaction_id', 'gl_union.source_relation', 'gl_union.index',\n 'gl_union.account_id', ' gl_union.transaction_type', 'gl_union.transaction_source']) }} \n as unique_id,\n gl_union.transaction_id,\n gl_union.source_relation,\n gl_union.index as transaction_index,\n gl_union.transaction_date,\n gl_union.customer_id,\n gl_union.vendor_id,\n gl_union.amount,\n gl_union.account_id,\n gl_union.class_id,\n gl_union.department_id,\n accounts.account_number,\n accounts.name as account_name,\n accounts.is_sub_account,\n accounts.parent_account_number,\n accounts.parent_account_name,\n accounts.account_type,\n accounts.account_sub_type,\n accounts.financial_statement_helper,\n accounts.balance as account_current_balance,\n accounts.classification as account_class,\n gl_union.transaction_type,\n gl_union.transaction_source,\n accounts.transaction_type as account_transaction_type,\n case when accounts.transaction_type = gl_union.transaction_type\n then gl_union.amount\n else gl_union.amount * -1\n end as adjusted_amount,\n case when accounts.transaction_type = gl_union.transaction_type\n then gl_union.converted_amount\n else gl_union.converted_amount * -1\n end as adjusted_converted_amount\n from gl_union\n\n left join accounts\n on gl_union.account_id = accounts.account_id\n and gl_union.source_relation = accounts.source_relation\n),\n\nfinal as (\n\n select\n *,\n sum(adjusted_amount) over (partition by account_id, class_id, source_relation\n order by source_relation, transaction_date, account_id, class_id rows unbounded preceding) as running_balance,\n sum(adjusted_converted_amount) over (partition by account_id, class_id, source_relation\n order by source_relation, transaction_date, account_id, class_id rows unbounded preceding) as running_converted_balance\n from adjusted_gl\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "int_quickbooks__purchase_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__bill_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__credit_memo_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__deposit_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__invoice_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__journal_entry_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__payment_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__refund_receipt_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__sales_receipt_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__transfer_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__vendor_credit_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__bill_payment_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__credit_card_pymt_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__account_classifications", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks.get_enabled_unioned_models", "macro.dbt_utils.union_relations", "macro.dbt_utils.generate_surrogate_key"], "nodes": ["model.quickbooks.int_quickbooks__purchase_double_entry", "model.quickbooks.int_quickbooks__bill_double_entry", "model.quickbooks.int_quickbooks__credit_memo_double_entry", "model.quickbooks.int_quickbooks__deposit_double_entry", "model.quickbooks.int_quickbooks__invoice_double_entry", "model.quickbooks.int_quickbooks__journal_entry_double_entry", "model.quickbooks.int_quickbooks__payment_double_entry", "model.quickbooks.int_quickbooks__refund_receipt_double_entry", "model.quickbooks.int_quickbooks__sales_receipt_double_entry", "model.quickbooks.int_quickbooks__transfer_double_entry", "model.quickbooks.int_quickbooks__vendor_credit_double_entry", "model.quickbooks.int_quickbooks__bill_payment_double_entry", "model.quickbooks.int_quickbooks__credit_card_pymt_double_entry", "model.quickbooks.int_quickbooks__account_classifications"]}, "compiled_path": "target/compiled/quickbooks/models/quickbooks__general_ledger.sql", "compiled": true, "compiled_code": "with unioned_models as (\n\n \n\n (\n select\n cast('\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__purchase_double_entry\"' as TEXT) as _dbt_source_relation,\n\n \n cast(\"transaction_id\" as text) as \"transaction_id\" ,\n cast(\"source_relation\" as text) as \"source_relation\" ,\n cast(\"index\" as integer) as \"index\" ,\n cast(\"transaction_date\" as date) as \"transaction_date\" ,\n cast(\"customer_id\" as text) as \"customer_id\" ,\n cast(\"vendor_id\" as text) as \"vendor_id\" ,\n cast(\"amount\" as integer) as \"amount\" ,\n cast(\"converted_amount\" as integer) as \"converted_amount\" ,\n cast(\"account_id\" as text) as \"account_id\" ,\n cast(\"class_id\" as text) as \"class_id\" ,\n cast(\"department_id\" as text) as \"department_id\" ,\n cast(\"transaction_type\" as text) as \"transaction_type\" ,\n cast(\"transaction_source\" as text) as \"transaction_source\" \n\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__purchase_double_entry\"\n\n \n )\n\n union all\n \n\n (\n select\n cast('\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__bill_double_entry\"' as TEXT) as _dbt_source_relation,\n\n \n cast(\"transaction_id\" as text) as \"transaction_id\" ,\n cast(\"source_relation\" as text) as \"source_relation\" ,\n cast(\"index\" as integer) as \"index\" ,\n cast(\"transaction_date\" as date) as \"transaction_date\" ,\n cast(\"customer_id\" as text) as \"customer_id\" ,\n cast(\"vendor_id\" as text) as \"vendor_id\" ,\n cast(\"amount\" as integer) as \"amount\" ,\n cast(\"converted_amount\" as integer) as \"converted_amount\" ,\n cast(\"account_id\" as text) as \"account_id\" ,\n cast(\"class_id\" as text) as \"class_id\" ,\n cast(\"department_id\" as text) as \"department_id\" ,\n cast(\"transaction_type\" as text) as \"transaction_type\" ,\n cast(\"transaction_source\" as text) as \"transaction_source\" \n\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__bill_double_entry\"\n\n \n )\n\n union all\n \n\n (\n select\n cast('\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__credit_memo_double_entry\"' as TEXT) as _dbt_source_relation,\n\n \n cast(\"transaction_id\" as text) as \"transaction_id\" ,\n cast(\"source_relation\" as text) as \"source_relation\" ,\n cast(\"index\" as integer) as \"index\" ,\n cast(\"transaction_date\" as date) as \"transaction_date\" ,\n cast(\"customer_id\" as text) as \"customer_id\" ,\n cast(\"vendor_id\" as text) as \"vendor_id\" ,\n cast(\"amount\" as integer) as \"amount\" ,\n cast(\"converted_amount\" as integer) as \"converted_amount\" ,\n cast(\"account_id\" as text) as \"account_id\" ,\n cast(\"class_id\" as text) as \"class_id\" ,\n cast(\"department_id\" as text) as \"department_id\" ,\n cast(\"transaction_type\" as text) as \"transaction_type\" ,\n cast(\"transaction_source\" as text) as \"transaction_source\" \n\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__credit_memo_double_entry\"\n\n \n )\n\n union all\n \n\n (\n select\n cast('\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__deposit_double_entry\"' as TEXT) as _dbt_source_relation,\n\n \n cast(\"transaction_id\" as text) as \"transaction_id\" ,\n cast(\"source_relation\" as text) as \"source_relation\" ,\n cast(\"index\" as integer) as \"index\" ,\n cast(\"transaction_date\" as date) as \"transaction_date\" ,\n cast(\"customer_id\" as text) as \"customer_id\" ,\n cast(\"vendor_id\" as text) as \"vendor_id\" ,\n cast(\"amount\" as integer) as \"amount\" ,\n cast(\"converted_amount\" as integer) as \"converted_amount\" ,\n cast(\"account_id\" as text) as \"account_id\" ,\n cast(\"class_id\" as text) as \"class_id\" ,\n cast(\"department_id\" as text) as \"department_id\" ,\n cast(\"transaction_type\" as text) as \"transaction_type\" ,\n cast(\"transaction_source\" as text) as \"transaction_source\" \n\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__deposit_double_entry\"\n\n \n )\n\n union all\n \n\n (\n select\n cast('\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__invoice_double_entry\"' as TEXT) as _dbt_source_relation,\n\n \n cast(\"transaction_id\" as text) as \"transaction_id\" ,\n cast(\"source_relation\" as text) as \"source_relation\" ,\n cast(\"index\" as integer) as \"index\" ,\n cast(\"transaction_date\" as date) as \"transaction_date\" ,\n cast(\"customer_id\" as text) as \"customer_id\" ,\n cast(\"vendor_id\" as text) as \"vendor_id\" ,\n cast(\"amount\" as integer) as \"amount\" ,\n cast(\"converted_amount\" as integer) as \"converted_amount\" ,\n cast(\"account_id\" as text) as \"account_id\" ,\n cast(\"class_id\" as text) as \"class_id\" ,\n cast(\"department_id\" as text) as \"department_id\" ,\n cast(\"transaction_type\" as text) as \"transaction_type\" ,\n cast(\"transaction_source\" as text) as \"transaction_source\" \n\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__invoice_double_entry\"\n\n \n )\n\n union all\n \n\n (\n select\n cast('\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__journal_entry_double_entry\"' as TEXT) as _dbt_source_relation,\n\n \n cast(\"transaction_id\" as text) as \"transaction_id\" ,\n cast(\"source_relation\" as text) as \"source_relation\" ,\n cast(\"index\" as integer) as \"index\" ,\n cast(\"transaction_date\" as date) as \"transaction_date\" ,\n cast(\"customer_id\" as text) as \"customer_id\" ,\n cast(\"vendor_id\" as text) as \"vendor_id\" ,\n cast(\"amount\" as integer) as \"amount\" ,\n cast(\"converted_amount\" as integer) as \"converted_amount\" ,\n cast(\"account_id\" as text) as \"account_id\" ,\n cast(\"class_id\" as text) as \"class_id\" ,\n cast(\"department_id\" as text) as \"department_id\" ,\n cast(\"transaction_type\" as text) as \"transaction_type\" ,\n cast(\"transaction_source\" as text) as \"transaction_source\" \n\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__journal_entry_double_entry\"\n\n \n )\n\n union all\n \n\n (\n select\n cast('\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__payment_double_entry\"' as TEXT) as _dbt_source_relation,\n\n \n cast(\"transaction_id\" as text) as \"transaction_id\" ,\n cast(\"source_relation\" as text) as \"source_relation\" ,\n cast(\"index\" as integer) as \"index\" ,\n cast(\"transaction_date\" as date) as \"transaction_date\" ,\n cast(\"customer_id\" as text) as \"customer_id\" ,\n cast(\"vendor_id\" as text) as \"vendor_id\" ,\n cast(\"amount\" as integer) as \"amount\" ,\n cast(\"converted_amount\" as integer) as \"converted_amount\" ,\n cast(\"account_id\" as text) as \"account_id\" ,\n cast(\"class_id\" as text) as \"class_id\" ,\n cast(\"department_id\" as text) as \"department_id\" ,\n cast(\"transaction_type\" as text) as \"transaction_type\" ,\n cast(\"transaction_source\" as text) as \"transaction_source\" \n\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__payment_double_entry\"\n\n \n )\n\n union all\n \n\n (\n select\n cast('\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__refund_receipt_double_entry\"' as TEXT) as _dbt_source_relation,\n\n \n cast(\"transaction_id\" as text) as \"transaction_id\" ,\n cast(\"source_relation\" as text) as \"source_relation\" ,\n cast(\"index\" as integer) as \"index\" ,\n cast(\"transaction_date\" as date) as \"transaction_date\" ,\n cast(\"customer_id\" as text) as \"customer_id\" ,\n cast(\"vendor_id\" as text) as \"vendor_id\" ,\n cast(\"amount\" as integer) as \"amount\" ,\n cast(\"converted_amount\" as integer) as \"converted_amount\" ,\n cast(\"account_id\" as text) as \"account_id\" ,\n cast(\"class_id\" as text) as \"class_id\" ,\n cast(\"department_id\" as text) as \"department_id\" ,\n cast(\"transaction_type\" as text) as \"transaction_type\" ,\n cast(\"transaction_source\" as text) as \"transaction_source\" \n\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__refund_receipt_double_entry\"\n\n \n )\n\n union all\n \n\n (\n select\n cast('\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__sales_receipt_double_entry\"' as TEXT) as _dbt_source_relation,\n\n \n cast(\"transaction_id\" as text) as \"transaction_id\" ,\n cast(\"source_relation\" as text) as \"source_relation\" ,\n cast(\"index\" as integer) as \"index\" ,\n cast(\"transaction_date\" as date) as \"transaction_date\" ,\n cast(\"customer_id\" as text) as \"customer_id\" ,\n cast(\"vendor_id\" as text) as \"vendor_id\" ,\n cast(\"amount\" as integer) as \"amount\" ,\n cast(\"converted_amount\" as integer) as \"converted_amount\" ,\n cast(\"account_id\" as text) as \"account_id\" ,\n cast(\"class_id\" as text) as \"class_id\" ,\n cast(\"department_id\" as text) as \"department_id\" ,\n cast(\"transaction_type\" as text) as \"transaction_type\" ,\n cast(\"transaction_source\" as text) as \"transaction_source\" \n\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__sales_receipt_double_entry\"\n\n \n )\n\n union all\n \n\n (\n select\n cast('\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__transfer_double_entry\"' as TEXT) as _dbt_source_relation,\n\n \n cast(\"transaction_id\" as text) as \"transaction_id\" ,\n cast(\"source_relation\" as text) as \"source_relation\" ,\n cast(\"index\" as integer) as \"index\" ,\n cast(\"transaction_date\" as date) as \"transaction_date\" ,\n cast(\"customer_id\" as text) as \"customer_id\" ,\n cast(\"vendor_id\" as text) as \"vendor_id\" ,\n cast(\"amount\" as integer) as \"amount\" ,\n cast(\"converted_amount\" as integer) as \"converted_amount\" ,\n cast(\"account_id\" as text) as \"account_id\" ,\n cast(\"class_id\" as text) as \"class_id\" ,\n cast(\"department_id\" as text) as \"department_id\" ,\n cast(\"transaction_type\" as text) as \"transaction_type\" ,\n cast(\"transaction_source\" as text) as \"transaction_source\" \n\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__transfer_double_entry\"\n\n \n )\n\n union all\n \n\n (\n select\n cast('\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__vendor_credit_double_entry\"' as TEXT) as _dbt_source_relation,\n\n \n cast(\"transaction_id\" as text) as \"transaction_id\" ,\n cast(\"source_relation\" as text) as \"source_relation\" ,\n cast(\"index\" as integer) as \"index\" ,\n cast(\"transaction_date\" as date) as \"transaction_date\" ,\n cast(\"customer_id\" as text) as \"customer_id\" ,\n cast(\"vendor_id\" as text) as \"vendor_id\" ,\n cast(\"amount\" as integer) as \"amount\" ,\n cast(\"converted_amount\" as integer) as \"converted_amount\" ,\n cast(\"account_id\" as text) as \"account_id\" ,\n cast(\"class_id\" as text) as \"class_id\" ,\n cast(\"department_id\" as text) as \"department_id\" ,\n cast(\"transaction_type\" as text) as \"transaction_type\" ,\n cast(\"transaction_source\" as text) as \"transaction_source\" \n\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__vendor_credit_double_entry\"\n\n \n )\n\n union all\n \n\n (\n select\n cast('\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__bill_payment_double_entry\"' as TEXT) as _dbt_source_relation,\n\n \n cast(\"transaction_id\" as text) as \"transaction_id\" ,\n cast(\"source_relation\" as text) as \"source_relation\" ,\n cast(\"index\" as integer) as \"index\" ,\n cast(\"transaction_date\" as date) as \"transaction_date\" ,\n cast(\"customer_id\" as text) as \"customer_id\" ,\n cast(\"vendor_id\" as text) as \"vendor_id\" ,\n cast(\"amount\" as integer) as \"amount\" ,\n cast(\"converted_amount\" as integer) as \"converted_amount\" ,\n cast(\"account_id\" as text) as \"account_id\" ,\n cast(\"class_id\" as text) as \"class_id\" ,\n cast(\"department_id\" as text) as \"department_id\" ,\n cast(\"transaction_type\" as text) as \"transaction_type\" ,\n cast(\"transaction_source\" as text) as \"transaction_source\" \n\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__bill_payment_double_entry\"\n\n \n )\n\n union all\n \n\n (\n select\n cast('\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__credit_card_pymt_double_entry\"' as TEXT) as _dbt_source_relation,\n\n \n cast(\"transaction_id\" as text) as \"transaction_id\" ,\n cast(\"source_relation\" as text) as \"source_relation\" ,\n cast(\"index\" as integer) as \"index\" ,\n cast(\"transaction_date\" as date) as \"transaction_date\" ,\n cast(\"customer_id\" as text) as \"customer_id\" ,\n cast(\"vendor_id\" as text) as \"vendor_id\" ,\n cast(\"amount\" as integer) as \"amount\" ,\n cast(\"converted_amount\" as integer) as \"converted_amount\" ,\n cast(\"account_id\" as text) as \"account_id\" ,\n cast(\"class_id\" as text) as \"class_id\" ,\n cast(\"department_id\" as text) as \"department_id\" ,\n cast(\"transaction_type\" as text) as \"transaction_type\" ,\n cast(\"transaction_source\" as text) as \"transaction_source\" \n\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__credit_card_pymt_double_entry\"\n\n \n )\n\n \n),\n\ngl_union as (\n\n select transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount,\n converted_amount,\n account_id,\n class_id,\n department_id,\n transaction_type,\n transaction_source \n from unioned_models\n),\n\naccounts as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__account_classifications\"\n),\n\n\nadjusted_gl as (\n \n select\n md5(cast(coalesce(cast(gl_union.transaction_id as TEXT), '_dbt_utils_surrogate_key_null_') || '-' || coalesce(cast(gl_union.source_relation as TEXT), '_dbt_utils_surrogate_key_null_') || '-' || coalesce(cast(gl_union.index as TEXT), '_dbt_utils_surrogate_key_null_') || '-' || coalesce(cast(gl_union.account_id as TEXT), '_dbt_utils_surrogate_key_null_') || '-' || coalesce(cast( gl_union.transaction_type as TEXT), '_dbt_utils_surrogate_key_null_') || '-' || coalesce(cast(gl_union.transaction_source as TEXT), '_dbt_utils_surrogate_key_null_') as TEXT)) \n as unique_id,\n gl_union.transaction_id,\n gl_union.source_relation,\n gl_union.index as transaction_index,\n gl_union.transaction_date,\n gl_union.customer_id,\n gl_union.vendor_id,\n gl_union.amount,\n gl_union.account_id,\n gl_union.class_id,\n gl_union.department_id,\n accounts.account_number,\n accounts.name as account_name,\n accounts.is_sub_account,\n accounts.parent_account_number,\n accounts.parent_account_name,\n accounts.account_type,\n accounts.account_sub_type,\n accounts.financial_statement_helper,\n accounts.balance as account_current_balance,\n accounts.classification as account_class,\n gl_union.transaction_type,\n gl_union.transaction_source,\n accounts.transaction_type as account_transaction_type,\n case when accounts.transaction_type = gl_union.transaction_type\n then gl_union.amount\n else gl_union.amount * -1\n end as adjusted_amount,\n case when accounts.transaction_type = gl_union.transaction_type\n then gl_union.converted_amount\n else gl_union.converted_amount * -1\n end as adjusted_converted_amount\n from gl_union\n\n left join accounts\n on gl_union.account_id = accounts.account_id\n and gl_union.source_relation = accounts.source_relation\n),\n\nfinal as (\n\n select\n *,\n sum(adjusted_amount) over (partition by account_id, class_id, source_relation\n order by source_relation, transaction_date, account_id, class_id rows unbounded preceding) as running_balance,\n sum(adjusted_converted_amount) over (partition by account_id, class_id, source_relation\n order by source_relation, transaction_date, account_id, class_id rows unbounded preceding) as running_converted_balance\n from adjusted_gl\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.quickbooks__profit_and_loss": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "quickbooks__profit_and_loss", "resource_type": "model", "package_name": "quickbooks", "path": "quickbooks__profit_and_loss.sql", "original_file_path": "models/quickbooks__profit_and_loss.sql", "unique_id": "model.quickbooks.quickbooks__profit_and_loss", "fqn": ["quickbooks", "quickbooks__profit_and_loss"], "alias": "quickbooks__profit_and_loss", "checksum": {"name": "sha256", "checksum": "8bc117f8937774d4ad3f8d46f15db581dd501bd5353778f38aa16778efd24e79"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing all revenue and expense account classes by calendar year and month enriched with account type, class, and parent information.", "columns": {"account_id": {"name": "account_id", "description": "The identifier of the account associated with the record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated with the record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "calendar_date": {"name": "calendar_date", "description": "Timestamp of the first calendar date of the month. This is slated to be deprecated, and the fields `period_first_day` and `period_last_day` are both offered as replacements, depending on how your company performs their financial reporting.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "period_first_day": {"name": "period_first_day", "description": "Timestamp of the first date of the month.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "period_last_day": {"name": "period_last_day", "description": "Timestamp of the last date of the month.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_class": {"name": "account_class", "description": "Class of the account associated with the profit and loss line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_sub_account": {"name": "is_sub_account", "description": "Boolean indicating whether the account is a sub account (true) or a parent account (false).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "parent_account_number": {"name": "parent_account_number", "description": "The parent account number. If the account is the parent account then the account number is recorded.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "parent_account_name": {"name": "parent_account_name", "description": "The parent account name. If the account is the parent account then the account name is recorded.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_type": {"name": "account_type", "description": "The type of account associated with the profit and loss line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_sub_type": {"name": "account_sub_type", "description": "Sub type of the account associated with the profit and loss line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_number": {"name": "account_number", "description": "User defined number of the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "Name of the account associated with the profit and loss line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "The total period net change for the period.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "converted_amount": {"name": "converted_amount", "description": "The total period net change for the period, converted with exchange rates applied if available.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_ordinal": {"name": "account_ordinal", "description": "Integer value to order the account within final financial statement reporting. The customer can also configure the ordinal; [see the README for details](https://github.com/fivetran/dbt_quickbooks/blob/main/README.md#customize-the-account-ordering-of-your-profit-loss-and-balance-sheet-models)", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}"}, "created_at": 1730311927.884566, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"quickbooks__profit_and_loss\"", "raw_code": "with general_ledger_by_period as (\n\n select *\n from {{ ref('quickbooks__general_ledger_by_period') }}\n where financial_statement_helper = 'income_statement'\n), \n\nfinal as (\n select\n period_first_day as calendar_date, -- Slated to be deprecated; we recommend using `period_first_day` or `period_last_day`\n period_first_day,\n period_last_day,\n source_relation,\n account_class,\n class_id,\n is_sub_account,\n parent_account_number,\n parent_account_name,\n account_type,\n account_sub_type,\n account_number,\n account_id,\n account_name,\n period_net_change as amount,\n period_net_converted_change as converted_amount,\n account_ordinal\n from general_ledger_by_period\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "quickbooks__general_ledger_by_period", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.quickbooks.quickbooks__general_ledger_by_period"]}, "compiled_path": "target/compiled/quickbooks/models/quickbooks__profit_and_loss.sql", "compiled": true, "compiled_code": "with general_ledger_by_period as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"quickbooks__general_ledger_by_period\"\n where financial_statement_helper = 'income_statement'\n), \n\nfinal as (\n select\n period_first_day as calendar_date, -- Slated to be deprecated; we recommend using `period_first_day` or `period_last_day`\n period_first_day,\n period_last_day,\n source_relation,\n account_class,\n class_id,\n is_sub_account,\n parent_account_number,\n parent_account_name,\n account_type,\n account_sub_type,\n account_number,\n account_id,\n account_name,\n period_net_change as amount,\n period_net_converted_change as converted_amount,\n account_ordinal\n from general_ledger_by_period\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.quickbooks__expenses_sales_enhanced": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "quickbooks__expenses_sales_enhanced", "resource_type": "model", "package_name": "quickbooks", "path": "quickbooks__expenses_sales_enhanced.sql", "original_file_path": "models/quickbooks__expenses_sales_enhanced.sql", "unique_id": "model.quickbooks.quickbooks__expenses_sales_enhanced", "fqn": ["quickbooks", "quickbooks__expenses_sales_enhanced"], "alias": "quickbooks__expenses_sales_enhanced", "checksum": {"name": "sha256", "checksum": "14dc301b814cc78cbd136971e534e3611271de7a4b36bf8f1d5f8af5ed1947c1"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that unions all expense records from int_quickbooks__expenses_union and all sales records from the int_quickbooks__sales_union while also adding customer, vendor, and department level detail to the expense and sales records.", "columns": {"transaction_source": {"name": "transaction_source", "description": "Set to 'expense' if the transaction type is an expense and 'sale' if the transaction type is a sale.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_id": {"name": "transaction_id", "description": "Unique identifier of the transaction for either the expense or sale.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_line_id": {"name": "transaction_line_id", "description": "Unique identifier of either the expense or sale line item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "The QuickBooks document number reference.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_type": {"name": "transaction_type", "description": "Specifies the expense or sale transaction type (ie. invoice, sales_receipt, deposit, journal entry, etc.).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "The date that the transaction occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_id": {"name": "item_id", "description": "Unique identifier of the item included in a sale transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_quantity": {"name": "item_quantity", "description": "Quantity of items included in the sale transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_unit_price": {"name": "item_unit_price", "description": "Unit price of the item included in the sale transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The identifier of the account associated with either the expense or sale.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "Name of the account associated with either the expense or sale.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_sub_type": {"name": "account_sub_type", "description": "Sub type of the account associated with either the expense or sale.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated with either the expense or sale.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department associated with either the expense or sale.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_name": {"name": "department_name", "description": "Name of the department associated with either the expense or sale.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Reference to the customer associated with either the expense or sale.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_name": {"name": "customer_name", "description": "Name of the customer associated with either the expense or sale.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_website": {"name": "customer_website", "description": "The website url of the customer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_id": {"name": "vendor_id", "description": "Reference to the vendor associated with either the expense or sale.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_name": {"name": "vendor_name", "description": "Name of the vendor associated with either the expense or sale.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "billable_status": {"name": "billable_status", "description": "Status indicating whether the expense or sale is billable.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description given to either the expense or sale transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of either the expense or sale line item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "converted_amount": {"name": "converted_amount", "description": "Monetary amount, converted with exchange rates applied if available, of either the expense or sale line item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Total monetary amount of either the expense or sale.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_converted_amount": {"name": "total_converted_amount", "description": "Total monetary amount, converted with exchange rates applied if available, of either the expense or sale.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}"}, "created_at": 1730311927.879764, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"quickbooks__expenses_sales_enhanced\"", "raw_code": "with expenses as (\n\n select *\n from {{ ref('int_quickbooks__expenses_union') }}\n),\n\n{% if fivetran_utils.enabled_vars_one_true(['using_sales_receipt','using_invoice']) %}\nsales as (\n\n select *\n from {{ ref('int_quickbooks__sales_union') }}\n),\n{% endif %}\n\nfinal as (\n \n select *\n from expenses\n\n {% if fivetran_utils.enabled_vars_one_true(['using_sales_receipt','using_invoice']) %}\n union all\n\n select *\n from sales\n {% endif %}\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "int_quickbooks__expenses_union", "package": null, "version": null}, {"name": "int_quickbooks__sales_union", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.enabled_vars_one_true"], "nodes": ["model.quickbooks.int_quickbooks__expenses_union", "model.quickbooks.int_quickbooks__sales_union"]}, "compiled_path": "target/compiled/quickbooks/models/quickbooks__expenses_sales_enhanced.sql", "compiled": true, "compiled_code": "with expenses as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__expenses_union\"\n),\n\n\nsales as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__sales_union\"\n),\n\n\nfinal as (\n \n select *\n from expenses\n\n \n union all\n\n select *\n from sales\n \n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.quickbooks__ap_ar_enhanced": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "quickbooks__ap_ar_enhanced", "resource_type": "model", "package_name": "quickbooks", "path": "quickbooks__ap_ar_enhanced.sql", "original_file_path": "models/quickbooks__ap_ar_enhanced.sql", "unique_id": "model.quickbooks.quickbooks__ap_ar_enhanced", "fqn": ["quickbooks", "quickbooks__ap_ar_enhanced"], "alias": "quickbooks__ap_ar_enhanced", "checksum": {"name": "sha256", "checksum": "32aa30923e751b6c60272d1832c7762e59c1f19937626a5a0168b6437a367442"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that unions all accounts payable records from int_quickbooks__bill_join and all accounts receivable records from int_quickbooks__invoice_join while also adding customer, vendor, address, and department level detail to the accounts payable and receivable records. Further, date and amount\ncalculations are included to show if the payable/receivable has been fully paid and/or paid on time.", "columns": {"transaction_type": {"name": "transaction_type", "description": "Set to 'bill' of the transaction is a bill and 'invoice' if the transaction is an invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_id": {"name": "transaction_id", "description": "Unique identifier of the transaction for the bill or invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "The QuickBooks document number reference.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "estimate_id": {"name": "estimate_id", "description": "Unique identifier of the estimate associated with the invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_name": {"name": "department_name", "description": "Name of the department associated with either the invoice or bill.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_with": {"name": "transaction_with", "description": "Set to 'vendor' if the transaction type is a bill and 'customer' if the transaction type is an invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_vendor_name": {"name": "customer_vendor_name", "description": "Full name of the vendor (if a bill) or the customer (if an invoice).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_vendor_balance": {"name": "customer_vendor_balance", "description": "Total current account balance of the vendor (if a bill) or the customer (if an invoice).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_vendor_address_city": {"name": "customer_vendor_address_city", "description": "City of the vendor (if a bill) or the customer (if an invoice).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_vendor_address_country": {"name": "customer_vendor_address_country", "description": "Country of the vendor (if a bill) or the customer (if an invoice).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_vendor_address_line": {"name": "customer_vendor_address_line", "description": "Address line of the vendor (if a bill) or the customer (if an invoice).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_vendor_website": {"name": "customer_vendor_website", "description": "The website url of the customer or vendor.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "delivery_type": {"name": "delivery_type", "description": "How the invoice was delivered to the customer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "estimate_status": {"name": "estimate_status", "description": "The status of the invoice estimate (if applicable).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "The total monetary amount of the invoice or bill.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_converted_amount": {"name": "total_converted_amount", "description": "The total monetary converted amount, with exchange rates applied if available, of the invoice or bill.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "estimate_total_amount": {"name": "estimate_total_amount", "description": "The total amount estimated of the bill or invoice (if applicable).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "estimate_total_converted_amount": {"name": "estimate_total_converted_amount", "description": "The total converted amount, with exchange rates applied if available, estimated of the bill or invoice (if applicable).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "current_balance": {"name": "current_balance", "description": "The bill or invoice defined remaining balance of the bill or invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_current_payment": {"name": "total_current_payment", "description": "Sum of all total payments made towards the bill or invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_current_converted_payment": {"name": "total_current_converted_payment", "description": "Sum of all total converted payments, with exchange rates applied if available, made towards the bill or invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "due_date": {"name": "due_date", "description": "The due date for the bill or invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_overdue": {"name": "is_overdue", "description": "Boolean indicating whether the bill or invoice full payment is overdue.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "days_overdue": {"name": "days_overdue", "description": "The recent payment minus the due date to show the total days the total payment is overdue.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "initial_payment_date": {"name": "initial_payment_date", "description": "The first date a payment was provided for the bill or invoice", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "recent_payment_date": {"name": "recent_payment_date", "description": "The last date a payment was provided for the bill or invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1730311927.873816, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"quickbooks__ap_ar_enhanced\"", "raw_code": "--To disable this model, set the using_bill and using_invoice variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_bill', True) and var('using_invoice', True) and var('using_payment', True)) }}\n\nwith bill_join as (\n\n select *\n from {{ref('int_quickbooks__bill_join')}}\n),\n\n{% if var('using_invoice', True) %}\ninvoice_join as (\n\n select *\n from {{ref('int_quickbooks__invoice_join')}}\n),\n{% endif %}\n\n{% if var('using_department', True) %}\ndepartments as ( \n\n select *\n from {{ ref('stg_quickbooks__department') }}\n),\n{% endif %}\n\n{% if var('using_address', True) %}\naddresses as (\n\n select *\n from {{ref('stg_quickbooks__address')}}\n),\n{% endif %}\n\ncustomers as (\n\n select *\n from {{ ref('stg_quickbooks__customer') }}\n),\n\nvendors as (\n\n select *\n from {{ ref('stg_quickbooks__vendor') }}\n),\n\nfinal as (\n\n select\n bill_join.transaction_type,\n bill_join.transaction_id,\n bill_join.source_relation,\n doc_number,\n cast(null as {{ dbt.type_string() }}) as estimate_id, \n\n {% if var('using_department', True) %}\n departments.fully_qualified_name as department_name,\n {% endif %}\n\n 'vendor' as transaction_with,\n vendors.display_name as customer_vendor_name,\n vendors.balance as customer_vendor_balance,\n\n {% if var('using_address', True) %}\n billing_address.city as customer_vendor_address_city,\n billing_address.country as customer_vendor_address_country,\n concat(billing_address.address_1, billing_address.address_2) as customer_vendor_address_line,\n {% endif %}\n \n vendors.web_url as customer_vendor_website,\n cast(null as {{ dbt.type_string() }}) as delivery_type,\n cast(null as {{ dbt.type_string() }}) as estimate_status,\n bill_join.total_amount,\n bill_join.total_converted_amount,\n cast(null as {{ dbt.type_numeric() }}) as estimate_total_amount,\n cast(null as {{ dbt.type_numeric() }}) as estimate_total_converted_amount,\n bill_join.current_balance,\n bill_join.due_date,\n case when bill_join.current_balance != 0 and {{ dbt.datediff(\"bill_join.recent_payment_date\", \"bill_join.due_date\", 'day') }} < 0\n then true\n else false\n end as is_overdue,\n case when bill_join.current_balance != 0 and {{ dbt.datediff(\"bill_join.recent_payment_date\", \"bill_join.due_date\", 'day') }} < 0\n then {{ dbt.datediff(\"bill_join.recent_payment_date\", \"bill_join.due_date\", 'day') }} * -1\n else 0\n end as days_overdue,\n bill_join.initial_payment_date,\n bill_join.recent_payment_date,\n bill_join.total_current_payment,\n bill_join.total_current_converted_payment\n from bill_join\n\n {% if var('using_department', True) %}\n left join departments \n on bill_join.department_id = departments.department_id\n and bill_join.source_relation = departments.source_relation\n {% endif %}\n\n left join vendors\n on bill_join.vendor_id = vendors.vendor_id\n and bill_join.source_relation = vendors.source_relation\n \n {% if var('using_address', True) %}\n left join addresses as billing_address\n on vendors.billing_address_id = billing_address.address_id\n and vendors.source_relation = billing_address.source_relation\n {% endif %}\n \n {% if var('using_invoice', True) %}\n union all\n\n select \n invoice_join.transaction_type,\n invoice_join.transaction_id,\n invoice_join.source_relation,\n doc_number,\n invoice_join.estimate_id,\n\n {% if var('using_department', True) %}\n departments.fully_qualified_name as department_name,\n {% endif %}\n\n 'customer' as transaction_with,\n customers.fully_qualified_name as customer_vendor_name,\n customers.balance as customer_vendor_current_balance,\n\n {% if var('using_address', True) %}\n billing_address.city as customer_vendor_address_city,\n billing_address.country as customer_vendor_address_country,\n concat(billing_address.address_1, billing_address.address_2) as customer_vendor_address_line,\n {% endif %}\n\n customers.website as customer_vendor_website,\n invoice_join.delivery_type,\n invoice_join.estimate_status,\n invoice_join.total_amount as total_amount,\n invoice_join.total_converted_amount,\n invoice_join.estimate_total_amount as estimate_total_amount,\n invoice_join.estimate_total_converted_amount as estimate_total_converted_amount,\n invoice_join.current_balance as current_balance,\n invoice_join.due_date,\n case when invoice_join.current_balance != 0 and {{ dbt.datediff(\"invoice_join.recent_payment_date\", \"invoice_join.due_date\", 'day') }} < 0\n then true\n else false\n end as is_overdue,\n case when invoice_join.current_balance != 0 and {{ dbt.datediff(\"invoice_join.recent_payment_date\", \"invoice_join.due_date\", 'day') }} < 0\n then {{ dbt.datediff(\"invoice_join.recent_payment_date\", \"invoice_join.due_date\", 'day') }} * -1\n else 0\n end as days_overdue,\n invoice_join.initial_payment_date,\n invoice_join.recent_payment_date,\n invoice_join.total_current_payment as total_current_payment,\n invoice_join.total_current_converted_payment\n\n from invoice_join\n\n {% if var('using_department', True) %}\n left join departments \n on invoice_join.department_id = departments.department_id\n and invoice_join.source_relation = departments.source_relation\n {% endif %}\n\n {% if var('using_address', True) %}\n left join addresses as billing_address\n on invoice_join.billing_address_id = billing_address.address_id\n and invoice_join.source_relation = billing_address.source_relation\n {% endif %}\n\n left join customers\n on invoice_join.customer_id = customers.customer_id\n and invoice_join.source_relation = customers.source_relation\n\n {% endif %}\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "int_quickbooks__bill_join", "package": null, "version": null}, {"name": "int_quickbooks__invoice_join", "package": null, "version": null}, {"name": "stg_quickbooks__department", "package": null, "version": null}, {"name": "stg_quickbooks__address", "package": null, "version": null}, {"name": "stg_quickbooks__customer", "package": null, "version": null}, {"name": "stg_quickbooks__vendor", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string", "macro.dbt.type_numeric", "macro.dbt.datediff"], "nodes": ["model.quickbooks.int_quickbooks__bill_join", "model.quickbooks.int_quickbooks__invoice_join", "model.quickbooks_source.stg_quickbooks__department", "model.quickbooks_source.stg_quickbooks__address", "model.quickbooks_source.stg_quickbooks__customer", "model.quickbooks_source.stg_quickbooks__vendor"]}, "compiled_path": "target/compiled/quickbooks/models/quickbooks__ap_ar_enhanced.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_bill and using_invoice variable within your dbt_project.yml file to False.\n\n\nwith bill_join as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__bill_join\"\n),\n\n\ninvoice_join as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__invoice_join\"\n),\n\n\n\ndepartments as ( \n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__department\"\n),\n\n\n\naddresses as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__address\"\n),\n\n\ncustomers as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__customer\"\n),\n\nvendors as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__vendor\"\n),\n\nfinal as (\n\n select\n bill_join.transaction_type,\n bill_join.transaction_id,\n bill_join.source_relation,\n doc_number,\n cast(null as TEXT) as estimate_id, \n\n \n departments.fully_qualified_name as department_name,\n \n\n 'vendor' as transaction_with,\n vendors.display_name as customer_vendor_name,\n vendors.balance as customer_vendor_balance,\n\n \n billing_address.city as customer_vendor_address_city,\n billing_address.country as customer_vendor_address_country,\n concat(billing_address.address_1, billing_address.address_2) as customer_vendor_address_line,\n \n \n vendors.web_url as customer_vendor_website,\n cast(null as TEXT) as delivery_type,\n cast(null as TEXT) as estimate_status,\n bill_join.total_amount,\n bill_join.total_converted_amount,\n cast(null as numeric(28,6)) as estimate_total_amount,\n cast(null as numeric(28,6)) as estimate_total_converted_amount,\n bill_join.current_balance,\n bill_join.due_date,\n case when bill_join.current_balance != 0 and \n ((bill_join.due_date)::date - (bill_join.recent_payment_date)::date)\n < 0\n then true\n else false\n end as is_overdue,\n case when bill_join.current_balance != 0 and \n ((bill_join.due_date)::date - (bill_join.recent_payment_date)::date)\n < 0\n then \n ((bill_join.due_date)::date - (bill_join.recent_payment_date)::date)\n * -1\n else 0\n end as days_overdue,\n bill_join.initial_payment_date,\n bill_join.recent_payment_date,\n bill_join.total_current_payment,\n bill_join.total_current_converted_payment\n from bill_join\n\n \n left join departments \n on bill_join.department_id = departments.department_id\n and bill_join.source_relation = departments.source_relation\n \n\n left join vendors\n on bill_join.vendor_id = vendors.vendor_id\n and bill_join.source_relation = vendors.source_relation\n \n \n left join addresses as billing_address\n on vendors.billing_address_id = billing_address.address_id\n and vendors.source_relation = billing_address.source_relation\n \n \n \n union all\n\n select \n invoice_join.transaction_type,\n invoice_join.transaction_id,\n invoice_join.source_relation,\n doc_number,\n invoice_join.estimate_id,\n\n \n departments.fully_qualified_name as department_name,\n \n\n 'customer' as transaction_with,\n customers.fully_qualified_name as customer_vendor_name,\n customers.balance as customer_vendor_current_balance,\n\n \n billing_address.city as customer_vendor_address_city,\n billing_address.country as customer_vendor_address_country,\n concat(billing_address.address_1, billing_address.address_2) as customer_vendor_address_line,\n \n\n customers.website as customer_vendor_website,\n invoice_join.delivery_type,\n invoice_join.estimate_status,\n invoice_join.total_amount as total_amount,\n invoice_join.total_converted_amount,\n invoice_join.estimate_total_amount as estimate_total_amount,\n invoice_join.estimate_total_converted_amount as estimate_total_converted_amount,\n invoice_join.current_balance as current_balance,\n invoice_join.due_date,\n case when invoice_join.current_balance != 0 and \n ((invoice_join.due_date)::date - (invoice_join.recent_payment_date)::date)\n < 0\n then true\n else false\n end as is_overdue,\n case when invoice_join.current_balance != 0 and \n ((invoice_join.due_date)::date - (invoice_join.recent_payment_date)::date)\n < 0\n then \n ((invoice_join.due_date)::date - (invoice_join.recent_payment_date)::date)\n * -1\n else 0\n end as days_overdue,\n invoice_join.initial_payment_date,\n invoice_join.recent_payment_date,\n invoice_join.total_current_payment as total_current_payment,\n invoice_join.total_current_converted_payment\n\n from invoice_join\n\n \n left join departments \n on invoice_join.department_id = departments.department_id\n and invoice_join.source_relation = departments.source_relation\n \n\n \n left join addresses as billing_address\n on invoice_join.billing_address_id = billing_address.address_id\n and invoice_join.source_relation = billing_address.source_relation\n \n\n left join customers\n on invoice_join.customer_id = customers.customer_id\n and invoice_join.source_relation = customers.source_relation\n\n \n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.quickbooks__cash_flow_statement": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "quickbooks__cash_flow_statement", "resource_type": "model", "package_name": "quickbooks", "path": "quickbooks__cash_flow_statement.sql", "original_file_path": "models/quickbooks__cash_flow_statement.sql", "unique_id": "model.quickbooks.quickbooks__cash_flow_statement", "fqn": ["quickbooks", "quickbooks__cash_flow_statement"], "alias": "quickbooks__cash_flow_statement", "checksum": {"name": "sha256", "checksum": "5e7116c475f1623118a75e52687c467b48a7eefd5eb647121f28a87c8ba8efe6"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that provides all line items necessary to construct a cash flow statement.", "columns": {"account_unique_id": {"name": "account_unique_id", "description": "Unique identifier of the cash flow statement account line, dependent on account_id, class_id, source_relation and calendar_date.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "cash_flow_period": {"name": "cash_flow_period", "description": "Timestamp of the first date for the cash flow period.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_class": {"name": "account_class", "description": "Class of the account associated with the cash flow line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_sub_account": {"name": "is_sub_account", "description": "Boolean indicating whether the account is a sub account (true) or a parent account (false).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "parent_account_number": {"name": "parent_account_number", "description": "The parent account number. If the account is the parent account then the account number is recorded.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "parent_account_name": {"name": "parent_account_name", "description": "The parent account name. If the account is the parent account then the account name is recorded.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated with the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_type": {"name": "account_type", "description": "The type of account associated with the cash flow line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_sub_type": {"name": "account_sub_type", "description": "Sub type of the account associated with the cash flow line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_number": {"name": "account_number", "description": "User defined number of the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "Name of the account associated with the cash flow line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The identifier of the account associated with the cash flow line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "cash_flow_type": {"name": "cash_flow_type", "description": "The type of cash flow (Defaults are Cash or Cash Equivalents, Investing, Operating, Financing). The customer can also configure the cash flow type; [see the README for details](https://github.com/fivetran/dbt_quickbooks/blob/main/README.md#customize-the-cash-flow-model).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "cash_flow_ordinal": {"name": "cash_flow_ordinal", "description": "Integer value to order the account within final cash flow statement reporting. The customer can also configure the ordinal; [see the README for details](https://github.com/fivetran/dbt_quickbooks/blob/main/README.md#customize-the-cash-flow-model).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "cash_ending_period": {"name": "cash_ending_period", "description": "The total ending period balance cash for every cash flow account line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "cash_converted_ending_period": {"name": "cash_converted_ending_period", "description": "The total ending period balance cash, converted with exchange rates applied if available, for every cash flow account line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "cash_beginning_period": {"name": "cash_beginning_period", "description": "The total beginning period balance cash for every cash flow account line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "cash_converted_beginning_period": {"name": "cash_converted_beginning_period", "description": "The total beginning period balance cash, converted with exchange rates applied if available, for every cash flow account line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "cash_net_period": {"name": "cash_net_period", "description": "The net cash change from the beginning to the end of the period for every cash flow account line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "cash_converted_net_period": {"name": "cash_converted_net_period", "description": "The net cash change, converted with exchange rates applied if available, from the beginning to the end of the period for every cash flow account line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}"}, "created_at": 1730311927.876866, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"quickbooks__cash_flow_statement\"", "raw_code": "with cash_flow_classifications as (\n\n select *\n from {{ ref('int_quickbooks__cash_flow_classifications') }}\n), \n\nfinal as (\n \n select cash_flow_classifications.*,\n coalesce(lag(cash_ending_period) over (partition by account_id, class_id, source_relation \n order by source_relation, cash_flow_period), 0) as cash_beginning_period,\n cash_ending_period - coalesce(lag(cash_ending_period) over (partition by account_id, class_id, source_relation \n order by source_relation, cash_flow_period), 0) as cash_net_period,\n coalesce(lag(cash_converted_ending_period) over (partition by account_id, class_id, source_relation \n order by source_relation, cash_flow_period), 0) as cash_converted_beginning_period, \n cash_converted_ending_period - coalesce(lag(cash_converted_ending_period) over (partition by account_id, class_id, source_relation \n order by source_relation, cash_flow_period), 0) as cash_converted_net_period\n from cash_flow_classifications\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "int_quickbooks__cash_flow_classifications", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.quickbooks.int_quickbooks__cash_flow_classifications"]}, "compiled_path": "target/compiled/quickbooks/models/quickbooks__cash_flow_statement.sql", "compiled": true, "compiled_code": "with cash_flow_classifications as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__cash_flow_classifications\"\n), \n\nfinal as (\n \n select cash_flow_classifications.*,\n coalesce(lag(cash_ending_period) over (partition by account_id, class_id, source_relation \n order by source_relation, cash_flow_period), 0) as cash_beginning_period,\n cash_ending_period - coalesce(lag(cash_ending_period) over (partition by account_id, class_id, source_relation \n order by source_relation, cash_flow_period), 0) as cash_net_period,\n coalesce(lag(cash_converted_ending_period) over (partition by account_id, class_id, source_relation \n order by source_relation, cash_flow_period), 0) as cash_converted_beginning_period, \n cash_converted_ending_period - coalesce(lag(cash_converted_ending_period) over (partition by account_id, class_id, source_relation \n order by source_relation, cash_flow_period), 0) as cash_converted_net_period\n from cash_flow_classifications\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__transfer_double_entry": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__transfer_double_entry", "resource_type": "model", "package_name": "quickbooks", "path": "double_entry_transactions/int_quickbooks__transfer_double_entry.sql", "original_file_path": "models/double_entry_transactions/int_quickbooks__transfer_double_entry.sql", "unique_id": "model.quickbooks.int_quickbooks__transfer_double_entry", "fqn": ["quickbooks", "double_entry_transactions", "int_quickbooks__transfer_double_entry"], "alias": "int_quickbooks__transfer_double_entry", "checksum": {"name": "sha256", "checksum": "0a444a806ab557caa220e74e3a2091e906206aaeac54b1968972e0a083a33d58"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that creates a debit record to the receiving account and a credit record to the sending account.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1730311927.866198, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__transfer_double_entry\"", "raw_code": "/*\nTable that creates a debit record to the receiveing account and a credit record to the sending account.\n*/\n\n--To disable this model, set the using_transfer variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_transfer', True)) }}\n\nwith transfers as (\n\n select *\n from {{ ref('stg_quickbooks__transfer') }}\n),\n\ntransfer_body as (\n\n select\n transfer_id as transaction_id,\n source_relation,\n row_number() over(partition by transfer_id, source_relation \n order by source_relation, transaction_date) - 1 as index,\n transaction_date,\n amount,\n amount as converted_amount,\n from_account_id as credit_to_account_id,\n to_account_id as debit_to_account_id\n from transfers\n),\n\nfinal as (\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n cast(null as {{ dbt.type_string() }}) as customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n amount,\n converted_amount,\n credit_to_account_id as account_id,\n cast(null as {{ dbt.type_string() }}) as class_id,\n cast(null as {{ dbt.type_string() }}) as department_id,\n 'credit' as transaction_type,\n 'transfer' as transaction_source\n from transfer_body\n\n union all\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n cast(null as {{ dbt.type_string() }}) as customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n amount,\n converted_amount,\n debit_to_account_id as account_id,\n cast(null as {{ dbt.type_string() }}) as class_id,\n cast(null as {{ dbt.type_string() }}) as department_id,\n 'debit' as transaction_type,\n 'transfer' as transaction_source\n from transfer_body\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__transfer", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__transfer"]}, "compiled_path": "target/compiled/quickbooks/models/double_entry_transactions/int_quickbooks__transfer_double_entry.sql", "compiled": true, "compiled_code": "/*\nTable that creates a debit record to the receiveing account and a credit record to the sending account.\n*/\n\n--To disable this model, set the using_transfer variable within your dbt_project.yml file to False.\n\n\nwith transfers as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__transfer\"\n),\n\ntransfer_body as (\n\n select\n transfer_id as transaction_id,\n source_relation,\n row_number() over(partition by transfer_id, source_relation \n order by source_relation, transaction_date) - 1 as index,\n transaction_date,\n amount,\n amount as converted_amount,\n from_account_id as credit_to_account_id,\n to_account_id as debit_to_account_id\n from transfers\n),\n\nfinal as (\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n cast(null as TEXT) as customer_id,\n cast(null as TEXT) as vendor_id,\n amount,\n converted_amount,\n credit_to_account_id as account_id,\n cast(null as TEXT) as class_id,\n cast(null as TEXT) as department_id,\n 'credit' as transaction_type,\n 'transfer' as transaction_source\n from transfer_body\n\n union all\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n cast(null as TEXT) as customer_id,\n cast(null as TEXT) as vendor_id,\n amount,\n converted_amount,\n debit_to_account_id as account_id,\n cast(null as TEXT) as class_id,\n cast(null as TEXT) as department_id,\n 'debit' as transaction_type,\n 'transfer' as transaction_source\n from transfer_body\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__credit_memo_double_entry": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__credit_memo_double_entry", "resource_type": "model", "package_name": "quickbooks", "path": "double_entry_transactions/int_quickbooks__credit_memo_double_entry.sql", "original_file_path": "models/double_entry_transactions/int_quickbooks__credit_memo_double_entry.sql", "unique_id": "model.quickbooks.int_quickbooks__credit_memo_double_entry", "fqn": ["quickbooks", "double_entry_transactions", "int_quickbooks__credit_memo_double_entry"], "alias": "int_quickbooks__credit_memo_double_entry", "checksum": {"name": "sha256", "checksum": "3a3a77e5ebe74aa8ee523e812a005147f371c867597f48a1e4587bba171b6f4a"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that creates a debit record to Discounts Refunds Given and a credit record to the specified income account.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1730311927.864419, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__credit_memo_double_entry\"", "raw_code": "/*\nTable that creates a debit record to Discounts Refunds Given and a credit record to the specified income account.\n*/\n\n--To disable this model, set the using_credit_memo variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_credit_memo', True)) }}\n\nwith credit_memos as (\n\n select *\n from {{ ref('stg_quickbooks__credit_memo') }}\n),\n\ncredit_memo_lines as (\n\n select *\n from {{ ref('stg_quickbooks__credit_memo_line') }}\n),\n\nitems as (\n\n select *\n from {{ ref('stg_quickbooks__item') }}\n),\n\naccounts as (\n\n select *\n from {{ ref('stg_quickbooks__account') }}\n),\n\ndf_accounts as (\n\n select\n account_id as account_id,\n currency_id,\n source_relation\n from accounts\n\n where account_type = '{{ var('quickbooks__accounts_receivable_reference', 'Accounts Receivable') }}'\n and is_active\n and not is_sub_account\n),\n\ncredit_memo_join as (\n\n select\n credit_memos.credit_memo_id as transaction_id,\n credit_memos.source_relation,\n credit_memo_lines.index,\n credit_memos.transaction_date,\n credit_memo_lines.amount,\n (credit_memo_lines.amount * coalesce(credit_memos.exchange_rate, 1)) as converted_amount,\n coalesce(credit_memo_lines.sales_item_account_id, items.income_account_id, items.expense_account_id) as account_id,\n credit_memos.customer_id,\n coalesce(credit_memo_lines.sales_item_class_id, credit_memo_lines.discount_class_id, credit_memos.class_id) as class_id,\n credit_memos.department_id,\n credit_memos.currency_id\n\n from credit_memos\n\n inner join credit_memo_lines\n on credit_memos.credit_memo_id = credit_memo_lines.credit_memo_id\n and credit_memos.source_relation = credit_memo_lines.source_relation\n\n left join items\n on credit_memo_lines.sales_item_item_id = items.item_id\n and credit_memo_lines.source_relation = items.source_relation\n\n where coalesce(credit_memo_lines.discount_account_id, credit_memo_lines.sales_item_account_id, credit_memo_lines.sales_item_item_id) is not null\n),\n\nfinal as (\n\n select\n transaction_id,\n credit_memo_join.source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n amount * -1 as amount,\n converted_amount * -1 as converted_amount,\n account_id,\n class_id,\n department_id,\n 'credit' as transaction_type,\n 'credit_memo' as transaction_source\n from credit_memo_join\n\n union all\n\n select\n transaction_id,\n credit_memo_join.source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n amount * -1 as amount,\n converted_amount * -1 as converted_amount,\n df_accounts.account_id,\n class_id,\n department_id,\n 'debit' as transaction_type,\n 'credit_memo' as transaction_source\n from credit_memo_join\n\n left join df_accounts\n on df_accounts.currency_id = credit_memo_join.currency_id\n and df_accounts.source_relation = credit_memo_join.source_relation\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__credit_memo", "package": null, "version": null}, {"name": "stg_quickbooks__credit_memo_line", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}, {"name": "stg_quickbooks__account", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__credit_memo", "model.quickbooks_source.stg_quickbooks__credit_memo_line", "model.quickbooks_source.stg_quickbooks__item", "model.quickbooks_source.stg_quickbooks__account"]}, "compiled_path": "target/compiled/quickbooks/models/double_entry_transactions/int_quickbooks__credit_memo_double_entry.sql", "compiled": true, "compiled_code": "/*\nTable that creates a debit record to Discounts Refunds Given and a credit record to the specified income account.\n*/\n\n--To disable this model, set the using_credit_memo variable within your dbt_project.yml file to False.\n\n\nwith credit_memos as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__credit_memo\"\n),\n\ncredit_memo_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__credit_memo_line\"\n),\n\nitems as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__item\"\n),\n\naccounts as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__account\"\n),\n\ndf_accounts as (\n\n select\n account_id as account_id,\n currency_id,\n source_relation\n from accounts\n\n where account_type = 'Accounts Receivable'\n and is_active\n and not is_sub_account\n),\n\ncredit_memo_join as (\n\n select\n credit_memos.credit_memo_id as transaction_id,\n credit_memos.source_relation,\n credit_memo_lines.index,\n credit_memos.transaction_date,\n credit_memo_lines.amount,\n (credit_memo_lines.amount * coalesce(credit_memos.exchange_rate, 1)) as converted_amount,\n coalesce(credit_memo_lines.sales_item_account_id, items.income_account_id, items.expense_account_id) as account_id,\n credit_memos.customer_id,\n coalesce(credit_memo_lines.sales_item_class_id, credit_memo_lines.discount_class_id, credit_memos.class_id) as class_id,\n credit_memos.department_id,\n credit_memos.currency_id\n\n from credit_memos\n\n inner join credit_memo_lines\n on credit_memos.credit_memo_id = credit_memo_lines.credit_memo_id\n and credit_memos.source_relation = credit_memo_lines.source_relation\n\n left join items\n on credit_memo_lines.sales_item_item_id = items.item_id\n and credit_memo_lines.source_relation = items.source_relation\n\n where coalesce(credit_memo_lines.discount_account_id, credit_memo_lines.sales_item_account_id, credit_memo_lines.sales_item_item_id) is not null\n),\n\nfinal as (\n\n select\n transaction_id,\n credit_memo_join.source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as TEXT) as vendor_id,\n amount * -1 as amount,\n converted_amount * -1 as converted_amount,\n account_id,\n class_id,\n department_id,\n 'credit' as transaction_type,\n 'credit_memo' as transaction_source\n from credit_memo_join\n\n union all\n\n select\n transaction_id,\n credit_memo_join.source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as TEXT) as vendor_id,\n amount * -1 as amount,\n converted_amount * -1 as converted_amount,\n df_accounts.account_id,\n class_id,\n department_id,\n 'debit' as transaction_type,\n 'credit_memo' as transaction_source\n from credit_memo_join\n\n left join df_accounts\n on df_accounts.currency_id = credit_memo_join.currency_id\n and df_accounts.source_relation = credit_memo_join.source_relation\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__refund_receipt_double_entry": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__refund_receipt_double_entry", "resource_type": "model", "package_name": "quickbooks", "path": "double_entry_transactions/int_quickbooks__refund_receipt_double_entry.sql", "original_file_path": "models/double_entry_transactions/int_quickbooks__refund_receipt_double_entry.sql", "unique_id": "model.quickbooks.int_quickbooks__refund_receipt_double_entry", "fqn": ["quickbooks", "double_entry_transactions", "int_quickbooks__refund_receipt_double_entry"], "alias": "int_quickbooks__refund_receipt_double_entry", "checksum": {"name": "sha256", "checksum": "523a33f8556ade657f4b625b5652d96c723ba992370d9a9b8f19827a63a6282d"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that creates a debit record to the specified asset account and a credit record the specified cash account.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1730311927.865814, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__refund_receipt_double_entry\"", "raw_code": "/*\nTable that creates a debit record to the specified asset account and a credit record the specified cash account.\n*/\n\n--To disable this model, set the using_refund_receipt variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_refund_receipt', True)) }}\n\nwith refund_receipts as (\n\n select *\n from {{ ref('stg_quickbooks__refund_receipt') }}\n),\n\nrefund_receipt_lines as (\n\n select *\n from {{ ref('stg_quickbooks__refund_receipt_line') }}\n),\n\nitems as (\n\n select\n item.*,\n parent.income_account_id as parent_income_account_id\n from {{ ref('stg_quickbooks__item') }} item\n\n left join {{ ref('stg_quickbooks__item') }} parent\n on item.parent_item_id = parent.item_id\n and item.source_relation = parent.source_relation\n),\n\nrefund_receipt_join as (\n\n select\n refund_receipts.refund_id as transaction_id,\n refund_receipts.source_relation,\n refund_receipt_lines.index,\n refund_receipts.transaction_date,\n refund_receipt_lines.amount,\n (refund_receipt_lines.amount * coalesce(refund_receipts.exchange_rate, 1)) as converted_amount,\n refund_receipts.deposit_to_account_id as credit_to_account_id,\n coalesce(refund_receipt_lines.discount_account_id, refund_receipt_lines.sales_item_account_id, items.parent_income_account_id, items.income_account_id) as debit_account_id,\n refund_receipts.customer_id,\n coalesce(refund_receipt_lines.sales_item_class_id, refund_receipt_lines.discount_class_id, refund_receipts.class_id) as class_id,\n refund_receipts.department_id\n from refund_receipts\n\n inner join refund_receipt_lines\n on refund_receipts.refund_id = refund_receipt_lines.refund_id\n and refund_receipts.source_relation = refund_receipt_lines.source_relation\n\n left join items\n on refund_receipt_lines.sales_item_item_id = items.item_id\n and refund_receipt_lines.source_relation = items.source_relation\n\n where coalesce(refund_receipt_lines.discount_account_id, refund_receipt_lines.sales_item_account_id, refund_receipt_lines.sales_item_item_id) is not null\n),\n\nfinal as (\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n amount,\n converted_amount,\n credit_to_account_id as account_id,\n class_id,\n department_id,\n 'credit' as transaction_type,\n 'refund_receipt' as transaction_source\n from refund_receipt_join\n\n union all\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n amount,\n converted_amount,\n debit_account_id as account_id,\n class_id,\n department_id,\n 'debit' as transaction_type,\n 'refund_receipt' as transaction_source\n from refund_receipt_join\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__refund_receipt", "package": null, "version": null}, {"name": "stg_quickbooks__refund_receipt_line", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__refund_receipt", "model.quickbooks_source.stg_quickbooks__refund_receipt_line", "model.quickbooks_source.stg_quickbooks__item"]}, "compiled_path": "target/compiled/quickbooks/models/double_entry_transactions/int_quickbooks__refund_receipt_double_entry.sql", "compiled": true, "compiled_code": "/*\nTable that creates a debit record to the specified asset account and a credit record the specified cash account.\n*/\n\n--To disable this model, set the using_refund_receipt variable within your dbt_project.yml file to False.\n\n\nwith refund_receipts as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__refund_receipt\"\n),\n\nrefund_receipt_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__refund_receipt_line\"\n),\n\nitems as (\n\n select\n item.*,\n parent.income_account_id as parent_income_account_id\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__item\" item\n\n left join \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__item\" parent\n on item.parent_item_id = parent.item_id\n and item.source_relation = parent.source_relation\n),\n\nrefund_receipt_join as (\n\n select\n refund_receipts.refund_id as transaction_id,\n refund_receipts.source_relation,\n refund_receipt_lines.index,\n refund_receipts.transaction_date,\n refund_receipt_lines.amount,\n (refund_receipt_lines.amount * coalesce(refund_receipts.exchange_rate, 1)) as converted_amount,\n refund_receipts.deposit_to_account_id as credit_to_account_id,\n coalesce(refund_receipt_lines.discount_account_id, refund_receipt_lines.sales_item_account_id, items.parent_income_account_id, items.income_account_id) as debit_account_id,\n refund_receipts.customer_id,\n coalesce(refund_receipt_lines.sales_item_class_id, refund_receipt_lines.discount_class_id, refund_receipts.class_id) as class_id,\n refund_receipts.department_id\n from refund_receipts\n\n inner join refund_receipt_lines\n on refund_receipts.refund_id = refund_receipt_lines.refund_id\n and refund_receipts.source_relation = refund_receipt_lines.source_relation\n\n left join items\n on refund_receipt_lines.sales_item_item_id = items.item_id\n and refund_receipt_lines.source_relation = items.source_relation\n\n where coalesce(refund_receipt_lines.discount_account_id, refund_receipt_lines.sales_item_account_id, refund_receipt_lines.sales_item_item_id) is not null\n),\n\nfinal as (\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as TEXT) as vendor_id,\n amount,\n converted_amount,\n credit_to_account_id as account_id,\n class_id,\n department_id,\n 'credit' as transaction_type,\n 'refund_receipt' as transaction_source\n from refund_receipt_join\n\n union all\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as TEXT) as vendor_id,\n amount,\n converted_amount,\n debit_account_id as account_id,\n class_id,\n department_id,\n 'debit' as transaction_type,\n 'refund_receipt' as transaction_source\n from refund_receipt_join\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__journal_entry_double_entry": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__journal_entry_double_entry", "resource_type": "model", "package_name": "quickbooks", "path": "double_entry_transactions/int_quickbooks__journal_entry_double_entry.sql", "original_file_path": "models/double_entry_transactions/int_quickbooks__journal_entry_double_entry.sql", "unique_id": "model.quickbooks.int_quickbooks__journal_entry_double_entry", "fqn": ["quickbooks", "double_entry_transactions", "int_quickbooks__journal_entry_double_entry"], "alias": "int_quickbooks__journal_entry_double_entry", "checksum": {"name": "sha256", "checksum": "248267e3cd45f965786a6cc3e721de564190ec81cdba1306ab09e6e215d7ce86"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that provides the debit and credit records of a journal entry transaction.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1730311927.865243, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__journal_entry_double_entry\"", "raw_code": "/*\nTable that provides the debit and credit records of a journal entry transaction.\n*/\n\n--To disable this model, set the using_journal_entry variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_journal_entry', True)) }}\n\nwith journal_entries as (\n\n select *\n from {{ ref('stg_quickbooks__journal_entry') }}\n),\n\njournal_entry_lines as (\n\n select *\n from {{ ref('stg_quickbooks__journal_entry_line') }}\n),\n\nfinal as (\n\n select\n journal_entries.journal_entry_id as transaction_id,\n journal_entries.source_relation,\n journal_entry_lines.index,\n journal_entries.transaction_date,\n journal_entry_lines.customer_id,\n journal_entry_lines.vendor_id,\n journal_entry_lines.amount,\n (journal_entry_lines.amount * coalesce(journal_entries.exchange_rate, 1)) as converted_amount,\n journal_entry_lines.account_id,\n class_id,\n journal_entry_lines.department_id,\n lower(journal_entry_lines.posting_type) as transaction_type,\n 'journal_entry' as transaction_source\n from journal_entries\n\n inner join journal_entry_lines\n on journal_entries.journal_entry_id = journal_entry_lines.journal_entry_id\n and journal_entries.source_relation = journal_entry_lines.source_relation\n\n where journal_entry_lines.amount is not null\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__journal_entry", "package": null, "version": null}, {"name": "stg_quickbooks__journal_entry_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.quickbooks_source.stg_quickbooks__journal_entry", "model.quickbooks_source.stg_quickbooks__journal_entry_line"]}, "compiled_path": "target/compiled/quickbooks/models/double_entry_transactions/int_quickbooks__journal_entry_double_entry.sql", "compiled": true, "compiled_code": "/*\nTable that provides the debit and credit records of a journal entry transaction.\n*/\n\n--To disable this model, set the using_journal_entry variable within your dbt_project.yml file to False.\n\n\nwith journal_entries as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__journal_entry\"\n),\n\njournal_entry_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__journal_entry_line\"\n),\n\nfinal as (\n\n select\n journal_entries.journal_entry_id as transaction_id,\n journal_entries.source_relation,\n journal_entry_lines.index,\n journal_entries.transaction_date,\n journal_entry_lines.customer_id,\n journal_entry_lines.vendor_id,\n journal_entry_lines.amount,\n (journal_entry_lines.amount * coalesce(journal_entries.exchange_rate, 1)) as converted_amount,\n journal_entry_lines.account_id,\n class_id,\n journal_entry_lines.department_id,\n lower(journal_entry_lines.posting_type) as transaction_type,\n 'journal_entry' as transaction_source\n from journal_entries\n\n inner join journal_entry_lines\n on journal_entries.journal_entry_id = journal_entry_lines.journal_entry_id\n and journal_entries.source_relation = journal_entry_lines.source_relation\n\n where journal_entry_lines.amount is not null\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__bill_payment_double_entry": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__bill_payment_double_entry", "resource_type": "model", "package_name": "quickbooks", "path": "double_entry_transactions/int_quickbooks__bill_payment_double_entry.sql", "original_file_path": "models/double_entry_transactions/int_quickbooks__bill_payment_double_entry.sql", "unique_id": "model.quickbooks.int_quickbooks__bill_payment_double_entry", "fqn": ["quickbooks", "double_entry_transactions", "int_quickbooks__bill_payment_double_entry"], "alias": "int_quickbooks__bill_payment_double_entry", "checksum": {"name": "sha256", "checksum": "a692c16a45c4fc527a19943e9fcd699928d3a1eea4a499cc8c7bf05d0a86b1bb"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that creates a debit record to accounts payable and a credit record to the specified cash account.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1730311927.864192, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__bill_payment_double_entry\"", "raw_code": "/*\nTable that creates a debit record to accounts payable and a credit record to the specified cash account.\n*/\n\n--To disable this model, set the using_bill_payment variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_bill', True)) }}\n\nwith bill_payments as (\n\n select *\n from {{ ref('stg_quickbooks__bill_payment') }}\n),\n\nbill_payment_lines as (\n\n select *\n from {{ ref('stg_quickbooks__bill_payment_line') }}\n),\n\naccounts as (\n\n select *\n from {{ ref('stg_quickbooks__account') }}\n),\n\nap_accounts as (\n\n select\n account_id,\n currency_id,\n source_relation\n from accounts\n\n where account_type = '{{ var('quickbooks__accounts_payable_reference', 'Accounts Payable') }}'\n and is_active\n and not is_sub_account\n),\n\nbill_payment_join as (\n\n select\n bill_payments.bill_payment_id as transaction_id,\n bill_payments.source_relation,\n row_number() over(partition by bill_payments.bill_payment_id, bill_payments.source_relation \n order by bill_payments.source_relation, bill_payments.transaction_date) - 1 as index,\n bill_payments.transaction_date,\n bill_payments.total_amount as amount,\n (bill_payments.total_amount * coalesce(bill_payments.exchange_rate, 1)) as converted_amount,\n coalesce(bill_payments.credit_card_account_id,bill_payments.check_bank_account_id) as payment_account_id,\n ap_accounts.account_id,\n bill_payments.vendor_id,\n bill_payments.department_id\n from bill_payments\n\n left join ap_accounts\n on ap_accounts.currency_id = bill_payments.currency_id\n and ap_accounts.source_relation = bill_payments.source_relation\n),\n\nfinal as (\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n cast(null as {{ dbt.type_string() }}) as customer_id,\n vendor_id,\n amount,\n converted_amount,\n payment_account_id as account_id,\n cast(null as {{ dbt.type_string() }}) as class_id,\n department_id,\n 'credit' as transaction_type,\n 'bill payment' as transaction_source\n from bill_payment_join\n\n union all\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n cast(null as {{ dbt.type_string() }}) as customer_id,\n vendor_id,\n amount,\n converted_amount,\n account_id,\n cast(null as {{ dbt.type_string() }}) as class_id,\n department_id,\n 'debit' as transaction_type,\n 'bill payment' as transaction_source\n from bill_payment_join\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__bill_payment", "package": null, "version": null}, {"name": "stg_quickbooks__bill_payment_line", "package": null, "version": null}, {"name": "stg_quickbooks__account", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__bill_payment", "model.quickbooks_source.stg_quickbooks__bill_payment_line", "model.quickbooks_source.stg_quickbooks__account"]}, "compiled_path": "target/compiled/quickbooks/models/double_entry_transactions/int_quickbooks__bill_payment_double_entry.sql", "compiled": true, "compiled_code": "/*\nTable that creates a debit record to accounts payable and a credit record to the specified cash account.\n*/\n\n--To disable this model, set the using_bill_payment variable within your dbt_project.yml file to False.\n\n\nwith bill_payments as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill_payment\"\n),\n\nbill_payment_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill_payment_line\"\n),\n\naccounts as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__account\"\n),\n\nap_accounts as (\n\n select\n account_id,\n currency_id,\n source_relation\n from accounts\n\n where account_type = 'Accounts Payable'\n and is_active\n and not is_sub_account\n),\n\nbill_payment_join as (\n\n select\n bill_payments.bill_payment_id as transaction_id,\n bill_payments.source_relation,\n row_number() over(partition by bill_payments.bill_payment_id, bill_payments.source_relation \n order by bill_payments.source_relation, bill_payments.transaction_date) - 1 as index,\n bill_payments.transaction_date,\n bill_payments.total_amount as amount,\n (bill_payments.total_amount * coalesce(bill_payments.exchange_rate, 1)) as converted_amount,\n coalesce(bill_payments.credit_card_account_id,bill_payments.check_bank_account_id) as payment_account_id,\n ap_accounts.account_id,\n bill_payments.vendor_id,\n bill_payments.department_id\n from bill_payments\n\n left join ap_accounts\n on ap_accounts.currency_id = bill_payments.currency_id\n and ap_accounts.source_relation = bill_payments.source_relation\n),\n\nfinal as (\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n cast(null as TEXT) as customer_id,\n vendor_id,\n amount,\n converted_amount,\n payment_account_id as account_id,\n cast(null as TEXT) as class_id,\n department_id,\n 'credit' as transaction_type,\n 'bill payment' as transaction_source\n from bill_payment_join\n\n union all\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n cast(null as TEXT) as customer_id,\n vendor_id,\n amount,\n converted_amount,\n account_id,\n cast(null as TEXT) as class_id,\n department_id,\n 'debit' as transaction_type,\n 'bill payment' as transaction_source\n from bill_payment_join\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__deposit_double_entry": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__deposit_double_entry", "resource_type": "model", "package_name": "quickbooks", "path": "double_entry_transactions/int_quickbooks__deposit_double_entry.sql", "original_file_path": "models/double_entry_transactions/int_quickbooks__deposit_double_entry.sql", "unique_id": "model.quickbooks.int_quickbooks__deposit_double_entry", "fqn": ["quickbooks", "double_entry_transactions", "int_quickbooks__deposit_double_entry"], "alias": "int_quickbooks__deposit_double_entry", "checksum": {"name": "sha256", "checksum": "34764a31103a00cd19487e6d2fea414a2d64c262365fe73ef882f14a1481e6e3"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that creates a debit record to the specified cash account and a credit record to either undeposited funds or a specific other account indicated in the deposit line.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1730311927.8648388, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__deposit_double_entry\"", "raw_code": "/*\nTable that creates a debit record to the specified cash account and a credit record to either undeposited funds or a\nspecific other account indicated in the deposit line.\n*/\n\n--To disable this model, set the using_deposit variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_deposit', True)) }}\n\nwith deposits as (\n\n select *\n from {{ ref('stg_quickbooks__deposit') }}\n),\n\ndeposit_lines as (\n\n select *\n from {{ ref('stg_quickbooks__deposit_line') }}\n),\n\naccounts as (\n\n select *\n from {{ ref('stg_quickbooks__account') }}\n),\n\nuf_accounts as (\n\n select\n account_id,\n source_relation\n from accounts\n\n where account_sub_type = '{{ var('quickbooks__undeposited_funds_reference', 'UndepositedFunds') }}'\n and is_active\n and not is_sub_account\n),\n\ndeposit_join as (\n\n select\n deposits.deposit_id as transaction_id,\n deposits.source_relation,\n deposit_lines.index,\n deposits.transaction_date,\n deposit_lines.amount,\n deposit_lines.amount * (coalesce(deposits.home_total_amount/nullif(deposits.total_amount, 0), 1)) as converted_amount,\n deposits.account_id as deposit_to_acct_id,\n coalesce(deposit_lines.deposit_account_id, uf_accounts.account_id) as deposit_from_acct_id,\n deposit_customer_id as customer_id,\n deposit_lines.deposit_class_id as class_id,\n deposits.department_id\n\n from deposits\n\n inner join deposit_lines\n on deposits.deposit_id = deposit_lines.deposit_id\n and deposits.source_relation = deposit_lines.source_relation\n\n left join uf_accounts\n on uf_accounts.source_relation = deposits.source_relation\n\n),\n\nfinal as (\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n amount,\n converted_amount,\n deposit_to_acct_id as account_id,\n class_id,\n department_id,\n 'debit' as transaction_type,\n 'deposit' as transaction_source\n from deposit_join\n\n union all\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n amount,\n converted_amount,\n deposit_from_acct_id as account_id,\n class_id,\n department_id,\n 'credit' as transaction_type,\n 'deposit' as transaction_source\n from deposit_join\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__deposit", "package": null, "version": null}, {"name": "stg_quickbooks__deposit_line", "package": null, "version": null}, {"name": "stg_quickbooks__account", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__deposit", "model.quickbooks_source.stg_quickbooks__deposit_line", "model.quickbooks_source.stg_quickbooks__account"]}, "compiled_path": "target/compiled/quickbooks/models/double_entry_transactions/int_quickbooks__deposit_double_entry.sql", "compiled": true, "compiled_code": "/*\nTable that creates a debit record to the specified cash account and a credit record to either undeposited funds or a\nspecific other account indicated in the deposit line.\n*/\n\n--To disable this model, set the using_deposit variable within your dbt_project.yml file to False.\n\n\nwith deposits as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__deposit\"\n),\n\ndeposit_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__deposit_line\"\n),\n\naccounts as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__account\"\n),\n\nuf_accounts as (\n\n select\n account_id,\n source_relation\n from accounts\n\n where account_sub_type = 'UndepositedFunds'\n and is_active\n and not is_sub_account\n),\n\ndeposit_join as (\n\n select\n deposits.deposit_id as transaction_id,\n deposits.source_relation,\n deposit_lines.index,\n deposits.transaction_date,\n deposit_lines.amount,\n deposit_lines.amount * (coalesce(deposits.home_total_amount/nullif(deposits.total_amount, 0), 1)) as converted_amount,\n deposits.account_id as deposit_to_acct_id,\n coalesce(deposit_lines.deposit_account_id, uf_accounts.account_id) as deposit_from_acct_id,\n deposit_customer_id as customer_id,\n deposit_lines.deposit_class_id as class_id,\n deposits.department_id\n\n from deposits\n\n inner join deposit_lines\n on deposits.deposit_id = deposit_lines.deposit_id\n and deposits.source_relation = deposit_lines.source_relation\n\n left join uf_accounts\n on uf_accounts.source_relation = deposits.source_relation\n\n),\n\nfinal as (\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as TEXT) as vendor_id,\n amount,\n converted_amount,\n deposit_to_acct_id as account_id,\n class_id,\n department_id,\n 'debit' as transaction_type,\n 'deposit' as transaction_source\n from deposit_join\n\n union all\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as TEXT) as vendor_id,\n amount,\n converted_amount,\n deposit_from_acct_id as account_id,\n class_id,\n department_id,\n 'credit' as transaction_type,\n 'deposit' as transaction_source\n from deposit_join\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__purchase_double_entry": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__purchase_double_entry", "resource_type": "model", "package_name": "quickbooks", "path": "double_entry_transactions/int_quickbooks__purchase_double_entry.sql", "original_file_path": "models/double_entry_transactions/int_quickbooks__purchase_double_entry.sql", "unique_id": "model.quickbooks.int_quickbooks__purchase_double_entry", "fqn": ["quickbooks", "double_entry_transactions", "int_quickbooks__purchase_double_entry"], "alias": "int_quickbooks__purchase_double_entry", "checksum": {"name": "sha256", "checksum": "2db8a5f9dc65b15fef1b7110c7471563e69e1c76b54c5b78d699a3eb75d30ad9"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that creates a debit record to a specified expense account and a credit record to the payment account.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}"}, "created_at": 1730311927.865628, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__purchase_double_entry\"", "raw_code": "/*\nTable that creates a debit record to a specified expense account and a credit record to the payment account.\n*/\nwith purchases as (\n\n select *\n from {{ ref('stg_quickbooks__purchase') }}\n),\n\npurchase_lines as (\n\n select *\n from {{ ref('stg_quickbooks__purchase_line') }}\n),\n\nitems as (\n\n select\n item.*,\n parent.expense_account_id as parent_expense_account_id\n from {{ ref('stg_quickbooks__item') }} item\n\n left join {{ ref('stg_quickbooks__item') }} parent\n on item.parent_item_id = parent.item_id\n and item.source_relation = parent.source_relation\n),\n\npurchase_join as (\n\n select\n purchases.purchase_id as transaction_id,\n purchases.source_relation,\n purchase_lines.index,\n purchases.transaction_date,\n purchase_lines.amount,\n (purchase_lines.amount * coalesce(purchases.exchange_rate, 1)) as converted_amount,\n coalesce(purchase_lines.account_expense_account_id, items.parent_expense_account_id, items.expense_account_id) as payed_to_account_id,\n purchases.account_id as payed_from_account_id,\n case when coalesce(purchases.credit, false) = true then 'debit' else 'credit' end as payed_from_transaction_type,\n case when coalesce(purchases.credit, false) = true then 'credit' else 'debit' end as payed_to_transaction_type,\n purchases.customer_id,\n coalesce(purchase_lines.item_expense_class_id, purchase_lines.account_expense_class_id) as class_id,\n purchases.vendor_id,\n purchases.department_id\n from purchases\n\n inner join purchase_lines\n on purchases.purchase_id = purchase_lines.purchase_id\n and purchases.source_relation = purchase_lines.source_relation\n\n left join items\n on purchase_lines.item_expense_item_id = items.item_id\n and purchase_lines.source_relation = items.source_relation\n),\n\nfinal as (\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount,\n converted_amount,\n payed_from_account_id as account_id,\n class_id,\n department_id,\n payed_from_transaction_type as transaction_type,\n 'purchase' as transaction_source\n from purchase_join\n\n union all\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount,\n converted_amount,\n payed_to_account_id as account_id,\n class_id,\n department_id,\n payed_to_transaction_type as transaction_type,\n 'purchase' as transaction_source\n from purchase_join\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase", "package": null, "version": null}, {"name": "stg_quickbooks__purchase_line", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.quickbooks_source.stg_quickbooks__purchase", "model.quickbooks_source.stg_quickbooks__purchase_line", "model.quickbooks_source.stg_quickbooks__item"]}, "compiled_path": "target/compiled/quickbooks/models/double_entry_transactions/int_quickbooks__purchase_double_entry.sql", "compiled": true, "compiled_code": "/*\nTable that creates a debit record to a specified expense account and a credit record to the payment account.\n*/\nwith purchases as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__purchase\"\n),\n\npurchase_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__purchase_line\"\n),\n\nitems as (\n\n select\n item.*,\n parent.expense_account_id as parent_expense_account_id\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__item\" item\n\n left join \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__item\" parent\n on item.parent_item_id = parent.item_id\n and item.source_relation = parent.source_relation\n),\n\npurchase_join as (\n\n select\n purchases.purchase_id as transaction_id,\n purchases.source_relation,\n purchase_lines.index,\n purchases.transaction_date,\n purchase_lines.amount,\n (purchase_lines.amount * coalesce(purchases.exchange_rate, 1)) as converted_amount,\n coalesce(purchase_lines.account_expense_account_id, items.parent_expense_account_id, items.expense_account_id) as payed_to_account_id,\n purchases.account_id as payed_from_account_id,\n case when coalesce(purchases.credit, false) = true then 'debit' else 'credit' end as payed_from_transaction_type,\n case when coalesce(purchases.credit, false) = true then 'credit' else 'debit' end as payed_to_transaction_type,\n purchases.customer_id,\n coalesce(purchase_lines.item_expense_class_id, purchase_lines.account_expense_class_id) as class_id,\n purchases.vendor_id,\n purchases.department_id\n from purchases\n\n inner join purchase_lines\n on purchases.purchase_id = purchase_lines.purchase_id\n and purchases.source_relation = purchase_lines.source_relation\n\n left join items\n on purchase_lines.item_expense_item_id = items.item_id\n and purchase_lines.source_relation = items.source_relation\n),\n\nfinal as (\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount,\n converted_amount,\n payed_from_account_id as account_id,\n class_id,\n department_id,\n payed_from_transaction_type as transaction_type,\n 'purchase' as transaction_source\n from purchase_join\n\n union all\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount,\n converted_amount,\n payed_to_account_id as account_id,\n class_id,\n department_id,\n payed_to_transaction_type as transaction_type,\n 'purchase' as transaction_source\n from purchase_join\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__sales_receipt_double_entry": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__sales_receipt_double_entry", "resource_type": "model", "package_name": "quickbooks", "path": "double_entry_transactions/int_quickbooks__sales_receipt_double_entry.sql", "original_file_path": "models/double_entry_transactions/int_quickbooks__sales_receipt_double_entry.sql", "unique_id": "model.quickbooks.int_quickbooks__sales_receipt_double_entry", "fqn": ["quickbooks", "double_entry_transactions", "int_quickbooks__sales_receipt_double_entry"], "alias": "int_quickbooks__sales_receipt_double_entry", "checksum": {"name": "sha256", "checksum": "6dce97fb2f236a44b1e2cd510996e3cfc7d084e1e5278e0438c662e6b6dec6d6"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that creates a debit record to the specified cash account and a credit record to the specified asset account.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1730311927.866003, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__sales_receipt_double_entry\"", "raw_code": "/*\nTable that creates a debit record to the specified cash account and a credit record to the specified asset account.\n*/\n\n--To disable this model, set the using_sales_receipt variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_sales_receipt', True)) }}\n\nwith sales_receipts as (\n\n select *\n from {{ ref('stg_quickbooks__sales_receipt') }}\n),\n\nsales_receipt_lines as (\n\n select *\n from {{ ref('stg_quickbooks__sales_receipt_line') }}\n),\n\nitems as (\n\n select\n item.*,\n parent.income_account_id as parent_income_account_id\n from {{ ref('stg_quickbooks__item') }} item\n\n left join {{ ref('stg_quickbooks__item') }} parent\n on item.parent_item_id = parent.item_id\n and item.source_relation = parent.source_relation\n),\n\nsales_receipt_join as (\n\n select\n sales_receipts.sales_receipt_id as transaction_id,\n sales_receipts.source_relation,\n sales_receipt_lines.index,\n sales_receipts.transaction_date,\n case \n when sales_receipt_lines.discount_account_id is not null \n then sales_receipt_lines.amount * (-1)\n else sales_receipt_lines.amount\n end as amount,\n case \n when sales_receipt_lines.discount_account_id is not null \n then (sales_receipt_lines.amount * coalesce(-sales_receipts.exchange_rate, -1))\n else (sales_receipt_lines.amount * coalesce(sales_receipts.exchange_rate, 1))\n end as converted_amount,\n sales_receipts.deposit_to_account_id as debit_to_account_id,\n coalesce(sales_receipt_lines.discount_account_id, sales_receipt_lines.sales_item_account_id, items.parent_income_account_id, items.income_account_id) as credit_to_account_id,\n sales_receipts.customer_id,\n coalesce(sales_receipt_lines.sales_item_class_id, sales_receipt_lines.discount_class_id, sales_receipts.class_id) as class_id,\n sales_receipts.department_id\n from sales_receipts\n\n inner join sales_receipt_lines\n on sales_receipts.sales_receipt_id = sales_receipt_lines.sales_receipt_id\n and sales_receipts.source_relation = sales_receipt_lines.source_relation\n\n left join items\n on sales_receipt_lines.sales_item_item_id = items.item_id\n and sales_receipt_lines.source_relation = items.source_relation\n\n where coalesce(sales_receipt_lines.discount_account_id, sales_receipt_lines.sales_item_account_id, sales_receipt_lines.sales_item_item_id) is not null\n),\n\nfinal as (\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n amount,\n converted_amount,\n debit_to_account_id as account_id,\n class_id,\n department_id,\n 'debit' as transaction_type,\n 'sales_receipt' as transaction_source\n from sales_receipt_join\n\n union all\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n amount,\n converted_amount,\n credit_to_account_id as account_id,\n class_id,\n department_id,\n 'credit' as transaction_type,\n 'sales_receipt' as transaction_source\n from sales_receipt_join\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__sales_receipt", "package": null, "version": null}, {"name": "stg_quickbooks__sales_receipt_line", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__sales_receipt", "model.quickbooks_source.stg_quickbooks__sales_receipt_line", "model.quickbooks_source.stg_quickbooks__item"]}, "compiled_path": "target/compiled/quickbooks/models/double_entry_transactions/int_quickbooks__sales_receipt_double_entry.sql", "compiled": true, "compiled_code": "/*\nTable that creates a debit record to the specified cash account and a credit record to the specified asset account.\n*/\n\n--To disable this model, set the using_sales_receipt variable within your dbt_project.yml file to False.\n\n\nwith sales_receipts as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__sales_receipt\"\n),\n\nsales_receipt_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__sales_receipt_line\"\n),\n\nitems as (\n\n select\n item.*,\n parent.income_account_id as parent_income_account_id\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__item\" item\n\n left join \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__item\" parent\n on item.parent_item_id = parent.item_id\n and item.source_relation = parent.source_relation\n),\n\nsales_receipt_join as (\n\n select\n sales_receipts.sales_receipt_id as transaction_id,\n sales_receipts.source_relation,\n sales_receipt_lines.index,\n sales_receipts.transaction_date,\n case \n when sales_receipt_lines.discount_account_id is not null \n then sales_receipt_lines.amount * (-1)\n else sales_receipt_lines.amount\n end as amount,\n case \n when sales_receipt_lines.discount_account_id is not null \n then (sales_receipt_lines.amount * coalesce(-sales_receipts.exchange_rate, -1))\n else (sales_receipt_lines.amount * coalesce(sales_receipts.exchange_rate, 1))\n end as converted_amount,\n sales_receipts.deposit_to_account_id as debit_to_account_id,\n coalesce(sales_receipt_lines.discount_account_id, sales_receipt_lines.sales_item_account_id, items.parent_income_account_id, items.income_account_id) as credit_to_account_id,\n sales_receipts.customer_id,\n coalesce(sales_receipt_lines.sales_item_class_id, sales_receipt_lines.discount_class_id, sales_receipts.class_id) as class_id,\n sales_receipts.department_id\n from sales_receipts\n\n inner join sales_receipt_lines\n on sales_receipts.sales_receipt_id = sales_receipt_lines.sales_receipt_id\n and sales_receipts.source_relation = sales_receipt_lines.source_relation\n\n left join items\n on sales_receipt_lines.sales_item_item_id = items.item_id\n and sales_receipt_lines.source_relation = items.source_relation\n\n where coalesce(sales_receipt_lines.discount_account_id, sales_receipt_lines.sales_item_account_id, sales_receipt_lines.sales_item_item_id) is not null\n),\n\nfinal as (\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as TEXT) as vendor_id,\n amount,\n converted_amount,\n debit_to_account_id as account_id,\n class_id,\n department_id,\n 'debit' as transaction_type,\n 'sales_receipt' as transaction_source\n from sales_receipt_join\n\n union all\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as TEXT) as vendor_id,\n amount,\n converted_amount,\n credit_to_account_id as account_id,\n class_id,\n department_id,\n 'credit' as transaction_type,\n 'sales_receipt' as transaction_source\n from sales_receipt_join\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__vendor_credit_double_entry": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__vendor_credit_double_entry", "resource_type": "model", "package_name": "quickbooks", "path": "double_entry_transactions/int_quickbooks__vendor_credit_double_entry.sql", "original_file_path": "models/double_entry_transactions/int_quickbooks__vendor_credit_double_entry.sql", "unique_id": "model.quickbooks.int_quickbooks__vendor_credit_double_entry", "fqn": ["quickbooks", "double_entry_transactions", "int_quickbooks__vendor_credit_double_entry"], "alias": "int_quickbooks__vendor_credit_double_entry", "checksum": {"name": "sha256", "checksum": "af5f2f0e64e0be7f4ade30f41c726c63bdbb97b068bbfd8766017dfdba866aeb"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that creates a debit record to payable account and a credit record to the expense account.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1730311927.866379, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__vendor_credit_double_entry\"", "raw_code": "/*\nTable that creates a debit record to payable account and a credit record to the expense account.\n*/\n\n--To disable this model, set the using_vendor_credit variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_vendor_credit', True)) }}\n\nwith vendor_credits as (\n\n select *\n from {{ ref('stg_quickbooks__vendor_credit') }}\n),\n\nvendor_credit_lines as (\n\n select *\n from {{ ref('stg_quickbooks__vendor_credit_line') }}\n),\n\nitems as (\n\n select\n item.*,\n parent.income_account_id as parent_income_account_id\n from {{ ref('stg_quickbooks__item') }} item\n\n left join {{ ref('stg_quickbooks__item') }} parent\n on item.parent_item_id = parent.item_id\n and item.source_relation = parent.source_relation\n),\n\nvendor_credit_join as (\n\n select\n vendor_credits.vendor_credit_id as transaction_id,\n vendor_credits.source_relation,\n vendor_credit_lines.index,\n vendor_credits.transaction_date,\n vendor_credit_lines.amount,\n (vendor_credit_lines.amount * coalesce(vendor_credits.exchange_rate, 1)) as converted_amount,\n vendor_credits.payable_account_id as debit_to_account_id,\n coalesce(vendor_credit_lines.account_expense_account_id, items.parent_income_account_id, items.income_account_id, items.expense_account_id) as credit_account_id,\n coalesce(account_expense_customer_id, item_expense_customer_id) as customer_id,\n coalesce(item_expense_class_id, account_expense_class_id) as class_id,\n vendor_credits.vendor_id,\n vendor_credits.department_id\n from vendor_credits\n\n inner join vendor_credit_lines\n on vendor_credits.vendor_credit_id = vendor_credit_lines.vendor_credit_id\n and vendor_credits.source_relation = vendor_credit_lines.source_relation\n\n left join items\n on vendor_credit_lines.item_expense_item_id = items.item_id\n and vendor_credit_lines.source_relation = items.source_relation\n),\n\nfinal as (\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount,\n converted_amount,\n credit_account_id as account_id,\n class_id,\n department_id,\n 'credit' as transaction_type,\n 'vendor_credit' as transaction_source\n from vendor_credit_join\n\n union all\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount,\n converted_amount,\n debit_to_account_id as account_id,\n class_id,\n department_id,\n 'debit' as transaction_type,\n 'vendor_credit' as transaction_source\n from vendor_credit_join\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__vendor_credit", "package": null, "version": null}, {"name": "stg_quickbooks__vendor_credit_line", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.quickbooks_source.stg_quickbooks__vendor_credit", "model.quickbooks_source.stg_quickbooks__vendor_credit_line", "model.quickbooks_source.stg_quickbooks__item"]}, "compiled_path": "target/compiled/quickbooks/models/double_entry_transactions/int_quickbooks__vendor_credit_double_entry.sql", "compiled": true, "compiled_code": "/*\nTable that creates a debit record to payable account and a credit record to the expense account.\n*/\n\n--To disable this model, set the using_vendor_credit variable within your dbt_project.yml file to False.\n\n\nwith vendor_credits as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__vendor_credit\"\n),\n\nvendor_credit_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__vendor_credit_line\"\n),\n\nitems as (\n\n select\n item.*,\n parent.income_account_id as parent_income_account_id\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__item\" item\n\n left join \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__item\" parent\n on item.parent_item_id = parent.item_id\n and item.source_relation = parent.source_relation\n),\n\nvendor_credit_join as (\n\n select\n vendor_credits.vendor_credit_id as transaction_id,\n vendor_credits.source_relation,\n vendor_credit_lines.index,\n vendor_credits.transaction_date,\n vendor_credit_lines.amount,\n (vendor_credit_lines.amount * coalesce(vendor_credits.exchange_rate, 1)) as converted_amount,\n vendor_credits.payable_account_id as debit_to_account_id,\n coalesce(vendor_credit_lines.account_expense_account_id, items.parent_income_account_id, items.income_account_id, items.expense_account_id) as credit_account_id,\n coalesce(account_expense_customer_id, item_expense_customer_id) as customer_id,\n coalesce(item_expense_class_id, account_expense_class_id) as class_id,\n vendor_credits.vendor_id,\n vendor_credits.department_id\n from vendor_credits\n\n inner join vendor_credit_lines\n on vendor_credits.vendor_credit_id = vendor_credit_lines.vendor_credit_id\n and vendor_credits.source_relation = vendor_credit_lines.source_relation\n\n left join items\n on vendor_credit_lines.item_expense_item_id = items.item_id\n and vendor_credit_lines.source_relation = items.source_relation\n),\n\nfinal as (\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount,\n converted_amount,\n credit_account_id as account_id,\n class_id,\n department_id,\n 'credit' as transaction_type,\n 'vendor_credit' as transaction_source\n from vendor_credit_join\n\n union all\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount,\n converted_amount,\n debit_to_account_id as account_id,\n class_id,\n department_id,\n 'debit' as transaction_type,\n 'vendor_credit' as transaction_source\n from vendor_credit_join\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__credit_card_pymt_double_entry": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__credit_card_pymt_double_entry", "resource_type": "model", "package_name": "quickbooks", "path": "double_entry_transactions/int_quickbooks__credit_card_pymt_double_entry.sql", "original_file_path": "models/double_entry_transactions/int_quickbooks__credit_card_pymt_double_entry.sql", "unique_id": "model.quickbooks.int_quickbooks__credit_card_pymt_double_entry", "fqn": ["quickbooks", "double_entry_transactions", "int_quickbooks__credit_card_pymt_double_entry"], "alias": "int_quickbooks__credit_card_pymt_double_entry", "checksum": {"name": "sha256", "checksum": "92059a39d35f397ba2f39e82b551beddf172b46c7449726e48e866a7ebb13742"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that creates a debit record to credit card payment transactions.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1730311927.864625, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__credit_card_pymt_double_entry\"", "raw_code": "/*\nTable that creates a debit record to the associated bank account and a credit record to the specified credit card account.\n*/\n\n--To enable this model, set the using_credit_card_payment_txn variable within your dbt_project.yml file to True.\n{{ config(enabled=var('using_credit_card_payment_txn', False)) }}\n\nwith credit_card_payments as (\n \n select *\n from {{ ref('stg_quickbooks__credit_card_payment_txn') }}\n where is_most_recent_record\n),\n\ncredit_card_payment_prep as (\n\n select\n credit_card_payments.credit_card_payment_id as transaction_id,\n credit_card_payments.source_relation,\n row_number() over (partition by credit_card_payments.credit_card_payment_id, credit_card_payments.source_relation \n order by credit_card_payments.source_relation, credit_card_payments.transaction_date) - 1 as index,\n credit_card_payments.transaction_date,\n credit_card_payments.amount,\n credit_card_payments.amount as converted_amount,\n credit_card_payments.bank_account_id,\n credit_card_payments.credit_card_account_id,\n cast(null as {{ dbt.type_string() }}) as customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n cast(null as {{ dbt.type_string() }}) as class_id,\n cast(null as {{ dbt.type_string() }}) as department_id\n from credit_card_payments\n),\n\nfinal as (\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount, \n converted_amount,\n cast(bank_account_id as {{ dbt.type_string() }}) as account_id,\n class_id,\n department_id,\n 'credit' as transaction_type,\n 'credit card payment' as transaction_source\n from credit_card_payment_prep\n\n union all\n\n select \n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount,\n converted_amount,\n cast(credit_card_account_id as {{ dbt.type_string() }}) as account_id,\n class_id,\n department_id,\n 'debit' as transaction_type,\n 'credit card payment' as transaction_source\n from credit_card_payment_prep\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__credit_card_payment_txn", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__credit_card_payment_txn"]}, "compiled_path": "target/compiled/quickbooks/models/double_entry_transactions/int_quickbooks__credit_card_pymt_double_entry.sql", "compiled": true, "compiled_code": "/*\nTable that creates a debit record to the associated bank account and a credit record to the specified credit card account.\n*/\n\n--To enable this model, set the using_credit_card_payment_txn variable within your dbt_project.yml file to True.\n\n\nwith credit_card_payments as (\n \n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__credit_card_payment_txn\"\n where is_most_recent_record\n),\n\ncredit_card_payment_prep as (\n\n select\n credit_card_payments.credit_card_payment_id as transaction_id,\n credit_card_payments.source_relation,\n row_number() over (partition by credit_card_payments.credit_card_payment_id, credit_card_payments.source_relation \n order by credit_card_payments.source_relation, credit_card_payments.transaction_date) - 1 as index,\n credit_card_payments.transaction_date,\n credit_card_payments.amount,\n credit_card_payments.amount as converted_amount,\n credit_card_payments.bank_account_id,\n credit_card_payments.credit_card_account_id,\n cast(null as TEXT) as customer_id,\n cast(null as TEXT) as vendor_id,\n cast(null as TEXT) as class_id,\n cast(null as TEXT) as department_id\n from credit_card_payments\n),\n\nfinal as (\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount, \n converted_amount,\n cast(bank_account_id as TEXT) as account_id,\n class_id,\n department_id,\n 'credit' as transaction_type,\n 'credit card payment' as transaction_source\n from credit_card_payment_prep\n\n union all\n\n select \n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount,\n converted_amount,\n cast(credit_card_account_id as TEXT) as account_id,\n class_id,\n department_id,\n 'debit' as transaction_type,\n 'credit card payment' as transaction_source\n from credit_card_payment_prep\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__bill_double_entry": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__bill_double_entry", "resource_type": "model", "package_name": "quickbooks", "path": "double_entry_transactions/int_quickbooks__bill_double_entry.sql", "original_file_path": "models/double_entry_transactions/int_quickbooks__bill_double_entry.sql", "unique_id": "model.quickbooks.int_quickbooks__bill_double_entry", "fqn": ["quickbooks", "double_entry_transactions", "int_quickbooks__bill_double_entry"], "alias": "int_quickbooks__bill_double_entry", "checksum": {"name": "sha256", "checksum": "3a79d11a2f5382f4a140189a7d4332583fed166e3213c1178aadb962c83a61a9"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that creates a debit record to the specified expense account and credit record to accounts payable for each bill transaction.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1730311927.863877, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__bill_double_entry\"", "raw_code": "/*\nTable that creates a debit record to the specified expense account and credit record to accounts payable for each bill transaction.\n*/\n\n--To disable this model, set the using_bill variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_bill', True)) }}\n\nwith bills as (\n\n select *\n from {{ ref('stg_quickbooks__bill') }}\n),\n\nbill_lines as (\n\n select *\n from {{ ref('stg_quickbooks__bill_line') }}\n),\n\nitems as (\n\n select\n item.*,\n parent.expense_account_id as parent_expense_account_id,\n parent.income_account_id as parent_income_account_id\n from {{ ref('stg_quickbooks__item') }} item\n\n left join {{ ref('stg_quickbooks__item') }} parent\n on item.parent_item_id = parent.item_id\n and item.source_relation = parent.source_relation\n),\n\nbill_join as (\n select\n bills.bill_id as transaction_id,\n bills.source_relation,\n bill_lines.index,\n bills.transaction_date,\n bill_lines.amount,\n (bill_lines.amount * coalesce(bills.exchange_rate, 1)) as converted_amount,\n coalesce(bill_lines.account_expense_account_id,items.asset_account_id, items.expense_account_id, items.parent_expense_account_id, items.expense_account_id, items.parent_income_account_id, items.income_account_id) as payed_to_account_id,\n bills.payable_account_id,\n coalesce(bill_lines.account_expense_customer_id, bill_lines.item_expense_customer_id) as customer_id,\n coalesce(bill_lines.item_expense_class_id, bill_lines.account_expense_class_id) as class_id,\n bills.vendor_id,\n bills.department_id\n from bills\n\n inner join bill_lines\n on bills.bill_id = bill_lines.bill_id\n and bills.source_relation = bill_lines.source_relation\n\n left join items\n on bill_lines.item_expense_item_id = items.item_id\n and bill_lines.source_relation = items.source_relation\n),\n\nfinal as (\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount,\n converted_amount,\n payed_to_account_id as account_id,\n class_id,\n department_id,\n 'debit' as transaction_type,\n 'bill' as transaction_source\n from bill_join\n\n union all\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount,\n converted_amount,\n payable_account_id as account_id,\n class_id,\n department_id,\n 'credit' as transaction_type,\n 'bill' as transaction_source\n from bill_join\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__bill", "package": null, "version": null}, {"name": "stg_quickbooks__bill_line", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.quickbooks_source.stg_quickbooks__bill", "model.quickbooks_source.stg_quickbooks__bill_line", "model.quickbooks_source.stg_quickbooks__item"]}, "compiled_path": "target/compiled/quickbooks/models/double_entry_transactions/int_quickbooks__bill_double_entry.sql", "compiled": true, "compiled_code": "/*\nTable that creates a debit record to the specified expense account and credit record to accounts payable for each bill transaction.\n*/\n\n--To disable this model, set the using_bill variable within your dbt_project.yml file to False.\n\n\nwith bills as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill\"\n),\n\nbill_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill_line\"\n),\n\nitems as (\n\n select\n item.*,\n parent.expense_account_id as parent_expense_account_id,\n parent.income_account_id as parent_income_account_id\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__item\" item\n\n left join \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__item\" parent\n on item.parent_item_id = parent.item_id\n and item.source_relation = parent.source_relation\n),\n\nbill_join as (\n select\n bills.bill_id as transaction_id,\n bills.source_relation,\n bill_lines.index,\n bills.transaction_date,\n bill_lines.amount,\n (bill_lines.amount * coalesce(bills.exchange_rate, 1)) as converted_amount,\n coalesce(bill_lines.account_expense_account_id,items.asset_account_id, items.expense_account_id, items.parent_expense_account_id, items.expense_account_id, items.parent_income_account_id, items.income_account_id) as payed_to_account_id,\n bills.payable_account_id,\n coalesce(bill_lines.account_expense_customer_id, bill_lines.item_expense_customer_id) as customer_id,\n coalesce(bill_lines.item_expense_class_id, bill_lines.account_expense_class_id) as class_id,\n bills.vendor_id,\n bills.department_id\n from bills\n\n inner join bill_lines\n on bills.bill_id = bill_lines.bill_id\n and bills.source_relation = bill_lines.source_relation\n\n left join items\n on bill_lines.item_expense_item_id = items.item_id\n and bill_lines.source_relation = items.source_relation\n),\n\nfinal as (\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount,\n converted_amount,\n payed_to_account_id as account_id,\n class_id,\n department_id,\n 'debit' as transaction_type,\n 'bill' as transaction_source\n from bill_join\n\n union all\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount,\n converted_amount,\n payable_account_id as account_id,\n class_id,\n department_id,\n 'credit' as transaction_type,\n 'bill' as transaction_source\n from bill_join\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__payment_double_entry": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__payment_double_entry", "resource_type": "model", "package_name": "quickbooks", "path": "double_entry_transactions/int_quickbooks__payment_double_entry.sql", "original_file_path": "models/double_entry_transactions/int_quickbooks__payment_double_entry.sql", "unique_id": "model.quickbooks.int_quickbooks__payment_double_entry", "fqn": ["quickbooks", "double_entry_transactions", "int_quickbooks__payment_double_entry"], "alias": "int_quickbooks__payment_double_entry", "checksum": {"name": "sha256", "checksum": "fba664d869d74d9015c7cf239119ff64261f81a6306c1326cd3f3d2d4e3f171a"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that creates a debit record to either undeposited funds or a specified cash account and a credit record to accounts receivable.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1730311927.865435, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__payment_double_entry\"", "raw_code": "/*\nTable that creates a debit record to either undeposited funds or a specified cash account and a credit record to accounts receivable.\n*/\n\n--To disable this model, set the using_payment variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_payment', True)) }}\n\nwith payments as (\n\n select *\n from {{ ref('stg_quickbooks__payment') }}\n),\n\npayment_lines as (\n\n select *\n from {{ ref('stg_quickbooks__payment_line') }}\n),\n\naccounts as (\n\n select *\n from {{ ref('stg_quickbooks__account') }}\n),\n\nar_accounts as (\n\n select\n account_id,\n currency_id,\n source_relation\n from accounts\n\n where account_type = '{{ var('quickbooks__accounts_receivable_reference', 'Accounts Receivable') }}'\n and is_active\n and not is_sub_account\n),\n\npayment_join as (\n\n select\n payments.payment_id as transaction_id,\n payments.source_relation,\n row_number() over(partition by payments.payment_id, payments.source_relation \n order by payments.source_relation, payments.transaction_date) - 1 as index,\n payments.transaction_date,\n payments.total_amount as amount,\n (payments.total_amount * coalesce(payments.exchange_rate, 1)) as converted_amount,\n payments.deposit_to_account_id,\n payments.receivable_account_id,\n payments.customer_id,\n payments.currency_id\n from payments\n),\n\nfinal as (\n\n select\n transaction_id,\n payment_join.source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n amount,\n converted_amount,\n deposit_to_account_id as account_id,\n cast(null as {{ dbt.type_string() }}) as class_id,\n cast(null as {{ dbt.type_string() }}) as department_id,\n 'debit' as transaction_type,\n 'payment' as transaction_source\n from payment_join\n\n union all\n\n select\n transaction_id,\n payment_join.source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n amount,\n converted_amount,\n coalesce(receivable_account_id, ar_accounts.account_id) as account_id,\n cast(null as {{ dbt.type_string() }}) as class_id,\n cast(null as {{ dbt.type_string() }}) as department_id,\n 'credit' as transaction_type,\n 'payment' as transaction_source\n from payment_join\n\n left join ar_accounts\n on ar_accounts.currency_id = payment_join.currency_id\n and ar_accounts.source_relation = payment_join.source_relation\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__payment", "package": null, "version": null}, {"name": "stg_quickbooks__payment_line", "package": null, "version": null}, {"name": "stg_quickbooks__account", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__payment", "model.quickbooks_source.stg_quickbooks__payment_line", "model.quickbooks_source.stg_quickbooks__account"]}, "compiled_path": "target/compiled/quickbooks/models/double_entry_transactions/int_quickbooks__payment_double_entry.sql", "compiled": true, "compiled_code": "/*\nTable that creates a debit record to either undeposited funds or a specified cash account and a credit record to accounts receivable.\n*/\n\n--To disable this model, set the using_payment variable within your dbt_project.yml file to False.\n\n\nwith payments as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__payment\"\n),\n\npayment_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__payment_line\"\n),\n\naccounts as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__account\"\n),\n\nar_accounts as (\n\n select\n account_id,\n currency_id,\n source_relation\n from accounts\n\n where account_type = 'Accounts Receivable'\n and is_active\n and not is_sub_account\n),\n\npayment_join as (\n\n select\n payments.payment_id as transaction_id,\n payments.source_relation,\n row_number() over(partition by payments.payment_id, payments.source_relation \n order by payments.source_relation, payments.transaction_date) - 1 as index,\n payments.transaction_date,\n payments.total_amount as amount,\n (payments.total_amount * coalesce(payments.exchange_rate, 1)) as converted_amount,\n payments.deposit_to_account_id,\n payments.receivable_account_id,\n payments.customer_id,\n payments.currency_id\n from payments\n),\n\nfinal as (\n\n select\n transaction_id,\n payment_join.source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as TEXT) as vendor_id,\n amount,\n converted_amount,\n deposit_to_account_id as account_id,\n cast(null as TEXT) as class_id,\n cast(null as TEXT) as department_id,\n 'debit' as transaction_type,\n 'payment' as transaction_source\n from payment_join\n\n union all\n\n select\n transaction_id,\n payment_join.source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as TEXT) as vendor_id,\n amount,\n converted_amount,\n coalesce(receivable_account_id, ar_accounts.account_id) as account_id,\n cast(null as TEXT) as class_id,\n cast(null as TEXT) as department_id,\n 'credit' as transaction_type,\n 'payment' as transaction_source\n from payment_join\n\n left join ar_accounts\n on ar_accounts.currency_id = payment_join.currency_id\n and ar_accounts.source_relation = payment_join.source_relation\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__invoice_double_entry": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__invoice_double_entry", "resource_type": "model", "package_name": "quickbooks", "path": "double_entry_transactions/int_quickbooks__invoice_double_entry.sql", "original_file_path": "models/double_entry_transactions/int_quickbooks__invoice_double_entry.sql", "unique_id": "model.quickbooks.int_quickbooks__invoice_double_entry", "fqn": ["quickbooks", "double_entry_transactions", "int_quickbooks__invoice_double_entry"], "alias": "int_quickbooks__invoice_double_entry", "checksum": {"name": "sha256", "checksum": "109b388d564056dc37725c7532a79bce63deeaa0c635476551a6e6f02c32c1a2"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that creates a debit record to accounts receivable and a credit record to a specified revenue account indicated on the invoice line.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1730311927.865047, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__invoice_double_entry\"", "raw_code": "/*\nTable that creates a debit record to accounts receivable and a credit record to a specified revenue account indicated on the invoice line.\n*/\n\n--To disable this model, set the using_invoice variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_invoice', True)) }}\n\nwith invoices as (\n select *\n from {{ ref('stg_quickbooks__invoice') }}\n),\n\ninvoice_lines as (\n select *\n from {{ ref('stg_quickbooks__invoice_line') }}\n),\n\nitems as (\n select\n item.*,\n parent.income_account_id as parent_income_account_id\n from {{ ref('stg_quickbooks__item') }} item\n\n left join {{ ref('stg_quickbooks__item') }} parent\n on item.parent_item_id = parent.item_id\n and item.source_relation = parent.source_relation\n),\n\naccounts as (\n select *\n from {{ ref('stg_quickbooks__account') }}\n),\n\n\n{% if var('using_invoice_bundle', True) %}\n\ninvoice_bundles as (\n\n select *\n from {{ ref('stg_quickbooks__invoice_line_bundle') }}\n),\n\nbundles as (\n\n select *\n from {{ ref('stg_quickbooks__bundle') }}\n),\n\nbundle_items as (\n\n select *\n from {{ ref('stg_quickbooks__bundle_item') }}\n),\n\nincome_accounts as (\n\n select *\n from accounts\n\n where account_sub_type = '{{ var('quickbooks__sales_of_product_income_reference', 'SalesOfProductIncome') }}'\n),\n\nbundle_income_accounts as (\n\n select distinct\n coalesce(parent.income_account_id, income_accounts.account_id) as account_id,\n coalesce(parent.source_relation, income_accounts.source_relation) as source_relation,\n bundle_items.bundle_id\n\n from items\n\n left join items as parent\n on items.parent_item_id = parent.item_id\n and items.source_relation = parent.source_relation\n\n inner join income_accounts\n on income_accounts.account_id = items.income_account_id\n and income_accounts.source_relation = items.source_relation\n\n inner join bundle_items\n on bundle_items.item_id = items.item_id\n and bundle_items.source_relation = items.source_relation\n),\n{% endif %}\n\nar_accounts as (\n\n select \n account_id,\n source_relation\n from accounts\n\n where account_type = '{{ var('quickbooks__accounts_receivable_reference', 'Accounts Receivable') }}'\n and is_active\n and not is_sub_account\n),\n\ninvoice_join as (\n\n select\n invoices.invoice_id as transaction_id,\n invoices.source_relation,\n invoice_lines.index,\n invoices.transaction_date as transaction_date,\n\n {% if var('using_invoice_bundle', True) %}\n case when invoice_lines.bundle_id is not null and invoices.total_amount = 0 then invoices.total_amount\n else invoice_lines.amount\n end as amount,\n case when invoice_lines.bundle_id is not null and invoices.total_amount = 0 \n then (invoices.total_amount * coalesce(invoices.exchange_rate, 1))\n else (invoice_lines.amount * coalesce(invoices.exchange_rate, 1))\n end as converted_amount,\n case when invoice_lines.detail_type is not null then invoice_lines.detail_type\n when coalesce(invoice_lines.account_id, invoice_lines.sales_item_account_id, items.parent_income_account_id, items.income_account_id, bundle_income_accounts.account_id) is not null then 'SalesItemLineDetail'\n when invoice_lines.discount_account_id is not null then 'DiscountLineDetail'\n when coalesce(invoice_lines.account_id, invoice_lines.sales_item_account_id, items.parent_income_account_id, items.income_account_id, bundle_income_accounts.account_id, invoice_lines.discount_account_id) is null then 'NoAccountMapping'\n end as invoice_line_transaction_type,\n coalesce(invoice_lines.account_id, invoice_lines.sales_item_account_id, items.parent_income_account_id, items.income_account_id, bundle_income_accounts.account_id, invoice_lines.discount_account_id) as account_id,\n\n {% else %}\n invoice_lines.amount as amount,\n (invoice_lines.amount * coalesce(invoices.exchange_rate, 1)) as converted_amount,\n case when invoice_lines.detail_type is not null then invoice_lines.detail_type\n when coalesce(invoice_lines.account_id, invoice_lines.sales_item_account_id, items.parent_income_account_id, items.income_account_id) is not null then 'SalesItemLineDetail'\n when invoice_lines.discount_account_id is not null then 'DiscountLineDetail'\n when coalesce(invoice_lines.account_id, invoice_lines.sales_item_account_id, items.parent_income_account_id, items.income_account_id, invoice_lines.discount_account_id) is null then 'NoAccountMapping'\n end as invoice_line_transaction_type,\n coalesce(invoice_lines.account_id, invoice_lines.sales_item_account_id, items.income_account_id, invoice_lines.discount_account_id) as account_id,\n {% endif %}\n\n coalesce(invoice_lines.sales_item_class_id, invoice_lines.discount_class_id, invoices.class_id) as class_id,\n\n invoices.customer_id,\n invoices.department_id\n\n from invoices\n\n inner join invoice_lines\n on invoices.invoice_id = invoice_lines.invoice_id\n and invoices.source_relation = invoice_lines.source_relation\n\n left join items\n on coalesce(invoice_lines.sales_item_item_id, invoice_lines.item_id) = items.item_id\n and invoice_lines.source_relation = items.source_relation\n\n {% if var('using_invoice_bundle', True) %}\n left join bundle_income_accounts\n on bundle_income_accounts.bundle_id = invoice_lines.bundle_id\n and bundle_income_accounts.source_relation = invoice_lines.source_relation\n\n {% endif %}\n),\n\ninvoice_filter as (\n\n select *\n from invoice_join\n where invoice_line_transaction_type not in ('SubTotalLineDetail','NoAccountMapping')\n),\n\nfinal as (\n\n select\n transaction_id,\n invoice_filter.source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n amount,\n converted_amount,\n account_id,\n class_id,\n department_id,\n case when invoice_line_transaction_type = 'DiscountLineDetail' then 'debit'\n else 'credit' \n end as transaction_type,\n case when invoice_line_transaction_type = 'DiscountLineDetail' then 'invoice discount'\n else 'invoice'\n end as transaction_source\n from invoice_filter\n\n union all\n\n select\n transaction_id,\n invoice_filter.source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n amount,\n converted_amount,\n ar_accounts.account_id,\n class_id,\n department_id,\n case when invoice_line_transaction_type = 'DiscountLineDetail' then 'credit'\n else 'debit' \n end as transaction_type,\n case when invoice_line_transaction_type = 'DiscountLineDetail' then 'invoice discount'\n else 'invoice'\n end as transaction_source\n from invoice_filter\n\n left join ar_accounts\n on ar_accounts.source_relation = invoice_filter.source_relation\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__invoice", "package": null, "version": null}, {"name": "stg_quickbooks__invoice_line", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}, {"name": "stg_quickbooks__account", "package": null, "version": null}, {"name": "stg_quickbooks__invoice_line_bundle", "package": null, "version": null}, {"name": "stg_quickbooks__bundle", "package": null, "version": null}, {"name": "stg_quickbooks__bundle_item", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__invoice", "model.quickbooks_source.stg_quickbooks__invoice_line", "model.quickbooks_source.stg_quickbooks__item", "model.quickbooks_source.stg_quickbooks__account", "model.quickbooks_source.stg_quickbooks__invoice_line_bundle", "model.quickbooks_source.stg_quickbooks__bundle", "model.quickbooks_source.stg_quickbooks__bundle_item"]}, "compiled_path": "target/compiled/quickbooks/models/double_entry_transactions/int_quickbooks__invoice_double_entry.sql", "compiled": true, "compiled_code": "/*\nTable that creates a debit record to accounts receivable and a credit record to a specified revenue account indicated on the invoice line.\n*/\n\n--To disable this model, set the using_invoice variable within your dbt_project.yml file to False.\n\n\nwith invoices as (\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__invoice\"\n),\n\ninvoice_lines as (\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__invoice_line\"\n),\n\nitems as (\n select\n item.*,\n parent.income_account_id as parent_income_account_id\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__item\" item\n\n left join \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__item\" parent\n on item.parent_item_id = parent.item_id\n and item.source_relation = parent.source_relation\n),\n\naccounts as (\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__account\"\n),\n\n\n\n\ninvoice_bundles as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__invoice_line_bundle\"\n),\n\nbundles as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bundle\"\n),\n\nbundle_items as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bundle_item\"\n),\n\nincome_accounts as (\n\n select *\n from accounts\n\n where account_sub_type = 'SalesOfProductIncome'\n),\n\nbundle_income_accounts as (\n\n select distinct\n coalesce(parent.income_account_id, income_accounts.account_id) as account_id,\n coalesce(parent.source_relation, income_accounts.source_relation) as source_relation,\n bundle_items.bundle_id\n\n from items\n\n left join items as parent\n on items.parent_item_id = parent.item_id\n and items.source_relation = parent.source_relation\n\n inner join income_accounts\n on income_accounts.account_id = items.income_account_id\n and income_accounts.source_relation = items.source_relation\n\n inner join bundle_items\n on bundle_items.item_id = items.item_id\n and bundle_items.source_relation = items.source_relation\n),\n\n\nar_accounts as (\n\n select \n account_id,\n source_relation\n from accounts\n\n where account_type = 'Accounts Receivable'\n and is_active\n and not is_sub_account\n),\n\ninvoice_join as (\n\n select\n invoices.invoice_id as transaction_id,\n invoices.source_relation,\n invoice_lines.index,\n invoices.transaction_date as transaction_date,\n\n \n case when invoice_lines.bundle_id is not null and invoices.total_amount = 0 then invoices.total_amount\n else invoice_lines.amount\n end as amount,\n case when invoice_lines.bundle_id is not null and invoices.total_amount = 0 \n then (invoices.total_amount * coalesce(invoices.exchange_rate, 1))\n else (invoice_lines.amount * coalesce(invoices.exchange_rate, 1))\n end as converted_amount,\n case when invoice_lines.detail_type is not null then invoice_lines.detail_type\n when coalesce(invoice_lines.account_id, invoice_lines.sales_item_account_id, items.parent_income_account_id, items.income_account_id, bundle_income_accounts.account_id) is not null then 'SalesItemLineDetail'\n when invoice_lines.discount_account_id is not null then 'DiscountLineDetail'\n when coalesce(invoice_lines.account_id, invoice_lines.sales_item_account_id, items.parent_income_account_id, items.income_account_id, bundle_income_accounts.account_id, invoice_lines.discount_account_id) is null then 'NoAccountMapping'\n end as invoice_line_transaction_type,\n coalesce(invoice_lines.account_id, invoice_lines.sales_item_account_id, items.parent_income_account_id, items.income_account_id, bundle_income_accounts.account_id, invoice_lines.discount_account_id) as account_id,\n\n \n\n coalesce(invoice_lines.sales_item_class_id, invoice_lines.discount_class_id, invoices.class_id) as class_id,\n\n invoices.customer_id,\n invoices.department_id\n\n from invoices\n\n inner join invoice_lines\n on invoices.invoice_id = invoice_lines.invoice_id\n and invoices.source_relation = invoice_lines.source_relation\n\n left join items\n on coalesce(invoice_lines.sales_item_item_id, invoice_lines.item_id) = items.item_id\n and invoice_lines.source_relation = items.source_relation\n\n \n left join bundle_income_accounts\n on bundle_income_accounts.bundle_id = invoice_lines.bundle_id\n and bundle_income_accounts.source_relation = invoice_lines.source_relation\n\n \n),\n\ninvoice_filter as (\n\n select *\n from invoice_join\n where invoice_line_transaction_type not in ('SubTotalLineDetail','NoAccountMapping')\n),\n\nfinal as (\n\n select\n transaction_id,\n invoice_filter.source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as TEXT) as vendor_id,\n amount,\n converted_amount,\n account_id,\n class_id,\n department_id,\n case when invoice_line_transaction_type = 'DiscountLineDetail' then 'debit'\n else 'credit' \n end as transaction_type,\n case when invoice_line_transaction_type = 'DiscountLineDetail' then 'invoice discount'\n else 'invoice'\n end as transaction_source\n from invoice_filter\n\n union all\n\n select\n transaction_id,\n invoice_filter.source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as TEXT) as vendor_id,\n amount,\n converted_amount,\n ar_accounts.account_id,\n class_id,\n department_id,\n case when invoice_line_transaction_type = 'DiscountLineDetail' then 'credit'\n else 'debit' \n end as transaction_type,\n case when invoice_line_transaction_type = 'DiscountLineDetail' then 'invoice discount'\n else 'invoice'\n end as transaction_source\n from invoice_filter\n\n left join ar_accounts\n on ar_accounts.source_relation = invoice_filter.source_relation\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__invoice_transactions": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__invoice_transactions", "resource_type": "model", "package_name": "quickbooks", "path": "transaction_lines/int_quickbooks__invoice_transactions.sql", "original_file_path": "models/transaction_lines/int_quickbooks__invoice_transactions.sql", "unique_id": "model.quickbooks.int_quickbooks__invoice_transactions", "fqn": ["quickbooks", "transaction_lines", "int_quickbooks__invoice_transactions"], "alias": "int_quickbooks__invoice_transactions", "checksum": {"name": "sha256", "checksum": "b4a1fe70038ca5821acb0820eefb3b2ea0c614d4a8c380a6eb8dabbdc551fde0"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1730311926.7482398, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__invoice_transactions\"", "raw_code": "--To disable this model, set the using_invoice variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_invoice', True)) }}\n\nwith invoices as (\n\n select *\n from {{ ref('stg_quickbooks__invoice') }}\n),\n\ninvoice_lines as (\n\n select *\n from {{ ref('stg_quickbooks__invoice_line') }}\n),\n\nitems as (\n\n select *\n from {{ ref('stg_quickbooks__item') }}\n),\n\nfinal as (\n\n select\n invoices.invoice_id as transaction_id,\n invoices.source_relation,\n invoice_lines.index as transaction_line_id,\n invoices.doc_number,\n 'invoice' as transaction_type,\n invoices.transaction_date,\n coalesce(invoice_lines.sales_item_item_id, invoice_lines.item_id) as item_id,\n coalesce(invoice_lines.quantity, invoice_lines.sales_item_quantity) as item_quantity,\n invoice_lines.sales_item_unit_price as item_unit_price,\n case when invoice_lines.account_id is null\n then coalesce(items.income_account_id, items.expense_account_id, items.asset_account_id)\n else invoice_lines.account_id\n end as account_id,\n coalesce(invoice_lines.discount_class_id, invoice_lines.sales_item_class_id) as class_id,\n invoices.department_id,\n invoices.customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n cast(null as {{ dbt.type_string() }}) as billable_status,\n invoice_lines.description,\n invoice_lines.amount,\n invoice_lines.amount * coalesce(invoices.exchange_rate, 1) as converted_amount,\n invoices.total_amount,\n invoices.total_amount * coalesce(invoices.exchange_rate, 1) as total_converted_amount\n from invoices\n\n inner join invoice_lines\n on invoices.invoice_id = invoice_lines.invoice_id\n and invoices.source_relation = invoice_lines.source_relation\n\n left join items\n on coalesce(invoice_lines.sales_item_item_id, invoice_lines.item_id) = items.item_id\n and invoice_lines.source_relation = items.source_relation\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__invoice", "package": null, "version": null}, {"name": "stg_quickbooks__invoice_line", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__invoice", "model.quickbooks_source.stg_quickbooks__invoice_line", "model.quickbooks_source.stg_quickbooks__item"]}, "compiled_path": "target/compiled/quickbooks/models/transaction_lines/int_quickbooks__invoice_transactions.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_invoice variable within your dbt_project.yml file to False.\n\n\nwith invoices as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__invoice\"\n),\n\ninvoice_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__invoice_line\"\n),\n\nitems as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__item\"\n),\n\nfinal as (\n\n select\n invoices.invoice_id as transaction_id,\n invoices.source_relation,\n invoice_lines.index as transaction_line_id,\n invoices.doc_number,\n 'invoice' as transaction_type,\n invoices.transaction_date,\n coalesce(invoice_lines.sales_item_item_id, invoice_lines.item_id) as item_id,\n coalesce(invoice_lines.quantity, invoice_lines.sales_item_quantity) as item_quantity,\n invoice_lines.sales_item_unit_price as item_unit_price,\n case when invoice_lines.account_id is null\n then coalesce(items.income_account_id, items.expense_account_id, items.asset_account_id)\n else invoice_lines.account_id\n end as account_id,\n coalesce(invoice_lines.discount_class_id, invoice_lines.sales_item_class_id) as class_id,\n invoices.department_id,\n invoices.customer_id,\n cast(null as TEXT) as vendor_id,\n cast(null as TEXT) as billable_status,\n invoice_lines.description,\n invoice_lines.amount,\n invoice_lines.amount * coalesce(invoices.exchange_rate, 1) as converted_amount,\n invoices.total_amount,\n invoices.total_amount * coalesce(invoices.exchange_rate, 1) as total_converted_amount\n from invoices\n\n inner join invoice_lines\n on invoices.invoice_id = invoice_lines.invoice_id\n and invoices.source_relation = invoice_lines.source_relation\n\n left join items\n on coalesce(invoice_lines.sales_item_item_id, invoice_lines.item_id) = items.item_id\n and invoice_lines.source_relation = items.source_relation\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__bill_transactions": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__bill_transactions", "resource_type": "model", "package_name": "quickbooks", "path": "transaction_lines/int_quickbooks__bill_transactions.sql", "original_file_path": "models/transaction_lines/int_quickbooks__bill_transactions.sql", "unique_id": "model.quickbooks.int_quickbooks__bill_transactions", "fqn": ["quickbooks", "transaction_lines", "int_quickbooks__bill_transactions"], "alias": "int_quickbooks__bill_transactions", "checksum": {"name": "sha256", "checksum": "d0d61e082532c9901df6e3cf136a7d63475c717631ebb3951661ef72c7046790"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that joins the bill and corresponding bill lines into a single bill transactions table.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1730311927.866637, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__bill_transactions\"", "raw_code": "--To disable this model, set the using_bill variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_bill', True)) }}\n\nwith bills as (\n\n select *\n from {{ ref('stg_quickbooks__bill') }} \n),\n\nbill_lines as (\n\n select *\n from {{ ref('stg_quickbooks__bill_line') }}\n),\n\nitems as (\n\n select *\n from {{ref('stg_quickbooks__item')}}\n),\n\nfinal as (\n\n select\n bills.bill_id as transaction_id,\n bills.source_relation,\n bill_lines.index as transaction_line_id,\n bills.doc_number,\n 'bill' as transaction_type,\n bills.transaction_date,\n coalesce(bill_lines.account_expense_account_id, items.expense_account_id) as account_id,\n bill_lines.account_expense_class_id as class_id,\n bills.department_id,\n coalesce(bill_lines.account_expense_customer_id, bill_lines.item_expense_customer_id) as customer_id,\n bills.vendor_id,\n coalesce(bill_lines.account_expense_billable_status, bill_lines.item_expense_billable_status) as billable_status,\n coalesce(bill_lines.description, items.name) as description,\n bill_lines.amount,\n bill_lines.amount * (coalesce(bills.exchange_rate, 1)) as converted_amount,\n bills.total_amount,\n bills.total_amount * (coalesce(bills.exchange_rate, 1)) as total_converted_amount\n from bills\n\n inner join bill_lines \n on bills.bill_id = bill_lines.bill_id\n and bills.source_relation = bill_lines.source_relation\n\n left join items\n on bill_lines.item_expense_item_id = items.item_id\n and bill_lines.source_relation = items.source_relation\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__bill", "package": null, "version": null}, {"name": "stg_quickbooks__bill_line", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.quickbooks_source.stg_quickbooks__bill", "model.quickbooks_source.stg_quickbooks__bill_line", "model.quickbooks_source.stg_quickbooks__item"]}, "compiled_path": "target/compiled/quickbooks/models/transaction_lines/int_quickbooks__bill_transactions.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_bill variable within your dbt_project.yml file to False.\n\n\nwith bills as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill\" \n),\n\nbill_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill_line\"\n),\n\nitems as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__item\"\n),\n\nfinal as (\n\n select\n bills.bill_id as transaction_id,\n bills.source_relation,\n bill_lines.index as transaction_line_id,\n bills.doc_number,\n 'bill' as transaction_type,\n bills.transaction_date,\n coalesce(bill_lines.account_expense_account_id, items.expense_account_id) as account_id,\n bill_lines.account_expense_class_id as class_id,\n bills.department_id,\n coalesce(bill_lines.account_expense_customer_id, bill_lines.item_expense_customer_id) as customer_id,\n bills.vendor_id,\n coalesce(bill_lines.account_expense_billable_status, bill_lines.item_expense_billable_status) as billable_status,\n coalesce(bill_lines.description, items.name) as description,\n bill_lines.amount,\n bill_lines.amount * (coalesce(bills.exchange_rate, 1)) as converted_amount,\n bills.total_amount,\n bills.total_amount * (coalesce(bills.exchange_rate, 1)) as total_converted_amount\n from bills\n\n inner join bill_lines \n on bills.bill_id = bill_lines.bill_id\n and bills.source_relation = bill_lines.source_relation\n\n left join items\n on bill_lines.item_expense_item_id = items.item_id\n and bill_lines.source_relation = items.source_relation\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__journal_entry_transactions": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__journal_entry_transactions", "resource_type": "model", "package_name": "quickbooks", "path": "transaction_lines/int_quickbooks__journal_entry_transactions.sql", "original_file_path": "models/transaction_lines/int_quickbooks__journal_entry_transactions.sql", "unique_id": "model.quickbooks.int_quickbooks__journal_entry_transactions", "fqn": ["quickbooks", "transaction_lines", "int_quickbooks__journal_entry_transactions"], "alias": "int_quickbooks__journal_entry_transactions", "checksum": {"name": "sha256", "checksum": "be2eed56f38a27a50b6c950aeb5a86f8ee69d1af2d20e47397b2c2e8d3928efc"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that joins the journal entry and corresponding journal entry lines into a single journal entry transactions table.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1730311927.867181, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__journal_entry_transactions\"", "raw_code": "--To disable this model, set the using_journal_entry variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_journal_entry', True)) }}\n\nwith journal_entries as (\n\n select *\n from {{ ref('stg_quickbooks__journal_entry') }}\n),\n\njournal_entry_lines as (\n\n select *\n from {{ ref('stg_quickbooks__journal_entry_line') }}\n),\n\nfinal as (\n\n select\n journal_entries.journal_entry_id as transaction_id,\n journal_entries.source_relation,\n journal_entry_lines.index as transaction_line_id,\n journal_entries.doc_number,\n 'journal_entry' as transaction_type,\n journal_entries.transaction_date,\n journal_entry_lines.account_id,\n journal_entry_lines.class_id,\n journal_entry_lines.department_id,\n journal_entry_lines.customer_id,\n journal_entry_lines.vendor_id,\n cast(billable_status as {{ dbt.type_string() }}) as billable_status,\n journal_entry_lines.description,\n case when lower(journal_entry_lines.posting_type) = 'credit'\n then journal_entry_lines.amount * -1 \n else journal_entry_lines.amount \n end as amount,\n case when lower(journal_entry_lines.posting_type) = 'credit'\n then journal_entry_lines.amount * coalesce(-journal_entries.exchange_rate, -1)\n else journal_entry_lines.amount * coalesce(journal_entries.exchange_rate, 1)\n end as converted_amount,\n journal_entries.total_amount,\n journal_entries.total_amount * coalesce(journal_entries.exchange_rate, 1) as total_converted_amount\n from journal_entries\n\n inner join journal_entry_lines\n on journal_entries.journal_entry_id = journal_entry_lines.journal_entry_id\n and journal_entries.source_relation = journal_entry_lines.source_relation\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__journal_entry", "package": null, "version": null}, {"name": "stg_quickbooks__journal_entry_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__journal_entry", "model.quickbooks_source.stg_quickbooks__journal_entry_line"]}, "compiled_path": "target/compiled/quickbooks/models/transaction_lines/int_quickbooks__journal_entry_transactions.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_journal_entry variable within your dbt_project.yml file to False.\n\n\nwith journal_entries as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__journal_entry\"\n),\n\njournal_entry_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__journal_entry_line\"\n),\n\nfinal as (\n\n select\n journal_entries.journal_entry_id as transaction_id,\n journal_entries.source_relation,\n journal_entry_lines.index as transaction_line_id,\n journal_entries.doc_number,\n 'journal_entry' as transaction_type,\n journal_entries.transaction_date,\n journal_entry_lines.account_id,\n journal_entry_lines.class_id,\n journal_entry_lines.department_id,\n journal_entry_lines.customer_id,\n journal_entry_lines.vendor_id,\n cast(billable_status as TEXT) as billable_status,\n journal_entry_lines.description,\n case when lower(journal_entry_lines.posting_type) = 'credit'\n then journal_entry_lines.amount * -1 \n else journal_entry_lines.amount \n end as amount,\n case when lower(journal_entry_lines.posting_type) = 'credit'\n then journal_entry_lines.amount * coalesce(-journal_entries.exchange_rate, -1)\n else journal_entry_lines.amount * coalesce(journal_entries.exchange_rate, 1)\n end as converted_amount,\n journal_entries.total_amount,\n journal_entries.total_amount * coalesce(journal_entries.exchange_rate, 1) as total_converted_amount\n from journal_entries\n\n inner join journal_entry_lines\n on journal_entries.journal_entry_id = journal_entry_lines.journal_entry_id\n and journal_entries.source_relation = journal_entry_lines.source_relation\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__refund_receipt_transactions": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__refund_receipt_transactions", "resource_type": "model", "package_name": "quickbooks", "path": "transaction_lines/int_quickbooks__refund_receipt_transactions.sql", "original_file_path": "models/transaction_lines/int_quickbooks__refund_receipt_transactions.sql", "unique_id": "model.quickbooks.int_quickbooks__refund_receipt_transactions", "fqn": ["quickbooks", "transaction_lines", "int_quickbooks__refund_receipt_transactions"], "alias": "int_quickbooks__refund_receipt_transactions", "checksum": {"name": "sha256", "checksum": "1f2e23e65dd0136ba6322459d8c4cdd41656d2541f43c5337bbf6ab985bd5efe"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that joins the refund receipt and corresponding refund receipt lines into a single refund receipt transactions table.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1730311927.8675368, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__refund_receipt_transactions\"", "raw_code": "--To disable this model, set the using_refund_receipt variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_refund_receipt', True)) }}\n\nwith refund_receipts as (\n\n select *\n from {{ ref('stg_quickbooks__refund_receipt') }}\n),\n\nrefund_receipt_lines as (\n\n select *\n from {{ ref('stg_quickbooks__refund_receipt_line') }}\n),\n\nitems as (\n\n select *\n from {{ ref('stg_quickbooks__item') }}\n),\n\nfinal as (\n\n select\n refund_receipts.refund_id as transaction_id,\n refund_receipts.source_relation,\n refund_receipt_lines.index as transaction_line_id,\n refund_receipts.doc_number,\n 'refund_receipt' as transaction_type,\n refund_receipts.transaction_date,\n refund_receipt_lines.sales_item_item_id as item_id,\n refund_receipt_lines.sales_item_quantity as item_quantity,\n refund_receipt_lines.sales_item_unit_price as item_unit_price,\n case when refund_receipt_lines.sales_item_account_id is null\n then coalesce(items.asset_account_id, items.income_account_id, items.expense_account_id) \n else refund_receipt_lines.sales_item_account_id\n end as account_id,\n refund_receipts.class_id,\n refund_receipts.department_id,\n refund_receipts.customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n cast(null as {{ dbt.type_string() }}) as billable_status,\n refund_receipt_lines.description,\n refund_receipt_lines.amount * -1 as amount,\n refund_receipt_lines.amount * coalesce(-refund_receipts.exchange_rate, -1) as converted_amount,\n refund_receipts.total_amount * -1 as total_amount,\n refund_receipts.total_amount * coalesce(-refund_receipts.exchange_rate, -1) as total_converted_amount\n from refund_receipts\n\n inner join refund_receipt_lines\n on refund_receipts.refund_id = refund_receipt_lines.refund_id\n and refund_receipts.source_relation = refund_receipt_lines.source_relation\n\n left join items\n on refund_receipt_lines.sales_item_item_id = items.item_id\n and refund_receipt_lines.source_relation = items.source_relation\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__refund_receipt", "package": null, "version": null}, {"name": "stg_quickbooks__refund_receipt_line", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__refund_receipt", "model.quickbooks_source.stg_quickbooks__refund_receipt_line", "model.quickbooks_source.stg_quickbooks__item"]}, "compiled_path": "target/compiled/quickbooks/models/transaction_lines/int_quickbooks__refund_receipt_transactions.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_refund_receipt variable within your dbt_project.yml file to False.\n\n\nwith refund_receipts as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__refund_receipt\"\n),\n\nrefund_receipt_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__refund_receipt_line\"\n),\n\nitems as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__item\"\n),\n\nfinal as (\n\n select\n refund_receipts.refund_id as transaction_id,\n refund_receipts.source_relation,\n refund_receipt_lines.index as transaction_line_id,\n refund_receipts.doc_number,\n 'refund_receipt' as transaction_type,\n refund_receipts.transaction_date,\n refund_receipt_lines.sales_item_item_id as item_id,\n refund_receipt_lines.sales_item_quantity as item_quantity,\n refund_receipt_lines.sales_item_unit_price as item_unit_price,\n case when refund_receipt_lines.sales_item_account_id is null\n then coalesce(items.asset_account_id, items.income_account_id, items.expense_account_id) \n else refund_receipt_lines.sales_item_account_id\n end as account_id,\n refund_receipts.class_id,\n refund_receipts.department_id,\n refund_receipts.customer_id,\n cast(null as TEXT) as vendor_id,\n cast(null as TEXT) as billable_status,\n refund_receipt_lines.description,\n refund_receipt_lines.amount * -1 as amount,\n refund_receipt_lines.amount * coalesce(-refund_receipts.exchange_rate, -1) as converted_amount,\n refund_receipts.total_amount * -1 as total_amount,\n refund_receipts.total_amount * coalesce(-refund_receipts.exchange_rate, -1) as total_converted_amount\n from refund_receipts\n\n inner join refund_receipt_lines\n on refund_receipts.refund_id = refund_receipt_lines.refund_id\n and refund_receipts.source_relation = refund_receipt_lines.source_relation\n\n left join items\n on refund_receipt_lines.sales_item_item_id = items.item_id\n and refund_receipt_lines.source_relation = items.source_relation\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__vendor_credit_transactions": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__vendor_credit_transactions", "resource_type": "model", "package_name": "quickbooks", "path": "transaction_lines/int_quickbooks__vendor_credit_transactions.sql", "original_file_path": "models/transaction_lines/int_quickbooks__vendor_credit_transactions.sql", "unique_id": "model.quickbooks.int_quickbooks__vendor_credit_transactions", "fqn": ["quickbooks", "transaction_lines", "int_quickbooks__vendor_credit_transactions"], "alias": "int_quickbooks__vendor_credit_transactions", "checksum": {"name": "sha256", "checksum": "193398ce278471db3a8f4994041cca035bbd98052fc4c660d889e12fa2f401db"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that joins the vendor credit and corresponding vendor credit lines into a single vendor credit transactions table.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1730311927.8678951, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__vendor_credit_transactions\"", "raw_code": "--To disable this model, set the using_vendor_credit variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_vendor_credit', True)) }}\n\nwith vendor_credits as (\n \n select *\n from {{ ref('stg_quickbooks__vendor_credit') }}\n),\n\nvendor_credit_lines as (\n\n select *\n from {{ ref('stg_quickbooks__vendor_credit_line') }}\n),\n\nitems as (\n\n select *\n from {{ ref('stg_quickbooks__item') }}\n),\n\nfinal as (\n\n select\n vendor_credits.vendor_credit_id as transaction_id,\n vendor_credits.source_relation,\n vendor_credit_lines.index as transaction_line_id,\n vendor_credits.doc_number,\n 'vendor_credit' as transaction_type,\n vendor_credits.transaction_date,\n case when vendor_credit_lines.account_expense_account_id is null\n then items.expense_account_id\n else vendor_credit_lines.account_expense_account_id\n end as account_id,\n coalesce(vendor_credit_lines.account_expense_class_id, vendor_credit_lines.item_expense_class_id) as class_id,\n vendor_credits.department_id,\n coalesce(vendor_credit_lines.account_expense_customer_id, vendor_credit_lines.item_expense_customer_id) as customer_id,\n vendor_credits.vendor_id,\n coalesce(vendor_credit_lines.account_expense_billable_status, vendor_credit_lines.item_expense_billable_status) as billable_status,\n vendor_credit_lines.description,\n vendor_credit_lines.amount * -1 as amount,\n vendor_credit_lines.amount * coalesce(-vendor_credits.exchange_rate, -1) as converted_amount,\n vendor_credits.total_amount * -1 as total_amount,\n vendor_credits.total_amount * coalesce(-vendor_credits.exchange_rate, -1) as total_converted_amount\n from vendor_credits\n\n inner join vendor_credit_lines\n on vendor_credits.vendor_credit_id = vendor_credit_lines.vendor_credit_id\n and vendor_credits.source_relation = vendor_credit_lines.source_relation\n\n left join items\n on vendor_credit_lines.item_expense_item_id = items.item_id\n and vendor_credit_lines.source_relation = items.source_relation\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__vendor_credit", "package": null, "version": null}, {"name": "stg_quickbooks__vendor_credit_line", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.quickbooks_source.stg_quickbooks__vendor_credit", "model.quickbooks_source.stg_quickbooks__vendor_credit_line", "model.quickbooks_source.stg_quickbooks__item"]}, "compiled_path": "target/compiled/quickbooks/models/transaction_lines/int_quickbooks__vendor_credit_transactions.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_vendor_credit variable within your dbt_project.yml file to False.\n\n\nwith vendor_credits as (\n \n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__vendor_credit\"\n),\n\nvendor_credit_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__vendor_credit_line\"\n),\n\nitems as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__item\"\n),\n\nfinal as (\n\n select\n vendor_credits.vendor_credit_id as transaction_id,\n vendor_credits.source_relation,\n vendor_credit_lines.index as transaction_line_id,\n vendor_credits.doc_number,\n 'vendor_credit' as transaction_type,\n vendor_credits.transaction_date,\n case when vendor_credit_lines.account_expense_account_id is null\n then items.expense_account_id\n else vendor_credit_lines.account_expense_account_id\n end as account_id,\n coalesce(vendor_credit_lines.account_expense_class_id, vendor_credit_lines.item_expense_class_id) as class_id,\n vendor_credits.department_id,\n coalesce(vendor_credit_lines.account_expense_customer_id, vendor_credit_lines.item_expense_customer_id) as customer_id,\n vendor_credits.vendor_id,\n coalesce(vendor_credit_lines.account_expense_billable_status, vendor_credit_lines.item_expense_billable_status) as billable_status,\n vendor_credit_lines.description,\n vendor_credit_lines.amount * -1 as amount,\n vendor_credit_lines.amount * coalesce(-vendor_credits.exchange_rate, -1) as converted_amount,\n vendor_credits.total_amount * -1 as total_amount,\n vendor_credits.total_amount * coalesce(-vendor_credits.exchange_rate, -1) as total_converted_amount\n from vendor_credits\n\n inner join vendor_credit_lines\n on vendor_credits.vendor_credit_id = vendor_credit_lines.vendor_credit_id\n and vendor_credits.source_relation = vendor_credit_lines.source_relation\n\n left join items\n on vendor_credit_lines.item_expense_item_id = items.item_id\n and vendor_credit_lines.source_relation = items.source_relation\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__purchase_transactions": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__purchase_transactions", "resource_type": "model", "package_name": "quickbooks", "path": "transaction_lines/int_quickbooks__purchase_transactions.sql", "original_file_path": "models/transaction_lines/int_quickbooks__purchase_transactions.sql", "unique_id": "model.quickbooks.int_quickbooks__purchase_transactions", "fqn": ["quickbooks", "transaction_lines", "int_quickbooks__purchase_transactions"], "alias": "int_quickbooks__purchase_transactions", "checksum": {"name": "sha256", "checksum": "0e5038fef9d7b7ac01122960a08ab3eaa17350acbe0fd9b017500d1c97c830f2"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that joins the purchase and corresponding purchase lines into a single purchase transactions table.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1730311927.867359, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__purchase_transactions\"", "raw_code": "--To disable this model, set the using_purchase variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_purchase', True)) }}\n\nwith purchases as (\n select *\n from {{ ref('stg_quickbooks__purchase') }}\n),\n\nitems as (\n select *\n from {{ref('stg_quickbooks__item')}}\n),\n\npurchase_lines as (\n select *\n from {{ ref('stg_quickbooks__purchase_line') }}\n),\n\nfinal as (\n select\n purchases.purchase_id as transaction_id,\n purchases.source_relation,\n purchase_lines.index as transaction_line_id,\n purchases.doc_number,\n 'purchase' as transaction_type,\n purchases.transaction_date,\n coalesce(purchase_lines.account_expense_account_id, items.expense_account_id) as account_id,\n purchase_lines.account_expense_class_id as class_id,\n purchases.department_id,\n coalesce(purchases.customer_id, account_expense_customer_id, item_expense_customer_id) as customer_id,\n purchases.vendor_id,\n coalesce(purchase_lines.account_expense_billable_status, purchase_lines.item_expense_billable_status) as billable_status,\n purchase_lines.description,\n case when coalesce(purchases.credit, false)\n then -1 * purchase_lines.amount\n else purchase_lines.amount\n end as amount,\n case when coalesce(purchases.credit, false)\n then purchase_lines.amount * coalesce(-purchases.exchange_rate, -1)\n else purchase_lines.amount * coalesce(purchases.exchange_rate, 1)\n end as converted_amount,\n case when coalesce(purchases.credit, false) \n then -1 * purchases.total_amount\n else purchases.total_amount\n end as total_amount,\n case when coalesce(purchases.credit, false) \n then purchases.total_amount * coalesce(-purchases.exchange_rate, -1)\n else purchases.total_amount * coalesce(purchases.exchange_rate, 1)\n end as total_converted_amount\n from purchases\n\n inner join purchase_lines \n on purchases.purchase_id = purchase_lines.purchase_id\n and purchases.source_relation = purchase_lines.source_relation\n\n left join items\n on purchase_lines.item_expense_item_id = items.item_id\n and purchase_lines.source_relation = items.source_relation\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}, {"name": "stg_quickbooks__purchase_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.quickbooks_source.stg_quickbooks__purchase", "model.quickbooks_source.stg_quickbooks__item", "model.quickbooks_source.stg_quickbooks__purchase_line"]}, "compiled_path": "target/compiled/quickbooks/models/transaction_lines/int_quickbooks__purchase_transactions.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_purchase variable within your dbt_project.yml file to False.\n\n\nwith purchases as (\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__purchase\"\n),\n\nitems as (\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__item\"\n),\n\npurchase_lines as (\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__purchase_line\"\n),\n\nfinal as (\n select\n purchases.purchase_id as transaction_id,\n purchases.source_relation,\n purchase_lines.index as transaction_line_id,\n purchases.doc_number,\n 'purchase' as transaction_type,\n purchases.transaction_date,\n coalesce(purchase_lines.account_expense_account_id, items.expense_account_id) as account_id,\n purchase_lines.account_expense_class_id as class_id,\n purchases.department_id,\n coalesce(purchases.customer_id, account_expense_customer_id, item_expense_customer_id) as customer_id,\n purchases.vendor_id,\n coalesce(purchase_lines.account_expense_billable_status, purchase_lines.item_expense_billable_status) as billable_status,\n purchase_lines.description,\n case when coalesce(purchases.credit, false)\n then -1 * purchase_lines.amount\n else purchase_lines.amount\n end as amount,\n case when coalesce(purchases.credit, false)\n then purchase_lines.amount * coalesce(-purchases.exchange_rate, -1)\n else purchase_lines.amount * coalesce(purchases.exchange_rate, 1)\n end as converted_amount,\n case when coalesce(purchases.credit, false) \n then -1 * purchases.total_amount\n else purchases.total_amount\n end as total_amount,\n case when coalesce(purchases.credit, false) \n then purchases.total_amount * coalesce(-purchases.exchange_rate, -1)\n else purchases.total_amount * coalesce(purchases.exchange_rate, 1)\n end as total_converted_amount\n from purchases\n\n inner join purchase_lines \n on purchases.purchase_id = purchase_lines.purchase_id\n and purchases.source_relation = purchase_lines.source_relation\n\n left join items\n on purchase_lines.item_expense_item_id = items.item_id\n and purchase_lines.source_relation = items.source_relation\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__sales_receipt_transactions": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__sales_receipt_transactions", "resource_type": "model", "package_name": "quickbooks", "path": "transaction_lines/int_quickbooks__sales_receipt_transactions.sql", "original_file_path": "models/transaction_lines/int_quickbooks__sales_receipt_transactions.sql", "unique_id": "model.quickbooks.int_quickbooks__sales_receipt_transactions", "fqn": ["quickbooks", "transaction_lines", "int_quickbooks__sales_receipt_transactions"], "alias": "int_quickbooks__sales_receipt_transactions", "checksum": {"name": "sha256", "checksum": "b0a621208fd2f9c665fb3cb5a526e680fa24a1cc876f13cd75d8c4c7dd5e6007"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that joins the sales receipt and corresponding sales receipt lines into a single sales receipt transactions table.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1730311927.867719, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__sales_receipt_transactions\"", "raw_code": "--To disable this model, set the using_sales_receipt variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_sales_receipt', True)) }}\n\nwith sales_receipts as (\n\n select *\n from {{ ref('stg_quickbooks__sales_receipt') }}\n),\n\nsales_receipt_lines as (\n\n select *\n from {{ ref('stg_quickbooks__sales_receipt_line') }}\n),\n\nitems as (\n\n select *\n from {{ ref('stg_quickbooks__item') }}\n),\n\nfinal as (\n\n select\n sales_receipts.sales_receipt_id as transaction_id,\n sales_receipts.source_relation,\n sales_receipt_lines.index as transaction_line_id,\n sales_receipts.doc_number,\n 'sales_receipt' as transaction_type,\n sales_receipts.transaction_date,\n sales_receipt_lines.sales_item_item_id as item_id,\n sales_receipt_lines.sales_item_quantity as item_quantity,\n sales_receipt_lines.sales_item_unit_price as item_unit_price,\n coalesce(items.income_account_id, items.asset_account_id, items.expense_account_id) as account_id,\n sales_receipts.class_id,\n sales_receipts.department_id,\n sales_receipts.customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n cast(null as {{ dbt.type_string() }}) as billable_status,\n sales_receipt_lines.description,\n sales_receipt_lines.amount,\n sales_receipt_lines.amount * (coalesce(sales_receipts.exchange_rate, 1)) as converted_amount,\n sales_receipts.total_amount,\n sales_receipts.total_amount * (coalesce(sales_receipts.exchange_rate, 1)) as total_converted_amount\n from sales_receipts\n\n inner join sales_receipt_lines\n on sales_receipts.sales_receipt_id = sales_receipt_lines.sales_receipt_id \n and sales_receipts.source_relation = sales_receipt_lines.source_relation\n\n left join items\n on sales_receipt_lines.sales_item_item_id = items.item_id\n and sales_receipt_lines.source_relation = items.source_relation\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__sales_receipt", "package": null, "version": null}, {"name": "stg_quickbooks__sales_receipt_line", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__sales_receipt", "model.quickbooks_source.stg_quickbooks__sales_receipt_line", "model.quickbooks_source.stg_quickbooks__item"]}, "compiled_path": "target/compiled/quickbooks/models/transaction_lines/int_quickbooks__sales_receipt_transactions.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_sales_receipt variable within your dbt_project.yml file to False.\n\n\nwith sales_receipts as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__sales_receipt\"\n),\n\nsales_receipt_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__sales_receipt_line\"\n),\n\nitems as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__item\"\n),\n\nfinal as (\n\n select\n sales_receipts.sales_receipt_id as transaction_id,\n sales_receipts.source_relation,\n sales_receipt_lines.index as transaction_line_id,\n sales_receipts.doc_number,\n 'sales_receipt' as transaction_type,\n sales_receipts.transaction_date,\n sales_receipt_lines.sales_item_item_id as item_id,\n sales_receipt_lines.sales_item_quantity as item_quantity,\n sales_receipt_lines.sales_item_unit_price as item_unit_price,\n coalesce(items.income_account_id, items.asset_account_id, items.expense_account_id) as account_id,\n sales_receipts.class_id,\n sales_receipts.department_id,\n sales_receipts.customer_id,\n cast(null as TEXT) as vendor_id,\n cast(null as TEXT) as billable_status,\n sales_receipt_lines.description,\n sales_receipt_lines.amount,\n sales_receipt_lines.amount * (coalesce(sales_receipts.exchange_rate, 1)) as converted_amount,\n sales_receipts.total_amount,\n sales_receipts.total_amount * (coalesce(sales_receipts.exchange_rate, 1)) as total_converted_amount\n from sales_receipts\n\n inner join sales_receipt_lines\n on sales_receipts.sales_receipt_id = sales_receipt_lines.sales_receipt_id \n and sales_receipts.source_relation = sales_receipt_lines.source_relation\n\n left join items\n on sales_receipt_lines.sales_item_item_id = items.item_id\n and sales_receipt_lines.source_relation = items.source_relation\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__deposit_transactions": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__deposit_transactions", "resource_type": "model", "package_name": "quickbooks", "path": "transaction_lines/int_quickbooks__deposit_transactions.sql", "original_file_path": "models/transaction_lines/int_quickbooks__deposit_transactions.sql", "unique_id": "model.quickbooks.int_quickbooks__deposit_transactions", "fqn": ["quickbooks", "transaction_lines", "int_quickbooks__deposit_transactions"], "alias": "int_quickbooks__deposit_transactions", "checksum": {"name": "sha256", "checksum": "7b1b53142f152222a02365e3726e289d338a638bb4f512aeb90da86fd6390c29"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that joins the deposit and corresponding deposit lines into a single deposit transactions table.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1730311927.867001, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__deposit_transactions\"", "raw_code": "--To disable this model, set the using_deposit variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_deposit', True)) }}\n\nwith deposits as (\n\n select *\n from {{ ref('stg_quickbooks__deposit') }}\n), \n\ndeposit_lines as (\n\n select *\n from {{ ref('stg_quickbooks__deposit_line') }}\n),\n\nfinal as (\n\n select\n deposits.deposit_id as transaction_id,\n deposits.source_relation,\n deposit_lines.index as transaction_line_id,\n cast(null as {{ dbt.type_string() }}) as doc_number,\n 'deposit' as transaction_type,\n deposits.transaction_date,\n deposit_lines.deposit_account_id as account_id,\n deposit_lines.deposit_class_id as class_id,\n deposits.department_id,\n deposit_lines.deposit_customer_id as customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n cast(null as {{ dbt.type_string() }}) as billable_status,\n deposit_lines.description,\n deposit_lines.amount,\n deposit_lines.amount * (coalesce(deposits.home_total_amount/nullif(deposits.total_amount, 0), 1)) as converted_amount,\n deposits.total_amount,\n deposits.total_amount * (coalesce(deposits.home_total_amount/nullif(deposits.total_amount, 0), 1)) as total_converted_amount\n from deposits\n \n inner join deposit_lines \n on deposits.deposit_id = deposit_lines.deposit_id\n and deposits.source_relation = deposit_lines.source_relation\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__deposit", "package": null, "version": null}, {"name": "stg_quickbooks__deposit_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__deposit", "model.quickbooks_source.stg_quickbooks__deposit_line"]}, "compiled_path": "target/compiled/quickbooks/models/transaction_lines/int_quickbooks__deposit_transactions.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_deposit variable within your dbt_project.yml file to False.\n\n\nwith deposits as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__deposit\"\n), \n\ndeposit_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__deposit_line\"\n),\n\nfinal as (\n\n select\n deposits.deposit_id as transaction_id,\n deposits.source_relation,\n deposit_lines.index as transaction_line_id,\n cast(null as TEXT) as doc_number,\n 'deposit' as transaction_type,\n deposits.transaction_date,\n deposit_lines.deposit_account_id as account_id,\n deposit_lines.deposit_class_id as class_id,\n deposits.department_id,\n deposit_lines.deposit_customer_id as customer_id,\n cast(null as TEXT) as vendor_id,\n cast(null as TEXT) as billable_status,\n deposit_lines.description,\n deposit_lines.amount,\n deposit_lines.amount * (coalesce(deposits.home_total_amount/nullif(deposits.total_amount, 0), 1)) as converted_amount,\n deposits.total_amount,\n deposits.total_amount * (coalesce(deposits.home_total_amount/nullif(deposits.total_amount, 0), 1)) as total_converted_amount\n from deposits\n \n inner join deposit_lines \n on deposits.deposit_id = deposit_lines.deposit_id\n and deposits.source_relation = deposit_lines.source_relation\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__credit_memo_transactions": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__credit_memo_transactions", "resource_type": "model", "package_name": "quickbooks", "path": "transaction_lines/int_quickbooks__credit_memo_transactions.sql", "original_file_path": "models/transaction_lines/int_quickbooks__credit_memo_transactions.sql", "unique_id": "model.quickbooks.int_quickbooks__credit_memo_transactions", "fqn": ["quickbooks", "transaction_lines", "int_quickbooks__credit_memo_transactions"], "alias": "int_quickbooks__credit_memo_transactions", "checksum": {"name": "sha256", "checksum": "2d557ecee0c4700d06738a554ad59a3f10493d9883a5019d261ecab65ace9fea"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that joins the credit memo and credit memo lines into a single credit memo transactions table.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1730311927.866821, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__credit_memo_transactions\"", "raw_code": "--To disable this model, set the using_credit_memo variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_credit_memo', True)) }}\n\nwith credit_memos as (\n\n select *\n from {{ ref('stg_quickbooks__credit_memo') }}\n),\n\ncredit_memo_lines as (\n\n select *\n from {{ ref('stg_quickbooks__credit_memo_line') }}\n),\n\nitems as (\n\n select *\n from {{ ref('stg_quickbooks__item') }}\n),\n\nfinal as (\n\n select\n credit_memos.credit_memo_id as transaction_id,\n credit_memos.source_relation,\n credit_memo_lines.index as transaction_line_id,\n credit_memos.doc_number,\n 'credit_memo' as transaction_type,\n credit_memos.transaction_date,\n credit_memo_lines.sales_item_item_id as item_id,\n credit_memo_lines.sales_item_quantity as item_quantity,\n credit_memo_lines.sales_item_unit_price as item_unit_price,\n case when credit_memo_lines.sales_item_account_id is null\n then coalesce(items.income_account_id, items.asset_account_id, items.expense_account_id) \n else credit_memo_lines.sales_item_account_id\n end as account_id,\n credit_memos.class_id,\n credit_memos.department_id,\n credit_memos.customer_id, \n cast(null as {{ dbt.type_string() }}) as vendor_id,\n cast(null as {{ dbt.type_string() }}) as billable_status,\n credit_memo_lines.description,\n credit_memo_lines.amount * -1 as amount,\n credit_memo_lines.amount * coalesce(-credit_memos.exchange_rate, -1) as converted_amount,\n credit_memos.total_amount * -1 as total_amount,\n credit_memos.total_amount * coalesce(-credit_memos.exchange_rate, -1) as total_converted_amount\n from credit_memos\n\n inner join credit_memo_lines\n on credit_memos.credit_memo_id = credit_memo_lines.credit_memo_id\n and credit_memos.source_relation = credit_memo_lines.source_relation\n\n left join items\n on credit_memo_lines.sales_item_item_id = items.item_id\n and credit_memo_lines.source_relation = items.source_relation\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__credit_memo", "package": null, "version": null}, {"name": "stg_quickbooks__credit_memo_line", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__credit_memo", "model.quickbooks_source.stg_quickbooks__credit_memo_line", "model.quickbooks_source.stg_quickbooks__item"]}, "compiled_path": "target/compiled/quickbooks/models/transaction_lines/int_quickbooks__credit_memo_transactions.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_credit_memo variable within your dbt_project.yml file to False.\n\n\nwith credit_memos as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__credit_memo\"\n),\n\ncredit_memo_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__credit_memo_line\"\n),\n\nitems as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__item\"\n),\n\nfinal as (\n\n select\n credit_memos.credit_memo_id as transaction_id,\n credit_memos.source_relation,\n credit_memo_lines.index as transaction_line_id,\n credit_memos.doc_number,\n 'credit_memo' as transaction_type,\n credit_memos.transaction_date,\n credit_memo_lines.sales_item_item_id as item_id,\n credit_memo_lines.sales_item_quantity as item_quantity,\n credit_memo_lines.sales_item_unit_price as item_unit_price,\n case when credit_memo_lines.sales_item_account_id is null\n then coalesce(items.income_account_id, items.asset_account_id, items.expense_account_id) \n else credit_memo_lines.sales_item_account_id\n end as account_id,\n credit_memos.class_id,\n credit_memos.department_id,\n credit_memos.customer_id, \n cast(null as TEXT) as vendor_id,\n cast(null as TEXT) as billable_status,\n credit_memo_lines.description,\n credit_memo_lines.amount * -1 as amount,\n credit_memo_lines.amount * coalesce(-credit_memos.exchange_rate, -1) as converted_amount,\n credit_memos.total_amount * -1 as total_amount,\n credit_memos.total_amount * coalesce(-credit_memos.exchange_rate, -1) as total_converted_amount\n from credit_memos\n\n inner join credit_memo_lines\n on credit_memos.credit_memo_id = credit_memo_lines.credit_memo_id\n and credit_memos.source_relation = credit_memo_lines.source_relation\n\n left join items\n on credit_memo_lines.sales_item_item_id = items.item_id\n and credit_memo_lines.source_relation = items.source_relation\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__cash_flow_classifications": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__cash_flow_classifications", "resource_type": "model", "package_name": "quickbooks", "path": "intermediate/int_quickbooks__cash_flow_classifications.sql", "original_file_path": "models/intermediate/int_quickbooks__cash_flow_classifications.sql", "unique_id": "model.quickbooks.int_quickbooks__cash_flow_classifications", "fqn": ["quickbooks", "intermediate", "int_quickbooks__cash_flow_classifications"], "alias": "int_quickbooks__cash_flow_classifications", "checksum": {"name": "sha256", "checksum": "411a419e31fdd6abeb5ee9c98bfe2852d7ab9b5e426f8c1d0308ffb37da05ed6"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that provides additional classifications necessary for the cash flow statement, like the cash flow type and ordinals.\n", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}"}, "created_at": 1730311927.869586, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__cash_flow_classifications\"", "raw_code": "with cash_flow_key as (\n\n select calendar_date as cash_flow_period,\n source_relation,\n account_class,\n class_id,\n is_sub_account,\n parent_account_number,\n parent_account_name,\n account_type,\n account_sub_type,\n account_number,\n account_id,\n account_name,\n amount as cash_ending_period,\n converted_amount as cash_converted_ending_period,\n {{ dbt_utils.generate_surrogate_key(['account_id', 'source_relation', 'calendar_date', 'class_id']) }} as account_unique_id\n from {{ ref('quickbooks__balance_sheet') }}\n),\n\n{% if var('cash_flow_statement_type_ordinal') %}\nordinals as (\n\n select\n cast(account_class as {{ dbt.type_string() }}) as account_class,\n cast(account_type as {{ dbt.type_string() }}) as account_type,\n cast(account_sub_type as {{ dbt.type_string() }}) as account_sub_type,\n cast(account_number as {{ dbt.type_string() }}) as account_number,\n cast(cash_flow_type as {{ dbt.type_string() }}) as cash_flow_type,\n ordinal\n from {{ var('cash_flow_statement_type_ordinal') }}\n),\n{% endif %}\n\ncash_flow_types_and_ordinals as (\n\n select cash_flow_key.*,\n {% if var('cash_flow_statement_type_ordinal') %}\n coalesce(account_number_ordinal.cash_flow_type, account_sub_type_ordinal.cash_flow_type, account_type_ordinal.cash_flow_type, account_class_ordinal.cash_flow_type) as cash_flow_type,\n coalesce(account_number_ordinal.ordinal, account_sub_type_ordinal.ordinal, account_type_ordinal.ordinal, account_class_ordinal.ordinal) as cash_flow_ordinal \n {% else %}\n case when account_type = 'Bank' then 'Cash or Cash Equivalents'\n when account_type = 'Accounts Receivable' then 'Operating'\n when account_type = 'Credit Card' then 'Operating'\n when account_type = 'Other Current Asset' then 'Operating'\n when account_type = 'Accounts Payable' then 'Operating'\n when account_type = 'Other Current Liability' then 'Operating'\n when account_name = 'Net Income Adjustment' then 'Operating'\n when account_type = 'Fixed Asset' then 'Investing'\n when account_type = 'Other Asset' then 'Investing'\n when account_type = 'Long Term Liability' then 'Financing'\n when account_class = 'Equity' then 'Financing'\n end as cash_flow_type,\n case when account_type = 'Bank' then 1\n when account_type = 'Accounts Receivable' then 2\n when account_type = 'Credit Card' then 2\n when account_type = 'Other Current Asset' then 2\n when account_type = 'Accounts Payable' then 2\n when account_type = 'Other Current Liability' then 2\n when account_name = 'Net Income Adjustment' then 2\n when account_type = 'Fixed Asset' then 3\n when account_type = 'Other Asset' then 3\n when account_type = 'Long Term Liability' then 4\n when account_class = 'Equity' then 4\n end as cash_flow_ordinal\n {% endif %} \n from cash_flow_key\n\n{% if var('cash_flow_statement_type_ordinal') %}\n{% set cash_flow_type_fields = ['account_number', 'account_sub_type', 'account_type', 'account_class'] %}\n\n{% for cash_flow_type_field in cash_flow_type_fields %} \n left join ordinals as {{ cash_flow_type_field }}_ordinal\n on cash_flow_key.{{ cash_flow_type_field }} = {{ cash_flow_type_field }}_ordinal.{{ cash_flow_type_field }}\n{% endfor %}\n\n{% endif %}\n)\n\nselect *\nfrom cash_flow_types_and_ordinals", "language": "sql", "refs": [{"name": "quickbooks__balance_sheet", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.generate_surrogate_key"], "nodes": ["model.quickbooks.quickbooks__balance_sheet"]}, "compiled_path": "target/compiled/quickbooks/models/intermediate/int_quickbooks__cash_flow_classifications.sql", "compiled": true, "compiled_code": "with cash_flow_key as (\n\n select calendar_date as cash_flow_period,\n source_relation,\n account_class,\n class_id,\n is_sub_account,\n parent_account_number,\n parent_account_name,\n account_type,\n account_sub_type,\n account_number,\n account_id,\n account_name,\n amount as cash_ending_period,\n converted_amount as cash_converted_ending_period,\n md5(cast(coalesce(cast(account_id as TEXT), '_dbt_utils_surrogate_key_null_') || '-' || coalesce(cast(source_relation as TEXT), '_dbt_utils_surrogate_key_null_') || '-' || coalesce(cast(calendar_date as TEXT), '_dbt_utils_surrogate_key_null_') || '-' || coalesce(cast(class_id as TEXT), '_dbt_utils_surrogate_key_null_') as TEXT)) as account_unique_id\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"quickbooks__balance_sheet\"\n),\n\n\n\ncash_flow_types_and_ordinals as (\n\n select cash_flow_key.*,\n \n case when account_type = 'Bank' then 'Cash or Cash Equivalents'\n when account_type = 'Accounts Receivable' then 'Operating'\n when account_type = 'Credit Card' then 'Operating'\n when account_type = 'Other Current Asset' then 'Operating'\n when account_type = 'Accounts Payable' then 'Operating'\n when account_type = 'Other Current Liability' then 'Operating'\n when account_name = 'Net Income Adjustment' then 'Operating'\n when account_type = 'Fixed Asset' then 'Investing'\n when account_type = 'Other Asset' then 'Investing'\n when account_type = 'Long Term Liability' then 'Financing'\n when account_class = 'Equity' then 'Financing'\n end as cash_flow_type,\n case when account_type = 'Bank' then 1\n when account_type = 'Accounts Receivable' then 2\n when account_type = 'Credit Card' then 2\n when account_type = 'Other Current Asset' then 2\n when account_type = 'Accounts Payable' then 2\n when account_type = 'Other Current Liability' then 2\n when account_name = 'Net Income Adjustment' then 2\n when account_type = 'Fixed Asset' then 3\n when account_type = 'Other Asset' then 3\n when account_type = 'Long Term Liability' then 4\n when account_class = 'Equity' then 4\n end as cash_flow_ordinal\n \n from cash_flow_key\n\n\n)\n\nselect *\nfrom cash_flow_types_and_ordinals", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__general_ledger_balances": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__general_ledger_balances", "resource_type": "model", "package_name": "quickbooks", "path": "intermediate/int_quickbooks__general_ledger_balances.sql", "original_file_path": "models/intermediate/int_quickbooks__general_ledger_balances.sql", "unique_id": "model.quickbooks.int_quickbooks__general_ledger_balances", "fqn": ["quickbooks", "intermediate", "int_quickbooks__general_ledger_balances"], "alias": "int_quickbooks__general_ledger_balances", "checksum": {"name": "sha256", "checksum": "043377b4faf74119ea4154c7931c0d302ad7c868163ae84551f5d537dab69d4d"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that aggregates quickbooks__general_ledger account level transactions per period into a period_beginning_balance, period_ending_balance, and period_net_change for each period through the use of the int_quickbooks__general_ledger_date_spine model. Further, period balances are only applied to balance sheet accounts while income statement accounts do not have a persisting balance rather a period net change. Please note, a period equates to one month. \n", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}"}, "created_at": 1730311927.868614, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__general_ledger_balances\"", "raw_code": "with general_ledger as (\n\n select *\n from {{ ref('quickbooks__general_ledger') }}\n),\n\ngl_accounting_periods as (\n\n select *\n from {{ ref('int_quickbooks__general_ledger_date_spine') }}\n),\n\ngl_period_balance as (\n\n select\n account_id,\n source_relation,\n account_number,\n account_name,\n is_sub_account,\n parent_account_number,\n parent_account_name,\n account_type,\n account_sub_type,\n financial_statement_helper,\n account_class,\n class_id,\n cast({{ dbt.date_trunc(\"year\", \"transaction_date\") }} as date) as date_year,\n cast({{ dbt.date_trunc(\"month\", \"transaction_date\") }} as date) as date_month,\n sum(adjusted_amount) as period_balance,\n sum(adjusted_converted_amount) as period_converted_balance\n from general_ledger\n\n {{ dbt_utils.group_by(14) }}\n),\n\ngl_cumulative_balance as (\n\n select\n *,\n case when financial_statement_helper = 'balance_sheet'\n then sum(period_balance) over (partition by account_id, class_id, source_relation \n order by source_relation, date_month, account_id, class_id rows unbounded preceding) \n else 0\n end as cumulative_balance,\n case when financial_statement_helper = 'balance_sheet'\n then sum(period_converted_balance) over (partition by account_id, class_id, source_relation \n order by source_relation, date_month, account_id, class_id rows unbounded preceding) \n else 0\n end as cumulative_converted_balance\n from gl_period_balance\n),\n\ngl_beginning_balance as (\n\n select\n account_id,\n source_relation,\n account_number,\n account_name,\n is_sub_account,\n parent_account_number,\n parent_account_name,\n account_type,\n account_sub_type,\n financial_statement_helper,\n account_class,\n class_id,\n date_year,\n date_month, \n period_balance as period_net_change,\n case when financial_statement_helper = 'balance_sheet'\n then (cumulative_balance - period_balance) \n else 0\n end as period_beginning_balance,\n cumulative_balance as period_ending_balance,\n period_converted_balance as period_net_converted_change,\n case when financial_statement_helper = 'balance_sheet'\n then (cumulative_converted_balance - period_converted_balance) \n else 0\n end as period_beginning_converted_balance,\n cumulative_converted_balance as period_ending_converted_balance\n from gl_cumulative_balance\n),\n\ngl_patch as (\n\n select \n coalesce(gl_beginning_balance.account_id, gl_accounting_periods.account_id) as account_id,\n coalesce(gl_beginning_balance.source_relation, gl_accounting_periods.source_relation) as source_relation,\n coalesce(gl_beginning_balance.account_number, gl_accounting_periods.account_number) as account_number,\n coalesce(gl_beginning_balance.account_name, gl_accounting_periods.account_name) as account_name,\n coalesce(gl_beginning_balance.is_sub_account, gl_accounting_periods.is_sub_account) as is_sub_account,\n coalesce(gl_beginning_balance.parent_account_number, gl_accounting_periods.parent_account_number) as parent_account_number,\n coalesce(gl_beginning_balance.parent_account_name, gl_accounting_periods.parent_account_name) as parent_account_name,\n coalesce(gl_beginning_balance.account_type, gl_accounting_periods.account_type) as account_type,\n coalesce(gl_beginning_balance.account_sub_type, gl_accounting_periods.account_sub_type) as account_sub_type,\n coalesce(gl_beginning_balance.account_class, gl_accounting_periods.account_class) as account_class,\n coalesce(gl_beginning_balance.class_id, gl_accounting_periods.class_id) as class_id,\n coalesce(gl_beginning_balance.financial_statement_helper, gl_accounting_periods.financial_statement_helper) as financial_statement_helper,\n coalesce(gl_beginning_balance.date_year, gl_accounting_periods.date_year) as date_year,\n gl_accounting_periods.period_first_day,\n gl_accounting_periods.period_last_day,\n gl_accounting_periods.period_index,\n gl_beginning_balance.period_net_change,\n gl_beginning_balance.period_beginning_balance,\n gl_beginning_balance.period_ending_balance,\n case when gl_beginning_balance.period_beginning_balance is null and period_index = 1\n then 0\n else gl_beginning_balance.period_beginning_balance\n end as period_beginning_balance_starter,\n case when gl_beginning_balance.period_ending_balance is null and period_index = 1\n then 0\n else gl_beginning_balance.period_ending_balance\n end as period_ending_balance_starter,\n gl_beginning_balance.period_net_converted_change,\n gl_beginning_balance.period_beginning_converted_balance,\n gl_beginning_balance.period_ending_converted_balance,\n case when gl_beginning_balance.period_beginning_converted_balance is null and period_index = 1\n then 0\n else gl_beginning_balance.period_beginning_converted_balance\n end as period_beginning_converted_balance_starter,\n case when gl_beginning_balance.period_ending_converted_balance is null and period_index = 1\n then 0\n else gl_beginning_balance.period_ending_converted_balance\n end as period_ending_converted_balance_starter\n from gl_accounting_periods\n\n left join gl_beginning_balance\n on gl_beginning_balance.account_id = gl_accounting_periods.account_id\n and gl_beginning_balance.source_relation = gl_accounting_periods.source_relation\n and gl_beginning_balance.date_month = gl_accounting_periods.period_first_day\n and gl_beginning_balance.date_year = gl_accounting_periods.date_year\n and coalesce(gl_beginning_balance.class_id, '0') = coalesce(gl_accounting_periods.class_id, '0')\n),\n\ngl_value_partition as (\n\n select\n *,\n sum(case when period_ending_balance_starter is null \n then 0 \n else 1 \n end) over (order by source_relation, account_id, class_id, period_last_day rows unbounded preceding) as gl_partition,\n sum(case when period_ending_converted_balance_starter is null \n then 0 \n else 1 \n end) over (order by source_relation, account_id, class_id, period_last_day rows unbounded preceding) as gl_converted_partition\n from gl_patch\n),\n\nfinal as (\n \n select\n account_id,\n source_relation,\n account_number,\n account_name,\n is_sub_account,\n parent_account_number,\n parent_account_name,\n account_type,\n account_sub_type,\n account_class,\n class_id,\n financial_statement_helper,\n date_year,\n period_first_day,\n period_last_day,\n coalesce(period_net_change, 0) as period_net_change,\n coalesce(period_beginning_balance_starter,\n first_value(period_ending_balance_starter) over (partition by gl_partition, source_relation \n order by source_relation, period_last_day rows unbounded preceding)) as period_beginning_balance,\n coalesce(period_ending_balance_starter,\n first_value(period_ending_balance_starter) over (partition by gl_partition, source_relation \n order by source_relation, period_last_day rows unbounded preceding)) as period_ending_balance,\n coalesce(period_net_converted_change, 0) as period_net_converted_change,\n coalesce(period_beginning_converted_balance_starter,\n first_value(period_ending_converted_balance_starter) over (partition by gl_converted_partition, source_relation \n order by source_relation, period_last_day rows unbounded preceding)) as period_beginning_converted_balance,\n coalesce(period_ending_converted_balance_starter,\n first_value(period_ending_converted_balance_starter) over (partition by gl_partition, source_relation \n order by source_relation, period_last_day rows unbounded preceding)) as period_ending_converted_balance\n\n from gl_value_partition\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "quickbooks__general_ledger", "package": null, "version": null}, {"name": "int_quickbooks__general_ledger_date_spine", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.date_trunc", "macro.dbt_utils.group_by"], "nodes": ["model.quickbooks.quickbooks__general_ledger", "model.quickbooks.int_quickbooks__general_ledger_date_spine"]}, "compiled_path": "target/compiled/quickbooks/models/intermediate/int_quickbooks__general_ledger_balances.sql", "compiled": true, "compiled_code": "with general_ledger as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"quickbooks__general_ledger\"\n),\n\ngl_accounting_periods as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__general_ledger_date_spine\"\n),\n\ngl_period_balance as (\n\n select\n account_id,\n source_relation,\n account_number,\n account_name,\n is_sub_account,\n parent_account_number,\n parent_account_name,\n account_type,\n account_sub_type,\n financial_statement_helper,\n account_class,\n class_id,\n cast(date_trunc('year', transaction_date) as date) as date_year,\n cast(date_trunc('month', transaction_date) as date) as date_month,\n sum(adjusted_amount) as period_balance,\n sum(adjusted_converted_amount) as period_converted_balance\n from general_ledger\n\n group by 1,2,3,4,5,6,7,8,9,10,11,12,13,14\n),\n\ngl_cumulative_balance as (\n\n select\n *,\n case when financial_statement_helper = 'balance_sheet'\n then sum(period_balance) over (partition by account_id, class_id, source_relation \n order by source_relation, date_month, account_id, class_id rows unbounded preceding) \n else 0\n end as cumulative_balance,\n case when financial_statement_helper = 'balance_sheet'\n then sum(period_converted_balance) over (partition by account_id, class_id, source_relation \n order by source_relation, date_month, account_id, class_id rows unbounded preceding) \n else 0\n end as cumulative_converted_balance\n from gl_period_balance\n),\n\ngl_beginning_balance as (\n\n select\n account_id,\n source_relation,\n account_number,\n account_name,\n is_sub_account,\n parent_account_number,\n parent_account_name,\n account_type,\n account_sub_type,\n financial_statement_helper,\n account_class,\n class_id,\n date_year,\n date_month, \n period_balance as period_net_change,\n case when financial_statement_helper = 'balance_sheet'\n then (cumulative_balance - period_balance) \n else 0\n end as period_beginning_balance,\n cumulative_balance as period_ending_balance,\n period_converted_balance as period_net_converted_change,\n case when financial_statement_helper = 'balance_sheet'\n then (cumulative_converted_balance - period_converted_balance) \n else 0\n end as period_beginning_converted_balance,\n cumulative_converted_balance as period_ending_converted_balance\n from gl_cumulative_balance\n),\n\ngl_patch as (\n\n select \n coalesce(gl_beginning_balance.account_id, gl_accounting_periods.account_id) as account_id,\n coalesce(gl_beginning_balance.source_relation, gl_accounting_periods.source_relation) as source_relation,\n coalesce(gl_beginning_balance.account_number, gl_accounting_periods.account_number) as account_number,\n coalesce(gl_beginning_balance.account_name, gl_accounting_periods.account_name) as account_name,\n coalesce(gl_beginning_balance.is_sub_account, gl_accounting_periods.is_sub_account) as is_sub_account,\n coalesce(gl_beginning_balance.parent_account_number, gl_accounting_periods.parent_account_number) as parent_account_number,\n coalesce(gl_beginning_balance.parent_account_name, gl_accounting_periods.parent_account_name) as parent_account_name,\n coalesce(gl_beginning_balance.account_type, gl_accounting_periods.account_type) as account_type,\n coalesce(gl_beginning_balance.account_sub_type, gl_accounting_periods.account_sub_type) as account_sub_type,\n coalesce(gl_beginning_balance.account_class, gl_accounting_periods.account_class) as account_class,\n coalesce(gl_beginning_balance.class_id, gl_accounting_periods.class_id) as class_id,\n coalesce(gl_beginning_balance.financial_statement_helper, gl_accounting_periods.financial_statement_helper) as financial_statement_helper,\n coalesce(gl_beginning_balance.date_year, gl_accounting_periods.date_year) as date_year,\n gl_accounting_periods.period_first_day,\n gl_accounting_periods.period_last_day,\n gl_accounting_periods.period_index,\n gl_beginning_balance.period_net_change,\n gl_beginning_balance.period_beginning_balance,\n gl_beginning_balance.period_ending_balance,\n case when gl_beginning_balance.period_beginning_balance is null and period_index = 1\n then 0\n else gl_beginning_balance.period_beginning_balance\n end as period_beginning_balance_starter,\n case when gl_beginning_balance.period_ending_balance is null and period_index = 1\n then 0\n else gl_beginning_balance.period_ending_balance\n end as period_ending_balance_starter,\n gl_beginning_balance.period_net_converted_change,\n gl_beginning_balance.period_beginning_converted_balance,\n gl_beginning_balance.period_ending_converted_balance,\n case when gl_beginning_balance.period_beginning_converted_balance is null and period_index = 1\n then 0\n else gl_beginning_balance.period_beginning_converted_balance\n end as period_beginning_converted_balance_starter,\n case when gl_beginning_balance.period_ending_converted_balance is null and period_index = 1\n then 0\n else gl_beginning_balance.period_ending_converted_balance\n end as period_ending_converted_balance_starter\n from gl_accounting_periods\n\n left join gl_beginning_balance\n on gl_beginning_balance.account_id = gl_accounting_periods.account_id\n and gl_beginning_balance.source_relation = gl_accounting_periods.source_relation\n and gl_beginning_balance.date_month = gl_accounting_periods.period_first_day\n and gl_beginning_balance.date_year = gl_accounting_periods.date_year\n and coalesce(gl_beginning_balance.class_id, '0') = coalesce(gl_accounting_periods.class_id, '0')\n),\n\ngl_value_partition as (\n\n select\n *,\n sum(case when period_ending_balance_starter is null \n then 0 \n else 1 \n end) over (order by source_relation, account_id, class_id, period_last_day rows unbounded preceding) as gl_partition,\n sum(case when period_ending_converted_balance_starter is null \n then 0 \n else 1 \n end) over (order by source_relation, account_id, class_id, period_last_day rows unbounded preceding) as gl_converted_partition\n from gl_patch\n),\n\nfinal as (\n \n select\n account_id,\n source_relation,\n account_number,\n account_name,\n is_sub_account,\n parent_account_number,\n parent_account_name,\n account_type,\n account_sub_type,\n account_class,\n class_id,\n financial_statement_helper,\n date_year,\n period_first_day,\n period_last_day,\n coalesce(period_net_change, 0) as period_net_change,\n coalesce(period_beginning_balance_starter,\n first_value(period_ending_balance_starter) over (partition by gl_partition, source_relation \n order by source_relation, period_last_day rows unbounded preceding)) as period_beginning_balance,\n coalesce(period_ending_balance_starter,\n first_value(period_ending_balance_starter) over (partition by gl_partition, source_relation \n order by source_relation, period_last_day rows unbounded preceding)) as period_ending_balance,\n coalesce(period_net_converted_change, 0) as period_net_converted_change,\n coalesce(period_beginning_converted_balance_starter,\n first_value(period_ending_converted_balance_starter) over (partition by gl_converted_partition, source_relation \n order by source_relation, period_last_day rows unbounded preceding)) as period_beginning_converted_balance,\n coalesce(period_ending_converted_balance_starter,\n first_value(period_ending_converted_balance_starter) over (partition by gl_partition, source_relation \n order by source_relation, period_last_day rows unbounded preceding)) as period_ending_converted_balance\n\n from gl_value_partition\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__account_classifications": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__account_classifications", "resource_type": "model", "package_name": "quickbooks", "path": "intermediate/int_quickbooks__account_classifications.sql", "original_file_path": "models/intermediate/int_quickbooks__account_classifications.sql", "unique_id": "model.quickbooks.int_quickbooks__account_classifications", "fqn": ["quickbooks", "intermediate", "int_quickbooks__account_classifications"], "alias": "int_quickbooks__account_classifications", "checksum": {"name": "sha256", "checksum": "27861ba60271b958b7af7b82981db8f50e51fa0ce7eb5b0b8091bbe07af9f7c9"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that adds missing detail to the account table. This table adds the following:\nA financial statement helper field that specifies the account as either a balance sheet or income statement account.\nAdds a transaction type to the specified account. The transaction type (debit or credit) is the type of transaction that increases the account.\nAdds a multiplier of -1 to Liability and Equity accounts to offset the account balance so liability and equity accounts do not show up as negative balances.\nCreates a new classification field that fills in the gaps if classifications were incorrectly set on certain s. For more information on how these classifications were determined you can refer to the [QuickBooks API Docs](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/account) that was used as reference.\n", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}"}, "created_at": 1730311927.86807, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__account_classifications\"", "raw_code": "with accounts as (\n\n select *\n from {{ ref('stg_quickbooks__account') }}\n),\n\nclassification_fix as (\n\n select \n account_id,\n source_relation,\n account_number,\n is_sub_account,\n parent_account_id,\n name,\n account_type,\n account_sub_type,\n balance,\n balance_with_sub_accounts,\n is_active,\n created_at,\n currency_id,\n description,\n fully_qualified_name,\n updated_at,\n case when classification is not null\n then classification\n when classification is null and account_type in ('Bank', 'Other Current Asset', 'Fixed Asset', 'Other Asset', 'Accounts Receivable')\n then 'Asset'\n when classification is null and account_type = 'Equity'\n then 'Equity'\n when classification is null and account_type in ('Expense', 'Other Expense', 'Cost of Goods Sold')\n then 'Expense'\n when classification is null and account_type in ('Accounts Payable', 'Credit Card', 'Long Term Liability', 'Other Current Liability')\n then 'Liability'\n when classification is null and account_type in ('Income', 'Other Income')\n then 'Revenue'\n end as classification\n from accounts\n),\n\nclassification_add as (\n\n select\n *,\n case when classification in ('Liability', 'Equity')\n then -1\n when classification = 'Asset'\n then 1\n else null\n end as multiplier,\n case when classification in ('Asset', 'Liability', 'Equity')\n then 'balance_sheet'\n else 'income_statement'\n end as financial_statement_helper,\n case when classification in ('Asset', 'Expense')\n then 'debit'\n else 'credit'\n end as transaction_type\n from classification_fix\n),\n\nadjusted_balances as (\n\n select \n *,\n (balance * multiplier) as adjusted_balance\n from classification_add\n),\n\nfinal as (\n\n select\n adjusted_balances.*,\n case when adjusted_balances.is_sub_account\n then parent_accounts.account_number\n else adjusted_balances.account_number\n end as parent_account_number,\n case when adjusted_balances.is_sub_account\n then parent_accounts.fully_qualified_name\n else adjusted_balances.fully_qualified_name\n end as parent_account_name\n from adjusted_balances\n\n left join accounts as parent_accounts\n on parent_accounts.account_id = adjusted_balances.parent_account_id\n and parent_accounts.source_relation = adjusted_balances.source_relation\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__account", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.quickbooks_source.stg_quickbooks__account"]}, "compiled_path": "target/compiled/quickbooks/models/intermediate/int_quickbooks__account_classifications.sql", "compiled": true, "compiled_code": "with accounts as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__account\"\n),\n\nclassification_fix as (\n\n select \n account_id,\n source_relation,\n account_number,\n is_sub_account,\n parent_account_id,\n name,\n account_type,\n account_sub_type,\n balance,\n balance_with_sub_accounts,\n is_active,\n created_at,\n currency_id,\n description,\n fully_qualified_name,\n updated_at,\n case when classification is not null\n then classification\n when classification is null and account_type in ('Bank', 'Other Current Asset', 'Fixed Asset', 'Other Asset', 'Accounts Receivable')\n then 'Asset'\n when classification is null and account_type = 'Equity'\n then 'Equity'\n when classification is null and account_type in ('Expense', 'Other Expense', 'Cost of Goods Sold')\n then 'Expense'\n when classification is null and account_type in ('Accounts Payable', 'Credit Card', 'Long Term Liability', 'Other Current Liability')\n then 'Liability'\n when classification is null and account_type in ('Income', 'Other Income')\n then 'Revenue'\n end as classification\n from accounts\n),\n\nclassification_add as (\n\n select\n *,\n case when classification in ('Liability', 'Equity')\n then -1\n when classification = 'Asset'\n then 1\n else null\n end as multiplier,\n case when classification in ('Asset', 'Liability', 'Equity')\n then 'balance_sheet'\n else 'income_statement'\n end as financial_statement_helper,\n case when classification in ('Asset', 'Expense')\n then 'debit'\n else 'credit'\n end as transaction_type\n from classification_fix\n),\n\nadjusted_balances as (\n\n select \n *,\n (balance * multiplier) as adjusted_balance\n from classification_add\n),\n\nfinal as (\n\n select\n adjusted_balances.*,\n case when adjusted_balances.is_sub_account\n then parent_accounts.account_number\n else adjusted_balances.account_number\n end as parent_account_number,\n case when adjusted_balances.is_sub_account\n then parent_accounts.fully_qualified_name\n else adjusted_balances.fully_qualified_name\n end as parent_account_name\n from adjusted_balances\n\n left join accounts as parent_accounts\n on parent_accounts.account_id = adjusted_balances.parent_account_id\n and parent_accounts.source_relation = adjusted_balances.source_relation\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__expenses_union": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__expenses_union", "resource_type": "model", "package_name": "quickbooks", "path": "intermediate/int_quickbooks__expenses_union.sql", "original_file_path": "models/intermediate/int_quickbooks__expenses_union.sql", "unique_id": "model.quickbooks.int_quickbooks__expenses_union", "fqn": ["quickbooks", "intermediate", "int_quickbooks__expenses_union"], "alias": "int_quickbooks__expenses_union", "checksum": {"name": "sha256", "checksum": "0a7202926008103b71dc9ac2b0d3b078aed1c97a4390f2c8bf5918cf983de11d"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that unions transactional tables that are representative of an expense. The expense transactional tables included are: int_quickbooks__purchase_transactions, int_quickbooks__bill_transactions, int_quickbooks_journal_entry_transactions, int_quickbooks__deposit_transactions, int_quickbooks__vendor_credit_transactions. Additionally, while some transactions included in the previously mentioned transaction tables contain non-expense transactions an inner join on accounts with the sub_type equal to Expense is applied.\n", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}"}, "created_at": 1730311927.8684301, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__expenses_union\"", "raw_code": "with expense_union as (\n\n select *\n from {{ ref('int_quickbooks__purchase_transactions') }}\n\n {% if var('using_bill', True) %}\n union all\n\n select *\n from {{ ref('int_quickbooks__bill_transactions') }}\n {% endif %} \n\n {% if var('using_journal_entry', True) %}\n union all\n\n select *\n from {{ ref('int_quickbooks__journal_entry_transactions')}}\n {% endif %} \n\n {% if var('using_deposit', True) %}\n union all\n\n select *\n from {{ ref('int_quickbooks__deposit_transactions')}}\n {% endif %} \n\n {% if var('using_vendor_credit', True) %}\n union all\n\n select *\n from {{ ref('int_quickbooks__vendor_credit_transactions') }}\n {% endif %}\n),\n\ncustomers as (\n\n select *\n from {{ ref('stg_quickbooks__customer') }}\n),\n\n{% if var('using_department', True) %}\ndepartments as ( \n\n select *\n from {{ ref('stg_quickbooks__department') }}\n),\n{% endif %}\n\nvendors as (\n\n select *\n from {{ ref('stg_quickbooks__vendor') }}\n),\n\nexpense_accounts as (\n\n select *\n from {{ ref('int_quickbooks__account_classifications') }}\n where account_type = 'Expense'\n),\n\nfinal as (\n\n select \n 'expense' as transaction_source,\n expense_union.transaction_id,\n expense_union.source_relation,\n expense_union.transaction_line_id,\n expense_union.doc_number,\n expense_union.transaction_type,\n expense_union.transaction_date,\n cast(null as {{ dbt.type_string() }}) as item_id,\n cast(null as {{ dbt.type_numeric() }}) as item_quantity,\n cast(null as {{ dbt.type_numeric() }}) as item_unit_price,\n expense_union.account_id,\n expense_accounts.name as account_name,\n expense_accounts.account_sub_type as account_sub_type,\n expense_union.class_id,\n expense_union.department_id,\n {% if var('using_department', True) %}\n departments.fully_qualified_name as department_name,\n {% endif %}\n expense_union.customer_id,\n customers.fully_qualified_name as customer_name,\n customers.website as customer_website,\n expense_union.vendor_id,\n vendors.display_name as vendor_name,\n expense_union.billable_status,\n expense_union.description,\n expense_union.amount,\n expense_union.converted_amount,\n expense_union.total_amount,\n expense_union.total_converted_amount\n\n from expense_union\n\n inner join expense_accounts\n on expense_union.account_id = expense_accounts.account_id\n and expense_union.source_relation = expense_accounts.source_relation\n\n left join customers\n on customers.customer_id = expense_union.customer_id\n and customers.source_relation = expense_union.source_relation\n\n left join vendors\n on vendors.vendor_id = expense_union.vendor_id\n and vendors.source_relation = expense_union.source_relation\n\n {% if var('using_department', True) %}\n left join departments\n on departments.department_id = expense_union.department_id\n and departments.source_relation = expense_union.source_relation\n {% endif %}\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "int_quickbooks__purchase_transactions", "package": null, "version": null}, {"name": "int_quickbooks__bill_transactions", "package": null, "version": null}, {"name": "int_quickbooks__journal_entry_transactions", "package": null, "version": null}, {"name": "int_quickbooks__deposit_transactions", "package": null, "version": null}, {"name": "int_quickbooks__vendor_credit_transactions", "package": null, "version": null}, {"name": "stg_quickbooks__customer", "package": null, "version": null}, {"name": "stg_quickbooks__department", "package": null, "version": null}, {"name": "stg_quickbooks__vendor", "package": null, "version": null}, {"name": "int_quickbooks__account_classifications", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string", "macro.dbt.type_numeric"], "nodes": ["model.quickbooks.int_quickbooks__purchase_transactions", "model.quickbooks.int_quickbooks__bill_transactions", "model.quickbooks.int_quickbooks__journal_entry_transactions", "model.quickbooks.int_quickbooks__deposit_transactions", "model.quickbooks.int_quickbooks__vendor_credit_transactions", "model.quickbooks_source.stg_quickbooks__customer", "model.quickbooks_source.stg_quickbooks__department", "model.quickbooks_source.stg_quickbooks__vendor", "model.quickbooks.int_quickbooks__account_classifications"]}, "compiled_path": "target/compiled/quickbooks/models/intermediate/int_quickbooks__expenses_union.sql", "compiled": true, "compiled_code": "with expense_union as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__purchase_transactions\"\n\n \n union all\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__bill_transactions\"\n \n\n \n union all\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__journal_entry_transactions\"\n \n\n \n union all\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__deposit_transactions\"\n \n\n \n union all\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__vendor_credit_transactions\"\n \n),\n\ncustomers as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__customer\"\n),\n\n\ndepartments as ( \n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__department\"\n),\n\n\nvendors as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__vendor\"\n),\n\nexpense_accounts as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__account_classifications\"\n where account_type = 'Expense'\n),\n\nfinal as (\n\n select \n 'expense' as transaction_source,\n expense_union.transaction_id,\n expense_union.source_relation,\n expense_union.transaction_line_id,\n expense_union.doc_number,\n expense_union.transaction_type,\n expense_union.transaction_date,\n cast(null as TEXT) as item_id,\n cast(null as numeric(28,6)) as item_quantity,\n cast(null as numeric(28,6)) as item_unit_price,\n expense_union.account_id,\n expense_accounts.name as account_name,\n expense_accounts.account_sub_type as account_sub_type,\n expense_union.class_id,\n expense_union.department_id,\n \n departments.fully_qualified_name as department_name,\n \n expense_union.customer_id,\n customers.fully_qualified_name as customer_name,\n customers.website as customer_website,\n expense_union.vendor_id,\n vendors.display_name as vendor_name,\n expense_union.billable_status,\n expense_union.description,\n expense_union.amount,\n expense_union.converted_amount,\n expense_union.total_amount,\n expense_union.total_converted_amount\n\n from expense_union\n\n inner join expense_accounts\n on expense_union.account_id = expense_accounts.account_id\n and expense_union.source_relation = expense_accounts.source_relation\n\n left join customers\n on customers.customer_id = expense_union.customer_id\n and customers.source_relation = expense_union.source_relation\n\n left join vendors\n on vendors.vendor_id = expense_union.vendor_id\n and vendors.source_relation = expense_union.source_relation\n\n \n left join departments\n on departments.department_id = expense_union.department_id\n and departments.source_relation = expense_union.source_relation\n \n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__invoice_join": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__invoice_join", "resource_type": "model", "package_name": "quickbooks", "path": "intermediate/int_quickbooks__invoice_join.sql", "original_file_path": "models/intermediate/int_quickbooks__invoice_join.sql", "unique_id": "model.quickbooks.int_quickbooks__invoice_join", "fqn": ["quickbooks", "intermediate", "int_quickbooks__invoice_join"], "alias": "int_quickbooks__invoice_join", "checksum": {"name": "sha256", "checksum": "769eb90fea2149e77c0c1c1b766a54c2b427a9a09bcbda08bc390572cfaef974"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that joins a single invoice transactions with the corresponding payment (if paid) and corresponding estimate (if provided).", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1730311927.8689668, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__invoice_join\"", "raw_code": "--To disable this model, set the using_invoice variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_invoice') and var('using_payment', True)) }}\n\nwith invoices as (\n\n select *\n from {{ ref('stg_quickbooks__invoice') }}\n),\n\ninvoice_linked as (\n\n select *\n from {{ ref('stg_quickbooks__invoice_linked_txn') }}\n),\n\n{% if var('using_estimate', True) %}\nestimates as (\n\n select *\n from {{ ref('stg_quickbooks__estimate') }}\n),\n{% endif %}\n\npayments as (\n\n select *\n from {{ ref('stg_quickbooks__payment') }}\n),\n\npayment_lines_payment as (\n\n select *\n from {{ ref('stg_quickbooks__payment_line') }}\n\n where invoice_id is not null\n),\n\ninvoice_est as (\n\n select\n invoices.invoice_id,\n invoice_linked.estimate_id,\n invoices.source_relation\n from invoices\n\n left join invoice_linked\n on invoices.invoice_id = invoice_linked.invoice_id\n and invoices.source_relation = invoice_linked.source_relation\n\n where invoice_linked.estimate_id is not null\n),\n\ninvoice_pay as (\n\n select\n invoices.invoice_id,\n invoice_linked.payment_id,\n invoices.source_relation\n from invoices\n\n left join invoice_linked\n on invoices.invoice_id = invoice_linked.invoice_id\n and invoices.source_relation = invoice_linked.source_relation\n\n where invoice_linked.payment_id is not null\n),\n\ninvoice_link as (\n\n select\n invoices.*,\n invoice_est.estimate_id,\n invoice_pay.payment_id\n from invoices\n\n left join invoice_est\n on invoices.invoice_id = invoice_est.invoice_id\n and invoices.source_relation = invoice_est.source_relation\n\n left join invoice_pay\n on invoices.invoice_id = invoice_pay.invoice_id\n and invoices.source_relation = invoice_pay.source_relation\n),\n\nfinal as (\n\n select\n cast('invoice' as {{ dbt.type_string() }}) as transaction_type,\n invoice_link.invoice_id as transaction_id,\n invoice_link.source_relation,\n invoice_link.doc_number,\n invoice_link.estimate_id,\n invoice_link.department_id,\n invoice_link.customer_id as customer_id,\n invoice_link.billing_address_id,\n invoice_link.shipping_address_id,\n invoice_link.delivery_type,\n invoice_link.total_amount as total_amount,\n (invoice_link.total_amount * coalesce(invoice_link.exchange_rate, 1)) as total_converted_amount,\n invoice_link.balance as current_balance,\n\n {% if var('using_estimate', True) %}\n coalesce(estimates.total_amount, 0) as estimate_total_amount,\n coalesce(estimates.total_amount, 0) * coalesce(estimates.exchange_rate, 1) as estimate_total_converted_amount,\n estimates.transaction_status as estimate_status,\n\n {% else %}\n cast(null as {{ dbt.type_numeric() }}) as estimate_total_amount,\n cast(null as {{ dbt.type_numeric() }}) as estimate_total_converted_amount,\n cast(null as {{ dbt.type_string() }}) as estimate_status,\n\n {% endif %}\n\n invoice_link.due_date as due_date,\n min(payments.transaction_date) as initial_payment_date,\n max(payments.transaction_date) as recent_payment_date,\n sum(coalesce(payment_lines_payment.amount, 0)) as total_current_payment,\n sum(coalesce(payment_lines_payment.amount, 0) * coalesce(payments.exchange_rate, 1)) as total_current_converted_payment\n\n from invoice_link\n\n {% if var('using_estimate', True) %}\n left join estimates\n on invoice_link.estimate_id = estimates.estimate_id\n and invoice_link.source_relation = estimates.source_relation\n {% endif %}\n left join payments\n on invoice_link.payment_id = payments.payment_id\n and invoice_link.source_relation = payments.source_relation\n\n left join payment_lines_payment\n on payments.payment_id = payment_lines_payment.payment_id\n and payments.source_relation = payment_lines_payment.source_relation\n and invoice_link.invoice_id = payment_lines_payment.invoice_id\n and invoice_link.source_relation = payment_lines_payment.source_relation\n\n\n {{ dbt_utils.group_by(17) }} \n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__invoice", "package": null, "version": null}, {"name": "stg_quickbooks__invoice_linked_txn", "package": null, "version": null}, {"name": "stg_quickbooks__estimate", "package": null, "version": null}, {"name": "stg_quickbooks__payment", "package": null, "version": null}, {"name": "stg_quickbooks__payment_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string", "macro.dbt_utils.group_by"], "nodes": ["model.quickbooks_source.stg_quickbooks__invoice", "model.quickbooks_source.stg_quickbooks__invoice_linked_txn", "model.quickbooks_source.stg_quickbooks__estimate", "model.quickbooks_source.stg_quickbooks__payment", "model.quickbooks_source.stg_quickbooks__payment_line"]}, "compiled_path": "target/compiled/quickbooks/models/intermediate/int_quickbooks__invoice_join.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_invoice variable within your dbt_project.yml file to False.\n\n\nwith invoices as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__invoice\"\n),\n\ninvoice_linked as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__invoice_linked_txn\"\n),\n\n\nestimates as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__estimate\"\n),\n\n\npayments as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__payment\"\n),\n\npayment_lines_payment as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__payment_line\"\n\n where invoice_id is not null\n),\n\ninvoice_est as (\n\n select\n invoices.invoice_id,\n invoice_linked.estimate_id,\n invoices.source_relation\n from invoices\n\n left join invoice_linked\n on invoices.invoice_id = invoice_linked.invoice_id\n and invoices.source_relation = invoice_linked.source_relation\n\n where invoice_linked.estimate_id is not null\n),\n\ninvoice_pay as (\n\n select\n invoices.invoice_id,\n invoice_linked.payment_id,\n invoices.source_relation\n from invoices\n\n left join invoice_linked\n on invoices.invoice_id = invoice_linked.invoice_id\n and invoices.source_relation = invoice_linked.source_relation\n\n where invoice_linked.payment_id is not null\n),\n\ninvoice_link as (\n\n select\n invoices.*,\n invoice_est.estimate_id,\n invoice_pay.payment_id\n from invoices\n\n left join invoice_est\n on invoices.invoice_id = invoice_est.invoice_id\n and invoices.source_relation = invoice_est.source_relation\n\n left join invoice_pay\n on invoices.invoice_id = invoice_pay.invoice_id\n and invoices.source_relation = invoice_pay.source_relation\n),\n\nfinal as (\n\n select\n cast('invoice' as TEXT) as transaction_type,\n invoice_link.invoice_id as transaction_id,\n invoice_link.source_relation,\n invoice_link.doc_number,\n invoice_link.estimate_id,\n invoice_link.department_id,\n invoice_link.customer_id as customer_id,\n invoice_link.billing_address_id,\n invoice_link.shipping_address_id,\n invoice_link.delivery_type,\n invoice_link.total_amount as total_amount,\n (invoice_link.total_amount * coalesce(invoice_link.exchange_rate, 1)) as total_converted_amount,\n invoice_link.balance as current_balance,\n\n \n coalesce(estimates.total_amount, 0) as estimate_total_amount,\n coalesce(estimates.total_amount, 0) * coalesce(estimates.exchange_rate, 1) as estimate_total_converted_amount,\n estimates.transaction_status as estimate_status,\n\n \n\n invoice_link.due_date as due_date,\n min(payments.transaction_date) as initial_payment_date,\n max(payments.transaction_date) as recent_payment_date,\n sum(coalesce(payment_lines_payment.amount, 0)) as total_current_payment,\n sum(coalesce(payment_lines_payment.amount, 0) * coalesce(payments.exchange_rate, 1)) as total_current_converted_payment\n\n from invoice_link\n\n \n left join estimates\n on invoice_link.estimate_id = estimates.estimate_id\n and invoice_link.source_relation = estimates.source_relation\n \n left join payments\n on invoice_link.payment_id = payments.payment_id\n and invoice_link.source_relation = payments.source_relation\n\n left join payment_lines_payment\n on payments.payment_id = payment_lines_payment.payment_id\n and payments.source_relation = payment_lines_payment.source_relation\n and invoice_link.invoice_id = payment_lines_payment.invoice_id\n and invoice_link.source_relation = payment_lines_payment.source_relation\n\n\n group by 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 \n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__retained_earnings": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__retained_earnings", "resource_type": "model", "package_name": "quickbooks", "path": "intermediate/int_quickbooks__retained_earnings.sql", "original_file_path": "models/intermediate/int_quickbooks__retained_earnings.sql", "unique_id": "model.quickbooks.int_quickbooks__retained_earnings", "fqn": ["quickbooks", "intermediate", "int_quickbooks__retained_earnings"], "alias": "int_quickbooks__retained_earnings", "checksum": {"name": "sha256", "checksum": "7c8502dd627c8507c14a585251de6df56adced42692052e6730c7da353b6facc"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that creates an adjusting entry for retained earnings each month. The retained earnings account is created as account_id 9999 and is listed as an Equity class. This table generates the retained earnings period beginning balance, ending balance, and net change by adding the period revenues and subtracting by the period expenses. This total is set as the period ending balance. From the period ending balance the net change and beginning balances are calculated. This is table is then unioned with in_quickbooks__general_ledger_balances.\n", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}"}, "created_at": 1730311927.869403, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__retained_earnings\"", "raw_code": "with general_ledger_balances as (\n\n select *\n from {{ ref('int_quickbooks__general_ledger_balances') }}\n),\n\nrevenue_starter as (\n\n select\n period_first_day,\n source_relation,\n sum(period_net_change) as revenue_net_change,\n sum(period_net_converted_change) as revenue_net_converted_change\n from general_ledger_balances\n \n where account_class = 'Revenue'\n\n {{ dbt_utils.group_by(2) }} \n),\n\nexpense_starter as (\n\n select \n period_first_day,\n source_relation,\n sum(period_net_change) as expense_net_change,\n sum(period_net_converted_change) as expense_net_converted_change\n from general_ledger_balances\n \n where account_class = 'Expense'\n\n {{ dbt_utils.group_by(2) }} \n),\n\nnet_income_loss as (\n\n select *\n from revenue_starter\n\n join expense_starter \n using (period_first_day, source_relation)\n),\n\nretained_earnings_starter as (\n\n select\n cast('9999' as {{ dbt.type_string() }}) as account_id,\n source_relation,\n cast('9999-00' as {{ dbt.type_string() }}) as account_number,\n cast('Net Income Adjustment' as {{ dbt.type_string() }}) as account_name,\n false as is_sub_account,\n cast(null as {{ dbt.type_string() }}) as parent_account_number,\n cast(null as {{ dbt.type_string() }}) as parent_account_name,\n cast('Equity' as {{ dbt.type_string() }}) as account_type,\n cast('RetainedEarnings' as {{ dbt.type_string() }}) as account_sub_type,\n cast('Equity' as {{ dbt.type_string() }}) as account_class,\n cast(null as {{ dbt.type_string() }}) as class_id,\n cast('balance_sheet' as {{ dbt.type_string() }}) as financial_statement_helper,\n cast({{ dbt.date_trunc(\"year\", \"period_first_day\") }} as date) as date_year,\n cast(period_first_day as date) as period_first_day,\n {{ dbt.last_day(\"period_first_day\", \"month\") }} as period_last_day,\n (revenue_net_change - expense_net_change) as period_net_change,\n (revenue_net_converted_change - expense_net_converted_change) as period_net_converted_change\n from net_income_loss\n),\n\n\nretained_earnings_beginning as (\n\n select\n *,\n sum(coalesce(period_net_change, 0)) over (order by source_relation, period_first_day, period_first_day rows unbounded preceding) as period_ending_balance,\n sum(coalesce(period_net_converted_change, 0)) over (order by source_relation, period_first_day, period_first_day rows unbounded preceding) as period_ending_converted_balance\n from retained_earnings_starter\n),\n\nfinal as (\n \n select\n account_id,\n source_relation,\n account_number,\n account_name,\n is_sub_account,\n parent_account_number,\n parent_account_name,\n account_type,\n account_sub_type,\n account_class,\n class_id,\n financial_statement_helper,\n date_year,\n period_first_day,\n period_last_day,\n period_net_change,\n lag(coalesce(period_ending_balance,0)) over (order by source_relation, period_first_day) as period_beginning_balance,\n period_ending_balance,\n period_net_converted_change,\n lag(coalesce(period_ending_balance,0)) over (order by source_relation, period_first_day) as period_beginning_converted_balance,\n period_ending_converted_balance\n from retained_earnings_beginning\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "int_quickbooks__general_ledger_balances", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.group_by", "macro.dbt.type_string", "macro.dbt.date_trunc", "macro.dbt.last_day"], "nodes": ["model.quickbooks.int_quickbooks__general_ledger_balances"]}, "compiled_path": "target/compiled/quickbooks/models/intermediate/int_quickbooks__retained_earnings.sql", "compiled": true, "compiled_code": "with general_ledger_balances as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__general_ledger_balances\"\n),\n\nrevenue_starter as (\n\n select\n period_first_day,\n source_relation,\n sum(period_net_change) as revenue_net_change,\n sum(period_net_converted_change) as revenue_net_converted_change\n from general_ledger_balances\n \n where account_class = 'Revenue'\n\n group by 1,2 \n),\n\nexpense_starter as (\n\n select \n period_first_day,\n source_relation,\n sum(period_net_change) as expense_net_change,\n sum(period_net_converted_change) as expense_net_converted_change\n from general_ledger_balances\n \n where account_class = 'Expense'\n\n group by 1,2 \n),\n\nnet_income_loss as (\n\n select *\n from revenue_starter\n\n join expense_starter \n using (period_first_day, source_relation)\n),\n\nretained_earnings_starter as (\n\n select\n cast('9999' as TEXT) as account_id,\n source_relation,\n cast('9999-00' as TEXT) as account_number,\n cast('Net Income Adjustment' as TEXT) as account_name,\n false as is_sub_account,\n cast(null as TEXT) as parent_account_number,\n cast(null as TEXT) as parent_account_name,\n cast('Equity' as TEXT) as account_type,\n cast('RetainedEarnings' as TEXT) as account_sub_type,\n cast('Equity' as TEXT) as account_class,\n cast(null as TEXT) as class_id,\n cast('balance_sheet' as TEXT) as financial_statement_helper,\n cast(date_trunc('year', period_first_day) as date) as date_year,\n cast(period_first_day as date) as period_first_day,\n cast(\n \n\n \n\n date_trunc('month', period_first_day) + ((interval '1 month') * (1))\n\n + ((interval '1 day') * (-1))\n\n\n as date) as period_last_day,\n (revenue_net_change - expense_net_change) as period_net_change,\n (revenue_net_converted_change - expense_net_converted_change) as period_net_converted_change\n from net_income_loss\n),\n\n\nretained_earnings_beginning as (\n\n select\n *,\n sum(coalesce(period_net_change, 0)) over (order by source_relation, period_first_day, period_first_day rows unbounded preceding) as period_ending_balance,\n sum(coalesce(period_net_converted_change, 0)) over (order by source_relation, period_first_day, period_first_day rows unbounded preceding) as period_ending_converted_balance\n from retained_earnings_starter\n),\n\nfinal as (\n \n select\n account_id,\n source_relation,\n account_number,\n account_name,\n is_sub_account,\n parent_account_number,\n parent_account_name,\n account_type,\n account_sub_type,\n account_class,\n class_id,\n financial_statement_helper,\n date_year,\n period_first_day,\n period_last_day,\n period_net_change,\n lag(coalesce(period_ending_balance,0)) over (order by source_relation, period_first_day) as period_beginning_balance,\n period_ending_balance,\n period_net_converted_change,\n lag(coalesce(period_ending_balance,0)) over (order by source_relation, period_first_day) as period_beginning_converted_balance,\n period_ending_converted_balance\n from retained_earnings_beginning\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__general_ledger_date_spine": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__general_ledger_date_spine", "resource_type": "model", "package_name": "quickbooks", "path": "intermediate/int_quickbooks__general_ledger_date_spine.sql", "original_file_path": "models/intermediate/int_quickbooks__general_ledger_date_spine.sql", "unique_id": "model.quickbooks.int_quickbooks__general_ledger_date_spine", "fqn": ["quickbooks", "intermediate", "int_quickbooks__general_ledger_date_spine"], "alias": "int_quickbooks__general_ledger_date_spine", "checksum": {"name": "sha256", "checksum": "54762ed055bd68067458364aa9c6341bfb57b35dfa8d10916eb2ce75319a7fee"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that creates a date spine by month with the first date being the minimum transaction date from the quickbooks__general_ledger model and the last date being one month after the last transaction date from the quickbooks__general_ledger model.\n", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}"}, "created_at": 1730311927.8687942, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__general_ledger_date_spine\"", "raw_code": "-- depends_on: {{ ref('quickbooks__general_ledger') }}\n\nwith spine as (\n\n {% if execute %}\n {% set first_date_query %}\n select coalesce(min(cast(transaction_date as date)),cast({{ dbt.dateadd(\"month\", -1, \"current_date\") }} as date)) as min_date from {{ ref('quickbooks__general_ledger') }}\n {% endset %}\n {% set first_date = run_query(first_date_query).columns[0][0]|string %}\n \n {% if target.type == 'postgres' %}\n {% set first_date_adjust = \"cast('\" ~ first_date[0:10] ~ \"' as date)\" %}\n\n {% else %}\n {% set first_date_adjust = \"'\" ~ first_date[0:10] ~ \"'\" %}\n\n {% endif %}\n\n {% else %} {% set first_date_adjust = \"'2000-01-01'\" %}\n {% endif %}\n\n {% if execute %}\n {% set last_date_query %}\n select coalesce(max(cast(transaction_date as date)), cast(current_date as date)) as max_date from {{ ref('quickbooks__general_ledger') }}\n {% endset %}\n\n {% set current_date_query %}\n select current_date\n {% endset %}\n\n {% if run_query(current_date_query).columns[0][0]|string < run_query(last_date_query).columns[0][0]|string %}\n\n {% set last_date = run_query(last_date_query).columns[0][0]|string %}\n\n {% else %} {% set last_date = run_query(current_date_query).columns[0][0]|string %}\n {% endif %}\n \n {% if target.type == 'postgres' %}\n {% set last_date_adjust = \"cast('\" ~ last_date[0:10] ~ \"' as date)\" %}\n\n {% else %}\n {% set last_date_adjust = \"'\" ~ last_date[0:10] ~ \"'\" %}\n\n {% endif %}\n {% endif %}\n\n {{ dbt_utils.date_spine(\n datepart=\"month\",\n start_date=first_date_adjust,\n end_date=dbt.dateadd(\"month\", 1, last_date_adjust)\n )\n }}\n),\n\ngeneral_ledger as (\n select *\n from {{ ref('quickbooks__general_ledger') }}\n),\n\ndate_spine as (\n select\n cast({{ dbt.date_trunc(\"year\", \"date_month\") }} as date) as date_year,\n cast({{ dbt.date_trunc(\"month\", \"date_month\") }} as date) as period_first_day,\n {{ dbt.last_day(\"date_month\", \"month\") }} as period_last_day,\n row_number() over (order by cast({{ dbt.date_trunc(\"month\", \"date_month\") }} as date)) as period_index\n from spine\n),\n\nfinal as (\n select distinct\n general_ledger.account_id,\n general_ledger.source_relation,\n general_ledger.account_number,\n general_ledger.account_name,\n general_ledger.is_sub_account,\n general_ledger.parent_account_number,\n general_ledger.parent_account_name,\n general_ledger.account_type,\n general_ledger.account_sub_type,\n general_ledger.account_class,\n general_ledger.financial_statement_helper,\n general_ledger.class_id,\n date_spine.date_year,\n date_spine.period_first_day,\n date_spine.period_last_day,\n date_spine.period_index\n from general_ledger\n\n cross join date_spine\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "quickbooks__general_ledger", "package": null, "version": null}, {"name": "quickbooks__general_ledger", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.dateadd", "macro.dbt_utils.date_spine", "macro.dbt.date_trunc", "macro.dbt.last_day", "macro.dbt.run_query"], "nodes": ["model.quickbooks.quickbooks__general_ledger"]}, "compiled_path": "target/compiled/quickbooks/models/intermediate/int_quickbooks__general_ledger_date_spine.sql", "compiled": true, "compiled_code": "-- depends_on: \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"quickbooks__general_ledger\"\n\nwith spine as (\n\n \n \n \n \n \n \n\n \n\n \n\n \n \n\n \n\n \n \n \n \n \n\n \n \n\n \n\n\n\n\n\nwith rawdata as (\n\n \n\n \n\n with p as (\n select 0 as generated_number union all select 1\n ), unioned as (\n\n select\n\n \n p0.generated_number * power(2, 0)\n + \n \n p1.generated_number * power(2, 1)\n + \n \n p2.generated_number * power(2, 2)\n + \n \n p3.generated_number * power(2, 3)\n + \n \n p4.generated_number * power(2, 4)\n + \n \n p5.generated_number * power(2, 5)\n + \n \n p6.generated_number * power(2, 6)\n \n \n + 1\n as generated_number\n\n from\n\n \n p as p0\n cross join \n \n p as p1\n cross join \n \n p as p2\n cross join \n \n p as p3\n cross join \n \n p as p4\n cross join \n \n p as p5\n cross join \n \n p as p6\n \n \n\n )\n\n select *\n from unioned\n where generated_number <= 70.0\n order by generated_number\n\n\n\n),\n\nall_periods as (\n\n select (\n \n\n cast('2019-01-02' as date) + ((interval '1 month') * (row_number() over (order by 1) - 1))\n\n\n ) as date_month\n from rawdata\n\n),\n\nfiltered as (\n\n select *\n from all_periods\n where date_month <= \n\n cast('2024-10-30' as date) + ((interval '1 month') * (1))\n\n\n\n)\n\nselect * from filtered\n\n\n),\n\ngeneral_ledger as (\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"quickbooks__general_ledger\"\n),\n\ndate_spine as (\n select\n cast(date_trunc('year', date_month) as date) as date_year,\n cast(date_trunc('month', date_month) as date) as period_first_day,\n cast(\n \n\n \n\n date_trunc('month', date_month) + ((interval '1 month') * (1))\n\n + ((interval '1 day') * (-1))\n\n\n as date) as period_last_day,\n row_number() over (order by cast(date_trunc('month', date_month) as date)) as period_index\n from spine\n),\n\nfinal as (\n select distinct\n general_ledger.account_id,\n general_ledger.source_relation,\n general_ledger.account_number,\n general_ledger.account_name,\n general_ledger.is_sub_account,\n general_ledger.parent_account_number,\n general_ledger.parent_account_name,\n general_ledger.account_type,\n general_ledger.account_sub_type,\n general_ledger.account_class,\n general_ledger.financial_statement_helper,\n general_ledger.class_id,\n date_spine.date_year,\n date_spine.period_first_day,\n date_spine.period_last_day,\n date_spine.period_index\n from general_ledger\n\n cross join date_spine\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__bill_join": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__bill_join", "resource_type": "model", "package_name": "quickbooks", "path": "intermediate/int_quickbooks__bill_join.sql", "original_file_path": "models/intermediate/int_quickbooks__bill_join.sql", "unique_id": "model.quickbooks.int_quickbooks__bill_join", "fqn": ["quickbooks", "intermediate", "int_quickbooks__bill_join"], "alias": "int_quickbooks__bill_join", "checksum": {"name": "sha256", "checksum": "95c6126115ba7fbc5ae58c0123ec50f879057a1616296963111caf05d821ccee"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that joins a single bill transaction with the corresponding bill payment (if paid).", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1730311927.8682492, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__bill_join\"", "raw_code": "--To disable this model, set the using_bill variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_bill', True)) }}\n\nwith bills as (\n\n select *\n from {{ ref('stg_quickbooks__bill') }}\n),\n\nbill_lines as (\n\n select *\n from {{ ref('stg_quickbooks__bill_line') }}\n),\n\nbills_linked as (\n\n select *\n from {{ ref('stg_quickbooks__bill_linked_txn') }}\n),\n\nbill_payments as (\n\n select *\n from {{ ref('stg_quickbooks__bill_payment') }}\n),\n\nbill_payment_lines as (\n\n select *\n from {{ ref('stg_quickbooks__bill_payment_line') }}\n\n where bill_id is not null\n),\n\nbill_pay as (\n\n select\n bills.bill_id,\n bills.source_relation,\n bills_linked.bill_payment_id\n from bills\n\n left join bills_linked\n on bills.bill_id = bills_linked.bill_id\n and bills.source_relation = bills_linked.source_relation\n\n where bills_linked.bill_payment_id is not null\n),\n\nbill_link as (\n\n select\n bills.*,\n bill_pay.bill_payment_id\n from bills\n\n left join bill_pay\n on bills.bill_id = bill_pay.bill_id\n and bills.source_relation = bill_pay.source_relation\n),\n\nfinal as (\n\n select\n cast('bill' as {{ dbt.type_string() }}) as transaction_type,\n bill_link.bill_id as transaction_id,\n bill_link.source_relation,\n bill_link.doc_number,\n bill_link.department_id,\n bill_link.vendor_id as vendor_id,\n bill_link.payable_account_id,\n bill_link.total_amount as total_amount,\n (bill_link.total_amount * coalesce(bill_link.exchange_rate, 1)) as total_converted_amount,\n bill_link.balance as current_balance,\n bill_link.due_date_at as due_date,\n min(bill_payments.transaction_date) as initial_payment_date,\n max(bill_payments.transaction_date) as recent_payment_date,\n sum(coalesce(bill_payment_lines.amount, 0)) as total_current_payment,\n sum(coalesce(bill_payment_lines.amount, 0) * coalesce(bill_payments.exchange_rate, 1)) as total_current_converted_payment\n\n from bill_link\n\n left join bill_payments\n on bill_link.bill_payment_id = bill_payments.bill_payment_id\n and bill_link.source_relation = bill_payments.source_relation\n\n left join bill_payment_lines\n on bill_payments.bill_payment_id = bill_payment_lines.bill_payment_id\n and bill_payments.source_relation = bill_payment_lines.source_relation\n and bill_link.bill_id = bill_payment_lines.bill_id\n and bill_link.source_relation = bill_payment_lines.source_relation\n \n {{ dbt_utils.group_by(11) }} \n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__bill", "package": null, "version": null}, {"name": "stg_quickbooks__bill_line", "package": null, "version": null}, {"name": "stg_quickbooks__bill_linked_txn", "package": null, "version": null}, {"name": "stg_quickbooks__bill_payment", "package": null, "version": null}, {"name": "stg_quickbooks__bill_payment_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string", "macro.dbt_utils.group_by"], "nodes": ["model.quickbooks_source.stg_quickbooks__bill", "model.quickbooks_source.stg_quickbooks__bill_line", "model.quickbooks_source.stg_quickbooks__bill_linked_txn", "model.quickbooks_source.stg_quickbooks__bill_payment", "model.quickbooks_source.stg_quickbooks__bill_payment_line"]}, "compiled_path": "target/compiled/quickbooks/models/intermediate/int_quickbooks__bill_join.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_bill variable within your dbt_project.yml file to False.\n\n\nwith bills as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill\"\n),\n\nbill_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill_line\"\n),\n\nbills_linked as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill_linked_txn\"\n),\n\nbill_payments as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill_payment\"\n),\n\nbill_payment_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill_payment_line\"\n\n where bill_id is not null\n),\n\nbill_pay as (\n\n select\n bills.bill_id,\n bills.source_relation,\n bills_linked.bill_payment_id\n from bills\n\n left join bills_linked\n on bills.bill_id = bills_linked.bill_id\n and bills.source_relation = bills_linked.source_relation\n\n where bills_linked.bill_payment_id is not null\n),\n\nbill_link as (\n\n select\n bills.*,\n bill_pay.bill_payment_id\n from bills\n\n left join bill_pay\n on bills.bill_id = bill_pay.bill_id\n and bills.source_relation = bill_pay.source_relation\n),\n\nfinal as (\n\n select\n cast('bill' as TEXT) as transaction_type,\n bill_link.bill_id as transaction_id,\n bill_link.source_relation,\n bill_link.doc_number,\n bill_link.department_id,\n bill_link.vendor_id as vendor_id,\n bill_link.payable_account_id,\n bill_link.total_amount as total_amount,\n (bill_link.total_amount * coalesce(bill_link.exchange_rate, 1)) as total_converted_amount,\n bill_link.balance as current_balance,\n bill_link.due_date_at as due_date,\n min(bill_payments.transaction_date) as initial_payment_date,\n max(bill_payments.transaction_date) as recent_payment_date,\n sum(coalesce(bill_payment_lines.amount, 0)) as total_current_payment,\n sum(coalesce(bill_payment_lines.amount, 0) * coalesce(bill_payments.exchange_rate, 1)) as total_current_converted_payment\n\n from bill_link\n\n left join bill_payments\n on bill_link.bill_payment_id = bill_payments.bill_payment_id\n and bill_link.source_relation = bill_payments.source_relation\n\n left join bill_payment_lines\n on bill_payments.bill_payment_id = bill_payment_lines.bill_payment_id\n and bill_payments.source_relation = bill_payment_lines.source_relation\n and bill_link.bill_id = bill_payment_lines.bill_id\n and bill_link.source_relation = bill_payment_lines.source_relation\n \n group by 1,2,3,4,5,6,7,8,9,10,11 \n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__sales_union": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "int_quickbooks__sales_union", "resource_type": "model", "package_name": "quickbooks", "path": "intermediate/int_quickbooks__sales_union.sql", "original_file_path": "models/intermediate/int_quickbooks__sales_union.sql", "unique_id": "model.quickbooks.int_quickbooks__sales_union", "fqn": ["quickbooks", "intermediate", "int_quickbooks__sales_union"], "alias": "int_quickbooks__sales_union", "checksum": {"name": "sha256", "checksum": "3fe3c26fdf31f20f1868eabbeaf2e11c842b8ab30739e994924504e8420c0113"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that unions transactional tables that are representative of a sale. The sale transactional tables are: int_quickbooks__sales_receipt_transactions int_quickbooks__invoice_transactions, int_quickbooks__credit_memo_transactions, int_quickbooks__refund_receipt_transactions, int_quickbooks__journal_entry_transactions, int_quickbooks__deposit_transactions. Additionally, while some transactions included in the previously mentioned transaction tables contain non-income transactions an inner join on accounts with the sub_type equal to Income is applied.\n", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1730311927.869216, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__sales_union\"", "raw_code": "{{ config(enabled=fivetran_utils.enabled_vars_one_true(['using_sales_receipt','using_invoice'])) }}\n\nwith sales_union as (\n\n {% if var('using_sales_receipt', True) %}\n select *\n from {{ ref('int_quickbooks__sales_receipt_transactions') }}\n {% endif %}\n\n {% if fivetran_utils.enabled_vars(['using_sales_receipt','using_invoice']) %}\n union all\n\n select *\n from {{ ref('int_quickbooks__invoice_transactions') }}\n\n {% else %}\n\n {% if var('using_invoice', True) %}\n select *\n from {{ ref('int_quickbooks__invoice_transactions') }}\n {% endif %} \n \n {% endif %}\n\n {% if var('using_refund_receipt', True) %}\n union all\n\n select *\n from {{ ref('int_quickbooks__refund_receipt_transactions') }}\n {% endif %}\n\n {% if var('using_credit_memo', True) %}\n union all\n\n select *\n from {{ ref('int_quickbooks__credit_memo_transactions') }}\n {% endif %}\n),\n\ncustomers as (\n\n select *\n from {{ ref('stg_quickbooks__customer') }}\n),\n\n{% if var('using_department', True) %}\ndepartments as ( \n\n select *\n from {{ ref('stg_quickbooks__department') }}\n),\n{% endif %}\n\nvendors as (\n\n select *\n from {{ ref('stg_quickbooks__vendor') }}\n),\n\nincome_accounts as (\n\n select *\n from {{ ref('int_quickbooks__account_classifications') }}\n where account_type = 'Income'\n),\n\nfinal as (\n\n select \n 'sales' as transaction_source,\n sales_union.transaction_id,\n sales_union.source_relation,\n sales_union.transaction_line_id,\n sales_union.doc_number,\n sales_union.transaction_type,\n sales_union.transaction_date,\n sales_union.item_id,\n sales_union.item_quantity,\n sales_union.item_unit_price,\n sales_union.account_id,\n income_accounts.name as account_name,\n income_accounts.account_sub_type as account_sub_type,\n sales_union.class_id,\n sales_union.department_id,\n {% if var('using_department', True) %}\n departments.fully_qualified_name as department_name,\n {% endif %}\n sales_union.customer_id,\n customers.fully_qualified_name as customer_name,\n customers.website as customer_website,\n sales_union.vendor_id,\n vendors.display_name as vendor_name,\n sales_union.billable_status,\n sales_union.description,\n sales_union.amount,\n sales_union.converted_amount,\n sales_union.total_amount,\n sales_union.total_converted_amount\n from sales_union\n\n inner join income_accounts\n on sales_union.account_id = income_accounts.account_id\n and sales_union.source_relation = income_accounts.source_relation\n\n left join customers\n on customers.customer_id = sales_union.customer_id\n and customers.source_relation = sales_union.source_relation\n\n left join vendors\n on vendors.vendor_id = sales_union.vendor_id\n and vendors.source_relation = sales_union.source_relation\n\n {% if var('using_department', True) %}\n left join departments\n on departments.department_id = sales_union.department_id\n and departments.source_relation = sales_union.source_relation\n {% endif %}\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "int_quickbooks__sales_receipt_transactions", "package": null, "version": null}, {"name": "int_quickbooks__invoice_transactions", "package": null, "version": null}, {"name": "int_quickbooks__refund_receipt_transactions", "package": null, "version": null}, {"name": "int_quickbooks__credit_memo_transactions", "package": null, "version": null}, {"name": "stg_quickbooks__customer", "package": null, "version": null}, {"name": "stg_quickbooks__department", "package": null, "version": null}, {"name": "stg_quickbooks__vendor", "package": null, "version": null}, {"name": "int_quickbooks__account_classifications", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.enabled_vars_one_true", "macro.fivetran_utils.enabled_vars"], "nodes": ["model.quickbooks.int_quickbooks__sales_receipt_transactions", "model.quickbooks.int_quickbooks__invoice_transactions", "model.quickbooks.int_quickbooks__refund_receipt_transactions", "model.quickbooks.int_quickbooks__credit_memo_transactions", "model.quickbooks_source.stg_quickbooks__customer", "model.quickbooks_source.stg_quickbooks__department", "model.quickbooks_source.stg_quickbooks__vendor", "model.quickbooks.int_quickbooks__account_classifications"]}, "compiled_path": "target/compiled/quickbooks/models/intermediate/int_quickbooks__sales_union.sql", "compiled": true, "compiled_code": "\n\nwith sales_union as (\n\n \n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__sales_receipt_transactions\"\n \n\n \n union all\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__invoice_transactions\"\n\n \n\n \n union all\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__refund_receipt_transactions\"\n \n\n \n union all\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__credit_memo_transactions\"\n \n),\n\ncustomers as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__customer\"\n),\n\n\ndepartments as ( \n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__department\"\n),\n\n\nvendors as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__vendor\"\n),\n\nincome_accounts as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"int_quickbooks__account_classifications\"\n where account_type = 'Income'\n),\n\nfinal as (\n\n select \n 'sales' as transaction_source,\n sales_union.transaction_id,\n sales_union.source_relation,\n sales_union.transaction_line_id,\n sales_union.doc_number,\n sales_union.transaction_type,\n sales_union.transaction_date,\n sales_union.item_id,\n sales_union.item_quantity,\n sales_union.item_unit_price,\n sales_union.account_id,\n income_accounts.name as account_name,\n income_accounts.account_sub_type as account_sub_type,\n sales_union.class_id,\n sales_union.department_id,\n \n departments.fully_qualified_name as department_name,\n \n sales_union.customer_id,\n customers.fully_qualified_name as customer_name,\n customers.website as customer_website,\n sales_union.vendor_id,\n vendors.display_name as vendor_name,\n sales_union.billable_status,\n sales_union.description,\n sales_union.amount,\n sales_union.converted_amount,\n sales_union.total_amount,\n sales_union.total_converted_amount\n from sales_union\n\n inner join income_accounts\n on sales_union.account_id = income_accounts.account_id\n and sales_union.source_relation = income_accounts.source_relation\n\n left join customers\n on customers.customer_id = sales_union.customer_id\n and customers.source_relation = sales_union.source_relation\n\n left join vendors\n on vendors.vendor_id = sales_union.vendor_id\n and vendors.source_relation = sales_union.source_relation\n\n \n left join departments\n on departments.department_id = sales_union.department_id\n and departments.source_relation = sales_union.source_relation\n \n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "analysis.quickbooks.quickbooks__balance_sheet": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "quickbooks__balance_sheet", "resource_type": "analysis", "package_name": "quickbooks", "path": "analysis/quickbooks__balance_sheet.sql", "original_file_path": "analysis/quickbooks__balance_sheet.sql", "unique_id": "analysis.quickbooks.quickbooks__balance_sheet", "fqn": ["quickbooks", "analysis", "quickbooks__balance_sheet"], "alias": "quickbooks__balance_sheet", "checksum": {"name": "sha256", "checksum": "331fdf721c24fe7794609176961684c3d15d70fb473da348e8e42afc0b73bc3e"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}"}, "created_at": 1730311926.9295092, "relation_name": null, "raw_code": "with general_ledger_by_period as (\n select * \n from {{ ref('quickbooks__general_ledger_by_period') }}\n where period_first_day <= 'YYYY-MM-DD' --Update to be your desired ending date.\n),\n\nliability_date as (\n select \n account_id, \n source_relation,\n max(period_first_day) as period_first_day \n from general_ledger_by_period\n\n where account_class = 'Liability'\n\n group by 1,2\n),\n\nasset_date as (\n select \n account_id, \n source_relation,\n max(period_first_day) as period_first_day \n from general_ledger_by_period\n\n where account_class = 'Asset'\n\n group by 1,2\n),\n\nequity_date as (\n select \n account_id,\n source_relation,\n max(period_first_day) as period_first_day \n from general_ledger_by_period \n\n where account_class = 'Equity'\n\n group by 1,2\n),\n\nliability as (\n select \n ld.account_id, \n l.period_ending_balance,\n l.period_ending_converted_balance\n from liability_date ld\n\n left join (select account_id, source_relation, period_first_day, period_ending_balance, period_ending_converted_balance from general_ledger_by_period where account_class = 'Liability') l\n on l.account_id = ld.account_id\n and l.period_first_day = ld.period_first_day\n and l.source_relation = ld.source_relation\n),\n\nasset as (\n select \n ad.account_id, \n a.period_ending_balance,\n a.period_ending_converted_balance\n from asset_date ad\n left join (select account_id, source_relation, period_first_day, period_ending_balance, period_ending_converted_balance from general_ledger_by_period where account_class = 'Asset') a\n on a.account_id = ad.account_id\n and a.period_first_day = ad.period_first_day \n and a.source_relation = ad.source_relation\n),\n\nequity as (\n select\n ed.account_id, \n e.period_ending_balance,\n e.period_ending_converted_balance\n from equity_date ed\n left join (select account_id, source_relation, period_first_day, period_ending_balance, period_ending_converted_balance from general_ledger_by_period where account_class = 'Equity') e\n on e.account_id = ed.account_id\n and e.period_first_day = ed.period_first_day \n and e.source_relation = ed.source_relation\n)\n\nselect \n 'liability' as balance_sheet_type, \n sum(period_ending_balance) as balance,\n sum(period_ending_converted_balance) as converted_balance\nfrom liability\ngroup by 1\n\nunion all\n\nselect \n 'asset' as balance_sheet_type, \n sum(period_ending_balance) as balance,\n sum(period_ending_converted_balance) as converted_balance\nfrom asset\ngroup by 1\n\nunion all \n\nselect \n 'equity' as balance_sheet_type, \n sum(period_ending_balance) as balance,\n sum(period_ending_converted_balance) as converted_balance\nfrom equity\ngroup by 1", "language": "sql", "refs": [{"name": "quickbooks__general_ledger_by_period", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.quickbooks.quickbooks__general_ledger_by_period"]}, "compiled_path": "target/compiled/quickbooks/analysis/quickbooks__balance_sheet.sql", "compiled": true, "compiled_code": "with general_ledger_by_period as (\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"quickbooks__general_ledger_by_period\"\n where period_first_day <= 'YYYY-MM-DD' --Update to be your desired ending date.\n),\n\nliability_date as (\n select \n account_id, \n source_relation,\n max(period_first_day) as period_first_day \n from general_ledger_by_period\n\n where account_class = 'Liability'\n\n group by 1,2\n),\n\nasset_date as (\n select \n account_id, \n source_relation,\n max(period_first_day) as period_first_day \n from general_ledger_by_period\n\n where account_class = 'Asset'\n\n group by 1,2\n),\n\nequity_date as (\n select \n account_id,\n source_relation,\n max(period_first_day) as period_first_day \n from general_ledger_by_period \n\n where account_class = 'Equity'\n\n group by 1,2\n),\n\nliability as (\n select \n ld.account_id, \n l.period_ending_balance,\n l.period_ending_converted_balance\n from liability_date ld\n\n left join (select account_id, source_relation, period_first_day, period_ending_balance, period_ending_converted_balance from general_ledger_by_period where account_class = 'Liability') l\n on l.account_id = ld.account_id\n and l.period_first_day = ld.period_first_day\n and l.source_relation = ld.source_relation\n),\n\nasset as (\n select \n ad.account_id, \n a.period_ending_balance,\n a.period_ending_converted_balance\n from asset_date ad\n left join (select account_id, source_relation, period_first_day, period_ending_balance, period_ending_converted_balance from general_ledger_by_period where account_class = 'Asset') a\n on a.account_id = ad.account_id\n and a.period_first_day = ad.period_first_day \n and a.source_relation = ad.source_relation\n),\n\nequity as (\n select\n ed.account_id, \n e.period_ending_balance,\n e.period_ending_converted_balance\n from equity_date ed\n left join (select account_id, source_relation, period_first_day, period_ending_balance, period_ending_converted_balance from general_ledger_by_period where account_class = 'Equity') e\n on e.account_id = ed.account_id\n and e.period_first_day = ed.period_first_day \n and e.source_relation = ed.source_relation\n)\n\nselect \n 'liability' as balance_sheet_type, \n sum(period_ending_balance) as balance,\n sum(period_ending_converted_balance) as converted_balance\nfrom liability\ngroup by 1\n\nunion all\n\nselect \n 'asset' as balance_sheet_type, \n sum(period_ending_balance) as balance,\n sum(period_ending_converted_balance) as converted_balance\nfrom asset\ngroup by 1\n\nunion all \n\nselect \n 'equity' as balance_sheet_type, \n sum(period_ending_balance) as balance,\n sum(period_ending_converted_balance) as converted_balance\nfrom equity\ngroup by 1", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}}, "analysis.quickbooks.quickbooks__income_statement": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "quickbooks__income_statement", "resource_type": "analysis", "package_name": "quickbooks", "path": "analysis/quickbooks__income_statement.sql", "original_file_path": "analysis/quickbooks__income_statement.sql", "unique_id": "analysis.quickbooks.quickbooks__income_statement", "fqn": ["quickbooks", "analysis", "quickbooks__income_statement"], "alias": "quickbooks__income_statement", "checksum": {"name": "sha256", "checksum": "0d827349c577e108c7dfd09cbcaa73df4fccefdeaa3fd5d3d19d75db0dd74c90"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}"}, "created_at": 1730311926.9329689, "relation_name": null, "raw_code": "with general_ledger_by_period as (\n select * \n from {{ ref('quickbooks__general_ledger_by_period') }}\n),\n\nrevenue as (\n select \n account_id, \n sum(period_net_change) as ending_balance,\n sum(period_net_converted_change) as ending_converted_balance\n from general_ledger_by_period\n\n where account_class = 'Revenue'\n and period_first_day between 'YYYY-MM-DD' and 'YYYY-MM-DD' --Update 'YYYY-MM-DD' to be your desired date period.\n\n group by 1\n),\n\nexpense as (\n select \n account_id, \n sum(period_net_change) as ending_balance,\n sum(period_net_converted_change) as ending_converted_balance\n from general_ledger_by_period\n\n where account_class = 'Expense'\n and period_first_day between 'YYYY-MM-DD' and 'YYYY-MM-DD' --Update 'YYYY-MM-DD' to be your desired date period.\n\n group by 1\n),\n\nrevenue_total as (\n select \n 'revenue' as income_statement_type, \n sum(ending_balance) as ending_balance,\n sum(ending_converted_balance) as ending_converted_balance\n from revenue\n),\n\nexpense_total as (\n select \n 'expense' as income_statement_type, \n sum(ending_balance) as ending_balance,\n sum(ending_converted_balance) as ending_converted_balance\n from expense\n)\n\nselect * \nfrom revenue_total\n\nunion all \n\nselect * \nfrom expense_total", "language": "sql", "refs": [{"name": "quickbooks__general_ledger_by_period", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.quickbooks.quickbooks__general_ledger_by_period"]}, "compiled_path": "target/compiled/quickbooks/analysis/quickbooks__income_statement.sql", "compiled": true, "compiled_code": "with general_ledger_by_period as (\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"quickbooks__general_ledger_by_period\"\n),\n\nrevenue as (\n select \n account_id, \n sum(period_net_change) as ending_balance,\n sum(period_net_converted_change) as ending_converted_balance\n from general_ledger_by_period\n\n where account_class = 'Revenue'\n and period_first_day between 'YYYY-MM-DD' and 'YYYY-MM-DD' --Update 'YYYY-MM-DD' to be your desired date period.\n\n group by 1\n),\n\nexpense as (\n select \n account_id, \n sum(period_net_change) as ending_balance,\n sum(period_net_converted_change) as ending_converted_balance\n from general_ledger_by_period\n\n where account_class = 'Expense'\n and period_first_day between 'YYYY-MM-DD' and 'YYYY-MM-DD' --Update 'YYYY-MM-DD' to be your desired date period.\n\n group by 1\n),\n\nrevenue_total as (\n select \n 'revenue' as income_statement_type, \n sum(ending_balance) as ending_balance,\n sum(ending_converted_balance) as ending_converted_balance\n from revenue\n),\n\nexpense_total as (\n select \n 'expense' as income_statement_type, \n sum(ending_balance) as ending_balance,\n sum(ending_converted_balance) as ending_converted_balance\n from expense\n)\n\nselect * \nfrom revenue_total\n\nunion all \n\nselect * \nfrom expense_total", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}}, "model.quickbooks_source.stg_quickbooks__journal_entry_line": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__journal_entry_line", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__journal_entry_line.sql", "original_file_path": "models/stg_quickbooks__journal_entry_line.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__journal_entry_line", "fqn": ["quickbooks_source", "stg_quickbooks__journal_entry_line"], "alias": "stg_quickbooks__journal_entry_line", "checksum": {"name": "sha256", "checksum": "4516b55a1200da7d649fb094705d8d74566704462e11b0c6f4533d7ca266e1a5"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing individual line items of a transaction associated with a journal entry.", "columns": {"journal_entry_id": {"name": "journal_entry_id", "description": "Unique identifier of the journal entry record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the journal entry record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "Account id of the account which the journal entry is credited.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the journal entry line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Customer id of the customer which the journal entry is credited.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department which the journal entry is associated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class which the journal entry is associated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "billable_status": {"name": "billable_status", "description": "Status of the journal entry indicating whether it is billable or not.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "User defined description of the journal entry line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "posting_type": {"name": "posting_type", "description": "Indicates whether this JournalEntry line is a debit or credit. Valid values are Credit and Debit", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_id": {"name": "vendor_id", "description": "Reference to the vendor for this journal entry.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1730311928.023767, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__journal_entry_line\"", "raw_code": "--To disable this model, set the using_journal_entry variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_journal_entry', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__journal_entry_line_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__journal_entry_line_tmp')),\n staging_columns=get_journal_entry_line_columns()\n )\n }}\n \n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n from base\n),\n\nfinal as (\n \n select \n cast(journal_entry_id as {{ dbt.type_string() }}) as journal_entry_id,\n index,\n cast(account_id as {{ dbt.type_string() }}) as account_id,\n amount,\n cast(customer_id as {{ dbt.type_string() }}) as customer_id,\n cast(department_id as {{ dbt.type_string() }}) as department_id,\n cast(class_id as {{ dbt.type_string() }}) as class_id,\n description,\n billable_status,\n posting_type,\n cast(vendor_id as {{ dbt.type_string() }}) as vendor_id,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__journal_entry_line_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__journal_entry_line_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_journal_entry_line_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__journal_entry_line_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__journal_entry_line.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_journal_entry variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__journal_entry_line_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n account_id\n \n as \n \n account_id\n \n, \n \n \n amount\n \n as \n \n amount\n \n, \n \n \n billable_status\n \n as \n \n billable_status\n \n, \n \n \n class_id\n \n as \n \n class_id\n \n, \n \n \n customer_id\n \n as \n \n customer_id\n \n, \n \n \n department_id\n \n as \n \n department_id\n \n, \n \n \n description\n \n as \n \n description\n \n, \n \n \n description_service_date\n \n as \n \n description_service_date\n \n, \n \n \n description_tax_code_id\n \n as \n \n description_tax_code_id\n \n, \n \n \n employee_id\n \n as \n \n employee_id\n \n, \n \n \n index\n \n as \n \n index\n \n, \n \n \n journal_entry_id\n \n as \n \n journal_entry_id\n \n, \n \n \n posting_type\n \n as \n \n posting_type\n \n, \n \n \n tax_amount\n \n as \n \n tax_amount\n \n, \n \n \n tax_applicable_on\n \n as \n \n tax_applicable_on\n \n, \n \n \n tax_code_id\n \n as \n \n tax_code_id\n \n, \n \n \n vendor_id\n \n as \n \n vendor_id\n \n\n\n\n \n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(journal_entry_id as TEXT) as journal_entry_id,\n index,\n cast(account_id as TEXT) as account_id,\n amount,\n cast(customer_id as TEXT) as customer_id,\n cast(department_id as TEXT) as department_id,\n cast(class_id as TEXT) as class_id,\n description,\n billable_status,\n posting_type,\n cast(vendor_id as TEXT) as vendor_id,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__transfer": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__transfer", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__transfer.sql", "original_file_path": "models/stg_quickbooks__transfer.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__transfer", "fqn": ["quickbooks_source", "stg_quickbooks__transfer"], "alias": "stg_quickbooks__transfer", "checksum": {"name": "sha256", "checksum": "80d61f3899f388de1ba0d6d3811e78ce9db6814214a88e8a314fa111214193c8"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing records of transfers. A Transfer represents a transaction where funds are moved between two accounts from the company's QuickBooks chart of accounts.", "columns": {"transfer_id": {"name": "transfer_id", "description": "Unique identifier of the transfer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the transfer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "from_account_id": {"name": "from_account_id", "description": "Account id of the account which the transfer is from.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "to_account_id": {"name": "to_account_id", "description": "Account id of the account which the transfer is to.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date which the transfer occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1730311928.0327091, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__transfer\"", "raw_code": "--To disable this model, set the using_transfer variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_transfer', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__transfer_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__transfer_tmp')),\n staging_columns=get_transfer_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as transfer_id,\n amount,\n cast(from_account_id as {{ dbt.type_string() }}) as from_account_id,\n cast(to_account_id as {{ dbt.type_string() }}) as to_account_id,\n cast( {{ dbt.date_trunc('day', 'transaction_date') }} as date) as transaction_date,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__transfer_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__transfer_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_transfer_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string", "macro.dbt.date_trunc"], "nodes": ["model.quickbooks_source.stg_quickbooks__transfer_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__transfer.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_transfer variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__transfer_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n amount\n \n as \n \n amount\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n from_account_id\n \n as \n \n from_account_id\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n private_note\n \n as \n \n private_note\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n to_account_id\n \n as \n \n to_account_id\n \n, \n \n \n transaction_date\n \n as \n \n transaction_date\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as transfer_id,\n amount,\n cast(from_account_id as TEXT) as from_account_id,\n cast(to_account_id as TEXT) as to_account_id,\n cast( date_trunc('day', transaction_date) as date) as transaction_date,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__bill_payment_line": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__bill_payment_line", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__bill_payment_line.sql", "original_file_path": "models/stg_quickbooks__bill_payment_line.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__bill_payment_line", "fqn": ["quickbooks_source", "stg_quickbooks__bill_payment_line"], "alias": "stg_quickbooks__bill_payment_line", "checksum": {"name": "sha256", "checksum": "658cf9c659df8b7a0ac31c6b2d2e00896b94f7fc51aecbd3e43422e29151b4fb"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing individual line items of a bill payment, which are recorded within the `bill_payment` table.", "columns": {"bill_payment_id": {"name": "bill_payment_id", "description": "The Unique identifier of the bill payment record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of payments associated with the parent bill payment record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the bill payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "bill_id": {"name": "bill_id", "description": "Unique identifier of the bill record associated with the bill payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_id": {"name": "deposit_id", "description": "Unique identifier of the deposit record associated with the bill payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "expense_id": {"name": "expense_id", "description": "Unique identifier of the purchase record associated with the bill payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "linked_bill_payment_id": {"name": "linked_bill_payment_id", "description": "Unique identifier of the bill record associated with the bill payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_credit_id": {"name": "vendor_credit_id", "description": "Unique identifier of the vendor_credit record associated with the bill payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "journal_entry_id": {"name": "journal_entry_id", "description": "Unique identifier of the journal entry record associated with the bill payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1730311928.0071402, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill_payment_line\"", "raw_code": "--To disable this model, set the using_bill_payment variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_bill', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__bill_payment_line_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__bill_payment_line_tmp')),\n staging_columns=get_bill_payment_line_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(bill_payment_id as {{ dbt.type_string() }}) as bill_payment_id,\n index,\n amount,\n cast(bill_id as {{ dbt.type_string() }}) as bill_id,\n deposit_id,\n expense_id,\n journal_entry_id,\n linked_bill_payment_id,\n vendor_credit_id,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__bill_payment_line_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__bill_payment_line_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_bill_payment_line_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__bill_payment_line_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__bill_payment_line.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_bill_payment variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill_payment_line_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n amount\n \n as \n \n amount\n \n, \n \n \n bill_id\n \n as \n \n bill_id\n \n, \n \n \n bill_payment_credit_card_id\n \n as \n \n bill_payment_credit_card_id\n \n, \n \n \n bill_payment_id\n \n as \n \n bill_payment_id\n \n, \n \n \n check_id\n \n as \n \n check_id\n \n, \n \n \n credit_card_charge_id\n \n as \n \n credit_card_charge_id\n \n, \n \n \n credit_card_credit_id\n \n as \n \n credit_card_credit_id\n \n, \n \n \n deposit_id\n \n as \n \n deposit_id\n \n, \n \n \n expense_id\n \n as \n \n expense_id\n \n, \n \n \n index\n \n as \n \n index\n \n, \n \n \n journal_entry_id\n \n as \n \n journal_entry_id\n \n, \n \n \n linked_bill_payment_id\n \n as \n \n linked_bill_payment_id\n \n, \n \n \n vendor_credit_id\n \n as \n \n vendor_credit_id\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(bill_payment_id as TEXT) as bill_payment_id,\n index,\n amount,\n cast(bill_id as TEXT) as bill_id,\n deposit_id,\n expense_id,\n journal_entry_id,\n linked_bill_payment_id,\n vendor_credit_id,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__payment_line": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__payment_line", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__payment_line.sql", "original_file_path": "models/stg_quickbooks__payment_line.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__payment_line", "fqn": ["quickbooks_source", "stg_quickbooks__payment_line"], "alias": "stg_quickbooks__payment_line", "checksum": {"name": "sha256", "checksum": "0fbd1adbbf9c8c71e606f1987f6f645d363121a71306098dd17e5f3c073b39c5"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing individual line items recorded within a payment.", "columns": {"payment_id": {"name": "payment_id", "description": "Unique identifier of the payment record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the payment record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the payment line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "journal_entry_id": {"name": "journal_entry_id", "description": "Journal entry reference associated with the payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_id": {"name": "deposit_id", "description": "Deposit reference associated with the payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "invoice_id": {"name": "invoice_id", "description": "Invoice reference associated with the payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "credit_memo_id": {"name": "credit_memo_id", "description": "credit memo reference associated with the payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1730311928.024666, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__payment_line\"", "raw_code": "--To disable this model, set the using_payment variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_payment', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__payment_line_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__payment_line_tmp')),\n staging_columns=get_payment_line_columns()\n )\n }}\n \n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n from base\n),\n\nfinal as (\n \n select \n cast(payment_id as {{ dbt.type_string() }}) as payment_id,\n index,\n amount,\n journal_entry_id,\n deposit_id,\n cast(invoice_id as {{ dbt.type_string() }}) as invoice_id,\n credit_memo_id,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__payment_line_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__payment_line_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_payment_line_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__payment_line_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__payment_line.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_payment variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__payment_line_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n amount\n \n as \n \n amount\n \n, \n \n \n check_id\n \n as \n \n check_id\n \n, \n \n \n credit_card_charge_id\n \n as \n \n credit_card_charge_id\n \n, \n \n \n credit_card_credit_id\n \n as \n \n credit_card_credit_id\n \n, \n \n \n credit_memo_id\n \n as \n \n credit_memo_id\n \n, \n \n \n deposit_id\n \n as \n \n deposit_id\n \n, \n \n \n expense_id\n \n as \n \n expense_id\n \n, \n \n \n index\n \n as \n \n index\n \n, \n \n \n invoice_id\n \n as \n \n invoice_id\n \n, \n \n \n journal_entry_id\n \n as \n \n journal_entry_id\n \n, \n \n \n payment_id\n \n as \n \n payment_id\n \n\n\n\n \n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(payment_id as TEXT) as payment_id,\n index,\n amount,\n journal_entry_id,\n deposit_id,\n cast(invoice_id as TEXT) as invoice_id,\n credit_memo_id,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__vendor": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__vendor", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__vendor.sql", "original_file_path": "models/stg_quickbooks__vendor.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__vendor", "fqn": ["quickbooks_source", "stg_quickbooks__vendor"], "alias": "stg_quickbooks__vendor", "checksum": {"name": "sha256", "checksum": "437858c5dcd2a02f9e011a71da735596c6ac3ec0dea646f40b124fcd74d44fc0"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing all vendor records. A vendor is the seller from whom your company purchases any service or product.", "columns": {"vendor_id": {"name": "vendor_id", "description": "Unique identifier of the vendor.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_number": {"name": "account_number", "description": "Name or number of the account associated with this vendor.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "billing_address_id": {"name": "billing_address_id", "description": "Address reference for the billing address of the vendor.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_active": {"name": "is_active", "description": "Boolean indicating whether the vendor is active.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "Specifies the open balance amount or the amount unpaid by the customer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "company_name": {"name": "company_name", "description": "The name of the company associated with the person or organization.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the date when the vendor was created.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts associated with this vendor are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "display_name": {"name": "display_name", "description": "The name of the vendor as displayed. Must be unique across all Vendor, Customer, and Employee objects.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "web_url": {"name": "web_url", "description": "Website url associated with the vendor.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_vendor_1099": {"name": "is_vendor_1099", "description": "Boolean indicating whether this vendor is an independent contractor; someone who is given a 1099-MISC form at the end of the year.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table"}, "created_at": 1730311928.03515, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__vendor\"", "raw_code": "with base as (\n\n select * \n from {{ ref('stg_quickbooks__vendor_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__vendor_tmp')),\n staging_columns=get_vendor_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as vendor_id,\n account_number,\n active as is_active,\n balance,\n cast(billing_address_id as {{ dbt.type_string() }}) as billing_address_id,\n company_name,\n created_at,\n currency_id,\n display_name,\n web_url,\n vendor_1099 as is_vendor_1099,\n source_relation,\n _fivetran_deleted\n\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__vendor_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__vendor_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_vendor_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__vendor_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__vendor.sql", "compiled": true, "compiled_code": "with base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__vendor_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n account_number\n \n as \n \n account_number\n \n, \n \n \n active\n \n as \n \n active\n \n, \n \n \n alternate_phone\n \n as \n \n alternate_phone\n \n, \n \n \n balance\n \n as \n \n balance\n \n, \n \n \n billing_address_id\n \n as \n \n billing_address_id\n \n, \n \n \n company_name\n \n as \n \n company_name\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n currency_id\n \n as \n \n currency_id\n \n, \n \n \n display_name\n \n as \n \n display_name\n \n, \n \n \n email\n \n as \n \n email\n \n, \n \n \n family_name\n \n as \n \n family_name\n \n, \n \n \n fax_number\n \n as \n \n fax_number\n \n, \n \n \n given_name\n \n as \n \n given_name\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n middle_name\n \n as \n \n middle_name\n \n, \n \n \n mobile_phone\n \n as \n \n mobile_phone\n \n, \n \n \n other_contacts\n \n as \n \n other_contacts\n \n, \n \n \n primary_phone\n \n as \n \n primary_phone\n \n, \n \n \n print_on_check_name\n \n as \n \n print_on_check_name\n \n, \n \n \n suffix\n \n as \n \n suffix\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n tax_identifier\n \n as \n \n tax_identifier\n \n, \n \n \n term_id\n \n as \n \n term_id\n \n, \n \n \n title\n \n as \n \n title\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n, \n \n \n vendor_1099\n \n as \n \n vendor_1099\n \n, \n \n \n web_url\n \n as \n \n web_url\n \n, \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as vendor_id,\n account_number,\n active as is_active,\n balance,\n cast(billing_address_id as TEXT) as billing_address_id,\n company_name,\n created_at,\n currency_id,\n display_name,\n web_url,\n vendor_1099 as is_vendor_1099,\n source_relation,\n _fivetran_deleted\n\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__invoice_line": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__invoice_line", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__invoice_line.sql", "original_file_path": "models/stg_quickbooks__invoice_line.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__invoice_line", "fqn": ["quickbooks_source", "stg_quickbooks__invoice_line"], "alias": "stg_quickbooks__invoice_line", "checksum": {"name": "sha256", "checksum": "3dd2b7cd4fd25540efca287c76c5ccb76ecf698064cef051509cf01ca6b9d870"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing individual records from invoices.", "columns": {"invoice_id": {"name": "invoice_id", "description": "Unique identifier of the invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the invoice line record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_account_id": {"name": "sales_item_account_id", "description": "Account reference for an item invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_item_id": {"name": "sales_item_item_id", "description": "Item reference for an item invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_class_id": {"name": "sales_item_class_id", "description": "Class reference for an item invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_quantity": {"name": "sales_item_quantity", "description": "Quantity of the item for an item invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_unit_price": {"name": "sales_item_unit_price", "description": "Unit price of the item for an item invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_account_id": {"name": "discount_account_id", "description": "Account reference for a discount invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_class_id": {"name": "discount_class_id", "description": "Class reference for a discount invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the invoice line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "bundle_quantity": {"name": "bundle_quantity", "description": "Quantity of items included in the invoice bundle.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "bundle_id": {"name": "bundle_id", "description": "Reference to the bundle associated with the invoice line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "Reference to the account associated with the invoice line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_id": {"name": "item_id", "description": "Reference to the item associated with the invoice line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "quantity": {"name": "quantity", "description": "Quantity of the item included on the invoice line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "detail_type": {"name": "detail_type", "description": "Individual line items of a transaction. Valid line types include SalesItemLineDetail, DescriptionOnly (also used for inline Subtotal lines), DiscountLineDetail and SubTotalLineDetail (used for the overall transaction). FYI - Records synced prior to 11/2021 will have a null value.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1730311928.020027, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__invoice_line\"", "raw_code": "--To disable this model, set the using_invoice variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_invoice', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__invoice_line_tmp') }}\n\n),\n\nfields as ( \n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__invoice_line_tmp')),\n staging_columns=get_invoice_line_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(invoice_id as {{ dbt.type_string() }}) as invoice_id,\n index,\n amount,\n cast(sales_item_account_id as {{ dbt.type_string() }}) as sales_item_account_id,\n cast(sales_item_item_id as {{ dbt.type_string() }}) as sales_item_item_id,\n cast(sales_item_class_id as {{ dbt.type_string() }}) as sales_item_class_id,\n sales_item_quantity,\n sales_item_unit_price,\n cast(discount_account_id as {{ dbt.type_string() }}) as discount_account_id,\n detail_type,\n cast(discount_class_id as {{ dbt.type_string() }}) as discount_class_id,\n description,\n quantity,\n bundle_quantity,\n cast(bundle_id as {{ dbt.type_string() }}) as bundle_id,\n cast(account_id as {{ dbt.type_string() }}) as account_id,\n cast(item_id as {{ dbt.type_string() }}) as item_id,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__invoice_line_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__invoice_line_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_invoice_line_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__invoice_line_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__invoice_line.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_invoice variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__invoice_line_tmp\"\n\n),\n\nfields as ( \n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n account_id\n \n as \n \n account_id\n \n, \n \n \n amount\n \n as \n \n amount\n \n, \n \n \n bundle_id\n \n as \n \n bundle_id\n \n, \n \n \n bundle_quantity\n \n as \n \n bundle_quantity\n \n, \n \n \n description\n \n as \n \n description\n \n, \n \n \n description_service_date\n \n as \n \n description_service_date\n \n, \n \n \n description_tax_code_id\n \n as \n \n description_tax_code_id\n \n, \n \n \n discount_account_id\n \n as \n \n discount_account_id\n \n, \n \n \n discount_class_id\n \n as \n \n discount_class_id\n \n, \n \n \n discount_discount_percent\n \n as \n \n discount_discount_percent\n \n, \n \n \n discount_percent_based\n \n as \n \n discount_percent_based\n \n, \n \n \n discount_tax_code_id\n \n as \n \n discount_tax_code_id\n \n, \n \n \n detail_type\n \n as \n \n detail_type\n \n, \n \n \n index\n \n as \n \n index\n \n, \n \n \n invoice_id\n \n as \n \n invoice_id\n \n, \n \n \n item_id\n \n as \n \n item_id\n \n, \n \n \n quantity\n \n as \n \n quantity\n \n, \n \n \n sales_item_account_id\n \n as \n \n sales_item_account_id\n \n, \n \n \n sales_item_class_id\n \n as \n \n sales_item_class_id\n \n, \n \n \n sales_item_discount_amount\n \n as \n \n sales_item_discount_amount\n \n, \n \n \n sales_item_discount_rate\n \n as \n \n sales_item_discount_rate\n \n, \n \n \n sales_item_item_id\n \n as \n \n sales_item_item_id\n \n, \n \n \n sales_item_quantity\n \n as \n \n sales_item_quantity\n \n, \n \n \n sales_item_service_date\n \n as \n \n sales_item_service_date\n \n, \n \n \n sales_item_tax_code_id\n \n as \n \n sales_item_tax_code_id\n \n, \n \n \n sales_item_unit_price\n \n as \n \n sales_item_unit_price\n \n, \n \n \n sub_total_item_id\n \n as \n \n sub_total_item_id\n \n, \n \n \n tax_code_id\n \n as \n \n tax_code_id\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(invoice_id as TEXT) as invoice_id,\n index,\n amount,\n cast(sales_item_account_id as TEXT) as sales_item_account_id,\n cast(sales_item_item_id as TEXT) as sales_item_item_id,\n cast(sales_item_class_id as TEXT) as sales_item_class_id,\n sales_item_quantity,\n sales_item_unit_price,\n cast(discount_account_id as TEXT) as discount_account_id,\n detail_type,\n cast(discount_class_id as TEXT) as discount_class_id,\n description,\n quantity,\n bundle_quantity,\n cast(bundle_id as TEXT) as bundle_id,\n cast(account_id as TEXT) as account_id,\n cast(item_id as TEXT) as item_id,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__estimate": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__estimate", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__estimate.sql", "original_file_path": "models/stg_quickbooks__estimate.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__estimate", "fqn": ["quickbooks_source", "stg_quickbooks__estimate"], "alias": "stg_quickbooks__estimate", "checksum": {"name": "sha256", "checksum": "fdd6491a32b918fc67d7b595f773acf0e341dd42f31cf8652665d536773bbcb3"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing estimates. An estimate represents a proposal for a financial transaction from a business to a customer for goods or services proposed to be sold, including proposed pricing.", "columns": {"estimate_id": {"name": "estimate_id", "description": "Unique identifier of the estimate.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated with the estimate record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the date when the estimate was created.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency which the estimate was provided.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Reference to the customer associated with the estimate.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department associated with the estimate.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "due_date": {"name": "due_date", "description": "Date which the estimate is due.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Total amount of all line items included in the estimate.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date which the estimate occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_status": {"name": "transaction_status", "description": "Current status of the estimate.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1730311928.0179021, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__estimate\"", "raw_code": "--To disable this model, set the using_estimate variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_estimate', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__estimate_tmp') }}\n\n),\n \nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__estimate_tmp')),\n staging_columns=get_estimate_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as estimate_id,\n cast(class_id as {{ dbt.type_string() }}) as class_id,\n created_at,\n currency_id,\n customer_id,\n cast(department_id as {{ dbt.type_string() }}) as department_id,\n cast( {{ dbt.date_trunc('day', 'due_date') }} as date) as due_date, \n exchange_rate,\n total_amount,\n cast( {{ dbt.date_trunc('day', 'transaction_date') }} as date) as transaction_date,\n transaction_status,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__estimate_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__estimate_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_estimate_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string", "macro.dbt.date_trunc"], "nodes": ["model.quickbooks_source.stg_quickbooks__estimate_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__estimate.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_estimate variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__estimate_tmp\"\n\n),\n \nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n accepted_by\n \n as \n \n accepted_by\n \n, \n \n \n accepted_date\n \n as \n \n accepted_date\n \n, \n \n \n apply_tax_after_discount\n \n as \n \n apply_tax_after_discount\n \n, \n \n \n bill_email\n \n as \n \n bill_email\n \n, \n \n \n billing_address_id\n \n as \n \n billing_address_id\n \n, \n \n \n class_id\n \n as \n \n class_id\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n currency_id\n \n as \n \n currency_id\n \n, \n \n \n customer_id\n \n as \n \n customer_id\n \n, \n \n \n customer_memo\n \n as \n \n customer_memo\n \n, \n \n \n delivery_type\n \n as \n \n delivery_type\n \n, \n \n \n department_id\n \n as \n \n department_id\n \n, \n \n \n doc_number\n \n as \n \n doc_number\n \n, \n \n \n due_date\n \n as \n \n due_date\n \n, \n \n \n email_status\n \n as \n \n email_status\n \n, \n \n \n exchange_rate\n \n as \n \n exchange_rate\n \n, \n \n \n expiration_date\n \n as \n \n expiration_date\n \n, \n \n \n global_tax_calculation\n \n as \n \n global_tax_calculation\n \n, \n \n \n home_total_amount\n \n as \n \n home_total_amount\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n print_status\n \n as \n \n print_status\n \n, \n \n \n private_note\n \n as \n \n private_note\n \n, \n \n \n sales_term_id\n \n as \n \n sales_term_id\n \n, \n \n \n ship_date\n \n as \n \n ship_date\n \n, \n \n \n shipping_address_id\n \n as \n \n shipping_address_id\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n tax_code_id\n \n as \n \n tax_code_id\n \n, \n \n \n total_amount\n \n as \n \n total_amount\n \n, \n \n \n total_tax\n \n as \n \n total_tax\n \n, \n \n \n transaction_date\n \n as \n \n transaction_date\n \n, \n \n \n transaction_status\n \n as \n \n transaction_status\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as estimate_id,\n cast(class_id as TEXT) as class_id,\n created_at,\n currency_id,\n customer_id,\n cast(department_id as TEXT) as department_id,\n cast( date_trunc('day', due_date) as date) as due_date, \n exchange_rate,\n total_amount,\n cast( date_trunc('day', transaction_date) as date) as transaction_date,\n transaction_status,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__credit_memo_line": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__credit_memo_line", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__credit_memo_line.sql", "original_file_path": "models/stg_quickbooks__credit_memo_line.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__credit_memo_line", "fqn": ["quickbooks_source", "stg_quickbooks__credit_memo_line"], "alias": "stg_quickbooks__credit_memo_line", "checksum": {"name": "sha256", "checksum": "8ac0a7118ae843a7c8e6818daa2cf5301a6e2cf1abecc89605729219581a1e0c"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing individual records of credit memos.", "columns": {"credit_memo_id": {"name": "credit_memo_id", "description": "Unique identifier of the credit memo record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records from a credit memo record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the credit memo line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_account_id": {"name": "sales_item_account_id", "description": "The identifier of the account associated with the credited refund.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_class_id": {"name": "sales_item_class_id", "description": "Reference to the class associated with the refunded item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_item_id": {"name": "sales_item_item_id", "description": "Reference to the item with the refunded item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_quantity": {"name": "sales_item_quantity", "description": "Quantity of item related to the credit memo line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_unit_price": {"name": "sales_item_unit_price", "description": "Unit price of the item related to the credit memo line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_account_id": {"name": "discount_account_id", "description": "The identifier of the account associated with the income account used to track discounts.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_class_id": {"name": "discount_class_id", "description": "Reference to the class associated with the discount of the refunded item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the credit memo line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1730311928.0129778, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__credit_memo_line\"", "raw_code": "--To disable this model, set the using_credit_memo variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_credit_memo', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__credit_memo_line_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__credit_memo_line_tmp')),\n staging_columns=get_credit_memo_line_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(credit_memo_id as {{ dbt.type_string() }}) as credit_memo_id,\n index,\n amount,\n cast(sales_item_account_id as {{ dbt.type_string() }}) as sales_item_account_id,\n cast(sales_item_class_id as {{ dbt.type_string() }}) as sales_item_class_id,\n cast(sales_item_item_id as {{ dbt.type_string() }}) as sales_item_item_id,\n sales_item_quantity,\n sales_item_unit_price,\n cast(discount_account_id as {{ dbt.type_string() }}) as discount_account_id,\n cast(discount_class_id as {{ dbt.type_string() }}) as discount_class_id,\n description,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__credit_memo_line_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__credit_memo_line_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_credit_memo_line_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__credit_memo_line_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__credit_memo_line.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_credit_memo variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__credit_memo_line_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n amount\n \n as \n \n amount\n \n, \n \n \n bundle_id\n \n as \n \n bundle_id\n \n, \n \n \n bundle_quantity\n \n as \n \n bundle_quantity\n \n, \n \n \n credit_memo_id\n \n as \n \n credit_memo_id\n \n, \n \n \n description\n \n as \n \n description\n \n, \n \n \n description_service_date\n \n as \n \n description_service_date\n \n, \n \n \n description_tax_code_id\n \n as \n \n description_tax_code_id\n \n, \n \n \n discount_account_id\n \n as \n \n discount_account_id\n \n, \n \n \n discount_class_id\n \n as \n \n discount_class_id\n \n, \n \n \n discount_discount_percent\n \n as \n \n discount_discount_percent\n \n, \n \n \n discount_percent_based\n \n as \n \n discount_percent_based\n \n, \n \n \n discount_tax_code_id\n \n as \n \n discount_tax_code_id\n \n, \n \n \n index\n \n as \n \n index\n \n, \n \n \n sales_item_account_id\n \n as \n \n sales_item_account_id\n \n, \n \n \n sales_item_class_id\n \n as \n \n sales_item_class_id\n \n, \n \n \n sales_item_discount_amount\n \n as \n \n sales_item_discount_amount\n \n, \n \n \n sales_item_discount_rate\n \n as \n \n sales_item_discount_rate\n \n, \n \n \n sales_item_item_id\n \n as \n \n sales_item_item_id\n \n, \n \n \n sales_item_quantity\n \n as \n \n sales_item_quantity\n \n, \n \n \n sales_item_service_date\n \n as \n \n sales_item_service_date\n \n, \n \n \n sales_item_tax_code_id\n \n as \n \n sales_item_tax_code_id\n \n, \n \n \n sales_item_unit_price\n \n as \n \n sales_item_unit_price\n \n, \n \n \n sub_total_item_id\n \n as \n \n sub_total_item_id\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(credit_memo_id as TEXT) as credit_memo_id,\n index,\n amount,\n cast(sales_item_account_id as TEXT) as sales_item_account_id,\n cast(sales_item_class_id as TEXT) as sales_item_class_id,\n cast(sales_item_item_id as TEXT) as sales_item_item_id,\n sales_item_quantity,\n sales_item_unit_price,\n cast(discount_account_id as TEXT) as discount_account_id,\n cast(discount_class_id as TEXT) as discount_class_id,\n description,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__bundle": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__bundle", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__bundle.sql", "original_file_path": "models/stg_quickbooks__bundle.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__bundle", "fqn": ["quickbooks_source", "stg_quickbooks__bundle"], "alias": "stg_quickbooks__bundle", "checksum": {"name": "sha256", "checksum": "c4823b99f757c651cd3b3a80ebf700f96dc9641ab023ce9f1e33a55079f3c297"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing all bundles possible to be used within an invoice.", "columns": {"bundle_id": {"name": "bundle_id", "description": "Unique identifier of the bundle.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the date which the bundle was created.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_active": {"name": "is_active", "description": "Boolean indicating whether the bundle is active.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "fully_qualified_name": {"name": "fully_qualified_name", "description": "Full name given to the bundle.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of the date when the bundle was last updated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1730311928.01031, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bundle\"", "raw_code": "--To disable this model, set the using_invoice_bundle variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_invoice_bundle', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__bundle_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__bundle_tmp')),\n staging_columns=get_bundle_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as bundle_id,\n created_at,\n active as is_active,\n fully_qualified_name,\n updated_at,\n source_relation,\n _fivetran_deleted\n\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__bundle_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__bundle_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_bundle_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__bundle_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__bundle.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_invoice_bundle variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bundle_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n active\n \n as \n \n active\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n description\n \n as \n \n description\n \n, \n \n \n fully_qualified_name\n \n as \n \n fully_qualified_name\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n print_grouped_items\n \n as \n \n print_grouped_items\n \n, \n \n \n purchase_cost\n \n as \n \n purchase_cost\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n taxable\n \n as \n \n taxable\n \n, \n \n \n unit_price\n \n as \n \n unit_price\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n, \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as bundle_id,\n created_at,\n active as is_active,\n fully_qualified_name,\n updated_at,\n source_relation,\n _fivetran_deleted\n\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__department": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__department", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__department.sql", "original_file_path": "models/stg_quickbooks__department.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__department", "fqn": ["quickbooks_source", "stg_quickbooks__department"], "alias": "stg_quickbooks__department", "checksum": {"name": "sha256", "checksum": "4fe90005a1c02b035ec1895108feec62df1f2c8c6a7856dcc11c3c5419c7a037"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing records representing physical locations such as stores, and sales regions.", "columns": {"department_id": {"name": "department_id", "description": "Unique identifier of the department.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_active": {"name": "is_active", "description": "Boolean indicating whether the department is currently active.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the date when the department was created.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of the date when the department was last updated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "fully_qualified_name": {"name": "fully_qualified_name", "description": "Fully qualified name of the department.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the department.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_sub_department": {"name": "is_sub_department", "description": "Boolean indicating whether the department is a sub department.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "parent_department_id": {"name": "parent_department_id", "description": "Reference to the Unique identifier of the parent department if is_sub_department = true.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1730311928.01532, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__department\"", "raw_code": "--To disable this model, set the using_department variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_department', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__department_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__department_tmp')),\n staging_columns=get_department_columns()\n )\n }}\n \n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as department_id,\n active as is_active,\n created_at,\n updated_at,\n fully_qualified_name,\n name,\n sub_department as is_sub_department,\n parent_department_id,\n source_relation,\n _fivetran_deleted\n\n from fields\n)\n\nselect *\nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__department_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__department_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_department_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__department_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__department.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_department variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__department_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n active\n \n as \n \n active\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n fully_qualified_name\n \n as \n \n fully_qualified_name\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n parent_department_id\n \n as \n \n parent_department_id\n \n, \n \n \n sub_department\n \n as \n \n sub_department\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n, \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n\n\n\n \n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as department_id,\n active as is_active,\n created_at,\n updated_at,\n fully_qualified_name,\n name,\n sub_department as is_sub_department,\n parent_department_id,\n source_relation,\n _fivetran_deleted\n\n from fields\n)\n\nselect *\nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__credit_card_payment_txn": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__credit_card_payment_txn", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__credit_card_payment_txn.sql", "original_file_path": "models/stg_quickbooks__credit_card_payment_txn.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__credit_card_payment_txn", "fqn": ["quickbooks_source", "stg_quickbooks__credit_card_payment_txn"], "alias": "stg_quickbooks__credit_card_payment_txn", "checksum": {"name": "sha256", "checksum": "b55d1388adb41c3bb7c6fb84a70b683186d12c04f11627b854183765fb16c7f4"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing all credit card payment transactions.", "columns": {"credit_card_payment_id": {"name": "credit_card_payment_id", "description": "Unique identifier of the credit card payment transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Total amount of money applied to the credit card payment transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "bank_account_id": {"name": "bank_account_id", "description": "Reference to the bank account which the credit card payment is debited towards.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "credit_card_account_id": {"name": "credit_card_account_id", "description": "Reference to the credit card account which the credit card payment is credited towards.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp when the credit card payment was created.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp when the credit card payment was last updated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency used for the credit card payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date the credit card payment transaction took place.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean indicating if the credit card payment was deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean indicating if the record is the most recent updated version of the credit card payment transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1730311928.011638, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__credit_card_payment_txn\"", "raw_code": "--To enable this model, set the using_invoice_bundle variable within your dbt_project.yml file to True.\n{{ config(enabled=var('using_credit_card_payment_txn', False)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__credit_card_payment_txn_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__credit_card_payment_txn_tmp')),\n staging_columns=get_credit_card_payment_txn_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as credit_card_payment_id,\n amount,\n bank_account_id,\n credit_card_account_id,\n created_at,\n updated_at,\n currency_id,\n cast( {{ dbt.date_trunc('day', 'transaction_date') }} as date) as transaction_date,\n _fivetran_deleted,\n row_number() over (partition by id, updated_at, source_relation order by source_relation, updated_at desc) = 1 as is_most_recent_record,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__credit_card_payment_txn_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__credit_card_payment_txn_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_credit_card_payment_txn_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string", "macro.dbt.date_trunc"], "nodes": ["model.quickbooks_source.stg_quickbooks__credit_card_payment_txn_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__credit_card_payment_txn.sql", "compiled": true, "compiled_code": "--To enable this model, set the using_invoice_bundle variable within your dbt_project.yml file to True.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__credit_card_payment_txn_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n id\n \n as \n \n id\n \n, \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n, \n cast(null as timestamp) as \n \n _fivetran_synced\n \n , \n \n \n amount\n \n as \n \n amount\n \n, \n \n \n bank_account_id\n \n as \n \n bank_account_id\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n credit_card_account_id\n \n as \n \n credit_card_account_id\n \n, \n \n \n currency_id\n \n as \n \n currency_id\n \n, \n cast(null as TEXT) as \n \n sync_token\n \n , \n \n \n transaction_date\n \n as \n \n transaction_date\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as credit_card_payment_id,\n amount,\n bank_account_id,\n credit_card_account_id,\n created_at,\n updated_at,\n currency_id,\n cast( date_trunc('day', transaction_date) as date) as transaction_date,\n _fivetran_deleted,\n row_number() over (partition by id, updated_at, source_relation order by source_relation, updated_at desc) = 1 as is_most_recent_record,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__purchase_line": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__purchase_line", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__purchase_line.sql", "original_file_path": "models/stg_quickbooks__purchase_line.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__purchase_line", "fqn": ["quickbooks_source", "stg_quickbooks__purchase_line"], "alias": "stg_quickbooks__purchase_line", "checksum": {"name": "sha256", "checksum": "ee8d20a394aa51a62186bc273ac2041bb5299540a8886d515fa120a873662ff1"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing individual line items of a transaction associated with a purchase.", "columns": {"purchase_id": {"name": "purchase_id", "description": "Unique identifier of the purchase record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the purchase record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_account_id": {"name": "account_expense_account_id", "description": "Account id of the account which the purchase is credited.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_class_id": {"name": "account_expense_class_id", "description": "The class reference associated with the account based expense purchase line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_billable_status": {"name": "account_expense_billable_status", "description": "Status of the purchase billable.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_customer_id": {"name": "account_expense_customer_id", "description": "The customer id associated with the account based expense purchase line", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_tax_code_id": {"name": "account_expense_tax_code_id", "description": "Tax code reference associated to the purchase.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_item_id": {"name": "item_expense_item_id", "description": "The item reference associated with the item based expense purchase line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_billable_status": {"name": "item_expense_billable_status", "description": "The billable status of the item based expense purchase line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_class_id": {"name": "item_expense_class_id", "description": "The class id associated with the item based expense purchase line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_customer_id": {"name": "item_expense_customer_id", "description": "The customer id associated with the item based expense purchase line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the purchase.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "User defined description of the purchase line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table"}, "created_at": 1730311928.026243, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__purchase_line\"", "raw_code": "with base as (\n\n select *\n from {{ ref('stg_quickbooks__purchase_line_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns\n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns\n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__purchase_line_tmp')),\n staging_columns=get_purchase_line_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n from base\n),\n\nfinal as (\n\n select\n cast(purchase_id as {{ dbt.type_string() }}) as purchase_id,\n index,\n cast(account_expense_account_id as {{ dbt.type_string() }}) as account_expense_account_id,\n cast(account_expense_class_id as {{ dbt.type_string() }}) as account_expense_class_id, \n account_expense_billable_status,\n cast(account_expense_customer_id as {{ dbt.type_string() }}) as account_expense_customer_id,\n account_expense_tax_code_id,\n cast(item_expense_item_id as {{ dbt.type_string() }}) as item_expense_item_id,\n item_expense_billable_status,\n cast(item_expense_customer_id as {{ dbt.type_string() }}) as item_expense_customer_id,\n cast(item_expense_class_id as {{ dbt.type_string() }}) as item_expense_class_id,\n amount,\n description,\n source_relation\n from fields\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase_line_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__purchase_line_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_purchase_line_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__purchase_line_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__purchase_line.sql", "compiled": true, "compiled_code": "with base as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__purchase_line_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns\n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns\n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n account_expense_account_id\n \n as \n \n account_expense_account_id\n \n, \n \n \n account_expense_billable_status\n \n as \n \n account_expense_billable_status\n \n, \n \n \n account_expense_class_id\n \n as \n \n account_expense_class_id\n \n, \n \n \n account_expense_customer_id\n \n as \n \n account_expense_customer_id\n \n, \n \n \n account_expense_tax_amount\n \n as \n \n account_expense_tax_amount\n \n, \n \n \n account_expense_tax_code_id\n \n as \n \n account_expense_tax_code_id\n \n, \n \n \n amount\n \n as \n \n amount\n \n, \n \n \n description\n \n as \n \n description\n \n, \n \n \n index\n \n as \n \n index\n \n, \n \n \n item_expense_billable_status\n \n as \n \n item_expense_billable_status\n \n, \n \n \n item_expense_class_id\n \n as \n \n item_expense_class_id\n \n, \n \n \n item_expense_customer_id\n \n as \n \n item_expense_customer_id\n \n, \n \n \n item_expense_item_id\n \n as \n \n item_expense_item_id\n \n, \n \n \n item_expense_quantity\n \n as \n \n item_expense_quantity\n \n, \n \n \n item_expense_tax_code_id\n \n as \n \n item_expense_tax_code_id\n \n, \n \n \n item_expense_unit_price\n \n as \n \n item_expense_unit_price\n \n, \n \n \n purchase_id\n \n as \n \n purchase_id\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n\n from base\n),\n\nfinal as (\n\n select\n cast(purchase_id as TEXT) as purchase_id,\n index,\n cast(account_expense_account_id as TEXT) as account_expense_account_id,\n cast(account_expense_class_id as TEXT) as account_expense_class_id, \n account_expense_billable_status,\n cast(account_expense_customer_id as TEXT) as account_expense_customer_id,\n account_expense_tax_code_id,\n cast(item_expense_item_id as TEXT) as item_expense_item_id,\n item_expense_billable_status,\n cast(item_expense_customer_id as TEXT) as item_expense_customer_id,\n cast(item_expense_class_id as TEXT) as item_expense_class_id,\n amount,\n description,\n source_relation\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__purchase": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__purchase", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__purchase.sql", "original_file_path": "models/stg_quickbooks__purchase.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__purchase", "fqn": ["quickbooks_source", "stg_quickbooks__purchase"], "alias": "stg_quickbooks__purchase", "checksum": {"name": "sha256", "checksum": "1893b79d4bda2c17cbb993a5d4c7e6fa6833ec851a30c18a750dd2133c6ec030"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing records of purchase expenses.", "columns": {"purchase_id": {"name": "purchase_id", "description": "Unique identifier of the purchase.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "Specifies the account reference to which this purchase is applied based on the PaymentType.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the date when the purchase was created.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "credit": {"name": "credit", "description": "Boolean where `false` represents a charge and `true` represents a refund.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department which the purchase is associated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Reference to the customer which the purchase is associated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date when the purchase occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "payment_type": {"name": "payment_type", "description": "Payment type of the purchase. Type can be Cash, Check, or CreditCard.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_id": {"name": "vendor_id", "description": "Reference to the vendor for the purchase.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table"}, "created_at": 1730311928.027374, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__purchase\"", "raw_code": "with base as (\n\n select * \n from {{ ref('stg_quickbooks__purchase_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__purchase_tmp')),\n staging_columns=get_purchase_columns()\n )\n }}\n \n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as purchase_id,\n cast(account_id as {{ dbt.type_string() }}) as account_id,\n created_at,\n cast(doc_number as {{ dbt.type_string() }}) as doc_number,\n currency_id,\n exchange_rate,\n credit,\n total_amount,\n payment_type,\n cast(department_id as {{ dbt.type_string() }}) as department_id,\n cast(customer_id as {{ dbt.type_string() }}) as customer_id,\n cast(vendor_id as {{ dbt.type_string() }}) as vendor_id,\n cast( {{ dbt.date_trunc('day', 'transaction_date') }} as date) as transaction_date,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__purchase_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_purchase_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string", "macro.dbt.date_trunc"], "nodes": ["model.quickbooks_source.stg_quickbooks__purchase_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__purchase.sql", "compiled": true, "compiled_code": "with base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__purchase_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n account_id\n \n as \n \n account_id\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n credit\n \n as \n \n credit\n \n, \n \n \n currency_id\n \n as \n \n currency_id\n \n, \n \n \n customer_id\n \n as \n \n customer_id\n \n, \n \n \n department_id\n \n as \n \n department_id\n \n, \n \n \n doc_number\n \n as \n \n doc_number\n \n, \n \n \n employee_id\n \n as \n \n employee_id\n \n, \n \n \n exchange_rate\n \n as \n \n exchange_rate\n \n, \n \n \n global_tax_calculation\n \n as \n \n global_tax_calculation\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n payment_method_id\n \n as \n \n payment_method_id\n \n, \n \n \n payment_type\n \n as \n \n payment_type\n \n, \n \n \n print_status\n \n as \n \n print_status\n \n, \n \n \n private_note\n \n as \n \n private_note\n \n, \n \n \n remit_to_address_id\n \n as \n \n remit_to_address_id\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n tax_code_id\n \n as \n \n tax_code_id\n \n, \n \n \n total_amount\n \n as \n \n total_amount\n \n, \n \n \n total_tax\n \n as \n \n total_tax\n \n, \n \n \n transaction_date\n \n as \n \n transaction_date\n \n, \n \n \n transaction_source\n \n as \n \n transaction_source\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n, \n \n \n vendor_id\n \n as \n \n vendor_id\n \n\n\n\n \n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as purchase_id,\n cast(account_id as TEXT) as account_id,\n created_at,\n cast(doc_number as TEXT) as doc_number,\n currency_id,\n exchange_rate,\n credit,\n total_amount,\n payment_type,\n cast(department_id as TEXT) as department_id,\n cast(customer_id as TEXT) as customer_id,\n cast(vendor_id as TEXT) as vendor_id,\n cast( date_trunc('day', transaction_date) as date) as transaction_date,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__refund_receipt_line": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__refund_receipt_line", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__refund_receipt_line.sql", "original_file_path": "models/stg_quickbooks__refund_receipt_line.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__refund_receipt_line", "fqn": ["quickbooks_source", "stg_quickbooks__refund_receipt_line"], "alias": "stg_quickbooks__refund_receipt_line", "checksum": {"name": "sha256", "checksum": "b64cbbb683f3869fa379c6e696c76381a36f6159c8f02ffcc597c42c23f41479"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing individual line items of a refund transaction.", "columns": {"refund_id": {"name": "refund_id", "description": "Unique identifier of the refund record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the refund record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the refund line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "User defined description of the refund line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_account_id": {"name": "discount_account_id", "description": "Reference to Income account used to track discounts.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_class_id": {"name": "discount_class_id", "description": "Class id of the discount associated with the refunded item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_quantity": {"name": "sales_item_quantity", "description": "Quantity of the item associated with the refund receipt line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_unit_price": {"name": "sales_item_unit_price", "description": "Unit price of the item associated with the refund receipt line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_account_id": {"name": "sales_item_account_id", "description": "Account id of the account which the refund is credited.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_class_id": {"name": "sales_item_class_id", "description": "Class id of the refunded item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_item_id": {"name": "sales_item_item_id", "description": "Item id of the refunded item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_tax_code_id": {"name": "sales_item_tax_code_id", "description": "Tax code id of the tax code associated with the refund.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1730311928.030144, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__refund_receipt_line\"", "raw_code": "--To disable this model, set the using_refund_receipt variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_refund_receipt', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__refund_receipt_line_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__refund_receipt_line_tmp')),\n staging_columns=get_refund_receipt_line_columns()\n )\n }}\n \n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n from base\n),\n\nfinal as (\n \n select \n cast(refund_id as {{ dbt.type_string() }}) as refund_id,\n index,\n amount,\n description,\n cast(discount_account_id as {{ dbt.type_string() }}) as discount_account_id,\n cast(discount_class_id as {{ dbt.type_string() }}) as discount_class_id,\n cast(sales_item_account_id as {{ dbt.type_string() }}) as sales_item_account_id,\n cast(sales_item_class_id as {{ dbt.type_string() }}) as sales_item_class_id, \n cast(sales_item_item_id as {{ dbt.type_string() }}) as sales_item_item_id,\n sales_item_quantity,\n sales_item_unit_price,\n sales_item_tax_code_id,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__refund_receipt_line_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__refund_receipt_line_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_refund_receipt_line_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__refund_receipt_line_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__refund_receipt_line.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_refund_receipt variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__refund_receipt_line_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n amount\n \n as \n \n amount\n \n, \n \n \n bundle_id\n \n as \n \n bundle_id\n \n, \n \n \n bundle_quantity\n \n as \n \n bundle_quantity\n \n, \n \n \n description\n \n as \n \n description\n \n, \n \n \n description_service_date\n \n as \n \n description_service_date\n \n, \n \n \n description_tax_code_id\n \n as \n \n description_tax_code_id\n \n, \n \n \n discount_account_id\n \n as \n \n discount_account_id\n \n, \n \n \n discount_class_id\n \n as \n \n discount_class_id\n \n, \n \n \n discount_discount_percent\n \n as \n \n discount_discount_percent\n \n, \n \n \n discount_percent_based\n \n as \n \n discount_percent_based\n \n, \n \n \n discount_tax_code_id\n \n as \n \n discount_tax_code_id\n \n, \n \n \n index\n \n as \n \n index\n \n, \n \n \n refund_id\n \n as \n \n refund_id\n \n, \n \n \n sales_item_account_id\n \n as \n \n sales_item_account_id\n \n, \n \n \n sales_item_class_id\n \n as \n \n sales_item_class_id\n \n, \n \n \n sales_item_discount_amount\n \n as \n \n sales_item_discount_amount\n \n, \n \n \n sales_item_discount_rate\n \n as \n \n sales_item_discount_rate\n \n, \n \n \n sales_item_item_id\n \n as \n \n sales_item_item_id\n \n, \n \n \n sales_item_quantity\n \n as \n \n sales_item_quantity\n \n, \n \n \n sales_item_service_date\n \n as \n \n sales_item_service_date\n \n, \n \n \n sales_item_tax_code_id\n \n as \n \n sales_item_tax_code_id\n \n, \n \n \n sales_item_unit_price\n \n as \n \n sales_item_unit_price\n \n, \n \n \n sub_total_item_id\n \n as \n \n sub_total_item_id\n \n\n\n\n \n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(refund_id as TEXT) as refund_id,\n index,\n amount,\n description,\n cast(discount_account_id as TEXT) as discount_account_id,\n cast(discount_class_id as TEXT) as discount_class_id,\n cast(sales_item_account_id as TEXT) as sales_item_account_id,\n cast(sales_item_class_id as TEXT) as sales_item_class_id, \n cast(sales_item_item_id as TEXT) as sales_item_item_id,\n sales_item_quantity,\n sales_item_unit_price,\n sales_item_tax_code_id,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__bundle_item": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__bundle_item", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__bundle_item.sql", "original_file_path": "models/stg_quickbooks__bundle_item.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__bundle_item", "fqn": ["quickbooks_source", "stg_quickbooks__bundle_item"], "alias": "stg_quickbooks__bundle_item", "checksum": {"name": "sha256", "checksum": "09a4714c1eda51603398c47f55a9d1a766a3198b3a10200c3e5048b17ce6f7f2"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Mapping table containing all bundle and item combinations.", "columns": {"bundle_id": {"name": "bundle_id", "description": "Reference to the bundle table.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_id": {"name": "item_id", "description": "Reference to the item which the bundle is mapped.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_quantity": {"name": "item_quantity", "description": "Total item quantity associated with the bunlde and item mapping.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1730311928.00994, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bundle_item\"", "raw_code": "--To disable this model, set the using_invoice_bundle variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_invoice_bundle', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__bundle_item_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__bundle_item_tmp')),\n staging_columns=get_bundle_item_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n \n from base\n),\n\nfinal as (\n \n select \n cast(bundle_id as {{ dbt.type_string() }}) as bundle_id,\n cast(item_id as {{ dbt.type_string() }}) as item_id,\n item_quantity,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__bundle_item_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__bundle_item_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_bundle_item_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__bundle_item_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__bundle_item.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_invoice_bundle variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bundle_item_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n bundle_id\n \n as \n \n bundle_id\n \n, \n \n \n item_id\n \n as \n \n item_id\n \n, \n \n \n item_quantity\n \n as \n \n item_quantity\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n \n from base\n),\n\nfinal as (\n \n select \n cast(bundle_id as TEXT) as bundle_id,\n cast(item_id as TEXT) as item_id,\n item_quantity,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__credit_memo": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__credit_memo", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__credit_memo.sql", "original_file_path": "models/stg_quickbooks__credit_memo.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__credit_memo", "fqn": ["quickbooks_source", "stg_quickbooks__credit_memo"], "alias": "stg_quickbooks__credit_memo", "checksum": {"name": "sha256", "checksum": "c566e7e3dce1b07775e0d2ce15d828ce24a44d523328019ca17498a6aa03a7c1"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing credit memo records. A credit memo is a refund or credit of payment or part of a payment for goods or services that have been sold.", "columns": {"credit_memo_id": {"name": "credit_memo_id", "description": "Unique identifier for a credit memo.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "The balance reflecting any payments made against the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated with the credit memo.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department associated with the credit memo.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Reference to the customer associated with the credit memo.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date when the credit memo occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1730311928.013488, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__credit_memo\"", "raw_code": "--To disable this model, set the using_credit_memo variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_credit_memo', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__credit_memo_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__credit_memo_tmp')),\n staging_columns=get_credit_memo_columns()\n )\n }}\n \n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as credit_memo_id,\n balance,\n cast(doc_number as {{ dbt.type_string() }}) as doc_number,\n total_amount,\n currency_id,\n cast(class_id as {{ dbt.type_string() }}) as class_id,\n cast(department_id as {{ dbt.type_string() }}) as department_id,\n cast(customer_id as {{ dbt.type_string() }}) as customer_id,\n exchange_rate,\n cast( {{ dbt.date_trunc('day', 'transaction_date') }} as date) as transaction_date,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__credit_memo_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__credit_memo_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_credit_memo_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string", "macro.dbt.date_trunc"], "nodes": ["model.quickbooks_source.stg_quickbooks__credit_memo_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__credit_memo.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_credit_memo variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__credit_memo_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n apply_tax_after_discount\n \n as \n \n apply_tax_after_discount\n \n, \n \n \n balance\n \n as \n \n balance\n \n, \n \n \n bill_email\n \n as \n \n bill_email\n \n, \n \n \n billing_address_id\n \n as \n \n billing_address_id\n \n, \n \n \n class_id\n \n as \n \n class_id\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n currency_id\n \n as \n \n currency_id\n \n, \n \n \n custom_p_o_number\n \n as \n \n custom_p_o_number\n \n, \n \n \n customer_id\n \n as \n \n customer_id\n \n, \n \n \n customer_memo\n \n as \n \n customer_memo\n \n, \n \n \n department_id\n \n as \n \n department_id\n \n, \n \n \n doc_number\n \n as \n \n doc_number\n \n, \n \n \n email_status\n \n as \n \n email_status\n \n, \n \n \n exchange_rate\n \n as \n \n exchange_rate\n \n, \n \n \n global_tax_calculation\n \n as \n \n global_tax_calculation\n \n, \n \n \n home_balance\n \n as \n \n home_balance\n \n, \n \n \n home_total_amount\n \n as \n \n home_total_amount\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n payment_method_id\n \n as \n \n payment_method_id\n \n, \n \n \n print_status\n \n as \n \n print_status\n \n, \n \n \n private_note\n \n as \n \n private_note\n \n, \n \n \n remaining_credit\n \n as \n \n remaining_credit\n \n, \n \n \n sales_term_id\n \n as \n \n sales_term_id\n \n, \n \n \n shipping_address_id\n \n as \n \n shipping_address_id\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n total_amount\n \n as \n \n total_amount\n \n, \n \n \n total_tax\n \n as \n \n total_tax\n \n, \n \n \n transaction_date\n \n as \n \n transaction_date\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n\n\n\n \n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as credit_memo_id,\n balance,\n cast(doc_number as TEXT) as doc_number,\n total_amount,\n currency_id,\n cast(class_id as TEXT) as class_id,\n cast(department_id as TEXT) as department_id,\n cast(customer_id as TEXT) as customer_id,\n exchange_rate,\n cast( date_trunc('day', transaction_date) as date) as transaction_date,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__sales_receipt_line": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__sales_receipt_line", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__sales_receipt_line.sql", "original_file_path": "models/stg_quickbooks__sales_receipt_line.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__sales_receipt_line", "fqn": ["quickbooks_source", "stg_quickbooks__sales_receipt_line"], "alias": "stg_quickbooks__sales_receipt_line", "checksum": {"name": "sha256", "checksum": "196add17e2234d22a220f6f275691b23f18a3a4e692e7b8d6a63f2996834ae28"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing individual line items of a sales transaction.", "columns": {"sales_receipt_id": {"name": "sales_receipt_id", "description": "Unique identifier of the sales record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the sales record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the sales line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the sales receipt line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_account_id": {"name": "discount_account_id", "description": "Reference to Income account used to track discounts.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_class_id": {"name": "discount_class_id", "description": "Class id of the discount credited to the sales line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_account_id": {"name": "sales_item_account_id", "description": "Account id of the account credited with the sales line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_class_id": {"name": "sales_item_class_id", "description": "Class id of the receipt credited with the sales line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_item_id": {"name": "sales_item_item_id", "description": "Item id of the item sold in the sale line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_tax_code_id": {"name": "sales_item_tax_code_id", "description": "Tax code id of the tax code associated with the sales line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_quantity": {"name": "sales_item_quantity", "description": "Total quantity of items included in the sales line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_unit_price": {"name": "sales_item_unit_price", "description": "Unit price of the item included on the sales line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1730311928.031243, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__sales_receipt_line\"", "raw_code": "{{ config(enabled=var('using_sales_receipt', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__sales_receipt_line_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__sales_receipt_line_tmp')),\n staging_columns=get_sales_receipt_line_columns()\n )\n }}\n \n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n from base\n),\n\nfinal as (\n \n select \n cast(sales_receipt_id as {{ dbt.type_string() }}) as sales_receipt_id,\n index,\n amount,\n description,\n cast(discount_account_id as {{ dbt.type_string() }}) as discount_account_id,\n cast(discount_class_id as {{ dbt.type_string() }}) as discount_class_id,\n cast(sales_item_account_id as {{ dbt.type_string() }}) as sales_item_account_id,\n cast(sales_item_class_id as {{ dbt.type_string() }}) as sales_item_class_id,\n cast(sales_item_item_id as {{ dbt.type_string() }}) as sales_item_item_id,\n sales_item_tax_code_id,\n sales_item_quantity,\n sales_item_unit_price,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__sales_receipt_line_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__sales_receipt_line_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_sales_receipt_line_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__sales_receipt_line_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__sales_receipt_line.sql", "compiled": true, "compiled_code": "\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__sales_receipt_line_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n amount\n \n as \n \n amount\n \n, \n \n \n bundle_id\n \n as \n \n bundle_id\n \n, \n \n \n bundle_quantity\n \n as \n \n bundle_quantity\n \n, \n \n \n description\n \n as \n \n description\n \n, \n \n \n description_service_date\n \n as \n \n description_service_date\n \n, \n \n \n description_tax_code_id\n \n as \n \n description_tax_code_id\n \n, \n \n \n discount_account_id\n \n as \n \n discount_account_id\n \n, \n \n \n discount_class_id\n \n as \n \n discount_class_id\n \n, \n \n \n discount_discount_percent\n \n as \n \n discount_discount_percent\n \n, \n \n \n discount_percent_based\n \n as \n \n discount_percent_based\n \n, \n \n \n discount_tax_code_id\n \n as \n \n discount_tax_code_id\n \n, \n \n \n index\n \n as \n \n index\n \n, \n \n \n sales_item_account_id\n \n as \n \n sales_item_account_id\n \n, \n \n \n sales_item_class_id\n \n as \n \n sales_item_class_id\n \n, \n \n \n sales_item_discount_amount\n \n as \n \n sales_item_discount_amount\n \n, \n \n \n sales_item_discount_rate\n \n as \n \n sales_item_discount_rate\n \n, \n \n \n sales_item_item_id\n \n as \n \n sales_item_item_id\n \n, \n \n \n sales_item_quantity\n \n as \n \n sales_item_quantity\n \n, \n \n \n sales_item_service_date\n \n as \n \n sales_item_service_date\n \n, \n \n \n sales_item_tax_code_id\n \n as \n \n sales_item_tax_code_id\n \n, \n \n \n sales_item_unit_price\n \n as \n \n sales_item_unit_price\n \n, \n \n \n sales_receipt_id\n \n as \n \n sales_receipt_id\n \n, \n \n \n sub_total_item_id\n \n as \n \n sub_total_item_id\n \n\n\n\n \n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(sales_receipt_id as TEXT) as sales_receipt_id,\n index,\n amount,\n description,\n cast(discount_account_id as TEXT) as discount_account_id,\n cast(discount_class_id as TEXT) as discount_class_id,\n cast(sales_item_account_id as TEXT) as sales_item_account_id,\n cast(sales_item_class_id as TEXT) as sales_item_class_id,\n cast(sales_item_item_id as TEXT) as sales_item_item_id,\n sales_item_tax_code_id,\n sales_item_quantity,\n sales_item_unit_price,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__sales_receipt": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__sales_receipt", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__sales_receipt.sql", "original_file_path": "models/stg_quickbooks__sales_receipt.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__sales_receipt", "fqn": ["quickbooks_source", "stg_quickbooks__sales_receipt"], "alias": "stg_quickbooks__sales_receipt", "checksum": {"name": "sha256", "checksum": "9dc669226580ea77ad9dd79053c189d77614d8c9172305158a380cef60c7372c"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing sales receipts that are given to a customer. A sales receipt, payment is received as part of the sale of goods and services. The sales receipt specifies a deposit account where the customer's payment is deposited.", "columns": {"sales_receipt_id": {"name": "sales_receipt_id", "description": "Unique identifier of the sales receipt.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "The balance reflecting any payments made against the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_to_account_id": {"name": "deposit_to_account_id", "description": "Account to which payment money is deposited.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the date when the sale was created.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Customer id of the sold to customer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department which the sales receipt is associated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class which the sales receipt is associated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date which the sale occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1730311928.031795, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__sales_receipt\"", "raw_code": "{{ config(enabled=var('using_sales_receipt', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__sales_receipt_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__sales_receipt_tmp')),\n staging_columns=get_sales_receipt_columns()\n )\n }}\n \n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as sales_receipt_id,\n balance,\n cast(doc_number as {{ dbt.type_string() }}) as doc_number,\n total_amount,\n cast(deposit_to_account_id as {{ dbt.type_string() }}) as deposit_to_account_id,\n created_at,\n cast(customer_id as {{ dbt.type_string() }}) as customer_id,\n cast(department_id as {{ dbt.type_string() }}) as department_id,\n cast(class_id as {{ dbt.type_string() }}) as class_id,\n currency_id,\n exchange_rate,\n cast( {{ dbt.date_trunc('day', 'transaction_date') }} as date) as transaction_date,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__sales_receipt_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__sales_receipt_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_sales_receipt_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string", "macro.dbt.date_trunc"], "nodes": ["model.quickbooks_source.stg_quickbooks__sales_receipt_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__sales_receipt.sql", "compiled": true, "compiled_code": "\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__sales_receipt_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n apply_tax_after_discount\n \n as \n \n apply_tax_after_discount\n \n, \n \n \n balance\n \n as \n \n balance\n \n, \n \n \n bill_email\n \n as \n \n bill_email\n \n, \n \n \n billing_address_id\n \n as \n \n billing_address_id\n \n, \n \n \n class_id\n \n as \n \n class_id\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n credit_card_amount\n \n as \n \n credit_card_amount\n \n, \n \n \n credit_card_auth_code\n \n as \n \n credit_card_auth_code\n \n, \n \n \n credit_card_billing_address_street\n \n as \n \n credit_card_billing_address_street\n \n, \n \n \n credit_card_cc_expiry_month\n \n as \n \n credit_card_cc_expiry_month\n \n, \n \n \n credit_card_cc_expiry_year\n \n as \n \n credit_card_cc_expiry_year\n \n, \n \n \n credit_card_cctrans_id\n \n as \n \n credit_card_cctrans_id\n \n, \n \n \n credit_card_name_on_account\n \n as \n \n credit_card_name_on_account\n \n, \n \n \n credit_card_postal_code\n \n as \n \n credit_card_postal_code\n \n, \n \n \n credit_card_process_payment\n \n as \n \n credit_card_process_payment\n \n, \n \n \n credit_card_status\n \n as \n \n credit_card_status\n \n, \n \n \n credit_card_transaction_authorization_time\n \n as \n \n credit_card_transaction_authorization_time\n \n, \n \n \n credit_card_type\n \n as \n \n credit_card_type\n \n, \n \n \n currency_id\n \n as \n \n currency_id\n \n, \n \n \n customer_id\n \n as \n \n customer_id\n \n, \n \n \n customer_memo\n \n as \n \n customer_memo\n \n, \n \n \n delivery_time\n \n as \n \n delivery_time\n \n, \n \n \n delivery_type\n \n as \n \n delivery_type\n \n, \n \n \n department_id\n \n as \n \n department_id\n \n, \n \n \n deposit_to_account_id\n \n as \n \n deposit_to_account_id\n \n, \n \n \n doc_number\n \n as \n \n doc_number\n \n, \n \n \n email_status\n \n as \n \n email_status\n \n, \n \n \n exchange_rate\n \n as \n \n exchange_rate\n \n, \n \n \n global_tax_calculation\n \n as \n \n global_tax_calculation\n \n, \n \n \n home_balance\n \n as \n \n home_balance\n \n, \n \n \n home_total_amount\n \n as \n \n home_total_amount\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n payment_method_id\n \n as \n \n payment_method_id\n \n, \n \n \n payment_reference_number\n \n as \n \n payment_reference_number\n \n, \n \n \n print_status\n \n as \n \n print_status\n \n, \n \n \n private_note\n \n as \n \n private_note\n \n, \n \n \n ship_date\n \n as \n \n ship_date\n \n, \n \n \n shipping_address_id\n \n as \n \n shipping_address_id\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n tax_code_id\n \n as \n \n tax_code_id\n \n, \n \n \n total_amount\n \n as \n \n total_amount\n \n, \n \n \n total_tax\n \n as \n \n total_tax\n \n, \n \n \n tracking_number\n \n as \n \n tracking_number\n \n, \n \n \n transaction_date\n \n as \n \n transaction_date\n \n, \n \n \n transaction_source\n \n as \n \n transaction_source\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n\n\n\n \n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as sales_receipt_id,\n balance,\n cast(doc_number as TEXT) as doc_number,\n total_amount,\n cast(deposit_to_account_id as TEXT) as deposit_to_account_id,\n created_at,\n cast(customer_id as TEXT) as customer_id,\n cast(department_id as TEXT) as department_id,\n cast(class_id as TEXT) as class_id,\n currency_id,\n exchange_rate,\n cast( date_trunc('day', transaction_date) as date) as transaction_date,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__invoice_linked_txn": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__invoice_linked_txn", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__invoice_linked_txn.sql", "original_file_path": "models/stg_quickbooks__invoice_linked_txn.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__invoice_linked_txn", "fqn": ["quickbooks_source", "stg_quickbooks__invoice_linked_txn"], "alias": "stg_quickbooks__invoice_linked_txn", "checksum": {"name": "sha256", "checksum": "bb49211839145c91b7cdcd024fccb07fd423d683a46dad77f89382edf53df703"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Mapping table for invoices records to respective estimate and payment objects.", "columns": {"invoice_id": {"name": "invoice_id", "description": "Reference to the unique invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "payment_id": {"name": "payment_id", "description": "Reference to the respective payment object for the invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "estimate_id": {"name": "estimate_id", "description": "Reference to the respective estimate object for the invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the invoice mapping record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1730311928.019147, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__invoice_linked_txn\"", "raw_code": "--To disable this model, set the using_invoice variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_invoice', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__invoice_linked_txn_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__invoice_linked_txn_tmp')),\n staging_columns=get_invoice_linked_txn_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(invoice_id as {{ dbt.type_string() }}) as invoice_id,\n cast(payment_id as {{ dbt.type_string() }}) as payment_id,\n cast(estimate_id as {{ dbt.type_string() }}) as estimate_id,\n index,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__invoice_linked_txn_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__invoice_linked_txn_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_invoice_linked_txn_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__invoice_linked_txn_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__invoice_linked_txn.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_invoice variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__invoice_linked_txn_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n charge_credit_id\n \n as \n \n charge_credit_id\n \n, \n \n \n estimate_id\n \n as \n \n estimate_id\n \n, \n \n \n index\n \n as \n \n index\n \n, \n \n \n invoice_id\n \n as \n \n invoice_id\n \n, \n \n \n payment_id\n \n as \n \n payment_id\n \n, \n \n \n reimburse_charge_id\n \n as \n \n reimburse_charge_id\n \n, \n \n \n statement_charge_id\n \n as \n \n statement_charge_id\n \n, \n \n \n time_activity_id\n \n as \n \n time_activity_id\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(invoice_id as TEXT) as invoice_id,\n cast(payment_id as TEXT) as payment_id,\n cast(estimate_id as TEXT) as estimate_id,\n index,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__invoice": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__invoice", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__invoice.sql", "original_file_path": "models/stg_quickbooks__invoice.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__invoice", "fqn": ["quickbooks_source", "stg_quickbooks__invoice"], "alias": "stg_quickbooks__invoice", "checksum": {"name": "sha256", "checksum": "8286df3daa633d4a141a6dc43ea58925b8c648e36f56f7738e29d8624663eeba"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing invoice records. An Invoice represents a sales form where the customer pays for a product or service later.", "columns": {"invoice_id": {"name": "invoice_id", "description": "Unique identifier of the invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "The balance reflecting any payments made against the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount of the transaction. This includes the total of all the charges, allowances, and taxes.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department associated with the invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_to_account_id": {"name": "deposit_to_account_id", "description": "Identifies the account to be used for this invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date which the deposit transaction occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Customer reference is associated with the invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "billing_address_id": {"name": "billing_address_id", "description": "Reference to the address where the invoice is billed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "shipping_address_id": {"name": "shipping_address_id", "description": "Reference to the address where the invoice is to be shipped.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "delivery_type": {"name": "delivery_type", "description": "How the invoice is delivered to the customer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "due_date": {"name": "due_date", "description": "Date which the invoice payment is due.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class to which the invoice is associated with.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1730311928.021729, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__invoice\"", "raw_code": "--To disable this model, set the using_invoice variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_invoice', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__invoice_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__invoice_tmp')),\n staging_columns=get_invoice_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as invoice_id,\n balance,\n cast(doc_number as {{ dbt.type_string() }}) as doc_number,\n total_amount,\n currency_id,\n cast(department_id as {{ dbt.type_string() }}) as department_id,\n cast(deposit_to_account_id as {{ dbt.type_string() }}) as deposit_to_account_id,\n exchange_rate,\n cast( {{ dbt.date_trunc('day', 'transaction_date') }} as date) as transaction_date,\n cast(customer_id as {{ dbt.type_string() }}) as customer_id,\n cast(billing_address_id as {{ dbt.type_string() }}) as billing_address_id,\n shipping_address_id,\n delivery_type,\n cast( {{ dbt.date_trunc('day', 'due_date') }} as date) as due_date, \n cast(class_id as {{ dbt.type_string() }}) as class_id,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__invoice_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__invoice_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_invoice_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string", "macro.dbt.date_trunc"], "nodes": ["model.quickbooks_source.stg_quickbooks__invoice_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__invoice.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_invoice variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__invoice_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n allow_ipnpayment\n \n as \n \n allow_ipnpayment\n \n, \n \n \n allow_online_achpayment\n \n as \n \n allow_online_achpayment\n \n, \n \n \n allow_online_credit_card_payment\n \n as \n \n allow_online_credit_card_payment\n \n, \n \n \n allow_online_payment\n \n as \n \n allow_online_payment\n \n, \n \n \n apply_tax_after_discount\n \n as \n \n apply_tax_after_discount\n \n, \n \n \n balance\n \n as \n \n balance\n \n, \n \n \n billing_address_id\n \n as \n \n billing_address_id\n \n, \n \n \n billing_bcc_email\n \n as \n \n billing_bcc_email\n \n, \n \n \n billing_cc_email\n \n as \n \n billing_cc_email\n \n, \n \n \n billing_email\n \n as \n \n billing_email\n \n, \n \n \n class_id\n \n as \n \n class_id\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n currency_id\n \n as \n \n currency_id\n \n, \n \n \n custom_p_o_number\n \n as \n \n custom_p_o_number\n \n, \n \n \n custom_sales_rep\n \n as \n \n custom_sales_rep\n \n, \n \n \n customer_id\n \n as \n \n customer_id\n \n, \n \n \n customer_memo\n \n as \n \n customer_memo\n \n, \n \n \n delivery_time\n \n as \n \n delivery_time\n \n, \n \n \n delivery_type\n \n as \n \n delivery_type\n \n, \n \n \n department_id\n \n as \n \n department_id\n \n, \n \n \n deposit\n \n as \n \n deposit\n \n, \n \n \n deposit_to_account_id\n \n as \n \n deposit_to_account_id\n \n, \n \n \n doc_number\n \n as \n \n doc_number\n \n, \n \n \n due_date\n \n as \n \n due_date\n \n, \n \n \n email_status\n \n as \n \n email_status\n \n, \n \n \n exchange_rate\n \n as \n \n exchange_rate\n \n, \n \n \n global_tax_calculation\n \n as \n \n global_tax_calculation\n \n, \n \n \n home_balance\n \n as \n \n home_balance\n \n, \n \n \n home_total_amount\n \n as \n \n home_total_amount\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n print_status\n \n as \n \n print_status\n \n, \n \n \n private_note\n \n as \n \n private_note\n \n, \n \n \n sales_term_id\n \n as \n \n sales_term_id\n \n, \n \n \n ship_date\n \n as \n \n ship_date\n \n, \n \n \n shipping_address_id\n \n as \n \n shipping_address_id\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n tax_code_id\n \n as \n \n tax_code_id\n \n, \n \n \n total_amount\n \n as \n \n total_amount\n \n, \n \n \n total_tax\n \n as \n \n total_tax\n \n, \n \n \n tracking_number\n \n as \n \n tracking_number\n \n, \n \n \n transaction_date\n \n as \n \n transaction_date\n \n, \n \n \n transaction_source\n \n as \n \n transaction_source\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as invoice_id,\n balance,\n cast(doc_number as TEXT) as doc_number,\n total_amount,\n currency_id,\n cast(department_id as TEXT) as department_id,\n cast(deposit_to_account_id as TEXT) as deposit_to_account_id,\n exchange_rate,\n cast( date_trunc('day', transaction_date) as date) as transaction_date,\n cast(customer_id as TEXT) as customer_id,\n cast(billing_address_id as TEXT) as billing_address_id,\n shipping_address_id,\n delivery_type,\n cast( date_trunc('day', due_date) as date) as due_date, \n cast(class_id as TEXT) as class_id,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__bill_payment": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__bill_payment", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__bill_payment.sql", "original_file_path": "models/stg_quickbooks__bill_payment.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__bill_payment", "fqn": ["quickbooks_source", "stg_quickbooks__bill_payment"], "alias": "stg_quickbooks__bill_payment", "checksum": {"name": "sha256", "checksum": "a0d37a8d17ab821a2dca64277e09e035b6685394a09c8b4e79619b550a7cb69d"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing payment transactions bills that the business owner receives from a vendor for goods or services purchased from the vendor.", "columns": {"bill_payment_id": {"name": "bill_payment_id", "description": "Unique identifier of the bill payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "check_bank_account_id": {"name": "check_bank_account_id", "description": "Account id of the account which the bill payment is credited. Only applicable if bill payment `pay_type` is of type check.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "check_print_status": {"name": "check_print_status", "description": "Status of the check which was used as payment for the bill. Only applicable if bill payment `pay_type` is of type Check.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "credit_card_account_id": {"name": "credit_card_account_id", "description": "Account id of the account which the bill is credited. Only applicable if bill payment `pay_type` is of type CreditCard.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by CurrencyRef. Applicable if multicurrency is enabled for the company.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to a Department object specifying the location of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "pay_type": {"name": "pay_type", "description": "The payment type. Valid values include Check, CreditCard", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount associated with this payment. This includes the total of all the payments from the payment line details.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date of the day the transaction took place.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_id": {"name": "vendor_id", "description": "Reference to the vendor for this transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1730311928.0084338, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill_payment\"", "raw_code": "--To disable this model, set the using_bill_payment variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_bill', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__bill_payment_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__bill_payment_tmp')),\n staging_columns=get_bill_payment_columns()\n )\n }}\n \n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as bill_payment_id,\n cast(check_bank_account_id as {{ dbt.type_string() }}) as check_bank_account_id,\n check_print_status,\n cast(credit_card_account_id as {{ dbt.type_string() }}) as credit_card_account_id,\n exchange_rate,\n currency_id,\n cast(department_id as {{ dbt.type_string() }}) as department_id,\n pay_type,\n total_amount,\n cast( {{ dbt.date_trunc('day', 'transaction_date') }} as date) as transaction_date,\n cast(vendor_id as {{ dbt.type_string() }}) as vendor_id,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__bill_payment_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__bill_payment_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_bill_payment_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string", "macro.dbt.date_trunc"], "nodes": ["model.quickbooks_source.stg_quickbooks__bill_payment_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__bill_payment.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_bill_payment variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill_payment_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n check_bank_account_id\n \n as \n \n check_bank_account_id\n \n, \n \n \n check_print_status\n \n as \n \n check_print_status\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n credit_card_account_id\n \n as \n \n credit_card_account_id\n \n, \n \n \n currency_id\n \n as \n \n currency_id\n \n, \n \n \n department_id\n \n as \n \n department_id\n \n, \n \n \n doc_number\n \n as \n \n doc_number\n \n, \n \n \n exchange_rate\n \n as \n \n exchange_rate\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n pay_type\n \n as \n \n pay_type\n \n, \n \n \n payable_account_id\n \n as \n \n payable_account_id\n \n, \n \n \n private_note\n \n as \n \n private_note\n \n, \n \n \n process_bill_payment\n \n as \n \n process_bill_payment\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n total_amount\n \n as \n \n total_amount\n \n, \n \n \n transaction_date\n \n as \n \n transaction_date\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n, \n \n \n vendor_id\n \n as \n \n vendor_id\n \n\n\n\n \n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as bill_payment_id,\n cast(check_bank_account_id as TEXT) as check_bank_account_id,\n check_print_status,\n cast(credit_card_account_id as TEXT) as credit_card_account_id,\n exchange_rate,\n currency_id,\n cast(department_id as TEXT) as department_id,\n pay_type,\n total_amount,\n cast( date_trunc('day', transaction_date) as date) as transaction_date,\n cast(vendor_id as TEXT) as vendor_id,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__invoice_line_bundle": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__invoice_line_bundle", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__invoice_line_bundle.sql", "original_file_path": "models/stg_quickbooks__invoice_line_bundle.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__invoice_line_bundle", "fqn": ["quickbooks_source", "stg_quickbooks__invoice_line_bundle"], "alias": "stg_quickbooks__invoice_line_bundle", "checksum": {"name": "sha256", "checksum": "40042ced0fa4753a77042f69d19a85a5954fce059c64c0ff5ca0f670570a3875"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing lines of an invoice which were bundled.", "columns": {"invoice_id": {"name": "invoice_id", "description": "Unique identifier of the invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "invoice_line_index": {"name": "invoice_line_index", "description": "Invoice index count of records associated with the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated with the invoice line bundle.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Total monetary value of the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_item_id": {"name": "sales_item_item_id", "description": "Reference to the sales item on the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_id": {"name": "item_id", "description": "Reference to the item on the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "quantity": {"name": "quantity", "description": "Total quantity of the item on the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_quantity": {"name": "sales_item_quantity", "description": "Total quantity in relation to the sales item on the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "Reference to the account associated with the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "unit_price": {"name": "unit_price", "description": "Unit price of the line item included on the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1730311928.0207539, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__invoice_line_bundle\"", "raw_code": "--To disable this model, set the using_invoice_bundle variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_invoice_bundle', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__invoice_line_bundle_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__invoice_line_bundle_tmp')),\n staging_columns=get_invoice_line_bundle_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(invoice_id as {{ dbt.type_string() }}) as invoice_id,\n index,\n cast(class_id as {{ dbt.type_string() }}) as class_id,\n description,\n amount,\n cast(sales_item_item_id as {{ dbt.type_string() }}) as sales_item_item_id,\n cast(item_id as {{ dbt.type_string() }}) as item_id,\n quantity,\n sales_item_quantity,\n cast(account_id as {{ dbt.type_string() }}) as account_id,\n unit_price,\n invoice_line_index,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__invoice_line_bundle_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__invoice_line_bundle_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_invoice_line_bundle_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__invoice_line_bundle_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__invoice_line_bundle.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_invoice_bundle variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__invoice_line_bundle_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n account_id\n \n as \n \n account_id\n \n, \n \n \n amount\n \n as \n \n amount\n \n, \n \n \n class_id\n \n as \n \n class_id\n \n, \n \n \n description\n \n as \n \n description\n \n, \n \n \n discount_amount\n \n as \n \n discount_amount\n \n, \n \n \n discount_rate\n \n as \n \n discount_rate\n \n, \n \n \n index\n \n as \n \n index\n \n, \n \n \n invoice_id\n \n as \n \n invoice_id\n \n, \n \n \n invoice_line_index\n \n as \n \n invoice_line_index\n \n, \n \n \n item_id\n \n as \n \n item_id\n \n, \n \n \n line_num\n \n as \n \n line_num\n \n, \n \n \n quantity\n \n as \n \n quantity\n \n, \n \n \n sales_item_account_id\n \n as \n \n sales_item_account_id\n \n, \n \n \n sales_item_item_id\n \n as \n \n sales_item_item_id\n \n, \n \n \n sales_item_quantity\n \n as \n \n sales_item_quantity\n \n, \n \n \n sales_item_tax_code_id\n \n as \n \n sales_item_tax_code_id\n \n, \n \n \n service_date\n \n as \n \n service_date\n \n, \n \n \n tax_code_id\n \n as \n \n tax_code_id\n \n, \n \n \n unit_price\n \n as \n \n unit_price\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(invoice_id as TEXT) as invoice_id,\n index,\n cast(class_id as TEXT) as class_id,\n description,\n amount,\n cast(sales_item_item_id as TEXT) as sales_item_item_id,\n cast(item_id as TEXT) as item_id,\n quantity,\n sales_item_quantity,\n cast(account_id as TEXT) as account_id,\n unit_price,\n invoice_line_index,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__account": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__account", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__account.sql", "original_file_path": "models/stg_quickbooks__account.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__account", "fqn": ["quickbooks_source", "stg_quickbooks__account"], "alias": "stg_quickbooks__account", "checksum": {"name": "sha256", "checksum": "b62481ce27574ece6542e1dd227980bb187229db34c152488c722bc71d203b7a"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing components of a Chart Of Accounts and is part of a ledger. It is used to record a total monetary amount allocated against a specific use. Accounts are one of five basic types: asset, liability, revenue (income), expenses, or equity.", "columns": {"account_id": {"name": "account_id", "description": "Unique identifier for an account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_number": {"name": "account_number", "description": "User-defined account number intended to identify the account within the Chart of Accounts.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_sub_account": {"name": "is_sub_account", "description": "Specifies whether this object represents a parent (false) or a sub_account (true).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "parent_account_id": {"name": "parent_account_id", "description": "User entered description for the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "User recognizable name for the Account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_type": {"name": "account_type", "description": "A detailed account classification that specifies the use of this account. The type is based on the Classification.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_active": {"name": "is_active", "description": "Boolean indicating whether an account is currently active.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_sub_type": {"name": "account_sub_type", "description": "The account sub-type classification and is based on the AccountType value.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "classification": {"name": "classification", "description": "The classification of an account. Not supported for non-posting accounts. Valid values include Asset, Equity, Expense, Liability, Revenue.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the date the account was created.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency which the account records the balance in.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "fully_qualified_name": {"name": "fully_qualified_name", "description": "Full name of the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "Specifies the balance amount for the current Account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance_with_sub_accounts": {"name": "balance_with_sub_accounts", "description": "Specifies the balance amount for the current Account sub accounts.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of the date which the account was last updated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table"}, "created_at": 1730311928.001117, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__account\"", "raw_code": "with base as (\n select *\n from {{ ref('stg_quickbooks__account_tmp') }}\n\n),\n\naccount as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__account_tmp')),\n staging_columns=get_account_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n from base\n),\n\nfinal as (\n\n select\n cast(id as {{ dbt.type_string() }}) as account_id,\n cast(account_number as {{ dbt.type_string() }}) as account_number,\n sub_account as is_sub_account,\n cast(parent_account_id as {{ dbt.type_string() }}) as parent_account_id,\n name,\n account_type,\n account_sub_type,\n classification,\n balance,\n balance_with_sub_accounts,\n active as is_active,\n created_at,\n currency_id,\n description,\n fully_qualified_name,\n updated_at,\n source_relation,\n _fivetran_deleted \n from account\n)\n\nselect *\nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__account_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__account_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_account_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__account_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__account.sql", "compiled": true, "compiled_code": "with base as (\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__account_tmp\"\n\n),\n\naccount as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n account_number\n \n as \n \n account_number\n \n, \n \n \n account_sub_type\n \n as \n \n account_sub_type\n \n, \n \n \n account_type\n \n as \n \n account_type\n \n, \n \n \n active\n \n as \n \n active\n \n, \n \n \n balance\n \n as \n \n balance\n \n, \n \n \n balance_with_sub_accounts\n \n as \n \n balance_with_sub_accounts\n \n, \n \n \n classification\n \n as \n \n classification\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n currency_id\n \n as \n \n currency_id\n \n, \n \n \n description\n \n as \n \n description\n \n, \n \n \n fully_qualified_name\n \n as \n \n fully_qualified_name\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n parent_account_id\n \n as \n \n parent_account_id\n \n, \n \n \n sub_account\n \n as \n \n sub_account\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n tax_code_id\n \n as \n \n tax_code_id\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n\n from base\n),\n\nfinal as (\n\n select\n cast(id as TEXT) as account_id,\n cast(account_number as TEXT) as account_number,\n sub_account as is_sub_account,\n cast(parent_account_id as TEXT) as parent_account_id,\n name,\n account_type,\n account_sub_type,\n classification,\n balance,\n balance_with_sub_accounts,\n active as is_active,\n created_at,\n currency_id,\n description,\n fully_qualified_name,\n updated_at,\n source_relation,\n _fivetran_deleted \n from account\n)\n\nselect *\nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__payment": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__payment", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__payment.sql", "original_file_path": "models/stg_quickbooks__payment.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__payment", "fqn": ["quickbooks_source", "stg_quickbooks__payment"], "alias": "stg_quickbooks__payment", "checksum": {"name": "sha256", "checksum": "d0fa9e29f67ad312d9d6b315026fe29cb6febc252406f9ee37bbc9d79d2b6644"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing all payment records. The payment can be applied for a particular customer against multiple Invoices and Credit Memos. It can also be created without any Invoice or Credit Memo, by just specifying an amount.", "columns": {"payment_id": {"name": "payment_id", "description": "Unique identifier of the payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "unapplied_amount": {"name": "unapplied_amount", "description": "Indicates the amount that has not been applied to pay amounts owed for sales transactions.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "receivable_account_id": {"name": "receivable_account_id", "description": "Identifies the account for obtaining a receivable from this payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_to_account_id": {"name": "deposit_to_account_id", "description": "Identifies the account to be used for this payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date when the payment occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Reference to a customer or job.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1730311928.0254998, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__payment\"", "raw_code": "--To disable this model, set the using_payment variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_payment', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__payment_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__payment_tmp')),\n staging_columns=get_payment_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as payment_id,\n unapplied_amount,\n total_amount,\n currency_id,\n cast(receivable_account_id as {{ dbt.type_string() }}) as receivable_account_id,\n cast(deposit_to_account_id as {{ dbt.type_string() }}) as deposit_to_account_id,\n exchange_rate,\n cast( {{ dbt.date_trunc('day', 'transaction_date') }} as date) as transaction_date,\n cast(customer_id as {{ dbt.type_string() }}) as customer_id,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__payment_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__payment_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_payment_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string", "macro.dbt.date_trunc"], "nodes": ["model.quickbooks_source.stg_quickbooks__payment_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__payment.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_payment variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__payment_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n credit_card_amount\n \n as \n \n credit_card_amount\n \n, \n \n \n credit_card_auth_code\n \n as \n \n credit_card_auth_code\n \n, \n \n \n credit_card_billing_address_street\n \n as \n \n credit_card_billing_address_street\n \n, \n \n \n credit_card_cc_expiry_month\n \n as \n \n credit_card_cc_expiry_month\n \n, \n \n \n credit_card_cc_expiry_year\n \n as \n \n credit_card_cc_expiry_year\n \n, \n \n \n credit_card_cctrans_id\n \n as \n \n credit_card_cctrans_id\n \n, \n \n \n credit_card_name_on_account\n \n as \n \n credit_card_name_on_account\n \n, \n \n \n credit_card_postal_code\n \n as \n \n credit_card_postal_code\n \n, \n \n \n credit_card_process_payment\n \n as \n \n credit_card_process_payment\n \n, \n \n \n credit_card_status\n \n as \n \n credit_card_status\n \n, \n \n \n credit_card_transaction_authorization_time\n \n as \n \n credit_card_transaction_authorization_time\n \n, \n \n \n credit_card_type\n \n as \n \n credit_card_type\n \n, \n \n \n currency_id\n \n as \n \n currency_id\n \n, \n \n \n customer_id\n \n as \n \n customer_id\n \n, \n \n \n deposit_to_account_id\n \n as \n \n deposit_to_account_id\n \n, \n \n \n exchange_rate\n \n as \n \n exchange_rate\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n payment_method_id\n \n as \n \n payment_method_id\n \n, \n \n \n private_note\n \n as \n \n private_note\n \n, \n \n \n process_payment\n \n as \n \n process_payment\n \n, \n \n \n receivable_account_id\n \n as \n \n receivable_account_id\n \n, \n \n \n reference_number\n \n as \n \n reference_number\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n total_amount\n \n as \n \n total_amount\n \n, \n \n \n transaction_date\n \n as \n \n transaction_date\n \n, \n \n \n transaction_source\n \n as \n \n transaction_source\n \n, \n \n \n transaction_status\n \n as \n \n transaction_status\n \n, \n \n \n unapplied_amount\n \n as \n \n unapplied_amount\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as payment_id,\n unapplied_amount,\n total_amount,\n currency_id,\n cast(receivable_account_id as TEXT) as receivable_account_id,\n cast(deposit_to_account_id as TEXT) as deposit_to_account_id,\n exchange_rate,\n cast( date_trunc('day', transaction_date) as date) as transaction_date,\n cast(customer_id as TEXT) as customer_id,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__estimate_line": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__estimate_line", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__estimate_line.sql", "original_file_path": "models/stg_quickbooks__estimate_line.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__estimate_line", "fqn": ["quickbooks_source", "stg_quickbooks__estimate_line"], "alias": "stg_quickbooks__estimate_line", "checksum": {"name": "sha256", "checksum": "21869ab5e01acfd7c637f73791ce66e4237c3d48691f0f4470ff9502f9cb7ea9"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing line item records of an estimate.", "columns": {"estimate_id": {"name": "estimate_id", "description": "Reference to the unique estimate record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the estimate line record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_account_id": {"name": "discount_account_id", "description": "Reference to the account associated with the discount estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_class_id": {"name": "discount_class_id", "description": "Reference to the class associated with the discount estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_account_id": {"name": "sales_item_account_id", "description": "Reference to the account associated with the sales estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_class_id": {"name": "sales_item_class_id", "description": "Reference to the class associated with the sales estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_item_id": {"name": "sales_item_item_id", "description": "Reference to the item associated with a sales estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_quantity": {"name": "sales_item_quantity", "description": "Quantity of the item for a sales estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_id": {"name": "item_id", "description": "Reference to the item associated with the estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "quantity": {"name": "quantity", "description": "Quantity of the item for the estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "Reference to the account associated with the estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1730311928.018569, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__estimate_line\"", "raw_code": "--To disable this model, set the using_estimate variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_estimate', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__estimate_line_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__estimate_line_tmp')),\n staging_columns=get_estimate_line_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(estimate_id as {{ dbt.type_string() }}) as estimate_id,\n index,\n description,\n discount_account_id,\n cast(discount_class_id as {{ dbt.type_string() }}) as discount_class_id,\n sales_item_account_id,\n cast(sales_item_class_id as {{ dbt.type_string() }}) as sales_item_class_id,\n sales_item_item_id,\n sales_item_quantity,\n item_id,\n quantity,\n account_id,\n amount,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__estimate_line_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__estimate_line_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_estimate_line_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__estimate_line_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__estimate_line.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_estimate variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__estimate_line_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n account_id\n \n as \n \n account_id\n \n, \n \n \n amount\n \n as \n \n amount\n \n, \n \n \n bundle_id\n \n as \n \n bundle_id\n \n, \n \n \n bundle_quantity\n \n as \n \n bundle_quantity\n \n, \n \n \n description\n \n as \n \n description\n \n, \n \n \n description_service_date\n \n as \n \n description_service_date\n \n, \n \n \n description_tax_code_id\n \n as \n \n description_tax_code_id\n \n, \n \n \n discount_account_id\n \n as \n \n discount_account_id\n \n, \n \n \n discount_class_id\n \n as \n \n discount_class_id\n \n, \n \n \n discount_discount_percent\n \n as \n \n discount_discount_percent\n \n, \n \n \n discount_percent_based\n \n as \n \n discount_percent_based\n \n, \n \n \n discount_tax_code_id\n \n as \n \n discount_tax_code_id\n \n, \n \n \n estimate_id\n \n as \n \n estimate_id\n \n, \n \n \n index\n \n as \n \n index\n \n, \n \n \n item_id\n \n as \n \n item_id\n \n, \n \n \n quantity\n \n as \n \n quantity\n \n, \n \n \n sales_item_account_id\n \n as \n \n sales_item_account_id\n \n, \n \n \n sales_item_class_id\n \n as \n \n sales_item_class_id\n \n, \n \n \n sales_item_discount_amount\n \n as \n \n sales_item_discount_amount\n \n, \n \n \n sales_item_discount_rate\n \n as \n \n sales_item_discount_rate\n \n, \n \n \n sales_item_item_id\n \n as \n \n sales_item_item_id\n \n, \n \n \n sales_item_quantity\n \n as \n \n sales_item_quantity\n \n, \n \n \n sales_item_service_date\n \n as \n \n sales_item_service_date\n \n, \n \n \n sales_item_tax_code_id\n \n as \n \n sales_item_tax_code_id\n \n, \n \n \n sales_item_unit_price\n \n as \n \n sales_item_unit_price\n \n, \n \n \n sub_total_item_id\n \n as \n \n sub_total_item_id\n \n, \n \n \n tax_code_id\n \n as \n \n tax_code_id\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(estimate_id as TEXT) as estimate_id,\n index,\n description,\n discount_account_id,\n cast(discount_class_id as TEXT) as discount_class_id,\n sales_item_account_id,\n cast(sales_item_class_id as TEXT) as sales_item_class_id,\n sales_item_item_id,\n sales_item_quantity,\n item_id,\n quantity,\n account_id,\n amount,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__bill_linked_txn": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__bill_linked_txn", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__bill_linked_txn.sql", "original_file_path": "models/stg_quickbooks__bill_linked_txn.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__bill_linked_txn", "fqn": ["quickbooks_source", "stg_quickbooks__bill_linked_txn"], "alias": "stg_quickbooks__bill_linked_txn", "checksum": {"name": "sha256", "checksum": "516a32bd9bf6c3592d911ecca3304b44d9fce3d9793fab1abceff9596f6e1755"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Mapping table containing bill payment transactions linked to a bill.", "columns": {"bill_id": {"name": "bill_id", "description": "The Unique identifier of the bill record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records from a single bill record associated with payment ids.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "bill_payment_id": {"name": "bill_payment_id", "description": "The Unique identifier of the bill payment id record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1730311928.005792, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill_linked_txn\"", "raw_code": "--To disable this model, set the using_bill and using_bill_payment variables within your dbt_project.yml file to False.\n{{ config(enabled=var('using_bill', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__bill_linked_txn_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__bill_linked_txn_tmp')),\n staging_columns=get_bill_linked_txn_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(bill_id as {{ dbt.type_string() }}) as bill_id,\n index,\n cast(bill_payment_id as {{ dbt.type_string() }}) as bill_payment_id,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__bill_linked_txn_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__bill_linked_txn_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_bill_linked_txn_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__bill_linked_txn_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__bill_linked_txn.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_bill and using_bill_payment variables within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill_linked_txn_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n bill_id\n \n as \n \n bill_id\n \n, \n \n \n bill_payment_id\n \n as \n \n bill_payment_id\n \n, \n \n \n index\n \n as \n \n index\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(bill_id as TEXT) as bill_id,\n index,\n cast(bill_payment_id as TEXT) as bill_payment_id,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__address": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__address", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__address.sql", "original_file_path": "models/stg_quickbooks__address.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__address", "fqn": ["quickbooks_source", "stg_quickbooks__address"], "alias": "stg_quickbooks__address", "checksum": {"name": "sha256", "checksum": "33aa8f1a41d608a881f7278c4c9628529b0dc0c0e0202b22666e042bb175aedd"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing address details.", "columns": {"address_id": {"name": "address_id", "description": "Unique identifier for an address.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "city": {"name": "city", "description": "The city which the address is located.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "country": {"name": "country", "description": "The country which the address is located.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "address_1": {"name": "address_1", "description": "The address_line_1 associated with the address.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "address_2": {"name": "address_2", "description": "The address_line_2 associated with the address (if applicable).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "postal_code": {"name": "postal_code", "description": "The postal code which the address is located.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1730311928.002284, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__address\"", "raw_code": "--To disable this model, set the using_address variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_address', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__address_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__address_tmp')),\n staging_columns=get_address_columns()\n )\n }}\n \n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as address_id,\n city,\n country,\n line_1 as address_1,\n line_2 as address_2,\n postal_code,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__address_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__address_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_address_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__address_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__address.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_address variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__address_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n city\n \n as \n \n city\n \n, \n \n \n country\n \n as \n \n country\n \n, \n \n \n country_sub_division_code\n \n as \n \n country_sub_division_code\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n latitude\n \n as \n \n latitude\n \n, \n \n \n line_1\n \n as \n \n line_1\n \n, \n \n \n line_2\n \n as \n \n line_2\n \n, \n \n \n line_3\n \n as \n \n line_3\n \n, \n \n \n line_4\n \n as \n \n line_4\n \n, \n \n \n line_5\n \n as \n \n line_5\n \n, \n \n \n longitude\n \n as \n \n longitude\n \n, \n \n \n postal_code\n \n as \n \n postal_code\n \n\n\n\n \n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as address_id,\n city,\n country,\n line_1 as address_1,\n line_2 as address_2,\n postal_code,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__bill": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__bill", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__bill.sql", "original_file_path": "models/stg_quickbooks__bill.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__bill", "fqn": ["quickbooks_source", "stg_quickbooks__bill"], "alias": "stg_quickbooks__bill", "checksum": {"name": "sha256", "checksum": "0cfa46e4802ec8c5532be9084b04bd5c3eda3de4d1b8a0fe15b662eebf6ea9fd"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing AP transactions representing a request-for-payment from a third party for goods/services rendered, received, or both.", "columns": {"bill_id": {"name": "bill_id", "description": "Unique identifier of the bill record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "The balance reflecting any payments made against the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department the bill is linked with.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Total monetary amount of all bill line items.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_id": {"name": "vendor_id", "description": "Reference to the vendor the bill is linked with.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "due_date_at": {"name": "due_date_at", "description": "Date which the bill is due.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date when the bill transaction occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "payable_account_id": {"name": "payable_account_id", "description": "Account id of the account which the bill is credited.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "private_note": {"name": "private_note", "description": "User entered, organization-private note about the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1730311928.0094998, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill\"", "raw_code": "--To disable this model, set the using_bill variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_bill', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__bill_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__bill_tmp')),\n staging_columns=get_bill_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n \nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as bill_id,\n balance,\n cast(doc_number as {{ dbt.type_string() }}) as doc_number,\n currency_id,\n cast(department_id as {{ dbt.type_string() }}) as department_id,\n cast( {{ dbt.date_trunc('day', 'due_date') }} as date) as due_date_at, \n cast( {{ dbt.date_trunc('day', 'transaction_date') }} as date) as transaction_date,\n exchange_rate,\n cast(payable_account_id as {{ dbt.type_string() }}) as payable_account_id,\n total_amount,\n cast(vendor_id as {{ dbt.type_string() }}) as vendor_id,\n private_note,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__bill_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__bill_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_bill_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string", "macro.dbt.date_trunc"], "nodes": ["model.quickbooks_source.stg_quickbooks__bill_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__bill.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_bill variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n balance\n \n as \n \n balance\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n currency_id\n \n as \n \n currency_id\n \n, \n \n \n department_id\n \n as \n \n department_id\n \n, \n \n \n doc_number\n \n as \n \n doc_number\n \n, \n \n \n due_date\n \n as \n \n due_date\n \n, \n \n \n exchange_rate\n \n as \n \n exchange_rate\n \n, \n \n \n global_tax_calculation\n \n as \n \n global_tax_calculation\n \n, \n \n \n home_balance\n \n as \n \n home_balance\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n payable_account_id\n \n as \n \n payable_account_id\n \n, \n \n \n private_note\n \n as \n \n private_note\n \n, \n \n \n sales_term_id\n \n as \n \n sales_term_id\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n total_amount\n \n as \n \n total_amount\n \n, \n \n \n transaction_date\n \n as \n \n transaction_date\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n, \n \n \n vendor_id\n \n as \n \n vendor_id\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n \nfinal as (\n \n select \n cast(id as TEXT) as bill_id,\n balance,\n cast(doc_number as TEXT) as doc_number,\n currency_id,\n cast(department_id as TEXT) as department_id,\n cast( date_trunc('day', due_date) as date) as due_date_at, \n cast( date_trunc('day', transaction_date) as date) as transaction_date,\n exchange_rate,\n cast(payable_account_id as TEXT) as payable_account_id,\n total_amount,\n cast(vendor_id as TEXT) as vendor_id,\n private_note,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__bill_line": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__bill_line", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__bill_line.sql", "original_file_path": "models/stg_quickbooks__bill_line.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__bill_line", "fqn": ["quickbooks_source", "stg_quickbooks__bill_line"], "alias": "stg_quickbooks__bill_line", "checksum": {"name": "sha256", "checksum": "44ef859df96026bf155072c979ce7f823131b3444c917424f3573ccef213ac51"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing distinct line items from bills within the `bill` table.", "columns": {"bill_id": {"name": "bill_id", "description": "The Unique identifier of the parent bill record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Bill line index in reference to the parent bill.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_class_id": {"name": "account_expense_class_id", "description": "The class reference associated with the account based expense bill line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_customer_id": {"name": "account_expense_customer_id", "description": "The customer reference associated with the account based expense bill line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_item_id": {"name": "item_expense_item_id", "description": "The item reference associated with the item based expense bill line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_customer_id": {"name": "item_expense_customer_id", "description": "The customer reference associated with the item based expense bill line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_billable_status": {"name": "item_expense_billable_status", "description": "The billable status of the item based expense bill line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_class_id": {"name": "item_expense_class_id", "description": "The class reference associated with the item based expense bill line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_account_id": {"name": "account_expense_account_id", "description": "The id of the account being expensed from the bill.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_billable_status": {"name": "account_expense_billable_status", "description": "The status of the bill line item expense.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_tax_code_id": {"name": "account_expense_tax_code_id", "description": "The tax code id associated with the bill.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the bill line item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the bill line item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1730311928.0052102, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill_line\"", "raw_code": "--To disable this model, set the using_bill variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_bill', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__bill_line_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__bill_line_tmp')),\n staging_columns=get_bill_line_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(bill_id as {{ dbt.type_string() }}) as bill_id,\n index,\n cast(account_expense_account_id as {{ dbt.type_string() }}) as account_expense_account_id,\n cast(account_expense_class_id as {{ dbt.type_string() }}) as account_expense_class_id,\n account_expense_billable_status,\n account_expense_tax_code_id,\n cast(account_expense_customer_id as {{ dbt.type_string() }}) as account_expense_customer_id,\n cast(item_expense_item_id as {{ dbt.type_string() }}) as item_expense_item_id,\n cast(item_expense_customer_id as {{ dbt.type_string() }}) as item_expense_customer_id,\n item_expense_billable_status,\n cast(item_expense_class_id as {{ dbt.type_string() }}) as item_expense_class_id,\n amount,\n description,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__bill_line_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__bill_line_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_bill_line_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__bill_line_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__bill_line.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_bill variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill_line_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n account_expense_account_id\n \n as \n \n account_expense_account_id\n \n, \n \n \n account_expense_billable_status\n \n as \n \n account_expense_billable_status\n \n, \n \n \n account_expense_class_id\n \n as \n \n account_expense_class_id\n \n, \n \n \n account_expense_customer_id\n \n as \n \n account_expense_customer_id\n \n, \n \n \n account_expense_tax_amount\n \n as \n \n account_expense_tax_amount\n \n, \n \n \n account_expense_tax_code_id\n \n as \n \n account_expense_tax_code_id\n \n, \n \n \n amount\n \n as \n \n amount\n \n, \n \n \n bill_id\n \n as \n \n bill_id\n \n, \n \n \n description\n \n as \n \n description\n \n, \n \n \n index\n \n as \n \n index\n \n, \n \n \n item_expense_billable_status\n \n as \n \n item_expense_billable_status\n \n, \n \n \n item_expense_class_id\n \n as \n \n item_expense_class_id\n \n, \n \n \n item_expense_customer_id\n \n as \n \n item_expense_customer_id\n \n, \n \n \n item_expense_item_id\n \n as \n \n item_expense_item_id\n \n, \n \n \n item_expense_quantity\n \n as \n \n item_expense_quantity\n \n, \n \n \n item_expense_tax_code_id\n \n as \n \n item_expense_tax_code_id\n \n, \n \n \n item_expense_unit_price\n \n as \n \n item_expense_unit_price\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(bill_id as TEXT) as bill_id,\n index,\n cast(account_expense_account_id as TEXT) as account_expense_account_id,\n cast(account_expense_class_id as TEXT) as account_expense_class_id,\n account_expense_billable_status,\n account_expense_tax_code_id,\n cast(account_expense_customer_id as TEXT) as account_expense_customer_id,\n cast(item_expense_item_id as TEXT) as item_expense_item_id,\n cast(item_expense_customer_id as TEXT) as item_expense_customer_id,\n item_expense_billable_status,\n cast(item_expense_class_id as TEXT) as item_expense_class_id,\n amount,\n description,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__journal_entry": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__journal_entry", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__journal_entry.sql", "original_file_path": "models/stg_quickbooks__journal_entry.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__journal_entry", "fqn": ["quickbooks_source", "stg_quickbooks__journal_entry"], "alias": "stg_quickbooks__journal_entry", "checksum": {"name": "sha256", "checksum": "493f237b88aba155a011797bffd6c182cb49e9e0b8ef32a4472bca090fbc1022"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing journal entry transactions.", "columns": {"journal_entry_id": {"name": "journal_entry_id", "description": "Unique identifier of the journal entry.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_adjustment": {"name": "is_adjustment", "description": "Indicates the total amount of the transaction. This includes the total of all the charges, allowances, and taxes. By default, this is recalculated by the system based on sub-items total and overridden.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the date when the journal entry was created.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "private_note": {"name": "private_note", "description": "User entered, organization-private note about the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "The value of this field will always be set to zero.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date when the journal entry was transacted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1730311928.0242891, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__journal_entry\"", "raw_code": "--To disable this model, set the using_journal_entry variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_journal_entry', True)) }}\n\nwith base as (\n\n select *\n from {{ ref('stg_quickbooks__journal_entry_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns\n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns\n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__journal_entry_tmp')),\n staging_columns=get_journal_entry_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n from base\n),\n\nfinal as (\n\n select\n cast(id as {{ dbt.type_string() }}) as journal_entry_id,\n adjustment as is_adjustment,\n created_at,\n currency_id,\n cast(doc_number as {{ dbt.type_string() }}) as doc_number,\n exchange_rate,\n private_note,\n total_amount,\n cast( {{ dbt.date_trunc('day', 'transaction_date') }} as date) as transaction_date,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect *\nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__journal_entry_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__journal_entry_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_journal_entry_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string", "macro.dbt.date_trunc"], "nodes": ["model.quickbooks_source.stg_quickbooks__journal_entry_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__journal_entry.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_journal_entry variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__journal_entry_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns\n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns\n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n adjustment\n \n as \n \n adjustment\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n currency_id\n \n as \n \n currency_id\n \n, \n \n \n doc_number\n \n as \n \n doc_number\n \n, \n \n \n exchange_rate\n \n as \n \n exchange_rate\n \n, \n \n \n home_total_amount\n \n as \n \n home_total_amount\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n private_note\n \n as \n \n private_note\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n tax_code_id\n \n as \n \n tax_code_id\n \n, \n \n \n total_amount\n \n as \n \n total_amount\n \n, \n \n \n total_tax\n \n as \n \n total_tax\n \n, \n \n \n transaction_date\n \n as \n \n transaction_date\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n\n from base\n),\n\nfinal as (\n\n select\n cast(id as TEXT) as journal_entry_id,\n adjustment as is_adjustment,\n created_at,\n currency_id,\n cast(doc_number as TEXT) as doc_number,\n exchange_rate,\n private_note,\n total_amount,\n cast( date_trunc('day', transaction_date) as date) as transaction_date,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect *\nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__refund_receipt": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__refund_receipt", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__refund_receipt.sql", "original_file_path": "models/stg_quickbooks__refund_receipt.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__refund_receipt", "fqn": ["quickbooks_source", "stg_quickbooks__refund_receipt"], "alias": "stg_quickbooks__refund_receipt", "checksum": {"name": "sha256", "checksum": "42ed77b5ca60fb2a5019ec90ad8093776a44c45d9adb3b534f6492a21aaea796"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing refunds to the customer for a product or service that was provided.", "columns": {"refund_id": {"name": "refund_id", "description": "Unique identifier of the refund.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "The balance reflecting any payments made against the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class which the refund receipt is associated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department which the refund receipt is associated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_to_account_id": {"name": "deposit_to_account_id", "description": "Account from which payment money is refunded.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the date when the refund was created.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Customer id of the customer credited with the refund.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date in which the refund occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1730311928.030654, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__refund_receipt\"", "raw_code": "--To disable this model, set the using_refund_receipt variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_refund_receipt', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__refund_receipt_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__refund_receipt_tmp')),\n staging_columns=get_refund_receipt_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as refund_id,\n balance,\n cast(doc_number as {{ dbt.type_string() }}) as doc_number,\n total_amount,\n cast(class_id as {{ dbt.type_string() }}) as class_id,\n cast(deposit_to_account_id as {{ dbt.type_string() }}) as deposit_to_account_id,\n created_at,\n cast(department_id as {{ dbt.type_string() }}) as department_id,\n cast(customer_id as {{ dbt.type_string() }}) as customer_id,\n currency_id,\n exchange_rate,\n cast( {{ dbt.date_trunc('day', 'transaction_date') }} as date) as transaction_date,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__refund_receipt_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__refund_receipt_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_refund_receipt_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string", "macro.dbt.date_trunc"], "nodes": ["model.quickbooks_source.stg_quickbooks__refund_receipt_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__refund_receipt.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_refund_receipt variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__refund_receipt_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n apply_tax_after_discount\n \n as \n \n apply_tax_after_discount\n \n, \n \n \n balance\n \n as \n \n balance\n \n, \n \n \n bill_email\n \n as \n \n bill_email\n \n, \n \n \n billing_address_id\n \n as \n \n billing_address_id\n \n, \n \n \n check_payment_account_number\n \n as \n \n check_payment_account_number\n \n, \n \n \n check_payment_bank_name\n \n as \n \n check_payment_bank_name\n \n, \n \n \n check_payment_check_number\n \n as \n \n check_payment_check_number\n \n, \n \n \n check_payment_name_on_account\n \n as \n \n check_payment_name_on_account\n \n, \n \n \n check_payment_status\n \n as \n \n check_payment_status\n \n, \n \n \n class_id\n \n as \n \n class_id\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n credit_card_amount\n \n as \n \n credit_card_amount\n \n, \n \n \n credit_card_auth_code\n \n as \n \n credit_card_auth_code\n \n, \n \n \n credit_card_billing_address_street\n \n as \n \n credit_card_billing_address_street\n \n, \n \n \n credit_card_cc_expiry_month\n \n as \n \n credit_card_cc_expiry_month\n \n, \n \n \n credit_card_cc_expiry_year\n \n as \n \n credit_card_cc_expiry_year\n \n, \n \n \n credit_card_cctrans_id\n \n as \n \n credit_card_cctrans_id\n \n, \n \n \n credit_card_name_on_account\n \n as \n \n credit_card_name_on_account\n \n, \n \n \n credit_card_postal_code\n \n as \n \n credit_card_postal_code\n \n, \n \n \n credit_card_process_payment\n \n as \n \n credit_card_process_payment\n \n, \n \n \n credit_card_status\n \n as \n \n credit_card_status\n \n, \n \n \n credit_card_transaction_authorization_time\n \n as \n \n credit_card_transaction_authorization_time\n \n, \n \n \n credit_card_type\n \n as \n \n credit_card_type\n \n, \n \n \n currency_id\n \n as \n \n currency_id\n \n, \n \n \n customer_id\n \n as \n \n customer_id\n \n, \n \n \n customer_memo\n \n as \n \n customer_memo\n \n, \n \n \n department_id\n \n as \n \n department_id\n \n, \n \n \n deposit_to_account_id\n \n as \n \n deposit_to_account_id\n \n, \n \n \n doc_number\n \n as \n \n doc_number\n \n, \n \n \n exchange_rate\n \n as \n \n exchange_rate\n \n, \n \n \n global_tax_calculation\n \n as \n \n global_tax_calculation\n \n, \n \n \n home_balance\n \n as \n \n home_balance\n \n, \n \n \n home_total_amount\n \n as \n \n home_total_amount\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n payment_method_id\n \n as \n \n payment_method_id\n \n, \n \n \n payment_reference_number\n \n as \n \n payment_reference_number\n \n, \n \n \n payment_type\n \n as \n \n payment_type\n \n, \n \n \n print_status\n \n as \n \n print_status\n \n, \n \n \n private_note\n \n as \n \n private_note\n \n, \n \n \n shipping_address_id\n \n as \n \n shipping_address_id\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n tax_code_id\n \n as \n \n tax_code_id\n \n, \n \n \n total_amount\n \n as \n \n total_amount\n \n, \n \n \n total_tax\n \n as \n \n total_tax\n \n, \n \n \n transaction_date\n \n as \n \n transaction_date\n \n, \n \n \n transaction_source\n \n as \n \n transaction_source\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as refund_id,\n balance,\n cast(doc_number as TEXT) as doc_number,\n total_amount,\n cast(class_id as TEXT) as class_id,\n cast(deposit_to_account_id as TEXT) as deposit_to_account_id,\n created_at,\n cast(department_id as TEXT) as department_id,\n cast(customer_id as TEXT) as customer_id,\n currency_id,\n exchange_rate,\n cast( date_trunc('day', transaction_date) as date) as transaction_date,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__deposit_line": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__deposit_line", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__deposit_line.sql", "original_file_path": "models/stg_quickbooks__deposit_line.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__deposit_line", "fqn": ["quickbooks_source", "stg_quickbooks__deposit_line"], "alias": "stg_quickbooks__deposit_line", "checksum": {"name": "sha256", "checksum": "de246c1bea4573024fdc27cc59a27b875f0536d2effe6cb69a23c8104fb94ebd"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing individual line items comprising the deposit.", "columns": {"deposit_id": {"name": "deposit_id", "description": "Unique identifier of the deposit record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the deposit record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the deposit line record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the deposit line record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_class_id": {"name": "deposit_class_id", "description": "Reference to the class which the deposit line record is associated with.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_account_id": {"name": "deposit_account_id", "description": "Account id of the account which the deposit is credited.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_customer_id": {"name": "deposit_customer_id", "description": "Customer id of the customer which the deposit is credited.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1730311928.016053, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__deposit_line\"", "raw_code": "--To disable this model, set the using_deposit variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_deposit', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__deposit_line_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__deposit_line_tmp')),\n staging_columns=get_deposit_line_columns()\n )\n }}\n \n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n from base\n),\n\nfinal as (\n \n select \n cast(deposit_id as {{ dbt.type_string() }}) as deposit_id,\n index,\n amount,\n description,\n cast(deposit_account_id as {{ dbt.type_string() }}) as deposit_account_id,\n cast(deposit_class_id as {{ dbt.type_string() }}) as deposit_class_id,\n cast(deposit_customer_id as {{ dbt.type_string() }}) as deposit_customer_id,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__deposit_line_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__deposit_line_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_deposit_line_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__deposit_line_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__deposit_line.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_deposit variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__deposit_line_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n amount\n \n as \n \n amount\n \n, \n \n \n bill_id\n \n as \n \n bill_id\n \n, \n \n \n deposit_account_id\n \n as \n \n deposit_account_id\n \n, \n \n \n deposit_check_number\n \n as \n \n deposit_check_number\n \n, \n \n \n deposit_class_id\n \n as \n \n deposit_class_id\n \n, \n \n \n deposit_customer_id\n \n as \n \n deposit_customer_id\n \n, \n \n \n deposit_id\n \n as \n \n deposit_id\n \n, \n \n \n deposit_payment_method_id\n \n as \n \n deposit_payment_method_id\n \n, \n \n \n deposit_tax_applicable_on\n \n as \n \n deposit_tax_applicable_on\n \n, \n \n \n deposit_tax_code_id\n \n as \n \n deposit_tax_code_id\n \n, \n \n \n deposit_transaction_type\n \n as \n \n deposit_transaction_type\n \n, \n \n \n description\n \n as \n \n description\n \n, \n \n \n detail_type\n \n as \n \n detail_type\n \n, \n \n \n expense_id\n \n as \n \n expense_id\n \n, \n \n \n index\n \n as \n \n index\n \n, \n \n \n invoice_id\n \n as \n \n invoice_id\n \n, \n \n \n journal_entry_id\n \n as \n \n journal_entry_id\n \n, \n \n \n payment_id\n \n as \n \n payment_id\n \n, \n \n \n purchase_id\n \n as \n \n purchase_id\n \n, \n \n \n refund_receipt_id\n \n as \n \n refund_receipt_id\n \n, \n \n \n sales_receipt_id\n \n as \n \n sales_receipt_id\n \n, \n \n \n transfer_id\n \n as \n \n transfer_id\n \n, \n \n \n vendor_credit_id\n \n as \n \n vendor_credit_id\n \n\n\n\n \n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(deposit_id as TEXT) as deposit_id,\n index,\n amount,\n description,\n cast(deposit_account_id as TEXT) as deposit_account_id,\n cast(deposit_class_id as TEXT) as deposit_class_id,\n cast(deposit_customer_id as TEXT) as deposit_customer_id,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__vendor_credit": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__vendor_credit", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__vendor_credit.sql", "original_file_path": "models/stg_quickbooks__vendor_credit.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__vendor_credit", "fqn": ["quickbooks_source", "stg_quickbooks__vendor_credit"], "alias": "stg_quickbooks__vendor_credit", "checksum": {"name": "sha256", "checksum": "bc1123430a27d32603356ede184119a14481c031c90bdf380aeedaedca594635"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing all vendor credit records. A vendor credit is an accounts payable transaction that represents a refund or credit of payment for goods or services.", "columns": {"vendor_credit_id": {"name": "vendor_credit_id", "description": "Unique identifier of the vendor credit.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "The current amount of the vendor credit reflecting any adjustments to the original credit amount.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total credit amount, determined by taking the total of all all lines of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the date the vendor credit was created.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "payable_account_id": {"name": "payable_account_id", "description": "Specifies to which AP account the bill is credited.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department which the vendor credit is associated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "private_note": {"name": "private_note", "description": "User entered, organization-private note about the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "The date entered by the user when this transaction occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_id": {"name": "vendor_id", "description": "Reference to the vendor for this transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1730311928.03437, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__vendor_credit\"", "raw_code": "--To disable this model, set the using_vendor_credit variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_vendor_credit', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__vendor_credit_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__vendor_credit_tmp')),\n staging_columns=get_vendor_credit_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as vendor_credit_id,\n balance,\n cast(doc_number as {{ dbt.type_string() }}) as doc_number,\n total_amount,\n currency_id,\n exchange_rate,\n created_at,\n cast(payable_account_id as {{ dbt.type_string() }}) as payable_account_id,\n cast(department_id as {{ dbt.type_string() }}) as department_id,\n private_note,\n cast( {{ dbt.date_trunc('day', 'transaction_date') }} as date) as transaction_date,\n cast(vendor_id as {{ dbt.type_string() }}) as vendor_id,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__vendor_credit_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__vendor_credit_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_vendor_credit_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string", "macro.dbt.date_trunc"], "nodes": ["model.quickbooks_source.stg_quickbooks__vendor_credit_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__vendor_credit.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_vendor_credit variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__vendor_credit_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n balance\n \n as \n \n balance\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n currency_id\n \n as \n \n currency_id\n \n, \n \n \n department_id\n \n as \n \n department_id\n \n, \n \n \n doc_number\n \n as \n \n doc_number\n \n, \n \n \n exchange_rate\n \n as \n \n exchange_rate\n \n, \n \n \n global_tax_calculation\n \n as \n \n global_tax_calculation\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n payable_account_id\n \n as \n \n payable_account_id\n \n, \n \n \n private_note\n \n as \n \n private_note\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n total_amount\n \n as \n \n total_amount\n \n, \n \n \n transaction_date\n \n as \n \n transaction_date\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n, \n \n \n vendor_id\n \n as \n \n vendor_id\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as vendor_credit_id,\n balance,\n cast(doc_number as TEXT) as doc_number,\n total_amount,\n currency_id,\n exchange_rate,\n created_at,\n cast(payable_account_id as TEXT) as payable_account_id,\n cast(department_id as TEXT) as department_id,\n private_note,\n cast( date_trunc('day', transaction_date) as date) as transaction_date,\n cast(vendor_id as TEXT) as vendor_id,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__vendor_credit_line": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__vendor_credit_line", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__vendor_credit_line.sql", "original_file_path": "models/stg_quickbooks__vendor_credit_line.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__vendor_credit_line", "fqn": ["quickbooks_source", "stg_quickbooks__vendor_credit_line"], "alias": "stg_quickbooks__vendor_credit_line", "checksum": {"name": "sha256", "checksum": "bb84d3c8d454b097f7311c13ff6fb9c8ef739f6303649946af98afc241c192b5"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing individual vendor credit line items.", "columns": {"vendor_credit_id": {"name": "vendor_credit_id", "description": "Unique identifier of the vendor credit record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": [], "test": ["not_null"]}, "index": {"name": "index", "description": "Index count of records associated with the vendor credit record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_account_id": {"name": "account_expense_account_id", "description": "Account id of the account credited for the vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_billable_status": {"name": "account_expense_billable_status", "description": "Status of the billable related to the vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_tax_code_id": {"name": "account_expense_tax_code_id", "description": "Tax code id of the tax code associated with the vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_customer_id": {"name": "account_expense_customer_id", "description": "Customer reference for the vendor credit expense.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_class_id": {"name": "account_expense_class_id", "description": "The class reference associated with the account based expense vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_customer_id": {"name": "item_expense_customer_id", "description": "Customer reference for the item on the vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_item_id": {"name": "item_expense_item_id", "description": "The item reference associated with the item based expense vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_quantity": {"name": "item_expense_quantity", "description": "Quantity of the item within the item based expense vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_unit_price": {"name": "item_expense_unit_price", "description": "Unit price of the item within the item based expense vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_class_id": {"name": "item_expense_class_id", "description": "Reference to the class associated with the item based expense vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_billable_status": {"name": "item_expense_billable_status", "description": "The billable status of the item based expense vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1730311928.033803, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__vendor_credit_line\"", "raw_code": "--To disable this model, set the using_vendor_credit variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_vendor_credit', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__vendor_credit_line_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__vendor_credit_line_tmp')),\n staging_columns=get_vendor_credit_line_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(vendor_credit_id as {{ dbt.type_string() }}) as vendor_credit_id,\n index,\n cast(account_expense_customer_id as {{ dbt.type_string() }}) as account_expense_customer_id,\n cast(account_expense_account_id as {{ dbt.type_string() }}) as account_expense_account_id,\n account_expense_billable_status,\n account_expense_tax_code_id,\n cast(account_expense_class_id as {{ dbt.type_string() }}) as account_expense_class_id,\n cast(item_expense_customer_id as {{ dbt.type_string() }}) as item_expense_customer_id,\n cast(item_expense_item_id as {{ dbt.type_string() }}) as item_expense_item_id,\n item_expense_quantity,\n item_expense_unit_price,\n cast(item_expense_class_id as {{ dbt.type_string() }}) as item_expense_class_id,\n item_expense_billable_status,\n amount,\n description,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__vendor_credit_line_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__vendor_credit_line_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_vendor_credit_line_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__vendor_credit_line_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__vendor_credit_line.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_vendor_credit variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__vendor_credit_line_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n account_expense_account_id\n \n as \n \n account_expense_account_id\n \n, \n \n \n account_expense_billable_status\n \n as \n \n account_expense_billable_status\n \n, \n \n \n account_expense_class_id\n \n as \n \n account_expense_class_id\n \n, \n \n \n account_expense_customer_id\n \n as \n \n account_expense_customer_id\n \n, \n \n \n account_expense_tax_amount\n \n as \n \n account_expense_tax_amount\n \n, \n \n \n account_expense_tax_code_id\n \n as \n \n account_expense_tax_code_id\n \n, \n \n \n amount\n \n as \n \n amount\n \n, \n \n \n description\n \n as \n \n description\n \n, \n \n \n index\n \n as \n \n index\n \n, \n \n \n item_expense_billable_status\n \n as \n \n item_expense_billable_status\n \n, \n \n \n item_expense_class_id\n \n as \n \n item_expense_class_id\n \n, \n \n \n item_expense_customer_id\n \n as \n \n item_expense_customer_id\n \n, \n \n \n item_expense_item_id\n \n as \n \n item_expense_item_id\n \n, \n \n \n item_expense_quantity\n \n as \n \n item_expense_quantity\n \n, \n \n \n item_expense_tax_code_id\n \n as \n \n item_expense_tax_code_id\n \n, \n \n \n item_expense_unit_price\n \n as \n \n item_expense_unit_price\n \n, \n \n \n private_note\n \n as \n \n private_note\n \n, \n \n \n vendor_credit_id\n \n as \n \n vendor_credit_id\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(vendor_credit_id as TEXT) as vendor_credit_id,\n index,\n cast(account_expense_customer_id as TEXT) as account_expense_customer_id,\n cast(account_expense_account_id as TEXT) as account_expense_account_id,\n account_expense_billable_status,\n account_expense_tax_code_id,\n cast(account_expense_class_id as TEXT) as account_expense_class_id,\n cast(item_expense_customer_id as TEXT) as item_expense_customer_id,\n cast(item_expense_item_id as TEXT) as item_expense_item_id,\n item_expense_quantity,\n item_expense_unit_price,\n cast(item_expense_class_id as TEXT) as item_expense_class_id,\n item_expense_billable_status,\n amount,\n description,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__deposit": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__deposit", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__deposit.sql", "original_file_path": "models/stg_quickbooks__deposit.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__deposit", "fqn": ["quickbooks_source", "stg_quickbooks__deposit"], "alias": "stg_quickbooks__deposit", "checksum": {"name": "sha256", "checksum": "7877127964ef01bcd3bc4b81cf0d95dbfe3ccf25c7a0a0b92f31488cb8c96e13"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing records of transactions that record on or more deposits of a customer payment or a new direct deposit.", "columns": {"deposit_id": {"name": "deposit_id", "description": "Unique identifier of the deposit.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "Identifies the account to be used for this deposit.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the date which the deposit was created.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department associated with the deposit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount of the transaction. This includes the total of all the charges, allowances, and taxes.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "home_total_amount": {"name": "home_total_amount", "description": "Indicates the total amount of the transaction in the home currency. This includes the total of all the charges, allowances, and taxes.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date which the deposit transaction occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_status": {"name": "transaction_status", "description": "Status of the deposit transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1730311928.017174, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__deposit\"", "raw_code": "--To disable this model, set the using_deposit variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_deposit', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__deposit_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__deposit_tmp')),\n staging_columns=get_deposit_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as deposit_id,\n cast(account_id as {{ dbt.type_string() }}) as account_id,\n created_at,\n currency_id,\n cast(department_id as {{ dbt.type_string() }}) as department_id,\n total_amount,\n home_total_amount,\n cast( {{ dbt.date_trunc('day', 'transaction_date') }} as date) as transaction_date,\n transaction_status,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__deposit_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__deposit_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_deposit_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string", "macro.dbt.date_trunc"], "nodes": ["model.quickbooks_source.stg_quickbooks__deposit_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__deposit.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_deposit variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__deposit_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n account_id\n \n as \n \n account_id\n \n, \n \n \n cash_back_account_id\n \n as \n \n cash_back_account_id\n \n, \n \n \n cash_back_amount\n \n as \n \n cash_back_amount\n \n, \n \n \n cash_back_memo\n \n as \n \n cash_back_memo\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n currency_id\n \n as \n \n currency_id\n \n, \n \n \n department_id\n \n as \n \n department_id\n \n, \n \n \n global_tax_calculation\n \n as \n \n global_tax_calculation\n \n, \n \n \n home_total_amount\n \n as \n \n home_total_amount\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n private_note\n \n as \n \n private_note\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n total_amount\n \n as \n \n total_amount\n \n, \n \n \n transaction_date\n \n as \n \n transaction_date\n \n, \n \n \n transaction_source\n \n as \n \n transaction_source\n \n, \n \n \n transaction_status\n \n as \n \n transaction_status\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as deposit_id,\n cast(account_id as TEXT) as account_id,\n created_at,\n currency_id,\n cast(department_id as TEXT) as department_id,\n total_amount,\n home_total_amount,\n cast( date_trunc('day', transaction_date) as date) as transaction_date,\n transaction_status,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__item": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__item", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__item.sql", "original_file_path": "models/stg_quickbooks__item.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__item", "fqn": ["quickbooks_source", "stg_quickbooks__item"], "alias": "stg_quickbooks__item", "checksum": {"name": "sha256", "checksum": "44ccdde31ed0a5de6f88a5ccc8286d03e32aa2797ad6d8ceda1d9f74ead680a9"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing item records. An item is a thing that your company buys, sells, or re-sells, such as products and services.", "columns": {"item_id": {"name": "item_id", "description": "Unique identifier of the item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_active": {"name": "is_active", "description": "Boolean indicating whether the object is currently enabled for use by QuickBooks.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the date when the item was created within QuickBooks.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "income_account_id": {"name": "income_account_id", "description": "Reference to the posting account, that is, the account that records the proceeds from the sale of this item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "asset_account_id": {"name": "asset_account_id", "description": "Reference to the Inventory Asset account that tracks the current value of the inventory.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "expense_account_id": {"name": "expense_account_id", "description": "Reference to the expense account used to pay the vendor for this item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "Full name of the item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "inventory_start_date": {"name": "inventory_start_date", "description": "Timestamp of the date the item was started as inventory.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "parent_item_id": {"name": "parent_item_id", "description": "Reference to the parent item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "purchase_cost": {"name": "purchase_cost", "description": "Amount paid when buying or ordering the item, as expressed in the home currency.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "taxable": {"name": "taxable", "description": "Boolean indicating whether the item is taxable.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "type": {"name": "type", "description": "Classification that specifies the use of this item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "unit_price": {"name": "unit_price", "description": "The monetary value of the service or product, as expressed in the home currency.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table"}, "created_at": 1730311928.02309, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__item\"", "raw_code": "with base as (\n\n select * \n from {{ ref('stg_quickbooks__item_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__item_tmp')),\n staging_columns=get_item_columns()\n )\n }}\n \n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as item_id,\n active as is_active,\n created_at,\n cast(income_account_id as {{ dbt.type_string() }}) as income_account_id,\n cast(asset_account_id as {{ dbt.type_string() }}) as asset_account_id,\n cast(expense_account_id as {{ dbt.type_string() }}) as expense_account_id,\n name,\n purchase_cost,\n taxable,\n type,\n unit_price,\n inventory_start_date,\n cast(parent_item_id as {{ dbt.type_string() }}) as parent_item_id,\n source_relation,\n _fivetran_deleted\n\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__item_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__item_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_item_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__item_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__item.sql", "compiled": true, "compiled_code": "with base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__item_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n active\n \n as \n \n active\n \n, \n \n \n asset_account_id\n \n as \n \n asset_account_id\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n description\n \n as \n \n description\n \n, \n \n \n expense_account_id\n \n as \n \n expense_account_id\n \n, \n \n \n fully_qualified_name\n \n as \n \n fully_qualified_name\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n income_account_id\n \n as \n \n income_account_id\n \n, \n \n \n inventory_start_date\n \n as \n \n inventory_start_date\n \n, \n \n \n level\n \n as \n \n level\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n parent_item_id\n \n as \n \n parent_item_id\n \n, \n \n \n purchase_cost\n \n as \n \n purchase_cost\n \n, \n \n \n purchase_description\n \n as \n \n purchase_description\n \n, \n \n \n purchase_tax_code_id\n \n as \n \n purchase_tax_code_id\n \n, \n \n \n purchase_tax_included\n \n as \n \n purchase_tax_included\n \n, \n \n \n quantity_on_hand\n \n as \n \n quantity_on_hand\n \n, \n \n \n sales_tax_code_id\n \n as \n \n sales_tax_code_id\n \n, \n \n \n sales_tax_included\n \n as \n \n sales_tax_included\n \n, \n \n \n stock_keeping_unit\n \n as \n \n stock_keeping_unit\n \n, \n \n \n sub_item\n \n as \n \n sub_item\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n taxable\n \n as \n \n taxable\n \n, \n \n \n track_quantity_on_hand\n \n as \n \n track_quantity_on_hand\n \n, \n \n \n type\n \n as \n \n type\n \n, \n \n \n unit_price\n \n as \n \n unit_price\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n, \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n\n\n\n \n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as item_id,\n active as is_active,\n created_at,\n cast(income_account_id as TEXT) as income_account_id,\n cast(asset_account_id as TEXT) as asset_account_id,\n cast(expense_account_id as TEXT) as expense_account_id,\n name,\n purchase_cost,\n taxable,\n type,\n unit_price,\n inventory_start_date,\n cast(parent_item_id as TEXT) as parent_item_id,\n source_relation,\n _fivetran_deleted\n\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__customer": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__customer", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__customer.sql", "original_file_path": "models/stg_quickbooks__customer.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__customer", "fqn": ["quickbooks_source", "stg_quickbooks__customer"], "alias": "stg_quickbooks__customer", "checksum": {"name": "sha256", "checksum": "c35ab56e9d8da118a46276fadea28bbc9cf5b400cd61bb15686b0ed1facad419"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing customers of which are consumers of the service or product that your business offers.", "columns": {"customer_id": {"name": "customer_id", "description": "Unique identifier of the customer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_active": {"name": "is_active", "description": "Boolean indicating whether it is currently enabled for use by QuickBooks.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "Specifies the open balance amount or the amount unpaid by the customer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance_with_jobs": {"name": "balance_with_jobs", "description": "Cumulative open balance amount for the Customer (or Job) and all its sub-jobs.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "bill_with_parent": {"name": "bill_with_parent", "description": "Boolean indicating whether this Customer object is billed with its parent.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "company_name": {"name": "company_name", "description": "Full name of the company.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "fully_qualified_name": {"name": "fully_qualified_name", "description": "Fully qualified name of the company.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts associated with this customer are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "display_name": {"name": "display_name", "description": "Name of the customer which is displayed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "website": {"name": "website", "description": "Website url associated with the vendor.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "taxable": {"name": "taxable", "description": "Boolean indicating whether the customer is taxable.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table"}, "created_at": 1730311928.01465, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__customer\"", "raw_code": "with base as (\n\n select * \n from {{ ref('stg_quickbooks__customer_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__customer_tmp')),\n staging_columns=get_customer_columns()\n )\n }}\n \n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as customer_id,\n active as is_active,\n balance,\n balance_with_jobs,\n bill_with_parent,\n company_name,\n fully_qualified_name,\n currency_id,\n display_name,\n website,\n taxable,\n source_relation,\n _fivetran_deleted\n\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__customer_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__customer_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_customer_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__customer_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__customer.sql", "compiled": true, "compiled_code": "with base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__customer_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n active\n \n as \n \n active\n \n, \n \n \n alternate_phone_number\n \n as \n \n alternate_phone_number\n \n, \n \n \n ar_account_id\n \n as \n \n ar_account_id\n \n, \n \n \n balance\n \n as \n \n balance\n \n, \n \n \n balance_with_jobs\n \n as \n \n balance_with_jobs\n \n, \n \n \n bill_address_id\n \n as \n \n bill_address_id\n \n, \n \n \n bill_with_parent\n \n as \n \n bill_with_parent\n \n, \n \n \n company_name\n \n as \n \n company_name\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n currency_id\n \n as \n \n currency_id\n \n, \n \n \n default_tax_code_id\n \n as \n \n default_tax_code_id\n \n, \n \n \n display_name\n \n as \n \n display_name\n \n, \n \n \n email\n \n as \n \n email\n \n, \n \n \n family_name\n \n as \n \n family_name\n \n, \n \n \n fax_number\n \n as \n \n fax_number\n \n, \n \n \n fully_qualified_name\n \n as \n \n fully_qualified_name\n \n, \n \n \n given_name\n \n as \n \n given_name\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n job\n \n as \n \n job\n \n, \n \n \n level\n \n as \n \n level\n \n, \n \n \n middle_name\n \n as \n \n middle_name\n \n, \n \n \n mobile_number\n \n as \n \n mobile_number\n \n, \n \n \n notes\n \n as \n \n notes\n \n, \n \n \n open_balance_date\n \n as \n \n open_balance_date\n \n, \n \n \n parent_customer_id\n \n as \n \n parent_customer_id\n \n, \n \n \n payment_method_id\n \n as \n \n payment_method_id\n \n, \n \n \n phone_number\n \n as \n \n phone_number\n \n, \n \n \n preferred_delivery_method\n \n as \n \n preferred_delivery_method\n \n, \n \n \n print_on_check_name\n \n as \n \n print_on_check_name\n \n, \n \n \n resale_number\n \n as \n \n resale_number\n \n, \n \n \n sales_term_id\n \n as \n \n sales_term_id\n \n, \n \n \n shipping_address_id\n \n as \n \n shipping_address_id\n \n, \n \n \n suffix\n \n as \n \n suffix\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n tax_exemption_reason_id\n \n as \n \n tax_exemption_reason_id\n \n, \n \n \n taxable\n \n as \n \n taxable\n \n, \n \n \n title\n \n as \n \n title\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n, \n \n \n website\n \n as \n \n website\n \n, \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n\n\n\n \n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as customer_id,\n active as is_active,\n balance,\n balance_with_jobs,\n bill_with_parent,\n company_name,\n fully_qualified_name,\n currency_id,\n display_name,\n website,\n taxable,\n source_relation,\n _fivetran_deleted\n\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__vendor_credit_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__vendor_credit_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__vendor_credit_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__vendor_credit_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__vendor_credit_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__vendor_credit_tmp"], "alias": "stg_quickbooks__vendor_credit_tmp", "checksum": {"name": "sha256", "checksum": "9938bbb45d56450c95b943349ff3a88b95120bbbd31878b6635f574d91020e59"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1730311927.619147, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__vendor_credit_tmp\"", "raw_code": "--To disable this model, set the using_vendor_credit variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_vendor_credit', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='vendor_credit', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='vendor_credit',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "vendor_credit"], ["quickbooks", "vendor_credit"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.vendor_credit"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__vendor_credit_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_vendor_credit variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"vendor_credit_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__refund_receipt_line_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__refund_receipt_line_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__refund_receipt_line_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__refund_receipt_line_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__refund_receipt_line_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__refund_receipt_line_tmp"], "alias": "stg_quickbooks__refund_receipt_line_tmp", "checksum": {"name": "sha256", "checksum": "4c8116c0a09943657aae1ee701565a8b503466f228abe688aa58e7d5ff103e0f"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1730311927.637295, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__refund_receipt_line_tmp\"", "raw_code": "--To disable this model, set the using_refund_receipt variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_refund_receipt', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='refund_receipt_line', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='refund_receipt_line',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "refund_receipt_line"], ["quickbooks", "refund_receipt_line"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.refund_receipt_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__refund_receipt_line_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_refund_receipt variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"refund_receipt_line_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__estimate_line_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__estimate_line_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__estimate_line_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__estimate_line_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__estimate_line_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__estimate_line_tmp"], "alias": "stg_quickbooks__estimate_line_tmp", "checksum": {"name": "sha256", "checksum": "e6b43f9598030c138d67898959d3bcc06d4b571b16bd790974c5bda4e90dfe18"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1730311927.641567, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__estimate_line_tmp\"", "raw_code": "--To disable this model, set the using_estimate variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_estimate', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='estimate_line', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='estimate_line',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "estimate_line"], ["quickbooks", "estimate_line"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.estimate_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__estimate_line_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_estimate variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"estimate_line_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__credit_memo_line_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__credit_memo_line_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__credit_memo_line_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__credit_memo_line_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__credit_memo_line_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__credit_memo_line_tmp"], "alias": "stg_quickbooks__credit_memo_line_tmp", "checksum": {"name": "sha256", "checksum": "e0b5daf12c47995a8930f8bdc9e7d6c4b23f86eb7db6d810664598dd865f6d05"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1730311927.650342, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__credit_memo_line_tmp\"", "raw_code": "--To enable this model, set the using_credit_memo variable within your dbt_project.yml file to True.\n{{ config(enabled=var('using_credit_memo', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='credit_memo_line', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='credit_memo_line',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "credit_memo_line"], ["quickbooks", "credit_memo_line"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.credit_memo_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__credit_memo_line_tmp.sql", "compiled": true, "compiled_code": "--To enable this model, set the using_credit_memo variable within your dbt_project.yml file to True.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"credit_memo_line_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__journal_entry_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__journal_entry_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__journal_entry_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__journal_entry_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__journal_entry_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__journal_entry_tmp"], "alias": "stg_quickbooks__journal_entry_tmp", "checksum": {"name": "sha256", "checksum": "4cc1a32910c8e5255f3d3bbe4578fb9f562e3f2fb56eff69e22f7f69b11fa32e"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1730311927.654686, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__journal_entry_tmp\"", "raw_code": "--To disable this model, set the using_journal_entry variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_journal_entry', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='journal_entry', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='journal_entry',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "journal_entry"], ["quickbooks", "journal_entry"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.journal_entry"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__journal_entry_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_journal_entry variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"journal_entry_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__invoice_line_bundle_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__invoice_line_bundle_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__invoice_line_bundle_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__invoice_line_bundle_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__invoice_line_bundle_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__invoice_line_bundle_tmp"], "alias": "stg_quickbooks__invoice_line_bundle_tmp", "checksum": {"name": "sha256", "checksum": "a2dc8302a76014fdede73acb185944cb3901457f568da00b9400dbadd61a4781"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1730311927.659723, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__invoice_line_bundle_tmp\"", "raw_code": "--To disable this model, set the using_invoice_bundle variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_invoice_bundle', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='invoice_line_bundle', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='invoice_line_bundle',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "invoice_line_bundle"], ["quickbooks", "invoice_line_bundle"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.invoice_line_bundle"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__invoice_line_bundle_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_invoice_bundle variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"invoice_line_bundle_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__payment_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__payment_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__payment_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__payment_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__payment_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__payment_tmp"], "alias": "stg_quickbooks__payment_tmp", "checksum": {"name": "sha256", "checksum": "afe62d4646d63e7fc44dbe73ad04eb3af6f94e1fd98953cfdd5a5fae5464818f"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1730311927.6639628, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__payment_tmp\"", "raw_code": "--To enable this model, set the using_payment variable within your dbt_project.yml file to True.\n{{ config(enabled=var('using_payment', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='payment', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='payment',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "payment"], ["quickbooks", "payment"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.payment"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__payment_tmp.sql", "compiled": true, "compiled_code": "--To enable this model, set the using_payment variable within your dbt_project.yml file to True.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"payment_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__invoice_line_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__invoice_line_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__invoice_line_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__invoice_line_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__invoice_line_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__invoice_line_tmp"], "alias": "stg_quickbooks__invoice_line_tmp", "checksum": {"name": "sha256", "checksum": "ec89045532e817aed8e8dc0a09e66f53a2c88aba038c7dcbbb51f6875d044f5d"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1730311927.668252, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__invoice_line_tmp\"", "raw_code": "--To enable this model, set the using_invoice variable within your dbt_project.yml file to True.\n{{ config(enabled=var('using_invoice', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='invoice_line', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='invoice_line',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "invoice_line"], ["quickbooks", "invoice_line"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.invoice_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__invoice_line_tmp.sql", "compiled": true, "compiled_code": "--To enable this model, set the using_invoice variable within your dbt_project.yml file to True.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"invoice_line_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__deposit_line_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__deposit_line_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__deposit_line_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__deposit_line_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__deposit_line_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__deposit_line_tmp"], "alias": "stg_quickbooks__deposit_line_tmp", "checksum": {"name": "sha256", "checksum": "2a560b4173366349cc88aa5c091b2f10c61f60c0bfe73b3b0f673877627002a4"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1730311927.6724951, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__deposit_line_tmp\"", "raw_code": "--To disable this model, set the using_deposit variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_deposit', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='deposit_line', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='deposit_line',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "deposit_line"], ["quickbooks", "deposit_line"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.deposit_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__deposit_line_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_deposit variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"deposit_line_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__customer_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__customer_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__customer_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__customer_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__customer_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__customer_tmp"], "alias": "stg_quickbooks__customer_tmp", "checksum": {"name": "sha256", "checksum": "2125a8e00af7bd53a1c2d0b414a756fa128457d4ecda78c77f813ba133a81325"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view"}, "created_at": 1730311927.6768901, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__customer_tmp\"", "raw_code": "{{\n fivetran_utils.union_data(\n table_identifier='customer', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='customer',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "customer"], ["quickbooks", "customer"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.customer"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__customer_tmp.sql", "compiled": true, "compiled_code": "\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"customer_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__bill_line_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__bill_line_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__bill_line_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__bill_line_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__bill_line_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__bill_line_tmp"], "alias": "stg_quickbooks__bill_line_tmp", "checksum": {"name": "sha256", "checksum": "8f06919fa5048f09e127332ef0675a7fac11b3d0787e6672612010db4a7f6193"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1730311927.6821609, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill_line_tmp\"", "raw_code": "--To disable this model, set the using_bill variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_bill', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='bill_line', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='bill_line',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "bill_line"], ["quickbooks", "bill_line"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.bill_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__bill_line_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_bill variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"bill_line_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__item_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__item_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__item_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__item_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__item_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__item_tmp"], "alias": "stg_quickbooks__item_tmp", "checksum": {"name": "sha256", "checksum": "0db4c37e6bea881ee6f85348bc069b1ba7d74ce4fd550ed0ac643d4ef780ab79"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view"}, "created_at": 1730311927.686275, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__item_tmp\"", "raw_code": "{{\n fivetran_utils.union_data(\n table_identifier='item', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='item',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "item"], ["quickbooks", "item"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.item"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__item_tmp.sql", "compiled": true, "compiled_code": "\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"item_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__account_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__account_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__account_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__account_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__account_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__account_tmp"], "alias": "stg_quickbooks__account_tmp", "checksum": {"name": "sha256", "checksum": "1157f7c518bf6f5e15bd9080fe829b06b7e3ddf59ea3e3a06164fe453e0def85"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view"}, "created_at": 1730311927.6898491, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__account_tmp\"", "raw_code": "{{\n fivetran_utils.union_data(\n table_identifier='account', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='account',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "account"], ["quickbooks", "account"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.account"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__account_tmp.sql", "compiled": true, "compiled_code": "\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"account_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__credit_card_payment_txn_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__credit_card_payment_txn_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__credit_card_payment_txn_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__credit_card_payment_txn_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__credit_card_payment_txn_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__credit_card_payment_txn_tmp"], "alias": "stg_quickbooks__credit_card_payment_txn_tmp", "checksum": {"name": "sha256", "checksum": "8bad0e0be1654e7cc21513296d51b99df612d56297efda82436474b76c0a2e7d"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1730311927.693228, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__credit_card_payment_txn_tmp\"", "raw_code": "--To enable this model, set the using_credit_card_payment_txn variable within your dbt_project.yml file to True.\n{{ config(enabled=var('using_credit_card_payment_txn', False)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='credit_card_payment_txn', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='credit_card_payment_txn',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "credit_card_payment_txn"], ["quickbooks", "credit_card_payment_txn"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.credit_card_payment_txn"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__credit_card_payment_txn_tmp.sql", "compiled": true, "compiled_code": "--To enable this model, set the using_credit_card_payment_txn variable within your dbt_project.yml file to True.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"credit_card_payment_txn_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__vendor_credit_line_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__vendor_credit_line_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__vendor_credit_line_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__vendor_credit_line_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__vendor_credit_line_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__vendor_credit_line_tmp"], "alias": "stg_quickbooks__vendor_credit_line_tmp", "checksum": {"name": "sha256", "checksum": "0a6d94050edf7556e4d19cbd3999b0bcb4b58658f4e2e7bfa8e183ddd6a28d2c"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1730311927.698838, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__vendor_credit_line_tmp\"", "raw_code": "--To disable this model, set the using_vendor_credit variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_vendor_credit', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='vendor_credit_line', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='vendor_credit_line',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "vendor_credit_line"], ["quickbooks", "vendor_credit_line"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.vendor_credit_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__vendor_credit_line_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_vendor_credit variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"vendor_credit_line_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__department_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__department_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__department_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__department_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__department_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__department_tmp"], "alias": "stg_quickbooks__department_tmp", "checksum": {"name": "sha256", "checksum": "ea310c765f23c51e6a2ef7bef84749f2a3fa89ac06b768173788080096354a00"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1730311927.712366, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__department_tmp\"", "raw_code": "--To disable this model, set the using_department variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_department', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='department', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='department',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "department"], ["quickbooks", "department"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.department"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__department_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_department variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"department_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__bundle_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__bundle_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__bundle_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__bundle_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__bundle_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__bundle_tmp"], "alias": "stg_quickbooks__bundle_tmp", "checksum": {"name": "sha256", "checksum": "722d0a1b955a8c123522a87f6b97c8770d00365b98d1fc057d1724e9c5c06667"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1730311927.718164, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bundle_tmp\"", "raw_code": "--To disable this model, set the using_invoice_bundle variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_invoice_bundle', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='bundle', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='bundle',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "bundle"], ["quickbooks", "bundle"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.bundle"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__bundle_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_invoice_bundle variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"bundle_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__bundle_item_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__bundle_item_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__bundle_item_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__bundle_item_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__bundle_item_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__bundle_item_tmp"], "alias": "stg_quickbooks__bundle_item_tmp", "checksum": {"name": "sha256", "checksum": "f716d0ef63ccb44a3ff2cf8ecff39d94f15052deb185a6c2c0595981c62fb8cb"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1730311927.722827, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bundle_item_tmp\"", "raw_code": "--To disable this model, set the using_invoice_bundle variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_invoice_bundle', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='bundle_item', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='bundle_item',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "bundle_item"], ["quickbooks", "bundle_item"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.bundle_item"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__bundle_item_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_invoice_bundle variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"bundle_item_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__bill_payment_line_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__bill_payment_line_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__bill_payment_line_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__bill_payment_line_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__bill_payment_line_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__bill_payment_line_tmp"], "alias": "stg_quickbooks__bill_payment_line_tmp", "checksum": {"name": "sha256", "checksum": "914efeefeb70efc2b64e7bae87b298f93f419a08b170e06c3efb825f8eca1968"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1730311927.732739, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill_payment_line_tmp\"", "raw_code": "--To disable this model, set the using_bill_payment variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_bill', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='bill_payment_line', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='bill_payment_line',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "bill_payment_line"], ["quickbooks", "bill_payment_line"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.bill_payment_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__bill_payment_line_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_bill_payment variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"bill_payment_line_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__estimate_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__estimate_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__estimate_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__estimate_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__estimate_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__estimate_tmp"], "alias": "stg_quickbooks__estimate_tmp", "checksum": {"name": "sha256", "checksum": "bd7a335748a13aae584ae7ee6a45b8565299cf7a48a0495be863920c797d83c6"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1730311927.737153, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__estimate_tmp\"", "raw_code": "--To disable this model, set the using_estimate variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_estimate', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='estimate', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='estimate',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "estimate"], ["quickbooks", "estimate"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.estimate"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__estimate_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_estimate variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"estimate_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__purchase_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__purchase_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__purchase_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__purchase_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__purchase_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__purchase_tmp"], "alias": "stg_quickbooks__purchase_tmp", "checksum": {"name": "sha256", "checksum": "1ad34ab2fb967805e5387b4dcf01716431d1008430faee53027f043466c3896d"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view"}, "created_at": 1730311927.741624, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__purchase_tmp\"", "raw_code": "{{\n fivetran_utils.union_data(\n table_identifier='purchase', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='purchase',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "purchase"], ["quickbooks", "purchase"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.purchase"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__purchase_tmp.sql", "compiled": true, "compiled_code": "\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"purchase_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__credit_memo_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__credit_memo_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__credit_memo_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__credit_memo_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__credit_memo_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__credit_memo_tmp"], "alias": "stg_quickbooks__credit_memo_tmp", "checksum": {"name": "sha256", "checksum": "b03c0272b980cd970a93970dab9696b945649ea42a46c4ebc4ffcf5094a1e8db"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1730311927.745616, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__credit_memo_tmp\"", "raw_code": "--To enable this model, set the using_credit_memo variable within your dbt_project.yml file to True.\n{{ config(enabled=var('using_credit_memo', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='credit_memo', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='credit_memo',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "credit_memo"], ["quickbooks", "credit_memo"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.credit_memo"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__credit_memo_tmp.sql", "compiled": true, "compiled_code": "--To enable this model, set the using_credit_memo variable within your dbt_project.yml file to True.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"credit_memo_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__bill_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__bill_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__bill_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__bill_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__bill_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__bill_tmp"], "alias": "stg_quickbooks__bill_tmp", "checksum": {"name": "sha256", "checksum": "b579ba85c94cfa32fdb6fe9e65c2ee8e804c21417af340278c7370a7b9a31f2c"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1730311927.750186, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill_tmp\"", "raw_code": "--To disable this model, set the using_bill variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_bill', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='bill', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='bill',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "bill"], ["quickbooks", "bill"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.bill"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__bill_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_bill variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"bill_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__transfer_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__transfer_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__transfer_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__transfer_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__transfer_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__transfer_tmp"], "alias": "stg_quickbooks__transfer_tmp", "checksum": {"name": "sha256", "checksum": "f8f0e5207d431293f5adc30455c8c834cd6bab7475b906c2b781cdb8db9a059a"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1730311927.7553668, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__transfer_tmp\"", "raw_code": "--To disable this model, set the using_transfer variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_transfer', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='transfer', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='transfer',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "transfer"], ["quickbooks", "transfer"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.transfer"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__transfer_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_transfer variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"transfer_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__vendor_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__vendor_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__vendor_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__vendor_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__vendor_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__vendor_tmp"], "alias": "stg_quickbooks__vendor_tmp", "checksum": {"name": "sha256", "checksum": "99087fb776ee0e7ab8b1a75536a23d6019ce7de382c2bd0ae006db290dd2d485"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view"}, "created_at": 1730311927.75935, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__vendor_tmp\"", "raw_code": "{{\n fivetran_utils.union_data(\n table_identifier='vendor', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='vendor',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "vendor"], ["quickbooks", "vendor"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.vendor"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__vendor_tmp.sql", "compiled": true, "compiled_code": "\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"vendor_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__purchase_line_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__purchase_line_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__purchase_line_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__purchase_line_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__purchase_line_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__purchase_line_tmp"], "alias": "stg_quickbooks__purchase_line_tmp", "checksum": {"name": "sha256", "checksum": "39c7787a6481961b9d80bf3173afd5ece106fdb67bad2edbd69d436c6bbc3aca"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view"}, "created_at": 1730311927.763747, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__purchase_line_tmp\"", "raw_code": "{{\n fivetran_utils.union_data(\n table_identifier='purchase_line', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='purchase_line',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "purchase_line"], ["quickbooks", "purchase_line"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.purchase_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__purchase_line_tmp.sql", "compiled": true, "compiled_code": "\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"purchase_line_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__address_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__address_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__address_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__address_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__address_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__address_tmp"], "alias": "stg_quickbooks__address_tmp", "checksum": {"name": "sha256", "checksum": "39a9820afa24c94b220f35fa72a0452806f5cdb828e5eb70583cded4ceb71454"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1730311927.767411, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__address_tmp\"", "raw_code": "--To disable this model, set the using_address variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_address', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='address', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='address',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "address"], ["quickbooks", "address"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.address"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__address_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_address variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"address_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__payment_line_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__payment_line_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__payment_line_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__payment_line_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__payment_line_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__payment_line_tmp"], "alias": "stg_quickbooks__payment_line_tmp", "checksum": {"name": "sha256", "checksum": "333d6ce9e2621c99b011bfbb668c38c1fe20d45a9e155278371ad1c5c19fffa3"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1730311927.771359, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__payment_line_tmp\"", "raw_code": "--To enable this model, set the using_payment variable within your dbt_project.yml file to True.\n{{ config(enabled=var('using_payment', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='payment_line', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='payment_line',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "payment_line"], ["quickbooks", "payment_line"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.payment_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__payment_line_tmp.sql", "compiled": true, "compiled_code": "--To enable this model, set the using_payment variable within your dbt_project.yml file to True.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"payment_line_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__refund_receipt_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__refund_receipt_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__refund_receipt_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__refund_receipt_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__refund_receipt_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__refund_receipt_tmp"], "alias": "stg_quickbooks__refund_receipt_tmp", "checksum": {"name": "sha256", "checksum": "274dbd883a2adaf7559f8bc8812a558a95b52329f18218fe5494c63b7abcf7a5"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1730311927.776642, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__refund_receipt_tmp\"", "raw_code": "--To disable this model, set the using_refund_receipt variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_refund_receipt', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='refund_receipt', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='refund_receipt',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "refund_receipt"], ["quickbooks", "refund_receipt"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.refund_receipt"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__refund_receipt_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_refund_receipt variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"refund_receipt_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__sales_receipt_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__sales_receipt_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__sales_receipt_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__sales_receipt_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__sales_receipt_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__sales_receipt_tmp"], "alias": "stg_quickbooks__sales_receipt_tmp", "checksum": {"name": "sha256", "checksum": "a05a40a4c7d85d3d74b1f331c2fa2cfae1f6ed9f883d1f67650277ea03681ea7"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1730311927.780628, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__sales_receipt_tmp\"", "raw_code": "{{ config(enabled=var('using_sales_receipt', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='sales_receipt', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='sales_receipt',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "sales_receipt"], ["quickbooks", "sales_receipt"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.sales_receipt"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__sales_receipt_tmp.sql", "compiled": true, "compiled_code": "\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"sales_receipt_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__bill_payment_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__bill_payment_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__bill_payment_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__bill_payment_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__bill_payment_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__bill_payment_tmp"], "alias": "stg_quickbooks__bill_payment_tmp", "checksum": {"name": "sha256", "checksum": "f956078b3ec8d833f517f431c67509fe75f494b11a6fa4a735b85d232453dba4"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1730311927.784416, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill_payment_tmp\"", "raw_code": "--To disable this model, set the using_bill_payment variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_bill', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='bill_payment', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='bill_payment',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "bill_payment"], ["quickbooks", "bill_payment"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.bill_payment"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__bill_payment_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_bill_payment variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"bill_payment_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__journal_entry_line_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__journal_entry_line_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__journal_entry_line_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__journal_entry_line_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__journal_entry_line_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__journal_entry_line_tmp"], "alias": "stg_quickbooks__journal_entry_line_tmp", "checksum": {"name": "sha256", "checksum": "bcba66ad0358646e9993b39ecdd17c69130874858cb027ed198364bb77a3d283"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1730311927.788338, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__journal_entry_line_tmp\"", "raw_code": "--To disable this model, set the using_journal_entry variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_journal_entry', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='journal_entry_line', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='journal_entry_line',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "journal_entry_line"], ["quickbooks", "journal_entry_line"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.journal_entry_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__journal_entry_line_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_journal_entry variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"journal_entry_line_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__deposit_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__deposit_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__deposit_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__deposit_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__deposit_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__deposit_tmp"], "alias": "stg_quickbooks__deposit_tmp", "checksum": {"name": "sha256", "checksum": "e1f40c890b39fe0dd1bcec03c90b403c4e77015c805426b90ca3c3b1c93eb3b2"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1730311927.792166, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__deposit_tmp\"", "raw_code": "--To disable this model, set the using_deposit variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_deposit', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='deposit', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='deposit',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "deposit"], ["quickbooks", "deposit"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.deposit"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__deposit_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_deposit variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"deposit_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__bill_linked_txn_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__bill_linked_txn_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__bill_linked_txn_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__bill_linked_txn_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__bill_linked_txn_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__bill_linked_txn_tmp"], "alias": "stg_quickbooks__bill_linked_txn_tmp", "checksum": {"name": "sha256", "checksum": "2583068246d6617f1e99a3b11589211fb7cb90f66035526cee17be299ba826ec"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1730311927.796903, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill_linked_txn_tmp\"", "raw_code": "--To disable this model, set the using_bill and using_bill_payment variables within your dbt_project.yml file to False.\n{{ config(enabled=var('using_bill', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='bill_linked_txn', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='bill_linked_txn',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "bill_linked_txn"], ["quickbooks", "bill_linked_txn"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.bill_linked_txn"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__bill_linked_txn_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_bill and using_bill_payment variables within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"bill_linked_txn_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__invoice_linked_txn_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__invoice_linked_txn_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__invoice_linked_txn_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__invoice_linked_txn_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__invoice_linked_txn_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__invoice_linked_txn_tmp"], "alias": "stg_quickbooks__invoice_linked_txn_tmp", "checksum": {"name": "sha256", "checksum": "813acd5c2445c8886b2aa20afb05c5dc8165b9d38b3081b12a879e67abc67520"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1730311927.800694, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__invoice_linked_txn_tmp\"", "raw_code": "--To enable this model, set the using_invoice variable within your dbt_project.yml file to True.\n{{ config(enabled=var('using_invoice', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='invoice_linked_txn', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='invoice_linked_txn',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "invoice_linked_txn"], ["quickbooks", "invoice_linked_txn"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.invoice_linked_txn"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__invoice_linked_txn_tmp.sql", "compiled": true, "compiled_code": "--To enable this model, set the using_invoice variable within your dbt_project.yml file to True.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"invoice_linked_txn_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__sales_receipt_line_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__sales_receipt_line_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__sales_receipt_line_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__sales_receipt_line_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__sales_receipt_line_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__sales_receipt_line_tmp"], "alias": "stg_quickbooks__sales_receipt_line_tmp", "checksum": {"name": "sha256", "checksum": "b463d162c1fb701954a94b8322f6d5f7be39431fde28ce6eb0cb7ded9d7f1b07"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1730311927.8047512, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__sales_receipt_line_tmp\"", "raw_code": "{{ config(enabled=var('using_sales_receipt', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='sales_receipt_line', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='sales_receipt_line',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "sales_receipt_line"], ["quickbooks", "sales_receipt_line"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.sales_receipt_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__sales_receipt_line_tmp.sql", "compiled": true, "compiled_code": "\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"sales_receipt_line_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__invoice_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__invoice_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__invoice_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__invoice_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__invoice_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__invoice_tmp"], "alias": "stg_quickbooks__invoice_tmp", "checksum": {"name": "sha256", "checksum": "c901088fa713bc1e59f7299c7c7d6ac7aea71b7c97e5a2821fd8efd33214bfc1"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1730311927.812799, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__invoice_tmp\"", "raw_code": "--To enable this model, set the using_invoice variable within your dbt_project.yml file to True.\n{{ config(enabled=var('using_invoice', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='invoice', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='invoice',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "invoice"], ["quickbooks", "invoice"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.invoice"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__invoice_tmp.sql", "compiled": true, "compiled_code": "--To enable this model, set the using_invoice variable within your dbt_project.yml file to True.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_17\".\"invoice_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__ap_ar_enhanced_transaction_id__source_relation__estimate_id.804c1f0bcf": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["transaction_id", "source_relation", "estimate_id"], "model": "{{ get_where_subquery(ref('quickbooks__ap_ar_enhanced')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_quickbooks__ap_ar_enhanced_transaction_id__source_relation__estimate_id", "resource_type": "test", "package_name": "quickbooks", "path": "dbt_utils_unique_combination_o_f7241a6be66aca2842f13a9443c66e5d.sql", "original_file_path": "models/quickbooks.yml", "unique_id": "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__ap_ar_enhanced_transaction_id__source_relation__estimate_id.804c1f0bcf", "fqn": ["quickbooks", "dbt_utils_unique_combination_of_columns_quickbooks__ap_ar_enhanced_transaction_id__source_relation__estimate_id"], "alias": "dbt_utils_unique_combination_o_f7241a6be66aca2842f13a9443c66e5d", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_f7241a6be66aca2842f13a9443c66e5d", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_f7241a6be66aca2842f13a9443c66e5d"}, "created_at": 1730311927.918585, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_f7241a6be66aca2842f13a9443c66e5d\") }}", "language": "sql", "refs": [{"name": "quickbooks__ap_ar_enhanced", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks.quickbooks__ap_ar_enhanced"]}, "compiled_path": "target/compiled/quickbooks/models/quickbooks.yml/dbt_utils_unique_combination_o_f7241a6be66aca2842f13a9443c66e5d.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n transaction_id, source_relation, estimate_id\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"quickbooks__ap_ar_enhanced\"\n group by transaction_id, source_relation, estimate_id\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.quickbooks__ap_ar_enhanced", "attached_node": "model.quickbooks.quickbooks__ap_ar_enhanced"}, "test.quickbooks.unique_quickbooks__cash_flow_statement_account_unique_id.c6ce55cc0d": {"test_metadata": {"name": "unique", "kwargs": {"column_name": "account_unique_id", "model": "{{ get_where_subquery(ref('quickbooks__cash_flow_statement')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "unique_quickbooks__cash_flow_statement_account_unique_id", "resource_type": "test", "package_name": "quickbooks", "path": "unique_quickbooks__cash_flow_statement_account_unique_id.sql", "original_file_path": "models/quickbooks.yml", "unique_id": "test.quickbooks.unique_quickbooks__cash_flow_statement_account_unique_id.c6ce55cc0d", "fqn": ["quickbooks", "unique_quickbooks__cash_flow_statement_account_unique_id"], "alias": "unique_quickbooks__cash_flow_statement_account_unique_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311927.927169, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "quickbooks__cash_flow_statement", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks.quickbooks__cash_flow_statement"]}, "compiled_path": "target/compiled/quickbooks/models/quickbooks.yml/unique_quickbooks__cash_flow_statement_account_unique_id.sql", "compiled": true, "compiled_code": "\n \n \n\nselect\n account_unique_id as unique_field,\n count(*) as n_records\n\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"quickbooks__cash_flow_statement\"\nwhere account_unique_id is not null\ngroup by account_unique_id\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "account_unique_id", "file_key_name": "models.quickbooks__cash_flow_statement", "attached_node": "model.quickbooks.quickbooks__cash_flow_statement"}, "test.quickbooks.not_null_quickbooks__cash_flow_statement_account_unique_id.748fb9ef0a": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "account_unique_id", "model": "{{ get_where_subquery(ref('quickbooks__cash_flow_statement')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_quickbooks__cash_flow_statement_account_unique_id", "resource_type": "test", "package_name": "quickbooks", "path": "not_null_quickbooks__cash_flow_statement_account_unique_id.sql", "original_file_path": "models/quickbooks.yml", "unique_id": "test.quickbooks.not_null_quickbooks__cash_flow_statement_account_unique_id.748fb9ef0a", "fqn": ["quickbooks", "not_null_quickbooks__cash_flow_statement_account_unique_id"], "alias": "not_null_quickbooks__cash_flow_statement_account_unique_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311927.92826, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "quickbooks__cash_flow_statement", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks.quickbooks__cash_flow_statement"]}, "compiled_path": "target/compiled/quickbooks/models/quickbooks.yml/not_null_quickbooks__cash_flow_statement_account_unique_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect account_unique_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"quickbooks__cash_flow_statement\"\nwhere account_unique_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "account_unique_id", "file_key_name": "models.quickbooks__cash_flow_statement", "attached_node": "model.quickbooks.quickbooks__cash_flow_statement"}, "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__expenses_sales_enhanced_transaction_id__source_relation__transaction_line_id__item_id.b57775bacb": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["transaction_id", "source_relation", "transaction_line_id", "item_id"], "model": "{{ get_where_subquery(ref('quickbooks__expenses_sales_enhanced')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_quickbooks__expenses_sales_enhanced_transaction_id__source_relation__transaction_line_id__item_id", "resource_type": "test", "package_name": "quickbooks", "path": "dbt_utils_unique_combination_o_302bbf3cbe4c6018a8cb1a4aa5e77938.sql", "original_file_path": "models/quickbooks.yml", "unique_id": "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__expenses_sales_enhanced_transaction_id__source_relation__transaction_line_id__item_id.b57775bacb", "fqn": ["quickbooks", "dbt_utils_unique_combination_of_columns_quickbooks__expenses_sales_enhanced_transaction_id__source_relation__transaction_line_id__item_id"], "alias": "dbt_utils_unique_combination_o_302bbf3cbe4c6018a8cb1a4aa5e77938", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_302bbf3cbe4c6018a8cb1a4aa5e77938", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_302bbf3cbe4c6018a8cb1a4aa5e77938"}, "created_at": 1730311927.9292989, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_302bbf3cbe4c6018a8cb1a4aa5e77938\") }}", "language": "sql", "refs": [{"name": "quickbooks__expenses_sales_enhanced", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks.quickbooks__expenses_sales_enhanced"]}, "compiled_path": "target/compiled/quickbooks/models/quickbooks.yml/dbt_utils_unique_combination_o_302bbf3cbe4c6018a8cb1a4aa5e77938.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n transaction_id, source_relation, transaction_line_id, item_id\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"quickbooks__expenses_sales_enhanced\"\n group by transaction_id, source_relation, transaction_line_id, item_id\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.quickbooks__expenses_sales_enhanced", "attached_node": "model.quickbooks.quickbooks__expenses_sales_enhanced"}, "test.quickbooks.unique_quickbooks__general_ledger_unique_id.df148e7545": {"test_metadata": {"name": "unique", "kwargs": {"column_name": "unique_id", "model": "{{ get_where_subquery(ref('quickbooks__general_ledger')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "unique_quickbooks__general_ledger_unique_id", "resource_type": "test", "package_name": "quickbooks", "path": "unique_quickbooks__general_ledger_unique_id.sql", "original_file_path": "models/quickbooks.yml", "unique_id": "test.quickbooks.unique_quickbooks__general_ledger_unique_id.df148e7545", "fqn": ["quickbooks", "unique_quickbooks__general_ledger_unique_id"], "alias": "unique_quickbooks__general_ledger_unique_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311927.932169, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "quickbooks__general_ledger", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks.quickbooks__general_ledger"]}, "compiled_path": "target/compiled/quickbooks/models/quickbooks.yml/unique_quickbooks__general_ledger_unique_id.sql", "compiled": true, "compiled_code": "\n \n \n\nselect\n unique_id as unique_field,\n count(*) as n_records\n\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"quickbooks__general_ledger\"\nwhere unique_id is not null\ngroup by unique_id\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "unique_id", "file_key_name": "models.quickbooks__general_ledger", "attached_node": "model.quickbooks.quickbooks__general_ledger"}, "test.quickbooks.not_null_quickbooks__general_ledger_unique_id.06732be667": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "unique_id", "model": "{{ get_where_subquery(ref('quickbooks__general_ledger')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_quickbooks__general_ledger_unique_id", "resource_type": "test", "package_name": "quickbooks", "path": "not_null_quickbooks__general_ledger_unique_id.sql", "original_file_path": "models/quickbooks.yml", "unique_id": "test.quickbooks.not_null_quickbooks__general_ledger_unique_id.06732be667", "fqn": ["quickbooks", "not_null_quickbooks__general_ledger_unique_id"], "alias": "not_null_quickbooks__general_ledger_unique_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311927.933364, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "quickbooks__general_ledger", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks.quickbooks__general_ledger"]}, "compiled_path": "target/compiled/quickbooks/models/quickbooks.yml/not_null_quickbooks__general_ledger_unique_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect unique_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"quickbooks__general_ledger\"\nwhere unique_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "unique_id", "file_key_name": "models.quickbooks__general_ledger", "attached_node": "model.quickbooks.quickbooks__general_ledger"}, "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__general_ledger_by_period_account_id__class_id__source_relation__period_first_day.d928e63a45": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["account_id", "class_id", "source_relation", "period_first_day"], "model": "{{ get_where_subquery(ref('quickbooks__general_ledger_by_period')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_quickbooks__general_ledger_by_period_account_id__class_id__source_relation__period_first_day", "resource_type": "test", "package_name": "quickbooks", "path": "dbt_utils_unique_combination_o_0a48dd44c186da7424ff159ccab84782.sql", "original_file_path": "models/quickbooks.yml", "unique_id": "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__general_ledger_by_period_account_id__class_id__source_relation__period_first_day.d928e63a45", "fqn": ["quickbooks", "dbt_utils_unique_combination_of_columns_quickbooks__general_ledger_by_period_account_id__class_id__source_relation__period_first_day"], "alias": "dbt_utils_unique_combination_o_0a48dd44c186da7424ff159ccab84782", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_0a48dd44c186da7424ff159ccab84782", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_0a48dd44c186da7424ff159ccab84782"}, "created_at": 1730311927.934798, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_0a48dd44c186da7424ff159ccab84782\") }}", "language": "sql", "refs": [{"name": "quickbooks__general_ledger_by_period", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks.quickbooks__general_ledger_by_period"]}, "compiled_path": "target/compiled/quickbooks/models/quickbooks.yml/dbt_utils_unique_combination_o_0a48dd44c186da7424ff159ccab84782.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n account_id, class_id, source_relation, period_first_day\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"quickbooks__general_ledger_by_period\"\n group by account_id, class_id, source_relation, period_first_day\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.quickbooks__general_ledger_by_period", "attached_node": "model.quickbooks.quickbooks__general_ledger_by_period"}, "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__profit_and_loss_account_id__class_id__source_relation__calendar_date.77ccb375e5": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["account_id", "class_id", "source_relation", "calendar_date"], "model": "{{ get_where_subquery(ref('quickbooks__profit_and_loss')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_quickbooks__profit_and_loss_account_id__class_id__source_relation__calendar_date", "resource_type": "test", "package_name": "quickbooks", "path": "dbt_utils_unique_combination_o_38cb2bb3b2674af9b16f21b4893f2381.sql", "original_file_path": "models/quickbooks.yml", "unique_id": "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__profit_and_loss_account_id__class_id__source_relation__calendar_date.77ccb375e5", "fqn": ["quickbooks", "dbt_utils_unique_combination_of_columns_quickbooks__profit_and_loss_account_id__class_id__source_relation__calendar_date"], "alias": "dbt_utils_unique_combination_o_38cb2bb3b2674af9b16f21b4893f2381", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_38cb2bb3b2674af9b16f21b4893f2381", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_38cb2bb3b2674af9b16f21b4893f2381"}, "created_at": 1730311927.9378629, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_38cb2bb3b2674af9b16f21b4893f2381\") }}", "language": "sql", "refs": [{"name": "quickbooks__profit_and_loss", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks.quickbooks__profit_and_loss"]}, "compiled_path": "target/compiled/quickbooks/models/quickbooks.yml/dbt_utils_unique_combination_o_38cb2bb3b2674af9b16f21b4893f2381.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n account_id, class_id, source_relation, calendar_date\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"quickbooks__profit_and_loss\"\n group by account_id, class_id, source_relation, calendar_date\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.quickbooks__profit_and_loss", "attached_node": "model.quickbooks.quickbooks__profit_and_loss"}, "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__balance_sheet_account_id__source_relation__calendar_date__class_id.07368a5056": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["account_id", "source_relation", "calendar_date", "class_id"], "model": "{{ get_where_subquery(ref('quickbooks__balance_sheet')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_quickbooks__balance_sheet_account_id__source_relation__calendar_date__class_id", "resource_type": "test", "package_name": "quickbooks", "path": "dbt_utils_unique_combination_o_d31e4df682266e2f02d9bd2841445827.sql", "original_file_path": "models/quickbooks.yml", "unique_id": "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__balance_sheet_account_id__source_relation__calendar_date__class_id.07368a5056", "fqn": ["quickbooks", "dbt_utils_unique_combination_of_columns_quickbooks__balance_sheet_account_id__source_relation__calendar_date__class_id"], "alias": "dbt_utils_unique_combination_o_d31e4df682266e2f02d9bd2841445827", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_d31e4df682266e2f02d9bd2841445827", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_d31e4df682266e2f02d9bd2841445827"}, "created_at": 1730311927.9404328, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_d31e4df682266e2f02d9bd2841445827\") }}", "language": "sql", "refs": [{"name": "quickbooks__balance_sheet", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks.quickbooks__balance_sheet"]}, "compiled_path": "target/compiled/quickbooks/models/quickbooks.yml/dbt_utils_unique_combination_o_d31e4df682266e2f02d9bd2841445827.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n account_id, source_relation, calendar_date, class_id\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"quickbooks__balance_sheet\"\n group by account_id, source_relation, calendar_date, class_id\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.quickbooks__balance_sheet", "attached_node": "model.quickbooks.quickbooks__balance_sheet"}, "test.quickbooks_source.not_null_stg_quickbooks__account_account_id.9944488b9d": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "account_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__account')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__account_account_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__account_account_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__account_account_id.9944488b9d", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__account_account_id"], "alias": "not_null_stg_quickbooks__account_account_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.035691, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__account", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__account"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__account_account_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect account_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__account\"\nwhere account_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "account_id", "file_key_name": "models.stg_quickbooks__account", "attached_node": "model.quickbooks_source.stg_quickbooks__account"}, "test.quickbooks_source.accepted_values_stg_quickbooks__account_classification__Asset__Equity__Expense__Liability__Revenue.127506f73f": {"test_metadata": {"name": "accepted_values", "kwargs": {"values": ["Asset", "Equity", "Expense", "Liability", "Revenue"], "column_name": "classification", "model": "{{ get_where_subquery(ref('stg_quickbooks__account')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "accepted_values_stg_quickbooks__account_classification__Asset__Equity__Expense__Liability__Revenue", "resource_type": "test", "package_name": "quickbooks_source", "path": "accepted_values_stg_quickbooks_e07a6bf709efec96a0a6e115c0aeefe9.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.accepted_values_stg_quickbooks__account_classification__Asset__Equity__Expense__Liability__Revenue.127506f73f", "fqn": ["quickbooks_source", "accepted_values_stg_quickbooks__account_classification__Asset__Equity__Expense__Liability__Revenue"], "alias": "accepted_values_stg_quickbooks_e07a6bf709efec96a0a6e115c0aeefe9", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "accepted_values_stg_quickbooks_e07a6bf709efec96a0a6e115c0aeefe9", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "accepted_values_stg_quickbooks_e07a6bf709efec96a0a6e115c0aeefe9"}, "created_at": 1730311928.037683, "relation_name": null, "raw_code": "{{ test_accepted_values(**_dbt_generic_test_kwargs) }}{{ config(alias=\"accepted_values_stg_quickbooks_e07a6bf709efec96a0a6e115c0aeefe9\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__account", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_accepted_values", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__account"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/accepted_values_stg_quickbooks_e07a6bf709efec96a0a6e115c0aeefe9.sql", "compiled": true, "compiled_code": "\n \n \n\nwith all_values as (\n\n select\n classification as value_field,\n count(*) as n_records\n\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__account\"\n group by classification\n\n)\n\nselect *\nfrom all_values\nwhere value_field not in (\n 'Asset','Equity','Expense','Liability','Revenue'\n)\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "classification", "file_key_name": "models.stg_quickbooks__account", "attached_node": "model.quickbooks_source.stg_quickbooks__account"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__account_account_id__source_relation.864a4b056a": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["account_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__account')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__account_account_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_2c250fbd62d33682b7816cb52dfc3c29.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__account_account_id__source_relation.864a4b056a", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__account_account_id__source_relation"], "alias": "dbt_utils_unique_combination_o_2c250fbd62d33682b7816cb52dfc3c29", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_2c250fbd62d33682b7816cb52dfc3c29", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_2c250fbd62d33682b7816cb52dfc3c29"}, "created_at": 1730311928.043297, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_2c250fbd62d33682b7816cb52dfc3c29\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__account", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__account"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_2c250fbd62d33682b7816cb52dfc3c29.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n account_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__account\"\n group by account_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__account", "attached_node": "model.quickbooks_source.stg_quickbooks__account"}, "test.quickbooks_source.not_null_stg_quickbooks__address_address_id.4f100ae50c": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "address_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__address')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__address_address_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__address_address_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__address_address_id.4f100ae50c", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__address_address_id"], "alias": "not_null_stg_quickbooks__address_address_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.04598, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__address", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__address"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__address_address_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect address_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__address\"\nwhere address_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "address_id", "file_key_name": "models.stg_quickbooks__address", "attached_node": "model.quickbooks_source.stg_quickbooks__address"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__address_address_id__source_relation.5bc813a014": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["address_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__address')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__address_address_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_ea2ca4111a1d5463abe776e005c7d772.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__address_address_id__source_relation.5bc813a014", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__address_address_id__source_relation"], "alias": "dbt_utils_unique_combination_o_ea2ca4111a1d5463abe776e005c7d772", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ea2ca4111a1d5463abe776e005c7d772", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ea2ca4111a1d5463abe776e005c7d772"}, "created_at": 1730311928.0471911, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ea2ca4111a1d5463abe776e005c7d772\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__address", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__address"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_ea2ca4111a1d5463abe776e005c7d772.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n address_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__address\"\n group by address_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__address", "attached_node": "model.quickbooks_source.stg_quickbooks__address"}, "test.quickbooks_source.not_null_stg_quickbooks__bill_line_bill_id.25c5ea7348": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "bill_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__bill_line')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__bill_line_bill_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__bill_line_bill_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__bill_line_bill_id.25c5ea7348", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__bill_line_bill_id"], "alias": "not_null_stg_quickbooks__bill_line_bill_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.0495481, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__bill_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__bill_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__bill_line_bill_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect bill_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill_line\"\nwhere bill_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "bill_id", "file_key_name": "models.stg_quickbooks__bill_line", "attached_node": "model.quickbooks_source.stg_quickbooks__bill_line"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_line_bill_id__index__source_relation.73722b1062": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["bill_id", "index", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__bill_line')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_line_bill_id__index__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_bef323d83a6624b59a493fe8678153b1.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_line_bill_id__index__source_relation.73722b1062", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_line_bill_id__index__source_relation"], "alias": "dbt_utils_unique_combination_o_bef323d83a6624b59a493fe8678153b1", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_bef323d83a6624b59a493fe8678153b1", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_bef323d83a6624b59a493fe8678153b1"}, "created_at": 1730311928.050741, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_bef323d83a6624b59a493fe8678153b1\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__bill_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__bill_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_bef323d83a6624b59a493fe8678153b1.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n bill_id, index, source_relation\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill_line\"\n group by bill_id, index, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__bill_line", "attached_node": "model.quickbooks_source.stg_quickbooks__bill_line"}, "test.quickbooks_source.not_null_stg_quickbooks__bill_linked_txn_bill_id.35f96199bd": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "bill_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__bill_linked_txn')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__bill_linked_txn_bill_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__bill_linked_txn_bill_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__bill_linked_txn_bill_id.35f96199bd", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__bill_linked_txn_bill_id"], "alias": "not_null_stg_quickbooks__bill_linked_txn_bill_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.053071, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__bill_linked_txn", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__bill_linked_txn"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__bill_linked_txn_bill_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect bill_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill_linked_txn\"\nwhere bill_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "bill_id", "file_key_name": "models.stg_quickbooks__bill_linked_txn", "attached_node": "model.quickbooks_source.stg_quickbooks__bill_linked_txn"}, "test.quickbooks_source.not_null_stg_quickbooks__bill_payment_line_bill_payment_id.1dbb366150": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "bill_payment_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__bill_payment_line')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__bill_payment_line_bill_payment_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__bill_payment_line_bill_payment_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__bill_payment_line_bill_payment_id.1dbb366150", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__bill_payment_line_bill_payment_id"], "alias": "not_null_stg_quickbooks__bill_payment_line_bill_payment_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.054222, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__bill_payment_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__bill_payment_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__bill_payment_line_bill_payment_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect bill_payment_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill_payment_line\"\nwhere bill_payment_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "bill_payment_id", "file_key_name": "models.stg_quickbooks__bill_payment_line", "attached_node": "model.quickbooks_source.stg_quickbooks__bill_payment_line"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_payment_line_bill_payment_id__index__source_relation.0a7e17967c": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["bill_payment_id", "index", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__bill_payment_line')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_payment_line_bill_payment_id__index__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_487ae4ed3e6515e1119410b052e6f614.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_payment_line_bill_payment_id__index__source_relation.0a7e17967c", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_payment_line_bill_payment_id__index__source_relation"], "alias": "dbt_utils_unique_combination_o_487ae4ed3e6515e1119410b052e6f614", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_487ae4ed3e6515e1119410b052e6f614", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_487ae4ed3e6515e1119410b052e6f614"}, "created_at": 1730311928.05519, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_487ae4ed3e6515e1119410b052e6f614\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__bill_payment_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__bill_payment_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_487ae4ed3e6515e1119410b052e6f614.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n bill_payment_id, index, source_relation\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill_payment_line\"\n group by bill_payment_id, index, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__bill_payment_line", "attached_node": "model.quickbooks_source.stg_quickbooks__bill_payment_line"}, "test.quickbooks_source.not_null_stg_quickbooks__bill_payment_bill_payment_id.908899ccfb": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "bill_payment_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__bill_payment')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__bill_payment_bill_payment_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__bill_payment_bill_payment_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__bill_payment_bill_payment_id.908899ccfb", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__bill_payment_bill_payment_id"], "alias": "not_null_stg_quickbooks__bill_payment_bill_payment_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.0579782, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__bill_payment", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__bill_payment"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__bill_payment_bill_payment_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect bill_payment_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill_payment\"\nwhere bill_payment_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "bill_payment_id", "file_key_name": "models.stg_quickbooks__bill_payment", "attached_node": "model.quickbooks_source.stg_quickbooks__bill_payment"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_payment_bill_payment_id__source_relation.4b7aafd630": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["bill_payment_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__bill_payment')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_payment_bill_payment_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_c3c16cc237119d09c84e75057a9582ec.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_payment_bill_payment_id__source_relation.4b7aafd630", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_payment_bill_payment_id__source_relation"], "alias": "dbt_utils_unique_combination_o_c3c16cc237119d09c84e75057a9582ec", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_c3c16cc237119d09c84e75057a9582ec", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_c3c16cc237119d09c84e75057a9582ec"}, "created_at": 1730311928.059215, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_c3c16cc237119d09c84e75057a9582ec\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__bill_payment", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__bill_payment"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_c3c16cc237119d09c84e75057a9582ec.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n bill_payment_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill_payment\"\n group by bill_payment_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__bill_payment", "attached_node": "model.quickbooks_source.stg_quickbooks__bill_payment"}, "test.quickbooks_source.not_null_stg_quickbooks__bill_bill_id.ca717958c8": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "bill_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__bill')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__bill_bill_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__bill_bill_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__bill_bill_id.ca717958c8", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__bill_bill_id"], "alias": "not_null_stg_quickbooks__bill_bill_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.0621052, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__bill", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__bill"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__bill_bill_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect bill_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill\"\nwhere bill_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "bill_id", "file_key_name": "models.stg_quickbooks__bill", "attached_node": "model.quickbooks_source.stg_quickbooks__bill"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_bill_id__source_relation.8c08249abf": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["bill_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__bill')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_bill_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_c28ddd5789110418dc73ea10c40920f4.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_bill_id__source_relation.8c08249abf", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_bill_id__source_relation"], "alias": "dbt_utils_unique_combination_o_c28ddd5789110418dc73ea10c40920f4", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_c28ddd5789110418dc73ea10c40920f4", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_c28ddd5789110418dc73ea10c40920f4"}, "created_at": 1730311928.063139, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_c28ddd5789110418dc73ea10c40920f4\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__bill", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__bill"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_c28ddd5789110418dc73ea10c40920f4.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n bill_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bill\"\n group by bill_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__bill", "attached_node": "model.quickbooks_source.stg_quickbooks__bill"}, "test.quickbooks_source.not_null_stg_quickbooks__bundle_item_bundle_id.6d547b8c07": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "bundle_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__bundle_item')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__bundle_item_bundle_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__bundle_item_bundle_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__bundle_item_bundle_id.6d547b8c07", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__bundle_item_bundle_id"], "alias": "not_null_stg_quickbooks__bundle_item_bundle_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.0655549, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__bundle_item", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__bundle_item"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__bundle_item_bundle_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect bundle_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bundle_item\"\nwhere bundle_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "bundle_id", "file_key_name": "models.stg_quickbooks__bundle_item", "attached_node": "model.quickbooks_source.stg_quickbooks__bundle_item"}, "test.quickbooks_source.not_null_stg_quickbooks__bundle_bundle_id.382e1dad60": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "bundle_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__bundle')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__bundle_bundle_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__bundle_bundle_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__bundle_bundle_id.382e1dad60", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__bundle_bundle_id"], "alias": "not_null_stg_quickbooks__bundle_bundle_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.0669281, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__bundle", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__bundle"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__bundle_bundle_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect bundle_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bundle\"\nwhere bundle_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "bundle_id", "file_key_name": "models.stg_quickbooks__bundle", "attached_node": "model.quickbooks_source.stg_quickbooks__bundle"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bundle_bundle_id__source_relation.e241a21ebc": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["bundle_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__bundle')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__bundle_bundle_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_09730cf68ccfa2ddf1a0171abdbe7727.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bundle_bundle_id__source_relation.e241a21ebc", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__bundle_bundle_id__source_relation"], "alias": "dbt_utils_unique_combination_o_09730cf68ccfa2ddf1a0171abdbe7727", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_09730cf68ccfa2ddf1a0171abdbe7727", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_09730cf68ccfa2ddf1a0171abdbe7727"}, "created_at": 1730311928.06791, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_09730cf68ccfa2ddf1a0171abdbe7727\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__bundle", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__bundle"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_09730cf68ccfa2ddf1a0171abdbe7727.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n bundle_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__bundle\"\n group by bundle_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__bundle", "attached_node": "model.quickbooks_source.stg_quickbooks__bundle"}, "test.quickbooks_source.not_null_stg_quickbooks__credit_memo_line_credit_memo_id.58953be02b": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "credit_memo_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__credit_memo_line')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__credit_memo_line_credit_memo_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__credit_memo_line_credit_memo_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__credit_memo_line_credit_memo_id.58953be02b", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__credit_memo_line_credit_memo_id"], "alias": "not_null_stg_quickbooks__credit_memo_line_credit_memo_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.0703192, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__credit_memo_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__credit_memo_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__credit_memo_line_credit_memo_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect credit_memo_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__credit_memo_line\"\nwhere credit_memo_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "credit_memo_id", "file_key_name": "models.stg_quickbooks__credit_memo_line", "attached_node": "model.quickbooks_source.stg_quickbooks__credit_memo_line"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__credit_memo_line_credit_memo_id__index__source_relation.7a43f0e186": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["credit_memo_id", "index", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__credit_memo_line')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__credit_memo_line_credit_memo_id__index__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_d11c458ea2ce7f40d69dbe2502aff858.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__credit_memo_line_credit_memo_id__index__source_relation.7a43f0e186", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__credit_memo_line_credit_memo_id__index__source_relation"], "alias": "dbt_utils_unique_combination_o_d11c458ea2ce7f40d69dbe2502aff858", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_d11c458ea2ce7f40d69dbe2502aff858", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_d11c458ea2ce7f40d69dbe2502aff858"}, "created_at": 1730311928.071278, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_d11c458ea2ce7f40d69dbe2502aff858\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__credit_memo_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__credit_memo_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_d11c458ea2ce7f40d69dbe2502aff858.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n credit_memo_id, index, source_relation\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__credit_memo_line\"\n group by credit_memo_id, index, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__credit_memo_line", "attached_node": "model.quickbooks_source.stg_quickbooks__credit_memo_line"}, "test.quickbooks_source.not_null_stg_quickbooks__credit_memo_credit_memo_id.d921d2b152": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "credit_memo_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__credit_memo')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__credit_memo_credit_memo_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__credit_memo_credit_memo_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__credit_memo_credit_memo_id.d921d2b152", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__credit_memo_credit_memo_id"], "alias": "not_null_stg_quickbooks__credit_memo_credit_memo_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.073592, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__credit_memo", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__credit_memo"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__credit_memo_credit_memo_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect credit_memo_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__credit_memo\"\nwhere credit_memo_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "credit_memo_id", "file_key_name": "models.stg_quickbooks__credit_memo", "attached_node": "model.quickbooks_source.stg_quickbooks__credit_memo"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__credit_memo_credit_memo_id__source_relation.917f24c5ca": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["credit_memo_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__credit_memo')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__credit_memo_credit_memo_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_0370ab2c481d81737ad54a6b44ec7083.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__credit_memo_credit_memo_id__source_relation.917f24c5ca", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__credit_memo_credit_memo_id__source_relation"], "alias": "dbt_utils_unique_combination_o_0370ab2c481d81737ad54a6b44ec7083", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_0370ab2c481d81737ad54a6b44ec7083", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_0370ab2c481d81737ad54a6b44ec7083"}, "created_at": 1730311928.074555, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_0370ab2c481d81737ad54a6b44ec7083\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__credit_memo", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__credit_memo"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_0370ab2c481d81737ad54a6b44ec7083.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n credit_memo_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__credit_memo\"\n group by credit_memo_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__credit_memo", "attached_node": "model.quickbooks_source.stg_quickbooks__credit_memo"}, "test.quickbooks_source.not_null_stg_quickbooks__customer_customer_id.98232a9723": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "customer_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__customer')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__customer_customer_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__customer_customer_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__customer_customer_id.98232a9723", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__customer_customer_id"], "alias": "not_null_stg_quickbooks__customer_customer_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.0770361, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__customer", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__customer"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__customer_customer_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect customer_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__customer\"\nwhere customer_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "customer_id", "file_key_name": "models.stg_quickbooks__customer", "attached_node": "model.quickbooks_source.stg_quickbooks__customer"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__customer_customer_id__source_relation.61cc22a568": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["customer_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__customer')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__customer_customer_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_94a5b3ccc73a9f1372dd56afe4104c9a.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__customer_customer_id__source_relation.61cc22a568", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__customer_customer_id__source_relation"], "alias": "dbt_utils_unique_combination_o_94a5b3ccc73a9f1372dd56afe4104c9a", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_94a5b3ccc73a9f1372dd56afe4104c9a", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_94a5b3ccc73a9f1372dd56afe4104c9a"}, "created_at": 1730311928.078194, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_94a5b3ccc73a9f1372dd56afe4104c9a\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__customer", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__customer"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_94a5b3ccc73a9f1372dd56afe4104c9a.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n customer_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__customer\"\n group by customer_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__customer", "attached_node": "model.quickbooks_source.stg_quickbooks__customer"}, "test.quickbooks_source.not_null_stg_quickbooks__deposit_line_deposit_id.d615f463e1": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "deposit_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__deposit_line')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__deposit_line_deposit_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__deposit_line_deposit_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__deposit_line_deposit_id.d615f463e1", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__deposit_line_deposit_id"], "alias": "not_null_stg_quickbooks__deposit_line_deposit_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.08054, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__deposit_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__deposit_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__deposit_line_deposit_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect deposit_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__deposit_line\"\nwhere deposit_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "deposit_id", "file_key_name": "models.stg_quickbooks__deposit_line", "attached_node": "model.quickbooks_source.stg_quickbooks__deposit_line"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__deposit_line_deposit_id__index__source_relation.443de63985": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["deposit_id", "index", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__deposit_line')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__deposit_line_deposit_id__index__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_c925ee73881ebc194f9cd06282c3b48b.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__deposit_line_deposit_id__index__source_relation.443de63985", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__deposit_line_deposit_id__index__source_relation"], "alias": "dbt_utils_unique_combination_o_c925ee73881ebc194f9cd06282c3b48b", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_c925ee73881ebc194f9cd06282c3b48b", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_c925ee73881ebc194f9cd06282c3b48b"}, "created_at": 1730311928.0815098, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_c925ee73881ebc194f9cd06282c3b48b\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__deposit_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__deposit_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_c925ee73881ebc194f9cd06282c3b48b.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n deposit_id, index, source_relation\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__deposit_line\"\n group by deposit_id, index, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__deposit_line", "attached_node": "model.quickbooks_source.stg_quickbooks__deposit_line"}, "test.quickbooks_source.not_null_stg_quickbooks__deposit_deposit_id.880b8c37b1": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "deposit_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__deposit')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__deposit_deposit_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__deposit_deposit_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__deposit_deposit_id.880b8c37b1", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__deposit_deposit_id"], "alias": "not_null_stg_quickbooks__deposit_deposit_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.0836558, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__deposit", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__deposit"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__deposit_deposit_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect deposit_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__deposit\"\nwhere deposit_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "deposit_id", "file_key_name": "models.stg_quickbooks__deposit", "attached_node": "model.quickbooks_source.stg_quickbooks__deposit"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__deposit_deposit_id__source_relation.5574d8e908": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["deposit_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__deposit')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__deposit_deposit_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_092a258f34ac4a7fefe159e881ac39cb.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__deposit_deposit_id__source_relation.5574d8e908", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__deposit_deposit_id__source_relation"], "alias": "dbt_utils_unique_combination_o_092a258f34ac4a7fefe159e881ac39cb", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_092a258f34ac4a7fefe159e881ac39cb", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_092a258f34ac4a7fefe159e881ac39cb"}, "created_at": 1730311928.0850291, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_092a258f34ac4a7fefe159e881ac39cb\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__deposit", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__deposit"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_092a258f34ac4a7fefe159e881ac39cb.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n deposit_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__deposit\"\n group by deposit_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__deposit", "attached_node": "model.quickbooks_source.stg_quickbooks__deposit"}, "test.quickbooks_source.not_null_stg_quickbooks__estimate_estimate_id.0331d3c310": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "estimate_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__estimate')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__estimate_estimate_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__estimate_estimate_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__estimate_estimate_id.0331d3c310", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__estimate_estimate_id"], "alias": "not_null_stg_quickbooks__estimate_estimate_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.087484, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__estimate", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__estimate"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__estimate_estimate_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect estimate_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__estimate\"\nwhere estimate_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "estimate_id", "file_key_name": "models.stg_quickbooks__estimate", "attached_node": "model.quickbooks_source.stg_quickbooks__estimate"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__estimate_estimate_id__source_relation.412260b882": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["estimate_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__estimate')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__estimate_estimate_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_7bf162cb88029051f57dba3c7fb04a68.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__estimate_estimate_id__source_relation.412260b882", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__estimate_estimate_id__source_relation"], "alias": "dbt_utils_unique_combination_o_7bf162cb88029051f57dba3c7fb04a68", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_7bf162cb88029051f57dba3c7fb04a68", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_7bf162cb88029051f57dba3c7fb04a68"}, "created_at": 1730311928.0888839, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_7bf162cb88029051f57dba3c7fb04a68\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__estimate", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__estimate"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_7bf162cb88029051f57dba3c7fb04a68.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n estimate_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__estimate\"\n group by estimate_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__estimate", "attached_node": "model.quickbooks_source.stg_quickbooks__estimate"}, "test.quickbooks_source.not_null_stg_quickbooks__estimate_line_estimate_id.c060f99b4c": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "estimate_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__estimate_line')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__estimate_line_estimate_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__estimate_line_estimate_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__estimate_line_estimate_id.c060f99b4c", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__estimate_line_estimate_id"], "alias": "not_null_stg_quickbooks__estimate_line_estimate_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.091624, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__estimate_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__estimate_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__estimate_line_estimate_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect estimate_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__estimate_line\"\nwhere estimate_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "estimate_id", "file_key_name": "models.stg_quickbooks__estimate_line", "attached_node": "model.quickbooks_source.stg_quickbooks__estimate_line"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__estimate_line_estimate_id__index__source_relation.cc61ab0953": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["estimate_id", "index", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__estimate_line')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__estimate_line_estimate_id__index__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_32a21fecfc924c9112967c0151ed2e2a.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__estimate_line_estimate_id__index__source_relation.cc61ab0953", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__estimate_line_estimate_id__index__source_relation"], "alias": "dbt_utils_unique_combination_o_32a21fecfc924c9112967c0151ed2e2a", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_32a21fecfc924c9112967c0151ed2e2a", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_32a21fecfc924c9112967c0151ed2e2a"}, "created_at": 1730311928.092927, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_32a21fecfc924c9112967c0151ed2e2a\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__estimate_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__estimate_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_32a21fecfc924c9112967c0151ed2e2a.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n estimate_id, index, source_relation\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__estimate_line\"\n group by estimate_id, index, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__estimate_line", "attached_node": "model.quickbooks_source.stg_quickbooks__estimate_line"}, "test.quickbooks_source.not_null_stg_quickbooks__invoice_linked_txn_invoice_id.c9b9c8f8f4": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "invoice_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__invoice_linked_txn')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__invoice_linked_txn_invoice_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__invoice_linked_txn_invoice_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__invoice_linked_txn_invoice_id.c9b9c8f8f4", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__invoice_linked_txn_invoice_id"], "alias": "not_null_stg_quickbooks__invoice_linked_txn_invoice_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.0957298, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__invoice_linked_txn", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__invoice_linked_txn"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__invoice_linked_txn_invoice_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect invoice_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__invoice_linked_txn\"\nwhere invoice_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "invoice_id", "file_key_name": "models.stg_quickbooks__invoice_linked_txn", "attached_node": "model.quickbooks_source.stg_quickbooks__invoice_linked_txn"}, "test.quickbooks_source.not_null_stg_quickbooks__invoice_line_invoice_id.0424087a8f": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "invoice_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__invoice_line')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__invoice_line_invoice_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__invoice_line_invoice_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__invoice_line_invoice_id.0424087a8f", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__invoice_line_invoice_id"], "alias": "not_null_stg_quickbooks__invoice_line_invoice_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.097037, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__invoice_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__invoice_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__invoice_line_invoice_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect invoice_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__invoice_line\"\nwhere invoice_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "invoice_id", "file_key_name": "models.stg_quickbooks__invoice_line", "attached_node": "model.quickbooks_source.stg_quickbooks__invoice_line"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_line_invoice_id__index__source_relation.99b74bc327": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["invoice_id", "index", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__invoice_line')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_line_invoice_id__index__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_c6315f3241abd1bacbc31091d17954d0.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_line_invoice_id__index__source_relation.99b74bc327", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_line_invoice_id__index__source_relation"], "alias": "dbt_utils_unique_combination_o_c6315f3241abd1bacbc31091d17954d0", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_c6315f3241abd1bacbc31091d17954d0", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_c6315f3241abd1bacbc31091d17954d0"}, "created_at": 1730311928.0982459, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_c6315f3241abd1bacbc31091d17954d0\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__invoice_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__invoice_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_c6315f3241abd1bacbc31091d17954d0.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n invoice_id, index, source_relation\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__invoice_line\"\n group by invoice_id, index, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__invoice_line", "attached_node": "model.quickbooks_source.stg_quickbooks__invoice_line"}, "test.quickbooks_source.not_null_stg_quickbooks__invoice_line_bundle_invoice_id.cfd59b83a9": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "invoice_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__invoice_line_bundle')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__invoice_line_bundle_invoice_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__invoice_line_bundle_invoice_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__invoice_line_bundle_invoice_id.cfd59b83a9", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__invoice_line_bundle_invoice_id"], "alias": "not_null_stg_quickbooks__invoice_line_bundle_invoice_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.100992, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__invoice_line_bundle", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__invoice_line_bundle"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__invoice_line_bundle_invoice_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect invoice_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__invoice_line_bundle\"\nwhere invoice_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "invoice_id", "file_key_name": "models.stg_quickbooks__invoice_line_bundle", "attached_node": "model.quickbooks_source.stg_quickbooks__invoice_line_bundle"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_line_bundle_invoice_id__index__invoice_line_index__source_relation.5370e9fcd0": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["invoice_id", "index", "invoice_line_index", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__invoice_line_bundle')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_line_bundle_invoice_id__index__invoice_line_index__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_50efaaff0f1b2a391c218200ac15163a.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_line_bundle_invoice_id__index__invoice_line_index__source_relation.5370e9fcd0", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_line_bundle_invoice_id__index__invoice_line_index__source_relation"], "alias": "dbt_utils_unique_combination_o_50efaaff0f1b2a391c218200ac15163a", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_50efaaff0f1b2a391c218200ac15163a", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_50efaaff0f1b2a391c218200ac15163a"}, "created_at": 1730311928.10223, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_50efaaff0f1b2a391c218200ac15163a\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__invoice_line_bundle", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__invoice_line_bundle"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_50efaaff0f1b2a391c218200ac15163a.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n invoice_id, index, invoice_line_index, source_relation\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__invoice_line_bundle\"\n group by invoice_id, index, invoice_line_index, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__invoice_line_bundle", "attached_node": "model.quickbooks_source.stg_quickbooks__invoice_line_bundle"}, "test.quickbooks_source.not_null_stg_quickbooks__invoice_invoice_id.b6d8e1ad7d": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "invoice_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__invoice')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__invoice_invoice_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__invoice_invoice_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__invoice_invoice_id.b6d8e1ad7d", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__invoice_invoice_id"], "alias": "not_null_stg_quickbooks__invoice_invoice_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.104894, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__invoice", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__invoice"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__invoice_invoice_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect invoice_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__invoice\"\nwhere invoice_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "invoice_id", "file_key_name": "models.stg_quickbooks__invoice", "attached_node": "model.quickbooks_source.stg_quickbooks__invoice"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_invoice_id__source_relation.ef51800044": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["invoice_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__invoice')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_invoice_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_319edd8e021d4717bac9384ad54afc4c.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_invoice_id__source_relation.ef51800044", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_invoice_id__source_relation"], "alias": "dbt_utils_unique_combination_o_319edd8e021d4717bac9384ad54afc4c", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_319edd8e021d4717bac9384ad54afc4c", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_319edd8e021d4717bac9384ad54afc4c"}, "created_at": 1730311928.106101, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_319edd8e021d4717bac9384ad54afc4c\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__invoice", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__invoice"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_319edd8e021d4717bac9384ad54afc4c.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n invoice_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__invoice\"\n group by invoice_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__invoice", "attached_node": "model.quickbooks_source.stg_quickbooks__invoice"}, "test.quickbooks_source.not_null_stg_quickbooks__item_item_id.da906d8fb9": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "item_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__item')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__item_item_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__item_item_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__item_item_id.da906d8fb9", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__item_item_id"], "alias": "not_null_stg_quickbooks__item_item_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.1091, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__item", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__item"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__item_item_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect item_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__item\"\nwhere item_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "item_id", "file_key_name": "models.stg_quickbooks__item", "attached_node": "model.quickbooks_source.stg_quickbooks__item"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__item_item_id__source_relation.169465a2a6": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["item_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__item')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__item_item_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_7426c41960b95c9389dbbbc54a1cf5d5.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__item_item_id__source_relation.169465a2a6", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__item_item_id__source_relation"], "alias": "dbt_utils_unique_combination_o_7426c41960b95c9389dbbbc54a1cf5d5", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_7426c41960b95c9389dbbbc54a1cf5d5", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_7426c41960b95c9389dbbbc54a1cf5d5"}, "created_at": 1730311928.110365, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_7426c41960b95c9389dbbbc54a1cf5d5\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__item", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__item"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_7426c41960b95c9389dbbbc54a1cf5d5.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n item_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__item\"\n group by item_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__item", "attached_node": "model.quickbooks_source.stg_quickbooks__item"}, "test.quickbooks_source.not_null_stg_quickbooks__journal_entry_line_journal_entry_id.bd89a6f784": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "journal_entry_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__journal_entry_line')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__journal_entry_line_journal_entry_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__journal_entry_line_journal_entry_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__journal_entry_line_journal_entry_id.bd89a6f784", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__journal_entry_line_journal_entry_id"], "alias": "not_null_stg_quickbooks__journal_entry_line_journal_entry_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.113044, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__journal_entry_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__journal_entry_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__journal_entry_line_journal_entry_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect journal_entry_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__journal_entry_line\"\nwhere journal_entry_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "journal_entry_id", "file_key_name": "models.stg_quickbooks__journal_entry_line", "attached_node": "model.quickbooks_source.stg_quickbooks__journal_entry_line"}, "test.quickbooks_source.accepted_values_stg_quickbooks__journal_entry_line_posting_type__Credit__Debit.ab661907c3": {"test_metadata": {"name": "accepted_values", "kwargs": {"values": ["Credit", "Debit"], "column_name": "posting_type", "model": "{{ get_where_subquery(ref('stg_quickbooks__journal_entry_line')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "accepted_values_stg_quickbooks__journal_entry_line_posting_type__Credit__Debit", "resource_type": "test", "package_name": "quickbooks_source", "path": "accepted_values_stg_quickbooks_b036fbffbcb85c40f92072d6f5f9ff55.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.accepted_values_stg_quickbooks__journal_entry_line_posting_type__Credit__Debit.ab661907c3", "fqn": ["quickbooks_source", "accepted_values_stg_quickbooks__journal_entry_line_posting_type__Credit__Debit"], "alias": "accepted_values_stg_quickbooks_b036fbffbcb85c40f92072d6f5f9ff55", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "accepted_values_stg_quickbooks_b036fbffbcb85c40f92072d6f5f9ff55", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "accepted_values_stg_quickbooks_b036fbffbcb85c40f92072d6f5f9ff55"}, "created_at": 1730311928.114157, "relation_name": null, "raw_code": "{{ test_accepted_values(**_dbt_generic_test_kwargs) }}{{ config(alias=\"accepted_values_stg_quickbooks_b036fbffbcb85c40f92072d6f5f9ff55\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__journal_entry_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_accepted_values", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__journal_entry_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/accepted_values_stg_quickbooks_b036fbffbcb85c40f92072d6f5f9ff55.sql", "compiled": true, "compiled_code": "\n \n \n\nwith all_values as (\n\n select\n posting_type as value_field,\n count(*) as n_records\n\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__journal_entry_line\"\n group by posting_type\n\n)\n\nselect *\nfrom all_values\nwhere value_field not in (\n 'Credit','Debit'\n)\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "posting_type", "file_key_name": "models.stg_quickbooks__journal_entry_line", "attached_node": "model.quickbooks_source.stg_quickbooks__journal_entry_line"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__journal_entry_line_journal_entry_id__index__source_relation.0cd1d9f232": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["journal_entry_id", "index", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__journal_entry_line')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__journal_entry_line_journal_entry_id__index__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_4c8432634b226965133f1e7c71701fee.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__journal_entry_line_journal_entry_id__index__source_relation.0cd1d9f232", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__journal_entry_line_journal_entry_id__index__source_relation"], "alias": "dbt_utils_unique_combination_o_4c8432634b226965133f1e7c71701fee", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_4c8432634b226965133f1e7c71701fee", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_4c8432634b226965133f1e7c71701fee"}, "created_at": 1730311928.116683, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_4c8432634b226965133f1e7c71701fee\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__journal_entry_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__journal_entry_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_4c8432634b226965133f1e7c71701fee.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n journal_entry_id, index, source_relation\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__journal_entry_line\"\n group by journal_entry_id, index, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__journal_entry_line", "attached_node": "model.quickbooks_source.stg_quickbooks__journal_entry_line"}, "test.quickbooks_source.not_null_stg_quickbooks__journal_entry_journal_entry_id.39198c4ff2": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "journal_entry_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__journal_entry')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__journal_entry_journal_entry_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__journal_entry_journal_entry_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__journal_entry_journal_entry_id.39198c4ff2", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__journal_entry_journal_entry_id"], "alias": "not_null_stg_quickbooks__journal_entry_journal_entry_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.119777, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__journal_entry", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__journal_entry"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__journal_entry_journal_entry_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect journal_entry_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__journal_entry\"\nwhere journal_entry_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "journal_entry_id", "file_key_name": "models.stg_quickbooks__journal_entry", "attached_node": "model.quickbooks_source.stg_quickbooks__journal_entry"}, "test.quickbooks_source.not_null_stg_quickbooks__payment_line_payment_id.6351e3fe26": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "payment_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__payment_line')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__payment_line_payment_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__payment_line_payment_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__payment_line_payment_id.6351e3fe26", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__payment_line_payment_id"], "alias": "not_null_stg_quickbooks__payment_line_payment_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.121026, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__payment_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__payment_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__payment_line_payment_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect payment_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__payment_line\"\nwhere payment_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "payment_id", "file_key_name": "models.stg_quickbooks__payment_line", "attached_node": "model.quickbooks_source.stg_quickbooks__payment_line"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__payment_line_payment_id__index__source_relation.25be3cf2e5": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["payment_id", "index", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__payment_line')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__payment_line_payment_id__index__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_7392e0f7492547c3f7fdf460f4541625.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__payment_line_payment_id__index__source_relation.25be3cf2e5", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__payment_line_payment_id__index__source_relation"], "alias": "dbt_utils_unique_combination_o_7392e0f7492547c3f7fdf460f4541625", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_7392e0f7492547c3f7fdf460f4541625", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_7392e0f7492547c3f7fdf460f4541625"}, "created_at": 1730311928.1220858, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_7392e0f7492547c3f7fdf460f4541625\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__payment_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__payment_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_7392e0f7492547c3f7fdf460f4541625.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n payment_id, index, source_relation\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__payment_line\"\n group by payment_id, index, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__payment_line", "attached_node": "model.quickbooks_source.stg_quickbooks__payment_line"}, "test.quickbooks_source.not_null_stg_quickbooks__payment_payment_id.ca2c1ef54f": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "payment_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__payment')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__payment_payment_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__payment_payment_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__payment_payment_id.ca2c1ef54f", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__payment_payment_id"], "alias": "not_null_stg_quickbooks__payment_payment_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.124959, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__payment", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__payment"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__payment_payment_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect payment_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__payment\"\nwhere payment_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "payment_id", "file_key_name": "models.stg_quickbooks__payment", "attached_node": "model.quickbooks_source.stg_quickbooks__payment"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__payment_payment_id__source_relation.1998a8282e": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["payment_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__payment')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__payment_payment_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_f2adbcdbbcee8d760b8061840cafa557.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__payment_payment_id__source_relation.1998a8282e", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__payment_payment_id__source_relation"], "alias": "dbt_utils_unique_combination_o_f2adbcdbbcee8d760b8061840cafa557", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_f2adbcdbbcee8d760b8061840cafa557", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_f2adbcdbbcee8d760b8061840cafa557"}, "created_at": 1730311928.125918, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_f2adbcdbbcee8d760b8061840cafa557\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__payment", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__payment"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_f2adbcdbbcee8d760b8061840cafa557.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n payment_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__payment\"\n group by payment_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__payment", "attached_node": "model.quickbooks_source.stg_quickbooks__payment"}, "test.quickbooks_source.not_null_stg_quickbooks__purchase_line_purchase_id.5406fca79c": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "purchase_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__purchase_line')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__purchase_line_purchase_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__purchase_line_purchase_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__purchase_line_purchase_id.5406fca79c", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__purchase_line_purchase_id"], "alias": "not_null_stg_quickbooks__purchase_line_purchase_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.128841, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__purchase_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__purchase_line_purchase_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect purchase_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__purchase_line\"\nwhere purchase_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "purchase_id", "file_key_name": "models.stg_quickbooks__purchase_line", "attached_node": "model.quickbooks_source.stg_quickbooks__purchase_line"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_line_purchase_id__index__source_relation.a23c661eb5": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["purchase_id", "index", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__purchase_line')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_line_purchase_id__index__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_af6a2ae9538ebdc44c401715aaef9153.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_line_purchase_id__index__source_relation.a23c661eb5", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_line_purchase_id__index__source_relation"], "alias": "dbt_utils_unique_combination_o_af6a2ae9538ebdc44c401715aaef9153", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_af6a2ae9538ebdc44c401715aaef9153", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_af6a2ae9538ebdc44c401715aaef9153"}, "created_at": 1730311928.129985, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_af6a2ae9538ebdc44c401715aaef9153\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__purchase_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_af6a2ae9538ebdc44c401715aaef9153.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n purchase_id, index, source_relation\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__purchase_line\"\n group by purchase_id, index, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__purchase_line", "attached_node": "model.quickbooks_source.stg_quickbooks__purchase_line"}, "test.quickbooks_source.not_null_stg_quickbooks__purchase_purchase_id.fc2090959b": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "purchase_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__purchase')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__purchase_purchase_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__purchase_purchase_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__purchase_purchase_id.fc2090959b", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__purchase_purchase_id"], "alias": "not_null_stg_quickbooks__purchase_purchase_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.132353, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__purchase"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__purchase_purchase_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect purchase_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__purchase\"\nwhere purchase_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "purchase_id", "file_key_name": "models.stg_quickbooks__purchase", "attached_node": "model.quickbooks_source.stg_quickbooks__purchase"}, "test.quickbooks_source.accepted_values_stg_quickbooks__purchase_payment_type__Cash__Check__CreditCard.7de7edf458": {"test_metadata": {"name": "accepted_values", "kwargs": {"values": ["Cash", "Check", "CreditCard"], "column_name": "payment_type", "model": "{{ get_where_subquery(ref('stg_quickbooks__purchase')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "accepted_values_stg_quickbooks__purchase_payment_type__Cash__Check__CreditCard", "resource_type": "test", "package_name": "quickbooks_source", "path": "accepted_values_stg_quickbooks_b3d99f90b13d6a36cf512ed42db44216.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.accepted_values_stg_quickbooks__purchase_payment_type__Cash__Check__CreditCard.7de7edf458", "fqn": ["quickbooks_source", "accepted_values_stg_quickbooks__purchase_payment_type__Cash__Check__CreditCard"], "alias": "accepted_values_stg_quickbooks_b3d99f90b13d6a36cf512ed42db44216", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "accepted_values_stg_quickbooks_b3d99f90b13d6a36cf512ed42db44216", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "accepted_values_stg_quickbooks_b3d99f90b13d6a36cf512ed42db44216"}, "created_at": 1730311928.1333098, "relation_name": null, "raw_code": "{{ test_accepted_values(**_dbt_generic_test_kwargs) }}{{ config(alias=\"accepted_values_stg_quickbooks_b3d99f90b13d6a36cf512ed42db44216\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_accepted_values", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__purchase"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/accepted_values_stg_quickbooks_b3d99f90b13d6a36cf512ed42db44216.sql", "compiled": true, "compiled_code": "\n \n \n\nwith all_values as (\n\n select\n payment_type as value_field,\n count(*) as n_records\n\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__purchase\"\n group by payment_type\n\n)\n\nselect *\nfrom all_values\nwhere value_field not in (\n 'Cash','Check','CreditCard'\n)\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "payment_type", "file_key_name": "models.stg_quickbooks__purchase", "attached_node": "model.quickbooks_source.stg_quickbooks__purchase"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_purchase_id__source_relation.172340b49e": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["purchase_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__purchase')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_purchase_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_386d04b86fca1a7980db6f9572202563.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_purchase_id__source_relation.172340b49e", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_purchase_id__source_relation"], "alias": "dbt_utils_unique_combination_o_386d04b86fca1a7980db6f9572202563", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_386d04b86fca1a7980db6f9572202563", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_386d04b86fca1a7980db6f9572202563"}, "created_at": 1730311928.136279, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_386d04b86fca1a7980db6f9572202563\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__purchase"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_386d04b86fca1a7980db6f9572202563.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n purchase_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__purchase\"\n group by purchase_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__purchase", "attached_node": "model.quickbooks_source.stg_quickbooks__purchase"}, "test.quickbooks_source.not_null_stg_quickbooks__purchase_order_line_purchase_order_id.210718c1c7": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "purchase_order_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__purchase_order_line')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__purchase_order_line_purchase_order_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__purchase_order_line_purchase_order_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__purchase_order_line_purchase_order_id.210718c1c7", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__purchase_order_line_purchase_order_id"], "alias": "not_null_stg_quickbooks__purchase_order_line_purchase_order_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.1387389, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase_order_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "purchase_order_id", "file_key_name": "models.stg_quickbooks__purchase_order_line", "attached_node": "model.quickbooks_source.stg_quickbooks__purchase_order_line"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_order_line_purchase_order_id__index__source_relation.e47fe7ae13": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["purchase_order_id", "index", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__purchase_order_line')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_order_line_purchase_order_id__index__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_3ba099633a523f1dc8a259e210e71943.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_order_line_purchase_order_id__index__source_relation.e47fe7ae13", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_order_line_purchase_order_id__index__source_relation"], "alias": "dbt_utils_unique_combination_o_3ba099633a523f1dc8a259e210e71943", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": false, "alias": "dbt_utils_unique_combination_o_3ba099633a523f1dc8a259e210e71943", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_3ba099633a523f1dc8a259e210e71943"}, "created_at": 1730311928.13969, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_3ba099633a523f1dc8a259e210e71943\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase_order_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__purchase_order_line", "attached_node": "model.quickbooks_source.stg_quickbooks__purchase_order_line"}, "test.quickbooks_source.not_null_stg_quickbooks__purchase_order_linked_txn_purchase_order_id.d9f0186f4e": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "purchase_order_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__purchase_order_linked_txn')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__purchase_order_linked_txn_purchase_order_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__purch_f65b0771229ffce1e0cec6cb8fa708f1.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__purchase_order_linked_txn_purchase_order_id.d9f0186f4e", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__purchase_order_linked_txn_purchase_order_id"], "alias": "not_null_stg_quickbooks__purch_f65b0771229ffce1e0cec6cb8fa708f1", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": false, "alias": "not_null_stg_quickbooks__purch_f65b0771229ffce1e0cec6cb8fa708f1", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "not_null_stg_quickbooks__purch_f65b0771229ffce1e0cec6cb8fa708f1"}, "created_at": 1730311928.1420312, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_quickbooks__purch_f65b0771229ffce1e0cec6cb8fa708f1\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase_order_linked_txn", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "purchase_order_id", "file_key_name": "models.stg_quickbooks__purchase_order_linked_txn", "attached_node": "model.quickbooks_source.stg_quickbooks__purchase_order_linked_txn"}, "test.quickbooks_source.not_null_stg_quickbooks__purchase_order_purchase_order_id.4158032222": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "purchase_order_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__purchase_order')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__purchase_order_purchase_order_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__purchase_order_purchase_order_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__purchase_order_purchase_order_id.4158032222", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__purchase_order_purchase_order_id"], "alias": "not_null_stg_quickbooks__purchase_order_purchase_order_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.142987, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase_order", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "purchase_order_id", "file_key_name": "models.stg_quickbooks__purchase_order", "attached_node": "model.quickbooks_source.stg_quickbooks__purchase_order"}, "test.quickbooks_source.accepted_values_stg_quickbooks__purchase_order_status__Open__Closed.a86f736065": {"test_metadata": {"name": "accepted_values", "kwargs": {"values": ["Open", "Closed"], "column_name": "status", "model": "{{ get_where_subquery(ref('stg_quickbooks__purchase_order')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "accepted_values_stg_quickbooks__purchase_order_status__Open__Closed", "resource_type": "test", "package_name": "quickbooks_source", "path": "accepted_values_stg_quickbooks_b59f9d5f36eebc1dfce3c2fd46711614.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.accepted_values_stg_quickbooks__purchase_order_status__Open__Closed.a86f736065", "fqn": ["quickbooks_source", "accepted_values_stg_quickbooks__purchase_order_status__Open__Closed"], "alias": "accepted_values_stg_quickbooks_b59f9d5f36eebc1dfce3c2fd46711614", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": false, "alias": "accepted_values_stg_quickbooks_b59f9d5f36eebc1dfce3c2fd46711614", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "accepted_values_stg_quickbooks_b59f9d5f36eebc1dfce3c2fd46711614"}, "created_at": 1730311928.143944, "relation_name": null, "raw_code": "{{ test_accepted_values(**_dbt_generic_test_kwargs) }}{{ config(alias=\"accepted_values_stg_quickbooks_b59f9d5f36eebc1dfce3c2fd46711614\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase_order", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_accepted_values", "macro.dbt.get_where_subquery"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "status", "file_key_name": "models.stg_quickbooks__purchase_order", "attached_node": "model.quickbooks_source.stg_quickbooks__purchase_order"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_order_purchase_order_id__source_relation.1ade9ebad8": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["purchase_order_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__purchase_order')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_order_purchase_order_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_8808ebb4f985933b6458aa95672f633d.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_order_purchase_order_id__source_relation.1ade9ebad8", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_order_purchase_order_id__source_relation"], "alias": "dbt_utils_unique_combination_o_8808ebb4f985933b6458aa95672f633d", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": false, "alias": "dbt_utils_unique_combination_o_8808ebb4f985933b6458aa95672f633d", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_8808ebb4f985933b6458aa95672f633d"}, "created_at": 1730311928.146581, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_8808ebb4f985933b6458aa95672f633d\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase_order", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__purchase_order", "attached_node": "model.quickbooks_source.stg_quickbooks__purchase_order"}, "test.quickbooks_source.not_null_stg_quickbooks__refund_receipt_line_refund_id.57df809b80": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "refund_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__refund_receipt_line')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__refund_receipt_line_refund_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__refund_receipt_line_refund_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__refund_receipt_line_refund_id.57df809b80", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__refund_receipt_line_refund_id"], "alias": "not_null_stg_quickbooks__refund_receipt_line_refund_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.149301, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__refund_receipt_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__refund_receipt_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__refund_receipt_line_refund_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect refund_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__refund_receipt_line\"\nwhere refund_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "refund_id", "file_key_name": "models.stg_quickbooks__refund_receipt_line", "attached_node": "model.quickbooks_source.stg_quickbooks__refund_receipt_line"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__refund_receipt_line_refund_id__index__source_relation.614411eb40": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["refund_id", "index", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__refund_receipt_line')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__refund_receipt_line_refund_id__index__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_0576ca2d4762e19d78b83d83ac2c0576.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__refund_receipt_line_refund_id__index__source_relation.614411eb40", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__refund_receipt_line_refund_id__index__source_relation"], "alias": "dbt_utils_unique_combination_o_0576ca2d4762e19d78b83d83ac2c0576", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_0576ca2d4762e19d78b83d83ac2c0576", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_0576ca2d4762e19d78b83d83ac2c0576"}, "created_at": 1730311928.1506, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_0576ca2d4762e19d78b83d83ac2c0576\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__refund_receipt_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__refund_receipt_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_0576ca2d4762e19d78b83d83ac2c0576.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n refund_id, index, source_relation\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__refund_receipt_line\"\n group by refund_id, index, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__refund_receipt_line", "attached_node": "model.quickbooks_source.stg_quickbooks__refund_receipt_line"}, "test.quickbooks_source.not_null_stg_quickbooks__refund_receipt_refund_id.29e8a8216e": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "refund_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__refund_receipt')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__refund_receipt_refund_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__refund_receipt_refund_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__refund_receipt_refund_id.29e8a8216e", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__refund_receipt_refund_id"], "alias": "not_null_stg_quickbooks__refund_receipt_refund_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.153108, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__refund_receipt", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__refund_receipt"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__refund_receipt_refund_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect refund_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__refund_receipt\"\nwhere refund_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "refund_id", "file_key_name": "models.stg_quickbooks__refund_receipt", "attached_node": "model.quickbooks_source.stg_quickbooks__refund_receipt"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__refund_receipt_refund_id__source_relation.60f976841d": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["refund_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__refund_receipt')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__refund_receipt_refund_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_98a0d08c840b3e48e476b15f4128e605.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__refund_receipt_refund_id__source_relation.60f976841d", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__refund_receipt_refund_id__source_relation"], "alias": "dbt_utils_unique_combination_o_98a0d08c840b3e48e476b15f4128e605", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_98a0d08c840b3e48e476b15f4128e605", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_98a0d08c840b3e48e476b15f4128e605"}, "created_at": 1730311928.154439, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_98a0d08c840b3e48e476b15f4128e605\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__refund_receipt", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__refund_receipt"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_98a0d08c840b3e48e476b15f4128e605.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n refund_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__refund_receipt\"\n group by refund_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__refund_receipt", "attached_node": "model.quickbooks_source.stg_quickbooks__refund_receipt"}, "test.quickbooks_source.not_null_stg_quickbooks__sales_receipt_line_sales_receipt_id.9be0667fc3": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "sales_receipt_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__sales_receipt_line')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__sales_receipt_line_sales_receipt_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__sales_receipt_line_sales_receipt_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__sales_receipt_line_sales_receipt_id.9be0667fc3", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__sales_receipt_line_sales_receipt_id"], "alias": "not_null_stg_quickbooks__sales_receipt_line_sales_receipt_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.156704, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__sales_receipt_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__sales_receipt_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__sales_receipt_line_sales_receipt_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect sales_receipt_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__sales_receipt_line\"\nwhere sales_receipt_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "sales_receipt_id", "file_key_name": "models.stg_quickbooks__sales_receipt_line", "attached_node": "model.quickbooks_source.stg_quickbooks__sales_receipt_line"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__sales_receipt_line_sales_receipt_id__index__source_relation.20e80dcbd5": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["sales_receipt_id", "index", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__sales_receipt_line')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__sales_receipt_line_sales_receipt_id__index__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_3c761efd9d55d2e81605c5aa8b69c899.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__sales_receipt_line_sales_receipt_id__index__source_relation.20e80dcbd5", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__sales_receipt_line_sales_receipt_id__index__source_relation"], "alias": "dbt_utils_unique_combination_o_3c761efd9d55d2e81605c5aa8b69c899", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_3c761efd9d55d2e81605c5aa8b69c899", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_3c761efd9d55d2e81605c5aa8b69c899"}, "created_at": 1730311928.158085, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_3c761efd9d55d2e81605c5aa8b69c899\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__sales_receipt_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__sales_receipt_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_3c761efd9d55d2e81605c5aa8b69c899.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n sales_receipt_id, index, source_relation\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__sales_receipt_line\"\n group by sales_receipt_id, index, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__sales_receipt_line", "attached_node": "model.quickbooks_source.stg_quickbooks__sales_receipt_line"}, "test.quickbooks_source.not_null_stg_quickbooks__sales_receipt_sales_receipt_id.b97c1a238a": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "sales_receipt_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__sales_receipt')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__sales_receipt_sales_receipt_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__sales_receipt_sales_receipt_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__sales_receipt_sales_receipt_id.b97c1a238a", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__sales_receipt_sales_receipt_id"], "alias": "not_null_stg_quickbooks__sales_receipt_sales_receipt_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.1607838, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__sales_receipt", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__sales_receipt"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__sales_receipt_sales_receipt_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect sales_receipt_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__sales_receipt\"\nwhere sales_receipt_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "sales_receipt_id", "file_key_name": "models.stg_quickbooks__sales_receipt", "attached_node": "model.quickbooks_source.stg_quickbooks__sales_receipt"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__sales_receipt_sales_receipt_id__source_relation.36bdbcffde": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["sales_receipt_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__sales_receipt')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__sales_receipt_sales_receipt_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_8270165597a02c4fdee4d5d05b75b03d.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__sales_receipt_sales_receipt_id__source_relation.36bdbcffde", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__sales_receipt_sales_receipt_id__source_relation"], "alias": "dbt_utils_unique_combination_o_8270165597a02c4fdee4d5d05b75b03d", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_8270165597a02c4fdee4d5d05b75b03d", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_8270165597a02c4fdee4d5d05b75b03d"}, "created_at": 1730311928.161997, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_8270165597a02c4fdee4d5d05b75b03d\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__sales_receipt", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__sales_receipt"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_8270165597a02c4fdee4d5d05b75b03d.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n sales_receipt_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__sales_receipt\"\n group by sales_receipt_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__sales_receipt", "attached_node": "model.quickbooks_source.stg_quickbooks__sales_receipt"}, "test.quickbooks_source.not_null_stg_quickbooks__transfer_transfer_id.c1c80a253c": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "transfer_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__transfer')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__transfer_transfer_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__transfer_transfer_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__transfer_transfer_id.c1c80a253c", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__transfer_transfer_id"], "alias": "not_null_stg_quickbooks__transfer_transfer_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.1644878, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__transfer", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__transfer"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__transfer_transfer_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect transfer_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__transfer\"\nwhere transfer_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "transfer_id", "file_key_name": "models.stg_quickbooks__transfer", "attached_node": "model.quickbooks_source.stg_quickbooks__transfer"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__transfer_transfer_id__source_relation.bfa4c7345e": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["transfer_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__transfer')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__transfer_transfer_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_2c8c7ac1eb8b4669ad2cee7a8f4ed233.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__transfer_transfer_id__source_relation.bfa4c7345e", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__transfer_transfer_id__source_relation"], "alias": "dbt_utils_unique_combination_o_2c8c7ac1eb8b4669ad2cee7a8f4ed233", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_2c8c7ac1eb8b4669ad2cee7a8f4ed233", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_2c8c7ac1eb8b4669ad2cee7a8f4ed233"}, "created_at": 1730311928.1654332, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_2c8c7ac1eb8b4669ad2cee7a8f4ed233\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__transfer", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__transfer"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_2c8c7ac1eb8b4669ad2cee7a8f4ed233.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n transfer_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__transfer\"\n group by transfer_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__transfer", "attached_node": "model.quickbooks_source.stg_quickbooks__transfer"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__vendor_credit_line_vendor_credit_id__index__source_relation.094b35ac4d": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["vendor_credit_id", "index", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__vendor_credit_line')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__vendor_credit_line_vendor_credit_id__index__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_d15906fc804bc105aea1840c47631e4b.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__vendor_credit_line_vendor_credit_id__index__source_relation.094b35ac4d", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__vendor_credit_line_vendor_credit_id__index__source_relation"], "alias": "dbt_utils_unique_combination_o_d15906fc804bc105aea1840c47631e4b", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_d15906fc804bc105aea1840c47631e4b", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_d15906fc804bc105aea1840c47631e4b"}, "created_at": 1730311928.168257, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_d15906fc804bc105aea1840c47631e4b\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__vendor_credit_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__vendor_credit_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_d15906fc804bc105aea1840c47631e4b.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n vendor_credit_id, index, source_relation\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__vendor_credit_line\"\n group by vendor_credit_id, index, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__vendor_credit_line", "attached_node": "model.quickbooks_source.stg_quickbooks__vendor_credit_line"}, "test.quickbooks_source.not_null_stg_quickbooks__vendor_credit_vendor_credit_id.1275a5ab5a": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "vendor_credit_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__vendor_credit')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__vendor_credit_vendor_credit_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__vendor_credit_vendor_credit_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__vendor_credit_vendor_credit_id.1275a5ab5a", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__vendor_credit_vendor_credit_id"], "alias": "not_null_stg_quickbooks__vendor_credit_vendor_credit_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.171249, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__vendor_credit", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__vendor_credit"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__vendor_credit_vendor_credit_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect vendor_credit_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__vendor_credit\"\nwhere vendor_credit_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "vendor_credit_id", "file_key_name": "models.stg_quickbooks__vendor_credit", "attached_node": "model.quickbooks_source.stg_quickbooks__vendor_credit"}, "test.quickbooks_source.not_null_stg_quickbooks__vendor_vendor_id.f509a77195": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "vendor_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__vendor')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "not_null_stg_quickbooks__vendor_vendor_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__vendor_vendor_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__vendor_vendor_id.f509a77195", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__vendor_vendor_id"], "alias": "not_null_stg_quickbooks__vendor_vendor_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1730311928.172323, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__vendor", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__vendor"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__vendor_vendor_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect vendor_id\nfrom \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__vendor\"\nwhere vendor_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "vendor_id", "file_key_name": "models.stg_quickbooks__vendor", "attached_node": "model.quickbooks_source.stg_quickbooks__vendor"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__vendor_vendor_id__source_relation.4960d9d21a": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["vendor_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__vendor')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__vendor_vendor_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_53c8360ba41e0cdcbf50ea70bfa40ce4.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__vendor_vendor_id__source_relation.4960d9d21a", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__vendor_vendor_id__source_relation"], "alias": "dbt_utils_unique_combination_o_53c8360ba41e0cdcbf50ea70bfa40ce4", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_53c8360ba41e0cdcbf50ea70bfa40ce4", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_53c8360ba41e0cdcbf50ea70bfa40ce4"}, "created_at": 1730311928.173258, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_53c8360ba41e0cdcbf50ea70bfa40ce4\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__vendor", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__vendor"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_53c8360ba41e0cdcbf50ea70bfa40ce4.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n vendor_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__vendor\"\n group by vendor_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__vendor", "attached_node": "model.quickbooks_source.stg_quickbooks__vendor"}}, "sources": {"source.quickbooks_source.quickbooks.account": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "account", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.account", "fqn": ["quickbooks_source", "quickbooks", "account"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "account_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing components of a Chart Of Accounts and is part of a ledger. It is used to record a total monetary amount allocated against a specific use. Accounts are one of five basic types: asset, liability, revenue (income), expenses, or equity.", "columns": {"id": {"name": "id", "description": "Unique identifier of the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_number": {"name": "account_number", "description": "User-defined account number intended to identify the account within the Chart of Accounts.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sub_account": {"name": "sub_account", "description": "Specifies whether this object represents a parent (false) or a sub_account (true).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "parent_account_id": {"name": "parent_account_id", "description": "User entered description for the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "User recognizable name for the Account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_type": {"name": "account_type", "description": "A detailed account classification that specifies the use of this account. The type is based on the Classification.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "Boolean indicating whether an account is currently active.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_sub_type": {"name": "account_sub_type", "description": "The account sub-type classification and is based on the AccountType value.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "classification": {"name": "classification", "description": "The classification of an account. Not supported for non-posting accounts. Valid values include Asset, Equity, Expense, Liability, Revenue.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the creation date for the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency which the account records the balance in.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "fully_qualified_name": {"name": "fully_qualified_name", "description": "Full name of the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "Specifies the balance amount for the current Account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance_with_sub_accounts": {"name": "balance_with_sub_accounts", "description": "Specifies the balance amount for the current Account sub accounts.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of the date which the account was last updated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"account_data\"", "created_at": 1730311928.241745}, "source.quickbooks_source.quickbooks.address": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "address", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.address", "fqn": ["quickbooks_source", "quickbooks", "address"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "address_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing address details.", "columns": {"id": {"name": "id", "description": "Unique identifier of the address.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "city": {"name": "city", "description": "The city which the address is located.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "country": {"name": "country", "description": "The country which the address is located.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "line_1": {"name": "line_1", "description": "The address_line_1 associated with the address.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "line_2": {"name": "line_2", "description": "The address_line_2 associated with the address (if applicable).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "postal_code": {"name": "postal_code", "description": "The postal code which the address is located.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"address_data\"", "created_at": 1730311928.241896}, "source.quickbooks_source.quickbooks.bill_line": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "bill_line", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.bill_line", "fqn": ["quickbooks_source", "quickbooks", "bill_line"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "bill_line_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing distinct line items from bills within the `bill` table.", "columns": {"bill_id": {"name": "bill_id", "description": "Unique identifier of the parent bill record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Bill line index in reference to the parent bill.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_class_id": {"name": "account_expense_class_id", "description": "Reference to the class associated with the account based expense bill line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_customer_id": {"name": "account_expense_customer_id", "description": "Reference to the customer associated with the account based expense bill line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_item_id": {"name": "item_expense_item_id", "description": "Reference to the item with the item based expense bill line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_class_id": {"name": "item_expense_class_id", "description": "Reference to the class associated with the item based expense bill line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_customer_id": {"name": "item_expense_customer_id", "description": "Reference to the customer associated with the item based expense bill line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_billable_status": {"name": "item_expense_billable_status", "description": "The billable status of the item based expense bill line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_account_id": {"name": "account_expense_account_id", "description": "The identifier of the account associated with account being expensed from the bill.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_billable_status": {"name": "account_expense_billable_status", "description": "The status of the bill line item expense.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_tax_code_id": {"name": "account_expense_tax_code_id", "description": "The tax code id associated with the bill.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the bill line item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the bill line item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"bill_line_data\"", "created_at": 1730311928.242004}, "source.quickbooks_source.quickbooks.bill_linked_txn": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "bill_linked_txn", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.bill_linked_txn", "fqn": ["quickbooks_source", "quickbooks", "bill_linked_txn"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "bill_linked_txn_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Mapping table containing bill payment transactions linked to a bill.", "columns": {"bill_id": {"name": "bill_id", "description": "Unique identifier of the bill record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records from a single bill record associated with payment ids.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "bill_payment_id": {"name": "bill_payment_id", "description": "The \"Unique identifier of the bill payment id record.\"", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"bill_linked_txn_data\"", "created_at": 1730311928.2420921}, "source.quickbooks_source.quickbooks.bill_payment_line": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "bill_payment_line", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.bill_payment_line", "fqn": ["quickbooks_source", "quickbooks", "bill_payment_line"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "bill_payment_line_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing individual line items of a bill payment, which are recorded within the `bill_payment` table.", "columns": {"bill_payment_id": {"name": "bill_payment_id", "description": "Unique identifier of the bill payment record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of payments associated with the parent bill payment record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the bill payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "bill_id": {"name": "bill_id", "description": "Unique identifier of the bill record associated with the bill payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_id": {"name": "deposit_id", "description": "Unique identifier of the deposit record associated with the bill payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "expense_id": {"name": "expense_id", "description": "Unique identifier of the purchase record associated with the bill payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "linked_bill_payment_id": {"name": "linked_bill_payment_id", "description": "Unique identifier of the bill record associated with the bill payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_credit_id": {"name": "vendor_credit_id", "description": "Unique identifier of the vendor_credit record associated with the bill payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "journal_entry_id": {"name": "journal_entry_id", "description": "Unique identifier of the journal entry record associated with the bill payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"bill_payment_line_data\"", "created_at": 1730311928.2421892}, "source.quickbooks_source.quickbooks.bill_payment": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "bill_payment", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.bill_payment", "fqn": ["quickbooks_source", "quickbooks", "bill_payment"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "bill_payment_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing payment transactions bills that the business owner receives from a vendor for goods or services purchased from the vendor.", "columns": {"id": {"name": "id", "description": "Unique identifier of the bill payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "check_bank_account_id": {"name": "check_bank_account_id", "description": "The identifier of the account associated with the credited bill payment. Only applicable if bill payment `pay_type` is of type check.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "check_print_status": {"name": "check_print_status", "description": "Status of the check which was used as payment for the bill. Only applicable if bill payment `pay_type` is of type Check.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "credit_card_account_id": {"name": "credit_card_account_id", "description": "The identifier of the account associated with the credited bill payment. Only applicable if bill payment `pay_type` is of type CreditCard.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by CurrencyRef. Applicable if multicurrency is enabled for the company.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department specifying the location of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "pay_type": {"name": "pay_type", "description": "The payment type. Valid values include Check, CreditCard", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount associated with this payment. This includes the total of all the payments from the payment line details.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date of the day the payment took place.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_id": {"name": "vendor_id", "description": "Reference to the vendor for this transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"bill_payment_data\"", "created_at": 1730311928.242286}, "source.quickbooks_source.quickbooks.bill": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "bill", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.bill", "fqn": ["quickbooks_source", "quickbooks", "bill"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "bill_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing AP transactions representing a request-for-payment from a third party for goods/services rendered, received, or both.", "columns": {"id": {"name": "id", "description": "Unique identifier of the bill record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "The balance reflecting any payments made against the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department the bill is linked with.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Total \"Monetary amount of all bill line items.\"", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_id": {"name": "vendor_id", "description": "Reference to the vendor the bill is linked with.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "due_date": {"name": "due_date", "description": "Date which the bill is due.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date of the day when the bill transaction occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "payable_account_id": {"name": "payable_account_id", "description": "The identifier of the account associated with the account which the bill is credited.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "private_note": {"name": "private_note", "description": "User entered, organization-private note about the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"bill_data\"", "created_at": 1730311928.242382}, "source.quickbooks_source.quickbooks.bundle_item": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "bundle_item", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.bundle_item", "fqn": ["quickbooks_source", "quickbooks", "bundle_item"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "bundle_item_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Mapping table containing all bundle and item combinations", "columns": {"bundle_id": {"name": "bundle_id", "description": "Reference to the bundle table.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_id": {"name": "item_id", "description": "Reference to the item which the bundle is mapped.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_quantity": {"name": "item_quantity", "description": "Total item quantity associated with the bundle and item mapping.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"bundle_item_data\"", "created_at": 1730311928.2424629}, "source.quickbooks_source.quickbooks.bundle": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "bundle", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.bundle", "fqn": ["quickbooks_source", "quickbooks", "bundle"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "bundle_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing all bundles possible to be used within an invoice.", "columns": {"id": {"name": "id", "description": "Unique identifier of the bundle.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the creation date for the bundle.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "Boolean indicating whether the bundle is active.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "fully_qualified_name": {"name": "fully_qualified_name", "description": "Full name given to the bundle.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of the date when the bundle was last updated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"bundle_data\"", "created_at": 1730311928.242549}, "source.quickbooks_source.quickbooks.credit_card_payment_txn": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "credit_card_payment_txn", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.credit_card_payment_txn", "fqn": ["quickbooks_source", "quickbooks", "credit_card_payment_txn"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "credit_card_payment_txn_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing all credit card payment transactions.", "columns": {"id": {"name": "id", "description": "Unique identifier of the credit card payment transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Total amount of money applied to the credit card payment transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "bank_account_id": {"name": "bank_account_id", "description": "The identifier of the account associated with the bank which the credit card payment is debited towards.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "credit_card_account_id": {"name": "credit_card_account_id", "description": "The identifier of the account associated with the credit card which the payment is credited towards.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp when the credit card payment was created.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp when the credit card payment was last updated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency used for the credit card payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Day the credit card payment transaction took place.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean indicating if the credit card payment was deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"credit_card_payment_txn_data\"", "created_at": 1730311928.242659}, "source.quickbooks_source.quickbooks.credit_memo_line": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "credit_memo_line", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.credit_memo_line", "fqn": ["quickbooks_source", "quickbooks", "credit_memo_line"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "credit_memo_line_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing individual records of credit memos.", "columns": {"credit_memo_id": {"name": "credit_memo_id", "description": "Unique identifier of the credit memo record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records from a credit memo record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the credit memo line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_account_id": {"name": "sales_item_account_id", "description": "The identifier of the account associated with an item credit memo record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_class_id": {"name": "sales_item_class_id", "description": "Reference to the class associated for an item credit memo record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_item_id": {"name": "sales_item_item_id", "description": "Reference to the item for an item credit memo record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_quantity": {"name": "sales_item_quantity", "description": "Quantity of item related to the credit memo line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_unit_price": {"name": "sales_item_unit_price", "description": "Unit price of the item related to the credit memo line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_account_id": {"name": "discount_account_id", "description": "The identifier of the account associated with a discount credit memo record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_class_id": {"name": "discount_class_id", "description": "Reference to the class associated for a discount credit memo record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the credit memo line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"credit_memo_line_data\"", "created_at": 1730311928.2427561}, "source.quickbooks_source.quickbooks.credit_memo": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "credit_memo", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.credit_memo", "fqn": ["quickbooks_source", "quickbooks", "credit_memo"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "credit_memo_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing credit memo records. A credit memo is a refund or credit of payment or part of a payment for goods or services that have been sold.", "columns": {"id": {"name": "id", "description": "Unique identifier of the credit memo.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "The balance reflecting any payments made against the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated with the credit memo.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department associated with the credit memo.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Reference to the customer associated with the credit memo.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date of the day when the credit memo occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"credit_memo_data\"", "created_at": 1730311928.242848}, "source.quickbooks_source.quickbooks.customer": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "customer", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.customer", "fqn": ["quickbooks_source", "quickbooks", "customer"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "customer_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing customers of which are consumers of the service or product that your business offers.", "columns": {"id": {"name": "id", "description": "Unique identifier of the customer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "Boolean indicating whether it is currently enabled for use by QuickBooks.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "Specifies the open balance amount or the amount unpaid by the customer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance_with_jobs": {"name": "balance_with_jobs", "description": "Cumulative open balance amount for the Customer (or Job) and all its sub-jobs.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "bill_with_parent": {"name": "bill_with_parent", "description": "Boolean indicating whether this Customer object is billed with its parent.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "company_name": {"name": "company_name", "description": "Full name of the company.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "fully_qualified_name": {"name": "fully_qualified_name", "description": "Fully qualified name of the company.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts associated with this customer are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "display_name": {"name": "display_name", "description": "Name of the customer which is displayed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "website": {"name": "website", "description": "The website url associated with the customer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "taxable": {"name": "taxable", "description": "Boolean indicating whether the customer is taxable.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"customer_data\"", "created_at": 1730311928.24294}, "source.quickbooks_source.quickbooks.department": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "department", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.department", "fqn": ["quickbooks_source", "quickbooks", "department"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "department_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing records representing physical locations such as stores, and sales regions.", "columns": {"id": {"name": "id", "description": "Unique identifier of the department.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_active": {"name": "is_active", "description": "Boolean indicating whether the department is currently active.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the creation date for the department.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of the date when the department was last updated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "fully_qualified_name": {"name": "fully_qualified_name", "description": "Fully qualified name of the department.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the department.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sub_department": {"name": "sub_department", "description": "Boolean indicating whether the department is a sub department.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "parent_department_id": {"name": "parent_department_id", "description": "Reference to the Unique identifier of the parent department if sub_department = true.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"department_data\"", "created_at": 1730311928.2431018}, "source.quickbooks_source.quickbooks.deposit_line": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "deposit_line", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.deposit_line", "fqn": ["quickbooks_source", "quickbooks", "deposit_line"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "deposit_line_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing individual line items comprising the deposit.", "columns": {"deposit_id": {"name": "deposit_id", "description": "Unique identifier of the deposit record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the deposit record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the deposit line record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the deposit line record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_class_id": {"name": "deposit_class_id", "description": "Reference to the class associated the deposit line record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_account_id": {"name": "deposit_account_id", "description": "The identifier of the account associated with the credited deposit.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_customer_id": {"name": "deposit_customer_id", "description": "Reference to the customer associated with the credited deposit.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"deposit_line_data\"", "created_at": 1730311928.243192}, "source.quickbooks_source.quickbooks.deposit": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "deposit", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.deposit", "fqn": ["quickbooks_source", "quickbooks", "deposit"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "deposit_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing records of transactions that record on or more deposits of a customer payment or a new direct deposit.", "columns": {"id": {"name": "id", "description": "Unique identifier of the deposit.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The identifier of the account associated with this deposit.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the creation date for the deposit.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department associated with the deposit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount of the transaction. This includes the total of all the charges, allowances, and taxes.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date of the day which the deposit transaction occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_status": {"name": "transaction_status", "description": "Status of the deposit transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "home_total_amount": {"name": "home_total_amount", "description": "Indicates the total amount of the transaction in the home currency. This includes the total of all the charges, allowances, and taxes.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"deposit_data\"", "created_at": 1730311928.2432818}, "source.quickbooks_source.quickbooks.estimate": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "estimate", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.estimate", "fqn": ["quickbooks_source", "quickbooks", "estimate"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "estimate_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing estimates. An estimate represents a proposal for a financial transaction from a business to a customer for goods or services proposed to be sold, including proposed pricing.", "columns": {"id": {"name": "id", "description": "Unique identifier of the estimate.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated with the estimate record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the creation date for the estimate.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency which the estimate was provided.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Reference to the customer associated with the estimate.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department associated with the estimate.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "due_date": {"name": "due_date", "description": "Date which the estimate is due.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Total amount of all line items included in the estimate.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date of the day which the estimate occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_status": {"name": "transaction_status", "description": "Current status of the estimate.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"estimate_data\"", "created_at": 1730311928.2433732}, "source.quickbooks_source.quickbooks.estimate_line": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "estimate_line", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.estimate_line", "fqn": ["quickbooks_source", "quickbooks", "estimate_line"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "estimate_line_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing line item records of an estimate.", "columns": {"estimate_id": {"name": "estimate_id", "description": "Reference to the unique estimate record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the estimate line record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_account_id": {"name": "discount_account_id", "description": "The identifier of the account associated with the discount estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_class_id": {"name": "discount_class_id", "description": "Reference to the class associated with the discount estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_account_id": {"name": "sales_item_account_id", "description": "The identifier of the account associated with the sales estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_class_id": {"name": "sales_item_class_id", "description": "Reference to the class associated with the sales estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_item_id": {"name": "sales_item_item_id", "description": "Reference to the item associated with a sales estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_quantity": {"name": "sales_item_quantity", "description": "Quantity of the item for a sales estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_id": {"name": "item_id", "description": "Reference to the item associated with the estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "quantity": {"name": "quantity", "description": "Quantity of the item for the estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The identifier of the account associated associated with the estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"estimate_line_data\"", "created_at": 1730311928.243466}, "source.quickbooks_source.quickbooks.invoice_linked_txn": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "invoice_linked_txn", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.invoice_linked_txn", "fqn": ["quickbooks_source", "quickbooks", "invoice_linked_txn"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "invoice_linked_txn_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Mapping table for invoices records to respective estimate and payment objects.", "columns": {"invoice_id": {"name": "invoice_id", "description": "Reference to the unique invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "payment_id": {"name": "payment_id", "description": "Reference to the respective payment object for the invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "estimate_id": {"name": "estimate_id", "description": "Reference to the respective estimate object for the invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the invoice mapping record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"invoice_linked_txn_data\"", "created_at": 1730311928.243545}, "source.quickbooks_source.quickbooks.invoice_line": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "invoice_line", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.invoice_line", "fqn": ["quickbooks_source", "quickbooks", "invoice_line"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "invoice_line_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing individual records from invoices.", "columns": {"invoice_id": {"name": "invoice_id", "description": "Unique identifier of the invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the invoice line record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_account_id": {"name": "sales_item_account_id", "description": "The identifier of the account associated for an item invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_item_id": {"name": "sales_item_item_id", "description": "Reference to the item for an item invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_class_id": {"name": "sales_item_class_id", "description": "Reference to the class associated with an item invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_quantity": {"name": "sales_item_quantity", "description": "Quantity of the item for an item invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_unit_price": {"name": "sales_item_unit_price", "description": "Unit price of the item for an item invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_account_id": {"name": "discount_account_id", "description": "The identifier of the account associated for a discount invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_class_id": {"name": "discount_class_id", "description": "Reference to the class associated with a discount invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the invoice line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "bundle_quantity": {"name": "bundle_quantity", "description": "Quantity of items included in the invoice bundle.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "bundle_id": {"name": "bundle_id", "description": "Reference to the bundle associated with the invoice line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The identifier of the account associated with the invoice line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_id": {"name": "item_id", "description": "Reference to the item associated with the invoice line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "quantity": {"name": "quantity", "description": "Quantity of the item included on the invoice line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "detail_type": {"name": "detail_type", "description": "Individual line items of a transaction. Valid line types include SalesItemLineDetail, DescriptionOnly (also used for inline Subtotal lines), DiscountLineDetail and SubTotalLineDetail (used for the overall transaction). FYI - Records synced prior to 11/2021 will have a null value.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"invoice_line_data\"", "created_at": 1730311928.2436469}, "source.quickbooks_source.quickbooks.invoice_line_bundle": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "invoice_line_bundle", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.invoice_line_bundle", "fqn": ["quickbooks_source", "quickbooks", "invoice_line_bundle"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "invoice_line_bundle_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing lines of an invoice which were bundled.", "columns": {"invoice_id": {"name": "invoice_id", "description": "Unique identifier of the invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "invoice_line_index": {"name": "invoice_line_index", "description": "Invoice index count of records associated with the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated with the invoice line bundle.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Total monetary value of the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_item_id": {"name": "sales_item_item_id", "description": "Reference to the item for sales on the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_id": {"name": "item_id", "description": "Reference to the item on the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "quantity": {"name": "quantity", "description": "Total quantity of the item on the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_quantity": {"name": "sales_item_quantity", "description": "Total quantity in relation to the sales item on the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The identifier of the account associated with the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "unit_price": {"name": "unit_price", "description": "Unit price of the line item included on the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"invoice_line_bundle_data\"", "created_at": 1730311928.243736}, "source.quickbooks_source.quickbooks.invoice": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "invoice", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.invoice", "fqn": ["quickbooks_source", "quickbooks", "invoice"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "invoice_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing invoice records. An Invoice represents a sales form where the customer pays for a product or service later.", "columns": {"id": {"name": "id", "description": "Unique identifier of the invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "The balance reflecting any payments made against the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount of the transaction. This includes the total of all the charges, allowances, and taxes.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department associated with the invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_to_account_id": {"name": "deposit_to_account_id", "description": "The identifier of the account associated to be used for this invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date of the day which the deposit transaction occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Reference to the customer associated with the invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "billing_address_id": {"name": "billing_address_id", "description": "Reference to the address where the invoice is billed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "shipping_address_id": {"name": "shipping_address_id", "description": "Reference to the address where the invoice is to be shipped.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "delivery_type": {"name": "delivery_type", "description": "How the invoice is delivered to the customer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "due_date": {"name": "due_date", "description": "Date which the invoice payment is due.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated with the invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"invoice_data\"", "created_at": 1730311928.243832}, "source.quickbooks_source.quickbooks.item": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "item", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.item", "fqn": ["quickbooks_source", "quickbooks", "item"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "item_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing item records. An item is a thing that your company buys, sells, or re-sells, such as products and services.", "columns": {"id": {"name": "id", "description": "Unique identifier of the item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "Boolean indicating whether the object is currently enabled for use by QuickBooks.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the creation date for the item within QuickBooks.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "income_account_id": {"name": "income_account_id", "description": "The identifier of the account associated with the proceeds from the sale of this item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "asset_account_id": {"name": "asset_account_id", "description": "The identifier of the account associated with the inventory asset that tracks its current value.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "expense_account_id": {"name": "expense_account_id", "description": "The identifier of the account associated used to pay the vendor for this item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "inventory_start_date": {"name": "inventory_start_date", "description": "Timestamp of the date the item was started as inventory.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "parent_item_id": {"name": "parent_item_id", "description": "Reference to the parent item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "Full name of the item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "purchase_cost": {"name": "purchase_cost", "description": "Amount paid when buying or ordering the item, as expressed in the home currency.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "taxable": {"name": "taxable", "description": "Boolean indicating whether the item is taxable.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "type": {"name": "type", "description": "Classification that specifies the use of this item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "unit_price": {"name": "unit_price", "description": "The monetary value of the service or product, as expressed in the home currency.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"item_data\"", "created_at": 1730311928.243924}, "source.quickbooks_source.quickbooks.journal_entry_line": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "journal_entry_line", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.journal_entry_line", "fqn": ["quickbooks_source", "quickbooks", "journal_entry_line"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "journal_entry_line_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing individual line items of a transaction associated with a journal entry.", "columns": {"journal_entry_id": {"name": "journal_entry_id", "description": "Unique identifier of the journal entry record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the journal entry record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The identifier of the account associated with the credited journal entry.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the journal entry line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Reference to the customer associated with the credited journal entry.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department which the journal entry is associated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated with the journal entry.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "billable_status": {"name": "billable_status", "description": "Status of the journal entry indicating whether it is billable or not.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "User defined description of the journal entry line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "posting_type": {"name": "posting_type", "description": "Indicates whether this JournalEntry line is a debit or credit. Valid values are Credit and Debit", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_id": {"name": "vendor_id", "description": "Reference to the vendor for this journal entry.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"journal_entry_line_data\"", "created_at": 1730311928.2440162}, "source.quickbooks_source.quickbooks.journal_entry": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "journal_entry", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.journal_entry", "fqn": ["quickbooks_source", "quickbooks", "journal_entry"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "journal_entry_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing journal entry transactions.", "columns": {"id": {"name": "id", "description": "Unique identifier of the journal entry.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "adjustment": {"name": "adjustment", "description": "Indicates the total amount of the transaction. This includes the total of all the charges, allowances, and taxes. By default, this is recalculated by the system based on sub-items total and overridden.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the creation date for the journal entry.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "private_note": {"name": "private_note", "description": "User entered, organization-private note about the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "The value of this field will always be set to zero.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date of the day when the journal entry was transacted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"journal_entry_data\"", "created_at": 1730311928.244129}, "source.quickbooks_source.quickbooks.payment_line": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "payment_line", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.payment_line", "fqn": ["quickbooks_source", "quickbooks", "payment_line"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "payment_line_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing individual line items recorded within a payment.", "columns": {"payment_id": {"name": "payment_id", "description": "Unique identifier of the payment record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the payment record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the payment line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "journal_entry_id": {"name": "journal_entry_id", "description": "Journal entry reference associated with the payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_id": {"name": "deposit_id", "description": "Deposit reference associated with the payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "invoice_id": {"name": "invoice_id", "description": "Invoice reference associated with the payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "credit_memo_id": {"name": "credit_memo_id", "description": "credit memo reference associated with the payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"payment_line_data\"", "created_at": 1730311928.244213}, "source.quickbooks_source.quickbooks.payment": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "payment", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.payment", "fqn": ["quickbooks_source", "quickbooks", "payment"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "payment_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing all payment records. The payment can be applied for a particular customer against multiple Invoices and Credit Memos. It can also be created without any Invoice or Credit Memo, by just specifying an amount.", "columns": {"id": {"name": "id", "description": "Unique identifier of the payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "unapplied_amount": {"name": "unapplied_amount", "description": "Indicates the amount that has not been applied to pay amounts owed for sales transactions.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "receivable_account_id": {"name": "receivable_account_id", "description": "The identifier of the account associated with obtaining a receivable from this payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_to_account_id": {"name": "deposit_to_account_id", "description": "The identifier of the account associated with the deposit to be used for this payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date of the day when the payment occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Reference to the customer associated with the payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"payment_data\"", "created_at": 1730311928.244302}, "source.quickbooks_source.quickbooks.purchase_line": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "purchase_line", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.purchase_line", "fqn": ["quickbooks_source", "quickbooks", "purchase_line"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "purchase_line_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing individual line items of a transaction associated with a purchase.", "columns": {"purchase_id": {"name": "purchase_id", "description": "Unique identifier of the purchase record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the purchase record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_account_id": {"name": "account_expense_account_id", "description": "The identifier of the account associated with the credited purchase.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_class_id": {"name": "account_expense_class_id", "description": "Reference to the class associated with the account based expense purchase line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_billable_status": {"name": "account_expense_billable_status", "description": "Status of the purchase billable.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_tax_code_id": {"name": "account_expense_tax_code_id", "description": "Tax code reference associated to the purchase.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_item_id": {"name": "item_expense_item_id", "description": "Reference to the item associated with the item based expense purchase line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_class_id": {"name": "item_expense_class_id", "description": "Reference to the class associated with the item based expense purchase line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_billable_status": {"name": "item_expense_billable_status", "description": "The billable status of the item based expense purchase line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the purchase.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "User defined description of the purchase line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"purchase_line_data\"", "created_at": 1730311928.244391}, "source.quickbooks_source.quickbooks.purchase": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "purchase", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.purchase", "fqn": ["quickbooks_source", "quickbooks", "purchase"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "purchase_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing records of purchase expenses.", "columns": {"id": {"name": "id", "description": "Unique identifier of the purchase.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The identifier of the account associated with the applied purchase based on the PaymentType.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the creation date for the purchase.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "credit": {"name": "credit", "description": "Boolean where `false` represents a charge and `true` represents a refund.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department which the purchase is associated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Reference to the customer associated with the purchase.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date of the day when the purchase occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "payment_type": {"name": "payment_type", "description": "Payment type of the purchase. Type can be Cash, Check, or CreditCard.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_id": {"name": "vendor_id", "description": "Reference to the vendor for the purchase.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"purchase_data\"", "created_at": 1730311928.2444868}, "source.quickbooks_source.quickbooks.purchase_order_line": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "purchase_order_line", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.purchase_order_line", "fqn": ["quickbooks_source", "quickbooks", "purchase_order_line"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "purchase_order_line_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing individual line items of a transaction associated with a purchase order.", "columns": {"purchase_order_id": {"name": "purchase_order_id", "description": "Unique identifier of the purchase order record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the purchase order record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_account_id": {"name": "account_expense_account_id", "description": "The identifier of the account associated with the credited purchase order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_class_id": {"name": "account_expense_class_id", "description": "Reference to the class associated with the account based expense purchase order line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_billable_status": {"name": "account_expense_billable_status", "description": "Status of the purchase billable.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_customer_id": {"name": "account_expense_customer_id", "description": "Reference to the customer associated with the account based purchase order line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_tax_code_id": {"name": "account_expense_tax_code_id", "description": "Tax code reference associated to the purchase order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_item_id": {"name": "item_expense_item_id", "description": "Reference to the item with the item based expense purchase order line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_billable_status": {"name": "item_expense_billable_status", "description": "The billable status of the item based expense purchase order line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_customer_id": {"name": "item_expense_customer_id", "description": "Reference to the customer associated with the item based purchase order line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the purchase.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "User defined description of the purchase line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"purchase_order_line_data\"", "created_at": 1730311928.244577}, "source.quickbooks_source.quickbooks.purchase_order_linked_txn": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "purchase_order_linked_txn", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.purchase_order_linked_txn", "fqn": ["quickbooks_source", "quickbooks", "purchase_order_linked_txn"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "purchase_order_linked_txn_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Mapping table for purchase order records to respective bill and purchase objects.", "columns": {"purchase_order_id": {"name": "purchase_order_id", "description": "Reference to the unique purchase order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "bill_id": {"name": "bill_id", "description": "Reference to the respective bill object for the purchase order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "purchase_id": {"name": "purchase_id", "description": "Reference to the respective purchase object for the purchase_order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_credit_id": {"name": "vendor_credit_id", "description": "Reference to the respective vendor credit object for the purchase_order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the purchase order mapping record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"purchase_order_linked_txn_data\"", "created_at": 1730311928.2446568}, "source.quickbooks_source.quickbooks.purchase_order": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "purchase_order", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.purchase_order", "fqn": ["quickbooks_source", "quickbooks", "purchase_order"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "purchase_order_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing records of purchase orders (PO).", "columns": {"id": {"name": "id", "description": "Unique identifier of the purchase order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated with the purchase order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the date when the purchase order was created.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "custom_po_number": {"name": "custom_po_number", "description": "Custom field for PO number.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "custom_customer_type": {"name": "custom_customer_type", "description": "Custom field for customer type.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "due_date": {"name": "due_date", "description": "Date when the purchase order is due.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "memo": {"name": "memo", "description": "A message for the vendor. This text appears on the purchase order object sent to the vendor.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date of the day when the purchase order occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "private_note": {"name": "private_note", "description": "User entered, organization-private note about the transaction. This note does not appear on the purchase order to the vendor.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "payable_account_id": {"name": "payable_account_id", "description": "The identifier of the account associated with the credited purchase order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "status": {"name": "status", "description": "Purchase order status. Valid values are \"Open\" and \"Closed\".", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_id": {"name": "vendor_id", "description": "Reference to the vendor for the purchase order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"purchase_order_data\"", "created_at": 1730311928.244755}, "source.quickbooks_source.quickbooks.refund_receipt_line": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "refund_receipt_line", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.refund_receipt_line", "fqn": ["quickbooks_source", "quickbooks", "refund_receipt_line"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "refund_receipt_line_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing individual line items of a refund transaction.", "columns": {"refund_id": {"name": "refund_id", "description": "Unique identifier of the refund record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the refund record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the refund line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "User defined description of the refund line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_account_id": {"name": "discount_account_id", "description": "The identifier of the account associated with the income account used to track discounts.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_class_id": {"name": "discount_class_id", "description": "Reference to the class associated with the discount of the refunded item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_quantity": {"name": "sales_item_quantity", "description": "Quantity of the item associated with the refund receipt line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_unit_price": {"name": "sales_item_unit_price", "description": "Unit price of the item associated with the refund receipt line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_account_id": {"name": "sales_item_account_id", "description": "The identifier of the account associated with the credited refund.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_class_id": {"name": "sales_item_class_id", "description": "Reference to the class associated with the refunded item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_item_id": {"name": "sales_item_item_id", "description": "Reference to the item with the refunded item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_tax_code_id": {"name": "sales_item_tax_code_id", "description": "Tax code id of the tax code associated with the refund.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"refund_receipt_line_data\"", "created_at": 1730311928.244842}, "source.quickbooks_source.quickbooks.refund_receipt": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "refund_receipt", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.refund_receipt", "fqn": ["quickbooks_source", "quickbooks", "refund_receipt"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "refund_receipt_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing refunds to the customer for a product or service that was provided.", "columns": {"id": {"name": "id", "description": "Unique identifier of the refund.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "The balance reflecting any payments made against the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated with the refund receipt.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department which the refund receipt is associated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_to_account_id": {"name": "deposit_to_account_id", "description": "The identifier of the account associated with which payment money is refunded.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the creation date for the refund.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Reference to the customer associated with the customer credited with the refund.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date of the day in which the refund occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"refund_receipt_data\"", "created_at": 1730311928.2449348}, "source.quickbooks_source.quickbooks.sales_receipt_line": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "sales_receipt_line", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.sales_receipt_line", "fqn": ["quickbooks_source", "quickbooks", "sales_receipt_line"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "sales_receipt_line_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing individual line items of a sales transaction.", "columns": {"sales_receipt_id": {"name": "sales_receipt_id", "description": "Unique identifier of the sales record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the sales record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the sales line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the sales receipt line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_account_id": {"name": "discount_account_id", "description": "The identifier of the account associated with income account used to track discounts.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_class_id": {"name": "discount_class_id", "description": "Reference to the class associated with the discount credited to the sales line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_account_id": {"name": "sales_item_account_id", "description": "The identifier of the account associated with the sales line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_class_id": {"name": "sales_item_class_id", "description": "Reference to the class associated with the receipt credited with the sales line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_item_id": {"name": "sales_item_item_id", "description": "Reference to the item with the item sold in the sale line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_tax_code_id": {"name": "sales_item_tax_code_id", "description": "Tax code id of the tax code associated with the sales line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_quantity": {"name": "sales_item_quantity", "description": "Total quantity of items included in the sales line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_unit_price": {"name": "sales_item_unit_price", "description": "Unit price of the item included on the sales line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"sales_receipt_line_data\"", "created_at": 1730311928.245025}, "source.quickbooks_source.quickbooks.sales_receipt": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "sales_receipt", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.sales_receipt", "fqn": ["quickbooks_source", "quickbooks", "sales_receipt"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "sales_receipt_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing sales receipts that are given to a customer. A sales receipt, payment is received as part of the sale of goods and services. The sales receipt specifies a deposit account where the customer's payment is deposited.", "columns": {"id": {"name": "id", "description": "Unique identifier of the sales receipt.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "The balance reflecting any payments made against the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_to_account_id": {"name": "deposit_to_account_id", "description": "The identifier of the account associated with where payment money is deposited.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the creation date for the sale.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Reference to the customer associated sales receipt to customer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department which the sales receipt is associated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated which the sales receipt is associated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date of the day which the sale occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"sales_receipt_data\"", "created_at": 1730311928.245137}, "source.quickbooks_source.quickbooks.transfer": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "transfer", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.transfer", "fqn": ["quickbooks_source", "quickbooks", "transfer"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "transfer_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing records of transfers. A Transfer represents a transaction where funds are moved between two accounts from the company's QuickBooks chart of accounts.", "columns": {"id": {"name": "id", "description": "Unique identifier of the transfer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the transfer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "from_account_id": {"name": "from_account_id", "description": "The identifier of the account associated with where the transfer is from.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "to_account_id": {"name": "to_account_id", "description": "The identifier of the account associated with where the transfer is to.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date of the day which the transfer occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"transfer_data\"", "created_at": 1730311928.245219}, "source.quickbooks_source.quickbooks.vendor_credit_line": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "vendor_credit_line", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.vendor_credit_line", "fqn": ["quickbooks_source", "quickbooks", "vendor_credit_line"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "vendor_credit_line_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing individual vendor credit line items.", "columns": {"vendor_credit_id": {"name": "vendor_credit_id", "description": "Unique identifier of the vendor credit record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the vendor credit record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_account_id": {"name": "account_expense_account_id", "description": "The identifier of the account associated with the vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_billable_status": {"name": "account_expense_billable_status", "description": "Status of the billable related to the vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_tax_code_id": {"name": "account_expense_tax_code_id", "description": "Tax code id of the tax code associated with the vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_customer_id": {"name": "account_expense_customer_id", "description": "Reference to the customer associated with the vendor credit expense.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_class_id": {"name": "account_expense_class_id", "description": "Reference to the class associated with the account based expense vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_customer_id": {"name": "item_expense_customer_id", "description": "Reference to the customer associated with the item on the vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_item_id": {"name": "item_expense_item_id", "description": "Reference to the item with the item based expense vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_quantity": {"name": "item_expense_quantity", "description": "Quantity of the item within the item based expense vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_unit_price": {"name": "item_expense_unit_price", "description": "Unit price of the item within the item based expense vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_class_id": {"name": "item_expense_class_id", "description": "Reference to the class associated with the item based expense vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_billable_status": {"name": "item_expense_billable_status", "description": "The billable status of the item based expense vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"vendor_credit_line_data\"", "created_at": 1730311928.245313}, "source.quickbooks_source.quickbooks.vendor_credit": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "vendor_credit", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.vendor_credit", "fqn": ["quickbooks_source", "quickbooks", "vendor_credit"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "vendor_credit_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing all vendor credit records. A vendor credit is an accounts payable transaction that represents a refund or credit of payment for goods or services.", "columns": {"id": {"name": "id", "description": "Unique identifier of the vendor credit.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "The current amount of the vendor credit reflecting any adjustments to the original credit amount.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total credit amount, determined by taking the total of all all lines of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the creation date for the vendor credit.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "payable_account_id": {"name": "payable_account_id", "description": "The identifier of the account associated with which AP account the bill is credited.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department which the vendor credit is associated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "private_note": {"name": "private_note", "description": "User entered, organization-private note about the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "The date entered by the user when this transaction occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_id": {"name": "vendor_id", "description": "Reference to the vendor for this transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"vendor_credit_data\"", "created_at": 1730311928.245406}, "source.quickbooks_source.quickbooks.vendor": {"database": "postgres", "schema": "quickbooks_integration_tests_17", "name": "vendor", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.vendor", "fqn": ["quickbooks_source", "quickbooks", "vendor"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "vendor_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing all vendor records. A vendor is the seller from whom your company purchases any service or product.", "columns": {"id": {"name": "id", "description": "Unique identifier of the vendor.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_number": {"name": "account_number", "description": "Name or number of the account associated with this vendor.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "billing_address_id": {"name": "billing_address_id", "description": "Address reference for the billing address of the vendor.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "Boolean indicating whether the vendor is active.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "Specifies the open balance amount or the amount unpaid by the customer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "company_name": {"name": "company_name", "description": "The name of the company associated with the person or organization.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the creation date for the vendor.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts associated with this vendor are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "display_name": {"name": "display_name", "description": "The name of the vendor as displayed. Must be unique across all Vendor, Customer, and Employee objects.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "web_url": {"name": "web_url", "description": "Website url associated with the vendor.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_1099": {"name": "vendor_1099", "description": "Boolean indicating whether this vendor is an independent contractor; someone who is given a 1099-MISC form at the end of the year.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17\".\"vendor_data\"", "created_at": 1730311928.245495}}, "macros": {"macro.dbt_postgres.postgres__current_timestamp": {"name": "postgres__current_timestamp", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/timestamps.sql", "original_file_path": "macros/timestamps.sql", "unique_id": "macro.dbt_postgres.postgres__current_timestamp", "macro_sql": "{% macro postgres__current_timestamp() -%}\n now()\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.505652, "supported_languages": null}, "macro.dbt_postgres.postgres__snapshot_string_as_time": {"name": "postgres__snapshot_string_as_time", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/timestamps.sql", "original_file_path": "macros/timestamps.sql", "unique_id": "macro.dbt_postgres.postgres__snapshot_string_as_time", "macro_sql": "{% macro postgres__snapshot_string_as_time(timestamp) -%}\n {%- set result = \"'\" ~ timestamp ~ \"'::timestamp without time zone\" -%}\n {{ return(result) }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.505861, "supported_languages": null}, "macro.dbt_postgres.postgres__snapshot_get_time": {"name": "postgres__snapshot_get_time", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/timestamps.sql", "original_file_path": "macros/timestamps.sql", "unique_id": "macro.dbt_postgres.postgres__snapshot_get_time", "macro_sql": "{% macro postgres__snapshot_get_time() -%}\n {{ current_timestamp() }}::timestamp without time zone\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.505961, "supported_languages": null}, "macro.dbt_postgres.postgres__current_timestamp_backcompat": {"name": "postgres__current_timestamp_backcompat", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/timestamps.sql", "original_file_path": "macros/timestamps.sql", "unique_id": "macro.dbt_postgres.postgres__current_timestamp_backcompat", "macro_sql": "{% macro postgres__current_timestamp_backcompat() %}\n current_timestamp::{{ type_timestamp() }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.506062, "supported_languages": null}, "macro.dbt_postgres.postgres__current_timestamp_in_utc_backcompat": {"name": "postgres__current_timestamp_in_utc_backcompat", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/timestamps.sql", "original_file_path": "macros/timestamps.sql", "unique_id": "macro.dbt_postgres.postgres__current_timestamp_in_utc_backcompat", "macro_sql": "{% macro postgres__current_timestamp_in_utc_backcompat() %}\n (current_timestamp at time zone 'utc')::{{ type_timestamp() }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.50616, "supported_languages": null}, "macro.dbt_postgres.postgres__get_catalog_relations": {"name": "postgres__get_catalog_relations", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/catalog.sql", "original_file_path": "macros/catalog.sql", "unique_id": "macro.dbt_postgres.postgres__get_catalog_relations", "macro_sql": "{% macro postgres__get_catalog_relations(information_schema, relations) -%}\n {%- call statement('catalog', fetch_result=True) -%}\n\n {#\n If the user has multiple databases set and the first one is wrong, this will fail.\n But we won't fail in the case where there are multiple quoting-difference-only dbs, which is better.\n #}\n {% set database = information_schema.database %}\n {{ adapter.verify_database(database) }}\n\n select\n '{{ database }}' as table_database,\n sch.nspname as table_schema,\n tbl.relname as table_name,\n case tbl.relkind\n when 'v' then 'VIEW'\n when 'm' then 'MATERIALIZED VIEW'\n else 'BASE TABLE'\n end as table_type,\n tbl_desc.description as table_comment,\n col.attname as column_name,\n col.attnum as column_index,\n pg_catalog.format_type(col.atttypid, col.atttypmod) as column_type,\n col_desc.description as column_comment,\n pg_get_userbyid(tbl.relowner) as table_owner\n\n from pg_catalog.pg_namespace sch\n join pg_catalog.pg_class tbl on tbl.relnamespace = sch.oid\n join pg_catalog.pg_attribute col on col.attrelid = tbl.oid\n left outer join pg_catalog.pg_description tbl_desc on (tbl_desc.objoid = tbl.oid and tbl_desc.objsubid = 0)\n left outer join pg_catalog.pg_description col_desc on (col_desc.objoid = tbl.oid and col_desc.objsubid = col.attnum)\n where (\n {%- for relation in relations -%}\n {%- if relation.identifier -%}\n (upper(sch.nspname) = upper('{{ relation.schema }}') and\n upper(tbl.relname) = upper('{{ relation.identifier }}'))\n {%- else-%}\n upper(sch.nspname) = upper('{{ relation.schema }}')\n {%- endif -%}\n {%- if not loop.last %} or {% endif -%}\n {%- endfor -%}\n )\n and not pg_is_other_temp_schema(sch.oid) -- not a temporary schema belonging to another session\n and tbl.relpersistence in ('p', 'u') -- [p]ermanent table or [u]nlogged table. Exclude [t]emporary tables\n and tbl.relkind in ('r', 'v', 'f', 'p', 'm') -- o[r]dinary table, [v]iew, [f]oreign table, [p]artitioned table, [m]aterialized view. Other values are [i]ndex, [S]equence, [c]omposite type, [t]OAST table\n and col.attnum > 0 -- negative numbers are used for system columns such as oid\n and not col.attisdropped -- column as not been dropped\n\n order by\n sch.nspname,\n tbl.relname,\n col.attnum\n\n {%- endcall -%}\n\n {{ return(load_result('catalog').table) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.507533, "supported_languages": null}, "macro.dbt_postgres.postgres__get_catalog": {"name": "postgres__get_catalog", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/catalog.sql", "original_file_path": "macros/catalog.sql", "unique_id": "macro.dbt_postgres.postgres__get_catalog", "macro_sql": "{% macro postgres__get_catalog(information_schema, schemas) -%}\n {%- set relations = [] -%}\n {%- for schema in schemas -%}\n {%- set dummy = relations.append({'schema': schema}) -%}\n {%- endfor -%}\n {{ return(postgres__get_catalog_relations(information_schema, relations)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_catalog_relations"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.507864, "supported_languages": null}, "macro.dbt_postgres.postgres__get_relations": {"name": "postgres__get_relations", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations.sql", "original_file_path": "macros/relations.sql", "unique_id": "macro.dbt_postgres.postgres__get_relations", "macro_sql": "{% macro postgres__get_relations() -%}\n\n {#\n -- in pg_depend, objid is the dependent, refobjid is the referenced object\n -- > a pg_depend entry indicates that the referenced object cannot be\n -- > dropped without also dropping the dependent object.\n #}\n\n {%- call statement('relations', fetch_result=True) -%}\n with relation as (\n select\n pg_rewrite.ev_class as class,\n pg_rewrite.oid as id\n from pg_rewrite\n ),\n class as (\n select\n oid as id,\n relname as name,\n relnamespace as schema,\n relkind as kind\n from pg_class\n ),\n dependency as (\n select distinct\n pg_depend.objid as id,\n pg_depend.refobjid as ref\n from pg_depend\n ),\n schema as (\n select\n pg_namespace.oid as id,\n pg_namespace.nspname as name\n from pg_namespace\n where nspname != 'information_schema' and nspname not like 'pg\\_%'\n ),\n referenced as (\n select\n relation.id AS id,\n referenced_class.name ,\n referenced_class.schema ,\n referenced_class.kind\n from relation\n join class as referenced_class on relation.class=referenced_class.id\n where referenced_class.kind in ('r', 'v', 'm')\n ),\n relationships as (\n select\n referenced.name as referenced_name,\n referenced.schema as referenced_schema_id,\n dependent_class.name as dependent_name,\n dependent_class.schema as dependent_schema_id,\n referenced.kind as kind\n from referenced\n join dependency on referenced.id=dependency.id\n join class as dependent_class on dependency.ref=dependent_class.id\n where\n (referenced.name != dependent_class.name or\n referenced.schema != dependent_class.schema)\n )\n\n select\n referenced_schema.name as referenced_schema,\n relationships.referenced_name as referenced_name,\n dependent_schema.name as dependent_schema,\n relationships.dependent_name as dependent_name\n from relationships\n join schema as dependent_schema on relationships.dependent_schema_id=dependent_schema.id\n join schema as referenced_schema on relationships.referenced_schema_id=referenced_schema.id\n group by referenced_schema, referenced_name, dependent_schema, dependent_name\n order by referenced_schema, referenced_name, dependent_schema, dependent_name;\n\n {%- endcall -%}\n\n {{ return(load_result('relations').table) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.508461, "supported_languages": null}, "macro.dbt_postgres.postgres_get_relations": {"name": "postgres_get_relations", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations.sql", "original_file_path": "macros/relations.sql", "unique_id": "macro.dbt_postgres.postgres_get_relations", "macro_sql": "{% macro postgres_get_relations() %}\n {{ return(postgres__get_relations()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_relations"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.508668, "supported_languages": null}, "macro.dbt_postgres.postgres__create_table_as": {"name": "postgres__create_table_as", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__create_table_as", "macro_sql": "{% macro postgres__create_table_as(temporary, relation, sql) -%}\n {%- set unlogged = config.get('unlogged', default=false) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {{ sql_header if sql_header is not none }}\n\n create {% if temporary -%}\n temporary\n {%- elif unlogged -%}\n unlogged\n {%- endif %} table {{ relation }}\n {% set contract_config = config.get('contract') %}\n {% if contract_config.enforced %}\n {{ get_assert_columns_equivalent(sql) }}\n {% endif -%}\n {% if contract_config.enforced and (not temporary) -%}\n {{ get_table_columns_and_constraints() }} ;\n insert into {{ relation }} (\n {{ adapter.dispatch('get_column_names', 'dbt')() }}\n )\n {%- set sql = get_select_subquery(sql) %}\n {% else %}\n as\n {% endif %}\n (\n {{ sql }}\n );\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.get_assert_columns_equivalent", "macro.dbt.get_table_columns_and_constraints", "macro.dbt.default__get_column_names", "macro.dbt.get_select_subquery"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.516302, "supported_languages": null}, "macro.dbt_postgres.postgres__get_create_index_sql": {"name": "postgres__get_create_index_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__get_create_index_sql", "macro_sql": "{% macro postgres__get_create_index_sql(relation, index_dict) -%}\n {%- set index_config = adapter.parse_index(index_dict) -%}\n {%- set comma_separated_columns = \", \".join(index_config.columns) -%}\n {%- set index_name = index_config.render(relation) -%}\n\n create {% if index_config.unique -%}\n unique\n {%- endif %} index if not exists\n \"{{ index_name }}\"\n on {{ relation }} {% if index_config.type -%}\n using {{ index_config.type }}\n {%- endif %}\n ({{ comma_separated_columns }})\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.516754, "supported_languages": null}, "macro.dbt_postgres.postgres__create_schema": {"name": "postgres__create_schema", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__create_schema", "macro_sql": "{% macro postgres__create_schema(relation) -%}\n {% if relation.database -%}\n {{ adapter.verify_database(relation.database) }}\n {%- endif -%}\n {%- call statement('create_schema') -%}\n create schema if not exists {{ relation.without_identifier().include(database=False) }}\n {%- endcall -%}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.51704, "supported_languages": null}, "macro.dbt_postgres.postgres__drop_schema": {"name": "postgres__drop_schema", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__drop_schema", "macro_sql": "{% macro postgres__drop_schema(relation) -%}\n {% if relation.database -%}\n {{ adapter.verify_database(relation.database) }}\n {%- endif -%}\n {%- call statement('drop_schema') -%}\n drop schema if exists {{ relation.without_identifier().include(database=False) }} cascade\n {%- endcall -%}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.517323, "supported_languages": null}, "macro.dbt_postgres.postgres__get_columns_in_relation": {"name": "postgres__get_columns_in_relation", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__get_columns_in_relation", "macro_sql": "{% macro postgres__get_columns_in_relation(relation) -%}\n {% call statement('get_columns_in_relation', fetch_result=True) %}\n select\n column_name,\n data_type,\n character_maximum_length,\n numeric_precision,\n numeric_scale\n\n from {{ relation.information_schema('columns') }}\n where table_name = '{{ relation.identifier }}'\n {% if relation.schema %}\n and table_schema = '{{ relation.schema }}'\n {% endif %}\n order by ordinal_position\n\n {% endcall %}\n {% set table = load_result('get_columns_in_relation').table %}\n {{ return(sql_convert_columns_in_relation(table)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt.sql_convert_columns_in_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.517749, "supported_languages": null}, "macro.dbt_postgres.postgres__list_relations_without_caching": {"name": "postgres__list_relations_without_caching", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__list_relations_without_caching", "macro_sql": "{% macro postgres__list_relations_without_caching(schema_relation) %}\n {% call statement('list_relations_without_caching', fetch_result=True) -%}\n select\n '{{ schema_relation.database }}' as database,\n tablename as name,\n schemaname as schema,\n 'table' as type\n from pg_tables\n where schemaname ilike '{{ schema_relation.schema }}'\n union all\n select\n '{{ schema_relation.database }}' as database,\n viewname as name,\n schemaname as schema,\n 'view' as type\n from pg_views\n where schemaname ilike '{{ schema_relation.schema }}'\n union all\n select\n '{{ schema_relation.database }}' as database,\n matviewname as name,\n schemaname as schema,\n 'materialized_view' as type\n from pg_matviews\n where schemaname ilike '{{ schema_relation.schema }}'\n {% endcall %}\n {{ return(load_result('list_relations_without_caching').table) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.518207, "supported_languages": null}, "macro.dbt_postgres.postgres__information_schema_name": {"name": "postgres__information_schema_name", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__information_schema_name", "macro_sql": "{% macro postgres__information_schema_name(database) -%}\n {% if database_name -%}\n {{ adapter.verify_database(database_name) }}\n {%- endif -%}\n information_schema\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.518361, "supported_languages": null}, "macro.dbt_postgres.postgres__list_schemas": {"name": "postgres__list_schemas", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__list_schemas", "macro_sql": "{% macro postgres__list_schemas(database) %}\n {% if database -%}\n {{ adapter.verify_database(database) }}\n {%- endif -%}\n {% call statement('list_schemas', fetch_result=True, auto_begin=False) %}\n select distinct nspname from pg_namespace\n {% endcall %}\n {{ return(load_result('list_schemas').table) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5188239, "supported_languages": null}, "macro.dbt_postgres.postgres__check_schema_exists": {"name": "postgres__check_schema_exists", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__check_schema_exists", "macro_sql": "{% macro postgres__check_schema_exists(information_schema, schema) -%}\n {% if information_schema.database -%}\n {{ adapter.verify_database(information_schema.database) }}\n {%- endif -%}\n {% call statement('check_schema_exists', fetch_result=True, auto_begin=False) %}\n select count(*) from pg_namespace where nspname = '{{ schema }}'\n {% endcall %}\n {{ return(load_result('check_schema_exists').table) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.519298, "supported_languages": null}, "macro.dbt_postgres.postgres__make_relation_with_suffix": {"name": "postgres__make_relation_with_suffix", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__make_relation_with_suffix", "macro_sql": "{% macro postgres__make_relation_with_suffix(base_relation, suffix, dstring) %}\n {% if dstring %}\n {% set dt = modules.datetime.datetime.now() %}\n {% set dtstring = dt.strftime(\"%H%M%S%f\") %}\n {% set suffix = suffix ~ dtstring %}\n {% endif %}\n {% set suffix_length = suffix|length %}\n {% set relation_max_name_length = base_relation.relation_max_name_length() %}\n {% if suffix_length > relation_max_name_length %}\n {% do exceptions.raise_compiler_error('Relation suffix is too long (' ~ suffix_length ~ ' characters). Maximum length is ' ~ relation_max_name_length ~ ' characters.') %}\n {% endif %}\n {% set identifier = base_relation.identifier[:relation_max_name_length - suffix_length] ~ suffix %}\n\n {{ return(base_relation.incorporate(path={\"identifier\": identifier })) }}\n\n {% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5201778, "supported_languages": null}, "macro.dbt_postgres.postgres__make_intermediate_relation": {"name": "postgres__make_intermediate_relation", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__make_intermediate_relation", "macro_sql": "{% macro postgres__make_intermediate_relation(base_relation, suffix) %}\n {{ return(postgres__make_relation_with_suffix(base_relation, suffix, dstring=False)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__make_relation_with_suffix"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.520378, "supported_languages": null}, "macro.dbt_postgres.postgres__make_temp_relation": {"name": "postgres__make_temp_relation", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__make_temp_relation", "macro_sql": "{% macro postgres__make_temp_relation(base_relation, suffix) %}\n {% set temp_relation = postgres__make_relation_with_suffix(base_relation, suffix, dstring=True) %}\n {{ return(temp_relation.incorporate(path={\"schema\": none,\n \"database\": none})) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__make_relation_with_suffix"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.52067, "supported_languages": null}, "macro.dbt_postgres.postgres__make_backup_relation": {"name": "postgres__make_backup_relation", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__make_backup_relation", "macro_sql": "{% macro postgres__make_backup_relation(base_relation, backup_relation_type, suffix) %}\n {% set backup_relation = postgres__make_relation_with_suffix(base_relation, suffix, dstring=False) %}\n {{ return(backup_relation.incorporate(type=backup_relation_type)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__make_relation_with_suffix"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5209181, "supported_languages": null}, "macro.dbt_postgres.postgres_escape_comment": {"name": "postgres_escape_comment", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres_escape_comment", "macro_sql": "{% macro postgres_escape_comment(comment) -%}\n {% if comment is not string %}\n {% do exceptions.raise_compiler_error('cannot escape a non-string: ' ~ comment) %}\n {% endif %}\n {%- set magic = '$dbt_comment_literal_block$' -%}\n {%- if magic in comment -%}\n {%- do exceptions.raise_compiler_error('The string ' ~ magic ~ ' is not allowed in comments.') -%}\n {%- endif -%}\n {{ magic }}{{ comment }}{{ magic }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5213, "supported_languages": null}, "macro.dbt_postgres.postgres__alter_relation_comment": {"name": "postgres__alter_relation_comment", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__alter_relation_comment", "macro_sql": "{% macro postgres__alter_relation_comment(relation, comment) %}\n {% set escaped_comment = postgres_escape_comment(comment) %}\n comment on {{ relation.type }} {{ relation }} is {{ escaped_comment }};\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres_escape_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5214999, "supported_languages": null}, "macro.dbt_postgres.postgres__alter_column_comment": {"name": "postgres__alter_column_comment", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__alter_column_comment", "macro_sql": "{% macro postgres__alter_column_comment(relation, column_dict) %}\n {% set existing_columns = adapter.get_columns_in_relation(relation) | map(attribute=\"name\") | list %}\n {% for column_name in column_dict if (column_name in existing_columns) %}\n {% set comment = column_dict[column_name]['description'] %}\n {% set escaped_comment = postgres_escape_comment(comment) %}\n comment on column {{ relation }}.{{ adapter.quote(column_name) if column_dict[column_name]['quote'] else column_name }} is {{ escaped_comment }};\n {% endfor %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres_escape_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.522055, "supported_languages": null}, "macro.dbt_postgres.postgres__get_show_grant_sql": {"name": "postgres__get_show_grant_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__get_show_grant_sql", "macro_sql": "\n\n{%- macro postgres__get_show_grant_sql(relation) -%}\n select grantee, privilege_type\n from {{ relation.information_schema('role_table_grants') }}\n where grantor = current_role\n and grantee != current_role\n and table_schema = '{{ relation.schema }}'\n and table_name = '{{ relation.identifier }}'\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.522249, "supported_languages": null}, "macro.dbt_postgres.postgres__copy_grants": {"name": "postgres__copy_grants", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__copy_grants", "macro_sql": "{% macro postgres__copy_grants() %}\n {{ return(False) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5223522, "supported_languages": null}, "macro.dbt_postgres.postgres__get_show_indexes_sql": {"name": "postgres__get_show_indexes_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__get_show_indexes_sql", "macro_sql": "{% macro postgres__get_show_indexes_sql(relation) %}\n select\n i.relname as name,\n m.amname as method,\n ix.indisunique as \"unique\",\n array_to_string(array_agg(a.attname), ',') as column_names\n from pg_index ix\n join pg_class i\n on i.oid = ix.indexrelid\n join pg_am m\n on m.oid=i.relam\n join pg_class t\n on t.oid = ix.indrelid\n join pg_namespace n\n on n.oid = t.relnamespace\n join pg_attribute a\n on a.attrelid = t.oid\n and a.attnum = ANY(ix.indkey)\n where t.relname = '{{ relation.identifier }}'\n and n.nspname = '{{ relation.schema }}'\n and t.relkind in ('r', 'm')\n group by 1, 2, 3\n order by 1, 2, 3\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.522511, "supported_languages": null}, "macro.dbt_postgres.postgres__get_drop_index_sql": {"name": "postgres__get_drop_index_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__get_drop_index_sql", "macro_sql": "\n\n\n{%- macro postgres__get_drop_index_sql(relation, index_name) -%}\n drop index if exists \"{{ relation.schema }}\".\"{{ index_name }}\"\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5226371, "supported_languages": null}, "macro.dbt_postgres.postgres__get_incremental_default_sql": {"name": "postgres__get_incremental_default_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/materializations/incremental_strategies.sql", "original_file_path": "macros/materializations/incremental_strategies.sql", "unique_id": "macro.dbt_postgres.postgres__get_incremental_default_sql", "macro_sql": "{% macro postgres__get_incremental_default_sql(arg_dict) %}\n\n {% if arg_dict[\"unique_key\"] %}\n {% do return(get_incremental_delete_insert_sql(arg_dict)) %}\n {% else %}\n {% do return(get_incremental_append_sql(arg_dict)) %}\n {% endif %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_incremental_delete_insert_sql", "macro.dbt.get_incremental_append_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.522995, "supported_languages": null}, "macro.dbt_postgres.postgres__snapshot_merge_sql": {"name": "postgres__snapshot_merge_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/materializations/snapshot_merge.sql", "original_file_path": "macros/materializations/snapshot_merge.sql", "unique_id": "macro.dbt_postgres.postgres__snapshot_merge_sql", "macro_sql": "{% macro postgres__snapshot_merge_sql(target, source, insert_cols) -%}\n {%- set insert_cols_csv = insert_cols | join(', ') -%}\n\n update {{ target }}\n set dbt_valid_to = DBT_INTERNAL_SOURCE.dbt_valid_to\n from {{ source }} as DBT_INTERNAL_SOURCE\n where DBT_INTERNAL_SOURCE.dbt_scd_id::text = {{ target }}.dbt_scd_id::text\n and DBT_INTERNAL_SOURCE.dbt_change_type::text in ('update'::text, 'delete'::text)\n and {{ target }}.dbt_valid_to is null;\n\n insert into {{ target }} ({{ insert_cols_csv }})\n select {% for column in insert_cols -%}\n DBT_INTERNAL_SOURCE.{{ column }} {%- if not loop.last %}, {%- endif %}\n {%- endfor %}\n from {{ source }} as DBT_INTERNAL_SOURCE\n where DBT_INTERNAL_SOURCE.dbt_change_type::text = 'insert'::text;\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.523653, "supported_languages": null}, "macro.dbt_postgres.postgres__drop_materialized_view": {"name": "postgres__drop_materialized_view", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/materialized_view/drop.sql", "original_file_path": "macros/relations/materialized_view/drop.sql", "unique_id": "macro.dbt_postgres.postgres__drop_materialized_view", "macro_sql": "{% macro postgres__drop_materialized_view(relation) -%}\n drop materialized view if exists {{ relation }} cascade\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.523783, "supported_languages": null}, "macro.dbt_postgres.postgres__describe_materialized_view": {"name": "postgres__describe_materialized_view", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/materialized_view/describe.sql", "original_file_path": "macros/relations/materialized_view/describe.sql", "unique_id": "macro.dbt_postgres.postgres__describe_materialized_view", "macro_sql": "{% macro postgres__describe_materialized_view(relation) %}\n -- for now just get the indexes, we don't need the name or the query yet\n {% set _indexes = run_query(get_show_indexes_sql(relation)) %}\n {% do return({'indexes': _indexes}) %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.run_query", "macro.dbt.get_show_indexes_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5240488, "supported_languages": null}, "macro.dbt_postgres.postgres__refresh_materialized_view": {"name": "postgres__refresh_materialized_view", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/materialized_view/refresh.sql", "original_file_path": "macros/relations/materialized_view/refresh.sql", "unique_id": "macro.dbt_postgres.postgres__refresh_materialized_view", "macro_sql": "{% macro postgres__refresh_materialized_view(relation) %}\n refresh materialized view {{ relation }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5241768, "supported_languages": null}, "macro.dbt_postgres.postgres__get_rename_materialized_view_sql": {"name": "postgres__get_rename_materialized_view_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/materialized_view/rename.sql", "original_file_path": "macros/relations/materialized_view/rename.sql", "unique_id": "macro.dbt_postgres.postgres__get_rename_materialized_view_sql", "macro_sql": "{% macro postgres__get_rename_materialized_view_sql(relation, new_name) %}\n alter materialized view {{ relation }} rename to {{ new_name }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.524329, "supported_languages": null}, "macro.dbt_postgres.postgres__get_alter_materialized_view_as_sql": {"name": "postgres__get_alter_materialized_view_as_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/materialized_view/alter.sql", "original_file_path": "macros/relations/materialized_view/alter.sql", "unique_id": "macro.dbt_postgres.postgres__get_alter_materialized_view_as_sql", "macro_sql": "{% macro postgres__get_alter_materialized_view_as_sql(\n relation,\n configuration_changes,\n sql,\n existing_relation,\n backup_relation,\n intermediate_relation\n) %}\n\n -- apply a full refresh immediately if needed\n {% if configuration_changes.requires_full_refresh %}\n\n {{ get_replace_sql(existing_relation, relation, sql) }}\n\n -- otherwise apply individual changes as needed\n {% else %}\n\n {{ postgres__update_indexes_on_materialized_view(relation, configuration_changes.indexes) }}\n\n {%- endif -%}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_replace_sql", "macro.dbt_postgres.postgres__update_indexes_on_materialized_view"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5251782, "supported_languages": null}, "macro.dbt_postgres.postgres__update_indexes_on_materialized_view": {"name": "postgres__update_indexes_on_materialized_view", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/materialized_view/alter.sql", "original_file_path": "macros/relations/materialized_view/alter.sql", "unique_id": "macro.dbt_postgres.postgres__update_indexes_on_materialized_view", "macro_sql": "\n\n\n{%- macro postgres__update_indexes_on_materialized_view(relation, index_changes) -%}\n {{- log(\"Applying UPDATE INDEXES to: \" ~ relation) -}}\n\n {%- for _index_change in index_changes -%}\n {%- set _index = _index_change.context -%}\n\n {%- if _index_change.action == \"drop\" -%}\n\n {{ postgres__get_drop_index_sql(relation, _index.name) }}\n\n {%- elif _index_change.action == \"create\" -%}\n\n {{ postgres__get_create_index_sql(relation, _index.as_node_config) }}\n\n {%- endif -%}\n {{ ';' if not loop.last else \"\" }}\n\n {%- endfor -%}\n\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_drop_index_sql", "macro.dbt_postgres.postgres__get_create_index_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.52565, "supported_languages": null}, "macro.dbt_postgres.postgres__get_materialized_view_configuration_changes": {"name": "postgres__get_materialized_view_configuration_changes", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/materialized_view/alter.sql", "original_file_path": "macros/relations/materialized_view/alter.sql", "unique_id": "macro.dbt_postgres.postgres__get_materialized_view_configuration_changes", "macro_sql": "{% macro postgres__get_materialized_view_configuration_changes(existing_relation, new_config) %}\n {% set _existing_materialized_view = postgres__describe_materialized_view(existing_relation) %}\n {% set _configuration_changes = existing_relation.get_materialized_view_config_change_collection(_existing_materialized_view, new_config) %}\n {% do return(_configuration_changes) %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__describe_materialized_view"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.525904, "supported_languages": null}, "macro.dbt_postgres.postgres__get_create_materialized_view_as_sql": {"name": "postgres__get_create_materialized_view_as_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/materialized_view/create.sql", "original_file_path": "macros/relations/materialized_view/create.sql", "unique_id": "macro.dbt_postgres.postgres__get_create_materialized_view_as_sql", "macro_sql": "{% macro postgres__get_create_materialized_view_as_sql(relation, sql) %}\n create materialized view if not exists {{ relation }} as {{ sql }};\n\n {% for _index_dict in config.get('indexes', []) -%}\n {{- get_create_index_sql(relation, _index_dict) -}}{{ ';' if not loop.last else \"\" }}\n {%- endfor -%}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_create_index_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.526293, "supported_languages": null}, "macro.dbt_postgres.postgres__drop_table": {"name": "postgres__drop_table", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/table/drop.sql", "original_file_path": "macros/relations/table/drop.sql", "unique_id": "macro.dbt_postgres.postgres__drop_table", "macro_sql": "{% macro postgres__drop_table(relation) -%}\n drop table if exists {{ relation }} cascade\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5264168, "supported_languages": null}, "macro.dbt_postgres.postgres__get_replace_table_sql": {"name": "postgres__get_replace_table_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/table/replace.sql", "original_file_path": "macros/relations/table/replace.sql", "unique_id": "macro.dbt_postgres.postgres__get_replace_table_sql", "macro_sql": "{% macro postgres__get_replace_table_sql(relation, sql) -%}\n\n {%- set sql_header = config.get('sql_header', none) -%}\n {{ sql_header if sql_header is not none }}\n\n create or replace table {{ relation }}\n {% set contract_config = config.get('contract') %}\n {% if contract_config.enforced %}\n {{ get_assert_columns_equivalent(sql) }}\n {{ get_table_columns_and_constraints() }}\n {%- set sql = get_select_subquery(sql) %}\n {% endif %}\n as (\n {{ sql }}\n );\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.get_assert_columns_equivalent", "macro.dbt.get_table_columns_and_constraints", "macro.dbt.get_select_subquery"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5270212, "supported_languages": null}, "macro.dbt_postgres.postgres__get_rename_table_sql": {"name": "postgres__get_rename_table_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/table/rename.sql", "original_file_path": "macros/relations/table/rename.sql", "unique_id": "macro.dbt_postgres.postgres__get_rename_table_sql", "macro_sql": "{% macro postgres__get_rename_table_sql(relation, new_name) %}\n alter table {{ relation }} rename to {{ new_name }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.527179, "supported_languages": null}, "macro.dbt_postgres.postgres__drop_view": {"name": "postgres__drop_view", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/view/drop.sql", "original_file_path": "macros/relations/view/drop.sql", "unique_id": "macro.dbt_postgres.postgres__drop_view", "macro_sql": "{% macro postgres__drop_view(relation) -%}\n drop view if exists {{ relation }} cascade\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.527296, "supported_languages": null}, "macro.dbt_postgres.postgres__get_replace_view_sql": {"name": "postgres__get_replace_view_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/view/replace.sql", "original_file_path": "macros/relations/view/replace.sql", "unique_id": "macro.dbt_postgres.postgres__get_replace_view_sql", "macro_sql": "{% macro postgres__get_replace_view_sql(relation, sql) -%}\n\n {%- set sql_header = config.get('sql_header', none) -%}\n {{ sql_header if sql_header is not none }}\n\n create or replace view {{ relation }}\n {% set contract_config = config.get('contract') %}\n {% if contract_config.enforced %}\n {{ get_assert_columns_equivalent(sql) }}\n {%- endif %}\n as (\n {{ sql }}\n );\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.get_assert_columns_equivalent"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.527797, "supported_languages": null}, "macro.dbt_postgres.postgres__get_rename_view_sql": {"name": "postgres__get_rename_view_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/view/rename.sql", "original_file_path": "macros/relations/view/rename.sql", "unique_id": "macro.dbt_postgres.postgres__get_rename_view_sql", "macro_sql": "{% macro postgres__get_rename_view_sql(relation, new_name) %}\n alter view {{ relation }} rename to {{ new_name }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.527959, "supported_languages": null}, "macro.dbt_postgres.postgres__dateadd": {"name": "postgres__dateadd", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/utils/dateadd.sql", "original_file_path": "macros/utils/dateadd.sql", "unique_id": "macro.dbt_postgres.postgres__dateadd", "macro_sql": "{% macro postgres__dateadd(datepart, interval, from_date_or_timestamp) %}\n\n {{ from_date_or_timestamp }} + ((interval '1 {{ datepart }}') * ({{ interval }}))\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.528165, "supported_languages": null}, "macro.dbt_postgres.postgres__listagg": {"name": "postgres__listagg", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/utils/listagg.sql", "original_file_path": "macros/utils/listagg.sql", "unique_id": "macro.dbt_postgres.postgres__listagg", "macro_sql": "{% macro postgres__listagg(measure, delimiter_text, order_by_clause, limit_num) -%}\n\n {% if limit_num -%}\n array_to_string(\n (array_agg(\n {{ measure }}\n {% if order_by_clause -%}\n {{ order_by_clause }}\n {%- endif %}\n ))[1:{{ limit_num }}],\n {{ delimiter_text }}\n )\n {%- else %}\n string_agg(\n {{ measure }},\n {{ delimiter_text }}\n {% if order_by_clause -%}\n {{ order_by_clause }}\n {%- endif %}\n )\n {%- endif %}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.528883, "supported_languages": null}, "macro.dbt_postgres.postgres__datediff": {"name": "postgres__datediff", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/utils/datediff.sql", "original_file_path": "macros/utils/datediff.sql", "unique_id": "macro.dbt_postgres.postgres__datediff", "macro_sql": "{% macro postgres__datediff(first_date, second_date, datepart) -%}\n\n {% if datepart == 'year' %}\n (date_part('year', ({{second_date}})::date) - date_part('year', ({{first_date}})::date))\n {% elif datepart == 'quarter' %}\n ({{ datediff(first_date, second_date, 'year') }} * 4 + date_part('quarter', ({{second_date}})::date) - date_part('quarter', ({{first_date}})::date))\n {% elif datepart == 'month' %}\n ({{ datediff(first_date, second_date, 'year') }} * 12 + date_part('month', ({{second_date}})::date) - date_part('month', ({{first_date}})::date))\n {% elif datepart == 'day' %}\n (({{second_date}})::date - ({{first_date}})::date)\n {% elif datepart == 'week' %}\n ({{ datediff(first_date, second_date, 'day') }} / 7 + case\n when date_part('dow', ({{first_date}})::timestamp) <= date_part('dow', ({{second_date}})::timestamp) then\n case when {{first_date}} <= {{second_date}} then 0 else -1 end\n else\n case when {{first_date}} <= {{second_date}} then 1 else 0 end\n end)\n {% elif datepart == 'hour' %}\n ({{ datediff(first_date, second_date, 'day') }} * 24 + date_part('hour', ({{second_date}})::timestamp) - date_part('hour', ({{first_date}})::timestamp))\n {% elif datepart == 'minute' %}\n ({{ datediff(first_date, second_date, 'hour') }} * 60 + date_part('minute', ({{second_date}})::timestamp) - date_part('minute', ({{first_date}})::timestamp))\n {% elif datepart == 'second' %}\n ({{ datediff(first_date, second_date, 'minute') }} * 60 + floor(date_part('second', ({{second_date}})::timestamp)) - floor(date_part('second', ({{first_date}})::timestamp)))\n {% elif datepart == 'millisecond' %}\n ({{ datediff(first_date, second_date, 'minute') }} * 60000 + floor(date_part('millisecond', ({{second_date}})::timestamp)) - floor(date_part('millisecond', ({{first_date}})::timestamp)))\n {% elif datepart == 'microsecond' %}\n ({{ datediff(first_date, second_date, 'minute') }} * 60000000 + floor(date_part('microsecond', ({{second_date}})::timestamp)) - floor(date_part('microsecond', ({{first_date}})::timestamp)))\n {% else %}\n {{ exceptions.raise_compiler_error(\"Unsupported datepart for macro datediff in postgres: {!r}\".format(datepart)) }}\n {% endif %}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.datediff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.532213, "supported_languages": null}, "macro.dbt_postgres.postgres__any_value": {"name": "postgres__any_value", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/utils/any_value.sql", "original_file_path": "macros/utils/any_value.sql", "unique_id": "macro.dbt_postgres.postgres__any_value", "macro_sql": "{% macro postgres__any_value(expression) -%}\n\n min({{ expression }})\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5323892, "supported_languages": null}, "macro.dbt_postgres.postgres__last_day": {"name": "postgres__last_day", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/utils/last_day.sql", "original_file_path": "macros/utils/last_day.sql", "unique_id": "macro.dbt_postgres.postgres__last_day", "macro_sql": "{% macro postgres__last_day(date, datepart) -%}\n\n {%- if datepart == 'quarter' -%}\n -- postgres dateadd does not support quarter interval.\n cast(\n {{dbt.dateadd('day', '-1',\n dbt.dateadd('month', '3', dbt.date_trunc(datepart, date))\n )}}\n as date)\n {%- else -%}\n {{dbt.default_last_day(date, datepart)}}\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.dateadd", "macro.dbt.date_trunc", "macro.dbt.default_last_day"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.53284, "supported_languages": null}, "macro.dbt_postgres.postgres__split_part": {"name": "postgres__split_part", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/utils/split_part.sql", "original_file_path": "macros/utils/split_part.sql", "unique_id": "macro.dbt_postgres.postgres__split_part", "macro_sql": "{% macro postgres__split_part(string_text, delimiter_text, part_number) %}\n\n {% if part_number >= 0 %}\n {{ dbt.default__split_part(string_text, delimiter_text, part_number) }}\n {% else %}\n {{ dbt._split_part_negative(string_text, delimiter_text, part_number) }}\n {% endif %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__split_part", "macro.dbt._split_part_negative"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.533199, "supported_languages": null}, "macro.dbt.run_hooks": {"name": "run_hooks", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "unique_id": "macro.dbt.run_hooks", "macro_sql": "{% macro run_hooks(hooks, inside_transaction=True) %}\n {% for hook in hooks | selectattr('transaction', 'equalto', inside_transaction) %}\n {% if not inside_transaction and loop.first %}\n {% call statement(auto_begin=inside_transaction) %}\n commit;\n {% endcall %}\n {% endif %}\n {% set rendered = render(hook.get('sql')) | trim %}\n {% if (rendered | length) > 0 %}\n {% call statement(auto_begin=inside_transaction) %}\n {{ rendered }}\n {% endcall %}\n {% endif %}\n {% endfor %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.534178, "supported_languages": null}, "macro.dbt.make_hook_config": {"name": "make_hook_config", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "unique_id": "macro.dbt.make_hook_config", "macro_sql": "{% macro make_hook_config(sql, inside_transaction) %}\n {{ tojson({\"sql\": sql, \"transaction\": inside_transaction}) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5343528, "supported_languages": null}, "macro.dbt.before_begin": {"name": "before_begin", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "unique_id": "macro.dbt.before_begin", "macro_sql": "{% macro before_begin(sql) %}\n {{ make_hook_config(sql, inside_transaction=False) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.make_hook_config"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.534482, "supported_languages": null}, "macro.dbt.in_transaction": {"name": "in_transaction", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "unique_id": "macro.dbt.in_transaction", "macro_sql": "{% macro in_transaction(sql) %}\n {{ make_hook_config(sql, inside_transaction=True) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.make_hook_config"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.534608, "supported_languages": null}, "macro.dbt.after_commit": {"name": "after_commit", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "unique_id": "macro.dbt.after_commit", "macro_sql": "{% macro after_commit(sql) %}\n {{ make_hook_config(sql, inside_transaction=False) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.make_hook_config"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.534733, "supported_languages": null}, "macro.dbt.set_sql_header": {"name": "set_sql_header", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/configs.sql", "original_file_path": "macros/materializations/configs.sql", "unique_id": "macro.dbt.set_sql_header", "macro_sql": "{% macro set_sql_header(config) -%}\n {{ config.set('sql_header', caller()) }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.535062, "supported_languages": null}, "macro.dbt.should_full_refresh": {"name": "should_full_refresh", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/configs.sql", "original_file_path": "macros/materializations/configs.sql", "unique_id": "macro.dbt.should_full_refresh", "macro_sql": "{% macro should_full_refresh() %}\n {% set config_full_refresh = config.get('full_refresh') %}\n {% if config_full_refresh is none %}\n {% set config_full_refresh = flags.FULL_REFRESH %}\n {% endif %}\n {% do return(config_full_refresh) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.53533, "supported_languages": null}, "macro.dbt.should_store_failures": {"name": "should_store_failures", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/configs.sql", "original_file_path": "macros/materializations/configs.sql", "unique_id": "macro.dbt.should_store_failures", "macro_sql": "{% macro should_store_failures() %}\n {% set config_store_failures = config.get('store_failures') %}\n {% if config_store_failures is none %}\n {% set config_store_failures = flags.STORE_FAILURES %}\n {% endif %}\n {% do return(config_store_failures) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.535599, "supported_languages": null}, "macro.dbt.snapshot_merge_sql": {"name": "snapshot_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/snapshot_merge.sql", "original_file_path": "macros/materializations/snapshots/snapshot_merge.sql", "unique_id": "macro.dbt.snapshot_merge_sql", "macro_sql": "{% macro snapshot_merge_sql(target, source, insert_cols) -%}\n {{ adapter.dispatch('snapshot_merge_sql', 'dbt')(target, source, insert_cols) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__snapshot_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.535987, "supported_languages": null}, "macro.dbt.default__snapshot_merge_sql": {"name": "default__snapshot_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/snapshot_merge.sql", "original_file_path": "macros/materializations/snapshots/snapshot_merge.sql", "unique_id": "macro.dbt.default__snapshot_merge_sql", "macro_sql": "{% macro default__snapshot_merge_sql(target, source, insert_cols) -%}\n {%- set insert_cols_csv = insert_cols | join(', ') -%}\n\n merge into {{ target }} as DBT_INTERNAL_DEST\n using {{ source }} as DBT_INTERNAL_SOURCE\n on DBT_INTERNAL_SOURCE.dbt_scd_id = DBT_INTERNAL_DEST.dbt_scd_id\n\n when matched\n and DBT_INTERNAL_DEST.dbt_valid_to is null\n and DBT_INTERNAL_SOURCE.dbt_change_type in ('update', 'delete')\n then update\n set dbt_valid_to = DBT_INTERNAL_SOURCE.dbt_valid_to\n\n when not matched\n and DBT_INTERNAL_SOURCE.dbt_change_type = 'insert'\n then insert ({{ insert_cols_csv }})\n values ({{ insert_cols_csv }})\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.536226, "supported_languages": null}, "macro.dbt.strategy_dispatch": {"name": "strategy_dispatch", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.strategy_dispatch", "macro_sql": "{% macro strategy_dispatch(name) -%}\n{% set original_name = name %}\n {% if '.' in name %}\n {% set package_name, name = name.split(\".\", 1) %}\n {% else %}\n {% set package_name = none %}\n {% endif %}\n\n {% if package_name is none %}\n {% set package_context = context %}\n {% elif package_name in context %}\n {% set package_context = context[package_name] %}\n {% else %}\n {% set error_msg %}\n Could not find package '{{package_name}}', called with '{{original_name}}'\n {% endset %}\n {{ exceptions.raise_compiler_error(error_msg | trim) }}\n {% endif %}\n\n {%- set search_name = 'snapshot_' ~ name ~ '_strategy' -%}\n\n {% if search_name not in package_context %}\n {% set error_msg %}\n The specified strategy macro '{{name}}' was not found in package '{{ package_name }}'\n {% endset %}\n {{ exceptions.raise_compiler_error(error_msg | trim) }}\n {% endif %}\n {{ return(package_context[search_name]) }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.539558, "supported_languages": null}, "macro.dbt.snapshot_hash_arguments": {"name": "snapshot_hash_arguments", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.snapshot_hash_arguments", "macro_sql": "{% macro snapshot_hash_arguments(args) -%}\n {{ adapter.dispatch('snapshot_hash_arguments', 'dbt')(args) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__snapshot_hash_arguments"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.539714, "supported_languages": null}, "macro.dbt.default__snapshot_hash_arguments": {"name": "default__snapshot_hash_arguments", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.default__snapshot_hash_arguments", "macro_sql": "{% macro default__snapshot_hash_arguments(args) -%}\n md5({%- for arg in args -%}\n coalesce(cast({{ arg }} as varchar ), '')\n {% if not loop.last %} || '|' || {% endif %}\n {%- endfor -%})\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.539916, "supported_languages": null}, "macro.dbt.snapshot_timestamp_strategy": {"name": "snapshot_timestamp_strategy", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.snapshot_timestamp_strategy", "macro_sql": "{% macro snapshot_timestamp_strategy(node, snapshotted_rel, current_rel, config, target_exists) %}\n {% set primary_key = config['unique_key'] %}\n {% set updated_at = config['updated_at'] %}\n {% set invalidate_hard_deletes = config.get('invalidate_hard_deletes', false) %}\n\n {#/*\n The snapshot relation might not have an {{ updated_at }} value if the\n snapshot strategy is changed from `check` to `timestamp`. We\n should use a dbt-created column for the comparison in the snapshot\n table instead of assuming that the user-supplied {{ updated_at }}\n will be present in the historical data.\n\n See https://github.com/dbt-labs/dbt-core/issues/2350\n */ #}\n {% set row_changed_expr -%}\n ({{ snapshotted_rel }}.dbt_valid_from < {{ current_rel }}.{{ updated_at }})\n {%- endset %}\n\n {% set scd_id_expr = snapshot_hash_arguments([primary_key, updated_at]) %}\n\n {% do return({\n \"unique_key\": primary_key,\n \"updated_at\": updated_at,\n \"row_changed\": row_changed_expr,\n \"scd_id\": scd_id_expr,\n \"invalidate_hard_deletes\": invalidate_hard_deletes\n }) %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.snapshot_hash_arguments"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5405812, "supported_languages": null}, "macro.dbt.snapshot_string_as_time": {"name": "snapshot_string_as_time", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.snapshot_string_as_time", "macro_sql": "{% macro snapshot_string_as_time(timestamp) -%}\n {{ adapter.dispatch('snapshot_string_as_time', 'dbt')(timestamp) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__snapshot_string_as_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.540732, "supported_languages": null}, "macro.dbt.default__snapshot_string_as_time": {"name": "default__snapshot_string_as_time", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.default__snapshot_string_as_time", "macro_sql": "{% macro default__snapshot_string_as_time(timestamp) %}\n {% do exceptions.raise_not_implemented(\n 'snapshot_string_as_time macro not implemented for adapter '+adapter.type()\n ) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5408902, "supported_languages": null}, "macro.dbt.snapshot_check_all_get_existing_columns": {"name": "snapshot_check_all_get_existing_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.snapshot_check_all_get_existing_columns", "macro_sql": "{% macro snapshot_check_all_get_existing_columns(node, target_exists, check_cols_config) -%}\n {%- if not target_exists -%}\n {#-- no table yet -> return whatever the query does --#}\n {{ return((false, query_columns)) }}\n {%- endif -%}\n\n {#-- handle any schema changes --#}\n {%- set target_relation = adapter.get_relation(database=node.database, schema=node.schema, identifier=node.alias) -%}\n\n {% if check_cols_config == 'all' %}\n {%- set query_columns = get_columns_in_query(node['compiled_code']) -%}\n\n {% elif check_cols_config is iterable and (check_cols_config | length) > 0 %}\n {#-- query for proper casing/quoting, to support comparison below --#}\n {%- set select_check_cols_from_target -%}\n {#-- N.B. The whitespace below is necessary to avoid edge case issue with comments --#}\n {#-- See: https://github.com/dbt-labs/dbt-core/issues/6781 --#}\n select {{ check_cols_config | join(', ') }} from (\n {{ node['compiled_code'] }}\n ) subq\n {%- endset -%}\n {% set query_columns = get_columns_in_query(select_check_cols_from_target) %}\n\n {% else %}\n {% do exceptions.raise_compiler_error(\"Invalid value for 'check_cols': \" ~ check_cols_config) %}\n {% endif %}\n\n {%- set existing_cols = adapter.get_columns_in_relation(target_relation) | map(attribute = 'name') | list -%}\n {%- set ns = namespace() -%} {#-- handle for-loop scoping with a namespace --#}\n {%- set ns.column_added = false -%}\n\n {%- set intersection = [] -%}\n {%- for col in query_columns -%}\n {%- if col in existing_cols -%}\n {%- do intersection.append(adapter.quote(col)) -%}\n {%- else -%}\n {% set ns.column_added = true %}\n {%- endif -%}\n {%- endfor -%}\n {{ return((ns.column_added, intersection)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.get_columns_in_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5421429, "supported_languages": null}, "macro.dbt.snapshot_check_strategy": {"name": "snapshot_check_strategy", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.snapshot_check_strategy", "macro_sql": "{% macro snapshot_check_strategy(node, snapshotted_rel, current_rel, config, target_exists) %}\n {% set check_cols_config = config['check_cols'] %}\n {% set primary_key = config['unique_key'] %}\n {% set invalidate_hard_deletes = config.get('invalidate_hard_deletes', false) %}\n {% set updated_at = config.get('updated_at', snapshot_get_time()) %}\n\n {% set column_added = false %}\n\n {% set column_added, check_cols = snapshot_check_all_get_existing_columns(node, target_exists, check_cols_config) %}\n\n {%- set row_changed_expr -%}\n (\n {%- if column_added -%}\n {{ get_true_sql() }}\n {%- else -%}\n {%- for col in check_cols -%}\n {{ snapshotted_rel }}.{{ col }} != {{ current_rel }}.{{ col }}\n or\n (\n (({{ snapshotted_rel }}.{{ col }} is null) and not ({{ current_rel }}.{{ col }} is null))\n or\n ((not {{ snapshotted_rel }}.{{ col }} is null) and ({{ current_rel }}.{{ col }} is null))\n )\n {%- if not loop.last %} or {% endif -%}\n {%- endfor -%}\n {%- endif -%}\n )\n {%- endset %}\n\n {% set scd_id_expr = snapshot_hash_arguments([primary_key, updated_at]) %}\n\n {% do return({\n \"unique_key\": primary_key,\n \"updated_at\": updated_at,\n \"row_changed\": row_changed_expr,\n \"scd_id\": scd_id_expr,\n \"invalidate_hard_deletes\": invalidate_hard_deletes\n }) %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.snapshot_get_time", "macro.dbt.snapshot_check_all_get_existing_columns", "macro.dbt.get_true_sql", "macro.dbt.snapshot_hash_arguments"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.543346, "supported_languages": null}, "macro.dbt.create_columns": {"name": "create_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.create_columns", "macro_sql": "{% macro create_columns(relation, columns) %}\n {{ adapter.dispatch('create_columns', 'dbt')(relation, columns) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__create_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.546751, "supported_languages": null}, "macro.dbt.default__create_columns": {"name": "default__create_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.default__create_columns", "macro_sql": "{% macro default__create_columns(relation, columns) %}\n {% for column in columns %}\n {% call statement() %}\n alter table {{ relation }} add column \"{{ column.name }}\" {{ column.data_type }};\n {% endcall %}\n {% endfor %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.547004, "supported_languages": null}, "macro.dbt.post_snapshot": {"name": "post_snapshot", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.post_snapshot", "macro_sql": "{% macro post_snapshot(staging_relation) %}\n {{ adapter.dispatch('post_snapshot', 'dbt')(staging_relation) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__post_snapshot"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.547157, "supported_languages": null}, "macro.dbt.default__post_snapshot": {"name": "default__post_snapshot", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.default__post_snapshot", "macro_sql": "{% macro default__post_snapshot(staging_relation) %}\n {# no-op #}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.547235, "supported_languages": null}, "macro.dbt.get_true_sql": {"name": "get_true_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.get_true_sql", "macro_sql": "{% macro get_true_sql() %}\n {{ adapter.dispatch('get_true_sql', 'dbt')() }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_true_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5473652, "supported_languages": null}, "macro.dbt.default__get_true_sql": {"name": "default__get_true_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.default__get_true_sql", "macro_sql": "{% macro default__get_true_sql() %}\n {{ return('TRUE') }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.547467, "supported_languages": null}, "macro.dbt.snapshot_staging_table": {"name": "snapshot_staging_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.snapshot_staging_table", "macro_sql": "{% macro snapshot_staging_table(strategy, source_sql, target_relation) -%}\n {{ adapter.dispatch('snapshot_staging_table', 'dbt')(strategy, source_sql, target_relation) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__snapshot_staging_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.547647, "supported_languages": null}, "macro.dbt.default__snapshot_staging_table": {"name": "default__snapshot_staging_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.default__snapshot_staging_table", "macro_sql": "{% macro default__snapshot_staging_table(strategy, source_sql, target_relation) -%}\n\n with snapshot_query as (\n\n {{ source_sql }}\n\n ),\n\n snapshotted_data as (\n\n select *,\n {{ strategy.unique_key }} as dbt_unique_key\n\n from {{ target_relation }}\n where dbt_valid_to is null\n\n ),\n\n insertions_source_data as (\n\n select\n *,\n {{ strategy.unique_key }} as dbt_unique_key,\n {{ strategy.updated_at }} as dbt_updated_at,\n {{ strategy.updated_at }} as dbt_valid_from,\n nullif({{ strategy.updated_at }}, {{ strategy.updated_at }}) as dbt_valid_to,\n {{ strategy.scd_id }} as dbt_scd_id\n\n from snapshot_query\n ),\n\n updates_source_data as (\n\n select\n *,\n {{ strategy.unique_key }} as dbt_unique_key,\n {{ strategy.updated_at }} as dbt_updated_at,\n {{ strategy.updated_at }} as dbt_valid_from,\n {{ strategy.updated_at }} as dbt_valid_to\n\n from snapshot_query\n ),\n\n {%- if strategy.invalidate_hard_deletes %}\n\n deletes_source_data as (\n\n select\n *,\n {{ strategy.unique_key }} as dbt_unique_key\n from snapshot_query\n ),\n {% endif %}\n\n insertions as (\n\n select\n 'insert' as dbt_change_type,\n source_data.*\n\n from insertions_source_data as source_data\n left outer join snapshotted_data on snapshotted_data.dbt_unique_key = source_data.dbt_unique_key\n where snapshotted_data.dbt_unique_key is null\n or (\n snapshotted_data.dbt_unique_key is not null\n and (\n {{ strategy.row_changed }}\n )\n )\n\n ),\n\n updates as (\n\n select\n 'update' as dbt_change_type,\n source_data.*,\n snapshotted_data.dbt_scd_id\n\n from updates_source_data as source_data\n join snapshotted_data on snapshotted_data.dbt_unique_key = source_data.dbt_unique_key\n where (\n {{ strategy.row_changed }}\n )\n )\n\n {%- if strategy.invalidate_hard_deletes -%}\n ,\n\n deletes as (\n\n select\n 'delete' as dbt_change_type,\n source_data.*,\n {{ snapshot_get_time() }} as dbt_valid_from,\n {{ snapshot_get_time() }} as dbt_updated_at,\n {{ snapshot_get_time() }} as dbt_valid_to,\n snapshotted_data.dbt_scd_id\n\n from snapshotted_data\n left join deletes_source_data as source_data on snapshotted_data.dbt_unique_key = source_data.dbt_unique_key\n where source_data.dbt_unique_key is null\n )\n {%- endif %}\n\n select * from insertions\n union all\n select * from updates\n {%- if strategy.invalidate_hard_deletes %}\n union all\n select * from deletes\n {%- endif %}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.snapshot_get_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.548426, "supported_languages": null}, "macro.dbt.build_snapshot_table": {"name": "build_snapshot_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.build_snapshot_table", "macro_sql": "{% macro build_snapshot_table(strategy, sql) -%}\n {{ adapter.dispatch('build_snapshot_table', 'dbt')(strategy, sql) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__build_snapshot_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.548594, "supported_languages": null}, "macro.dbt.default__build_snapshot_table": {"name": "default__build_snapshot_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.default__build_snapshot_table", "macro_sql": "{% macro default__build_snapshot_table(strategy, sql) %}\n\n select *,\n {{ strategy.scd_id }} as dbt_scd_id,\n {{ strategy.updated_at }} as dbt_updated_at,\n {{ strategy.updated_at }} as dbt_valid_from,\n nullif({{ strategy.updated_at }}, {{ strategy.updated_at }}) as dbt_valid_to\n from (\n {{ sql }}\n ) sbq\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.54898, "supported_languages": null}, "macro.dbt.build_snapshot_staging_table": {"name": "build_snapshot_staging_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.build_snapshot_staging_table", "macro_sql": "{% macro build_snapshot_staging_table(strategy, sql, target_relation) %}\n {% set temp_relation = make_temp_relation(target_relation) %}\n\n {% set select = snapshot_staging_table(strategy, sql, target_relation) %}\n\n {% call statement('build_snapshot_staging_relation') %}\n {{ create_table_as(True, temp_relation, select) }}\n {% endcall %}\n\n {% do return(temp_relation) %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.make_temp_relation", "macro.dbt.snapshot_staging_table", "macro.dbt.statement", "macro.dbt.create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5494778, "supported_languages": null}, "macro.dbt.materialization_snapshot_default": {"name": "materialization_snapshot_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/snapshot.sql", "original_file_path": "macros/materializations/snapshots/snapshot.sql", "unique_id": "macro.dbt.materialization_snapshot_default", "macro_sql": "{% materialization snapshot, default %}\n {%- set config = model['config'] -%}\n\n {%- set target_table = model.get('alias', model.get('name')) -%}\n\n {%- set strategy_name = config.get('strategy') -%}\n {%- set unique_key = config.get('unique_key') %}\n -- grab current tables grants config for comparision later on\n {%- set grant_config = config.get('grants') -%}\n\n {% set target_relation_exists, target_relation = get_or_create_relation(\n database=model.database,\n schema=model.schema,\n identifier=target_table,\n type='table') -%}\n\n {%- if not target_relation.is_table -%}\n {% do exceptions.relation_wrong_type(target_relation, 'table') %}\n {%- endif -%}\n\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\n\n {% set strategy_macro = strategy_dispatch(strategy_name) %}\n {% set strategy = strategy_macro(model, \"snapshotted_data\", \"source_data\", config, target_relation_exists) %}\n\n {% if not target_relation_exists %}\n\n {% set build_sql = build_snapshot_table(strategy, model['compiled_code']) %}\n {% set final_sql = create_table_as(False, target_relation, build_sql) %}\n\n {% else %}\n\n {{ adapter.valid_snapshot_target(target_relation) }}\n\n {% set staging_table = build_snapshot_staging_table(strategy, sql, target_relation) %}\n\n -- this may no-op if the database does not require column expansion\n {% do adapter.expand_target_column_types(from_relation=staging_table,\n to_relation=target_relation) %}\n\n {% set missing_columns = adapter.get_missing_columns(staging_table, target_relation)\n | rejectattr('name', 'equalto', 'dbt_change_type')\n | rejectattr('name', 'equalto', 'DBT_CHANGE_TYPE')\n | rejectattr('name', 'equalto', 'dbt_unique_key')\n | rejectattr('name', 'equalto', 'DBT_UNIQUE_KEY')\n | list %}\n\n {% do create_columns(target_relation, missing_columns) %}\n\n {% set source_columns = adapter.get_columns_in_relation(staging_table)\n | rejectattr('name', 'equalto', 'dbt_change_type')\n | rejectattr('name', 'equalto', 'DBT_CHANGE_TYPE')\n | rejectattr('name', 'equalto', 'dbt_unique_key')\n | rejectattr('name', 'equalto', 'DBT_UNIQUE_KEY')\n | list %}\n\n {% set quoted_source_columns = [] %}\n {% for column in source_columns %}\n {% do quoted_source_columns.append(adapter.quote(column.name)) %}\n {% endfor %}\n\n {% set final_sql = snapshot_merge_sql(\n target = target_relation,\n source = staging_table,\n insert_cols = quoted_source_columns\n )\n %}\n\n {% endif %}\n\n {% call statement('main') %}\n {{ final_sql }}\n {% endcall %}\n\n {% set should_revoke = should_revoke(target_relation_exists, full_refresh_mode=False) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n {% if not target_relation_exists %}\n {% do create_indexes(target_relation) %}\n {% endif %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n {{ adapter.commit() }}\n\n {% if staging_table is defined %}\n {% do post_snapshot(staging_table) %}\n {% endif %}\n\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n\n {{ return({'relations': [target_relation]}) }}\n\n{% endmaterialization %}", "depends_on": {"macros": ["macro.dbt.get_or_create_relation", "macro.dbt.run_hooks", "macro.dbt.strategy_dispatch", "macro.dbt.build_snapshot_table", "macro.dbt.create_table_as", "macro.dbt.build_snapshot_staging_table", "macro.dbt.create_columns", "macro.dbt.snapshot_merge_sql", "macro.dbt.statement", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs", "macro.dbt.create_indexes", "macro.dbt.post_snapshot"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.555018, "supported_languages": ["sql"]}, "macro.dbt.materialization_test_default": {"name": "materialization_test_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/tests/test.sql", "original_file_path": "macros/materializations/tests/test.sql", "unique_id": "macro.dbt.materialization_test_default", "macro_sql": "{%- materialization test, default -%}\n\n {% set relations = [] %}\n\n {% if should_store_failures() %}\n\n {% set identifier = model['alias'] %}\n {% set old_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) %}\n\n {% set store_failures_as = config.get('store_failures_as') %}\n -- if `--store-failures` is invoked via command line and `store_failures_as` is not set,\n -- config.get('store_failures_as', 'table') returns None, not 'table'\n {% if store_failures_as == none %}{% set store_failures_as = 'table' %}{% endif %}\n {% if store_failures_as not in ['table', 'view'] %}\n {{ exceptions.raise_compiler_error(\n \"'\" ~ store_failures_as ~ \"' is not a valid value for `store_failures_as`. \"\n \"Accepted values are: ['ephemeral', 'table', 'view']\"\n ) }}\n {% endif %}\n\n {% set target_relation = api.Relation.create(\n identifier=identifier, schema=schema, database=database, type=store_failures_as) -%} %}\n\n {% if old_relation %}\n {% do adapter.drop_relation(old_relation) %}\n {% endif %}\n\n {% call statement(auto_begin=True) %}\n {{ get_create_sql(target_relation, sql) }}\n {% endcall %}\n\n {% do relations.append(target_relation) %}\n\n {% set main_sql %}\n select *\n from {{ target_relation }}\n {% endset %}\n\n {{ adapter.commit() }}\n\n {% else %}\n\n {% set main_sql = sql %}\n\n {% endif %}\n\n {% set limit = config.get('limit') %}\n {% set fail_calc = config.get('fail_calc') %}\n {% set warn_if = config.get('warn_if') %}\n {% set error_if = config.get('error_if') %}\n\n {% call statement('main', fetch_result=True) -%}\n\n {{ get_test_sql(main_sql, fail_calc, warn_if, error_if, limit)}}\n\n {%- endcall %}\n\n {{ return({'relations': relations}) }}\n\n{%- endmaterialization -%}", "depends_on": {"macros": ["macro.dbt.should_store_failures", "macro.dbt.statement", "macro.dbt.get_create_sql", "macro.dbt.get_test_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.557428, "supported_languages": ["sql"]}, "macro.dbt.get_test_sql": {"name": "get_test_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/tests/helpers.sql", "original_file_path": "macros/materializations/tests/helpers.sql", "unique_id": "macro.dbt.get_test_sql", "macro_sql": "{% macro get_test_sql(main_sql, fail_calc, warn_if, error_if, limit) -%}\n {{ adapter.dispatch('get_test_sql', 'dbt')(main_sql, fail_calc, warn_if, error_if, limit) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_test_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.557833, "supported_languages": null}, "macro.dbt.default__get_test_sql": {"name": "default__get_test_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/tests/helpers.sql", "original_file_path": "macros/materializations/tests/helpers.sql", "unique_id": "macro.dbt.default__get_test_sql", "macro_sql": "{% macro default__get_test_sql(main_sql, fail_calc, warn_if, error_if, limit) -%}\n select\n {{ fail_calc }} as failures,\n {{ fail_calc }} {{ warn_if }} as should_warn,\n {{ fail_calc }} {{ error_if }} as should_error\n from (\n {{ main_sql }}\n {{ \"limit \" ~ limit if limit != none }}\n ) dbt_internal_test\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.558104, "supported_languages": null}, "macro.dbt.get_where_subquery": {"name": "get_where_subquery", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/tests/where_subquery.sql", "original_file_path": "macros/materializations/tests/where_subquery.sql", "unique_id": "macro.dbt.get_where_subquery", "macro_sql": "{% macro get_where_subquery(relation) -%}\n {% do return(adapter.dispatch('get_where_subquery', 'dbt')(relation)) %}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_where_subquery"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.558432, "supported_languages": null}, "macro.dbt.default__get_where_subquery": {"name": "default__get_where_subquery", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/tests/where_subquery.sql", "original_file_path": "macros/materializations/tests/where_subquery.sql", "unique_id": "macro.dbt.default__get_where_subquery", "macro_sql": "{% macro default__get_where_subquery(relation) -%}\n {% set where = config.get('where', '') %}\n {% if where %}\n {%- set filtered -%}\n (select * from {{ relation }} where {{ where }}) dbt_subquery\n {%- endset -%}\n {% do return(filtered) %}\n {%- else -%}\n {% do return(relation) %}\n {%- endif -%}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.558773, "supported_languages": null}, "macro.dbt.materialization_materialized_view_default": {"name": "materialization_materialized_view_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/materialized_view.sql", "original_file_path": "macros/materializations/models/materialized_view.sql", "unique_id": "macro.dbt.materialization_materialized_view_default", "macro_sql": "{% materialization materialized_view, default %}\n {% set existing_relation = load_cached_relation(this) %}\n {% set target_relation = this.incorporate(type=this.MaterializedView) %}\n {% set intermediate_relation = make_intermediate_relation(target_relation) %}\n {% set backup_relation_type = target_relation.MaterializedView if existing_relation is none else existing_relation.type %}\n {% set backup_relation = make_backup_relation(target_relation, backup_relation_type) %}\n\n {{ materialized_view_setup(backup_relation, intermediate_relation, pre_hooks) }}\n\n {% set build_sql = materialized_view_get_build_sql(existing_relation, target_relation, backup_relation, intermediate_relation) %}\n\n {% if build_sql == '' %}\n {{ materialized_view_execute_no_op(target_relation) }}\n {% else %}\n {{ materialized_view_execute_build_sql(build_sql, existing_relation, target_relation, post_hooks) }}\n {% endif %}\n\n {{ materialized_view_teardown(backup_relation, intermediate_relation, post_hooks) }}\n\n {{ return({'relations': [target_relation]}) }}\n\n{% endmaterialization %}", "depends_on": {"macros": ["macro.dbt.load_cached_relation", "macro.dbt.make_intermediate_relation", "macro.dbt.make_backup_relation", "macro.dbt.materialized_view_setup", "macro.dbt.materialized_view_get_build_sql", "macro.dbt.materialized_view_execute_no_op", "macro.dbt.materialized_view_execute_build_sql", "macro.dbt.materialized_view_teardown"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5629172, "supported_languages": ["sql"]}, "macro.dbt.materialized_view_setup": {"name": "materialized_view_setup", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/materialized_view.sql", "original_file_path": "macros/materializations/models/materialized_view.sql", "unique_id": "macro.dbt.materialized_view_setup", "macro_sql": "{% macro materialized_view_setup(backup_relation, intermediate_relation, pre_hooks) %}\n\n -- backup_relation and intermediate_relation should not already exist in the database\n -- it's possible these exist because of a previous run that exited unexpectedly\n {% set preexisting_backup_relation = load_cached_relation(backup_relation) %}\n {% set preexisting_intermediate_relation = load_cached_relation(intermediate_relation) %}\n\n -- drop the temp relations if they exist already in the database\n {{ drop_relation_if_exists(preexisting_backup_relation) }}\n {{ drop_relation_if_exists(preexisting_intermediate_relation) }}\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.load_cached_relation", "macro.dbt.drop_relation_if_exists", "macro.dbt.run_hooks"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5633721, "supported_languages": null}, "macro.dbt.materialized_view_teardown": {"name": "materialized_view_teardown", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/materialized_view.sql", "original_file_path": "macros/materializations/models/materialized_view.sql", "unique_id": "macro.dbt.materialized_view_teardown", "macro_sql": "{% macro materialized_view_teardown(backup_relation, intermediate_relation, post_hooks) %}\n\n -- drop the temp relations if they exist to leave the database clean for the next run\n {{ drop_relation_if_exists(backup_relation) }}\n {{ drop_relation_if_exists(intermediate_relation) }}\n\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.drop_relation_if_exists", "macro.dbt.run_hooks"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5636292, "supported_languages": null}, "macro.dbt.materialized_view_get_build_sql": {"name": "materialized_view_get_build_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/materialized_view.sql", "original_file_path": "macros/materializations/models/materialized_view.sql", "unique_id": "macro.dbt.materialized_view_get_build_sql", "macro_sql": "{% macro materialized_view_get_build_sql(existing_relation, target_relation, backup_relation, intermediate_relation) %}\n\n {% set full_refresh_mode = should_full_refresh() %}\n\n -- determine the scenario we're in: create, full_refresh, alter, refresh data\n {% if existing_relation is none %}\n {% set build_sql = get_create_materialized_view_as_sql(target_relation, sql) %}\n {% elif full_refresh_mode or not existing_relation.is_materialized_view %}\n {% set build_sql = get_replace_sql(existing_relation, target_relation, sql) %}\n {% else %}\n\n -- get config options\n {% set on_configuration_change = config.get('on_configuration_change') %}\n {% set configuration_changes = get_materialized_view_configuration_changes(existing_relation, config) %}\n\n {% if configuration_changes is none %}\n {% set build_sql = refresh_materialized_view(target_relation) %}\n\n {% elif on_configuration_change == 'apply' %}\n {% set build_sql = get_alter_materialized_view_as_sql(target_relation, configuration_changes, sql, existing_relation, backup_relation, intermediate_relation) %}\n {% elif on_configuration_change == 'continue' %}\n {% set build_sql = '' %}\n {{ exceptions.warn(\"Configuration changes were identified and `on_configuration_change` was set to `continue` for `\" ~ target_relation ~ \"`\") }}\n {% elif on_configuration_change == 'fail' %}\n {{ exceptions.raise_fail_fast_error(\"Configuration changes were identified and `on_configuration_change` was set to `fail` for `\" ~ target_relation ~ \"`\") }}\n\n {% else %}\n -- this only happens if the user provides a value other than `apply`, 'skip', 'fail'\n {{ exceptions.raise_compiler_error(\"Unexpected configuration scenario\") }}\n\n {% endif %}\n\n {% endif %}\n\n {% do return(build_sql) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.should_full_refresh", "macro.dbt.get_create_materialized_view_as_sql", "macro.dbt.get_replace_sql", "macro.dbt.get_materialized_view_configuration_changes", "macro.dbt.refresh_materialized_view", "macro.dbt.get_alter_materialized_view_as_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.564812, "supported_languages": null}, "macro.dbt.materialized_view_execute_no_op": {"name": "materialized_view_execute_no_op", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/materialized_view.sql", "original_file_path": "macros/materializations/models/materialized_view.sql", "unique_id": "macro.dbt.materialized_view_execute_no_op", "macro_sql": "{% macro materialized_view_execute_no_op(target_relation) %}\n {% do store_raw_result(\n name=\"main\",\n message=\"skip \" ~ target_relation,\n code=\"skip\",\n rows_affected=\"-1\"\n ) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5650291, "supported_languages": null}, "macro.dbt.materialized_view_execute_build_sql": {"name": "materialized_view_execute_build_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/materialized_view.sql", "original_file_path": "macros/materializations/models/materialized_view.sql", "unique_id": "macro.dbt.materialized_view_execute_build_sql", "macro_sql": "{% macro materialized_view_execute_build_sql(build_sql, existing_relation, target_relation, post_hooks) %}\n\n -- `BEGIN` happens here:\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\n\n {% set grant_config = config.get('grants') %}\n\n {% call statement(name=\"main\") %}\n {{ build_sql }}\n {% endcall %}\n\n {% set should_revoke = should_revoke(existing_relation, full_refresh_mode=True) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n {{ adapter.commit() }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.run_hooks", "macro.dbt.statement", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5656252, "supported_languages": null}, "macro.dbt.materialization_view_default": {"name": "materialization_view_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/view.sql", "original_file_path": "macros/materializations/models/view.sql", "unique_id": "macro.dbt.materialization_view_default", "macro_sql": "{%- materialization view, default -%}\n\n {%- set existing_relation = load_cached_relation(this) -%}\n {%- set target_relation = this.incorporate(type='view') -%}\n {%- set intermediate_relation = make_intermediate_relation(target_relation) -%}\n\n -- the intermediate_relation should not already exist in the database; get_relation\n -- will return None in that case. Otherwise, we get a relation that we can drop\n -- later, before we try to use this name for the current operation\n {%- set preexisting_intermediate_relation = load_cached_relation(intermediate_relation) -%}\n /*\n This relation (probably) doesn't exist yet. If it does exist, it's a leftover from\n a previous run, and we're going to try to drop it immediately. At the end of this\n materialization, we're going to rename the \"existing_relation\" to this identifier,\n and then we're going to drop it. In order to make sure we run the correct one of:\n - drop view ...\n - drop table ...\n\n We need to set the type of this relation to be the type of the existing_relation, if it exists,\n or else \"view\" as a sane default if it does not. Note that if the existing_relation does not\n exist, then there is nothing to move out of the way and subsequentally drop. In that case,\n this relation will be effectively unused.\n */\n {%- set backup_relation_type = 'view' if existing_relation is none else existing_relation.type -%}\n {%- set backup_relation = make_backup_relation(target_relation, backup_relation_type) -%}\n -- as above, the backup_relation should not already exist\n {%- set preexisting_backup_relation = load_cached_relation(backup_relation) -%}\n -- grab current tables grants config for comparision later on\n {% set grant_config = config.get('grants') %}\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n -- drop the temp relations if they exist already in the database\n {{ drop_relation_if_exists(preexisting_intermediate_relation) }}\n {{ drop_relation_if_exists(preexisting_backup_relation) }}\n\n -- `BEGIN` happens here:\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\n\n -- build model\n {% call statement('main') -%}\n {{ get_create_view_as_sql(intermediate_relation, sql) }}\n {%- endcall %}\n\n -- cleanup\n -- move the existing view out of the way\n {% if existing_relation is not none %}\n /* Do the equivalent of rename_if_exists. 'existing_relation' could have been dropped\n since the variable was first set. */\n {% set existing_relation = load_cached_relation(existing_relation) %}\n {% if existing_relation is not none %}\n {{ adapter.rename_relation(existing_relation, backup_relation) }}\n {% endif %}\n {% endif %}\n {{ adapter.rename_relation(intermediate_relation, target_relation) }}\n\n {% set should_revoke = should_revoke(existing_relation, full_refresh_mode=True) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n {{ adapter.commit() }}\n\n {{ drop_relation_if_exists(backup_relation) }}\n\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n\n {{ return({'relations': [target_relation]}) }}\n\n{%- endmaterialization -%}", "depends_on": {"macros": ["macro.dbt.load_cached_relation", "macro.dbt.make_intermediate_relation", "macro.dbt.make_backup_relation", "macro.dbt.run_hooks", "macro.dbt.drop_relation_if_exists", "macro.dbt.statement", "macro.dbt.get_create_view_as_sql", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.568306, "supported_languages": ["sql"]}, "macro.dbt.materialization_table_default": {"name": "materialization_table_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/table.sql", "original_file_path": "macros/materializations/models/table.sql", "unique_id": "macro.dbt.materialization_table_default", "macro_sql": "{% materialization table, default %}\n\n {%- set existing_relation = load_cached_relation(this) -%}\n {%- set target_relation = this.incorporate(type='table') %}\n {%- set intermediate_relation = make_intermediate_relation(target_relation) -%}\n -- the intermediate_relation should not already exist in the database; get_relation\n -- will return None in that case. Otherwise, we get a relation that we can drop\n -- later, before we try to use this name for the current operation\n {%- set preexisting_intermediate_relation = load_cached_relation(intermediate_relation) -%}\n /*\n See ../view/view.sql for more information about this relation.\n */\n {%- set backup_relation_type = 'table' if existing_relation is none else existing_relation.type -%}\n {%- set backup_relation = make_backup_relation(target_relation, backup_relation_type) -%}\n -- as above, the backup_relation should not already exist\n {%- set preexisting_backup_relation = load_cached_relation(backup_relation) -%}\n -- grab current tables grants config for comparision later on\n {% set grant_config = config.get('grants') %}\n\n -- drop the temp relations if they exist already in the database\n {{ drop_relation_if_exists(preexisting_intermediate_relation) }}\n {{ drop_relation_if_exists(preexisting_backup_relation) }}\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n -- `BEGIN` happens here:\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\n\n -- build model\n {% call statement('main') -%}\n {{ get_create_table_as_sql(False, intermediate_relation, sql) }}\n {%- endcall %}\n\n -- cleanup\n {% if existing_relation is not none %}\n /* Do the equivalent of rename_if_exists. 'existing_relation' could have been dropped\n since the variable was first set. */\n {% set existing_relation = load_cached_relation(existing_relation) %}\n {% if existing_relation is not none %}\n {{ adapter.rename_relation(existing_relation, backup_relation) }}\n {% endif %}\n {% endif %}\n\n {{ adapter.rename_relation(intermediate_relation, target_relation) }}\n\n {% do create_indexes(target_relation) %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n {% set should_revoke = should_revoke(existing_relation, full_refresh_mode=True) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n -- `COMMIT` happens here\n {{ adapter.commit() }}\n\n -- finally, drop the existing/backup relation after the commit\n {{ drop_relation_if_exists(backup_relation) }}\n\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n\n {{ return({'relations': [target_relation]}) }}\n{% endmaterialization %}", "depends_on": {"macros": ["macro.dbt.load_cached_relation", "macro.dbt.make_intermediate_relation", "macro.dbt.make_backup_relation", "macro.dbt.drop_relation_if_exists", "macro.dbt.run_hooks", "macro.dbt.statement", "macro.dbt.get_create_table_as_sql", "macro.dbt.create_indexes", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.570956, "supported_languages": ["sql"]}, "macro.dbt.get_quoted_csv": {"name": "get_quoted_csv", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "unique_id": "macro.dbt.get_quoted_csv", "macro_sql": "{% macro get_quoted_csv(column_names) %}\n\n {% set quoted = [] %}\n {% for col in column_names -%}\n {%- do quoted.append(adapter.quote(col)) -%}\n {%- endfor %}\n\n {%- set dest_cols_csv = quoted | join(', ') -%}\n {{ return(dest_cols_csv) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.572396, "supported_languages": null}, "macro.dbt.diff_columns": {"name": "diff_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "unique_id": "macro.dbt.diff_columns", "macro_sql": "{% macro diff_columns(source_columns, target_columns) %}\n\n {% set result = [] %}\n {% set source_names = source_columns | map(attribute = 'column') | list %}\n {% set target_names = target_columns | map(attribute = 'column') | list %}\n\n {# --check whether the name attribute exists in the target - this does not perform a data type check #}\n {% for sc in source_columns %}\n {% if sc.name not in target_names %}\n {{ result.append(sc) }}\n {% endif %}\n {% endfor %}\n\n {{ return(result) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.572908, "supported_languages": null}, "macro.dbt.diff_column_data_types": {"name": "diff_column_data_types", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "unique_id": "macro.dbt.diff_column_data_types", "macro_sql": "{% macro diff_column_data_types(source_columns, target_columns) %}\n\n {% set result = [] %}\n {% for sc in source_columns %}\n {% set tc = target_columns | selectattr(\"name\", \"equalto\", sc.name) | list | first %}\n {% if tc %}\n {% if sc.data_type != tc.data_type and not sc.can_expand_to(other_column=tc) %}\n {{ result.append( { 'column_name': tc.name, 'new_type': sc.data_type } ) }}\n {% endif %}\n {% endif %}\n {% endfor %}\n\n {{ return(result) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.573754, "supported_languages": null}, "macro.dbt.get_merge_update_columns": {"name": "get_merge_update_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "unique_id": "macro.dbt.get_merge_update_columns", "macro_sql": "{% macro get_merge_update_columns(merge_update_columns, merge_exclude_columns, dest_columns) %}\n {{ return(adapter.dispatch('get_merge_update_columns', 'dbt')(merge_update_columns, merge_exclude_columns, dest_columns)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_merge_update_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5740318, "supported_languages": null}, "macro.dbt.default__get_merge_update_columns": {"name": "default__get_merge_update_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "unique_id": "macro.dbt.default__get_merge_update_columns", "macro_sql": "{% macro default__get_merge_update_columns(merge_update_columns, merge_exclude_columns, dest_columns) %}\n {%- set default_cols = dest_columns | map(attribute=\"quoted\") | list -%}\n\n {%- if merge_update_columns and merge_exclude_columns -%}\n {{ exceptions.raise_compiler_error(\n 'Model cannot specify merge_update_columns and merge_exclude_columns. Please update model to use only one config'\n )}}\n {%- elif merge_update_columns -%}\n {%- set update_columns = merge_update_columns -%}\n {%- elif merge_exclude_columns -%}\n {%- set update_columns = [] -%}\n {%- for column in dest_columns -%}\n {% if column.column | lower not in merge_exclude_columns | map(\"lower\") | list %}\n {%- do update_columns.append(column.quoted) -%}\n {% endif %}\n {%- endfor -%}\n {%- else -%}\n {%- set update_columns = default_cols -%}\n {%- endif -%}\n\n {{ return(update_columns) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.574772, "supported_languages": null}, "macro.dbt.get_merge_sql": {"name": "get_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "unique_id": "macro.dbt.get_merge_sql", "macro_sql": "{% macro get_merge_sql(target, source, unique_key, dest_columns, incremental_predicates=none) -%}\n -- back compat for old kwarg name\n {% set incremental_predicates = kwargs.get('predicates', incremental_predicates) %}\n {{ adapter.dispatch('get_merge_sql', 'dbt')(target, source, unique_key, dest_columns, incremental_predicates) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.580085, "supported_languages": null}, "macro.dbt.default__get_merge_sql": {"name": "default__get_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "unique_id": "macro.dbt.default__get_merge_sql", "macro_sql": "{% macro default__get_merge_sql(target, source, unique_key, dest_columns, incremental_predicates=none) -%}\n {%- set predicates = [] if incremental_predicates is none else [] + incremental_predicates -%}\n {%- set dest_cols_csv = get_quoted_csv(dest_columns | map(attribute=\"name\")) -%}\n {%- set merge_update_columns = config.get('merge_update_columns') -%}\n {%- set merge_exclude_columns = config.get('merge_exclude_columns') -%}\n {%- set update_columns = get_merge_update_columns(merge_update_columns, merge_exclude_columns, dest_columns) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {% if unique_key %}\n {% if unique_key is sequence and unique_key is not mapping and unique_key is not string %}\n {% for key in unique_key %}\n {% set this_key_match %}\n DBT_INTERNAL_SOURCE.{{ key }} = DBT_INTERNAL_DEST.{{ key }}\n {% endset %}\n {% do predicates.append(this_key_match) %}\n {% endfor %}\n {% else %}\n {% set unique_key_match %}\n DBT_INTERNAL_SOURCE.{{ unique_key }} = DBT_INTERNAL_DEST.{{ unique_key }}\n {% endset %}\n {% do predicates.append(unique_key_match) %}\n {% endif %}\n {% else %}\n {% do predicates.append('FALSE') %}\n {% endif %}\n\n {{ sql_header if sql_header is not none }}\n\n merge into {{ target }} as DBT_INTERNAL_DEST\n using {{ source }} as DBT_INTERNAL_SOURCE\n on {{\"(\" ~ predicates | join(\") and (\") ~ \")\"}}\n\n {% if unique_key %}\n when matched then update set\n {% for column_name in update_columns -%}\n {{ column_name }} = DBT_INTERNAL_SOURCE.{{ column_name }}\n {%- if not loop.last %}, {%- endif %}\n {%- endfor %}\n {% endif %}\n\n when not matched then insert\n ({{ dest_cols_csv }})\n values\n ({{ dest_cols_csv }})\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_quoted_csv", "macro.dbt.get_merge_update_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.581527, "supported_languages": null}, "macro.dbt.get_delete_insert_merge_sql": {"name": "get_delete_insert_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "unique_id": "macro.dbt.get_delete_insert_merge_sql", "macro_sql": "{% macro get_delete_insert_merge_sql(target, source, unique_key, dest_columns, incremental_predicates) -%}\n {{ adapter.dispatch('get_delete_insert_merge_sql', 'dbt')(target, source, unique_key, dest_columns, incremental_predicates) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_delete_insert_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5817652, "supported_languages": null}, "macro.dbt.default__get_delete_insert_merge_sql": {"name": "default__get_delete_insert_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "unique_id": "macro.dbt.default__get_delete_insert_merge_sql", "macro_sql": "{% macro default__get_delete_insert_merge_sql(target, source, unique_key, dest_columns, incremental_predicates) -%}\n\n {%- set dest_cols_csv = get_quoted_csv(dest_columns | map(attribute=\"name\")) -%}\n\n {% if unique_key %}\n {% if unique_key is sequence and unique_key is not string %}\n delete from {{target }}\n using {{ source }}\n where (\n {% for key in unique_key %}\n {{ source }}.{{ key }} = {{ target }}.{{ key }}\n {{ \"and \" if not loop.last}}\n {% endfor %}\n {% if incremental_predicates %}\n {% for predicate in incremental_predicates %}\n and {{ predicate }}\n {% endfor %}\n {% endif %}\n );\n {% else %}\n delete from {{ target }}\n where (\n {{ unique_key }}) in (\n select ({{ unique_key }})\n from {{ source }}\n )\n {%- if incremental_predicates %}\n {% for predicate in incremental_predicates %}\n and {{ predicate }}\n {% endfor %}\n {%- endif -%};\n\n {% endif %}\n {% endif %}\n\n insert into {{ target }} ({{ dest_cols_csv }})\n (\n select {{ dest_cols_csv }}\n from {{ source }}\n )\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.get_quoted_csv"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5826519, "supported_languages": null}, "macro.dbt.get_insert_overwrite_merge_sql": {"name": "get_insert_overwrite_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "unique_id": "macro.dbt.get_insert_overwrite_merge_sql", "macro_sql": "{% macro get_insert_overwrite_merge_sql(target, source, dest_columns, predicates, include_sql_header=false) -%}\n {{ adapter.dispatch('get_insert_overwrite_merge_sql', 'dbt')(target, source, dest_columns, predicates, include_sql_header) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_insert_overwrite_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5828962, "supported_languages": null}, "macro.dbt.default__get_insert_overwrite_merge_sql": {"name": "default__get_insert_overwrite_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "unique_id": "macro.dbt.default__get_insert_overwrite_merge_sql", "macro_sql": "{% macro default__get_insert_overwrite_merge_sql(target, source, dest_columns, predicates, include_sql_header) -%}\n {#-- The only time include_sql_header is True: --#}\n {#-- BigQuery + insert_overwrite strategy + \"static\" partitions config --#}\n {#-- We should consider including the sql header at the materialization level instead --#}\n\n {%- set predicates = [] if predicates is none else [] + predicates -%}\n {%- set dest_cols_csv = get_quoted_csv(dest_columns | map(attribute=\"name\")) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {{ sql_header if sql_header is not none and include_sql_header }}\n\n merge into {{ target }} as DBT_INTERNAL_DEST\n using {{ source }} as DBT_INTERNAL_SOURCE\n on FALSE\n\n when not matched by source\n {% if predicates %} and {{ predicates | join(' and ') }} {% endif %}\n then delete\n\n when not matched then insert\n ({{ dest_cols_csv }})\n values\n ({{ dest_cols_csv }})\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_quoted_csv"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.58369, "supported_languages": null}, "macro.dbt.is_incremental": {"name": "is_incremental", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/is_incremental.sql", "original_file_path": "macros/materializations/models/incremental/is_incremental.sql", "unique_id": "macro.dbt.is_incremental", "macro_sql": "{% macro is_incremental() %}\n {#-- do not run introspective queries in parsing #}\n {% if not execute %}\n {{ return(False) }}\n {% else %}\n {% set relation = adapter.get_relation(this.database, this.schema, this.table) %}\n {{ return(relation is not none\n and relation.type == 'table'\n and model.config.materialized == 'incremental'\n and not should_full_refresh()) }}\n {% endif %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.should_full_refresh"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5844831, "supported_languages": null}, "macro.dbt.get_incremental_append_sql": {"name": "get_incremental_append_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.get_incremental_append_sql", "macro_sql": "{% macro get_incremental_append_sql(arg_dict) %}\n\n {{ return(adapter.dispatch('get_incremental_append_sql', 'dbt')(arg_dict)) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_incremental_append_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.585286, "supported_languages": null}, "macro.dbt.default__get_incremental_append_sql": {"name": "default__get_incremental_append_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.default__get_incremental_append_sql", "macro_sql": "{% macro default__get_incremental_append_sql(arg_dict) %}\n\n {% do return(get_insert_into_sql(arg_dict[\"target_relation\"], arg_dict[\"temp_relation\"], arg_dict[\"dest_columns\"])) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_insert_into_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5855072, "supported_languages": null}, "macro.dbt.get_incremental_delete_insert_sql": {"name": "get_incremental_delete_insert_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.get_incremental_delete_insert_sql", "macro_sql": "{% macro get_incremental_delete_insert_sql(arg_dict) %}\n\n {{ return(adapter.dispatch('get_incremental_delete_insert_sql', 'dbt')(arg_dict)) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_incremental_delete_insert_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.585681, "supported_languages": null}, "macro.dbt.default__get_incremental_delete_insert_sql": {"name": "default__get_incremental_delete_insert_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.default__get_incremental_delete_insert_sql", "macro_sql": "{% macro default__get_incremental_delete_insert_sql(arg_dict) %}\n\n {% do return(get_delete_insert_merge_sql(arg_dict[\"target_relation\"], arg_dict[\"temp_relation\"], arg_dict[\"unique_key\"], arg_dict[\"dest_columns\"], arg_dict[\"incremental_predicates\"])) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_delete_insert_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.585949, "supported_languages": null}, "macro.dbt.get_incremental_merge_sql": {"name": "get_incremental_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.get_incremental_merge_sql", "macro_sql": "{% macro get_incremental_merge_sql(arg_dict) %}\n\n {{ return(adapter.dispatch('get_incremental_merge_sql', 'dbt')(arg_dict)) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_incremental_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.586205, "supported_languages": null}, "macro.dbt.default__get_incremental_merge_sql": {"name": "default__get_incremental_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.default__get_incremental_merge_sql", "macro_sql": "{% macro default__get_incremental_merge_sql(arg_dict) %}\n\n {% do return(get_merge_sql(arg_dict[\"target_relation\"], arg_dict[\"temp_relation\"], arg_dict[\"unique_key\"], arg_dict[\"dest_columns\"], arg_dict[\"incremental_predicates\"])) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.586472, "supported_languages": null}, "macro.dbt.get_incremental_insert_overwrite_sql": {"name": "get_incremental_insert_overwrite_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.get_incremental_insert_overwrite_sql", "macro_sql": "{% macro get_incremental_insert_overwrite_sql(arg_dict) %}\n\n {{ return(adapter.dispatch('get_incremental_insert_overwrite_sql', 'dbt')(arg_dict)) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_incremental_insert_overwrite_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.58664, "supported_languages": null}, "macro.dbt.default__get_incremental_insert_overwrite_sql": {"name": "default__get_incremental_insert_overwrite_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.default__get_incremental_insert_overwrite_sql", "macro_sql": "{% macro default__get_incremental_insert_overwrite_sql(arg_dict) %}\n\n {% do return(get_insert_overwrite_merge_sql(arg_dict[\"target_relation\"], arg_dict[\"temp_relation\"], arg_dict[\"dest_columns\"], arg_dict[\"incremental_predicates\"])) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_insert_overwrite_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.586875, "supported_languages": null}, "macro.dbt.get_incremental_default_sql": {"name": "get_incremental_default_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.get_incremental_default_sql", "macro_sql": "{% macro get_incremental_default_sql(arg_dict) %}\n\n {{ return(adapter.dispatch('get_incremental_default_sql', 'dbt')(arg_dict)) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_incremental_default_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.58704, "supported_languages": null}, "macro.dbt.default__get_incremental_default_sql": {"name": "default__get_incremental_default_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.default__get_incremental_default_sql", "macro_sql": "{% macro default__get_incremental_default_sql(arg_dict) %}\n\n {% do return(get_incremental_append_sql(arg_dict)) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_incremental_append_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.587172, "supported_languages": null}, "macro.dbt.get_insert_into_sql": {"name": "get_insert_into_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.get_insert_into_sql", "macro_sql": "{% macro get_insert_into_sql(target_relation, temp_relation, dest_columns) %}\n\n {%- set dest_cols_csv = get_quoted_csv(dest_columns | map(attribute=\"name\")) -%}\n\n insert into {{ target_relation }} ({{ dest_cols_csv }})\n (\n select {{ dest_cols_csv }}\n from {{ temp_relation }}\n )\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_quoted_csv"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5874188, "supported_languages": null}, "macro.dbt.materialization_incremental_default": {"name": "materialization_incremental_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/incremental.sql", "original_file_path": "macros/materializations/models/incremental/incremental.sql", "unique_id": "macro.dbt.materialization_incremental_default", "macro_sql": "{% materialization incremental, default -%}\n\n -- relations\n {%- set existing_relation = load_cached_relation(this) -%}\n {%- set target_relation = this.incorporate(type='table') -%}\n {%- set temp_relation = make_temp_relation(target_relation)-%}\n {%- set intermediate_relation = make_intermediate_relation(target_relation)-%}\n {%- set backup_relation_type = 'table' if existing_relation is none else existing_relation.type -%}\n {%- set backup_relation = make_backup_relation(target_relation, backup_relation_type) -%}\n\n -- configs\n {%- set unique_key = config.get('unique_key') -%}\n {%- set full_refresh_mode = (should_full_refresh() or existing_relation.is_view) -%}\n {%- set on_schema_change = incremental_validate_on_schema_change(config.get('on_schema_change'), default='ignore') -%}\n\n -- the temp_ and backup_ relations should not already exist in the database; get_relation\n -- will return None in that case. Otherwise, we get a relation that we can drop\n -- later, before we try to use this name for the current operation. This has to happen before\n -- BEGIN, in a separate transaction\n {%- set preexisting_intermediate_relation = load_cached_relation(intermediate_relation)-%}\n {%- set preexisting_backup_relation = load_cached_relation(backup_relation) -%}\n -- grab current tables grants config for comparision later on\n {% set grant_config = config.get('grants') %}\n {{ drop_relation_if_exists(preexisting_intermediate_relation) }}\n {{ drop_relation_if_exists(preexisting_backup_relation) }}\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n -- `BEGIN` happens here:\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\n\n {% set to_drop = [] %}\n\n {% if existing_relation is none %}\n {% set build_sql = get_create_table_as_sql(False, target_relation, sql) %}\n {% elif full_refresh_mode %}\n {% set build_sql = get_create_table_as_sql(False, intermediate_relation, sql) %}\n {% set need_swap = true %}\n {% else %}\n {% do run_query(get_create_table_as_sql(True, temp_relation, sql)) %}\n {% do adapter.expand_target_column_types(\n from_relation=temp_relation,\n to_relation=target_relation) %}\n {#-- Process schema changes. Returns dict of changes if successful. Use source columns for upserting/merging --#}\n {% set dest_columns = process_schema_changes(on_schema_change, temp_relation, existing_relation) %}\n {% if not dest_columns %}\n {% set dest_columns = adapter.get_columns_in_relation(existing_relation) %}\n {% endif %}\n\n {#-- Get the incremental_strategy, the macro to use for the strategy, and build the sql --#}\n {% set incremental_strategy = config.get('incremental_strategy') or 'default' %}\n {% set incremental_predicates = config.get('predicates', none) or config.get('incremental_predicates', none) %}\n {% set strategy_sql_macro_func = adapter.get_incremental_strategy_macro(context, incremental_strategy) %}\n {% set strategy_arg_dict = ({'target_relation': target_relation, 'temp_relation': temp_relation, 'unique_key': unique_key, 'dest_columns': dest_columns, 'incremental_predicates': incremental_predicates }) %}\n {% set build_sql = strategy_sql_macro_func(strategy_arg_dict) %}\n\n {% endif %}\n\n {% call statement(\"main\") %}\n {{ build_sql }}\n {% endcall %}\n\n {% if need_swap %}\n {% do adapter.rename_relation(target_relation, backup_relation) %}\n {% do adapter.rename_relation(intermediate_relation, target_relation) %}\n {% do to_drop.append(backup_relation) %}\n {% endif %}\n\n {% set should_revoke = should_revoke(existing_relation, full_refresh_mode) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n {% if existing_relation is none or existing_relation.is_view or should_full_refresh() %}\n {% do create_indexes(target_relation) %}\n {% endif %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n -- `COMMIT` happens here\n {% do adapter.commit() %}\n\n {% for rel in to_drop %}\n {% do adapter.drop_relation(rel) %}\n {% endfor %}\n\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n\n {{ return({'relations': [target_relation]}) }}\n\n{%- endmaterialization %}", "depends_on": {"macros": ["macro.dbt.load_cached_relation", "macro.dbt.make_temp_relation", "macro.dbt.make_intermediate_relation", "macro.dbt.make_backup_relation", "macro.dbt.should_full_refresh", "macro.dbt.incremental_validate_on_schema_change", "macro.dbt.drop_relation_if_exists", "macro.dbt.run_hooks", "macro.dbt.get_create_table_as_sql", "macro.dbt.run_query", "macro.dbt.process_schema_changes", "macro.dbt.statement", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs", "macro.dbt.create_indexes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5918798, "supported_languages": ["sql"]}, "macro.dbt.incremental_validate_on_schema_change": {"name": "incremental_validate_on_schema_change", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/on_schema_change.sql", "original_file_path": "macros/materializations/models/incremental/on_schema_change.sql", "unique_id": "macro.dbt.incremental_validate_on_schema_change", "macro_sql": "{% macro incremental_validate_on_schema_change(on_schema_change, default='ignore') %}\n\n {% if on_schema_change not in ['sync_all_columns', 'append_new_columns', 'fail', 'ignore'] %}\n\n {% set log_message = 'Invalid value for on_schema_change (%s) specified. Setting default value of %s.' % (on_schema_change, default) %}\n {% do log(log_message) %}\n\n {{ return(default) }}\n\n {% else %}\n\n {{ return(on_schema_change) }}\n\n {% endif %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.596982, "supported_languages": null}, "macro.dbt.check_for_schema_changes": {"name": "check_for_schema_changes", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/on_schema_change.sql", "original_file_path": "macros/materializations/models/incremental/on_schema_change.sql", "unique_id": "macro.dbt.check_for_schema_changes", "macro_sql": "{% macro check_for_schema_changes(source_relation, target_relation) %}\n\n {% set schema_changed = False %}\n\n {%- set source_columns = adapter.get_columns_in_relation(source_relation) -%}\n {%- set target_columns = adapter.get_columns_in_relation(target_relation) -%}\n {%- set source_not_in_target = diff_columns(source_columns, target_columns) -%}\n {%- set target_not_in_source = diff_columns(target_columns, source_columns) -%}\n\n {% set new_target_types = diff_column_data_types(source_columns, target_columns) %}\n\n {% if source_not_in_target != [] %}\n {% set schema_changed = True %}\n {% elif target_not_in_source != [] or new_target_types != [] %}\n {% set schema_changed = True %}\n {% elif new_target_types != [] %}\n {% set schema_changed = True %}\n {% endif %}\n\n {% set changes_dict = {\n 'schema_changed': schema_changed,\n 'source_not_in_target': source_not_in_target,\n 'target_not_in_source': target_not_in_source,\n 'source_columns': source_columns,\n 'target_columns': target_columns,\n 'new_target_types': new_target_types\n } %}\n\n {% set msg %}\n In {{ target_relation }}:\n Schema changed: {{ schema_changed }}\n Source columns not in target: {{ source_not_in_target }}\n Target columns not in source: {{ target_not_in_source }}\n New column types: {{ new_target_types }}\n {% endset %}\n\n {% do log(msg) %}\n\n {{ return(changes_dict) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.diff_columns", "macro.dbt.diff_column_data_types"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5982919, "supported_languages": null}, "macro.dbt.sync_column_schemas": {"name": "sync_column_schemas", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/on_schema_change.sql", "original_file_path": "macros/materializations/models/incremental/on_schema_change.sql", "unique_id": "macro.dbt.sync_column_schemas", "macro_sql": "{% macro sync_column_schemas(on_schema_change, target_relation, schema_changes_dict) %}\n\n {%- set add_to_target_arr = schema_changes_dict['source_not_in_target'] -%}\n\n {%- if on_schema_change == 'append_new_columns'-%}\n {%- if add_to_target_arr | length > 0 -%}\n {%- do alter_relation_add_remove_columns(target_relation, add_to_target_arr, none) -%}\n {%- endif -%}\n\n {% elif on_schema_change == 'sync_all_columns' %}\n {%- set remove_from_target_arr = schema_changes_dict['target_not_in_source'] -%}\n {%- set new_target_types = schema_changes_dict['new_target_types'] -%}\n\n {% if add_to_target_arr | length > 0 or remove_from_target_arr | length > 0 %}\n {%- do alter_relation_add_remove_columns(target_relation, add_to_target_arr, remove_from_target_arr) -%}\n {% endif %}\n\n {% if new_target_types != [] %}\n {% for ntt in new_target_types %}\n {% set column_name = ntt['column_name'] %}\n {% set new_type = ntt['new_type'] %}\n {% do alter_column_type(target_relation, column_name, new_type) %}\n {% endfor %}\n {% endif %}\n\n {% endif %}\n\n {% set schema_change_message %}\n In {{ target_relation }}:\n Schema change approach: {{ on_schema_change }}\n Columns added: {{ add_to_target_arr }}\n Columns removed: {{ remove_from_target_arr }}\n Data types changed: {{ new_target_types }}\n {% endset %}\n\n {% do log(schema_change_message) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.alter_relation_add_remove_columns", "macro.dbt.alter_column_type"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.5993779, "supported_languages": null}, "macro.dbt.process_schema_changes": {"name": "process_schema_changes", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/on_schema_change.sql", "original_file_path": "macros/materializations/models/incremental/on_schema_change.sql", "unique_id": "macro.dbt.process_schema_changes", "macro_sql": "{% macro process_schema_changes(on_schema_change, source_relation, target_relation) %}\n\n {% if on_schema_change == 'ignore' %}\n\n {{ return({}) }}\n\n {% else %}\n\n {% set schema_changes_dict = check_for_schema_changes(source_relation, target_relation) %}\n\n {% if schema_changes_dict['schema_changed'] %}\n\n {% if on_schema_change == 'fail' %}\n\n {% set fail_msg %}\n The source and target schemas on this incremental model are out of sync!\n They can be reconciled in several ways:\n - set the `on_schema_change` config to either append_new_columns or sync_all_columns, depending on your situation.\n - Re-run the incremental model with `full_refresh: True` to update the target schema.\n - update the schema manually and re-run the process.\n\n Additional troubleshooting context:\n Source columns not in target: {{ schema_changes_dict['source_not_in_target'] }}\n Target columns not in source: {{ schema_changes_dict['target_not_in_source'] }}\n New column types: {{ schema_changes_dict['new_target_types'] }}\n {% endset %}\n\n {% do exceptions.raise_compiler_error(fail_msg) %}\n\n {# -- unless we ignore, run the sync operation per the config #}\n {% else %}\n\n {% do sync_column_schemas(on_schema_change, target_relation, schema_changes_dict) %}\n\n {% endif %}\n\n {% endif %}\n\n {{ return(schema_changes_dict['source_columns']) }}\n\n {% endif %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.check_for_schema_changes", "macro.dbt.sync_column_schemas"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.600111, "supported_languages": null}, "macro.dbt.can_clone_table": {"name": "can_clone_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/clone/can_clone_table.sql", "original_file_path": "macros/materializations/models/clone/can_clone_table.sql", "unique_id": "macro.dbt.can_clone_table", "macro_sql": "{% macro can_clone_table() %}\n {{ return(adapter.dispatch('can_clone_table', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__can_clone_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.600329, "supported_languages": null}, "macro.dbt.default__can_clone_table": {"name": "default__can_clone_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/clone/can_clone_table.sql", "original_file_path": "macros/materializations/models/clone/can_clone_table.sql", "unique_id": "macro.dbt.default__can_clone_table", "macro_sql": "{% macro default__can_clone_table() %}\n {{ return(False) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6004312, "supported_languages": null}, "macro.dbt.create_or_replace_clone": {"name": "create_or_replace_clone", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/clone/create_or_replace_clone.sql", "original_file_path": "macros/materializations/models/clone/create_or_replace_clone.sql", "unique_id": "macro.dbt.create_or_replace_clone", "macro_sql": "{% macro create_or_replace_clone(this_relation, defer_relation) %}\n {{ return(adapter.dispatch('create_or_replace_clone', 'dbt')(this_relation, defer_relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__create_or_replace_clone"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6006882, "supported_languages": null}, "macro.dbt.default__create_or_replace_clone": {"name": "default__create_or_replace_clone", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/clone/create_or_replace_clone.sql", "original_file_path": "macros/materializations/models/clone/create_or_replace_clone.sql", "unique_id": "macro.dbt.default__create_or_replace_clone", "macro_sql": "{% macro default__create_or_replace_clone(this_relation, defer_relation) %}\n create or replace table {{ this_relation }} clone {{ defer_relation }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.600804, "supported_languages": null}, "macro.dbt.materialization_clone_default": {"name": "materialization_clone_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/clone/clone.sql", "original_file_path": "macros/materializations/models/clone/clone.sql", "unique_id": "macro.dbt.materialization_clone_default", "macro_sql": "{%- materialization clone, default -%}\n\n {%- set relations = {'relations': []} -%}\n\n {%- if not defer_relation -%}\n -- nothing to do\n {{ log(\"No relation found in state manifest for \" ~ model.unique_id, info=True) }}\n {{ return(relations) }}\n {%- endif -%}\n\n {%- set existing_relation = load_cached_relation(this) -%}\n\n {%- if existing_relation and not flags.FULL_REFRESH -%}\n -- noop!\n {{ log(\"Relation \" ~ existing_relation ~ \" already exists\", info=True) }}\n {{ return(relations) }}\n {%- endif -%}\n\n {%- set other_existing_relation = load_cached_relation(defer_relation) -%}\n\n -- If this is a database that can do zero-copy cloning of tables, and the other relation is a table, then this will be a table\n -- Otherwise, this will be a view\n\n {% set can_clone_table = can_clone_table() %}\n\n {%- if other_existing_relation and other_existing_relation.type == 'table' and can_clone_table -%}\n\n {%- set target_relation = this.incorporate(type='table') -%}\n {% if existing_relation is not none and not existing_relation.is_table %}\n {{ log(\"Dropping relation \" ~ existing_relation ~ \" because it is of type \" ~ existing_relation.type) }}\n {{ drop_relation_if_exists(existing_relation) }}\n {% endif %}\n\n -- as a general rule, data platforms that can clone tables can also do atomic 'create or replace'\n {% call statement('main') %}\n {% if target_relation and defer_relation and target_relation == defer_relation %}\n {{ log(\"Target relation and defer relation are the same, skipping clone for relation: \" ~ target_relation) }}\n {% else %}\n {{ create_or_replace_clone(target_relation, defer_relation) }}\n {% endif %}\n\n {% endcall %}\n\n {% set should_revoke = should_revoke(existing_relation, full_refresh_mode=True) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n {% do persist_docs(target_relation, model) %}\n\n {{ return({'relations': [target_relation]}) }}\n\n {%- else -%}\n\n {%- set target_relation = this.incorporate(type='view') -%}\n\n -- reuse the view materialization\n -- TODO: support actual dispatch for materialization macros\n -- Tracking ticket: https://github.com/dbt-labs/dbt-core/issues/7799\n {% set search_name = \"materialization_view_\" ~ adapter.type() %}\n {% if not search_name in context %}\n {% set search_name = \"materialization_view_default\" %}\n {% endif %}\n {% set materialization_macro = context[search_name] %}\n {% set relations = materialization_macro() %}\n {{ return(relations) }}\n\n {%- endif -%}\n\n{%- endmaterialization -%}", "depends_on": {"macros": ["macro.dbt.load_cached_relation", "macro.dbt.can_clone_table", "macro.dbt.drop_relation_if_exists", "macro.dbt.statement", "macro.dbt.create_or_replace_clone", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.604372, "supported_languages": ["sql"]}, "macro.dbt.materialization_seed_default": {"name": "materialization_seed_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/seed.sql", "original_file_path": "macros/materializations/seeds/seed.sql", "unique_id": "macro.dbt.materialization_seed_default", "macro_sql": "{% materialization seed, default %}\n\n {%- set identifier = model['alias'] -%}\n {%- set full_refresh_mode = (should_full_refresh()) -%}\n\n {%- set old_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) -%}\n\n {%- set exists_as_table = (old_relation is not none and old_relation.is_table) -%}\n {%- set exists_as_view = (old_relation is not none and old_relation.is_view) -%}\n\n {%- set grant_config = config.get('grants') -%}\n {%- set agate_table = load_agate_table() -%}\n -- grab current tables grants config for comparison later on\n\n {%- do store_result('agate_table', response='OK', agate_table=agate_table) -%}\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n -- `BEGIN` happens here:\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\n\n -- build model\n {% set create_table_sql = \"\" %}\n {% if exists_as_view %}\n {{ exceptions.raise_compiler_error(\"Cannot seed to '{}', it is a view\".format(old_relation)) }}\n {% elif exists_as_table %}\n {% set create_table_sql = reset_csv_table(model, full_refresh_mode, old_relation, agate_table) %}\n {% else %}\n {% set create_table_sql = create_csv_table(model, agate_table) %}\n {% endif %}\n\n {% set code = 'CREATE' if full_refresh_mode else 'INSERT' %}\n {% set rows_affected = (agate_table.rows | length) %}\n {% set sql = load_csv_rows(model, agate_table) %}\n\n {% call noop_statement('main', code ~ ' ' ~ rows_affected, code, rows_affected) %}\n {{ get_csv_sql(create_table_sql, sql) }};\n {% endcall %}\n\n {% set target_relation = this.incorporate(type='table') %}\n\n {% set should_revoke = should_revoke(old_relation, full_refresh_mode) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n {% if full_refresh_mode or not exists_as_table %}\n {% do create_indexes(target_relation) %}\n {% endif %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n -- `COMMIT` happens here\n {{ adapter.commit() }}\n\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n\n {{ return({'relations': [target_relation]}) }}\n\n{% endmaterialization %}", "depends_on": {"macros": ["macro.dbt.should_full_refresh", "macro.dbt.run_hooks", "macro.dbt.reset_csv_table", "macro.dbt.create_csv_table", "macro.dbt.load_csv_rows", "macro.dbt.noop_statement", "macro.dbt.get_csv_sql", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs", "macro.dbt.create_indexes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.607402, "supported_languages": ["sql"]}, "macro.dbt.create_csv_table": {"name": "create_csv_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.create_csv_table", "macro_sql": "{% macro create_csv_table(model, agate_table) -%}\n {{ adapter.dispatch('create_csv_table', 'dbt')(model, agate_table) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__create_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.611861, "supported_languages": null}, "macro.dbt.default__create_csv_table": {"name": "default__create_csv_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.default__create_csv_table", "macro_sql": "{% macro default__create_csv_table(model, agate_table) %}\n {%- set column_override = model['config'].get('column_types', {}) -%}\n {%- set quote_seed_column = model['config'].get('quote_columns', None) -%}\n\n {% set sql %}\n create table {{ this.render() }} (\n {%- for col_name in agate_table.column_names -%}\n {%- set inferred_type = adapter.convert_type(agate_table, loop.index0) -%}\n {%- set type = column_override.get(col_name, inferred_type) -%}\n {%- set column_name = (col_name | string) -%}\n {{ adapter.quote_seed_column(column_name, quote_seed_column) }} {{ type }} {%- if not loop.last -%}, {%- endif -%}\n {%- endfor -%}\n )\n {% endset %}\n\n {% call statement('_') -%}\n {{ sql }}\n {%- endcall %}\n\n {{ return(sql) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6127622, "supported_languages": null}, "macro.dbt.reset_csv_table": {"name": "reset_csv_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.reset_csv_table", "macro_sql": "{% macro reset_csv_table(model, full_refresh, old_relation, agate_table) -%}\n {{ adapter.dispatch('reset_csv_table', 'dbt')(model, full_refresh, old_relation, agate_table) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__reset_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6129842, "supported_languages": null}, "macro.dbt.default__reset_csv_table": {"name": "default__reset_csv_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.default__reset_csv_table", "macro_sql": "{% macro default__reset_csv_table(model, full_refresh, old_relation, agate_table) %}\n {% set sql = \"\" %}\n {% if full_refresh %}\n {{ adapter.drop_relation(old_relation) }}\n {% set sql = create_csv_table(model, agate_table) %}\n {% else %}\n {{ adapter.truncate_relation(old_relation) }}\n {% set sql = \"truncate table \" ~ old_relation %}\n {% endif %}\n\n {{ return(sql) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.create_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6135051, "supported_languages": null}, "macro.dbt.get_csv_sql": {"name": "get_csv_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.get_csv_sql", "macro_sql": "{% macro get_csv_sql(create_or_truncate_sql, insert_sql) %}\n {{ adapter.dispatch('get_csv_sql', 'dbt')(create_or_truncate_sql, insert_sql) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_csv_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.613729, "supported_languages": null}, "macro.dbt.default__get_csv_sql": {"name": "default__get_csv_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.default__get_csv_sql", "macro_sql": "{% macro default__get_csv_sql(create_or_truncate_sql, insert_sql) %}\n {{ create_or_truncate_sql }};\n -- dbt seed --\n {{ insert_sql }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.613868, "supported_languages": null}, "macro.dbt.get_binding_char": {"name": "get_binding_char", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.get_binding_char", "macro_sql": "{% macro get_binding_char() -%}\n {{ adapter.dispatch('get_binding_char', 'dbt')() }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_binding_char"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.614007, "supported_languages": null}, "macro.dbt.default__get_binding_char": {"name": "default__get_binding_char", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.default__get_binding_char", "macro_sql": "{% macro default__get_binding_char() %}\n {{ return('%s') }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.614122, "supported_languages": null}, "macro.dbt.get_batch_size": {"name": "get_batch_size", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.get_batch_size", "macro_sql": "{% macro get_batch_size() -%}\n {{ return(adapter.dispatch('get_batch_size', 'dbt')()) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_batch_size"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.614281, "supported_languages": null}, "macro.dbt.default__get_batch_size": {"name": "default__get_batch_size", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.default__get_batch_size", "macro_sql": "{% macro default__get_batch_size() %}\n {{ return(10000) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.614403, "supported_languages": null}, "macro.dbt.get_seed_column_quoted_csv": {"name": "get_seed_column_quoted_csv", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.get_seed_column_quoted_csv", "macro_sql": "{% macro get_seed_column_quoted_csv(model, column_names) %}\n {%- set quote_seed_column = model['config'].get('quote_columns', None) -%}\n {% set quoted = [] %}\n {% for col in column_names -%}\n {%- do quoted.append(adapter.quote_seed_column(col, quote_seed_column)) -%}\n {%- endfor %}\n\n {%- set dest_cols_csv = quoted | join(', ') -%}\n {{ return(dest_cols_csv) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6148841, "supported_languages": null}, "macro.dbt.load_csv_rows": {"name": "load_csv_rows", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.load_csv_rows", "macro_sql": "{% macro load_csv_rows(model, agate_table) -%}\n {{ adapter.dispatch('load_csv_rows', 'dbt')(model, agate_table) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__load_csv_rows"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.615072, "supported_languages": null}, "macro.dbt.default__load_csv_rows": {"name": "default__load_csv_rows", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.default__load_csv_rows", "macro_sql": "{% macro default__load_csv_rows(model, agate_table) %}\n\n {% set batch_size = get_batch_size() %}\n\n {% set cols_sql = get_seed_column_quoted_csv(model, agate_table.column_names) %}\n {% set bindings = [] %}\n\n {% set statements = [] %}\n\n {% for chunk in agate_table.rows | batch(batch_size) %}\n {% set bindings = [] %}\n\n {% for row in chunk %}\n {% do bindings.extend(row) %}\n {% endfor %}\n\n {% set sql %}\n insert into {{ this.render() }} ({{ cols_sql }}) values\n {% for row in chunk -%}\n ({%- for column in agate_table.column_names -%}\n {{ get_binding_char() }}\n {%- if not loop.last%},{%- endif %}\n {%- endfor -%})\n {%- if not loop.last%},{%- endif %}\n {%- endfor %}\n {% endset %}\n\n {% do adapter.add_query(sql, bindings=bindings, abridge_sql_log=True) %}\n\n {% if loop.index0 == 0 %}\n {% do statements.append(sql) %}\n {% endif %}\n {% endfor %}\n\n {# Return SQL so we can render it out into the compiled files #}\n {{ return(statements[0]) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_batch_size", "macro.dbt.get_seed_column_quoted_csv", "macro.dbt.get_binding_char"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.616298, "supported_languages": null}, "macro.dbt.generate_alias_name": {"name": "generate_alias_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_alias.sql", "original_file_path": "macros/get_custom_name/get_custom_alias.sql", "unique_id": "macro.dbt.generate_alias_name", "macro_sql": "{% macro generate_alias_name(custom_alias_name=none, node=none) -%}\n {% do return(adapter.dispatch('generate_alias_name', 'dbt')(custom_alias_name, node)) %}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__generate_alias_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.616735, "supported_languages": null}, "macro.dbt.default__generate_alias_name": {"name": "default__generate_alias_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_alias.sql", "original_file_path": "macros/get_custom_name/get_custom_alias.sql", "unique_id": "macro.dbt.default__generate_alias_name", "macro_sql": "{% macro default__generate_alias_name(custom_alias_name=none, node=none) -%}\n\n {%- if custom_alias_name -%}\n\n {{ custom_alias_name | trim }}\n\n {%- elif node.version -%}\n\n {{ return(node.name ~ \"_v\" ~ (node.version | replace(\".\", \"_\"))) }}\n\n {%- else -%}\n\n {{ node.name }}\n\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.617093, "supported_languages": null}, "macro.dbt.generate_schema_name": {"name": "generate_schema_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_schema.sql", "original_file_path": "macros/get_custom_name/get_custom_schema.sql", "unique_id": "macro.dbt.generate_schema_name", "macro_sql": "{% macro generate_schema_name(custom_schema_name=none, node=none) -%}\n {{ return(adapter.dispatch('generate_schema_name', 'dbt')(custom_schema_name, node)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__generate_schema_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.617601, "supported_languages": null}, "macro.dbt.default__generate_schema_name": {"name": "default__generate_schema_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_schema.sql", "original_file_path": "macros/get_custom_name/get_custom_schema.sql", "unique_id": "macro.dbt.default__generate_schema_name", "macro_sql": "{% macro default__generate_schema_name(custom_schema_name, node) -%}\n\n {%- set default_schema = target.schema -%}\n {%- if custom_schema_name is none -%}\n\n {{ default_schema }}\n\n {%- else -%}\n\n {{ default_schema }}_{{ custom_schema_name | trim }}\n\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6178539, "supported_languages": null}, "macro.dbt.generate_schema_name_for_env": {"name": "generate_schema_name_for_env", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_schema.sql", "original_file_path": "macros/get_custom_name/get_custom_schema.sql", "unique_id": "macro.dbt.generate_schema_name_for_env", "macro_sql": "{% macro generate_schema_name_for_env(custom_schema_name, node) -%}\n\n {%- set default_schema = target.schema -%}\n {%- if target.name == 'prod' and custom_schema_name is not none -%}\n\n {{ custom_schema_name | trim }}\n\n {%- else -%}\n\n {{ default_schema }}\n\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.618123, "supported_languages": null}, "macro.dbt.generate_database_name": {"name": "generate_database_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_database.sql", "original_file_path": "macros/get_custom_name/get_custom_database.sql", "unique_id": "macro.dbt.generate_database_name", "macro_sql": "{% macro generate_database_name(custom_database_name=none, node=none) -%}\n {% do return(adapter.dispatch('generate_database_name', 'dbt')(custom_database_name, node)) %}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__generate_database_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.618485, "supported_languages": null}, "macro.dbt.default__generate_database_name": {"name": "default__generate_database_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_database.sql", "original_file_path": "macros/get_custom_name/get_custom_database.sql", "unique_id": "macro.dbt.default__generate_database_name", "macro_sql": "{% macro default__generate_database_name(custom_database_name=none, node=none) -%}\n {%- set default_database = target.database -%}\n {%- if custom_database_name is none -%}\n\n {{ default_database }}\n\n {%- else -%}\n\n {{ custom_database_name }}\n\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.618714, "supported_languages": null}, "macro.dbt.get_drop_sql": {"name": "get_drop_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/drop.sql", "original_file_path": "macros/relations/drop.sql", "unique_id": "macro.dbt.get_drop_sql", "macro_sql": "{%- macro get_drop_sql(relation) -%}\n {{- log('Applying DROP to: ' ~ relation) -}}\n {{- adapter.dispatch('get_drop_sql', 'dbt')(relation) -}}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": ["macro.dbt.default__get_drop_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.619348, "supported_languages": null}, "macro.dbt.default__get_drop_sql": {"name": "default__get_drop_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/drop.sql", "original_file_path": "macros/relations/drop.sql", "unique_id": "macro.dbt.default__get_drop_sql", "macro_sql": "{%- macro default__get_drop_sql(relation) -%}\n\n {%- if relation.is_view -%}\n {{ drop_view(relation) }}\n\n {%- elif relation.is_table -%}\n {{ drop_table(relation) }}\n\n {%- elif relation.is_materialized_view -%}\n {{ drop_materialized_view(relation) }}\n\n {%- else -%}\n drop {{ relation.type }} if exists {{ relation }} cascade\n\n {%- endif -%}\n\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": ["macro.dbt.drop_view", "macro.dbt.drop_table", "macro.dbt.drop_materialized_view"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.619686, "supported_languages": null}, "macro.dbt.drop_relation": {"name": "drop_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/drop.sql", "original_file_path": "macros/relations/drop.sql", "unique_id": "macro.dbt.drop_relation", "macro_sql": "{% macro drop_relation(relation) -%}\n {{ return(adapter.dispatch('drop_relation', 'dbt')(relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__drop_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.619852, "supported_languages": null}, "macro.dbt.default__drop_relation": {"name": "default__drop_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/drop.sql", "original_file_path": "macros/relations/drop.sql", "unique_id": "macro.dbt.default__drop_relation", "macro_sql": "{% macro default__drop_relation(relation) -%}\n {% call statement('drop_relation', auto_begin=False) -%}\n {{ get_drop_sql(relation) }}\n {%- endcall %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt.get_drop_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.620043, "supported_languages": null}, "macro.dbt.drop_relation_if_exists": {"name": "drop_relation_if_exists", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/drop.sql", "original_file_path": "macros/relations/drop.sql", "unique_id": "macro.dbt.drop_relation_if_exists", "macro_sql": "{% macro drop_relation_if_exists(relation) %}\n {% if relation is not none %}\n {{ adapter.drop_relation(relation) }}\n {% endif %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.620229, "supported_languages": null}, "macro.dbt.get_replace_sql": {"name": "get_replace_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/replace.sql", "original_file_path": "macros/relations/replace.sql", "unique_id": "macro.dbt.get_replace_sql", "macro_sql": "{% macro get_replace_sql(existing_relation, target_relation, sql) %}\n {{- log('Applying REPLACE to: ' ~ existing_relation) -}}\n {{- adapter.dispatch('get_replace_sql', 'dbt')(existing_relation, target_relation, sql) -}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_replace_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.620977, "supported_languages": null}, "macro.dbt.default__get_replace_sql": {"name": "default__get_replace_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/replace.sql", "original_file_path": "macros/relations/replace.sql", "unique_id": "macro.dbt.default__get_replace_sql", "macro_sql": "{% macro default__get_replace_sql(existing_relation, target_relation, sql) %}\n\n {# /* use a create or replace statement if possible */ #}\n\n {% set is_replaceable = existing_relation.type == target_relation_type and existing_relation.can_be_replaced %}\n\n {% if is_replaceable and existing_relation.is_view %}\n {{ get_replace_view_sql(target_relation, sql) }}\n\n {% elif is_replaceable and existing_relation.is_table %}\n {{ get_replace_table_sql(target_relation, sql) }}\n\n {% elif is_replaceable and existing_relation.is_materialized_view %}\n {{ get_replace_materialized_view_sql(target_relation, sql) }}\n\n {# /* a create or replace statement is not possible, so try to stage and/or backup to be safe */ #}\n\n {# /* create target_relation as an intermediate relation, then swap it out with the existing one using a backup */ #}\n {%- elif target_relation.can_be_renamed and existing_relation.can_be_renamed -%}\n {{ get_create_intermediate_sql(target_relation, sql) }};\n {{ get_create_backup_sql(existing_relation) }};\n {{ get_rename_intermediate_sql(target_relation) }};\n {{ get_drop_backup_sql(existing_relation) }}\n\n {# /* create target_relation as an intermediate relation, then swap it out with the existing one without using a backup */ #}\n {%- elif target_relation.can_be_renamed -%}\n {{ get_create_intermediate_sql(target_relation, sql) }};\n {{ get_drop_sql(existing_relation) }};\n {{ get_rename_intermediate_sql(target_relation) }}\n\n {# /* create target_relation in place by first backing up the existing relation */ #}\n {%- elif existing_relation.can_be_renamed -%}\n {{ get_create_backup_sql(existing_relation) }};\n {{ get_create_sql(target_relation, sql) }};\n {{ get_drop_backup_sql(existing_relation) }}\n\n {# /* no renaming is allowed, so just drop and create */ #}\n {%- else -%}\n {{ get_drop_sql(existing_relation) }};\n {{ get_create_sql(target_relation, sql) }}\n\n {%- endif -%}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_replace_view_sql", "macro.dbt.get_replace_table_sql", "macro.dbt.get_replace_materialized_view_sql", "macro.dbt.get_create_intermediate_sql", "macro.dbt.get_create_backup_sql", "macro.dbt.get_rename_intermediate_sql", "macro.dbt.get_drop_backup_sql", "macro.dbt.get_drop_sql", "macro.dbt.get_create_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.622199, "supported_languages": null}, "macro.dbt.get_create_intermediate_sql": {"name": "get_create_intermediate_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/create_intermediate.sql", "original_file_path": "macros/relations/create_intermediate.sql", "unique_id": "macro.dbt.get_create_intermediate_sql", "macro_sql": "{%- macro get_create_intermediate_sql(relation, sql) -%}\n {{- log('Applying CREATE INTERMEDIATE to: ' ~ relation) -}}\n {{- adapter.dispatch('get_create_intermediate_sql', 'dbt')(relation, sql) -}}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": ["macro.dbt.default__get_create_intermediate_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.622553, "supported_languages": null}, "macro.dbt.default__get_create_intermediate_sql": {"name": "default__get_create_intermediate_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/create_intermediate.sql", "original_file_path": "macros/relations/create_intermediate.sql", "unique_id": "macro.dbt.default__get_create_intermediate_sql", "macro_sql": "{%- macro default__get_create_intermediate_sql(relation, sql) -%}\n\n -- get the standard intermediate name\n {% set intermediate_relation = make_intermediate_relation(relation) %}\n\n -- drop any pre-existing intermediate\n {{ get_drop_sql(intermediate_relation) }};\n\n {{ get_create_sql(intermediate_relation, sql) }}\n\n{%- endmacro -%}", "depends_on": {"macros": ["macro.dbt.make_intermediate_relation", "macro.dbt.get_drop_sql", "macro.dbt.get_create_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.622786, "supported_languages": null}, "macro.dbt.get_drop_backup_sql": {"name": "get_drop_backup_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/drop_backup.sql", "original_file_path": "macros/relations/drop_backup.sql", "unique_id": "macro.dbt.get_drop_backup_sql", "macro_sql": "{%- macro get_drop_backup_sql(relation) -%}\n {{- log('Applying DROP BACKUP to: ' ~ relation) -}}\n {{- adapter.dispatch('get_drop_backup_sql', 'dbt')(relation) -}}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": ["macro.dbt.default__get_drop_backup_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.623073, "supported_languages": null}, "macro.dbt.default__get_drop_backup_sql": {"name": "default__get_drop_backup_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/drop_backup.sql", "original_file_path": "macros/relations/drop_backup.sql", "unique_id": "macro.dbt.default__get_drop_backup_sql", "macro_sql": "{%- macro default__get_drop_backup_sql(relation) -%}\n\n -- get the standard backup name\n {% set backup_relation = make_backup_relation(relation, relation.type) %}\n\n {{ get_drop_sql(backup_relation) }}\n\n{%- endmacro -%}", "depends_on": {"macros": ["macro.dbt.make_backup_relation", "macro.dbt.get_drop_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.623274, "supported_languages": null}, "macro.dbt.get_rename_sql": {"name": "get_rename_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/rename.sql", "original_file_path": "macros/relations/rename.sql", "unique_id": "macro.dbt.get_rename_sql", "macro_sql": "{%- macro get_rename_sql(relation, new_name) -%}\n {{- log('Applying RENAME to: ' ~ relation) -}}\n {{- adapter.dispatch('get_rename_sql', 'dbt')(relation, new_name) -}}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": ["macro.dbt.default__get_rename_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.623904, "supported_languages": null}, "macro.dbt.default__get_rename_sql": {"name": "default__get_rename_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/rename.sql", "original_file_path": "macros/relations/rename.sql", "unique_id": "macro.dbt.default__get_rename_sql", "macro_sql": "{%- macro default__get_rename_sql(relation, new_name) -%}\n\n {%- if relation.is_view -%}\n {{ get_rename_view_sql(relation, new_name) }}\n\n {%- elif relation.is_table -%}\n {{ get_rename_table_sql(relation, new_name) }}\n\n {%- elif relation.is_materialized_view -%}\n {{ get_rename_materialized_view_sql(relation, new_name) }}\n\n {%- else -%}\n {{- exceptions.raise_compiler_error(\"`get_rename_sql` has not been implemented for: \" ~ relation.type ) -}}\n\n {%- endif -%}\n\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": ["macro.dbt.get_rename_view_sql", "macro.dbt.get_rename_table_sql", "macro.dbt.get_rename_materialized_view_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.624298, "supported_languages": null}, "macro.dbt.rename_relation": {"name": "rename_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/rename.sql", "original_file_path": "macros/relations/rename.sql", "unique_id": "macro.dbt.rename_relation", "macro_sql": "{% macro rename_relation(from_relation, to_relation) -%}\n {{ return(adapter.dispatch('rename_relation', 'dbt')(from_relation, to_relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__rename_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6244879, "supported_languages": null}, "macro.dbt.default__rename_relation": {"name": "default__rename_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/rename.sql", "original_file_path": "macros/relations/rename.sql", "unique_id": "macro.dbt.default__rename_relation", "macro_sql": "{% macro default__rename_relation(from_relation, to_relation) -%}\n {% set target_name = adapter.quote_as_configured(to_relation.identifier, 'identifier') %}\n {% call statement('rename_relation') -%}\n alter table {{ from_relation }} rename to {{ target_name }}\n {%- endcall %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.624744, "supported_languages": null}, "macro.dbt.get_create_backup_sql": {"name": "get_create_backup_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/create_backup.sql", "original_file_path": "macros/relations/create_backup.sql", "unique_id": "macro.dbt.get_create_backup_sql", "macro_sql": "{%- macro get_create_backup_sql(relation) -%}\n {{- log('Applying CREATE BACKUP to: ' ~ relation) -}}\n {{- adapter.dispatch('get_create_backup_sql', 'dbt')(relation) -}}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": ["macro.dbt.default__get_create_backup_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.625066, "supported_languages": null}, "macro.dbt.default__get_create_backup_sql": {"name": "default__get_create_backup_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/create_backup.sql", "original_file_path": "macros/relations/create_backup.sql", "unique_id": "macro.dbt.default__get_create_backup_sql", "macro_sql": "{%- macro default__get_create_backup_sql(relation) -%}\n\n -- get the standard backup name\n {% set backup_relation = make_backup_relation(relation, relation.type) %}\n\n -- drop any pre-existing backup\n {{ get_drop_sql(backup_relation) }};\n\n {{ get_rename_sql(relation, backup_relation.identifier) }}\n\n{%- endmacro -%}", "depends_on": {"macros": ["macro.dbt.make_backup_relation", "macro.dbt.get_drop_sql", "macro.dbt.get_rename_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.625317, "supported_languages": null}, "macro.dbt.get_create_sql": {"name": "get_create_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/create.sql", "original_file_path": "macros/relations/create.sql", "unique_id": "macro.dbt.get_create_sql", "macro_sql": "{%- macro get_create_sql(relation, sql) -%}\n {{- log('Applying CREATE to: ' ~ relation) -}}\n {{- adapter.dispatch('get_create_sql', 'dbt')(relation, sql) -}}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": ["macro.dbt.default__get_create_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6257448, "supported_languages": null}, "macro.dbt.default__get_create_sql": {"name": "default__get_create_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/create.sql", "original_file_path": "macros/relations/create.sql", "unique_id": "macro.dbt.default__get_create_sql", "macro_sql": "{%- macro default__get_create_sql(relation, sql) -%}\n\n {%- if relation.is_view -%}\n {{ get_create_view_as_sql(relation, sql) }}\n\n {%- elif relation.is_table -%}\n {{ get_create_table_as_sql(False, relation, sql) }}\n\n {%- elif relation.is_materialized_view -%}\n {{ get_create_materialized_view_as_sql(relation, sql) }}\n\n {%- else -%}\n {{- exceptions.raise_compiler_error(\"`get_create_sql` has not been implemented for: \" ~ relation.type ) -}}\n\n {%- endif -%}\n\n{%- endmacro -%}", "depends_on": {"macros": ["macro.dbt.get_create_view_as_sql", "macro.dbt.get_create_table_as_sql", "macro.dbt.get_create_materialized_view_as_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6261508, "supported_languages": null}, "macro.dbt.get_rename_intermediate_sql": {"name": "get_rename_intermediate_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/rename_intermediate.sql", "original_file_path": "macros/relations/rename_intermediate.sql", "unique_id": "macro.dbt.get_rename_intermediate_sql", "macro_sql": "{%- macro get_rename_intermediate_sql(relation) -%}\n {{- log('Applying RENAME INTERMEDIATE to: ' ~ relation) -}}\n {{- adapter.dispatch('get_rename_intermediate_sql', 'dbt')(relation) -}}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": ["macro.dbt.default__get_rename_intermediate_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6264489, "supported_languages": null}, "macro.dbt.default__get_rename_intermediate_sql": {"name": "default__get_rename_intermediate_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/rename_intermediate.sql", "original_file_path": "macros/relations/rename_intermediate.sql", "unique_id": "macro.dbt.default__get_rename_intermediate_sql", "macro_sql": "{%- macro default__get_rename_intermediate_sql(relation) -%}\n\n -- get the standard intermediate name\n {% set intermediate_relation = make_intermediate_relation(relation) %}\n\n {{ get_rename_sql(intermediate_relation, relation.identifier) }}\n\n{%- endmacro -%}", "depends_on": {"macros": ["macro.dbt.make_intermediate_relation", "macro.dbt.get_rename_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6266491, "supported_languages": null}, "macro.dbt.drop_materialized_view": {"name": "drop_materialized_view", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/drop.sql", "original_file_path": "macros/relations/materialized_view/drop.sql", "unique_id": "macro.dbt.drop_materialized_view", "macro_sql": "{% macro drop_materialized_view(relation) -%}\n {{ return(adapter.dispatch('drop_materialized_view', 'dbt')(relation)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__drop_materialized_view"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.626896, "supported_languages": null}, "macro.dbt.default__drop_materialized_view": {"name": "default__drop_materialized_view", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/drop.sql", "original_file_path": "macros/relations/materialized_view/drop.sql", "unique_id": "macro.dbt.default__drop_materialized_view", "macro_sql": "{% macro default__drop_materialized_view(relation) -%}\n drop materialized view if exists {{ relation }} cascade\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.627002, "supported_languages": null}, "macro.dbt.get_replace_materialized_view_sql": {"name": "get_replace_materialized_view_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/replace.sql", "original_file_path": "macros/relations/materialized_view/replace.sql", "unique_id": "macro.dbt.get_replace_materialized_view_sql", "macro_sql": "{% macro get_replace_materialized_view_sql(relation, sql) %}\n {{- adapter.dispatch('get_replace_materialized_view_sql', 'dbt')(relation, sql) -}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_replace_materialized_view_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.627263, "supported_languages": null}, "macro.dbt.default__get_replace_materialized_view_sql": {"name": "default__get_replace_materialized_view_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/replace.sql", "original_file_path": "macros/relations/materialized_view/replace.sql", "unique_id": "macro.dbt.default__get_replace_materialized_view_sql", "macro_sql": "{% macro default__get_replace_materialized_view_sql(relation, sql) %}\n {{ exceptions.raise_compiler_error(\n \"`get_replace_materialized_view_sql` has not been implemented for this adapter.\"\n ) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.627404, "supported_languages": null}, "macro.dbt.refresh_materialized_view": {"name": "refresh_materialized_view", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/refresh.sql", "original_file_path": "macros/relations/materialized_view/refresh.sql", "unique_id": "macro.dbt.refresh_materialized_view", "macro_sql": "{% macro refresh_materialized_view(relation) %}\n {{- log('Applying REFRESH to: ' ~ relation) -}}\n {{- adapter.dispatch('refresh_materialized_view', 'dbt')(relation) -}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__refresh_materialized_view"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.627687, "supported_languages": null}, "macro.dbt.default__refresh_materialized_view": {"name": "default__refresh_materialized_view", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/refresh.sql", "original_file_path": "macros/relations/materialized_view/refresh.sql", "unique_id": "macro.dbt.default__refresh_materialized_view", "macro_sql": "{% macro default__refresh_materialized_view(relation) %}\n {{ exceptions.raise_compiler_error(\"`refresh_materialized_view` has not been implemented for this adapter.\") }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.627875, "supported_languages": null}, "macro.dbt.get_rename_materialized_view_sql": {"name": "get_rename_materialized_view_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/rename.sql", "original_file_path": "macros/relations/materialized_view/rename.sql", "unique_id": "macro.dbt.get_rename_materialized_view_sql", "macro_sql": "{% macro get_rename_materialized_view_sql(relation, new_name) %}\n {{- adapter.dispatch('get_rename_materialized_view_sql', 'dbt')(relation, new_name) -}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_rename_materialized_view_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6282282, "supported_languages": null}, "macro.dbt.default__get_rename_materialized_view_sql": {"name": "default__get_rename_materialized_view_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/rename.sql", "original_file_path": "macros/relations/materialized_view/rename.sql", "unique_id": "macro.dbt.default__get_rename_materialized_view_sql", "macro_sql": "{% macro default__get_rename_materialized_view_sql(relation, new_name) %}\n {{ exceptions.raise_compiler_error(\n \"`get_rename_materialized_view_sql` has not been implemented for this adapter.\"\n ) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.628423, "supported_languages": null}, "macro.dbt.get_alter_materialized_view_as_sql": {"name": "get_alter_materialized_view_as_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/alter.sql", "original_file_path": "macros/relations/materialized_view/alter.sql", "unique_id": "macro.dbt.get_alter_materialized_view_as_sql", "macro_sql": "{% macro get_alter_materialized_view_as_sql(\n relation,\n configuration_changes,\n sql,\n existing_relation,\n backup_relation,\n intermediate_relation\n) %}\n {{- log('Applying ALTER to: ' ~ relation) -}}\n {{- adapter.dispatch('get_alter_materialized_view_as_sql', 'dbt')(\n relation,\n configuration_changes,\n sql,\n existing_relation,\n backup_relation,\n intermediate_relation\n ) -}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_alter_materialized_view_as_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.629041, "supported_languages": null}, "macro.dbt.default__get_alter_materialized_view_as_sql": {"name": "default__get_alter_materialized_view_as_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/alter.sql", "original_file_path": "macros/relations/materialized_view/alter.sql", "unique_id": "macro.dbt.default__get_alter_materialized_view_as_sql", "macro_sql": "{% macro default__get_alter_materialized_view_as_sql(\n relation,\n configuration_changes,\n sql,\n existing_relation,\n backup_relation,\n intermediate_relation\n) %}\n {{ exceptions.raise_compiler_error(\"Materialized views have not been implemented for this adapter.\") }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.62931, "supported_languages": null}, "macro.dbt.get_materialized_view_configuration_changes": {"name": "get_materialized_view_configuration_changes", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/alter.sql", "original_file_path": "macros/relations/materialized_view/alter.sql", "unique_id": "macro.dbt.get_materialized_view_configuration_changes", "macro_sql": "{% macro get_materialized_view_configuration_changes(existing_relation, new_config) %}\n /* {#\n It's recommended that configuration changes be formatted as follows:\n {\"<change_category>\": [{\"action\": \"<name>\", \"context\": ...}]}\n\n For example:\n {\n \"indexes\": [\n {\"action\": \"drop\", \"context\": \"index_abc\"},\n {\"action\": \"create\", \"context\": {\"columns\": [\"column_1\", \"column_2\"], \"type\": \"hash\", \"unique\": True}},\n ],\n }\n\n Either way, `get_materialized_view_configuration_changes` needs to align with `get_alter_materialized_view_as_sql`.\n #} */\n {{- log('Determining configuration changes on: ' ~ existing_relation) -}}\n {%- do return(adapter.dispatch('get_materialized_view_configuration_changes', 'dbt')(existing_relation, new_config)) -%}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_materialized_view_configuration_changes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.62958, "supported_languages": null}, "macro.dbt.default__get_materialized_view_configuration_changes": {"name": "default__get_materialized_view_configuration_changes", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/alter.sql", "original_file_path": "macros/relations/materialized_view/alter.sql", "unique_id": "macro.dbt.default__get_materialized_view_configuration_changes", "macro_sql": "{% macro default__get_materialized_view_configuration_changes(existing_relation, new_config) %}\n {{ exceptions.raise_compiler_error(\"Materialized views have not been implemented for this adapter.\") }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6297102, "supported_languages": null}, "macro.dbt.get_create_materialized_view_as_sql": {"name": "get_create_materialized_view_as_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/create.sql", "original_file_path": "macros/relations/materialized_view/create.sql", "unique_id": "macro.dbt.get_create_materialized_view_as_sql", "macro_sql": "{% macro get_create_materialized_view_as_sql(relation, sql) -%}\n {{- adapter.dispatch('get_create_materialized_view_as_sql', 'dbt')(relation, sql) -}}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_create_materialized_view_as_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.629966, "supported_languages": null}, "macro.dbt.default__get_create_materialized_view_as_sql": {"name": "default__get_create_materialized_view_as_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/create.sql", "original_file_path": "macros/relations/materialized_view/create.sql", "unique_id": "macro.dbt.default__get_create_materialized_view_as_sql", "macro_sql": "{% macro default__get_create_materialized_view_as_sql(relation, sql) -%}\n {{ exceptions.raise_compiler_error(\n \"`get_create_materialized_view_as_sql` has not been implemented for this adapter.\"\n ) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.630097, "supported_languages": null}, "macro.dbt.get_table_columns_and_constraints": {"name": "get_table_columns_and_constraints", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/column/columns_spec_ddl.sql", "original_file_path": "macros/relations/column/columns_spec_ddl.sql", "unique_id": "macro.dbt.get_table_columns_and_constraints", "macro_sql": "{%- macro get_table_columns_and_constraints() -%}\n {{ adapter.dispatch('get_table_columns_and_constraints', 'dbt')() }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__get_table_columns_and_constraints"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.630976, "supported_languages": null}, "macro.dbt.default__get_table_columns_and_constraints": {"name": "default__get_table_columns_and_constraints", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/column/columns_spec_ddl.sql", "original_file_path": "macros/relations/column/columns_spec_ddl.sql", "unique_id": "macro.dbt.default__get_table_columns_and_constraints", "macro_sql": "{% macro default__get_table_columns_and_constraints() -%}\n {{ return(table_columns_and_constraints()) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.table_columns_and_constraints"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.631084, "supported_languages": null}, "macro.dbt.table_columns_and_constraints": {"name": "table_columns_and_constraints", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/column/columns_spec_ddl.sql", "original_file_path": "macros/relations/column/columns_spec_ddl.sql", "unique_id": "macro.dbt.table_columns_and_constraints", "macro_sql": "{% macro table_columns_and_constraints() %}\n {# loop through user_provided_columns to create DDL with data types and constraints #}\n {%- set raw_column_constraints = adapter.render_raw_columns_constraints(raw_columns=model['columns']) -%}\n {%- set raw_model_constraints = adapter.render_raw_model_constraints(raw_constraints=model['constraints']) -%}\n (\n {% for c in raw_column_constraints -%}\n {{ c }}{{ \",\" if not loop.last or raw_model_constraints }}\n {% endfor %}\n {% for c in raw_model_constraints -%}\n {{ c }}{{ \",\" if not loop.last }}\n {% endfor -%}\n )\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.631552, "supported_languages": null}, "macro.dbt.get_assert_columns_equivalent": {"name": "get_assert_columns_equivalent", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/column/columns_spec_ddl.sql", "original_file_path": "macros/relations/column/columns_spec_ddl.sql", "unique_id": "macro.dbt.get_assert_columns_equivalent", "macro_sql": "\n\n{%- macro get_assert_columns_equivalent(sql) -%}\n {{ adapter.dispatch('get_assert_columns_equivalent', 'dbt')(sql) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__get_assert_columns_equivalent"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.631701, "supported_languages": null}, "macro.dbt.default__get_assert_columns_equivalent": {"name": "default__get_assert_columns_equivalent", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/column/columns_spec_ddl.sql", "original_file_path": "macros/relations/column/columns_spec_ddl.sql", "unique_id": "macro.dbt.default__get_assert_columns_equivalent", "macro_sql": "{% macro default__get_assert_columns_equivalent(sql) -%}\n {{ return(assert_columns_equivalent(sql)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.assert_columns_equivalent"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.63182, "supported_languages": null}, "macro.dbt.assert_columns_equivalent": {"name": "assert_columns_equivalent", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/column/columns_spec_ddl.sql", "original_file_path": "macros/relations/column/columns_spec_ddl.sql", "unique_id": "macro.dbt.assert_columns_equivalent", "macro_sql": "{% macro assert_columns_equivalent(sql) %}\n\n {#-- First ensure the user has defined 'columns' in yaml specification --#}\n {%- set user_defined_columns = model['columns'] -%}\n {%- if not user_defined_columns -%}\n {{ exceptions.raise_contract_error([], []) }}\n {%- endif -%}\n\n {#-- Obtain the column schema provided by sql file. #}\n {%- set sql_file_provided_columns = get_column_schema_from_query(sql, config.get('sql_header', none)) -%}\n {#--Obtain the column schema provided by the schema file by generating an 'empty schema' query from the model's columns. #}\n {%- set schema_file_provided_columns = get_column_schema_from_query(get_empty_schema_sql(user_defined_columns)) -%}\n\n {#-- create dictionaries with name and formatted data type and strings for exception #}\n {%- set sql_columns = format_columns(sql_file_provided_columns) -%}\n {%- set yaml_columns = format_columns(schema_file_provided_columns) -%}\n\n {%- if sql_columns|length != yaml_columns|length -%}\n {%- do exceptions.raise_contract_error(yaml_columns, sql_columns) -%}\n {%- endif -%}\n\n {%- for sql_col in sql_columns -%}\n {%- set yaml_col = [] -%}\n {%- for this_col in yaml_columns -%}\n {%- if this_col['name'] == sql_col['name'] -%}\n {%- do yaml_col.append(this_col) -%}\n {%- break -%}\n {%- endif -%}\n {%- endfor -%}\n {%- if not yaml_col -%}\n {#-- Column with name not found in yaml #}\n {%- do exceptions.raise_contract_error(yaml_columns, sql_columns) -%}\n {%- endif -%}\n {%- if sql_col['formatted'] != yaml_col[0]['formatted'] -%}\n {#-- Column data types don't match #}\n {%- do exceptions.raise_contract_error(yaml_columns, sql_columns) -%}\n {%- endif -%}\n {%- endfor -%}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_column_schema_from_query", "macro.dbt.get_empty_schema_sql", "macro.dbt.format_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.632999, "supported_languages": null}, "macro.dbt.format_columns": {"name": "format_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/column/columns_spec_ddl.sql", "original_file_path": "macros/relations/column/columns_spec_ddl.sql", "unique_id": "macro.dbt.format_columns", "macro_sql": "{% macro format_columns(columns) %}\n {% set formatted_columns = [] %}\n {% for column in columns %}\n {%- set formatted_column = adapter.dispatch('format_column', 'dbt')(column) -%}\n {%- do formatted_columns.append(formatted_column) -%}\n {% endfor %}\n {{ return(formatted_columns) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__format_column"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.633339, "supported_languages": null}, "macro.dbt.default__format_column": {"name": "default__format_column", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/column/columns_spec_ddl.sql", "original_file_path": "macros/relations/column/columns_spec_ddl.sql", "unique_id": "macro.dbt.default__format_column", "macro_sql": "{% macro default__format_column(column) -%}\n {% set data_type = column.dtype %}\n {% set formatted = column.column.lower() ~ \" \" ~ data_type %}\n {{ return({'name': column.name, 'data_type': data_type, 'formatted': formatted}) }}\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.633643, "supported_languages": null}, "macro.dbt.drop_table": {"name": "drop_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/drop.sql", "original_file_path": "macros/relations/table/drop.sql", "unique_id": "macro.dbt.drop_table", "macro_sql": "{% macro drop_table(relation) -%}\n {{ return(adapter.dispatch('drop_table', 'dbt')(relation)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__drop_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.633877, "supported_languages": null}, "macro.dbt.default__drop_table": {"name": "default__drop_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/drop.sql", "original_file_path": "macros/relations/table/drop.sql", "unique_id": "macro.dbt.default__drop_table", "macro_sql": "{% macro default__drop_table(relation) -%}\n drop table if exists {{ relation }} cascade\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6339688, "supported_languages": null}, "macro.dbt.get_replace_table_sql": {"name": "get_replace_table_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/replace.sql", "original_file_path": "macros/relations/table/replace.sql", "unique_id": "macro.dbt.get_replace_table_sql", "macro_sql": "{% macro get_replace_table_sql(relation, sql) %}\n {{- adapter.dispatch('get_replace_table_sql', 'dbt')(relation, sql) -}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_replace_table_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.634207, "supported_languages": null}, "macro.dbt.default__get_replace_table_sql": {"name": "default__get_replace_table_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/replace.sql", "original_file_path": "macros/relations/table/replace.sql", "unique_id": "macro.dbt.default__get_replace_table_sql", "macro_sql": "{% macro default__get_replace_table_sql(relation, sql) %}\n {{ exceptions.raise_compiler_error(\n \"`get_replace_table_sql` has not been implemented for this adapter.\"\n ) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.634335, "supported_languages": null}, "macro.dbt.get_rename_table_sql": {"name": "get_rename_table_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/rename.sql", "original_file_path": "macros/relations/table/rename.sql", "unique_id": "macro.dbt.get_rename_table_sql", "macro_sql": "{% macro get_rename_table_sql(relation, new_name) %}\n {{- adapter.dispatch('get_rename_table_sql', 'dbt')(relation, new_name) -}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_rename_table_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6345758, "supported_languages": null}, "macro.dbt.default__get_rename_table_sql": {"name": "default__get_rename_table_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/rename.sql", "original_file_path": "macros/relations/table/rename.sql", "unique_id": "macro.dbt.default__get_rename_table_sql", "macro_sql": "{% macro default__get_rename_table_sql(relation, new_name) %}\n {{ exceptions.raise_compiler_error(\n \"`get_rename_table_sql` has not been implemented for this adapter.\"\n ) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6347048, "supported_languages": null}, "macro.dbt.get_create_table_as_sql": {"name": "get_create_table_as_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/create.sql", "original_file_path": "macros/relations/table/create.sql", "unique_id": "macro.dbt.get_create_table_as_sql", "macro_sql": "{% macro get_create_table_as_sql(temporary, relation, sql) -%}\n {{ adapter.dispatch('get_create_table_as_sql', 'dbt')(temporary, relation, sql) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_create_table_as_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.635444, "supported_languages": null}, "macro.dbt.default__get_create_table_as_sql": {"name": "default__get_create_table_as_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/create.sql", "original_file_path": "macros/relations/table/create.sql", "unique_id": "macro.dbt.default__get_create_table_as_sql", "macro_sql": "{% macro default__get_create_table_as_sql(temporary, relation, sql) -%}\n {{ return(create_table_as(temporary, relation, sql)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.635613, "supported_languages": null}, "macro.dbt.create_table_as": {"name": "create_table_as", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/create.sql", "original_file_path": "macros/relations/table/create.sql", "unique_id": "macro.dbt.create_table_as", "macro_sql": "{% macro create_table_as(temporary, relation, compiled_code, language='sql') -%}\n {# backward compatibility for create_table_as that does not support language #}\n {% if language == \"sql\" %}\n {{ adapter.dispatch('create_table_as', 'dbt')(temporary, relation, compiled_code)}}\n {% else %}\n {{ adapter.dispatch('create_table_as', 'dbt')(temporary, relation, compiled_code, language) }}\n {% endif %}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.635989, "supported_languages": null}, "macro.dbt.default__create_table_as": {"name": "default__create_table_as", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/create.sql", "original_file_path": "macros/relations/table/create.sql", "unique_id": "macro.dbt.default__create_table_as", "macro_sql": "{% macro default__create_table_as(temporary, relation, sql) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {{ sql_header if sql_header is not none }}\n\n create {% if temporary: -%}temporary{%- endif %} table\n {{ relation.include(database=(not temporary), schema=(not temporary)) }}\n {% set contract_config = config.get('contract') %}\n {% if contract_config.enforced and (not temporary) %}\n {{ get_assert_columns_equivalent(sql) }}\n {{ get_table_columns_and_constraints() }}\n {%- set sql = get_select_subquery(sql) %}\n {% endif %}\n as (\n {{ sql }}\n );\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.get_assert_columns_equivalent", "macro.dbt.get_table_columns_and_constraints", "macro.dbt.get_select_subquery"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.636585, "supported_languages": null}, "macro.dbt.default__get_column_names": {"name": "default__get_column_names", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/create.sql", "original_file_path": "macros/relations/table/create.sql", "unique_id": "macro.dbt.default__get_column_names", "macro_sql": "{% macro default__get_column_names() %}\n {#- loop through user_provided_columns to get column names -#}\n {%- set user_provided_columns = model['columns'] -%}\n {%- for i in user_provided_columns %}\n {%- set col = user_provided_columns[i] -%}\n {%- set col_name = adapter.quote(col['name']) if col.get('quote') else col['name'] -%}\n {{ col_name }}{{ \", \" if not loop.last }}\n {%- endfor -%}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.636988, "supported_languages": null}, "macro.dbt.get_select_subquery": {"name": "get_select_subquery", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/create.sql", "original_file_path": "macros/relations/table/create.sql", "unique_id": "macro.dbt.get_select_subquery", "macro_sql": "{% macro get_select_subquery(sql) %}\n {{ return(adapter.dispatch('get_select_subquery', 'dbt')(sql)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_select_subquery"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.637153, "supported_languages": null}, "macro.dbt.default__get_select_subquery": {"name": "default__get_select_subquery", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/create.sql", "original_file_path": "macros/relations/table/create.sql", "unique_id": "macro.dbt.default__get_select_subquery", "macro_sql": "{% macro default__get_select_subquery(sql) %}\n select {{ adapter.dispatch('get_column_names', 'dbt')() }}\n from (\n {{ sql }}\n ) as model_subq\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_column_names"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.637308, "supported_languages": null}, "macro.dbt.drop_view": {"name": "drop_view", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/drop.sql", "original_file_path": "macros/relations/view/drop.sql", "unique_id": "macro.dbt.drop_view", "macro_sql": "{% macro drop_view(relation) -%}\n {{ return(adapter.dispatch('drop_view', 'dbt')(relation)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__drop_view"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.63755, "supported_languages": null}, "macro.dbt.default__drop_view": {"name": "default__drop_view", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/drop.sql", "original_file_path": "macros/relations/view/drop.sql", "unique_id": "macro.dbt.default__drop_view", "macro_sql": "{% macro default__drop_view(relation) -%}\n drop view if exists {{ relation }} cascade\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.63765, "supported_languages": null}, "macro.dbt.get_replace_view_sql": {"name": "get_replace_view_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/replace.sql", "original_file_path": "macros/relations/view/replace.sql", "unique_id": "macro.dbt.get_replace_view_sql", "macro_sql": "{% macro get_replace_view_sql(relation, sql) %}\n {{- adapter.dispatch('get_replace_view_sql', 'dbt')(relation, sql) -}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_replace_view_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6387289, "supported_languages": null}, "macro.dbt.default__get_replace_view_sql": {"name": "default__get_replace_view_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/replace.sql", "original_file_path": "macros/relations/view/replace.sql", "unique_id": "macro.dbt.default__get_replace_view_sql", "macro_sql": "{% macro default__get_replace_view_sql(relation, sql) %}\n {{ exceptions.raise_compiler_error(\n \"`get_replace_view_sql` has not been implemented for this adapter.\"\n ) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.638897, "supported_languages": null}, "macro.dbt.create_or_replace_view": {"name": "create_or_replace_view", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/replace.sql", "original_file_path": "macros/relations/view/replace.sql", "unique_id": "macro.dbt.create_or_replace_view", "macro_sql": "{% macro create_or_replace_view() %}\n {%- set identifier = model['alias'] -%}\n\n {%- set old_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) -%}\n {%- set exists_as_view = (old_relation is not none and old_relation.is_view) -%}\n\n {%- set target_relation = api.Relation.create(\n identifier=identifier, schema=schema, database=database,\n type='view') -%}\n {% set grant_config = config.get('grants') %}\n\n {{ run_hooks(pre_hooks) }}\n\n -- If there's a table with the same name and we weren't told to full refresh,\n -- that's an error. If we were told to full refresh, drop it. This behavior differs\n -- for Snowflake and BigQuery, so multiple dispatch is used.\n {%- if old_relation is not none and old_relation.is_table -%}\n {{ handle_existing_table(should_full_refresh(), old_relation) }}\n {%- endif -%}\n\n -- build model\n {% call statement('main') -%}\n {{ get_create_view_as_sql(target_relation, sql) }}\n {%- endcall %}\n\n {% set should_revoke = should_revoke(exists_as_view, full_refresh_mode=True) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {{ run_hooks(post_hooks) }}\n\n {{ return({'relations': [target_relation]}) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.run_hooks", "macro.dbt.handle_existing_table", "macro.dbt.should_full_refresh", "macro.dbt.statement", "macro.dbt.get_create_view_as_sql", "macro.dbt.should_revoke", "macro.dbt.apply_grants"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6401658, "supported_languages": null}, "macro.dbt.handle_existing_table": {"name": "handle_existing_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/replace.sql", "original_file_path": "macros/relations/view/replace.sql", "unique_id": "macro.dbt.handle_existing_table", "macro_sql": "{% macro handle_existing_table(full_refresh, old_relation) %}\n {{ adapter.dispatch('handle_existing_table', 'dbt')(full_refresh, old_relation) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__handle_existing_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6403651, "supported_languages": null}, "macro.dbt.default__handle_existing_table": {"name": "default__handle_existing_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/replace.sql", "original_file_path": "macros/relations/view/replace.sql", "unique_id": "macro.dbt.default__handle_existing_table", "macro_sql": "{% macro default__handle_existing_table(full_refresh, old_relation) %}\n {{ log(\"Dropping relation \" ~ old_relation ~ \" because it is of type \" ~ old_relation.type) }}\n {{ adapter.drop_relation(old_relation) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.640596, "supported_languages": null}, "macro.dbt.get_rename_view_sql": {"name": "get_rename_view_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/rename.sql", "original_file_path": "macros/relations/view/rename.sql", "unique_id": "macro.dbt.get_rename_view_sql", "macro_sql": "{% macro get_rename_view_sql(relation, new_name) %}\n {{- adapter.dispatch('get_rename_view_sql', 'dbt')(relation, new_name) -}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_rename_view_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.640901, "supported_languages": null}, "macro.dbt.default__get_rename_view_sql": {"name": "default__get_rename_view_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/rename.sql", "original_file_path": "macros/relations/view/rename.sql", "unique_id": "macro.dbt.default__get_rename_view_sql", "macro_sql": "{% macro default__get_rename_view_sql(relation, new_name) %}\n {{ exceptions.raise_compiler_error(\n \"`get_rename_view_sql` has not been implemented for this adapter.\"\n ) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6410549, "supported_languages": null}, "macro.dbt.get_create_view_as_sql": {"name": "get_create_view_as_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/create.sql", "original_file_path": "macros/relations/view/create.sql", "unique_id": "macro.dbt.get_create_view_as_sql", "macro_sql": "{% macro get_create_view_as_sql(relation, sql) -%}\n {{ adapter.dispatch('get_create_view_as_sql', 'dbt')(relation, sql) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_create_view_as_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6414669, "supported_languages": null}, "macro.dbt.default__get_create_view_as_sql": {"name": "default__get_create_view_as_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/create.sql", "original_file_path": "macros/relations/view/create.sql", "unique_id": "macro.dbt.default__get_create_view_as_sql", "macro_sql": "{% macro default__get_create_view_as_sql(relation, sql) -%}\n {{ return(create_view_as(relation, sql)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.create_view_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6416278, "supported_languages": null}, "macro.dbt.create_view_as": {"name": "create_view_as", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/create.sql", "original_file_path": "macros/relations/view/create.sql", "unique_id": "macro.dbt.create_view_as", "macro_sql": "{% macro create_view_as(relation, sql) -%}\n {{ adapter.dispatch('create_view_as', 'dbt')(relation, sql) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__create_view_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.641839, "supported_languages": null}, "macro.dbt.default__create_view_as": {"name": "default__create_view_as", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/create.sql", "original_file_path": "macros/relations/view/create.sql", "unique_id": "macro.dbt.default__create_view_as", "macro_sql": "{% macro default__create_view_as(relation, sql) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {{ sql_header if sql_header is not none }}\n create view {{ relation }}\n {% set contract_config = config.get('contract') %}\n {% if contract_config.enforced %}\n {{ get_assert_columns_equivalent(sql) }}\n {%- endif %}\n as (\n {{ sql }}\n );\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.get_assert_columns_equivalent"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6422532, "supported_languages": null}, "macro.dbt.default__test_relationships": {"name": "default__test_relationships", "resource_type": "macro", "package_name": "dbt", "path": "macros/generic_test_sql/relationships.sql", "original_file_path": "macros/generic_test_sql/relationships.sql", "unique_id": "macro.dbt.default__test_relationships", "macro_sql": "{% macro default__test_relationships(model, column_name, to, field) %}\n\nwith child as (\n select {{ column_name }} as from_field\n from {{ model }}\n where {{ column_name }} is not null\n),\n\nparent as (\n select {{ field }} as to_field\n from {{ to }}\n)\n\nselect\n from_field\n\nfrom child\nleft join parent\n on child.from_field = parent.to_field\n\nwhere parent.to_field is null\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6426072, "supported_languages": null}, "macro.dbt.default__test_not_null": {"name": "default__test_not_null", "resource_type": "macro", "package_name": "dbt", "path": "macros/generic_test_sql/not_null.sql", "original_file_path": "macros/generic_test_sql/not_null.sql", "unique_id": "macro.dbt.default__test_not_null", "macro_sql": "{% macro default__test_not_null(model, column_name) %}\n\n{% set column_list = '*' if should_store_failures() else column_name %}\n\nselect {{ column_list }}\nfrom {{ model }}\nwhere {{ column_name }} is null\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.should_store_failures"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6428978, "supported_languages": null}, "macro.dbt.default__test_unique": {"name": "default__test_unique", "resource_type": "macro", "package_name": "dbt", "path": "macros/generic_test_sql/unique.sql", "original_file_path": "macros/generic_test_sql/unique.sql", "unique_id": "macro.dbt.default__test_unique", "macro_sql": "{% macro default__test_unique(model, column_name) %}\n\nselect\n {{ column_name }} as unique_field,\n count(*) as n_records\n\nfrom {{ model }}\nwhere {{ column_name }} is not null\ngroup by {{ column_name }}\nhaving count(*) > 1\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6431391, "supported_languages": null}, "macro.dbt.default__test_accepted_values": {"name": "default__test_accepted_values", "resource_type": "macro", "package_name": "dbt", "path": "macros/generic_test_sql/accepted_values.sql", "original_file_path": "macros/generic_test_sql/accepted_values.sql", "unique_id": "macro.dbt.default__test_accepted_values", "macro_sql": "{% macro default__test_accepted_values(model, column_name, values, quote=True) %}\n\nwith all_values as (\n\n select\n {{ column_name }} as value_field,\n count(*) as n_records\n\n from {{ model }}\n group by {{ column_name }}\n\n)\n\nselect *\nfrom all_values\nwhere value_field not in (\n {% for value in values -%}\n {% if quote -%}\n '{{ value }}'\n {%- else -%}\n {{ value }}\n {%- endif -%}\n {%- if not loop.last -%},{%- endif %}\n {%- endfor %}\n)\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.643671, "supported_languages": null}, "macro.dbt.statement": {"name": "statement", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/statement.sql", "original_file_path": "macros/etc/statement.sql", "unique_id": "macro.dbt.statement", "macro_sql": "\n{%- macro statement(name=None, fetch_result=False, auto_begin=True, language='sql') -%}\n {%- if execute: -%}\n {%- set compiled_code = caller() -%}\n\n {%- if name == 'main' -%}\n {{ log('Writing runtime {} for node \"{}\"'.format(language, model['unique_id'])) }}\n {{ write(compiled_code) }}\n {%- endif -%}\n {%- if language == 'sql'-%}\n {%- set res, table = adapter.execute(compiled_code, auto_begin=auto_begin, fetch=fetch_result) -%}\n {%- elif language == 'python' -%}\n {%- set res = submit_python_job(model, compiled_code) -%}\n {#-- TODO: What should table be for python models? --#}\n {%- set table = None -%}\n {%- else -%}\n {% do exceptions.raise_compiler_error(\"statement macro didn't get supported language\") %}\n {%- endif -%}\n\n {%- if name is not none -%}\n {{ store_result(name, response=res, agate_table=table) }}\n {%- endif -%}\n\n {%- endif -%}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.645065, "supported_languages": null}, "macro.dbt.noop_statement": {"name": "noop_statement", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/statement.sql", "original_file_path": "macros/etc/statement.sql", "unique_id": "macro.dbt.noop_statement", "macro_sql": "{% macro noop_statement(name=None, message=None, code=None, rows_affected=None, res=None) -%}\n {%- set sql = caller() -%}\n\n {%- if name == 'main' -%}\n {{ log('Writing runtime SQL for node \"{}\"'.format(model['unique_id'])) }}\n {{ write(sql) }}\n {%- endif -%}\n\n {%- if name is not none -%}\n {{ store_raw_result(name, message=message, code=code, rows_affected=rows_affected, agate_table=res) }}\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.645587, "supported_languages": null}, "macro.dbt.run_query": {"name": "run_query", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/statement.sql", "original_file_path": "macros/etc/statement.sql", "unique_id": "macro.dbt.run_query", "macro_sql": "{% macro run_query(sql) %}\n {% call statement(\"run_query_statement\", fetch_result=true, auto_begin=false) %}\n {{ sql }}\n {% endcall %}\n\n {% do return(load_result(\"run_query_statement\").table) %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.645849, "supported_languages": null}, "macro.dbt.convert_datetime": {"name": "convert_datetime", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/datetime.sql", "original_file_path": "macros/etc/datetime.sql", "unique_id": "macro.dbt.convert_datetime", "macro_sql": "{% macro convert_datetime(date_str, date_fmt) %}\n\n {% set error_msg -%}\n The provided partition date '{{ date_str }}' does not match the expected format '{{ date_fmt }}'\n {%- endset %}\n\n {% set res = try_or_compiler_error(error_msg, modules.datetime.datetime.strptime, date_str.strip(), date_fmt) %}\n {{ return(res) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.647404, "supported_languages": null}, "macro.dbt.dates_in_range": {"name": "dates_in_range", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/datetime.sql", "original_file_path": "macros/etc/datetime.sql", "unique_id": "macro.dbt.dates_in_range", "macro_sql": "{% macro dates_in_range(start_date_str, end_date_str=none, in_fmt=\"%Y%m%d\", out_fmt=\"%Y%m%d\") %}\n {% set end_date_str = start_date_str if end_date_str is none else end_date_str %}\n\n {% set start_date = convert_datetime(start_date_str, in_fmt) %}\n {% set end_date = convert_datetime(end_date_str, in_fmt) %}\n\n {% set day_count = (end_date - start_date).days %}\n {% if day_count < 0 %}\n {% set msg -%}\n Partition start date is after the end date ({{ start_date }}, {{ end_date }})\n {%- endset %}\n\n {{ exceptions.raise_compiler_error(msg, model) }}\n {% endif %}\n\n {% set date_list = [] %}\n {% for i in range(0, day_count + 1) %}\n {% set the_date = (modules.datetime.timedelta(days=i) + start_date) %}\n {% if not out_fmt %}\n {% set _ = date_list.append(the_date) %}\n {% else %}\n {% set _ = date_list.append(the_date.strftime(out_fmt)) %}\n {% endif %}\n {% endfor %}\n\n {{ return(date_list) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.convert_datetime"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6487691, "supported_languages": null}, "macro.dbt.partition_range": {"name": "partition_range", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/datetime.sql", "original_file_path": "macros/etc/datetime.sql", "unique_id": "macro.dbt.partition_range", "macro_sql": "{% macro partition_range(raw_partition_date, date_fmt='%Y%m%d') %}\n {% set partition_range = (raw_partition_date | string).split(\",\") %}\n\n {% if (partition_range | length) == 1 %}\n {% set start_date = partition_range[0] %}\n {% set end_date = none %}\n {% elif (partition_range | length) == 2 %}\n {% set start_date = partition_range[0] %}\n {% set end_date = partition_range[1] %}\n {% else %}\n {{ exceptions.raise_compiler_error(\"Invalid partition time. Expected format: {Start Date}[,{End Date}]. Got: \" ~ raw_partition_date) }}\n {% endif %}\n\n {{ return(dates_in_range(start_date, end_date, in_fmt=date_fmt)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.dates_in_range"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.649604, "supported_languages": null}, "macro.dbt.py_current_timestring": {"name": "py_current_timestring", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/datetime.sql", "original_file_path": "macros/etc/datetime.sql", "unique_id": "macro.dbt.py_current_timestring", "macro_sql": "{% macro py_current_timestring() %}\n {% set dt = modules.datetime.datetime.now() %}\n {% do return(dt.strftime(\"%Y%m%d%H%M%S%f\")) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6498408, "supported_languages": null}, "macro.dbt.except": {"name": "except", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/except.sql", "original_file_path": "macros/utils/except.sql", "unique_id": "macro.dbt.except", "macro_sql": "{% macro except() %}\n {{ return(adapter.dispatch('except', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__except"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6501708, "supported_languages": null}, "macro.dbt.default__except": {"name": "default__except", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/except.sql", "original_file_path": "macros/utils/except.sql", "unique_id": "macro.dbt.default__except", "macro_sql": "{% macro default__except() %}\n\n except\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.650274, "supported_languages": null}, "macro.dbt.get_intervals_between": {"name": "get_intervals_between", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/date_spine.sql", "original_file_path": "macros/utils/date_spine.sql", "unique_id": "macro.dbt.get_intervals_between", "macro_sql": "{% macro get_intervals_between(start_date, end_date, datepart) -%}\n {{ return(adapter.dispatch('get_intervals_between', 'dbt')(start_date, end_date, datepart)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_intervals_between"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.651016, "supported_languages": null}, "macro.dbt.default__get_intervals_between": {"name": "default__get_intervals_between", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/date_spine.sql", "original_file_path": "macros/utils/date_spine.sql", "unique_id": "macro.dbt.default__get_intervals_between", "macro_sql": "{% macro default__get_intervals_between(start_date, end_date, datepart) -%}\n {%- call statement('get_intervals_between', fetch_result=True) %}\n\n select {{ dbt.datediff(start_date, end_date, datepart) }}\n\n {%- endcall -%}\n\n {%- set value_list = load_result('get_intervals_between') -%}\n\n {%- if value_list and value_list['data'] -%}\n {%- set values = value_list['data'] | map(attribute=0) | list %}\n {{ return(values[0]) }}\n {%- else -%}\n {{ return(1) }}\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt.datediff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.651553, "supported_languages": null}, "macro.dbt.date_spine": {"name": "date_spine", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/date_spine.sql", "original_file_path": "macros/utils/date_spine.sql", "unique_id": "macro.dbt.date_spine", "macro_sql": "{% macro date_spine(datepart, start_date, end_date) %}\n {{ return(adapter.dispatch('date_spine', 'dbt')(datepart, start_date, end_date)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__date_spine"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.651765, "supported_languages": null}, "macro.dbt.default__date_spine": {"name": "default__date_spine", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/date_spine.sql", "original_file_path": "macros/utils/date_spine.sql", "unique_id": "macro.dbt.default__date_spine", "macro_sql": "{% macro default__date_spine(datepart, start_date, end_date) %}\n\n\n {# call as follows:\n\n date_spine(\n \"day\",\n \"to_date('01/01/2016', 'mm/dd/yyyy')\",\n \"dbt.dateadd(week, 1, current_date)\"\n ) #}\n\n\n with rawdata as (\n\n {{dbt.generate_series(\n dbt.get_intervals_between(start_date, end_date, datepart)\n )}}\n\n ),\n\n all_periods as (\n\n select (\n {{\n dbt.dateadd(\n datepart,\n \"row_number() over (order by 1) - 1\",\n start_date\n )\n }}\n ) as date_{{datepart}}\n from rawdata\n\n ),\n\n filtered as (\n\n select *\n from all_periods\n where date_{{datepart}} <= {{ end_date }}\n\n )\n\n select * from filtered\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.generate_series", "macro.dbt.get_intervals_between", "macro.dbt.dateadd"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.652089, "supported_languages": null}, "macro.dbt.replace": {"name": "replace", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/replace.sql", "original_file_path": "macros/utils/replace.sql", "unique_id": "macro.dbt.replace", "macro_sql": "{% macro replace(field, old_chars, new_chars) -%}\n {{ return(adapter.dispatch('replace', 'dbt') (field, old_chars, new_chars)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__replace"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.652385, "supported_languages": null}, "macro.dbt.default__replace": {"name": "default__replace", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/replace.sql", "original_file_path": "macros/utils/replace.sql", "unique_id": "macro.dbt.default__replace", "macro_sql": "{% macro default__replace(field, old_chars, new_chars) %}\n\n replace(\n {{ field }},\n {{ old_chars }},\n {{ new_chars }}\n )\n\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.652531, "supported_languages": null}, "macro.dbt.concat": {"name": "concat", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/concat.sql", "original_file_path": "macros/utils/concat.sql", "unique_id": "macro.dbt.concat", "macro_sql": "{% macro concat(fields) -%}\n {{ return(adapter.dispatch('concat', 'dbt')(fields)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__concat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.652748, "supported_languages": null}, "macro.dbt.default__concat": {"name": "default__concat", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/concat.sql", "original_file_path": "macros/utils/concat.sql", "unique_id": "macro.dbt.default__concat", "macro_sql": "{% macro default__concat(fields) -%}\n {{ fields|join(' || ') }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.65286, "supported_languages": null}, "macro.dbt.get_powers_of_two": {"name": "get_powers_of_two", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/generate_series.sql", "original_file_path": "macros/utils/generate_series.sql", "unique_id": "macro.dbt.get_powers_of_two", "macro_sql": "{% macro get_powers_of_two(upper_bound) %}\n {{ return(adapter.dispatch('get_powers_of_two', 'dbt')(upper_bound)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_powers_of_two"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6540859, "supported_languages": null}, "macro.dbt.default__get_powers_of_two": {"name": "default__get_powers_of_two", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/generate_series.sql", "original_file_path": "macros/utils/generate_series.sql", "unique_id": "macro.dbt.default__get_powers_of_two", "macro_sql": "{% macro default__get_powers_of_two(upper_bound) %}\n\n {% if upper_bound <= 0 %}\n {{ exceptions.raise_compiler_error(\"upper bound must be positive\") }}\n {% endif %}\n\n {% for _ in range(1, 100) %}\n {% if upper_bound <= 2 ** loop.index %}{{ return(loop.index) }}{% endif %}\n {% endfor %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.655086, "supported_languages": null}, "macro.dbt.generate_series": {"name": "generate_series", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/generate_series.sql", "original_file_path": "macros/utils/generate_series.sql", "unique_id": "macro.dbt.generate_series", "macro_sql": "{% macro generate_series(upper_bound) %}\n {{ return(adapter.dispatch('generate_series', 'dbt')(upper_bound)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__generate_series"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.655344, "supported_languages": null}, "macro.dbt.default__generate_series": {"name": "default__generate_series", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/generate_series.sql", "original_file_path": "macros/utils/generate_series.sql", "unique_id": "macro.dbt.default__generate_series", "macro_sql": "{% macro default__generate_series(upper_bound) %}\n\n {% set n = dbt.get_powers_of_two(upper_bound) %}\n\n with p as (\n select 0 as generated_number union all select 1\n ), unioned as (\n\n select\n\n {% for i in range(n) %}\n p{{i}}.generated_number * power(2, {{i}})\n {% if not loop.last %} + {% endif %}\n {% endfor %}\n + 1\n as generated_number\n\n from\n\n {% for i in range(n) %}\n p as p{{i}}\n {% if not loop.last %} cross join {% endif %}\n {% endfor %}\n\n )\n\n select *\n from unioned\n where generated_number <= {{upper_bound}}\n order by generated_number\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_powers_of_two"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.655863, "supported_languages": null}, "macro.dbt.length": {"name": "length", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/length.sql", "original_file_path": "macros/utils/length.sql", "unique_id": "macro.dbt.length", "macro_sql": "{% macro length(expression) -%}\n {{ return(adapter.dispatch('length', 'dbt') (expression)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__length"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6562681, "supported_languages": null}, "macro.dbt.default__length": {"name": "default__length", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/length.sql", "original_file_path": "macros/utils/length.sql", "unique_id": "macro.dbt.default__length", "macro_sql": "{% macro default__length(expression) %}\n\n length(\n {{ expression }}\n )\n\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.656409, "supported_languages": null}, "macro.dbt.dateadd": {"name": "dateadd", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/dateadd.sql", "original_file_path": "macros/utils/dateadd.sql", "unique_id": "macro.dbt.dateadd", "macro_sql": "{% macro dateadd(datepart, interval, from_date_or_timestamp) %}\n {{ return(adapter.dispatch('dateadd', 'dbt')(datepart, interval, from_date_or_timestamp)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__dateadd"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.65676, "supported_languages": null}, "macro.dbt.default__dateadd": {"name": "default__dateadd", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/dateadd.sql", "original_file_path": "macros/utils/dateadd.sql", "unique_id": "macro.dbt.default__dateadd", "macro_sql": "{% macro default__dateadd(datepart, interval, from_date_or_timestamp) %}\n\n dateadd(\n {{ datepart }},\n {{ interval }},\n {{ from_date_or_timestamp }}\n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.656917, "supported_languages": null}, "macro.dbt.intersect": {"name": "intersect", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/intersect.sql", "original_file_path": "macros/utils/intersect.sql", "unique_id": "macro.dbt.intersect", "macro_sql": "{% macro intersect() %}\n {{ return(adapter.dispatch('intersect', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__intersect"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.657127, "supported_languages": null}, "macro.dbt.default__intersect": {"name": "default__intersect", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/intersect.sql", "original_file_path": "macros/utils/intersect.sql", "unique_id": "macro.dbt.default__intersect", "macro_sql": "{% macro default__intersect() %}\n\n intersect\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.657332, "supported_languages": null}, "macro.dbt.escape_single_quotes": {"name": "escape_single_quotes", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/escape_single_quotes.sql", "original_file_path": "macros/utils/escape_single_quotes.sql", "unique_id": "macro.dbt.escape_single_quotes", "macro_sql": "{% macro escape_single_quotes(expression) %}\n {{ return(adapter.dispatch('escape_single_quotes', 'dbt') (expression)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__escape_single_quotes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.65759, "supported_languages": null}, "macro.dbt.default__escape_single_quotes": {"name": "default__escape_single_quotes", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/escape_single_quotes.sql", "original_file_path": "macros/utils/escape_single_quotes.sql", "unique_id": "macro.dbt.default__escape_single_quotes", "macro_sql": "{% macro default__escape_single_quotes(expression) -%}\n{{ expression | replace(\"'\",\"''\") }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.657731, "supported_languages": null}, "macro.dbt.right": {"name": "right", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/right.sql", "original_file_path": "macros/utils/right.sql", "unique_id": "macro.dbt.right", "macro_sql": "{% macro right(string_text, length_expression) -%}\n {{ return(adapter.dispatch('right', 'dbt') (string_text, length_expression)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__right"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.658025, "supported_languages": null}, "macro.dbt.default__right": {"name": "default__right", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/right.sql", "original_file_path": "macros/utils/right.sql", "unique_id": "macro.dbt.default__right", "macro_sql": "{% macro default__right(string_text, length_expression) %}\n\n right(\n {{ string_text }},\n {{ length_expression }}\n )\n\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.658161, "supported_languages": null}, "macro.dbt.listagg": {"name": "listagg", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/listagg.sql", "original_file_path": "macros/utils/listagg.sql", "unique_id": "macro.dbt.listagg", "macro_sql": "{% macro listagg(measure, delimiter_text=\"','\", order_by_clause=none, limit_num=none) -%}\n {{ return(adapter.dispatch('listagg', 'dbt') (measure, delimiter_text, order_by_clause, limit_num)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__listagg"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.658924, "supported_languages": null}, "macro.dbt.default__listagg": {"name": "default__listagg", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/listagg.sql", "original_file_path": "macros/utils/listagg.sql", "unique_id": "macro.dbt.default__listagg", "macro_sql": "{% macro default__listagg(measure, delimiter_text, order_by_clause, limit_num) -%}\n\n {% if limit_num -%}\n array_to_string(\n array_slice(\n array_agg(\n {{ measure }}\n ){% if order_by_clause -%}\n within group ({{ order_by_clause }})\n {%- endif %}\n ,0\n ,{{ limit_num }}\n ),\n {{ delimiter_text }}\n )\n {%- else %}\n listagg(\n {{ measure }},\n {{ delimiter_text }}\n )\n {% if order_by_clause -%}\n within group ({{ order_by_clause }})\n {%- endif %}\n {%- endif %}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.659483, "supported_languages": null}, "macro.dbt.datediff": {"name": "datediff", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/datediff.sql", "original_file_path": "macros/utils/datediff.sql", "unique_id": "macro.dbt.datediff", "macro_sql": "{% macro datediff(first_date, second_date, datepart) %}\n {{ return(adapter.dispatch('datediff', 'dbt')(first_date, second_date, datepart)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__datediff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.659924, "supported_languages": null}, "macro.dbt.default__datediff": {"name": "default__datediff", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/datediff.sql", "original_file_path": "macros/utils/datediff.sql", "unique_id": "macro.dbt.default__datediff", "macro_sql": "{% macro default__datediff(first_date, second_date, datepart) -%}\n\n datediff(\n {{ datepart }},\n {{ first_date }},\n {{ second_date }}\n )\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.660096, "supported_languages": null}, "macro.dbt.safe_cast": {"name": "safe_cast", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/safe_cast.sql", "original_file_path": "macros/utils/safe_cast.sql", "unique_id": "macro.dbt.safe_cast", "macro_sql": "{% macro safe_cast(field, type) %}\n {{ return(adapter.dispatch('safe_cast', 'dbt') (field, type)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__safe_cast"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.66039, "supported_languages": null}, "macro.dbt.default__safe_cast": {"name": "default__safe_cast", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/safe_cast.sql", "original_file_path": "macros/utils/safe_cast.sql", "unique_id": "macro.dbt.default__safe_cast", "macro_sql": "{% macro default__safe_cast(field, type) %}\n {# most databases don't support this function yet\n so we just need to use cast #}\n cast({{field}} as {{type}})\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6605282, "supported_languages": null}, "macro.dbt.hash": {"name": "hash", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/hash.sql", "original_file_path": "macros/utils/hash.sql", "unique_id": "macro.dbt.hash", "macro_sql": "{% macro hash(field) -%}\n {{ return(adapter.dispatch('hash', 'dbt') (field)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__hash"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.660772, "supported_languages": null}, "macro.dbt.default__hash": {"name": "default__hash", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/hash.sql", "original_file_path": "macros/utils/hash.sql", "unique_id": "macro.dbt.default__hash", "macro_sql": "{% macro default__hash(field) -%}\n md5(cast({{ field }} as {{ api.Column.translate_type('string') }}))\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.660921, "supported_languages": null}, "macro.dbt.cast_bool_to_text": {"name": "cast_bool_to_text", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/cast_bool_to_text.sql", "original_file_path": "macros/utils/cast_bool_to_text.sql", "unique_id": "macro.dbt.cast_bool_to_text", "macro_sql": "{% macro cast_bool_to_text(field) %}\n {{ adapter.dispatch('cast_bool_to_text', 'dbt') (field) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__cast_bool_to_text"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6611578, "supported_languages": null}, "macro.dbt.default__cast_bool_to_text": {"name": "default__cast_bool_to_text", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/cast_bool_to_text.sql", "original_file_path": "macros/utils/cast_bool_to_text.sql", "unique_id": "macro.dbt.default__cast_bool_to_text", "macro_sql": "{% macro default__cast_bool_to_text(field) %}\n cast({{ field }} as {{ api.Column.translate_type('string') }})\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6613078, "supported_languages": null}, "macro.dbt.any_value": {"name": "any_value", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/any_value.sql", "original_file_path": "macros/utils/any_value.sql", "unique_id": "macro.dbt.any_value", "macro_sql": "{% macro any_value(expression) -%}\n {{ return(adapter.dispatch('any_value', 'dbt') (expression)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__any_value"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.661587, "supported_languages": null}, "macro.dbt.default__any_value": {"name": "default__any_value", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/any_value.sql", "original_file_path": "macros/utils/any_value.sql", "unique_id": "macro.dbt.default__any_value", "macro_sql": "{% macro default__any_value(expression) -%}\n\n any_value({{ expression }})\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6617, "supported_languages": null}, "macro.dbt.position": {"name": "position", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/position.sql", "original_file_path": "macros/utils/position.sql", "unique_id": "macro.dbt.position", "macro_sql": "{% macro position(substring_text, string_text) -%}\n {{ return(adapter.dispatch('position', 'dbt') (substring_text, string_text)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__position"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.662018, "supported_languages": null}, "macro.dbt.default__position": {"name": "default__position", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/position.sql", "original_file_path": "macros/utils/position.sql", "unique_id": "macro.dbt.default__position", "macro_sql": "{% macro default__position(substring_text, string_text) %}\n\n position(\n {{ substring_text }} in {{ string_text }}\n )\n\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.662155, "supported_languages": null}, "macro.dbt.string_literal": {"name": "string_literal", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/literal.sql", "original_file_path": "macros/utils/literal.sql", "unique_id": "macro.dbt.string_literal", "macro_sql": "{%- macro string_literal(value) -%}\n {{ return(adapter.dispatch('string_literal', 'dbt') (value)) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__string_literal"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.662845, "supported_languages": null}, "macro.dbt.default__string_literal": {"name": "default__string_literal", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/literal.sql", "original_file_path": "macros/utils/literal.sql", "unique_id": "macro.dbt.default__string_literal", "macro_sql": "{% macro default__string_literal(value) -%}\n '{{ value }}'\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.66345, "supported_languages": null}, "macro.dbt.type_string": {"name": "type_string", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_string", "macro_sql": "\n\n{%- macro type_string() -%}\n {{ return(adapter.dispatch('type_string', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.664594, "supported_languages": null}, "macro.dbt.default__type_string": {"name": "default__type_string", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_string", "macro_sql": "{% macro default__type_string() %}\n {{ return(api.Column.translate_type(\"string\")) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.664939, "supported_languages": null}, "macro.dbt.type_timestamp": {"name": "type_timestamp", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_timestamp", "macro_sql": "\n\n{%- macro type_timestamp() -%}\n {{ return(adapter.dispatch('type_timestamp', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.665469, "supported_languages": null}, "macro.dbt.default__type_timestamp": {"name": "default__type_timestamp", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_timestamp", "macro_sql": "{% macro default__type_timestamp() %}\n {{ return(api.Column.translate_type(\"timestamp\")) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.665676, "supported_languages": null}, "macro.dbt.type_float": {"name": "type_float", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_float", "macro_sql": "\n\n{%- macro type_float() -%}\n {{ return(adapter.dispatch('type_float', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6658401, "supported_languages": null}, "macro.dbt.default__type_float": {"name": "default__type_float", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_float", "macro_sql": "{% macro default__type_float() %}\n {{ return(api.Column.translate_type(\"float\")) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.665997, "supported_languages": null}, "macro.dbt.type_numeric": {"name": "type_numeric", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_numeric", "macro_sql": "\n\n{%- macro type_numeric() -%}\n {{ return(adapter.dispatch('type_numeric', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_numeric"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.666155, "supported_languages": null}, "macro.dbt.default__type_numeric": {"name": "default__type_numeric", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_numeric", "macro_sql": "{% macro default__type_numeric() %}\n {{ return(api.Column.numeric_type(\"numeric\", 28, 6)) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.666337, "supported_languages": null}, "macro.dbt.type_bigint": {"name": "type_bigint", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_bigint", "macro_sql": "\n\n{%- macro type_bigint() -%}\n {{ return(adapter.dispatch('type_bigint', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_bigint"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.666504, "supported_languages": null}, "macro.dbt.default__type_bigint": {"name": "default__type_bigint", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_bigint", "macro_sql": "{% macro default__type_bigint() %}\n {{ return(api.Column.translate_type(\"bigint\")) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.66698, "supported_languages": null}, "macro.dbt.type_int": {"name": "type_int", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_int", "macro_sql": "\n\n{%- macro type_int() -%}\n {{ return(adapter.dispatch('type_int', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_int"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.667156, "supported_languages": null}, "macro.dbt.default__type_int": {"name": "default__type_int", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_int", "macro_sql": "{%- macro default__type_int() -%}\n {{ return(api.Column.translate_type(\"integer\")) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.667305, "supported_languages": null}, "macro.dbt.type_boolean": {"name": "type_boolean", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_boolean", "macro_sql": "\n\n{%- macro type_boolean() -%}\n {{ return(adapter.dispatch('type_boolean', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_boolean"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.667467, "supported_languages": null}, "macro.dbt.default__type_boolean": {"name": "default__type_boolean", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_boolean", "macro_sql": "{%- macro default__type_boolean() -%}\n {{ return(api.Column.translate_type(\"boolean\")) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.667657, "supported_languages": null}, "macro.dbt.array_concat": {"name": "array_concat", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/array_concat.sql", "original_file_path": "macros/utils/array_concat.sql", "unique_id": "macro.dbt.array_concat", "macro_sql": "{% macro array_concat(array_1, array_2) -%}\n {{ return(adapter.dispatch('array_concat', 'dbt')(array_1, array_2)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__array_concat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.668108, "supported_languages": null}, "macro.dbt.default__array_concat": {"name": "default__array_concat", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/array_concat.sql", "original_file_path": "macros/utils/array_concat.sql", "unique_id": "macro.dbt.default__array_concat", "macro_sql": "{% macro default__array_concat(array_1, array_2) -%}\n array_cat({{ array_1 }}, {{ array_2 }})\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.668247, "supported_languages": null}, "macro.dbt.bool_or": {"name": "bool_or", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/bool_or.sql", "original_file_path": "macros/utils/bool_or.sql", "unique_id": "macro.dbt.bool_or", "macro_sql": "{% macro bool_or(expression) -%}\n {{ return(adapter.dispatch('bool_or', 'dbt') (expression)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__bool_or"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.668496, "supported_languages": null}, "macro.dbt.default__bool_or": {"name": "default__bool_or", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/bool_or.sql", "original_file_path": "macros/utils/bool_or.sql", "unique_id": "macro.dbt.default__bool_or", "macro_sql": "{% macro default__bool_or(expression) -%}\n\n bool_or({{ expression }})\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.668598, "supported_languages": null}, "macro.dbt.last_day": {"name": "last_day", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/last_day.sql", "original_file_path": "macros/utils/last_day.sql", "unique_id": "macro.dbt.last_day", "macro_sql": "{% macro last_day(date, datepart) %}\n {{ return(adapter.dispatch('last_day', 'dbt') (date, datepart)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__last_day"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.669727, "supported_languages": null}, "macro.dbt.default_last_day": {"name": "default_last_day", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/last_day.sql", "original_file_path": "macros/utils/last_day.sql", "unique_id": "macro.dbt.default_last_day", "macro_sql": "\n\n{%- macro default_last_day(date, datepart) -%}\n cast(\n {{dbt.dateadd('day', '-1',\n dbt.dateadd(datepart, '1', dbt.date_trunc(datepart, date))\n )}}\n as date)\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.dateadd", "macro.dbt.date_trunc"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.670026, "supported_languages": null}, "macro.dbt.default__last_day": {"name": "default__last_day", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/last_day.sql", "original_file_path": "macros/utils/last_day.sql", "unique_id": "macro.dbt.default__last_day", "macro_sql": "{% macro default__last_day(date, datepart) -%}\n {{dbt.default_last_day(date, datepart)}}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default_last_day"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.670187, "supported_languages": null}, "macro.dbt.split_part": {"name": "split_part", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/split_part.sql", "original_file_path": "macros/utils/split_part.sql", "unique_id": "macro.dbt.split_part", "macro_sql": "{% macro split_part(string_text, delimiter_text, part_number) %}\n {{ return(adapter.dispatch('split_part', 'dbt') (string_text, delimiter_text, part_number)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__split_part"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.670681, "supported_languages": null}, "macro.dbt.default__split_part": {"name": "default__split_part", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/split_part.sql", "original_file_path": "macros/utils/split_part.sql", "unique_id": "macro.dbt.default__split_part", "macro_sql": "{% macro default__split_part(string_text, delimiter_text, part_number) %}\n\n split_part(\n {{ string_text }},\n {{ delimiter_text }},\n {{ part_number }}\n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.670897, "supported_languages": null}, "macro.dbt._split_part_negative": {"name": "_split_part_negative", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/split_part.sql", "original_file_path": "macros/utils/split_part.sql", "unique_id": "macro.dbt._split_part_negative", "macro_sql": "{% macro _split_part_negative(string_text, delimiter_text, part_number) %}\n\n split_part(\n {{ string_text }},\n {{ delimiter_text }},\n length({{ string_text }})\n - length(\n replace({{ string_text }}, {{ delimiter_text }}, '')\n ) + 2 + {{ part_number }}\n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.671447, "supported_languages": null}, "macro.dbt.date_trunc": {"name": "date_trunc", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/date_trunc.sql", "original_file_path": "macros/utils/date_trunc.sql", "unique_id": "macro.dbt.date_trunc", "macro_sql": "{% macro date_trunc(datepart, date) -%}\n {{ return(adapter.dispatch('date_trunc', 'dbt') (datepart, date)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__date_trunc"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6717608, "supported_languages": null}, "macro.dbt.default__date_trunc": {"name": "default__date_trunc", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/date_trunc.sql", "original_file_path": "macros/utils/date_trunc.sql", "unique_id": "macro.dbt.default__date_trunc", "macro_sql": "{% macro default__date_trunc(datepart, date) -%}\n date_trunc('{{datepart}}', {{date}})\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.671893, "supported_languages": null}, "macro.dbt.array_construct": {"name": "array_construct", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/array_construct.sql", "original_file_path": "macros/utils/array_construct.sql", "unique_id": "macro.dbt.array_construct", "macro_sql": "{% macro array_construct(inputs=[], data_type=api.Column.translate_type('integer')) -%}\n {{ return(adapter.dispatch('array_construct', 'dbt')(inputs, data_type)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__array_construct"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.67227, "supported_languages": null}, "macro.dbt.default__array_construct": {"name": "default__array_construct", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/array_construct.sql", "original_file_path": "macros/utils/array_construct.sql", "unique_id": "macro.dbt.default__array_construct", "macro_sql": "{% macro default__array_construct(inputs, data_type) -%}\n {% if inputs|length > 0 %}\n array[ {{ inputs|join(' , ') }} ]\n {% else %}\n array[]::{{data_type}}[]\n {% endif %}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.672519, "supported_languages": null}, "macro.dbt.array_append": {"name": "array_append", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/array_append.sql", "original_file_path": "macros/utils/array_append.sql", "unique_id": "macro.dbt.array_append", "macro_sql": "{% macro array_append(array, new_element) -%}\n {{ return(adapter.dispatch('array_append', 'dbt')(array, new_element)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__array_append"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.672791, "supported_languages": null}, "macro.dbt.default__array_append": {"name": "default__array_append", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/array_append.sql", "original_file_path": "macros/utils/array_append.sql", "unique_id": "macro.dbt.default__array_append", "macro_sql": "{% macro default__array_append(array, new_element) -%}\n array_append({{ array }}, {{ new_element }})\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.673737, "supported_languages": null}, "macro.dbt.create_schema": {"name": "create_schema", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "unique_id": "macro.dbt.create_schema", "macro_sql": "{% macro create_schema(relation) -%}\n {{ adapter.dispatch('create_schema', 'dbt')(relation) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__create_schema"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6753652, "supported_languages": null}, "macro.dbt.default__create_schema": {"name": "default__create_schema", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "unique_id": "macro.dbt.default__create_schema", "macro_sql": "{% macro default__create_schema(relation) -%}\n {%- call statement('create_schema') -%}\n create schema if not exists {{ relation.without_identifier() }}\n {% endcall %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.675761, "supported_languages": null}, "macro.dbt.drop_schema": {"name": "drop_schema", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "unique_id": "macro.dbt.drop_schema", "macro_sql": "{% macro drop_schema(relation) -%}\n {{ adapter.dispatch('drop_schema', 'dbt')(relation) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__drop_schema"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.676099, "supported_languages": null}, "macro.dbt.default__drop_schema": {"name": "default__drop_schema", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "unique_id": "macro.dbt.default__drop_schema", "macro_sql": "{% macro default__drop_schema(relation) -%}\n {%- call statement('drop_schema') -%}\n drop schema if exists {{ relation.without_identifier() }} cascade\n {% endcall %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.676409, "supported_languages": null}, "macro.dbt.current_timestamp": {"name": "current_timestamp", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.current_timestamp", "macro_sql": "{%- macro current_timestamp() -%}\n {{ adapter.dispatch('current_timestamp', 'dbt')() }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt_postgres.postgres__current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.677073, "supported_languages": null}, "macro.dbt.default__current_timestamp": {"name": "default__current_timestamp", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.default__current_timestamp", "macro_sql": "{% macro default__current_timestamp() -%}\n {{ exceptions.raise_not_implemented(\n 'current_timestamp macro not implemented for adapter ' + adapter.type()) }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.67726, "supported_languages": null}, "macro.dbt.snapshot_get_time": {"name": "snapshot_get_time", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.snapshot_get_time", "macro_sql": "\n\n{%- macro snapshot_get_time() -%}\n {{ adapter.dispatch('snapshot_get_time', 'dbt')() }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt_postgres.postgres__snapshot_get_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.677933, "supported_languages": null}, "macro.dbt.default__snapshot_get_time": {"name": "default__snapshot_get_time", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.default__snapshot_get_time", "macro_sql": "{% macro default__snapshot_get_time() %}\n {{ current_timestamp() }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6780689, "supported_languages": null}, "macro.dbt.current_timestamp_backcompat": {"name": "current_timestamp_backcompat", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.current_timestamp_backcompat", "macro_sql": "{% macro current_timestamp_backcompat() %}\n {{ return(adapter.dispatch('current_timestamp_backcompat', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__current_timestamp_backcompat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6786728, "supported_languages": null}, "macro.dbt.default__current_timestamp_backcompat": {"name": "default__current_timestamp_backcompat", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.default__current_timestamp_backcompat", "macro_sql": "{% macro default__current_timestamp_backcompat() %}\n current_timestamp::timestamp\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.67887, "supported_languages": null}, "macro.dbt.current_timestamp_in_utc_backcompat": {"name": "current_timestamp_in_utc_backcompat", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.current_timestamp_in_utc_backcompat", "macro_sql": "{% macro current_timestamp_in_utc_backcompat() %}\n {{ return(adapter.dispatch('current_timestamp_in_utc_backcompat', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__current_timestamp_in_utc_backcompat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6790452, "supported_languages": null}, "macro.dbt.default__current_timestamp_in_utc_backcompat": {"name": "default__current_timestamp_in_utc_backcompat", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.default__current_timestamp_in_utc_backcompat", "macro_sql": "{% macro default__current_timestamp_in_utc_backcompat() %}\n {{ return(adapter.dispatch('current_timestamp_backcompat', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.current_timestamp_backcompat", "macro.dbt_postgres.postgres__current_timestamp_backcompat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.679208, "supported_languages": null}, "macro.dbt.get_create_index_sql": {"name": "get_create_index_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "unique_id": "macro.dbt.get_create_index_sql", "macro_sql": "{% macro get_create_index_sql(relation, index_dict) -%}\n {{ return(adapter.dispatch('get_create_index_sql', 'dbt')(relation, index_dict)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_create_index_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.680168, "supported_languages": null}, "macro.dbt.default__get_create_index_sql": {"name": "default__get_create_index_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "unique_id": "macro.dbt.default__get_create_index_sql", "macro_sql": "{% macro default__get_create_index_sql(relation, index_dict) -%}\n {% do return(None) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.680307, "supported_languages": null}, "macro.dbt.create_indexes": {"name": "create_indexes", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "unique_id": "macro.dbt.create_indexes", "macro_sql": "{% macro create_indexes(relation) -%}\n {{ adapter.dispatch('create_indexes', 'dbt')(relation) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__create_indexes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.680537, "supported_languages": null}, "macro.dbt.default__create_indexes": {"name": "default__create_indexes", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "unique_id": "macro.dbt.default__create_indexes", "macro_sql": "{% macro default__create_indexes(relation) -%}\n {%- set _indexes = config.get('indexes', default=[]) -%}\n\n {% for _index_dict in _indexes %}\n {% set create_index_sql = get_create_index_sql(relation, _index_dict) %}\n {% if create_index_sql %}\n {% do run_query(create_index_sql) %}\n {% endif %}\n {% endfor %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_create_index_sql", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.681185, "supported_languages": null}, "macro.dbt.get_drop_index_sql": {"name": "get_drop_index_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "unique_id": "macro.dbt.get_drop_index_sql", "macro_sql": "{% macro get_drop_index_sql(relation, index_name) -%}\n {{ adapter.dispatch('get_drop_index_sql', 'dbt')(relation, index_name) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_drop_index_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.681373, "supported_languages": null}, "macro.dbt.default__get_drop_index_sql": {"name": "default__get_drop_index_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "unique_id": "macro.dbt.default__get_drop_index_sql", "macro_sql": "{% macro default__get_drop_index_sql(relation, index_name) -%}\n {{ exceptions.raise_compiler_error(\"`get_drop_index_sql has not been implemented for this adapter.\") }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.681511, "supported_languages": null}, "macro.dbt.get_show_indexes_sql": {"name": "get_show_indexes_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "unique_id": "macro.dbt.get_show_indexes_sql", "macro_sql": "{% macro get_show_indexes_sql(relation) -%}\n {{ adapter.dispatch('get_show_indexes_sql', 'dbt')(relation) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_show_indexes_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.681661, "supported_languages": null}, "macro.dbt.default__get_show_indexes_sql": {"name": "default__get_show_indexes_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "unique_id": "macro.dbt.default__get_show_indexes_sql", "macro_sql": "{% macro default__get_show_indexes_sql(relation) -%}\n {{ exceptions.raise_compiler_error(\"`get_show_indexes_sql has not been implemented for this adapter.\") }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.681814, "supported_languages": null}, "macro.dbt.make_intermediate_relation": {"name": "make_intermediate_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.make_intermediate_relation", "macro_sql": "{% macro make_intermediate_relation(base_relation, suffix='__dbt_tmp') %}\n {{ return(adapter.dispatch('make_intermediate_relation', 'dbt')(base_relation, suffix)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__make_intermediate_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.683678, "supported_languages": null}, "macro.dbt.default__make_intermediate_relation": {"name": "default__make_intermediate_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.default__make_intermediate_relation", "macro_sql": "{% macro default__make_intermediate_relation(base_relation, suffix) %}\n {{ return(default__make_temp_relation(base_relation, suffix)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__make_temp_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6838431, "supported_languages": null}, "macro.dbt.make_temp_relation": {"name": "make_temp_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.make_temp_relation", "macro_sql": "{% macro make_temp_relation(base_relation, suffix='__dbt_tmp') %}\n {{ return(adapter.dispatch('make_temp_relation', 'dbt')(base_relation, suffix)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__make_temp_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.684213, "supported_languages": null}, "macro.dbt.default__make_temp_relation": {"name": "default__make_temp_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.default__make_temp_relation", "macro_sql": "{% macro default__make_temp_relation(base_relation, suffix) %}\n {%- set temp_identifier = base_relation.identifier ~ suffix -%}\n {%- set temp_relation = base_relation.incorporate(\n path={\"identifier\": temp_identifier}) -%}\n\n {{ return(temp_relation) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6847181, "supported_languages": null}, "macro.dbt.make_backup_relation": {"name": "make_backup_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.make_backup_relation", "macro_sql": "{% macro make_backup_relation(base_relation, backup_relation_type, suffix='__dbt_backup') %}\n {{ return(adapter.dispatch('make_backup_relation', 'dbt')(base_relation, backup_relation_type, suffix)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__make_backup_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.684971, "supported_languages": null}, "macro.dbt.default__make_backup_relation": {"name": "default__make_backup_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.default__make_backup_relation", "macro_sql": "{% macro default__make_backup_relation(base_relation, backup_relation_type, suffix) %}\n {%- set backup_identifier = base_relation.identifier ~ suffix -%}\n {%- set backup_relation = base_relation.incorporate(\n path={\"identifier\": backup_identifier},\n type=backup_relation_type\n ) -%}\n {{ return(backup_relation) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.685447, "supported_languages": null}, "macro.dbt.truncate_relation": {"name": "truncate_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.truncate_relation", "macro_sql": "{% macro truncate_relation(relation) -%}\n {{ return(adapter.dispatch('truncate_relation', 'dbt')(relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__truncate_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.685689, "supported_languages": null}, "macro.dbt.default__truncate_relation": {"name": "default__truncate_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.default__truncate_relation", "macro_sql": "{% macro default__truncate_relation(relation) -%}\n {% call statement('truncate_relation') -%}\n truncate table {{ relation }}\n {%- endcall %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6861079, "supported_languages": null}, "macro.dbt.get_or_create_relation": {"name": "get_or_create_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.get_or_create_relation", "macro_sql": "{% macro get_or_create_relation(database, schema, identifier, type) -%}\n {{ return(adapter.dispatch('get_or_create_relation', 'dbt')(database, schema, identifier, type)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_or_create_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.686464, "supported_languages": null}, "macro.dbt.default__get_or_create_relation": {"name": "default__get_or_create_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.default__get_or_create_relation", "macro_sql": "{% macro default__get_or_create_relation(database, schema, identifier, type) %}\n {%- set target_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) %}\n\n {% if target_relation %}\n {% do return([true, target_relation]) %}\n {% endif %}\n\n {%- set new_relation = api.Relation.create(\n database=database,\n schema=schema,\n identifier=identifier,\n type=type\n ) -%}\n {% do return([false, new_relation]) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.687165, "supported_languages": null}, "macro.dbt.load_cached_relation": {"name": "load_cached_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.load_cached_relation", "macro_sql": "{% macro load_cached_relation(relation) %}\n {% do return(adapter.get_relation(\n database=relation.database,\n schema=relation.schema,\n identifier=relation.identifier\n )) -%}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.687396, "supported_languages": null}, "macro.dbt.load_relation": {"name": "load_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.load_relation", "macro_sql": "{% macro load_relation(relation) %}\n {{ return(load_cached_relation(relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.load_cached_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.687534, "supported_languages": null}, "macro.dbt.collect_freshness": {"name": "collect_freshness", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/freshness.sql", "original_file_path": "macros/adapters/freshness.sql", "unique_id": "macro.dbt.collect_freshness", "macro_sql": "{% macro collect_freshness(source, loaded_at_field, filter) %}\n {{ return(adapter.dispatch('collect_freshness', 'dbt')(source, loaded_at_field, filter))}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__collect_freshness"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6879501, "supported_languages": null}, "macro.dbt.default__collect_freshness": {"name": "default__collect_freshness", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/freshness.sql", "original_file_path": "macros/adapters/freshness.sql", "unique_id": "macro.dbt.default__collect_freshness", "macro_sql": "{% macro default__collect_freshness(source, loaded_at_field, filter) %}\n {% call statement('collect_freshness', fetch_result=True, auto_begin=False) -%}\n select\n max({{ loaded_at_field }}) as max_loaded_at,\n {{ current_timestamp() }} as snapshotted_at\n from {{ source }}\n {% if filter %}\n where {{ filter }}\n {% endif %}\n {% endcall %}\n {{ return(load_result('collect_freshness')) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt.current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6883252, "supported_languages": null}, "macro.dbt.validate_sql": {"name": "validate_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/validate_sql.sql", "original_file_path": "macros/adapters/validate_sql.sql", "unique_id": "macro.dbt.validate_sql", "macro_sql": "{% macro validate_sql(sql) -%}\n {{ return(adapter.dispatch('validate_sql', 'dbt')(sql)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__validate_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.688589, "supported_languages": null}, "macro.dbt.default__validate_sql": {"name": "default__validate_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/validate_sql.sql", "original_file_path": "macros/adapters/validate_sql.sql", "unique_id": "macro.dbt.default__validate_sql", "macro_sql": "{% macro default__validate_sql(sql) -%}\n {% call statement('validate_sql') -%}\n explain {{ sql }}\n {% endcall %}\n {{ return(load_result('validate_sql')) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6888, "supported_languages": null}, "macro.dbt.copy_grants": {"name": "copy_grants", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.copy_grants", "macro_sql": "{% macro copy_grants() %}\n {{ return(adapter.dispatch('copy_grants', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__copy_grants"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.690645, "supported_languages": null}, "macro.dbt.default__copy_grants": {"name": "default__copy_grants", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__copy_grants", "macro_sql": "{% macro default__copy_grants() %}\n {{ return(True) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.690804, "supported_languages": null}, "macro.dbt.support_multiple_grantees_per_dcl_statement": {"name": "support_multiple_grantees_per_dcl_statement", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.support_multiple_grantees_per_dcl_statement", "macro_sql": "{% macro support_multiple_grantees_per_dcl_statement() %}\n {{ return(adapter.dispatch('support_multiple_grantees_per_dcl_statement', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__support_multiple_grantees_per_dcl_statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.691, "supported_languages": null}, "macro.dbt.default__support_multiple_grantees_per_dcl_statement": {"name": "default__support_multiple_grantees_per_dcl_statement", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__support_multiple_grantees_per_dcl_statement", "macro_sql": "\n\n{%- macro default__support_multiple_grantees_per_dcl_statement() -%}\n {{ return(True) }}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.691103, "supported_languages": null}, "macro.dbt.should_revoke": {"name": "should_revoke", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.should_revoke", "macro_sql": "{% macro should_revoke(existing_relation, full_refresh_mode=True) %}\n\n {% if not existing_relation %}\n {#-- The table doesn't already exist, so no grants to copy over --#}\n {{ return(False) }}\n {% elif full_refresh_mode %}\n {#-- The object is being REPLACED -- whether grants are copied over depends on the value of user config --#}\n {{ return(copy_grants()) }}\n {% else %}\n {#-- The table is being merged/upserted/inserted -- grants will be carried over --#}\n {{ return(True) }}\n {% endif %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.copy_grants"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.691411, "supported_languages": null}, "macro.dbt.get_show_grant_sql": {"name": "get_show_grant_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.get_show_grant_sql", "macro_sql": "{% macro get_show_grant_sql(relation) %}\n {{ return(adapter.dispatch(\"get_show_grant_sql\", \"dbt\")(relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_show_grant_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.691602, "supported_languages": null}, "macro.dbt.default__get_show_grant_sql": {"name": "default__get_show_grant_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__get_show_grant_sql", "macro_sql": "{% macro default__get_show_grant_sql(relation) %}\n show grants on {{ relation }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6918552, "supported_languages": null}, "macro.dbt.get_grant_sql": {"name": "get_grant_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.get_grant_sql", "macro_sql": "{% macro get_grant_sql(relation, privilege, grantees) %}\n {{ return(adapter.dispatch('get_grant_sql', 'dbt')(relation, privilege, grantees)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_grant_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.692238, "supported_languages": null}, "macro.dbt.default__get_grant_sql": {"name": "default__get_grant_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__get_grant_sql", "macro_sql": "\n\n{%- macro default__get_grant_sql(relation, privilege, grantees) -%}\n grant {{ privilege }} on {{ relation }} to {{ grantees | join(', ') }}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6924522, "supported_languages": null}, "macro.dbt.get_revoke_sql": {"name": "get_revoke_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.get_revoke_sql", "macro_sql": "{% macro get_revoke_sql(relation, privilege, grantees) %}\n {{ return(adapter.dispatch('get_revoke_sql', 'dbt')(relation, privilege, grantees)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_revoke_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.69268, "supported_languages": null}, "macro.dbt.default__get_revoke_sql": {"name": "default__get_revoke_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__get_revoke_sql", "macro_sql": "\n\n{%- macro default__get_revoke_sql(relation, privilege, grantees) -%}\n revoke {{ privilege }} on {{ relation }} from {{ grantees | join(', ') }}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6932192, "supported_languages": null}, "macro.dbt.get_dcl_statement_list": {"name": "get_dcl_statement_list", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.get_dcl_statement_list", "macro_sql": "{% macro get_dcl_statement_list(relation, grant_config, get_dcl_macro) %}\n {{ return(adapter.dispatch('get_dcl_statement_list', 'dbt')(relation, grant_config, get_dcl_macro)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_dcl_statement_list"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6934469, "supported_languages": null}, "macro.dbt.default__get_dcl_statement_list": {"name": "default__get_dcl_statement_list", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__get_dcl_statement_list", "macro_sql": "\n\n{%- macro default__get_dcl_statement_list(relation, grant_config, get_dcl_macro) -%}\n {#\n -- Unpack grant_config into specific privileges and the set of users who need them granted/revoked.\n -- Depending on whether this database supports multiple grantees per statement, pass in the list of\n -- all grantees per privilege, or (if not) template one statement per privilege-grantee pair.\n -- `get_dcl_macro` will be either `get_grant_sql` or `get_revoke_sql`\n #}\n {%- set dcl_statements = [] -%}\n {%- for privilege, grantees in grant_config.items() %}\n {%- if support_multiple_grantees_per_dcl_statement() and grantees -%}\n {%- set dcl = get_dcl_macro(relation, privilege, grantees) -%}\n {%- do dcl_statements.append(dcl) -%}\n {%- else -%}\n {%- for grantee in grantees -%}\n {% set dcl = get_dcl_macro(relation, privilege, [grantee]) %}\n {%- do dcl_statements.append(dcl) -%}\n {% endfor -%}\n {%- endif -%}\n {%- endfor -%}\n {{ return(dcl_statements) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.support_multiple_grantees_per_dcl_statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.694083, "supported_languages": null}, "macro.dbt.call_dcl_statements": {"name": "call_dcl_statements", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.call_dcl_statements", "macro_sql": "{% macro call_dcl_statements(dcl_statement_list) %}\n {{ return(adapter.dispatch(\"call_dcl_statements\", \"dbt\")(dcl_statement_list)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__call_dcl_statements"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.694269, "supported_languages": null}, "macro.dbt.default__call_dcl_statements": {"name": "default__call_dcl_statements", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__call_dcl_statements", "macro_sql": "{% macro default__call_dcl_statements(dcl_statement_list) %}\n {#\n -- By default, supply all grant + revoke statements in a single semicolon-separated block,\n -- so that they're all processed together.\n\n -- Some databases do not support this. Those adapters will need to override this macro\n -- to run each statement individually.\n #}\n {% call statement('grants') %}\n {% for dcl_statement in dcl_statement_list %}\n {{ dcl_statement }};\n {% endfor %}\n {% endcall %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6945012, "supported_languages": null}, "macro.dbt.apply_grants": {"name": "apply_grants", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.apply_grants", "macro_sql": "{% macro apply_grants(relation, grant_config, should_revoke) %}\n {{ return(adapter.dispatch(\"apply_grants\", \"dbt\")(relation, grant_config, should_revoke)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__apply_grants"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.694718, "supported_languages": null}, "macro.dbt.default__apply_grants": {"name": "default__apply_grants", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__apply_grants", "macro_sql": "{% macro default__apply_grants(relation, grant_config, should_revoke=True) %}\n {#-- If grant_config is {} or None, this is a no-op --#}\n {% if grant_config %}\n {% if should_revoke %}\n {#-- We think previous grants may have carried over --#}\n {#-- Show current grants and calculate diffs --#}\n {% set current_grants_table = run_query(get_show_grant_sql(relation)) %}\n {% set current_grants_dict = adapter.standardize_grants_dict(current_grants_table) %}\n {% set needs_granting = diff_of_two_dicts(grant_config, current_grants_dict) %}\n {% set needs_revoking = diff_of_two_dicts(current_grants_dict, grant_config) %}\n {% if not (needs_granting or needs_revoking) %}\n {{ log('On ' ~ relation ~': All grants are in place, no revocation or granting needed.')}}\n {% endif %}\n {% else %}\n {#-- We don't think there's any chance of previous grants having carried over. --#}\n {#-- Jump straight to granting what the user has configured. --#}\n {% set needs_revoking = {} %}\n {% set needs_granting = grant_config %}\n {% endif %}\n {% if needs_granting or needs_revoking %}\n {% set revoke_statement_list = get_dcl_statement_list(relation, needs_revoking, get_revoke_sql) %}\n {% set grant_statement_list = get_dcl_statement_list(relation, needs_granting, get_grant_sql) %}\n {% set dcl_statement_list = revoke_statement_list + grant_statement_list %}\n {% if dcl_statement_list %}\n {{ call_dcl_statements(dcl_statement_list) }}\n {% endif %}\n {% endif %}\n {% endif %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.run_query", "macro.dbt.get_show_grant_sql", "macro.dbt.get_dcl_statement_list", "macro.dbt.call_dcl_statements"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6957781, "supported_languages": null}, "macro.dbt.get_show_sql": {"name": "get_show_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/show.sql", "original_file_path": "macros/adapters/show.sql", "unique_id": "macro.dbt.get_show_sql", "macro_sql": "{% macro get_show_sql(compiled_code, sql_header, limit) -%}\n {%- if sql_header -%}\n {{ sql_header }}\n {%- endif -%}\n {%- if limit is not none -%}\n {{ get_limit_subquery_sql(compiled_code, limit) }}\n {%- else -%}\n {{ compiled_code }}\n {%- endif -%}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_limit_subquery_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6962938, "supported_languages": null}, "macro.dbt.get_limit_subquery_sql": {"name": "get_limit_subquery_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/show.sql", "original_file_path": "macros/adapters/show.sql", "unique_id": "macro.dbt.get_limit_subquery_sql", "macro_sql": "{% macro get_limit_subquery_sql(sql, limit) %}\n {{ adapter.dispatch('get_limit_subquery_sql', 'dbt')(sql, limit) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_limit_subquery_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.696474, "supported_languages": null}, "macro.dbt.default__get_limit_subquery_sql": {"name": "default__get_limit_subquery_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/show.sql", "original_file_path": "macros/adapters/show.sql", "unique_id": "macro.dbt.default__get_limit_subquery_sql", "macro_sql": "{% macro default__get_limit_subquery_sql(sql, limit) %}\n select *\n from (\n {{ sql }}\n ) as model_limit_subq\n limit {{ limit }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.696597, "supported_languages": null}, "macro.dbt.alter_column_comment": {"name": "alter_column_comment", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "unique_id": "macro.dbt.alter_column_comment", "macro_sql": "{% macro alter_column_comment(relation, column_dict) -%}\n {{ return(adapter.dispatch('alter_column_comment', 'dbt')(relation, column_dict)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__alter_column_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6972, "supported_languages": null}, "macro.dbt.default__alter_column_comment": {"name": "default__alter_column_comment", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "unique_id": "macro.dbt.default__alter_column_comment", "macro_sql": "{% macro default__alter_column_comment(relation, column_dict) -%}\n {{ exceptions.raise_not_implemented(\n 'alter_column_comment macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.697362, "supported_languages": null}, "macro.dbt.alter_relation_comment": {"name": "alter_relation_comment", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "unique_id": "macro.dbt.alter_relation_comment", "macro_sql": "{% macro alter_relation_comment(relation, relation_comment) -%}\n {{ return(adapter.dispatch('alter_relation_comment', 'dbt')(relation, relation_comment)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__alter_relation_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.697551, "supported_languages": null}, "macro.dbt.default__alter_relation_comment": {"name": "default__alter_relation_comment", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "unique_id": "macro.dbt.default__alter_relation_comment", "macro_sql": "{% macro default__alter_relation_comment(relation, relation_comment) -%}\n {{ exceptions.raise_not_implemented(\n 'alter_relation_comment macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.697706, "supported_languages": null}, "macro.dbt.persist_docs": {"name": "persist_docs", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "unique_id": "macro.dbt.persist_docs", "macro_sql": "{% macro persist_docs(relation, model, for_relation=true, for_columns=true) -%}\n {{ return(adapter.dispatch('persist_docs', 'dbt')(relation, model, for_relation, for_columns)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.6979651, "supported_languages": null}, "macro.dbt.default__persist_docs": {"name": "default__persist_docs", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "unique_id": "macro.dbt.default__persist_docs", "macro_sql": "{% macro default__persist_docs(relation, model, for_relation, for_columns) -%}\n {% if for_relation and config.persist_relation_docs() and model.description %}\n {% do run_query(alter_relation_comment(relation, model.description)) %}\n {% endif %}\n\n {% if for_columns and config.persist_column_docs() and model.columns %}\n {% do run_query(alter_column_comment(relation, model.columns)) %}\n {% endif %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.run_query", "macro.dbt.alter_relation_comment", "macro.dbt.alter_column_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.69841, "supported_languages": null}, "macro.dbt.get_catalog_relations": {"name": "get_catalog_relations", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.get_catalog_relations", "macro_sql": "{% macro get_catalog_relations(information_schema, relations) -%}\n {{ return(adapter.dispatch('get_catalog_relations', 'dbt')(information_schema, relations)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_catalog_relations"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7011662, "supported_languages": null}, "macro.dbt.default__get_catalog_relations": {"name": "default__get_catalog_relations", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__get_catalog_relations", "macro_sql": "{% macro default__get_catalog_relations(information_schema, relations) -%}\n {% set typename = adapter.type() %}\n {% set msg -%}\n get_catalog_relations not implemented for {{ typename }}\n {%- endset %}\n\n {{ exceptions.raise_compiler_error(msg) }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.70142, "supported_languages": null}, "macro.dbt.get_catalog": {"name": "get_catalog", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.get_catalog", "macro_sql": "{% macro get_catalog(information_schema, schemas) -%}\n {{ return(adapter.dispatch('get_catalog', 'dbt')(information_schema, schemas)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_catalog"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7016242, "supported_languages": null}, "macro.dbt.default__get_catalog": {"name": "default__get_catalog", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__get_catalog", "macro_sql": "{% macro default__get_catalog(information_schema, schemas) -%}\n\n {% set typename = adapter.type() %}\n {% set msg -%}\n get_catalog not implemented for {{ typename }}\n {%- endset %}\n\n {{ exceptions.raise_compiler_error(msg) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.701971, "supported_languages": null}, "macro.dbt.information_schema_name": {"name": "information_schema_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.information_schema_name", "macro_sql": "{% macro information_schema_name(database) %}\n {{ return(adapter.dispatch('information_schema_name', 'dbt')(database)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__information_schema_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.702143, "supported_languages": null}, "macro.dbt.default__information_schema_name": {"name": "default__information_schema_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__information_schema_name", "macro_sql": "{% macro default__information_schema_name(database) -%}\n {%- if database -%}\n {{ database }}.INFORMATION_SCHEMA\n {%- else -%}\n INFORMATION_SCHEMA\n {%- endif -%}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.702404, "supported_languages": null}, "macro.dbt.list_schemas": {"name": "list_schemas", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.list_schemas", "macro_sql": "{% macro list_schemas(database) -%}\n {{ return(adapter.dispatch('list_schemas', 'dbt')(database)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__list_schemas"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.702667, "supported_languages": null}, "macro.dbt.default__list_schemas": {"name": "default__list_schemas", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__list_schemas", "macro_sql": "{% macro default__list_schemas(database) -%}\n {% set sql %}\n select distinct schema_name\n from {{ information_schema_name(database) }}.SCHEMATA\n where catalog_name ilike '{{ database }}'\n {% endset %}\n {{ return(run_query(sql)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.information_schema_name", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7029178, "supported_languages": null}, "macro.dbt.check_schema_exists": {"name": "check_schema_exists", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.check_schema_exists", "macro_sql": "{% macro check_schema_exists(information_schema, schema) -%}\n {{ return(adapter.dispatch('check_schema_exists', 'dbt')(information_schema, schema)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__check_schema_exists"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.703119, "supported_languages": null}, "macro.dbt.default__check_schema_exists": {"name": "default__check_schema_exists", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__check_schema_exists", "macro_sql": "{% macro default__check_schema_exists(information_schema, schema) -%}\n {% set sql -%}\n select count(*)\n from {{ information_schema.replace(information_schema_view='SCHEMATA') }}\n where catalog_name='{{ information_schema.database }}'\n and schema_name='{{ schema }}'\n {%- endset %}\n {{ return(run_query(sql)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.replace", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7035038, "supported_languages": null}, "macro.dbt.list_relations_without_caching": {"name": "list_relations_without_caching", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.list_relations_without_caching", "macro_sql": "{% macro list_relations_without_caching(schema_relation) %}\n {{ return(adapter.dispatch('list_relations_without_caching', 'dbt')(schema_relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__list_relations_without_caching"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.703718, "supported_languages": null}, "macro.dbt.default__list_relations_without_caching": {"name": "default__list_relations_without_caching", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__list_relations_without_caching", "macro_sql": "{% macro default__list_relations_without_caching(schema_relation) %}\n {{ exceptions.raise_not_implemented(\n 'list_relations_without_caching macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.703883, "supported_languages": null}, "macro.dbt.get_relations": {"name": "get_relations", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.get_relations", "macro_sql": "{% macro get_relations() %}\n {{ return(adapter.dispatch('get_relations', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_relations"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.704045, "supported_languages": null}, "macro.dbt.default__get_relations": {"name": "default__get_relations", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__get_relations", "macro_sql": "{% macro default__get_relations() %}\n {{ exceptions.raise_not_implemented(\n 'get_relations macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7042801, "supported_languages": null}, "macro.dbt.get_relation_last_modified": {"name": "get_relation_last_modified", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.get_relation_last_modified", "macro_sql": "{% macro get_relation_last_modified(information_schema, relations) %}\n {{ return(adapter.dispatch('get_relation_last_modified', 'dbt')(information_schema, relations)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_relation_last_modified"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.704494, "supported_languages": null}, "macro.dbt.default__get_relation_last_modified": {"name": "default__get_relation_last_modified", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__get_relation_last_modified", "macro_sql": "{% macro default__get_relation_last_modified(information_schema, relations) %}\n {{ exceptions.raise_not_implemented(\n 'get_relation_last_modified macro not implemented for adapter ' + adapter.type()) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.704656, "supported_languages": null}, "macro.dbt.get_columns_in_relation": {"name": "get_columns_in_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.get_columns_in_relation", "macro_sql": "{% macro get_columns_in_relation(relation) -%}\n {{ return(adapter.dispatch('get_columns_in_relation', 'dbt')(relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_columns_in_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.70668, "supported_languages": null}, "macro.dbt.default__get_columns_in_relation": {"name": "default__get_columns_in_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.default__get_columns_in_relation", "macro_sql": "{% macro default__get_columns_in_relation(relation) -%}\n {{ exceptions.raise_not_implemented(\n 'get_columns_in_relation macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.706829, "supported_languages": null}, "macro.dbt.sql_convert_columns_in_relation": {"name": "sql_convert_columns_in_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.sql_convert_columns_in_relation", "macro_sql": "{% macro sql_convert_columns_in_relation(table) -%}\n {% set columns = [] %}\n {% for row in table %}\n {% do columns.append(api.Column(*row)) %}\n {% endfor %}\n {{ return(columns) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.707121, "supported_languages": null}, "macro.dbt.get_empty_subquery_sql": {"name": "get_empty_subquery_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.get_empty_subquery_sql", "macro_sql": "{% macro get_empty_subquery_sql(select_sql, select_sql_header=none) -%}\n {{ return(adapter.dispatch('get_empty_subquery_sql', 'dbt')(select_sql, select_sql_header)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_empty_subquery_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7073238, "supported_languages": null}, "macro.dbt.default__get_empty_subquery_sql": {"name": "default__get_empty_subquery_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.default__get_empty_subquery_sql", "macro_sql": "{% macro default__get_empty_subquery_sql(select_sql, select_sql_header=none) %}\n {%- if select_sql_header is not none -%}\n {{ select_sql_header }}\n {%- endif -%}\n select * from (\n {{ select_sql }}\n ) as __dbt_sbq\n where false\n limit 0\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7075148, "supported_languages": null}, "macro.dbt.get_empty_schema_sql": {"name": "get_empty_schema_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.get_empty_schema_sql", "macro_sql": "{% macro get_empty_schema_sql(columns) -%}\n {{ return(adapter.dispatch('get_empty_schema_sql', 'dbt')(columns)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_empty_schema_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.707681, "supported_languages": null}, "macro.dbt.default__get_empty_schema_sql": {"name": "default__get_empty_schema_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.default__get_empty_schema_sql", "macro_sql": "{% macro default__get_empty_schema_sql(columns) %}\n {%- set col_err = [] -%}\n {%- set col_naked_numeric = [] -%}\n select\n {% for i in columns %}\n {%- set col = columns[i] -%}\n {%- if col['data_type'] is not defined -%}\n {%- do col_err.append(col['name']) -%}\n {#-- If this column's type is just 'numeric' then it is missing precision/scale, raise a warning --#}\n {%- elif col['data_type'].strip().lower() in ('numeric', 'decimal', 'number') -%}\n {%- do col_naked_numeric.append(col['name']) -%}\n {%- endif -%}\n {% set col_name = adapter.quote(col['name']) if col.get('quote') else col['name'] %}\n cast(null as {{ col['data_type'] }}) as {{ col_name }}{{ \", \" if not loop.last }}\n {%- endfor -%}\n {%- if (col_err | length) > 0 -%}\n {{ exceptions.column_type_missing(column_names=col_err) }}\n {%- elif (col_naked_numeric | length) > 0 -%}\n {{ exceptions.warn(\"Detected columns with numeric type and unspecified precision/scale, this can lead to unintended rounding: \" ~ col_naked_numeric ~ \"`\") }}\n {%- endif -%}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7091289, "supported_languages": null}, "macro.dbt.get_column_schema_from_query": {"name": "get_column_schema_from_query", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.get_column_schema_from_query", "macro_sql": "{% macro get_column_schema_from_query(select_sql, select_sql_header=none) -%}\n {% set columns = [] %}\n {# -- Using an 'empty subquery' here to get the same schema as the given select_sql statement, without necessitating a data scan.#}\n {% set sql = get_empty_subquery_sql(select_sql, select_sql_header) %}\n {% set column_schema = adapter.get_column_schema_from_query(sql) %}\n {{ return(column_schema) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_empty_subquery_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.709558, "supported_languages": null}, "macro.dbt.get_columns_in_query": {"name": "get_columns_in_query", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.get_columns_in_query", "macro_sql": "{% macro get_columns_in_query(select_sql) -%}\n {{ return(adapter.dispatch('get_columns_in_query', 'dbt')(select_sql)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_columns_in_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.709755, "supported_languages": null}, "macro.dbt.default__get_columns_in_query": {"name": "default__get_columns_in_query", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.default__get_columns_in_query", "macro_sql": "{% macro default__get_columns_in_query(select_sql) %}\n {% call statement('get_columns_in_query', fetch_result=True, auto_begin=False) -%}\n {{ get_empty_subquery_sql(select_sql) }}\n {% endcall %}\n {{ return(load_result('get_columns_in_query').table.columns | map(attribute='name') | list) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt.get_empty_subquery_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7100859, "supported_languages": null}, "macro.dbt.alter_column_type": {"name": "alter_column_type", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.alter_column_type", "macro_sql": "{% macro alter_column_type(relation, column_name, new_column_type) -%}\n {{ return(adapter.dispatch('alter_column_type', 'dbt')(relation, column_name, new_column_type)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__alter_column_type"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.710305, "supported_languages": null}, "macro.dbt.default__alter_column_type": {"name": "default__alter_column_type", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.default__alter_column_type", "macro_sql": "{% macro default__alter_column_type(relation, column_name, new_column_type) -%}\n {#\n 1. Create a new column (w/ temp name and correct type)\n 2. Copy data over to it\n 3. Drop the existing column (cascade!)\n 4. Rename the new column to existing column\n #}\n {%- set tmp_column = column_name + \"__dbt_alter\" -%}\n\n {% call statement('alter_column_type') %}\n alter table {{ relation }} add column {{ adapter.quote(tmp_column) }} {{ new_column_type }};\n update {{ relation }} set {{ adapter.quote(tmp_column) }} = {{ adapter.quote(column_name) }};\n alter table {{ relation }} drop column {{ adapter.quote(column_name) }} cascade;\n alter table {{ relation }} rename column {{ adapter.quote(tmp_column) }} to {{ adapter.quote(column_name) }}\n {% endcall %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.710851, "supported_languages": null}, "macro.dbt.alter_relation_add_remove_columns": {"name": "alter_relation_add_remove_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.alter_relation_add_remove_columns", "macro_sql": "{% macro alter_relation_add_remove_columns(relation, add_columns = none, remove_columns = none) -%}\n {{ return(adapter.dispatch('alter_relation_add_remove_columns', 'dbt')(relation, add_columns, remove_columns)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__alter_relation_add_remove_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7110882, "supported_languages": null}, "macro.dbt.default__alter_relation_add_remove_columns": {"name": "default__alter_relation_add_remove_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.default__alter_relation_add_remove_columns", "macro_sql": "{% macro default__alter_relation_add_remove_columns(relation, add_columns, remove_columns) %}\n\n {% if add_columns is none %}\n {% set add_columns = [] %}\n {% endif %}\n {% if remove_columns is none %}\n {% set remove_columns = [] %}\n {% endif %}\n\n {% set sql -%}\n\n alter {{ relation.type }} {{ relation }}\n\n {% for column in add_columns %}\n add column {{ column.name }} {{ column.data_type }}{{ ',' if not loop.last }}\n {% endfor %}{{ ',' if add_columns and remove_columns }}\n\n {% for column in remove_columns %}\n drop column {{ column.name }}{{ ',' if not loop.last }}\n {% endfor %}\n\n {%- endset -%}\n\n {% do run_query(sql) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.711801, "supported_languages": null}, "macro.dbt.resolve_model_name": {"name": "resolve_model_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.resolve_model_name", "macro_sql": "{% macro resolve_model_name(input_model_name) %}\n {{ return(adapter.dispatch('resolve_model_name', 'dbt')(input_model_name)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__resolve_model_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.713334, "supported_languages": null}, "macro.dbt.default__resolve_model_name": {"name": "default__resolve_model_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.default__resolve_model_name", "macro_sql": "\n\n{%- macro default__resolve_model_name(input_model_name) -%}\n {{ input_model_name | string | replace('\"', '\\\"') }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7134788, "supported_languages": null}, "macro.dbt.build_ref_function": {"name": "build_ref_function", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.build_ref_function", "macro_sql": "{% macro build_ref_function(model) %}\n\n {%- set ref_dict = {} -%}\n {%- for _ref in model.refs -%}\n {% set _ref_args = [_ref.get('package'), _ref['name']] if _ref.get('package') else [_ref['name'],] %}\n {%- set resolved = ref(*_ref_args, v=_ref.get('version')) -%}\n {%- if _ref.get('version') -%}\n {% do _ref_args.extend([\"v\" ~ _ref['version']]) %}\n {%- endif -%}\n {%- do ref_dict.update({_ref_args | join('.'): resolve_model_name(resolved)}) -%}\n {%- endfor -%}\n\ndef ref(*args, **kwargs):\n refs = {{ ref_dict | tojson }}\n key = '.'.join(args)\n version = kwargs.get(\"v\") or kwargs.get(\"version\")\n if version:\n key += f\".v{version}\"\n dbt_load_df_function = kwargs.get(\"dbt_load_df_function\")\n return dbt_load_df_function(refs[key])\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.resolve_model_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.714236, "supported_languages": null}, "macro.dbt.build_source_function": {"name": "build_source_function", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.build_source_function", "macro_sql": "{% macro build_source_function(model) %}\n\n {%- set source_dict = {} -%}\n {%- for _source in model.sources -%}\n {%- set resolved = source(*_source) -%}\n {%- do source_dict.update({_source | join('.'): resolve_model_name(resolved)}) -%}\n {%- endfor -%}\n\ndef source(*args, dbt_load_df_function):\n sources = {{ source_dict | tojson }}\n key = '.'.join(args)\n return dbt_load_df_function(sources[key])\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.resolve_model_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.714611, "supported_languages": null}, "macro.dbt.build_config_dict": {"name": "build_config_dict", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.build_config_dict", "macro_sql": "{% macro build_config_dict(model) %}\n {%- set config_dict = {} -%}\n {% set config_dbt_used = zip(model.config.config_keys_used, model.config.config_keys_defaults) | list %}\n {%- for key, default in config_dbt_used -%}\n {# weird type testing with enum, would be much easier to write this logic in Python! #}\n {%- if key == \"language\" -%}\n {%- set value = \"python\" -%}\n {%- endif -%}\n {%- set value = model.config.get(key, default) -%}\n {%- do config_dict.update({key: value}) -%}\n {%- endfor -%}\nconfig_dict = {{ config_dict }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.715136, "supported_languages": null}, "macro.dbt.py_script_postfix": {"name": "py_script_postfix", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.py_script_postfix", "macro_sql": "{% macro py_script_postfix(model) %}\n# This part is user provided model code\n# you will need to copy the next section to run the code\n# COMMAND ----------\n# this part is dbt logic for get ref work, do not modify\n\n{{ build_ref_function(model ) }}\n{{ build_source_function(model ) }}\n{{ build_config_dict(model) }}\n\nclass config:\n def __init__(self, *args, **kwargs):\n pass\n\n @staticmethod\n def get(key, default=None):\n return config_dict.get(key, default)\n\nclass this:\n \"\"\"dbt.this() or dbt.this.identifier\"\"\"\n database = \"{{ this.database }}\"\n schema = \"{{ this.schema }}\"\n identifier = \"{{ this.identifier }}\"\n {% set this_relation_name = resolve_model_name(this) %}\n def __repr__(self):\n return '{{ this_relation_name }}'\n\n\nclass dbtObj:\n def __init__(self, load_df_function) -> None:\n self.source = lambda *args: source(*args, dbt_load_df_function=load_df_function)\n self.ref = lambda *args, **kwargs: ref(*args, **kwargs, dbt_load_df_function=load_df_function)\n self.config = config\n self.this = this()\n self.is_incremental = {{ is_incremental() }}\n\n# COMMAND ----------\n{{py_script_comment()}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.build_ref_function", "macro.dbt.build_source_function", "macro.dbt.build_config_dict", "macro.dbt.resolve_model_name", "macro.dbt.is_incremental", "macro.dbt.py_script_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7155619, "supported_languages": null}, "macro.dbt.py_script_comment": {"name": "py_script_comment", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.py_script_comment", "macro_sql": "{%macro py_script_comment()%}\n{%endmacro%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.715631, "supported_languages": null}, "macro.dbt.test_unique": {"name": "test_unique", "resource_type": "macro", "package_name": "dbt", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "unique_id": "macro.dbt.test_unique", "macro_sql": "{% test unique(model, column_name) %}\n {% set macro = adapter.dispatch('test_unique', 'dbt') %}\n {{ macro(model, column_name) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt.default__test_unique"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.716084, "supported_languages": null}, "macro.dbt.test_not_null": {"name": "test_not_null", "resource_type": "macro", "package_name": "dbt", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "unique_id": "macro.dbt.test_not_null", "macro_sql": "{% test not_null(model, column_name) %}\n {% set macro = adapter.dispatch('test_not_null', 'dbt') %}\n {{ macro(model, column_name) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt.default__test_not_null"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.716327, "supported_languages": null}, "macro.dbt.test_accepted_values": {"name": "test_accepted_values", "resource_type": "macro", "package_name": "dbt", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "unique_id": "macro.dbt.test_accepted_values", "macro_sql": "{% test accepted_values(model, column_name, values, quote=True) %}\n {% set macro = adapter.dispatch('test_accepted_values', 'dbt') %}\n {{ macro(model, column_name, values, quote) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt.default__test_accepted_values"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.716584, "supported_languages": null}, "macro.dbt.test_relationships": {"name": "test_relationships", "resource_type": "macro", "package_name": "dbt", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "unique_id": "macro.dbt.test_relationships", "macro_sql": "{% test relationships(model, column_name, to, field) %}\n {% set macro = adapter.dispatch('test_relationships', 'dbt') %}\n {{ macro(model, column_name, to, field) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt.default__test_relationships"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.716852, "supported_languages": null}, "macro.dbt_utils.get_url_host": {"name": "get_url_host", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/web/get_url_host.sql", "original_file_path": "macros/web/get_url_host.sql", "unique_id": "macro.dbt_utils.get_url_host", "macro_sql": "{% macro get_url_host(field) -%}\n {{ return(adapter.dispatch('get_url_host', 'dbt_utils')(field)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_url_host"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7171829, "supported_languages": null}, "macro.dbt_utils.default__get_url_host": {"name": "default__get_url_host", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/web/get_url_host.sql", "original_file_path": "macros/web/get_url_host.sql", "unique_id": "macro.dbt_utils.default__get_url_host", "macro_sql": "{% macro default__get_url_host(field) -%}\n\n{%- set parsed =\n dbt.split_part(\n dbt.split_part(\n dbt.replace(\n dbt.replace(\n dbt.replace(field, \"'android-app://'\", \"''\"\n ), \"'http://'\", \"''\"\n ), \"'https://'\", \"''\"\n ), \"'/'\", 1\n ), \"'?'\", 1\n )\n\n-%}\n\n\n {{ dbt.safe_cast(\n parsed,\n dbt.type_string()\n )}}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.split_part", "macro.dbt.replace", "macro.dbt.safe_cast", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.71763, "supported_languages": null}, "macro.dbt_utils.get_url_path": {"name": "get_url_path", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/web/get_url_path.sql", "original_file_path": "macros/web/get_url_path.sql", "unique_id": "macro.dbt_utils.get_url_path", "macro_sql": "{% macro get_url_path(field) -%}\n {{ return(adapter.dispatch('get_url_path', 'dbt_utils')(field)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_url_path"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.718046, "supported_languages": null}, "macro.dbt_utils.default__get_url_path": {"name": "default__get_url_path", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/web/get_url_path.sql", "original_file_path": "macros/web/get_url_path.sql", "unique_id": "macro.dbt_utils.default__get_url_path", "macro_sql": "{% macro default__get_url_path(field) -%}\n\n {%- set stripped_url =\n dbt.replace(\n dbt.replace(field, \"'http://'\", \"''\"), \"'https://'\", \"''\")\n -%}\n\n {%- set first_slash_pos -%}\n coalesce(\n nullif({{ dbt.position(\"'/'\", stripped_url) }}, 0),\n {{ dbt.position(\"'?'\", stripped_url) }} - 1\n )\n {%- endset -%}\n\n {%- set parsed_path =\n dbt.split_part(\n dbt.right(\n stripped_url,\n dbt.length(stripped_url) ~ \"-\" ~ first_slash_pos\n ),\n \"'?'\", 1\n )\n -%}\n\n {{ dbt.safe_cast(\n parsed_path,\n dbt.type_string()\n )}}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.replace", "macro.dbt.position", "macro.dbt.split_part", "macro.dbt.right", "macro.dbt.length", "macro.dbt.safe_cast", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.718733, "supported_languages": null}, "macro.dbt_utils.get_url_parameter": {"name": "get_url_parameter", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/web/get_url_parameter.sql", "original_file_path": "macros/web/get_url_parameter.sql", "unique_id": "macro.dbt_utils.get_url_parameter", "macro_sql": "{% macro get_url_parameter(field, url_parameter) -%}\n {{ return(adapter.dispatch('get_url_parameter', 'dbt_utils')(field, url_parameter)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_url_parameter"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.719018, "supported_languages": null}, "macro.dbt_utils.default__get_url_parameter": {"name": "default__get_url_parameter", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/web/get_url_parameter.sql", "original_file_path": "macros/web/get_url_parameter.sql", "unique_id": "macro.dbt_utils.default__get_url_parameter", "macro_sql": "{% macro default__get_url_parameter(field, url_parameter) -%}\n\n{%- set formatted_url_parameter = \"'\" + url_parameter + \"='\" -%}\n\n{%- set split = dbt.split_part(dbt.split_part(field, formatted_url_parameter, 2), \"'&'\", 1) -%}\n\nnullif({{ split }},'')\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.split_part"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.719312, "supported_languages": null}, "macro.dbt_utils.test_fewer_rows_than": {"name": "test_fewer_rows_than", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/fewer_rows_than.sql", "original_file_path": "macros/generic_tests/fewer_rows_than.sql", "unique_id": "macro.dbt_utils.test_fewer_rows_than", "macro_sql": "{% test fewer_rows_than(model, compare_model, group_by_columns = []) %}\n {{ return(adapter.dispatch('test_fewer_rows_than', 'dbt_utils')(model, compare_model, group_by_columns)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_fewer_rows_than"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.720303, "supported_languages": null}, "macro.dbt_utils.default__test_fewer_rows_than": {"name": "default__test_fewer_rows_than", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/fewer_rows_than.sql", "original_file_path": "macros/generic_tests/fewer_rows_than.sql", "unique_id": "macro.dbt_utils.default__test_fewer_rows_than", "macro_sql": "{% macro default__test_fewer_rows_than(model, compare_model, group_by_columns) %}\n\n{{ config(fail_calc = 'sum(coalesce(row_count_delta, 0))') }}\n\n{% if group_by_columns|length() > 0 %}\n {% set select_gb_cols = group_by_columns|join(' ,') + ', ' %}\n {% set join_gb_cols %}\n {% for c in group_by_columns %}\n and a.{{c}} = b.{{c}}\n {% endfor %}\n {% endset %}\n {% set groupby_gb_cols = 'group by ' + group_by_columns|join(',') %}\n{% endif %}\n\n{#-- We must add a fake join key in case additional grouping variables are not provided --#}\n{#-- Redshift does not allow for dynamically created join conditions (e.g. full join on 1 = 1 --#}\n{#-- The same logic is used in equal_rowcount. In case of changes, maintain consistent logic --#}\n{% set group_by_columns = ['id_dbtutils_test_fewer_rows_than'] + group_by_columns %}\n{% set groupby_gb_cols = 'group by ' + group_by_columns|join(',') %}\n\n\nwith a as (\n\n select \n {{select_gb_cols}}\n 1 as id_dbtutils_test_fewer_rows_than,\n count(*) as count_our_model \n from {{ model }}\n {{ groupby_gb_cols }}\n\n),\nb as (\n\n select \n {{select_gb_cols}}\n 1 as id_dbtutils_test_fewer_rows_than,\n count(*) as count_comparison_model \n from {{ compare_model }}\n {{ groupby_gb_cols }}\n\n),\ncounts as (\n\n select\n\n {% for c in group_by_columns -%}\n a.{{c}} as {{c}}_a,\n b.{{c}} as {{c}}_b,\n {% endfor %}\n\n count_our_model,\n count_comparison_model\n from a\n full join b on \n a.id_dbtutils_test_fewer_rows_than = b.id_dbtutils_test_fewer_rows_than\n {{ join_gb_cols }}\n\n),\nfinal as (\n\n select *,\n case\n -- fail the test if we have more rows than the reference model and return the row count delta\n when count_our_model > count_comparison_model then (count_our_model - count_comparison_model)\n -- fail the test if they are the same number\n when count_our_model = count_comparison_model then 1\n -- pass the test if the delta is positive (i.e. return the number 0)\n else 0\n end as row_count_delta\n from counts\n\n)\n\nselect * from final\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.721229, "supported_languages": null}, "macro.dbt_utils.test_equal_rowcount": {"name": "test_equal_rowcount", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/equal_rowcount.sql", "original_file_path": "macros/generic_tests/equal_rowcount.sql", "unique_id": "macro.dbt_utils.test_equal_rowcount", "macro_sql": "{% test equal_rowcount(model, compare_model, group_by_columns = []) %}\n {{ return(adapter.dispatch('test_equal_rowcount', 'dbt_utils')(model, compare_model, group_by_columns)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_equal_rowcount"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.721998, "supported_languages": null}, "macro.dbt_utils.default__test_equal_rowcount": {"name": "default__test_equal_rowcount", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/equal_rowcount.sql", "original_file_path": "macros/generic_tests/equal_rowcount.sql", "unique_id": "macro.dbt_utils.default__test_equal_rowcount", "macro_sql": "{% macro default__test_equal_rowcount(model, compare_model, group_by_columns) %}\n\n{#-- Needs to be set at parse time, before we return '' below --#}\n{{ config(fail_calc = 'sum(coalesce(diff_count, 0))') }}\n\n{#-- Prevent querying of db in parsing mode. This works because this macro does not create any new refs. #}\n{%- if not execute -%}\n {{ return('') }}\n{% endif %}\n\n{% if group_by_columns|length() > 0 %}\n {% set select_gb_cols = group_by_columns|join(', ') + ', ' %}\n {% set join_gb_cols %}\n {% for c in group_by_columns %}\n and a.{{c}} = b.{{c}}\n {% endfor %}\n {% endset %}\n {% set groupby_gb_cols = 'group by ' + group_by_columns|join(',') %}\n{% endif %}\n\n{#-- We must add a fake join key in case additional grouping variables are not provided --#}\n{#-- Redshift does not allow for dynamically created join conditions (e.g. full join on 1 = 1 --#}\n{#-- The same logic is used in fewer_rows_than. In case of changes, maintain consistent logic --#}\n{% set group_by_columns = ['id_dbtutils_test_equal_rowcount'] + group_by_columns %}\n{% set groupby_gb_cols = 'group by ' + group_by_columns|join(',') %}\n\nwith a as (\n\n select \n {{select_gb_cols}}\n 1 as id_dbtutils_test_equal_rowcount,\n count(*) as count_a \n from {{ model }}\n {{groupby_gb_cols}}\n\n\n),\nb as (\n\n select \n {{select_gb_cols}}\n 1 as id_dbtutils_test_equal_rowcount,\n count(*) as count_b \n from {{ compare_model }}\n {{groupby_gb_cols}}\n\n),\nfinal as (\n\n select\n \n {% for c in group_by_columns -%}\n a.{{c}} as {{c}}_a,\n b.{{c}} as {{c}}_b,\n {% endfor %}\n\n count_a,\n count_b,\n abs(count_a - count_b) as diff_count\n\n from a\n full join b\n on\n a.id_dbtutils_test_equal_rowcount = b.id_dbtutils_test_equal_rowcount\n {{join_gb_cols}}\n\n\n)\n\nselect * from final\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.723244, "supported_languages": null}, "macro.dbt_utils.test_relationships_where": {"name": "test_relationships_where", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/relationships_where.sql", "original_file_path": "macros/generic_tests/relationships_where.sql", "unique_id": "macro.dbt_utils.test_relationships_where", "macro_sql": "{% test relationships_where(model, column_name, to, field, from_condition=\"1=1\", to_condition=\"1=1\") %}\n {{ return(adapter.dispatch('test_relationships_where', 'dbt_utils')(model, column_name, to, field, from_condition, to_condition)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_relationships_where"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7238688, "supported_languages": null}, "macro.dbt_utils.default__test_relationships_where": {"name": "default__test_relationships_where", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/relationships_where.sql", "original_file_path": "macros/generic_tests/relationships_where.sql", "unique_id": "macro.dbt_utils.default__test_relationships_where", "macro_sql": "{% macro default__test_relationships_where(model, column_name, to, field, from_condition=\"1=1\", to_condition=\"1=1\") %}\n\n{# T-SQL has no boolean data type so we use 1=1 which returns TRUE #}\n{# ref https://stackoverflow.com/a/7170753/3842610 #}\n\nwith left_table as (\n\n select\n {{column_name}} as id\n\n from {{model}}\n\n where {{column_name}} is not null\n and {{from_condition}}\n\n),\n\nright_table as (\n\n select\n {{field}} as id\n\n from {{to}}\n\n where {{field}} is not null\n and {{to_condition}}\n\n),\n\nexceptions as (\n\n select\n left_table.id,\n right_table.id as right_id\n\n from left_table\n\n left join right_table\n on left_table.id = right_table.id\n\n where right_table.id is null\n\n)\n\nselect * from exceptions\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7241971, "supported_languages": null}, "macro.dbt_utils.test_recency": {"name": "test_recency", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/recency.sql", "original_file_path": "macros/generic_tests/recency.sql", "unique_id": "macro.dbt_utils.test_recency", "macro_sql": "{% test recency(model, field, datepart, interval, ignore_time_component=False, group_by_columns = []) %}\n {{ return(adapter.dispatch('test_recency', 'dbt_utils')(model, field, datepart, interval, ignore_time_component, group_by_columns)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_recency"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.724855, "supported_languages": null}, "macro.dbt_utils.default__test_recency": {"name": "default__test_recency", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/recency.sql", "original_file_path": "macros/generic_tests/recency.sql", "unique_id": "macro.dbt_utils.default__test_recency", "macro_sql": "{% macro default__test_recency(model, field, datepart, interval, ignore_time_component, group_by_columns) %}\n\n{% set threshold = 'cast(' ~ dbt.dateadd(datepart, interval * -1, dbt.current_timestamp()) ~ ' as ' ~ ('date' if ignore_time_component else dbt.type_timestamp()) ~ ')' %}\n\n{% if group_by_columns|length() > 0 %}\n {% set select_gb_cols = group_by_columns|join(' ,') + ', ' %}\n {% set groupby_gb_cols = 'group by ' + group_by_columns|join(',') %}\n{% endif %}\n\n\nwith recency as (\n\n select \n\n {{ select_gb_cols }}\n {% if ignore_time_component %}\n cast(max({{ field }}) as date) as most_recent\n {%- else %}\n max({{ field }}) as most_recent\n {%- endif %}\n\n from {{ model }}\n\n {{ groupby_gb_cols }}\n\n)\n\nselect\n\n {{ select_gb_cols }}\n most_recent,\n {{ threshold }} as threshold\n\nfrom recency\nwhere most_recent < {{ threshold }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.dateadd", "macro.dbt.current_timestamp", "macro.dbt.type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.725773, "supported_languages": null}, "macro.dbt_utils.test_not_constant": {"name": "test_not_constant", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/not_constant.sql", "original_file_path": "macros/generic_tests/not_constant.sql", "unique_id": "macro.dbt_utils.test_not_constant", "macro_sql": "{% test not_constant(model, column_name, group_by_columns = []) %}\n {{ return(adapter.dispatch('test_not_constant', 'dbt_utils')(model, column_name, group_by_columns)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_not_constant"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7262561, "supported_languages": null}, "macro.dbt_utils.default__test_not_constant": {"name": "default__test_not_constant", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/not_constant.sql", "original_file_path": "macros/generic_tests/not_constant.sql", "unique_id": "macro.dbt_utils.default__test_not_constant", "macro_sql": "{% macro default__test_not_constant(model, column_name, group_by_columns) %}\n\n{% if group_by_columns|length() > 0 %}\n {% set select_gb_cols = group_by_columns|join(' ,') + ', ' %}\n {% set groupby_gb_cols = 'group by ' + group_by_columns|join(',') %}\n{% endif %}\n\n\nselect\n {# In TSQL, subquery aggregate columns need aliases #}\n {# thus: a filler col name, 'filler_column' #}\n {{select_gb_cols}}\n count(distinct {{ column_name }}) as filler_column\n\nfrom {{ model }}\n\n {{groupby_gb_cols}}\n\nhaving count(distinct {{ column_name }}) = 1\n\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7266781, "supported_languages": null}, "macro.dbt_utils.test_accepted_range": {"name": "test_accepted_range", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/accepted_range.sql", "original_file_path": "macros/generic_tests/accepted_range.sql", "unique_id": "macro.dbt_utils.test_accepted_range", "macro_sql": "{% test accepted_range(model, column_name, min_value=none, max_value=none, inclusive=true) %}\n {{ return(adapter.dispatch('test_accepted_range', 'dbt_utils')(model, column_name, min_value, max_value, inclusive)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_accepted_range"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7272372, "supported_languages": null}, "macro.dbt_utils.default__test_accepted_range": {"name": "default__test_accepted_range", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/accepted_range.sql", "original_file_path": "macros/generic_tests/accepted_range.sql", "unique_id": "macro.dbt_utils.default__test_accepted_range", "macro_sql": "{% macro default__test_accepted_range(model, column_name, min_value=none, max_value=none, inclusive=true) %}\n\nwith meet_condition as(\n select *\n from {{ model }}\n),\n\nvalidation_errors as (\n select *\n from meet_condition\n where\n -- never true, defaults to an empty result set. Exists to ensure any combo of the `or` clauses below succeeds\n 1 = 2\n\n {%- if min_value is not none %}\n -- records with a value >= min_value are permitted. The `not` flips this to find records that don't meet the rule.\n or not {{ column_name }} > {{- \"=\" if inclusive }} {{ min_value }}\n {%- endif %}\n\n {%- if max_value is not none %}\n -- records with a value <= max_value are permitted. The `not` flips this to find records that don't meet the rule.\n or not {{ column_name }} < {{- \"=\" if inclusive }} {{ max_value }}\n {%- endif %}\n)\n\nselect *\nfrom validation_errors\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7276642, "supported_languages": null}, "macro.dbt_utils.test_not_accepted_values": {"name": "test_not_accepted_values", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/not_accepted_values.sql", "original_file_path": "macros/generic_tests/not_accepted_values.sql", "unique_id": "macro.dbt_utils.test_not_accepted_values", "macro_sql": "{% test not_accepted_values(model, column_name, values, quote=True) %}\n {{ return(adapter.dispatch('test_not_accepted_values', 'dbt_utils')(model, column_name, values, quote)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_not_accepted_values"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.728147, "supported_languages": null}, "macro.dbt_utils.default__test_not_accepted_values": {"name": "default__test_not_accepted_values", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/not_accepted_values.sql", "original_file_path": "macros/generic_tests/not_accepted_values.sql", "unique_id": "macro.dbt_utils.default__test_not_accepted_values", "macro_sql": "{% macro default__test_not_accepted_values(model, column_name, values, quote=True) %}\nwith all_values as (\n\n select distinct\n {{ column_name }} as value_field\n\n from {{ model }}\n\n),\n\nvalidation_errors as (\n\n select\n value_field\n\n from all_values\n where value_field in (\n {% for value in values -%}\n {% if quote -%}\n '{{ value }}'\n {%- else -%}\n {{ value }}\n {%- endif -%}\n {%- if not loop.last -%},{%- endif %}\n {%- endfor %}\n )\n\n)\n\nselect *\nfrom validation_errors\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.728493, "supported_languages": null}, "macro.dbt_utils.test_at_least_one": {"name": "test_at_least_one", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/at_least_one.sql", "original_file_path": "macros/generic_tests/at_least_one.sql", "unique_id": "macro.dbt_utils.test_at_least_one", "macro_sql": "{% test at_least_one(model, column_name, group_by_columns = []) %}\n {{ return(adapter.dispatch('test_at_least_one', 'dbt_utils')(model, column_name, group_by_columns)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_at_least_one"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.729098, "supported_languages": null}, "macro.dbt_utils.default__test_at_least_one": {"name": "default__test_at_least_one", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/at_least_one.sql", "original_file_path": "macros/generic_tests/at_least_one.sql", "unique_id": "macro.dbt_utils.default__test_at_least_one", "macro_sql": "{% macro default__test_at_least_one(model, column_name, group_by_columns) %}\n\n{% set pruned_cols = [column_name] %}\n\n{% if group_by_columns|length() > 0 %}\n\n {% set select_gb_cols = group_by_columns|join(' ,') + ', ' %}\n {% set groupby_gb_cols = 'group by ' + group_by_columns|join(',') %}\n {% set pruned_cols = group_by_columns %}\n\n {% if column_name not in pruned_cols %}\n {% do pruned_cols.append(column_name) %}\n {% endif %}\n\n{% endif %}\n\n{% set select_pruned_cols = pruned_cols|join(' ,') %}\n\nselect *\nfrom (\n with pruned_rows as (\n select\n {{ select_pruned_cols }}\n from {{ model }}\n {% if group_by_columns|length() == 0 %}\n where {{ column_name }} is not null\n limit 1\n {% endif %}\n )\n select\n {# In TSQL, subquery aggregate columns need aliases #}\n {# thus: a filler col name, 'filler_column' #}\n {{select_gb_cols}}\n count({{ column_name }}) as filler_column\n\n from pruned_rows\n\n {{groupby_gb_cols}}\n\n having count({{ column_name }}) = 0\n\n) validation_errors\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.730022, "supported_languages": null}, "macro.dbt_utils.test_unique_combination_of_columns": {"name": "test_unique_combination_of_columns", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/unique_combination_of_columns.sql", "original_file_path": "macros/generic_tests/unique_combination_of_columns.sql", "unique_id": "macro.dbt_utils.test_unique_combination_of_columns", "macro_sql": "{% test unique_combination_of_columns(model, combination_of_columns, quote_columns=false) %}\n {{ return(adapter.dispatch('test_unique_combination_of_columns', 'dbt_utils')(model, combination_of_columns, quote_columns)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_unique_combination_of_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7305899, "supported_languages": null}, "macro.dbt_utils.default__test_unique_combination_of_columns": {"name": "default__test_unique_combination_of_columns", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/unique_combination_of_columns.sql", "original_file_path": "macros/generic_tests/unique_combination_of_columns.sql", "unique_id": "macro.dbt_utils.default__test_unique_combination_of_columns", "macro_sql": "{% macro default__test_unique_combination_of_columns(model, combination_of_columns, quote_columns=false) %}\n\n{% if not quote_columns %}\n {%- set column_list=combination_of_columns %}\n{% elif quote_columns %}\n {%- set column_list=[] %}\n {% for column in combination_of_columns -%}\n {% set column_list = column_list.append( adapter.quote(column) ) %}\n {%- endfor %}\n{% else %}\n {{ exceptions.raise_compiler_error(\n \"`quote_columns` argument for unique_combination_of_columns test must be one of [True, False] Got: '\" ~ quote ~\"'.'\"\n ) }}\n{% endif %}\n\n{%- set columns_csv=column_list | join(', ') %}\n\n\nwith validation_errors as (\n\n select\n {{ columns_csv }}\n from {{ model }}\n group by {{ columns_csv }}\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7311711, "supported_languages": null}, "macro.dbt_utils.test_cardinality_equality": {"name": "test_cardinality_equality", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/cardinality_equality.sql", "original_file_path": "macros/generic_tests/cardinality_equality.sql", "unique_id": "macro.dbt_utils.test_cardinality_equality", "macro_sql": "{% test cardinality_equality(model, column_name, to, field) %}\n {{ return(adapter.dispatch('test_cardinality_equality', 'dbt_utils')(model, column_name, to, field)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_cardinality_equality"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.731679, "supported_languages": null}, "macro.dbt_utils.default__test_cardinality_equality": {"name": "default__test_cardinality_equality", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/cardinality_equality.sql", "original_file_path": "macros/generic_tests/cardinality_equality.sql", "unique_id": "macro.dbt_utils.default__test_cardinality_equality", "macro_sql": "{% macro default__test_cardinality_equality(model, column_name, to, field) %}\n\n{# T-SQL does not let you use numbers as aliases for columns #}\n{# Thus, no \"GROUP BY 1\" #}\n\nwith table_a as (\nselect\n {{ column_name }},\n count(*) as num_rows\nfrom {{ model }}\ngroup by {{ column_name }}\n),\n\ntable_b as (\nselect\n {{ field }},\n count(*) as num_rows\nfrom {{ to }}\ngroup by {{ field }}\n),\n\nexcept_a as (\n select *\n from table_a\n {{ dbt.except() }}\n select *\n from table_b\n),\n\nexcept_b as (\n select *\n from table_b\n {{ dbt.except() }}\n select *\n from table_a\n),\n\nunioned as (\n select *\n from except_a\n union all\n select *\n from except_b\n)\n\nselect *\nfrom unioned\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.except"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.731981, "supported_languages": null}, "macro.dbt_utils.test_expression_is_true": {"name": "test_expression_is_true", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/expression_is_true.sql", "original_file_path": "macros/generic_tests/expression_is_true.sql", "unique_id": "macro.dbt_utils.test_expression_is_true", "macro_sql": "{% test expression_is_true(model, expression, column_name=None) %}\n {{ return(adapter.dispatch('test_expression_is_true', 'dbt_utils')(model, expression, column_name)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_expression_is_true"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7323399, "supported_languages": null}, "macro.dbt_utils.default__test_expression_is_true": {"name": "default__test_expression_is_true", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/expression_is_true.sql", "original_file_path": "macros/generic_tests/expression_is_true.sql", "unique_id": "macro.dbt_utils.default__test_expression_is_true", "macro_sql": "{% macro default__test_expression_is_true(model, expression, column_name) %}\n\n{% set column_list = '*' if should_store_failures() else \"1\" %}\n\nselect\n {{ column_list }}\nfrom {{ model }}\n{% if column_name is none %}\nwhere not({{ expression }})\n{%- else %}\nwhere not({{ column_name }} {{ expression }})\n{%- endif %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.should_store_failures"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.732835, "supported_languages": null}, "macro.dbt_utils.test_not_null_proportion": {"name": "test_not_null_proportion", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/not_null_proportion.sql", "original_file_path": "macros/generic_tests/not_null_proportion.sql", "unique_id": "macro.dbt_utils.test_not_null_proportion", "macro_sql": "{% macro test_not_null_proportion(model, group_by_columns = []) %}\n {{ return(adapter.dispatch('test_not_null_proportion', 'dbt_utils')(model, group_by_columns, **kwargs)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_not_null_proportion"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.733579, "supported_languages": null}, "macro.dbt_utils.default__test_not_null_proportion": {"name": "default__test_not_null_proportion", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/not_null_proportion.sql", "original_file_path": "macros/generic_tests/not_null_proportion.sql", "unique_id": "macro.dbt_utils.default__test_not_null_proportion", "macro_sql": "{% macro default__test_not_null_proportion(model, group_by_columns) %}\n\n{% set column_name = kwargs.get('column_name', kwargs.get('arg')) %}\n{% set at_least = kwargs.get('at_least', kwargs.get('arg')) %}\n{% set at_most = kwargs.get('at_most', kwargs.get('arg', 1)) %}\n\n{% if group_by_columns|length() > 0 %}\n {% set select_gb_cols = group_by_columns|join(' ,') + ', ' %}\n {% set groupby_gb_cols = 'group by ' + group_by_columns|join(',') %}\n{% endif %}\n\nwith validation as (\n select\n {{select_gb_cols}}\n sum(case when {{ column_name }} is null then 0 else 1 end) / cast(count(*) as {{ dbt.type_numeric() }}) as not_null_proportion\n from {{ model }}\n {{groupby_gb_cols}}\n),\nvalidation_errors as (\n select\n {{select_gb_cols}}\n not_null_proportion\n from validation\n where not_null_proportion < {{ at_least }} or not_null_proportion > {{ at_most }}\n)\nselect\n *\nfrom validation_errors\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_numeric"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7346408, "supported_languages": null}, "macro.dbt_utils.test_sequential_values": {"name": "test_sequential_values", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/sequential_values.sql", "original_file_path": "macros/generic_tests/sequential_values.sql", "unique_id": "macro.dbt_utils.test_sequential_values", "macro_sql": "{% test sequential_values(model, column_name, interval=1, datepart=None, group_by_columns = []) %}\n\n {{ return(adapter.dispatch('test_sequential_values', 'dbt_utils')(model, column_name, interval, datepart, group_by_columns)) }}\n\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_sequential_values"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.735499, "supported_languages": null}, "macro.dbt_utils.default__test_sequential_values": {"name": "default__test_sequential_values", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/sequential_values.sql", "original_file_path": "macros/generic_tests/sequential_values.sql", "unique_id": "macro.dbt_utils.default__test_sequential_values", "macro_sql": "{% macro default__test_sequential_values(model, column_name, interval=1, datepart=None, group_by_columns = []) %}\n\n{% set previous_column_name = \"previous_\" ~ dbt_utils.slugify(column_name) %}\n\n{% if group_by_columns|length() > 0 %}\n {% set select_gb_cols = group_by_columns|join(',') + ', ' %}\n {% set partition_gb_cols = 'partition by ' + group_by_columns|join(',') %}\n{% endif %}\n\nwith windowed as (\n\n select\n {{ select_gb_cols }}\n {{ column_name }},\n lag({{ column_name }}) over (\n {{partition_gb_cols}}\n order by {{ column_name }}\n ) as {{ previous_column_name }}\n from {{ model }}\n),\n\nvalidation_errors as (\n select\n *\n from windowed\n {% if datepart %}\n where not(cast({{ column_name }} as {{ dbt.type_timestamp() }})= cast({{ dbt.dateadd(datepart, interval, previous_column_name) }} as {{ dbt.type_timestamp() }}))\n {% else %}\n where not({{ column_name }} = {{ previous_column_name }} + {{ interval }})\n {% endif %}\n)\n\nselect *\nfrom validation_errors\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.slugify", "macro.dbt.type_timestamp", "macro.dbt.dateadd"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.736323, "supported_languages": null}, "macro.dbt_utils.test_equality": {"name": "test_equality", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/equality.sql", "original_file_path": "macros/generic_tests/equality.sql", "unique_id": "macro.dbt_utils.test_equality", "macro_sql": "{% test equality(model, compare_model, compare_columns=None, exclude_columns=None, precision = None) %}\n {{ return(adapter.dispatch('test_equality', 'dbt_utils')(model, compare_model, compare_columns, exclude_columns, precision)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_equality"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7380202, "supported_languages": null}, "macro.dbt_utils.default__test_equality": {"name": "default__test_equality", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/equality.sql", "original_file_path": "macros/generic_tests/equality.sql", "unique_id": "macro.dbt_utils.default__test_equality", "macro_sql": "{% macro default__test_equality(model, compare_model, compare_columns=None, exclude_columns=None, precision = None) %}\n\n{%- if compare_columns and exclude_columns -%}\n {{ exceptions.raise_compiler_error(\"Both a compare and an ignore list were provided to the `equality` macro. Only one is allowed\") }}\n{%- endif -%}\n\n{% set set_diff %}\n count(*) + coalesce(abs(\n sum(case when which_diff = 'a_minus_b' then 1 else 0 end) -\n sum(case when which_diff = 'b_minus_a' then 1 else 0 end)\n ), 0)\n{% endset %}\n\n{#-- Needs to be set at parse time, before we return '' below --#}\n{{ config(fail_calc = set_diff) }}\n\n{#-- Prevent querying of db in parsing mode. This works because this macro does not create any new refs. #}\n{%- if not execute -%}\n {{ return('') }}\n{% endif %}\n\n\n\n-- setup\n{%- do dbt_utils._is_relation(model, 'test_equality') -%}\n\n{# Ensure there are no extra columns in the compare_model vs model #}\n{%- if not compare_columns -%}\n {%- do dbt_utils._is_ephemeral(model, 'test_equality') -%}\n {%- do dbt_utils._is_ephemeral(compare_model, 'test_equality') -%}\n\n {%- set model_columns = adapter.get_columns_in_relation(model) -%}\n {%- set compare_model_columns = adapter.get_columns_in_relation(compare_model) -%}\n\n\n {%- if exclude_columns -%}\n {#-- Lower case ignore columns for easier comparison --#}\n {%- set exclude_columns = exclude_columns | map(\"lower\") | list %}\n\n {# Filter out the excluded columns #}\n {%- set include_columns = [] %}\n {%- set include_model_columns = [] %}\n {%- for column in model_columns -%}\n {%- if column.name | lower not in exclude_columns -%}\n {% do include_columns.append(column) %}\n {%- endif %}\n {%- endfor %}\n {%- for column in compare_model_columns -%}\n {%- if column.name | lower not in exclude_columns -%}\n {% do include_model_columns.append(column) %}\n {%- endif %}\n {%- endfor %}\n\n {%- set compare_columns_set = set(include_columns | map(attribute='quoted') | map(\"lower\")) %}\n {%- set compare_model_columns_set = set(include_model_columns | map(attribute='quoted') | map(\"lower\")) %}\n {%- else -%}\n {%- set compare_columns_set = set(model_columns | map(attribute='quoted') | map(\"lower\")) %}\n {%- set compare_model_columns_set = set(compare_model_columns | map(attribute='quoted') | map(\"lower\")) %}\n {%- endif -%}\n\n {% if compare_columns_set != compare_model_columns_set %}\n {{ exceptions.raise_compiler_error(compare_model ~\" has less columns than \" ~ model ~ \", please ensure they have the same columns or use the `compare_columns` or `exclude_columns` arguments to subset them.\") }}\n {% endif %}\n\n\n{% endif %}\n\n{%- if not precision -%}\n {%- if not compare_columns -%}\n {# \n You cannot get the columns in an ephemeral model (due to not existing in the information schema),\n so if the user does not provide an explicit list of columns we must error in the case it is ephemeral\n #}\n {%- do dbt_utils._is_ephemeral(model, 'test_equality') -%}\n {%- set compare_columns = adapter.get_columns_in_relation(model)-%}\n\n {%- if exclude_columns -%}\n {#-- Lower case ignore columns for easier comparison --#}\n {%- set exclude_columns = exclude_columns | map(\"lower\") | list %}\n\n {# Filter out the excluded columns #}\n {%- set include_columns = [] %}\n {%- for column in compare_columns -%}\n {%- if column.name | lower not in exclude_columns -%}\n {% do include_columns.append(column) %}\n {%- endif %}\n {%- endfor %}\n\n {%- set compare_columns = include_columns | map(attribute='quoted') %}\n {%- else -%} {# Compare columns provided #}\n {%- set compare_columns = compare_columns | map(attribute='quoted') %}\n {%- endif -%}\n {%- endif -%}\n\n {% set compare_cols_csv = compare_columns | join(', ') %}\n\n{% else %} {# Precision required #}\n {#-\n If rounding is required, we need to get the types, so it cannot be ephemeral even if they provide column names\n -#}\n {%- do dbt_utils._is_ephemeral(model, 'test_equality') -%}\n {%- set columns = adapter.get_columns_in_relation(model) -%}\n\n {% set columns_list = [] %}\n {%- for col in columns -%}\n {%- if (\n (col.name|lower in compare_columns|map('lower') or not compare_columns) and\n (col.name|lower not in exclude_columns|map('lower') or not exclude_columns)\n ) -%}\n {# Databricks double type is not picked up by any number type checks in dbt #}\n {%- if col.is_float() or col.is_numeric() or col.data_type == 'double' -%}\n {# Cast is required due to postgres not having round for a double precision number #}\n {%- do columns_list.append('round(cast(' ~ col.quoted ~ ' as ' ~ dbt.type_numeric() ~ '),' ~ precision ~ ') as ' ~ col.quoted) -%}\n {%- else -%} {# Non-numeric type #}\n {%- do columns_list.append(col.quoted) -%}\n {%- endif -%}\n {% endif %}\n {%- endfor -%}\n\n {% set compare_cols_csv = columns_list | join(', ') %}\n\n{% endif %}\n\nwith a as (\n\n select * from {{ model }}\n\n),\n\nb as (\n\n select * from {{ compare_model }}\n\n),\n\na_minus_b as (\n\n select {{compare_cols_csv}} from a\n {{ dbt.except() }}\n select {{compare_cols_csv}} from b\n\n),\n\nb_minus_a as (\n\n select {{compare_cols_csv}} from b\n {{ dbt.except() }}\n select {{compare_cols_csv}} from a\n\n),\n\nunioned as (\n\n select 'a_minus_b' as which_diff, a_minus_b.* from a_minus_b\n union all\n select 'b_minus_a' as which_diff, b_minus_a.* from b_minus_a\n\n)\n\nselect * from unioned\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils._is_relation", "macro.dbt_utils._is_ephemeral", "macro.dbt.type_numeric", "macro.dbt.except"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.741575, "supported_languages": null}, "macro.dbt_utils.test_not_empty_string": {"name": "test_not_empty_string", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/not_empty_string.sql", "original_file_path": "macros/generic_tests/not_empty_string.sql", "unique_id": "macro.dbt_utils.test_not_empty_string", "macro_sql": "{% test not_empty_string(model, column_name, trim_whitespace=true) %}\n\n {{ return(adapter.dispatch('test_not_empty_string', 'dbt_utils')(model, column_name, trim_whitespace)) }}\n\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_not_empty_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.742054, "supported_languages": null}, "macro.dbt_utils.default__test_not_empty_string": {"name": "default__test_not_empty_string", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/not_empty_string.sql", "original_file_path": "macros/generic_tests/not_empty_string.sql", "unique_id": "macro.dbt_utils.default__test_not_empty_string", "macro_sql": "{% macro default__test_not_empty_string(model, column_name, trim_whitespace=true) %}\n\n with\n \n all_values as (\n\n select \n\n\n {% if trim_whitespace == true -%}\n\n trim({{ column_name }}) as {{ column_name }}\n\n {%- else -%}\n\n {{ column_name }}\n\n {%- endif %}\n \n from {{ model }}\n\n ),\n\n errors as (\n\n select * from all_values\n where {{ column_name }} = ''\n\n )\n\n select * from errors\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.74234, "supported_languages": null}, "macro.dbt_utils.test_mutually_exclusive_ranges": {"name": "test_mutually_exclusive_ranges", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/mutually_exclusive_ranges.sql", "original_file_path": "macros/generic_tests/mutually_exclusive_ranges.sql", "unique_id": "macro.dbt_utils.test_mutually_exclusive_ranges", "macro_sql": "{% test mutually_exclusive_ranges(model, lower_bound_column, upper_bound_column, partition_by=None, gaps='allowed', zero_length_range_allowed=False) %}\n {{ return(adapter.dispatch('test_mutually_exclusive_ranges', 'dbt_utils')(model, lower_bound_column, upper_bound_column, partition_by, gaps, zero_length_range_allowed)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_mutually_exclusive_ranges"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.745466, "supported_languages": null}, "macro.dbt_utils.default__test_mutually_exclusive_ranges": {"name": "default__test_mutually_exclusive_ranges", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/mutually_exclusive_ranges.sql", "original_file_path": "macros/generic_tests/mutually_exclusive_ranges.sql", "unique_id": "macro.dbt_utils.default__test_mutually_exclusive_ranges", "macro_sql": "{% macro default__test_mutually_exclusive_ranges(model, lower_bound_column, upper_bound_column, partition_by=None, gaps='allowed', zero_length_range_allowed=False) %}\n{% if gaps == 'not_allowed' %}\n {% set allow_gaps_operator='=' %}\n {% set allow_gaps_operator_in_words='equal_to' %}\n{% elif gaps == 'allowed' %}\n {% set allow_gaps_operator='<=' %}\n {% set allow_gaps_operator_in_words='less_than_or_equal_to' %}\n{% elif gaps == 'required' %}\n {% set allow_gaps_operator='<' %}\n {% set allow_gaps_operator_in_words='less_than' %}\n{% else %}\n {{ exceptions.raise_compiler_error(\n \"`gaps` argument for mutually_exclusive_ranges test must be one of ['not_allowed', 'allowed', 'required'] Got: '\" ~ gaps ~\"'.'\"\n ) }}\n{% endif %}\n{% if not zero_length_range_allowed %}\n {% set allow_zero_length_operator='<' %}\n {% set allow_zero_length_operator_in_words='less_than' %}\n{% elif zero_length_range_allowed %}\n {% set allow_zero_length_operator='<=' %}\n {% set allow_zero_length_operator_in_words='less_than_or_equal_to' %}\n{% else %}\n {{ exceptions.raise_compiler_error(\n \"`zero_length_range_allowed` argument for mutually_exclusive_ranges test must be one of [true, false] Got: '\" ~ zero_length_range_allowed ~\"'.'\"\n ) }}\n{% endif %}\n\n{% set partition_clause=\"partition by \" ~ partition_by if partition_by else '' %}\n\nwith window_functions as (\n\n select\n {% if partition_by %}\n {{ partition_by }} as partition_by_col,\n {% endif %}\n {{ lower_bound_column }} as lower_bound,\n {{ upper_bound_column }} as upper_bound,\n\n lead({{ lower_bound_column }}) over (\n {{ partition_clause }}\n order by {{ lower_bound_column }}, {{ upper_bound_column }}\n ) as next_lower_bound,\n\n row_number() over (\n {{ partition_clause }}\n order by {{ lower_bound_column }} desc, {{ upper_bound_column }} desc\n ) = 1 as is_last_record\n\n from {{ model }}\n\n),\n\ncalc as (\n -- We want to return records where one of our assumptions fails, so we'll use\n -- the `not` function with `and` statements so we can write our assumptions more cleanly\n select\n *,\n\n -- For each record: lower_bound should be < upper_bound.\n -- Coalesce it to return an error on the null case (implicit assumption\n -- these columns are not_null)\n coalesce(\n lower_bound {{ allow_zero_length_operator }} upper_bound,\n false\n ) as lower_bound_{{ allow_zero_length_operator_in_words }}_upper_bound,\n\n -- For each record: upper_bound {{ allow_gaps_operator }} the next lower_bound.\n -- Coalesce it to handle null cases for the last record.\n coalesce(\n upper_bound {{ allow_gaps_operator }} next_lower_bound,\n is_last_record,\n false\n ) as upper_bound_{{ allow_gaps_operator_in_words }}_next_lower_bound\n\n from window_functions\n\n),\n\nvalidation_errors as (\n\n select\n *\n from calc\n\n where not(\n -- THE FOLLOWING SHOULD BE TRUE --\n lower_bound_{{ allow_zero_length_operator_in_words }}_upper_bound\n and upper_bound_{{ allow_gaps_operator_in_words }}_next_lower_bound\n )\n)\n\nselect * from validation_errors\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.746835, "supported_languages": null}, "macro.dbt_utils.pretty_log_format": {"name": "pretty_log_format", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/jinja_helpers/pretty_log_format.sql", "original_file_path": "macros/jinja_helpers/pretty_log_format.sql", "unique_id": "macro.dbt_utils.pretty_log_format", "macro_sql": "{% macro pretty_log_format(message) %}\n {{ return(adapter.dispatch('pretty_log_format', 'dbt_utils')(message)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__pretty_log_format"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.747125, "supported_languages": null}, "macro.dbt_utils.default__pretty_log_format": {"name": "default__pretty_log_format", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/jinja_helpers/pretty_log_format.sql", "original_file_path": "macros/jinja_helpers/pretty_log_format.sql", "unique_id": "macro.dbt_utils.default__pretty_log_format", "macro_sql": "{% macro default__pretty_log_format(message) %}\n {{ return( dbt_utils.pretty_time() ~ ' + ' ~ message) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.pretty_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.747286, "supported_languages": null}, "macro.dbt_utils._is_relation": {"name": "_is_relation", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/jinja_helpers/_is_relation.sql", "original_file_path": "macros/jinja_helpers/_is_relation.sql", "unique_id": "macro.dbt_utils._is_relation", "macro_sql": "{% macro _is_relation(obj, macro) %}\n {%- if not (obj is mapping and obj.get('metadata', {}).get('type', '').endswith('Relation')) -%}\n {%- do exceptions.raise_compiler_error(\"Macro \" ~ macro ~ \" expected a Relation but received the value: \" ~ obj) -%}\n {%- endif -%}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7476869, "supported_languages": null}, "macro.dbt_utils.pretty_time": {"name": "pretty_time", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/jinja_helpers/pretty_time.sql", "original_file_path": "macros/jinja_helpers/pretty_time.sql", "unique_id": "macro.dbt_utils.pretty_time", "macro_sql": "{% macro pretty_time(format='%H:%M:%S') %}\n {{ return(adapter.dispatch('pretty_time', 'dbt_utils')(format)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__pretty_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7479382, "supported_languages": null}, "macro.dbt_utils.default__pretty_time": {"name": "default__pretty_time", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/jinja_helpers/pretty_time.sql", "original_file_path": "macros/jinja_helpers/pretty_time.sql", "unique_id": "macro.dbt_utils.default__pretty_time", "macro_sql": "{% macro default__pretty_time(format='%H:%M:%S') %}\n {{ return(modules.datetime.datetime.now().strftime(format)) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.748111, "supported_languages": null}, "macro.dbt_utils.log_info": {"name": "log_info", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/jinja_helpers/log_info.sql", "original_file_path": "macros/jinja_helpers/log_info.sql", "unique_id": "macro.dbt_utils.log_info", "macro_sql": "{% macro log_info(message) %}\n {{ return(adapter.dispatch('log_info', 'dbt_utils')(message)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__log_info"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.74834, "supported_languages": null}, "macro.dbt_utils.default__log_info": {"name": "default__log_info", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/jinja_helpers/log_info.sql", "original_file_path": "macros/jinja_helpers/log_info.sql", "unique_id": "macro.dbt_utils.default__log_info", "macro_sql": "{% macro default__log_info(message) %}\n {{ log(dbt_utils.pretty_log_format(message), info=True) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.pretty_log_format"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.748523, "supported_languages": null}, "macro.dbt_utils.slugify": {"name": "slugify", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/jinja_helpers/slugify.sql", "original_file_path": "macros/jinja_helpers/slugify.sql", "unique_id": "macro.dbt_utils.slugify", "macro_sql": "{% macro slugify(string) %}\n\n{% if not string %}\n{{ return('') }}\n{% endif %}\n\n{#- Lower case the string -#}\n{% set string = string | lower %}\n{#- Replace spaces and dashes with underscores -#}\n{% set string = modules.re.sub('[ -]+', '_', string) %}\n{#- Only take letters, numbers, and underscores -#}\n{% set string = modules.re.sub('[^a-z0-9_]+', '', string) %}\n{#- Prepends \"_\" if string begins with a number -#}\n{% set string = modules.re.sub('^[0-9]', '_' + string[0], string) %}\n\n{{ return(string) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.749224, "supported_languages": null}, "macro.dbt_utils._is_ephemeral": {"name": "_is_ephemeral", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/jinja_helpers/_is_ephemeral.sql", "original_file_path": "macros/jinja_helpers/_is_ephemeral.sql", "unique_id": "macro.dbt_utils._is_ephemeral", "macro_sql": "{% macro _is_ephemeral(obj, macro) %}\n {%- if obj.is_cte -%}\n {% set ephemeral_prefix = api.Relation.add_ephemeral_prefix('') %}\n {% if obj.name.startswith(ephemeral_prefix) %}\n {% set model_name = obj.name[(ephemeral_prefix|length):] %}\n {% else %}\n {% set model_name = obj.name %}\n {%- endif -%}\n {% set error_message %}\nThe `{{ macro }}` macro cannot be used with ephemeral models, as it relies on the information schema.\n\n`{{ model_name }}` is an ephemeral model. Consider making it a view or table instead.\n {% endset %}\n {%- do exceptions.raise_compiler_error(error_message) -%}\n {%- endif -%}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7499719, "supported_languages": null}, "macro.dbt_utils.get_intervals_between": {"name": "get_intervals_between", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/date_spine.sql", "original_file_path": "macros/sql/date_spine.sql", "unique_id": "macro.dbt_utils.get_intervals_between", "macro_sql": "{% macro get_intervals_between(start_date, end_date, datepart) -%}\n {{ return(adapter.dispatch('get_intervals_between', 'dbt_utils')(start_date, end_date, datepart)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_intervals_between"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.750603, "supported_languages": null}, "macro.dbt_utils.default__get_intervals_between": {"name": "default__get_intervals_between", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/date_spine.sql", "original_file_path": "macros/sql/date_spine.sql", "unique_id": "macro.dbt_utils.default__get_intervals_between", "macro_sql": "{% macro default__get_intervals_between(start_date, end_date, datepart) -%}\n {%- call statement('get_intervals_between', fetch_result=True) %}\n\n select {{ dbt.datediff(start_date, end_date, datepart) }}\n\n {%- endcall -%}\n\n {%- set value_list = load_result('get_intervals_between') -%}\n\n {%- if value_list and value_list['data'] -%}\n {%- set values = value_list['data'] | map(attribute=0) | list %}\n {{ return(values[0]) }}\n {%- else -%}\n {{ return(1) }}\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt.datediff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.751154, "supported_languages": null}, "macro.dbt_utils.date_spine": {"name": "date_spine", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/date_spine.sql", "original_file_path": "macros/sql/date_spine.sql", "unique_id": "macro.dbt_utils.date_spine", "macro_sql": "{% macro date_spine(datepart, start_date, end_date) %}\n {{ return(adapter.dispatch('date_spine', 'dbt_utils')(datepart, start_date, end_date)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__date_spine"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.751376, "supported_languages": null}, "macro.dbt_utils.default__date_spine": {"name": "default__date_spine", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/date_spine.sql", "original_file_path": "macros/sql/date_spine.sql", "unique_id": "macro.dbt_utils.default__date_spine", "macro_sql": "{% macro default__date_spine(datepart, start_date, end_date) %}\n\n\n{# call as follows:\n\ndate_spine(\n \"day\",\n \"to_date('01/01/2016', 'mm/dd/yyyy')\",\n \"dbt.dateadd(week, 1, current_date)\"\n) #}\n\n\nwith rawdata as (\n\n {{dbt_utils.generate_series(\n dbt_utils.get_intervals_between(start_date, end_date, datepart)\n )}}\n\n),\n\nall_periods as (\n\n select (\n {{\n dbt.dateadd(\n datepart,\n \"row_number() over (order by 1) - 1\",\n start_date\n )\n }}\n ) as date_{{datepart}}\n from rawdata\n\n),\n\nfiltered as (\n\n select *\n from all_periods\n where date_{{datepart}} <= {{ end_date }}\n\n)\n\nselect * from filtered\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.generate_series", "macro.dbt_utils.get_intervals_between", "macro.dbt.dateadd"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7517161, "supported_languages": null}, "macro.dbt_utils.safe_subtract": {"name": "safe_subtract", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/safe_subtract.sql", "original_file_path": "macros/sql/safe_subtract.sql", "unique_id": "macro.dbt_utils.safe_subtract", "macro_sql": "{%- macro safe_subtract(field_list) -%}\n {{ return(adapter.dispatch('safe_subtract', 'dbt_utils')(field_list)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__safe_subtract"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.752092, "supported_languages": null}, "macro.dbt_utils.default__safe_subtract": {"name": "default__safe_subtract", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/safe_subtract.sql", "original_file_path": "macros/sql/safe_subtract.sql", "unique_id": "macro.dbt_utils.default__safe_subtract", "macro_sql": "\n\n{%- macro default__safe_subtract(field_list) -%}\n\n{%- if field_list is not iterable or field_list is string or field_list is mapping -%}\n\n{%- set error_message = '\nWarning: the `safe_subtract` macro takes a single list argument instead of \\\nstring arguments. The {}.{} model triggered this warning. \\\n'.format(model.package_name, model.name) -%}\n\n{%- do exceptions.raise_compiler_error(error_message) -%}\n\n{%- endif -%}\n\n{% set fields = [] %}\n\n{%- for field in field_list -%}\n\n {% do fields.append(\"coalesce(\" ~ field ~ \", 0)\") %}\n\n{%- endfor -%}\n\n{{ fields|join(' -\\n ') }}\n\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.752738, "supported_languages": null}, "macro.dbt_utils.nullcheck_table": {"name": "nullcheck_table", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/nullcheck_table.sql", "original_file_path": "macros/sql/nullcheck_table.sql", "unique_id": "macro.dbt_utils.nullcheck_table", "macro_sql": "{% macro nullcheck_table(relation) %}\n {{ return(adapter.dispatch('nullcheck_table', 'dbt_utils')(relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__nullcheck_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7532039, "supported_languages": null}, "macro.dbt_utils.default__nullcheck_table": {"name": "default__nullcheck_table", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/nullcheck_table.sql", "original_file_path": "macros/sql/nullcheck_table.sql", "unique_id": "macro.dbt_utils.default__nullcheck_table", "macro_sql": "{% macro default__nullcheck_table(relation) %}\n\n {%- do dbt_utils._is_relation(relation, 'nullcheck_table') -%}\n {%- do dbt_utils._is_ephemeral(relation, 'nullcheck_table') -%}\n {% set cols = adapter.get_columns_in_relation(relation) %}\n\n select {{ dbt_utils.nullcheck(cols) }}\n from {{relation}}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils._is_relation", "macro.dbt_utils._is_ephemeral", "macro.dbt_utils.nullcheck"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7536, "supported_languages": null}, "macro.dbt_utils.get_relations_by_pattern": {"name": "get_relations_by_pattern", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_relations_by_pattern.sql", "original_file_path": "macros/sql/get_relations_by_pattern.sql", "unique_id": "macro.dbt_utils.get_relations_by_pattern", "macro_sql": "{% macro get_relations_by_pattern(schema_pattern, table_pattern, exclude='', database=target.database) %}\n {{ return(adapter.dispatch('get_relations_by_pattern', 'dbt_utils')(schema_pattern, table_pattern, exclude, database)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_relations_by_pattern"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.754334, "supported_languages": null}, "macro.dbt_utils.default__get_relations_by_pattern": {"name": "default__get_relations_by_pattern", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_relations_by_pattern.sql", "original_file_path": "macros/sql/get_relations_by_pattern.sql", "unique_id": "macro.dbt_utils.default__get_relations_by_pattern", "macro_sql": "{% macro default__get_relations_by_pattern(schema_pattern, table_pattern, exclude='', database=target.database) %}\n\n {%- call statement('get_tables', fetch_result=True) %}\n\n {{ dbt_utils.get_tables_by_pattern_sql(schema_pattern, table_pattern, exclude, database) }}\n\n {%- endcall -%}\n\n {%- set table_list = load_result('get_tables') -%}\n\n {%- if table_list and table_list['table'] -%}\n {%- set tbl_relations = [] -%}\n {%- for row in table_list['table'] -%}\n {%- set tbl_relation = api.Relation.create(\n database=database,\n schema=row.table_schema,\n identifier=row.table_name,\n type=row.table_type\n ) -%}\n {%- do tbl_relations.append(tbl_relation) -%}\n {%- endfor -%}\n\n {{ return(tbl_relations) }}\n {%- else -%}\n {{ return([]) }}\n {%- endif -%}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt_utils.get_tables_by_pattern_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.755119, "supported_languages": null}, "macro.dbt_utils.get_powers_of_two": {"name": "get_powers_of_two", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/generate_series.sql", "original_file_path": "macros/sql/generate_series.sql", "unique_id": "macro.dbt_utils.get_powers_of_two", "macro_sql": "{% macro get_powers_of_two(upper_bound) %}\n {{ return(adapter.dispatch('get_powers_of_two', 'dbt_utils')(upper_bound)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_powers_of_two"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.755944, "supported_languages": null}, "macro.dbt_utils.default__get_powers_of_two": {"name": "default__get_powers_of_two", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/generate_series.sql", "original_file_path": "macros/sql/generate_series.sql", "unique_id": "macro.dbt_utils.default__get_powers_of_two", "macro_sql": "{% macro default__get_powers_of_two(upper_bound) %}\n\n {% if upper_bound <= 0 %}\n {{ exceptions.raise_compiler_error(\"upper bound must be positive\") }}\n {% endif %}\n\n {% for _ in range(1, 100) %}\n {% if upper_bound <= 2 ** loop.index %}{{ return(loop.index) }}{% endif %}\n {% endfor %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.756335, "supported_languages": null}, "macro.dbt_utils.generate_series": {"name": "generate_series", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/generate_series.sql", "original_file_path": "macros/sql/generate_series.sql", "unique_id": "macro.dbt_utils.generate_series", "macro_sql": "{% macro generate_series(upper_bound) %}\n {{ return(adapter.dispatch('generate_series', 'dbt_utils')(upper_bound)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__generate_series"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7565062, "supported_languages": null}, "macro.dbt_utils.default__generate_series": {"name": "default__generate_series", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/generate_series.sql", "original_file_path": "macros/sql/generate_series.sql", "unique_id": "macro.dbt_utils.default__generate_series", "macro_sql": "{% macro default__generate_series(upper_bound) %}\n\n {% set n = dbt_utils.get_powers_of_two(upper_bound) %}\n\n with p as (\n select 0 as generated_number union all select 1\n ), unioned as (\n\n select\n\n {% for i in range(n) %}\n p{{i}}.generated_number * power(2, {{i}})\n {% if not loop.last %} + {% endif %}\n {% endfor %}\n + 1\n as generated_number\n\n from\n\n {% for i in range(n) %}\n p as p{{i}}\n {% if not loop.last %} cross join {% endif %}\n {% endfor %}\n\n )\n\n select *\n from unioned\n where generated_number <= {{upper_bound}}\n order by generated_number\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.get_powers_of_two"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.756955, "supported_languages": null}, "macro.dbt_utils.get_relations_by_prefix": {"name": "get_relations_by_prefix", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_relations_by_prefix.sql", "original_file_path": "macros/sql/get_relations_by_prefix.sql", "unique_id": "macro.dbt_utils.get_relations_by_prefix", "macro_sql": "{% macro get_relations_by_prefix(schema, prefix, exclude='', database=target.database) %}\n {{ return(adapter.dispatch('get_relations_by_prefix', 'dbt_utils')(schema, prefix, exclude, database)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_relations_by_prefix"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7575328, "supported_languages": null}, "macro.dbt_utils.default__get_relations_by_prefix": {"name": "default__get_relations_by_prefix", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_relations_by_prefix.sql", "original_file_path": "macros/sql/get_relations_by_prefix.sql", "unique_id": "macro.dbt_utils.default__get_relations_by_prefix", "macro_sql": "{% macro default__get_relations_by_prefix(schema, prefix, exclude='', database=target.database) %}\n\n {%- call statement('get_tables', fetch_result=True) %}\n\n {{ dbt_utils.get_tables_by_prefix_sql(schema, prefix, exclude, database) }}\n\n {%- endcall -%}\n\n {%- set table_list = load_result('get_tables') -%}\n\n {%- if table_list and table_list['table'] -%}\n {%- set tbl_relations = [] -%}\n {%- for row in table_list['table'] -%}\n {%- set tbl_relation = api.Relation.create(\n database=database,\n schema=row.table_schema,\n identifier=row.table_name,\n type=row.table_type\n ) -%}\n {%- do tbl_relations.append(tbl_relation) -%}\n {%- endfor -%}\n\n {{ return(tbl_relations) }}\n {%- else -%}\n {{ return([]) }}\n {%- endif -%}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt_utils.get_tables_by_prefix_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.758278, "supported_languages": null}, "macro.dbt_utils.get_tables_by_prefix_sql": {"name": "get_tables_by_prefix_sql", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_tables_by_prefix_sql.sql", "original_file_path": "macros/sql/get_tables_by_prefix_sql.sql", "unique_id": "macro.dbt_utils.get_tables_by_prefix_sql", "macro_sql": "{% macro get_tables_by_prefix_sql(schema, prefix, exclude='', database=target.database) %}\n {{ return(adapter.dispatch('get_tables_by_prefix_sql', 'dbt_utils')(schema, prefix, exclude, database)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_tables_by_prefix_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.758636, "supported_languages": null}, "macro.dbt_utils.default__get_tables_by_prefix_sql": {"name": "default__get_tables_by_prefix_sql", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_tables_by_prefix_sql.sql", "original_file_path": "macros/sql/get_tables_by_prefix_sql.sql", "unique_id": "macro.dbt_utils.default__get_tables_by_prefix_sql", "macro_sql": "{% macro default__get_tables_by_prefix_sql(schema, prefix, exclude='', database=target.database) %}\n\n {{ dbt_utils.get_tables_by_pattern_sql(\n schema_pattern = schema,\n table_pattern = prefix ~ '%',\n exclude = exclude,\n database = database\n ) }}\n \n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.get_tables_by_pattern_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.758899, "supported_languages": null}, "macro.dbt_utils.star": {"name": "star", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/star.sql", "original_file_path": "macros/sql/star.sql", "unique_id": "macro.dbt_utils.star", "macro_sql": "{% macro star(from, relation_alias=False, except=[], prefix='', suffix='', quote_identifiers=True) -%}\r\n {{ return(adapter.dispatch('star', 'dbt_utils')(from, relation_alias, except, prefix, suffix, quote_identifiers)) }}\r\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__star"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.760133, "supported_languages": null}, "macro.dbt_utils.default__star": {"name": "default__star", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/star.sql", "original_file_path": "macros/sql/star.sql", "unique_id": "macro.dbt_utils.default__star", "macro_sql": "{% macro default__star(from, relation_alias=False, except=[], prefix='', suffix='', quote_identifiers=True) -%}\r\n {%- do dbt_utils._is_relation(from, 'star') -%}\r\n {%- do dbt_utils._is_ephemeral(from, 'star') -%}\r\n\r\n {#-- Prevent querying of db in parsing mode. This works because this macro does not create any new refs. #}\r\n {%- if not execute -%}\r\n {% do return('*') %}\r\n {%- endif -%}\r\n\r\n {% set cols = dbt_utils.get_filtered_columns_in_relation(from, except) %}\r\n\r\n {%- if cols|length <= 0 -%}\r\n {% if flags.WHICH == 'compile' %}\r\n {% set response %}\r\n*\r\n/* No columns were returned. Maybe the relation doesn't exist yet \r\nor all columns were excluded. This star is only output during \r\ndbt compile, and exists to keep SQLFluff happy. */\r\n {% endset %}\r\n {% do return(response) %}\r\n {% else %}\r\n {% do return(\"/* no columns returned from star() macro */\") %}\r\n {% endif %}\r\n {%- else -%}\r\n {%- for col in cols %}\r\n {%- if relation_alias %}{{ relation_alias }}.{% else %}{%- endif -%}\r\n {%- if quote_identifiers -%}\r\n {{ adapter.quote(col)|trim }} {%- if prefix!='' or suffix!='' %} as {{ adapter.quote(prefix ~ col ~ suffix)|trim }} {%- endif -%}\r\n {%- else -%}\r\n {{ col|trim }} {%- if prefix!='' or suffix!='' %} as {{ (prefix ~ col ~ suffix)|trim }} {%- endif -%}\r\n {% endif %}\r\n {%- if not loop.last %},{{ '\\n ' }}{%- endif -%}\r\n {%- endfor -%}\r\n {% endif %}\r\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_utils._is_relation", "macro.dbt_utils._is_ephemeral", "macro.dbt_utils.get_filtered_columns_in_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.761467, "supported_languages": null}, "macro.dbt_utils.unpivot": {"name": "unpivot", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/unpivot.sql", "original_file_path": "macros/sql/unpivot.sql", "unique_id": "macro.dbt_utils.unpivot", "macro_sql": "{% macro unpivot(relation=none, cast_to='varchar', exclude=none, remove=none, field_name='field_name', value_name='value', quote_identifiers=False) -%}\n {{ return(adapter.dispatch('unpivot', 'dbt_utils')(relation, cast_to, exclude, remove, field_name, value_name, quote_identifiers)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__unpivot"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.762974, "supported_languages": null}, "macro.dbt_utils.default__unpivot": {"name": "default__unpivot", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/unpivot.sql", "original_file_path": "macros/sql/unpivot.sql", "unique_id": "macro.dbt_utils.default__unpivot", "macro_sql": "{% macro default__unpivot(relation=none, cast_to='varchar', exclude=none, remove=none, field_name='field_name', value_name='value', quote_identifiers=False) -%}\n\n {% if not relation %}\n {{ exceptions.raise_compiler_error(\"Error: argument `relation` is required for `unpivot` macro.\") }}\n {% endif %}\n\n {%- set exclude = exclude if exclude is not none else [] %}\n {%- set remove = remove if remove is not none else [] %}\n\n {%- set include_cols = [] %}\n\n {%- set table_columns = {} %}\n\n {%- do table_columns.update({relation: []}) %}\n\n {%- do dbt_utils._is_relation(relation, 'unpivot') -%}\n {%- do dbt_utils._is_ephemeral(relation, 'unpivot') -%}\n {%- set cols = adapter.get_columns_in_relation(relation) %}\n\n {%- for col in cols -%}\n {%- if col.column.lower() not in remove|map('lower') and col.column.lower() not in exclude|map('lower') -%}\n {% do include_cols.append(col) %}\n {%- endif %}\n {%- endfor %}\n\n\n {%- for col in include_cols -%}\n {%- set current_col_name = adapter.quote(col.column) if quote_identifiers else col.column -%}\n select\n {%- for exclude_col in exclude %}\n {{ adapter.quote(exclude_col) if quote_identifiers else exclude_col }},\n {%- endfor %}\n\n cast('{{ col.column }}' as {{ dbt.type_string() }}) as {{ adapter.quote(field_name) if quote_identifiers else field_name }},\n cast( {% if col.data_type == 'boolean' %}\n {{ dbt.cast_bool_to_text(current_col_name) }}\n {% else %}\n {{ current_col_name }}\n {% endif %}\n as {{ cast_to }}) as {{ adapter.quote(value_name) if quote_identifiers else value_name }}\n\n from {{ relation }}\n\n {% if not loop.last -%}\n union all\n {% endif -%}\n {%- endfor -%}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_utils._is_relation", "macro.dbt_utils._is_ephemeral", "macro.dbt.type_string", "macro.dbt.cast_bool_to_text"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7648509, "supported_languages": null}, "macro.dbt_utils.safe_divide": {"name": "safe_divide", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/safe_divide.sql", "original_file_path": "macros/sql/safe_divide.sql", "unique_id": "macro.dbt_utils.safe_divide", "macro_sql": "{% macro safe_divide(numerator, denominator) -%}\n {{ return(adapter.dispatch('safe_divide', 'dbt_utils')(numerator, denominator)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__safe_divide"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.765147, "supported_languages": null}, "macro.dbt_utils.default__safe_divide": {"name": "default__safe_divide", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/safe_divide.sql", "original_file_path": "macros/sql/safe_divide.sql", "unique_id": "macro.dbt_utils.default__safe_divide", "macro_sql": "{% macro default__safe_divide(numerator, denominator) %}\n ( {{ numerator }} ) / nullif( ( {{ denominator }} ), 0)\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.765267, "supported_languages": null}, "macro.dbt_utils.union_relations": {"name": "union_relations", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/union.sql", "original_file_path": "macros/sql/union.sql", "unique_id": "macro.dbt_utils.union_relations", "macro_sql": "{%- macro union_relations(relations, column_override=none, include=[], exclude=[], source_column_name='_dbt_source_relation', where=none) -%}\n {{ return(adapter.dispatch('union_relations', 'dbt_utils')(relations, column_override, include, exclude, source_column_name, where)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__union_relations"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.76805, "supported_languages": null}, "macro.dbt_utils.default__union_relations": {"name": "default__union_relations", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/union.sql", "original_file_path": "macros/sql/union.sql", "unique_id": "macro.dbt_utils.default__union_relations", "macro_sql": "\n\n{%- macro default__union_relations(relations, column_override=none, include=[], exclude=[], source_column_name='_dbt_source_relation', where=none) -%}\n\n {%- if exclude and include -%}\n {{ exceptions.raise_compiler_error(\"Both an exclude and include list were provided to the `union` macro. Only one is allowed\") }}\n {%- endif -%}\n\n {#-- Prevent querying of db in parsing mode. This works because this macro does not create any new refs. -#}\n {%- if not execute %}\n {{ return('') }}\n {% endif -%}\n\n {%- set column_override = column_override if column_override is not none else {} -%}\n\n {%- set relation_columns = {} -%}\n {%- set column_superset = {} -%}\n {%- set all_excludes = [] -%}\n {%- set all_includes = [] -%}\n\n {%- if exclude -%}\n {%- for exc in exclude -%}\n {%- do all_excludes.append(exc | lower) -%}\n {%- endfor -%}\n {%- endif -%}\n\n {%- if include -%}\n {%- for inc in include -%}\n {%- do all_includes.append(inc | lower) -%}\n {%- endfor -%}\n {%- endif -%}\n\n {%- for relation in relations -%}\n\n {%- do relation_columns.update({relation: []}) -%}\n\n {%- do dbt_utils._is_relation(relation, 'union_relations') -%}\n {%- do dbt_utils._is_ephemeral(relation, 'union_relations') -%}\n {%- set cols = adapter.get_columns_in_relation(relation) -%}\n {%- for col in cols -%}\n\n {#- If an exclude list was provided and the column is in the list, do nothing -#}\n {%- if exclude and col.column | lower in all_excludes -%}\n\n {#- If an include list was provided and the column is not in the list, do nothing -#}\n {%- elif include and col.column | lower not in all_includes -%}\n\n {#- Otherwise add the column to the column superset -#}\n {%- else -%}\n\n {#- update the list of columns in this relation -#}\n {%- do relation_columns[relation].append(col.column) -%}\n\n {%- if col.column in column_superset -%}\n\n {%- set stored = column_superset[col.column] -%}\n {%- if col.is_string() and stored.is_string() and col.string_size() > stored.string_size() -%}\n\n {%- do column_superset.update({col.column: col}) -%}\n\n {%- endif %}\n\n {%- else -%}\n\n {%- do column_superset.update({col.column: col}) -%}\n\n {%- endif -%}\n\n {%- endif -%}\n\n {%- endfor -%}\n {%- endfor -%}\n\n {%- set ordered_column_names = column_superset.keys() -%}\n {%- set dbt_command = flags.WHICH -%}\n\n\n {% if dbt_command in ['run', 'build'] %}\n {% if (include | length > 0 or exclude | length > 0) and not column_superset.keys() %}\n {%- set relations_string -%}\n {%- for relation in relations -%}\n {{ relation.name }}\n {%- if not loop.last %}, {% endif -%}\n {%- endfor -%}\n {%- endset -%}\n\n {%- set error_message -%}\n There were no columns found to union for relations {{ relations_string }}\n {%- endset -%}\n\n {{ exceptions.raise_compiler_error(error_message) }}\n {%- endif -%}\n {%- endif -%}\n\n {%- for relation in relations %}\n\n (\n select\n\n {%- if source_column_name is not none %}\n cast({{ dbt.string_literal(relation) }} as {{ dbt.type_string() }}) as {{ source_column_name }},\n {%- endif %}\n\n {% for col_name in ordered_column_names -%}\n\n {%- set col = column_superset[col_name] %}\n {%- set col_type = column_override.get(col.column, col.data_type) %}\n {%- set col_name = adapter.quote(col_name) if col_name in relation_columns[relation] else 'null' %}\n cast({{ col_name }} as {{ col_type }}) as {{ col.quoted }} {% if not loop.last %},{% endif -%}\n\n {%- endfor %}\n\n from {{ relation }}\n\n {% if where -%}\n where {{ where }}\n {%- endif %}\n )\n\n {% if not loop.last -%}\n union all\n {% endif -%}\n\n {%- endfor -%}\n\n{%- endmacro -%}", "depends_on": {"macros": ["macro.dbt_utils._is_relation", "macro.dbt_utils._is_ephemeral", "macro.dbt.string_literal", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7712052, "supported_languages": null}, "macro.dbt_utils.group_by": {"name": "group_by", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/groupby.sql", "original_file_path": "macros/sql/groupby.sql", "unique_id": "macro.dbt_utils.group_by", "macro_sql": "{%- macro group_by(n) -%}\n {{ return(adapter.dispatch('group_by', 'dbt_utils')(n)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__group_by"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.771532, "supported_languages": null}, "macro.dbt_utils.default__group_by": {"name": "default__group_by", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/groupby.sql", "original_file_path": "macros/sql/groupby.sql", "unique_id": "macro.dbt_utils.default__group_by", "macro_sql": "\n\n{%- macro default__group_by(n) -%}\n\n group by {% for i in range(1, n + 1) -%}\n {{ i }}{{ ',' if not loop.last }} \n {%- endfor -%}\n\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.771759, "supported_languages": null}, "macro.dbt_utils.deduplicate": {"name": "deduplicate", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/deduplicate.sql", "original_file_path": "macros/sql/deduplicate.sql", "unique_id": "macro.dbt_utils.deduplicate", "macro_sql": "{%- macro deduplicate(relation, partition_by, order_by) -%}\n {{ return(adapter.dispatch('deduplicate', 'dbt_utils')(relation, partition_by, order_by)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.postgres__deduplicate"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.772565, "supported_languages": null}, "macro.dbt_utils.default__deduplicate": {"name": "default__deduplicate", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/deduplicate.sql", "original_file_path": "macros/sql/deduplicate.sql", "unique_id": "macro.dbt_utils.default__deduplicate", "macro_sql": "\n\n{%- macro default__deduplicate(relation, partition_by, order_by) -%}\n\n with row_numbered as (\n select\n _inner.*,\n row_number() over (\n partition by {{ partition_by }}\n order by {{ order_by }}\n ) as rn\n from {{ relation }} as _inner\n )\n\n select\n distinct data.*\n from {{ relation }} as data\n {#\n -- Not all DBs will support natural joins but the ones that do include:\n -- Oracle, MySQL, SQLite, Redshift, Teradata, Materialize, Databricks\n -- Apache Spark, SingleStore, Vertica\n -- Those that do not appear to support natural joins include:\n -- SQLServer, Trino, Presto, Rockset, Athena\n #}\n natural join row_numbered\n where row_numbered.rn = 1\n\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.772759, "supported_languages": null}, "macro.dbt_utils.redshift__deduplicate": {"name": "redshift__deduplicate", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/deduplicate.sql", "original_file_path": "macros/sql/deduplicate.sql", "unique_id": "macro.dbt_utils.redshift__deduplicate", "macro_sql": "{% macro redshift__deduplicate(relation, partition_by, order_by) -%}\n\n select *\n from {{ relation }} as tt\n qualify\n row_number() over (\n partition by {{ partition_by }}\n order by {{ order_by }}\n ) = 1\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.773066, "supported_languages": null}, "macro.dbt_utils.postgres__deduplicate": {"name": "postgres__deduplicate", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/deduplicate.sql", "original_file_path": "macros/sql/deduplicate.sql", "unique_id": "macro.dbt_utils.postgres__deduplicate", "macro_sql": "\n{%- macro postgres__deduplicate(relation, partition_by, order_by) -%}\n\n select\n distinct on ({{ partition_by }}) *\n from {{ relation }}\n order by {{ partition_by }}{{ ',' ~ order_by }}\n\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.773375, "supported_languages": null}, "macro.dbt_utils.snowflake__deduplicate": {"name": "snowflake__deduplicate", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/deduplicate.sql", "original_file_path": "macros/sql/deduplicate.sql", "unique_id": "macro.dbt_utils.snowflake__deduplicate", "macro_sql": "\n{%- macro snowflake__deduplicate(relation, partition_by, order_by) -%}\n\n select *\n from {{ relation }}\n qualify\n row_number() over (\n partition by {{ partition_by }}\n order by {{ order_by }}\n ) = 1\n\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.773571, "supported_languages": null}, "macro.dbt_utils.databricks__deduplicate": {"name": "databricks__deduplicate", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/deduplicate.sql", "original_file_path": "macros/sql/deduplicate.sql", "unique_id": "macro.dbt_utils.databricks__deduplicate", "macro_sql": "\n{%- macro databricks__deduplicate(relation, partition_by, order_by) -%}\n\n select *\n from {{ relation }}\n qualify\n row_number() over (\n partition by {{ partition_by }}\n order by {{ order_by }}\n ) = 1\n\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7737799, "supported_languages": null}, "macro.dbt_utils.bigquery__deduplicate": {"name": "bigquery__deduplicate", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/deduplicate.sql", "original_file_path": "macros/sql/deduplicate.sql", "unique_id": "macro.dbt_utils.bigquery__deduplicate", "macro_sql": "\n{%- macro bigquery__deduplicate(relation, partition_by, order_by) -%}\n\n select unique.*\n from (\n select\n array_agg (\n original\n order by {{ order_by }}\n limit 1\n )[offset(0)] unique\n from {{ relation }} original\n group by {{ partition_by }}\n )\n\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7739751, "supported_languages": null}, "macro.dbt_utils.surrogate_key": {"name": "surrogate_key", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/surrogate_key.sql", "original_file_path": "macros/sql/surrogate_key.sql", "unique_id": "macro.dbt_utils.surrogate_key", "macro_sql": "{%- macro surrogate_key(field_list) -%}\n {% set frustrating_jinja_feature = varargs %}\n {{ return(adapter.dispatch('surrogate_key', 'dbt_utils')(field_list, *varargs)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__surrogate_key"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7743309, "supported_languages": null}, "macro.dbt_utils.default__surrogate_key": {"name": "default__surrogate_key", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/surrogate_key.sql", "original_file_path": "macros/sql/surrogate_key.sql", "unique_id": "macro.dbt_utils.default__surrogate_key", "macro_sql": "\n\n{%- macro default__surrogate_key(field_list) -%}\n\n{%- set error_message = '\nWarning: `dbt_utils.surrogate_key` has been replaced by \\\n`dbt_utils.generate_surrogate_key`. The new macro treats null values \\\ndifferently to empty strings. To restore the behaviour of the original \\\nmacro, add a global variable in dbt_project.yml called \\\n`surrogate_key_treat_nulls_as_empty_strings` to your \\\ndbt_project.yml file with a value of True. \\\nThe {}.{} model triggered this warning. \\\n'.format(model.package_name, model.name) -%}\n\n{%- do exceptions.raise_compiler_error(error_message) -%}\n\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.774546, "supported_languages": null}, "macro.dbt_utils.safe_add": {"name": "safe_add", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/safe_add.sql", "original_file_path": "macros/sql/safe_add.sql", "unique_id": "macro.dbt_utils.safe_add", "macro_sql": "{%- macro safe_add(field_list) -%}\n {{ return(adapter.dispatch('safe_add', 'dbt_utils')(field_list)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__safe_add"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.774878, "supported_languages": null}, "macro.dbt_utils.default__safe_add": {"name": "default__safe_add", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/safe_add.sql", "original_file_path": "macros/sql/safe_add.sql", "unique_id": "macro.dbt_utils.default__safe_add", "macro_sql": "\n\n{%- macro default__safe_add(field_list) -%}\n\n{%- if field_list is not iterable or field_list is string or field_list is mapping -%}\n\n{%- set error_message = '\nWarning: the `safe_add` macro now takes a single list argument instead of \\\nstring arguments. The {}.{} model triggered this warning. \\\n'.format(model.package_name, model.name) -%}\n\n{%- do exceptions.warn(error_message) -%}\n\n{%- endif -%}\n\n{% set fields = [] %}\n\n{%- for field in field_list -%}\n\n {% do fields.append(\"coalesce(\" ~ field ~ \", 0)\") %}\n\n{%- endfor -%}\n\n{{ fields|join(' +\\n ') }}\n\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.77536, "supported_languages": null}, "macro.dbt_utils.nullcheck": {"name": "nullcheck", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/nullcheck.sql", "original_file_path": "macros/sql/nullcheck.sql", "unique_id": "macro.dbt_utils.nullcheck", "macro_sql": "{% macro nullcheck(cols) %}\n {{ return(adapter.dispatch('nullcheck', 'dbt_utils')(cols)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__nullcheck"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.775668, "supported_languages": null}, "macro.dbt_utils.default__nullcheck": {"name": "default__nullcheck", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/nullcheck.sql", "original_file_path": "macros/sql/nullcheck.sql", "unique_id": "macro.dbt_utils.default__nullcheck", "macro_sql": "{% macro default__nullcheck(cols) %}\n{%- for col in cols %}\n\n {% if col.is_string() -%}\n\n nullif({{col.name}},'') as {{col.name}}\n\n {%- else -%}\n\n {{col.name}}\n\n {%- endif -%}\n\n{%- if not loop.last -%} , {%- endif -%}\n\n{%- endfor -%}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7759821, "supported_languages": null}, "macro.dbt_utils.get_tables_by_pattern_sql": {"name": "get_tables_by_pattern_sql", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_tables_by_pattern_sql.sql", "original_file_path": "macros/sql/get_tables_by_pattern_sql.sql", "unique_id": "macro.dbt_utils.get_tables_by_pattern_sql", "macro_sql": "{% macro get_tables_by_pattern_sql(schema_pattern, table_pattern, exclude='', database=target.database) %}\n {{ return(adapter.dispatch('get_tables_by_pattern_sql', 'dbt_utils')\n (schema_pattern, table_pattern, exclude, database)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_tables_by_pattern_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7787771, "supported_languages": null}, "macro.dbt_utils.default__get_tables_by_pattern_sql": {"name": "default__get_tables_by_pattern_sql", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_tables_by_pattern_sql.sql", "original_file_path": "macros/sql/get_tables_by_pattern_sql.sql", "unique_id": "macro.dbt_utils.default__get_tables_by_pattern_sql", "macro_sql": "{% macro default__get_tables_by_pattern_sql(schema_pattern, table_pattern, exclude='', database=target.database) %}\n\n select distinct\n table_schema as {{ adapter.quote('table_schema') }},\n table_name as {{ adapter.quote('table_name') }},\n {{ dbt_utils.get_table_types_sql() }}\n from {{ database }}.information_schema.tables\n where table_schema ilike '{{ schema_pattern }}'\n and table_name ilike '{{ table_pattern }}'\n and table_name not ilike '{{ exclude }}'\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.get_table_types_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.779197, "supported_languages": null}, "macro.dbt_utils.redshift__get_tables_by_pattern_sql": {"name": "redshift__get_tables_by_pattern_sql", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_tables_by_pattern_sql.sql", "original_file_path": "macros/sql/get_tables_by_pattern_sql.sql", "unique_id": "macro.dbt_utils.redshift__get_tables_by_pattern_sql", "macro_sql": "{% macro redshift__get_tables_by_pattern_sql(schema_pattern, table_pattern, exclude='', database=target.database) %}\n\n {% set sql %}\n select distinct\n table_schema as {{ adapter.quote('table_schema') }},\n table_name as {{ adapter.quote('table_name') }},\n {{ dbt_utils.get_table_types_sql() }}\n from \"{{ database }}\".\"information_schema\".\"tables\"\n where table_schema ilike '{{ schema_pattern }}'\n and table_name ilike '{{ table_pattern }}'\n and table_name not ilike '{{ exclude }}'\n union all\n select distinct\n schemaname as {{ adapter.quote('table_schema') }},\n tablename as {{ adapter.quote('table_name') }},\n 'external' as {{ adapter.quote('table_type') }}\n from svv_external_tables\n where redshift_database_name = '{{ database }}'\n and schemaname ilike '{{ schema_pattern }}'\n and table_name ilike '{{ table_pattern }}'\n and table_name not ilike '{{ exclude }}'\n {% endset %}\n\n {{ return(sql) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.get_table_types_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.779799, "supported_languages": null}, "macro.dbt_utils.bigquery__get_tables_by_pattern_sql": {"name": "bigquery__get_tables_by_pattern_sql", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_tables_by_pattern_sql.sql", "original_file_path": "macros/sql/get_tables_by_pattern_sql.sql", "unique_id": "macro.dbt_utils.bigquery__get_tables_by_pattern_sql", "macro_sql": "{% macro bigquery__get_tables_by_pattern_sql(schema_pattern, table_pattern, exclude='', database=target.database) %}\n\n {% if '%' in schema_pattern %}\n {% set schemata=dbt_utils._bigquery__get_matching_schemata(schema_pattern, database) %}\n {% else %}\n {% set schemata=[schema_pattern] %}\n {% endif %}\n\n {% set sql %}\n {% for schema in schemata %}\n select distinct\n table_schema,\n table_name,\n {{ dbt_utils.get_table_types_sql() }}\n\n from {{ adapter.quote(database) }}.{{ schema }}.INFORMATION_SCHEMA.TABLES\n where lower(table_name) like lower ('{{ table_pattern }}')\n and lower(table_name) not like lower ('{{ exclude }}')\n\n {% if not loop.last %} union all {% endif %}\n\n {% endfor %}\n {% endset %}\n\n {{ return(sql) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils._bigquery__get_matching_schemata", "macro.dbt_utils.get_table_types_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.780441, "supported_languages": null}, "macro.dbt_utils._bigquery__get_matching_schemata": {"name": "_bigquery__get_matching_schemata", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_tables_by_pattern_sql.sql", "original_file_path": "macros/sql/get_tables_by_pattern_sql.sql", "unique_id": "macro.dbt_utils._bigquery__get_matching_schemata", "macro_sql": "{% macro _bigquery__get_matching_schemata(schema_pattern, database) %}\n {% if execute %}\n\n {% set sql %}\n select schema_name from {{ adapter.quote(database) }}.INFORMATION_SCHEMA.SCHEMATA\n where lower(schema_name) like lower('{{ schema_pattern }}')\n {% endset %}\n\n {% set results=run_query(sql) %}\n\n {% set schemata=results.columns['schema_name'].values() %}\n\n {{ return(schemata) }}\n\n {% else %}\n\n {{ return([]) }}\n\n {% endif %}\n\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7808871, "supported_languages": null}, "macro.dbt_utils.get_column_values": {"name": "get_column_values", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_column_values.sql", "original_file_path": "macros/sql/get_column_values.sql", "unique_id": "macro.dbt_utils.get_column_values", "macro_sql": "{% macro get_column_values(table, column, order_by='count(*) desc', max_records=none, default=none, where=none) -%}\n {{ return(adapter.dispatch('get_column_values', 'dbt_utils')(table, column, order_by, max_records, default, where)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_column_values"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.781853, "supported_languages": null}, "macro.dbt_utils.default__get_column_values": {"name": "default__get_column_values", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_column_values.sql", "original_file_path": "macros/sql/get_column_values.sql", "unique_id": "macro.dbt_utils.default__get_column_values", "macro_sql": "{% macro default__get_column_values(table, column, order_by='count(*) desc', max_records=none, default=none, where=none) -%}\n {#-- Prevent querying of db in parsing mode. This works because this macro does not create any new refs. #}\n {%- if not execute -%}\n {% set default = [] if not default %}\n {{ return(default) }}\n {% endif %}\n\n {%- do dbt_utils._is_ephemeral(table, 'get_column_values') -%}\n\n {# Not all relations are tables. Renaming for internal clarity without breaking functionality for anyone using named arguments #}\n {# TODO: Change the method signature in a future 0.x.0 release #}\n {%- set target_relation = table -%}\n\n {# adapter.load_relation is a convenience wrapper to avoid building a Relation when we already have one #}\n {% set relation_exists = (load_relation(target_relation)) is not none %}\n\n {%- call statement('get_column_values', fetch_result=true) %}\n\n {%- if not relation_exists and default is none -%}\n\n {{ exceptions.raise_compiler_error(\"In get_column_values(): relation \" ~ target_relation ~ \" does not exist and no default value was provided.\") }}\n\n {%- elif not relation_exists and default is not none -%}\n\n {{ log(\"Relation \" ~ target_relation ~ \" does not exist. Returning the default value: \" ~ default) }}\n\n {{ return(default) }}\n\n {%- else -%}\n\n\n select\n {{ column }} as value\n\n from {{ target_relation }}\n\n {% if where is not none %}\n where {{ where }}\n {% endif %}\n\n group by {{ column }}\n order by {{ order_by }}\n\n {% if max_records is not none %}\n limit {{ max_records }}\n {% endif %}\n\n {% endif %}\n\n {%- endcall -%}\n\n {%- set value_list = load_result('get_column_values') -%}\n\n {%- if value_list and value_list['data'] -%}\n {%- set values = value_list['data'] | map(attribute=0) | list %}\n {{ return(values) }}\n {%- else -%}\n {{ return(default) }}\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_utils._is_ephemeral", "macro.dbt.load_relation", "macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.783369, "supported_languages": null}, "macro.dbt_utils.pivot": {"name": "pivot", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/pivot.sql", "original_file_path": "macros/sql/pivot.sql", "unique_id": "macro.dbt_utils.pivot", "macro_sql": "{% macro pivot(column,\n values,\n alias=True,\n agg='sum',\n cmp='=',\n prefix='',\n suffix='',\n then_value=1,\n else_value=0,\n quote_identifiers=True,\n distinct=False) %}\n {{ return(adapter.dispatch('pivot', 'dbt_utils')(column, values, alias, agg, cmp, prefix, suffix, then_value, else_value, quote_identifiers, distinct)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__pivot"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7844741, "supported_languages": null}, "macro.dbt_utils.default__pivot": {"name": "default__pivot", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/pivot.sql", "original_file_path": "macros/sql/pivot.sql", "unique_id": "macro.dbt_utils.default__pivot", "macro_sql": "{% macro default__pivot(column,\n values,\n alias=True,\n agg='sum',\n cmp='=',\n prefix='',\n suffix='',\n then_value=1,\n else_value=0,\n quote_identifiers=True,\n distinct=False) %}\n {% for value in values %}\n {{ agg }}(\n {% if distinct %} distinct {% endif %}\n case\n when {{ column }} {{ cmp }} '{{ dbt.escape_single_quotes(value) }}'\n then {{ then_value }}\n else {{ else_value }}\n end\n )\n {% if alias %}\n {% if quote_identifiers %}\n as {{ adapter.quote(prefix ~ value ~ suffix) }}\n {% else %}\n as {{ dbt_utils.slugify(prefix ~ value ~ suffix) }}\n {% endif %}\n {% endif %}\n {% if not loop.last %},{% endif %}\n {% endfor %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.escape_single_quotes", "macro.dbt_utils.slugify"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.785345, "supported_languages": null}, "macro.dbt_utils.get_filtered_columns_in_relation": {"name": "get_filtered_columns_in_relation", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_filtered_columns_in_relation.sql", "original_file_path": "macros/sql/get_filtered_columns_in_relation.sql", "unique_id": "macro.dbt_utils.get_filtered_columns_in_relation", "macro_sql": "{% macro get_filtered_columns_in_relation(from, except=[]) -%}\n {{ return(adapter.dispatch('get_filtered_columns_in_relation', 'dbt_utils')(from, except)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_filtered_columns_in_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.785801, "supported_languages": null}, "macro.dbt_utils.default__get_filtered_columns_in_relation": {"name": "default__get_filtered_columns_in_relation", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_filtered_columns_in_relation.sql", "original_file_path": "macros/sql/get_filtered_columns_in_relation.sql", "unique_id": "macro.dbt_utils.default__get_filtered_columns_in_relation", "macro_sql": "{% macro default__get_filtered_columns_in_relation(from, except=[]) -%}\n {%- do dbt_utils._is_relation(from, 'get_filtered_columns_in_relation') -%}\n {%- do dbt_utils._is_ephemeral(from, 'get_filtered_columns_in_relation') -%}\n\n {# -- Prevent querying of db in parsing mode. This works because this macro does not create any new refs. #}\n {%- if not execute -%}\n {{ return('') }}\n {% endif %}\n\n {%- set include_cols = [] %}\n {%- set cols = adapter.get_columns_in_relation(from) -%}\n {%- set except = except | map(\"lower\") | list %}\n {%- for col in cols -%}\n {%- if col.column|lower not in except -%}\n {% do include_cols.append(col.column) %}\n {%- endif %}\n {%- endfor %}\n\n {{ return(include_cols) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_utils._is_relation", "macro.dbt_utils._is_ephemeral"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.78645, "supported_languages": null}, "macro.dbt_utils.width_bucket": {"name": "width_bucket", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/width_bucket.sql", "original_file_path": "macros/sql/width_bucket.sql", "unique_id": "macro.dbt_utils.width_bucket", "macro_sql": "{% macro width_bucket(expr, min_value, max_value, num_buckets) %}\n {{ return(adapter.dispatch('width_bucket', 'dbt_utils') (expr, min_value, max_value, num_buckets)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__width_bucket"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.787126, "supported_languages": null}, "macro.dbt_utils.default__width_bucket": {"name": "default__width_bucket", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/width_bucket.sql", "original_file_path": "macros/sql/width_bucket.sql", "unique_id": "macro.dbt_utils.default__width_bucket", "macro_sql": "{% macro default__width_bucket(expr, min_value, max_value, num_buckets) -%}\n\n {% set bin_size -%}\n (( {{ max_value }} - {{ min_value }} ) / {{ num_buckets }} )\n {%- endset %}\n (\n -- to break ties when the amount is eaxtly at the bucket egde\n case\n when\n mod(\n {{ dbt.safe_cast(expr, dbt.type_numeric() ) }},\n {{ dbt.safe_cast(bin_size, dbt.type_numeric() ) }}\n ) = 0\n then 1\n else 0\n end\n ) +\n -- Anything over max_value goes the N+1 bucket\n least(\n ceil(\n ({{ expr }} - {{ min_value }})/{{ bin_size }}\n ),\n {{ num_buckets }} + 1\n )\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.safe_cast", "macro.dbt.type_numeric"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.787528, "supported_languages": null}, "macro.dbt_utils.snowflake__width_bucket": {"name": "snowflake__width_bucket", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/width_bucket.sql", "original_file_path": "macros/sql/width_bucket.sql", "unique_id": "macro.dbt_utils.snowflake__width_bucket", "macro_sql": "{% macro snowflake__width_bucket(expr, min_value, max_value, num_buckets) %}\n width_bucket({{ expr }}, {{ min_value }}, {{ max_value }}, {{ num_buckets }} )\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.787698, "supported_languages": null}, "macro.dbt_utils.get_query_results_as_dict": {"name": "get_query_results_as_dict", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_query_results_as_dict.sql", "original_file_path": "macros/sql/get_query_results_as_dict.sql", "unique_id": "macro.dbt_utils.get_query_results_as_dict", "macro_sql": "{% macro get_query_results_as_dict(query) %}\n {{ return(adapter.dispatch('get_query_results_as_dict', 'dbt_utils')(query)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_query_results_as_dict"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.788042, "supported_languages": null}, "macro.dbt_utils.default__get_query_results_as_dict": {"name": "default__get_query_results_as_dict", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_query_results_as_dict.sql", "original_file_path": "macros/sql/get_query_results_as_dict.sql", "unique_id": "macro.dbt_utils.default__get_query_results_as_dict", "macro_sql": "{% macro default__get_query_results_as_dict(query) %}\n\n{# This macro returns a dictionary of the form {column_name: (tuple_of_results)} #}\n\n {%- call statement('get_query_results', fetch_result=True,auto_begin=false) -%}\n\n {{ query }}\n\n {%- endcall -%}\n\n {% set sql_results={} %}\n\n {%- if execute -%}\n {% set sql_results_table = load_result('get_query_results').table.columns %}\n {% for column_name, column in sql_results_table.items() %}\n {% do sql_results.update({column_name: column.values()}) %}\n {% endfor %}\n {%- endif -%}\n\n {{ return(sql_results) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.788569, "supported_languages": null}, "macro.dbt_utils.generate_surrogate_key": {"name": "generate_surrogate_key", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/generate_surrogate_key.sql", "original_file_path": "macros/sql/generate_surrogate_key.sql", "unique_id": "macro.dbt_utils.generate_surrogate_key", "macro_sql": "{%- macro generate_surrogate_key(field_list) -%}\n {{ return(adapter.dispatch('generate_surrogate_key', 'dbt_utils')(field_list)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__generate_surrogate_key"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.788973, "supported_languages": null}, "macro.dbt_utils.default__generate_surrogate_key": {"name": "default__generate_surrogate_key", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/generate_surrogate_key.sql", "original_file_path": "macros/sql/generate_surrogate_key.sql", "unique_id": "macro.dbt_utils.default__generate_surrogate_key", "macro_sql": "\n\n{%- macro default__generate_surrogate_key(field_list) -%}\n\n{%- if var('surrogate_key_treat_nulls_as_empty_strings', False) -%}\n {%- set default_null_value = \"\" -%}\n{%- else -%}\n {%- set default_null_value = '_dbt_utils_surrogate_key_null_' -%}\n{%- endif -%}\n\n{%- set fields = [] -%}\n\n{%- for field in field_list -%}\n\n {%- do fields.append(\n \"coalesce(cast(\" ~ field ~ \" as \" ~ dbt.type_string() ~ \"), '\" ~ default_null_value ~\"')\"\n ) -%}\n\n {%- if not loop.last %}\n {%- do fields.append(\"'-'\") -%}\n {%- endif -%}\n\n{%- endfor -%}\n\n{{ dbt.hash(dbt.concat(fields)) }}\n\n{%- endmacro -%}", "depends_on": {"macros": ["macro.dbt.type_string", "macro.dbt.hash", "macro.dbt.concat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.789524, "supported_languages": null}, "macro.dbt_utils.get_table_types_sql": {"name": "get_table_types_sql", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_table_types_sql.sql", "original_file_path": "macros/sql/get_table_types_sql.sql", "unique_id": "macro.dbt_utils.get_table_types_sql", "macro_sql": "{%- macro get_table_types_sql() -%}\n {{ return(adapter.dispatch('get_table_types_sql', 'dbt_utils')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt_utils.postgres__get_table_types_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.789974, "supported_languages": null}, "macro.dbt_utils.default__get_table_types_sql": {"name": "default__get_table_types_sql", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_table_types_sql.sql", "original_file_path": "macros/sql/get_table_types_sql.sql", "unique_id": "macro.dbt_utils.default__get_table_types_sql", "macro_sql": "{% macro default__get_table_types_sql() %}\n case table_type\n when 'BASE TABLE' then 'table'\n when 'EXTERNAL TABLE' then 'external'\n when 'MATERIALIZED VIEW' then 'materializedview'\n else lower(table_type)\n end as {{ adapter.quote('table_type') }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.790098, "supported_languages": null}, "macro.dbt_utils.postgres__get_table_types_sql": {"name": "postgres__get_table_types_sql", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_table_types_sql.sql", "original_file_path": "macros/sql/get_table_types_sql.sql", "unique_id": "macro.dbt_utils.postgres__get_table_types_sql", "macro_sql": "{% macro postgres__get_table_types_sql() %}\n case table_type\n when 'BASE TABLE' then 'table'\n when 'FOREIGN' then 'external'\n when 'MATERIALIZED VIEW' then 'materializedview'\n else lower(table_type)\n end as {{ adapter.quote('table_type') }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.790219, "supported_languages": null}, "macro.dbt_utils.databricks__get_table_types_sql": {"name": "databricks__get_table_types_sql", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_table_types_sql.sql", "original_file_path": "macros/sql/get_table_types_sql.sql", "unique_id": "macro.dbt_utils.databricks__get_table_types_sql", "macro_sql": "{% macro databricks__get_table_types_sql() %}\n case table_type\n when 'MANAGED' then 'table'\n when 'BASE TABLE' then 'table'\n when 'MATERIALIZED VIEW' then 'materializedview'\n else lower(table_type)\n end as {{ adapter.quote('table_type') }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.790338, "supported_languages": null}, "macro.dbt_utils.get_single_value": {"name": "get_single_value", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_single_value.sql", "original_file_path": "macros/sql/get_single_value.sql", "unique_id": "macro.dbt_utils.get_single_value", "macro_sql": "{% macro get_single_value(query, default=none) %}\n {{ return(adapter.dispatch('get_single_value', 'dbt_utils')(query, default)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_single_value"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.790853, "supported_languages": null}, "macro.dbt_utils.default__get_single_value": {"name": "default__get_single_value", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_single_value.sql", "original_file_path": "macros/sql/get_single_value.sql", "unique_id": "macro.dbt_utils.default__get_single_value", "macro_sql": "{% macro default__get_single_value(query, default) %}\n\n{# This macro returns the (0, 0) record in a query, i.e. the first row of the first column #}\n\n {%- call statement('get_query_result', fetch_result=True, auto_begin=false) -%}\n\n {{ query }}\n\n {%- endcall -%}\n\n {%- if execute -%}\n\n {% set r = load_result('get_query_result').table.columns[0].values() %}\n {% if r | length == 0 %}\n {% do print('Query `' ~ query ~ '` returned no rows. Using the default value: ' ~ default) %}\n {% set sql_result = default %}\n {% else %}\n {% set sql_result = r[0] %}\n {% endif %}\n \n {%- else -%}\n \n {% set sql_result = default %}\n \n {%- endif -%}\n\n {% do return(sql_result) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.791499, "supported_languages": null}, "macro.dbt_utils.degrees_to_radians": {"name": "degrees_to_radians", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/haversine_distance.sql", "original_file_path": "macros/sql/haversine_distance.sql", "unique_id": "macro.dbt_utils.degrees_to_radians", "macro_sql": "{% macro degrees_to_radians(degrees) -%}\n acos(-1) * {{degrees}} / 180\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.79246, "supported_languages": null}, "macro.dbt_utils.haversine_distance": {"name": "haversine_distance", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/haversine_distance.sql", "original_file_path": "macros/sql/haversine_distance.sql", "unique_id": "macro.dbt_utils.haversine_distance", "macro_sql": "{% macro haversine_distance(lat1, lon1, lat2, lon2, unit='mi') -%}\n {{ return(adapter.dispatch('haversine_distance', 'dbt_utils')(lat1,lon1,lat2,lon2,unit)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__haversine_distance"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7927182, "supported_languages": null}, "macro.dbt_utils.default__haversine_distance": {"name": "default__haversine_distance", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/haversine_distance.sql", "original_file_path": "macros/sql/haversine_distance.sql", "unique_id": "macro.dbt_utils.default__haversine_distance", "macro_sql": "{% macro default__haversine_distance(lat1, lon1, lat2, lon2, unit='mi') -%}\n{%- if unit == 'mi' %}\n {% set conversion_rate = 1 %}\n{% elif unit == 'km' %}\n {% set conversion_rate = 1.60934 %}\n{% else %}\n {{ exceptions.raise_compiler_error(\"unit input must be one of 'mi' or 'km'. Got \" ~ unit) }}\n{% endif %}\n\n 2 * 3961 * asin(sqrt(power((sin(radians(({{ lat2 }} - {{ lat1 }}) / 2))), 2) +\n cos(radians({{lat1}})) * cos(radians({{lat2}})) *\n power((sin(radians(({{ lon2 }} - {{ lon1 }}) / 2))), 2))) * {{ conversion_rate }}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.793219, "supported_languages": null}, "macro.dbt_utils.bigquery__haversine_distance": {"name": "bigquery__haversine_distance", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/haversine_distance.sql", "original_file_path": "macros/sql/haversine_distance.sql", "unique_id": "macro.dbt_utils.bigquery__haversine_distance", "macro_sql": "{% macro bigquery__haversine_distance(lat1, lon1, lat2, lon2, unit='mi') -%}\n{% set radians_lat1 = dbt_utils.degrees_to_radians(lat1) %}\n{% set radians_lat2 = dbt_utils.degrees_to_radians(lat2) %}\n{% set radians_lon1 = dbt_utils.degrees_to_radians(lon1) %}\n{% set radians_lon2 = dbt_utils.degrees_to_radians(lon2) %}\n{%- if unit == 'mi' %}\n {% set conversion_rate = 1 %}\n{% elif unit == 'km' %}\n {% set conversion_rate = 1.60934 %}\n{% else %}\n {{ exceptions.raise_compiler_error(\"unit input must be one of 'mi' or 'km'. Got \" ~ unit) }}\n{% endif %}\n 2 * 3961 * asin(sqrt(power(sin(({{ radians_lat2 }} - {{ radians_lat1 }}) / 2), 2) +\n cos({{ radians_lat1 }}) * cos({{ radians_lat2 }}) *\n power(sin(({{ radians_lon2 }} - {{ radians_lon1 }}) / 2), 2))) * {{ conversion_rate }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.degrees_to_radians"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7939131, "supported_languages": null}, "macro.quickbooks.get_enabled_unioned_models": {"name": "get_enabled_unioned_models", "resource_type": "macro", "package_name": "quickbooks", "path": "macros/get_enabled_unioned_models.sql", "original_file_path": "macros/get_enabled_unioned_models.sql", "unique_id": "macro.quickbooks.get_enabled_unioned_models", "macro_sql": "{% macro get_enabled_unioned_models(unioned_models = [ \n 'bill',\n 'credit_memo',\n 'deposit',\n 'invoice',\n 'journal_entry',\n 'payment',\n 'refund_receipt',\n 'sales_receipt',\n 'transfer',\n 'vendor_credit']) %} \n\n{% set enabled_unioned_models = [] %}\n\n{{ enabled_unioned_models.append(ref('int_quickbooks__purchase_double_entry')) }}\n\n{% for unioned_model in unioned_models %} \n {% if var('using_' ~ unioned_model, True) %}\n {{ enabled_unioned_models.append(ref('int_quickbooks__' ~ unioned_model ~ '_double_entry')) }}\n {% endif %}\n {% endfor %} \n \n{% if var('using_bill', True) %}\n {{ enabled_unioned_models.append(ref('int_quickbooks__bill_payment_double_entry')) }}\n{% endif %}\n\n{% if var('using_credit_card_payment_txn', False) %}\n {{ enabled_unioned_models.append(ref('int_quickbooks__credit_card_pymt_double_entry')) }}\n{% endif %}\n\n{{ return(enabled_unioned_models) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "This macro takes models from the `double_entry_transactions` folder and appends them together in an array of relations if these models are enabled. This will then be unioned together using `dbt_utils.union_relations` in the `quickbooks__general_ledger` model. `int_quickbooks__purchase_double_entry` is included by default. `int_quickbooks__bill_payment_double_entry` and `int_quickbooks__credit_card_pymt_double_entry` are appended separately because their `using_` variables do not match up like the other variables, which can't be modified.\n", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://macros/quickbooks_macros.yml", "arguments": [{"name": "unioned_models", "type": "list", "description": "List of strings referring to particular models to then be appended and eventually unioned if enabled."}, {"name": "enabled_unioned_models", "type": "list", "description": "List of relations of models that are enabled to eventually be unioned into a general ledger model."}], "created_at": 1730311927.842102, "supported_languages": null}, "macro.fivetran_utils.enabled_vars": {"name": "enabled_vars", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/enabled_vars.sql", "original_file_path": "macros/enabled_vars.sql", "unique_id": "macro.fivetran_utils.enabled_vars", "macro_sql": "{% macro enabled_vars(vars) %}\n\n{% for v in vars %}\n \n {% if var(v, True) == False %}\n {{ return(False) }}\n {% endif %}\n\n{% endfor %}\n\n{{ return(True) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.795307, "supported_languages": null}, "macro.fivetran_utils.percentile": {"name": "percentile", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/percentile.sql", "original_file_path": "macros/percentile.sql", "unique_id": "macro.fivetran_utils.percentile", "macro_sql": "{% macro percentile(percentile_field, partition_field, percent) -%}\n\n{{ adapter.dispatch('percentile', 'fivetran_utils') (percentile_field, partition_field, percent) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.postgres__percentile"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7961211, "supported_languages": null}, "macro.fivetran_utils.default__percentile": {"name": "default__percentile", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/percentile.sql", "original_file_path": "macros/percentile.sql", "unique_id": "macro.fivetran_utils.default__percentile", "macro_sql": "{% macro default__percentile(percentile_field, partition_field, percent) %}\n\n percentile_cont( \n {{ percent }} )\n within group ( order by {{ percentile_field }} )\n over ( partition by {{ partition_field }} )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.796269, "supported_languages": null}, "macro.fivetran_utils.redshift__percentile": {"name": "redshift__percentile", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/percentile.sql", "original_file_path": "macros/percentile.sql", "unique_id": "macro.fivetran_utils.redshift__percentile", "macro_sql": "{% macro redshift__percentile(percentile_field, partition_field, percent) %}\n\n percentile_cont( \n {{ percent }} )\n within group ( order by {{ percentile_field }} )\n over ( partition by {{ partition_field }} )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.7964108, "supported_languages": null}, "macro.fivetran_utils.bigquery__percentile": {"name": "bigquery__percentile", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/percentile.sql", "original_file_path": "macros/percentile.sql", "unique_id": "macro.fivetran_utils.bigquery__percentile", "macro_sql": "{% macro bigquery__percentile(percentile_field, partition_field, percent) %}\n\n percentile_cont( \n {{ percentile_field }}, \n {{ percent }}) \n over (partition by {{ partition_field }} \n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.796551, "supported_languages": null}, "macro.fivetran_utils.postgres__percentile": {"name": "postgres__percentile", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/percentile.sql", "original_file_path": "macros/percentile.sql", "unique_id": "macro.fivetran_utils.postgres__percentile", "macro_sql": "{% macro postgres__percentile(percentile_field, partition_field, percent) %}\n\n percentile_cont( \n {{ percent }} )\n within group ( order by {{ percentile_field }} )\n /* have to group by partition field */\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.796681, "supported_languages": null}, "macro.fivetran_utils.spark__percentile": {"name": "spark__percentile", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/percentile.sql", "original_file_path": "macros/percentile.sql", "unique_id": "macro.fivetran_utils.spark__percentile", "macro_sql": "{% macro spark__percentile(percentile_field, partition_field, percent) %}\n\n percentile( \n {{ percentile_field }}, \n {{ percent }}) \n over (partition by {{ partition_field }} \n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.796819, "supported_languages": null}, "macro.fivetran_utils.pivot_json_extract": {"name": "pivot_json_extract", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/pivot_json_extract.sql", "original_file_path": "macros/pivot_json_extract.sql", "unique_id": "macro.fivetran_utils.pivot_json_extract", "macro_sql": "{% macro pivot_json_extract(string, list_of_properties) %}\n\n{%- for property in list_of_properties -%}\n{%- if property is mapping -%}\nreplace( {{ fivetran_utils.json_extract(string, property.name) }}, '\"', '') as {{ property.alias if property.alias else property.name | replace(' ', '_') | replace('.', '_') | lower }}\n\n{%- else -%}\nreplace( {{ fivetran_utils.json_extract(string, property) }}, '\"', '') as {{ property | replace(' ', '_') | lower }}\n\n{%- endif -%}\n{%- if not loop.last -%},{%- endif %}\n{% endfor -%}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.json_extract"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.797517, "supported_languages": null}, "macro.fivetran_utils.persist_pass_through_columns": {"name": "persist_pass_through_columns", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/persist_pass_through_columns.sql", "original_file_path": "macros/persist_pass_through_columns.sql", "unique_id": "macro.fivetran_utils.persist_pass_through_columns", "macro_sql": "{% macro persist_pass_through_columns(pass_through_variable, identifier=none, transform='') %}\n\n{% if var(pass_through_variable, none) %}\n {% for field in var(pass_through_variable) %}\n , {{ transform ~ '(' ~ (identifier ~ '.' if identifier else '') ~ (field.alias if field.alias else field.name) ~ ')' }} as {{ field.alias if field.alias else field.name }}\n {% endfor %}\n{% endif %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.79808, "supported_languages": null}, "macro.fivetran_utils.json_parse": {"name": "json_parse", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_parse.sql", "original_file_path": "macros/json_parse.sql", "unique_id": "macro.fivetran_utils.json_parse", "macro_sql": "{% macro json_parse(string, string_path) -%}\n\n{{ adapter.dispatch('json_parse', 'fivetran_utils') (string, string_path) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.postgres__json_parse"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.799243, "supported_languages": null}, "macro.fivetran_utils.default__json_parse": {"name": "default__json_parse", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_parse.sql", "original_file_path": "macros/json_parse.sql", "unique_id": "macro.fivetran_utils.default__json_parse", "macro_sql": "{% macro default__json_parse(string, string_path) %}\n\n json_extract_path_text({{string}}, {%- for s in string_path -%}'{{ s }}'{%- if not loop.last -%},{%- endif -%}{%- endfor -%} )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.799458, "supported_languages": null}, "macro.fivetran_utils.redshift__json_parse": {"name": "redshift__json_parse", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_parse.sql", "original_file_path": "macros/json_parse.sql", "unique_id": "macro.fivetran_utils.redshift__json_parse", "macro_sql": "{% macro redshift__json_parse(string, string_path) %}\n\n json_extract_path_text({{string}}, {%- for s in string_path -%}'{{ s }}'{%- if not loop.last -%},{%- endif -%}{%- endfor -%} )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.799744, "supported_languages": null}, "macro.fivetran_utils.bigquery__json_parse": {"name": "bigquery__json_parse", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_parse.sql", "original_file_path": "macros/json_parse.sql", "unique_id": "macro.fivetran_utils.bigquery__json_parse", "macro_sql": "{% macro bigquery__json_parse(string, string_path) %}\n\n \n json_extract_scalar({{string}}, '$.{%- for s in string_path -%}{{ s }}{%- if not loop.last -%}.{%- endif -%}{%- endfor -%} ')\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.799957, "supported_languages": null}, "macro.fivetran_utils.postgres__json_parse": {"name": "postgres__json_parse", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_parse.sql", "original_file_path": "macros/json_parse.sql", "unique_id": "macro.fivetran_utils.postgres__json_parse", "macro_sql": "{% macro postgres__json_parse(string, string_path) %}\n\n {{string}}::json #>> '{ {%- for s in string_path -%}{{ s }}{%- if not loop.last -%},{%- endif -%}{%- endfor -%} }'\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.800169, "supported_languages": null}, "macro.fivetran_utils.snowflake__json_parse": {"name": "snowflake__json_parse", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_parse.sql", "original_file_path": "macros/json_parse.sql", "unique_id": "macro.fivetran_utils.snowflake__json_parse", "macro_sql": "{% macro snowflake__json_parse(string, string_path) %}\n\n parse_json( {{string}} ) {%- for s in string_path -%}{% if s is number %}[{{ s }}]{% else %}['{{ s }}']{% endif %}{%- endfor -%}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.8004029, "supported_languages": null}, "macro.fivetran_utils.spark__json_parse": {"name": "spark__json_parse", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_parse.sql", "original_file_path": "macros/json_parse.sql", "unique_id": "macro.fivetran_utils.spark__json_parse", "macro_sql": "{% macro spark__json_parse(string, string_path) %}\n\n {{string}} : {%- for s in string_path -%}{% if s is number %}[{{ s }}]{% else %}['{{ s }}']{% endif %}{%- endfor -%}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.8006358, "supported_languages": null}, "macro.fivetran_utils.sqlserver__json_parse": {"name": "sqlserver__json_parse", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_parse.sql", "original_file_path": "macros/json_parse.sql", "unique_id": "macro.fivetran_utils.sqlserver__json_parse", "macro_sql": "{% macro sqlserver__json_parse(string, string_path) %}\n\n json_value({{string}}, '$.{%- for s in string_path -%}{{ s }}{%- if not loop.last -%}.{%- endif -%}{%- endfor -%} ')\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.800849, "supported_languages": null}, "macro.fivetran_utils.max_bool": {"name": "max_bool", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/max_bool.sql", "original_file_path": "macros/max_bool.sql", "unique_id": "macro.fivetran_utils.max_bool", "macro_sql": "{% macro max_bool(boolean_field) -%}\n\n{{ adapter.dispatch('max_bool', 'fivetran_utils') (boolean_field) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.default__max_bool"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.801143, "supported_languages": null}, "macro.fivetran_utils.default__max_bool": {"name": "default__max_bool", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/max_bool.sql", "original_file_path": "macros/max_bool.sql", "unique_id": "macro.fivetran_utils.default__max_bool", "macro_sql": "{% macro default__max_bool(boolean_field) %}\n\n bool_or( {{ boolean_field }} )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.801236, "supported_languages": null}, "macro.fivetran_utils.snowflake__max_bool": {"name": "snowflake__max_bool", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/max_bool.sql", "original_file_path": "macros/max_bool.sql", "unique_id": "macro.fivetran_utils.snowflake__max_bool", "macro_sql": "{% macro snowflake__max_bool(boolean_field) %}\n\n max( {{ boolean_field }} )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.801325, "supported_languages": null}, "macro.fivetran_utils.bigquery__max_bool": {"name": "bigquery__max_bool", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/max_bool.sql", "original_file_path": "macros/max_bool.sql", "unique_id": "macro.fivetran_utils.bigquery__max_bool", "macro_sql": "{% macro bigquery__max_bool(boolean_field) %}\n\n max( {{ boolean_field }} )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.801419, "supported_languages": null}, "macro.fivetran_utils.calculated_fields": {"name": "calculated_fields", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/calculated_fields.sql", "original_file_path": "macros/calculated_fields.sql", "unique_id": "macro.fivetran_utils.calculated_fields", "macro_sql": "{% macro calculated_fields(variable) -%}\n\n{% if var(variable, none) %}\n {% for field in var(variable) %}\n , {{ field.transform_sql }} as {{ field.name }} \n {% endfor %}\n{% endif %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.801748, "supported_languages": null}, "macro.fivetran_utils.drop_schemas_automation": {"name": "drop_schemas_automation", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/drop_schemas_automation.sql", "original_file_path": "macros/drop_schemas_automation.sql", "unique_id": "macro.fivetran_utils.drop_schemas_automation", "macro_sql": "{% macro drop_schemas_automation(drop_target_schema=true) %}\n {{ return(adapter.dispatch('drop_schemas_automation', 'fivetran_utils')(drop_target_schema)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.default__drop_schemas_automation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.802359, "supported_languages": null}, "macro.fivetran_utils.default__drop_schemas_automation": {"name": "default__drop_schemas_automation", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/drop_schemas_automation.sql", "original_file_path": "macros/drop_schemas_automation.sql", "unique_id": "macro.fivetran_utils.default__drop_schemas_automation", "macro_sql": "{% macro default__drop_schemas_automation(drop_target_schema=true) %}\n\n{% set fetch_list_sql %}\n {% if target.type not in ('databricks', 'spark') %}\n select schema_name\n from \n {{ wrap_in_quotes(target.database) }}.INFORMATION_SCHEMA.SCHEMATA\n where lower(schema_name) like '{{ target.schema | lower }}{%- if not drop_target_schema -%}_{%- endif -%}%'\n {% else %}\n SHOW SCHEMAS LIKE '{{ target.schema }}{%- if not drop_target_schema -%}_{%- endif -%}*'\n {% endif %}\n{% endset %}\n\n{% set results = run_query(fetch_list_sql) %}\n\n{% if execute %}\n {% set results_list = results.columns[0].values() %}\n{% else %}\n {% set results_list = [] %}\n{% endif %}\n\n{% for schema_to_drop in results_list %}\n {% do adapter.drop_schema(api.Relation.create(database=target.database, schema=schema_to_drop)) %}\n {{ print('Schema ' ~ schema_to_drop ~ ' successfully dropped from the ' ~ target.database ~ ' database.\\n')}}\n{% endfor %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.wrap_in_quotes", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.803463, "supported_languages": null}, "macro.fivetran_utils.seed_data_helper": {"name": "seed_data_helper", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/seed_data_helper.sql", "original_file_path": "macros/seed_data_helper.sql", "unique_id": "macro.fivetran_utils.seed_data_helper", "macro_sql": "{% macro seed_data_helper(seed_name, warehouses) %}\n\n{% if target.type in warehouses %}\n {% for w in warehouses %}\n {% if target.type == w %}\n {{ return(ref(seed_name ~ \"_\" ~ w ~ \"\")) }}\n {% endif %}\n {% endfor %}\n{% else %}\n{{ return(ref(seed_name)) }}\n{% endif %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.804002, "supported_languages": null}, "macro.fivetran_utils.fill_pass_through_columns": {"name": "fill_pass_through_columns", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/fill_pass_through_columns.sql", "original_file_path": "macros/fill_pass_through_columns.sql", "unique_id": "macro.fivetran_utils.fill_pass_through_columns", "macro_sql": "{% macro fill_pass_through_columns(pass_through_variable) %}\n\n{% if var(pass_through_variable) %}\n {% for field in var(pass_through_variable) %}\n {% if field is mapping %}\n {% if field.transform_sql %}\n , {{ field.transform_sql }} as {{ field.alias if field.alias else field.name }}\n {% else %}\n , {{ field.alias if field.alias else field.name }}\n {% endif %}\n {% else %}\n , {{ field }}\n {% endif %}\n {% endfor %}\n{% endif %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.804692, "supported_languages": null}, "macro.fivetran_utils.string_agg": {"name": "string_agg", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/string_agg.sql", "original_file_path": "macros/string_agg.sql", "unique_id": "macro.fivetran_utils.string_agg", "macro_sql": "{% macro string_agg(field_to_agg, delimiter) -%}\n\n{{ adapter.dispatch('string_agg', 'fivetran_utils') (field_to_agg, delimiter) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.default__string_agg"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.805123, "supported_languages": null}, "macro.fivetran_utils.default__string_agg": {"name": "default__string_agg", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/string_agg.sql", "original_file_path": "macros/string_agg.sql", "unique_id": "macro.fivetran_utils.default__string_agg", "macro_sql": "{% macro default__string_agg(field_to_agg, delimiter) %}\n string_agg({{ field_to_agg }}, {{ delimiter }})\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.805241, "supported_languages": null}, "macro.fivetran_utils.snowflake__string_agg": {"name": "snowflake__string_agg", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/string_agg.sql", "original_file_path": "macros/string_agg.sql", "unique_id": "macro.fivetran_utils.snowflake__string_agg", "macro_sql": "{% macro snowflake__string_agg(field_to_agg, delimiter) %}\n listagg({{ field_to_agg }}, {{ delimiter }})\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.805355, "supported_languages": null}, "macro.fivetran_utils.redshift__string_agg": {"name": "redshift__string_agg", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/string_agg.sql", "original_file_path": "macros/string_agg.sql", "unique_id": "macro.fivetran_utils.redshift__string_agg", "macro_sql": "{% macro redshift__string_agg(field_to_agg, delimiter) %}\n listagg({{ field_to_agg }}, {{ delimiter }})\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.805472, "supported_languages": null}, "macro.fivetran_utils.spark__string_agg": {"name": "spark__string_agg", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/string_agg.sql", "original_file_path": "macros/string_agg.sql", "unique_id": "macro.fivetran_utils.spark__string_agg", "macro_sql": "{% macro spark__string_agg(field_to_agg, delimiter) %}\n -- collect set will remove duplicates\n replace(replace(replace(cast( collect_set({{ field_to_agg }}) as string), '[', ''), ']', ''), ', ', {{ delimiter }} )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.805591, "supported_languages": null}, "macro.fivetran_utils.timestamp_diff": {"name": "timestamp_diff", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/timestamp_diff.sql", "original_file_path": "macros/timestamp_diff.sql", "unique_id": "macro.fivetran_utils.timestamp_diff", "macro_sql": "{% macro timestamp_diff(first_date, second_date, datepart) %}\n {{ adapter.dispatch('timestamp_diff', 'fivetran_utils')(first_date, second_date, datepart) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.postgres__timestamp_diff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.808157, "supported_languages": null}, "macro.fivetran_utils.default__timestamp_diff": {"name": "default__timestamp_diff", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/timestamp_diff.sql", "original_file_path": "macros/timestamp_diff.sql", "unique_id": "macro.fivetran_utils.default__timestamp_diff", "macro_sql": "{% macro default__timestamp_diff(first_date, second_date, datepart) %}\n\n datediff(\n {{ datepart }},\n {{ first_date }},\n {{ second_date }}\n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.808605, "supported_languages": null}, "macro.fivetran_utils.redshift__timestamp_diff": {"name": "redshift__timestamp_diff", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/timestamp_diff.sql", "original_file_path": "macros/timestamp_diff.sql", "unique_id": "macro.fivetran_utils.redshift__timestamp_diff", "macro_sql": "{% macro redshift__timestamp_diff(first_date, second_date, datepart) %}\n\n datediff(\n {{ datepart }},\n {{ first_date }},\n {{ second_date }}\n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.808748, "supported_languages": null}, "macro.fivetran_utils.bigquery__timestamp_diff": {"name": "bigquery__timestamp_diff", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/timestamp_diff.sql", "original_file_path": "macros/timestamp_diff.sql", "unique_id": "macro.fivetran_utils.bigquery__timestamp_diff", "macro_sql": "{% macro bigquery__timestamp_diff(first_date, second_date, datepart) %}\n\n timestamp_diff(\n {{second_date}},\n {{first_date}},\n {{datepart}}\n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.808888, "supported_languages": null}, "macro.fivetran_utils.postgres__timestamp_diff": {"name": "postgres__timestamp_diff", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/timestamp_diff.sql", "original_file_path": "macros/timestamp_diff.sql", "unique_id": "macro.fivetran_utils.postgres__timestamp_diff", "macro_sql": "{% macro postgres__timestamp_diff(first_date, second_date, datepart) %}\n\n {% if datepart == 'year' %}\n (date_part('year', ({{second_date}})::date) - date_part('year', ({{first_date}})::date))\n {% elif datepart == 'quarter' %}\n ({{ dbt.datediff(first_date, second_date, 'year') }} * 4 + date_part('quarter', ({{second_date}})::date) - date_part('quarter', ({{first_date}})::date))\n {% elif datepart == 'month' %}\n ({{ dbt.datediff(first_date, second_date, 'year') }} * 12 + date_part('month', ({{second_date}})::date) - date_part('month', ({{first_date}})::date))\n {% elif datepart == 'day' %}\n (({{second_date}})::date - ({{first_date}})::date)\n {% elif datepart == 'week' %}\n ({{ dbt.datediff(first_date, second_date, 'day') }} / 7 + case\n when date_part('dow', ({{first_date}})::timestamp) <= date_part('dow', ({{second_date}})::timestamp) then\n case when {{first_date}} <= {{second_date}} then 0 else -1 end\n else\n case when {{first_date}} <= {{second_date}} then 1 else 0 end\n end)\n {% elif datepart == 'hour' %}\n ({{ dbt.datediff(first_date, second_date, 'day') }} * 24 + date_part('hour', ({{second_date}})::timestamp) - date_part('hour', ({{first_date}})::timestamp))\n {% elif datepart == 'minute' %}\n ({{ dbt.datediff(first_date, second_date, 'hour') }} * 60 + date_part('minute', ({{second_date}})::timestamp) - date_part('minute', ({{first_date}})::timestamp))\n {% elif datepart == 'second' %}\n ({{ dbt.datediff(first_date, second_date, 'minute') }} * 60 + floor(date_part('second', ({{second_date}})::timestamp)) - floor(date_part('second', ({{first_date}})::timestamp)))\n {% elif datepart == 'millisecond' %}\n ({{ dbt.datediff(first_date, second_date, 'minute') }} * 60000 + floor(date_part('millisecond', ({{second_date}})::timestamp)) - floor(date_part('millisecond', ({{first_date}})::timestamp)))\n {% elif datepart == 'microsecond' %}\n ({{ dbt.datediff(first_date, second_date, 'minute') }} * 60000000 + floor(date_part('microsecond', ({{second_date}})::timestamp)) - floor(date_part('microsecond', ({{first_date}})::timestamp)))\n {% else %}\n {{ exceptions.raise_compiler_error(\"Unsupported datepart for macro datediff in postgres: {!r}\".format(datepart)) }}\n {% endif %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.datediff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.810372, "supported_languages": null}, "macro.fivetran_utils.try_cast": {"name": "try_cast", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/try_cast.sql", "original_file_path": "macros/try_cast.sql", "unique_id": "macro.fivetran_utils.try_cast", "macro_sql": "{% macro try_cast(field, type) %}\n {{ adapter.dispatch('try_cast', 'fivetran_utils') (field, type) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.postgres__try_cast"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.8112, "supported_languages": null}, "macro.fivetran_utils.default__try_cast": {"name": "default__try_cast", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/try_cast.sql", "original_file_path": "macros/try_cast.sql", "unique_id": "macro.fivetran_utils.default__try_cast", "macro_sql": "{% macro default__try_cast(field, type) %}\n {# most databases don't support this function yet\n so we just need to use cast #}\n cast({{field}} as {{type}})\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.811323, "supported_languages": null}, "macro.fivetran_utils.redshift__try_cast": {"name": "redshift__try_cast", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/try_cast.sql", "original_file_path": "macros/try_cast.sql", "unique_id": "macro.fivetran_utils.redshift__try_cast", "macro_sql": "{% macro redshift__try_cast(field, type) %}\n{%- if type == 'numeric' -%}\n\n case\n when trim({{field}}) ~ '^(0|[1-9][0-9]*)$' then trim({{field}})\n else null\n end::{{type}}\n\n{% else %}\n {{ exceptions.raise_compiler_error(\n \"non-numeric datatypes are not currently supported\") }}\n\n{% endif %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.811566, "supported_languages": null}, "macro.fivetran_utils.postgres__try_cast": {"name": "postgres__try_cast", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/try_cast.sql", "original_file_path": "macros/try_cast.sql", "unique_id": "macro.fivetran_utils.postgres__try_cast", "macro_sql": "{% macro postgres__try_cast(field, type) %}\n{%- if type == 'numeric' -%}\n\n case\n when replace(cast({{field}} as varchar),cast(' ' as varchar),cast('' as varchar)) ~ '^(0|[1-9][0-9]*)$' \n then replace(cast({{field}} as varchar),cast(' ' as varchar),cast('' as varchar))\n else null\n end::{{type}}\n\n{% else %}\n {{ exceptions.raise_compiler_error(\n \"non-numeric datatypes are not currently supported\") }}\n\n{% endif %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.811819, "supported_languages": null}, "macro.fivetran_utils.snowflake__try_cast": {"name": "snowflake__try_cast", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/try_cast.sql", "original_file_path": "macros/try_cast.sql", "unique_id": "macro.fivetran_utils.snowflake__try_cast", "macro_sql": "{% macro snowflake__try_cast(field, type) %}\n try_cast(cast({{field}} as varchar) as {{type}})\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.811935, "supported_languages": null}, "macro.fivetran_utils.bigquery__try_cast": {"name": "bigquery__try_cast", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/try_cast.sql", "original_file_path": "macros/try_cast.sql", "unique_id": "macro.fivetran_utils.bigquery__try_cast", "macro_sql": "{% macro bigquery__try_cast(field, type) %}\n safe_cast({{field}} as {{type}})\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.812051, "supported_languages": null}, "macro.fivetran_utils.spark__try_cast": {"name": "spark__try_cast", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/try_cast.sql", "original_file_path": "macros/try_cast.sql", "unique_id": "macro.fivetran_utils.spark__try_cast", "macro_sql": "{% macro spark__try_cast(field, type) %}\n try_cast({{field}} as {{type}})\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.812164, "supported_languages": null}, "macro.fivetran_utils.sqlserver__try_cast": {"name": "sqlserver__try_cast", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/try_cast.sql", "original_file_path": "macros/try_cast.sql", "unique_id": "macro.fivetran_utils.sqlserver__try_cast", "macro_sql": "{% macro sqlserver__try_cast(field, type) %}\n try_cast({{field}} as {{type}})\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.812276, "supported_languages": null}, "macro.fivetran_utils.source_relation": {"name": "source_relation", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/source_relation.sql", "original_file_path": "macros/source_relation.sql", "unique_id": "macro.fivetran_utils.source_relation", "macro_sql": "{% macro source_relation(union_schema_variable='union_schemas', union_database_variable='union_databases') -%}\n\n{{ adapter.dispatch('source_relation', 'fivetran_utils') (union_schema_variable, union_database_variable) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.default__source_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.812713, "supported_languages": null}, "macro.fivetran_utils.default__source_relation": {"name": "default__source_relation", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/source_relation.sql", "original_file_path": "macros/source_relation.sql", "unique_id": "macro.fivetran_utils.default__source_relation", "macro_sql": "{% macro default__source_relation(union_schema_variable, union_database_variable) %}\n\n{% if var(union_schema_variable, none) %}\n, case\n {% for schema in var(union_schema_variable) %}\n when lower(replace(replace(_dbt_source_relation,'\"',''),'`','')) like '%.{{ schema|lower }}.%' then '{{ schema|lower }}'\n {% endfor %}\n end as source_relation\n{% elif var(union_database_variable, none) %}\n, case\n {% for database in var(union_database_variable) %}\n when lower(replace(replace(_dbt_source_relation,'\"',''),'`','')) like '%{{ database|lower }}.%' then '{{ database|lower }}'\n {% endfor %}\n end as source_relation\n{% else %}\n, cast('' as {{ dbt.type_string() }}) as source_relation\n{% endif %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.8134248, "supported_languages": null}, "macro.fivetran_utils.first_value": {"name": "first_value", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/first_value.sql", "original_file_path": "macros/first_value.sql", "unique_id": "macro.fivetran_utils.first_value", "macro_sql": "{% macro first_value(first_value_field, partition_field, order_by_field, order=\"asc\") -%}\n\n{{ adapter.dispatch('first_value', 'fivetran_utils') (first_value_field, partition_field, order_by_field, order) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.default__first_value"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.8139231, "supported_languages": null}, "macro.fivetran_utils.default__first_value": {"name": "default__first_value", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/first_value.sql", "original_file_path": "macros/first_value.sql", "unique_id": "macro.fivetran_utils.default__first_value", "macro_sql": "{% macro default__first_value(first_value_field, partition_field, order_by_field, order=\"asc\") %}\n\n first_value( {{ first_value_field }} ignore nulls ) over (partition by {{ partition_field }} order by {{ order_by_field }} {{ order }} )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.8141062, "supported_languages": null}, "macro.fivetran_utils.redshift__first_value": {"name": "redshift__first_value", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/first_value.sql", "original_file_path": "macros/first_value.sql", "unique_id": "macro.fivetran_utils.redshift__first_value", "macro_sql": "{% macro redshift__first_value(first_value_field, partition_field, order_by_field, order=\"asc\") %}\n\n first_value( {{ first_value_field }} ignore nulls ) over (partition by {{ partition_field }} order by {{ order_by_field }} {{ order }} , {{ partition_field }} rows unbounded preceding )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.8143098, "supported_languages": null}, "macro.fivetran_utils.add_dbt_source_relation": {"name": "add_dbt_source_relation", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/add_dbt_source_relation.sql", "original_file_path": "macros/add_dbt_source_relation.sql", "unique_id": "macro.fivetran_utils.add_dbt_source_relation", "macro_sql": "{% macro add_dbt_source_relation() %}\n\n{% if var('union_schemas', none) or var('union_databases', none) %}\n, _dbt_source_relation\n{% endif %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.814541, "supported_languages": null}, "macro.fivetran_utils.add_pass_through_columns": {"name": "add_pass_through_columns", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/add_pass_through_columns.sql", "original_file_path": "macros/add_pass_through_columns.sql", "unique_id": "macro.fivetran_utils.add_pass_through_columns", "macro_sql": "{% macro add_pass_through_columns(base_columns, pass_through_var) %}\n\n {% if pass_through_var %}\n\n {% for column in pass_through_var %}\n\n {% if column is mapping %}\n\n {% if column.alias %}\n\n {% do base_columns.append({ \"name\": column.name, \"alias\": column.alias, \"datatype\": column.datatype if column.datatype else dbt.type_string()}) %}\n\n {% else %}\n\n {% do base_columns.append({ \"name\": column.name, \"datatype\": column.datatype if column.datatype else dbt.type_string()}) %}\n \n {% endif %}\n\n {% else %}\n\n {% do base_columns.append({ \"name\": column, \"datatype\": dbt.type_string()}) %}\n\n {% endif %}\n\n {% endfor %}\n\n {% endif %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.815592, "supported_languages": null}, "macro.fivetran_utils.union_relations": {"name": "union_relations", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/union_relations.sql", "original_file_path": "macros/union_relations.sql", "unique_id": "macro.fivetran_utils.union_relations", "macro_sql": "{%- macro union_relations(relations, aliases=none, column_override=none, include=[], exclude=[], source_column_name=none) -%}\n\n {%- if exclude and include -%}\n {{ exceptions.raise_compiler_error(\"Both an exclude and include list were provided to the `union` macro. Only one is allowed\") }}\n {%- endif -%}\n\n {#-- Prevent querying of db in parsing mode. This works because this macro does not create any new refs. -#}\n {%- if not execute %}\n {{ return('') }}\n {% endif -%}\n\n {%- set column_override = column_override if column_override is not none else {} -%}\n {%- set source_column_name = source_column_name if source_column_name is not none else '_dbt_source_relation' -%}\n\n {%- set relation_columns = {} -%}\n {%- set column_superset = {} -%}\n\n {%- for relation in relations -%}\n\n {%- do relation_columns.update({relation: []}) -%}\n\n {%- do dbt_utils._is_relation(relation, 'union_relations') -%}\n {%- set cols = adapter.get_columns_in_relation(relation) -%}\n {%- for col in cols -%}\n\n {#- If an exclude list was provided and the column is in the list, do nothing -#}\n {%- if exclude and col.column in exclude -%}\n\n {#- If an include list was provided and the column is not in the list, do nothing -#}\n {%- elif include and col.column not in include -%}\n\n {#- Otherwise add the column to the column superset -#}\n {%- else -%}\n\n {#- update the list of columns in this relation -#}\n {%- do relation_columns[relation].append(col.column) -%}\n\n {%- if col.column in column_superset -%}\n\n {%- set stored = column_superset[col.column] -%}\n {%- if col.is_string() and stored.is_string() and col.string_size() > stored.string_size() -%}\n\n {%- do column_superset.update({col.column: col}) -%}\n\n {%- endif %}\n\n {%- else -%}\n\n {%- do column_superset.update({col.column: col}) -%}\n\n {%- endif -%}\n\n {%- endif -%}\n\n {%- endfor -%}\n {%- endfor -%}\n\n {%- set ordered_column_names = column_superset.keys() -%}\n\n {%- for relation in relations %}\n\n (\n select\n\n cast({{ dbt.string_literal(relation) }} as {{ dbt.type_string() }}) as {{ source_column_name }},\n {% for col_name in ordered_column_names -%}\n\n {%- set col = column_superset[col_name] %}\n {%- set col_type = column_override.get(col.column, col.data_type) %}\n {%- set col_name = adapter.quote(col_name) if col_name in relation_columns[relation] else 'null' %}\n cast({{ col_name }} as {{ col_type }}) as {{ col.quoted }} {% if not loop.last %},{% endif -%}\n\n {%- endfor %}\n\n from {{ aliases[loop.index0] if aliases else relation }}\n )\n\n {% if not loop.last -%}\n union all\n {% endif -%}\n\n {%- endfor -%}\n\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt_utils._is_relation", "macro.dbt.string_literal", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.819093, "supported_languages": null}, "macro.fivetran_utils.union_tables": {"name": "union_tables", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/union_relations.sql", "original_file_path": "macros/union_relations.sql", "unique_id": "macro.fivetran_utils.union_tables", "macro_sql": "{%- macro union_tables(tables, column_override=none, include=[], exclude=[], source_column_name='_dbt_source_table') -%}\n\n {%- do exceptions.warn(\"Warning: the `union_tables` macro is no longer supported and will be deprecated in a future release of dbt-utils. Use the `union_relations` macro instead\") -%}\n\n {{ return(dbt_utils.union_relations(tables, column_override, include, exclude, source_column_name)) }}\n\n{%- endmacro -%}", "depends_on": {"macros": ["macro.dbt_utils.union_relations"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.8194199, "supported_languages": null}, "macro.fivetran_utils.snowflake_seed_data": {"name": "snowflake_seed_data", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/snowflake_seed_data.sql", "original_file_path": "macros/snowflake_seed_data.sql", "unique_id": "macro.fivetran_utils.snowflake_seed_data", "macro_sql": "{% macro snowflake_seed_data(seed_name) %}\n\n{% if target.type == 'snowflake' %}\n{{ return(ref(seed_name ~ '_snowflake')) }}\n{% else %}\n{{ return(ref(seed_name)) }}\n{% endif %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.819753, "supported_languages": null}, "macro.fivetran_utils.fill_staging_columns": {"name": "fill_staging_columns", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/fill_staging_columns.sql", "original_file_path": "macros/fill_staging_columns.sql", "unique_id": "macro.fivetran_utils.fill_staging_columns", "macro_sql": "{% macro fill_staging_columns(source_columns, staging_columns) -%}\n\n{%- set source_column_names = source_columns|map(attribute='name')|map('lower')|list -%}\n\n{%- for column in staging_columns %}\n {% if column.name|lower in source_column_names -%}\n {{ fivetran_utils.quote_column(column) }} as \n {%- if 'alias' in column %} {{ column.alias }} {% else %} {{ fivetran_utils.quote_column(column) }} {%- endif -%}\n {%- else -%}\n cast(null as {{ column.datatype }})\n {%- if 'alias' in column %} as {{ column.alias }} {% else %} as {{ fivetran_utils.quote_column(column) }} {% endif -%}\n {%- endif -%}\n {%- if not loop.last -%} , {% endif -%}\n{% endfor %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.quote_column"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.821095, "supported_languages": null}, "macro.fivetran_utils.quote_column": {"name": "quote_column", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/fill_staging_columns.sql", "original_file_path": "macros/fill_staging_columns.sql", "unique_id": "macro.fivetran_utils.quote_column", "macro_sql": "{% macro quote_column(column) %}\n {% if 'quote' in column %}\n {% if column.quote %}\n {% if target.type in ('bigquery', 'spark', 'databricks') %}\n `{{ column.name }}`\n {% elif target.type == 'snowflake' %}\n \"{{ column.name | upper }}\"\n {% else %}\n \"{{ column.name }}\"\n {% endif %}\n {% else %}\n {{ column.name }}\n {% endif %}\n {% else %}\n {{ column.name }}\n {% endif %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.821594, "supported_languages": null}, "macro.fivetran_utils.json_extract": {"name": "json_extract", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_extract.sql", "original_file_path": "macros/json_extract.sql", "unique_id": "macro.fivetran_utils.json_extract", "macro_sql": "{% macro json_extract(string, string_path) -%}\n\n{{ adapter.dispatch('json_extract', 'fivetran_utils') (string, string_path) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.postgres__json_extract"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.822112, "supported_languages": null}, "macro.fivetran_utils.default__json_extract": {"name": "default__json_extract", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_extract.sql", "original_file_path": "macros/json_extract.sql", "unique_id": "macro.fivetran_utils.default__json_extract", "macro_sql": "{% macro default__json_extract(string, string_path) %}\n\n json_extract_path_text({{string}}, {{ \"'\" ~ string_path ~ \"'\" }} )\n \n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.8222542, "supported_languages": null}, "macro.fivetran_utils.snowflake__json_extract": {"name": "snowflake__json_extract", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_extract.sql", "original_file_path": "macros/json_extract.sql", "unique_id": "macro.fivetran_utils.snowflake__json_extract", "macro_sql": "{% macro snowflake__json_extract(string, string_path) %}\n\n json_extract_path_text(try_parse_json( {{string}} ), {{ \"'\" ~ string_path ~ \"'\" }} )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.822389, "supported_languages": null}, "macro.fivetran_utils.redshift__json_extract": {"name": "redshift__json_extract", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_extract.sql", "original_file_path": "macros/json_extract.sql", "unique_id": "macro.fivetran_utils.redshift__json_extract", "macro_sql": "{% macro redshift__json_extract(string, string_path) %}\n\n case when is_valid_json( {{string}} ) then json_extract_path_text({{string}}, {{ \"'\" ~ string_path ~ \"'\" }} ) else null end\n \n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.822539, "supported_languages": null}, "macro.fivetran_utils.bigquery__json_extract": {"name": "bigquery__json_extract", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_extract.sql", "original_file_path": "macros/json_extract.sql", "unique_id": "macro.fivetran_utils.bigquery__json_extract", "macro_sql": "{% macro bigquery__json_extract(string, string_path) %}\n\n json_extract_scalar({{string}}, {{ \"'$.\" ~ string_path ~ \"'\" }} )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.822676, "supported_languages": null}, "macro.fivetran_utils.postgres__json_extract": {"name": "postgres__json_extract", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_extract.sql", "original_file_path": "macros/json_extract.sql", "unique_id": "macro.fivetran_utils.postgres__json_extract", "macro_sql": "{% macro postgres__json_extract(string, string_path) %}\n\n {{string}}::json->>{{\"'\" ~ string_path ~ \"'\" }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.8228118, "supported_languages": null}, "macro.fivetran_utils.collect_freshness": {"name": "collect_freshness", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/collect_freshness.sql", "original_file_path": "macros/collect_freshness.sql", "unique_id": "macro.fivetran_utils.collect_freshness", "macro_sql": "{% macro collect_freshness(source, loaded_at_field, filter) %}\n {{ return(adapter.dispatch('collect_freshness')(source, loaded_at_field, filter))}}\n{% endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.default__collect_freshness"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.823843, "supported_languages": null}, "macro.fivetran_utils.default__collect_freshness": {"name": "default__collect_freshness", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/collect_freshness.sql", "original_file_path": "macros/collect_freshness.sql", "unique_id": "macro.fivetran_utils.default__collect_freshness", "macro_sql": "{% macro default__collect_freshness(source, loaded_at_field, filter) %}\n {% call statement('collect_freshness', fetch_result=True, auto_begin=False) -%}\n\n {%- set enabled_array = [] -%}\n {% for node in graph.sources.values() %}\n {% if node.identifier == source.identifier %}\n {% if (node.meta['is_enabled'] | default(true)) %}\n {%- do enabled_array.append(1) -%}\n {% endif %}\n {% endif %}\n {% endfor %}\n {% set is_enabled = (enabled_array != []) %}\n\n select\n {% if is_enabled %}\n max({{ loaded_at_field }})\n {% else %} \n {{ current_timestamp() }} {% endif %} as max_loaded_at,\n {{ current_timestamp() }} as snapshotted_at\n\n {% if is_enabled %}\n from {{ source }}\n {% if filter %}\n where {{ filter }}\n {% endif %}\n {% endif %}\n\n {% endcall %}\n\n {% if dbt_version.split('.') | map('int') | list >= [1, 5, 0] %}\n {{ return(load_result('collect_freshness')) }}\n {% else %}\n {{ return(load_result('collect_freshness').table) }}\n {% endif %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt.current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.825245, "supported_languages": null}, "macro.fivetran_utils.timestamp_add": {"name": "timestamp_add", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/timestamp_add.sql", "original_file_path": "macros/timestamp_add.sql", "unique_id": "macro.fivetran_utils.timestamp_add", "macro_sql": "{% macro timestamp_add(datepart, interval, from_timestamp) -%}\n\n{{ adapter.dispatch('timestamp_add', 'fivetran_utils') (datepart, interval, from_timestamp) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.postgres__timestamp_add"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.8259861, "supported_languages": null}, "macro.fivetran_utils.default__timestamp_add": {"name": "default__timestamp_add", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/timestamp_add.sql", "original_file_path": "macros/timestamp_add.sql", "unique_id": "macro.fivetran_utils.default__timestamp_add", "macro_sql": "{% macro default__timestamp_add(datepart, interval, from_timestamp) %}\n\n timestampadd(\n {{ datepart }},\n {{ interval }},\n {{ from_timestamp }}\n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.826143, "supported_languages": null}, "macro.fivetran_utils.bigquery__timestamp_add": {"name": "bigquery__timestamp_add", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/timestamp_add.sql", "original_file_path": "macros/timestamp_add.sql", "unique_id": "macro.fivetran_utils.bigquery__timestamp_add", "macro_sql": "{% macro bigquery__timestamp_add(datepart, interval, from_timestamp) %}\n\n timestamp_add({{ from_timestamp }}, interval {{ interval }} {{ datepart }})\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.8262851, "supported_languages": null}, "macro.fivetran_utils.redshift__timestamp_add": {"name": "redshift__timestamp_add", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/timestamp_add.sql", "original_file_path": "macros/timestamp_add.sql", "unique_id": "macro.fivetran_utils.redshift__timestamp_add", "macro_sql": "{% macro redshift__timestamp_add(datepart, interval, from_timestamp) %}\n\n dateadd(\n {{ datepart }},\n {{ interval }},\n {{ from_timestamp }}\n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.8264298, "supported_languages": null}, "macro.fivetran_utils.postgres__timestamp_add": {"name": "postgres__timestamp_add", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/timestamp_add.sql", "original_file_path": "macros/timestamp_add.sql", "unique_id": "macro.fivetran_utils.postgres__timestamp_add", "macro_sql": "{% macro postgres__timestamp_add(datepart, interval, from_timestamp) %}\n\n {{ from_timestamp }} + ((interval '1 {{ datepart }}') * ({{ interval }}))\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.826572, "supported_languages": null}, "macro.fivetran_utils.spark__timestamp_add": {"name": "spark__timestamp_add", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/timestamp_add.sql", "original_file_path": "macros/timestamp_add.sql", "unique_id": "macro.fivetran_utils.spark__timestamp_add", "macro_sql": "{% macro spark__timestamp_add(datepart, interval, from_timestamp) %}\n\n {{ dbt.dateadd(datepart, interval, from_timestamp) }}\n \n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.dateadd"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.826727, "supported_languages": null}, "macro.fivetran_utils.ceiling": {"name": "ceiling", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/ceiling.sql", "original_file_path": "macros/ceiling.sql", "unique_id": "macro.fivetran_utils.ceiling", "macro_sql": "{% macro ceiling(num) -%}\n\n{{ adapter.dispatch('ceiling', 'fivetran_utils') (num) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.default__ceiling"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.826957, "supported_languages": null}, "macro.fivetran_utils.default__ceiling": {"name": "default__ceiling", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/ceiling.sql", "original_file_path": "macros/ceiling.sql", "unique_id": "macro.fivetran_utils.default__ceiling", "macro_sql": "{% macro default__ceiling(num) %}\n ceiling({{ num }})\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.827051, "supported_languages": null}, "macro.fivetran_utils.snowflake__ceiling": {"name": "snowflake__ceiling", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/ceiling.sql", "original_file_path": "macros/ceiling.sql", "unique_id": "macro.fivetran_utils.snowflake__ceiling", "macro_sql": "{% macro snowflake__ceiling(num) %}\n ceil({{ num }})\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.8271391, "supported_languages": null}, "macro.fivetran_utils.remove_prefix_from_columns": {"name": "remove_prefix_from_columns", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/remove_prefix_from_columns.sql", "original_file_path": "macros/remove_prefix_from_columns.sql", "unique_id": "macro.fivetran_utils.remove_prefix_from_columns", "macro_sql": "{% macro remove_prefix_from_columns(columns, prefix='', exclude=[]) %}\n\n {%- for col in columns if col.name not in exclude -%}\n {%- if col.name[:prefix|length]|lower == prefix -%}\n {{ col.name }} as {{ col.name[prefix|length:] }}\n {%- else -%}\n {{ col.name }}\n {%- endif -%}\n {%- if not loop.last -%},{%- endif %}\n {% endfor -%}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.827709, "supported_languages": null}, "macro.fivetran_utils.fivetran_date_spine": {"name": "fivetran_date_spine", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/fivetran_date_spine.sql", "original_file_path": "macros/fivetran_date_spine.sql", "unique_id": "macro.fivetran_utils.fivetran_date_spine", "macro_sql": "{% macro fivetran_date_spine(datepart, start_date, end_date) -%}\n\n{{ return(adapter.dispatch('fivetran_date_spine', 'fivetran_utils') (datepart, start_date, end_date)) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.default__fivetran_date_spine"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.8288288, "supported_languages": null}, "macro.fivetran_utils.default__fivetran_date_spine": {"name": "default__fivetran_date_spine", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/fivetran_date_spine.sql", "original_file_path": "macros/fivetran_date_spine.sql", "unique_id": "macro.fivetran_utils.default__fivetran_date_spine", "macro_sql": "{% macro default__fivetran_date_spine(datepart, start_date, end_date) %}\n\n {{ dbt_utils.date_spine(datepart, start_date, end_date) }}\n \n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.date_spine"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.828987, "supported_languages": null}, "macro.fivetran_utils.sqlserver__fivetran_date_spine": {"name": "sqlserver__fivetran_date_spine", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/fivetran_date_spine.sql", "original_file_path": "macros/fivetran_date_spine.sql", "unique_id": "macro.fivetran_utils.sqlserver__fivetran_date_spine", "macro_sql": "{% macro sqlserver__fivetran_date_spine(datepart, start_date, end_date) -%}\n\n {% set date_spine_query %}\n with\n\n l0 as (\n\n select c\n from (select 1 union all select 1) as d(c)\n\n ),\n l1 as (\n\n select\n 1 as c\n from l0 as a\n cross join l0 as b\n\n ),\n\n l2 as (\n\n select 1 as c\n from l1 as a\n cross join l1 as b\n ),\n\n l3 as (\n\n select 1 as c\n from l2 as a\n cross join l2 as b\n ),\n\n l4 as (\n\n select 1 as c\n from l3 as a\n cross join l3 as b\n ),\n\n l5 as (\n\n select 1 as c\n from l4 as a\n cross join l4 as b\n ),\n\n nums as (\n\n select row_number() over (order by (select null)) as rownum\n from l5\n ),\n\n rawdata as (\n\n select top ({{dbt.datediff(start_date, end_date, datepart)}}) rownum -1 as n\n from nums\n order by rownum\n ),\n\n all_periods as (\n\n select (\n {{\n dbt.dateadd(\n datepart,\n 'n',\n start_date\n )\n }}\n ) as date_{{datepart}}\n from rawdata\n ),\n\n filtered as (\n\n select *\n from all_periods\n where date_{{datepart}} <= {{ end_date }}\n\n )\n\n select * from filtered\n order by 1\n\n {% endset %}\n\n {% set results = run_query(date_spine_query) %}\n\n {% if execute %}\n\n {% set results_list = results.columns[0].values() %}\n \n {% else %}\n\n {% set results_list = [] %}\n\n {% endif %}\n\n {%- for date_field in results_list %}\n select cast('{{ date_field }}' as date) as date_{{datepart}} {{ 'union all ' if not loop.last else '' }}\n {% endfor -%}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.datediff", "macro.dbt.dateadd", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.829728, "supported_languages": null}, "macro.fivetran_utils.union_data": {"name": "union_data", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/union_data.sql", "original_file_path": "macros/union_data.sql", "unique_id": "macro.fivetran_utils.union_data", "macro_sql": "{%- macro union_data(table_identifier, database_variable, schema_variable, default_database, default_schema, default_variable, union_schema_variable='union_schemas', union_database_variable='union_databases') -%}\n\n{{ adapter.dispatch('union_data', 'fivetran_utils') (\n table_identifier, \n database_variable, \n schema_variable, \n default_database, \n default_schema, \n default_variable,\n union_schema_variable,\n union_database_variable\n ) }}\n\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.fivetran_utils.default__union_data"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.832741, "supported_languages": null}, "macro.fivetran_utils.default__union_data": {"name": "default__union_data", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/union_data.sql", "original_file_path": "macros/union_data.sql", "unique_id": "macro.fivetran_utils.default__union_data", "macro_sql": "{%- macro default__union_data(\n table_identifier, \n database_variable, \n schema_variable, \n default_database, \n default_schema, \n default_variable,\n union_schema_variable,\n union_database_variable\n ) -%}\n\n{%- if var(union_schema_variable, none) -%}\n\n {%- set relations = [] -%}\n \n {%- if var(union_schema_variable) is string -%}\n {%- set trimmed = var(union_schema_variable)|trim('[')|trim(']') -%}\n {%- set schemas = trimmed.split(',')|map('trim',\" \")|map('trim','\"')|map('trim',\"'\") -%}\n {%- else -%}\n {%- set schemas = var(union_schema_variable) -%}\n {%- endif -%}\n\n {%- for schema in var(union_schema_variable) -%}\n {%- set relation=adapter.get_relation(\n database=source(schema, table_identifier).database if var('has_defined_sources', false) else var(database_variable, default_database),\n schema=source(schema, table_identifier).schema if var('has_defined_sources', false) else schema,\n identifier=source(schema, table_identifier).identifier if var('has_defined_sources', false) else table_identifier\n ) -%}\n \n {%- set relation_exists=relation is not none -%}\n\n {%- if relation_exists -%}\n {%- do relations.append(relation) -%}\n {%- endif -%}\n\n {%- endfor -%}\n \n {%- if relations != [] -%}\n {{ dbt_utils.union_relations(relations) }}\n {%- else -%}\n {% if execute and not var('fivetran__remove_empty_table_warnings', false) -%}\n {{ exceptions.warn(\"\\n\\nPlease be aware: The \" ~ table_identifier|upper ~ \" table was not found in your \" ~ default_schema|upper ~ \" schema(s). The Fivetran dbt package will create a completely empty \" ~ table_identifier|upper ~ \" staging model as to not break downstream transformations. To turn off these warnings, set the `fivetran__remove_empty_table_warnings` variable to TRUE (see https://github.com/fivetran/dbt_fivetran_utils/tree/releases/v0.4.latest#union_data-source for details).\\n\") }}\n {% endif -%}\n select \n cast(null as {{ dbt.type_string() }}) as _dbt_source_relation\n limit 0\n {%- endif -%}\n\n{%- elif var(union_database_variable, none) -%}\n\n {%- set relations = [] -%}\n\n {%- for database in var(union_database_variable) -%}\n {%- set relation=adapter.get_relation(\n database=source(schema, table_identifier).database if var('has_defined_sources', false) else database,\n schema=source(schema, table_identifier).schema if var('has_defined_sources', false) else var(schema_variable, default_schema),\n identifier=source(schema, table_identifier).identifier if var('has_defined_sources', false) else table_identifier\n ) -%}\n\n {%- set relation_exists=relation is not none -%}\n\n {%- if relation_exists -%}\n {%- do relations.append(relation) -%}\n {%- endif -%}\n\n {%- endfor -%}\n\n {%- if relations != [] -%}\n {{ dbt_utils.union_relations(relations) }}\n {%- else -%}\n {% if execute and not var('fivetran__remove_empty_table_warnings', false) -%}\n {{ exceptions.warn(\"\\n\\nPlease be aware: The \" ~ table_identifier|upper ~ \" table was not found in your \" ~ default_schema|upper ~ \" schema(s). The Fivetran dbt package will create a completely empty \" ~ table_identifier|upper ~ \" staging model as to not break downstream transformations. To turn off these warnings, set the `fivetran__remove_empty_table_warnings` variable to TRUE (see https://github.com/fivetran/dbt_fivetran_utils/tree/releases/v0.4.latest#union_data-source for details).\\n\") }}\n {% endif -%}\n select \n cast(null as {{ dbt.type_string() }}) as _dbt_source_relation\n limit 0\n {%- endif -%}\n\n{%- else -%}\n {% set exception_schemas = {\"linkedin_company_pages\": \"linkedin_pages\", \"instagram_business_pages\": \"instagram_business\"} %}\n {% set relation = namespace(value=\"\") %}\n {% if default_schema in exception_schemas.keys() %}\n {% for corrected_schema_name in exception_schemas.items() %} \n {% if default_schema in corrected_schema_name %}\n {# In order for this macro to effectively work within upstream integration tests (mainly used by the Fivetran dbt package maintainers), this identifier variable selection is required to use the macro with different identifier names. #}\n {% set identifier_var = corrected_schema_name[1] + \"_\" + table_identifier + \"_identifier\" %}\n {%- set relation.value=adapter.get_relation(\n database=source(corrected_schema_name[1], table_identifier).database,\n schema=source(corrected_schema_name[1], table_identifier).schema,\n identifier=var(identifier_var, table_identifier)\n ) -%}\n {% endif %}\n {% endfor %}\n {% else %}\n {# In order for this macro to effectively work within upstream integration tests (mainly used by the Fivetran dbt package maintainers), this identifier variable selection is required to use the macro with different identifier names. #}\n {% set identifier_var = default_schema + \"_\" + table_identifier + \"_identifier\" %}\n {# Unfortunately the Twitter Organic identifiers were misspelled. As such, we will need to account for this in the model. This will be adjusted in the Twitter Organic package, but to ensure backwards compatibility, this needs to be included. #}\n {% if var(identifier_var, none) is none %} \n {% set identifier_var = default_schema + \"_\" + table_identifier + \"_identifer\" %}\n {% endif %}\n {%- set relation.value=adapter.get_relation(\n database=source(default_schema, table_identifier).database,\n schema=source(default_schema, table_identifier).schema,\n identifier=var(identifier_var, table_identifier)\n ) -%}\n {% endif %}\n{%- set table_exists=relation.value is not none -%}\n\n{%- if table_exists -%}\n select * \n from {{ relation.value }}\n{%- else -%}\n {% if execute and not var('fivetran__remove_empty_table_warnings', false) -%}\n {{ exceptions.warn(\"\\n\\nPlease be aware: The \" ~ table_identifier|upper ~ \" table was not found in your \" ~ default_schema|upper ~ \" schema(s). The Fivetran dbt package will create a completely empty \" ~ table_identifier|upper ~ \" staging model as to not break downstream transformations. To turn off these warnings, set the `fivetran__remove_empty_table_warnings` variable to TRUE (see https://github.com/fivetran/dbt_fivetran_utils/tree/releases/v0.4.latest#union_data-source for details).\\n\") }}\n {% endif -%}\n select \n cast(null as {{ dbt.type_string() }}) as _dbt_source_relation\n limit 0\n{%- endif -%}\n{%- endif -%}\n\n{%- endmacro -%}", "depends_on": {"macros": ["macro.dbt_utils.union_relations", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.8373592, "supported_languages": null}, "macro.fivetran_utils.dummy_coalesce_value": {"name": "dummy_coalesce_value", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/dummy_coalesce_value.sql", "original_file_path": "macros/dummy_coalesce_value.sql", "unique_id": "macro.fivetran_utils.dummy_coalesce_value", "macro_sql": "{% macro dummy_coalesce_value(column) %}\n\n{% set coalesce_value = {\n 'STRING': \"'DUMMY_STRING'\",\n 'BOOLEAN': 'null',\n 'INT': 999999999,\n 'FLOAT': 999999999.99,\n 'TIMESTAMP': 'cast(\"2099-12-31\" as timestamp)',\n 'DATE': 'cast(\"2099-12-31\" as date)',\n} %}\n\n{% if column.is_float() %}\n{{ return(coalesce_value['FLOAT']) }}\n\n{% elif column.is_numeric() %}\n{{ return(coalesce_value['INT']) }}\n\n{% elif column.is_string() %}\n{{ return(coalesce_value['STRING']) }}\n\n{% elif column.data_type|lower == 'boolean' %}\n{{ return(coalesce_value['BOOLEAN']) }}\n\n{% elif 'timestamp' in column.data_type|lower %}\n{{ return(coalesce_value['TIMESTAMP']) }}\n\n{% elif 'date' in column.data_type|lower %}\n{{ return(coalesce_value['DATE']) }}\n\n{% elif 'int' in column.data_type|lower %}\n{{ return(coalesce_value['INT']) }}\n\n{% endif %}\n\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.838644, "supported_languages": null}, "macro.fivetran_utils.extract_url_parameter": {"name": "extract_url_parameter", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/extract_url_parameter.sql", "original_file_path": "macros/extract_url_parameter.sql", "unique_id": "macro.fivetran_utils.extract_url_parameter", "macro_sql": "{% macro extract_url_parameter(field, url_parameter) -%}\n\n{{ adapter.dispatch('extract_url_parameter', 'fivetran_utils') (field, url_parameter) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.default__extract_url_parameter"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.838968, "supported_languages": null}, "macro.fivetran_utils.default__extract_url_parameter": {"name": "default__extract_url_parameter", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/extract_url_parameter.sql", "original_file_path": "macros/extract_url_parameter.sql", "unique_id": "macro.fivetran_utils.default__extract_url_parameter", "macro_sql": "{% macro default__extract_url_parameter(field, url_parameter) -%}\n\n{{ dbt_utils.get_url_parameter(field, url_parameter) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.get_url_parameter"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.8391051, "supported_languages": null}, "macro.fivetran_utils.spark__extract_url_parameter": {"name": "spark__extract_url_parameter", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/extract_url_parameter.sql", "original_file_path": "macros/extract_url_parameter.sql", "unique_id": "macro.fivetran_utils.spark__extract_url_parameter", "macro_sql": "{% macro spark__extract_url_parameter(field, url_parameter) -%}\n\n{%- set formatted_url_parameter = \"'\" + url_parameter + \"=([^&]+)'\" -%}\nnullif(regexp_extract({{ field }}, {{ formatted_url_parameter }}, 1), '')\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.839284, "supported_languages": null}, "macro.fivetran_utils.wrap_in_quotes": {"name": "wrap_in_quotes", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/wrap_in_quotes.sql", "original_file_path": "macros/wrap_in_quotes.sql", "unique_id": "macro.fivetran_utils.wrap_in_quotes", "macro_sql": "{%- macro wrap_in_quotes(object_to_quote) -%}\n\n{{ return(adapter.dispatch('wrap_in_quotes', 'fivetran_utils')(object_to_quote)) }}\n\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.fivetran_utils.postgres__wrap_in_quotes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.839589, "supported_languages": null}, "macro.fivetran_utils.default__wrap_in_quotes": {"name": "default__wrap_in_quotes", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/wrap_in_quotes.sql", "original_file_path": "macros/wrap_in_quotes.sql", "unique_id": "macro.fivetran_utils.default__wrap_in_quotes", "macro_sql": "{%- macro default__wrap_in_quotes(object_to_quote) -%}\n{# bigquery, spark, databricks #}\n `{{ object_to_quote }}`\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.839689, "supported_languages": null}, "macro.fivetran_utils.snowflake__wrap_in_quotes": {"name": "snowflake__wrap_in_quotes", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/wrap_in_quotes.sql", "original_file_path": "macros/wrap_in_quotes.sql", "unique_id": "macro.fivetran_utils.snowflake__wrap_in_quotes", "macro_sql": "{%- macro snowflake__wrap_in_quotes(object_to_quote) -%}\n \"{{ object_to_quote | upper }}\"\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.83979, "supported_languages": null}, "macro.fivetran_utils.redshift__wrap_in_quotes": {"name": "redshift__wrap_in_quotes", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/wrap_in_quotes.sql", "original_file_path": "macros/wrap_in_quotes.sql", "unique_id": "macro.fivetran_utils.redshift__wrap_in_quotes", "macro_sql": "{%- macro redshift__wrap_in_quotes(object_to_quote) -%}\n \"{{ object_to_quote }}\"\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.8398778, "supported_languages": null}, "macro.fivetran_utils.postgres__wrap_in_quotes": {"name": "postgres__wrap_in_quotes", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/wrap_in_quotes.sql", "original_file_path": "macros/wrap_in_quotes.sql", "unique_id": "macro.fivetran_utils.postgres__wrap_in_quotes", "macro_sql": "{%- macro postgres__wrap_in_quotes(object_to_quote) -%}\n \"{{ object_to_quote }}\"\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.839968, "supported_languages": null}, "macro.fivetran_utils.array_agg": {"name": "array_agg", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/array_agg.sql", "original_file_path": "macros/array_agg.sql", "unique_id": "macro.fivetran_utils.array_agg", "macro_sql": "{% macro array_agg(field_to_agg) -%}\n\n{{ adapter.dispatch('array_agg', 'fivetran_utils') (field_to_agg) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.default__array_agg"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.8402, "supported_languages": null}, "macro.fivetran_utils.default__array_agg": {"name": "default__array_agg", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/array_agg.sql", "original_file_path": "macros/array_agg.sql", "unique_id": "macro.fivetran_utils.default__array_agg", "macro_sql": "{% macro default__array_agg(field_to_agg) %}\n array_agg({{ field_to_agg }})\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.840292, "supported_languages": null}, "macro.fivetran_utils.redshift__array_agg": {"name": "redshift__array_agg", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/array_agg.sql", "original_file_path": "macros/array_agg.sql", "unique_id": "macro.fivetran_utils.redshift__array_agg", "macro_sql": "{% macro redshift__array_agg(field_to_agg) %}\n listagg({{ field_to_agg }}, ',')\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.840381, "supported_languages": null}, "macro.fivetran_utils.empty_variable_warning": {"name": "empty_variable_warning", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/empty_variable_warning.sql", "original_file_path": "macros/empty_variable_warning.sql", "unique_id": "macro.fivetran_utils.empty_variable_warning", "macro_sql": "{% macro empty_variable_warning(variable, downstream_model) %}\n\n{% if not var(variable) %}\n{{ log(\n \"\"\"\n Warning: You have passed an empty list to the \"\"\" ~ variable ~ \"\"\".\n As a result, you won't see the history of any columns in the \"\"\" ~ downstream_model ~ \"\"\" model.\n \"\"\",\n info=True\n) }}\n{% endif %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.8407328, "supported_languages": null}, "macro.fivetran_utils.enabled_vars_one_true": {"name": "enabled_vars_one_true", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/enabled_vars_one_true.sql", "original_file_path": "macros/enabled_vars_one_true.sql", "unique_id": "macro.fivetran_utils.enabled_vars_one_true", "macro_sql": "{% macro enabled_vars_one_true(vars) %}\n\n{% for v in vars %}\n \n {% if var(v, False) == True %}\n {{ return(True) }}\n {% endif %}\n\n{% endfor %}\n\n{{ return(False) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.8410811, "supported_languages": null}, "macro.quickbooks_source.get_deposit_line_columns": {"name": "get_deposit_line_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_deposit_line_columns.sql", "original_file_path": "macros/get_deposit_line_columns.sql", "unique_id": "macro.quickbooks_source.get_deposit_line_columns", "macro_sql": "{% macro get_deposit_line_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"bill_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"deposit_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"deposit_check_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"deposit_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"deposit_customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"deposit_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"deposit_payment_method_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"deposit_tax_applicable_on\", \"datatype\": dbt.type_string()},\n {\"name\": \"deposit_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"deposit_transaction_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"description\", \"datatype\": dbt.type_string()},\n {\"name\": \"detail_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"expense_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()},\n {\"name\": \"invoice_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"journal_entry_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"payment_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"purchase_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"refund_receipt_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_receipt_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"transfer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"vendor_credit_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_float", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.8438358, "supported_languages": null}, "macro.quickbooks_source.get_vendor_credit_line_columns": {"name": "get_vendor_credit_line_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_vendor_credit_line_columns.sql", "original_file_path": "macros/get_vendor_credit_line_columns.sql", "unique_id": "macro.quickbooks_source.get_vendor_credit_line_columns", "macro_sql": "{% macro get_vendor_credit_line_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"account_expense_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_expense_billable_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_expense_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_expense_customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_expense_tax_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"account_expense_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"description\", \"datatype\": dbt.type_string()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_billable_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_quantity\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_unit_price\", \"datatype\": dbt.type_float()},\n {\"name\": \"private_note\", \"datatype\": dbt.type_string()},\n {\"name\": \"vendor_credit_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.846074, "supported_languages": null}, "macro.quickbooks_source.get_account_columns": {"name": "get_account_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_account_columns.sql", "original_file_path": "macros/get_account_columns.sql", "unique_id": "macro.quickbooks_source.get_account_columns", "macro_sql": "{% macro get_account_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"account_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_sub_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"active\", \"datatype\": \"boolean\"},\n {\"name\": \"balance\", \"datatype\": dbt.type_float()},\n {\"name\": \"balance_with_sub_accounts\", \"datatype\": dbt.type_float()},\n {\"name\": \"classification\", \"datatype\": dbt.type_string()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"description\", \"datatype\": dbt.type_string()},\n {\"name\": \"fully_qualified_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"parent_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sub_account\", \"datatype\": \"boolean\"},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.84817, "supported_languages": null}, "macro.quickbooks_source.get_purchase_order_linked_txn_columns": {"name": "get_purchase_order_linked_txn_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_purchase_order_linked_txn_columns.sql", "original_file_path": "macros/get_purchase_order_linked_txn_columns.sql", "unique_id": "macro.quickbooks_source.get_purchase_order_linked_txn_columns", "macro_sql": "{% macro get_purchase_order_linked_txn_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"bill_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()},\n {\"name\": \"purchase_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"purchase_order_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"vendor_credit_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.848928, "supported_languages": null}, "macro.quickbooks_source.get_sales_receipt_line_columns": {"name": "get_sales_receipt_line_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_sales_receipt_line_columns.sql", "original_file_path": "macros/get_sales_receipt_line_columns.sql", "unique_id": "macro.quickbooks_source.get_sales_receipt_line_columns", "macro_sql": "{% macro get_sales_receipt_line_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"bundle_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"bundle_quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"description\", \"datatype\": dbt.type_string()},\n {\"name\": \"description_service_date\", \"datatype\": \"date\"},\n {\"name\": \"description_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"discount_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"discount_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"discount_discount_percent\", \"datatype\": dbt.type_float()},\n {\"name\": \"discount_percent_based\", \"datatype\": \"boolean\"},\n {\"name\": \"discount_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_discount_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_discount_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_service_date\", \"datatype\": \"date\"},\n {\"name\": \"sales_item_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_unit_price\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_receipt_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sub_total_item_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_float", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.851477, "supported_languages": null}, "macro.quickbooks_source.get_bill_linked_txn_columns": {"name": "get_bill_linked_txn_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_bill_linked_txn_columns.sql", "original_file_path": "macros/get_bill_linked_txn_columns.sql", "unique_id": "macro.quickbooks_source.get_bill_linked_txn_columns", "macro_sql": "{% macro get_bill_linked_txn_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"bill_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"bill_payment_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.852076, "supported_languages": null}, "macro.quickbooks_source.get_bill_payment_line_columns": {"name": "get_bill_payment_line_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_bill_payment_line_columns.sql", "original_file_path": "macros/get_bill_payment_line_columns.sql", "unique_id": "macro.quickbooks_source.get_bill_payment_line_columns", "macro_sql": "{% macro get_bill_payment_line_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"bill_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"bill_payment_credit_card_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"bill_payment_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"check_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_charge_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_credit_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"deposit_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"expense_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()},\n {\"name\": \"journal_entry_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"linked_bill_payment_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"vendor_credit_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_float", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.853704, "supported_languages": null}, "macro.quickbooks_source.get_transfer_columns": {"name": "get_transfer_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_transfer_columns.sql", "original_file_path": "macros/get_transfer_columns.sql", "unique_id": "macro.quickbooks_source.get_transfer_columns", "macro_sql": "{% macro get_transfer_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"from_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"private_note\", \"datatype\": dbt.type_string()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"to_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"transaction_date\", \"datatype\": \"date\"},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_float", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.855089, "supported_languages": null}, "macro.quickbooks_source.get_purchase_columns": {"name": "get_purchase_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_purchase_columns.sql", "original_file_path": "macros/get_purchase_columns.sql", "unique_id": "macro.quickbooks_source.get_purchase_columns", "macro_sql": "{% macro get_purchase_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"credit\", \"datatype\": \"boolean\"},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"department_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"doc_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"employee_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"exchange_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"global_tax_calculation\", \"datatype\": dbt.type_string()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"payment_method_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"payment_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"print_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"private_note\", \"datatype\": dbt.type_string()},\n {\"name\": \"remit_to_address_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"total_tax\", \"datatype\": dbt.type_float()},\n {\"name\": \"transaction_date\", \"datatype\": \"date\"},\n {\"name\": \"transaction_source\", \"datatype\": dbt.type_string()},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"vendor_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.8581371, "supported_languages": null}, "macro.quickbooks_source.get_journal_entry_line_columns": {"name": "get_journal_entry_line_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_journal_entry_line_columns.sql", "original_file_path": "macros/get_journal_entry_line_columns.sql", "unique_id": "macro.quickbooks_source.get_journal_entry_line_columns", "macro_sql": "{% macro get_journal_entry_line_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"billable_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"department_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"description\", \"datatype\": dbt.type_string()},\n {\"name\": \"description_service_date\", \"datatype\": \"date\"},\n {\"name\": \"description_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"employee_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()},\n {\"name\": \"journal_entry_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"posting_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"tax_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"tax_applicable_on\", \"datatype\": dbt.type_string()},\n {\"name\": \"tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"vendor_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.8601239, "supported_languages": null}, "macro.quickbooks_source.get_deposit_columns": {"name": "get_deposit_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_deposit_columns.sql", "original_file_path": "macros/get_deposit_columns.sql", "unique_id": "macro.quickbooks_source.get_deposit_columns", "macro_sql": "{% macro get_deposit_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"cash_back_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"cash_back_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"cash_back_memo\", \"datatype\": dbt.type_string()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"department_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"global_tax_calculation\", \"datatype\": dbt.type_string()},\n {\"name\": \"home_total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"private_note\", \"datatype\": dbt.type_string()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"transaction_date\", \"datatype\": \"date\"},\n {\"name\": \"transaction_source\", \"datatype\": dbt.type_string()},\n {\"name\": \"transaction_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.862036, "supported_languages": null}, "macro.quickbooks_source.get_purchase_order_columns": {"name": "get_purchase_order_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_purchase_order_columns.sql", "original_file_path": "macros/get_purchase_order_columns.sql", "unique_id": "macro.quickbooks_source.get_purchase_order_columns", "macro_sql": "{% macro get_purchase_order_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"custom_customer_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"custom_po_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"doc_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"due_date\", \"datatype\": \"date\"},\n {\"name\": \"exchange_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"global_tax_calculation\", \"datatype\": dbt.type_string()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"memo\", \"datatype\": dbt.type_string()},\n {\"name\": \"payable_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"private_note\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_term_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"shipping_address_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"status\", \"datatype\": dbt.type_string()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"total_tax\", \"datatype\": dbt.type_float()},\n {\"name\": \"transaction_date\", \"datatype\": \"date\"},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"vendor_address_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"vendor_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.8647869, "supported_languages": null}, "macro.quickbooks_source.get_credit_memo_line_columns": {"name": "get_credit_memo_line_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_credit_memo_line_columns.sql", "original_file_path": "macros/get_credit_memo_line_columns.sql", "unique_id": "macro.quickbooks_source.get_credit_memo_line_columns", "macro_sql": "{% macro get_credit_memo_line_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"bundle_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"bundle_quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"credit_memo_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"description\", \"datatype\": dbt.type_string()},\n {\"name\": \"description_service_date\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"description_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"discount_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"discount_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"discount_discount_percent\", \"datatype\": dbt.type_float()},\n {\"name\": \"discount_percent_based\", \"datatype\": \"boolean\"},\n {\"name\": \"discount_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_discount_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_discount_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_service_date\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"sales_item_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_unit_price\", \"datatype\": dbt.type_float()},\n {\"name\": \"sub_total_item_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_float", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.867266, "supported_languages": null}, "macro.quickbooks_source.get_journal_entry_columns": {"name": "get_journal_entry_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_journal_entry_columns.sql", "original_file_path": "macros/get_journal_entry_columns.sql", "unique_id": "macro.quickbooks_source.get_journal_entry_columns", "macro_sql": "{% macro get_journal_entry_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"adjustment\", \"datatype\": \"boolean\"},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"doc_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"exchange_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"home_total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"private_note\", \"datatype\": dbt.type_string()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"total_tax\", \"datatype\": dbt.type_float()},\n {\"name\": \"transaction_date\", \"datatype\": \"date\"},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.8688698, "supported_languages": null}, "macro.quickbooks_source.get_vendor_columns": {"name": "get_vendor_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_vendor_columns.sql", "original_file_path": "macros/get_vendor_columns.sql", "unique_id": "macro.quickbooks_source.get_vendor_columns", "macro_sql": "{% macro get_vendor_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"account_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"active\", \"datatype\": \"boolean\"},\n {\"name\": \"alternate_phone\", \"datatype\": dbt.type_string()},\n {\"name\": \"balance\", \"datatype\": dbt.type_float()},\n {\"name\": \"billing_address_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"company_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"display_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"email\", \"datatype\": dbt.type_string()},\n {\"name\": \"family_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"fax_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"given_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"middle_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"mobile_phone\", \"datatype\": dbt.type_string()},\n {\"name\": \"other_contacts\", \"datatype\": dbt.type_string()},\n {\"name\": \"primary_phone\", \"datatype\": dbt.type_string()},\n {\"name\": \"print_on_check_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"suffix\", \"datatype\": dbt.type_string()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"tax_identifier\", \"datatype\": dbt.type_string()},\n {\"name\": \"term_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"title\", \"datatype\": dbt.type_string()},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"vendor_1099\", \"datatype\": \"boolean\"},\n {\"name\": \"web_url\", \"datatype\": dbt.type_string()},\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.871818, "supported_languages": null}, "macro.quickbooks_source.get_invoice_linked_txn_columns": {"name": "get_invoice_linked_txn_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_invoice_linked_txn_columns.sql", "original_file_path": "macros/get_invoice_linked_txn_columns.sql", "unique_id": "macro.quickbooks_source.get_invoice_linked_txn_columns", "macro_sql": "{% macro get_invoice_linked_txn_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"charge_credit_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"estimate_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()},\n {\"name\": \"invoice_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"payment_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"reimburse_charge_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"statement_charge_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"time_activity_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.8727949, "supported_languages": null}, "macro.quickbooks_source.get_item_columns": {"name": "get_item_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_item_columns.sql", "original_file_path": "macros/get_item_columns.sql", "unique_id": "macro.quickbooks_source.get_item_columns", "macro_sql": "{% macro get_item_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"active\", \"datatype\": \"boolean\"},\n {\"name\": \"asset_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt.type_string()},\n {\"name\": \"expense_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"fully_qualified_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"income_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"inventory_start_date\", \"datatype\": \"date\"},\n {\"name\": \"level\", \"datatype\": dbt.type_string()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"parent_item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"purchase_cost\", \"datatype\": dbt.type_float()},\n {\"name\": \"purchase_description\", \"datatype\": dbt.type_string()},\n {\"name\": \"purchase_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"purchase_tax_included\", \"datatype\": \"boolean\"},\n {\"name\": \"quantity_on_hand\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_tax_included\", \"datatype\": \"boolean\"},\n {\"name\": \"stock_keeping_unit\", \"datatype\": dbt.type_string()},\n {\"name\": \"sub_item\", \"datatype\": \"boolean\"},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"taxable\", \"datatype\": \"boolean\"},\n {\"name\": \"track_quantity_on_hand\", \"datatype\": \"boolean\"},\n {\"name\": \"type\", \"datatype\": dbt.type_string()},\n {\"name\": \"unit_price\", \"datatype\": dbt.type_float()},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.876053, "supported_languages": null}, "macro.quickbooks_source.get_credit_memo_columns": {"name": "get_credit_memo_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_credit_memo_columns.sql", "original_file_path": "macros/get_credit_memo_columns.sql", "unique_id": "macro.quickbooks_source.get_credit_memo_columns", "macro_sql": "{% macro get_credit_memo_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"apply_tax_after_discount\", \"datatype\": \"boolean\"},\n {\"name\": \"balance\", \"datatype\": dbt.type_float()},\n {\"name\": \"bill_email\", \"datatype\": dbt.type_string()},\n {\"name\": \"billing_address_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"custom_p_o_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"customer_memo\", \"datatype\": dbt.type_string()},\n {\"name\": \"department_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"doc_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"email_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"exchange_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"global_tax_calculation\", \"datatype\": dbt.type_string()},\n {\"name\": \"home_balance\", \"datatype\": dbt.type_float()},\n {\"name\": \"home_total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"payment_method_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"print_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"private_note\", \"datatype\": dbt.type_string()},\n {\"name\": \"remaining_credit\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_term_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"shipping_address_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"total_tax\", \"datatype\": dbt.type_string()},\n {\"name\": \"transaction_date\", \"datatype\": \"date\"},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_float", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.879209, "supported_languages": null}, "macro.quickbooks_source.get_bundle_item_columns": {"name": "get_bundle_item_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_bundle_item_columns.sql", "original_file_path": "macros/get_bundle_item_columns.sql", "unique_id": "macro.quickbooks_source.get_bundle_item_columns", "macro_sql": "{% macro get_bundle_item_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"bundle_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_quantity\", \"datatype\": dbt.type_float()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.879742, "supported_languages": null}, "macro.quickbooks_source.get_payment_columns": {"name": "get_payment_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_payment_columns.sql", "original_file_path": "macros/get_payment_columns.sql", "unique_id": "macro.quickbooks_source.get_payment_columns", "macro_sql": "{% macro get_payment_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"credit_card_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"credit_card_auth_code\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_billing_address_street\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_cc_expiry_month\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_cc_expiry_year\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_cctrans_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_name_on_account\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_postal_code\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_process_payment\", \"datatype\": \"boolean\"},\n {\"name\": \"credit_card_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_transaction_authorization_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"credit_card_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"deposit_to_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"exchange_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"payment_method_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"private_note\", \"datatype\": dbt.type_string()},\n {\"name\": \"process_payment\", \"datatype\": \"boolean\"},\n {\"name\": \"receivable_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"reference_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"transaction_date\", \"datatype\": \"date\"},\n {\"name\": \"transaction_source\", \"datatype\": dbt.type_string()},\n {\"name\": \"transaction_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"unapplied_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_float", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.883067, "supported_languages": null}, "macro.quickbooks_source.get_vendor_credit_columns": {"name": "get_vendor_credit_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_vendor_credit_columns.sql", "original_file_path": "macros/get_vendor_credit_columns.sql", "unique_id": "macro.quickbooks_source.get_vendor_credit_columns", "macro_sql": "{% macro get_vendor_credit_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"balance\", \"datatype\": dbt.type_float()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"department_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"doc_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"exchange_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"global_tax_calculation\", \"datatype\": dbt.type_string()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"payable_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"private_note\", \"datatype\": dbt.type_string()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"transaction_date\", \"datatype\": \"date\"},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"vendor_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_float", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.8847868, "supported_languages": null}, "macro.quickbooks_source.get_refund_receipt_columns": {"name": "get_refund_receipt_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_refund_receipt_columns.sql", "original_file_path": "macros/get_refund_receipt_columns.sql", "unique_id": "macro.quickbooks_source.get_refund_receipt_columns", "macro_sql": "{% macro get_refund_receipt_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"apply_tax_after_discount\", \"datatype\": \"boolean\"},\n {\"name\": \"balance\", \"datatype\": dbt.type_float()},\n {\"name\": \"bill_email\", \"datatype\": dbt.type_string()},\n {\"name\": \"billing_address_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"check_payment_account_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"check_payment_bank_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"check_payment_check_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"check_payment_name_on_account\", \"datatype\": dbt.type_string()},\n {\"name\": \"check_payment_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"credit_card_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"credit_card_auth_code\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_billing_address_street\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_cc_expiry_month\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_cc_expiry_year\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_cctrans_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_name_on_account\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_postal_code\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_process_payment\", \"datatype\": \"boolean\"},\n {\"name\": \"credit_card_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_transaction_authorization_time\", \"datatype\": \"date\"},\n {\"name\": \"credit_card_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"customer_memo\", \"datatype\": dbt.type_string()},\n {\"name\": \"department_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"deposit_to_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"doc_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"exchange_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"global_tax_calculation\", \"datatype\": dbt.type_string()},\n {\"name\": \"home_balance\", \"datatype\": dbt.type_float()},\n {\"name\": \"home_total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"payment_method_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"payment_reference_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"payment_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"print_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"private_note\", \"datatype\": dbt.type_string()},\n {\"name\": \"shipping_address_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"total_tax\", \"datatype\": dbt.type_float()},\n {\"name\": \"transaction_date\", \"datatype\": \"date\"},\n {\"name\": \"transaction_source\", \"datatype\": dbt.type_string()},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_float", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.890198, "supported_languages": null}, "macro.quickbooks_source.get_bill_columns": {"name": "get_bill_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_bill_columns.sql", "original_file_path": "macros/get_bill_columns.sql", "unique_id": "macro.quickbooks_source.get_bill_columns", "macro_sql": "{% macro get_bill_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"balance\", \"datatype\": dbt.type_float()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"department_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"doc_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"due_date\", \"datatype\": \"date\"},\n {\"name\": \"exchange_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"global_tax_calculation\", \"datatype\": dbt.type_string()},\n {\"name\": \"home_balance\", \"datatype\": dbt.type_float()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"payable_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"private_note\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_term_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"transaction_date\", \"datatype\": \"date\"},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"vendor_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_float", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.892224, "supported_languages": null}, "macro.quickbooks_source.get_credit_card_payment_txn_columns": {"name": "get_credit_card_payment_txn_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_credit_card_payment_txn_columns.sql", "original_file_path": "macros/get_credit_card_payment_txn_columns.sql", "unique_id": "macro.quickbooks_source.get_credit_card_payment_txn_columns", "macro_sql": "{% macro get_credit_card_payment_txn_columns() %}\n\n{% set columns = [ \t\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"bank_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"credit_card_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"transaction_date\", \"datatype\": \"date\"},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()}\n\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_string", "macro.dbt.type_timestamp", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.8934479, "supported_languages": null}, "macro.quickbooks_source.get_bill_line_columns": {"name": "get_bill_line_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_bill_line_columns.sql", "original_file_path": "macros/get_bill_line_columns.sql", "unique_id": "macro.quickbooks_source.get_bill_line_columns", "macro_sql": "{% macro get_bill_line_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"account_expense_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_expense_billable_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_expense_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_expense_customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_expense_tax_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"account_expense_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"bill_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"description\", \"datatype\": dbt.type_string()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_billable_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"item_expense_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_unit_price\", \"datatype\": dbt.type_float()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.895621, "supported_languages": null}, "macro.quickbooks_source.get_customer_columns": {"name": "get_customer_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_customer_columns.sql", "original_file_path": "macros/get_customer_columns.sql", "unique_id": "macro.quickbooks_source.get_customer_columns", "macro_sql": "{% macro get_customer_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"active\", \"datatype\": \"boolean\"},\n {\"name\": \"alternate_phone_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"ar_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"balance\", \"datatype\": dbt.type_float()},\n {\"name\": \"balance_with_jobs\", \"datatype\": dbt.type_float()},\n {\"name\": \"bill_address_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"bill_with_parent\", \"datatype\": \"boolean\"},\n {\"name\": \"company_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"default_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"display_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"email\", \"datatype\": dbt.type_string()},\n {\"name\": \"family_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"fax_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"fully_qualified_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"given_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"job\", \"datatype\": \"boolean\"},\n {\"name\": \"level\", \"datatype\": dbt.type_string()},\n {\"name\": \"middle_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"mobile_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"notes\", \"datatype\": dbt.type_string()},\n {\"name\": \"open_balance_date\", \"datatype\": \"date\"},\n {\"name\": \"parent_customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"payment_method_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"phone_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"preferred_delivery_method\", \"datatype\": dbt.type_string()},\n {\"name\": \"print_on_check_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"resale_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_term_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"shipping_address_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"suffix\", \"datatype\": dbt.type_string()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"tax_exemption_reason_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"taxable\", \"datatype\": \"boolean\"},\n {\"name\": \"title\", \"datatype\": dbt.type_string()},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"website\", \"datatype\": dbt.type_string()},\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.899997, "supported_languages": null}, "macro.quickbooks_source.get_invoice_columns": {"name": "get_invoice_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_invoice_columns.sql", "original_file_path": "macros/get_invoice_columns.sql", "unique_id": "macro.quickbooks_source.get_invoice_columns", "macro_sql": "{% macro get_invoice_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"allow_ipnpayment\", \"datatype\": \"boolean\"},\n {\"name\": \"allow_online_achpayment\", \"datatype\": \"boolean\"},\n {\"name\": \"allow_online_credit_card_payment\", \"datatype\": \"boolean\"},\n {\"name\": \"allow_online_payment\", \"datatype\": \"boolean\"},\n {\"name\": \"apply_tax_after_discount\", \"datatype\": \"boolean\"},\n {\"name\": \"balance\", \"datatype\": dbt.type_float()},\n {\"name\": \"billing_address_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"billing_bcc_email\", \"datatype\": dbt.type_string()},\n {\"name\": \"billing_cc_email\", \"datatype\": dbt.type_string()},\n {\"name\": \"billing_email\", \"datatype\": dbt.type_string()},\n {\"name\": \"class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"custom_p_o_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"custom_sales_rep\", \"datatype\": dbt.type_string()},\n {\"name\": \"customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"customer_memo\", \"datatype\": dbt.type_string()},\n {\"name\": \"delivery_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"delivery_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"department_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"deposit\", \"datatype\": dbt.type_float()},\n {\"name\": \"deposit_to_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"doc_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"due_date\", \"datatype\": \"date\"},\n {\"name\": \"email_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"exchange_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"global_tax_calculation\", \"datatype\": dbt.type_string()},\n {\"name\": \"home_balance\", \"datatype\": dbt.type_float()},\n {\"name\": \"home_total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"print_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"private_note\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_term_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"ship_date\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"shipping_address_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"total_tax\", \"datatype\": dbt.type_float()},\n {\"name\": \"tracking_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"transaction_date\", \"datatype\": \"date\"},\n {\"name\": \"transaction_source\", \"datatype\": dbt.type_string()},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_float", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.9051251, "supported_languages": null}, "macro.quickbooks_source.get_payment_line_columns": {"name": "get_payment_line_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_payment_line_columns.sql", "original_file_path": "macros/get_payment_line_columns.sql", "unique_id": "macro.quickbooks_source.get_payment_line_columns", "macro_sql": "{% macro get_payment_line_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"check_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_charge_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_credit_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_memo_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"deposit_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"expense_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()},\n {\"name\": \"invoice_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"journal_entry_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"payment_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_float", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.9063969, "supported_languages": null}, "macro.quickbooks_source.get_department_columns": {"name": "get_department_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_department_columns.sql", "original_file_path": "macros/get_department_columns.sql", "unique_id": "macro.quickbooks_source.get_department_columns", "macro_sql": "{% macro get_department_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"active\", \"datatype\": \"boolean\"},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"fully_qualified_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"parent_department_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sub_department\", \"datatype\": \"boolean\"},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.9075, "supported_languages": null}, "macro.quickbooks_source.get_invoice_line_columns": {"name": "get_invoice_line_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_invoice_line_columns.sql", "original_file_path": "macros/get_invoice_line_columns.sql", "unique_id": "macro.quickbooks_source.get_invoice_line_columns", "macro_sql": "{% macro get_invoice_line_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"bundle_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"bundle_quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"description\", \"datatype\": dbt.type_string()},\n {\"name\": \"description_service_date\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"description_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"discount_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"discount_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"discount_discount_percent\", \"datatype\": dbt.type_float()},\n {\"name\": \"discount_percent_based\", \"datatype\": \"boolean\"},\n {\"name\": \"discount_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"detail_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()},\n {\"name\": \"invoice_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_discount_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_discount_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_service_date\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"sales_item_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_unit_price\", \"datatype\": dbt.type_float()},\n {\"name\": \"sub_total_item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"tax_code_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.910481, "supported_languages": null}, "macro.quickbooks_source.get_purchase_order_line_columns": {"name": "get_purchase_order_line_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_purchase_order_line_columns.sql", "original_file_path": "macros/get_purchase_order_line_columns.sql", "unique_id": "macro.quickbooks_source.get_purchase_order_line_columns", "macro_sql": "{% macro get_purchase_order_line_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"account_expense_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_expense_billable_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_expense_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_expense_customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_expense_tax_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"account_expense_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"description\", \"datatype\": dbt.type_string()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_billable_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"item_expense_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_unit_price\", \"datatype\": dbt.type_float()},\n {\"name\": \"purchase_order_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.912315, "supported_languages": null}, "macro.quickbooks_source.get_purchase_line_columns": {"name": "get_purchase_line_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_purchase_line_columns.sql", "original_file_path": "macros/get_purchase_line_columns.sql", "unique_id": "macro.quickbooks_source.get_purchase_line_columns", "macro_sql": "{% macro get_purchase_line_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"account_expense_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_expense_billable_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_expense_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_expense_customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_expense_tax_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"account_expense_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"description\", \"datatype\": dbt.type_string()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_billable_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"item_expense_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_unit_price\", \"datatype\": dbt.type_float()},\n {\"name\": \"purchase_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.914446, "supported_languages": null}, "macro.quickbooks_source.get_refund_receipt_line_columns": {"name": "get_refund_receipt_line_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_refund_receipt_line_columns.sql", "original_file_path": "macros/get_refund_receipt_line_columns.sql", "unique_id": "macro.quickbooks_source.get_refund_receipt_line_columns", "macro_sql": "{% macro get_refund_receipt_line_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"bundle_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"bundle_quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"description\", \"datatype\": dbt.type_string()},\n {\"name\": \"description_service_date\", \"datatype\": \"date\"},\n {\"name\": \"description_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"discount_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"discount_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"discount_discount_percent\", \"datatype\": dbt.type_float()},\n {\"name\": \"discount_percent_based\", \"datatype\": \"boolean\"},\n {\"name\": \"discount_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()},\n {\"name\": \"refund_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_discount_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_discount_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_service_date\", \"datatype\": \"date\"},\n {\"name\": \"sales_item_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_unit_price\", \"datatype\": dbt.type_float()},\n {\"name\": \"sub_total_item_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_float", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.9168699, "supported_languages": null}, "macro.quickbooks_source.get_estimate_columns": {"name": "get_estimate_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_estimate_columns.sql", "original_file_path": "macros/get_estimate_columns.sql", "unique_id": "macro.quickbooks_source.get_estimate_columns", "macro_sql": "{% macro get_estimate_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"accepted_by\", \"datatype\": dbt.type_string()},\n {\"name\": \"accepted_date\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"apply_tax_after_discount\", \"datatype\": \"boolean\"},\n {\"name\": \"bill_email\", \"datatype\": dbt.type_string()},\n {\"name\": \"billing_address_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"customer_memo\", \"datatype\": dbt.type_string()},\n {\"name\": \"delivery_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"department_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"doc_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"due_date\", \"datatype\": \"date\"},\n {\"name\": \"email_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"exchange_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"expiration_date\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"global_tax_calculation\", \"datatype\": dbt.type_string()},\n {\"name\": \"home_total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"print_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"private_note\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_term_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"ship_date\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"shipping_address_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"total_tax\", \"datatype\": dbt.type_float()},\n {\"name\": \"transaction_date\", \"datatype\": \"date\"},\n {\"name\": \"transaction_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.920495, "supported_languages": null}, "macro.quickbooks_source.get_bill_payment_columns": {"name": "get_bill_payment_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_bill_payment_columns.sql", "original_file_path": "macros/get_bill_payment_columns.sql", "unique_id": "macro.quickbooks_source.get_bill_payment_columns", "macro_sql": "{% macro get_bill_payment_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"check_bank_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"check_print_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"credit_card_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"department_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"doc_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"exchange_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"pay_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"payable_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"private_note\", \"datatype\": dbt.type_string()},\n {\"name\": \"process_bill_payment\", \"datatype\": \"boolean\"},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"transaction_date\", \"datatype\": \"date\"},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"vendor_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.922506, "supported_languages": null}, "macro.quickbooks_source.get_sales_receipt_columns": {"name": "get_sales_receipt_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_sales_receipt_columns.sql", "original_file_path": "macros/get_sales_receipt_columns.sql", "unique_id": "macro.quickbooks_source.get_sales_receipt_columns", "macro_sql": "{% macro get_sales_receipt_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"apply_tax_after_discount\", \"datatype\": \"boolean\"},\n {\"name\": \"balance\", \"datatype\": dbt.type_float()},\n {\"name\": \"bill_email\", \"datatype\": dbt.type_string()},\n {\"name\": \"billing_address_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"credit_card_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"credit_card_auth_code\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_billing_address_street\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_cc_expiry_month\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_cc_expiry_year\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_cctrans_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_name_on_account\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_postal_code\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_process_payment\", \"datatype\": \"boolean\"},\n {\"name\": \"credit_card_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_transaction_authorization_time\", \"datatype\": \"date\"},\n {\"name\": \"credit_card_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"customer_memo\", \"datatype\": dbt.type_string()},\n {\"name\": \"delivery_time\", \"datatype\": \"date\"},\n {\"name\": \"delivery_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"department_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"deposit_to_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"doc_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"email_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"exchange_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"global_tax_calculation\", \"datatype\": dbt.type_string()},\n {\"name\": \"home_balance\", \"datatype\": dbt.type_float()},\n {\"name\": \"home_total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"payment_method_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"payment_reference_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"print_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"private_note\", \"datatype\": dbt.type_string()},\n {\"name\": \"ship_date\", \"datatype\": \"date\"},\n {\"name\": \"shipping_address_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"total_tax\", \"datatype\": dbt.type_float()},\n {\"name\": \"tracking_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"transaction_date\", \"datatype\": \"date\"},\n {\"name\": \"transaction_source\", \"datatype\": dbt.type_string()},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_float", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.9280992, "supported_languages": null}, "macro.quickbooks_source.get_bundle_columns": {"name": "get_bundle_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_bundle_columns.sql", "original_file_path": "macros/get_bundle_columns.sql", "unique_id": "macro.quickbooks_source.get_bundle_columns", "macro_sql": "{% macro get_bundle_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"active\", \"datatype\": \"boolean\"},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt.type_string()},\n {\"name\": \"fully_qualified_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"print_grouped_items\", \"datatype\": \"boolean\"},\n {\"name\": \"purchase_cost\", \"datatype\": dbt.type_float()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"taxable\", \"datatype\": \"boolean\"},\n {\"name\": \"unit_price\", \"datatype\": dbt.type_float()},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.929524, "supported_languages": null}, "macro.quickbooks_source.get_estimate_line_columns": {"name": "get_estimate_line_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_estimate_line_columns.sql", "original_file_path": "macros/get_estimate_line_columns.sql", "unique_id": "macro.quickbooks_source.get_estimate_line_columns", "macro_sql": "{% macro get_estimate_line_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"bundle_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"bundle_quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"description\", \"datatype\": dbt.type_string()},\n {\"name\": \"description_service_date\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"description_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"discount_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"discount_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"discount_discount_percent\", \"datatype\": dbt.type_float()},\n {\"name\": \"discount_percent_based\", \"datatype\": \"boolean\"},\n {\"name\": \"discount_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"estimate_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_discount_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_discount_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_service_date\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"sales_item_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_unit_price\", \"datatype\": dbt.type_float()},\n {\"name\": \"sub_total_item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"tax_code_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.9324448, "supported_languages": null}, "macro.quickbooks_source.get_address_columns": {"name": "get_address_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_address_columns.sql", "original_file_path": "macros/get_address_columns.sql", "unique_id": "macro.quickbooks_source.get_address_columns", "macro_sql": "{% macro get_address_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"city\", \"datatype\": dbt.type_string()},\n {\"name\": \"country\", \"datatype\": dbt.type_string()},\n {\"name\": \"country_sub_division_code\", \"datatype\": dbt.type_string()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"latitude\", \"datatype\": dbt.type_string()},\n {\"name\": \"line_1\", \"datatype\": dbt.type_string()},\n {\"name\": \"line_2\", \"datatype\": dbt.type_string()},\n {\"name\": \"line_3\", \"datatype\": dbt.type_string()},\n {\"name\": \"line_4\", \"datatype\": dbt.type_string()},\n {\"name\": \"line_5\", \"datatype\": dbt.type_string()},\n {\"name\": \"longitude\", \"datatype\": dbt.type_string()},\n {\"name\": \"postal_code\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.933973, "supported_languages": null}, "macro.quickbooks_source.get_invoice_line_bundle_columns": {"name": "get_invoice_line_bundle_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_invoice_line_bundle_columns.sql", "original_file_path": "macros/get_invoice_line_bundle_columns.sql", "unique_id": "macro.quickbooks_source.get_invoice_line_bundle_columns", "macro_sql": "{% macro get_invoice_line_bundle_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"description\", \"datatype\": dbt.type_string()},\n {\"name\": \"discount_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"discount_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()},\n {\"name\": \"invoice_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"invoice_line_index\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"line_num\", \"datatype\": dbt.type_string()},\n {\"name\": \"quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"service_date\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"unit_price\", \"datatype\": dbt.type_float()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1730311925.9360719, "supported_languages": null}}, "docs": {"doc.dbt.__overview__": {"name": "__overview__", "resource_type": "doc", "package_name": "dbt", "path": "overview.md", "original_file_path": "docs/overview.md", "unique_id": "doc.dbt.__overview__", "block_contents": "### Welcome!\n\nWelcome to the auto-generated documentation for your dbt project!\n\n### Navigation\n\nYou can use the `Project` and `Database` navigation tabs on the left side of the window to explore the models\nin your project.\n\n#### Project Tab\nThe `Project` tab mirrors the directory structure of your dbt project. In this tab, you can see all of the\nmodels defined in your dbt project, as well as models imported from dbt packages.\n\n#### Database Tab\nThe `Database` tab also exposes your models, but in a format that looks more like a database explorer. This view\nshows relations (tables and views) grouped into database schemas. Note that ephemeral models are _not_ shown\nin this interface, as they do not exist in the database.\n\n### Graph Exploration\nYou can click the blue icon on the bottom-right corner of the page to view the lineage graph of your models.\n\nOn model pages, you'll see the immediate parents and children of the model you're exploring. By clicking the `Expand`\nbutton at the top-right of this lineage pane, you'll be able to see all of the models that are used to build,\nor are built from, the model you're exploring.\n\nOnce expanded, you'll be able to use the `--select` and `--exclude` model selection syntax to filter the\nmodels in the graph. For more information on model selection, check out the [dbt docs](https://docs.getdbt.com/docs/model-selection-syntax).\n\nNote that you can also right-click on models to interactively filter and explore the graph.\n\n---\n\n### More information\n\n- [What is dbt](https://docs.getdbt.com/docs/introduction)?\n- Read the [dbt viewpoint](https://docs.getdbt.com/docs/viewpoint)\n- [Installation](https://docs.getdbt.com/docs/installation)\n- Join the [dbt Community](https://www.getdbt.com/community/) for questions and discussion"}, "doc.quickbooks.ap_ar_enhanced_table": {"name": "ap_ar_enhanced_table", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.ap_ar_enhanced_table", "block_contents": "Table that unions all accounts payable records from int_quickbooks__bill_join and all accounts receivable records from int_quickbooks__invoice_join while also adding customer, vendor, address, and department level detail to the accounts payable and receivable records. Further, date and amount\ncalculations are included to show if the payable/receivable has been fully paid and/or paid on time."}, "doc.quickbooks.cash_flow_statement_table": {"name": "cash_flow_statement_table", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.cash_flow_statement_table", "block_contents": "Table that provides all line items necessary to construct a cash flow statement."}, "doc.quickbooks.expenses_sales_enhanced_table": {"name": "expenses_sales_enhanced_table", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.expenses_sales_enhanced_table", "block_contents": "Table that unions all expense records from int_quickbooks__expenses_union and all sales records from the int_quickbooks__sales_union while also adding customer, vendor, and department level detail to the expense and sales records."}, "doc.quickbooks.general_ledger_table": {"name": "general_ledger_table", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.general_ledger_table", "block_contents": "Table that unions all records from each model within the double_entry_transactions directory. The table end result is a comprehensive general ledger with an offsetting debit and credit entry for each transaction."}, "doc.quickbooks.general_ledger_by_period_table": {"name": "general_ledger_by_period_table", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.general_ledger_by_period_table", "block_contents": "Table that pulls general ledger account level balances per period from int_quickbooks__general_ledger_balances while also creating an offsetting Retained Earnings entry for Revenue - Expenses per year to be added as single Equity line balance per year."}, "doc.quickbooks.profit_and_loss_table": {"name": "profit_and_loss_table", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.profit_and_loss_table", "block_contents": "Table containing all revenue and expense account classes by calendar year and month enriched with account type, class, and parent information."}, "doc.quickbooks.account_class": {"name": "account_class", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.account_class", "block_contents": "Class of the account associated"}, "doc.quickbooks.account_name": {"name": "account_name", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.account_name", "block_contents": "Name of the account associated"}, "doc.quickbooks.account_number": {"name": "account_number", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.account_number", "block_contents": "User defined number of the account."}, "doc.quickbooks.account_ordinal": {"name": "account_ordinal", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.account_ordinal", "block_contents": "Integer value to order the account within final financial statement reporting. The customer can also configure the ordinal; [see the README for details](https://github.com/fivetran/dbt_quickbooks/blob/main/README.md#customize-the-account-ordering-of-your-profit-loss-and-balance-sheet-models)"}, "doc.quickbooks.account_sub_type": {"name": "account_sub_type", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.account_sub_type", "block_contents": "Sub type of the account associated"}, "doc.quickbooks.account_type": {"name": "account_type", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.account_type", "block_contents": "The type of account associated"}, "doc.quickbooks.calendar_date": {"name": "calendar_date", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.calendar_date", "block_contents": "Timestamp of the first calendar date of the month. This is slated to be deprecated, and the fields `period_first_day` and `period_last_day` are both offered as replacements, depending on how your company performs their financial reporting."}, "doc.quickbooks.is_sub_account": {"name": "is_sub_account", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.is_sub_account", "block_contents": "Boolean indicating whether the account is a sub account (true) or a parent account (false)."}, "doc.quickbooks.parent_account_name": {"name": "parent_account_name", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.parent_account_name", "block_contents": "The parent account name. If the account is the parent account then the account name is recorded."}, "doc.quickbooks.parent_account_number": {"name": "parent_account_number", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.parent_account_number", "block_contents": "The parent account number. If the account is the parent account then the account number is recorded."}, "doc.quickbooks.source_relation": {"name": "source_relation", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.source_relation", "block_contents": "The source of the record if the unioning functionality is being used. If not this field will be null."}, "doc.quickbooks.transaction_date": {"name": "transaction_date", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.transaction_date", "block_contents": "The date that the transaction occurred."}, "doc.quickbooks.transaction_id": {"name": "transaction_id", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.transaction_id", "block_contents": "Unique identifier of the transaction"}, "doc.quickbooks_source.account_table": {"name": "account_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.account_table", "block_contents": "Table containing components of a Chart Of Accounts and is part of a ledger. It is used to record a total monetary amount allocated against a specific use. Accounts are one of five basic types: asset, liability, revenue (income), expenses, or equity."}, "doc.quickbooks_source.address_table": {"name": "address_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.address_table", "block_contents": "Table containing address details."}, "doc.quickbooks_source.bill_line_table": {"name": "bill_line_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.bill_line_table", "block_contents": "Table containing distinct line items from bills within the `bill` table."}, "doc.quickbooks_source.bill_linked_txn_table": {"name": "bill_linked_txn_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.bill_linked_txn_table", "block_contents": "Mapping table containing bill payment transactions linked to a bill."}, "doc.quickbooks_source.bill_payment_line_table": {"name": "bill_payment_line_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.bill_payment_line_table", "block_contents": "Table containing individual line items of a bill payment, which are recorded within the `bill_payment` table."}, "doc.quickbooks_source.bill_payment_table": {"name": "bill_payment_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.bill_payment_table", "block_contents": "Table containing payment transactions bills that the business owner receives from a vendor for goods or services purchased from the vendor."}, "doc.quickbooks_source.bill_table": {"name": "bill_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.bill_table", "block_contents": "Table containing AP transactions representing a request-for-payment from a third party for goods/services rendered, received, or both."}, "doc.quickbooks_source.bundle_item_table": {"name": "bundle_item_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.bundle_item_table", "block_contents": "Mapping table containing all bundle and item combinations."}, "doc.quickbooks_source.bundle_table": {"name": "bundle_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.bundle_table", "block_contents": "Table containing all bundles possible to be used within an invoice."}, "doc.quickbooks_source.credit_card_payment_txn_table": {"name": "credit_card_payment_txn_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.credit_card_payment_txn_table", "block_contents": "Table containing all credit card payment transactions."}, "doc.quickbooks_source.credit_memo_line_table": {"name": "credit_memo_line_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.credit_memo_line_table", "block_contents": "Table containing individual records of credit memos."}, "doc.quickbooks_source.credit_memo_table": {"name": "credit_memo_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.credit_memo_table", "block_contents": "Table containing credit memo records. A credit memo is a refund or credit of payment or part of a payment for goods or services that have been sold."}, "doc.quickbooks_source.customer_table": {"name": "customer_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.customer_table", "block_contents": "Table containing customers of which are consumers of the service or product that your business offers."}, "doc.quickbooks_source.department_table": {"name": "department_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.department_table", "block_contents": "Table containing records representing physical locations such as stores, and sales regions."}, "doc.quickbooks_source.deposit_line_table": {"name": "deposit_line_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.deposit_line_table", "block_contents": "Table containing individual line items comprising the deposit."}, "doc.quickbooks_source.deposit_table": {"name": "deposit_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.deposit_table", "block_contents": "Table containing records of transactions that record on or more deposits of a customer payment or a new direct deposit."}, "doc.quickbooks_source.estimate_line_table": {"name": "estimate_line_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.estimate_line_table", "block_contents": "Table containing line item records of an estimate."}, "doc.quickbooks_source.estimate_table": {"name": "estimate_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.estimate_table", "block_contents": "Table containing estimates. An estimate represents a proposal for a financial transaction from a business to a customer for goods or services proposed to be sold, including proposed pricing."}, "doc.quickbooks_source.invoice_line_bundle_table": {"name": "invoice_line_bundle_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.invoice_line_bundle_table", "block_contents": "Table containing lines of an invoice which were bundled."}, "doc.quickbooks_source.invoice_line_table": {"name": "invoice_line_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.invoice_line_table", "block_contents": "Table containing individual records from invoices."}, "doc.quickbooks_source.invoice_linked_txn_table": {"name": "invoice_linked_txn_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.invoice_linked_txn_table", "block_contents": "Mapping table for invoices records to respective estimate and payment objects."}, "doc.quickbooks_source.invoice_table": {"name": "invoice_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.invoice_table", "block_contents": "Table containing invoice records. An Invoice represents a sales form where the customer pays for a product or service later."}, "doc.quickbooks_source.item_table": {"name": "item_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.item_table", "block_contents": "Table containing item records. An item is a thing that your company buys, sells, or re-sells, such as products and services."}, "doc.quickbooks_source.journal_entry_line_table": {"name": "journal_entry_line_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.journal_entry_line_table", "block_contents": "Table containing individual line items of a transaction associated with a journal entry."}, "doc.quickbooks_source.journal_entry_table": {"name": "journal_entry_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.journal_entry_table", "block_contents": "Table containing journal entry transactions."}, "doc.quickbooks_source.payment_line_table": {"name": "payment_line_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.payment_line_table", "block_contents": "Table containing individual line items recorded within a payment."}, "doc.quickbooks_source.payment_table": {"name": "payment_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.payment_table", "block_contents": "Table containing all payment records. The payment can be applied for a particular customer against multiple Invoices and Credit Memos. It can also be created without any Invoice or Credit Memo, by just specifying an amount."}, "doc.quickbooks_source.purchase_line_table": {"name": "purchase_line_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.purchase_line_table", "block_contents": "Table containing individual line items of a transaction associated with a purchase."}, "doc.quickbooks_source.purchase_order_line_table": {"name": "purchase_order_line_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.purchase_order_line_table", "block_contents": "Table containing individual line items of a transaction associated with a purchase order."}, "doc.quickbooks_source.purchase_order_linked_txn_table": {"name": "purchase_order_linked_txn_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.purchase_order_linked_txn_table", "block_contents": "Mapping table for purchase order records to respective bill and purchase objects."}, "doc.quickbooks_source.purchase_order_table": {"name": "purchase_order_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.purchase_order_table", "block_contents": "Table containing records of purchase orders (PO)."}, "doc.quickbooks_source.purchase_table": {"name": "purchase_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.purchase_table", "block_contents": "Table containing records of purchase expenses."}, "doc.quickbooks_source.refund_receipt_line_table": {"name": "refund_receipt_line_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.refund_receipt_line_table", "block_contents": "Table containing individual line items of a refund transaction."}, "doc.quickbooks_source.refund_receipt_table": {"name": "refund_receipt_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.refund_receipt_table", "block_contents": "Table containing refunds to the customer for a product or service that was provided."}, "doc.quickbooks_source.sales_receipt_line_table": {"name": "sales_receipt_line_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.sales_receipt_line_table", "block_contents": "Table containing individual line items of a sales transaction."}, "doc.quickbooks_source.sales_receipt_table": {"name": "sales_receipt_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.sales_receipt_table", "block_contents": "Table containing sales receipts that are given to a customer. A sales receipt, payment is received as part of the sale of goods and services. The sales receipt specifies a deposit account where the customer's payment is deposited."}, "doc.quickbooks_source.source_relation": {"name": "source_relation", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.source_relation", "block_contents": "The source of the record if the unioning functionality is being used. If not this field will be null."}, "doc.quickbooks_source.transfer_table": {"name": "transfer_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.transfer_table", "block_contents": "Table containing records of transfers. A Transfer represents a transaction where funds are moved between two accounts from the company's QuickBooks chart of accounts."}, "doc.quickbooks_source.vendor_credit_line_table": {"name": "vendor_credit_line_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.vendor_credit_line_table", "block_contents": "Table containing individual vendor credit line items."}, "doc.quickbooks_source.vendor_credit_table": {"name": "vendor_credit_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.vendor_credit_table", "block_contents": "Table containing all vendor credit records. A vendor credit is an accounts payable transaction that represents a refund or credit of payment for goods or services."}, "doc.quickbooks_source.vendor_table": {"name": "vendor_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.vendor_table", "block_contents": "Table containing all vendor records. A vendor is the seller from whom your company purchases any service or product."}, "doc.quickbooks_source.account_id": {"name": "account_id", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.account_id", "block_contents": "The identifier of the account associated"}, "doc.quickbooks_source.amount": {"name": "amount", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.amount", "block_contents": "Monetary amount of"}, "doc.quickbooks_source.class_id": {"name": "class_id", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.class_id", "block_contents": "Reference to the class associated"}, "doc.quickbooks_source.created_at": {"name": "created_at", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.created_at", "block_contents": "Timestamp of the creation date"}, "doc.quickbooks_source.currency_id": {"name": "currency_id", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.currency_id", "block_contents": "Reference to the currency"}, "doc.quickbooks_source.customer_id": {"name": "customer_id", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.customer_id", "block_contents": "Reference to the customer associated"}, "doc.quickbooks_source.department_id": {"name": "department_id", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.department_id", "block_contents": "Reference to the department"}, "doc.quickbooks_source.id": {"name": "id", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.id", "block_contents": "Unique identifier of the"}, "doc.quickbooks_source.item_id": {"name": "item_id", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.item_id", "block_contents": "Reference to the item"}, "doc.quickbooks_source._fivetran_deleted": {"name": "_fivetran_deleted", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source._fivetran_deleted", "block_contents": "Boolean created by Fivetran to indicate whether the record has been deleted."}}, "exposures": {}, "metrics": {}, "groups": {}, "selectors": {}, "disabled": {"test.quickbooks_integration_tests.consistency_general_ledger_transactions": [{"database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "consistency_general_ledger_transactions", "resource_type": "test", "package_name": "quickbooks_integration_tests", "path": "consistency/consistency_general_ledger_transactions.sql", "original_file_path": "tests/consistency/consistency_general_ledger_transactions.sql", "unique_id": "test.quickbooks_integration_tests.consistency_general_ledger_transactions", "fqn": ["quickbooks_integration_tests", "consistency", "consistency_general_ledger_transactions"], "alias": "consistency_general_ledger_transactions", "checksum": {"name": "sha256", "checksum": "551be2f06286d1af3f0573059b80a06e9f021fbc4dc3c301c0a3cde3cb9b1496"}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": ["fivetran_validations"], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": ["fivetran_validations"], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"tags": ["fivetran_validations"], "enabled": false}, "created_at": 1730311926.3720388, "config_call_dict": {"tags": ["fivetran_validations"], "enabled": false}, "relation_name": null, "raw_code": "{{ config(\n tags=\"fivetran_validations\",\n enabled=var('fivetran_validation_tests_enabled', false)\n) }}\n\nwith prod as (\n select\n 1 as join_key,\n count(*) as total_transactions\n from {{ target.schema }}_quickbooks_prod.quickbooks__general_ledger\n group by 1\n),\n\ndev as (\n\n select \n 1 as join_key,\n count(*) as total_transactions\n from {{ target.schema }}_quickbooks_dev.quickbooks__general_ledger\n group by 1\n),\n\nfinal as (\n\n select \n prod.join_key,\n prod.total_transactions as prod_total_transactions,\n dev.total_transactions as dev_total_transactions\n from prod\n full outer join dev \n on dev.join_key = prod.join_key\n)\n\nselect *\nfrom final\nwhere prod_total_transactions != dev_total_transactions", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}}], "test.quickbooks_integration_tests.consistency_profit_and_loss_amounts": [{"database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "consistency_profit_and_loss_amounts", "resource_type": "test", "package_name": "quickbooks_integration_tests", "path": "consistency/consistency_profit_and_loss_amounts.sql", "original_file_path": "tests/consistency/consistency_profit_and_loss_amounts.sql", "unique_id": "test.quickbooks_integration_tests.consistency_profit_and_loss_amounts", "fqn": ["quickbooks_integration_tests", "consistency", "consistency_profit_and_loss_amounts"], "alias": "consistency_profit_and_loss_amounts", "checksum": {"name": "sha256", "checksum": "432ef530d8d80554a6b66538d334e33011e29d77edb03dcb0273f9498afe3d26"}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": ["fivetran_validations"], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": ["fivetran_validations"], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"tags": ["fivetran_validations"], "enabled": false}, "created_at": 1730311926.3802629, "config_call_dict": {"tags": ["fivetran_validations"], "enabled": false}, "relation_name": null, "raw_code": "{{ config(\n tags=\"fivetran_validations\",\n enabled=var('fivetran_validation_tests_enabled', false)\n) }}\n\nwith prod as (\n\n select\n period_first_day,\n sum(amount) as period_net_change_cumulative,\n sum(converted_amount) as period_net_converted_change_cumulative\n from {{ target.schema }}_quickbooks_prod.quickbooks__profit_and_loss\n {{ \"where account_type not in \" ~ var('account_type_exclusions', []) ~ \"\" if var('account_type_exclusions', []) }}\n group by 1\n),\n\ndev as (\n\n select \n period_first_day,\n sum(amount) as period_net_change_cumulative,\n sum(converted_amount) as period_net_converted_change_cumulative\n from {{ target.schema }}_quickbooks_dev.quickbooks__profit_and_loss\n {{ \"where account_type not in \" ~ var('account_type_exclusions', []) ~ \"\" if var('account_type_exclusions', []) }}\n group by 1\n),\n\nfinal as (\n\n select\n prod.period_first_day,\n prod.period_net_change_cumulative as prod_period_net_change_cumulative,\n dev.period_net_change_cumulative as dev_period_net_change_cumulative, \n prod.period_net_converted_change_cumulative as prod_period_net_converted_change_cumulative,\n dev.period_net_converted_change_cumulative as dev_period_net_converted_change_cumulative\n from prod\n full outer join dev\n on dev.period_first_day = prod.period_first_day\n)\n\nselect * \nfrom final\nwhere abs(prod_period_net_change_cumulative - dev_period_net_change_cumulative) >= 0.01\nor abs(prod_period_net_converted_change_cumulative - dev_period_net_converted_change_cumulative) >= 0.01", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}}], "test.quickbooks_integration_tests.consistency_general_ledger_amounts": [{"database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "consistency_general_ledger_amounts", "resource_type": "test", "package_name": "quickbooks_integration_tests", "path": "consistency/consistency_general_ledger_amounts.sql", "original_file_path": "tests/consistency/consistency_general_ledger_amounts.sql", "unique_id": "test.quickbooks_integration_tests.consistency_general_ledger_amounts", "fqn": ["quickbooks_integration_tests", "consistency", "consistency_general_ledger_amounts"], "alias": "consistency_general_ledger_amounts", "checksum": {"name": "sha256", "checksum": "c1293c443a07d8449a1b95a802ba8aa82666a3ee7ce5a5aa8459a7ca391821c1"}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": ["fivetran_validations"], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": ["fivetran_validations"], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"tags": ["fivetran_validations"], "enabled": false}, "created_at": 1730311926.3835788, "config_call_dict": {"tags": ["fivetran_validations"], "enabled": false}, "relation_name": null, "raw_code": "{{ config(\n tags=\"fivetran_validations\",\n enabled=var('fivetran_validation_tests_enabled', false)\n) }}\n\nwith prod as (\n\n select\n transaction_id,\n sum(adjusted_amount) as adjusted_amount_cumulative, \n sum(adjusted_converted_amount) as adjusted_converted_amount_cumulative\n from {{ target.schema }}_quickbooks_prod.quickbooks__general_ledger\n {{ \"where account_type not in \" ~ var('account_type_exclusions', []) ~ \"\" if var('account_type_exclusions', []) }}\n group by 1\n),\n\ndev as (\n\n select \n transaction_id,\n sum(adjusted_amount) as adjusted_amount_cumulative, \n sum(adjusted_converted_amount) as adjusted_converted_amount_cumulative\n from {{ target.schema }}_quickbooks_dev.quickbooks__general_ledger\n {{ \"where account_type not in \" ~ var('account_type_exclusions', []) ~ \"\" if var('account_type_exclusions', []) }}\n group by 1\n),\n\nfinal as (\n\n select\n prod.transaction_id,\n prod.adjusted_amount_cumulative as prod_adjusted_amount_cumulative,\n dev.adjusted_amount_cumulative as dev_adjusted_amount_cumulative, \n prod.adjusted_converted_amount_cumulative as prod_adjusted_converted_amount_cumulative, \n dev.adjusted_converted_amount_cumulative as dev_adjusted_converted_amount_cumulative\n from prod\n full outer join dev\n on dev.transaction_id = prod.transaction_id \n)\n\nselect * \nfrom final\nwhere abs(prod_adjusted_amount_cumulative - dev_adjusted_amount_cumulative) >= 0.01\nor abs(prod_adjusted_converted_amount_cumulative - dev_adjusted_converted_amount_cumulative) >= 0.01", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}}], "test.quickbooks_integration_tests.consistency_balance_sheet_amounts": [{"database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "consistency_balance_sheet_amounts", "resource_type": "test", "package_name": "quickbooks_integration_tests", "path": "consistency/consistency_balance_sheet_amounts.sql", "original_file_path": "tests/consistency/consistency_balance_sheet_amounts.sql", "unique_id": "test.quickbooks_integration_tests.consistency_balance_sheet_amounts", "fqn": ["quickbooks_integration_tests", "consistency", "consistency_balance_sheet_amounts"], "alias": "consistency_balance_sheet_amounts", "checksum": {"name": "sha256", "checksum": "9de017e5803aad3b8b0611f7750ef3f5c6cf4fbc91234d6ff3ad6e18d726cb3f"}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": ["fivetran_validations"], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": ["fivetran_validations"], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"tags": ["fivetran_validations"], "enabled": false}, "created_at": 1730311926.387338, "config_call_dict": {"tags": ["fivetran_validations"], "enabled": false}, "relation_name": null, "raw_code": "{{ config(\n tags=\"fivetran_validations\",\n enabled=var('fivetran_validation_tests_enabled', false)\n) }}\n\nwith prod as (\n\n select\n period_first_day,\n sum(amount) as period_net_change_cumulative,\n sum(converted_amount) as period_net_converted_change_cumulative\n from {{ target.schema }}_quickbooks_prod.quickbooks__balance_sheet\n {{ \"where account_type not in \" ~ var('account_type_exclusions', []) ~ \"\" if var('account_type_exclusions', []) }}\n group by 1\n),\n\ndev as (\n\n select \n period_first_day,\n sum(amount) as period_net_change_cumulative,\n sum(converted_amount) as period_net_converted_change_cumulative\n from {{ target.schema }}_quickbooks_dev.quickbooks__balance_sheet\n {{ \"where account_type not in \" ~ var('account_type_exclusions', []) ~ \"\" if var('account_type_exclusions', []) }}\n group by 1\n),\n\nfinal as (\n\n select\n prod.period_first_day,\n prod.period_net_change_cumulative as prod_period_net_change_cumulative,\n dev.period_net_change_cumulative as dev_period_net_change_cumulative, \n prod.period_net_converted_change_cumulative as prod_period_net_converted_change_cumulative, \n dev.period_net_converted_change_cumulative as dev_period_net_converted_change_cumulative\n from prod\n full outer join dev\n on dev.period_first_day = prod.period_first_day\n)\n\nselect * \nfrom final\nwhere abs(prod_period_net_change_cumulative - dev_period_net_change_cumulative) >= 0.01\nor abs(prod_period_net_converted_change_cumulative - dev_period_net_converted_change_cumulative) >= 0.01", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}}], "test.quickbooks_integration_tests.consistency_expenses_sales_enhanced": [{"database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "consistency_expenses_sales_enhanced", "resource_type": "test", "package_name": "quickbooks_integration_tests", "path": "consistency/consistency_expenses_sales_enhanced.sql", "original_file_path": "tests/consistency/consistency_expenses_sales_enhanced.sql", "unique_id": "test.quickbooks_integration_tests.consistency_expenses_sales_enhanced", "fqn": ["quickbooks_integration_tests", "consistency", "consistency_expenses_sales_enhanced"], "alias": "consistency_expenses_sales_enhanced", "checksum": {"name": "sha256", "checksum": "703dce6400a4685179ed2f80fc2169b53640d9b46db430b2b349ee49506a215a"}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": ["fivetran_validations"], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": ["fivetran_validations"], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"tags": ["fivetran_validations"], "enabled": false}, "created_at": 1730311926.4205859, "config_call_dict": {"tags": ["fivetran_validations"], "enabled": false}, "relation_name": null, "raw_code": "{{ config(\n tags=\"fivetran_validations\",\n enabled=var('fivetran_validation_tests_enabled', false)\n) }}\n\n-- this test ensures the expenses sales enhanced end model matches the prior version\nwith prod as (\n select *\n from {{ target.schema }}_quickbooks_prod.quickbooks__expenses_sales_enhanced\n where date(transaction_date) < date({{ dbt.current_timestamp() }})\n),\n\ndev as (\n select *\n from {{ target.schema }}_quickbooks_dev.quickbooks__expenses_sales_enhanced\n where date(transaction_date) < date({{ dbt.current_timestamp() }})\n),\n\nprod_not_in_dev as (\n -- rows from prod not found in dev\n select * from prod\n except distinct\n select * from dev\n),\n\ndev_not_in_prod as (\n -- rows from dev not found in prod\n select * from dev\n except distinct\n select * from prod\n),\n\nfinal as (\n select\n *,\n 'from prod' as source\n from prod_not_in_dev\n\n union all -- union since we only care if rows are produced\n\n select\n *,\n 'from dev' as source\n from dev_not_in_prod\n)\n\nselect *\nfrom final", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.current_timestamp"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}}], "test.quickbooks_integration_tests.consistency_ap_ar_enhanced": [{"database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "consistency_ap_ar_enhanced", "resource_type": "test", "package_name": "quickbooks_integration_tests", "path": "consistency/consistency_ap_ar_enhanced.sql", "original_file_path": "tests/consistency/consistency_ap_ar_enhanced.sql", "unique_id": "test.quickbooks_integration_tests.consistency_ap_ar_enhanced", "fqn": ["quickbooks_integration_tests", "consistency", "consistency_ap_ar_enhanced"], "alias": "consistency_ap_ar_enhanced", "checksum": {"name": "sha256", "checksum": "0b2cf72d70effec9d73ff2ca0445319f944d4e7a1cbb6ca52c7d0630bdb2894d"}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": ["fivetran_validations"], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": ["fivetran_validations"], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"tags": ["fivetran_validations"], "enabled": false}, "created_at": 1730311926.42457, "config_call_dict": {"tags": ["fivetran_validations"], "enabled": false}, "relation_name": null, "raw_code": "{{ config(\n tags=\"fivetran_validations\",\n enabled=var('fivetran_validation_tests_enabled', false)\n) }}\n\n-- this test ensures the ap ar enhanced end model matches the prior version\nwith prod as (\n select *\n from {{ target.schema }}_quickbooks_prod.quickbooks__ap_ar_enhanced\n where date(due_date) < date({{ dbt.current_timestamp() }})\n),\n\ndev as (\n select *\n from {{ target.schema }}_quickbooks_dev.quickbooks__ap_ar_enhanced\n where date(due_date) < date({{ dbt.current_timestamp() }})\n),\n\nprod_not_in_dev as (\n -- rows from prod not found in dev\n select * from prod\n except distinct\n select * from dev\n),\n\ndev_not_in_prod as (\n -- rows from dev not found in prod\n select * from dev\n except distinct\n select * from prod\n),\n\nfinal as (\n select\n *,\n 'from prod' as source\n from prod_not_in_dev\n\n union all -- union since we only care if rows are produced\n\n select\n *,\n 'from dev' as source\n from dev_not_in_prod\n)\n\nselect *\nfrom final", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.current_timestamp"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}}], "test.quickbooks_integration_tests.consistency_general_ledger_by_period_amounts": [{"database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "consistency_general_ledger_by_period_amounts", "resource_type": "test", "package_name": "quickbooks_integration_tests", "path": "consistency/consistency_general_ledger_by_period_amounts.sql", "original_file_path": "tests/consistency/consistency_general_ledger_by_period_amounts.sql", "unique_id": "test.quickbooks_integration_tests.consistency_general_ledger_by_period_amounts", "fqn": ["quickbooks_integration_tests", "consistency", "consistency_general_ledger_by_period_amounts"], "alias": "consistency_general_ledger_by_period_amounts", "checksum": {"name": "sha256", "checksum": "bca4c5329234e09fcaa96aeb6b216a45bdfc0ef5bde9c4d5dded9f2246ef0ba3"}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": ["fivetran_validations"], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": ["fivetran_validations"], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"tags": ["fivetran_validations"], "enabled": false}, "created_at": 1730311926.4281669, "config_call_dict": {"tags": ["fivetran_validations"], "enabled": false}, "relation_name": null, "raw_code": "{{ config(\n tags=\"fivetran_validations\",\n enabled=var('fivetran_validation_tests_enabled', false)\n) }}\n\nwith prod as (\n\n select\n account_id,\n class_id,\n source_relation,\n period_first_day,\n period_net_change, \n period_net_converted_change\n from {{ target.schema }}_quickbooks_prod.quickbooks__general_ledger_by_period\n {{ \"where account_type not in \" ~ var('account_type_exclusions', []) ~ \"\" if var('account_type_exclusions', []) }}\n),\n\ndev as (\n\n select \n account_id,\n class_id,\n source_relation,\n period_first_day,\n period_net_change,\n period_net_converted_change\n from {{ target.schema }}_quickbooks_dev.quickbooks__general_ledger_by_period\n {{ \"where account_type not in \" ~ var('account_type_exclusions', []) ~ \"\" if var('account_type_exclusions', []) }}\n),\n\nfinal as (\n\n select\n prod.account_id,\n prod.class_id,\n prod.source_relation,\n prod.period_first_day,\n prod.period_net_change as prod_period_net_change,\n dev.period_net_change as dev_period_net_change,\n prod.period_net_converted_change as prod_period_net_converted_change,\n dev.period_net_converted_change as dev_period_net_converted_change\n from prod \n full outer join dev\n on dev.account_id = prod.account_id\n and dev.class_id = prod.class_id\n and dev.period_first_day = prod.period_first_day\n and dev.source_relation = prod.source_relation\n)\n\nselect * \nfrom final\nwhere abs(prod_period_net_change - dev_period_net_change) >= 0.01\nor abs(prod_period_net_converted_change - dev_period_net_converted_change) >= 0.01", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}}], "test.quickbooks_integration_tests.consistency_cash_flow_amounts": [{"database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "consistency_cash_flow_amounts", "resource_type": "test", "package_name": "quickbooks_integration_tests", "path": "consistency/consistency_cash_flow_amounts.sql", "original_file_path": "tests/consistency/consistency_cash_flow_amounts.sql", "unique_id": "test.quickbooks_integration_tests.consistency_cash_flow_amounts", "fqn": ["quickbooks_integration_tests", "consistency", "consistency_cash_flow_amounts"], "alias": "consistency_cash_flow_amounts", "checksum": {"name": "sha256", "checksum": "fa0bb020900ac2f04b203509abd350a72f3ad7e01cc3cb8441c933e859834e2e"}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": ["fivetran_validations"], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": ["fivetran_validations"], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"tags": ["fivetran_validations"], "enabled": false}, "created_at": 1730311926.431529, "config_call_dict": {"tags": ["fivetran_validations"], "enabled": false}, "relation_name": null, "raw_code": "{{ config(\n tags=\"fivetran_validations\",\n enabled=var('fivetran_validation_tests_enabled', false)\n) }}\n\nwith prod as (\n\n select\n cash_flow_period,\n sum(cash_net_period) as cash_net_period_cumulative, \n sum(cash_converted_net_period) as cash_converted_net_period_cumulative\n from {{ target.schema }}_quickbooks_prod.quickbooks__cash_flow_statement\n {{ \"where account_type not in \" ~ var('account_type_exclusions', []) ~ \"\" if var('account_type_exclusions', []) }}\n group by 1\n),\n\ndev as (\n\n select \n cash_flow_period,\n sum(cash_net_period) as cash_net_period_cumulative, \n sum(cash_converted_net_period) as cash_converted_net_period_cumulative\n from {{ target.schema }}_quickbooks_dev.quickbooks__cash_flow_statement\n {{ \"where account_type not in \" ~ var('account_type_exclusions', []) ~ \"\" if var('account_type_exclusions', []) }}\n group by 1\n),\n\nfinal as (\n\n select\n prod.cash_flow_period,\n prod.cash_net_period_cumulative as prod_cash_net_period_cumulative,\n dev.cash_net_period_cumulative as dev_cash_net_period_cumulative, \n prod.cash_converted_net_period_cumulative as prod_cash_converted_net_period_cumulative,\n dev.cash_converted_net_period_cumulative as dev_cash_converted_net_period_cumulative\n from prod\n full outer join dev\n on dev.cash_flow_period = prod.cash_flow_period\n)\n\nselect * \nfrom final\nwhere abs(prod_cash_net_period_cumulative - dev_cash_net_period_cumulative) >= 0.01\nor abs(prod_cash_converted_net_period_cumulative - dev_cash_converted_net_period_cumulative) >= 0.01", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}}], "test.quickbooks_integration_tests.cash_flow_amounts_match": [{"database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "cash_flow_amounts_match", "resource_type": "test", "package_name": "quickbooks_integration_tests", "path": "integrity/cash_flow_amounts_match.sql", "original_file_path": "tests/integrity/cash_flow_amounts_match.sql", "unique_id": "test.quickbooks_integration_tests.cash_flow_amounts_match", "fqn": ["quickbooks_integration_tests", "integrity", "cash_flow_amounts_match"], "alias": "cash_flow_amounts_match", "checksum": {"name": "sha256", "checksum": "2b812f35dbe6ab96cbe123fabb30fee17bb7c63e8310f03f437a8c108e63b9f9"}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": ["fivetran_validations"], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": ["fivetran_validations"], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"tags": ["fivetran_validations"], "enabled": false}, "created_at": 1730311926.43471, "config_call_dict": {"tags": ["fivetran_validations"], "enabled": false}, "relation_name": null, "raw_code": "{{ config(\n tags=\"fivetran_validations\",\n enabled=var('fivetran_validation_tests_enabled', false)\n) }}\n\nwith balance_sheet as (\n\n select \n calendar_date as cash_flow_period,\n sum(amount) as period_amount_source,\n sum(converted_amount) as period_converted_amount_source\n from {{ ref('quickbooks__balance_sheet') }}\n group by 1\n),\n\ncash_flow_statement as (\n\n select \n cash_flow_period as cash_flow_period,\n sum(cash_ending_period) as period_amount_end,\n sum(cash_converted_ending_period) as period_converted_amount_end\n from {{ ref('quickbooks__cash_flow_statement') }}\n group by 1\n),\n\nmatch_check as (\n\n select\n balance_sheet.cash_flow_period,\n balance_sheet.period_amount_source,\n balance_sheet.period_converted_amount_source,\n cash_flow_statement.period_amount_end,\n cash_flow_statement.period_converted_amount_end\n from balance_sheet\n full outer join cash_flow_statement \n on balance_sheet.cash_flow_period = cash_flow_statement.cash_flow_period\n)\n\nselect *\nfrom match_check\nwhere abs(period_amount_source - period_amount_end) >= 0.01\nor abs(period_converted_amount_source - period_converted_amount_end) >= 0.01", "language": "sql", "refs": [{"name": "quickbooks__balance_sheet", "package": null, "version": null}, {"name": "quickbooks__cash_flow_statement", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}}], "test.quickbooks_integration_tests.profit_and_loss_amounts_match": [{"database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "profit_and_loss_amounts_match", "resource_type": "test", "package_name": "quickbooks_integration_tests", "path": "integrity/profit_and_loss_amounts_match.sql", "original_file_path": "tests/integrity/profit_and_loss_amounts_match.sql", "unique_id": "test.quickbooks_integration_tests.profit_and_loss_amounts_match", "fqn": ["quickbooks_integration_tests", "integrity", "profit_and_loss_amounts_match"], "alias": "profit_and_loss_amounts_match", "checksum": {"name": "sha256", "checksum": "60d978c1b2bc6c42db1fbad402daf4efe0fbc84cc0fa20655b86c91ba79847d5"}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": ["fivetran_validations"], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": ["fivetran_validations"], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"tags": ["fivetran_validations"], "enabled": false}, "created_at": 1730311926.438702, "config_call_dict": {"tags": ["fivetran_validations"], "enabled": false}, "relation_name": null, "raw_code": "{{ config(\n tags=\"fivetran_validations\",\n enabled=var('fivetran_validation_tests_enabled', false)\n) }}\n\nwith profit_and_loss_source as (\n\n select \n period_first_day,\n sum(period_net_change) as period_amount_source,\n sum(period_net_converted_change) as period_converted_amount_source\n from {{ ref('int_quickbooks__general_ledger_balances') }}\n where financial_statement_helper = 'income_statement'\n group by 1\n),\n\nprofit_and_loss_end as (\n\n select \n period_first_day,\n sum(amount) as period_amount_end,\n sum(converted_amount) as period_converted_amount_end\n from {{ ref('quickbooks__profit_and_loss') }}\n group by 1\n),\n\nmatch_check as (\n\n select\n profit_and_loss_source.period_first_day,\n profit_and_loss_source.period_amount_source,\n profit_and_loss_source.period_converted_amount_source,\n profit_and_loss_end.period_amount_end,\n profit_and_loss_end.period_converted_amount_end\n from profit_and_loss_source\n full outer join profit_and_loss_end\n on profit_and_loss_source.period_first_day = profit_and_loss_end.period_first_day\n)\n\nselect *\nfrom match_check\nwhere abs(period_amount_source - period_amount_end) >= 0.01\nor abs(period_converted_amount_source - period_converted_amount_end) >= 0.01", "language": "sql", "refs": [{"name": "int_quickbooks__general_ledger_balances", "package": null, "version": null}, {"name": "quickbooks__profit_and_loss", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}}], "test.quickbooks_integration_tests.deposit_ledger_amounts_match": [{"database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "deposit_ledger_amounts_match", "resource_type": "test", "package_name": "quickbooks_integration_tests", "path": "integrity/deposit_ledger_amounts_match.sql", "original_file_path": "tests/integrity/deposit_ledger_amounts_match.sql", "unique_id": "test.quickbooks_integration_tests.deposit_ledger_amounts_match", "fqn": ["quickbooks_integration_tests", "integrity", "deposit_ledger_amounts_match"], "alias": "deposit_ledger_amounts_match", "checksum": {"name": "sha256", "checksum": "e5adfe256af0b5cfdbe973d740a1102fe66c4f01f21b51cfd3aa1da81b2fef07"}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": ["fivetran_validations"], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": ["fivetran_validations"], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"tags": ["fivetran_validations"], "enabled": false}, "created_at": 1730311926.4417942, "config_call_dict": {"tags": ["fivetran_validations"], "enabled": false}, "relation_name": null, "raw_code": "{{ config(\n tags=\"fivetran_validations\",\n enabled=var('fivetran_validation_tests_enabled', false)\n) }}\n\nwith deposits as (\n\n select *\n from {{ ref('int_quickbooks__deposit_double_entry') }}\n),\n\n\naccounts as (\n\n select *\n from {{ ref('int_quickbooks__account_classifications') }}\n),\n\ndeposits_ledger_source as (\n\n select \n deposits.transaction_id,\n deposits.source_relation,\n deposits.index as transaction_index,\n deposits.account_id,\n deposits.transaction_type,\n deposits.transaction_source,\n sum(case when accounts.transaction_type = deposits.transaction_type\n then deposits.amount \n else deposits.amount * -1 end) as adjusted_amount_source,\n sum(case when accounts.transaction_type = deposits.transaction_type\n then deposits.converted_amount\n else deposits.converted_amount * -1 end) as adjusted_converted_amount_source\n from deposits\n\n left join accounts\n on deposits.account_id = accounts.account_id\n and deposits.source_relation = accounts.source_relation\n \n group by 1, 2, 3, 4, 5, 6\n),\n\ndeposits_ledger_end as (\n\n select \n transaction_id,\n source_relation,\n transaction_index,\n account_id,\n transaction_type,\n transaction_source,\n adjusted_amount as adjusted_amount_end,\n adjusted_converted_amount as adjusted_converted_amount_end\n from {{ ref('quickbooks__general_ledger') }} \n where transaction_type = 'deposit' \n),\n\nmatch_check as (\n\n select \n deposits_ledger_source.transaction_id,\n deposits_ledger_source.source_relation,\n deposits_ledger_source.transaction_index,\n deposits_ledger_source.account_id,\n deposits_ledger_source.transaction_type,\n deposits_ledger_source.transaction_source,\n deposits_ledger_source.adjusted_amount_source,\n deposits_ledger_source.adjusted_converted_amount_source,\n deposits_ledger_end.adjusted_amount_end,\n deposits_ledger_end.adjusted_converted_amount_end\n from deposits_ledger_source\n full outer join deposits_ledger_end\n on deposits_ledger_source.transaction_id = deposits_ledger_end.transaction_id\n and deposits_ledger_source.source_relation = deposits_ledger_end.source_relation\n and deposits_ledger_source.transaction_index = deposits_ledger_end.transaction_index\n and deposits_ledger_source.account_id = deposits_ledger_end.account_id\n and deposits_ledger_source.transaction_type = deposits_ledger_end.transaction_type\n and deposits_ledger_source.transaction_source = deposits_ledger_end.transaction_source\n)\n\nselect *\nfrom match_check\nwhere abs(adjusted_amount_source - adjusted_amount_end) >= 0.01\nor abs(adjusted_converted_amount_source - adjusted_converted_amount_end) >= 0.01", "language": "sql", "refs": [{"name": "int_quickbooks__deposit_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__account_classifications", "package": null, "version": null}, {"name": "quickbooks__general_ledger", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}}], "test.quickbooks_integration_tests.general_ledger_amounts_match": [{"database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "general_ledger_amounts_match", "resource_type": "test", "package_name": "quickbooks_integration_tests", "path": "integrity/general_ledger_amounts_match.sql", "original_file_path": "tests/integrity/general_ledger_amounts_match.sql", "unique_id": "test.quickbooks_integration_tests.general_ledger_amounts_match", "fqn": ["quickbooks_integration_tests", "integrity", "general_ledger_amounts_match"], "alias": "general_ledger_amounts_match", "checksum": {"name": "sha256", "checksum": "e925ff99f24376c4dd0d8e843dc69b81cd937733a7f24ef5d4388090faaba124"}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": ["fivetran_validations"], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": ["fivetran_validations"], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"tags": ["fivetran_validations"], "enabled": false}, "created_at": 1730311926.445151, "config_call_dict": {"tags": ["fivetran_validations"], "enabled": false}, "relation_name": null, "raw_code": "{{ config(\n tags=\"fivetran_validations\",\n enabled=var('fivetran_validation_tests_enabled', false)\n) }}\n\nwith unioned_models as (\n\n {{ dbt_utils.union_relations(quickbooks.get_enabled_unioned_models()) }}\n),\n\naccounts as (\n\n select *\n from {{ ref('int_quickbooks__account_classifications') }}\n),\n\n\ngeneral_ledger_source as (\n\n select \n unioned_models.transaction_id,\n unioned_models.source_relation,\n unioned_models.index as transaction_index,\n unioned_models.account_id,\n unioned_models.transaction_type,\n unioned_models.transaction_source,\n sum(case when accounts.transaction_type = unioned_models.transaction_type\n then unioned_models.amount \n else unioned_models.amount * -1 end) as adjusted_amount_source,\n sum(case when accounts.transaction_type = unioned_models.transaction_type\n then unioned_models.converted_amount\n else unioned_models.converted_amount * -1 end) as adjusted_converted_amount_source\n from unioned_models\n\n left join accounts\n on unioned_models.account_id = accounts.account_id\n and unioned_models.source_relation = accounts.source_relation\n \n group by 1, 2, 3, 4, 5, 6\n),\n\ngeneral_ledger_end as (\n\n select \n transaction_id,\n source_relation,\n transaction_index,\n account_id,\n transaction_type,\n transaction_source,\n adjusted_amount as adjusted_amount_end,\n adjusted_converted_amount as adjusted_converted_amount_end\n from {{ ref('quickbooks__general_ledger') }} \n),\n\nmatch_check as (\n\n select \n general_ledger_source.transaction_id,\n general_ledger_source.source_relation,\n general_ledger_source.transaction_index,\n general_ledger_source.account_id,\n general_ledger_source.transaction_type,\n general_ledger_source.transaction_source,\n general_ledger_source.adjusted_amount_source,\n general_ledger_source.adjusted_converted_amount_source,\n general_ledger_end.adjusted_amount_end,\n general_ledger_end.adjusted_converted_amount_end\n from general_ledger_source\n full outer join general_ledger_end\n on general_ledger_source.transaction_id = general_ledger_end.transaction_id\n and general_ledger_source.source_relation = general_ledger_end.source_relation\n and general_ledger_source.transaction_index = general_ledger_end.transaction_index\n and general_ledger_source.account_id = general_ledger_end.account_id\n and general_ledger_source.transaction_type = general_ledger_end.transaction_type\n and general_ledger_source.transaction_source = general_ledger_end.transaction_source\n)\n\nselect *\nfrom match_check\nwhere abs(adjusted_amount_source - adjusted_amount_end) >= 0.01\nor abs(adjusted_converted_amount_source - adjusted_converted_amount_end) >= 0.01", "language": "sql", "refs": [{"name": "int_quickbooks__purchase_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__bill_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__credit_memo_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__deposit_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__invoice_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__journal_entry_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__payment_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__refund_receipt_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__sales_receipt_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__transfer_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__vendor_credit_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__bill_payment_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__credit_card_pymt_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__account_classifications", "package": null, "version": null}, {"name": "quickbooks__general_ledger", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks.get_enabled_unioned_models", "macro.dbt_utils.union_relations"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}}], "test.quickbooks_integration_tests.balance_sheet_amounts_match": [{"database": "postgres", "schema": "quickbooks_integration_tests_17_dbt_test__audit", "name": "balance_sheet_amounts_match", "resource_type": "test", "package_name": "quickbooks_integration_tests", "path": "integrity/balance_sheet_amounts_match.sql", "original_file_path": "tests/integrity/balance_sheet_amounts_match.sql", "unique_id": "test.quickbooks_integration_tests.balance_sheet_amounts_match", "fqn": ["quickbooks_integration_tests", "integrity", "balance_sheet_amounts_match"], "alias": "balance_sheet_amounts_match", "checksum": {"name": "sha256", "checksum": "850ece43b2ba457419dfd2c94c3a28c94d71496025897f0e98fda77ce9150a8c"}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": ["fivetran_validations"], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": ["fivetran_validations"], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"tags": ["fivetran_validations"], "enabled": false}, "created_at": 1730311926.4615839, "config_call_dict": {"tags": ["fivetran_validations"], "enabled": false}, "relation_name": null, "raw_code": "{{ config(\n tags=\"fivetran_validations\",\n enabled=var('fivetran_validation_tests_enabled', false)\n) }}\n\n\nwith balance_sheet_source_union as (\n\n select \n period_first_day,\n period_ending_balance,\n period_ending_converted_balance\n from {{ ref('int_quickbooks__general_ledger_balances') }}\n where financial_statement_helper = 'balance_sheet'\n\n union all\n\n select \n period_first_day,\n period_ending_balance as period_amount_source,\n period_ending_converted_balance as period_converted_amount_source\n from {{ ref('int_quickbooks__retained_earnings') }}\n where financial_statement_helper = 'balance_sheet'\n), \n\nbalance_sheet_source as (\n\n select \n period_first_day,\n sum(period_ending_balance) as period_amount_source,\n sum(period_ending_converted_balance) as period_converted_amount_source\n from balance_sheet_source_union\n group by 1\n),\n\nbalance_sheet_end as (\n\n select\n period_first_day,\n sum(amount) as period_amount_end,\n sum(converted_amount) as period_converted_amount_end\n from {{ ref('quickbooks__balance_sheet') }}\n group by 1\n),\n\n\nmatch_check as (\n\n select \n balance_sheet_source.period_first_day,\n balance_sheet_source.period_amount_source,\n balance_sheet_source.period_converted_amount_source,\n balance_sheet_end.period_amount_end,\n balance_sheet_end.period_converted_amount_end\n from balance_sheet_source\n full outer join balance_sheet_end \n on balance_sheet_source.period_first_day = balance_sheet_end.period_first_day\n)\n\nselect *\nfrom match_check\nwhere abs(period_amount_source - period_amount_end) >= 0.01\nor abs(period_converted_amount_source - period_converted_amount_end) >= 0.01", "language": "sql", "refs": [{"name": "int_quickbooks__general_ledger_balances", "package": null, "version": null}, {"name": "int_quickbooks__retained_earnings", "package": null, "version": null}, {"name": "quickbooks__balance_sheet", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}}], "model.quickbooks_source.stg_quickbooks__purchase_order": [{"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__purchase_order", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__purchase_order.sql", "original_file_path": "models/stg_quickbooks__purchase_order.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__purchase_order", "fqn": ["quickbooks_source", "stg_quickbooks__purchase_order"], "alias": "stg_quickbooks__purchase_order", "checksum": {"name": "sha256", "checksum": "8e15004ff7dd6f58f0b34b708baf4607d233edaaa16bbf228ef67d5c86030879"}, "config": {"enabled": false, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "{{ doc('purchase_order_table') }}", "columns": {"purchase_order_id": {"name": "purchase_order_id", "description": "{{ doc('id') }} purchase order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "{{ doc('source_relation') }}", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the date when the purchase order was created.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "custom_po_number": {"name": "custom_po_number", "description": "Custom field for PO number.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "due_date": {"name": "due_date", "description": "Date when the purchase order is due.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date when the purchase order occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "payable_account_id": {"name": "payable_account_id", "description": "Account id for which the purchase order will credited.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "status": {"name": "status", "description": "Purchase order status. Valid values are \"Open\" and \"Closed\".", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_id": {"name": "vendor_id", "description": "Reference to the vendor for the purchase order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": false}, "created_at": 1730311928.029341, "config_call_dict": {"enabled": false}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__purchase_order\"", "raw_code": "--To enable this model, set the using_invoice variable within your dbt_project.yml file to True.\n{{ config(enabled=var('using_purchase_order', False)) }}\n\nwith base as (\n\n select *\n from {{ ref('stg_quickbooks__purchase_order_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns\n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns\n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__purchase_order_tmp')),\n staging_columns=get_purchase_order_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n from base\n),\n\nfinal as (\n\n select\n cast(id as {{ dbt.type_string() }}) as purchase_order_id,\n created_at,\n custom_po_number,\n cast(doc_number as {{ dbt.type_string() }}) as doc_number,\n currency_id,\n exchange_rate,\n total_amount,\n cast(payable_account_id as {{ dbt.type_string() }}) as payable_account_id,\n cast(vendor_id as {{ dbt.type_string() }}) as vendor_id,\n cast( {{ dbt.date_trunc('day', 'transaction_date') }} as date) as transaction_date,\n status,\n cast( {{ dbt.date_trunc('day', 'due_date') }} as date) as due_date, \n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect *\nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase_order_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__purchase_order_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_purchase_order_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string", "macro.dbt.date_trunc"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null, "defer_relation": null}], "model.quickbooks_source.stg_quickbooks__purchase_order_line": [{"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__purchase_order_line", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__purchase_order_line.sql", "original_file_path": "models/stg_quickbooks__purchase_order_line.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__purchase_order_line", "fqn": ["quickbooks_source", "stg_quickbooks__purchase_order_line"], "alias": "stg_quickbooks__purchase_order_line", "checksum": {"name": "sha256", "checksum": "6ae0b5a2541deaa12283dc51b2c10bf1c5d6293358da0f145690d9088c4d1de7"}, "config": {"enabled": false, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "{{ doc('purchase_order_line_table') }}", "columns": {"purchase_order_id": {"name": "purchase_order_id", "description": "{{ doc('id') }} purchase order record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the purchase order record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "{{ doc('source_relation') }}", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_account_id": {"name": "account_expense_account_id", "description": "Account id of the account which the purchase order is credited.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_class_id": {"name": "account_expense_class_id", "description": "The class reference associated with the account based expense purchase order line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_billable_status": {"name": "account_expense_billable_status", "description": "Status of the purchase billable.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_customer_id": {"name": "account_expense_customer_id", "description": "The customer id associated with the account based purchase order line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_tax_code_id": {"name": "account_expense_tax_code_id", "description": "Tax code reference associated to the purchase order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_item_id": {"name": "item_expense_item_id", "description": "The item reference associated with the item based expense purchase order line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_billable_status": {"name": "item_expense_billable_status", "description": "The billable status of the item based expense purchase order line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_customer_id": {"name": "item_expense_customer_id", "description": "The customer id associated with the item based purchase order line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the purchase.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "User defined description of the purchase line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": false}, "created_at": 1730311928.028142, "config_call_dict": {"enabled": false}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__purchase_order_line\"", "raw_code": "--To enable this model, set the using_invoice variable within your dbt_project.yml file to True.\n{{ config(enabled=var('using_purchase_order', False)) }}\n\nwith base as (\n\n select *\n from {{ ref('stg_quickbooks__purchase_order_line_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns\n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns\n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__purchase_order_line_tmp')),\n staging_columns=get_purchase_order_line_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n\n from base\n),\n\nfinal as (\n\n select\n cast(purchase_order_id as {{ dbt.type_string() }}) as purchase_order_id,\n index,\n cast(account_expense_account_id as {{ dbt.type_string() }}) as account_expense_account_id,\n account_expense_class_id,\n account_expense_billable_status,\n cast(account_expense_customer_id as {{ dbt.type_string() }}) as account_expense_customer_id,\n account_expense_tax_code_id,\n cast(item_expense_item_id as {{ dbt.type_string() }}) as item_expense_item_id,\n item_expense_billable_status,\n cast(item_expense_customer_id as {{ dbt.type_string() }}) as item_expense_customer_id,\n amount,\n description,\n source_relation\n from fields\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase_order_line_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__purchase_order_line_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_purchase_order_line_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null, "defer_relation": null}], "model.quickbooks_source.stg_quickbooks__purchase_order_linked_txn": [{"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__purchase_order_linked_txn", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__purchase_order_linked_txn.sql", "original_file_path": "models/stg_quickbooks__purchase_order_linked_txn.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__purchase_order_linked_txn", "fqn": ["quickbooks_source", "stg_quickbooks__purchase_order_linked_txn"], "alias": "stg_quickbooks__purchase_order_linked_txn", "checksum": {"name": "sha256", "checksum": "6ef807fad30f8788b8a9944047e1259c1a2f433498d450b11d2c7cdf6a1929b7"}, "config": {"enabled": false, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "{{ doc('purchase_order_linked_txn_table') }}", "columns": {"purchase_order_id": {"name": "purchase_order_id", "description": "Reference to the unique purchase order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "{{ doc('source_relation') }}", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "bill_id": {"name": "bill_id", "description": "Reference to the respective bill object for the purchase order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "purchase_id": {"name": "purchase_id", "description": "Reference to the respective purchase object for the purchase_order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_credit_id": {"name": "vendor_credit_id", "description": "Reference to the respective vendor credit object for the purchase_order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the purchase order mapping record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": false}, "created_at": 1730311928.028506, "config_call_dict": {"enabled": false}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__purchase_order_linked_txn\"", "raw_code": "--To enable this model, set the using_invoice variable within your dbt_project.yml file to True.\n{{ config(enabled=var('using_purchase_order', False)) }}\n\nwith base as (\n\n select *\n from {{ ref('stg_quickbooks__purchase_order_linked_txn_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns\n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns\n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__purchase_order_linked_txn_tmp')),\n staging_columns=get_purchase_order_linked_txn_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n from base\n),\n\nfinal as (\n\n select\n cast(purchase_order_id as {{ dbt.type_string() }}) as purchase_order_id,\n cast(bill_id as {{ dbt.type_string() }}) as bill_id,\n cast(purchase_id as {{ dbt.type_string() }}) as purchase_id,\n cast(vendor_credit_id as {{ dbt.type_string() }}) as vendor_credit_id,\n index,\n source_relation\n from fields\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase_order_linked_txn_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__purchase_order_linked_txn_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_purchase_order_linked_txn_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null, "defer_relation": null}], "model.quickbooks_source.stg_quickbooks__purchase_order_line_tmp": [{"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__purchase_order_line_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__purchase_order_line_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__purchase_order_line_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__purchase_order_line_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__purchase_order_line_tmp"], "alias": "stg_quickbooks__purchase_order_line_tmp", "checksum": {"name": "sha256", "checksum": "be4cdef26ee4b271e7c425130b4c3b80be45214b5be926af060d32331badcc0f"}, "config": {"enabled": false, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": false}, "created_at": 1730311927.646314, "config_call_dict": {"enabled": false}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__purchase_order_line_tmp\"", "raw_code": "--To enable this model, set the using_invoice variable within your dbt_project.yml file to True.\n{{ config(enabled=var('using_purchase_order', False)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='purchase_order_line', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='purchase_order_line',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "purchase_order_line"], ["quickbooks", "purchase_order_line"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null, "defer_relation": null}], "model.quickbooks_source.stg_quickbooks__purchase_order_tmp": [{"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__purchase_order_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__purchase_order_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__purchase_order_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__purchase_order_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__purchase_order_tmp"], "alias": "stg_quickbooks__purchase_order_tmp", "checksum": {"name": "sha256", "checksum": "0f307a8a80ab953923a4cbae395cd5836055698095ad6d1fbb47c09a8f829e8c"}, "config": {"enabled": false, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": false}, "created_at": 1730311927.727394, "config_call_dict": {"enabled": false}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__purchase_order_tmp\"", "raw_code": "--To enable this model, set the using_invoice variable within your dbt_project.yml file to True.\n{{ config(enabled=var('using_purchase_order', False)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='purchase_order', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='purchase_order',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "purchase_order"], ["quickbooks", "purchase_order"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null, "defer_relation": null}], "model.quickbooks_source.stg_quickbooks__purchase_order_linked_txn_tmp": [{"database": "postgres", "schema": "quickbooks_integration_tests_17_quickbooks_dev", "name": "stg_quickbooks__purchase_order_linked_txn_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__purchase_order_linked_txn_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__purchase_order_linked_txn_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__purchase_order_linked_txn_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__purchase_order_linked_txn_tmp"], "alias": "stg_quickbooks__purchase_order_linked_txn_tmp", "checksum": {"name": "sha256", "checksum": "926409c011fa67fdcd598c4c0c21b87fb5dabe8654d46f0ee7caac0a028d5d99"}, "config": {"enabled": false, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": false}, "created_at": 1730311927.808706, "config_call_dict": {"enabled": false}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_17_quickbooks_dev\".\"stg_quickbooks__purchase_order_linked_txn_tmp\"", "raw_code": "--To enable this model, set the using_invoice variable within your dbt_project.yml file to True.\n{{ config(enabled=var('using_purchase_order', False)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='purchase_order_linked_txn', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='purchase_order_linked_txn',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "purchase_order_linked_txn"], ["quickbooks", "purchase_order_linked_txn"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null, "defer_relation": null}]}, "parent_map": {"seed.quickbooks_integration_tests.bill_payment_data": [], "seed.quickbooks_integration_tests.bundle_data": [], "seed.quickbooks_integration_tests.bill_payment_line_data": [], "seed.quickbooks_integration_tests.payment_line_data": [], "seed.quickbooks_integration_tests.vendor_data": [], "seed.quickbooks_integration_tests.address_data": [], "seed.quickbooks_integration_tests.purchase_order_linked_txn_data": [], "seed.quickbooks_integration_tests.invoice_line_bundle_data": [], "seed.quickbooks_integration_tests.invoice_data": [], "seed.quickbooks_integration_tests.payment_data": [], "seed.quickbooks_integration_tests.invoice_line_data": [], "seed.quickbooks_integration_tests.deposit_line_data": [], "seed.quickbooks_integration_tests.estimate_line_data": [], "seed.quickbooks_integration_tests.purchase_data": [], "seed.quickbooks_integration_tests.refund_receipt_line_data": [], "seed.quickbooks_integration_tests.credit_memo_line_data": [], "seed.quickbooks_integration_tests.bill_data": [], "seed.quickbooks_integration_tests.bill_linked_txn_data": [], "seed.quickbooks_integration_tests.vendor_credit_data": [], "seed.quickbooks_integration_tests.customer_data": [], "seed.quickbooks_integration_tests.estimate_data": [], "seed.quickbooks_integration_tests.purchase_line_data": [], "seed.quickbooks_integration_tests.journal_entry_line_data": [], "seed.quickbooks_integration_tests.journal_entry_data": [], "seed.quickbooks_integration_tests.bill_line_data": [], "seed.quickbooks_integration_tests.bundle_item_data": [], "seed.quickbooks_integration_tests.invoice_linked_txn_data": [], "seed.quickbooks_integration_tests.account_data": [], "seed.quickbooks_integration_tests.purchase_order_line_data": [], "seed.quickbooks_integration_tests.transfer_data": [], "seed.quickbooks_integration_tests.purchase_order_data": [], "seed.quickbooks_integration_tests.sales_receipt_line_data": [], "seed.quickbooks_integration_tests.vendor_credit_line_data": [], "seed.quickbooks_integration_tests.credit_card_payment_txn_data": [], "seed.quickbooks_integration_tests.credit_memo_data": [], "seed.quickbooks_integration_tests.department_data": [], "seed.quickbooks_integration_tests.item_data": [], "seed.quickbooks_integration_tests.sales_receipt_data": [], "seed.quickbooks_integration_tests.deposit_data": [], "seed.quickbooks_integration_tests.refund_receipt_data": [], "model.quickbooks.quickbooks__balance_sheet": ["model.quickbooks.quickbooks__general_ledger_by_period"], "model.quickbooks.quickbooks__general_ledger_by_period": ["model.quickbooks.int_quickbooks__general_ledger_balances", "model.quickbooks.int_quickbooks__retained_earnings"], "model.quickbooks.quickbooks__general_ledger": ["model.quickbooks.int_quickbooks__account_classifications", "model.quickbooks.int_quickbooks__bill_double_entry", "model.quickbooks.int_quickbooks__bill_payment_double_entry", "model.quickbooks.int_quickbooks__credit_card_pymt_double_entry", "model.quickbooks.int_quickbooks__credit_memo_double_entry", "model.quickbooks.int_quickbooks__deposit_double_entry", "model.quickbooks.int_quickbooks__invoice_double_entry", "model.quickbooks.int_quickbooks__journal_entry_double_entry", "model.quickbooks.int_quickbooks__payment_double_entry", "model.quickbooks.int_quickbooks__purchase_double_entry", "model.quickbooks.int_quickbooks__refund_receipt_double_entry", "model.quickbooks.int_quickbooks__sales_receipt_double_entry", "model.quickbooks.int_quickbooks__transfer_double_entry", "model.quickbooks.int_quickbooks__vendor_credit_double_entry"], "model.quickbooks.quickbooks__profit_and_loss": ["model.quickbooks.quickbooks__general_ledger_by_period"], "model.quickbooks.quickbooks__expenses_sales_enhanced": ["model.quickbooks.int_quickbooks__expenses_union", "model.quickbooks.int_quickbooks__sales_union"], "model.quickbooks.quickbooks__ap_ar_enhanced": ["model.quickbooks.int_quickbooks__bill_join", "model.quickbooks.int_quickbooks__invoice_join", "model.quickbooks_source.stg_quickbooks__address", "model.quickbooks_source.stg_quickbooks__customer", "model.quickbooks_source.stg_quickbooks__department", "model.quickbooks_source.stg_quickbooks__vendor"], "model.quickbooks.quickbooks__cash_flow_statement": ["model.quickbooks.int_quickbooks__cash_flow_classifications"], "model.quickbooks.int_quickbooks__transfer_double_entry": ["model.quickbooks_source.stg_quickbooks__transfer"], "model.quickbooks.int_quickbooks__credit_memo_double_entry": ["model.quickbooks_source.stg_quickbooks__account", "model.quickbooks_source.stg_quickbooks__credit_memo", "model.quickbooks_source.stg_quickbooks__credit_memo_line", "model.quickbooks_source.stg_quickbooks__item"], "model.quickbooks.int_quickbooks__refund_receipt_double_entry": ["model.quickbooks_source.stg_quickbooks__item", "model.quickbooks_source.stg_quickbooks__refund_receipt", "model.quickbooks_source.stg_quickbooks__refund_receipt_line"], "model.quickbooks.int_quickbooks__journal_entry_double_entry": ["model.quickbooks_source.stg_quickbooks__journal_entry", "model.quickbooks_source.stg_quickbooks__journal_entry_line"], "model.quickbooks.int_quickbooks__bill_payment_double_entry": ["model.quickbooks_source.stg_quickbooks__account", "model.quickbooks_source.stg_quickbooks__bill_payment", "model.quickbooks_source.stg_quickbooks__bill_payment_line"], "model.quickbooks.int_quickbooks__deposit_double_entry": ["model.quickbooks_source.stg_quickbooks__account", "model.quickbooks_source.stg_quickbooks__deposit", "model.quickbooks_source.stg_quickbooks__deposit_line"], "model.quickbooks.int_quickbooks__purchase_double_entry": ["model.quickbooks_source.stg_quickbooks__item", "model.quickbooks_source.stg_quickbooks__purchase", "model.quickbooks_source.stg_quickbooks__purchase_line"], "model.quickbooks.int_quickbooks__sales_receipt_double_entry": ["model.quickbooks_source.stg_quickbooks__item", "model.quickbooks_source.stg_quickbooks__sales_receipt", "model.quickbooks_source.stg_quickbooks__sales_receipt_line"], "model.quickbooks.int_quickbooks__vendor_credit_double_entry": ["model.quickbooks_source.stg_quickbooks__item", "model.quickbooks_source.stg_quickbooks__vendor_credit", "model.quickbooks_source.stg_quickbooks__vendor_credit_line"], "model.quickbooks.int_quickbooks__credit_card_pymt_double_entry": ["model.quickbooks_source.stg_quickbooks__credit_card_payment_txn"], "model.quickbooks.int_quickbooks__bill_double_entry": ["model.quickbooks_source.stg_quickbooks__bill", "model.quickbooks_source.stg_quickbooks__bill_line", "model.quickbooks_source.stg_quickbooks__item"], "model.quickbooks.int_quickbooks__payment_double_entry": ["model.quickbooks_source.stg_quickbooks__account", "model.quickbooks_source.stg_quickbooks__payment", "model.quickbooks_source.stg_quickbooks__payment_line"], "model.quickbooks.int_quickbooks__invoice_double_entry": ["model.quickbooks_source.stg_quickbooks__account", "model.quickbooks_source.stg_quickbooks__bundle", "model.quickbooks_source.stg_quickbooks__bundle_item", "model.quickbooks_source.stg_quickbooks__invoice", "model.quickbooks_source.stg_quickbooks__invoice_line", "model.quickbooks_source.stg_quickbooks__invoice_line_bundle", "model.quickbooks_source.stg_quickbooks__item"], "model.quickbooks.int_quickbooks__invoice_transactions": ["model.quickbooks_source.stg_quickbooks__invoice", "model.quickbooks_source.stg_quickbooks__invoice_line", "model.quickbooks_source.stg_quickbooks__item"], "model.quickbooks.int_quickbooks__bill_transactions": ["model.quickbooks_source.stg_quickbooks__bill", "model.quickbooks_source.stg_quickbooks__bill_line", "model.quickbooks_source.stg_quickbooks__item"], "model.quickbooks.int_quickbooks__journal_entry_transactions": ["model.quickbooks_source.stg_quickbooks__journal_entry", "model.quickbooks_source.stg_quickbooks__journal_entry_line"], "model.quickbooks.int_quickbooks__refund_receipt_transactions": ["model.quickbooks_source.stg_quickbooks__item", "model.quickbooks_source.stg_quickbooks__refund_receipt", "model.quickbooks_source.stg_quickbooks__refund_receipt_line"], "model.quickbooks.int_quickbooks__vendor_credit_transactions": ["model.quickbooks_source.stg_quickbooks__item", "model.quickbooks_source.stg_quickbooks__vendor_credit", "model.quickbooks_source.stg_quickbooks__vendor_credit_line"], "model.quickbooks.int_quickbooks__purchase_transactions": ["model.quickbooks_source.stg_quickbooks__item", "model.quickbooks_source.stg_quickbooks__purchase", "model.quickbooks_source.stg_quickbooks__purchase_line"], "model.quickbooks.int_quickbooks__sales_receipt_transactions": ["model.quickbooks_source.stg_quickbooks__item", "model.quickbooks_source.stg_quickbooks__sales_receipt", "model.quickbooks_source.stg_quickbooks__sales_receipt_line"], "model.quickbooks.int_quickbooks__deposit_transactions": ["model.quickbooks_source.stg_quickbooks__deposit", "model.quickbooks_source.stg_quickbooks__deposit_line"], "model.quickbooks.int_quickbooks__credit_memo_transactions": ["model.quickbooks_source.stg_quickbooks__credit_memo", "model.quickbooks_source.stg_quickbooks__credit_memo_line", "model.quickbooks_source.stg_quickbooks__item"], "model.quickbooks.int_quickbooks__cash_flow_classifications": ["model.quickbooks.quickbooks__balance_sheet"], "model.quickbooks.int_quickbooks__general_ledger_balances": ["model.quickbooks.int_quickbooks__general_ledger_date_spine", "model.quickbooks.quickbooks__general_ledger"], "model.quickbooks.int_quickbooks__account_classifications": ["model.quickbooks_source.stg_quickbooks__account"], "model.quickbooks.int_quickbooks__expenses_union": ["model.quickbooks.int_quickbooks__account_classifications", "model.quickbooks.int_quickbooks__bill_transactions", "model.quickbooks.int_quickbooks__deposit_transactions", "model.quickbooks.int_quickbooks__journal_entry_transactions", "model.quickbooks.int_quickbooks__purchase_transactions", "model.quickbooks.int_quickbooks__vendor_credit_transactions", "model.quickbooks_source.stg_quickbooks__customer", "model.quickbooks_source.stg_quickbooks__department", "model.quickbooks_source.stg_quickbooks__vendor"], "model.quickbooks.int_quickbooks__invoice_join": ["model.quickbooks_source.stg_quickbooks__estimate", "model.quickbooks_source.stg_quickbooks__invoice", "model.quickbooks_source.stg_quickbooks__invoice_linked_txn", "model.quickbooks_source.stg_quickbooks__payment", "model.quickbooks_source.stg_quickbooks__payment_line"], "model.quickbooks.int_quickbooks__retained_earnings": ["model.quickbooks.int_quickbooks__general_ledger_balances"], "model.quickbooks.int_quickbooks__general_ledger_date_spine": ["model.quickbooks.quickbooks__general_ledger"], "model.quickbooks.int_quickbooks__bill_join": ["model.quickbooks_source.stg_quickbooks__bill", "model.quickbooks_source.stg_quickbooks__bill_line", "model.quickbooks_source.stg_quickbooks__bill_linked_txn", "model.quickbooks_source.stg_quickbooks__bill_payment", "model.quickbooks_source.stg_quickbooks__bill_payment_line"], "model.quickbooks.int_quickbooks__sales_union": ["model.quickbooks.int_quickbooks__account_classifications", "model.quickbooks.int_quickbooks__credit_memo_transactions", "model.quickbooks.int_quickbooks__invoice_transactions", "model.quickbooks.int_quickbooks__refund_receipt_transactions", "model.quickbooks.int_quickbooks__sales_receipt_transactions", "model.quickbooks_source.stg_quickbooks__customer", "model.quickbooks_source.stg_quickbooks__department", "model.quickbooks_source.stg_quickbooks__vendor"], "analysis.quickbooks.quickbooks__balance_sheet": ["model.quickbooks.quickbooks__general_ledger_by_period"], "analysis.quickbooks.quickbooks__income_statement": ["model.quickbooks.quickbooks__general_ledger_by_period"], "model.quickbooks_source.stg_quickbooks__journal_entry_line": ["model.quickbooks_source.stg_quickbooks__journal_entry_line_tmp"], "model.quickbooks_source.stg_quickbooks__transfer": ["model.quickbooks_source.stg_quickbooks__transfer_tmp"], "model.quickbooks_source.stg_quickbooks__bill_payment_line": ["model.quickbooks_source.stg_quickbooks__bill_payment_line_tmp"], "model.quickbooks_source.stg_quickbooks__payment_line": ["model.quickbooks_source.stg_quickbooks__payment_line_tmp"], "model.quickbooks_source.stg_quickbooks__vendor": ["model.quickbooks_source.stg_quickbooks__vendor_tmp"], "model.quickbooks_source.stg_quickbooks__invoice_line": ["model.quickbooks_source.stg_quickbooks__invoice_line_tmp"], "model.quickbooks_source.stg_quickbooks__estimate": ["model.quickbooks_source.stg_quickbooks__estimate_tmp"], "model.quickbooks_source.stg_quickbooks__credit_memo_line": ["model.quickbooks_source.stg_quickbooks__credit_memo_line_tmp"], "model.quickbooks_source.stg_quickbooks__bundle": ["model.quickbooks_source.stg_quickbooks__bundle_tmp"], "model.quickbooks_source.stg_quickbooks__department": ["model.quickbooks_source.stg_quickbooks__department_tmp"], "model.quickbooks_source.stg_quickbooks__credit_card_payment_txn": ["model.quickbooks_source.stg_quickbooks__credit_card_payment_txn_tmp"], "model.quickbooks_source.stg_quickbooks__purchase_line": ["model.quickbooks_source.stg_quickbooks__purchase_line_tmp"], "model.quickbooks_source.stg_quickbooks__purchase": ["model.quickbooks_source.stg_quickbooks__purchase_tmp"], "model.quickbooks_source.stg_quickbooks__refund_receipt_line": ["model.quickbooks_source.stg_quickbooks__refund_receipt_line_tmp"], "model.quickbooks_source.stg_quickbooks__bundle_item": ["model.quickbooks_source.stg_quickbooks__bundle_item_tmp"], "model.quickbooks_source.stg_quickbooks__credit_memo": ["model.quickbooks_source.stg_quickbooks__credit_memo_tmp"], "model.quickbooks_source.stg_quickbooks__sales_receipt_line": ["model.quickbooks_source.stg_quickbooks__sales_receipt_line_tmp"], "model.quickbooks_source.stg_quickbooks__sales_receipt": ["model.quickbooks_source.stg_quickbooks__sales_receipt_tmp"], "model.quickbooks_source.stg_quickbooks__invoice_linked_txn": ["model.quickbooks_source.stg_quickbooks__invoice_linked_txn_tmp"], "model.quickbooks_source.stg_quickbooks__invoice": ["model.quickbooks_source.stg_quickbooks__invoice_tmp"], "model.quickbooks_source.stg_quickbooks__bill_payment": ["model.quickbooks_source.stg_quickbooks__bill_payment_tmp"], "model.quickbooks_source.stg_quickbooks__invoice_line_bundle": ["model.quickbooks_source.stg_quickbooks__invoice_line_bundle_tmp"], "model.quickbooks_source.stg_quickbooks__account": ["model.quickbooks_source.stg_quickbooks__account_tmp"], "model.quickbooks_source.stg_quickbooks__payment": ["model.quickbooks_source.stg_quickbooks__payment_tmp"], "model.quickbooks_source.stg_quickbooks__estimate_line": ["model.quickbooks_source.stg_quickbooks__estimate_line_tmp"], "model.quickbooks_source.stg_quickbooks__bill_linked_txn": ["model.quickbooks_source.stg_quickbooks__bill_linked_txn_tmp"], "model.quickbooks_source.stg_quickbooks__address": ["model.quickbooks_source.stg_quickbooks__address_tmp"], "model.quickbooks_source.stg_quickbooks__bill": ["model.quickbooks_source.stg_quickbooks__bill_tmp"], "model.quickbooks_source.stg_quickbooks__bill_line": ["model.quickbooks_source.stg_quickbooks__bill_line_tmp"], "model.quickbooks_source.stg_quickbooks__journal_entry": ["model.quickbooks_source.stg_quickbooks__journal_entry_tmp"], "model.quickbooks_source.stg_quickbooks__refund_receipt": ["model.quickbooks_source.stg_quickbooks__refund_receipt_tmp"], "model.quickbooks_source.stg_quickbooks__deposit_line": ["model.quickbooks_source.stg_quickbooks__deposit_line_tmp"], "model.quickbooks_source.stg_quickbooks__vendor_credit": ["model.quickbooks_source.stg_quickbooks__vendor_credit_tmp"], "model.quickbooks_source.stg_quickbooks__vendor_credit_line": ["model.quickbooks_source.stg_quickbooks__vendor_credit_line_tmp"], "model.quickbooks_source.stg_quickbooks__deposit": ["model.quickbooks_source.stg_quickbooks__deposit_tmp"], "model.quickbooks_source.stg_quickbooks__item": ["model.quickbooks_source.stg_quickbooks__item_tmp"], "model.quickbooks_source.stg_quickbooks__customer": ["model.quickbooks_source.stg_quickbooks__customer_tmp"], "model.quickbooks_source.stg_quickbooks__vendor_credit_tmp": ["source.quickbooks_source.quickbooks.vendor_credit"], "model.quickbooks_source.stg_quickbooks__refund_receipt_line_tmp": ["source.quickbooks_source.quickbooks.refund_receipt_line"], "model.quickbooks_source.stg_quickbooks__estimate_line_tmp": ["source.quickbooks_source.quickbooks.estimate_line"], "model.quickbooks_source.stg_quickbooks__credit_memo_line_tmp": ["source.quickbooks_source.quickbooks.credit_memo_line"], "model.quickbooks_source.stg_quickbooks__journal_entry_tmp": ["source.quickbooks_source.quickbooks.journal_entry"], "model.quickbooks_source.stg_quickbooks__invoice_line_bundle_tmp": ["source.quickbooks_source.quickbooks.invoice_line_bundle"], "model.quickbooks_source.stg_quickbooks__payment_tmp": ["source.quickbooks_source.quickbooks.payment"], "model.quickbooks_source.stg_quickbooks__invoice_line_tmp": ["source.quickbooks_source.quickbooks.invoice_line"], "model.quickbooks_source.stg_quickbooks__deposit_line_tmp": ["source.quickbooks_source.quickbooks.deposit_line"], "model.quickbooks_source.stg_quickbooks__customer_tmp": ["source.quickbooks_source.quickbooks.customer"], "model.quickbooks_source.stg_quickbooks__bill_line_tmp": ["source.quickbooks_source.quickbooks.bill_line"], "model.quickbooks_source.stg_quickbooks__item_tmp": ["source.quickbooks_source.quickbooks.item"], "model.quickbooks_source.stg_quickbooks__account_tmp": ["source.quickbooks_source.quickbooks.account"], "model.quickbooks_source.stg_quickbooks__credit_card_payment_txn_tmp": ["source.quickbooks_source.quickbooks.credit_card_payment_txn"], "model.quickbooks_source.stg_quickbooks__vendor_credit_line_tmp": ["source.quickbooks_source.quickbooks.vendor_credit_line"], "model.quickbooks_source.stg_quickbooks__department_tmp": ["source.quickbooks_source.quickbooks.department"], "model.quickbooks_source.stg_quickbooks__bundle_tmp": ["source.quickbooks_source.quickbooks.bundle"], "model.quickbooks_source.stg_quickbooks__bundle_item_tmp": ["source.quickbooks_source.quickbooks.bundle_item"], "model.quickbooks_source.stg_quickbooks__bill_payment_line_tmp": ["source.quickbooks_source.quickbooks.bill_payment_line"], "model.quickbooks_source.stg_quickbooks__estimate_tmp": ["source.quickbooks_source.quickbooks.estimate"], "model.quickbooks_source.stg_quickbooks__purchase_tmp": ["source.quickbooks_source.quickbooks.purchase"], "model.quickbooks_source.stg_quickbooks__credit_memo_tmp": ["source.quickbooks_source.quickbooks.credit_memo"], "model.quickbooks_source.stg_quickbooks__bill_tmp": ["source.quickbooks_source.quickbooks.bill"], "model.quickbooks_source.stg_quickbooks__transfer_tmp": ["source.quickbooks_source.quickbooks.transfer"], "model.quickbooks_source.stg_quickbooks__vendor_tmp": ["source.quickbooks_source.quickbooks.vendor"], "model.quickbooks_source.stg_quickbooks__purchase_line_tmp": ["source.quickbooks_source.quickbooks.purchase_line"], "model.quickbooks_source.stg_quickbooks__address_tmp": ["source.quickbooks_source.quickbooks.address"], "model.quickbooks_source.stg_quickbooks__payment_line_tmp": ["source.quickbooks_source.quickbooks.payment_line"], "model.quickbooks_source.stg_quickbooks__refund_receipt_tmp": ["source.quickbooks_source.quickbooks.refund_receipt"], "model.quickbooks_source.stg_quickbooks__sales_receipt_tmp": ["source.quickbooks_source.quickbooks.sales_receipt"], "model.quickbooks_source.stg_quickbooks__bill_payment_tmp": ["source.quickbooks_source.quickbooks.bill_payment"], "model.quickbooks_source.stg_quickbooks__journal_entry_line_tmp": ["source.quickbooks_source.quickbooks.journal_entry_line"], "model.quickbooks_source.stg_quickbooks__deposit_tmp": ["source.quickbooks_source.quickbooks.deposit"], "model.quickbooks_source.stg_quickbooks__bill_linked_txn_tmp": ["source.quickbooks_source.quickbooks.bill_linked_txn"], "model.quickbooks_source.stg_quickbooks__invoice_linked_txn_tmp": ["source.quickbooks_source.quickbooks.invoice_linked_txn"], "model.quickbooks_source.stg_quickbooks__sales_receipt_line_tmp": ["source.quickbooks_source.quickbooks.sales_receipt_line"], "model.quickbooks_source.stg_quickbooks__invoice_tmp": ["source.quickbooks_source.quickbooks.invoice"], "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__ap_ar_enhanced_transaction_id__source_relation__estimate_id.804c1f0bcf": ["model.quickbooks.quickbooks__ap_ar_enhanced"], "test.quickbooks.unique_quickbooks__cash_flow_statement_account_unique_id.c6ce55cc0d": ["model.quickbooks.quickbooks__cash_flow_statement"], "test.quickbooks.not_null_quickbooks__cash_flow_statement_account_unique_id.748fb9ef0a": ["model.quickbooks.quickbooks__cash_flow_statement"], "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__expenses_sales_enhanced_transaction_id__source_relation__transaction_line_id__item_id.b57775bacb": ["model.quickbooks.quickbooks__expenses_sales_enhanced"], "test.quickbooks.unique_quickbooks__general_ledger_unique_id.df148e7545": ["model.quickbooks.quickbooks__general_ledger"], "test.quickbooks.not_null_quickbooks__general_ledger_unique_id.06732be667": ["model.quickbooks.quickbooks__general_ledger"], "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__general_ledger_by_period_account_id__class_id__source_relation__period_first_day.d928e63a45": ["model.quickbooks.quickbooks__general_ledger_by_period"], "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__profit_and_loss_account_id__class_id__source_relation__calendar_date.77ccb375e5": ["model.quickbooks.quickbooks__profit_and_loss"], "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__balance_sheet_account_id__source_relation__calendar_date__class_id.07368a5056": ["model.quickbooks.quickbooks__balance_sheet"], "test.quickbooks_source.not_null_stg_quickbooks__account_account_id.9944488b9d": ["model.quickbooks_source.stg_quickbooks__account"], "test.quickbooks_source.accepted_values_stg_quickbooks__account_classification__Asset__Equity__Expense__Liability__Revenue.127506f73f": ["model.quickbooks_source.stg_quickbooks__account"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__account_account_id__source_relation.864a4b056a": ["model.quickbooks_source.stg_quickbooks__account"], "test.quickbooks_source.not_null_stg_quickbooks__address_address_id.4f100ae50c": ["model.quickbooks_source.stg_quickbooks__address"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__address_address_id__source_relation.5bc813a014": ["model.quickbooks_source.stg_quickbooks__address"], "test.quickbooks_source.not_null_stg_quickbooks__bill_line_bill_id.25c5ea7348": ["model.quickbooks_source.stg_quickbooks__bill_line"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_line_bill_id__index__source_relation.73722b1062": ["model.quickbooks_source.stg_quickbooks__bill_line"], "test.quickbooks_source.not_null_stg_quickbooks__bill_linked_txn_bill_id.35f96199bd": ["model.quickbooks_source.stg_quickbooks__bill_linked_txn"], "test.quickbooks_source.not_null_stg_quickbooks__bill_payment_line_bill_payment_id.1dbb366150": ["model.quickbooks_source.stg_quickbooks__bill_payment_line"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_payment_line_bill_payment_id__index__source_relation.0a7e17967c": ["model.quickbooks_source.stg_quickbooks__bill_payment_line"], "test.quickbooks_source.not_null_stg_quickbooks__bill_payment_bill_payment_id.908899ccfb": ["model.quickbooks_source.stg_quickbooks__bill_payment"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_payment_bill_payment_id__source_relation.4b7aafd630": ["model.quickbooks_source.stg_quickbooks__bill_payment"], "test.quickbooks_source.not_null_stg_quickbooks__bill_bill_id.ca717958c8": ["model.quickbooks_source.stg_quickbooks__bill"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_bill_id__source_relation.8c08249abf": ["model.quickbooks_source.stg_quickbooks__bill"], "test.quickbooks_source.not_null_stg_quickbooks__bundle_item_bundle_id.6d547b8c07": ["model.quickbooks_source.stg_quickbooks__bundle_item"], "test.quickbooks_source.not_null_stg_quickbooks__bundle_bundle_id.382e1dad60": ["model.quickbooks_source.stg_quickbooks__bundle"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bundle_bundle_id__source_relation.e241a21ebc": ["model.quickbooks_source.stg_quickbooks__bundle"], "test.quickbooks_source.not_null_stg_quickbooks__credit_memo_line_credit_memo_id.58953be02b": ["model.quickbooks_source.stg_quickbooks__credit_memo_line"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__credit_memo_line_credit_memo_id__index__source_relation.7a43f0e186": ["model.quickbooks_source.stg_quickbooks__credit_memo_line"], "test.quickbooks_source.not_null_stg_quickbooks__credit_memo_credit_memo_id.d921d2b152": ["model.quickbooks_source.stg_quickbooks__credit_memo"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__credit_memo_credit_memo_id__source_relation.917f24c5ca": ["model.quickbooks_source.stg_quickbooks__credit_memo"], "test.quickbooks_source.not_null_stg_quickbooks__customer_customer_id.98232a9723": ["model.quickbooks_source.stg_quickbooks__customer"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__customer_customer_id__source_relation.61cc22a568": ["model.quickbooks_source.stg_quickbooks__customer"], "test.quickbooks_source.not_null_stg_quickbooks__deposit_line_deposit_id.d615f463e1": ["model.quickbooks_source.stg_quickbooks__deposit_line"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__deposit_line_deposit_id__index__source_relation.443de63985": ["model.quickbooks_source.stg_quickbooks__deposit_line"], "test.quickbooks_source.not_null_stg_quickbooks__deposit_deposit_id.880b8c37b1": ["model.quickbooks_source.stg_quickbooks__deposit"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__deposit_deposit_id__source_relation.5574d8e908": ["model.quickbooks_source.stg_quickbooks__deposit"], "test.quickbooks_source.not_null_stg_quickbooks__estimate_estimate_id.0331d3c310": ["model.quickbooks_source.stg_quickbooks__estimate"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__estimate_estimate_id__source_relation.412260b882": ["model.quickbooks_source.stg_quickbooks__estimate"], "test.quickbooks_source.not_null_stg_quickbooks__estimate_line_estimate_id.c060f99b4c": ["model.quickbooks_source.stg_quickbooks__estimate_line"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__estimate_line_estimate_id__index__source_relation.cc61ab0953": ["model.quickbooks_source.stg_quickbooks__estimate_line"], "test.quickbooks_source.not_null_stg_quickbooks__invoice_linked_txn_invoice_id.c9b9c8f8f4": ["model.quickbooks_source.stg_quickbooks__invoice_linked_txn"], "test.quickbooks_source.not_null_stg_quickbooks__invoice_line_invoice_id.0424087a8f": ["model.quickbooks_source.stg_quickbooks__invoice_line"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_line_invoice_id__index__source_relation.99b74bc327": ["model.quickbooks_source.stg_quickbooks__invoice_line"], "test.quickbooks_source.not_null_stg_quickbooks__invoice_line_bundle_invoice_id.cfd59b83a9": ["model.quickbooks_source.stg_quickbooks__invoice_line_bundle"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_line_bundle_invoice_id__index__invoice_line_index__source_relation.5370e9fcd0": ["model.quickbooks_source.stg_quickbooks__invoice_line_bundle"], "test.quickbooks_source.not_null_stg_quickbooks__invoice_invoice_id.b6d8e1ad7d": ["model.quickbooks_source.stg_quickbooks__invoice"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_invoice_id__source_relation.ef51800044": ["model.quickbooks_source.stg_quickbooks__invoice"], "test.quickbooks_source.not_null_stg_quickbooks__item_item_id.da906d8fb9": ["model.quickbooks_source.stg_quickbooks__item"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__item_item_id__source_relation.169465a2a6": ["model.quickbooks_source.stg_quickbooks__item"], "test.quickbooks_source.not_null_stg_quickbooks__journal_entry_line_journal_entry_id.bd89a6f784": ["model.quickbooks_source.stg_quickbooks__journal_entry_line"], "test.quickbooks_source.accepted_values_stg_quickbooks__journal_entry_line_posting_type__Credit__Debit.ab661907c3": ["model.quickbooks_source.stg_quickbooks__journal_entry_line"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__journal_entry_line_journal_entry_id__index__source_relation.0cd1d9f232": ["model.quickbooks_source.stg_quickbooks__journal_entry_line"], "test.quickbooks_source.not_null_stg_quickbooks__journal_entry_journal_entry_id.39198c4ff2": ["model.quickbooks_source.stg_quickbooks__journal_entry"], "test.quickbooks_source.not_null_stg_quickbooks__payment_line_payment_id.6351e3fe26": ["model.quickbooks_source.stg_quickbooks__payment_line"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__payment_line_payment_id__index__source_relation.25be3cf2e5": ["model.quickbooks_source.stg_quickbooks__payment_line"], "test.quickbooks_source.not_null_stg_quickbooks__payment_payment_id.ca2c1ef54f": ["model.quickbooks_source.stg_quickbooks__payment"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__payment_payment_id__source_relation.1998a8282e": ["model.quickbooks_source.stg_quickbooks__payment"], "test.quickbooks_source.not_null_stg_quickbooks__purchase_line_purchase_id.5406fca79c": ["model.quickbooks_source.stg_quickbooks__purchase_line"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_line_purchase_id__index__source_relation.a23c661eb5": ["model.quickbooks_source.stg_quickbooks__purchase_line"], "test.quickbooks_source.not_null_stg_quickbooks__purchase_purchase_id.fc2090959b": ["model.quickbooks_source.stg_quickbooks__purchase"], "test.quickbooks_source.accepted_values_stg_quickbooks__purchase_payment_type__Cash__Check__CreditCard.7de7edf458": ["model.quickbooks_source.stg_quickbooks__purchase"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_purchase_id__source_relation.172340b49e": ["model.quickbooks_source.stg_quickbooks__purchase"], "test.quickbooks_source.not_null_stg_quickbooks__purchase_order_line_purchase_order_id.210718c1c7": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_order_line_purchase_order_id__index__source_relation.e47fe7ae13": [], "test.quickbooks_source.not_null_stg_quickbooks__purchase_order_linked_txn_purchase_order_id.d9f0186f4e": [], "test.quickbooks_source.not_null_stg_quickbooks__purchase_order_purchase_order_id.4158032222": [], "test.quickbooks_source.accepted_values_stg_quickbooks__purchase_order_status__Open__Closed.a86f736065": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_order_purchase_order_id__source_relation.1ade9ebad8": [], "test.quickbooks_source.not_null_stg_quickbooks__refund_receipt_line_refund_id.57df809b80": ["model.quickbooks_source.stg_quickbooks__refund_receipt_line"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__refund_receipt_line_refund_id__index__source_relation.614411eb40": ["model.quickbooks_source.stg_quickbooks__refund_receipt_line"], "test.quickbooks_source.not_null_stg_quickbooks__refund_receipt_refund_id.29e8a8216e": ["model.quickbooks_source.stg_quickbooks__refund_receipt"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__refund_receipt_refund_id__source_relation.60f976841d": ["model.quickbooks_source.stg_quickbooks__refund_receipt"], "test.quickbooks_source.not_null_stg_quickbooks__sales_receipt_line_sales_receipt_id.9be0667fc3": ["model.quickbooks_source.stg_quickbooks__sales_receipt_line"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__sales_receipt_line_sales_receipt_id__index__source_relation.20e80dcbd5": ["model.quickbooks_source.stg_quickbooks__sales_receipt_line"], "test.quickbooks_source.not_null_stg_quickbooks__sales_receipt_sales_receipt_id.b97c1a238a": ["model.quickbooks_source.stg_quickbooks__sales_receipt"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__sales_receipt_sales_receipt_id__source_relation.36bdbcffde": ["model.quickbooks_source.stg_quickbooks__sales_receipt"], "test.quickbooks_source.not_null_stg_quickbooks__transfer_transfer_id.c1c80a253c": ["model.quickbooks_source.stg_quickbooks__transfer"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__transfer_transfer_id__source_relation.bfa4c7345e": ["model.quickbooks_source.stg_quickbooks__transfer"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__vendor_credit_line_vendor_credit_id__index__source_relation.094b35ac4d": ["model.quickbooks_source.stg_quickbooks__vendor_credit_line"], "test.quickbooks_source.not_null_stg_quickbooks__vendor_credit_vendor_credit_id.1275a5ab5a": ["model.quickbooks_source.stg_quickbooks__vendor_credit"], "test.quickbooks_source.not_null_stg_quickbooks__vendor_vendor_id.f509a77195": ["model.quickbooks_source.stg_quickbooks__vendor"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__vendor_vendor_id__source_relation.4960d9d21a": ["model.quickbooks_source.stg_quickbooks__vendor"], "source.quickbooks_source.quickbooks.account": [], "source.quickbooks_source.quickbooks.address": [], "source.quickbooks_source.quickbooks.bill_line": [], "source.quickbooks_source.quickbooks.bill_linked_txn": [], "source.quickbooks_source.quickbooks.bill_payment_line": [], "source.quickbooks_source.quickbooks.bill_payment": [], "source.quickbooks_source.quickbooks.bill": [], "source.quickbooks_source.quickbooks.bundle_item": [], "source.quickbooks_source.quickbooks.bundle": [], "source.quickbooks_source.quickbooks.credit_card_payment_txn": [], "source.quickbooks_source.quickbooks.credit_memo_line": [], "source.quickbooks_source.quickbooks.credit_memo": [], "source.quickbooks_source.quickbooks.customer": [], "source.quickbooks_source.quickbooks.department": [], "source.quickbooks_source.quickbooks.deposit_line": [], "source.quickbooks_source.quickbooks.deposit": [], "source.quickbooks_source.quickbooks.estimate": [], "source.quickbooks_source.quickbooks.estimate_line": [], "source.quickbooks_source.quickbooks.invoice_linked_txn": [], "source.quickbooks_source.quickbooks.invoice_line": [], "source.quickbooks_source.quickbooks.invoice_line_bundle": [], "source.quickbooks_source.quickbooks.invoice": [], "source.quickbooks_source.quickbooks.item": [], "source.quickbooks_source.quickbooks.journal_entry_line": [], "source.quickbooks_source.quickbooks.journal_entry": [], "source.quickbooks_source.quickbooks.payment_line": [], "source.quickbooks_source.quickbooks.payment": [], "source.quickbooks_source.quickbooks.purchase_line": [], "source.quickbooks_source.quickbooks.purchase": [], "source.quickbooks_source.quickbooks.purchase_order_line": [], "source.quickbooks_source.quickbooks.purchase_order_linked_txn": [], "source.quickbooks_source.quickbooks.purchase_order": [], "source.quickbooks_source.quickbooks.refund_receipt_line": [], "source.quickbooks_source.quickbooks.refund_receipt": [], "source.quickbooks_source.quickbooks.sales_receipt_line": [], "source.quickbooks_source.quickbooks.sales_receipt": [], "source.quickbooks_source.quickbooks.transfer": [], "source.quickbooks_source.quickbooks.vendor_credit_line": [], "source.quickbooks_source.quickbooks.vendor_credit": [], "source.quickbooks_source.quickbooks.vendor": []}, "child_map": {"seed.quickbooks_integration_tests.bill_payment_data": [], "seed.quickbooks_integration_tests.bundle_data": [], "seed.quickbooks_integration_tests.bill_payment_line_data": [], "seed.quickbooks_integration_tests.payment_line_data": [], "seed.quickbooks_integration_tests.vendor_data": [], "seed.quickbooks_integration_tests.address_data": [], "seed.quickbooks_integration_tests.purchase_order_linked_txn_data": [], "seed.quickbooks_integration_tests.invoice_line_bundle_data": [], "seed.quickbooks_integration_tests.invoice_data": [], "seed.quickbooks_integration_tests.payment_data": [], "seed.quickbooks_integration_tests.invoice_line_data": [], "seed.quickbooks_integration_tests.deposit_line_data": [], "seed.quickbooks_integration_tests.estimate_line_data": [], "seed.quickbooks_integration_tests.purchase_data": [], "seed.quickbooks_integration_tests.refund_receipt_line_data": [], "seed.quickbooks_integration_tests.credit_memo_line_data": [], "seed.quickbooks_integration_tests.bill_data": [], "seed.quickbooks_integration_tests.bill_linked_txn_data": [], "seed.quickbooks_integration_tests.vendor_credit_data": [], "seed.quickbooks_integration_tests.customer_data": [], "seed.quickbooks_integration_tests.estimate_data": [], "seed.quickbooks_integration_tests.purchase_line_data": [], "seed.quickbooks_integration_tests.journal_entry_line_data": [], "seed.quickbooks_integration_tests.journal_entry_data": [], "seed.quickbooks_integration_tests.bill_line_data": [], "seed.quickbooks_integration_tests.bundle_item_data": [], "seed.quickbooks_integration_tests.invoice_linked_txn_data": [], "seed.quickbooks_integration_tests.account_data": [], "seed.quickbooks_integration_tests.purchase_order_line_data": [], "seed.quickbooks_integration_tests.transfer_data": [], "seed.quickbooks_integration_tests.purchase_order_data": [], "seed.quickbooks_integration_tests.sales_receipt_line_data": [], "seed.quickbooks_integration_tests.vendor_credit_line_data": [], "seed.quickbooks_integration_tests.credit_card_payment_txn_data": [], "seed.quickbooks_integration_tests.credit_memo_data": [], "seed.quickbooks_integration_tests.department_data": [], "seed.quickbooks_integration_tests.item_data": [], "seed.quickbooks_integration_tests.sales_receipt_data": [], "seed.quickbooks_integration_tests.deposit_data": [], "seed.quickbooks_integration_tests.refund_receipt_data": [], "model.quickbooks.quickbooks__balance_sheet": ["model.quickbooks.int_quickbooks__cash_flow_classifications", "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__balance_sheet_account_id__source_relation__calendar_date__class_id.07368a5056"], "model.quickbooks.quickbooks__general_ledger_by_period": ["analysis.quickbooks.quickbooks__balance_sheet", "analysis.quickbooks.quickbooks__income_statement", "model.quickbooks.quickbooks__balance_sheet", "model.quickbooks.quickbooks__profit_and_loss", "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__general_ledger_by_period_account_id__class_id__source_relation__period_first_day.d928e63a45"], "model.quickbooks.quickbooks__general_ledger": ["model.quickbooks.int_quickbooks__general_ledger_balances", "model.quickbooks.int_quickbooks__general_ledger_date_spine", "test.quickbooks.not_null_quickbooks__general_ledger_unique_id.06732be667", "test.quickbooks.unique_quickbooks__general_ledger_unique_id.df148e7545"], "model.quickbooks.quickbooks__profit_and_loss": ["test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__profit_and_loss_account_id__class_id__source_relation__calendar_date.77ccb375e5"], "model.quickbooks.quickbooks__expenses_sales_enhanced": ["test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__expenses_sales_enhanced_transaction_id__source_relation__transaction_line_id__item_id.b57775bacb"], "model.quickbooks.quickbooks__ap_ar_enhanced": ["test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__ap_ar_enhanced_transaction_id__source_relation__estimate_id.804c1f0bcf"], "model.quickbooks.quickbooks__cash_flow_statement": ["test.quickbooks.not_null_quickbooks__cash_flow_statement_account_unique_id.748fb9ef0a", "test.quickbooks.unique_quickbooks__cash_flow_statement_account_unique_id.c6ce55cc0d"], "model.quickbooks.int_quickbooks__transfer_double_entry": ["model.quickbooks.quickbooks__general_ledger"], "model.quickbooks.int_quickbooks__credit_memo_double_entry": ["model.quickbooks.quickbooks__general_ledger"], "model.quickbooks.int_quickbooks__refund_receipt_double_entry": ["model.quickbooks.quickbooks__general_ledger"], "model.quickbooks.int_quickbooks__journal_entry_double_entry": ["model.quickbooks.quickbooks__general_ledger"], "model.quickbooks.int_quickbooks__bill_payment_double_entry": ["model.quickbooks.quickbooks__general_ledger"], "model.quickbooks.int_quickbooks__deposit_double_entry": ["model.quickbooks.quickbooks__general_ledger"], "model.quickbooks.int_quickbooks__purchase_double_entry": ["model.quickbooks.quickbooks__general_ledger"], "model.quickbooks.int_quickbooks__sales_receipt_double_entry": ["model.quickbooks.quickbooks__general_ledger"], "model.quickbooks.int_quickbooks__vendor_credit_double_entry": ["model.quickbooks.quickbooks__general_ledger"], "model.quickbooks.int_quickbooks__credit_card_pymt_double_entry": ["model.quickbooks.quickbooks__general_ledger"], "model.quickbooks.int_quickbooks__bill_double_entry": ["model.quickbooks.quickbooks__general_ledger"], "model.quickbooks.int_quickbooks__payment_double_entry": ["model.quickbooks.quickbooks__general_ledger"], "model.quickbooks.int_quickbooks__invoice_double_entry": ["model.quickbooks.quickbooks__general_ledger"], "model.quickbooks.int_quickbooks__invoice_transactions": ["model.quickbooks.int_quickbooks__sales_union"], "model.quickbooks.int_quickbooks__bill_transactions": ["model.quickbooks.int_quickbooks__expenses_union"], "model.quickbooks.int_quickbooks__journal_entry_transactions": ["model.quickbooks.int_quickbooks__expenses_union"], "model.quickbooks.int_quickbooks__refund_receipt_transactions": ["model.quickbooks.int_quickbooks__sales_union"], "model.quickbooks.int_quickbooks__vendor_credit_transactions": ["model.quickbooks.int_quickbooks__expenses_union"], "model.quickbooks.int_quickbooks__purchase_transactions": ["model.quickbooks.int_quickbooks__expenses_union"], "model.quickbooks.int_quickbooks__sales_receipt_transactions": ["model.quickbooks.int_quickbooks__sales_union"], "model.quickbooks.int_quickbooks__deposit_transactions": ["model.quickbooks.int_quickbooks__expenses_union"], "model.quickbooks.int_quickbooks__credit_memo_transactions": ["model.quickbooks.int_quickbooks__sales_union"], "model.quickbooks.int_quickbooks__cash_flow_classifications": ["model.quickbooks.quickbooks__cash_flow_statement"], "model.quickbooks.int_quickbooks__general_ledger_balances": ["model.quickbooks.int_quickbooks__retained_earnings", "model.quickbooks.quickbooks__general_ledger_by_period"], "model.quickbooks.int_quickbooks__account_classifications": ["model.quickbooks.int_quickbooks__expenses_union", "model.quickbooks.int_quickbooks__sales_union", "model.quickbooks.quickbooks__general_ledger"], "model.quickbooks.int_quickbooks__expenses_union": ["model.quickbooks.quickbooks__expenses_sales_enhanced"], "model.quickbooks.int_quickbooks__invoice_join": ["model.quickbooks.quickbooks__ap_ar_enhanced"], "model.quickbooks.int_quickbooks__retained_earnings": ["model.quickbooks.quickbooks__general_ledger_by_period"], "model.quickbooks.int_quickbooks__general_ledger_date_spine": ["model.quickbooks.int_quickbooks__general_ledger_balances"], "model.quickbooks.int_quickbooks__bill_join": ["model.quickbooks.quickbooks__ap_ar_enhanced"], "model.quickbooks.int_quickbooks__sales_union": ["model.quickbooks.quickbooks__expenses_sales_enhanced"], "analysis.quickbooks.quickbooks__balance_sheet": [], "analysis.quickbooks.quickbooks__income_statement": [], "model.quickbooks_source.stg_quickbooks__journal_entry_line": ["model.quickbooks.int_quickbooks__journal_entry_double_entry", "model.quickbooks.int_quickbooks__journal_entry_transactions", "test.quickbooks_source.accepted_values_stg_quickbooks__journal_entry_line_posting_type__Credit__Debit.ab661907c3", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__journal_entry_line_journal_entry_id__index__source_relation.0cd1d9f232", "test.quickbooks_source.not_null_stg_quickbooks__journal_entry_line_journal_entry_id.bd89a6f784"], "model.quickbooks_source.stg_quickbooks__transfer": ["model.quickbooks.int_quickbooks__transfer_double_entry", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__transfer_transfer_id__source_relation.bfa4c7345e", "test.quickbooks_source.not_null_stg_quickbooks__transfer_transfer_id.c1c80a253c"], "model.quickbooks_source.stg_quickbooks__bill_payment_line": ["model.quickbooks.int_quickbooks__bill_join", "model.quickbooks.int_quickbooks__bill_payment_double_entry", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_payment_line_bill_payment_id__index__source_relation.0a7e17967c", "test.quickbooks_source.not_null_stg_quickbooks__bill_payment_line_bill_payment_id.1dbb366150"], "model.quickbooks_source.stg_quickbooks__payment_line": ["model.quickbooks.int_quickbooks__invoice_join", "model.quickbooks.int_quickbooks__payment_double_entry", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__payment_line_payment_id__index__source_relation.25be3cf2e5", "test.quickbooks_source.not_null_stg_quickbooks__payment_line_payment_id.6351e3fe26"], "model.quickbooks_source.stg_quickbooks__vendor": ["model.quickbooks.int_quickbooks__expenses_union", "model.quickbooks.int_quickbooks__sales_union", "model.quickbooks.quickbooks__ap_ar_enhanced", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__vendor_vendor_id__source_relation.4960d9d21a", "test.quickbooks_source.not_null_stg_quickbooks__vendor_vendor_id.f509a77195"], "model.quickbooks_source.stg_quickbooks__invoice_line": ["model.quickbooks.int_quickbooks__invoice_double_entry", "model.quickbooks.int_quickbooks__invoice_transactions", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_line_invoice_id__index__source_relation.99b74bc327", "test.quickbooks_source.not_null_stg_quickbooks__invoice_line_invoice_id.0424087a8f"], "model.quickbooks_source.stg_quickbooks__estimate": ["model.quickbooks.int_quickbooks__invoice_join", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__estimate_estimate_id__source_relation.412260b882", "test.quickbooks_source.not_null_stg_quickbooks__estimate_estimate_id.0331d3c310"], "model.quickbooks_source.stg_quickbooks__credit_memo_line": ["model.quickbooks.int_quickbooks__credit_memo_double_entry", "model.quickbooks.int_quickbooks__credit_memo_transactions", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__credit_memo_line_credit_memo_id__index__source_relation.7a43f0e186", "test.quickbooks_source.not_null_stg_quickbooks__credit_memo_line_credit_memo_id.58953be02b"], "model.quickbooks_source.stg_quickbooks__bundle": ["model.quickbooks.int_quickbooks__invoice_double_entry", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bundle_bundle_id__source_relation.e241a21ebc", "test.quickbooks_source.not_null_stg_quickbooks__bundle_bundle_id.382e1dad60"], "model.quickbooks_source.stg_quickbooks__department": ["model.quickbooks.int_quickbooks__expenses_union", "model.quickbooks.int_quickbooks__sales_union", "model.quickbooks.quickbooks__ap_ar_enhanced"], "model.quickbooks_source.stg_quickbooks__credit_card_payment_txn": ["model.quickbooks.int_quickbooks__credit_card_pymt_double_entry"], "model.quickbooks_source.stg_quickbooks__purchase_line": ["model.quickbooks.int_quickbooks__purchase_double_entry", "model.quickbooks.int_quickbooks__purchase_transactions", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_line_purchase_id__index__source_relation.a23c661eb5", "test.quickbooks_source.not_null_stg_quickbooks__purchase_line_purchase_id.5406fca79c"], "model.quickbooks_source.stg_quickbooks__purchase": ["model.quickbooks.int_quickbooks__purchase_double_entry", "model.quickbooks.int_quickbooks__purchase_transactions", "test.quickbooks_source.accepted_values_stg_quickbooks__purchase_payment_type__Cash__Check__CreditCard.7de7edf458", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_purchase_id__source_relation.172340b49e", "test.quickbooks_source.not_null_stg_quickbooks__purchase_purchase_id.fc2090959b"], "model.quickbooks_source.stg_quickbooks__refund_receipt_line": ["model.quickbooks.int_quickbooks__refund_receipt_double_entry", "model.quickbooks.int_quickbooks__refund_receipt_transactions", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__refund_receipt_line_refund_id__index__source_relation.614411eb40", "test.quickbooks_source.not_null_stg_quickbooks__refund_receipt_line_refund_id.57df809b80"], "model.quickbooks_source.stg_quickbooks__bundle_item": ["model.quickbooks.int_quickbooks__invoice_double_entry", "test.quickbooks_source.not_null_stg_quickbooks__bundle_item_bundle_id.6d547b8c07"], "model.quickbooks_source.stg_quickbooks__credit_memo": ["model.quickbooks.int_quickbooks__credit_memo_double_entry", "model.quickbooks.int_quickbooks__credit_memo_transactions", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__credit_memo_credit_memo_id__source_relation.917f24c5ca", "test.quickbooks_source.not_null_stg_quickbooks__credit_memo_credit_memo_id.d921d2b152"], "model.quickbooks_source.stg_quickbooks__sales_receipt_line": ["model.quickbooks.int_quickbooks__sales_receipt_double_entry", "model.quickbooks.int_quickbooks__sales_receipt_transactions", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__sales_receipt_line_sales_receipt_id__index__source_relation.20e80dcbd5", "test.quickbooks_source.not_null_stg_quickbooks__sales_receipt_line_sales_receipt_id.9be0667fc3"], "model.quickbooks_source.stg_quickbooks__sales_receipt": ["model.quickbooks.int_quickbooks__sales_receipt_double_entry", "model.quickbooks.int_quickbooks__sales_receipt_transactions", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__sales_receipt_sales_receipt_id__source_relation.36bdbcffde", "test.quickbooks_source.not_null_stg_quickbooks__sales_receipt_sales_receipt_id.b97c1a238a"], "model.quickbooks_source.stg_quickbooks__invoice_linked_txn": ["model.quickbooks.int_quickbooks__invoice_join", "test.quickbooks_source.not_null_stg_quickbooks__invoice_linked_txn_invoice_id.c9b9c8f8f4"], "model.quickbooks_source.stg_quickbooks__invoice": ["model.quickbooks.int_quickbooks__invoice_double_entry", "model.quickbooks.int_quickbooks__invoice_join", "model.quickbooks.int_quickbooks__invoice_transactions", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_invoice_id__source_relation.ef51800044", "test.quickbooks_source.not_null_stg_quickbooks__invoice_invoice_id.b6d8e1ad7d"], "model.quickbooks_source.stg_quickbooks__bill_payment": ["model.quickbooks.int_quickbooks__bill_join", "model.quickbooks.int_quickbooks__bill_payment_double_entry", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_payment_bill_payment_id__source_relation.4b7aafd630", "test.quickbooks_source.not_null_stg_quickbooks__bill_payment_bill_payment_id.908899ccfb"], "model.quickbooks_source.stg_quickbooks__invoice_line_bundle": ["model.quickbooks.int_quickbooks__invoice_double_entry", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_line_bundle_invoice_id__index__invoice_line_index__source_relation.5370e9fcd0", "test.quickbooks_source.not_null_stg_quickbooks__invoice_line_bundle_invoice_id.cfd59b83a9"], "model.quickbooks_source.stg_quickbooks__account": ["model.quickbooks.int_quickbooks__account_classifications", "model.quickbooks.int_quickbooks__bill_payment_double_entry", "model.quickbooks.int_quickbooks__credit_memo_double_entry", "model.quickbooks.int_quickbooks__deposit_double_entry", "model.quickbooks.int_quickbooks__invoice_double_entry", "model.quickbooks.int_quickbooks__payment_double_entry", "test.quickbooks_source.accepted_values_stg_quickbooks__account_classification__Asset__Equity__Expense__Liability__Revenue.127506f73f", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__account_account_id__source_relation.864a4b056a", "test.quickbooks_source.not_null_stg_quickbooks__account_account_id.9944488b9d"], "model.quickbooks_source.stg_quickbooks__payment": ["model.quickbooks.int_quickbooks__invoice_join", "model.quickbooks.int_quickbooks__payment_double_entry", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__payment_payment_id__source_relation.1998a8282e", "test.quickbooks_source.not_null_stg_quickbooks__payment_payment_id.ca2c1ef54f"], "model.quickbooks_source.stg_quickbooks__estimate_line": ["test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__estimate_line_estimate_id__index__source_relation.cc61ab0953", "test.quickbooks_source.not_null_stg_quickbooks__estimate_line_estimate_id.c060f99b4c"], "model.quickbooks_source.stg_quickbooks__bill_linked_txn": ["model.quickbooks.int_quickbooks__bill_join", "test.quickbooks_source.not_null_stg_quickbooks__bill_linked_txn_bill_id.35f96199bd"], "model.quickbooks_source.stg_quickbooks__address": ["model.quickbooks.quickbooks__ap_ar_enhanced", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__address_address_id__source_relation.5bc813a014", "test.quickbooks_source.not_null_stg_quickbooks__address_address_id.4f100ae50c"], "model.quickbooks_source.stg_quickbooks__bill": ["model.quickbooks.int_quickbooks__bill_double_entry", "model.quickbooks.int_quickbooks__bill_join", "model.quickbooks.int_quickbooks__bill_transactions", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_bill_id__source_relation.8c08249abf", "test.quickbooks_source.not_null_stg_quickbooks__bill_bill_id.ca717958c8"], "model.quickbooks_source.stg_quickbooks__bill_line": ["model.quickbooks.int_quickbooks__bill_double_entry", "model.quickbooks.int_quickbooks__bill_join", "model.quickbooks.int_quickbooks__bill_transactions", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_line_bill_id__index__source_relation.73722b1062", "test.quickbooks_source.not_null_stg_quickbooks__bill_line_bill_id.25c5ea7348"], "model.quickbooks_source.stg_quickbooks__journal_entry": ["model.quickbooks.int_quickbooks__journal_entry_double_entry", "model.quickbooks.int_quickbooks__journal_entry_transactions", "test.quickbooks_source.not_null_stg_quickbooks__journal_entry_journal_entry_id.39198c4ff2"], "model.quickbooks_source.stg_quickbooks__refund_receipt": ["model.quickbooks.int_quickbooks__refund_receipt_double_entry", "model.quickbooks.int_quickbooks__refund_receipt_transactions", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__refund_receipt_refund_id__source_relation.60f976841d", "test.quickbooks_source.not_null_stg_quickbooks__refund_receipt_refund_id.29e8a8216e"], "model.quickbooks_source.stg_quickbooks__deposit_line": ["model.quickbooks.int_quickbooks__deposit_double_entry", "model.quickbooks.int_quickbooks__deposit_transactions", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__deposit_line_deposit_id__index__source_relation.443de63985", "test.quickbooks_source.not_null_stg_quickbooks__deposit_line_deposit_id.d615f463e1"], "model.quickbooks_source.stg_quickbooks__vendor_credit": ["model.quickbooks.int_quickbooks__vendor_credit_double_entry", "model.quickbooks.int_quickbooks__vendor_credit_transactions", "test.quickbooks_source.not_null_stg_quickbooks__vendor_credit_vendor_credit_id.1275a5ab5a"], "model.quickbooks_source.stg_quickbooks__vendor_credit_line": ["model.quickbooks.int_quickbooks__vendor_credit_double_entry", "model.quickbooks.int_quickbooks__vendor_credit_transactions", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__vendor_credit_line_vendor_credit_id__index__source_relation.094b35ac4d"], "model.quickbooks_source.stg_quickbooks__deposit": ["model.quickbooks.int_quickbooks__deposit_double_entry", "model.quickbooks.int_quickbooks__deposit_transactions", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__deposit_deposit_id__source_relation.5574d8e908", "test.quickbooks_source.not_null_stg_quickbooks__deposit_deposit_id.880b8c37b1"], "model.quickbooks_source.stg_quickbooks__item": ["model.quickbooks.int_quickbooks__bill_double_entry", "model.quickbooks.int_quickbooks__bill_transactions", "model.quickbooks.int_quickbooks__credit_memo_double_entry", "model.quickbooks.int_quickbooks__credit_memo_transactions", "model.quickbooks.int_quickbooks__invoice_double_entry", "model.quickbooks.int_quickbooks__invoice_transactions", "model.quickbooks.int_quickbooks__purchase_double_entry", "model.quickbooks.int_quickbooks__purchase_transactions", "model.quickbooks.int_quickbooks__refund_receipt_double_entry", "model.quickbooks.int_quickbooks__refund_receipt_transactions", "model.quickbooks.int_quickbooks__sales_receipt_double_entry", "model.quickbooks.int_quickbooks__sales_receipt_transactions", "model.quickbooks.int_quickbooks__vendor_credit_double_entry", "model.quickbooks.int_quickbooks__vendor_credit_transactions", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__item_item_id__source_relation.169465a2a6", "test.quickbooks_source.not_null_stg_quickbooks__item_item_id.da906d8fb9"], "model.quickbooks_source.stg_quickbooks__customer": ["model.quickbooks.int_quickbooks__expenses_union", "model.quickbooks.int_quickbooks__sales_union", "model.quickbooks.quickbooks__ap_ar_enhanced", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__customer_customer_id__source_relation.61cc22a568", "test.quickbooks_source.not_null_stg_quickbooks__customer_customer_id.98232a9723"], "model.quickbooks_source.stg_quickbooks__vendor_credit_tmp": ["model.quickbooks_source.stg_quickbooks__vendor_credit"], "model.quickbooks_source.stg_quickbooks__refund_receipt_line_tmp": ["model.quickbooks_source.stg_quickbooks__refund_receipt_line"], "model.quickbooks_source.stg_quickbooks__estimate_line_tmp": ["model.quickbooks_source.stg_quickbooks__estimate_line"], "model.quickbooks_source.stg_quickbooks__credit_memo_line_tmp": ["model.quickbooks_source.stg_quickbooks__credit_memo_line"], "model.quickbooks_source.stg_quickbooks__journal_entry_tmp": ["model.quickbooks_source.stg_quickbooks__journal_entry"], "model.quickbooks_source.stg_quickbooks__invoice_line_bundle_tmp": ["model.quickbooks_source.stg_quickbooks__invoice_line_bundle"], "model.quickbooks_source.stg_quickbooks__payment_tmp": ["model.quickbooks_source.stg_quickbooks__payment"], "model.quickbooks_source.stg_quickbooks__invoice_line_tmp": ["model.quickbooks_source.stg_quickbooks__invoice_line"], "model.quickbooks_source.stg_quickbooks__deposit_line_tmp": ["model.quickbooks_source.stg_quickbooks__deposit_line"], "model.quickbooks_source.stg_quickbooks__customer_tmp": ["model.quickbooks_source.stg_quickbooks__customer"], "model.quickbooks_source.stg_quickbooks__bill_line_tmp": ["model.quickbooks_source.stg_quickbooks__bill_line"], "model.quickbooks_source.stg_quickbooks__item_tmp": ["model.quickbooks_source.stg_quickbooks__item"], "model.quickbooks_source.stg_quickbooks__account_tmp": ["model.quickbooks_source.stg_quickbooks__account"], "model.quickbooks_source.stg_quickbooks__credit_card_payment_txn_tmp": ["model.quickbooks_source.stg_quickbooks__credit_card_payment_txn"], "model.quickbooks_source.stg_quickbooks__vendor_credit_line_tmp": ["model.quickbooks_source.stg_quickbooks__vendor_credit_line"], "model.quickbooks_source.stg_quickbooks__department_tmp": ["model.quickbooks_source.stg_quickbooks__department"], "model.quickbooks_source.stg_quickbooks__bundle_tmp": ["model.quickbooks_source.stg_quickbooks__bundle"], "model.quickbooks_source.stg_quickbooks__bundle_item_tmp": ["model.quickbooks_source.stg_quickbooks__bundle_item"], "model.quickbooks_source.stg_quickbooks__bill_payment_line_tmp": ["model.quickbooks_source.stg_quickbooks__bill_payment_line"], "model.quickbooks_source.stg_quickbooks__estimate_tmp": ["model.quickbooks_source.stg_quickbooks__estimate"], "model.quickbooks_source.stg_quickbooks__purchase_tmp": ["model.quickbooks_source.stg_quickbooks__purchase"], "model.quickbooks_source.stg_quickbooks__credit_memo_tmp": ["model.quickbooks_source.stg_quickbooks__credit_memo"], "model.quickbooks_source.stg_quickbooks__bill_tmp": ["model.quickbooks_source.stg_quickbooks__bill"], "model.quickbooks_source.stg_quickbooks__transfer_tmp": ["model.quickbooks_source.stg_quickbooks__transfer"], "model.quickbooks_source.stg_quickbooks__vendor_tmp": ["model.quickbooks_source.stg_quickbooks__vendor"], "model.quickbooks_source.stg_quickbooks__purchase_line_tmp": ["model.quickbooks_source.stg_quickbooks__purchase_line"], "model.quickbooks_source.stg_quickbooks__address_tmp": ["model.quickbooks_source.stg_quickbooks__address"], "model.quickbooks_source.stg_quickbooks__payment_line_tmp": ["model.quickbooks_source.stg_quickbooks__payment_line"], "model.quickbooks_source.stg_quickbooks__refund_receipt_tmp": ["model.quickbooks_source.stg_quickbooks__refund_receipt"], "model.quickbooks_source.stg_quickbooks__sales_receipt_tmp": ["model.quickbooks_source.stg_quickbooks__sales_receipt"], "model.quickbooks_source.stg_quickbooks__bill_payment_tmp": ["model.quickbooks_source.stg_quickbooks__bill_payment"], "model.quickbooks_source.stg_quickbooks__journal_entry_line_tmp": ["model.quickbooks_source.stg_quickbooks__journal_entry_line"], "model.quickbooks_source.stg_quickbooks__deposit_tmp": ["model.quickbooks_source.stg_quickbooks__deposit"], "model.quickbooks_source.stg_quickbooks__bill_linked_txn_tmp": ["model.quickbooks_source.stg_quickbooks__bill_linked_txn"], "model.quickbooks_source.stg_quickbooks__invoice_linked_txn_tmp": ["model.quickbooks_source.stg_quickbooks__invoice_linked_txn"], "model.quickbooks_source.stg_quickbooks__sales_receipt_line_tmp": ["model.quickbooks_source.stg_quickbooks__sales_receipt_line"], "model.quickbooks_source.stg_quickbooks__invoice_tmp": ["model.quickbooks_source.stg_quickbooks__invoice"], "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__ap_ar_enhanced_transaction_id__source_relation__estimate_id.804c1f0bcf": [], "test.quickbooks.unique_quickbooks__cash_flow_statement_account_unique_id.c6ce55cc0d": [], "test.quickbooks.not_null_quickbooks__cash_flow_statement_account_unique_id.748fb9ef0a": [], "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__expenses_sales_enhanced_transaction_id__source_relation__transaction_line_id__item_id.b57775bacb": [], "test.quickbooks.unique_quickbooks__general_ledger_unique_id.df148e7545": [], "test.quickbooks.not_null_quickbooks__general_ledger_unique_id.06732be667": [], "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__general_ledger_by_period_account_id__class_id__source_relation__period_first_day.d928e63a45": [], "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__profit_and_loss_account_id__class_id__source_relation__calendar_date.77ccb375e5": [], "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__balance_sheet_account_id__source_relation__calendar_date__class_id.07368a5056": [], "test.quickbooks_source.not_null_stg_quickbooks__account_account_id.9944488b9d": [], "test.quickbooks_source.accepted_values_stg_quickbooks__account_classification__Asset__Equity__Expense__Liability__Revenue.127506f73f": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__account_account_id__source_relation.864a4b056a": [], "test.quickbooks_source.not_null_stg_quickbooks__address_address_id.4f100ae50c": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__address_address_id__source_relation.5bc813a014": [], "test.quickbooks_source.not_null_stg_quickbooks__bill_line_bill_id.25c5ea7348": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_line_bill_id__index__source_relation.73722b1062": [], "test.quickbooks_source.not_null_stg_quickbooks__bill_linked_txn_bill_id.35f96199bd": [], "test.quickbooks_source.not_null_stg_quickbooks__bill_payment_line_bill_payment_id.1dbb366150": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_payment_line_bill_payment_id__index__source_relation.0a7e17967c": [], "test.quickbooks_source.not_null_stg_quickbooks__bill_payment_bill_payment_id.908899ccfb": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_payment_bill_payment_id__source_relation.4b7aafd630": [], "test.quickbooks_source.not_null_stg_quickbooks__bill_bill_id.ca717958c8": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_bill_id__source_relation.8c08249abf": [], "test.quickbooks_source.not_null_stg_quickbooks__bundle_item_bundle_id.6d547b8c07": [], "test.quickbooks_source.not_null_stg_quickbooks__bundle_bundle_id.382e1dad60": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bundle_bundle_id__source_relation.e241a21ebc": [], "test.quickbooks_source.not_null_stg_quickbooks__credit_memo_line_credit_memo_id.58953be02b": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__credit_memo_line_credit_memo_id__index__source_relation.7a43f0e186": [], "test.quickbooks_source.not_null_stg_quickbooks__credit_memo_credit_memo_id.d921d2b152": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__credit_memo_credit_memo_id__source_relation.917f24c5ca": [], "test.quickbooks_source.not_null_stg_quickbooks__customer_customer_id.98232a9723": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__customer_customer_id__source_relation.61cc22a568": [], "test.quickbooks_source.not_null_stg_quickbooks__deposit_line_deposit_id.d615f463e1": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__deposit_line_deposit_id__index__source_relation.443de63985": [], "test.quickbooks_source.not_null_stg_quickbooks__deposit_deposit_id.880b8c37b1": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__deposit_deposit_id__source_relation.5574d8e908": [], "test.quickbooks_source.not_null_stg_quickbooks__estimate_estimate_id.0331d3c310": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__estimate_estimate_id__source_relation.412260b882": [], "test.quickbooks_source.not_null_stg_quickbooks__estimate_line_estimate_id.c060f99b4c": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__estimate_line_estimate_id__index__source_relation.cc61ab0953": [], "test.quickbooks_source.not_null_stg_quickbooks__invoice_linked_txn_invoice_id.c9b9c8f8f4": [], "test.quickbooks_source.not_null_stg_quickbooks__invoice_line_invoice_id.0424087a8f": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_line_invoice_id__index__source_relation.99b74bc327": [], "test.quickbooks_source.not_null_stg_quickbooks__invoice_line_bundle_invoice_id.cfd59b83a9": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_line_bundle_invoice_id__index__invoice_line_index__source_relation.5370e9fcd0": [], "test.quickbooks_source.not_null_stg_quickbooks__invoice_invoice_id.b6d8e1ad7d": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_invoice_id__source_relation.ef51800044": [], "test.quickbooks_source.not_null_stg_quickbooks__item_item_id.da906d8fb9": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__item_item_id__source_relation.169465a2a6": [], "test.quickbooks_source.not_null_stg_quickbooks__journal_entry_line_journal_entry_id.bd89a6f784": [], "test.quickbooks_source.accepted_values_stg_quickbooks__journal_entry_line_posting_type__Credit__Debit.ab661907c3": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__journal_entry_line_journal_entry_id__index__source_relation.0cd1d9f232": [], "test.quickbooks_source.not_null_stg_quickbooks__journal_entry_journal_entry_id.39198c4ff2": [], "test.quickbooks_source.not_null_stg_quickbooks__payment_line_payment_id.6351e3fe26": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__payment_line_payment_id__index__source_relation.25be3cf2e5": [], "test.quickbooks_source.not_null_stg_quickbooks__payment_payment_id.ca2c1ef54f": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__payment_payment_id__source_relation.1998a8282e": [], "test.quickbooks_source.not_null_stg_quickbooks__purchase_line_purchase_id.5406fca79c": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_line_purchase_id__index__source_relation.a23c661eb5": [], "test.quickbooks_source.not_null_stg_quickbooks__purchase_purchase_id.fc2090959b": [], "test.quickbooks_source.accepted_values_stg_quickbooks__purchase_payment_type__Cash__Check__CreditCard.7de7edf458": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_purchase_id__source_relation.172340b49e": [], "test.quickbooks_source.not_null_stg_quickbooks__purchase_order_line_purchase_order_id.210718c1c7": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_order_line_purchase_order_id__index__source_relation.e47fe7ae13": [], "test.quickbooks_source.not_null_stg_quickbooks__purchase_order_linked_txn_purchase_order_id.d9f0186f4e": [], "test.quickbooks_source.not_null_stg_quickbooks__purchase_order_purchase_order_id.4158032222": [], "test.quickbooks_source.accepted_values_stg_quickbooks__purchase_order_status__Open__Closed.a86f736065": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_order_purchase_order_id__source_relation.1ade9ebad8": [], "test.quickbooks_source.not_null_stg_quickbooks__refund_receipt_line_refund_id.57df809b80": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__refund_receipt_line_refund_id__index__source_relation.614411eb40": [], "test.quickbooks_source.not_null_stg_quickbooks__refund_receipt_refund_id.29e8a8216e": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__refund_receipt_refund_id__source_relation.60f976841d": [], "test.quickbooks_source.not_null_stg_quickbooks__sales_receipt_line_sales_receipt_id.9be0667fc3": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__sales_receipt_line_sales_receipt_id__index__source_relation.20e80dcbd5": [], "test.quickbooks_source.not_null_stg_quickbooks__sales_receipt_sales_receipt_id.b97c1a238a": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__sales_receipt_sales_receipt_id__source_relation.36bdbcffde": [], "test.quickbooks_source.not_null_stg_quickbooks__transfer_transfer_id.c1c80a253c": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__transfer_transfer_id__source_relation.bfa4c7345e": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__vendor_credit_line_vendor_credit_id__index__source_relation.094b35ac4d": [], "test.quickbooks_source.not_null_stg_quickbooks__vendor_credit_vendor_credit_id.1275a5ab5a": [], "test.quickbooks_source.not_null_stg_quickbooks__vendor_vendor_id.f509a77195": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__vendor_vendor_id__source_relation.4960d9d21a": [], "source.quickbooks_source.quickbooks.account": ["model.quickbooks_source.stg_quickbooks__account_tmp"], "source.quickbooks_source.quickbooks.address": ["model.quickbooks_source.stg_quickbooks__address_tmp"], "source.quickbooks_source.quickbooks.bill_line": ["model.quickbooks_source.stg_quickbooks__bill_line_tmp"], "source.quickbooks_source.quickbooks.bill_linked_txn": ["model.quickbooks_source.stg_quickbooks__bill_linked_txn_tmp"], "source.quickbooks_source.quickbooks.bill_payment_line": ["model.quickbooks_source.stg_quickbooks__bill_payment_line_tmp"], "source.quickbooks_source.quickbooks.bill_payment": ["model.quickbooks_source.stg_quickbooks__bill_payment_tmp"], "source.quickbooks_source.quickbooks.bill": ["model.quickbooks_source.stg_quickbooks__bill_tmp"], "source.quickbooks_source.quickbooks.bundle_item": ["model.quickbooks_source.stg_quickbooks__bundle_item_tmp"], "source.quickbooks_source.quickbooks.bundle": ["model.quickbooks_source.stg_quickbooks__bundle_tmp"], "source.quickbooks_source.quickbooks.credit_card_payment_txn": ["model.quickbooks_source.stg_quickbooks__credit_card_payment_txn_tmp"], "source.quickbooks_source.quickbooks.credit_memo_line": ["model.quickbooks_source.stg_quickbooks__credit_memo_line_tmp"], "source.quickbooks_source.quickbooks.credit_memo": ["model.quickbooks_source.stg_quickbooks__credit_memo_tmp"], "source.quickbooks_source.quickbooks.customer": ["model.quickbooks_source.stg_quickbooks__customer_tmp"], "source.quickbooks_source.quickbooks.department": ["model.quickbooks_source.stg_quickbooks__department_tmp"], "source.quickbooks_source.quickbooks.deposit_line": ["model.quickbooks_source.stg_quickbooks__deposit_line_tmp"], "source.quickbooks_source.quickbooks.deposit": ["model.quickbooks_source.stg_quickbooks__deposit_tmp"], "source.quickbooks_source.quickbooks.estimate": ["model.quickbooks_source.stg_quickbooks__estimate_tmp"], "source.quickbooks_source.quickbooks.estimate_line": ["model.quickbooks_source.stg_quickbooks__estimate_line_tmp"], "source.quickbooks_source.quickbooks.invoice_linked_txn": ["model.quickbooks_source.stg_quickbooks__invoice_linked_txn_tmp"], "source.quickbooks_source.quickbooks.invoice_line": ["model.quickbooks_source.stg_quickbooks__invoice_line_tmp"], "source.quickbooks_source.quickbooks.invoice_line_bundle": ["model.quickbooks_source.stg_quickbooks__invoice_line_bundle_tmp"], "source.quickbooks_source.quickbooks.invoice": ["model.quickbooks_source.stg_quickbooks__invoice_tmp"], "source.quickbooks_source.quickbooks.item": ["model.quickbooks_source.stg_quickbooks__item_tmp"], "source.quickbooks_source.quickbooks.journal_entry_line": ["model.quickbooks_source.stg_quickbooks__journal_entry_line_tmp"], "source.quickbooks_source.quickbooks.journal_entry": ["model.quickbooks_source.stg_quickbooks__journal_entry_tmp"], "source.quickbooks_source.quickbooks.payment_line": ["model.quickbooks_source.stg_quickbooks__payment_line_tmp"], "source.quickbooks_source.quickbooks.payment": ["model.quickbooks_source.stg_quickbooks__payment_tmp"], "source.quickbooks_source.quickbooks.purchase_line": ["model.quickbooks_source.stg_quickbooks__purchase_line_tmp"], "source.quickbooks_source.quickbooks.purchase": ["model.quickbooks_source.stg_quickbooks__purchase_tmp"], "source.quickbooks_source.quickbooks.purchase_order_line": [], "source.quickbooks_source.quickbooks.purchase_order_linked_txn": [], "source.quickbooks_source.quickbooks.purchase_order": [], "source.quickbooks_source.quickbooks.refund_receipt_line": ["model.quickbooks_source.stg_quickbooks__refund_receipt_line_tmp"], "source.quickbooks_source.quickbooks.refund_receipt": ["model.quickbooks_source.stg_quickbooks__refund_receipt_tmp"], "source.quickbooks_source.quickbooks.sales_receipt_line": ["model.quickbooks_source.stg_quickbooks__sales_receipt_line_tmp"], "source.quickbooks_source.quickbooks.sales_receipt": ["model.quickbooks_source.stg_quickbooks__sales_receipt_tmp"], "source.quickbooks_source.quickbooks.transfer": ["model.quickbooks_source.stg_quickbooks__transfer_tmp"], "source.quickbooks_source.quickbooks.vendor_credit_line": ["model.quickbooks_source.stg_quickbooks__vendor_credit_line_tmp"], "source.quickbooks_source.quickbooks.vendor_credit": ["model.quickbooks_source.stg_quickbooks__vendor_credit_tmp"], "source.quickbooks_source.quickbooks.vendor": ["model.quickbooks_source.stg_quickbooks__vendor_tmp"]}, "group_map": {}, "saved_queries": {}, "semantic_models": {}} \ No newline at end of file +{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/manifest/v11.json", "dbt_version": "1.7.16", "generated_at": "2024-11-18T16:58:00.405944Z", "invocation_id": "e8f8d5ea-2725-44bf-a933-259d0855423f", "env": {}, "project_name": "quickbooks_integration_tests", "project_id": "fb1a7b9ce88ce39cb54ba2ec5c0aaab3", "user_id": "81581f81-d5af-4143-8fbf-c2f0001e4f56", "send_anonymous_usage_stats": true, "adapter_type": "postgres"}, "nodes": {"seed.quickbooks_integration_tests.bill_payment_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "bill_payment_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "bill_payment_data.csv", "original_file_path": "seeds/bill_payment_data.csv", "unique_id": "seed.quickbooks_integration_tests.bill_payment_data", "fqn": ["quickbooks_integration_tests", "bill_payment_data"], "alias": "bill_payment_data", "checksum": {"name": "sha256", "checksum": "654e27fe99f7891483ba67ae67202f00a166df46c6463965f831bd47d3bc53cf"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.63609, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"bill_payment_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.bundle_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "bundle_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "bundle_data.csv", "original_file_path": "seeds/bundle_data.csv", "unique_id": "seed.quickbooks_integration_tests.bundle_data", "fqn": ["quickbooks_integration_tests", "bundle_data"], "alias": "bundle_data", "checksum": {"name": "sha256", "checksum": "05c58a514ad8c1ea4162a3b64ed0cf8a0c517b277d9b7df566a79b419dbc8bce"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.639529, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"bundle_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.bill_payment_line_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "bill_payment_line_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "bill_payment_line_data.csv", "original_file_path": "seeds/bill_payment_line_data.csv", "unique_id": "seed.quickbooks_integration_tests.bill_payment_line_data", "fqn": ["quickbooks_integration_tests", "bill_payment_line_data"], "alias": "bill_payment_line_data", "checksum": {"name": "sha256", "checksum": "ae8e7b58ddb78ecbcb7facd257a29f27db08cb69e4014ee40e3a07d02e7ea51a"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.640959, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"bill_payment_line_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.payment_line_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "payment_line_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "payment_line_data.csv", "original_file_path": "seeds/payment_line_data.csv", "unique_id": "seed.quickbooks_integration_tests.payment_line_data", "fqn": ["quickbooks_integration_tests", "payment_line_data"], "alias": "payment_line_data", "checksum": {"name": "sha256", "checksum": "6e54b93beaddd05e86b071eb43833845bfc76a841b2780e3e1059f6d661cd238"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.642399, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"payment_line_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.vendor_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "vendor_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "vendor_data.csv", "original_file_path": "seeds/vendor_data.csv", "unique_id": "seed.quickbooks_integration_tests.vendor_data", "fqn": ["quickbooks_integration_tests", "vendor_data"], "alias": "vendor_data", "checksum": {"name": "sha256", "checksum": "bffa017c52634742d44c5621b4a3e5c3d91a0a10dc66f9517202eb5cca923d15"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date", "id": "bigint"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1731948865.643649, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"vendor_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.address_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "address_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "address_data.csv", "original_file_path": "seeds/address_data.csv", "unique_id": "seed.quickbooks_integration_tests.address_data", "fqn": ["quickbooks_integration_tests", "address_data"], "alias": "address_data", "checksum": {"name": "sha256", "checksum": "2b7bfb3f76e41e3fee0443c10a939053b0edb31b9f4be1bcd0af8d4b686da7b0"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.644877, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"address_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.purchase_order_linked_txn_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "purchase_order_linked_txn_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "purchase_order_linked_txn_data.csv", "original_file_path": "seeds/purchase_order_linked_txn_data.csv", "unique_id": "seed.quickbooks_integration_tests.purchase_order_linked_txn_data", "fqn": ["quickbooks_integration_tests", "purchase_order_linked_txn_data"], "alias": "purchase_order_linked_txn_data", "checksum": {"name": "sha256", "checksum": "783640948c1f42079de535df23609064f3195e20ce34dffe56ac54f0c0f16ada"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.6462889, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"purchase_order_linked_txn_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.invoice_line_bundle_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "invoice_line_bundle_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "invoice_line_bundle_data.csv", "original_file_path": "seeds/invoice_line_bundle_data.csv", "unique_id": "seed.quickbooks_integration_tests.invoice_line_bundle_data", "fqn": ["quickbooks_integration_tests", "invoice_line_bundle_data"], "alias": "invoice_line_bundle_data", "checksum": {"name": "sha256", "checksum": "f1cdc81c2fb1ec4f76c5226e2f5e4ed6f17f7b446cb53cfa539d8caafb252a5c"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.647577, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"invoice_line_bundle_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.invoice_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "invoice_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "invoice_data.csv", "original_file_path": "seeds/invoice_data.csv", "unique_id": "seed.quickbooks_integration_tests.invoice_data", "fqn": ["quickbooks_integration_tests", "invoice_data"], "alias": "invoice_data", "checksum": {"name": "sha256", "checksum": "cd8527ea11d19987f98860a31d2d99ac78cf045bf1af9c135c354310edd7c65b"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.64874, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"invoice_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.payment_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "payment_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "payment_data.csv", "original_file_path": "seeds/payment_data.csv", "unique_id": "seed.quickbooks_integration_tests.payment_data", "fqn": ["quickbooks_integration_tests", "payment_data"], "alias": "payment_data", "checksum": {"name": "sha256", "checksum": "1d04470de19b7e48f687a9ee6300cfaefcb777e49316bbd55d52a12f34e4d357"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.650051, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"payment_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.invoice_line_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "invoice_line_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "invoice_line_data.csv", "original_file_path": "seeds/invoice_line_data.csv", "unique_id": "seed.quickbooks_integration_tests.invoice_line_data", "fqn": ["quickbooks_integration_tests", "invoice_line_data"], "alias": "invoice_line_data", "checksum": {"name": "sha256", "checksum": "a05f10afc36145c8449665e8f314939d4a039eb87969448d98685d5964decfb7"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.651426, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"invoice_line_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.deposit_line_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "deposit_line_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "deposit_line_data.csv", "original_file_path": "seeds/deposit_line_data.csv", "unique_id": "seed.quickbooks_integration_tests.deposit_line_data", "fqn": ["quickbooks_integration_tests", "deposit_line_data"], "alias": "deposit_line_data", "checksum": {"name": "sha256", "checksum": "064d28ea96f9f70114d364924ce93b4dd18ac77a27b2091e65537dc0e46440ed"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date", "deposit_account_id": "bigint", "deposit_class_id": "bigint"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"deposit_account_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "deposit_class_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1731948865.652879, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"deposit_line_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.estimate_line_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "estimate_line_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "estimate_line_data.csv", "original_file_path": "seeds/estimate_line_data.csv", "unique_id": "seed.quickbooks_integration_tests.estimate_line_data", "fqn": ["quickbooks_integration_tests", "estimate_line_data"], "alias": "estimate_line_data", "checksum": {"name": "sha256", "checksum": "cff0f0d902a16e9ab0b877d174dd67536537fc669c16505c2efadb0721ce6c26"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.654043, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"estimate_line_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.purchase_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "purchase_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "purchase_data.csv", "original_file_path": "seeds/purchase_data.csv", "unique_id": "seed.quickbooks_integration_tests.purchase_data", "fqn": ["quickbooks_integration_tests", "purchase_data"], "alias": "purchase_data", "checksum": {"name": "sha256", "checksum": "ac38b4fff602a8b6503082d010e026efc561fb55567fb52b4c3cd0a6fb295cfc"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date", "credit": "bool"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"credit": "{{ 'boolean' if target.name in ('snowflake', 'spark', 'databricks') else 'bool' }}"}}, "created_at": 1731948865.6552262, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"purchase_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.refund_receipt_line_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "refund_receipt_line_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "refund_receipt_line_data.csv", "original_file_path": "seeds/refund_receipt_line_data.csv", "unique_id": "seed.quickbooks_integration_tests.refund_receipt_line_data", "fqn": ["quickbooks_integration_tests", "refund_receipt_line_data"], "alias": "refund_receipt_line_data", "checksum": {"name": "sha256", "checksum": "8a67266f87e49dda0de57a6d66b4c1a053af545a6c8d394f8df6470b98cd31c7"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.656409, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"refund_receipt_line_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.credit_memo_line_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "credit_memo_line_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "credit_memo_line_data.csv", "original_file_path": "seeds/credit_memo_line_data.csv", "unique_id": "seed.quickbooks_integration_tests.credit_memo_line_data", "fqn": ["quickbooks_integration_tests", "credit_memo_line_data"], "alias": "credit_memo_line_data", "checksum": {"name": "sha256", "checksum": "01898bc6786c3c48ebf5aa4170ea54257dd66e6fc38931067c9012bc639f6994"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.657731, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"credit_memo_line_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.bill_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "bill_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "bill_data.csv", "original_file_path": "seeds/bill_data.csv", "unique_id": "seed.quickbooks_integration_tests.bill_data", "fqn": ["quickbooks_integration_tests", "bill_data"], "alias": "bill_data", "checksum": {"name": "sha256", "checksum": "3241a63054f0ffb9737a402a18fbe8286e86114e18425db853ff0673fc410314"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.658975, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"bill_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.bill_linked_txn_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "bill_linked_txn_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "bill_linked_txn_data.csv", "original_file_path": "seeds/bill_linked_txn_data.csv", "unique_id": "seed.quickbooks_integration_tests.bill_linked_txn_data", "fqn": ["quickbooks_integration_tests", "bill_linked_txn_data"], "alias": "bill_linked_txn_data", "checksum": {"name": "sha256", "checksum": "14f88fc0716d3c253043a68af9b026ab54a93a33784c682b6ec700671f1e03c7"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.660473, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"bill_linked_txn_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.vendor_credit_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "vendor_credit_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "vendor_credit_data.csv", "original_file_path": "seeds/vendor_credit_data.csv", "unique_id": "seed.quickbooks_integration_tests.vendor_credit_data", "fqn": ["quickbooks_integration_tests", "vendor_credit_data"], "alias": "vendor_credit_data", "checksum": {"name": "sha256", "checksum": "ccc4a1ca3967e3eb7f61d2831242f07b1e5a77006dd4312a17fd36e7ea008bea"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.661828, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"vendor_credit_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.customer_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "customer_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "customer_data.csv", "original_file_path": "seeds/customer_data.csv", "unique_id": "seed.quickbooks_integration_tests.customer_data", "fqn": ["quickbooks_integration_tests", "customer_data"], "alias": "customer_data", "checksum": {"name": "sha256", "checksum": "e2b9abb83f4dc3812031037fc13d830832d8716045300555cdc45b06ec6e353d"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.663079, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"customer_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.estimate_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "estimate_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "estimate_data.csv", "original_file_path": "seeds/estimate_data.csv", "unique_id": "seed.quickbooks_integration_tests.estimate_data", "fqn": ["quickbooks_integration_tests", "estimate_data"], "alias": "estimate_data", "checksum": {"name": "sha256", "checksum": "b74a86af936ab89d26162e2f0184387241d748c1008380ac1e7a7e1c475c69a8"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.6644359, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"estimate_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.purchase_line_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "purchase_line_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "purchase_line_data.csv", "original_file_path": "seeds/purchase_line_data.csv", "unique_id": "seed.quickbooks_integration_tests.purchase_line_data", "fqn": ["quickbooks_integration_tests", "purchase_line_data"], "alias": "purchase_line_data", "checksum": {"name": "sha256", "checksum": "33355dd453e68ac5a5afa2f71e3c515dc414cdd55a489c65d2c2c4fa06fd18e7"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date", "item_expense_billable_status": "varchar(100)", "account_expense_account_id": "bigint"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"item_expense_billable_status": "{{ 'varchar(100)' if target.name in ('redshift', 'postgres') else 'string' }}", "account_expense_account_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1731948865.6656058, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"purchase_line_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.journal_entry_line_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "journal_entry_line_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "journal_entry_line_data.csv", "original_file_path": "seeds/journal_entry_line_data.csv", "unique_id": "seed.quickbooks_integration_tests.journal_entry_line_data", "fqn": ["quickbooks_integration_tests", "journal_entry_line_data"], "alias": "journal_entry_line_data", "checksum": {"name": "sha256", "checksum": "a17bbafe90f2f00403538657b9f45c14d929ce2d9b5b29a55828855756024516"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.666801, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"journal_entry_line_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.journal_entry_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "journal_entry_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "journal_entry_data.csv", "original_file_path": "seeds/journal_entry_data.csv", "unique_id": "seed.quickbooks_integration_tests.journal_entry_data", "fqn": ["quickbooks_integration_tests", "journal_entry_data"], "alias": "journal_entry_data", "checksum": {"name": "sha256", "checksum": "6f717632a6fe0901786fbdfed63db69af1c928331ed9cb83f9fd389fe2b9ab83"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.668101, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"journal_entry_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.bill_line_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "bill_line_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "bill_line_data.csv", "original_file_path": "seeds/bill_line_data.csv", "unique_id": "seed.quickbooks_integration_tests.bill_line_data", "fqn": ["quickbooks_integration_tests", "bill_line_data"], "alias": "bill_line_data", "checksum": {"name": "sha256", "checksum": "ea538cd77d1034c9b0d941677d4f92040a5e73cf839135ac7173a0b30649dbd1"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date", "item_expense_billable_status": "varchar(100)", "account_expense_billable_status": "varchar(100)"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"item_expense_billable_status": "{{ 'varchar(100)' if target.name in ('redshift', 'postgres') else 'string' }}", "account_expense_billable_status": "{{ 'varchar(100)' if target.name in ('redshift', 'postgres') else 'string' }}"}}, "created_at": 1731948865.6698072, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"bill_line_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.bundle_item_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "bundle_item_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "bundle_item_data.csv", "original_file_path": "seeds/bundle_item_data.csv", "unique_id": "seed.quickbooks_integration_tests.bundle_item_data", "fqn": ["quickbooks_integration_tests", "bundle_item_data"], "alias": "bundle_item_data", "checksum": {"name": "sha256", "checksum": "69218d4dc89cf8da55d1a5aab12bbe45129b48377fa7615f0030616d8c34fe9d"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.6713011, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"bundle_item_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.invoice_linked_txn_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "invoice_linked_txn_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "invoice_linked_txn_data.csv", "original_file_path": "seeds/invoice_linked_txn_data.csv", "unique_id": "seed.quickbooks_integration_tests.invoice_linked_txn_data", "fqn": ["quickbooks_integration_tests", "invoice_linked_txn_data"], "alias": "invoice_linked_txn_data", "checksum": {"name": "sha256", "checksum": "88dda316adf9a5921231dbe5bd5d0c425391ccf9b72a7d6c937155d67b3b45ba"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.672504, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"invoice_linked_txn_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.account_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "account_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "account_data.csv", "original_file_path": "seeds/account_data.csv", "unique_id": "seed.quickbooks_integration_tests.account_data", "fqn": ["quickbooks_integration_tests", "account_data"], "alias": "account_data", "checksum": {"name": "sha256", "checksum": "0a384c0bfe27c8c04e0de2f93cc8afbae0c9a0ff11dc576f0c664437ce13db2c"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.673683, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"account_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.purchase_order_line_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "purchase_order_line_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "purchase_order_line_data.csv", "original_file_path": "seeds/purchase_order_line_data.csv", "unique_id": "seed.quickbooks_integration_tests.purchase_order_line_data", "fqn": ["quickbooks_integration_tests", "purchase_order_line_data"], "alias": "purchase_order_line_data", "checksum": {"name": "sha256", "checksum": "39d5f88917f7d5d8ec70465d8569a38bd19d72bfb26bc495f3231b3e6599c945"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.675034, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"purchase_order_line_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.transfer_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "transfer_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "transfer_data.csv", "original_file_path": "seeds/transfer_data.csv", "unique_id": "seed.quickbooks_integration_tests.transfer_data", "fqn": ["quickbooks_integration_tests", "transfer_data"], "alias": "transfer_data", "checksum": {"name": "sha256", "checksum": "79139d758013f9fe26aec7a1283224df79f5bb780c3b896ed8ead578bc4f8ff5"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.677103, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"transfer_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.purchase_order_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "purchase_order_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "purchase_order_data.csv", "original_file_path": "seeds/purchase_order_data.csv", "unique_id": "seed.quickbooks_integration_tests.purchase_order_data", "fqn": ["quickbooks_integration_tests", "purchase_order_data"], "alias": "purchase_order_data", "checksum": {"name": "sha256", "checksum": "b9348ee111769ebb6e08dda6b5cf73209cd853d86267de1a28574bf630e02431"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.6782951, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"purchase_order_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.sales_receipt_line_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "sales_receipt_line_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "sales_receipt_line_data.csv", "original_file_path": "seeds/sales_receipt_line_data.csv", "unique_id": "seed.quickbooks_integration_tests.sales_receipt_line_data", "fqn": ["quickbooks_integration_tests", "sales_receipt_line_data"], "alias": "sales_receipt_line_data", "checksum": {"name": "sha256", "checksum": "e710dc7b9aba51824d9c660984fcd76975ec70f7afd28f4fe0e16bc251368c5d"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.67949, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"sales_receipt_line_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.vendor_credit_line_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "vendor_credit_line_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "vendor_credit_line_data.csv", "original_file_path": "seeds/vendor_credit_line_data.csv", "unique_id": "seed.quickbooks_integration_tests.vendor_credit_line_data", "fqn": ["quickbooks_integration_tests", "vendor_credit_line_data"], "alias": "vendor_credit_line_data", "checksum": {"name": "sha256", "checksum": "8c60276eb72f29fcd60b6aff2615648b71ce47e0b738331b54f86c988a979737"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date", "item_expense_billable_status": "varchar(100)", "account_expense_billable_status": "varchar(100)"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"item_expense_billable_status": "{{ 'varchar(100)' if target.name in ('redshift', 'postgres') else 'string' }}", "account_expense_billable_status": "{{ 'varchar(100)' if target.name in ('redshift', 'postgres') else 'string' }}"}}, "created_at": 1731948865.6806889, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"vendor_credit_line_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.credit_card_payment_txn_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "credit_card_payment_txn_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "credit_card_payment_txn_data.csv", "original_file_path": "seeds/credit_card_payment_txn_data.csv", "unique_id": "seed.quickbooks_integration_tests.credit_card_payment_txn_data", "fqn": ["quickbooks_integration_tests", "credit_card_payment_txn_data"], "alias": "credit_card_payment_txn_data", "checksum": {"name": "sha256", "checksum": "b841a2f9402ba5f52789b27002186dd63d63c303bce30c02aba104b787c048d6"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.682058, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"credit_card_payment_txn_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.credit_memo_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "credit_memo_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "credit_memo_data.csv", "original_file_path": "seeds/credit_memo_data.csv", "unique_id": "seed.quickbooks_integration_tests.credit_memo_data", "fqn": ["quickbooks_integration_tests", "credit_memo_data"], "alias": "credit_memo_data", "checksum": {"name": "sha256", "checksum": "e78544a27c48f4cad0b44f943800fa35faf9fd82d6c0a058535b980e59e1ca9e"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.683192, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"credit_memo_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.department_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "department_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "department_data.csv", "original_file_path": "seeds/department_data.csv", "unique_id": "seed.quickbooks_integration_tests.department_data", "fqn": ["quickbooks_integration_tests", "department_data"], "alias": "department_data", "checksum": {"name": "sha256", "checksum": "bc4fc3ec74243d1de20190986676ad03ddd7e65b4ea7356efdacd1a9a71ba4e7"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.684743, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"department_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.item_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "item_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "item_data.csv", "original_file_path": "seeds/item_data.csv", "unique_id": "seed.quickbooks_integration_tests.item_data", "fqn": ["quickbooks_integration_tests", "item_data"], "alias": "item_data", "checksum": {"name": "sha256", "checksum": "87ccec7cfdde8bc7e75c6f2682d82490f61c90cd1177ea5013ae322b6c36f2d3"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.685986, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"item_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.sales_receipt_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "sales_receipt_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "sales_receipt_data.csv", "original_file_path": "seeds/sales_receipt_data.csv", "unique_id": "seed.quickbooks_integration_tests.sales_receipt_data", "fqn": ["quickbooks_integration_tests", "sales_receipt_data"], "alias": "sales_receipt_data", "checksum": {"name": "sha256", "checksum": "1eb213364426d9a6dd17a248773531cf73117558bf7c064ff0af685e98516422"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.687155, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"sales_receipt_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.deposit_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "deposit_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "deposit_data.csv", "original_file_path": "seeds/deposit_data.csv", "unique_id": "seed.quickbooks_integration_tests.deposit_data", "fqn": ["quickbooks_integration_tests", "deposit_data"], "alias": "deposit_data", "checksum": {"name": "sha256", "checksum": "299d1c71bfff3238072188f87070b936a9697b632a7146f39faf3642170ec3a8"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.688464, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"deposit_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "seed.quickbooks_integration_tests.refund_receipt_data": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "refund_receipt_data", "resource_type": "seed", "package_name": "quickbooks_integration_tests", "path": "refund_receipt_data.csv", "original_file_path": "seeds/refund_receipt_data.csv", "unique_id": "seed.quickbooks_integration_tests.refund_receipt_data", "fqn": ["quickbooks_integration_tests", "refund_receipt_data"], "alias": "refund_receipt_data", "checksum": {"name": "sha256", "checksum": "0bfb44ee366239221dfee9e985b0c66d5a7cbc6d0bb8c18cf02acba7616c135d"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {"transaction_date": "date", "due_date": "date"}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": false}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"transaction_date": "date", "due_date": "date"}}, "created_at": 1731948865.689634, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"refund_receipt_data\"", "raw_code": "", "root_path": "/Users/avinash.kunnath/Documents/dbt_packages/quickbooks/dbt_quickbooks/integration_tests", "depends_on": {"macros": []}}, "model.quickbooks.quickbooks__balance_sheet": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "quickbooks__balance_sheet", "resource_type": "model", "package_name": "quickbooks", "path": "quickbooks__balance_sheet.sql", "original_file_path": "models/quickbooks__balance_sheet.sql", "unique_id": "model.quickbooks.quickbooks__balance_sheet", "fqn": ["quickbooks", "quickbooks__balance_sheet"], "alias": "quickbooks__balance_sheet", "checksum": {"name": "sha256", "checksum": "92ca99ccf2c7b0758cd6f77a536d7c4ee180acc883465a7a63999a7a09a6598e"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing all asset, liability, and equity account classes by calendar year and month enriched with account type, class, and parent information.\n", "columns": {"calendar_date": {"name": "calendar_date", "description": "Timestamp of the first calendar date of the month. This is slated to be deprecated, and the fields `period_first_day` and `period_last_day` are both offered as replacements, depending on how your company performs their financial reporting.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "period_first_day": {"name": "period_first_day", "description": "Timestamp of the first date of the month.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "period_last_day": {"name": "period_last_day", "description": "Timestamp of the last date of the month.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_class": {"name": "account_class", "description": "Class of the account associated with the balance sheet line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_sub_account": {"name": "is_sub_account", "description": "Boolean indicating whether the account is a sub account (true) or a parent account (false).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "parent_account_number": {"name": "parent_account_number", "description": "The parent account number. If the account is the parent account then the account number is recorded.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "parent_account_name": {"name": "parent_account_name", "description": "The parent account name. If the account is the parent account then the account name is recorded.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated with the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_type": {"name": "account_type", "description": "The type of account associated with the balance sheet line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_sub_type": {"name": "account_sub_type", "description": "Sub type of the account associated with the balance sheet line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_number": {"name": "account_number", "description": "User defined number of the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "Name of the account associated with the balance sheet line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The identifier of the account associated with the balance sheet line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "The total ending period balance.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "converted_amount": {"name": "converted_amount", "description": "The total ending period balance, converted with exchange rates applied if available,", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_ordinal": {"name": "account_ordinal", "description": "Integer value to order the account within final financial statement reporting. The customer can also configure the ordinal; [see the README for details](https://github.com/fivetran/dbt_quickbooks/blob/main/README.md#customize-the-account-ordering-of-your-profit-loss-and-balance-sheet-models)", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}"}, "created_at": 1731948866.911236, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"quickbooks__balance_sheet\"", "raw_code": "with general_ledger_by_period as (\n\n select *\n from {{ ref('quickbooks__general_ledger_by_period') }}\n where financial_statement_helper = 'balance_sheet'\n), \n\nfinal as (\n select\n period_first_day as calendar_date, -- Slated to be deprecated; we recommend using `period_first_day` or `period_last_day`\n period_first_day,\n period_last_day,\n source_relation,\n account_class,\n class_id,\n is_sub_account,\n parent_account_number,\n parent_account_name,\n account_type,\n account_sub_type,\n account_number,\n account_id,\n account_name,\n period_ending_balance as amount,\n period_ending_converted_balance as converted_amount,\n account_ordinal\n from general_ledger_by_period\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "quickbooks__general_ledger_by_period", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.quickbooks.quickbooks__general_ledger_by_period"]}, "compiled_path": "target/compiled/quickbooks/models/quickbooks__balance_sheet.sql", "compiled": true, "compiled_code": "with general_ledger_by_period as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"quickbooks__general_ledger_by_period\"\n where financial_statement_helper = 'balance_sheet'\n), \n\nfinal as (\n select\n period_first_day as calendar_date, -- Slated to be deprecated; we recommend using `period_first_day` or `period_last_day`\n period_first_day,\n period_last_day,\n source_relation,\n account_class,\n class_id,\n is_sub_account,\n parent_account_number,\n parent_account_name,\n account_type,\n account_sub_type,\n account_number,\n account_id,\n account_name,\n period_ending_balance as amount,\n period_ending_converted_balance as converted_amount,\n account_ordinal\n from general_ledger_by_period\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.quickbooks__general_ledger_by_period": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "quickbooks__general_ledger_by_period", "resource_type": "model", "package_name": "quickbooks", "path": "quickbooks__general_ledger_by_period.sql", "original_file_path": "models/quickbooks__general_ledger_by_period.sql", "unique_id": "model.quickbooks.quickbooks__general_ledger_by_period", "fqn": ["quickbooks", "quickbooks__general_ledger_by_period"], "alias": "quickbooks__general_ledger_by_period", "checksum": {"name": "sha256", "checksum": "81b71ad880e03e46825645b549c5459da037d29b07524c66547764201690f1d9"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that pulls general ledger account level balances per period from int_quickbooks__general_ledger_balances while also creating an offsetting Retained Earnings entry for Revenue - Expenses per year to be added as single Equity line balance per year.", "columns": {"account_id": {"name": "account_id", "description": "The identifier of the account associated with the period balance transactions.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_number": {"name": "account_number", "description": "User defined number of the account. with the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "Name of the account associated with the period balance transactions.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_sub_account": {"name": "is_sub_account", "description": "Boolean indicating whether the account is a sub account (true) or a parent account (false).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "parent_account_number": {"name": "parent_account_number", "description": "The parent account number. If the account is the parent account then the account number is recorded.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "parent_account_name": {"name": "parent_account_name", "description": "The parent account name. If the account is the parent account then the account name is recorded.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_type": {"name": "account_type", "description": "The type of account associated with the period balance transactions.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_sub_type": {"name": "account_sub_type", "description": "Sub type of the account associated with the period balance transactions.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_class": {"name": "account_class", "description": "Class of the account associated with the period balance transactions.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated with the period balance transactions.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "financial_statement_helper": {"name": "financial_statement_helper", "description": "Helper field identifying whether the account impacts the balances sheet or income statement.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "date_year": {"name": "date_year", "description": "Timestamp of the year.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "period_first_day": {"name": "period_first_day", "description": "Timestamp of the first date of the month.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "period_last_day": {"name": "period_last_day", "description": "Timestamp of the last date of the month.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "period_net_change": {"name": "period_net_change", "description": "Account balance difference from the beginning and ending of the period.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "period_beginning_balance": {"name": "period_beginning_balance", "description": "Balance of the account as of the first date of the period.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "period_ending_balance": {"name": "period_ending_balance", "description": "Sum of all transaction line adjusted_balances of the account for the period.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "period_net_converted_change": {"name": "period_net_converted_change", "description": "Account balance difference, converted with exchange rates applied if available, from the beginning and ending of the period.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "period_beginning_converted_balance": {"name": "period_beginning_converted_balance", "description": "Balance of the account, converted with exchange rates applied if available, as of the first date of the period.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "period_ending_converted_balance": {"name": "period_ending_converted_balance", "description": "Sum of all transaction line adjusted_balances of the account for the period, converted with exchange rates applied if available.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_ordinal": {"name": "account_ordinal", "description": "Integer value to order the account within final financial statement reporting. The customer can also configure the ordinal; [see the README for details](https://github.com/fivetran/dbt_quickbooks/blob/main/README.md#customize-the-account-ordering-of-your-profit-loss-and-balance-sheet-models)", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}"}, "created_at": 1731948866.910079, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"quickbooks__general_ledger_by_period\"", "raw_code": "with general_ledger_balances as (\n\n select *\n from {{ ref('int_quickbooks__general_ledger_balances') }}\n),\n\nretained_earnings as (\n\n select *\n from {{ ref('int_quickbooks__retained_earnings') }}\n),\n\n{% if var('financial_statement_ordinal') %}\nordinals as ( \n\n select \n cast(account_class as {{ dbt.type_string() }}) as account_class,\n cast(account_type as {{ dbt.type_string() }}) as account_type,\n cast(account_sub_type as {{ dbt.type_string() }}) as account_sub_type,\n cast(account_number as {{ dbt.type_string() }}) as account_number,\n ordinal\n from {{ var('financial_statement_ordinal') }}\n),\n{% endif %}\n\nbalances_earnings_unioned as (\n\n select *\n from general_ledger_balances\n\n union all \n\n select *\n from retained_earnings\n), \n\nfinal as (\n\n select \n balances_earnings_unioned.*,\n {% if var('financial_statement_ordinal') %}\n coalesce(account_number_ordinal.ordinal, account_sub_type_ordinal.ordinal, account_type_ordinal.ordinal, account_class_ordinal.ordinal) as account_ordinal\n {% else %}\n case \n when account_class = 'Asset' then 1\n when account_class = 'Liability' then 2\n when account_class = 'Equity' then 3\n when account_class = 'Revenue' then 1\n when account_class = 'Expense' then 2\n end as account_ordinal \n {% endif %}\n from balances_earnings_unioned\n {% if var('financial_statement_ordinal') %}\n left join ordinals as account_number_ordinal\n on balances_earnings_unioned.account_number = account_number_ordinal.account_number\n left join ordinals as account_sub_type_ordinal\n on balances_earnings_unioned.account_sub_type = account_sub_type_ordinal.account_sub_type\n left join ordinals as account_type_ordinal\n on balances_earnings_unioned.account_type = account_type_ordinal.account_type\n left join ordinals as account_class_ordinal\n on balances_earnings_unioned.account_class = account_class_ordinal.account_class\n {% endif %}\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "int_quickbooks__general_ledger_balances", "package": null, "version": null}, {"name": "int_quickbooks__retained_earnings", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.quickbooks.int_quickbooks__general_ledger_balances", "model.quickbooks.int_quickbooks__retained_earnings"]}, "compiled_path": "target/compiled/quickbooks/models/quickbooks__general_ledger_by_period.sql", "compiled": true, "compiled_code": "with general_ledger_balances as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__general_ledger_balances\"\n),\n\nretained_earnings as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__retained_earnings\"\n),\n\n\n\nbalances_earnings_unioned as (\n\n select *\n from general_ledger_balances\n\n union all \n\n select *\n from retained_earnings\n), \n\nfinal as (\n\n select \n balances_earnings_unioned.*,\n \n case \n when account_class = 'Asset' then 1\n when account_class = 'Liability' then 2\n when account_class = 'Equity' then 3\n when account_class = 'Revenue' then 1\n when account_class = 'Expense' then 2\n end as account_ordinal \n \n from balances_earnings_unioned\n \n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.quickbooks__general_ledger": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "quickbooks__general_ledger", "resource_type": "model", "package_name": "quickbooks", "path": "quickbooks__general_ledger.sql", "original_file_path": "models/quickbooks__general_ledger.sql", "unique_id": "model.quickbooks.quickbooks__general_ledger", "fqn": ["quickbooks", "quickbooks__general_ledger"], "alias": "quickbooks__general_ledger", "checksum": {"name": "sha256", "checksum": "40dd35994334dd4eb1d8baed44dd0e97d173e93667e12e83ec0dd0922fd541f5"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that unions all records from each model within the double_entry_transactions directory. The table end result is a comprehensive general ledger with an offsetting debit and credit entry for each transaction.", "columns": {"unique_id": {"name": "unique_id", "description": "Unique identifier of the general ledger line, dependent on `transaction_id`, `transaction_index`, `account_id`, `transaction_type`, `transaction_source`, and `source_relation`. \n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_id": {"name": "transaction_id", "description": "Unique identifier of the transaction. Each transaction will have an offsetting debit and credit record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_index": {"name": "transaction_index", "description": "Unique identifier of the individual debit and credit records of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "The date that the transaction occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the transaction line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The identifier of the account associated with the transaction line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Reference to the customer associated with the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_id": {"name": "vendor_id", "description": "Reference to the vendor associated with the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated with the transaction line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department with the transaction line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_number": {"name": "account_number", "description": "User defined number of the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "Name of the account associated with the transaction line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_sub_account": {"name": "is_sub_account", "description": "Boolean indicating whether the account is a sub account (true) or a parent account (false).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "parent_account_number": {"name": "parent_account_number", "description": "The parent account number. If the account is the parent account then the account number is recorded.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "parent_account_name": {"name": "parent_account_name", "description": "The parent account name. If the account is the parent account then the account name is recorded.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_type": {"name": "account_type", "description": "The type of account associated with the transaction line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_sub_type": {"name": "account_sub_type", "description": "Sub type of the account associated with the transaction line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "financial_statement_helper": {"name": "financial_statement_helper", "description": "Either 'balance sheet' or 'income statement' and is used to determine that financial statement the account impacts.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_current_balance": {"name": "account_current_balance", "description": "Total current balance of the account associated with the transaction line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_class": {"name": "account_class", "description": "Class of the account associated with the transaction line. Will be one of 'Expense', 'Revenue', 'Asset', 'Liability', and 'Equity'.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_type": {"name": "transaction_type", "description": "Identifier of whether the transaction is a debit or credit entry.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_source": {"name": "transaction_source", "description": "Field signifying the source of transaction (eg. Bill, Invoice, Deposit, Journal Entry, etc.).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_transaction_type": {"name": "account_transaction_type", "description": "Identifier of whether the account is increased by either a debit or credit entry.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "adjusted_amount": {"name": "adjusted_amount", "description": "The amount that impacts the account. If the transaction_type = account_transaction_type then the impact will increase, otherwise it will decrease the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "adjusted_converted_amount": {"name": "adjusted_converted_amount", "description": "The amount, converted with exchange rates applied if available, that impacts the account. If the transaction_type = account_transaction_type then the impact will increase, otherwise it will decrease the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "running_balance": {"name": "running_balance", "description": "The running balance of the account by each individual day.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "running_converted_balance": {"name": "running_converted_balance", "description": "The running balance of the account by each individual day, --converted with exchange rates applied if available.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}"}, "created_at": 1731948866.907873, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"quickbooks__general_ledger\"", "raw_code": "with unioned_models as (\n\n {{ dbt_utils.union_relations(get_enabled_unioned_models()) }}\n),\n\ngl_union as (\n\n select transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount,\n converted_amount,\n account_id,\n class_id,\n department_id,\n transaction_type,\n transaction_source \n from unioned_models\n),\n\naccounts as (\n\n select *\n from {{ ref('int_quickbooks__account_classifications') }}\n),\n\n\nadjusted_gl as (\n \n select\n {{ dbt_utils.generate_surrogate_key(['gl_union.transaction_id', 'gl_union.source_relation', 'gl_union.index',\n 'gl_union.account_id', ' gl_union.transaction_type', 'gl_union.transaction_source']) }} \n as unique_id,\n gl_union.transaction_id,\n gl_union.source_relation,\n gl_union.index as transaction_index,\n gl_union.transaction_date,\n gl_union.customer_id,\n gl_union.vendor_id,\n gl_union.amount,\n gl_union.account_id,\n gl_union.class_id,\n gl_union.department_id,\n accounts.account_number,\n accounts.name as account_name,\n accounts.is_sub_account,\n accounts.parent_account_number,\n accounts.parent_account_name,\n accounts.account_type,\n accounts.account_sub_type,\n accounts.financial_statement_helper,\n accounts.balance as account_current_balance,\n accounts.classification as account_class,\n gl_union.transaction_type,\n gl_union.transaction_source,\n accounts.transaction_type as account_transaction_type,\n case when accounts.transaction_type = gl_union.transaction_type\n then gl_union.amount\n else gl_union.amount * -1\n end as adjusted_amount,\n case when accounts.transaction_type = gl_union.transaction_type\n then gl_union.converted_amount\n else gl_union.converted_amount * -1\n end as adjusted_converted_amount\n from gl_union\n\n left join accounts\n on gl_union.account_id = accounts.account_id\n and gl_union.source_relation = accounts.source_relation\n),\n\nfinal as (\n\n select\n *,\n sum(adjusted_amount) over (partition by account_id, class_id, source_relation\n order by source_relation, transaction_date, account_id, class_id rows unbounded preceding) as running_balance,\n sum(adjusted_converted_amount) over (partition by account_id, class_id, source_relation\n order by source_relation, transaction_date, account_id, class_id rows unbounded preceding) as running_converted_balance\n from adjusted_gl\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "int_quickbooks__purchase_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__bill_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__credit_memo_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__deposit_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__invoice_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__journal_entry_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__payment_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__refund_receipt_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__sales_receipt_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__transfer_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__vendor_credit_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__bill_payment_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__credit_card_pymt_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__account_classifications", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks.get_enabled_unioned_models", "macro.dbt_utils.union_relations", "macro.dbt_utils.generate_surrogate_key"], "nodes": ["model.quickbooks.int_quickbooks__purchase_double_entry", "model.quickbooks.int_quickbooks__bill_double_entry", "model.quickbooks.int_quickbooks__credit_memo_double_entry", "model.quickbooks.int_quickbooks__deposit_double_entry", "model.quickbooks.int_quickbooks__invoice_double_entry", "model.quickbooks.int_quickbooks__journal_entry_double_entry", "model.quickbooks.int_quickbooks__payment_double_entry", "model.quickbooks.int_quickbooks__refund_receipt_double_entry", "model.quickbooks.int_quickbooks__sales_receipt_double_entry", "model.quickbooks.int_quickbooks__transfer_double_entry", "model.quickbooks.int_quickbooks__vendor_credit_double_entry", "model.quickbooks.int_quickbooks__bill_payment_double_entry", "model.quickbooks.int_quickbooks__credit_card_pymt_double_entry", "model.quickbooks.int_quickbooks__account_classifications"]}, "compiled_path": "target/compiled/quickbooks/models/quickbooks__general_ledger.sql", "compiled": true, "compiled_code": "with unioned_models as (\n\n \n\n (\n select\n cast('\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__purchase_double_entry\"' as TEXT) as _dbt_source_relation,\n\n \n cast(\"transaction_id\" as text) as \"transaction_id\" ,\n cast(\"source_relation\" as text) as \"source_relation\" ,\n cast(\"index\" as integer) as \"index\" ,\n cast(\"transaction_date\" as date) as \"transaction_date\" ,\n cast(\"customer_id\" as text) as \"customer_id\" ,\n cast(\"vendor_id\" as text) as \"vendor_id\" ,\n cast(\"amount\" as integer) as \"amount\" ,\n cast(\"converted_amount\" as integer) as \"converted_amount\" ,\n cast(\"account_id\" as text) as \"account_id\" ,\n cast(\"class_id\" as text) as \"class_id\" ,\n cast(\"department_id\" as text) as \"department_id\" ,\n cast(\"transaction_type\" as text) as \"transaction_type\" ,\n cast(\"transaction_source\" as text) as \"transaction_source\" \n\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__purchase_double_entry\"\n\n \n )\n\n union all\n \n\n (\n select\n cast('\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__bill_double_entry\"' as TEXT) as _dbt_source_relation,\n\n \n cast(\"transaction_id\" as text) as \"transaction_id\" ,\n cast(\"source_relation\" as text) as \"source_relation\" ,\n cast(\"index\" as integer) as \"index\" ,\n cast(\"transaction_date\" as date) as \"transaction_date\" ,\n cast(\"customer_id\" as text) as \"customer_id\" ,\n cast(\"vendor_id\" as text) as \"vendor_id\" ,\n cast(\"amount\" as integer) as \"amount\" ,\n cast(\"converted_amount\" as integer) as \"converted_amount\" ,\n cast(\"account_id\" as text) as \"account_id\" ,\n cast(\"class_id\" as text) as \"class_id\" ,\n cast(\"department_id\" as text) as \"department_id\" ,\n cast(\"transaction_type\" as text) as \"transaction_type\" ,\n cast(\"transaction_source\" as text) as \"transaction_source\" \n\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__bill_double_entry\"\n\n \n )\n\n union all\n \n\n (\n select\n cast('\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__credit_memo_double_entry\"' as TEXT) as _dbt_source_relation,\n\n \n cast(\"transaction_id\" as text) as \"transaction_id\" ,\n cast(\"source_relation\" as text) as \"source_relation\" ,\n cast(\"index\" as integer) as \"index\" ,\n cast(\"transaction_date\" as date) as \"transaction_date\" ,\n cast(\"customer_id\" as text) as \"customer_id\" ,\n cast(\"vendor_id\" as text) as \"vendor_id\" ,\n cast(\"amount\" as integer) as \"amount\" ,\n cast(\"converted_amount\" as integer) as \"converted_amount\" ,\n cast(\"account_id\" as text) as \"account_id\" ,\n cast(\"class_id\" as text) as \"class_id\" ,\n cast(\"department_id\" as text) as \"department_id\" ,\n cast(\"transaction_type\" as text) as \"transaction_type\" ,\n cast(\"transaction_source\" as text) as \"transaction_source\" \n\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__credit_memo_double_entry\"\n\n \n )\n\n union all\n \n\n (\n select\n cast('\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__deposit_double_entry\"' as TEXT) as _dbt_source_relation,\n\n \n cast(\"transaction_id\" as text) as \"transaction_id\" ,\n cast(\"source_relation\" as text) as \"source_relation\" ,\n cast(\"index\" as integer) as \"index\" ,\n cast(\"transaction_date\" as date) as \"transaction_date\" ,\n cast(\"customer_id\" as text) as \"customer_id\" ,\n cast(\"vendor_id\" as text) as \"vendor_id\" ,\n cast(\"amount\" as integer) as \"amount\" ,\n cast(\"converted_amount\" as integer) as \"converted_amount\" ,\n cast(\"account_id\" as text) as \"account_id\" ,\n cast(\"class_id\" as text) as \"class_id\" ,\n cast(\"department_id\" as text) as \"department_id\" ,\n cast(\"transaction_type\" as text) as \"transaction_type\" ,\n cast(\"transaction_source\" as text) as \"transaction_source\" \n\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__deposit_double_entry\"\n\n \n )\n\n union all\n \n\n (\n select\n cast('\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__invoice_double_entry\"' as TEXT) as _dbt_source_relation,\n\n \n cast(\"transaction_id\" as text) as \"transaction_id\" ,\n cast(\"source_relation\" as text) as \"source_relation\" ,\n cast(\"index\" as integer) as \"index\" ,\n cast(\"transaction_date\" as date) as \"transaction_date\" ,\n cast(\"customer_id\" as text) as \"customer_id\" ,\n cast(\"vendor_id\" as text) as \"vendor_id\" ,\n cast(\"amount\" as integer) as \"amount\" ,\n cast(\"converted_amount\" as integer) as \"converted_amount\" ,\n cast(\"account_id\" as text) as \"account_id\" ,\n cast(\"class_id\" as text) as \"class_id\" ,\n cast(\"department_id\" as text) as \"department_id\" ,\n cast(\"transaction_type\" as text) as \"transaction_type\" ,\n cast(\"transaction_source\" as text) as \"transaction_source\" \n\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__invoice_double_entry\"\n\n \n )\n\n union all\n \n\n (\n select\n cast('\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__journal_entry_double_entry\"' as TEXT) as _dbt_source_relation,\n\n \n cast(\"transaction_id\" as text) as \"transaction_id\" ,\n cast(\"source_relation\" as text) as \"source_relation\" ,\n cast(\"index\" as integer) as \"index\" ,\n cast(\"transaction_date\" as date) as \"transaction_date\" ,\n cast(\"customer_id\" as text) as \"customer_id\" ,\n cast(\"vendor_id\" as text) as \"vendor_id\" ,\n cast(\"amount\" as integer) as \"amount\" ,\n cast(\"converted_amount\" as integer) as \"converted_amount\" ,\n cast(\"account_id\" as text) as \"account_id\" ,\n cast(\"class_id\" as text) as \"class_id\" ,\n cast(\"department_id\" as text) as \"department_id\" ,\n cast(\"transaction_type\" as text) as \"transaction_type\" ,\n cast(\"transaction_source\" as text) as \"transaction_source\" \n\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__journal_entry_double_entry\"\n\n \n )\n\n union all\n \n\n (\n select\n cast('\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__payment_double_entry\"' as TEXT) as _dbt_source_relation,\n\n \n cast(\"transaction_id\" as text) as \"transaction_id\" ,\n cast(\"source_relation\" as text) as \"source_relation\" ,\n cast(\"index\" as integer) as \"index\" ,\n cast(\"transaction_date\" as date) as \"transaction_date\" ,\n cast(\"customer_id\" as text) as \"customer_id\" ,\n cast(\"vendor_id\" as text) as \"vendor_id\" ,\n cast(\"amount\" as integer) as \"amount\" ,\n cast(\"converted_amount\" as integer) as \"converted_amount\" ,\n cast(\"account_id\" as text) as \"account_id\" ,\n cast(\"class_id\" as text) as \"class_id\" ,\n cast(\"department_id\" as text) as \"department_id\" ,\n cast(\"transaction_type\" as text) as \"transaction_type\" ,\n cast(\"transaction_source\" as text) as \"transaction_source\" \n\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__payment_double_entry\"\n\n \n )\n\n union all\n \n\n (\n select\n cast('\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__refund_receipt_double_entry\"' as TEXT) as _dbt_source_relation,\n\n \n cast(\"transaction_id\" as text) as \"transaction_id\" ,\n cast(\"source_relation\" as text) as \"source_relation\" ,\n cast(\"index\" as integer) as \"index\" ,\n cast(\"transaction_date\" as date) as \"transaction_date\" ,\n cast(\"customer_id\" as text) as \"customer_id\" ,\n cast(\"vendor_id\" as text) as \"vendor_id\" ,\n cast(\"amount\" as integer) as \"amount\" ,\n cast(\"converted_amount\" as integer) as \"converted_amount\" ,\n cast(\"account_id\" as text) as \"account_id\" ,\n cast(\"class_id\" as text) as \"class_id\" ,\n cast(\"department_id\" as text) as \"department_id\" ,\n cast(\"transaction_type\" as text) as \"transaction_type\" ,\n cast(\"transaction_source\" as text) as \"transaction_source\" \n\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__refund_receipt_double_entry\"\n\n \n )\n\n union all\n \n\n (\n select\n cast('\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__sales_receipt_double_entry\"' as TEXT) as _dbt_source_relation,\n\n \n cast(\"transaction_id\" as text) as \"transaction_id\" ,\n cast(\"source_relation\" as text) as \"source_relation\" ,\n cast(\"index\" as integer) as \"index\" ,\n cast(\"transaction_date\" as date) as \"transaction_date\" ,\n cast(\"customer_id\" as text) as \"customer_id\" ,\n cast(\"vendor_id\" as text) as \"vendor_id\" ,\n cast(\"amount\" as integer) as \"amount\" ,\n cast(\"converted_amount\" as integer) as \"converted_amount\" ,\n cast(\"account_id\" as text) as \"account_id\" ,\n cast(\"class_id\" as text) as \"class_id\" ,\n cast(\"department_id\" as text) as \"department_id\" ,\n cast(\"transaction_type\" as text) as \"transaction_type\" ,\n cast(\"transaction_source\" as text) as \"transaction_source\" \n\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__sales_receipt_double_entry\"\n\n \n )\n\n union all\n \n\n (\n select\n cast('\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__transfer_double_entry\"' as TEXT) as _dbt_source_relation,\n\n \n cast(\"transaction_id\" as text) as \"transaction_id\" ,\n cast(\"source_relation\" as text) as \"source_relation\" ,\n cast(\"index\" as integer) as \"index\" ,\n cast(\"transaction_date\" as date) as \"transaction_date\" ,\n cast(\"customer_id\" as text) as \"customer_id\" ,\n cast(\"vendor_id\" as text) as \"vendor_id\" ,\n cast(\"amount\" as integer) as \"amount\" ,\n cast(\"converted_amount\" as integer) as \"converted_amount\" ,\n cast(\"account_id\" as text) as \"account_id\" ,\n cast(\"class_id\" as text) as \"class_id\" ,\n cast(\"department_id\" as text) as \"department_id\" ,\n cast(\"transaction_type\" as text) as \"transaction_type\" ,\n cast(\"transaction_source\" as text) as \"transaction_source\" \n\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__transfer_double_entry\"\n\n \n )\n\n union all\n \n\n (\n select\n cast('\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__vendor_credit_double_entry\"' as TEXT) as _dbt_source_relation,\n\n \n cast(\"transaction_id\" as text) as \"transaction_id\" ,\n cast(\"source_relation\" as text) as \"source_relation\" ,\n cast(\"index\" as integer) as \"index\" ,\n cast(\"transaction_date\" as date) as \"transaction_date\" ,\n cast(\"customer_id\" as text) as \"customer_id\" ,\n cast(\"vendor_id\" as text) as \"vendor_id\" ,\n cast(\"amount\" as integer) as \"amount\" ,\n cast(\"converted_amount\" as integer) as \"converted_amount\" ,\n cast(\"account_id\" as text) as \"account_id\" ,\n cast(\"class_id\" as text) as \"class_id\" ,\n cast(\"department_id\" as text) as \"department_id\" ,\n cast(\"transaction_type\" as text) as \"transaction_type\" ,\n cast(\"transaction_source\" as text) as \"transaction_source\" \n\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__vendor_credit_double_entry\"\n\n \n )\n\n union all\n \n\n (\n select\n cast('\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__bill_payment_double_entry\"' as TEXT) as _dbt_source_relation,\n\n \n cast(\"transaction_id\" as text) as \"transaction_id\" ,\n cast(\"source_relation\" as text) as \"source_relation\" ,\n cast(\"index\" as integer) as \"index\" ,\n cast(\"transaction_date\" as date) as \"transaction_date\" ,\n cast(\"customer_id\" as text) as \"customer_id\" ,\n cast(\"vendor_id\" as text) as \"vendor_id\" ,\n cast(\"amount\" as integer) as \"amount\" ,\n cast(\"converted_amount\" as integer) as \"converted_amount\" ,\n cast(\"account_id\" as text) as \"account_id\" ,\n cast(\"class_id\" as text) as \"class_id\" ,\n cast(\"department_id\" as text) as \"department_id\" ,\n cast(\"transaction_type\" as text) as \"transaction_type\" ,\n cast(\"transaction_source\" as text) as \"transaction_source\" \n\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__bill_payment_double_entry\"\n\n \n )\n\n union all\n \n\n (\n select\n cast('\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__credit_card_pymt_double_entry\"' as TEXT) as _dbt_source_relation,\n\n \n cast(\"transaction_id\" as text) as \"transaction_id\" ,\n cast(\"source_relation\" as text) as \"source_relation\" ,\n cast(\"index\" as integer) as \"index\" ,\n cast(\"transaction_date\" as date) as \"transaction_date\" ,\n cast(\"customer_id\" as text) as \"customer_id\" ,\n cast(\"vendor_id\" as text) as \"vendor_id\" ,\n cast(\"amount\" as integer) as \"amount\" ,\n cast(\"converted_amount\" as integer) as \"converted_amount\" ,\n cast(\"account_id\" as text) as \"account_id\" ,\n cast(\"class_id\" as text) as \"class_id\" ,\n cast(\"department_id\" as text) as \"department_id\" ,\n cast(\"transaction_type\" as text) as \"transaction_type\" ,\n cast(\"transaction_source\" as text) as \"transaction_source\" \n\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__credit_card_pymt_double_entry\"\n\n \n )\n\n \n),\n\ngl_union as (\n\n select transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount,\n converted_amount,\n account_id,\n class_id,\n department_id,\n transaction_type,\n transaction_source \n from unioned_models\n),\n\naccounts as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__account_classifications\"\n),\n\n\nadjusted_gl as (\n \n select\n md5(cast(coalesce(cast(gl_union.transaction_id as TEXT), '_dbt_utils_surrogate_key_null_') || '-' || coalesce(cast(gl_union.source_relation as TEXT), '_dbt_utils_surrogate_key_null_') || '-' || coalesce(cast(gl_union.index as TEXT), '_dbt_utils_surrogate_key_null_') || '-' || coalesce(cast(gl_union.account_id as TEXT), '_dbt_utils_surrogate_key_null_') || '-' || coalesce(cast( gl_union.transaction_type as TEXT), '_dbt_utils_surrogate_key_null_') || '-' || coalesce(cast(gl_union.transaction_source as TEXT), '_dbt_utils_surrogate_key_null_') as TEXT)) \n as unique_id,\n gl_union.transaction_id,\n gl_union.source_relation,\n gl_union.index as transaction_index,\n gl_union.transaction_date,\n gl_union.customer_id,\n gl_union.vendor_id,\n gl_union.amount,\n gl_union.account_id,\n gl_union.class_id,\n gl_union.department_id,\n accounts.account_number,\n accounts.name as account_name,\n accounts.is_sub_account,\n accounts.parent_account_number,\n accounts.parent_account_name,\n accounts.account_type,\n accounts.account_sub_type,\n accounts.financial_statement_helper,\n accounts.balance as account_current_balance,\n accounts.classification as account_class,\n gl_union.transaction_type,\n gl_union.transaction_source,\n accounts.transaction_type as account_transaction_type,\n case when accounts.transaction_type = gl_union.transaction_type\n then gl_union.amount\n else gl_union.amount * -1\n end as adjusted_amount,\n case when accounts.transaction_type = gl_union.transaction_type\n then gl_union.converted_amount\n else gl_union.converted_amount * -1\n end as adjusted_converted_amount\n from gl_union\n\n left join accounts\n on gl_union.account_id = accounts.account_id\n and gl_union.source_relation = accounts.source_relation\n),\n\nfinal as (\n\n select\n *,\n sum(adjusted_amount) over (partition by account_id, class_id, source_relation\n order by source_relation, transaction_date, account_id, class_id rows unbounded preceding) as running_balance,\n sum(adjusted_converted_amount) over (partition by account_id, class_id, source_relation\n order by source_relation, transaction_date, account_id, class_id rows unbounded preceding) as running_converted_balance\n from adjusted_gl\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.quickbooks__profit_and_loss": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "quickbooks__profit_and_loss", "resource_type": "model", "package_name": "quickbooks", "path": "quickbooks__profit_and_loss.sql", "original_file_path": "models/quickbooks__profit_and_loss.sql", "unique_id": "model.quickbooks.quickbooks__profit_and_loss", "fqn": ["quickbooks", "quickbooks__profit_and_loss"], "alias": "quickbooks__profit_and_loss", "checksum": {"name": "sha256", "checksum": "8bc117f8937774d4ad3f8d46f15db581dd501bd5353778f38aa16778efd24e79"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing all revenue and expense account classes by calendar year and month enriched with account type, class, and parent information.", "columns": {"account_id": {"name": "account_id", "description": "The identifier of the account associated with the record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated with the record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "calendar_date": {"name": "calendar_date", "description": "Timestamp of the first calendar date of the month. This is slated to be deprecated, and the fields `period_first_day` and `period_last_day` are both offered as replacements, depending on how your company performs their financial reporting.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "period_first_day": {"name": "period_first_day", "description": "Timestamp of the first date of the month.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "period_last_day": {"name": "period_last_day", "description": "Timestamp of the last date of the month.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_class": {"name": "account_class", "description": "Class of the account associated with the profit and loss line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_sub_account": {"name": "is_sub_account", "description": "Boolean indicating whether the account is a sub account (true) or a parent account (false).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "parent_account_number": {"name": "parent_account_number", "description": "The parent account number. If the account is the parent account then the account number is recorded.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "parent_account_name": {"name": "parent_account_name", "description": "The parent account name. If the account is the parent account then the account name is recorded.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_type": {"name": "account_type", "description": "The type of account associated with the profit and loss line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_sub_type": {"name": "account_sub_type", "description": "Sub type of the account associated with the profit and loss line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_number": {"name": "account_number", "description": "User defined number of the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "Name of the account associated with the profit and loss line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "The total period net change for the period.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "converted_amount": {"name": "converted_amount", "description": "The total period net change for the period, converted with exchange rates applied if available.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_ordinal": {"name": "account_ordinal", "description": "Integer value to order the account within final financial statement reporting. The customer can also configure the ordinal; [see the README for details](https://github.com/fivetran/dbt_quickbooks/blob/main/README.md#customize-the-account-ordering-of-your-profit-loss-and-balance-sheet-models)", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}"}, "created_at": 1731948866.91073, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"quickbooks__profit_and_loss\"", "raw_code": "with general_ledger_by_period as (\n\n select *\n from {{ ref('quickbooks__general_ledger_by_period') }}\n where financial_statement_helper = 'income_statement'\n), \n\nfinal as (\n select\n period_first_day as calendar_date, -- Slated to be deprecated; we recommend using `period_first_day` or `period_last_day`\n period_first_day,\n period_last_day,\n source_relation,\n account_class,\n class_id,\n is_sub_account,\n parent_account_number,\n parent_account_name,\n account_type,\n account_sub_type,\n account_number,\n account_id,\n account_name,\n period_net_change as amount,\n period_net_converted_change as converted_amount,\n account_ordinal\n from general_ledger_by_period\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "quickbooks__general_ledger_by_period", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.quickbooks.quickbooks__general_ledger_by_period"]}, "compiled_path": "target/compiled/quickbooks/models/quickbooks__profit_and_loss.sql", "compiled": true, "compiled_code": "with general_ledger_by_period as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"quickbooks__general_ledger_by_period\"\n where financial_statement_helper = 'income_statement'\n), \n\nfinal as (\n select\n period_first_day as calendar_date, -- Slated to be deprecated; we recommend using `period_first_day` or `period_last_day`\n period_first_day,\n period_last_day,\n source_relation,\n account_class,\n class_id,\n is_sub_account,\n parent_account_number,\n parent_account_name,\n account_type,\n account_sub_type,\n account_number,\n account_id,\n account_name,\n period_net_change as amount,\n period_net_converted_change as converted_amount,\n account_ordinal\n from general_ledger_by_period\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.quickbooks__expenses_sales_enhanced": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "quickbooks__expenses_sales_enhanced", "resource_type": "model", "package_name": "quickbooks", "path": "quickbooks__expenses_sales_enhanced.sql", "original_file_path": "models/quickbooks__expenses_sales_enhanced.sql", "unique_id": "model.quickbooks.quickbooks__expenses_sales_enhanced", "fqn": ["quickbooks", "quickbooks__expenses_sales_enhanced"], "alias": "quickbooks__expenses_sales_enhanced", "checksum": {"name": "sha256", "checksum": "14dc301b814cc78cbd136971e534e3611271de7a4b36bf8f1d5f8af5ed1947c1"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that unions all expense records from int_quickbooks__expenses_union and all sales records from the int_quickbooks__sales_union while also adding customer, vendor, and department level detail to the expense and sales records.", "columns": {"transaction_source": {"name": "transaction_source", "description": "Set to 'expense' if the transaction type is an expense and 'sale' if the transaction type is a sale.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_id": {"name": "transaction_id", "description": "Unique identifier of the transaction for either the expense or sale.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_line_id": {"name": "transaction_line_id", "description": "Unique identifier of either the expense or sale line item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "The QuickBooks document number reference.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_type": {"name": "transaction_type", "description": "Specifies the expense or sale transaction type (ie. invoice, sales_receipt, deposit, journal entry, etc.).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "The date that the transaction occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_id": {"name": "item_id", "description": "Unique identifier of the item included in a sale transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_quantity": {"name": "item_quantity", "description": "Quantity of items included in the sale transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_unit_price": {"name": "item_unit_price", "description": "Unit price of the item included in the sale transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The identifier of the account associated with either the expense or sale.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "Name of the account associated with either the expense or sale.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_sub_type": {"name": "account_sub_type", "description": "Sub type of the account associated with either the expense or sale.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated with either the expense or sale.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department associated with either the expense or sale.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_name": {"name": "department_name", "description": "Name of the department associated with either the expense or sale.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Reference to the customer associated with either the expense or sale.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_name": {"name": "customer_name", "description": "Name of the customer associated with either the expense or sale.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_website": {"name": "customer_website", "description": "The website url of the customer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_id": {"name": "vendor_id", "description": "Reference to the vendor associated with either the expense or sale.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_name": {"name": "vendor_name", "description": "Name of the vendor associated with either the expense or sale.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "billable_status": {"name": "billable_status", "description": "Status indicating whether the expense or sale is billable.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description given to either the expense or sale transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of either the expense or sale line item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "converted_amount": {"name": "converted_amount", "description": "Monetary amount, converted with exchange rates applied if available, of either the expense or sale line item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Total monetary amount of either the expense or sale.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_converted_amount": {"name": "total_converted_amount", "description": "Total monetary amount, converted with exchange rates applied if available, of either the expense or sale.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}"}, "created_at": 1731948866.905854, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"quickbooks__expenses_sales_enhanced\"", "raw_code": "with expenses as (\n\n select *\n from {{ ref('int_quickbooks__expenses_union') }}\n),\n\n{% if fivetran_utils.enabled_vars_one_true(['using_sales_receipt','using_invoice']) %}\nsales as (\n\n select *\n from {{ ref('int_quickbooks__sales_union') }}\n),\n{% endif %}\n\nfinal as (\n \n select *\n from expenses\n\n {% if fivetran_utils.enabled_vars_one_true(['using_sales_receipt','using_invoice']) %}\n union all\n\n select *\n from sales\n {% endif %}\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "int_quickbooks__expenses_union", "package": null, "version": null}, {"name": "int_quickbooks__sales_union", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.enabled_vars_one_true"], "nodes": ["model.quickbooks.int_quickbooks__expenses_union", "model.quickbooks.int_quickbooks__sales_union"]}, "compiled_path": "target/compiled/quickbooks/models/quickbooks__expenses_sales_enhanced.sql", "compiled": true, "compiled_code": "with expenses as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__expenses_union\"\n),\n\n\nsales as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__sales_union\"\n),\n\n\nfinal as (\n \n select *\n from expenses\n\n \n union all\n\n select *\n from sales\n \n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.quickbooks__ap_ar_enhanced": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "quickbooks__ap_ar_enhanced", "resource_type": "model", "package_name": "quickbooks", "path": "quickbooks__ap_ar_enhanced.sql", "original_file_path": "models/quickbooks__ap_ar_enhanced.sql", "unique_id": "model.quickbooks.quickbooks__ap_ar_enhanced", "fqn": ["quickbooks", "quickbooks__ap_ar_enhanced"], "alias": "quickbooks__ap_ar_enhanced", "checksum": {"name": "sha256", "checksum": "32aa30923e751b6c60272d1832c7762e59c1f19937626a5a0168b6437a367442"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that unions all accounts payable records from int_quickbooks__bill_join and all accounts receivable records from int_quickbooks__invoice_join while also adding customer, vendor, address, and department level detail to the accounts payable and receivable records. Further, date and amount\ncalculations are included to show if the payable/receivable has been fully paid and/or paid on time.", "columns": {"transaction_type": {"name": "transaction_type", "description": "Set to 'bill' of the transaction is a bill and 'invoice' if the transaction is an invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_id": {"name": "transaction_id", "description": "Unique identifier of the transaction for the bill or invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "The QuickBooks document number reference.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "estimate_id": {"name": "estimate_id", "description": "Unique identifier of the estimate associated with the invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_name": {"name": "department_name", "description": "Name of the department associated with either the invoice or bill.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_with": {"name": "transaction_with", "description": "Set to 'vendor' if the transaction type is a bill and 'customer' if the transaction type is an invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_vendor_name": {"name": "customer_vendor_name", "description": "Full name of the vendor (if a bill) or the customer (if an invoice).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_vendor_balance": {"name": "customer_vendor_balance", "description": "Total current account balance of the vendor (if a bill) or the customer (if an invoice).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_vendor_address_city": {"name": "customer_vendor_address_city", "description": "City of the vendor (if a bill) or the customer (if an invoice).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_vendor_address_country": {"name": "customer_vendor_address_country", "description": "Country of the vendor (if a bill) or the customer (if an invoice).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_vendor_address_line": {"name": "customer_vendor_address_line", "description": "Address line of the vendor (if a bill) or the customer (if an invoice).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_vendor_website": {"name": "customer_vendor_website", "description": "The website url of the customer or vendor.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "delivery_type": {"name": "delivery_type", "description": "How the invoice was delivered to the customer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "estimate_status": {"name": "estimate_status", "description": "The status of the invoice estimate (if applicable).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "The total monetary amount of the invoice or bill.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_converted_amount": {"name": "total_converted_amount", "description": "The total monetary converted amount, with exchange rates applied if available, of the invoice or bill.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "estimate_total_amount": {"name": "estimate_total_amount", "description": "The total amount estimated of the bill or invoice (if applicable).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "estimate_total_converted_amount": {"name": "estimate_total_converted_amount", "description": "The total converted amount, with exchange rates applied if available, estimated of the bill or invoice (if applicable).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "current_balance": {"name": "current_balance", "description": "The bill or invoice defined remaining balance of the bill or invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_current_payment": {"name": "total_current_payment", "description": "Sum of all total payments made towards the bill or invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_current_converted_payment": {"name": "total_current_converted_payment", "description": "Sum of all total converted payments, with exchange rates applied if available, made towards the bill or invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "due_date": {"name": "due_date", "description": "The due date for the bill or invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_overdue": {"name": "is_overdue", "description": "Boolean indicating whether the bill or invoice full payment is overdue.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "days_overdue": {"name": "days_overdue", "description": "The recent payment minus the due date to show the total days the total payment is overdue.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "initial_payment_date": {"name": "initial_payment_date", "description": "The first date a payment was provided for the bill or invoice", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "recent_payment_date": {"name": "recent_payment_date", "description": "The last date a payment was provided for the bill or invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1731948866.899977, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"quickbooks__ap_ar_enhanced\"", "raw_code": "--To disable this model, set the using_bill and using_invoice variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_bill', True) and var('using_invoice', True) and var('using_payment', True)) }}\n\nwith bill_join as (\n\n select *\n from {{ref('int_quickbooks__bill_join')}}\n),\n\n{% if var('using_invoice', True) %}\ninvoice_join as (\n\n select *\n from {{ref('int_quickbooks__invoice_join')}}\n),\n{% endif %}\n\n{% if var('using_department', True) %}\ndepartments as ( \n\n select *\n from {{ ref('stg_quickbooks__department') }}\n),\n{% endif %}\n\n{% if var('using_address', True) %}\naddresses as (\n\n select *\n from {{ref('stg_quickbooks__address')}}\n),\n{% endif %}\n\ncustomers as (\n\n select *\n from {{ ref('stg_quickbooks__customer') }}\n),\n\nvendors as (\n\n select *\n from {{ ref('stg_quickbooks__vendor') }}\n),\n\nfinal as (\n\n select\n bill_join.transaction_type,\n bill_join.transaction_id,\n bill_join.source_relation,\n doc_number,\n cast(null as {{ dbt.type_string() }}) as estimate_id, \n\n {% if var('using_department', True) %}\n departments.fully_qualified_name as department_name,\n {% endif %}\n\n 'vendor' as transaction_with,\n vendors.display_name as customer_vendor_name,\n vendors.balance as customer_vendor_balance,\n\n {% if var('using_address', True) %}\n billing_address.city as customer_vendor_address_city,\n billing_address.country as customer_vendor_address_country,\n concat(billing_address.address_1, billing_address.address_2) as customer_vendor_address_line,\n {% endif %}\n \n vendors.web_url as customer_vendor_website,\n cast(null as {{ dbt.type_string() }}) as delivery_type,\n cast(null as {{ dbt.type_string() }}) as estimate_status,\n bill_join.total_amount,\n bill_join.total_converted_amount,\n cast(null as {{ dbt.type_numeric() }}) as estimate_total_amount,\n cast(null as {{ dbt.type_numeric() }}) as estimate_total_converted_amount,\n bill_join.current_balance,\n bill_join.due_date,\n case when bill_join.current_balance != 0 and {{ dbt.datediff(\"bill_join.recent_payment_date\", \"bill_join.due_date\", 'day') }} < 0\n then true\n else false\n end as is_overdue,\n case when bill_join.current_balance != 0 and {{ dbt.datediff(\"bill_join.recent_payment_date\", \"bill_join.due_date\", 'day') }} < 0\n then {{ dbt.datediff(\"bill_join.recent_payment_date\", \"bill_join.due_date\", 'day') }} * -1\n else 0\n end as days_overdue,\n bill_join.initial_payment_date,\n bill_join.recent_payment_date,\n bill_join.total_current_payment,\n bill_join.total_current_converted_payment\n from bill_join\n\n {% if var('using_department', True) %}\n left join departments \n on bill_join.department_id = departments.department_id\n and bill_join.source_relation = departments.source_relation\n {% endif %}\n\n left join vendors\n on bill_join.vendor_id = vendors.vendor_id\n and bill_join.source_relation = vendors.source_relation\n \n {% if var('using_address', True) %}\n left join addresses as billing_address\n on vendors.billing_address_id = billing_address.address_id\n and vendors.source_relation = billing_address.source_relation\n {% endif %}\n \n {% if var('using_invoice', True) %}\n union all\n\n select \n invoice_join.transaction_type,\n invoice_join.transaction_id,\n invoice_join.source_relation,\n doc_number,\n invoice_join.estimate_id,\n\n {% if var('using_department', True) %}\n departments.fully_qualified_name as department_name,\n {% endif %}\n\n 'customer' as transaction_with,\n customers.fully_qualified_name as customer_vendor_name,\n customers.balance as customer_vendor_current_balance,\n\n {% if var('using_address', True) %}\n billing_address.city as customer_vendor_address_city,\n billing_address.country as customer_vendor_address_country,\n concat(billing_address.address_1, billing_address.address_2) as customer_vendor_address_line,\n {% endif %}\n\n customers.website as customer_vendor_website,\n invoice_join.delivery_type,\n invoice_join.estimate_status,\n invoice_join.total_amount as total_amount,\n invoice_join.total_converted_amount,\n invoice_join.estimate_total_amount as estimate_total_amount,\n invoice_join.estimate_total_converted_amount as estimate_total_converted_amount,\n invoice_join.current_balance as current_balance,\n invoice_join.due_date,\n case when invoice_join.current_balance != 0 and {{ dbt.datediff(\"invoice_join.recent_payment_date\", \"invoice_join.due_date\", 'day') }} < 0\n then true\n else false\n end as is_overdue,\n case when invoice_join.current_balance != 0 and {{ dbt.datediff(\"invoice_join.recent_payment_date\", \"invoice_join.due_date\", 'day') }} < 0\n then {{ dbt.datediff(\"invoice_join.recent_payment_date\", \"invoice_join.due_date\", 'day') }} * -1\n else 0\n end as days_overdue,\n invoice_join.initial_payment_date,\n invoice_join.recent_payment_date,\n invoice_join.total_current_payment as total_current_payment,\n invoice_join.total_current_converted_payment\n\n from invoice_join\n\n {% if var('using_department', True) %}\n left join departments \n on invoice_join.department_id = departments.department_id\n and invoice_join.source_relation = departments.source_relation\n {% endif %}\n\n {% if var('using_address', True) %}\n left join addresses as billing_address\n on invoice_join.billing_address_id = billing_address.address_id\n and invoice_join.source_relation = billing_address.source_relation\n {% endif %}\n\n left join customers\n on invoice_join.customer_id = customers.customer_id\n and invoice_join.source_relation = customers.source_relation\n\n {% endif %}\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "int_quickbooks__bill_join", "package": null, "version": null}, {"name": "int_quickbooks__invoice_join", "package": null, "version": null}, {"name": "stg_quickbooks__department", "package": null, "version": null}, {"name": "stg_quickbooks__address", "package": null, "version": null}, {"name": "stg_quickbooks__customer", "package": null, "version": null}, {"name": "stg_quickbooks__vendor", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string", "macro.dbt.type_numeric", "macro.dbt.datediff"], "nodes": ["model.quickbooks.int_quickbooks__bill_join", "model.quickbooks.int_quickbooks__invoice_join", "model.quickbooks_source.stg_quickbooks__department", "model.quickbooks_source.stg_quickbooks__address", "model.quickbooks_source.stg_quickbooks__customer", "model.quickbooks_source.stg_quickbooks__vendor"]}, "compiled_path": "target/compiled/quickbooks/models/quickbooks__ap_ar_enhanced.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_bill and using_invoice variable within your dbt_project.yml file to False.\n\n\nwith bill_join as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__bill_join\"\n),\n\n\ninvoice_join as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__invoice_join\"\n),\n\n\n\ndepartments as ( \n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__department\"\n),\n\n\n\naddresses as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__address\"\n),\n\n\ncustomers as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__customer\"\n),\n\nvendors as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__vendor\"\n),\n\nfinal as (\n\n select\n bill_join.transaction_type,\n bill_join.transaction_id,\n bill_join.source_relation,\n doc_number,\n cast(null as TEXT) as estimate_id, \n\n \n departments.fully_qualified_name as department_name,\n \n\n 'vendor' as transaction_with,\n vendors.display_name as customer_vendor_name,\n vendors.balance as customer_vendor_balance,\n\n \n billing_address.city as customer_vendor_address_city,\n billing_address.country as customer_vendor_address_country,\n concat(billing_address.address_1, billing_address.address_2) as customer_vendor_address_line,\n \n \n vendors.web_url as customer_vendor_website,\n cast(null as TEXT) as delivery_type,\n cast(null as TEXT) as estimate_status,\n bill_join.total_amount,\n bill_join.total_converted_amount,\n cast(null as numeric(28,6)) as estimate_total_amount,\n cast(null as numeric(28,6)) as estimate_total_converted_amount,\n bill_join.current_balance,\n bill_join.due_date,\n case when bill_join.current_balance != 0 and \n ((bill_join.due_date)::date - (bill_join.recent_payment_date)::date)\n < 0\n then true\n else false\n end as is_overdue,\n case when bill_join.current_balance != 0 and \n ((bill_join.due_date)::date - (bill_join.recent_payment_date)::date)\n < 0\n then \n ((bill_join.due_date)::date - (bill_join.recent_payment_date)::date)\n * -1\n else 0\n end as days_overdue,\n bill_join.initial_payment_date,\n bill_join.recent_payment_date,\n bill_join.total_current_payment,\n bill_join.total_current_converted_payment\n from bill_join\n\n \n left join departments \n on bill_join.department_id = departments.department_id\n and bill_join.source_relation = departments.source_relation\n \n\n left join vendors\n on bill_join.vendor_id = vendors.vendor_id\n and bill_join.source_relation = vendors.source_relation\n \n \n left join addresses as billing_address\n on vendors.billing_address_id = billing_address.address_id\n and vendors.source_relation = billing_address.source_relation\n \n \n \n union all\n\n select \n invoice_join.transaction_type,\n invoice_join.transaction_id,\n invoice_join.source_relation,\n doc_number,\n invoice_join.estimate_id,\n\n \n departments.fully_qualified_name as department_name,\n \n\n 'customer' as transaction_with,\n customers.fully_qualified_name as customer_vendor_name,\n customers.balance as customer_vendor_current_balance,\n\n \n billing_address.city as customer_vendor_address_city,\n billing_address.country as customer_vendor_address_country,\n concat(billing_address.address_1, billing_address.address_2) as customer_vendor_address_line,\n \n\n customers.website as customer_vendor_website,\n invoice_join.delivery_type,\n invoice_join.estimate_status,\n invoice_join.total_amount as total_amount,\n invoice_join.total_converted_amount,\n invoice_join.estimate_total_amount as estimate_total_amount,\n invoice_join.estimate_total_converted_amount as estimate_total_converted_amount,\n invoice_join.current_balance as current_balance,\n invoice_join.due_date,\n case when invoice_join.current_balance != 0 and \n ((invoice_join.due_date)::date - (invoice_join.recent_payment_date)::date)\n < 0\n then true\n else false\n end as is_overdue,\n case when invoice_join.current_balance != 0 and \n ((invoice_join.due_date)::date - (invoice_join.recent_payment_date)::date)\n < 0\n then \n ((invoice_join.due_date)::date - (invoice_join.recent_payment_date)::date)\n * -1\n else 0\n end as days_overdue,\n invoice_join.initial_payment_date,\n invoice_join.recent_payment_date,\n invoice_join.total_current_payment as total_current_payment,\n invoice_join.total_current_converted_payment\n\n from invoice_join\n\n \n left join departments \n on invoice_join.department_id = departments.department_id\n and invoice_join.source_relation = departments.source_relation\n \n\n \n left join addresses as billing_address\n on invoice_join.billing_address_id = billing_address.address_id\n and invoice_join.source_relation = billing_address.source_relation\n \n\n left join customers\n on invoice_join.customer_id = customers.customer_id\n and invoice_join.source_relation = customers.source_relation\n\n \n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.quickbooks__cash_flow_statement": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "quickbooks__cash_flow_statement", "resource_type": "model", "package_name": "quickbooks", "path": "quickbooks__cash_flow_statement.sql", "original_file_path": "models/quickbooks__cash_flow_statement.sql", "unique_id": "model.quickbooks.quickbooks__cash_flow_statement", "fqn": ["quickbooks", "quickbooks__cash_flow_statement"], "alias": "quickbooks__cash_flow_statement", "checksum": {"name": "sha256", "checksum": "5e7116c475f1623118a75e52687c467b48a7eefd5eb647121f28a87c8ba8efe6"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that provides all line items necessary to construct a cash flow statement.", "columns": {"account_unique_id": {"name": "account_unique_id", "description": "Unique identifier of the cash flow statement account line, dependent on account_id, class_id, source_relation and calendar_date.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "cash_flow_period": {"name": "cash_flow_period", "description": "Timestamp of the first date for the cash flow period.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_class": {"name": "account_class", "description": "Class of the account associated with the cash flow line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_sub_account": {"name": "is_sub_account", "description": "Boolean indicating whether the account is a sub account (true) or a parent account (false).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "parent_account_number": {"name": "parent_account_number", "description": "The parent account number. If the account is the parent account then the account number is recorded.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "parent_account_name": {"name": "parent_account_name", "description": "The parent account name. If the account is the parent account then the account name is recorded.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated with the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_type": {"name": "account_type", "description": "The type of account associated with the cash flow line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_sub_type": {"name": "account_sub_type", "description": "Sub type of the account associated with the cash flow line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_number": {"name": "account_number", "description": "User defined number of the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_name": {"name": "account_name", "description": "Name of the account associated with the cash flow line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The identifier of the account associated with the cash flow line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "cash_flow_type": {"name": "cash_flow_type", "description": "The type of cash flow (Defaults are Cash or Cash Equivalents, Investing, Operating, Financing). The customer can also configure the cash flow type; [see the README for details](https://github.com/fivetran/dbt_quickbooks/blob/main/README.md#customize-the-cash-flow-model).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "cash_flow_ordinal": {"name": "cash_flow_ordinal", "description": "Integer value to order the account within final cash flow statement reporting. The customer can also configure the ordinal; [see the README for details](https://github.com/fivetran/dbt_quickbooks/blob/main/README.md#customize-the-cash-flow-model).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "cash_ending_period": {"name": "cash_ending_period", "description": "The total ending period balance cash for every cash flow account line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "cash_converted_ending_period": {"name": "cash_converted_ending_period", "description": "The total ending period balance cash, converted with exchange rates applied if available, for every cash flow account line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "cash_beginning_period": {"name": "cash_beginning_period", "description": "The total beginning period balance cash for every cash flow account line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "cash_converted_beginning_period": {"name": "cash_converted_beginning_period", "description": "The total beginning period balance cash, converted with exchange rates applied if available, for every cash flow account line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "cash_net_period": {"name": "cash_net_period", "description": "The net cash change from the beginning to the end of the period for every cash flow account line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "cash_converted_net_period": {"name": "cash_converted_net_period", "description": "The net cash change, converted with exchange rates applied if available, from the beginning to the end of the period for every cash flow account line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}"}, "created_at": 1731948866.903276, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"quickbooks__cash_flow_statement\"", "raw_code": "with cash_flow_classifications as (\n\n select *\n from {{ ref('int_quickbooks__cash_flow_classifications') }}\n), \n\nfinal as (\n \n select cash_flow_classifications.*,\n coalesce(lag(cash_ending_period) over (partition by account_id, class_id, source_relation \n order by source_relation, cash_flow_period), 0) as cash_beginning_period,\n cash_ending_period - coalesce(lag(cash_ending_period) over (partition by account_id, class_id, source_relation \n order by source_relation, cash_flow_period), 0) as cash_net_period,\n coalesce(lag(cash_converted_ending_period) over (partition by account_id, class_id, source_relation \n order by source_relation, cash_flow_period), 0) as cash_converted_beginning_period, \n cash_converted_ending_period - coalesce(lag(cash_converted_ending_period) over (partition by account_id, class_id, source_relation \n order by source_relation, cash_flow_period), 0) as cash_converted_net_period\n from cash_flow_classifications\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "int_quickbooks__cash_flow_classifications", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.quickbooks.int_quickbooks__cash_flow_classifications"]}, "compiled_path": "target/compiled/quickbooks/models/quickbooks__cash_flow_statement.sql", "compiled": true, "compiled_code": "with cash_flow_classifications as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__cash_flow_classifications\"\n), \n\nfinal as (\n \n select cash_flow_classifications.*,\n coalesce(lag(cash_ending_period) over (partition by account_id, class_id, source_relation \n order by source_relation, cash_flow_period), 0) as cash_beginning_period,\n cash_ending_period - coalesce(lag(cash_ending_period) over (partition by account_id, class_id, source_relation \n order by source_relation, cash_flow_period), 0) as cash_net_period,\n coalesce(lag(cash_converted_ending_period) over (partition by account_id, class_id, source_relation \n order by source_relation, cash_flow_period), 0) as cash_converted_beginning_period, \n cash_converted_ending_period - coalesce(lag(cash_converted_ending_period) over (partition by account_id, class_id, source_relation \n order by source_relation, cash_flow_period), 0) as cash_converted_net_period\n from cash_flow_classifications\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__transfer_double_entry": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__transfer_double_entry", "resource_type": "model", "package_name": "quickbooks", "path": "double_entry_transactions/int_quickbooks__transfer_double_entry.sql", "original_file_path": "models/double_entry_transactions/int_quickbooks__transfer_double_entry.sql", "unique_id": "model.quickbooks.int_quickbooks__transfer_double_entry", "fqn": ["quickbooks", "double_entry_transactions", "int_quickbooks__transfer_double_entry"], "alias": "int_quickbooks__transfer_double_entry", "checksum": {"name": "sha256", "checksum": "0a444a806ab557caa220e74e3a2091e906206aaeac54b1968972e0a083a33d58"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that creates a debit record to the receiving account and a credit record to the sending account.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1731948866.891652, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__transfer_double_entry\"", "raw_code": "/*\nTable that creates a debit record to the receiveing account and a credit record to the sending account.\n*/\n\n--To disable this model, set the using_transfer variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_transfer', True)) }}\n\nwith transfers as (\n\n select *\n from {{ ref('stg_quickbooks__transfer') }}\n),\n\ntransfer_body as (\n\n select\n transfer_id as transaction_id,\n source_relation,\n row_number() over(partition by transfer_id, source_relation \n order by source_relation, transaction_date) - 1 as index,\n transaction_date,\n amount,\n amount as converted_amount,\n from_account_id as credit_to_account_id,\n to_account_id as debit_to_account_id\n from transfers\n),\n\nfinal as (\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n cast(null as {{ dbt.type_string() }}) as customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n amount,\n converted_amount,\n credit_to_account_id as account_id,\n cast(null as {{ dbt.type_string() }}) as class_id,\n cast(null as {{ dbt.type_string() }}) as department_id,\n 'credit' as transaction_type,\n 'transfer' as transaction_source\n from transfer_body\n\n union all\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n cast(null as {{ dbt.type_string() }}) as customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n amount,\n converted_amount,\n debit_to_account_id as account_id,\n cast(null as {{ dbt.type_string() }}) as class_id,\n cast(null as {{ dbt.type_string() }}) as department_id,\n 'debit' as transaction_type,\n 'transfer' as transaction_source\n from transfer_body\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__transfer", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__transfer"]}, "compiled_path": "target/compiled/quickbooks/models/double_entry_transactions/int_quickbooks__transfer_double_entry.sql", "compiled": true, "compiled_code": "/*\nTable that creates a debit record to the receiveing account and a credit record to the sending account.\n*/\n\n--To disable this model, set the using_transfer variable within your dbt_project.yml file to False.\n\n\nwith transfers as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__transfer\"\n),\n\ntransfer_body as (\n\n select\n transfer_id as transaction_id,\n source_relation,\n row_number() over(partition by transfer_id, source_relation \n order by source_relation, transaction_date) - 1 as index,\n transaction_date,\n amount,\n amount as converted_amount,\n from_account_id as credit_to_account_id,\n to_account_id as debit_to_account_id\n from transfers\n),\n\nfinal as (\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n cast(null as TEXT) as customer_id,\n cast(null as TEXT) as vendor_id,\n amount,\n converted_amount,\n credit_to_account_id as account_id,\n cast(null as TEXT) as class_id,\n cast(null as TEXT) as department_id,\n 'credit' as transaction_type,\n 'transfer' as transaction_source\n from transfer_body\n\n union all\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n cast(null as TEXT) as customer_id,\n cast(null as TEXT) as vendor_id,\n amount,\n converted_amount,\n debit_to_account_id as account_id,\n cast(null as TEXT) as class_id,\n cast(null as TEXT) as department_id,\n 'debit' as transaction_type,\n 'transfer' as transaction_source\n from transfer_body\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__credit_memo_double_entry": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__credit_memo_double_entry", "resource_type": "model", "package_name": "quickbooks", "path": "double_entry_transactions/int_quickbooks__credit_memo_double_entry.sql", "original_file_path": "models/double_entry_transactions/int_quickbooks__credit_memo_double_entry.sql", "unique_id": "model.quickbooks.int_quickbooks__credit_memo_double_entry", "fqn": ["quickbooks", "double_entry_transactions", "int_quickbooks__credit_memo_double_entry"], "alias": "int_quickbooks__credit_memo_double_entry", "checksum": {"name": "sha256", "checksum": "3a3a77e5ebe74aa8ee523e812a005147f371c867597f48a1e4587bba171b6f4a"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that creates a debit record to Discounts Refunds Given and a credit record to the specified income account.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1731948866.889803, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__credit_memo_double_entry\"", "raw_code": "/*\nTable that creates a debit record to Discounts Refunds Given and a credit record to the specified income account.\n*/\n\n--To disable this model, set the using_credit_memo variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_credit_memo', True)) }}\n\nwith credit_memos as (\n\n select *\n from {{ ref('stg_quickbooks__credit_memo') }}\n),\n\ncredit_memo_lines as (\n\n select *\n from {{ ref('stg_quickbooks__credit_memo_line') }}\n),\n\nitems as (\n\n select *\n from {{ ref('stg_quickbooks__item') }}\n),\n\naccounts as (\n\n select *\n from {{ ref('stg_quickbooks__account') }}\n),\n\ndf_accounts as (\n\n select\n account_id as account_id,\n currency_id,\n source_relation\n from accounts\n\n where account_type = '{{ var('quickbooks__accounts_receivable_reference', 'Accounts Receivable') }}'\n and is_active\n and not is_sub_account\n),\n\ncredit_memo_join as (\n\n select\n credit_memos.credit_memo_id as transaction_id,\n credit_memos.source_relation,\n credit_memo_lines.index,\n credit_memos.transaction_date,\n credit_memo_lines.amount,\n (credit_memo_lines.amount * coalesce(credit_memos.exchange_rate, 1)) as converted_amount,\n coalesce(credit_memo_lines.sales_item_account_id, items.income_account_id, items.expense_account_id) as account_id,\n credit_memos.customer_id,\n coalesce(credit_memo_lines.sales_item_class_id, credit_memo_lines.discount_class_id, credit_memos.class_id) as class_id,\n credit_memos.department_id,\n credit_memos.currency_id\n\n from credit_memos\n\n inner join credit_memo_lines\n on credit_memos.credit_memo_id = credit_memo_lines.credit_memo_id\n and credit_memos.source_relation = credit_memo_lines.source_relation\n\n left join items\n on credit_memo_lines.sales_item_item_id = items.item_id\n and credit_memo_lines.source_relation = items.source_relation\n\n where coalesce(credit_memo_lines.discount_account_id, credit_memo_lines.sales_item_account_id, credit_memo_lines.sales_item_item_id) is not null\n),\n\nfinal as (\n\n select\n transaction_id,\n credit_memo_join.source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n amount * -1 as amount,\n converted_amount * -1 as converted_amount,\n account_id,\n class_id,\n department_id,\n 'credit' as transaction_type,\n 'credit_memo' as transaction_source\n from credit_memo_join\n\n union all\n\n select\n transaction_id,\n credit_memo_join.source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n amount * -1 as amount,\n converted_amount * -1 as converted_amount,\n df_accounts.account_id,\n class_id,\n department_id,\n 'debit' as transaction_type,\n 'credit_memo' as transaction_source\n from credit_memo_join\n\n left join df_accounts\n on df_accounts.currency_id = credit_memo_join.currency_id\n and df_accounts.source_relation = credit_memo_join.source_relation\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__credit_memo", "package": null, "version": null}, {"name": "stg_quickbooks__credit_memo_line", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}, {"name": "stg_quickbooks__account", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__credit_memo", "model.quickbooks_source.stg_quickbooks__credit_memo_line", "model.quickbooks_source.stg_quickbooks__item", "model.quickbooks_source.stg_quickbooks__account"]}, "compiled_path": "target/compiled/quickbooks/models/double_entry_transactions/int_quickbooks__credit_memo_double_entry.sql", "compiled": true, "compiled_code": "/*\nTable that creates a debit record to Discounts Refunds Given and a credit record to the specified income account.\n*/\n\n--To disable this model, set the using_credit_memo variable within your dbt_project.yml file to False.\n\n\nwith credit_memos as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__credit_memo\"\n),\n\ncredit_memo_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__credit_memo_line\"\n),\n\nitems as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__item\"\n),\n\naccounts as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__account\"\n),\n\ndf_accounts as (\n\n select\n account_id as account_id,\n currency_id,\n source_relation\n from accounts\n\n where account_type = 'Accounts Receivable'\n and is_active\n and not is_sub_account\n),\n\ncredit_memo_join as (\n\n select\n credit_memos.credit_memo_id as transaction_id,\n credit_memos.source_relation,\n credit_memo_lines.index,\n credit_memos.transaction_date,\n credit_memo_lines.amount,\n (credit_memo_lines.amount * coalesce(credit_memos.exchange_rate, 1)) as converted_amount,\n coalesce(credit_memo_lines.sales_item_account_id, items.income_account_id, items.expense_account_id) as account_id,\n credit_memos.customer_id,\n coalesce(credit_memo_lines.sales_item_class_id, credit_memo_lines.discount_class_id, credit_memos.class_id) as class_id,\n credit_memos.department_id,\n credit_memos.currency_id\n\n from credit_memos\n\n inner join credit_memo_lines\n on credit_memos.credit_memo_id = credit_memo_lines.credit_memo_id\n and credit_memos.source_relation = credit_memo_lines.source_relation\n\n left join items\n on credit_memo_lines.sales_item_item_id = items.item_id\n and credit_memo_lines.source_relation = items.source_relation\n\n where coalesce(credit_memo_lines.discount_account_id, credit_memo_lines.sales_item_account_id, credit_memo_lines.sales_item_item_id) is not null\n),\n\nfinal as (\n\n select\n transaction_id,\n credit_memo_join.source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as TEXT) as vendor_id,\n amount * -1 as amount,\n converted_amount * -1 as converted_amount,\n account_id,\n class_id,\n department_id,\n 'credit' as transaction_type,\n 'credit_memo' as transaction_source\n from credit_memo_join\n\n union all\n\n select\n transaction_id,\n credit_memo_join.source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as TEXT) as vendor_id,\n amount * -1 as amount,\n converted_amount * -1 as converted_amount,\n df_accounts.account_id,\n class_id,\n department_id,\n 'debit' as transaction_type,\n 'credit_memo' as transaction_source\n from credit_memo_join\n\n left join df_accounts\n on df_accounts.currency_id = credit_memo_join.currency_id\n and df_accounts.source_relation = credit_memo_join.source_relation\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__refund_receipt_double_entry": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__refund_receipt_double_entry", "resource_type": "model", "package_name": "quickbooks", "path": "double_entry_transactions/int_quickbooks__refund_receipt_double_entry.sql", "original_file_path": "models/double_entry_transactions/int_quickbooks__refund_receipt_double_entry.sql", "unique_id": "model.quickbooks.int_quickbooks__refund_receipt_double_entry", "fqn": ["quickbooks", "double_entry_transactions", "int_quickbooks__refund_receipt_double_entry"], "alias": "int_quickbooks__refund_receipt_double_entry", "checksum": {"name": "sha256", "checksum": "523a33f8556ade657f4b625b5652d96c723ba992370d9a9b8f19827a63a6282d"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that creates a debit record to the specified asset account and a credit record the specified cash account.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1731948866.891294, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__refund_receipt_double_entry\"", "raw_code": "/*\nTable that creates a debit record to the specified asset account and a credit record the specified cash account.\n*/\n\n--To disable this model, set the using_refund_receipt variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_refund_receipt', True)) }}\n\nwith refund_receipts as (\n\n select *\n from {{ ref('stg_quickbooks__refund_receipt') }}\n),\n\nrefund_receipt_lines as (\n\n select *\n from {{ ref('stg_quickbooks__refund_receipt_line') }}\n),\n\nitems as (\n\n select\n item.*,\n parent.income_account_id as parent_income_account_id\n from {{ ref('stg_quickbooks__item') }} item\n\n left join {{ ref('stg_quickbooks__item') }} parent\n on item.parent_item_id = parent.item_id\n and item.source_relation = parent.source_relation\n),\n\nrefund_receipt_join as (\n\n select\n refund_receipts.refund_id as transaction_id,\n refund_receipts.source_relation,\n refund_receipt_lines.index,\n refund_receipts.transaction_date,\n refund_receipt_lines.amount,\n (refund_receipt_lines.amount * coalesce(refund_receipts.exchange_rate, 1)) as converted_amount,\n refund_receipts.deposit_to_account_id as credit_to_account_id,\n coalesce(refund_receipt_lines.discount_account_id, refund_receipt_lines.sales_item_account_id, items.parent_income_account_id, items.income_account_id) as debit_account_id,\n refund_receipts.customer_id,\n coalesce(refund_receipt_lines.sales_item_class_id, refund_receipt_lines.discount_class_id, refund_receipts.class_id) as class_id,\n refund_receipts.department_id\n from refund_receipts\n\n inner join refund_receipt_lines\n on refund_receipts.refund_id = refund_receipt_lines.refund_id\n and refund_receipts.source_relation = refund_receipt_lines.source_relation\n\n left join items\n on refund_receipt_lines.sales_item_item_id = items.item_id\n and refund_receipt_lines.source_relation = items.source_relation\n\n where coalesce(refund_receipt_lines.discount_account_id, refund_receipt_lines.sales_item_account_id, refund_receipt_lines.sales_item_item_id) is not null\n),\n\nfinal as (\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n amount,\n converted_amount,\n credit_to_account_id as account_id,\n class_id,\n department_id,\n 'credit' as transaction_type,\n 'refund_receipt' as transaction_source\n from refund_receipt_join\n\n union all\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n amount,\n converted_amount,\n debit_account_id as account_id,\n class_id,\n department_id,\n 'debit' as transaction_type,\n 'refund_receipt' as transaction_source\n from refund_receipt_join\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__refund_receipt", "package": null, "version": null}, {"name": "stg_quickbooks__refund_receipt_line", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__refund_receipt", "model.quickbooks_source.stg_quickbooks__refund_receipt_line", "model.quickbooks_source.stg_quickbooks__item"]}, "compiled_path": "target/compiled/quickbooks/models/double_entry_transactions/int_quickbooks__refund_receipt_double_entry.sql", "compiled": true, "compiled_code": "/*\nTable that creates a debit record to the specified asset account and a credit record the specified cash account.\n*/\n\n--To disable this model, set the using_refund_receipt variable within your dbt_project.yml file to False.\n\n\nwith refund_receipts as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__refund_receipt\"\n),\n\nrefund_receipt_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__refund_receipt_line\"\n),\n\nitems as (\n\n select\n item.*,\n parent.income_account_id as parent_income_account_id\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__item\" item\n\n left join \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__item\" parent\n on item.parent_item_id = parent.item_id\n and item.source_relation = parent.source_relation\n),\n\nrefund_receipt_join as (\n\n select\n refund_receipts.refund_id as transaction_id,\n refund_receipts.source_relation,\n refund_receipt_lines.index,\n refund_receipts.transaction_date,\n refund_receipt_lines.amount,\n (refund_receipt_lines.amount * coalesce(refund_receipts.exchange_rate, 1)) as converted_amount,\n refund_receipts.deposit_to_account_id as credit_to_account_id,\n coalesce(refund_receipt_lines.discount_account_id, refund_receipt_lines.sales_item_account_id, items.parent_income_account_id, items.income_account_id) as debit_account_id,\n refund_receipts.customer_id,\n coalesce(refund_receipt_lines.sales_item_class_id, refund_receipt_lines.discount_class_id, refund_receipts.class_id) as class_id,\n refund_receipts.department_id\n from refund_receipts\n\n inner join refund_receipt_lines\n on refund_receipts.refund_id = refund_receipt_lines.refund_id\n and refund_receipts.source_relation = refund_receipt_lines.source_relation\n\n left join items\n on refund_receipt_lines.sales_item_item_id = items.item_id\n and refund_receipt_lines.source_relation = items.source_relation\n\n where coalesce(refund_receipt_lines.discount_account_id, refund_receipt_lines.sales_item_account_id, refund_receipt_lines.sales_item_item_id) is not null\n),\n\nfinal as (\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as TEXT) as vendor_id,\n amount,\n converted_amount,\n credit_to_account_id as account_id,\n class_id,\n department_id,\n 'credit' as transaction_type,\n 'refund_receipt' as transaction_source\n from refund_receipt_join\n\n union all\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as TEXT) as vendor_id,\n amount,\n converted_amount,\n debit_account_id as account_id,\n class_id,\n department_id,\n 'debit' as transaction_type,\n 'refund_receipt' as transaction_source\n from refund_receipt_join\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__journal_entry_double_entry": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__journal_entry_double_entry", "resource_type": "model", "package_name": "quickbooks", "path": "double_entry_transactions/int_quickbooks__journal_entry_double_entry.sql", "original_file_path": "models/double_entry_transactions/int_quickbooks__journal_entry_double_entry.sql", "unique_id": "model.quickbooks.int_quickbooks__journal_entry_double_entry", "fqn": ["quickbooks", "double_entry_transactions", "int_quickbooks__journal_entry_double_entry"], "alias": "int_quickbooks__journal_entry_double_entry", "checksum": {"name": "sha256", "checksum": "248267e3cd45f965786a6cc3e721de564190ec81cdba1306ab09e6e215d7ce86"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that provides the debit and credit records of a journal entry transaction.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1731948866.8906162, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__journal_entry_double_entry\"", "raw_code": "/*\nTable that provides the debit and credit records of a journal entry transaction.\n*/\n\n--To disable this model, set the using_journal_entry variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_journal_entry', True)) }}\n\nwith journal_entries as (\n\n select *\n from {{ ref('stg_quickbooks__journal_entry') }}\n),\n\njournal_entry_lines as (\n\n select *\n from {{ ref('stg_quickbooks__journal_entry_line') }}\n),\n\nfinal as (\n\n select\n journal_entries.journal_entry_id as transaction_id,\n journal_entries.source_relation,\n journal_entry_lines.index,\n journal_entries.transaction_date,\n journal_entry_lines.customer_id,\n journal_entry_lines.vendor_id,\n journal_entry_lines.amount,\n (journal_entry_lines.amount * coalesce(journal_entries.exchange_rate, 1)) as converted_amount,\n journal_entry_lines.account_id,\n class_id,\n journal_entry_lines.department_id,\n lower(journal_entry_lines.posting_type) as transaction_type,\n 'journal_entry' as transaction_source\n from journal_entries\n\n inner join journal_entry_lines\n on journal_entries.journal_entry_id = journal_entry_lines.journal_entry_id\n and journal_entries.source_relation = journal_entry_lines.source_relation\n\n where journal_entry_lines.amount is not null\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__journal_entry", "package": null, "version": null}, {"name": "stg_quickbooks__journal_entry_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.quickbooks_source.stg_quickbooks__journal_entry", "model.quickbooks_source.stg_quickbooks__journal_entry_line"]}, "compiled_path": "target/compiled/quickbooks/models/double_entry_transactions/int_quickbooks__journal_entry_double_entry.sql", "compiled": true, "compiled_code": "/*\nTable that provides the debit and credit records of a journal entry transaction.\n*/\n\n--To disable this model, set the using_journal_entry variable within your dbt_project.yml file to False.\n\n\nwith journal_entries as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__journal_entry\"\n),\n\njournal_entry_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__journal_entry_line\"\n),\n\nfinal as (\n\n select\n journal_entries.journal_entry_id as transaction_id,\n journal_entries.source_relation,\n journal_entry_lines.index,\n journal_entries.transaction_date,\n journal_entry_lines.customer_id,\n journal_entry_lines.vendor_id,\n journal_entry_lines.amount,\n (journal_entry_lines.amount * coalesce(journal_entries.exchange_rate, 1)) as converted_amount,\n journal_entry_lines.account_id,\n class_id,\n journal_entry_lines.department_id,\n lower(journal_entry_lines.posting_type) as transaction_type,\n 'journal_entry' as transaction_source\n from journal_entries\n\n inner join journal_entry_lines\n on journal_entries.journal_entry_id = journal_entry_lines.journal_entry_id\n and journal_entries.source_relation = journal_entry_lines.source_relation\n\n where journal_entry_lines.amount is not null\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__bill_payment_double_entry": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__bill_payment_double_entry", "resource_type": "model", "package_name": "quickbooks", "path": "double_entry_transactions/int_quickbooks__bill_payment_double_entry.sql", "original_file_path": "models/double_entry_transactions/int_quickbooks__bill_payment_double_entry.sql", "unique_id": "model.quickbooks.int_quickbooks__bill_payment_double_entry", "fqn": ["quickbooks", "double_entry_transactions", "int_quickbooks__bill_payment_double_entry"], "alias": "int_quickbooks__bill_payment_double_entry", "checksum": {"name": "sha256", "checksum": "a692c16a45c4fc527a19943e9fcd699928d3a1eea4a499cc8c7bf05d0a86b1bb"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that creates a debit record to accounts payable and a credit record to the specified cash account.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1731948866.889589, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__bill_payment_double_entry\"", "raw_code": "/*\nTable that creates a debit record to accounts payable and a credit record to the specified cash account.\n*/\n\n--To disable this model, set the using_bill_payment variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_bill', True)) }}\n\nwith bill_payments as (\n\n select *\n from {{ ref('stg_quickbooks__bill_payment') }}\n),\n\nbill_payment_lines as (\n\n select *\n from {{ ref('stg_quickbooks__bill_payment_line') }}\n),\n\naccounts as (\n\n select *\n from {{ ref('stg_quickbooks__account') }}\n),\n\nap_accounts as (\n\n select\n account_id,\n currency_id,\n source_relation\n from accounts\n\n where account_type = '{{ var('quickbooks__accounts_payable_reference', 'Accounts Payable') }}'\n and is_active\n and not is_sub_account\n),\n\nbill_payment_join as (\n\n select\n bill_payments.bill_payment_id as transaction_id,\n bill_payments.source_relation,\n row_number() over(partition by bill_payments.bill_payment_id, bill_payments.source_relation \n order by bill_payments.source_relation, bill_payments.transaction_date) - 1 as index,\n bill_payments.transaction_date,\n bill_payments.total_amount as amount,\n (bill_payments.total_amount * coalesce(bill_payments.exchange_rate, 1)) as converted_amount,\n coalesce(bill_payments.credit_card_account_id,bill_payments.check_bank_account_id) as payment_account_id,\n ap_accounts.account_id,\n bill_payments.vendor_id,\n bill_payments.department_id\n from bill_payments\n\n left join ap_accounts\n on ap_accounts.currency_id = bill_payments.currency_id\n and ap_accounts.source_relation = bill_payments.source_relation\n),\n\nfinal as (\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n cast(null as {{ dbt.type_string() }}) as customer_id,\n vendor_id,\n amount,\n converted_amount,\n payment_account_id as account_id,\n cast(null as {{ dbt.type_string() }}) as class_id,\n department_id,\n 'credit' as transaction_type,\n 'bill payment' as transaction_source\n from bill_payment_join\n\n union all\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n cast(null as {{ dbt.type_string() }}) as customer_id,\n vendor_id,\n amount,\n converted_amount,\n account_id,\n cast(null as {{ dbt.type_string() }}) as class_id,\n department_id,\n 'debit' as transaction_type,\n 'bill payment' as transaction_source\n from bill_payment_join\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__bill_payment", "package": null, "version": null}, {"name": "stg_quickbooks__bill_payment_line", "package": null, "version": null}, {"name": "stg_quickbooks__account", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__bill_payment", "model.quickbooks_source.stg_quickbooks__bill_payment_line", "model.quickbooks_source.stg_quickbooks__account"]}, "compiled_path": "target/compiled/quickbooks/models/double_entry_transactions/int_quickbooks__bill_payment_double_entry.sql", "compiled": true, "compiled_code": "/*\nTable that creates a debit record to accounts payable and a credit record to the specified cash account.\n*/\n\n--To disable this model, set the using_bill_payment variable within your dbt_project.yml file to False.\n\n\nwith bill_payments as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill_payment\"\n),\n\nbill_payment_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill_payment_line\"\n),\n\naccounts as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__account\"\n),\n\nap_accounts as (\n\n select\n account_id,\n currency_id,\n source_relation\n from accounts\n\n where account_type = 'Accounts Payable'\n and is_active\n and not is_sub_account\n),\n\nbill_payment_join as (\n\n select\n bill_payments.bill_payment_id as transaction_id,\n bill_payments.source_relation,\n row_number() over(partition by bill_payments.bill_payment_id, bill_payments.source_relation \n order by bill_payments.source_relation, bill_payments.transaction_date) - 1 as index,\n bill_payments.transaction_date,\n bill_payments.total_amount as amount,\n (bill_payments.total_amount * coalesce(bill_payments.exchange_rate, 1)) as converted_amount,\n coalesce(bill_payments.credit_card_account_id,bill_payments.check_bank_account_id) as payment_account_id,\n ap_accounts.account_id,\n bill_payments.vendor_id,\n bill_payments.department_id\n from bill_payments\n\n left join ap_accounts\n on ap_accounts.currency_id = bill_payments.currency_id\n and ap_accounts.source_relation = bill_payments.source_relation\n),\n\nfinal as (\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n cast(null as TEXT) as customer_id,\n vendor_id,\n amount,\n converted_amount,\n payment_account_id as account_id,\n cast(null as TEXT) as class_id,\n department_id,\n 'credit' as transaction_type,\n 'bill payment' as transaction_source\n from bill_payment_join\n\n union all\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n cast(null as TEXT) as customer_id,\n vendor_id,\n amount,\n converted_amount,\n account_id,\n cast(null as TEXT) as class_id,\n department_id,\n 'debit' as transaction_type,\n 'bill payment' as transaction_source\n from bill_payment_join\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__deposit_double_entry": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__deposit_double_entry", "resource_type": "model", "package_name": "quickbooks", "path": "double_entry_transactions/int_quickbooks__deposit_double_entry.sql", "original_file_path": "models/double_entry_transactions/int_quickbooks__deposit_double_entry.sql", "unique_id": "model.quickbooks.int_quickbooks__deposit_double_entry", "fqn": ["quickbooks", "double_entry_transactions", "int_quickbooks__deposit_double_entry"], "alias": "int_quickbooks__deposit_double_entry", "checksum": {"name": "sha256", "checksum": "34764a31103a00cd19487e6d2fea414a2d64c262365fe73ef882f14a1481e6e3"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that creates a debit record to the specified cash account and a credit record to either undeposited funds or a specific other account indicated in the deposit line.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1731948866.890215, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__deposit_double_entry\"", "raw_code": "/*\nTable that creates a debit record to the specified cash account and a credit record to either undeposited funds or a\nspecific other account indicated in the deposit line.\n*/\n\n--To disable this model, set the using_deposit variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_deposit', True)) }}\n\nwith deposits as (\n\n select *\n from {{ ref('stg_quickbooks__deposit') }}\n),\n\ndeposit_lines as (\n\n select *\n from {{ ref('stg_quickbooks__deposit_line') }}\n),\n\naccounts as (\n\n select *\n from {{ ref('stg_quickbooks__account') }}\n),\n\nuf_accounts as (\n\n select\n account_id,\n source_relation\n from accounts\n\n where account_sub_type = '{{ var('quickbooks__undeposited_funds_reference', 'UndepositedFunds') }}'\n and is_active\n and not is_sub_account\n),\n\ndeposit_join as (\n\n select\n deposits.deposit_id as transaction_id,\n deposits.source_relation,\n deposit_lines.index,\n deposits.transaction_date,\n deposit_lines.amount,\n deposit_lines.amount * (coalesce(deposits.home_total_amount/nullif(deposits.total_amount, 0), 1)) as converted_amount,\n deposits.account_id as deposit_to_acct_id,\n coalesce(deposit_lines.deposit_account_id, uf_accounts.account_id) as deposit_from_acct_id,\n deposit_customer_id as customer_id,\n deposit_lines.deposit_class_id as class_id,\n deposits.department_id\n\n from deposits\n\n inner join deposit_lines\n on deposits.deposit_id = deposit_lines.deposit_id\n and deposits.source_relation = deposit_lines.source_relation\n\n left join uf_accounts\n on uf_accounts.source_relation = deposits.source_relation\n\n),\n\nfinal as (\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n amount,\n converted_amount,\n deposit_to_acct_id as account_id,\n class_id,\n department_id,\n 'debit' as transaction_type,\n 'deposit' as transaction_source\n from deposit_join\n\n union all\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n amount,\n converted_amount,\n deposit_from_acct_id as account_id,\n class_id,\n department_id,\n 'credit' as transaction_type,\n 'deposit' as transaction_source\n from deposit_join\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__deposit", "package": null, "version": null}, {"name": "stg_quickbooks__deposit_line", "package": null, "version": null}, {"name": "stg_quickbooks__account", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__deposit", "model.quickbooks_source.stg_quickbooks__deposit_line", "model.quickbooks_source.stg_quickbooks__account"]}, "compiled_path": "target/compiled/quickbooks/models/double_entry_transactions/int_quickbooks__deposit_double_entry.sql", "compiled": true, "compiled_code": "/*\nTable that creates a debit record to the specified cash account and a credit record to either undeposited funds or a\nspecific other account indicated in the deposit line.\n*/\n\n--To disable this model, set the using_deposit variable within your dbt_project.yml file to False.\n\n\nwith deposits as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__deposit\"\n),\n\ndeposit_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__deposit_line\"\n),\n\naccounts as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__account\"\n),\n\nuf_accounts as (\n\n select\n account_id,\n source_relation\n from accounts\n\n where account_sub_type = 'UndepositedFunds'\n and is_active\n and not is_sub_account\n),\n\ndeposit_join as (\n\n select\n deposits.deposit_id as transaction_id,\n deposits.source_relation,\n deposit_lines.index,\n deposits.transaction_date,\n deposit_lines.amount,\n deposit_lines.amount * (coalesce(deposits.home_total_amount/nullif(deposits.total_amount, 0), 1)) as converted_amount,\n deposits.account_id as deposit_to_acct_id,\n coalesce(deposit_lines.deposit_account_id, uf_accounts.account_id) as deposit_from_acct_id,\n deposit_customer_id as customer_id,\n deposit_lines.deposit_class_id as class_id,\n deposits.department_id\n\n from deposits\n\n inner join deposit_lines\n on deposits.deposit_id = deposit_lines.deposit_id\n and deposits.source_relation = deposit_lines.source_relation\n\n left join uf_accounts\n on uf_accounts.source_relation = deposits.source_relation\n\n),\n\nfinal as (\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as TEXT) as vendor_id,\n amount,\n converted_amount,\n deposit_to_acct_id as account_id,\n class_id,\n department_id,\n 'debit' as transaction_type,\n 'deposit' as transaction_source\n from deposit_join\n\n union all\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as TEXT) as vendor_id,\n amount,\n converted_amount,\n deposit_from_acct_id as account_id,\n class_id,\n department_id,\n 'credit' as transaction_type,\n 'deposit' as transaction_source\n from deposit_join\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__purchase_double_entry": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__purchase_double_entry", "resource_type": "model", "package_name": "quickbooks", "path": "double_entry_transactions/int_quickbooks__purchase_double_entry.sql", "original_file_path": "models/double_entry_transactions/int_quickbooks__purchase_double_entry.sql", "unique_id": "model.quickbooks.int_quickbooks__purchase_double_entry", "fqn": ["quickbooks", "double_entry_transactions", "int_quickbooks__purchase_double_entry"], "alias": "int_quickbooks__purchase_double_entry", "checksum": {"name": "sha256", "checksum": "2db8a5f9dc65b15fef1b7110c7471563e69e1c76b54c5b78d699a3eb75d30ad9"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that creates a debit record to a specified expense account and a credit record to the payment account.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}"}, "created_at": 1731948866.891118, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__purchase_double_entry\"", "raw_code": "/*\nTable that creates a debit record to a specified expense account and a credit record to the payment account.\n*/\nwith purchases as (\n\n select *\n from {{ ref('stg_quickbooks__purchase') }}\n),\n\npurchase_lines as (\n\n select *\n from {{ ref('stg_quickbooks__purchase_line') }}\n),\n\nitems as (\n\n select\n item.*,\n parent.expense_account_id as parent_expense_account_id\n from {{ ref('stg_quickbooks__item') }} item\n\n left join {{ ref('stg_quickbooks__item') }} parent\n on item.parent_item_id = parent.item_id\n and item.source_relation = parent.source_relation\n),\n\npurchase_join as (\n\n select\n purchases.purchase_id as transaction_id,\n purchases.source_relation,\n purchase_lines.index,\n purchases.transaction_date,\n purchase_lines.amount,\n (purchase_lines.amount * coalesce(purchases.exchange_rate, 1)) as converted_amount,\n coalesce(purchase_lines.account_expense_account_id, items.parent_expense_account_id, items.expense_account_id) as payed_to_account_id,\n purchases.account_id as payed_from_account_id,\n case when coalesce(purchases.credit, false) = true then 'debit' else 'credit' end as payed_from_transaction_type,\n case when coalesce(purchases.credit, false) = true then 'credit' else 'debit' end as payed_to_transaction_type,\n purchases.customer_id,\n coalesce(purchase_lines.item_expense_class_id, purchase_lines.account_expense_class_id) as class_id,\n purchases.vendor_id,\n purchases.department_id\n from purchases\n\n inner join purchase_lines\n on purchases.purchase_id = purchase_lines.purchase_id\n and purchases.source_relation = purchase_lines.source_relation\n\n left join items\n on purchase_lines.item_expense_item_id = items.item_id\n and purchase_lines.source_relation = items.source_relation\n),\n\nfinal as (\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount,\n converted_amount,\n payed_from_account_id as account_id,\n class_id,\n department_id,\n payed_from_transaction_type as transaction_type,\n 'purchase' as transaction_source\n from purchase_join\n\n union all\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount,\n converted_amount,\n payed_to_account_id as account_id,\n class_id,\n department_id,\n payed_to_transaction_type as transaction_type,\n 'purchase' as transaction_source\n from purchase_join\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase", "package": null, "version": null}, {"name": "stg_quickbooks__purchase_line", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.quickbooks_source.stg_quickbooks__purchase", "model.quickbooks_source.stg_quickbooks__purchase_line", "model.quickbooks_source.stg_quickbooks__item"]}, "compiled_path": "target/compiled/quickbooks/models/double_entry_transactions/int_quickbooks__purchase_double_entry.sql", "compiled": true, "compiled_code": "/*\nTable that creates a debit record to a specified expense account and a credit record to the payment account.\n*/\nwith purchases as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__purchase\"\n),\n\npurchase_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__purchase_line\"\n),\n\nitems as (\n\n select\n item.*,\n parent.expense_account_id as parent_expense_account_id\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__item\" item\n\n left join \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__item\" parent\n on item.parent_item_id = parent.item_id\n and item.source_relation = parent.source_relation\n),\n\npurchase_join as (\n\n select\n purchases.purchase_id as transaction_id,\n purchases.source_relation,\n purchase_lines.index,\n purchases.transaction_date,\n purchase_lines.amount,\n (purchase_lines.amount * coalesce(purchases.exchange_rate, 1)) as converted_amount,\n coalesce(purchase_lines.account_expense_account_id, items.parent_expense_account_id, items.expense_account_id) as payed_to_account_id,\n purchases.account_id as payed_from_account_id,\n case when coalesce(purchases.credit, false) = true then 'debit' else 'credit' end as payed_from_transaction_type,\n case when coalesce(purchases.credit, false) = true then 'credit' else 'debit' end as payed_to_transaction_type,\n purchases.customer_id,\n coalesce(purchase_lines.item_expense_class_id, purchase_lines.account_expense_class_id) as class_id,\n purchases.vendor_id,\n purchases.department_id\n from purchases\n\n inner join purchase_lines\n on purchases.purchase_id = purchase_lines.purchase_id\n and purchases.source_relation = purchase_lines.source_relation\n\n left join items\n on purchase_lines.item_expense_item_id = items.item_id\n and purchase_lines.source_relation = items.source_relation\n),\n\nfinal as (\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount,\n converted_amount,\n payed_from_account_id as account_id,\n class_id,\n department_id,\n payed_from_transaction_type as transaction_type,\n 'purchase' as transaction_source\n from purchase_join\n\n union all\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount,\n converted_amount,\n payed_to_account_id as account_id,\n class_id,\n department_id,\n payed_to_transaction_type as transaction_type,\n 'purchase' as transaction_source\n from purchase_join\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__sales_receipt_double_entry": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__sales_receipt_double_entry", "resource_type": "model", "package_name": "quickbooks", "path": "double_entry_transactions/int_quickbooks__sales_receipt_double_entry.sql", "original_file_path": "models/double_entry_transactions/int_quickbooks__sales_receipt_double_entry.sql", "unique_id": "model.quickbooks.int_quickbooks__sales_receipt_double_entry", "fqn": ["quickbooks", "double_entry_transactions", "int_quickbooks__sales_receipt_double_entry"], "alias": "int_quickbooks__sales_receipt_double_entry", "checksum": {"name": "sha256", "checksum": "6dce97fb2f236a44b1e2cd510996e3cfc7d084e1e5278e0438c662e6b6dec6d6"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that creates a debit record to the specified cash account and a credit record to the specified asset account.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1731948866.891474, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__sales_receipt_double_entry\"", "raw_code": "/*\nTable that creates a debit record to the specified cash account and a credit record to the specified asset account.\n*/\n\n--To disable this model, set the using_sales_receipt variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_sales_receipt', True)) }}\n\nwith sales_receipts as (\n\n select *\n from {{ ref('stg_quickbooks__sales_receipt') }}\n),\n\nsales_receipt_lines as (\n\n select *\n from {{ ref('stg_quickbooks__sales_receipt_line') }}\n),\n\nitems as (\n\n select\n item.*,\n parent.income_account_id as parent_income_account_id\n from {{ ref('stg_quickbooks__item') }} item\n\n left join {{ ref('stg_quickbooks__item') }} parent\n on item.parent_item_id = parent.item_id\n and item.source_relation = parent.source_relation\n),\n\nsales_receipt_join as (\n\n select\n sales_receipts.sales_receipt_id as transaction_id,\n sales_receipts.source_relation,\n sales_receipt_lines.index,\n sales_receipts.transaction_date,\n case \n when sales_receipt_lines.discount_account_id is not null \n then sales_receipt_lines.amount * (-1)\n else sales_receipt_lines.amount\n end as amount,\n case \n when sales_receipt_lines.discount_account_id is not null \n then (sales_receipt_lines.amount * coalesce(-sales_receipts.exchange_rate, -1))\n else (sales_receipt_lines.amount * coalesce(sales_receipts.exchange_rate, 1))\n end as converted_amount,\n sales_receipts.deposit_to_account_id as debit_to_account_id,\n coalesce(sales_receipt_lines.discount_account_id, sales_receipt_lines.sales_item_account_id, items.parent_income_account_id, items.income_account_id) as credit_to_account_id,\n sales_receipts.customer_id,\n coalesce(sales_receipt_lines.sales_item_class_id, sales_receipt_lines.discount_class_id, sales_receipts.class_id) as class_id,\n sales_receipts.department_id\n from sales_receipts\n\n inner join sales_receipt_lines\n on sales_receipts.sales_receipt_id = sales_receipt_lines.sales_receipt_id\n and sales_receipts.source_relation = sales_receipt_lines.source_relation\n\n left join items\n on sales_receipt_lines.sales_item_item_id = items.item_id\n and sales_receipt_lines.source_relation = items.source_relation\n\n where coalesce(sales_receipt_lines.discount_account_id, sales_receipt_lines.sales_item_account_id, sales_receipt_lines.sales_item_item_id) is not null\n),\n\nfinal as (\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n amount,\n converted_amount,\n debit_to_account_id as account_id,\n class_id,\n department_id,\n 'debit' as transaction_type,\n 'sales_receipt' as transaction_source\n from sales_receipt_join\n\n union all\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n amount,\n converted_amount,\n credit_to_account_id as account_id,\n class_id,\n department_id,\n 'credit' as transaction_type,\n 'sales_receipt' as transaction_source\n from sales_receipt_join\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__sales_receipt", "package": null, "version": null}, {"name": "stg_quickbooks__sales_receipt_line", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__sales_receipt", "model.quickbooks_source.stg_quickbooks__sales_receipt_line", "model.quickbooks_source.stg_quickbooks__item"]}, "compiled_path": "target/compiled/quickbooks/models/double_entry_transactions/int_quickbooks__sales_receipt_double_entry.sql", "compiled": true, "compiled_code": "/*\nTable that creates a debit record to the specified cash account and a credit record to the specified asset account.\n*/\n\n--To disable this model, set the using_sales_receipt variable within your dbt_project.yml file to False.\n\n\nwith sales_receipts as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__sales_receipt\"\n),\n\nsales_receipt_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__sales_receipt_line\"\n),\n\nitems as (\n\n select\n item.*,\n parent.income_account_id as parent_income_account_id\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__item\" item\n\n left join \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__item\" parent\n on item.parent_item_id = parent.item_id\n and item.source_relation = parent.source_relation\n),\n\nsales_receipt_join as (\n\n select\n sales_receipts.sales_receipt_id as transaction_id,\n sales_receipts.source_relation,\n sales_receipt_lines.index,\n sales_receipts.transaction_date,\n case \n when sales_receipt_lines.discount_account_id is not null \n then sales_receipt_lines.amount * (-1)\n else sales_receipt_lines.amount\n end as amount,\n case \n when sales_receipt_lines.discount_account_id is not null \n then (sales_receipt_lines.amount * coalesce(-sales_receipts.exchange_rate, -1))\n else (sales_receipt_lines.amount * coalesce(sales_receipts.exchange_rate, 1))\n end as converted_amount,\n sales_receipts.deposit_to_account_id as debit_to_account_id,\n coalesce(sales_receipt_lines.discount_account_id, sales_receipt_lines.sales_item_account_id, items.parent_income_account_id, items.income_account_id) as credit_to_account_id,\n sales_receipts.customer_id,\n coalesce(sales_receipt_lines.sales_item_class_id, sales_receipt_lines.discount_class_id, sales_receipts.class_id) as class_id,\n sales_receipts.department_id\n from sales_receipts\n\n inner join sales_receipt_lines\n on sales_receipts.sales_receipt_id = sales_receipt_lines.sales_receipt_id\n and sales_receipts.source_relation = sales_receipt_lines.source_relation\n\n left join items\n on sales_receipt_lines.sales_item_item_id = items.item_id\n and sales_receipt_lines.source_relation = items.source_relation\n\n where coalesce(sales_receipt_lines.discount_account_id, sales_receipt_lines.sales_item_account_id, sales_receipt_lines.sales_item_item_id) is not null\n),\n\nfinal as (\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as TEXT) as vendor_id,\n amount,\n converted_amount,\n debit_to_account_id as account_id,\n class_id,\n department_id,\n 'debit' as transaction_type,\n 'sales_receipt' as transaction_source\n from sales_receipt_join\n\n union all\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as TEXT) as vendor_id,\n amount,\n converted_amount,\n credit_to_account_id as account_id,\n class_id,\n department_id,\n 'credit' as transaction_type,\n 'sales_receipt' as transaction_source\n from sales_receipt_join\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__vendor_credit_double_entry": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__vendor_credit_double_entry", "resource_type": "model", "package_name": "quickbooks", "path": "double_entry_transactions/int_quickbooks__vendor_credit_double_entry.sql", "original_file_path": "models/double_entry_transactions/int_quickbooks__vendor_credit_double_entry.sql", "unique_id": "model.quickbooks.int_quickbooks__vendor_credit_double_entry", "fqn": ["quickbooks", "double_entry_transactions", "int_quickbooks__vendor_credit_double_entry"], "alias": "int_quickbooks__vendor_credit_double_entry", "checksum": {"name": "sha256", "checksum": "af5f2f0e64e0be7f4ade30f41c726c63bdbb97b068bbfd8766017dfdba866aeb"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that creates a debit record to payable account and a credit record to the expense account.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1731948866.89184, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__vendor_credit_double_entry\"", "raw_code": "/*\nTable that creates a debit record to payable account and a credit record to the expense account.\n*/\n\n--To disable this model, set the using_vendor_credit variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_vendor_credit', True)) }}\n\nwith vendor_credits as (\n\n select *\n from {{ ref('stg_quickbooks__vendor_credit') }}\n),\n\nvendor_credit_lines as (\n\n select *\n from {{ ref('stg_quickbooks__vendor_credit_line') }}\n),\n\nitems as (\n\n select\n item.*,\n parent.income_account_id as parent_income_account_id\n from {{ ref('stg_quickbooks__item') }} item\n\n left join {{ ref('stg_quickbooks__item') }} parent\n on item.parent_item_id = parent.item_id\n and item.source_relation = parent.source_relation\n),\n\nvendor_credit_join as (\n\n select\n vendor_credits.vendor_credit_id as transaction_id,\n vendor_credits.source_relation,\n vendor_credit_lines.index,\n vendor_credits.transaction_date,\n vendor_credit_lines.amount,\n (vendor_credit_lines.amount * coalesce(vendor_credits.exchange_rate, 1)) as converted_amount,\n vendor_credits.payable_account_id as debit_to_account_id,\n coalesce(vendor_credit_lines.account_expense_account_id, items.parent_income_account_id, items.income_account_id, items.expense_account_id) as credit_account_id,\n coalesce(account_expense_customer_id, item_expense_customer_id) as customer_id,\n coalesce(item_expense_class_id, account_expense_class_id) as class_id,\n vendor_credits.vendor_id,\n vendor_credits.department_id\n from vendor_credits\n\n inner join vendor_credit_lines\n on vendor_credits.vendor_credit_id = vendor_credit_lines.vendor_credit_id\n and vendor_credits.source_relation = vendor_credit_lines.source_relation\n\n left join items\n on vendor_credit_lines.item_expense_item_id = items.item_id\n and vendor_credit_lines.source_relation = items.source_relation\n),\n\nfinal as (\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount,\n converted_amount,\n credit_account_id as account_id,\n class_id,\n department_id,\n 'credit' as transaction_type,\n 'vendor_credit' as transaction_source\n from vendor_credit_join\n\n union all\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount,\n converted_amount,\n debit_to_account_id as account_id,\n class_id,\n department_id,\n 'debit' as transaction_type,\n 'vendor_credit' as transaction_source\n from vendor_credit_join\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__vendor_credit", "package": null, "version": null}, {"name": "stg_quickbooks__vendor_credit_line", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.quickbooks_source.stg_quickbooks__vendor_credit", "model.quickbooks_source.stg_quickbooks__vendor_credit_line", "model.quickbooks_source.stg_quickbooks__item"]}, "compiled_path": "target/compiled/quickbooks/models/double_entry_transactions/int_quickbooks__vendor_credit_double_entry.sql", "compiled": true, "compiled_code": "/*\nTable that creates a debit record to payable account and a credit record to the expense account.\n*/\n\n--To disable this model, set the using_vendor_credit variable within your dbt_project.yml file to False.\n\n\nwith vendor_credits as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__vendor_credit\"\n),\n\nvendor_credit_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__vendor_credit_line\"\n),\n\nitems as (\n\n select\n item.*,\n parent.income_account_id as parent_income_account_id\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__item\" item\n\n left join \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__item\" parent\n on item.parent_item_id = parent.item_id\n and item.source_relation = parent.source_relation\n),\n\nvendor_credit_join as (\n\n select\n vendor_credits.vendor_credit_id as transaction_id,\n vendor_credits.source_relation,\n vendor_credit_lines.index,\n vendor_credits.transaction_date,\n vendor_credit_lines.amount,\n (vendor_credit_lines.amount * coalesce(vendor_credits.exchange_rate, 1)) as converted_amount,\n vendor_credits.payable_account_id as debit_to_account_id,\n coalesce(vendor_credit_lines.account_expense_account_id, items.parent_income_account_id, items.income_account_id, items.expense_account_id) as credit_account_id,\n coalesce(account_expense_customer_id, item_expense_customer_id) as customer_id,\n coalesce(item_expense_class_id, account_expense_class_id) as class_id,\n vendor_credits.vendor_id,\n vendor_credits.department_id\n from vendor_credits\n\n inner join vendor_credit_lines\n on vendor_credits.vendor_credit_id = vendor_credit_lines.vendor_credit_id\n and vendor_credits.source_relation = vendor_credit_lines.source_relation\n\n left join items\n on vendor_credit_lines.item_expense_item_id = items.item_id\n and vendor_credit_lines.source_relation = items.source_relation\n),\n\nfinal as (\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount,\n converted_amount,\n credit_account_id as account_id,\n class_id,\n department_id,\n 'credit' as transaction_type,\n 'vendor_credit' as transaction_source\n from vendor_credit_join\n\n union all\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount,\n converted_amount,\n debit_to_account_id as account_id,\n class_id,\n department_id,\n 'debit' as transaction_type,\n 'vendor_credit' as transaction_source\n from vendor_credit_join\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__credit_card_pymt_double_entry": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__credit_card_pymt_double_entry", "resource_type": "model", "package_name": "quickbooks", "path": "double_entry_transactions/int_quickbooks__credit_card_pymt_double_entry.sql", "original_file_path": "models/double_entry_transactions/int_quickbooks__credit_card_pymt_double_entry.sql", "unique_id": "model.quickbooks.int_quickbooks__credit_card_pymt_double_entry", "fqn": ["quickbooks", "double_entry_transactions", "int_quickbooks__credit_card_pymt_double_entry"], "alias": "int_quickbooks__credit_card_pymt_double_entry", "checksum": {"name": "sha256", "checksum": "92059a39d35f397ba2f39e82b551beddf172b46c7449726e48e866a7ebb13742"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that creates a debit record to credit card payment transactions.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1731948866.8900108, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__credit_card_pymt_double_entry\"", "raw_code": "/*\nTable that creates a debit record to the associated bank account and a credit record to the specified credit card account.\n*/\n\n--To enable this model, set the using_credit_card_payment_txn variable within your dbt_project.yml file to True.\n{{ config(enabled=var('using_credit_card_payment_txn', False)) }}\n\nwith credit_card_payments as (\n \n select *\n from {{ ref('stg_quickbooks__credit_card_payment_txn') }}\n where is_most_recent_record\n),\n\ncredit_card_payment_prep as (\n\n select\n credit_card_payments.credit_card_payment_id as transaction_id,\n credit_card_payments.source_relation,\n row_number() over (partition by credit_card_payments.credit_card_payment_id, credit_card_payments.source_relation \n order by credit_card_payments.source_relation, credit_card_payments.transaction_date) - 1 as index,\n credit_card_payments.transaction_date,\n credit_card_payments.amount,\n credit_card_payments.amount as converted_amount,\n credit_card_payments.bank_account_id,\n credit_card_payments.credit_card_account_id,\n cast(null as {{ dbt.type_string() }}) as customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n cast(null as {{ dbt.type_string() }}) as class_id,\n cast(null as {{ dbt.type_string() }}) as department_id\n from credit_card_payments\n),\n\nfinal as (\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount, \n converted_amount,\n cast(bank_account_id as {{ dbt.type_string() }}) as account_id,\n class_id,\n department_id,\n 'credit' as transaction_type,\n 'credit card payment' as transaction_source\n from credit_card_payment_prep\n\n union all\n\n select \n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount,\n converted_amount,\n cast(credit_card_account_id as {{ dbt.type_string() }}) as account_id,\n class_id,\n department_id,\n 'debit' as transaction_type,\n 'credit card payment' as transaction_source\n from credit_card_payment_prep\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__credit_card_payment_txn", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__credit_card_payment_txn"]}, "compiled_path": "target/compiled/quickbooks/models/double_entry_transactions/int_quickbooks__credit_card_pymt_double_entry.sql", "compiled": true, "compiled_code": "/*\nTable that creates a debit record to the associated bank account and a credit record to the specified credit card account.\n*/\n\n--To enable this model, set the using_credit_card_payment_txn variable within your dbt_project.yml file to True.\n\n\nwith credit_card_payments as (\n \n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__credit_card_payment_txn\"\n where is_most_recent_record\n),\n\ncredit_card_payment_prep as (\n\n select\n credit_card_payments.credit_card_payment_id as transaction_id,\n credit_card_payments.source_relation,\n row_number() over (partition by credit_card_payments.credit_card_payment_id, credit_card_payments.source_relation \n order by credit_card_payments.source_relation, credit_card_payments.transaction_date) - 1 as index,\n credit_card_payments.transaction_date,\n credit_card_payments.amount,\n credit_card_payments.amount as converted_amount,\n credit_card_payments.bank_account_id,\n credit_card_payments.credit_card_account_id,\n cast(null as TEXT) as customer_id,\n cast(null as TEXT) as vendor_id,\n cast(null as TEXT) as class_id,\n cast(null as TEXT) as department_id\n from credit_card_payments\n),\n\nfinal as (\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount, \n converted_amount,\n cast(bank_account_id as TEXT) as account_id,\n class_id,\n department_id,\n 'credit' as transaction_type,\n 'credit card payment' as transaction_source\n from credit_card_payment_prep\n\n union all\n\n select \n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount,\n converted_amount,\n cast(credit_card_account_id as TEXT) as account_id,\n class_id,\n department_id,\n 'debit' as transaction_type,\n 'credit card payment' as transaction_source\n from credit_card_payment_prep\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__bill_double_entry": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__bill_double_entry", "resource_type": "model", "package_name": "quickbooks", "path": "double_entry_transactions/int_quickbooks__bill_double_entry.sql", "original_file_path": "models/double_entry_transactions/int_quickbooks__bill_double_entry.sql", "unique_id": "model.quickbooks.int_quickbooks__bill_double_entry", "fqn": ["quickbooks", "double_entry_transactions", "int_quickbooks__bill_double_entry"], "alias": "int_quickbooks__bill_double_entry", "checksum": {"name": "sha256", "checksum": "3a79d11a2f5382f4a140189a7d4332583fed166e3213c1178aadb962c83a61a9"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that creates a debit record to the specified expense account and credit record to accounts payable for each bill transaction.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1731948866.88922, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__bill_double_entry\"", "raw_code": "/*\nTable that creates a debit record to the specified expense account and credit record to accounts payable for each bill transaction.\n*/\n\n--To disable this model, set the using_bill variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_bill', True)) }}\n\nwith bills as (\n\n select *\n from {{ ref('stg_quickbooks__bill') }}\n),\n\nbill_lines as (\n\n select *\n from {{ ref('stg_quickbooks__bill_line') }}\n),\n\nitems as (\n\n select\n item.*,\n parent.expense_account_id as parent_expense_account_id,\n parent.income_account_id as parent_income_account_id\n from {{ ref('stg_quickbooks__item') }} item\n\n left join {{ ref('stg_quickbooks__item') }} parent\n on item.parent_item_id = parent.item_id\n and item.source_relation = parent.source_relation\n),\n\nbill_join as (\n select\n bills.bill_id as transaction_id,\n bills.source_relation,\n bill_lines.index,\n bills.transaction_date,\n bill_lines.amount,\n (bill_lines.amount * coalesce(bills.exchange_rate, 1)) as converted_amount,\n coalesce(bill_lines.account_expense_account_id,items.asset_account_id, items.expense_account_id, items.parent_expense_account_id, items.expense_account_id, items.parent_income_account_id, items.income_account_id) as payed_to_account_id,\n bills.payable_account_id,\n coalesce(bill_lines.account_expense_customer_id, bill_lines.item_expense_customer_id) as customer_id,\n coalesce(bill_lines.item_expense_class_id, bill_lines.account_expense_class_id) as class_id,\n bills.vendor_id,\n bills.department_id\n from bills\n\n inner join bill_lines\n on bills.bill_id = bill_lines.bill_id\n and bills.source_relation = bill_lines.source_relation\n\n left join items\n on bill_lines.item_expense_item_id = items.item_id\n and bill_lines.source_relation = items.source_relation\n),\n\nfinal as (\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount,\n converted_amount,\n payed_to_account_id as account_id,\n class_id,\n department_id,\n 'debit' as transaction_type,\n 'bill' as transaction_source\n from bill_join\n\n union all\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount,\n converted_amount,\n payable_account_id as account_id,\n class_id,\n department_id,\n 'credit' as transaction_type,\n 'bill' as transaction_source\n from bill_join\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__bill", "package": null, "version": null}, {"name": "stg_quickbooks__bill_line", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.quickbooks_source.stg_quickbooks__bill", "model.quickbooks_source.stg_quickbooks__bill_line", "model.quickbooks_source.stg_quickbooks__item"]}, "compiled_path": "target/compiled/quickbooks/models/double_entry_transactions/int_quickbooks__bill_double_entry.sql", "compiled": true, "compiled_code": "/*\nTable that creates a debit record to the specified expense account and credit record to accounts payable for each bill transaction.\n*/\n\n--To disable this model, set the using_bill variable within your dbt_project.yml file to False.\n\n\nwith bills as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill\"\n),\n\nbill_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill_line\"\n),\n\nitems as (\n\n select\n item.*,\n parent.expense_account_id as parent_expense_account_id,\n parent.income_account_id as parent_income_account_id\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__item\" item\n\n left join \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__item\" parent\n on item.parent_item_id = parent.item_id\n and item.source_relation = parent.source_relation\n),\n\nbill_join as (\n select\n bills.bill_id as transaction_id,\n bills.source_relation,\n bill_lines.index,\n bills.transaction_date,\n bill_lines.amount,\n (bill_lines.amount * coalesce(bills.exchange_rate, 1)) as converted_amount,\n coalesce(bill_lines.account_expense_account_id,items.asset_account_id, items.expense_account_id, items.parent_expense_account_id, items.expense_account_id, items.parent_income_account_id, items.income_account_id) as payed_to_account_id,\n bills.payable_account_id,\n coalesce(bill_lines.account_expense_customer_id, bill_lines.item_expense_customer_id) as customer_id,\n coalesce(bill_lines.item_expense_class_id, bill_lines.account_expense_class_id) as class_id,\n bills.vendor_id,\n bills.department_id\n from bills\n\n inner join bill_lines\n on bills.bill_id = bill_lines.bill_id\n and bills.source_relation = bill_lines.source_relation\n\n left join items\n on bill_lines.item_expense_item_id = items.item_id\n and bill_lines.source_relation = items.source_relation\n),\n\nfinal as (\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount,\n converted_amount,\n payed_to_account_id as account_id,\n class_id,\n department_id,\n 'debit' as transaction_type,\n 'bill' as transaction_source\n from bill_join\n\n union all\n\n select\n transaction_id,\n source_relation,\n index,\n transaction_date,\n customer_id,\n vendor_id,\n amount,\n converted_amount,\n payable_account_id as account_id,\n class_id,\n department_id,\n 'credit' as transaction_type,\n 'bill' as transaction_source\n from bill_join\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__payment_double_entry": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__payment_double_entry", "resource_type": "model", "package_name": "quickbooks", "path": "double_entry_transactions/int_quickbooks__payment_double_entry.sql", "original_file_path": "models/double_entry_transactions/int_quickbooks__payment_double_entry.sql", "unique_id": "model.quickbooks.int_quickbooks__payment_double_entry", "fqn": ["quickbooks", "double_entry_transactions", "int_quickbooks__payment_double_entry"], "alias": "int_quickbooks__payment_double_entry", "checksum": {"name": "sha256", "checksum": "fba664d869d74d9015c7cf239119ff64261f81a6306c1326cd3f3d2d4e3f171a"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that creates a debit record to either undeposited funds or a specified cash account and a credit record to accounts receivable.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1731948866.8909261, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__payment_double_entry\"", "raw_code": "/*\nTable that creates a debit record to either undeposited funds or a specified cash account and a credit record to accounts receivable.\n*/\n\n--To disable this model, set the using_payment variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_payment', True)) }}\n\nwith payments as (\n\n select *\n from {{ ref('stg_quickbooks__payment') }}\n),\n\npayment_lines as (\n\n select *\n from {{ ref('stg_quickbooks__payment_line') }}\n),\n\naccounts as (\n\n select *\n from {{ ref('stg_quickbooks__account') }}\n),\n\nar_accounts as (\n\n select\n account_id,\n currency_id,\n source_relation\n from accounts\n\n where account_type = '{{ var('quickbooks__accounts_receivable_reference', 'Accounts Receivable') }}'\n and is_active\n and not is_sub_account\n),\n\npayment_join as (\n\n select\n payments.payment_id as transaction_id,\n payments.source_relation,\n row_number() over(partition by payments.payment_id, payments.source_relation \n order by payments.source_relation, payments.transaction_date) - 1 as index,\n payments.transaction_date,\n payments.total_amount as amount,\n (payments.total_amount * coalesce(payments.exchange_rate, 1)) as converted_amount,\n payments.deposit_to_account_id,\n payments.receivable_account_id,\n payments.customer_id,\n payments.currency_id\n from payments\n),\n\nfinal as (\n\n select\n transaction_id,\n payment_join.source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n amount,\n converted_amount,\n deposit_to_account_id as account_id,\n cast(null as {{ dbt.type_string() }}) as class_id,\n cast(null as {{ dbt.type_string() }}) as department_id,\n 'debit' as transaction_type,\n 'payment' as transaction_source\n from payment_join\n\n union all\n\n select\n transaction_id,\n payment_join.source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n amount,\n converted_amount,\n coalesce(receivable_account_id, ar_accounts.account_id) as account_id,\n cast(null as {{ dbt.type_string() }}) as class_id,\n cast(null as {{ dbt.type_string() }}) as department_id,\n 'credit' as transaction_type,\n 'payment' as transaction_source\n from payment_join\n\n left join ar_accounts\n on ar_accounts.currency_id = payment_join.currency_id\n and ar_accounts.source_relation = payment_join.source_relation\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__payment", "package": null, "version": null}, {"name": "stg_quickbooks__payment_line", "package": null, "version": null}, {"name": "stg_quickbooks__account", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__payment", "model.quickbooks_source.stg_quickbooks__payment_line", "model.quickbooks_source.stg_quickbooks__account"]}, "compiled_path": "target/compiled/quickbooks/models/double_entry_transactions/int_quickbooks__payment_double_entry.sql", "compiled": true, "compiled_code": "/*\nTable that creates a debit record to either undeposited funds or a specified cash account and a credit record to accounts receivable.\n*/\n\n--To disable this model, set the using_payment variable within your dbt_project.yml file to False.\n\n\nwith payments as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__payment\"\n),\n\npayment_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__payment_line\"\n),\n\naccounts as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__account\"\n),\n\nar_accounts as (\n\n select\n account_id,\n currency_id,\n source_relation\n from accounts\n\n where account_type = 'Accounts Receivable'\n and is_active\n and not is_sub_account\n),\n\npayment_join as (\n\n select\n payments.payment_id as transaction_id,\n payments.source_relation,\n row_number() over(partition by payments.payment_id, payments.source_relation \n order by payments.source_relation, payments.transaction_date) - 1 as index,\n payments.transaction_date,\n payments.total_amount as amount,\n (payments.total_amount * coalesce(payments.exchange_rate, 1)) as converted_amount,\n payments.deposit_to_account_id,\n payments.receivable_account_id,\n payments.customer_id,\n payments.currency_id\n from payments\n),\n\nfinal as (\n\n select\n transaction_id,\n payment_join.source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as TEXT) as vendor_id,\n amount,\n converted_amount,\n deposit_to_account_id as account_id,\n cast(null as TEXT) as class_id,\n cast(null as TEXT) as department_id,\n 'debit' as transaction_type,\n 'payment' as transaction_source\n from payment_join\n\n union all\n\n select\n transaction_id,\n payment_join.source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as TEXT) as vendor_id,\n amount,\n converted_amount,\n coalesce(receivable_account_id, ar_accounts.account_id) as account_id,\n cast(null as TEXT) as class_id,\n cast(null as TEXT) as department_id,\n 'credit' as transaction_type,\n 'payment' as transaction_source\n from payment_join\n\n left join ar_accounts\n on ar_accounts.currency_id = payment_join.currency_id\n and ar_accounts.source_relation = payment_join.source_relation\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__invoice_double_entry": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__invoice_double_entry", "resource_type": "model", "package_name": "quickbooks", "path": "double_entry_transactions/int_quickbooks__invoice_double_entry.sql", "original_file_path": "models/double_entry_transactions/int_quickbooks__invoice_double_entry.sql", "unique_id": "model.quickbooks.int_quickbooks__invoice_double_entry", "fqn": ["quickbooks", "double_entry_transactions", "int_quickbooks__invoice_double_entry"], "alias": "int_quickbooks__invoice_double_entry", "checksum": {"name": "sha256", "checksum": "109b388d564056dc37725c7532a79bce63deeaa0c635476551a6e6f02c32c1a2"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that creates a debit record to accounts receivable and a credit record to a specified revenue account indicated on the invoice line.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1731948866.890424, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__invoice_double_entry\"", "raw_code": "/*\nTable that creates a debit record to accounts receivable and a credit record to a specified revenue account indicated on the invoice line.\n*/\n\n--To disable this model, set the using_invoice variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_invoice', True)) }}\n\nwith invoices as (\n select *\n from {{ ref('stg_quickbooks__invoice') }}\n),\n\ninvoice_lines as (\n select *\n from {{ ref('stg_quickbooks__invoice_line') }}\n),\n\nitems as (\n select\n item.*,\n parent.income_account_id as parent_income_account_id\n from {{ ref('stg_quickbooks__item') }} item\n\n left join {{ ref('stg_quickbooks__item') }} parent\n on item.parent_item_id = parent.item_id\n and item.source_relation = parent.source_relation\n),\n\naccounts as (\n select *\n from {{ ref('stg_quickbooks__account') }}\n),\n\n\n{% if var('using_invoice_bundle', True) %}\n\ninvoice_bundles as (\n\n select *\n from {{ ref('stg_quickbooks__invoice_line_bundle') }}\n),\n\nbundles as (\n\n select *\n from {{ ref('stg_quickbooks__bundle') }}\n),\n\nbundle_items as (\n\n select *\n from {{ ref('stg_quickbooks__bundle_item') }}\n),\n\nincome_accounts as (\n\n select *\n from accounts\n\n where account_sub_type = '{{ var('quickbooks__sales_of_product_income_reference', 'SalesOfProductIncome') }}'\n),\n\nbundle_income_accounts as (\n\n select distinct\n coalesce(parent.income_account_id, income_accounts.account_id) as account_id,\n coalesce(parent.source_relation, income_accounts.source_relation) as source_relation,\n bundle_items.bundle_id\n\n from items\n\n left join items as parent\n on items.parent_item_id = parent.item_id\n and items.source_relation = parent.source_relation\n\n inner join income_accounts\n on income_accounts.account_id = items.income_account_id\n and income_accounts.source_relation = items.source_relation\n\n inner join bundle_items\n on bundle_items.item_id = items.item_id\n and bundle_items.source_relation = items.source_relation\n),\n{% endif %}\n\nar_accounts as (\n\n select \n account_id,\n source_relation\n from accounts\n\n where account_type = '{{ var('quickbooks__accounts_receivable_reference', 'Accounts Receivable') }}'\n and is_active\n and not is_sub_account\n),\n\ninvoice_join as (\n\n select\n invoices.invoice_id as transaction_id,\n invoices.source_relation,\n invoice_lines.index,\n invoices.transaction_date as transaction_date,\n\n {% if var('using_invoice_bundle', True) %}\n case when invoice_lines.bundle_id is not null and invoices.total_amount = 0 then invoices.total_amount\n else invoice_lines.amount\n end as amount,\n case when invoice_lines.bundle_id is not null and invoices.total_amount = 0 \n then (invoices.total_amount * coalesce(invoices.exchange_rate, 1))\n else (invoice_lines.amount * coalesce(invoices.exchange_rate, 1))\n end as converted_amount,\n case when invoice_lines.detail_type is not null then invoice_lines.detail_type\n when coalesce(invoice_lines.account_id, invoice_lines.sales_item_account_id, items.parent_income_account_id, items.income_account_id, bundle_income_accounts.account_id) is not null then 'SalesItemLineDetail'\n when invoice_lines.discount_account_id is not null then 'DiscountLineDetail'\n when coalesce(invoice_lines.account_id, invoice_lines.sales_item_account_id, items.parent_income_account_id, items.income_account_id, bundle_income_accounts.account_id, invoice_lines.discount_account_id) is null then 'NoAccountMapping'\n end as invoice_line_transaction_type,\n coalesce(invoice_lines.account_id, invoice_lines.sales_item_account_id, items.parent_income_account_id, items.income_account_id, bundle_income_accounts.account_id, invoice_lines.discount_account_id) as account_id,\n\n {% else %}\n invoice_lines.amount as amount,\n (invoice_lines.amount * coalesce(invoices.exchange_rate, 1)) as converted_amount,\n case when invoice_lines.detail_type is not null then invoice_lines.detail_type\n when coalesce(invoice_lines.account_id, invoice_lines.sales_item_account_id, items.parent_income_account_id, items.income_account_id) is not null then 'SalesItemLineDetail'\n when invoice_lines.discount_account_id is not null then 'DiscountLineDetail'\n when coalesce(invoice_lines.account_id, invoice_lines.sales_item_account_id, items.parent_income_account_id, items.income_account_id, invoice_lines.discount_account_id) is null then 'NoAccountMapping'\n end as invoice_line_transaction_type,\n coalesce(invoice_lines.account_id, invoice_lines.sales_item_account_id, items.income_account_id, invoice_lines.discount_account_id) as account_id,\n {% endif %}\n\n coalesce(invoice_lines.sales_item_class_id, invoice_lines.discount_class_id, invoices.class_id) as class_id,\n\n invoices.customer_id,\n invoices.department_id\n\n from invoices\n\n inner join invoice_lines\n on invoices.invoice_id = invoice_lines.invoice_id\n and invoices.source_relation = invoice_lines.source_relation\n\n left join items\n on coalesce(invoice_lines.sales_item_item_id, invoice_lines.item_id) = items.item_id\n and invoice_lines.source_relation = items.source_relation\n\n {% if var('using_invoice_bundle', True) %}\n left join bundle_income_accounts\n on bundle_income_accounts.bundle_id = invoice_lines.bundle_id\n and bundle_income_accounts.source_relation = invoice_lines.source_relation\n\n {% endif %}\n),\n\ninvoice_filter as (\n\n select *\n from invoice_join\n where invoice_line_transaction_type not in ('SubTotalLineDetail','NoAccountMapping')\n),\n\nfinal as (\n\n select\n transaction_id,\n invoice_filter.source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n amount,\n converted_amount,\n account_id,\n class_id,\n department_id,\n case when invoice_line_transaction_type = 'DiscountLineDetail' then 'debit'\n else 'credit' \n end as transaction_type,\n case when invoice_line_transaction_type = 'DiscountLineDetail' then 'invoice discount'\n else 'invoice'\n end as transaction_source\n from invoice_filter\n\n union all\n\n select\n transaction_id,\n invoice_filter.source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n amount,\n converted_amount,\n ar_accounts.account_id,\n class_id,\n department_id,\n case when invoice_line_transaction_type = 'DiscountLineDetail' then 'credit'\n else 'debit' \n end as transaction_type,\n case when invoice_line_transaction_type = 'DiscountLineDetail' then 'invoice discount'\n else 'invoice'\n end as transaction_source\n from invoice_filter\n\n left join ar_accounts\n on ar_accounts.source_relation = invoice_filter.source_relation\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__invoice", "package": null, "version": null}, {"name": "stg_quickbooks__invoice_line", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}, {"name": "stg_quickbooks__account", "package": null, "version": null}, {"name": "stg_quickbooks__invoice_line_bundle", "package": null, "version": null}, {"name": "stg_quickbooks__bundle", "package": null, "version": null}, {"name": "stg_quickbooks__bundle_item", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__invoice", "model.quickbooks_source.stg_quickbooks__invoice_line", "model.quickbooks_source.stg_quickbooks__item", "model.quickbooks_source.stg_quickbooks__account", "model.quickbooks_source.stg_quickbooks__invoice_line_bundle", "model.quickbooks_source.stg_quickbooks__bundle", "model.quickbooks_source.stg_quickbooks__bundle_item"]}, "compiled_path": "target/compiled/quickbooks/models/double_entry_transactions/int_quickbooks__invoice_double_entry.sql", "compiled": true, "compiled_code": "/*\nTable that creates a debit record to accounts receivable and a credit record to a specified revenue account indicated on the invoice line.\n*/\n\n--To disable this model, set the using_invoice variable within your dbt_project.yml file to False.\n\n\nwith invoices as (\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__invoice\"\n),\n\ninvoice_lines as (\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__invoice_line\"\n),\n\nitems as (\n select\n item.*,\n parent.income_account_id as parent_income_account_id\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__item\" item\n\n left join \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__item\" parent\n on item.parent_item_id = parent.item_id\n and item.source_relation = parent.source_relation\n),\n\naccounts as (\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__account\"\n),\n\n\n\n\ninvoice_bundles as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__invoice_line_bundle\"\n),\n\nbundles as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bundle\"\n),\n\nbundle_items as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bundle_item\"\n),\n\nincome_accounts as (\n\n select *\n from accounts\n\n where account_sub_type = 'SalesOfProductIncome'\n),\n\nbundle_income_accounts as (\n\n select distinct\n coalesce(parent.income_account_id, income_accounts.account_id) as account_id,\n coalesce(parent.source_relation, income_accounts.source_relation) as source_relation,\n bundle_items.bundle_id\n\n from items\n\n left join items as parent\n on items.parent_item_id = parent.item_id\n and items.source_relation = parent.source_relation\n\n inner join income_accounts\n on income_accounts.account_id = items.income_account_id\n and income_accounts.source_relation = items.source_relation\n\n inner join bundle_items\n on bundle_items.item_id = items.item_id\n and bundle_items.source_relation = items.source_relation\n),\n\n\nar_accounts as (\n\n select \n account_id,\n source_relation\n from accounts\n\n where account_type = 'Accounts Receivable'\n and is_active\n and not is_sub_account\n),\n\ninvoice_join as (\n\n select\n invoices.invoice_id as transaction_id,\n invoices.source_relation,\n invoice_lines.index,\n invoices.transaction_date as transaction_date,\n\n \n case when invoice_lines.bundle_id is not null and invoices.total_amount = 0 then invoices.total_amount\n else invoice_lines.amount\n end as amount,\n case when invoice_lines.bundle_id is not null and invoices.total_amount = 0 \n then (invoices.total_amount * coalesce(invoices.exchange_rate, 1))\n else (invoice_lines.amount * coalesce(invoices.exchange_rate, 1))\n end as converted_amount,\n case when invoice_lines.detail_type is not null then invoice_lines.detail_type\n when coalesce(invoice_lines.account_id, invoice_lines.sales_item_account_id, items.parent_income_account_id, items.income_account_id, bundle_income_accounts.account_id) is not null then 'SalesItemLineDetail'\n when invoice_lines.discount_account_id is not null then 'DiscountLineDetail'\n when coalesce(invoice_lines.account_id, invoice_lines.sales_item_account_id, items.parent_income_account_id, items.income_account_id, bundle_income_accounts.account_id, invoice_lines.discount_account_id) is null then 'NoAccountMapping'\n end as invoice_line_transaction_type,\n coalesce(invoice_lines.account_id, invoice_lines.sales_item_account_id, items.parent_income_account_id, items.income_account_id, bundle_income_accounts.account_id, invoice_lines.discount_account_id) as account_id,\n\n \n\n coalesce(invoice_lines.sales_item_class_id, invoice_lines.discount_class_id, invoices.class_id) as class_id,\n\n invoices.customer_id,\n invoices.department_id\n\n from invoices\n\n inner join invoice_lines\n on invoices.invoice_id = invoice_lines.invoice_id\n and invoices.source_relation = invoice_lines.source_relation\n\n left join items\n on coalesce(invoice_lines.sales_item_item_id, invoice_lines.item_id) = items.item_id\n and invoice_lines.source_relation = items.source_relation\n\n \n left join bundle_income_accounts\n on bundle_income_accounts.bundle_id = invoice_lines.bundle_id\n and bundle_income_accounts.source_relation = invoice_lines.source_relation\n\n \n),\n\ninvoice_filter as (\n\n select *\n from invoice_join\n where invoice_line_transaction_type not in ('SubTotalLineDetail','NoAccountMapping')\n),\n\nfinal as (\n\n select\n transaction_id,\n invoice_filter.source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as TEXT) as vendor_id,\n amount,\n converted_amount,\n account_id,\n class_id,\n department_id,\n case when invoice_line_transaction_type = 'DiscountLineDetail' then 'debit'\n else 'credit' \n end as transaction_type,\n case when invoice_line_transaction_type = 'DiscountLineDetail' then 'invoice discount'\n else 'invoice'\n end as transaction_source\n from invoice_filter\n\n union all\n\n select\n transaction_id,\n invoice_filter.source_relation,\n index,\n transaction_date,\n customer_id,\n cast(null as TEXT) as vendor_id,\n amount,\n converted_amount,\n ar_accounts.account_id,\n class_id,\n department_id,\n case when invoice_line_transaction_type = 'DiscountLineDetail' then 'credit'\n else 'debit' \n end as transaction_type,\n case when invoice_line_transaction_type = 'DiscountLineDetail' then 'invoice discount'\n else 'invoice'\n end as transaction_source\n from invoice_filter\n\n left join ar_accounts\n on ar_accounts.source_relation = invoice_filter.source_relation\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__invoice_transactions": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__invoice_transactions", "resource_type": "model", "package_name": "quickbooks", "path": "transaction_lines/int_quickbooks__invoice_transactions.sql", "original_file_path": "models/transaction_lines/int_quickbooks__invoice_transactions.sql", "unique_id": "model.quickbooks.int_quickbooks__invoice_transactions", "fqn": ["quickbooks", "transaction_lines", "int_quickbooks__invoice_transactions"], "alias": "int_quickbooks__invoice_transactions", "checksum": {"name": "sha256", "checksum": "b4a1fe70038ca5821acb0820eefb3b2ea0c614d4a8c380a6eb8dabbdc551fde0"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1731948865.900929, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__invoice_transactions\"", "raw_code": "--To disable this model, set the using_invoice variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_invoice', True)) }}\n\nwith invoices as (\n\n select *\n from {{ ref('stg_quickbooks__invoice') }}\n),\n\ninvoice_lines as (\n\n select *\n from {{ ref('stg_quickbooks__invoice_line') }}\n),\n\nitems as (\n\n select *\n from {{ ref('stg_quickbooks__item') }}\n),\n\nfinal as (\n\n select\n invoices.invoice_id as transaction_id,\n invoices.source_relation,\n invoice_lines.index as transaction_line_id,\n invoices.doc_number,\n 'invoice' as transaction_type,\n invoices.transaction_date,\n coalesce(invoice_lines.sales_item_item_id, invoice_lines.item_id) as item_id,\n coalesce(invoice_lines.quantity, invoice_lines.sales_item_quantity) as item_quantity,\n invoice_lines.sales_item_unit_price as item_unit_price,\n case when invoice_lines.account_id is null\n then coalesce(items.income_account_id, items.expense_account_id, items.asset_account_id)\n else invoice_lines.account_id\n end as account_id,\n coalesce(invoice_lines.discount_class_id, invoice_lines.sales_item_class_id) as class_id,\n invoices.department_id,\n invoices.customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n cast(null as {{ dbt.type_string() }}) as billable_status,\n invoice_lines.description,\n invoice_lines.amount,\n invoice_lines.amount * coalesce(invoices.exchange_rate, 1) as converted_amount,\n invoices.total_amount,\n invoices.total_amount * coalesce(invoices.exchange_rate, 1) as total_converted_amount\n from invoices\n\n inner join invoice_lines\n on invoices.invoice_id = invoice_lines.invoice_id\n and invoices.source_relation = invoice_lines.source_relation\n\n left join items\n on coalesce(invoice_lines.sales_item_item_id, invoice_lines.item_id) = items.item_id\n and invoice_lines.source_relation = items.source_relation\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__invoice", "package": null, "version": null}, {"name": "stg_quickbooks__invoice_line", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__invoice", "model.quickbooks_source.stg_quickbooks__invoice_line", "model.quickbooks_source.stg_quickbooks__item"]}, "compiled_path": "target/compiled/quickbooks/models/transaction_lines/int_quickbooks__invoice_transactions.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_invoice variable within your dbt_project.yml file to False.\n\n\nwith invoices as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__invoice\"\n),\n\ninvoice_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__invoice_line\"\n),\n\nitems as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__item\"\n),\n\nfinal as (\n\n select\n invoices.invoice_id as transaction_id,\n invoices.source_relation,\n invoice_lines.index as transaction_line_id,\n invoices.doc_number,\n 'invoice' as transaction_type,\n invoices.transaction_date,\n coalesce(invoice_lines.sales_item_item_id, invoice_lines.item_id) as item_id,\n coalesce(invoice_lines.quantity, invoice_lines.sales_item_quantity) as item_quantity,\n invoice_lines.sales_item_unit_price as item_unit_price,\n case when invoice_lines.account_id is null\n then coalesce(items.income_account_id, items.expense_account_id, items.asset_account_id)\n else invoice_lines.account_id\n end as account_id,\n coalesce(invoice_lines.discount_class_id, invoice_lines.sales_item_class_id) as class_id,\n invoices.department_id,\n invoices.customer_id,\n cast(null as TEXT) as vendor_id,\n cast(null as TEXT) as billable_status,\n invoice_lines.description,\n invoice_lines.amount,\n invoice_lines.amount * coalesce(invoices.exchange_rate, 1) as converted_amount,\n invoices.total_amount,\n invoices.total_amount * coalesce(invoices.exchange_rate, 1) as total_converted_amount\n from invoices\n\n inner join invoice_lines\n on invoices.invoice_id = invoice_lines.invoice_id\n and invoices.source_relation = invoice_lines.source_relation\n\n left join items\n on coalesce(invoice_lines.sales_item_item_id, invoice_lines.item_id) = items.item_id\n and invoice_lines.source_relation = items.source_relation\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__bill_transactions": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__bill_transactions", "resource_type": "model", "package_name": "quickbooks", "path": "transaction_lines/int_quickbooks__bill_transactions.sql", "original_file_path": "models/transaction_lines/int_quickbooks__bill_transactions.sql", "unique_id": "model.quickbooks.int_quickbooks__bill_transactions", "fqn": ["quickbooks", "transaction_lines", "int_quickbooks__bill_transactions"], "alias": "int_quickbooks__bill_transactions", "checksum": {"name": "sha256", "checksum": "d0d61e082532c9901df6e3cf136a7d63475c717631ebb3951661ef72c7046790"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that joins the bill and corresponding bill lines into a single bill transactions table.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1731948866.892378, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__bill_transactions\"", "raw_code": "--To disable this model, set the using_bill variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_bill', True)) }}\n\nwith bills as (\n\n select *\n from {{ ref('stg_quickbooks__bill') }} \n),\n\nbill_lines as (\n\n select *\n from {{ ref('stg_quickbooks__bill_line') }}\n),\n\nitems as (\n\n select *\n from {{ref('stg_quickbooks__item')}}\n),\n\nfinal as (\n\n select\n bills.bill_id as transaction_id,\n bills.source_relation,\n bill_lines.index as transaction_line_id,\n bills.doc_number,\n 'bill' as transaction_type,\n bills.transaction_date,\n coalesce(bill_lines.account_expense_account_id, items.expense_account_id) as account_id,\n bill_lines.account_expense_class_id as class_id,\n bills.department_id,\n coalesce(bill_lines.account_expense_customer_id, bill_lines.item_expense_customer_id) as customer_id,\n bills.vendor_id,\n coalesce(bill_lines.account_expense_billable_status, bill_lines.item_expense_billable_status) as billable_status,\n coalesce(bill_lines.description, items.name) as description,\n bill_lines.amount,\n bill_lines.amount * (coalesce(bills.exchange_rate, 1)) as converted_amount,\n bills.total_amount,\n bills.total_amount * (coalesce(bills.exchange_rate, 1)) as total_converted_amount\n from bills\n\n inner join bill_lines \n on bills.bill_id = bill_lines.bill_id\n and bills.source_relation = bill_lines.source_relation\n\n left join items\n on bill_lines.item_expense_item_id = items.item_id\n and bill_lines.source_relation = items.source_relation\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__bill", "package": null, "version": null}, {"name": "stg_quickbooks__bill_line", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.quickbooks_source.stg_quickbooks__bill", "model.quickbooks_source.stg_quickbooks__bill_line", "model.quickbooks_source.stg_quickbooks__item"]}, "compiled_path": "target/compiled/quickbooks/models/transaction_lines/int_quickbooks__bill_transactions.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_bill variable within your dbt_project.yml file to False.\n\n\nwith bills as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill\" \n),\n\nbill_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill_line\"\n),\n\nitems as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__item\"\n),\n\nfinal as (\n\n select\n bills.bill_id as transaction_id,\n bills.source_relation,\n bill_lines.index as transaction_line_id,\n bills.doc_number,\n 'bill' as transaction_type,\n bills.transaction_date,\n coalesce(bill_lines.account_expense_account_id, items.expense_account_id) as account_id,\n bill_lines.account_expense_class_id as class_id,\n bills.department_id,\n coalesce(bill_lines.account_expense_customer_id, bill_lines.item_expense_customer_id) as customer_id,\n bills.vendor_id,\n coalesce(bill_lines.account_expense_billable_status, bill_lines.item_expense_billable_status) as billable_status,\n coalesce(bill_lines.description, items.name) as description,\n bill_lines.amount,\n bill_lines.amount * (coalesce(bills.exchange_rate, 1)) as converted_amount,\n bills.total_amount,\n bills.total_amount * (coalesce(bills.exchange_rate, 1)) as total_converted_amount\n from bills\n\n inner join bill_lines \n on bills.bill_id = bill_lines.bill_id\n and bills.source_relation = bill_lines.source_relation\n\n left join items\n on bill_lines.item_expense_item_id = items.item_id\n and bill_lines.source_relation = items.source_relation\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__journal_entry_transactions": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__journal_entry_transactions", "resource_type": "model", "package_name": "quickbooks", "path": "transaction_lines/int_quickbooks__journal_entry_transactions.sql", "original_file_path": "models/transaction_lines/int_quickbooks__journal_entry_transactions.sql", "unique_id": "model.quickbooks.int_quickbooks__journal_entry_transactions", "fqn": ["quickbooks", "transaction_lines", "int_quickbooks__journal_entry_transactions"], "alias": "int_quickbooks__journal_entry_transactions", "checksum": {"name": "sha256", "checksum": "be2eed56f38a27a50b6c950aeb5a86f8ee69d1af2d20e47397b2c2e8d3928efc"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that joins the journal entry and corresponding journal entry lines into a single journal entry transactions table.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1731948866.893057, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__journal_entry_transactions\"", "raw_code": "--To disable this model, set the using_journal_entry variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_journal_entry', True)) }}\n\nwith journal_entries as (\n\n select *\n from {{ ref('stg_quickbooks__journal_entry') }}\n),\n\njournal_entry_lines as (\n\n select *\n from {{ ref('stg_quickbooks__journal_entry_line') }}\n),\n\nfinal as (\n\n select\n journal_entries.journal_entry_id as transaction_id,\n journal_entries.source_relation,\n journal_entry_lines.index as transaction_line_id,\n journal_entries.doc_number,\n 'journal_entry' as transaction_type,\n journal_entries.transaction_date,\n journal_entry_lines.account_id,\n journal_entry_lines.class_id,\n journal_entry_lines.department_id,\n journal_entry_lines.customer_id,\n journal_entry_lines.vendor_id,\n cast(billable_status as {{ dbt.type_string() }}) as billable_status,\n journal_entry_lines.description,\n case when lower(journal_entry_lines.posting_type) = 'credit'\n then journal_entry_lines.amount * -1 \n else journal_entry_lines.amount \n end as amount,\n case when lower(journal_entry_lines.posting_type) = 'credit'\n then journal_entry_lines.amount * coalesce(-journal_entries.exchange_rate, -1)\n else journal_entry_lines.amount * coalesce(journal_entries.exchange_rate, 1)\n end as converted_amount,\n journal_entries.total_amount,\n journal_entries.total_amount * coalesce(journal_entries.exchange_rate, 1) as total_converted_amount\n from journal_entries\n\n inner join journal_entry_lines\n on journal_entries.journal_entry_id = journal_entry_lines.journal_entry_id\n and journal_entries.source_relation = journal_entry_lines.source_relation\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__journal_entry", "package": null, "version": null}, {"name": "stg_quickbooks__journal_entry_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__journal_entry", "model.quickbooks_source.stg_quickbooks__journal_entry_line"]}, "compiled_path": "target/compiled/quickbooks/models/transaction_lines/int_quickbooks__journal_entry_transactions.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_journal_entry variable within your dbt_project.yml file to False.\n\n\nwith journal_entries as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__journal_entry\"\n),\n\njournal_entry_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__journal_entry_line\"\n),\n\nfinal as (\n\n select\n journal_entries.journal_entry_id as transaction_id,\n journal_entries.source_relation,\n journal_entry_lines.index as transaction_line_id,\n journal_entries.doc_number,\n 'journal_entry' as transaction_type,\n journal_entries.transaction_date,\n journal_entry_lines.account_id,\n journal_entry_lines.class_id,\n journal_entry_lines.department_id,\n journal_entry_lines.customer_id,\n journal_entry_lines.vendor_id,\n cast(billable_status as TEXT) as billable_status,\n journal_entry_lines.description,\n case when lower(journal_entry_lines.posting_type) = 'credit'\n then journal_entry_lines.amount * -1 \n else journal_entry_lines.amount \n end as amount,\n case when lower(journal_entry_lines.posting_type) = 'credit'\n then journal_entry_lines.amount * coalesce(-journal_entries.exchange_rate, -1)\n else journal_entry_lines.amount * coalesce(journal_entries.exchange_rate, 1)\n end as converted_amount,\n journal_entries.total_amount,\n journal_entries.total_amount * coalesce(journal_entries.exchange_rate, 1) as total_converted_amount\n from journal_entries\n\n inner join journal_entry_lines\n on journal_entries.journal_entry_id = journal_entry_lines.journal_entry_id\n and journal_entries.source_relation = journal_entry_lines.source_relation\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__refund_receipt_transactions": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__refund_receipt_transactions", "resource_type": "model", "package_name": "quickbooks", "path": "transaction_lines/int_quickbooks__refund_receipt_transactions.sql", "original_file_path": "models/transaction_lines/int_quickbooks__refund_receipt_transactions.sql", "unique_id": "model.quickbooks.int_quickbooks__refund_receipt_transactions", "fqn": ["quickbooks", "transaction_lines", "int_quickbooks__refund_receipt_transactions"], "alias": "int_quickbooks__refund_receipt_transactions", "checksum": {"name": "sha256", "checksum": "1f2e23e65dd0136ba6322459d8c4cdd41656d2541f43c5337bbf6ab985bd5efe"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that joins the refund receipt and corresponding refund receipt lines into a single refund receipt transactions table.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1731948866.89346, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__refund_receipt_transactions\"", "raw_code": "--To disable this model, set the using_refund_receipt variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_refund_receipt', True)) }}\n\nwith refund_receipts as (\n\n select *\n from {{ ref('stg_quickbooks__refund_receipt') }}\n),\n\nrefund_receipt_lines as (\n\n select *\n from {{ ref('stg_quickbooks__refund_receipt_line') }}\n),\n\nitems as (\n\n select *\n from {{ ref('stg_quickbooks__item') }}\n),\n\nfinal as (\n\n select\n refund_receipts.refund_id as transaction_id,\n refund_receipts.source_relation,\n refund_receipt_lines.index as transaction_line_id,\n refund_receipts.doc_number,\n 'refund_receipt' as transaction_type,\n refund_receipts.transaction_date,\n refund_receipt_lines.sales_item_item_id as item_id,\n refund_receipt_lines.sales_item_quantity as item_quantity,\n refund_receipt_lines.sales_item_unit_price as item_unit_price,\n case when refund_receipt_lines.sales_item_account_id is null\n then coalesce(items.asset_account_id, items.income_account_id, items.expense_account_id) \n else refund_receipt_lines.sales_item_account_id\n end as account_id,\n refund_receipts.class_id,\n refund_receipts.department_id,\n refund_receipts.customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n cast(null as {{ dbt.type_string() }}) as billable_status,\n refund_receipt_lines.description,\n refund_receipt_lines.amount * -1 as amount,\n refund_receipt_lines.amount * coalesce(-refund_receipts.exchange_rate, -1) as converted_amount,\n refund_receipts.total_amount * -1 as total_amount,\n refund_receipts.total_amount * coalesce(-refund_receipts.exchange_rate, -1) as total_converted_amount\n from refund_receipts\n\n inner join refund_receipt_lines\n on refund_receipts.refund_id = refund_receipt_lines.refund_id\n and refund_receipts.source_relation = refund_receipt_lines.source_relation\n\n left join items\n on refund_receipt_lines.sales_item_item_id = items.item_id\n and refund_receipt_lines.source_relation = items.source_relation\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__refund_receipt", "package": null, "version": null}, {"name": "stg_quickbooks__refund_receipt_line", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__refund_receipt", "model.quickbooks_source.stg_quickbooks__refund_receipt_line", "model.quickbooks_source.stg_quickbooks__item"]}, "compiled_path": "target/compiled/quickbooks/models/transaction_lines/int_quickbooks__refund_receipt_transactions.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_refund_receipt variable within your dbt_project.yml file to False.\n\n\nwith refund_receipts as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__refund_receipt\"\n),\n\nrefund_receipt_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__refund_receipt_line\"\n),\n\nitems as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__item\"\n),\n\nfinal as (\n\n select\n refund_receipts.refund_id as transaction_id,\n refund_receipts.source_relation,\n refund_receipt_lines.index as transaction_line_id,\n refund_receipts.doc_number,\n 'refund_receipt' as transaction_type,\n refund_receipts.transaction_date,\n refund_receipt_lines.sales_item_item_id as item_id,\n refund_receipt_lines.sales_item_quantity as item_quantity,\n refund_receipt_lines.sales_item_unit_price as item_unit_price,\n case when refund_receipt_lines.sales_item_account_id is null\n then coalesce(items.asset_account_id, items.income_account_id, items.expense_account_id) \n else refund_receipt_lines.sales_item_account_id\n end as account_id,\n refund_receipts.class_id,\n refund_receipts.department_id,\n refund_receipts.customer_id,\n cast(null as TEXT) as vendor_id,\n cast(null as TEXT) as billable_status,\n refund_receipt_lines.description,\n refund_receipt_lines.amount * -1 as amount,\n refund_receipt_lines.amount * coalesce(-refund_receipts.exchange_rate, -1) as converted_amount,\n refund_receipts.total_amount * -1 as total_amount,\n refund_receipts.total_amount * coalesce(-refund_receipts.exchange_rate, -1) as total_converted_amount\n from refund_receipts\n\n inner join refund_receipt_lines\n on refund_receipts.refund_id = refund_receipt_lines.refund_id\n and refund_receipts.source_relation = refund_receipt_lines.source_relation\n\n left join items\n on refund_receipt_lines.sales_item_item_id = items.item_id\n and refund_receipt_lines.source_relation = items.source_relation\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__vendor_credit_transactions": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__vendor_credit_transactions", "resource_type": "model", "package_name": "quickbooks", "path": "transaction_lines/int_quickbooks__vendor_credit_transactions.sql", "original_file_path": "models/transaction_lines/int_quickbooks__vendor_credit_transactions.sql", "unique_id": "model.quickbooks.int_quickbooks__vendor_credit_transactions", "fqn": ["quickbooks", "transaction_lines", "int_quickbooks__vendor_credit_transactions"], "alias": "int_quickbooks__vendor_credit_transactions", "checksum": {"name": "sha256", "checksum": "193398ce278471db3a8f4994041cca035bbd98052fc4c660d889e12fa2f401db"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that joins the vendor credit and corresponding vendor credit lines into a single vendor credit transactions table.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1731948866.893827, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__vendor_credit_transactions\"", "raw_code": "--To disable this model, set the using_vendor_credit variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_vendor_credit', True)) }}\n\nwith vendor_credits as (\n \n select *\n from {{ ref('stg_quickbooks__vendor_credit') }}\n),\n\nvendor_credit_lines as (\n\n select *\n from {{ ref('stg_quickbooks__vendor_credit_line') }}\n),\n\nitems as (\n\n select *\n from {{ ref('stg_quickbooks__item') }}\n),\n\nfinal as (\n\n select\n vendor_credits.vendor_credit_id as transaction_id,\n vendor_credits.source_relation,\n vendor_credit_lines.index as transaction_line_id,\n vendor_credits.doc_number,\n 'vendor_credit' as transaction_type,\n vendor_credits.transaction_date,\n case when vendor_credit_lines.account_expense_account_id is null\n then items.expense_account_id\n else vendor_credit_lines.account_expense_account_id\n end as account_id,\n coalesce(vendor_credit_lines.account_expense_class_id, vendor_credit_lines.item_expense_class_id) as class_id,\n vendor_credits.department_id,\n coalesce(vendor_credit_lines.account_expense_customer_id, vendor_credit_lines.item_expense_customer_id) as customer_id,\n vendor_credits.vendor_id,\n coalesce(vendor_credit_lines.account_expense_billable_status, vendor_credit_lines.item_expense_billable_status) as billable_status,\n vendor_credit_lines.description,\n vendor_credit_lines.amount * -1 as amount,\n vendor_credit_lines.amount * coalesce(-vendor_credits.exchange_rate, -1) as converted_amount,\n vendor_credits.total_amount * -1 as total_amount,\n vendor_credits.total_amount * coalesce(-vendor_credits.exchange_rate, -1) as total_converted_amount\n from vendor_credits\n\n inner join vendor_credit_lines\n on vendor_credits.vendor_credit_id = vendor_credit_lines.vendor_credit_id\n and vendor_credits.source_relation = vendor_credit_lines.source_relation\n\n left join items\n on vendor_credit_lines.item_expense_item_id = items.item_id\n and vendor_credit_lines.source_relation = items.source_relation\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__vendor_credit", "package": null, "version": null}, {"name": "stg_quickbooks__vendor_credit_line", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.quickbooks_source.stg_quickbooks__vendor_credit", "model.quickbooks_source.stg_quickbooks__vendor_credit_line", "model.quickbooks_source.stg_quickbooks__item"]}, "compiled_path": "target/compiled/quickbooks/models/transaction_lines/int_quickbooks__vendor_credit_transactions.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_vendor_credit variable within your dbt_project.yml file to False.\n\n\nwith vendor_credits as (\n \n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__vendor_credit\"\n),\n\nvendor_credit_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__vendor_credit_line\"\n),\n\nitems as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__item\"\n),\n\nfinal as (\n\n select\n vendor_credits.vendor_credit_id as transaction_id,\n vendor_credits.source_relation,\n vendor_credit_lines.index as transaction_line_id,\n vendor_credits.doc_number,\n 'vendor_credit' as transaction_type,\n vendor_credits.transaction_date,\n case when vendor_credit_lines.account_expense_account_id is null\n then items.expense_account_id\n else vendor_credit_lines.account_expense_account_id\n end as account_id,\n coalesce(vendor_credit_lines.account_expense_class_id, vendor_credit_lines.item_expense_class_id) as class_id,\n vendor_credits.department_id,\n coalesce(vendor_credit_lines.account_expense_customer_id, vendor_credit_lines.item_expense_customer_id) as customer_id,\n vendor_credits.vendor_id,\n coalesce(vendor_credit_lines.account_expense_billable_status, vendor_credit_lines.item_expense_billable_status) as billable_status,\n vendor_credit_lines.description,\n vendor_credit_lines.amount * -1 as amount,\n vendor_credit_lines.amount * coalesce(-vendor_credits.exchange_rate, -1) as converted_amount,\n vendor_credits.total_amount * -1 as total_amount,\n vendor_credits.total_amount * coalesce(-vendor_credits.exchange_rate, -1) as total_converted_amount\n from vendor_credits\n\n inner join vendor_credit_lines\n on vendor_credits.vendor_credit_id = vendor_credit_lines.vendor_credit_id\n and vendor_credits.source_relation = vendor_credit_lines.source_relation\n\n left join items\n on vendor_credit_lines.item_expense_item_id = items.item_id\n and vendor_credit_lines.source_relation = items.source_relation\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__purchase_transactions": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__purchase_transactions", "resource_type": "model", "package_name": "quickbooks", "path": "transaction_lines/int_quickbooks__purchase_transactions.sql", "original_file_path": "models/transaction_lines/int_quickbooks__purchase_transactions.sql", "unique_id": "model.quickbooks.int_quickbooks__purchase_transactions", "fqn": ["quickbooks", "transaction_lines", "int_quickbooks__purchase_transactions"], "alias": "int_quickbooks__purchase_transactions", "checksum": {"name": "sha256", "checksum": "0e5038fef9d7b7ac01122960a08ab3eaa17350acbe0fd9b017500d1c97c830f2"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that joins the purchase and corresponding purchase lines into a single purchase transactions table.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1731948866.893255, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__purchase_transactions\"", "raw_code": "--To disable this model, set the using_purchase variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_purchase', True)) }}\n\nwith purchases as (\n select *\n from {{ ref('stg_quickbooks__purchase') }}\n),\n\nitems as (\n select *\n from {{ref('stg_quickbooks__item')}}\n),\n\npurchase_lines as (\n select *\n from {{ ref('stg_quickbooks__purchase_line') }}\n),\n\nfinal as (\n select\n purchases.purchase_id as transaction_id,\n purchases.source_relation,\n purchase_lines.index as transaction_line_id,\n purchases.doc_number,\n 'purchase' as transaction_type,\n purchases.transaction_date,\n coalesce(purchase_lines.account_expense_account_id, items.expense_account_id) as account_id,\n purchase_lines.account_expense_class_id as class_id,\n purchases.department_id,\n coalesce(purchases.customer_id, account_expense_customer_id, item_expense_customer_id) as customer_id,\n purchases.vendor_id,\n coalesce(purchase_lines.account_expense_billable_status, purchase_lines.item_expense_billable_status) as billable_status,\n purchase_lines.description,\n case when coalesce(purchases.credit, false)\n then -1 * purchase_lines.amount\n else purchase_lines.amount\n end as amount,\n case when coalesce(purchases.credit, false)\n then purchase_lines.amount * coalesce(-purchases.exchange_rate, -1)\n else purchase_lines.amount * coalesce(purchases.exchange_rate, 1)\n end as converted_amount,\n case when coalesce(purchases.credit, false) \n then -1 * purchases.total_amount\n else purchases.total_amount\n end as total_amount,\n case when coalesce(purchases.credit, false) \n then purchases.total_amount * coalesce(-purchases.exchange_rate, -1)\n else purchases.total_amount * coalesce(purchases.exchange_rate, 1)\n end as total_converted_amount\n from purchases\n\n inner join purchase_lines \n on purchases.purchase_id = purchase_lines.purchase_id\n and purchases.source_relation = purchase_lines.source_relation\n\n left join items\n on purchase_lines.item_expense_item_id = items.item_id\n and purchase_lines.source_relation = items.source_relation\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}, {"name": "stg_quickbooks__purchase_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.quickbooks_source.stg_quickbooks__purchase", "model.quickbooks_source.stg_quickbooks__item", "model.quickbooks_source.stg_quickbooks__purchase_line"]}, "compiled_path": "target/compiled/quickbooks/models/transaction_lines/int_quickbooks__purchase_transactions.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_purchase variable within your dbt_project.yml file to False.\n\n\nwith purchases as (\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__purchase\"\n),\n\nitems as (\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__item\"\n),\n\npurchase_lines as (\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__purchase_line\"\n),\n\nfinal as (\n select\n purchases.purchase_id as transaction_id,\n purchases.source_relation,\n purchase_lines.index as transaction_line_id,\n purchases.doc_number,\n 'purchase' as transaction_type,\n purchases.transaction_date,\n coalesce(purchase_lines.account_expense_account_id, items.expense_account_id) as account_id,\n purchase_lines.account_expense_class_id as class_id,\n purchases.department_id,\n coalesce(purchases.customer_id, account_expense_customer_id, item_expense_customer_id) as customer_id,\n purchases.vendor_id,\n coalesce(purchase_lines.account_expense_billable_status, purchase_lines.item_expense_billable_status) as billable_status,\n purchase_lines.description,\n case when coalesce(purchases.credit, false)\n then -1 * purchase_lines.amount\n else purchase_lines.amount\n end as amount,\n case when coalesce(purchases.credit, false)\n then purchase_lines.amount * coalesce(-purchases.exchange_rate, -1)\n else purchase_lines.amount * coalesce(purchases.exchange_rate, 1)\n end as converted_amount,\n case when coalesce(purchases.credit, false) \n then -1 * purchases.total_amount\n else purchases.total_amount\n end as total_amount,\n case when coalesce(purchases.credit, false) \n then purchases.total_amount * coalesce(-purchases.exchange_rate, -1)\n else purchases.total_amount * coalesce(purchases.exchange_rate, 1)\n end as total_converted_amount\n from purchases\n\n inner join purchase_lines \n on purchases.purchase_id = purchase_lines.purchase_id\n and purchases.source_relation = purchase_lines.source_relation\n\n left join items\n on purchase_lines.item_expense_item_id = items.item_id\n and purchase_lines.source_relation = items.source_relation\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__sales_receipt_transactions": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__sales_receipt_transactions", "resource_type": "model", "package_name": "quickbooks", "path": "transaction_lines/int_quickbooks__sales_receipt_transactions.sql", "original_file_path": "models/transaction_lines/int_quickbooks__sales_receipt_transactions.sql", "unique_id": "model.quickbooks.int_quickbooks__sales_receipt_transactions", "fqn": ["quickbooks", "transaction_lines", "int_quickbooks__sales_receipt_transactions"], "alias": "int_quickbooks__sales_receipt_transactions", "checksum": {"name": "sha256", "checksum": "b0a621208fd2f9c665fb3cb5a526e680fa24a1cc876f13cd75d8c4c7dd5e6007"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that joins the sales receipt and corresponding sales receipt lines into a single sales receipt transactions table.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1731948866.893644, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__sales_receipt_transactions\"", "raw_code": "--To disable this model, set the using_sales_receipt variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_sales_receipt', True)) }}\n\nwith sales_receipts as (\n\n select *\n from {{ ref('stg_quickbooks__sales_receipt') }}\n),\n\nsales_receipt_lines as (\n\n select *\n from {{ ref('stg_quickbooks__sales_receipt_line') }}\n),\n\nitems as (\n\n select *\n from {{ ref('stg_quickbooks__item') }}\n),\n\nfinal as (\n\n select\n sales_receipts.sales_receipt_id as transaction_id,\n sales_receipts.source_relation,\n sales_receipt_lines.index as transaction_line_id,\n sales_receipts.doc_number,\n 'sales_receipt' as transaction_type,\n sales_receipts.transaction_date,\n sales_receipt_lines.sales_item_item_id as item_id,\n sales_receipt_lines.sales_item_quantity as item_quantity,\n sales_receipt_lines.sales_item_unit_price as item_unit_price,\n coalesce(items.income_account_id, items.asset_account_id, items.expense_account_id) as account_id,\n sales_receipts.class_id,\n sales_receipts.department_id,\n sales_receipts.customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n cast(null as {{ dbt.type_string() }}) as billable_status,\n sales_receipt_lines.description,\n sales_receipt_lines.amount,\n sales_receipt_lines.amount * (coalesce(sales_receipts.exchange_rate, 1)) as converted_amount,\n sales_receipts.total_amount,\n sales_receipts.total_amount * (coalesce(sales_receipts.exchange_rate, 1)) as total_converted_amount\n from sales_receipts\n\n inner join sales_receipt_lines\n on sales_receipts.sales_receipt_id = sales_receipt_lines.sales_receipt_id \n and sales_receipts.source_relation = sales_receipt_lines.source_relation\n\n left join items\n on sales_receipt_lines.sales_item_item_id = items.item_id\n and sales_receipt_lines.source_relation = items.source_relation\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__sales_receipt", "package": null, "version": null}, {"name": "stg_quickbooks__sales_receipt_line", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__sales_receipt", "model.quickbooks_source.stg_quickbooks__sales_receipt_line", "model.quickbooks_source.stg_quickbooks__item"]}, "compiled_path": "target/compiled/quickbooks/models/transaction_lines/int_quickbooks__sales_receipt_transactions.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_sales_receipt variable within your dbt_project.yml file to False.\n\n\nwith sales_receipts as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__sales_receipt\"\n),\n\nsales_receipt_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__sales_receipt_line\"\n),\n\nitems as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__item\"\n),\n\nfinal as (\n\n select\n sales_receipts.sales_receipt_id as transaction_id,\n sales_receipts.source_relation,\n sales_receipt_lines.index as transaction_line_id,\n sales_receipts.doc_number,\n 'sales_receipt' as transaction_type,\n sales_receipts.transaction_date,\n sales_receipt_lines.sales_item_item_id as item_id,\n sales_receipt_lines.sales_item_quantity as item_quantity,\n sales_receipt_lines.sales_item_unit_price as item_unit_price,\n coalesce(items.income_account_id, items.asset_account_id, items.expense_account_id) as account_id,\n sales_receipts.class_id,\n sales_receipts.department_id,\n sales_receipts.customer_id,\n cast(null as TEXT) as vendor_id,\n cast(null as TEXT) as billable_status,\n sales_receipt_lines.description,\n sales_receipt_lines.amount,\n sales_receipt_lines.amount * (coalesce(sales_receipts.exchange_rate, 1)) as converted_amount,\n sales_receipts.total_amount,\n sales_receipts.total_amount * (coalesce(sales_receipts.exchange_rate, 1)) as total_converted_amount\n from sales_receipts\n\n inner join sales_receipt_lines\n on sales_receipts.sales_receipt_id = sales_receipt_lines.sales_receipt_id \n and sales_receipts.source_relation = sales_receipt_lines.source_relation\n\n left join items\n on sales_receipt_lines.sales_item_item_id = items.item_id\n and sales_receipt_lines.source_relation = items.source_relation\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__deposit_transactions": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__deposit_transactions", "resource_type": "model", "package_name": "quickbooks", "path": "transaction_lines/int_quickbooks__deposit_transactions.sql", "original_file_path": "models/transaction_lines/int_quickbooks__deposit_transactions.sql", "unique_id": "model.quickbooks.int_quickbooks__deposit_transactions", "fqn": ["quickbooks", "transaction_lines", "int_quickbooks__deposit_transactions"], "alias": "int_quickbooks__deposit_transactions", "checksum": {"name": "sha256", "checksum": "7b1b53142f152222a02365e3726e289d338a638bb4f512aeb90da86fd6390c29"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that joins the deposit and corresponding deposit lines into a single deposit transactions table.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1731948866.892849, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__deposit_transactions\"", "raw_code": "--To disable this model, set the using_deposit variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_deposit', True)) }}\n\nwith deposits as (\n\n select *\n from {{ ref('stg_quickbooks__deposit') }}\n), \n\ndeposit_lines as (\n\n select *\n from {{ ref('stg_quickbooks__deposit_line') }}\n),\n\nfinal as (\n\n select\n deposits.deposit_id as transaction_id,\n deposits.source_relation,\n deposit_lines.index as transaction_line_id,\n cast(null as {{ dbt.type_string() }}) as doc_number,\n 'deposit' as transaction_type,\n deposits.transaction_date,\n deposit_lines.deposit_account_id as account_id,\n deposit_lines.deposit_class_id as class_id,\n deposits.department_id,\n deposit_lines.deposit_customer_id as customer_id,\n cast(null as {{ dbt.type_string() }}) as vendor_id,\n cast(null as {{ dbt.type_string() }}) as billable_status,\n deposit_lines.description,\n deposit_lines.amount,\n deposit_lines.amount * (coalesce(deposits.home_total_amount/nullif(deposits.total_amount, 0), 1)) as converted_amount,\n deposits.total_amount,\n deposits.total_amount * (coalesce(deposits.home_total_amount/nullif(deposits.total_amount, 0), 1)) as total_converted_amount\n from deposits\n \n inner join deposit_lines \n on deposits.deposit_id = deposit_lines.deposit_id\n and deposits.source_relation = deposit_lines.source_relation\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__deposit", "package": null, "version": null}, {"name": "stg_quickbooks__deposit_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__deposit", "model.quickbooks_source.stg_quickbooks__deposit_line"]}, "compiled_path": "target/compiled/quickbooks/models/transaction_lines/int_quickbooks__deposit_transactions.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_deposit variable within your dbt_project.yml file to False.\n\n\nwith deposits as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__deposit\"\n), \n\ndeposit_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__deposit_line\"\n),\n\nfinal as (\n\n select\n deposits.deposit_id as transaction_id,\n deposits.source_relation,\n deposit_lines.index as transaction_line_id,\n cast(null as TEXT) as doc_number,\n 'deposit' as transaction_type,\n deposits.transaction_date,\n deposit_lines.deposit_account_id as account_id,\n deposit_lines.deposit_class_id as class_id,\n deposits.department_id,\n deposit_lines.deposit_customer_id as customer_id,\n cast(null as TEXT) as vendor_id,\n cast(null as TEXT) as billable_status,\n deposit_lines.description,\n deposit_lines.amount,\n deposit_lines.amount * (coalesce(deposits.home_total_amount/nullif(deposits.total_amount, 0), 1)) as converted_amount,\n deposits.total_amount,\n deposits.total_amount * (coalesce(deposits.home_total_amount/nullif(deposits.total_amount, 0), 1)) as total_converted_amount\n from deposits\n \n inner join deposit_lines \n on deposits.deposit_id = deposit_lines.deposit_id\n and deposits.source_relation = deposit_lines.source_relation\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__credit_memo_transactions": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__credit_memo_transactions", "resource_type": "model", "package_name": "quickbooks", "path": "transaction_lines/int_quickbooks__credit_memo_transactions.sql", "original_file_path": "models/transaction_lines/int_quickbooks__credit_memo_transactions.sql", "unique_id": "model.quickbooks.int_quickbooks__credit_memo_transactions", "fqn": ["quickbooks", "transaction_lines", "int_quickbooks__credit_memo_transactions"], "alias": "int_quickbooks__credit_memo_transactions", "checksum": {"name": "sha256", "checksum": "2d557ecee0c4700d06738a554ad59a3f10493d9883a5019d261ecab65ace9fea"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that joins the credit memo and credit memo lines into a single credit memo transactions table.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1731948866.8926349, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__credit_memo_transactions\"", "raw_code": "--To disable this model, set the using_credit_memo variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_credit_memo', True)) }}\n\nwith credit_memos as (\n\n select *\n from {{ ref('stg_quickbooks__credit_memo') }}\n),\n\ncredit_memo_lines as (\n\n select *\n from {{ ref('stg_quickbooks__credit_memo_line') }}\n),\n\nitems as (\n\n select *\n from {{ ref('stg_quickbooks__item') }}\n),\n\nfinal as (\n\n select\n credit_memos.credit_memo_id as transaction_id,\n credit_memos.source_relation,\n credit_memo_lines.index as transaction_line_id,\n credit_memos.doc_number,\n 'credit_memo' as transaction_type,\n credit_memos.transaction_date,\n credit_memo_lines.sales_item_item_id as item_id,\n credit_memo_lines.sales_item_quantity as item_quantity,\n credit_memo_lines.sales_item_unit_price as item_unit_price,\n case when credit_memo_lines.sales_item_account_id is null\n then coalesce(items.income_account_id, items.asset_account_id, items.expense_account_id) \n else credit_memo_lines.sales_item_account_id\n end as account_id,\n credit_memos.class_id,\n credit_memos.department_id,\n credit_memos.customer_id, \n cast(null as {{ dbt.type_string() }}) as vendor_id,\n cast(null as {{ dbt.type_string() }}) as billable_status,\n credit_memo_lines.description,\n credit_memo_lines.amount * -1 as amount,\n credit_memo_lines.amount * coalesce(-credit_memos.exchange_rate, -1) as converted_amount,\n credit_memos.total_amount * -1 as total_amount,\n credit_memos.total_amount * coalesce(-credit_memos.exchange_rate, -1) as total_converted_amount\n from credit_memos\n\n inner join credit_memo_lines\n on credit_memos.credit_memo_id = credit_memo_lines.credit_memo_id\n and credit_memos.source_relation = credit_memo_lines.source_relation\n\n left join items\n on credit_memo_lines.sales_item_item_id = items.item_id\n and credit_memo_lines.source_relation = items.source_relation\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__credit_memo", "package": null, "version": null}, {"name": "stg_quickbooks__credit_memo_line", "package": null, "version": null}, {"name": "stg_quickbooks__item", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__credit_memo", "model.quickbooks_source.stg_quickbooks__credit_memo_line", "model.quickbooks_source.stg_quickbooks__item"]}, "compiled_path": "target/compiled/quickbooks/models/transaction_lines/int_quickbooks__credit_memo_transactions.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_credit_memo variable within your dbt_project.yml file to False.\n\n\nwith credit_memos as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__credit_memo\"\n),\n\ncredit_memo_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__credit_memo_line\"\n),\n\nitems as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__item\"\n),\n\nfinal as (\n\n select\n credit_memos.credit_memo_id as transaction_id,\n credit_memos.source_relation,\n credit_memo_lines.index as transaction_line_id,\n credit_memos.doc_number,\n 'credit_memo' as transaction_type,\n credit_memos.transaction_date,\n credit_memo_lines.sales_item_item_id as item_id,\n credit_memo_lines.sales_item_quantity as item_quantity,\n credit_memo_lines.sales_item_unit_price as item_unit_price,\n case when credit_memo_lines.sales_item_account_id is null\n then coalesce(items.income_account_id, items.asset_account_id, items.expense_account_id) \n else credit_memo_lines.sales_item_account_id\n end as account_id,\n credit_memos.class_id,\n credit_memos.department_id,\n credit_memos.customer_id, \n cast(null as TEXT) as vendor_id,\n cast(null as TEXT) as billable_status,\n credit_memo_lines.description,\n credit_memo_lines.amount * -1 as amount,\n credit_memo_lines.amount * coalesce(-credit_memos.exchange_rate, -1) as converted_amount,\n credit_memos.total_amount * -1 as total_amount,\n credit_memos.total_amount * coalesce(-credit_memos.exchange_rate, -1) as total_converted_amount\n from credit_memos\n\n inner join credit_memo_lines\n on credit_memos.credit_memo_id = credit_memo_lines.credit_memo_id\n and credit_memos.source_relation = credit_memo_lines.source_relation\n\n left join items\n on credit_memo_lines.sales_item_item_id = items.item_id\n and credit_memo_lines.source_relation = items.source_relation\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__cash_flow_classifications": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__cash_flow_classifications", "resource_type": "model", "package_name": "quickbooks", "path": "intermediate/int_quickbooks__cash_flow_classifications.sql", "original_file_path": "models/intermediate/int_quickbooks__cash_flow_classifications.sql", "unique_id": "model.quickbooks.int_quickbooks__cash_flow_classifications", "fqn": ["quickbooks", "intermediate", "int_quickbooks__cash_flow_classifications"], "alias": "int_quickbooks__cash_flow_classifications", "checksum": {"name": "sha256", "checksum": "411a419e31fdd6abeb5ee9c98bfe2852d7ab9b5e426f8c1d0308ffb37da05ed6"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that provides additional classifications necessary for the cash flow statement, like the cash flow type and ordinals.\n", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}"}, "created_at": 1731948866.895499, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__cash_flow_classifications\"", "raw_code": "with cash_flow_key as (\n\n select calendar_date as cash_flow_period,\n source_relation,\n account_class,\n class_id,\n is_sub_account,\n parent_account_number,\n parent_account_name,\n account_type,\n account_sub_type,\n account_number,\n account_id,\n account_name,\n amount as cash_ending_period,\n converted_amount as cash_converted_ending_period,\n {{ dbt_utils.generate_surrogate_key(['account_id', 'source_relation', 'calendar_date', 'class_id']) }} as account_unique_id\n from {{ ref('quickbooks__balance_sheet') }}\n),\n\n{% if var('cash_flow_statement_type_ordinal') %}\nordinals as (\n\n select\n cast(account_class as {{ dbt.type_string() }}) as account_class,\n cast(account_type as {{ dbt.type_string() }}) as account_type,\n cast(account_sub_type as {{ dbt.type_string() }}) as account_sub_type,\n cast(account_number as {{ dbt.type_string() }}) as account_number,\n cast(cash_flow_type as {{ dbt.type_string() }}) as cash_flow_type,\n ordinal\n from {{ var('cash_flow_statement_type_ordinal') }}\n),\n{% endif %}\n\ncash_flow_types_and_ordinals as (\n\n select cash_flow_key.*,\n {% if var('cash_flow_statement_type_ordinal') %}\n coalesce(account_number_ordinal.cash_flow_type, account_sub_type_ordinal.cash_flow_type, account_type_ordinal.cash_flow_type, account_class_ordinal.cash_flow_type) as cash_flow_type,\n coalesce(account_number_ordinal.ordinal, account_sub_type_ordinal.ordinal, account_type_ordinal.ordinal, account_class_ordinal.ordinal) as cash_flow_ordinal \n {% else %}\n case when account_type = 'Bank' then 'Cash or Cash Equivalents'\n when account_type = 'Accounts Receivable' then 'Operating'\n when account_type = 'Credit Card' then 'Operating'\n when account_type = 'Other Current Asset' then 'Operating'\n when account_type = 'Accounts Payable' then 'Operating'\n when account_type = 'Other Current Liability' then 'Operating'\n when account_name = 'Net Income Adjustment' then 'Operating'\n when account_type = 'Fixed Asset' then 'Investing'\n when account_type = 'Other Asset' then 'Investing'\n when account_type = 'Long Term Liability' then 'Financing'\n when account_class = 'Equity' then 'Financing'\n end as cash_flow_type,\n case when account_type = 'Bank' then 1\n when account_type = 'Accounts Receivable' then 2\n when account_type = 'Credit Card' then 2\n when account_type = 'Other Current Asset' then 2\n when account_type = 'Accounts Payable' then 2\n when account_type = 'Other Current Liability' then 2\n when account_name = 'Net Income Adjustment' then 2\n when account_type = 'Fixed Asset' then 3\n when account_type = 'Other Asset' then 3\n when account_type = 'Long Term Liability' then 4\n when account_class = 'Equity' then 4\n end as cash_flow_ordinal\n {% endif %} \n from cash_flow_key\n\n{% if var('cash_flow_statement_type_ordinal') %}\n{% set cash_flow_type_fields = ['account_number', 'account_sub_type', 'account_type', 'account_class'] %}\n\n{% for cash_flow_type_field in cash_flow_type_fields %} \n left join ordinals as {{ cash_flow_type_field }}_ordinal\n on cash_flow_key.{{ cash_flow_type_field }} = {{ cash_flow_type_field }}_ordinal.{{ cash_flow_type_field }}\n{% endfor %}\n\n{% endif %}\n)\n\nselect *\nfrom cash_flow_types_and_ordinals", "language": "sql", "refs": [{"name": "quickbooks__balance_sheet", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.generate_surrogate_key"], "nodes": ["model.quickbooks.quickbooks__balance_sheet"]}, "compiled_path": "target/compiled/quickbooks/models/intermediate/int_quickbooks__cash_flow_classifications.sql", "compiled": true, "compiled_code": "with cash_flow_key as (\n\n select calendar_date as cash_flow_period,\n source_relation,\n account_class,\n class_id,\n is_sub_account,\n parent_account_number,\n parent_account_name,\n account_type,\n account_sub_type,\n account_number,\n account_id,\n account_name,\n amount as cash_ending_period,\n converted_amount as cash_converted_ending_period,\n md5(cast(coalesce(cast(account_id as TEXT), '_dbt_utils_surrogate_key_null_') || '-' || coalesce(cast(source_relation as TEXT), '_dbt_utils_surrogate_key_null_') || '-' || coalesce(cast(calendar_date as TEXT), '_dbt_utils_surrogate_key_null_') || '-' || coalesce(cast(class_id as TEXT), '_dbt_utils_surrogate_key_null_') as TEXT)) as account_unique_id\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"quickbooks__balance_sheet\"\n),\n\n\n\ncash_flow_types_and_ordinals as (\n\n select cash_flow_key.*,\n \n case when account_type = 'Bank' then 'Cash or Cash Equivalents'\n when account_type = 'Accounts Receivable' then 'Operating'\n when account_type = 'Credit Card' then 'Operating'\n when account_type = 'Other Current Asset' then 'Operating'\n when account_type = 'Accounts Payable' then 'Operating'\n when account_type = 'Other Current Liability' then 'Operating'\n when account_name = 'Net Income Adjustment' then 'Operating'\n when account_type = 'Fixed Asset' then 'Investing'\n when account_type = 'Other Asset' then 'Investing'\n when account_type = 'Long Term Liability' then 'Financing'\n when account_class = 'Equity' then 'Financing'\n end as cash_flow_type,\n case when account_type = 'Bank' then 1\n when account_type = 'Accounts Receivable' then 2\n when account_type = 'Credit Card' then 2\n when account_type = 'Other Current Asset' then 2\n when account_type = 'Accounts Payable' then 2\n when account_type = 'Other Current Liability' then 2\n when account_name = 'Net Income Adjustment' then 2\n when account_type = 'Fixed Asset' then 3\n when account_type = 'Other Asset' then 3\n when account_type = 'Long Term Liability' then 4\n when account_class = 'Equity' then 4\n end as cash_flow_ordinal\n \n from cash_flow_key\n\n\n)\n\nselect *\nfrom cash_flow_types_and_ordinals", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__general_ledger_balances": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__general_ledger_balances", "resource_type": "model", "package_name": "quickbooks", "path": "intermediate/int_quickbooks__general_ledger_balances.sql", "original_file_path": "models/intermediate/int_quickbooks__general_ledger_balances.sql", "unique_id": "model.quickbooks.int_quickbooks__general_ledger_balances", "fqn": ["quickbooks", "intermediate", "int_quickbooks__general_ledger_balances"], "alias": "int_quickbooks__general_ledger_balances", "checksum": {"name": "sha256", "checksum": "043377b4faf74119ea4154c7931c0d302ad7c868163ae84551f5d537dab69d4d"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that aggregates quickbooks__general_ledger account level transactions per period into a period_beginning_balance, period_ending_balance, and period_net_change for each period through the use of the int_quickbooks__general_ledger_date_spine model. Further, period balances are only applied to balance sheet accounts while income statement accounts do not have a persisting balance rather a period net change. Please note, a period equates to one month. \n", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}"}, "created_at": 1731948866.894648, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__general_ledger_balances\"", "raw_code": "with general_ledger as (\n\n select *\n from {{ ref('quickbooks__general_ledger') }}\n),\n\ngl_accounting_periods as (\n\n select *\n from {{ ref('int_quickbooks__general_ledger_date_spine') }}\n),\n\ngl_period_balance as (\n\n select\n account_id,\n source_relation,\n account_number,\n account_name,\n is_sub_account,\n parent_account_number,\n parent_account_name,\n account_type,\n account_sub_type,\n financial_statement_helper,\n account_class,\n class_id,\n cast({{ dbt.date_trunc(\"year\", \"transaction_date\") }} as date) as date_year,\n cast({{ dbt.date_trunc(\"month\", \"transaction_date\") }} as date) as date_month,\n sum(adjusted_amount) as period_balance,\n sum(adjusted_converted_amount) as period_converted_balance\n from general_ledger\n\n {{ dbt_utils.group_by(14) }}\n),\n\ngl_cumulative_balance as (\n\n select\n *,\n case when financial_statement_helper = 'balance_sheet'\n then sum(period_balance) over (partition by account_id, class_id, source_relation \n order by source_relation, date_month, account_id, class_id rows unbounded preceding) \n else 0\n end as cumulative_balance,\n case when financial_statement_helper = 'balance_sheet'\n then sum(period_converted_balance) over (partition by account_id, class_id, source_relation \n order by source_relation, date_month, account_id, class_id rows unbounded preceding) \n else 0\n end as cumulative_converted_balance\n from gl_period_balance\n),\n\ngl_beginning_balance as (\n\n select\n account_id,\n source_relation,\n account_number,\n account_name,\n is_sub_account,\n parent_account_number,\n parent_account_name,\n account_type,\n account_sub_type,\n financial_statement_helper,\n account_class,\n class_id,\n date_year,\n date_month, \n period_balance as period_net_change,\n case when financial_statement_helper = 'balance_sheet'\n then (cumulative_balance - period_balance) \n else 0\n end as period_beginning_balance,\n cumulative_balance as period_ending_balance,\n period_converted_balance as period_net_converted_change,\n case when financial_statement_helper = 'balance_sheet'\n then (cumulative_converted_balance - period_converted_balance) \n else 0\n end as period_beginning_converted_balance,\n cumulative_converted_balance as period_ending_converted_balance\n from gl_cumulative_balance\n),\n\ngl_patch as (\n\n select \n coalesce(gl_beginning_balance.account_id, gl_accounting_periods.account_id) as account_id,\n coalesce(gl_beginning_balance.source_relation, gl_accounting_periods.source_relation) as source_relation,\n coalesce(gl_beginning_balance.account_number, gl_accounting_periods.account_number) as account_number,\n coalesce(gl_beginning_balance.account_name, gl_accounting_periods.account_name) as account_name,\n coalesce(gl_beginning_balance.is_sub_account, gl_accounting_periods.is_sub_account) as is_sub_account,\n coalesce(gl_beginning_balance.parent_account_number, gl_accounting_periods.parent_account_number) as parent_account_number,\n coalesce(gl_beginning_balance.parent_account_name, gl_accounting_periods.parent_account_name) as parent_account_name,\n coalesce(gl_beginning_balance.account_type, gl_accounting_periods.account_type) as account_type,\n coalesce(gl_beginning_balance.account_sub_type, gl_accounting_periods.account_sub_type) as account_sub_type,\n coalesce(gl_beginning_balance.account_class, gl_accounting_periods.account_class) as account_class,\n coalesce(gl_beginning_balance.class_id, gl_accounting_periods.class_id) as class_id,\n coalesce(gl_beginning_balance.financial_statement_helper, gl_accounting_periods.financial_statement_helper) as financial_statement_helper,\n coalesce(gl_beginning_balance.date_year, gl_accounting_periods.date_year) as date_year,\n gl_accounting_periods.period_first_day,\n gl_accounting_periods.period_last_day,\n gl_accounting_periods.period_index,\n gl_beginning_balance.period_net_change,\n gl_beginning_balance.period_beginning_balance,\n gl_beginning_balance.period_ending_balance,\n case when gl_beginning_balance.period_beginning_balance is null and period_index = 1\n then 0\n else gl_beginning_balance.period_beginning_balance\n end as period_beginning_balance_starter,\n case when gl_beginning_balance.period_ending_balance is null and period_index = 1\n then 0\n else gl_beginning_balance.period_ending_balance\n end as period_ending_balance_starter,\n gl_beginning_balance.period_net_converted_change,\n gl_beginning_balance.period_beginning_converted_balance,\n gl_beginning_balance.period_ending_converted_balance,\n case when gl_beginning_balance.period_beginning_converted_balance is null and period_index = 1\n then 0\n else gl_beginning_balance.period_beginning_converted_balance\n end as period_beginning_converted_balance_starter,\n case when gl_beginning_balance.period_ending_converted_balance is null and period_index = 1\n then 0\n else gl_beginning_balance.period_ending_converted_balance\n end as period_ending_converted_balance_starter\n from gl_accounting_periods\n\n left join gl_beginning_balance\n on gl_beginning_balance.account_id = gl_accounting_periods.account_id\n and gl_beginning_balance.source_relation = gl_accounting_periods.source_relation\n and gl_beginning_balance.date_month = gl_accounting_periods.period_first_day\n and gl_beginning_balance.date_year = gl_accounting_periods.date_year\n and coalesce(gl_beginning_balance.class_id, '0') = coalesce(gl_accounting_periods.class_id, '0')\n),\n\ngl_value_partition as (\n\n select\n *,\n sum(case when period_ending_balance_starter is null \n then 0 \n else 1 \n end) over (order by source_relation, account_id, class_id, period_last_day rows unbounded preceding) as gl_partition,\n sum(case when period_ending_converted_balance_starter is null \n then 0 \n else 1 \n end) over (order by source_relation, account_id, class_id, period_last_day rows unbounded preceding) as gl_converted_partition\n from gl_patch\n),\n\nfinal as (\n \n select\n account_id,\n source_relation,\n account_number,\n account_name,\n is_sub_account,\n parent_account_number,\n parent_account_name,\n account_type,\n account_sub_type,\n account_class,\n class_id,\n financial_statement_helper,\n date_year,\n period_first_day,\n period_last_day,\n coalesce(period_net_change, 0) as period_net_change,\n coalesce(period_beginning_balance_starter,\n first_value(period_ending_balance_starter) over (partition by gl_partition, source_relation \n order by source_relation, period_last_day rows unbounded preceding)) as period_beginning_balance,\n coalesce(period_ending_balance_starter,\n first_value(period_ending_balance_starter) over (partition by gl_partition, source_relation \n order by source_relation, period_last_day rows unbounded preceding)) as period_ending_balance,\n coalesce(period_net_converted_change, 0) as period_net_converted_change,\n coalesce(period_beginning_converted_balance_starter,\n first_value(period_ending_converted_balance_starter) over (partition by gl_converted_partition, source_relation \n order by source_relation, period_last_day rows unbounded preceding)) as period_beginning_converted_balance,\n coalesce(period_ending_converted_balance_starter,\n first_value(period_ending_converted_balance_starter) over (partition by gl_partition, source_relation \n order by source_relation, period_last_day rows unbounded preceding)) as period_ending_converted_balance\n\n from gl_value_partition\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "quickbooks__general_ledger", "package": null, "version": null}, {"name": "int_quickbooks__general_ledger_date_spine", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.date_trunc", "macro.dbt_utils.group_by"], "nodes": ["model.quickbooks.quickbooks__general_ledger", "model.quickbooks.int_quickbooks__general_ledger_date_spine"]}, "compiled_path": "target/compiled/quickbooks/models/intermediate/int_quickbooks__general_ledger_balances.sql", "compiled": true, "compiled_code": "with general_ledger as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"quickbooks__general_ledger\"\n),\n\ngl_accounting_periods as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__general_ledger_date_spine\"\n),\n\ngl_period_balance as (\n\n select\n account_id,\n source_relation,\n account_number,\n account_name,\n is_sub_account,\n parent_account_number,\n parent_account_name,\n account_type,\n account_sub_type,\n financial_statement_helper,\n account_class,\n class_id,\n cast(date_trunc('year', transaction_date) as date) as date_year,\n cast(date_trunc('month', transaction_date) as date) as date_month,\n sum(adjusted_amount) as period_balance,\n sum(adjusted_converted_amount) as period_converted_balance\n from general_ledger\n\n group by 1,2,3,4,5,6,7,8,9,10,11,12,13,14\n),\n\ngl_cumulative_balance as (\n\n select\n *,\n case when financial_statement_helper = 'balance_sheet'\n then sum(period_balance) over (partition by account_id, class_id, source_relation \n order by source_relation, date_month, account_id, class_id rows unbounded preceding) \n else 0\n end as cumulative_balance,\n case when financial_statement_helper = 'balance_sheet'\n then sum(period_converted_balance) over (partition by account_id, class_id, source_relation \n order by source_relation, date_month, account_id, class_id rows unbounded preceding) \n else 0\n end as cumulative_converted_balance\n from gl_period_balance\n),\n\ngl_beginning_balance as (\n\n select\n account_id,\n source_relation,\n account_number,\n account_name,\n is_sub_account,\n parent_account_number,\n parent_account_name,\n account_type,\n account_sub_type,\n financial_statement_helper,\n account_class,\n class_id,\n date_year,\n date_month, \n period_balance as period_net_change,\n case when financial_statement_helper = 'balance_sheet'\n then (cumulative_balance - period_balance) \n else 0\n end as period_beginning_balance,\n cumulative_balance as period_ending_balance,\n period_converted_balance as period_net_converted_change,\n case when financial_statement_helper = 'balance_sheet'\n then (cumulative_converted_balance - period_converted_balance) \n else 0\n end as period_beginning_converted_balance,\n cumulative_converted_balance as period_ending_converted_balance\n from gl_cumulative_balance\n),\n\ngl_patch as (\n\n select \n coalesce(gl_beginning_balance.account_id, gl_accounting_periods.account_id) as account_id,\n coalesce(gl_beginning_balance.source_relation, gl_accounting_periods.source_relation) as source_relation,\n coalesce(gl_beginning_balance.account_number, gl_accounting_periods.account_number) as account_number,\n coalesce(gl_beginning_balance.account_name, gl_accounting_periods.account_name) as account_name,\n coalesce(gl_beginning_balance.is_sub_account, gl_accounting_periods.is_sub_account) as is_sub_account,\n coalesce(gl_beginning_balance.parent_account_number, gl_accounting_periods.parent_account_number) as parent_account_number,\n coalesce(gl_beginning_balance.parent_account_name, gl_accounting_periods.parent_account_name) as parent_account_name,\n coalesce(gl_beginning_balance.account_type, gl_accounting_periods.account_type) as account_type,\n coalesce(gl_beginning_balance.account_sub_type, gl_accounting_periods.account_sub_type) as account_sub_type,\n coalesce(gl_beginning_balance.account_class, gl_accounting_periods.account_class) as account_class,\n coalesce(gl_beginning_balance.class_id, gl_accounting_periods.class_id) as class_id,\n coalesce(gl_beginning_balance.financial_statement_helper, gl_accounting_periods.financial_statement_helper) as financial_statement_helper,\n coalesce(gl_beginning_balance.date_year, gl_accounting_periods.date_year) as date_year,\n gl_accounting_periods.period_first_day,\n gl_accounting_periods.period_last_day,\n gl_accounting_periods.period_index,\n gl_beginning_balance.period_net_change,\n gl_beginning_balance.period_beginning_balance,\n gl_beginning_balance.period_ending_balance,\n case when gl_beginning_balance.period_beginning_balance is null and period_index = 1\n then 0\n else gl_beginning_balance.period_beginning_balance\n end as period_beginning_balance_starter,\n case when gl_beginning_balance.period_ending_balance is null and period_index = 1\n then 0\n else gl_beginning_balance.period_ending_balance\n end as period_ending_balance_starter,\n gl_beginning_balance.period_net_converted_change,\n gl_beginning_balance.period_beginning_converted_balance,\n gl_beginning_balance.period_ending_converted_balance,\n case when gl_beginning_balance.period_beginning_converted_balance is null and period_index = 1\n then 0\n else gl_beginning_balance.period_beginning_converted_balance\n end as period_beginning_converted_balance_starter,\n case when gl_beginning_balance.period_ending_converted_balance is null and period_index = 1\n then 0\n else gl_beginning_balance.period_ending_converted_balance\n end as period_ending_converted_balance_starter\n from gl_accounting_periods\n\n left join gl_beginning_balance\n on gl_beginning_balance.account_id = gl_accounting_periods.account_id\n and gl_beginning_balance.source_relation = gl_accounting_periods.source_relation\n and gl_beginning_balance.date_month = gl_accounting_periods.period_first_day\n and gl_beginning_balance.date_year = gl_accounting_periods.date_year\n and coalesce(gl_beginning_balance.class_id, '0') = coalesce(gl_accounting_periods.class_id, '0')\n),\n\ngl_value_partition as (\n\n select\n *,\n sum(case when period_ending_balance_starter is null \n then 0 \n else 1 \n end) over (order by source_relation, account_id, class_id, period_last_day rows unbounded preceding) as gl_partition,\n sum(case when period_ending_converted_balance_starter is null \n then 0 \n else 1 \n end) over (order by source_relation, account_id, class_id, period_last_day rows unbounded preceding) as gl_converted_partition\n from gl_patch\n),\n\nfinal as (\n \n select\n account_id,\n source_relation,\n account_number,\n account_name,\n is_sub_account,\n parent_account_number,\n parent_account_name,\n account_type,\n account_sub_type,\n account_class,\n class_id,\n financial_statement_helper,\n date_year,\n period_first_day,\n period_last_day,\n coalesce(period_net_change, 0) as period_net_change,\n coalesce(period_beginning_balance_starter,\n first_value(period_ending_balance_starter) over (partition by gl_partition, source_relation \n order by source_relation, period_last_day rows unbounded preceding)) as period_beginning_balance,\n coalesce(period_ending_balance_starter,\n first_value(period_ending_balance_starter) over (partition by gl_partition, source_relation \n order by source_relation, period_last_day rows unbounded preceding)) as period_ending_balance,\n coalesce(period_net_converted_change, 0) as period_net_converted_change,\n coalesce(period_beginning_converted_balance_starter,\n first_value(period_ending_converted_balance_starter) over (partition by gl_converted_partition, source_relation \n order by source_relation, period_last_day rows unbounded preceding)) as period_beginning_converted_balance,\n coalesce(period_ending_converted_balance_starter,\n first_value(period_ending_converted_balance_starter) over (partition by gl_partition, source_relation \n order by source_relation, period_last_day rows unbounded preceding)) as period_ending_converted_balance\n\n from gl_value_partition\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__account_classifications": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__account_classifications", "resource_type": "model", "package_name": "quickbooks", "path": "intermediate/int_quickbooks__account_classifications.sql", "original_file_path": "models/intermediate/int_quickbooks__account_classifications.sql", "unique_id": "model.quickbooks.int_quickbooks__account_classifications", "fqn": ["quickbooks", "intermediate", "int_quickbooks__account_classifications"], "alias": "int_quickbooks__account_classifications", "checksum": {"name": "sha256", "checksum": "27861ba60271b958b7af7b82981db8f50e51fa0ce7eb5b0b8091bbe07af9f7c9"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that adds missing detail to the account table. This table adds the following:\nA financial statement helper field that specifies the account as either a balance sheet or income statement account.\nAdds a transaction type to the specified account. The transaction type (debit or credit) is the type of transaction that increases the account.\nAdds a multiplier of -1 to Liability and Equity accounts to offset the account balance so liability and equity accounts do not show up as negative balances.\nCreates a new classification field that fills in the gaps if classifications were incorrectly set on certain s. For more information on how these classifications were determined you can refer to the [QuickBooks API Docs](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/account) that was used as reference.\n", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}"}, "created_at": 1731948866.8941078, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__account_classifications\"", "raw_code": "with accounts as (\n\n select *\n from {{ ref('stg_quickbooks__account') }}\n),\n\nclassification_fix as (\n\n select \n account_id,\n source_relation,\n account_number,\n is_sub_account,\n parent_account_id,\n name,\n account_type,\n account_sub_type,\n balance,\n balance_with_sub_accounts,\n is_active,\n created_at,\n currency_id,\n description,\n fully_qualified_name,\n updated_at,\n case when classification is not null\n then classification\n when classification is null and account_type in ('Bank', 'Other Current Asset', 'Fixed Asset', 'Other Asset', 'Accounts Receivable')\n then 'Asset'\n when classification is null and account_type = 'Equity'\n then 'Equity'\n when classification is null and account_type in ('Expense', 'Other Expense', 'Cost of Goods Sold')\n then 'Expense'\n when classification is null and account_type in ('Accounts Payable', 'Credit Card', 'Long Term Liability', 'Other Current Liability')\n then 'Liability'\n when classification is null and account_type in ('Income', 'Other Income')\n then 'Revenue'\n end as classification\n from accounts\n),\n\nclassification_add as (\n\n select\n *,\n case when classification in ('Liability', 'Equity')\n then -1\n when classification = 'Asset'\n then 1\n else null\n end as multiplier,\n case when classification in ('Asset', 'Liability', 'Equity')\n then 'balance_sheet'\n else 'income_statement'\n end as financial_statement_helper,\n case when classification in ('Asset', 'Expense')\n then 'debit'\n else 'credit'\n end as transaction_type\n from classification_fix\n),\n\nadjusted_balances as (\n\n select \n *,\n (balance * multiplier) as adjusted_balance\n from classification_add\n),\n\nfinal as (\n\n select\n adjusted_balances.*,\n case when adjusted_balances.is_sub_account\n then parent_accounts.account_number\n else adjusted_balances.account_number\n end as parent_account_number,\n case when adjusted_balances.is_sub_account\n then parent_accounts.fully_qualified_name\n else adjusted_balances.fully_qualified_name\n end as parent_account_name\n from adjusted_balances\n\n left join accounts as parent_accounts\n on parent_accounts.account_id = adjusted_balances.parent_account_id\n and parent_accounts.source_relation = adjusted_balances.source_relation\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__account", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.quickbooks_source.stg_quickbooks__account"]}, "compiled_path": "target/compiled/quickbooks/models/intermediate/int_quickbooks__account_classifications.sql", "compiled": true, "compiled_code": "with accounts as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__account\"\n),\n\nclassification_fix as (\n\n select \n account_id,\n source_relation,\n account_number,\n is_sub_account,\n parent_account_id,\n name,\n account_type,\n account_sub_type,\n balance,\n balance_with_sub_accounts,\n is_active,\n created_at,\n currency_id,\n description,\n fully_qualified_name,\n updated_at,\n case when classification is not null\n then classification\n when classification is null and account_type in ('Bank', 'Other Current Asset', 'Fixed Asset', 'Other Asset', 'Accounts Receivable')\n then 'Asset'\n when classification is null and account_type = 'Equity'\n then 'Equity'\n when classification is null and account_type in ('Expense', 'Other Expense', 'Cost of Goods Sold')\n then 'Expense'\n when classification is null and account_type in ('Accounts Payable', 'Credit Card', 'Long Term Liability', 'Other Current Liability')\n then 'Liability'\n when classification is null and account_type in ('Income', 'Other Income')\n then 'Revenue'\n end as classification\n from accounts\n),\n\nclassification_add as (\n\n select\n *,\n case when classification in ('Liability', 'Equity')\n then -1\n when classification = 'Asset'\n then 1\n else null\n end as multiplier,\n case when classification in ('Asset', 'Liability', 'Equity')\n then 'balance_sheet'\n else 'income_statement'\n end as financial_statement_helper,\n case when classification in ('Asset', 'Expense')\n then 'debit'\n else 'credit'\n end as transaction_type\n from classification_fix\n),\n\nadjusted_balances as (\n\n select \n *,\n (balance * multiplier) as adjusted_balance\n from classification_add\n),\n\nfinal as (\n\n select\n adjusted_balances.*,\n case when adjusted_balances.is_sub_account\n then parent_accounts.account_number\n else adjusted_balances.account_number\n end as parent_account_number,\n case when adjusted_balances.is_sub_account\n then parent_accounts.fully_qualified_name\n else adjusted_balances.fully_qualified_name\n end as parent_account_name\n from adjusted_balances\n\n left join accounts as parent_accounts\n on parent_accounts.account_id = adjusted_balances.parent_account_id\n and parent_accounts.source_relation = adjusted_balances.source_relation\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__expenses_union": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__expenses_union", "resource_type": "model", "package_name": "quickbooks", "path": "intermediate/int_quickbooks__expenses_union.sql", "original_file_path": "models/intermediate/int_quickbooks__expenses_union.sql", "unique_id": "model.quickbooks.int_quickbooks__expenses_union", "fqn": ["quickbooks", "intermediate", "int_quickbooks__expenses_union"], "alias": "int_quickbooks__expenses_union", "checksum": {"name": "sha256", "checksum": "0a7202926008103b71dc9ac2b0d3b078aed1c97a4390f2c8bf5918cf983de11d"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that unions transactional tables that are representative of an expense. The expense transactional tables included are: int_quickbooks__purchase_transactions, int_quickbooks__bill_transactions, int_quickbooks_journal_entry_transactions, int_quickbooks__deposit_transactions, int_quickbooks__vendor_credit_transactions. Additionally, while some transactions included in the previously mentioned transaction tables contain non-expense transactions an inner join on accounts with the sub_type equal to Expense is applied.\n", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}"}, "created_at": 1731948866.894475, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__expenses_union\"", "raw_code": "with expense_union as (\n\n select *\n from {{ ref('int_quickbooks__purchase_transactions') }}\n\n {% if var('using_bill', True) %}\n union all\n\n select *\n from {{ ref('int_quickbooks__bill_transactions') }}\n {% endif %} \n\n {% if var('using_journal_entry', True) %}\n union all\n\n select *\n from {{ ref('int_quickbooks__journal_entry_transactions')}}\n {% endif %} \n\n {% if var('using_deposit', True) %}\n union all\n\n select *\n from {{ ref('int_quickbooks__deposit_transactions')}}\n {% endif %} \n\n {% if var('using_vendor_credit', True) %}\n union all\n\n select *\n from {{ ref('int_quickbooks__vendor_credit_transactions') }}\n {% endif %}\n),\n\ncustomers as (\n\n select *\n from {{ ref('stg_quickbooks__customer') }}\n),\n\n{% if var('using_department', True) %}\ndepartments as ( \n\n select *\n from {{ ref('stg_quickbooks__department') }}\n),\n{% endif %}\n\nvendors as (\n\n select *\n from {{ ref('stg_quickbooks__vendor') }}\n),\n\nexpense_accounts as (\n\n select *\n from {{ ref('int_quickbooks__account_classifications') }}\n where account_type = 'Expense'\n),\n\nfinal as (\n\n select \n 'expense' as transaction_source,\n expense_union.transaction_id,\n expense_union.source_relation,\n expense_union.transaction_line_id,\n expense_union.doc_number,\n expense_union.transaction_type,\n expense_union.transaction_date,\n cast(null as {{ dbt.type_string() }}) as item_id,\n cast(null as {{ dbt.type_numeric() }}) as item_quantity,\n cast(null as {{ dbt.type_numeric() }}) as item_unit_price,\n expense_union.account_id,\n expense_accounts.name as account_name,\n expense_accounts.account_sub_type as account_sub_type,\n expense_union.class_id,\n expense_union.department_id,\n {% if var('using_department', True) %}\n departments.fully_qualified_name as department_name,\n {% endif %}\n expense_union.customer_id,\n customers.fully_qualified_name as customer_name,\n customers.website as customer_website,\n expense_union.vendor_id,\n vendors.display_name as vendor_name,\n expense_union.billable_status,\n expense_union.description,\n expense_union.amount,\n expense_union.converted_amount,\n expense_union.total_amount,\n expense_union.total_converted_amount\n\n from expense_union\n\n inner join expense_accounts\n on expense_union.account_id = expense_accounts.account_id\n and expense_union.source_relation = expense_accounts.source_relation\n\n left join customers\n on customers.customer_id = expense_union.customer_id\n and customers.source_relation = expense_union.source_relation\n\n left join vendors\n on vendors.vendor_id = expense_union.vendor_id\n and vendors.source_relation = expense_union.source_relation\n\n {% if var('using_department', True) %}\n left join departments\n on departments.department_id = expense_union.department_id\n and departments.source_relation = expense_union.source_relation\n {% endif %}\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "int_quickbooks__purchase_transactions", "package": null, "version": null}, {"name": "int_quickbooks__bill_transactions", "package": null, "version": null}, {"name": "int_quickbooks__journal_entry_transactions", "package": null, "version": null}, {"name": "int_quickbooks__deposit_transactions", "package": null, "version": null}, {"name": "int_quickbooks__vendor_credit_transactions", "package": null, "version": null}, {"name": "stg_quickbooks__customer", "package": null, "version": null}, {"name": "stg_quickbooks__department", "package": null, "version": null}, {"name": "stg_quickbooks__vendor", "package": null, "version": null}, {"name": "int_quickbooks__account_classifications", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string", "macro.dbt.type_numeric"], "nodes": ["model.quickbooks.int_quickbooks__purchase_transactions", "model.quickbooks.int_quickbooks__bill_transactions", "model.quickbooks.int_quickbooks__journal_entry_transactions", "model.quickbooks.int_quickbooks__deposit_transactions", "model.quickbooks.int_quickbooks__vendor_credit_transactions", "model.quickbooks_source.stg_quickbooks__customer", "model.quickbooks_source.stg_quickbooks__department", "model.quickbooks_source.stg_quickbooks__vendor", "model.quickbooks.int_quickbooks__account_classifications"]}, "compiled_path": "target/compiled/quickbooks/models/intermediate/int_quickbooks__expenses_union.sql", "compiled": true, "compiled_code": "with expense_union as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__purchase_transactions\"\n\n \n union all\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__bill_transactions\"\n \n\n \n union all\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__journal_entry_transactions\"\n \n\n \n union all\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__deposit_transactions\"\n \n\n \n union all\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__vendor_credit_transactions\"\n \n),\n\ncustomers as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__customer\"\n),\n\n\ndepartments as ( \n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__department\"\n),\n\n\nvendors as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__vendor\"\n),\n\nexpense_accounts as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__account_classifications\"\n where account_type = 'Expense'\n),\n\nfinal as (\n\n select \n 'expense' as transaction_source,\n expense_union.transaction_id,\n expense_union.source_relation,\n expense_union.transaction_line_id,\n expense_union.doc_number,\n expense_union.transaction_type,\n expense_union.transaction_date,\n cast(null as TEXT) as item_id,\n cast(null as numeric(28,6)) as item_quantity,\n cast(null as numeric(28,6)) as item_unit_price,\n expense_union.account_id,\n expense_accounts.name as account_name,\n expense_accounts.account_sub_type as account_sub_type,\n expense_union.class_id,\n expense_union.department_id,\n \n departments.fully_qualified_name as department_name,\n \n expense_union.customer_id,\n customers.fully_qualified_name as customer_name,\n customers.website as customer_website,\n expense_union.vendor_id,\n vendors.display_name as vendor_name,\n expense_union.billable_status,\n expense_union.description,\n expense_union.amount,\n expense_union.converted_amount,\n expense_union.total_amount,\n expense_union.total_converted_amount\n\n from expense_union\n\n inner join expense_accounts\n on expense_union.account_id = expense_accounts.account_id\n and expense_union.source_relation = expense_accounts.source_relation\n\n left join customers\n on customers.customer_id = expense_union.customer_id\n and customers.source_relation = expense_union.source_relation\n\n left join vendors\n on vendors.vendor_id = expense_union.vendor_id\n and vendors.source_relation = expense_union.source_relation\n\n \n left join departments\n on departments.department_id = expense_union.department_id\n and departments.source_relation = expense_union.source_relation\n \n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__invoice_join": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__invoice_join", "resource_type": "model", "package_name": "quickbooks", "path": "intermediate/int_quickbooks__invoice_join.sql", "original_file_path": "models/intermediate/int_quickbooks__invoice_join.sql", "unique_id": "model.quickbooks.int_quickbooks__invoice_join", "fqn": ["quickbooks", "intermediate", "int_quickbooks__invoice_join"], "alias": "int_quickbooks__invoice_join", "checksum": {"name": "sha256", "checksum": "769eb90fea2149e77c0c1c1b766a54c2b427a9a09bcbda08bc390572cfaef974"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that joins a single invoice transactions with the corresponding payment (if paid) and corresponding estimate (if provided).", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1731948866.89499, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__invoice_join\"", "raw_code": "--To disable this model, set the using_invoice variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_invoice') and var('using_payment', True)) }}\n\nwith invoices as (\n\n select *\n from {{ ref('stg_quickbooks__invoice') }}\n),\n\ninvoice_linked as (\n\n select *\n from {{ ref('stg_quickbooks__invoice_linked_txn') }}\n),\n\n{% if var('using_estimate', True) %}\nestimates as (\n\n select *\n from {{ ref('stg_quickbooks__estimate') }}\n),\n{% endif %}\n\npayments as (\n\n select *\n from {{ ref('stg_quickbooks__payment') }}\n),\n\npayment_lines_payment as (\n\n select *\n from {{ ref('stg_quickbooks__payment_line') }}\n\n where invoice_id is not null\n),\n\ninvoice_est as (\n\n select\n invoices.invoice_id,\n invoice_linked.estimate_id,\n invoices.source_relation\n from invoices\n\n left join invoice_linked\n on invoices.invoice_id = invoice_linked.invoice_id\n and invoices.source_relation = invoice_linked.source_relation\n\n where invoice_linked.estimate_id is not null\n),\n\ninvoice_pay as (\n\n select\n invoices.invoice_id,\n invoice_linked.payment_id,\n invoices.source_relation\n from invoices\n\n left join invoice_linked\n on invoices.invoice_id = invoice_linked.invoice_id\n and invoices.source_relation = invoice_linked.source_relation\n\n where invoice_linked.payment_id is not null\n),\n\ninvoice_link as (\n\n select\n invoices.*,\n invoice_est.estimate_id,\n invoice_pay.payment_id\n from invoices\n\n left join invoice_est\n on invoices.invoice_id = invoice_est.invoice_id\n and invoices.source_relation = invoice_est.source_relation\n\n left join invoice_pay\n on invoices.invoice_id = invoice_pay.invoice_id\n and invoices.source_relation = invoice_pay.source_relation\n),\n\nfinal as (\n\n select\n cast('invoice' as {{ dbt.type_string() }}) as transaction_type,\n invoice_link.invoice_id as transaction_id,\n invoice_link.source_relation,\n invoice_link.doc_number,\n invoice_link.estimate_id,\n invoice_link.department_id,\n invoice_link.customer_id as customer_id,\n invoice_link.billing_address_id,\n invoice_link.shipping_address_id,\n invoice_link.delivery_type,\n invoice_link.total_amount as total_amount,\n (invoice_link.total_amount * coalesce(invoice_link.exchange_rate, 1)) as total_converted_amount,\n invoice_link.balance as current_balance,\n\n {% if var('using_estimate', True) %}\n coalesce(estimates.total_amount, 0) as estimate_total_amount,\n coalesce(estimates.total_amount, 0) * coalesce(estimates.exchange_rate, 1) as estimate_total_converted_amount,\n estimates.transaction_status as estimate_status,\n\n {% else %}\n cast(null as {{ dbt.type_numeric() }}) as estimate_total_amount,\n cast(null as {{ dbt.type_numeric() }}) as estimate_total_converted_amount,\n cast(null as {{ dbt.type_string() }}) as estimate_status,\n\n {% endif %}\n\n invoice_link.due_date as due_date,\n min(payments.transaction_date) as initial_payment_date,\n max(payments.transaction_date) as recent_payment_date,\n sum(coalesce(payment_lines_payment.amount, 0)) as total_current_payment,\n sum(coalesce(payment_lines_payment.amount, 0) * coalesce(payments.exchange_rate, 1)) as total_current_converted_payment\n\n from invoice_link\n\n {% if var('using_estimate', True) %}\n left join estimates\n on invoice_link.estimate_id = estimates.estimate_id\n and invoice_link.source_relation = estimates.source_relation\n {% endif %}\n left join payments\n on invoice_link.payment_id = payments.payment_id\n and invoice_link.source_relation = payments.source_relation\n\n left join payment_lines_payment\n on payments.payment_id = payment_lines_payment.payment_id\n and payments.source_relation = payment_lines_payment.source_relation\n and invoice_link.invoice_id = payment_lines_payment.invoice_id\n and invoice_link.source_relation = payment_lines_payment.source_relation\n\n\n {{ dbt_utils.group_by(17) }} \n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__invoice", "package": null, "version": null}, {"name": "stg_quickbooks__invoice_linked_txn", "package": null, "version": null}, {"name": "stg_quickbooks__estimate", "package": null, "version": null}, {"name": "stg_quickbooks__payment", "package": null, "version": null}, {"name": "stg_quickbooks__payment_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string", "macro.dbt_utils.group_by"], "nodes": ["model.quickbooks_source.stg_quickbooks__invoice", "model.quickbooks_source.stg_quickbooks__invoice_linked_txn", "model.quickbooks_source.stg_quickbooks__estimate", "model.quickbooks_source.stg_quickbooks__payment", "model.quickbooks_source.stg_quickbooks__payment_line"]}, "compiled_path": "target/compiled/quickbooks/models/intermediate/int_quickbooks__invoice_join.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_invoice variable within your dbt_project.yml file to False.\n\n\nwith invoices as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__invoice\"\n),\n\ninvoice_linked as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__invoice_linked_txn\"\n),\n\n\nestimates as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__estimate\"\n),\n\n\npayments as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__payment\"\n),\n\npayment_lines_payment as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__payment_line\"\n\n where invoice_id is not null\n),\n\ninvoice_est as (\n\n select\n invoices.invoice_id,\n invoice_linked.estimate_id,\n invoices.source_relation\n from invoices\n\n left join invoice_linked\n on invoices.invoice_id = invoice_linked.invoice_id\n and invoices.source_relation = invoice_linked.source_relation\n\n where invoice_linked.estimate_id is not null\n),\n\ninvoice_pay as (\n\n select\n invoices.invoice_id,\n invoice_linked.payment_id,\n invoices.source_relation\n from invoices\n\n left join invoice_linked\n on invoices.invoice_id = invoice_linked.invoice_id\n and invoices.source_relation = invoice_linked.source_relation\n\n where invoice_linked.payment_id is not null\n),\n\ninvoice_link as (\n\n select\n invoices.*,\n invoice_est.estimate_id,\n invoice_pay.payment_id\n from invoices\n\n left join invoice_est\n on invoices.invoice_id = invoice_est.invoice_id\n and invoices.source_relation = invoice_est.source_relation\n\n left join invoice_pay\n on invoices.invoice_id = invoice_pay.invoice_id\n and invoices.source_relation = invoice_pay.source_relation\n),\n\nfinal as (\n\n select\n cast('invoice' as TEXT) as transaction_type,\n invoice_link.invoice_id as transaction_id,\n invoice_link.source_relation,\n invoice_link.doc_number,\n invoice_link.estimate_id,\n invoice_link.department_id,\n invoice_link.customer_id as customer_id,\n invoice_link.billing_address_id,\n invoice_link.shipping_address_id,\n invoice_link.delivery_type,\n invoice_link.total_amount as total_amount,\n (invoice_link.total_amount * coalesce(invoice_link.exchange_rate, 1)) as total_converted_amount,\n invoice_link.balance as current_balance,\n\n \n coalesce(estimates.total_amount, 0) as estimate_total_amount,\n coalesce(estimates.total_amount, 0) * coalesce(estimates.exchange_rate, 1) as estimate_total_converted_amount,\n estimates.transaction_status as estimate_status,\n\n \n\n invoice_link.due_date as due_date,\n min(payments.transaction_date) as initial_payment_date,\n max(payments.transaction_date) as recent_payment_date,\n sum(coalesce(payment_lines_payment.amount, 0)) as total_current_payment,\n sum(coalesce(payment_lines_payment.amount, 0) * coalesce(payments.exchange_rate, 1)) as total_current_converted_payment\n\n from invoice_link\n\n \n left join estimates\n on invoice_link.estimate_id = estimates.estimate_id\n and invoice_link.source_relation = estimates.source_relation\n \n left join payments\n on invoice_link.payment_id = payments.payment_id\n and invoice_link.source_relation = payments.source_relation\n\n left join payment_lines_payment\n on payments.payment_id = payment_lines_payment.payment_id\n and payments.source_relation = payment_lines_payment.source_relation\n and invoice_link.invoice_id = payment_lines_payment.invoice_id\n and invoice_link.source_relation = payment_lines_payment.source_relation\n\n\n group by 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 \n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__general_ledger_date_spine": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__general_ledger_date_spine", "resource_type": "model", "package_name": "quickbooks", "path": "intermediate/int_quickbooks__general_ledger_date_spine.sql", "original_file_path": "models/intermediate/int_quickbooks__general_ledger_date_spine.sql", "unique_id": "model.quickbooks.int_quickbooks__general_ledger_date_spine", "fqn": ["quickbooks", "intermediate", "int_quickbooks__general_ledger_date_spine"], "alias": "int_quickbooks__general_ledger_date_spine", "checksum": {"name": "sha256", "checksum": "54762ed055bd68067458364aa9c6341bfb57b35dfa8d10916eb2ce75319a7fee"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that creates a date spine by month with the first date being the minimum transaction date from the quickbooks__general_ledger model and the last date being one month after the last transaction date from the quickbooks__general_ledger model.\n", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}"}, "created_at": 1731948866.894819, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__general_ledger_date_spine\"", "raw_code": "-- depends_on: {{ ref('quickbooks__general_ledger') }}\n\nwith spine as (\n\n {% if execute %}\n {% set first_date_query %}\n select coalesce(min(cast(transaction_date as date)),cast({{ dbt.dateadd(\"month\", -1, \"current_date\") }} as date)) as min_date from {{ ref('quickbooks__general_ledger') }}\n {% endset %}\n {% set first_date = run_query(first_date_query).columns[0][0]|string %}\n \n {% if target.type == 'postgres' %}\n {% set first_date_adjust = \"cast('\" ~ first_date[0:10] ~ \"' as date)\" %}\n\n {% else %}\n {% set first_date_adjust = \"'\" ~ first_date[0:10] ~ \"'\" %}\n\n {% endif %}\n\n {% else %} {% set first_date_adjust = \"'2000-01-01'\" %}\n {% endif %}\n\n {% if execute %}\n {% set last_date_query %}\n select coalesce(max(cast(transaction_date as date)), cast(current_date as date)) as max_date from {{ ref('quickbooks__general_ledger') }}\n {% endset %}\n\n {% set current_date_query %}\n select current_date\n {% endset %}\n\n {% if run_query(current_date_query).columns[0][0]|string < run_query(last_date_query).columns[0][0]|string %}\n\n {% set last_date = run_query(last_date_query).columns[0][0]|string %}\n\n {% else %} {% set last_date = run_query(current_date_query).columns[0][0]|string %}\n {% endif %}\n \n {% if target.type == 'postgres' %}\n {% set last_date_adjust = \"cast('\" ~ last_date[0:10] ~ \"' as date)\" %}\n\n {% else %}\n {% set last_date_adjust = \"'\" ~ last_date[0:10] ~ \"'\" %}\n\n {% endif %}\n {% endif %}\n\n {{ dbt_utils.date_spine(\n datepart=\"month\",\n start_date=first_date_adjust,\n end_date=dbt.dateadd(\"month\", 1, last_date_adjust)\n )\n }}\n),\n\ngeneral_ledger as (\n select *\n from {{ ref('quickbooks__general_ledger') }}\n),\n\ndate_spine as (\n select\n cast({{ dbt.date_trunc(\"year\", \"date_month\") }} as date) as date_year,\n cast({{ dbt.date_trunc(\"month\", \"date_month\") }} as date) as period_first_day,\n {{ dbt.last_day(\"date_month\", \"month\") }} as period_last_day,\n row_number() over (order by cast({{ dbt.date_trunc(\"month\", \"date_month\") }} as date)) as period_index\n from spine\n),\n\nfinal as (\n select distinct\n general_ledger.account_id,\n general_ledger.source_relation,\n general_ledger.account_number,\n general_ledger.account_name,\n general_ledger.is_sub_account,\n general_ledger.parent_account_number,\n general_ledger.parent_account_name,\n general_ledger.account_type,\n general_ledger.account_sub_type,\n general_ledger.account_class,\n general_ledger.financial_statement_helper,\n general_ledger.class_id,\n date_spine.date_year,\n date_spine.period_first_day,\n date_spine.period_last_day,\n date_spine.period_index\n from general_ledger\n\n cross join date_spine\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "quickbooks__general_ledger", "package": null, "version": null}, {"name": "quickbooks__general_ledger", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.dateadd", "macro.dbt_utils.date_spine", "macro.dbt.date_trunc", "macro.dbt.last_day", "macro.dbt.run_query"], "nodes": ["model.quickbooks.quickbooks__general_ledger"]}, "compiled_path": "target/compiled/quickbooks/models/intermediate/int_quickbooks__general_ledger_date_spine.sql", "compiled": true, "compiled_code": "-- depends_on: \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"quickbooks__general_ledger\"\n\nwith spine as (\n\n \n \n \n \n \n \n\n \n\n \n\n \n \n\n \n\n \n \n \n \n \n\n \n \n\n \n\n\n\n\n\nwith rawdata as (\n\n \n\n \n\n with p as (\n select 0 as generated_number union all select 1\n ), unioned as (\n\n select\n\n \n p0.generated_number * power(2, 0)\n + \n \n p1.generated_number * power(2, 1)\n + \n \n p2.generated_number * power(2, 2)\n + \n \n p3.generated_number * power(2, 3)\n + \n \n p4.generated_number * power(2, 4)\n + \n \n p5.generated_number * power(2, 5)\n + \n \n p6.generated_number * power(2, 6)\n \n \n + 1\n as generated_number\n\n from\n\n \n p as p0\n cross join \n \n p as p1\n cross join \n \n p as p2\n cross join \n \n p as p3\n cross join \n \n p as p4\n cross join \n \n p as p5\n cross join \n \n p as p6\n \n \n\n )\n\n select *\n from unioned\n where generated_number <= 71.0\n order by generated_number\n\n\n\n),\n\nall_periods as (\n\n select (\n \n\n cast('2019-01-02' as date) + ((interval '1 month') * (row_number() over (order by 1) - 1))\n\n\n ) as date_month\n from rawdata\n\n),\n\nfiltered as (\n\n select *\n from all_periods\n where date_month <= \n\n cast('2024-11-18' as date) + ((interval '1 month') * (1))\n\n\n\n)\n\nselect * from filtered\n\n\n),\n\ngeneral_ledger as (\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"quickbooks__general_ledger\"\n),\n\ndate_spine as (\n select\n cast(date_trunc('year', date_month) as date) as date_year,\n cast(date_trunc('month', date_month) as date) as period_first_day,\n cast(\n \n\n \n\n date_trunc('month', date_month) + ((interval '1 month') * (1))\n\n + ((interval '1 day') * (-1))\n\n\n as date) as period_last_day,\n row_number() over (order by cast(date_trunc('month', date_month) as date)) as period_index\n from spine\n),\n\nfinal as (\n select distinct\n general_ledger.account_id,\n general_ledger.source_relation,\n general_ledger.account_number,\n general_ledger.account_name,\n general_ledger.is_sub_account,\n general_ledger.parent_account_number,\n general_ledger.parent_account_name,\n general_ledger.account_type,\n general_ledger.account_sub_type,\n general_ledger.account_class,\n general_ledger.financial_statement_helper,\n general_ledger.class_id,\n date_spine.date_year,\n date_spine.period_first_day,\n date_spine.period_last_day,\n date_spine.period_index\n from general_ledger\n\n cross join date_spine\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__bill_join": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__bill_join", "resource_type": "model", "package_name": "quickbooks", "path": "intermediate/int_quickbooks__bill_join.sql", "original_file_path": "models/intermediate/int_quickbooks__bill_join.sql", "unique_id": "model.quickbooks.int_quickbooks__bill_join", "fqn": ["quickbooks", "intermediate", "int_quickbooks__bill_join"], "alias": "int_quickbooks__bill_join", "checksum": {"name": "sha256", "checksum": "95c6126115ba7fbc5ae58c0123ec50f879057a1616296963111caf05d821ccee"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that joins a single bill transaction with the corresponding bill payment (if paid).", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1731948866.894302, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__bill_join\"", "raw_code": "--To disable this model, set the using_bill variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_bill', True)) }}\n\nwith bills as (\n\n select *\n from {{ ref('stg_quickbooks__bill') }}\n),\n\nbill_lines as (\n\n select *\n from {{ ref('stg_quickbooks__bill_line') }}\n),\n\nbills_linked as (\n\n select *\n from {{ ref('stg_quickbooks__bill_linked_txn') }}\n),\n\nbill_payments as (\n\n select *\n from {{ ref('stg_quickbooks__bill_payment') }}\n),\n\nbill_payment_lines as (\n\n select *\n from {{ ref('stg_quickbooks__bill_payment_line') }}\n\n where bill_id is not null\n),\n\nbill_pay as (\n\n select\n bills.bill_id,\n bills.source_relation,\n bills_linked.bill_payment_id\n from bills\n\n left join bills_linked\n on bills.bill_id = bills_linked.bill_id\n and bills.source_relation = bills_linked.source_relation\n\n where bills_linked.bill_payment_id is not null\n),\n\nbill_link as (\n\n select\n bills.*,\n bill_pay.bill_payment_id\n from bills\n\n left join bill_pay\n on bills.bill_id = bill_pay.bill_id\n and bills.source_relation = bill_pay.source_relation\n),\n\nfinal as (\n\n select\n cast('bill' as {{ dbt.type_string() }}) as transaction_type,\n bill_link.bill_id as transaction_id,\n bill_link.source_relation,\n bill_link.doc_number,\n bill_link.department_id,\n bill_link.vendor_id as vendor_id,\n bill_link.payable_account_id,\n bill_link.total_amount as total_amount,\n (bill_link.total_amount * coalesce(bill_link.exchange_rate, 1)) as total_converted_amount,\n bill_link.balance as current_balance,\n bill_link.due_date_at as due_date,\n min(bill_payments.transaction_date) as initial_payment_date,\n max(bill_payments.transaction_date) as recent_payment_date,\n sum(coalesce(bill_payment_lines.amount, 0)) as total_current_payment,\n sum(coalesce(bill_payment_lines.amount, 0) * coalesce(bill_payments.exchange_rate, 1)) as total_current_converted_payment\n\n from bill_link\n\n left join bill_payments\n on bill_link.bill_payment_id = bill_payments.bill_payment_id\n and bill_link.source_relation = bill_payments.source_relation\n\n left join bill_payment_lines\n on bill_payments.bill_payment_id = bill_payment_lines.bill_payment_id\n and bill_payments.source_relation = bill_payment_lines.source_relation\n and bill_link.bill_id = bill_payment_lines.bill_id\n and bill_link.source_relation = bill_payment_lines.source_relation\n \n {{ dbt_utils.group_by(11) }} \n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__bill", "package": null, "version": null}, {"name": "stg_quickbooks__bill_line", "package": null, "version": null}, {"name": "stg_quickbooks__bill_linked_txn", "package": null, "version": null}, {"name": "stg_quickbooks__bill_payment", "package": null, "version": null}, {"name": "stg_quickbooks__bill_payment_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.type_string", "macro.dbt_utils.group_by"], "nodes": ["model.quickbooks_source.stg_quickbooks__bill", "model.quickbooks_source.stg_quickbooks__bill_line", "model.quickbooks_source.stg_quickbooks__bill_linked_txn", "model.quickbooks_source.stg_quickbooks__bill_payment", "model.quickbooks_source.stg_quickbooks__bill_payment_line"]}, "compiled_path": "target/compiled/quickbooks/models/intermediate/int_quickbooks__bill_join.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_bill variable within your dbt_project.yml file to False.\n\n\nwith bills as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill\"\n),\n\nbill_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill_line\"\n),\n\nbills_linked as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill_linked_txn\"\n),\n\nbill_payments as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill_payment\"\n),\n\nbill_payment_lines as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill_payment_line\"\n\n where bill_id is not null\n),\n\nbill_pay as (\n\n select\n bills.bill_id,\n bills.source_relation,\n bills_linked.bill_payment_id\n from bills\n\n left join bills_linked\n on bills.bill_id = bills_linked.bill_id\n and bills.source_relation = bills_linked.source_relation\n\n where bills_linked.bill_payment_id is not null\n),\n\nbill_link as (\n\n select\n bills.*,\n bill_pay.bill_payment_id\n from bills\n\n left join bill_pay\n on bills.bill_id = bill_pay.bill_id\n and bills.source_relation = bill_pay.source_relation\n),\n\nfinal as (\n\n select\n cast('bill' as TEXT) as transaction_type,\n bill_link.bill_id as transaction_id,\n bill_link.source_relation,\n bill_link.doc_number,\n bill_link.department_id,\n bill_link.vendor_id as vendor_id,\n bill_link.payable_account_id,\n bill_link.total_amount as total_amount,\n (bill_link.total_amount * coalesce(bill_link.exchange_rate, 1)) as total_converted_amount,\n bill_link.balance as current_balance,\n bill_link.due_date_at as due_date,\n min(bill_payments.transaction_date) as initial_payment_date,\n max(bill_payments.transaction_date) as recent_payment_date,\n sum(coalesce(bill_payment_lines.amount, 0)) as total_current_payment,\n sum(coalesce(bill_payment_lines.amount, 0) * coalesce(bill_payments.exchange_rate, 1)) as total_current_converted_payment\n\n from bill_link\n\n left join bill_payments\n on bill_link.bill_payment_id = bill_payments.bill_payment_id\n and bill_link.source_relation = bill_payments.source_relation\n\n left join bill_payment_lines\n on bill_payments.bill_payment_id = bill_payment_lines.bill_payment_id\n and bill_payments.source_relation = bill_payment_lines.source_relation\n and bill_link.bill_id = bill_payment_lines.bill_id\n and bill_link.source_relation = bill_payment_lines.source_relation\n \n group by 1,2,3,4,5,6,7,8,9,10,11 \n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks.int_quickbooks__sales_union": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__sales_union", "resource_type": "model", "package_name": "quickbooks", "path": "intermediate/int_quickbooks__sales_union.sql", "original_file_path": "models/intermediate/int_quickbooks__sales_union.sql", "unique_id": "model.quickbooks.int_quickbooks__sales_union", "fqn": ["quickbooks", "intermediate", "int_quickbooks__sales_union"], "alias": "int_quickbooks__sales_union", "checksum": {"name": "sha256", "checksum": "3fe3c26fdf31f20f1868eabbeaf2e11c842b8ab30739e994924504e8420c0113"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that unions transactional tables that are representative of a sale. The sale transactional tables are: int_quickbooks__sales_receipt_transactions int_quickbooks__invoice_transactions, int_quickbooks__credit_memo_transactions, int_quickbooks__refund_receipt_transactions, int_quickbooks__journal_entry_transactions, int_quickbooks__deposit_transactions. Additionally, while some transactions included in the previously mentioned transaction tables contain non-income transactions an inner join on accounts with the sub_type equal to Income is applied.\n", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}", "enabled": true}, "created_at": 1731948866.895162, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__sales_union\"", "raw_code": "{{ config(enabled=fivetran_utils.enabled_vars_one_true(['using_sales_receipt','using_invoice'])) }}\n\nwith sales_union as (\n\n {% if var('using_sales_receipt', True) %}\n select *\n from {{ ref('int_quickbooks__sales_receipt_transactions') }}\n {% endif %}\n\n {% if fivetran_utils.enabled_vars(['using_sales_receipt','using_invoice']) %}\n union all\n\n select *\n from {{ ref('int_quickbooks__invoice_transactions') }}\n\n {% else %}\n\n {% if var('using_invoice', True) %}\n select *\n from {{ ref('int_quickbooks__invoice_transactions') }}\n {% endif %} \n \n {% endif %}\n\n {% if var('using_refund_receipt', True) %}\n union all\n\n select *\n from {{ ref('int_quickbooks__refund_receipt_transactions') }}\n {% endif %}\n\n {% if var('using_credit_memo', True) %}\n union all\n\n select *\n from {{ ref('int_quickbooks__credit_memo_transactions') }}\n {% endif %}\n),\n\ncustomers as (\n\n select *\n from {{ ref('stg_quickbooks__customer') }}\n),\n\n{% if var('using_department', True) %}\ndepartments as ( \n\n select *\n from {{ ref('stg_quickbooks__department') }}\n),\n{% endif %}\n\nvendors as (\n\n select *\n from {{ ref('stg_quickbooks__vendor') }}\n),\n\nincome_accounts as (\n\n select *\n from {{ ref('int_quickbooks__account_classifications') }}\n where account_type = 'Income'\n),\n\nfinal as (\n\n select \n 'sales' as transaction_source,\n sales_union.transaction_id,\n sales_union.source_relation,\n sales_union.transaction_line_id,\n sales_union.doc_number,\n sales_union.transaction_type,\n sales_union.transaction_date,\n sales_union.item_id,\n sales_union.item_quantity,\n sales_union.item_unit_price,\n sales_union.account_id,\n income_accounts.name as account_name,\n income_accounts.account_sub_type as account_sub_type,\n sales_union.class_id,\n sales_union.department_id,\n {% if var('using_department', True) %}\n departments.fully_qualified_name as department_name,\n {% endif %}\n sales_union.customer_id,\n customers.fully_qualified_name as customer_name,\n customers.website as customer_website,\n sales_union.vendor_id,\n vendors.display_name as vendor_name,\n sales_union.billable_status,\n sales_union.description,\n sales_union.amount,\n sales_union.converted_amount,\n sales_union.total_amount,\n sales_union.total_converted_amount\n from sales_union\n\n inner join income_accounts\n on sales_union.account_id = income_accounts.account_id\n and sales_union.source_relation = income_accounts.source_relation\n\n left join customers\n on customers.customer_id = sales_union.customer_id\n and customers.source_relation = sales_union.source_relation\n\n left join vendors\n on vendors.vendor_id = sales_union.vendor_id\n and vendors.source_relation = sales_union.source_relation\n\n {% if var('using_department', True) %}\n left join departments\n on departments.department_id = sales_union.department_id\n and departments.source_relation = sales_union.source_relation\n {% endif %}\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "int_quickbooks__sales_receipt_transactions", "package": null, "version": null}, {"name": "int_quickbooks__invoice_transactions", "package": null, "version": null}, {"name": "int_quickbooks__refund_receipt_transactions", "package": null, "version": null}, {"name": "int_quickbooks__credit_memo_transactions", "package": null, "version": null}, {"name": "stg_quickbooks__customer", "package": null, "version": null}, {"name": "stg_quickbooks__department", "package": null, "version": null}, {"name": "stg_quickbooks__vendor", "package": null, "version": null}, {"name": "int_quickbooks__account_classifications", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.enabled_vars_one_true", "macro.fivetran_utils.enabled_vars"], "nodes": ["model.quickbooks.int_quickbooks__sales_receipt_transactions", "model.quickbooks.int_quickbooks__invoice_transactions", "model.quickbooks.int_quickbooks__refund_receipt_transactions", "model.quickbooks.int_quickbooks__credit_memo_transactions", "model.quickbooks_source.stg_quickbooks__customer", "model.quickbooks_source.stg_quickbooks__department", "model.quickbooks_source.stg_quickbooks__vendor", "model.quickbooks.int_quickbooks__account_classifications"]}, "compiled_path": "target/compiled/quickbooks/models/intermediate/int_quickbooks__sales_union.sql", "compiled": true, "compiled_code": "\n\nwith sales_union as (\n\n \n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__sales_receipt_transactions\"\n \n\n \n union all\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__invoice_transactions\"\n\n \n\n \n union all\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__refund_receipt_transactions\"\n \n\n \n union all\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__credit_memo_transactions\"\n \n),\n\ncustomers as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__customer\"\n),\n\n\ndepartments as ( \n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__department\"\n),\n\n\nvendors as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__vendor\"\n),\n\nincome_accounts as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__account_classifications\"\n where account_type = 'Income'\n),\n\nfinal as (\n\n select \n 'sales' as transaction_source,\n sales_union.transaction_id,\n sales_union.source_relation,\n sales_union.transaction_line_id,\n sales_union.doc_number,\n sales_union.transaction_type,\n sales_union.transaction_date,\n sales_union.item_id,\n sales_union.item_quantity,\n sales_union.item_unit_price,\n sales_union.account_id,\n income_accounts.name as account_name,\n income_accounts.account_sub_type as account_sub_type,\n sales_union.class_id,\n sales_union.department_id,\n \n departments.fully_qualified_name as department_name,\n \n sales_union.customer_id,\n customers.fully_qualified_name as customer_name,\n customers.website as customer_website,\n sales_union.vendor_id,\n vendors.display_name as vendor_name,\n sales_union.billable_status,\n sales_union.description,\n sales_union.amount,\n sales_union.converted_amount,\n sales_union.total_amount,\n sales_union.total_converted_amount\n from sales_union\n\n inner join income_accounts\n on sales_union.account_id = income_accounts.account_id\n and sales_union.source_relation = income_accounts.source_relation\n\n left join customers\n on customers.customer_id = sales_union.customer_id\n and customers.source_relation = sales_union.source_relation\n\n left join vendors\n on vendors.vendor_id = sales_union.vendor_id\n and vendors.source_relation = sales_union.source_relation\n\n \n left join departments\n on departments.department_id = sales_union.department_id\n and departments.source_relation = sales_union.source_relation\n \n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "analysis.quickbooks.quickbooks__balance_sheet": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "quickbooks__balance_sheet", "resource_type": "analysis", "package_name": "quickbooks", "path": "analysis/quickbooks__balance_sheet.sql", "original_file_path": "analysis/quickbooks__balance_sheet.sql", "unique_id": "analysis.quickbooks.quickbooks__balance_sheet", "fqn": ["quickbooks", "analysis", "quickbooks__balance_sheet"], "alias": "quickbooks__balance_sheet", "checksum": {"name": "sha256", "checksum": "331fdf721c24fe7794609176961684c3d15d70fb473da348e8e42afc0b73bc3e"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}"}, "created_at": 1731948866.048724, "relation_name": null, "raw_code": "with general_ledger_by_period as (\n select * \n from {{ ref('quickbooks__general_ledger_by_period') }}\n where period_first_day <= 'YYYY-MM-DD' --Update to be your desired ending date.\n),\n\nliability_date as (\n select \n account_id, \n source_relation,\n max(period_first_day) as period_first_day \n from general_ledger_by_period\n\n where account_class = 'Liability'\n\n group by 1,2\n),\n\nasset_date as (\n select \n account_id, \n source_relation,\n max(period_first_day) as period_first_day \n from general_ledger_by_period\n\n where account_class = 'Asset'\n\n group by 1,2\n),\n\nequity_date as (\n select \n account_id,\n source_relation,\n max(period_first_day) as period_first_day \n from general_ledger_by_period \n\n where account_class = 'Equity'\n\n group by 1,2\n),\n\nliability as (\n select \n ld.account_id, \n l.period_ending_balance,\n l.period_ending_converted_balance\n from liability_date ld\n\n left join (select account_id, source_relation, period_first_day, period_ending_balance, period_ending_converted_balance from general_ledger_by_period where account_class = 'Liability') l\n on l.account_id = ld.account_id\n and l.period_first_day = ld.period_first_day\n and l.source_relation = ld.source_relation\n),\n\nasset as (\n select \n ad.account_id, \n a.period_ending_balance,\n a.period_ending_converted_balance\n from asset_date ad\n left join (select account_id, source_relation, period_first_day, period_ending_balance, period_ending_converted_balance from general_ledger_by_period where account_class = 'Asset') a\n on a.account_id = ad.account_id\n and a.period_first_day = ad.period_first_day \n and a.source_relation = ad.source_relation\n),\n\nequity as (\n select\n ed.account_id, \n e.period_ending_balance,\n e.period_ending_converted_balance\n from equity_date ed\n left join (select account_id, source_relation, period_first_day, period_ending_balance, period_ending_converted_balance from general_ledger_by_period where account_class = 'Equity') e\n on e.account_id = ed.account_id\n and e.period_first_day = ed.period_first_day \n and e.source_relation = ed.source_relation\n)\n\nselect \n 'liability' as balance_sheet_type, \n sum(period_ending_balance) as balance,\n sum(period_ending_converted_balance) as converted_balance\nfrom liability\ngroup by 1\n\nunion all\n\nselect \n 'asset' as balance_sheet_type, \n sum(period_ending_balance) as balance,\n sum(period_ending_converted_balance) as converted_balance\nfrom asset\ngroup by 1\n\nunion all \n\nselect \n 'equity' as balance_sheet_type, \n sum(period_ending_balance) as balance,\n sum(period_ending_converted_balance) as converted_balance\nfrom equity\ngroup by 1", "language": "sql", "refs": [{"name": "quickbooks__general_ledger_by_period", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.quickbooks.quickbooks__general_ledger_by_period"]}, "compiled_path": "target/compiled/quickbooks/analysis/quickbooks__balance_sheet.sql", "compiled": true, "compiled_code": "with general_ledger_by_period as (\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"quickbooks__general_ledger_by_period\"\n where period_first_day <= 'YYYY-MM-DD' --Update to be your desired ending date.\n),\n\nliability_date as (\n select \n account_id, \n source_relation,\n max(period_first_day) as period_first_day \n from general_ledger_by_period\n\n where account_class = 'Liability'\n\n group by 1,2\n),\n\nasset_date as (\n select \n account_id, \n source_relation,\n max(period_first_day) as period_first_day \n from general_ledger_by_period\n\n where account_class = 'Asset'\n\n group by 1,2\n),\n\nequity_date as (\n select \n account_id,\n source_relation,\n max(period_first_day) as period_first_day \n from general_ledger_by_period \n\n where account_class = 'Equity'\n\n group by 1,2\n),\n\nliability as (\n select \n ld.account_id, \n l.period_ending_balance,\n l.period_ending_converted_balance\n from liability_date ld\n\n left join (select account_id, source_relation, period_first_day, period_ending_balance, period_ending_converted_balance from general_ledger_by_period where account_class = 'Liability') l\n on l.account_id = ld.account_id\n and l.period_first_day = ld.period_first_day\n and l.source_relation = ld.source_relation\n),\n\nasset as (\n select \n ad.account_id, \n a.period_ending_balance,\n a.period_ending_converted_balance\n from asset_date ad\n left join (select account_id, source_relation, period_first_day, period_ending_balance, period_ending_converted_balance from general_ledger_by_period where account_class = 'Asset') a\n on a.account_id = ad.account_id\n and a.period_first_day = ad.period_first_day \n and a.source_relation = ad.source_relation\n),\n\nequity as (\n select\n ed.account_id, \n e.period_ending_balance,\n e.period_ending_converted_balance\n from equity_date ed\n left join (select account_id, source_relation, period_first_day, period_ending_balance, period_ending_converted_balance from general_ledger_by_period where account_class = 'Equity') e\n on e.account_id = ed.account_id\n and e.period_first_day = ed.period_first_day \n and e.source_relation = ed.source_relation\n)\n\nselect \n 'liability' as balance_sheet_type, \n sum(period_ending_balance) as balance,\n sum(period_ending_converted_balance) as converted_balance\nfrom liability\ngroup by 1\n\nunion all\n\nselect \n 'asset' as balance_sheet_type, \n sum(period_ending_balance) as balance,\n sum(period_ending_converted_balance) as converted_balance\nfrom asset\ngroup by 1\n\nunion all \n\nselect \n 'equity' as balance_sheet_type, \n sum(period_ending_balance) as balance,\n sum(period_ending_converted_balance) as converted_balance\nfrom equity\ngroup by 1", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}}, "analysis.quickbooks.quickbooks__income_statement": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "quickbooks__income_statement", "resource_type": "analysis", "package_name": "quickbooks", "path": "analysis/quickbooks__income_statement.sql", "original_file_path": "analysis/quickbooks__income_statement.sql", "unique_id": "analysis.quickbooks.quickbooks__income_statement", "fqn": ["quickbooks", "analysis", "quickbooks__income_statement"], "alias": "quickbooks__income_statement", "checksum": {"name": "sha256", "checksum": "0d827349c577e108c7dfd09cbcaa73df4fccefdeaa3fd5d3d19d75db0dd74c90"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}"}, "created_at": 1731948866.053065, "relation_name": null, "raw_code": "with general_ledger_by_period as (\n select * \n from {{ ref('quickbooks__general_ledger_by_period') }}\n),\n\nrevenue as (\n select \n account_id, \n sum(period_net_change) as ending_balance,\n sum(period_net_converted_change) as ending_converted_balance\n from general_ledger_by_period\n\n where account_class = 'Revenue'\n and period_first_day between 'YYYY-MM-DD' and 'YYYY-MM-DD' --Update 'YYYY-MM-DD' to be your desired date period.\n\n group by 1\n),\n\nexpense as (\n select \n account_id, \n sum(period_net_change) as ending_balance,\n sum(period_net_converted_change) as ending_converted_balance\n from general_ledger_by_period\n\n where account_class = 'Expense'\n and period_first_day between 'YYYY-MM-DD' and 'YYYY-MM-DD' --Update 'YYYY-MM-DD' to be your desired date period.\n\n group by 1\n),\n\nrevenue_total as (\n select \n 'revenue' as income_statement_type, \n sum(ending_balance) as ending_balance,\n sum(ending_converted_balance) as ending_converted_balance\n from revenue\n),\n\nexpense_total as (\n select \n 'expense' as income_statement_type, \n sum(ending_balance) as ending_balance,\n sum(ending_converted_balance) as ending_converted_balance\n from expense\n)\n\nselect * \nfrom revenue_total\n\nunion all \n\nselect * \nfrom expense_total", "language": "sql", "refs": [{"name": "quickbooks__general_ledger_by_period", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.quickbooks.quickbooks__general_ledger_by_period"]}, "compiled_path": "target/compiled/quickbooks/analysis/quickbooks__income_statement.sql", "compiled": true, "compiled_code": "with general_ledger_by_period as (\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"quickbooks__general_ledger_by_period\"\n),\n\nrevenue as (\n select \n account_id, \n sum(period_net_change) as ending_balance,\n sum(period_net_converted_change) as ending_converted_balance\n from general_ledger_by_period\n\n where account_class = 'Revenue'\n and period_first_day between 'YYYY-MM-DD' and 'YYYY-MM-DD' --Update 'YYYY-MM-DD' to be your desired date period.\n\n group by 1\n),\n\nexpense as (\n select \n account_id, \n sum(period_net_change) as ending_balance,\n sum(period_net_converted_change) as ending_converted_balance\n from general_ledger_by_period\n\n where account_class = 'Expense'\n and period_first_day between 'YYYY-MM-DD' and 'YYYY-MM-DD' --Update 'YYYY-MM-DD' to be your desired date period.\n\n group by 1\n),\n\nrevenue_total as (\n select \n 'revenue' as income_statement_type, \n sum(ending_balance) as ending_balance,\n sum(ending_converted_balance) as ending_converted_balance\n from revenue\n),\n\nexpense_total as (\n select \n 'expense' as income_statement_type, \n sum(ending_balance) as ending_balance,\n sum(ending_converted_balance) as ending_converted_balance\n from expense\n)\n\nselect * \nfrom revenue_total\n\nunion all \n\nselect * \nfrom expense_total", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}}, "model.quickbooks_source.stg_quickbooks__journal_entry_line": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__journal_entry_line", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__journal_entry_line.sql", "original_file_path": "models/stg_quickbooks__journal_entry_line.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__journal_entry_line", "fqn": ["quickbooks_source", "stg_quickbooks__journal_entry_line"], "alias": "stg_quickbooks__journal_entry_line", "checksum": {"name": "sha256", "checksum": "4516b55a1200da7d649fb094705d8d74566704462e11b0c6f4533d7ca266e1a5"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing individual line items of a transaction associated with a journal entry.", "columns": {"journal_entry_id": {"name": "journal_entry_id", "description": "Unique identifier of the journal entry record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the journal entry record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "Account id of the account which the journal entry is credited.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the journal entry line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Customer id of the customer which the journal entry is credited.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department which the journal entry is associated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class which the journal entry is associated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "billable_status": {"name": "billable_status", "description": "Status of the journal entry indicating whether it is billable or not.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "User defined description of the journal entry line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "posting_type": {"name": "posting_type", "description": "Indicates whether this JournalEntry line is a debit or credit. Valid values are Credit and Debit", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_id": {"name": "vendor_id", "description": "Reference to the vendor for this journal entry.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1731948867.041132, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__journal_entry_line\"", "raw_code": "--To disable this model, set the using_journal_entry variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_journal_entry', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__journal_entry_line_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__journal_entry_line_tmp')),\n staging_columns=get_journal_entry_line_columns()\n )\n }}\n \n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n from base\n),\n\nfinal as (\n \n select \n cast(journal_entry_id as {{ dbt.type_string() }}) as journal_entry_id,\n index,\n cast(account_id as {{ dbt.type_string() }}) as account_id,\n amount,\n cast(customer_id as {{ dbt.type_string() }}) as customer_id,\n cast(department_id as {{ dbt.type_string() }}) as department_id,\n cast(class_id as {{ dbt.type_string() }}) as class_id,\n description,\n billable_status,\n posting_type,\n cast(vendor_id as {{ dbt.type_string() }}) as vendor_id,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__journal_entry_line_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__journal_entry_line_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_journal_entry_line_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__journal_entry_line_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__journal_entry_line.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_journal_entry variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__journal_entry_line_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n account_id\n \n as \n \n account_id\n \n, \n \n \n amount\n \n as \n \n amount\n \n, \n \n \n billable_status\n \n as \n \n billable_status\n \n, \n \n \n class_id\n \n as \n \n class_id\n \n, \n \n \n customer_id\n \n as \n \n customer_id\n \n, \n \n \n department_id\n \n as \n \n department_id\n \n, \n \n \n description\n \n as \n \n description\n \n, \n \n \n description_service_date\n \n as \n \n description_service_date\n \n, \n \n \n description_tax_code_id\n \n as \n \n description_tax_code_id\n \n, \n \n \n employee_id\n \n as \n \n employee_id\n \n, \n \n \n index\n \n as \n \n index\n \n, \n \n \n journal_entry_id\n \n as \n \n journal_entry_id\n \n, \n \n \n posting_type\n \n as \n \n posting_type\n \n, \n \n \n tax_amount\n \n as \n \n tax_amount\n \n, \n \n \n tax_applicable_on\n \n as \n \n tax_applicable_on\n \n, \n \n \n tax_code_id\n \n as \n \n tax_code_id\n \n, \n \n \n vendor_id\n \n as \n \n vendor_id\n \n\n\n\n \n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(journal_entry_id as TEXT) as journal_entry_id,\n index,\n cast(account_id as TEXT) as account_id,\n amount,\n cast(customer_id as TEXT) as customer_id,\n cast(department_id as TEXT) as department_id,\n cast(class_id as TEXT) as class_id,\n description,\n billable_status,\n posting_type,\n cast(vendor_id as TEXT) as vendor_id,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__transfer": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__transfer", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__transfer.sql", "original_file_path": "models/stg_quickbooks__transfer.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__transfer", "fqn": ["quickbooks_source", "stg_quickbooks__transfer"], "alias": "stg_quickbooks__transfer", "checksum": {"name": "sha256", "checksum": "80d61f3899f388de1ba0d6d3811e78ce9db6814214a88e8a314fa111214193c8"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing records of transfers. A Transfer represents a transaction where funds are moved between two accounts from the company's QuickBooks chart of accounts.", "columns": {"transfer_id": {"name": "transfer_id", "description": "Unique identifier of the transfer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the transfer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "from_account_id": {"name": "from_account_id", "description": "Account id of the account which the transfer is from.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "to_account_id": {"name": "to_account_id", "description": "Account id of the account which the transfer is to.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date which the transfer occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1731948867.0496378, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__transfer\"", "raw_code": "--To disable this model, set the using_transfer variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_transfer', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__transfer_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__transfer_tmp')),\n staging_columns=get_transfer_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as transfer_id,\n amount,\n cast(from_account_id as {{ dbt.type_string() }}) as from_account_id,\n cast(to_account_id as {{ dbt.type_string() }}) as to_account_id,\n cast( {{ dbt.date_trunc('day', 'transaction_date') }} as date) as transaction_date,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__transfer_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__transfer_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_transfer_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string", "macro.dbt.date_trunc"], "nodes": ["model.quickbooks_source.stg_quickbooks__transfer_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__transfer.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_transfer variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__transfer_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n amount\n \n as \n \n amount\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n from_account_id\n \n as \n \n from_account_id\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n private_note\n \n as \n \n private_note\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n to_account_id\n \n as \n \n to_account_id\n \n, \n \n \n transaction_date\n \n as \n \n transaction_date\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as transfer_id,\n amount,\n cast(from_account_id as TEXT) as from_account_id,\n cast(to_account_id as TEXT) as to_account_id,\n cast( date_trunc('day', transaction_date) as date) as transaction_date,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__bill_payment_line": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__bill_payment_line", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__bill_payment_line.sql", "original_file_path": "models/stg_quickbooks__bill_payment_line.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__bill_payment_line", "fqn": ["quickbooks_source", "stg_quickbooks__bill_payment_line"], "alias": "stg_quickbooks__bill_payment_line", "checksum": {"name": "sha256", "checksum": "658cf9c659df8b7a0ac31c6b2d2e00896b94f7fc51aecbd3e43422e29151b4fb"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing individual line items of a bill payment, which are recorded within the `bill_payment` table.", "columns": {"bill_payment_id": {"name": "bill_payment_id", "description": "The Unique identifier of the bill payment record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of payments associated with the parent bill payment record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the bill payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "bill_id": {"name": "bill_id", "description": "Unique identifier of the bill record associated with the bill payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_id": {"name": "deposit_id", "description": "Unique identifier of the deposit record associated with the bill payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "expense_id": {"name": "expense_id", "description": "Unique identifier of the purchase record associated with the bill payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "linked_bill_payment_id": {"name": "linked_bill_payment_id", "description": "Unique identifier of the bill record associated with the bill payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_credit_id": {"name": "vendor_credit_id", "description": "Unique identifier of the vendor_credit record associated with the bill payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "journal_entry_id": {"name": "journal_entry_id", "description": "Unique identifier of the journal entry record associated with the bill payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1731948867.026142, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill_payment_line\"", "raw_code": "--To disable this model, set the using_bill_payment variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_bill', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__bill_payment_line_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__bill_payment_line_tmp')),\n staging_columns=get_bill_payment_line_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(bill_payment_id as {{ dbt.type_string() }}) as bill_payment_id,\n index,\n amount,\n cast(bill_id as {{ dbt.type_string() }}) as bill_id,\n deposit_id,\n expense_id,\n journal_entry_id,\n linked_bill_payment_id,\n vendor_credit_id,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__bill_payment_line_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__bill_payment_line_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_bill_payment_line_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__bill_payment_line_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__bill_payment_line.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_bill_payment variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill_payment_line_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n amount\n \n as \n \n amount\n \n, \n \n \n bill_id\n \n as \n \n bill_id\n \n, \n \n \n bill_payment_credit_card_id\n \n as \n \n bill_payment_credit_card_id\n \n, \n \n \n bill_payment_id\n \n as \n \n bill_payment_id\n \n, \n \n \n check_id\n \n as \n \n check_id\n \n, \n \n \n credit_card_charge_id\n \n as \n \n credit_card_charge_id\n \n, \n \n \n credit_card_credit_id\n \n as \n \n credit_card_credit_id\n \n, \n \n \n deposit_id\n \n as \n \n deposit_id\n \n, \n \n \n expense_id\n \n as \n \n expense_id\n \n, \n \n \n index\n \n as \n \n index\n \n, \n \n \n journal_entry_id\n \n as \n \n journal_entry_id\n \n, \n \n \n linked_bill_payment_id\n \n as \n \n linked_bill_payment_id\n \n, \n \n \n vendor_credit_id\n \n as \n \n vendor_credit_id\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(bill_payment_id as TEXT) as bill_payment_id,\n index,\n amount,\n cast(bill_id as TEXT) as bill_id,\n deposit_id,\n expense_id,\n journal_entry_id,\n linked_bill_payment_id,\n vendor_credit_id,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__payment_line": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__payment_line", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__payment_line.sql", "original_file_path": "models/stg_quickbooks__payment_line.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__payment_line", "fqn": ["quickbooks_source", "stg_quickbooks__payment_line"], "alias": "stg_quickbooks__payment_line", "checksum": {"name": "sha256", "checksum": "0fbd1adbbf9c8c71e606f1987f6f645d363121a71306098dd17e5f3c073b39c5"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing individual line items recorded within a payment.", "columns": {"payment_id": {"name": "payment_id", "description": "Unique identifier of the payment record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the payment record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the payment line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "journal_entry_id": {"name": "journal_entry_id", "description": "Journal entry reference associated with the payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_id": {"name": "deposit_id", "description": "Deposit reference associated with the payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "invoice_id": {"name": "invoice_id", "description": "Invoice reference associated with the payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "credit_memo_id": {"name": "credit_memo_id", "description": "credit memo reference associated with the payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1731948867.0420759, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__payment_line\"", "raw_code": "--To disable this model, set the using_payment variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_payment', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__payment_line_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__payment_line_tmp')),\n staging_columns=get_payment_line_columns()\n )\n }}\n \n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n from base\n),\n\nfinal as (\n \n select \n cast(payment_id as {{ dbt.type_string() }}) as payment_id,\n index,\n amount,\n journal_entry_id,\n deposit_id,\n cast(invoice_id as {{ dbt.type_string() }}) as invoice_id,\n credit_memo_id,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__payment_line_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__payment_line_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_payment_line_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__payment_line_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__payment_line.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_payment variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__payment_line_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n amount\n \n as \n \n amount\n \n, \n \n \n check_id\n \n as \n \n check_id\n \n, \n \n \n credit_card_charge_id\n \n as \n \n credit_card_charge_id\n \n, \n \n \n credit_card_credit_id\n \n as \n \n credit_card_credit_id\n \n, \n \n \n credit_memo_id\n \n as \n \n credit_memo_id\n \n, \n \n \n deposit_id\n \n as \n \n deposit_id\n \n, \n \n \n expense_id\n \n as \n \n expense_id\n \n, \n \n \n index\n \n as \n \n index\n \n, \n \n \n invoice_id\n \n as \n \n invoice_id\n \n, \n \n \n journal_entry_id\n \n as \n \n journal_entry_id\n \n, \n \n \n payment_id\n \n as \n \n payment_id\n \n\n\n\n \n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(payment_id as TEXT) as payment_id,\n index,\n amount,\n journal_entry_id,\n deposit_id,\n cast(invoice_id as TEXT) as invoice_id,\n credit_memo_id,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__vendor": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__vendor", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__vendor.sql", "original_file_path": "models/stg_quickbooks__vendor.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__vendor", "fqn": ["quickbooks_source", "stg_quickbooks__vendor"], "alias": "stg_quickbooks__vendor", "checksum": {"name": "sha256", "checksum": "437858c5dcd2a02f9e011a71da735596c6ac3ec0dea646f40b124fcd74d44fc0"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing all vendor records. A vendor is the seller from whom your company purchases any service or product.", "columns": {"vendor_id": {"name": "vendor_id", "description": "Unique identifier of the vendor.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_number": {"name": "account_number", "description": "Name or number of the account associated with this vendor.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "billing_address_id": {"name": "billing_address_id", "description": "Address reference for the billing address of the vendor.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_active": {"name": "is_active", "description": "Boolean indicating whether the vendor is active.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "Specifies the open balance amount or the amount unpaid by the customer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "company_name": {"name": "company_name", "description": "The name of the company associated with the person or organization.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the date when the vendor was created.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts associated with this vendor are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "display_name": {"name": "display_name", "description": "The name of the vendor as displayed. Must be unique across all Vendor, Customer, and Employee objects.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "web_url": {"name": "web_url", "description": "Website url associated with the vendor.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_vendor_1099": {"name": "is_vendor_1099", "description": "Boolean indicating whether this vendor is an independent contractor; someone who is given a 1099-MISC form at the end of the year.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table"}, "created_at": 1731948867.0519722, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__vendor\"", "raw_code": "with base as (\n\n select * \n from {{ ref('stg_quickbooks__vendor_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__vendor_tmp')),\n staging_columns=get_vendor_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as vendor_id,\n account_number,\n active as is_active,\n balance,\n cast(billing_address_id as {{ dbt.type_string() }}) as billing_address_id,\n company_name,\n created_at,\n currency_id,\n display_name,\n web_url,\n vendor_1099 as is_vendor_1099,\n source_relation,\n _fivetran_deleted\n\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__vendor_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__vendor_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_vendor_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__vendor_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__vendor.sql", "compiled": true, "compiled_code": "with base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__vendor_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n account_number\n \n as \n \n account_number\n \n, \n \n \n active\n \n as \n \n active\n \n, \n \n \n alternate_phone\n \n as \n \n alternate_phone\n \n, \n \n \n balance\n \n as \n \n balance\n \n, \n \n \n billing_address_id\n \n as \n \n billing_address_id\n \n, \n \n \n company_name\n \n as \n \n company_name\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n currency_id\n \n as \n \n currency_id\n \n, \n \n \n display_name\n \n as \n \n display_name\n \n, \n \n \n email\n \n as \n \n email\n \n, \n \n \n family_name\n \n as \n \n family_name\n \n, \n \n \n fax_number\n \n as \n \n fax_number\n \n, \n \n \n given_name\n \n as \n \n given_name\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n middle_name\n \n as \n \n middle_name\n \n, \n \n \n mobile_phone\n \n as \n \n mobile_phone\n \n, \n \n \n other_contacts\n \n as \n \n other_contacts\n \n, \n \n \n primary_phone\n \n as \n \n primary_phone\n \n, \n \n \n print_on_check_name\n \n as \n \n print_on_check_name\n \n, \n \n \n suffix\n \n as \n \n suffix\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n tax_identifier\n \n as \n \n tax_identifier\n \n, \n \n \n term_id\n \n as \n \n term_id\n \n, \n \n \n title\n \n as \n \n title\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n, \n \n \n vendor_1099\n \n as \n \n vendor_1099\n \n, \n \n \n web_url\n \n as \n \n web_url\n \n, \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as vendor_id,\n account_number,\n active as is_active,\n balance,\n cast(billing_address_id as TEXT) as billing_address_id,\n company_name,\n created_at,\n currency_id,\n display_name,\n web_url,\n vendor_1099 as is_vendor_1099,\n source_relation,\n _fivetran_deleted\n\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__invoice_line": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__invoice_line", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__invoice_line.sql", "original_file_path": "models/stg_quickbooks__invoice_line.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__invoice_line", "fqn": ["quickbooks_source", "stg_quickbooks__invoice_line"], "alias": "stg_quickbooks__invoice_line", "checksum": {"name": "sha256", "checksum": "3dd2b7cd4fd25540efca287c76c5ccb76ecf698064cef051509cf01ca6b9d870"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing individual records from invoices.", "columns": {"invoice_id": {"name": "invoice_id", "description": "Unique identifier of the invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the invoice line record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_account_id": {"name": "sales_item_account_id", "description": "Account reference for an item invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_item_id": {"name": "sales_item_item_id", "description": "Item reference for an item invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_class_id": {"name": "sales_item_class_id", "description": "Class reference for an item invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_quantity": {"name": "sales_item_quantity", "description": "Quantity of the item for an item invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_unit_price": {"name": "sales_item_unit_price", "description": "Unit price of the item for an item invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_account_id": {"name": "discount_account_id", "description": "Account reference for a discount invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_class_id": {"name": "discount_class_id", "description": "Class reference for a discount invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the invoice line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "bundle_quantity": {"name": "bundle_quantity", "description": "Quantity of items included in the invoice bundle.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "bundle_id": {"name": "bundle_id", "description": "Reference to the bundle associated with the invoice line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "Reference to the account associated with the invoice line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_id": {"name": "item_id", "description": "Reference to the item associated with the invoice line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "quantity": {"name": "quantity", "description": "Quantity of the item included on the invoice line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "detail_type": {"name": "detail_type", "description": "Individual line items of a transaction. Valid line types include SalesItemLineDetail, DescriptionOnly (also used for inline Subtotal lines), DiscountLineDetail and SubTotalLineDetail (used for the overall transaction). FYI - Records synced prior to 11/2021 will have a null value.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1731948867.037649, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__invoice_line\"", "raw_code": "--To disable this model, set the using_invoice variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_invoice', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__invoice_line_tmp') }}\n\n),\n\nfields as ( \n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__invoice_line_tmp')),\n staging_columns=get_invoice_line_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(invoice_id as {{ dbt.type_string() }}) as invoice_id,\n index,\n amount,\n cast(sales_item_account_id as {{ dbt.type_string() }}) as sales_item_account_id,\n cast(sales_item_item_id as {{ dbt.type_string() }}) as sales_item_item_id,\n cast(sales_item_class_id as {{ dbt.type_string() }}) as sales_item_class_id,\n sales_item_quantity,\n sales_item_unit_price,\n cast(discount_account_id as {{ dbt.type_string() }}) as discount_account_id,\n detail_type,\n cast(discount_class_id as {{ dbt.type_string() }}) as discount_class_id,\n description,\n quantity,\n bundle_quantity,\n cast(bundle_id as {{ dbt.type_string() }}) as bundle_id,\n cast(account_id as {{ dbt.type_string() }}) as account_id,\n cast(item_id as {{ dbt.type_string() }}) as item_id,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__invoice_line_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__invoice_line_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_invoice_line_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__invoice_line_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__invoice_line.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_invoice variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__invoice_line_tmp\"\n\n),\n\nfields as ( \n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n account_id\n \n as \n \n account_id\n \n, \n \n \n amount\n \n as \n \n amount\n \n, \n \n \n bundle_id\n \n as \n \n bundle_id\n \n, \n \n \n bundle_quantity\n \n as \n \n bundle_quantity\n \n, \n \n \n description\n \n as \n \n description\n \n, \n \n \n description_service_date\n \n as \n \n description_service_date\n \n, \n \n \n description_tax_code_id\n \n as \n \n description_tax_code_id\n \n, \n \n \n discount_account_id\n \n as \n \n discount_account_id\n \n, \n \n \n discount_class_id\n \n as \n \n discount_class_id\n \n, \n \n \n discount_discount_percent\n \n as \n \n discount_discount_percent\n \n, \n \n \n discount_percent_based\n \n as \n \n discount_percent_based\n \n, \n \n \n discount_tax_code_id\n \n as \n \n discount_tax_code_id\n \n, \n \n \n detail_type\n \n as \n \n detail_type\n \n, \n \n \n index\n \n as \n \n index\n \n, \n \n \n invoice_id\n \n as \n \n invoice_id\n \n, \n \n \n item_id\n \n as \n \n item_id\n \n, \n \n \n quantity\n \n as \n \n quantity\n \n, \n \n \n sales_item_account_id\n \n as \n \n sales_item_account_id\n \n, \n \n \n sales_item_class_id\n \n as \n \n sales_item_class_id\n \n, \n \n \n sales_item_discount_amount\n \n as \n \n sales_item_discount_amount\n \n, \n \n \n sales_item_discount_rate\n \n as \n \n sales_item_discount_rate\n \n, \n \n \n sales_item_item_id\n \n as \n \n sales_item_item_id\n \n, \n \n \n sales_item_quantity\n \n as \n \n sales_item_quantity\n \n, \n \n \n sales_item_service_date\n \n as \n \n sales_item_service_date\n \n, \n \n \n sales_item_tax_code_id\n \n as \n \n sales_item_tax_code_id\n \n, \n \n \n sales_item_unit_price\n \n as \n \n sales_item_unit_price\n \n, \n \n \n sub_total_item_id\n \n as \n \n sub_total_item_id\n \n, \n \n \n tax_code_id\n \n as \n \n tax_code_id\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(invoice_id as TEXT) as invoice_id,\n index,\n amount,\n cast(sales_item_account_id as TEXT) as sales_item_account_id,\n cast(sales_item_item_id as TEXT) as sales_item_item_id,\n cast(sales_item_class_id as TEXT) as sales_item_class_id,\n sales_item_quantity,\n sales_item_unit_price,\n cast(discount_account_id as TEXT) as discount_account_id,\n detail_type,\n cast(discount_class_id as TEXT) as discount_class_id,\n description,\n quantity,\n bundle_quantity,\n cast(bundle_id as TEXT) as bundle_id,\n cast(account_id as TEXT) as account_id,\n cast(item_id as TEXT) as item_id,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__estimate": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__estimate", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__estimate.sql", "original_file_path": "models/stg_quickbooks__estimate.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__estimate", "fqn": ["quickbooks_source", "stg_quickbooks__estimate"], "alias": "stg_quickbooks__estimate", "checksum": {"name": "sha256", "checksum": "fdd6491a32b918fc67d7b595f773acf0e341dd42f31cf8652665d536773bbcb3"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing estimates. An estimate represents a proposal for a financial transaction from a business to a customer for goods or services proposed to be sold, including proposed pricing.", "columns": {"estimate_id": {"name": "estimate_id", "description": "Unique identifier of the estimate.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated with the estimate record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the date when the estimate was created.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency which the estimate was provided.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Reference to the customer associated with the estimate.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department associated with the estimate.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "due_date": {"name": "due_date", "description": "Date which the estimate is due.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Total amount of all line items included in the estimate.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date which the estimate occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_status": {"name": "transaction_status", "description": "Current status of the estimate.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1731948867.035586, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__estimate\"", "raw_code": "--To disable this model, set the using_estimate variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_estimate', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__estimate_tmp') }}\n\n),\n \nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__estimate_tmp')),\n staging_columns=get_estimate_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as estimate_id,\n cast(class_id as {{ dbt.type_string() }}) as class_id,\n created_at,\n currency_id,\n customer_id,\n cast(department_id as {{ dbt.type_string() }}) as department_id,\n cast( {{ dbt.date_trunc('day', 'due_date') }} as date) as due_date, \n exchange_rate,\n total_amount,\n cast( {{ dbt.date_trunc('day', 'transaction_date') }} as date) as transaction_date,\n transaction_status,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__estimate_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__estimate_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_estimate_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string", "macro.dbt.date_trunc"], "nodes": ["model.quickbooks_source.stg_quickbooks__estimate_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__estimate.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_estimate variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__estimate_tmp\"\n\n),\n \nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n accepted_by\n \n as \n \n accepted_by\n \n, \n \n \n accepted_date\n \n as \n \n accepted_date\n \n, \n \n \n apply_tax_after_discount\n \n as \n \n apply_tax_after_discount\n \n, \n \n \n bill_email\n \n as \n \n bill_email\n \n, \n \n \n billing_address_id\n \n as \n \n billing_address_id\n \n, \n \n \n class_id\n \n as \n \n class_id\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n currency_id\n \n as \n \n currency_id\n \n, \n \n \n customer_id\n \n as \n \n customer_id\n \n, \n \n \n customer_memo\n \n as \n \n customer_memo\n \n, \n \n \n delivery_type\n \n as \n \n delivery_type\n \n, \n \n \n department_id\n \n as \n \n department_id\n \n, \n \n \n doc_number\n \n as \n \n doc_number\n \n, \n \n \n due_date\n \n as \n \n due_date\n \n, \n \n \n email_status\n \n as \n \n email_status\n \n, \n \n \n exchange_rate\n \n as \n \n exchange_rate\n \n, \n \n \n expiration_date\n \n as \n \n expiration_date\n \n, \n \n \n global_tax_calculation\n \n as \n \n global_tax_calculation\n \n, \n \n \n home_total_amount\n \n as \n \n home_total_amount\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n print_status\n \n as \n \n print_status\n \n, \n \n \n private_note\n \n as \n \n private_note\n \n, \n \n \n sales_term_id\n \n as \n \n sales_term_id\n \n, \n \n \n ship_date\n \n as \n \n ship_date\n \n, \n \n \n shipping_address_id\n \n as \n \n shipping_address_id\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n tax_code_id\n \n as \n \n tax_code_id\n \n, \n \n \n total_amount\n \n as \n \n total_amount\n \n, \n \n \n total_tax\n \n as \n \n total_tax\n \n, \n \n \n transaction_date\n \n as \n \n transaction_date\n \n, \n \n \n transaction_status\n \n as \n \n transaction_status\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as estimate_id,\n cast(class_id as TEXT) as class_id,\n created_at,\n currency_id,\n customer_id,\n cast(department_id as TEXT) as department_id,\n cast( date_trunc('day', due_date) as date) as due_date, \n exchange_rate,\n total_amount,\n cast( date_trunc('day', transaction_date) as date) as transaction_date,\n transaction_status,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__credit_memo_line": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__credit_memo_line", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__credit_memo_line.sql", "original_file_path": "models/stg_quickbooks__credit_memo_line.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__credit_memo_line", "fqn": ["quickbooks_source", "stg_quickbooks__credit_memo_line"], "alias": "stg_quickbooks__credit_memo_line", "checksum": {"name": "sha256", "checksum": "8ac0a7118ae843a7c8e6818daa2cf5301a6e2cf1abecc89605729219581a1e0c"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing individual records of credit memos.", "columns": {"credit_memo_id": {"name": "credit_memo_id", "description": "Unique identifier of the credit memo record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records from a credit memo record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the credit memo line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_account_id": {"name": "sales_item_account_id", "description": "The identifier of the account associated with the credited refund.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_class_id": {"name": "sales_item_class_id", "description": "Reference to the class associated with the refunded item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_item_id": {"name": "sales_item_item_id", "description": "Reference to the item with the refunded item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_quantity": {"name": "sales_item_quantity", "description": "Quantity of item related to the credit memo line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_unit_price": {"name": "sales_item_unit_price", "description": "Unit price of the item related to the credit memo line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_account_id": {"name": "discount_account_id", "description": "The identifier of the account associated with the income account used to track discounts.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_class_id": {"name": "discount_class_id", "description": "Reference to the class associated with the discount of the refunded item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the credit memo line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1731948867.0310469, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__credit_memo_line\"", "raw_code": "--To disable this model, set the using_credit_memo variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_credit_memo', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__credit_memo_line_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__credit_memo_line_tmp')),\n staging_columns=get_credit_memo_line_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(credit_memo_id as {{ dbt.type_string() }}) as credit_memo_id,\n index,\n amount,\n cast(sales_item_account_id as {{ dbt.type_string() }}) as sales_item_account_id,\n cast(sales_item_class_id as {{ dbt.type_string() }}) as sales_item_class_id,\n cast(sales_item_item_id as {{ dbt.type_string() }}) as sales_item_item_id,\n sales_item_quantity,\n sales_item_unit_price,\n cast(discount_account_id as {{ dbt.type_string() }}) as discount_account_id,\n cast(discount_class_id as {{ dbt.type_string() }}) as discount_class_id,\n description,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__credit_memo_line_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__credit_memo_line_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_credit_memo_line_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__credit_memo_line_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__credit_memo_line.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_credit_memo variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__credit_memo_line_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n amount\n \n as \n \n amount\n \n, \n \n \n bundle_id\n \n as \n \n bundle_id\n \n, \n \n \n bundle_quantity\n \n as \n \n bundle_quantity\n \n, \n \n \n credit_memo_id\n \n as \n \n credit_memo_id\n \n, \n \n \n description\n \n as \n \n description\n \n, \n \n \n description_service_date\n \n as \n \n description_service_date\n \n, \n \n \n description_tax_code_id\n \n as \n \n description_tax_code_id\n \n, \n \n \n discount_account_id\n \n as \n \n discount_account_id\n \n, \n \n \n discount_class_id\n \n as \n \n discount_class_id\n \n, \n \n \n discount_discount_percent\n \n as \n \n discount_discount_percent\n \n, \n \n \n discount_percent_based\n \n as \n \n discount_percent_based\n \n, \n \n \n discount_tax_code_id\n \n as \n \n discount_tax_code_id\n \n, \n \n \n index\n \n as \n \n index\n \n, \n \n \n sales_item_account_id\n \n as \n \n sales_item_account_id\n \n, \n \n \n sales_item_class_id\n \n as \n \n sales_item_class_id\n \n, \n \n \n sales_item_discount_amount\n \n as \n \n sales_item_discount_amount\n \n, \n \n \n sales_item_discount_rate\n \n as \n \n sales_item_discount_rate\n \n, \n \n \n sales_item_item_id\n \n as \n \n sales_item_item_id\n \n, \n \n \n sales_item_quantity\n \n as \n \n sales_item_quantity\n \n, \n \n \n sales_item_service_date\n \n as \n \n sales_item_service_date\n \n, \n \n \n sales_item_tax_code_id\n \n as \n \n sales_item_tax_code_id\n \n, \n \n \n sales_item_unit_price\n \n as \n \n sales_item_unit_price\n \n, \n \n \n sub_total_item_id\n \n as \n \n sub_total_item_id\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(credit_memo_id as TEXT) as credit_memo_id,\n index,\n amount,\n cast(sales_item_account_id as TEXT) as sales_item_account_id,\n cast(sales_item_class_id as TEXT) as sales_item_class_id,\n cast(sales_item_item_id as TEXT) as sales_item_item_id,\n sales_item_quantity,\n sales_item_unit_price,\n cast(discount_account_id as TEXT) as discount_account_id,\n cast(discount_class_id as TEXT) as discount_class_id,\n description,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__bundle": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__bundle", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__bundle.sql", "original_file_path": "models/stg_quickbooks__bundle.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__bundle", "fqn": ["quickbooks_source", "stg_quickbooks__bundle"], "alias": "stg_quickbooks__bundle", "checksum": {"name": "sha256", "checksum": "c4823b99f757c651cd3b3a80ebf700f96dc9641ab023ce9f1e33a55079f3c297"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing all bundles possible to be used within an invoice.", "columns": {"bundle_id": {"name": "bundle_id", "description": "Unique identifier of the bundle.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the date which the bundle was created.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_active": {"name": "is_active", "description": "Boolean indicating whether the bundle is active.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "fully_qualified_name": {"name": "fully_qualified_name", "description": "Full name given to the bundle.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of the date when the bundle was last updated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1731948867.0288908, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bundle\"", "raw_code": "--To disable this model, set the using_invoice_bundle variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_invoice_bundle', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__bundle_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__bundle_tmp')),\n staging_columns=get_bundle_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as bundle_id,\n created_at,\n active as is_active,\n fully_qualified_name,\n updated_at,\n source_relation,\n _fivetran_deleted\n\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__bundle_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__bundle_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_bundle_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__bundle_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__bundle.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_invoice_bundle variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bundle_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n active\n \n as \n \n active\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n description\n \n as \n \n description\n \n, \n \n \n fully_qualified_name\n \n as \n \n fully_qualified_name\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n print_grouped_items\n \n as \n \n print_grouped_items\n \n, \n \n \n purchase_cost\n \n as \n \n purchase_cost\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n taxable\n \n as \n \n taxable\n \n, \n \n \n unit_price\n \n as \n \n unit_price\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n, \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as bundle_id,\n created_at,\n active as is_active,\n fully_qualified_name,\n updated_at,\n source_relation,\n _fivetran_deleted\n\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__department": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__department", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__department.sql", "original_file_path": "models/stg_quickbooks__department.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__department", "fqn": ["quickbooks_source", "stg_quickbooks__department"], "alias": "stg_quickbooks__department", "checksum": {"name": "sha256", "checksum": "4fe90005a1c02b035ec1895108feec62df1f2c8c6a7856dcc11c3c5419c7a037"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing records representing physical locations such as stores, and sales regions.", "columns": {"department_id": {"name": "department_id", "description": "Unique identifier of the department.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_active": {"name": "is_active", "description": "Boolean indicating whether the department is currently active.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the date when the department was created.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of the date when the department was last updated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "fully_qualified_name": {"name": "fully_qualified_name", "description": "Fully qualified name of the department.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the department.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_sub_department": {"name": "is_sub_department", "description": "Boolean indicating whether the department is a sub department.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "parent_department_id": {"name": "parent_department_id", "description": "Reference to the Unique identifier of the parent department if is_sub_department = true.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1731948867.033273, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__department\"", "raw_code": "--To disable this model, set the using_department variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_department', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__department_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__department_tmp')),\n staging_columns=get_department_columns()\n )\n }}\n \n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as department_id,\n active as is_active,\n created_at,\n updated_at,\n fully_qualified_name,\n name,\n sub_department as is_sub_department,\n parent_department_id,\n source_relation,\n _fivetran_deleted\n\n from fields\n)\n\nselect *\nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__department_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__department_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_department_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__department_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__department.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_department variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__department_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n active\n \n as \n \n active\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n fully_qualified_name\n \n as \n \n fully_qualified_name\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n parent_department_id\n \n as \n \n parent_department_id\n \n, \n \n \n sub_department\n \n as \n \n sub_department\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n, \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n\n\n\n \n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as department_id,\n active as is_active,\n created_at,\n updated_at,\n fully_qualified_name,\n name,\n sub_department as is_sub_department,\n parent_department_id,\n source_relation,\n _fivetran_deleted\n\n from fields\n)\n\nselect *\nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__credit_card_payment_txn": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__credit_card_payment_txn", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__credit_card_payment_txn.sql", "original_file_path": "models/stg_quickbooks__credit_card_payment_txn.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__credit_card_payment_txn", "fqn": ["quickbooks_source", "stg_quickbooks__credit_card_payment_txn"], "alias": "stg_quickbooks__credit_card_payment_txn", "checksum": {"name": "sha256", "checksum": "b55d1388adb41c3bb7c6fb84a70b683186d12c04f11627b854183765fb16c7f4"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing all credit card payment transactions.", "columns": {"credit_card_payment_id": {"name": "credit_card_payment_id", "description": "Unique identifier of the credit card payment transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Total amount of money applied to the credit card payment transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "bank_account_id": {"name": "bank_account_id", "description": "Reference to the bank account which the credit card payment is debited towards.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "credit_card_account_id": {"name": "credit_card_account_id", "description": "Reference to the credit card account which the credit card payment is credited towards.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp when the credit card payment was created.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp when the credit card payment was last updated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency used for the credit card payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date the credit card payment transaction took place.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean indicating if the credit card payment was deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean indicating if the record is the most recent updated version of the credit card payment transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1731948867.029699, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__credit_card_payment_txn\"", "raw_code": "--To enable this model, set the using_invoice_bundle variable within your dbt_project.yml file to True.\n{{ config(enabled=var('using_credit_card_payment_txn', False)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__credit_card_payment_txn_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__credit_card_payment_txn_tmp')),\n staging_columns=get_credit_card_payment_txn_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as credit_card_payment_id,\n amount,\n bank_account_id,\n credit_card_account_id,\n created_at,\n updated_at,\n currency_id,\n cast( {{ dbt.date_trunc('day', 'transaction_date') }} as date) as transaction_date,\n _fivetran_deleted,\n row_number() over (partition by id, updated_at, source_relation order by source_relation, updated_at desc) = 1 as is_most_recent_record,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__credit_card_payment_txn_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__credit_card_payment_txn_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_credit_card_payment_txn_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string", "macro.dbt.date_trunc"], "nodes": ["model.quickbooks_source.stg_quickbooks__credit_card_payment_txn_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__credit_card_payment_txn.sql", "compiled": true, "compiled_code": "--To enable this model, set the using_invoice_bundle variable within your dbt_project.yml file to True.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__credit_card_payment_txn_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n id\n \n as \n \n id\n \n, \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n, \n cast(null as timestamp) as \n \n _fivetran_synced\n \n , \n \n \n amount\n \n as \n \n amount\n \n, \n \n \n bank_account_id\n \n as \n \n bank_account_id\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n credit_card_account_id\n \n as \n \n credit_card_account_id\n \n, \n \n \n currency_id\n \n as \n \n currency_id\n \n, \n cast(null as TEXT) as \n \n sync_token\n \n , \n \n \n transaction_date\n \n as \n \n transaction_date\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as credit_card_payment_id,\n amount,\n bank_account_id,\n credit_card_account_id,\n created_at,\n updated_at,\n currency_id,\n cast( date_trunc('day', transaction_date) as date) as transaction_date,\n _fivetran_deleted,\n row_number() over (partition by id, updated_at, source_relation order by source_relation, updated_at desc) = 1 as is_most_recent_record,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__purchase_line": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__purchase_line", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__purchase_line.sql", "original_file_path": "models/stg_quickbooks__purchase_line.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__purchase_line", "fqn": ["quickbooks_source", "stg_quickbooks__purchase_line"], "alias": "stg_quickbooks__purchase_line", "checksum": {"name": "sha256", "checksum": "ee8d20a394aa51a62186bc273ac2041bb5299540a8886d515fa120a873662ff1"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing individual line items of a transaction associated with a purchase.", "columns": {"purchase_id": {"name": "purchase_id", "description": "Unique identifier of the purchase record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the purchase record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_account_id": {"name": "account_expense_account_id", "description": "Account id of the account which the purchase is credited.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_class_id": {"name": "account_expense_class_id", "description": "The class reference associated with the account based expense purchase line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_billable_status": {"name": "account_expense_billable_status", "description": "Status of the purchase billable.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_customer_id": {"name": "account_expense_customer_id", "description": "The customer id associated with the account based expense purchase line", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_tax_code_id": {"name": "account_expense_tax_code_id", "description": "Tax code reference associated to the purchase.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_item_id": {"name": "item_expense_item_id", "description": "The item reference associated with the item based expense purchase line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_billable_status": {"name": "item_expense_billable_status", "description": "The billable status of the item based expense purchase line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_class_id": {"name": "item_expense_class_id", "description": "The class id associated with the item based expense purchase line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_customer_id": {"name": "item_expense_customer_id", "description": "The customer id associated with the item based expense purchase line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the purchase.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "User defined description of the purchase line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table"}, "created_at": 1731948867.0433311, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__purchase_line\"", "raw_code": "with base as (\n\n select *\n from {{ ref('stg_quickbooks__purchase_line_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns\n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns\n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__purchase_line_tmp')),\n staging_columns=get_purchase_line_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n from base\n),\n\nfinal as (\n\n select\n cast(purchase_id as {{ dbt.type_string() }}) as purchase_id,\n index,\n cast(account_expense_account_id as {{ dbt.type_string() }}) as account_expense_account_id,\n cast(account_expense_class_id as {{ dbt.type_string() }}) as account_expense_class_id, \n account_expense_billable_status,\n cast(account_expense_customer_id as {{ dbt.type_string() }}) as account_expense_customer_id,\n account_expense_tax_code_id,\n cast(item_expense_item_id as {{ dbt.type_string() }}) as item_expense_item_id,\n item_expense_billable_status,\n cast(item_expense_customer_id as {{ dbt.type_string() }}) as item_expense_customer_id,\n cast(item_expense_class_id as {{ dbt.type_string() }}) as item_expense_class_id,\n amount,\n description,\n source_relation\n from fields\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase_line_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__purchase_line_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_purchase_line_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__purchase_line_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__purchase_line.sql", "compiled": true, "compiled_code": "with base as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__purchase_line_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns\n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns\n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n account_expense_account_id\n \n as \n \n account_expense_account_id\n \n, \n \n \n account_expense_billable_status\n \n as \n \n account_expense_billable_status\n \n, \n \n \n account_expense_class_id\n \n as \n \n account_expense_class_id\n \n, \n \n \n account_expense_customer_id\n \n as \n \n account_expense_customer_id\n \n, \n \n \n account_expense_tax_amount\n \n as \n \n account_expense_tax_amount\n \n, \n \n \n account_expense_tax_code_id\n \n as \n \n account_expense_tax_code_id\n \n, \n \n \n amount\n \n as \n \n amount\n \n, \n \n \n description\n \n as \n \n description\n \n, \n \n \n index\n \n as \n \n index\n \n, \n \n \n item_expense_billable_status\n \n as \n \n item_expense_billable_status\n \n, \n \n \n item_expense_class_id\n \n as \n \n item_expense_class_id\n \n, \n \n \n item_expense_customer_id\n \n as \n \n item_expense_customer_id\n \n, \n \n \n item_expense_item_id\n \n as \n \n item_expense_item_id\n \n, \n \n \n item_expense_quantity\n \n as \n \n item_expense_quantity\n \n, \n \n \n item_expense_tax_code_id\n \n as \n \n item_expense_tax_code_id\n \n, \n \n \n item_expense_unit_price\n \n as \n \n item_expense_unit_price\n \n, \n \n \n purchase_id\n \n as \n \n purchase_id\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n\n from base\n),\n\nfinal as (\n\n select\n cast(purchase_id as TEXT) as purchase_id,\n index,\n cast(account_expense_account_id as TEXT) as account_expense_account_id,\n cast(account_expense_class_id as TEXT) as account_expense_class_id, \n account_expense_billable_status,\n cast(account_expense_customer_id as TEXT) as account_expense_customer_id,\n account_expense_tax_code_id,\n cast(item_expense_item_id as TEXT) as item_expense_item_id,\n item_expense_billable_status,\n cast(item_expense_customer_id as TEXT) as item_expense_customer_id,\n cast(item_expense_class_id as TEXT) as item_expense_class_id,\n amount,\n description,\n source_relation\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__purchase": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__purchase", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__purchase.sql", "original_file_path": "models/stg_quickbooks__purchase.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__purchase", "fqn": ["quickbooks_source", "stg_quickbooks__purchase"], "alias": "stg_quickbooks__purchase", "checksum": {"name": "sha256", "checksum": "1893b79d4bda2c17cbb993a5d4c7e6fa6833ec851a30c18a750dd2133c6ec030"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing records of purchase expenses.", "columns": {"purchase_id": {"name": "purchase_id", "description": "Unique identifier of the purchase.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "Specifies the account reference to which this purchase is applied based on the PaymentType.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the date when the purchase was created.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "credit": {"name": "credit", "description": "Boolean where `false` represents a charge and `true` represents a refund.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department which the purchase is associated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Reference to the customer which the purchase is associated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date when the purchase occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "payment_type": {"name": "payment_type", "description": "Payment type of the purchase. Type can be Cash, Check, or CreditCard.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_id": {"name": "vendor_id", "description": "Reference to the vendor for the purchase.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table"}, "created_at": 1731948867.0440478, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__purchase\"", "raw_code": "with base as (\n\n select * \n from {{ ref('stg_quickbooks__purchase_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__purchase_tmp')),\n staging_columns=get_purchase_columns()\n )\n }}\n \n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as purchase_id,\n cast(account_id as {{ dbt.type_string() }}) as account_id,\n created_at,\n cast(doc_number as {{ dbt.type_string() }}) as doc_number,\n currency_id,\n exchange_rate,\n credit,\n total_amount,\n payment_type,\n cast(department_id as {{ dbt.type_string() }}) as department_id,\n cast(customer_id as {{ dbt.type_string() }}) as customer_id,\n cast(vendor_id as {{ dbt.type_string() }}) as vendor_id,\n cast( {{ dbt.date_trunc('day', 'transaction_date') }} as date) as transaction_date,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__purchase_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_purchase_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string", "macro.dbt.date_trunc"], "nodes": ["model.quickbooks_source.stg_quickbooks__purchase_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__purchase.sql", "compiled": true, "compiled_code": "with base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__purchase_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n account_id\n \n as \n \n account_id\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n credit\n \n as \n \n credit\n \n, \n \n \n currency_id\n \n as \n \n currency_id\n \n, \n \n \n customer_id\n \n as \n \n customer_id\n \n, \n \n \n department_id\n \n as \n \n department_id\n \n, \n \n \n doc_number\n \n as \n \n doc_number\n \n, \n \n \n employee_id\n \n as \n \n employee_id\n \n, \n \n \n exchange_rate\n \n as \n \n exchange_rate\n \n, \n \n \n global_tax_calculation\n \n as \n \n global_tax_calculation\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n payment_method_id\n \n as \n \n payment_method_id\n \n, \n \n \n payment_type\n \n as \n \n payment_type\n \n, \n \n \n print_status\n \n as \n \n print_status\n \n, \n \n \n private_note\n \n as \n \n private_note\n \n, \n \n \n remit_to_address_id\n \n as \n \n remit_to_address_id\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n tax_code_id\n \n as \n \n tax_code_id\n \n, \n \n \n total_amount\n \n as \n \n total_amount\n \n, \n \n \n total_tax\n \n as \n \n total_tax\n \n, \n \n \n transaction_date\n \n as \n \n transaction_date\n \n, \n \n \n transaction_source\n \n as \n \n transaction_source\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n, \n \n \n vendor_id\n \n as \n \n vendor_id\n \n\n\n\n \n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as purchase_id,\n cast(account_id as TEXT) as account_id,\n created_at,\n cast(doc_number as TEXT) as doc_number,\n currency_id,\n exchange_rate,\n credit,\n total_amount,\n payment_type,\n cast(department_id as TEXT) as department_id,\n cast(customer_id as TEXT) as customer_id,\n cast(vendor_id as TEXT) as vendor_id,\n cast( date_trunc('day', transaction_date) as date) as transaction_date,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__refund_receipt_line": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__refund_receipt_line", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__refund_receipt_line.sql", "original_file_path": "models/stg_quickbooks__refund_receipt_line.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__refund_receipt_line", "fqn": ["quickbooks_source", "stg_quickbooks__refund_receipt_line"], "alias": "stg_quickbooks__refund_receipt_line", "checksum": {"name": "sha256", "checksum": "b64cbbb683f3869fa379c6e696c76381a36f6159c8f02ffcc597c42c23f41479"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing individual line items of a refund transaction.", "columns": {"refund_id": {"name": "refund_id", "description": "Unique identifier of the refund record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the refund record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the refund line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "User defined description of the refund line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_account_id": {"name": "discount_account_id", "description": "Reference to Income account used to track discounts.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_class_id": {"name": "discount_class_id", "description": "Class id of the discount associated with the refunded item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_quantity": {"name": "sales_item_quantity", "description": "Quantity of the item associated with the refund receipt line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_unit_price": {"name": "sales_item_unit_price", "description": "Unit price of the item associated with the refund receipt line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_account_id": {"name": "sales_item_account_id", "description": "Account id of the account which the refund is credited.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_class_id": {"name": "sales_item_class_id", "description": "Class id of the refunded item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_item_id": {"name": "sales_item_item_id", "description": "Item id of the refunded item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_tax_code_id": {"name": "sales_item_tax_code_id", "description": "Tax code id of the tax code associated with the refund.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1731948867.046962, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__refund_receipt_line\"", "raw_code": "--To disable this model, set the using_refund_receipt variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_refund_receipt', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__refund_receipt_line_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__refund_receipt_line_tmp')),\n staging_columns=get_refund_receipt_line_columns()\n )\n }}\n \n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n from base\n),\n\nfinal as (\n \n select \n cast(refund_id as {{ dbt.type_string() }}) as refund_id,\n index,\n amount,\n description,\n cast(discount_account_id as {{ dbt.type_string() }}) as discount_account_id,\n cast(discount_class_id as {{ dbt.type_string() }}) as discount_class_id,\n cast(sales_item_account_id as {{ dbt.type_string() }}) as sales_item_account_id,\n cast(sales_item_class_id as {{ dbt.type_string() }}) as sales_item_class_id, \n cast(sales_item_item_id as {{ dbt.type_string() }}) as sales_item_item_id,\n sales_item_quantity,\n sales_item_unit_price,\n sales_item_tax_code_id,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__refund_receipt_line_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__refund_receipt_line_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_refund_receipt_line_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__refund_receipt_line_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__refund_receipt_line.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_refund_receipt variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__refund_receipt_line_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n amount\n \n as \n \n amount\n \n, \n \n \n bundle_id\n \n as \n \n bundle_id\n \n, \n \n \n bundle_quantity\n \n as \n \n bundle_quantity\n \n, \n \n \n description\n \n as \n \n description\n \n, \n \n \n description_service_date\n \n as \n \n description_service_date\n \n, \n \n \n description_tax_code_id\n \n as \n \n description_tax_code_id\n \n, \n \n \n discount_account_id\n \n as \n \n discount_account_id\n \n, \n \n \n discount_class_id\n \n as \n \n discount_class_id\n \n, \n \n \n discount_discount_percent\n \n as \n \n discount_discount_percent\n \n, \n \n \n discount_percent_based\n \n as \n \n discount_percent_based\n \n, \n \n \n discount_tax_code_id\n \n as \n \n discount_tax_code_id\n \n, \n \n \n index\n \n as \n \n index\n \n, \n \n \n refund_id\n \n as \n \n refund_id\n \n, \n \n \n sales_item_account_id\n \n as \n \n sales_item_account_id\n \n, \n \n \n sales_item_class_id\n \n as \n \n sales_item_class_id\n \n, \n \n \n sales_item_discount_amount\n \n as \n \n sales_item_discount_amount\n \n, \n \n \n sales_item_discount_rate\n \n as \n \n sales_item_discount_rate\n \n, \n \n \n sales_item_item_id\n \n as \n \n sales_item_item_id\n \n, \n \n \n sales_item_quantity\n \n as \n \n sales_item_quantity\n \n, \n \n \n sales_item_service_date\n \n as \n \n sales_item_service_date\n \n, \n \n \n sales_item_tax_code_id\n \n as \n \n sales_item_tax_code_id\n \n, \n \n \n sales_item_unit_price\n \n as \n \n sales_item_unit_price\n \n, \n \n \n sub_total_item_id\n \n as \n \n sub_total_item_id\n \n\n\n\n \n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(refund_id as TEXT) as refund_id,\n index,\n amount,\n description,\n cast(discount_account_id as TEXT) as discount_account_id,\n cast(discount_class_id as TEXT) as discount_class_id,\n cast(sales_item_account_id as TEXT) as sales_item_account_id,\n cast(sales_item_class_id as TEXT) as sales_item_class_id, \n cast(sales_item_item_id as TEXT) as sales_item_item_id,\n sales_item_quantity,\n sales_item_unit_price,\n sales_item_tax_code_id,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__bundle_item": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__bundle_item", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__bundle_item.sql", "original_file_path": "models/stg_quickbooks__bundle_item.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__bundle_item", "fqn": ["quickbooks_source", "stg_quickbooks__bundle_item"], "alias": "stg_quickbooks__bundle_item", "checksum": {"name": "sha256", "checksum": "09a4714c1eda51603398c47f55a9d1a766a3198b3a10200c3e5048b17ce6f7f2"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Mapping table containing all bundle and item combinations.", "columns": {"bundle_id": {"name": "bundle_id", "description": "Reference to the bundle table.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_id": {"name": "item_id", "description": "Reference to the item which the bundle is mapped.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_quantity": {"name": "item_quantity", "description": "Total item quantity associated with the bunlde and item mapping.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1731948867.0285308, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bundle_item\"", "raw_code": "--To disable this model, set the using_invoice_bundle variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_invoice_bundle', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__bundle_item_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__bundle_item_tmp')),\n staging_columns=get_bundle_item_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n \n from base\n),\n\nfinal as (\n \n select \n cast(bundle_id as {{ dbt.type_string() }}) as bundle_id,\n cast(item_id as {{ dbt.type_string() }}) as item_id,\n item_quantity,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__bundle_item_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__bundle_item_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_bundle_item_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__bundle_item_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__bundle_item.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_invoice_bundle variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bundle_item_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n bundle_id\n \n as \n \n bundle_id\n \n, \n \n \n item_id\n \n as \n \n item_id\n \n, \n \n \n item_quantity\n \n as \n \n item_quantity\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n \n from base\n),\n\nfinal as (\n \n select \n cast(bundle_id as TEXT) as bundle_id,\n cast(item_id as TEXT) as item_id,\n item_quantity,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__credit_memo": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__credit_memo", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__credit_memo.sql", "original_file_path": "models/stg_quickbooks__credit_memo.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__credit_memo", "fqn": ["quickbooks_source", "stg_quickbooks__credit_memo"], "alias": "stg_quickbooks__credit_memo", "checksum": {"name": "sha256", "checksum": "c566e7e3dce1b07775e0d2ce15d828ce24a44d523328019ca17498a6aa03a7c1"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing credit memo records. A credit memo is a refund or credit of payment or part of a payment for goods or services that have been sold.", "columns": {"credit_memo_id": {"name": "credit_memo_id", "description": "Unique identifier for a credit memo.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "The balance reflecting any payments made against the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated with the credit memo.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department associated with the credit memo.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Reference to the customer associated with the credit memo.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date when the credit memo occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1731948867.031486, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__credit_memo\"", "raw_code": "--To disable this model, set the using_credit_memo variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_credit_memo', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__credit_memo_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__credit_memo_tmp')),\n staging_columns=get_credit_memo_columns()\n )\n }}\n \n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as credit_memo_id,\n balance,\n cast(doc_number as {{ dbt.type_string() }}) as doc_number,\n total_amount,\n currency_id,\n cast(class_id as {{ dbt.type_string() }}) as class_id,\n cast(department_id as {{ dbt.type_string() }}) as department_id,\n cast(customer_id as {{ dbt.type_string() }}) as customer_id,\n exchange_rate,\n cast( {{ dbt.date_trunc('day', 'transaction_date') }} as date) as transaction_date,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__credit_memo_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__credit_memo_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_credit_memo_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string", "macro.dbt.date_trunc"], "nodes": ["model.quickbooks_source.stg_quickbooks__credit_memo_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__credit_memo.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_credit_memo variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__credit_memo_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n apply_tax_after_discount\n \n as \n \n apply_tax_after_discount\n \n, \n \n \n balance\n \n as \n \n balance\n \n, \n \n \n bill_email\n \n as \n \n bill_email\n \n, \n \n \n billing_address_id\n \n as \n \n billing_address_id\n \n, \n \n \n class_id\n \n as \n \n class_id\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n currency_id\n \n as \n \n currency_id\n \n, \n \n \n custom_p_o_number\n \n as \n \n custom_p_o_number\n \n, \n \n \n customer_id\n \n as \n \n customer_id\n \n, \n \n \n customer_memo\n \n as \n \n customer_memo\n \n, \n \n \n department_id\n \n as \n \n department_id\n \n, \n \n \n doc_number\n \n as \n \n doc_number\n \n, \n \n \n email_status\n \n as \n \n email_status\n \n, \n \n \n exchange_rate\n \n as \n \n exchange_rate\n \n, \n \n \n global_tax_calculation\n \n as \n \n global_tax_calculation\n \n, \n \n \n home_balance\n \n as \n \n home_balance\n \n, \n \n \n home_total_amount\n \n as \n \n home_total_amount\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n payment_method_id\n \n as \n \n payment_method_id\n \n, \n \n \n print_status\n \n as \n \n print_status\n \n, \n \n \n private_note\n \n as \n \n private_note\n \n, \n \n \n remaining_credit\n \n as \n \n remaining_credit\n \n, \n \n \n sales_term_id\n \n as \n \n sales_term_id\n \n, \n \n \n shipping_address_id\n \n as \n \n shipping_address_id\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n total_amount\n \n as \n \n total_amount\n \n, \n \n \n total_tax\n \n as \n \n total_tax\n \n, \n \n \n transaction_date\n \n as \n \n transaction_date\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n\n\n\n \n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as credit_memo_id,\n balance,\n cast(doc_number as TEXT) as doc_number,\n total_amount,\n currency_id,\n cast(class_id as TEXT) as class_id,\n cast(department_id as TEXT) as department_id,\n cast(customer_id as TEXT) as customer_id,\n exchange_rate,\n cast( date_trunc('day', transaction_date) as date) as transaction_date,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__sales_receipt_line": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__sales_receipt_line", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__sales_receipt_line.sql", "original_file_path": "models/stg_quickbooks__sales_receipt_line.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__sales_receipt_line", "fqn": ["quickbooks_source", "stg_quickbooks__sales_receipt_line"], "alias": "stg_quickbooks__sales_receipt_line", "checksum": {"name": "sha256", "checksum": "196add17e2234d22a220f6f275691b23f18a3a4e692e7b8d6a63f2996834ae28"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing individual line items of a sales transaction.", "columns": {"sales_receipt_id": {"name": "sales_receipt_id", "description": "Unique identifier of the sales record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the sales record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the sales line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the sales receipt line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_account_id": {"name": "discount_account_id", "description": "Reference to Income account used to track discounts.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_class_id": {"name": "discount_class_id", "description": "Class id of the discount credited to the sales line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_account_id": {"name": "sales_item_account_id", "description": "Account id of the account credited with the sales line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_class_id": {"name": "sales_item_class_id", "description": "Class id of the receipt credited with the sales line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_item_id": {"name": "sales_item_item_id", "description": "Item id of the item sold in the sale line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_tax_code_id": {"name": "sales_item_tax_code_id", "description": "Tax code id of the tax code associated with the sales line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_quantity": {"name": "sales_item_quantity", "description": "Total quantity of items included in the sales line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_unit_price": {"name": "sales_item_unit_price", "description": "Unit price of the item included on the sales line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1731948867.048418, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__sales_receipt_line\"", "raw_code": "{{ config(enabled=var('using_sales_receipt', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__sales_receipt_line_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__sales_receipt_line_tmp')),\n staging_columns=get_sales_receipt_line_columns()\n )\n }}\n \n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n from base\n),\n\nfinal as (\n \n select \n cast(sales_receipt_id as {{ dbt.type_string() }}) as sales_receipt_id,\n index,\n amount,\n description,\n cast(discount_account_id as {{ dbt.type_string() }}) as discount_account_id,\n cast(discount_class_id as {{ dbt.type_string() }}) as discount_class_id,\n cast(sales_item_account_id as {{ dbt.type_string() }}) as sales_item_account_id,\n cast(sales_item_class_id as {{ dbt.type_string() }}) as sales_item_class_id,\n cast(sales_item_item_id as {{ dbt.type_string() }}) as sales_item_item_id,\n sales_item_tax_code_id,\n sales_item_quantity,\n sales_item_unit_price,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__sales_receipt_line_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__sales_receipt_line_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_sales_receipt_line_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__sales_receipt_line_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__sales_receipt_line.sql", "compiled": true, "compiled_code": "\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__sales_receipt_line_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n amount\n \n as \n \n amount\n \n, \n \n \n bundle_id\n \n as \n \n bundle_id\n \n, \n \n \n bundle_quantity\n \n as \n \n bundle_quantity\n \n, \n \n \n description\n \n as \n \n description\n \n, \n \n \n description_service_date\n \n as \n \n description_service_date\n \n, \n \n \n description_tax_code_id\n \n as \n \n description_tax_code_id\n \n, \n \n \n discount_account_id\n \n as \n \n discount_account_id\n \n, \n \n \n discount_class_id\n \n as \n \n discount_class_id\n \n, \n \n \n discount_discount_percent\n \n as \n \n discount_discount_percent\n \n, \n \n \n discount_percent_based\n \n as \n \n discount_percent_based\n \n, \n \n \n discount_tax_code_id\n \n as \n \n discount_tax_code_id\n \n, \n \n \n index\n \n as \n \n index\n \n, \n \n \n sales_item_account_id\n \n as \n \n sales_item_account_id\n \n, \n \n \n sales_item_class_id\n \n as \n \n sales_item_class_id\n \n, \n \n \n sales_item_discount_amount\n \n as \n \n sales_item_discount_amount\n \n, \n \n \n sales_item_discount_rate\n \n as \n \n sales_item_discount_rate\n \n, \n \n \n sales_item_item_id\n \n as \n \n sales_item_item_id\n \n, \n \n \n sales_item_quantity\n \n as \n \n sales_item_quantity\n \n, \n \n \n sales_item_service_date\n \n as \n \n sales_item_service_date\n \n, \n \n \n sales_item_tax_code_id\n \n as \n \n sales_item_tax_code_id\n \n, \n \n \n sales_item_unit_price\n \n as \n \n sales_item_unit_price\n \n, \n \n \n sales_receipt_id\n \n as \n \n sales_receipt_id\n \n, \n \n \n sub_total_item_id\n \n as \n \n sub_total_item_id\n \n\n\n\n \n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(sales_receipt_id as TEXT) as sales_receipt_id,\n index,\n amount,\n description,\n cast(discount_account_id as TEXT) as discount_account_id,\n cast(discount_class_id as TEXT) as discount_class_id,\n cast(sales_item_account_id as TEXT) as sales_item_account_id,\n cast(sales_item_class_id as TEXT) as sales_item_class_id,\n cast(sales_item_item_id as TEXT) as sales_item_item_id,\n sales_item_tax_code_id,\n sales_item_quantity,\n sales_item_unit_price,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__sales_receipt": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__sales_receipt", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__sales_receipt.sql", "original_file_path": "models/stg_quickbooks__sales_receipt.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__sales_receipt", "fqn": ["quickbooks_source", "stg_quickbooks__sales_receipt"], "alias": "stg_quickbooks__sales_receipt", "checksum": {"name": "sha256", "checksum": "9dc669226580ea77ad9dd79053c189d77614d8c9172305158a380cef60c7372c"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing sales receipts that are given to a customer. A sales receipt, payment is received as part of the sale of goods and services. The sales receipt specifies a deposit account where the customer's payment is deposited.", "columns": {"sales_receipt_id": {"name": "sales_receipt_id", "description": "Unique identifier of the sales receipt.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "The balance reflecting any payments made against the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_to_account_id": {"name": "deposit_to_account_id", "description": "Account to which payment money is deposited.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the date when the sale was created.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Customer id of the sold to customer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department which the sales receipt is associated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class which the sales receipt is associated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date which the sale occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1731948867.048888, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__sales_receipt\"", "raw_code": "{{ config(enabled=var('using_sales_receipt', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__sales_receipt_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__sales_receipt_tmp')),\n staging_columns=get_sales_receipt_columns()\n )\n }}\n \n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as sales_receipt_id,\n balance,\n cast(doc_number as {{ dbt.type_string() }}) as doc_number,\n total_amount,\n cast(deposit_to_account_id as {{ dbt.type_string() }}) as deposit_to_account_id,\n created_at,\n cast(customer_id as {{ dbt.type_string() }}) as customer_id,\n cast(department_id as {{ dbt.type_string() }}) as department_id,\n cast(class_id as {{ dbt.type_string() }}) as class_id,\n currency_id,\n exchange_rate,\n cast( {{ dbt.date_trunc('day', 'transaction_date') }} as date) as transaction_date,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__sales_receipt_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__sales_receipt_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_sales_receipt_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string", "macro.dbt.date_trunc"], "nodes": ["model.quickbooks_source.stg_quickbooks__sales_receipt_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__sales_receipt.sql", "compiled": true, "compiled_code": "\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__sales_receipt_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n apply_tax_after_discount\n \n as \n \n apply_tax_after_discount\n \n, \n \n \n balance\n \n as \n \n balance\n \n, \n \n \n bill_email\n \n as \n \n bill_email\n \n, \n \n \n billing_address_id\n \n as \n \n billing_address_id\n \n, \n \n \n class_id\n \n as \n \n class_id\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n credit_card_amount\n \n as \n \n credit_card_amount\n \n, \n \n \n credit_card_auth_code\n \n as \n \n credit_card_auth_code\n \n, \n \n \n credit_card_billing_address_street\n \n as \n \n credit_card_billing_address_street\n \n, \n \n \n credit_card_cc_expiry_month\n \n as \n \n credit_card_cc_expiry_month\n \n, \n \n \n credit_card_cc_expiry_year\n \n as \n \n credit_card_cc_expiry_year\n \n, \n \n \n credit_card_cctrans_id\n \n as \n \n credit_card_cctrans_id\n \n, \n \n \n credit_card_name_on_account\n \n as \n \n credit_card_name_on_account\n \n, \n \n \n credit_card_postal_code\n \n as \n \n credit_card_postal_code\n \n, \n \n \n credit_card_process_payment\n \n as \n \n credit_card_process_payment\n \n, \n \n \n credit_card_status\n \n as \n \n credit_card_status\n \n, \n \n \n credit_card_transaction_authorization_time\n \n as \n \n credit_card_transaction_authorization_time\n \n, \n \n \n credit_card_type\n \n as \n \n credit_card_type\n \n, \n \n \n currency_id\n \n as \n \n currency_id\n \n, \n \n \n customer_id\n \n as \n \n customer_id\n \n, \n \n \n customer_memo\n \n as \n \n customer_memo\n \n, \n \n \n delivery_time\n \n as \n \n delivery_time\n \n, \n \n \n delivery_type\n \n as \n \n delivery_type\n \n, \n \n \n department_id\n \n as \n \n department_id\n \n, \n \n \n deposit_to_account_id\n \n as \n \n deposit_to_account_id\n \n, \n \n \n doc_number\n \n as \n \n doc_number\n \n, \n \n \n email_status\n \n as \n \n email_status\n \n, \n \n \n exchange_rate\n \n as \n \n exchange_rate\n \n, \n \n \n global_tax_calculation\n \n as \n \n global_tax_calculation\n \n, \n \n \n home_balance\n \n as \n \n home_balance\n \n, \n \n \n home_total_amount\n \n as \n \n home_total_amount\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n payment_method_id\n \n as \n \n payment_method_id\n \n, \n \n \n payment_reference_number\n \n as \n \n payment_reference_number\n \n, \n \n \n print_status\n \n as \n \n print_status\n \n, \n \n \n private_note\n \n as \n \n private_note\n \n, \n \n \n ship_date\n \n as \n \n ship_date\n \n, \n \n \n shipping_address_id\n \n as \n \n shipping_address_id\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n tax_code_id\n \n as \n \n tax_code_id\n \n, \n \n \n total_amount\n \n as \n \n total_amount\n \n, \n \n \n total_tax\n \n as \n \n total_tax\n \n, \n \n \n tracking_number\n \n as \n \n tracking_number\n \n, \n \n \n transaction_date\n \n as \n \n transaction_date\n \n, \n \n \n transaction_source\n \n as \n \n transaction_source\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n\n\n\n \n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as sales_receipt_id,\n balance,\n cast(doc_number as TEXT) as doc_number,\n total_amount,\n cast(deposit_to_account_id as TEXT) as deposit_to_account_id,\n created_at,\n cast(customer_id as TEXT) as customer_id,\n cast(department_id as TEXT) as department_id,\n cast(class_id as TEXT) as class_id,\n currency_id,\n exchange_rate,\n cast( date_trunc('day', transaction_date) as date) as transaction_date,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__invoice_linked_txn": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__invoice_linked_txn", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__invoice_linked_txn.sql", "original_file_path": "models/stg_quickbooks__invoice_linked_txn.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__invoice_linked_txn", "fqn": ["quickbooks_source", "stg_quickbooks__invoice_linked_txn"], "alias": "stg_quickbooks__invoice_linked_txn", "checksum": {"name": "sha256", "checksum": "bb49211839145c91b7cdcd024fccb07fd423d683a46dad77f89382edf53df703"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Mapping table for invoices records to respective estimate and payment objects.", "columns": {"invoice_id": {"name": "invoice_id", "description": "Reference to the unique invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "payment_id": {"name": "payment_id", "description": "Reference to the respective payment object for the invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "estimate_id": {"name": "estimate_id", "description": "Reference to the respective estimate object for the invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the invoice mapping record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1731948867.036841, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__invoice_linked_txn\"", "raw_code": "--To disable this model, set the using_invoice variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_invoice', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__invoice_linked_txn_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__invoice_linked_txn_tmp')),\n staging_columns=get_invoice_linked_txn_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(invoice_id as {{ dbt.type_string() }}) as invoice_id,\n cast(payment_id as {{ dbt.type_string() }}) as payment_id,\n cast(estimate_id as {{ dbt.type_string() }}) as estimate_id,\n index,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__invoice_linked_txn_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__invoice_linked_txn_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_invoice_linked_txn_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__invoice_linked_txn_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__invoice_linked_txn.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_invoice variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__invoice_linked_txn_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n charge_credit_id\n \n as \n \n charge_credit_id\n \n, \n \n \n estimate_id\n \n as \n \n estimate_id\n \n, \n \n \n index\n \n as \n \n index\n \n, \n \n \n invoice_id\n \n as \n \n invoice_id\n \n, \n \n \n payment_id\n \n as \n \n payment_id\n \n, \n \n \n reimburse_charge_id\n \n as \n \n reimburse_charge_id\n \n, \n \n \n statement_charge_id\n \n as \n \n statement_charge_id\n \n, \n \n \n time_activity_id\n \n as \n \n time_activity_id\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(invoice_id as TEXT) as invoice_id,\n cast(payment_id as TEXT) as payment_id,\n cast(estimate_id as TEXT) as estimate_id,\n index,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__invoice": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__invoice", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__invoice.sql", "original_file_path": "models/stg_quickbooks__invoice.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__invoice", "fqn": ["quickbooks_source", "stg_quickbooks__invoice"], "alias": "stg_quickbooks__invoice", "checksum": {"name": "sha256", "checksum": "8286df3daa633d4a141a6dc43ea58925b8c648e36f56f7738e29d8624663eeba"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing invoice records. An Invoice represents a sales form where the customer pays for a product or service later.", "columns": {"invoice_id": {"name": "invoice_id", "description": "Unique identifier of the invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "The balance reflecting any payments made against the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount of the transaction. This includes the total of all the charges, allowances, and taxes.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department associated with the invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_to_account_id": {"name": "deposit_to_account_id", "description": "Identifies the account to be used for this invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date which the deposit transaction occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Customer reference is associated with the invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "billing_address_id": {"name": "billing_address_id", "description": "Reference to the address where the invoice is billed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "shipping_address_id": {"name": "shipping_address_id", "description": "Reference to the address where the invoice is to be shipped.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "delivery_type": {"name": "delivery_type", "description": "How the invoice is delivered to the customer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "due_date": {"name": "due_date", "description": "Date which the invoice payment is due.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class to which the invoice is associated with.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1731948867.0391948, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__invoice\"", "raw_code": "--To disable this model, set the using_invoice variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_invoice', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__invoice_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__invoice_tmp')),\n staging_columns=get_invoice_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as invoice_id,\n balance,\n cast(doc_number as {{ dbt.type_string() }}) as doc_number,\n total_amount,\n currency_id,\n cast(department_id as {{ dbt.type_string() }}) as department_id,\n cast(deposit_to_account_id as {{ dbt.type_string() }}) as deposit_to_account_id,\n exchange_rate,\n cast( {{ dbt.date_trunc('day', 'transaction_date') }} as date) as transaction_date,\n cast(customer_id as {{ dbt.type_string() }}) as customer_id,\n cast(billing_address_id as {{ dbt.type_string() }}) as billing_address_id,\n shipping_address_id,\n delivery_type,\n cast( {{ dbt.date_trunc('day', 'due_date') }} as date) as due_date, \n cast(class_id as {{ dbt.type_string() }}) as class_id,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__invoice_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__invoice_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_invoice_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string", "macro.dbt.date_trunc"], "nodes": ["model.quickbooks_source.stg_quickbooks__invoice_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__invoice.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_invoice variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__invoice_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n allow_ipnpayment\n \n as \n \n allow_ipnpayment\n \n, \n \n \n allow_online_achpayment\n \n as \n \n allow_online_achpayment\n \n, \n \n \n allow_online_credit_card_payment\n \n as \n \n allow_online_credit_card_payment\n \n, \n \n \n allow_online_payment\n \n as \n \n allow_online_payment\n \n, \n \n \n apply_tax_after_discount\n \n as \n \n apply_tax_after_discount\n \n, \n \n \n balance\n \n as \n \n balance\n \n, \n \n \n billing_address_id\n \n as \n \n billing_address_id\n \n, \n \n \n billing_bcc_email\n \n as \n \n billing_bcc_email\n \n, \n \n \n billing_cc_email\n \n as \n \n billing_cc_email\n \n, \n \n \n billing_email\n \n as \n \n billing_email\n \n, \n \n \n class_id\n \n as \n \n class_id\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n currency_id\n \n as \n \n currency_id\n \n, \n \n \n custom_p_o_number\n \n as \n \n custom_p_o_number\n \n, \n \n \n custom_sales_rep\n \n as \n \n custom_sales_rep\n \n, \n \n \n customer_id\n \n as \n \n customer_id\n \n, \n \n \n customer_memo\n \n as \n \n customer_memo\n \n, \n \n \n delivery_time\n \n as \n \n delivery_time\n \n, \n \n \n delivery_type\n \n as \n \n delivery_type\n \n, \n \n \n department_id\n \n as \n \n department_id\n \n, \n \n \n deposit\n \n as \n \n deposit\n \n, \n \n \n deposit_to_account_id\n \n as \n \n deposit_to_account_id\n \n, \n \n \n doc_number\n \n as \n \n doc_number\n \n, \n \n \n due_date\n \n as \n \n due_date\n \n, \n \n \n email_status\n \n as \n \n email_status\n \n, \n \n \n exchange_rate\n \n as \n \n exchange_rate\n \n, \n \n \n global_tax_calculation\n \n as \n \n global_tax_calculation\n \n, \n \n \n home_balance\n \n as \n \n home_balance\n \n, \n \n \n home_total_amount\n \n as \n \n home_total_amount\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n print_status\n \n as \n \n print_status\n \n, \n \n \n private_note\n \n as \n \n private_note\n \n, \n \n \n sales_term_id\n \n as \n \n sales_term_id\n \n, \n \n \n ship_date\n \n as \n \n ship_date\n \n, \n \n \n shipping_address_id\n \n as \n \n shipping_address_id\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n tax_code_id\n \n as \n \n tax_code_id\n \n, \n \n \n total_amount\n \n as \n \n total_amount\n \n, \n \n \n total_tax\n \n as \n \n total_tax\n \n, \n \n \n tracking_number\n \n as \n \n tracking_number\n \n, \n \n \n transaction_date\n \n as \n \n transaction_date\n \n, \n \n \n transaction_source\n \n as \n \n transaction_source\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as invoice_id,\n balance,\n cast(doc_number as TEXT) as doc_number,\n total_amount,\n currency_id,\n cast(department_id as TEXT) as department_id,\n cast(deposit_to_account_id as TEXT) as deposit_to_account_id,\n exchange_rate,\n cast( date_trunc('day', transaction_date) as date) as transaction_date,\n cast(customer_id as TEXT) as customer_id,\n cast(billing_address_id as TEXT) as billing_address_id,\n shipping_address_id,\n delivery_type,\n cast( date_trunc('day', due_date) as date) as due_date, \n cast(class_id as TEXT) as class_id,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__bill_payment": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__bill_payment", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__bill_payment.sql", "original_file_path": "models/stg_quickbooks__bill_payment.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__bill_payment", "fqn": ["quickbooks_source", "stg_quickbooks__bill_payment"], "alias": "stg_quickbooks__bill_payment", "checksum": {"name": "sha256", "checksum": "a0d37a8d17ab821a2dca64277e09e035b6685394a09c8b4e79619b550a7cb69d"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing payment transactions bills that the business owner receives from a vendor for goods or services purchased from the vendor.", "columns": {"bill_payment_id": {"name": "bill_payment_id", "description": "Unique identifier of the bill payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "check_bank_account_id": {"name": "check_bank_account_id", "description": "Account id of the account which the bill payment is credited. Only applicable if bill payment `pay_type` is of type check.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "check_print_status": {"name": "check_print_status", "description": "Status of the check which was used as payment for the bill. Only applicable if bill payment `pay_type` is of type Check.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "credit_card_account_id": {"name": "credit_card_account_id", "description": "Account id of the account which the bill is credited. Only applicable if bill payment `pay_type` is of type CreditCard.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by CurrencyRef. Applicable if multicurrency is enabled for the company.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to a Department object specifying the location of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "pay_type": {"name": "pay_type", "description": "The payment type. Valid values include Check, CreditCard", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount associated with this payment. This includes the total of all the payments from the payment line details.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date of the day the transaction took place.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_id": {"name": "vendor_id", "description": "Reference to the vendor for this transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1731948867.0272052, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill_payment\"", "raw_code": "--To disable this model, set the using_bill_payment variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_bill', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__bill_payment_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__bill_payment_tmp')),\n staging_columns=get_bill_payment_columns()\n )\n }}\n \n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as bill_payment_id,\n cast(check_bank_account_id as {{ dbt.type_string() }}) as check_bank_account_id,\n check_print_status,\n cast(credit_card_account_id as {{ dbt.type_string() }}) as credit_card_account_id,\n exchange_rate,\n currency_id,\n cast(department_id as {{ dbt.type_string() }}) as department_id,\n pay_type,\n total_amount,\n cast( {{ dbt.date_trunc('day', 'transaction_date') }} as date) as transaction_date,\n cast(vendor_id as {{ dbt.type_string() }}) as vendor_id,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__bill_payment_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__bill_payment_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_bill_payment_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string", "macro.dbt.date_trunc"], "nodes": ["model.quickbooks_source.stg_quickbooks__bill_payment_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__bill_payment.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_bill_payment variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill_payment_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n check_bank_account_id\n \n as \n \n check_bank_account_id\n \n, \n \n \n check_print_status\n \n as \n \n check_print_status\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n credit_card_account_id\n \n as \n \n credit_card_account_id\n \n, \n \n \n currency_id\n \n as \n \n currency_id\n \n, \n \n \n department_id\n \n as \n \n department_id\n \n, \n \n \n doc_number\n \n as \n \n doc_number\n \n, \n \n \n exchange_rate\n \n as \n \n exchange_rate\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n pay_type\n \n as \n \n pay_type\n \n, \n \n \n payable_account_id\n \n as \n \n payable_account_id\n \n, \n \n \n private_note\n \n as \n \n private_note\n \n, \n \n \n process_bill_payment\n \n as \n \n process_bill_payment\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n total_amount\n \n as \n \n total_amount\n \n, \n \n \n transaction_date\n \n as \n \n transaction_date\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n, \n \n \n vendor_id\n \n as \n \n vendor_id\n \n\n\n\n \n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as bill_payment_id,\n cast(check_bank_account_id as TEXT) as check_bank_account_id,\n check_print_status,\n cast(credit_card_account_id as TEXT) as credit_card_account_id,\n exchange_rate,\n currency_id,\n cast(department_id as TEXT) as department_id,\n pay_type,\n total_amount,\n cast( date_trunc('day', transaction_date) as date) as transaction_date,\n cast(vendor_id as TEXT) as vendor_id,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__invoice_line_bundle": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__invoice_line_bundle", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__invoice_line_bundle.sql", "original_file_path": "models/stg_quickbooks__invoice_line_bundle.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__invoice_line_bundle", "fqn": ["quickbooks_source", "stg_quickbooks__invoice_line_bundle"], "alias": "stg_quickbooks__invoice_line_bundle", "checksum": {"name": "sha256", "checksum": "40042ced0fa4753a77042f69d19a85a5954fce059c64c0ff5ca0f670570a3875"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing lines of an invoice which were bundled.", "columns": {"invoice_id": {"name": "invoice_id", "description": "Unique identifier of the invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "invoice_line_index": {"name": "invoice_line_index", "description": "Invoice index count of records associated with the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated with the invoice line bundle.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Total monetary value of the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_item_id": {"name": "sales_item_item_id", "description": "Reference to the sales item on the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_id": {"name": "item_id", "description": "Reference to the item on the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "quantity": {"name": "quantity", "description": "Total quantity of the item on the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_quantity": {"name": "sales_item_quantity", "description": "Total quantity in relation to the sales item on the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "Reference to the account associated with the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "unit_price": {"name": "unit_price", "description": "Unit price of the line item included on the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1731948867.038338, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__invoice_line_bundle\"", "raw_code": "--To disable this model, set the using_invoice_bundle variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_invoice_bundle', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__invoice_line_bundle_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__invoice_line_bundle_tmp')),\n staging_columns=get_invoice_line_bundle_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(invoice_id as {{ dbt.type_string() }}) as invoice_id,\n index,\n cast(class_id as {{ dbt.type_string() }}) as class_id,\n description,\n amount,\n cast(sales_item_item_id as {{ dbt.type_string() }}) as sales_item_item_id,\n cast(item_id as {{ dbt.type_string() }}) as item_id,\n quantity,\n sales_item_quantity,\n cast(account_id as {{ dbt.type_string() }}) as account_id,\n unit_price,\n invoice_line_index,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__invoice_line_bundle_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__invoice_line_bundle_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_invoice_line_bundle_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__invoice_line_bundle_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__invoice_line_bundle.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_invoice_bundle variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__invoice_line_bundle_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n account_id\n \n as \n \n account_id\n \n, \n \n \n amount\n \n as \n \n amount\n \n, \n \n \n class_id\n \n as \n \n class_id\n \n, \n \n \n description\n \n as \n \n description\n \n, \n \n \n discount_amount\n \n as \n \n discount_amount\n \n, \n \n \n discount_rate\n \n as \n \n discount_rate\n \n, \n \n \n index\n \n as \n \n index\n \n, \n \n \n invoice_id\n \n as \n \n invoice_id\n \n, \n \n \n invoice_line_index\n \n as \n \n invoice_line_index\n \n, \n \n \n item_id\n \n as \n \n item_id\n \n, \n \n \n line_num\n \n as \n \n line_num\n \n, \n \n \n quantity\n \n as \n \n quantity\n \n, \n \n \n sales_item_account_id\n \n as \n \n sales_item_account_id\n \n, \n \n \n sales_item_item_id\n \n as \n \n sales_item_item_id\n \n, \n \n \n sales_item_quantity\n \n as \n \n sales_item_quantity\n \n, \n \n \n sales_item_tax_code_id\n \n as \n \n sales_item_tax_code_id\n \n, \n \n \n service_date\n \n as \n \n service_date\n \n, \n \n \n tax_code_id\n \n as \n \n tax_code_id\n \n, \n \n \n unit_price\n \n as \n \n unit_price\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(invoice_id as TEXT) as invoice_id,\n index,\n cast(class_id as TEXT) as class_id,\n description,\n amount,\n cast(sales_item_item_id as TEXT) as sales_item_item_id,\n cast(item_id as TEXT) as item_id,\n quantity,\n sales_item_quantity,\n cast(account_id as TEXT) as account_id,\n unit_price,\n invoice_line_index,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__account": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__account", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__account.sql", "original_file_path": "models/stg_quickbooks__account.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__account", "fqn": ["quickbooks_source", "stg_quickbooks__account"], "alias": "stg_quickbooks__account", "checksum": {"name": "sha256", "checksum": "b62481ce27574ece6542e1dd227980bb187229db34c152488c722bc71d203b7a"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing components of a Chart Of Accounts and is part of a ledger. It is used to record a total monetary amount allocated against a specific use. Accounts are one of five basic types: asset, liability, revenue (income), expenses, or equity.", "columns": {"account_id": {"name": "account_id", "description": "Unique identifier for an account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_number": {"name": "account_number", "description": "User-defined account number intended to identify the account within the Chart of Accounts.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_sub_account": {"name": "is_sub_account", "description": "Specifies whether this object represents a parent (false) or a sub_account (true).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "parent_account_id": {"name": "parent_account_id", "description": "User entered description for the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "User recognizable name for the Account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_type": {"name": "account_type", "description": "A detailed account classification that specifies the use of this account. The type is based on the Classification.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_active": {"name": "is_active", "description": "Boolean indicating whether an account is currently active.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_sub_type": {"name": "account_sub_type", "description": "The account sub-type classification and is based on the AccountType value.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "classification": {"name": "classification", "description": "The classification of an account. Not supported for non-posting accounts. Valid values include Asset, Equity, Expense, Liability, Revenue.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the date the account was created.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency which the account records the balance in.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "fully_qualified_name": {"name": "fully_qualified_name", "description": "Full name of the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "Specifies the balance amount for the current Account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance_with_sub_accounts": {"name": "balance_with_sub_accounts", "description": "Specifies the balance amount for the current Account sub accounts.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of the date which the account was last updated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table"}, "created_at": 1731948867.0206661, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__account\"", "raw_code": "with base as (\n select *\n from {{ ref('stg_quickbooks__account_tmp') }}\n\n),\n\naccount as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__account_tmp')),\n staging_columns=get_account_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n from base\n),\n\nfinal as (\n\n select\n cast(id as {{ dbt.type_string() }}) as account_id,\n cast(account_number as {{ dbt.type_string() }}) as account_number,\n sub_account as is_sub_account,\n cast(parent_account_id as {{ dbt.type_string() }}) as parent_account_id,\n name,\n account_type,\n account_sub_type,\n classification,\n balance,\n balance_with_sub_accounts,\n active as is_active,\n created_at,\n currency_id,\n description,\n fully_qualified_name,\n updated_at,\n source_relation,\n _fivetran_deleted \n from account\n)\n\nselect *\nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__account_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__account_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_account_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__account_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__account.sql", "compiled": true, "compiled_code": "with base as (\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__account_tmp\"\n\n),\n\naccount as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n account_number\n \n as \n \n account_number\n \n, \n \n \n account_sub_type\n \n as \n \n account_sub_type\n \n, \n \n \n account_type\n \n as \n \n account_type\n \n, \n \n \n active\n \n as \n \n active\n \n, \n \n \n balance\n \n as \n \n balance\n \n, \n \n \n balance_with_sub_accounts\n \n as \n \n balance_with_sub_accounts\n \n, \n \n \n classification\n \n as \n \n classification\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n currency_id\n \n as \n \n currency_id\n \n, \n \n \n description\n \n as \n \n description\n \n, \n \n \n fully_qualified_name\n \n as \n \n fully_qualified_name\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n parent_account_id\n \n as \n \n parent_account_id\n \n, \n \n \n sub_account\n \n as \n \n sub_account\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n tax_code_id\n \n as \n \n tax_code_id\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n\n from base\n),\n\nfinal as (\n\n select\n cast(id as TEXT) as account_id,\n cast(account_number as TEXT) as account_number,\n sub_account as is_sub_account,\n cast(parent_account_id as TEXT) as parent_account_id,\n name,\n account_type,\n account_sub_type,\n classification,\n balance,\n balance_with_sub_accounts,\n active as is_active,\n created_at,\n currency_id,\n description,\n fully_qualified_name,\n updated_at,\n source_relation,\n _fivetran_deleted \n from account\n)\n\nselect *\nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__payment": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__payment", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__payment.sql", "original_file_path": "models/stg_quickbooks__payment.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__payment", "fqn": ["quickbooks_source", "stg_quickbooks__payment"], "alias": "stg_quickbooks__payment", "checksum": {"name": "sha256", "checksum": "d0fa9e29f67ad312d9d6b315026fe29cb6febc252406f9ee37bbc9d79d2b6644"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing all payment records. The payment can be applied for a particular customer against multiple Invoices and Credit Memos. It can also be created without any Invoice or Credit Memo, by just specifying an amount.", "columns": {"payment_id": {"name": "payment_id", "description": "Unique identifier of the payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "unapplied_amount": {"name": "unapplied_amount", "description": "Indicates the amount that has not been applied to pay amounts owed for sales transactions.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "receivable_account_id": {"name": "receivable_account_id", "description": "Identifies the account for obtaining a receivable from this payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_to_account_id": {"name": "deposit_to_account_id", "description": "Identifies the account to be used for this payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date when the payment occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Reference to a customer or job.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1731948867.0427148, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__payment\"", "raw_code": "--To disable this model, set the using_payment variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_payment', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__payment_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__payment_tmp')),\n staging_columns=get_payment_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as payment_id,\n unapplied_amount,\n total_amount,\n currency_id,\n cast(receivable_account_id as {{ dbt.type_string() }}) as receivable_account_id,\n cast(deposit_to_account_id as {{ dbt.type_string() }}) as deposit_to_account_id,\n exchange_rate,\n cast( {{ dbt.date_trunc('day', 'transaction_date') }} as date) as transaction_date,\n cast(customer_id as {{ dbt.type_string() }}) as customer_id,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__payment_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__payment_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_payment_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string", "macro.dbt.date_trunc"], "nodes": ["model.quickbooks_source.stg_quickbooks__payment_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__payment.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_payment variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__payment_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n credit_card_amount\n \n as \n \n credit_card_amount\n \n, \n \n \n credit_card_auth_code\n \n as \n \n credit_card_auth_code\n \n, \n \n \n credit_card_billing_address_street\n \n as \n \n credit_card_billing_address_street\n \n, \n \n \n credit_card_cc_expiry_month\n \n as \n \n credit_card_cc_expiry_month\n \n, \n \n \n credit_card_cc_expiry_year\n \n as \n \n credit_card_cc_expiry_year\n \n, \n \n \n credit_card_cctrans_id\n \n as \n \n credit_card_cctrans_id\n \n, \n \n \n credit_card_name_on_account\n \n as \n \n credit_card_name_on_account\n \n, \n \n \n credit_card_postal_code\n \n as \n \n credit_card_postal_code\n \n, \n \n \n credit_card_process_payment\n \n as \n \n credit_card_process_payment\n \n, \n \n \n credit_card_status\n \n as \n \n credit_card_status\n \n, \n \n \n credit_card_transaction_authorization_time\n \n as \n \n credit_card_transaction_authorization_time\n \n, \n \n \n credit_card_type\n \n as \n \n credit_card_type\n \n, \n \n \n currency_id\n \n as \n \n currency_id\n \n, \n \n \n customer_id\n \n as \n \n customer_id\n \n, \n \n \n deposit_to_account_id\n \n as \n \n deposit_to_account_id\n \n, \n \n \n exchange_rate\n \n as \n \n exchange_rate\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n payment_method_id\n \n as \n \n payment_method_id\n \n, \n \n \n private_note\n \n as \n \n private_note\n \n, \n \n \n process_payment\n \n as \n \n process_payment\n \n, \n \n \n receivable_account_id\n \n as \n \n receivable_account_id\n \n, \n \n \n reference_number\n \n as \n \n reference_number\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n total_amount\n \n as \n \n total_amount\n \n, \n \n \n transaction_date\n \n as \n \n transaction_date\n \n, \n \n \n transaction_source\n \n as \n \n transaction_source\n \n, \n \n \n transaction_status\n \n as \n \n transaction_status\n \n, \n \n \n unapplied_amount\n \n as \n \n unapplied_amount\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as payment_id,\n unapplied_amount,\n total_amount,\n currency_id,\n cast(receivable_account_id as TEXT) as receivable_account_id,\n cast(deposit_to_account_id as TEXT) as deposit_to_account_id,\n exchange_rate,\n cast( date_trunc('day', transaction_date) as date) as transaction_date,\n cast(customer_id as TEXT) as customer_id,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__estimate_line": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__estimate_line", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__estimate_line.sql", "original_file_path": "models/stg_quickbooks__estimate_line.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__estimate_line", "fqn": ["quickbooks_source", "stg_quickbooks__estimate_line"], "alias": "stg_quickbooks__estimate_line", "checksum": {"name": "sha256", "checksum": "21869ab5e01acfd7c637f73791ce66e4237c3d48691f0f4470ff9502f9cb7ea9"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing line item records of an estimate.", "columns": {"estimate_id": {"name": "estimate_id", "description": "Reference to the unique estimate record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the estimate line record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_account_id": {"name": "discount_account_id", "description": "Reference to the account associated with the discount estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_class_id": {"name": "discount_class_id", "description": "Reference to the class associated with the discount estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_account_id": {"name": "sales_item_account_id", "description": "Reference to the account associated with the sales estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_class_id": {"name": "sales_item_class_id", "description": "Reference to the class associated with the sales estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_item_id": {"name": "sales_item_item_id", "description": "Reference to the item associated with a sales estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_quantity": {"name": "sales_item_quantity", "description": "Quantity of the item for a sales estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_id": {"name": "item_id", "description": "Reference to the item associated with the estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "quantity": {"name": "quantity", "description": "Quantity of the item for the estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "Reference to the account associated with the estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1731948867.0363011, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__estimate_line\"", "raw_code": "--To disable this model, set the using_estimate variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_estimate', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__estimate_line_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__estimate_line_tmp')),\n staging_columns=get_estimate_line_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(estimate_id as {{ dbt.type_string() }}) as estimate_id,\n index,\n description,\n discount_account_id,\n cast(discount_class_id as {{ dbt.type_string() }}) as discount_class_id,\n sales_item_account_id,\n cast(sales_item_class_id as {{ dbt.type_string() }}) as sales_item_class_id,\n sales_item_item_id,\n sales_item_quantity,\n item_id,\n quantity,\n account_id,\n amount,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__estimate_line_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__estimate_line_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_estimate_line_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__estimate_line_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__estimate_line.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_estimate variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__estimate_line_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n account_id\n \n as \n \n account_id\n \n, \n \n \n amount\n \n as \n \n amount\n \n, \n \n \n bundle_id\n \n as \n \n bundle_id\n \n, \n \n \n bundle_quantity\n \n as \n \n bundle_quantity\n \n, \n \n \n description\n \n as \n \n description\n \n, \n \n \n description_service_date\n \n as \n \n description_service_date\n \n, \n \n \n description_tax_code_id\n \n as \n \n description_tax_code_id\n \n, \n \n \n discount_account_id\n \n as \n \n discount_account_id\n \n, \n \n \n discount_class_id\n \n as \n \n discount_class_id\n \n, \n \n \n discount_discount_percent\n \n as \n \n discount_discount_percent\n \n, \n \n \n discount_percent_based\n \n as \n \n discount_percent_based\n \n, \n \n \n discount_tax_code_id\n \n as \n \n discount_tax_code_id\n \n, \n \n \n estimate_id\n \n as \n \n estimate_id\n \n, \n \n \n index\n \n as \n \n index\n \n, \n \n \n item_id\n \n as \n \n item_id\n \n, \n \n \n quantity\n \n as \n \n quantity\n \n, \n \n \n sales_item_account_id\n \n as \n \n sales_item_account_id\n \n, \n \n \n sales_item_class_id\n \n as \n \n sales_item_class_id\n \n, \n \n \n sales_item_discount_amount\n \n as \n \n sales_item_discount_amount\n \n, \n \n \n sales_item_discount_rate\n \n as \n \n sales_item_discount_rate\n \n, \n \n \n sales_item_item_id\n \n as \n \n sales_item_item_id\n \n, \n \n \n sales_item_quantity\n \n as \n \n sales_item_quantity\n \n, \n \n \n sales_item_service_date\n \n as \n \n sales_item_service_date\n \n, \n \n \n sales_item_tax_code_id\n \n as \n \n sales_item_tax_code_id\n \n, \n \n \n sales_item_unit_price\n \n as \n \n sales_item_unit_price\n \n, \n \n \n sub_total_item_id\n \n as \n \n sub_total_item_id\n \n, \n \n \n tax_code_id\n \n as \n \n tax_code_id\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(estimate_id as TEXT) as estimate_id,\n index,\n description,\n discount_account_id,\n cast(discount_class_id as TEXT) as discount_class_id,\n sales_item_account_id,\n cast(sales_item_class_id as TEXT) as sales_item_class_id,\n sales_item_item_id,\n sales_item_quantity,\n item_id,\n quantity,\n account_id,\n amount,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__bill_linked_txn": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__bill_linked_txn", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__bill_linked_txn.sql", "original_file_path": "models/stg_quickbooks__bill_linked_txn.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__bill_linked_txn", "fqn": ["quickbooks_source", "stg_quickbooks__bill_linked_txn"], "alias": "stg_quickbooks__bill_linked_txn", "checksum": {"name": "sha256", "checksum": "516a32bd9bf6c3592d911ecca3304b44d9fce3d9793fab1abceff9596f6e1755"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Mapping table containing bill payment transactions linked to a bill.", "columns": {"bill_id": {"name": "bill_id", "description": "The Unique identifier of the bill record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records from a single bill record associated with payment ids.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "bill_payment_id": {"name": "bill_payment_id", "description": "The Unique identifier of the bill payment id record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1731948867.024817, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill_linked_txn\"", "raw_code": "--To disable this model, set the using_bill and using_bill_payment variables within your dbt_project.yml file to False.\n{{ config(enabled=var('using_bill', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__bill_linked_txn_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__bill_linked_txn_tmp')),\n staging_columns=get_bill_linked_txn_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(bill_id as {{ dbt.type_string() }}) as bill_id,\n index,\n cast(bill_payment_id as {{ dbt.type_string() }}) as bill_payment_id,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__bill_linked_txn_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__bill_linked_txn_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_bill_linked_txn_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__bill_linked_txn_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__bill_linked_txn.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_bill and using_bill_payment variables within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill_linked_txn_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n bill_id\n \n as \n \n bill_id\n \n, \n \n \n bill_payment_id\n \n as \n \n bill_payment_id\n \n, \n \n \n index\n \n as \n \n index\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(bill_id as TEXT) as bill_id,\n index,\n cast(bill_payment_id as TEXT) as bill_payment_id,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__address": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__address", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__address.sql", "original_file_path": "models/stg_quickbooks__address.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__address", "fqn": ["quickbooks_source", "stg_quickbooks__address"], "alias": "stg_quickbooks__address", "checksum": {"name": "sha256", "checksum": "33aa8f1a41d608a881f7278c4c9628529b0dc0c0e0202b22666e042bb175aedd"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing address details.", "columns": {"address_id": {"name": "address_id", "description": "Unique identifier for an address.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "city": {"name": "city", "description": "The city which the address is located.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "country": {"name": "country", "description": "The country which the address is located.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "address_1": {"name": "address_1", "description": "The address_line_1 associated with the address.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "address_2": {"name": "address_2", "description": "The address_line_2 associated with the address (if applicable).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "postal_code": {"name": "postal_code", "description": "The postal code which the address is located.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1731948867.021826, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__address\"", "raw_code": "--To disable this model, set the using_address variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_address', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__address_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__address_tmp')),\n staging_columns=get_address_columns()\n )\n }}\n \n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as address_id,\n city,\n country,\n line_1 as address_1,\n line_2 as address_2,\n postal_code,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__address_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__address_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_address_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__address_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__address.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_address variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__address_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n city\n \n as \n \n city\n \n, \n \n \n country\n \n as \n \n country\n \n, \n \n \n country_sub_division_code\n \n as \n \n country_sub_division_code\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n latitude\n \n as \n \n latitude\n \n, \n \n \n line_1\n \n as \n \n line_1\n \n, \n \n \n line_2\n \n as \n \n line_2\n \n, \n \n \n line_3\n \n as \n \n line_3\n \n, \n \n \n line_4\n \n as \n \n line_4\n \n, \n \n \n line_5\n \n as \n \n line_5\n \n, \n \n \n longitude\n \n as \n \n longitude\n \n, \n \n \n postal_code\n \n as \n \n postal_code\n \n\n\n\n \n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as address_id,\n city,\n country,\n line_1 as address_1,\n line_2 as address_2,\n postal_code,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__bill": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__bill", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__bill.sql", "original_file_path": "models/stg_quickbooks__bill.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__bill", "fqn": ["quickbooks_source", "stg_quickbooks__bill"], "alias": "stg_quickbooks__bill", "checksum": {"name": "sha256", "checksum": "0cfa46e4802ec8c5532be9084b04bd5c3eda3de4d1b8a0fe15b662eebf6ea9fd"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing AP transactions representing a request-for-payment from a third party for goods/services rendered, received, or both.", "columns": {"bill_id": {"name": "bill_id", "description": "Unique identifier of the bill record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "The balance reflecting any payments made against the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department the bill is linked with.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Total monetary amount of all bill line items.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_id": {"name": "vendor_id", "description": "Reference to the vendor the bill is linked with.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "due_date_at": {"name": "due_date_at", "description": "Date which the bill is due.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date when the bill transaction occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "payable_account_id": {"name": "payable_account_id", "description": "Account id of the account which the bill is credited.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "private_note": {"name": "private_note", "description": "User entered, organization-private note about the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1731948867.028113, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill\"", "raw_code": "--To disable this model, set the using_bill variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_bill', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__bill_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__bill_tmp')),\n staging_columns=get_bill_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n \nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as bill_id,\n balance,\n cast(doc_number as {{ dbt.type_string() }}) as doc_number,\n currency_id,\n cast(department_id as {{ dbt.type_string() }}) as department_id,\n cast( {{ dbt.date_trunc('day', 'due_date') }} as date) as due_date_at, \n cast( {{ dbt.date_trunc('day', 'transaction_date') }} as date) as transaction_date,\n exchange_rate,\n cast(payable_account_id as {{ dbt.type_string() }}) as payable_account_id,\n total_amount,\n cast(vendor_id as {{ dbt.type_string() }}) as vendor_id,\n private_note,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__bill_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__bill_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_bill_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string", "macro.dbt.date_trunc"], "nodes": ["model.quickbooks_source.stg_quickbooks__bill_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__bill.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_bill variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n balance\n \n as \n \n balance\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n currency_id\n \n as \n \n currency_id\n \n, \n \n \n department_id\n \n as \n \n department_id\n \n, \n \n \n doc_number\n \n as \n \n doc_number\n \n, \n \n \n due_date\n \n as \n \n due_date\n \n, \n \n \n exchange_rate\n \n as \n \n exchange_rate\n \n, \n \n \n global_tax_calculation\n \n as \n \n global_tax_calculation\n \n, \n \n \n home_balance\n \n as \n \n home_balance\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n payable_account_id\n \n as \n \n payable_account_id\n \n, \n \n \n private_note\n \n as \n \n private_note\n \n, \n \n \n sales_term_id\n \n as \n \n sales_term_id\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n total_amount\n \n as \n \n total_amount\n \n, \n \n \n transaction_date\n \n as \n \n transaction_date\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n, \n \n \n vendor_id\n \n as \n \n vendor_id\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n \nfinal as (\n \n select \n cast(id as TEXT) as bill_id,\n balance,\n cast(doc_number as TEXT) as doc_number,\n currency_id,\n cast(department_id as TEXT) as department_id,\n cast( date_trunc('day', due_date) as date) as due_date_at, \n cast( date_trunc('day', transaction_date) as date) as transaction_date,\n exchange_rate,\n cast(payable_account_id as TEXT) as payable_account_id,\n total_amount,\n cast(vendor_id as TEXT) as vendor_id,\n private_note,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__bill_line": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__bill_line", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__bill_line.sql", "original_file_path": "models/stg_quickbooks__bill_line.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__bill_line", "fqn": ["quickbooks_source", "stg_quickbooks__bill_line"], "alias": "stg_quickbooks__bill_line", "checksum": {"name": "sha256", "checksum": "44ef859df96026bf155072c979ce7f823131b3444c917424f3573ccef213ac51"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing distinct line items from bills within the `bill` table.", "columns": {"bill_id": {"name": "bill_id", "description": "The Unique identifier of the parent bill record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Bill line index in reference to the parent bill.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_class_id": {"name": "account_expense_class_id", "description": "The class reference associated with the account based expense bill line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_customer_id": {"name": "account_expense_customer_id", "description": "The customer reference associated with the account based expense bill line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_item_id": {"name": "item_expense_item_id", "description": "The item reference associated with the item based expense bill line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_customer_id": {"name": "item_expense_customer_id", "description": "The customer reference associated with the item based expense bill line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_billable_status": {"name": "item_expense_billable_status", "description": "The billable status of the item based expense bill line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_class_id": {"name": "item_expense_class_id", "description": "The class reference associated with the item based expense bill line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_account_id": {"name": "account_expense_account_id", "description": "The id of the account being expensed from the bill.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_billable_status": {"name": "account_expense_billable_status", "description": "The status of the bill line item expense.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_tax_code_id": {"name": "account_expense_tax_code_id", "description": "The tax code id associated with the bill.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the bill line item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the bill line item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1731948867.024374, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill_line\"", "raw_code": "--To disable this model, set the using_bill variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_bill', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__bill_line_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__bill_line_tmp')),\n staging_columns=get_bill_line_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(bill_id as {{ dbt.type_string() }}) as bill_id,\n index,\n cast(account_expense_account_id as {{ dbt.type_string() }}) as account_expense_account_id,\n cast(account_expense_class_id as {{ dbt.type_string() }}) as account_expense_class_id,\n account_expense_billable_status,\n account_expense_tax_code_id,\n cast(account_expense_customer_id as {{ dbt.type_string() }}) as account_expense_customer_id,\n cast(item_expense_item_id as {{ dbt.type_string() }}) as item_expense_item_id,\n cast(item_expense_customer_id as {{ dbt.type_string() }}) as item_expense_customer_id,\n item_expense_billable_status,\n cast(item_expense_class_id as {{ dbt.type_string() }}) as item_expense_class_id,\n amount,\n description,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__bill_line_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__bill_line_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_bill_line_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__bill_line_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__bill_line.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_bill variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill_line_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n account_expense_account_id\n \n as \n \n account_expense_account_id\n \n, \n \n \n account_expense_billable_status\n \n as \n \n account_expense_billable_status\n \n, \n \n \n account_expense_class_id\n \n as \n \n account_expense_class_id\n \n, \n \n \n account_expense_customer_id\n \n as \n \n account_expense_customer_id\n \n, \n \n \n account_expense_tax_amount\n \n as \n \n account_expense_tax_amount\n \n, \n \n \n account_expense_tax_code_id\n \n as \n \n account_expense_tax_code_id\n \n, \n \n \n amount\n \n as \n \n amount\n \n, \n \n \n bill_id\n \n as \n \n bill_id\n \n, \n \n \n description\n \n as \n \n description\n \n, \n \n \n index\n \n as \n \n index\n \n, \n \n \n item_expense_billable_status\n \n as \n \n item_expense_billable_status\n \n, \n \n \n item_expense_class_id\n \n as \n \n item_expense_class_id\n \n, \n \n \n item_expense_customer_id\n \n as \n \n item_expense_customer_id\n \n, \n \n \n item_expense_item_id\n \n as \n \n item_expense_item_id\n \n, \n \n \n item_expense_quantity\n \n as \n \n item_expense_quantity\n \n, \n \n \n item_expense_tax_code_id\n \n as \n \n item_expense_tax_code_id\n \n, \n \n \n item_expense_unit_price\n \n as \n \n item_expense_unit_price\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(bill_id as TEXT) as bill_id,\n index,\n cast(account_expense_account_id as TEXT) as account_expense_account_id,\n cast(account_expense_class_id as TEXT) as account_expense_class_id,\n account_expense_billable_status,\n account_expense_tax_code_id,\n cast(account_expense_customer_id as TEXT) as account_expense_customer_id,\n cast(item_expense_item_id as TEXT) as item_expense_item_id,\n cast(item_expense_customer_id as TEXT) as item_expense_customer_id,\n item_expense_billable_status,\n cast(item_expense_class_id as TEXT) as item_expense_class_id,\n amount,\n description,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__journal_entry": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__journal_entry", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__journal_entry.sql", "original_file_path": "models/stg_quickbooks__journal_entry.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__journal_entry", "fqn": ["quickbooks_source", "stg_quickbooks__journal_entry"], "alias": "stg_quickbooks__journal_entry", "checksum": {"name": "sha256", "checksum": "493f237b88aba155a011797bffd6c182cb49e9e0b8ef32a4472bca090fbc1022"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing journal entry transactions.", "columns": {"journal_entry_id": {"name": "journal_entry_id", "description": "Unique identifier of the journal entry.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_adjustment": {"name": "is_adjustment", "description": "Indicates the total amount of the transaction. This includes the total of all the charges, allowances, and taxes. By default, this is recalculated by the system based on sub-items total and overridden.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the date when the journal entry was created.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "private_note": {"name": "private_note", "description": "User entered, organization-private note about the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "The value of this field will always be set to zero.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date when the journal entry was transacted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1731948867.041713, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__journal_entry\"", "raw_code": "--To disable this model, set the using_journal_entry variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_journal_entry', True)) }}\n\nwith base as (\n\n select *\n from {{ ref('stg_quickbooks__journal_entry_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns\n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns\n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__journal_entry_tmp')),\n staging_columns=get_journal_entry_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n from base\n),\n\nfinal as (\n\n select\n cast(id as {{ dbt.type_string() }}) as journal_entry_id,\n adjustment as is_adjustment,\n created_at,\n currency_id,\n cast(doc_number as {{ dbt.type_string() }}) as doc_number,\n exchange_rate,\n private_note,\n total_amount,\n cast( {{ dbt.date_trunc('day', 'transaction_date') }} as date) as transaction_date,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect *\nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__journal_entry_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__journal_entry_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_journal_entry_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string", "macro.dbt.date_trunc"], "nodes": ["model.quickbooks_source.stg_quickbooks__journal_entry_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__journal_entry.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_journal_entry variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__journal_entry_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns\n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns\n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n adjustment\n \n as \n \n adjustment\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n currency_id\n \n as \n \n currency_id\n \n, \n \n \n doc_number\n \n as \n \n doc_number\n \n, \n \n \n exchange_rate\n \n as \n \n exchange_rate\n \n, \n \n \n home_total_amount\n \n as \n \n home_total_amount\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n private_note\n \n as \n \n private_note\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n tax_code_id\n \n as \n \n tax_code_id\n \n, \n \n \n total_amount\n \n as \n \n total_amount\n \n, \n \n \n total_tax\n \n as \n \n total_tax\n \n, \n \n \n transaction_date\n \n as \n \n transaction_date\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n\n from base\n),\n\nfinal as (\n\n select\n cast(id as TEXT) as journal_entry_id,\n adjustment as is_adjustment,\n created_at,\n currency_id,\n cast(doc_number as TEXT) as doc_number,\n exchange_rate,\n private_note,\n total_amount,\n cast( date_trunc('day', transaction_date) as date) as transaction_date,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect *\nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__refund_receipt": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__refund_receipt", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__refund_receipt.sql", "original_file_path": "models/stg_quickbooks__refund_receipt.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__refund_receipt", "fqn": ["quickbooks_source", "stg_quickbooks__refund_receipt"], "alias": "stg_quickbooks__refund_receipt", "checksum": {"name": "sha256", "checksum": "42ed77b5ca60fb2a5019ec90ad8093776a44c45d9adb3b534f6492a21aaea796"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing refunds to the customer for a product or service that was provided.", "columns": {"refund_id": {"name": "refund_id", "description": "Unique identifier of the refund.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "The balance reflecting any payments made against the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class which the refund receipt is associated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department which the refund receipt is associated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_to_account_id": {"name": "deposit_to_account_id", "description": "Account from which payment money is refunded.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the date when the refund was created.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Customer id of the customer credited with the refund.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date in which the refund occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1731948867.047818, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__refund_receipt\"", "raw_code": "--To disable this model, set the using_refund_receipt variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_refund_receipt', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__refund_receipt_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__refund_receipt_tmp')),\n staging_columns=get_refund_receipt_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as refund_id,\n balance,\n cast(doc_number as {{ dbt.type_string() }}) as doc_number,\n total_amount,\n cast(class_id as {{ dbt.type_string() }}) as class_id,\n cast(deposit_to_account_id as {{ dbt.type_string() }}) as deposit_to_account_id,\n created_at,\n cast(department_id as {{ dbt.type_string() }}) as department_id,\n cast(customer_id as {{ dbt.type_string() }}) as customer_id,\n currency_id,\n exchange_rate,\n cast( {{ dbt.date_trunc('day', 'transaction_date') }} as date) as transaction_date,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__refund_receipt_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__refund_receipt_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_refund_receipt_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string", "macro.dbt.date_trunc"], "nodes": ["model.quickbooks_source.stg_quickbooks__refund_receipt_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__refund_receipt.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_refund_receipt variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__refund_receipt_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n apply_tax_after_discount\n \n as \n \n apply_tax_after_discount\n \n, \n \n \n balance\n \n as \n \n balance\n \n, \n \n \n bill_email\n \n as \n \n bill_email\n \n, \n \n \n billing_address_id\n \n as \n \n billing_address_id\n \n, \n \n \n check_payment_account_number\n \n as \n \n check_payment_account_number\n \n, \n \n \n check_payment_bank_name\n \n as \n \n check_payment_bank_name\n \n, \n \n \n check_payment_check_number\n \n as \n \n check_payment_check_number\n \n, \n \n \n check_payment_name_on_account\n \n as \n \n check_payment_name_on_account\n \n, \n \n \n check_payment_status\n \n as \n \n check_payment_status\n \n, \n \n \n class_id\n \n as \n \n class_id\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n credit_card_amount\n \n as \n \n credit_card_amount\n \n, \n \n \n credit_card_auth_code\n \n as \n \n credit_card_auth_code\n \n, \n \n \n credit_card_billing_address_street\n \n as \n \n credit_card_billing_address_street\n \n, \n \n \n credit_card_cc_expiry_month\n \n as \n \n credit_card_cc_expiry_month\n \n, \n \n \n credit_card_cc_expiry_year\n \n as \n \n credit_card_cc_expiry_year\n \n, \n \n \n credit_card_cctrans_id\n \n as \n \n credit_card_cctrans_id\n \n, \n \n \n credit_card_name_on_account\n \n as \n \n credit_card_name_on_account\n \n, \n \n \n credit_card_postal_code\n \n as \n \n credit_card_postal_code\n \n, \n \n \n credit_card_process_payment\n \n as \n \n credit_card_process_payment\n \n, \n \n \n credit_card_status\n \n as \n \n credit_card_status\n \n, \n \n \n credit_card_transaction_authorization_time\n \n as \n \n credit_card_transaction_authorization_time\n \n, \n \n \n credit_card_type\n \n as \n \n credit_card_type\n \n, \n \n \n currency_id\n \n as \n \n currency_id\n \n, \n \n \n customer_id\n \n as \n \n customer_id\n \n, \n \n \n customer_memo\n \n as \n \n customer_memo\n \n, \n \n \n department_id\n \n as \n \n department_id\n \n, \n \n \n deposit_to_account_id\n \n as \n \n deposit_to_account_id\n \n, \n \n \n doc_number\n \n as \n \n doc_number\n \n, \n \n \n exchange_rate\n \n as \n \n exchange_rate\n \n, \n \n \n global_tax_calculation\n \n as \n \n global_tax_calculation\n \n, \n \n \n home_balance\n \n as \n \n home_balance\n \n, \n \n \n home_total_amount\n \n as \n \n home_total_amount\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n payment_method_id\n \n as \n \n payment_method_id\n \n, \n \n \n payment_reference_number\n \n as \n \n payment_reference_number\n \n, \n \n \n payment_type\n \n as \n \n payment_type\n \n, \n \n \n print_status\n \n as \n \n print_status\n \n, \n \n \n private_note\n \n as \n \n private_note\n \n, \n \n \n shipping_address_id\n \n as \n \n shipping_address_id\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n tax_code_id\n \n as \n \n tax_code_id\n \n, \n \n \n total_amount\n \n as \n \n total_amount\n \n, \n \n \n total_tax\n \n as \n \n total_tax\n \n, \n \n \n transaction_date\n \n as \n \n transaction_date\n \n, \n \n \n transaction_source\n \n as \n \n transaction_source\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as refund_id,\n balance,\n cast(doc_number as TEXT) as doc_number,\n total_amount,\n cast(class_id as TEXT) as class_id,\n cast(deposit_to_account_id as TEXT) as deposit_to_account_id,\n created_at,\n cast(department_id as TEXT) as department_id,\n cast(customer_id as TEXT) as customer_id,\n currency_id,\n exchange_rate,\n cast( date_trunc('day', transaction_date) as date) as transaction_date,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__deposit_line": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__deposit_line", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__deposit_line.sql", "original_file_path": "models/stg_quickbooks__deposit_line.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__deposit_line", "fqn": ["quickbooks_source", "stg_quickbooks__deposit_line"], "alias": "stg_quickbooks__deposit_line", "checksum": {"name": "sha256", "checksum": "de246c1bea4573024fdc27cc59a27b875f0536d2effe6cb69a23c8104fb94ebd"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing individual line items comprising the deposit.", "columns": {"deposit_id": {"name": "deposit_id", "description": "Unique identifier of the deposit record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the deposit record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the deposit line record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the deposit line record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_class_id": {"name": "deposit_class_id", "description": "Reference to the class which the deposit line record is associated with.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_account_id": {"name": "deposit_account_id", "description": "Account id of the account which the deposit is credited.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_customer_id": {"name": "deposit_customer_id", "description": "Customer id of the customer which the deposit is credited.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1731948867.0341408, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__deposit_line\"", "raw_code": "--To disable this model, set the using_deposit variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_deposit', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__deposit_line_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__deposit_line_tmp')),\n staging_columns=get_deposit_line_columns()\n )\n }}\n \n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n from base\n),\n\nfinal as (\n \n select \n cast(deposit_id as {{ dbt.type_string() }}) as deposit_id,\n index,\n amount,\n description,\n cast(deposit_account_id as {{ dbt.type_string() }}) as deposit_account_id,\n cast(deposit_class_id as {{ dbt.type_string() }}) as deposit_class_id,\n cast(deposit_customer_id as {{ dbt.type_string() }}) as deposit_customer_id,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__deposit_line_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__deposit_line_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_deposit_line_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__deposit_line_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__deposit_line.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_deposit variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__deposit_line_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n amount\n \n as \n \n amount\n \n, \n \n \n bill_id\n \n as \n \n bill_id\n \n, \n \n \n deposit_account_id\n \n as \n \n deposit_account_id\n \n, \n \n \n deposit_check_number\n \n as \n \n deposit_check_number\n \n, \n \n \n deposit_class_id\n \n as \n \n deposit_class_id\n \n, \n \n \n deposit_customer_id\n \n as \n \n deposit_customer_id\n \n, \n \n \n deposit_id\n \n as \n \n deposit_id\n \n, \n \n \n deposit_payment_method_id\n \n as \n \n deposit_payment_method_id\n \n, \n \n \n deposit_tax_applicable_on\n \n as \n \n deposit_tax_applicable_on\n \n, \n \n \n deposit_tax_code_id\n \n as \n \n deposit_tax_code_id\n \n, \n \n \n deposit_transaction_type\n \n as \n \n deposit_transaction_type\n \n, \n \n \n description\n \n as \n \n description\n \n, \n \n \n detail_type\n \n as \n \n detail_type\n \n, \n \n \n expense_id\n \n as \n \n expense_id\n \n, \n \n \n index\n \n as \n \n index\n \n, \n \n \n invoice_id\n \n as \n \n invoice_id\n \n, \n \n \n journal_entry_id\n \n as \n \n journal_entry_id\n \n, \n \n \n payment_id\n \n as \n \n payment_id\n \n, \n \n \n purchase_id\n \n as \n \n purchase_id\n \n, \n \n \n refund_receipt_id\n \n as \n \n refund_receipt_id\n \n, \n \n \n sales_receipt_id\n \n as \n \n sales_receipt_id\n \n, \n \n \n transfer_id\n \n as \n \n transfer_id\n \n, \n \n \n vendor_credit_id\n \n as \n \n vendor_credit_id\n \n\n\n\n \n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(deposit_id as TEXT) as deposit_id,\n index,\n amount,\n description,\n cast(deposit_account_id as TEXT) as deposit_account_id,\n cast(deposit_class_id as TEXT) as deposit_class_id,\n cast(deposit_customer_id as TEXT) as deposit_customer_id,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__vendor_credit": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__vendor_credit", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__vendor_credit.sql", "original_file_path": "models/stg_quickbooks__vendor_credit.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__vendor_credit", "fqn": ["quickbooks_source", "stg_quickbooks__vendor_credit"], "alias": "stg_quickbooks__vendor_credit", "checksum": {"name": "sha256", "checksum": "bc1123430a27d32603356ede184119a14481c031c90bdf380aeedaedca594635"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing all vendor credit records. A vendor credit is an accounts payable transaction that represents a refund or credit of payment for goods or services.", "columns": {"vendor_credit_id": {"name": "vendor_credit_id", "description": "Unique identifier of the vendor credit.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "The current amount of the vendor credit reflecting any adjustments to the original credit amount.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total credit amount, determined by taking the total of all all lines of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the date the vendor credit was created.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "payable_account_id": {"name": "payable_account_id", "description": "Specifies to which AP account the bill is credited.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department which the vendor credit is associated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "private_note": {"name": "private_note", "description": "User entered, organization-private note about the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "The date entered by the user when this transaction occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_id": {"name": "vendor_id", "description": "Reference to the vendor for this transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1731948867.051244, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__vendor_credit\"", "raw_code": "--To disable this model, set the using_vendor_credit variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_vendor_credit', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__vendor_credit_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__vendor_credit_tmp')),\n staging_columns=get_vendor_credit_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as vendor_credit_id,\n balance,\n cast(doc_number as {{ dbt.type_string() }}) as doc_number,\n total_amount,\n currency_id,\n exchange_rate,\n created_at,\n cast(payable_account_id as {{ dbt.type_string() }}) as payable_account_id,\n cast(department_id as {{ dbt.type_string() }}) as department_id,\n private_note,\n cast( {{ dbt.date_trunc('day', 'transaction_date') }} as date) as transaction_date,\n cast(vendor_id as {{ dbt.type_string() }}) as vendor_id,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__vendor_credit_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__vendor_credit_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_vendor_credit_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string", "macro.dbt.date_trunc"], "nodes": ["model.quickbooks_source.stg_quickbooks__vendor_credit_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__vendor_credit.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_vendor_credit variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__vendor_credit_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n balance\n \n as \n \n balance\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n currency_id\n \n as \n \n currency_id\n \n, \n \n \n department_id\n \n as \n \n department_id\n \n, \n \n \n doc_number\n \n as \n \n doc_number\n \n, \n \n \n exchange_rate\n \n as \n \n exchange_rate\n \n, \n \n \n global_tax_calculation\n \n as \n \n global_tax_calculation\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n payable_account_id\n \n as \n \n payable_account_id\n \n, \n \n \n private_note\n \n as \n \n private_note\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n total_amount\n \n as \n \n total_amount\n \n, \n \n \n transaction_date\n \n as \n \n transaction_date\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n, \n \n \n vendor_id\n \n as \n \n vendor_id\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as vendor_credit_id,\n balance,\n cast(doc_number as TEXT) as doc_number,\n total_amount,\n currency_id,\n exchange_rate,\n created_at,\n cast(payable_account_id as TEXT) as payable_account_id,\n cast(department_id as TEXT) as department_id,\n private_note,\n cast( date_trunc('day', transaction_date) as date) as transaction_date,\n cast(vendor_id as TEXT) as vendor_id,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__vendor_credit_line": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__vendor_credit_line", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__vendor_credit_line.sql", "original_file_path": "models/stg_quickbooks__vendor_credit_line.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__vendor_credit_line", "fqn": ["quickbooks_source", "stg_quickbooks__vendor_credit_line"], "alias": "stg_quickbooks__vendor_credit_line", "checksum": {"name": "sha256", "checksum": "bb84d3c8d454b097f7311c13ff6fb9c8ef739f6303649946af98afc241c192b5"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing individual vendor credit line items.", "columns": {"vendor_credit_id": {"name": "vendor_credit_id", "description": "Unique identifier of the vendor credit record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": [], "test": ["not_null"]}, "index": {"name": "index", "description": "Index count of records associated with the vendor credit record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_account_id": {"name": "account_expense_account_id", "description": "Account id of the account credited for the vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_billable_status": {"name": "account_expense_billable_status", "description": "Status of the billable related to the vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_tax_code_id": {"name": "account_expense_tax_code_id", "description": "Tax code id of the tax code associated with the vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_customer_id": {"name": "account_expense_customer_id", "description": "Customer reference for the vendor credit expense.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_class_id": {"name": "account_expense_class_id", "description": "The class reference associated with the account based expense vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_customer_id": {"name": "item_expense_customer_id", "description": "Customer reference for the item on the vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_item_id": {"name": "item_expense_item_id", "description": "The item reference associated with the item based expense vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_quantity": {"name": "item_expense_quantity", "description": "Quantity of the item within the item based expense vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_unit_price": {"name": "item_expense_unit_price", "description": "Unit price of the item within the item based expense vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_class_id": {"name": "item_expense_class_id", "description": "Reference to the class associated with the item based expense vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_billable_status": {"name": "item_expense_billable_status", "description": "The billable status of the item based expense vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1731948867.050588, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__vendor_credit_line\"", "raw_code": "--To disable this model, set the using_vendor_credit variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_vendor_credit', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__vendor_credit_line_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__vendor_credit_line_tmp')),\n staging_columns=get_vendor_credit_line_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(vendor_credit_id as {{ dbt.type_string() }}) as vendor_credit_id,\n index,\n cast(account_expense_customer_id as {{ dbt.type_string() }}) as account_expense_customer_id,\n cast(account_expense_account_id as {{ dbt.type_string() }}) as account_expense_account_id,\n account_expense_billable_status,\n account_expense_tax_code_id,\n cast(account_expense_class_id as {{ dbt.type_string() }}) as account_expense_class_id,\n cast(item_expense_customer_id as {{ dbt.type_string() }}) as item_expense_customer_id,\n cast(item_expense_item_id as {{ dbt.type_string() }}) as item_expense_item_id,\n item_expense_quantity,\n item_expense_unit_price,\n cast(item_expense_class_id as {{ dbt.type_string() }}) as item_expense_class_id,\n item_expense_billable_status,\n amount,\n description,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__vendor_credit_line_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__vendor_credit_line_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_vendor_credit_line_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__vendor_credit_line_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__vendor_credit_line.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_vendor_credit variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__vendor_credit_line_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n account_expense_account_id\n \n as \n \n account_expense_account_id\n \n, \n \n \n account_expense_billable_status\n \n as \n \n account_expense_billable_status\n \n, \n \n \n account_expense_class_id\n \n as \n \n account_expense_class_id\n \n, \n \n \n account_expense_customer_id\n \n as \n \n account_expense_customer_id\n \n, \n \n \n account_expense_tax_amount\n \n as \n \n account_expense_tax_amount\n \n, \n \n \n account_expense_tax_code_id\n \n as \n \n account_expense_tax_code_id\n \n, \n \n \n amount\n \n as \n \n amount\n \n, \n \n \n description\n \n as \n \n description\n \n, \n \n \n index\n \n as \n \n index\n \n, \n \n \n item_expense_billable_status\n \n as \n \n item_expense_billable_status\n \n, \n \n \n item_expense_class_id\n \n as \n \n item_expense_class_id\n \n, \n \n \n item_expense_customer_id\n \n as \n \n item_expense_customer_id\n \n, \n \n \n item_expense_item_id\n \n as \n \n item_expense_item_id\n \n, \n \n \n item_expense_quantity\n \n as \n \n item_expense_quantity\n \n, \n \n \n item_expense_tax_code_id\n \n as \n \n item_expense_tax_code_id\n \n, \n \n \n item_expense_unit_price\n \n as \n \n item_expense_unit_price\n \n, \n \n \n private_note\n \n as \n \n private_note\n \n, \n \n \n vendor_credit_id\n \n as \n \n vendor_credit_id\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(vendor_credit_id as TEXT) as vendor_credit_id,\n index,\n cast(account_expense_customer_id as TEXT) as account_expense_customer_id,\n cast(account_expense_account_id as TEXT) as account_expense_account_id,\n account_expense_billable_status,\n account_expense_tax_code_id,\n cast(account_expense_class_id as TEXT) as account_expense_class_id,\n cast(item_expense_customer_id as TEXT) as item_expense_customer_id,\n cast(item_expense_item_id as TEXT) as item_expense_item_id,\n item_expense_quantity,\n item_expense_unit_price,\n cast(item_expense_class_id as TEXT) as item_expense_class_id,\n item_expense_billable_status,\n amount,\n description,\n source_relation\n from fields\n)\n\nselect * \nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__deposit": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__deposit", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__deposit.sql", "original_file_path": "models/stg_quickbooks__deposit.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__deposit", "fqn": ["quickbooks_source", "stg_quickbooks__deposit"], "alias": "stg_quickbooks__deposit", "checksum": {"name": "sha256", "checksum": "7877127964ef01bcd3bc4b81cf0d95dbfe3ccf25c7a0a0b92f31488cb8c96e13"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing records of transactions that record on or more deposits of a customer payment or a new direct deposit.", "columns": {"deposit_id": {"name": "deposit_id", "description": "Unique identifier of the deposit.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "Identifies the account to be used for this deposit.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the date which the deposit was created.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department associated with the deposit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount of the transaction. This includes the total of all the charges, allowances, and taxes.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "home_total_amount": {"name": "home_total_amount", "description": "Indicates the total amount of the transaction in the home currency. This includes the total of all the charges, allowances, and taxes.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date which the deposit transaction occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_status": {"name": "transaction_status", "description": "Status of the deposit transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": true}, "created_at": 1731948867.03508, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__deposit\"", "raw_code": "--To disable this model, set the using_deposit variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_deposit', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_quickbooks__deposit_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__deposit_tmp')),\n staging_columns=get_deposit_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as deposit_id,\n cast(account_id as {{ dbt.type_string() }}) as account_id,\n created_at,\n currency_id,\n cast(department_id as {{ dbt.type_string() }}) as department_id,\n total_amount,\n home_total_amount,\n cast( {{ dbt.date_trunc('day', 'transaction_date') }} as date) as transaction_date,\n transaction_status,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__deposit_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__deposit_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_deposit_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string", "macro.dbt.date_trunc"], "nodes": ["model.quickbooks_source.stg_quickbooks__deposit_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__deposit.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_deposit variable within your dbt_project.yml file to False.\n\n\nwith base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__deposit_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n, \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n account_id\n \n as \n \n account_id\n \n, \n \n \n cash_back_account_id\n \n as \n \n cash_back_account_id\n \n, \n \n \n cash_back_amount\n \n as \n \n cash_back_amount\n \n, \n \n \n cash_back_memo\n \n as \n \n cash_back_memo\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n currency_id\n \n as \n \n currency_id\n \n, \n \n \n department_id\n \n as \n \n department_id\n \n, \n \n \n global_tax_calculation\n \n as \n \n global_tax_calculation\n \n, \n \n \n home_total_amount\n \n as \n \n home_total_amount\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n private_note\n \n as \n \n private_note\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n total_amount\n \n as \n \n total_amount\n \n, \n \n \n transaction_date\n \n as \n \n transaction_date\n \n, \n \n \n transaction_source\n \n as \n \n transaction_source\n \n, \n \n \n transaction_status\n \n as \n \n transaction_status\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n\n\n\n\n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n \n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as deposit_id,\n cast(account_id as TEXT) as account_id,\n created_at,\n currency_id,\n cast(department_id as TEXT) as department_id,\n total_amount,\n home_total_amount,\n cast( date_trunc('day', transaction_date) as date) as transaction_date,\n transaction_status,\n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__item": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__item", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__item.sql", "original_file_path": "models/stg_quickbooks__item.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__item", "fqn": ["quickbooks_source", "stg_quickbooks__item"], "alias": "stg_quickbooks__item", "checksum": {"name": "sha256", "checksum": "44ccdde31ed0a5de6f88a5ccc8286d03e32aa2797ad6d8ceda1d9f74ead680a9"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing item records. An item is a thing that your company buys, sells, or re-sells, such as products and services.", "columns": {"item_id": {"name": "item_id", "description": "Unique identifier of the item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_active": {"name": "is_active", "description": "Boolean indicating whether the object is currently enabled for use by QuickBooks.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the date when the item was created within QuickBooks.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "income_account_id": {"name": "income_account_id", "description": "Reference to the posting account, that is, the account that records the proceeds from the sale of this item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "asset_account_id": {"name": "asset_account_id", "description": "Reference to the Inventory Asset account that tracks the current value of the inventory.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "expense_account_id": {"name": "expense_account_id", "description": "Reference to the expense account used to pay the vendor for this item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "Full name of the item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "inventory_start_date": {"name": "inventory_start_date", "description": "Timestamp of the date the item was started as inventory.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "parent_item_id": {"name": "parent_item_id", "description": "Reference to the parent item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "purchase_cost": {"name": "purchase_cost", "description": "Amount paid when buying or ordering the item, as expressed in the home currency.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "taxable": {"name": "taxable", "description": "Boolean indicating whether the item is taxable.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "type": {"name": "type", "description": "Classification that specifies the use of this item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "unit_price": {"name": "unit_price", "description": "The monetary value of the service or product, as expressed in the home currency.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table"}, "created_at": 1731948867.040527, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__item\"", "raw_code": "with base as (\n\n select * \n from {{ ref('stg_quickbooks__item_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__item_tmp')),\n staging_columns=get_item_columns()\n )\n }}\n \n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as item_id,\n active as is_active,\n created_at,\n cast(income_account_id as {{ dbt.type_string() }}) as income_account_id,\n cast(asset_account_id as {{ dbt.type_string() }}) as asset_account_id,\n cast(expense_account_id as {{ dbt.type_string() }}) as expense_account_id,\n name,\n purchase_cost,\n taxable,\n type,\n unit_price,\n inventory_start_date,\n cast(parent_item_id as {{ dbt.type_string() }}) as parent_item_id,\n source_relation,\n _fivetran_deleted\n\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__item_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__item_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_item_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__item_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__item.sql", "compiled": true, "compiled_code": "with base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__item_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n active\n \n as \n \n active\n \n, \n \n \n asset_account_id\n \n as \n \n asset_account_id\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n description\n \n as \n \n description\n \n, \n \n \n expense_account_id\n \n as \n \n expense_account_id\n \n, \n \n \n fully_qualified_name\n \n as \n \n fully_qualified_name\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n income_account_id\n \n as \n \n income_account_id\n \n, \n \n \n inventory_start_date\n \n as \n \n inventory_start_date\n \n, \n \n \n level\n \n as \n \n level\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n parent_item_id\n \n as \n \n parent_item_id\n \n, \n \n \n purchase_cost\n \n as \n \n purchase_cost\n \n, \n \n \n purchase_description\n \n as \n \n purchase_description\n \n, \n \n \n purchase_tax_code_id\n \n as \n \n purchase_tax_code_id\n \n, \n \n \n purchase_tax_included\n \n as \n \n purchase_tax_included\n \n, \n \n \n quantity_on_hand\n \n as \n \n quantity_on_hand\n \n, \n \n \n sales_tax_code_id\n \n as \n \n sales_tax_code_id\n \n, \n \n \n sales_tax_included\n \n as \n \n sales_tax_included\n \n, \n \n \n stock_keeping_unit\n \n as \n \n stock_keeping_unit\n \n, \n \n \n sub_item\n \n as \n \n sub_item\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n taxable\n \n as \n \n taxable\n \n, \n \n \n track_quantity_on_hand\n \n as \n \n track_quantity_on_hand\n \n, \n \n \n type\n \n as \n \n type\n \n, \n \n \n unit_price\n \n as \n \n unit_price\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n, \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n\n\n\n \n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as item_id,\n active as is_active,\n created_at,\n cast(income_account_id as TEXT) as income_account_id,\n cast(asset_account_id as TEXT) as asset_account_id,\n cast(expense_account_id as TEXT) as expense_account_id,\n name,\n purchase_cost,\n taxable,\n type,\n unit_price,\n inventory_start_date,\n cast(parent_item_id as TEXT) as parent_item_id,\n source_relation,\n _fivetran_deleted\n\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__customer": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__customer", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__customer.sql", "original_file_path": "models/stg_quickbooks__customer.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__customer", "fqn": ["quickbooks_source", "stg_quickbooks__customer"], "alias": "stg_quickbooks__customer", "checksum": {"name": "sha256", "checksum": "c35ab56e9d8da118a46276fadea28bbc9cf5b400cd61bb15686b0ed1facad419"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table containing customers of which are consumers of the service or product that your business offers.", "columns": {"customer_id": {"name": "customer_id", "description": "Unique identifier of the customer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "The source of the record if the unioning functionality is being used. If not this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_active": {"name": "is_active", "description": "Boolean indicating whether it is currently enabled for use by QuickBooks.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "Specifies the open balance amount or the amount unpaid by the customer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance_with_jobs": {"name": "balance_with_jobs", "description": "Cumulative open balance amount for the Customer (or Job) and all its sub-jobs.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "bill_with_parent": {"name": "bill_with_parent", "description": "Boolean indicating whether this Customer object is billed with its parent.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "company_name": {"name": "company_name", "description": "Full name of the company.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "fully_qualified_name": {"name": "fully_qualified_name", "description": "Fully qualified name of the company.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts associated with this customer are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "display_name": {"name": "display_name", "description": "Name of the customer which is displayed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "website": {"name": "website", "description": "Website url associated with the vendor.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "taxable": {"name": "taxable", "description": "Boolean indicating whether the customer is taxable.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table"}, "created_at": 1731948867.032675, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__customer\"", "raw_code": "with base as (\n\n select * \n from {{ ref('stg_quickbooks__customer_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__customer_tmp')),\n staging_columns=get_customer_columns()\n )\n }}\n \n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as {{ dbt.type_string() }}) as customer_id,\n active as is_active,\n balance,\n balance_with_jobs,\n bill_with_parent,\n company_name,\n fully_qualified_name,\n currency_id,\n display_name,\n website,\n taxable,\n source_relation,\n _fivetran_deleted\n\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__customer_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__customer_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_customer_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": ["model.quickbooks_source.stg_quickbooks__customer_tmp"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks__customer.sql", "compiled": true, "compiled_code": "with base as (\n\n select * \n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__customer_tmp\"\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns \n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns \n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n active\n \n as \n \n active\n \n, \n \n \n alternate_phone_number\n \n as \n \n alternate_phone_number\n \n, \n \n \n ar_account_id\n \n as \n \n ar_account_id\n \n, \n \n \n balance\n \n as \n \n balance\n \n, \n \n \n balance_with_jobs\n \n as \n \n balance_with_jobs\n \n, \n \n \n bill_address_id\n \n as \n \n bill_address_id\n \n, \n \n \n bill_with_parent\n \n as \n \n bill_with_parent\n \n, \n \n \n company_name\n \n as \n \n company_name\n \n, \n \n \n created_at\n \n as \n \n created_at\n \n, \n \n \n currency_id\n \n as \n \n currency_id\n \n, \n \n \n default_tax_code_id\n \n as \n \n default_tax_code_id\n \n, \n \n \n display_name\n \n as \n \n display_name\n \n, \n \n \n email\n \n as \n \n email\n \n, \n \n \n family_name\n \n as \n \n family_name\n \n, \n \n \n fax_number\n \n as \n \n fax_number\n \n, \n \n \n fully_qualified_name\n \n as \n \n fully_qualified_name\n \n, \n \n \n given_name\n \n as \n \n given_name\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n job\n \n as \n \n job\n \n, \n \n \n level\n \n as \n \n level\n \n, \n \n \n middle_name\n \n as \n \n middle_name\n \n, \n \n \n mobile_number\n \n as \n \n mobile_number\n \n, \n \n \n notes\n \n as \n \n notes\n \n, \n \n \n open_balance_date\n \n as \n \n open_balance_date\n \n, \n \n \n parent_customer_id\n \n as \n \n parent_customer_id\n \n, \n \n \n payment_method_id\n \n as \n \n payment_method_id\n \n, \n \n \n phone_number\n \n as \n \n phone_number\n \n, \n \n \n preferred_delivery_method\n \n as \n \n preferred_delivery_method\n \n, \n \n \n print_on_check_name\n \n as \n \n print_on_check_name\n \n, \n \n \n resale_number\n \n as \n \n resale_number\n \n, \n \n \n sales_term_id\n \n as \n \n sales_term_id\n \n, \n \n \n shipping_address_id\n \n as \n \n shipping_address_id\n \n, \n \n \n suffix\n \n as \n \n suffix\n \n, \n \n \n sync_token\n \n as \n \n sync_token\n \n, \n \n \n tax_exemption_reason_id\n \n as \n \n tax_exemption_reason_id\n \n, \n \n \n taxable\n \n as \n \n taxable\n \n, \n \n \n title\n \n as \n \n title\n \n, \n \n \n updated_at\n \n as \n \n updated_at\n \n, \n \n \n website\n \n as \n \n website\n \n, \n \n \n _fivetran_deleted\n \n as \n \n _fivetran_deleted\n \n\n\n\n \n \n\n\n, cast('' as TEXT) as source_relation\n\n\n\n\n from base\n),\n\nfinal as (\n \n select \n cast(id as TEXT) as customer_id,\n active as is_active,\n balance,\n balance_with_jobs,\n bill_with_parent,\n company_name,\n fully_qualified_name,\n currency_id,\n display_name,\n website,\n taxable,\n source_relation,\n _fivetran_deleted\n\n from fields\n)\n\nselect * \nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__vendor_credit_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__vendor_credit_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__vendor_credit_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__vendor_credit_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__vendor_credit_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__vendor_credit_tmp"], "alias": "stg_quickbooks__vendor_credit_tmp", "checksum": {"name": "sha256", "checksum": "9938bbb45d56450c95b943349ff3a88b95120bbbd31878b6635f574d91020e59"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1731948866.660108, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__vendor_credit_tmp\"", "raw_code": "--To disable this model, set the using_vendor_credit variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_vendor_credit', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='vendor_credit', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='vendor_credit',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "vendor_credit"], ["quickbooks", "vendor_credit"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.vendor_credit"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__vendor_credit_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_vendor_credit variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"vendor_credit_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__refund_receipt_line_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__refund_receipt_line_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__refund_receipt_line_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__refund_receipt_line_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__refund_receipt_line_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__refund_receipt_line_tmp"], "alias": "stg_quickbooks__refund_receipt_line_tmp", "checksum": {"name": "sha256", "checksum": "4c8116c0a09943657aae1ee701565a8b503466f228abe688aa58e7d5ff103e0f"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1731948866.6772008, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__refund_receipt_line_tmp\"", "raw_code": "--To disable this model, set the using_refund_receipt variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_refund_receipt', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='refund_receipt_line', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='refund_receipt_line',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "refund_receipt_line"], ["quickbooks", "refund_receipt_line"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.refund_receipt_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__refund_receipt_line_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_refund_receipt variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"refund_receipt_line_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__estimate_line_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__estimate_line_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__estimate_line_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__estimate_line_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__estimate_line_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__estimate_line_tmp"], "alias": "stg_quickbooks__estimate_line_tmp", "checksum": {"name": "sha256", "checksum": "e6b43f9598030c138d67898959d3bcc06d4b571b16bd790974c5bda4e90dfe18"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1731948866.681648, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__estimate_line_tmp\"", "raw_code": "--To disable this model, set the using_estimate variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_estimate', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='estimate_line', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='estimate_line',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "estimate_line"], ["quickbooks", "estimate_line"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.estimate_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__estimate_line_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_estimate variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"estimate_line_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__credit_memo_line_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__credit_memo_line_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__credit_memo_line_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__credit_memo_line_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__credit_memo_line_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__credit_memo_line_tmp"], "alias": "stg_quickbooks__credit_memo_line_tmp", "checksum": {"name": "sha256", "checksum": "e0b5daf12c47995a8930f8bdc9e7d6c4b23f86eb7db6d810664598dd865f6d05"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1731948866.690079, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__credit_memo_line_tmp\"", "raw_code": "--To enable this model, set the using_credit_memo variable within your dbt_project.yml file to True.\n{{ config(enabled=var('using_credit_memo', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='credit_memo_line', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='credit_memo_line',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "credit_memo_line"], ["quickbooks", "credit_memo_line"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.credit_memo_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__credit_memo_line_tmp.sql", "compiled": true, "compiled_code": "--To enable this model, set the using_credit_memo variable within your dbt_project.yml file to True.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"credit_memo_line_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__journal_entry_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__journal_entry_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__journal_entry_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__journal_entry_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__journal_entry_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__journal_entry_tmp"], "alias": "stg_quickbooks__journal_entry_tmp", "checksum": {"name": "sha256", "checksum": "4cc1a32910c8e5255f3d3bbe4578fb9f562e3f2fb56eff69e22f7f69b11fa32e"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1731948866.6956449, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__journal_entry_tmp\"", "raw_code": "--To disable this model, set the using_journal_entry variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_journal_entry', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='journal_entry', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='journal_entry',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "journal_entry"], ["quickbooks", "journal_entry"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.journal_entry"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__journal_entry_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_journal_entry variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"journal_entry_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__invoice_line_bundle_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__invoice_line_bundle_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__invoice_line_bundle_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__invoice_line_bundle_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__invoice_line_bundle_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__invoice_line_bundle_tmp"], "alias": "stg_quickbooks__invoice_line_bundle_tmp", "checksum": {"name": "sha256", "checksum": "a2dc8302a76014fdede73acb185944cb3901457f568da00b9400dbadd61a4781"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1731948866.699233, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__invoice_line_bundle_tmp\"", "raw_code": "--To disable this model, set the using_invoice_bundle variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_invoice_bundle', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='invoice_line_bundle', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='invoice_line_bundle',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "invoice_line_bundle"], ["quickbooks", "invoice_line_bundle"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.invoice_line_bundle"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__invoice_line_bundle_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_invoice_bundle variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"invoice_line_bundle_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__payment_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__payment_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__payment_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__payment_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__payment_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__payment_tmp"], "alias": "stg_quickbooks__payment_tmp", "checksum": {"name": "sha256", "checksum": "afe62d4646d63e7fc44dbe73ad04eb3af6f94e1fd98953cfdd5a5fae5464818f"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1731948866.703423, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__payment_tmp\"", "raw_code": "--To enable this model, set the using_payment variable within your dbt_project.yml file to True.\n{{ config(enabled=var('using_payment', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='payment', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='payment',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "payment"], ["quickbooks", "payment"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.payment"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__payment_tmp.sql", "compiled": true, "compiled_code": "--To enable this model, set the using_payment variable within your dbt_project.yml file to True.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"payment_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__invoice_line_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__invoice_line_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__invoice_line_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__invoice_line_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__invoice_line_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__invoice_line_tmp"], "alias": "stg_quickbooks__invoice_line_tmp", "checksum": {"name": "sha256", "checksum": "ec89045532e817aed8e8dc0a09e66f53a2c88aba038c7dcbbb51f6875d044f5d"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1731948866.707534, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__invoice_line_tmp\"", "raw_code": "--To enable this model, set the using_invoice variable within your dbt_project.yml file to True.\n{{ config(enabled=var('using_invoice', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='invoice_line', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='invoice_line',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "invoice_line"], ["quickbooks", "invoice_line"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.invoice_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__invoice_line_tmp.sql", "compiled": true, "compiled_code": "--To enable this model, set the using_invoice variable within your dbt_project.yml file to True.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"invoice_line_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__deposit_line_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__deposit_line_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__deposit_line_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__deposit_line_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__deposit_line_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__deposit_line_tmp"], "alias": "stg_quickbooks__deposit_line_tmp", "checksum": {"name": "sha256", "checksum": "2a560b4173366349cc88aa5c091b2f10c61f60c0bfe73b3b0f673877627002a4"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1731948866.7126641, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__deposit_line_tmp\"", "raw_code": "--To disable this model, set the using_deposit variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_deposit', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='deposit_line', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='deposit_line',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "deposit_line"], ["quickbooks", "deposit_line"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.deposit_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__deposit_line_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_deposit variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"deposit_line_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__customer_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__customer_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__customer_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__customer_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__customer_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__customer_tmp"], "alias": "stg_quickbooks__customer_tmp", "checksum": {"name": "sha256", "checksum": "2125a8e00af7bd53a1c2d0b414a756fa128457d4ecda78c77f813ba133a81325"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view"}, "created_at": 1731948866.7165492, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__customer_tmp\"", "raw_code": "{{\n fivetran_utils.union_data(\n table_identifier='customer', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='customer',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "customer"], ["quickbooks", "customer"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.customer"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__customer_tmp.sql", "compiled": true, "compiled_code": "\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"customer_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__bill_line_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__bill_line_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__bill_line_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__bill_line_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__bill_line_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__bill_line_tmp"], "alias": "stg_quickbooks__bill_line_tmp", "checksum": {"name": "sha256", "checksum": "8f06919fa5048f09e127332ef0675a7fac11b3d0787e6672612010db4a7f6193"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1731948866.720615, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill_line_tmp\"", "raw_code": "--To disable this model, set the using_bill variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_bill', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='bill_line', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='bill_line',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "bill_line"], ["quickbooks", "bill_line"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.bill_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__bill_line_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_bill variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"bill_line_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__item_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__item_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__item_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__item_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__item_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__item_tmp"], "alias": "stg_quickbooks__item_tmp", "checksum": {"name": "sha256", "checksum": "0db4c37e6bea881ee6f85348bc069b1ba7d74ce4fd550ed0ac643d4ef780ab79"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view"}, "created_at": 1731948866.725054, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__item_tmp\"", "raw_code": "{{\n fivetran_utils.union_data(\n table_identifier='item', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='item',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "item"], ["quickbooks", "item"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.item"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__item_tmp.sql", "compiled": true, "compiled_code": "\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"item_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__account_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__account_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__account_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__account_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__account_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__account_tmp"], "alias": "stg_quickbooks__account_tmp", "checksum": {"name": "sha256", "checksum": "1157f7c518bf6f5e15bd9080fe829b06b7e3ddf59ea3e3a06164fe453e0def85"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view"}, "created_at": 1731948866.728956, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__account_tmp\"", "raw_code": "{{\n fivetran_utils.union_data(\n table_identifier='account', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='account',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "account"], ["quickbooks", "account"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.account"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__account_tmp.sql", "compiled": true, "compiled_code": "\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"account_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__credit_card_payment_txn_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__credit_card_payment_txn_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__credit_card_payment_txn_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__credit_card_payment_txn_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__credit_card_payment_txn_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__credit_card_payment_txn_tmp"], "alias": "stg_quickbooks__credit_card_payment_txn_tmp", "checksum": {"name": "sha256", "checksum": "8bad0e0be1654e7cc21513296d51b99df612d56297efda82436474b76c0a2e7d"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1731948866.733282, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__credit_card_payment_txn_tmp\"", "raw_code": "--To enable this model, set the using_credit_card_payment_txn variable within your dbt_project.yml file to True.\n{{ config(enabled=var('using_credit_card_payment_txn', False)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='credit_card_payment_txn', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='credit_card_payment_txn',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "credit_card_payment_txn"], ["quickbooks", "credit_card_payment_txn"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.credit_card_payment_txn"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__credit_card_payment_txn_tmp.sql", "compiled": true, "compiled_code": "--To enable this model, set the using_credit_card_payment_txn variable within your dbt_project.yml file to True.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"credit_card_payment_txn_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__vendor_credit_line_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__vendor_credit_line_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__vendor_credit_line_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__vendor_credit_line_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__vendor_credit_line_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__vendor_credit_line_tmp"], "alias": "stg_quickbooks__vendor_credit_line_tmp", "checksum": {"name": "sha256", "checksum": "0a6d94050edf7556e4d19cbd3999b0bcb4b58658f4e2e7bfa8e183ddd6a28d2c"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1731948866.737419, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__vendor_credit_line_tmp\"", "raw_code": "--To disable this model, set the using_vendor_credit variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_vendor_credit', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='vendor_credit_line', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='vendor_credit_line',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "vendor_credit_line"], ["quickbooks", "vendor_credit_line"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.vendor_credit_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__vendor_credit_line_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_vendor_credit variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"vendor_credit_line_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__department_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__department_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__department_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__department_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__department_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__department_tmp"], "alias": "stg_quickbooks__department_tmp", "checksum": {"name": "sha256", "checksum": "ea310c765f23c51e6a2ef7bef84749f2a3fa89ac06b768173788080096354a00"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1731948866.74117, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__department_tmp\"", "raw_code": "--To disable this model, set the using_department variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_department', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='department', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='department',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "department"], ["quickbooks", "department"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.department"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__department_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_department variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"department_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__bundle_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__bundle_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__bundle_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__bundle_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__bundle_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__bundle_tmp"], "alias": "stg_quickbooks__bundle_tmp", "checksum": {"name": "sha256", "checksum": "722d0a1b955a8c123522a87f6b97c8770d00365b98d1fc057d1724e9c5c06667"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1731948866.745285, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bundle_tmp\"", "raw_code": "--To disable this model, set the using_invoice_bundle variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_invoice_bundle', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='bundle', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='bundle',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "bundle"], ["quickbooks", "bundle"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.bundle"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__bundle_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_invoice_bundle variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"bundle_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__bundle_item_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__bundle_item_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__bundle_item_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__bundle_item_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__bundle_item_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__bundle_item_tmp"], "alias": "stg_quickbooks__bundle_item_tmp", "checksum": {"name": "sha256", "checksum": "f716d0ef63ccb44a3ff2cf8ecff39d94f15052deb185a6c2c0595981c62fb8cb"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1731948866.749598, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bundle_item_tmp\"", "raw_code": "--To disable this model, set the using_invoice_bundle variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_invoice_bundle', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='bundle_item', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='bundle_item',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "bundle_item"], ["quickbooks", "bundle_item"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.bundle_item"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__bundle_item_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_invoice_bundle variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"bundle_item_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__bill_payment_line_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__bill_payment_line_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__bill_payment_line_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__bill_payment_line_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__bill_payment_line_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__bill_payment_line_tmp"], "alias": "stg_quickbooks__bill_payment_line_tmp", "checksum": {"name": "sha256", "checksum": "914efeefeb70efc2b64e7bae87b298f93f419a08b170e06c3efb825f8eca1968"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1731948866.76036, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill_payment_line_tmp\"", "raw_code": "--To disable this model, set the using_bill_payment variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_bill', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='bill_payment_line', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='bill_payment_line',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "bill_payment_line"], ["quickbooks", "bill_payment_line"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.bill_payment_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__bill_payment_line_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_bill_payment variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"bill_payment_line_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__estimate_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__estimate_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__estimate_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__estimate_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__estimate_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__estimate_tmp"], "alias": "stg_quickbooks__estimate_tmp", "checksum": {"name": "sha256", "checksum": "bd7a335748a13aae584ae7ee6a45b8565299cf7a48a0495be863920c797d83c6"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1731948866.764609, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__estimate_tmp\"", "raw_code": "--To disable this model, set the using_estimate variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_estimate', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='estimate', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='estimate',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "estimate"], ["quickbooks", "estimate"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.estimate"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__estimate_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_estimate variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"estimate_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__purchase_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__purchase_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__purchase_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__purchase_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__purchase_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__purchase_tmp"], "alias": "stg_quickbooks__purchase_tmp", "checksum": {"name": "sha256", "checksum": "1ad34ab2fb967805e5387b4dcf01716431d1008430faee53027f043466c3896d"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view"}, "created_at": 1731948866.7689621, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__purchase_tmp\"", "raw_code": "{{\n fivetran_utils.union_data(\n table_identifier='purchase', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='purchase',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "purchase"], ["quickbooks", "purchase"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.purchase"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__purchase_tmp.sql", "compiled": true, "compiled_code": "\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"purchase_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__credit_memo_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__credit_memo_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__credit_memo_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__credit_memo_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__credit_memo_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__credit_memo_tmp"], "alias": "stg_quickbooks__credit_memo_tmp", "checksum": {"name": "sha256", "checksum": "b03c0272b980cd970a93970dab9696b945649ea42a46c4ebc4ffcf5094a1e8db"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1731948866.772633, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__credit_memo_tmp\"", "raw_code": "--To enable this model, set the using_credit_memo variable within your dbt_project.yml file to True.\n{{ config(enabled=var('using_credit_memo', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='credit_memo', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='credit_memo',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "credit_memo"], ["quickbooks", "credit_memo"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.credit_memo"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__credit_memo_tmp.sql", "compiled": true, "compiled_code": "--To enable this model, set the using_credit_memo variable within your dbt_project.yml file to True.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"credit_memo_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__bill_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__bill_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__bill_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__bill_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__bill_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__bill_tmp"], "alias": "stg_quickbooks__bill_tmp", "checksum": {"name": "sha256", "checksum": "b579ba85c94cfa32fdb6fe9e65c2ee8e804c21417af340278c7370a7b9a31f2c"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1731948866.777659, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill_tmp\"", "raw_code": "--To disable this model, set the using_bill variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_bill', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='bill', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='bill',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "bill"], ["quickbooks", "bill"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.bill"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__bill_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_bill variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"bill_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__transfer_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__transfer_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__transfer_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__transfer_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__transfer_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__transfer_tmp"], "alias": "stg_quickbooks__transfer_tmp", "checksum": {"name": "sha256", "checksum": "f8f0e5207d431293f5adc30455c8c834cd6bab7475b906c2b781cdb8db9a059a"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1731948866.782252, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__transfer_tmp\"", "raw_code": "--To disable this model, set the using_transfer variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_transfer', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='transfer', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='transfer',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "transfer"], ["quickbooks", "transfer"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.transfer"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__transfer_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_transfer variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"transfer_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__vendor_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__vendor_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__vendor_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__vendor_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__vendor_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__vendor_tmp"], "alias": "stg_quickbooks__vendor_tmp", "checksum": {"name": "sha256", "checksum": "99087fb776ee0e7ab8b1a75536a23d6019ce7de382c2bd0ae006db290dd2d485"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view"}, "created_at": 1731948866.786883, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__vendor_tmp\"", "raw_code": "{{\n fivetran_utils.union_data(\n table_identifier='vendor', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='vendor',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "vendor"], ["quickbooks", "vendor"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.vendor"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__vendor_tmp.sql", "compiled": true, "compiled_code": "\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"vendor_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__purchase_line_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__purchase_line_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__purchase_line_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__purchase_line_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__purchase_line_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__purchase_line_tmp"], "alias": "stg_quickbooks__purchase_line_tmp", "checksum": {"name": "sha256", "checksum": "39c7787a6481961b9d80bf3173afd5ece106fdb67bad2edbd69d436c6bbc3aca"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view"}, "created_at": 1731948866.7909398, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__purchase_line_tmp\"", "raw_code": "{{\n fivetran_utils.union_data(\n table_identifier='purchase_line', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='purchase_line',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "purchase_line"], ["quickbooks", "purchase_line"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.purchase_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__purchase_line_tmp.sql", "compiled": true, "compiled_code": "\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"purchase_line_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__address_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__address_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__address_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__address_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__address_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__address_tmp"], "alias": "stg_quickbooks__address_tmp", "checksum": {"name": "sha256", "checksum": "39a9820afa24c94b220f35fa72a0452806f5cdb828e5eb70583cded4ceb71454"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1731948866.794946, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__address_tmp\"", "raw_code": "--To disable this model, set the using_address variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_address', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='address', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='address',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "address"], ["quickbooks", "address"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.address"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__address_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_address variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"address_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__payment_line_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__payment_line_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__payment_line_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__payment_line_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__payment_line_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__payment_line_tmp"], "alias": "stg_quickbooks__payment_line_tmp", "checksum": {"name": "sha256", "checksum": "333d6ce9e2621c99b011bfbb668c38c1fe20d45a9e155278371ad1c5c19fffa3"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1731948866.800266, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__payment_line_tmp\"", "raw_code": "--To enable this model, set the using_payment variable within your dbt_project.yml file to True.\n{{ config(enabled=var('using_payment', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='payment_line', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='payment_line',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "payment_line"], ["quickbooks", "payment_line"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.payment_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__payment_line_tmp.sql", "compiled": true, "compiled_code": "--To enable this model, set the using_payment variable within your dbt_project.yml file to True.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"payment_line_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__refund_receipt_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__refund_receipt_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__refund_receipt_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__refund_receipt_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__refund_receipt_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__refund_receipt_tmp"], "alias": "stg_quickbooks__refund_receipt_tmp", "checksum": {"name": "sha256", "checksum": "274dbd883a2adaf7559f8bc8812a558a95b52329f18218fe5494c63b7abcf7a5"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1731948866.804186, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__refund_receipt_tmp\"", "raw_code": "--To disable this model, set the using_refund_receipt variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_refund_receipt', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='refund_receipt', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='refund_receipt',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "refund_receipt"], ["quickbooks", "refund_receipt"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.refund_receipt"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__refund_receipt_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_refund_receipt variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"refund_receipt_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__sales_receipt_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__sales_receipt_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__sales_receipt_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__sales_receipt_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__sales_receipt_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__sales_receipt_tmp"], "alias": "stg_quickbooks__sales_receipt_tmp", "checksum": {"name": "sha256", "checksum": "a05a40a4c7d85d3d74b1f331c2fa2cfae1f6ed9f883d1f67650277ea03681ea7"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1731948866.808797, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__sales_receipt_tmp\"", "raw_code": "{{ config(enabled=var('using_sales_receipt', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='sales_receipt', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='sales_receipt',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "sales_receipt"], ["quickbooks", "sales_receipt"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.sales_receipt"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__sales_receipt_tmp.sql", "compiled": true, "compiled_code": "\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"sales_receipt_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__bill_payment_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__bill_payment_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__bill_payment_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__bill_payment_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__bill_payment_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__bill_payment_tmp"], "alias": "stg_quickbooks__bill_payment_tmp", "checksum": {"name": "sha256", "checksum": "f956078b3ec8d833f517f431c67509fe75f494b11a6fa4a735b85d232453dba4"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1731948866.812744, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill_payment_tmp\"", "raw_code": "--To disable this model, set the using_bill_payment variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_bill', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='bill_payment', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='bill_payment',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "bill_payment"], ["quickbooks", "bill_payment"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.bill_payment"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__bill_payment_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_bill_payment variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"bill_payment_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__journal_entry_line_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__journal_entry_line_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__journal_entry_line_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__journal_entry_line_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__journal_entry_line_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__journal_entry_line_tmp"], "alias": "stg_quickbooks__journal_entry_line_tmp", "checksum": {"name": "sha256", "checksum": "bcba66ad0358646e9993b39ecdd17c69130874858cb027ed198364bb77a3d283"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1731948866.817083, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__journal_entry_line_tmp\"", "raw_code": "--To disable this model, set the using_journal_entry variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_journal_entry', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='journal_entry_line', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='journal_entry_line',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "journal_entry_line"], ["quickbooks", "journal_entry_line"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.journal_entry_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__journal_entry_line_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_journal_entry variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"journal_entry_line_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__deposit_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__deposit_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__deposit_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__deposit_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__deposit_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__deposit_tmp"], "alias": "stg_quickbooks__deposit_tmp", "checksum": {"name": "sha256", "checksum": "e1f40c890b39fe0dd1bcec03c90b403c4e77015c805426b90ca3c3b1c93eb3b2"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1731948866.822164, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__deposit_tmp\"", "raw_code": "--To disable this model, set the using_deposit variable within your dbt_project.yml file to False.\n{{ config(enabled=var('using_deposit', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='deposit', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='deposit',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "deposit"], ["quickbooks", "deposit"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.deposit"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__deposit_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_deposit variable within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"deposit_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__bill_linked_txn_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__bill_linked_txn_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__bill_linked_txn_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__bill_linked_txn_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__bill_linked_txn_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__bill_linked_txn_tmp"], "alias": "stg_quickbooks__bill_linked_txn_tmp", "checksum": {"name": "sha256", "checksum": "2583068246d6617f1e99a3b11589211fb7cb90f66035526cee17be299ba826ec"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1731948866.825967, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill_linked_txn_tmp\"", "raw_code": "--To disable this model, set the using_bill and using_bill_payment variables within your dbt_project.yml file to False.\n{{ config(enabled=var('using_bill', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='bill_linked_txn', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='bill_linked_txn',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "bill_linked_txn"], ["quickbooks", "bill_linked_txn"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.bill_linked_txn"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__bill_linked_txn_tmp.sql", "compiled": true, "compiled_code": "--To disable this model, set the using_bill and using_bill_payment variables within your dbt_project.yml file to False.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"bill_linked_txn_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__invoice_linked_txn_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__invoice_linked_txn_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__invoice_linked_txn_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__invoice_linked_txn_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__invoice_linked_txn_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__invoice_linked_txn_tmp"], "alias": "stg_quickbooks__invoice_linked_txn_tmp", "checksum": {"name": "sha256", "checksum": "813acd5c2445c8886b2aa20afb05c5dc8165b9d38b3081b12a879e67abc67520"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1731948866.830584, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__invoice_linked_txn_tmp\"", "raw_code": "--To enable this model, set the using_invoice variable within your dbt_project.yml file to True.\n{{ config(enabled=var('using_invoice', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='invoice_linked_txn', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='invoice_linked_txn',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "invoice_linked_txn"], ["quickbooks", "invoice_linked_txn"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.invoice_linked_txn"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__invoice_linked_txn_tmp.sql", "compiled": true, "compiled_code": "--To enable this model, set the using_invoice variable within your dbt_project.yml file to True.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"invoice_linked_txn_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__sales_receipt_line_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__sales_receipt_line_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__sales_receipt_line_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__sales_receipt_line_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__sales_receipt_line_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__sales_receipt_line_tmp"], "alias": "stg_quickbooks__sales_receipt_line_tmp", "checksum": {"name": "sha256", "checksum": "b463d162c1fb701954a94b8322f6d5f7be39431fde28ce6eb0cb7ded9d7f1b07"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1731948866.8346398, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__sales_receipt_line_tmp\"", "raw_code": "{{ config(enabled=var('using_sales_receipt', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='sales_receipt_line', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='sales_receipt_line',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "sales_receipt_line"], ["quickbooks", "sales_receipt_line"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.sales_receipt_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__sales_receipt_line_tmp.sql", "compiled": true, "compiled_code": "\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"sales_receipt_line_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.quickbooks_source.stg_quickbooks__invoice_tmp": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__invoice_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__invoice_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__invoice_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__invoice_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__invoice_tmp"], "alias": "stg_quickbooks__invoice_tmp", "checksum": {"name": "sha256", "checksum": "c901088fa713bc1e59f7299c7c7d6ac7aea71b7c97e5a2821fd8efd33214bfc1"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": true}, "created_at": 1731948866.844022, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__invoice_tmp\"", "raw_code": "--To enable this model, set the using_invoice variable within your dbt_project.yml file to True.\n{{ config(enabled=var('using_invoice', True)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='invoice', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='invoice',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "invoice"], ["quickbooks", "invoice"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": ["source.quickbooks_source.quickbooks.invoice"]}, "compiled_path": "target/compiled/quickbooks_source/models/tmp/stg_quickbooks__invoice_tmp.sql", "compiled": true, "compiled_code": "--To enable this model, set the using_invoice variable within your dbt_project.yml file to True.\n\n\n\n \n \n \n \n \n select * \n from \"postgres\".\"quickbooks_integration_tests_18\".\"invoice_data\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__ap_ar_enhanced_transaction_id__source_relation__estimate_id.804c1f0bcf": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["transaction_id", "source_relation", "estimate_id"], "model": "{{ get_where_subquery(ref('quickbooks__ap_ar_enhanced')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_quickbooks__ap_ar_enhanced_transaction_id__source_relation__estimate_id", "resource_type": "test", "package_name": "quickbooks", "path": "dbt_utils_unique_combination_o_f7241a6be66aca2842f13a9443c66e5d.sql", "original_file_path": "models/quickbooks.yml", "unique_id": "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__ap_ar_enhanced_transaction_id__source_relation__estimate_id.804c1f0bcf", "fqn": ["quickbooks", "dbt_utils_unique_combination_of_columns_quickbooks__ap_ar_enhanced_transaction_id__source_relation__estimate_id"], "alias": "dbt_utils_unique_combination_o_f7241a6be66aca2842f13a9443c66e5d", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_f7241a6be66aca2842f13a9443c66e5d", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_f7241a6be66aca2842f13a9443c66e5d"}, "created_at": 1731948866.983715, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_f7241a6be66aca2842f13a9443c66e5d\") }}", "language": "sql", "refs": [{"name": "quickbooks__ap_ar_enhanced", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks.quickbooks__ap_ar_enhanced"]}, "compiled_path": "target/compiled/quickbooks/models/quickbooks.yml/dbt_utils_unique_combination_o_f7241a6be66aca2842f13a9443c66e5d.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n transaction_id, source_relation, estimate_id\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"quickbooks__ap_ar_enhanced\"\n group by transaction_id, source_relation, estimate_id\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.quickbooks__ap_ar_enhanced", "attached_node": "model.quickbooks.quickbooks__ap_ar_enhanced"}, "test.quickbooks.unique_quickbooks__cash_flow_statement_account_unique_id.c6ce55cc0d": {"test_metadata": {"name": "unique", "kwargs": {"column_name": "account_unique_id", "model": "{{ get_where_subquery(ref('quickbooks__cash_flow_statement')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "unique_quickbooks__cash_flow_statement_account_unique_id", "resource_type": "test", "package_name": "quickbooks", "path": "unique_quickbooks__cash_flow_statement_account_unique_id.sql", "original_file_path": "models/quickbooks.yml", "unique_id": "test.quickbooks.unique_quickbooks__cash_flow_statement_account_unique_id.c6ce55cc0d", "fqn": ["quickbooks", "unique_quickbooks__cash_flow_statement_account_unique_id"], "alias": "unique_quickbooks__cash_flow_statement_account_unique_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948866.99071, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "quickbooks__cash_flow_statement", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks.quickbooks__cash_flow_statement"]}, "compiled_path": "target/compiled/quickbooks/models/quickbooks.yml/unique_quickbooks__cash_flow_statement_account_unique_id.sql", "compiled": true, "compiled_code": "\n \n \n\nselect\n account_unique_id as unique_field,\n count(*) as n_records\n\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"quickbooks__cash_flow_statement\"\nwhere account_unique_id is not null\ngroup by account_unique_id\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "account_unique_id", "file_key_name": "models.quickbooks__cash_flow_statement", "attached_node": "model.quickbooks.quickbooks__cash_flow_statement"}, "test.quickbooks.not_null_quickbooks__cash_flow_statement_account_unique_id.748fb9ef0a": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "account_unique_id", "model": "{{ get_where_subquery(ref('quickbooks__cash_flow_statement')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_quickbooks__cash_flow_statement_account_unique_id", "resource_type": "test", "package_name": "quickbooks", "path": "not_null_quickbooks__cash_flow_statement_account_unique_id.sql", "original_file_path": "models/quickbooks.yml", "unique_id": "test.quickbooks.not_null_quickbooks__cash_flow_statement_account_unique_id.748fb9ef0a", "fqn": ["quickbooks", "not_null_quickbooks__cash_flow_statement_account_unique_id"], "alias": "not_null_quickbooks__cash_flow_statement_account_unique_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948866.991703, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "quickbooks__cash_flow_statement", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks.quickbooks__cash_flow_statement"]}, "compiled_path": "target/compiled/quickbooks/models/quickbooks.yml/not_null_quickbooks__cash_flow_statement_account_unique_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect account_unique_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"quickbooks__cash_flow_statement\"\nwhere account_unique_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "account_unique_id", "file_key_name": "models.quickbooks__cash_flow_statement", "attached_node": "model.quickbooks.quickbooks__cash_flow_statement"}, "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__expenses_sales_enhanced_transaction_id__source_relation__transaction_line_id__item_id.b57775bacb": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["transaction_id", "source_relation", "transaction_line_id", "item_id"], "model": "{{ get_where_subquery(ref('quickbooks__expenses_sales_enhanced')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_quickbooks__expenses_sales_enhanced_transaction_id__source_relation__transaction_line_id__item_id", "resource_type": "test", "package_name": "quickbooks", "path": "dbt_utils_unique_combination_o_302bbf3cbe4c6018a8cb1a4aa5e77938.sql", "original_file_path": "models/quickbooks.yml", "unique_id": "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__expenses_sales_enhanced_transaction_id__source_relation__transaction_line_id__item_id.b57775bacb", "fqn": ["quickbooks", "dbt_utils_unique_combination_of_columns_quickbooks__expenses_sales_enhanced_transaction_id__source_relation__transaction_line_id__item_id"], "alias": "dbt_utils_unique_combination_o_302bbf3cbe4c6018a8cb1a4aa5e77938", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_302bbf3cbe4c6018a8cb1a4aa5e77938", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_302bbf3cbe4c6018a8cb1a4aa5e77938"}, "created_at": 1731948866.9929469, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_302bbf3cbe4c6018a8cb1a4aa5e77938\") }}", "language": "sql", "refs": [{"name": "quickbooks__expenses_sales_enhanced", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks.quickbooks__expenses_sales_enhanced"]}, "compiled_path": "target/compiled/quickbooks/models/quickbooks.yml/dbt_utils_unique_combination_o_302bbf3cbe4c6018a8cb1a4aa5e77938.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n transaction_id, source_relation, transaction_line_id, item_id\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"quickbooks__expenses_sales_enhanced\"\n group by transaction_id, source_relation, transaction_line_id, item_id\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.quickbooks__expenses_sales_enhanced", "attached_node": "model.quickbooks.quickbooks__expenses_sales_enhanced"}, "test.quickbooks.unique_quickbooks__general_ledger_unique_id.df148e7545": {"test_metadata": {"name": "unique", "kwargs": {"column_name": "unique_id", "model": "{{ get_where_subquery(ref('quickbooks__general_ledger')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "unique_quickbooks__general_ledger_unique_id", "resource_type": "test", "package_name": "quickbooks", "path": "unique_quickbooks__general_ledger_unique_id.sql", "original_file_path": "models/quickbooks.yml", "unique_id": "test.quickbooks.unique_quickbooks__general_ledger_unique_id.df148e7545", "fqn": ["quickbooks", "unique_quickbooks__general_ledger_unique_id"], "alias": "unique_quickbooks__general_ledger_unique_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948866.9955258, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "quickbooks__general_ledger", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks.quickbooks__general_ledger"]}, "compiled_path": "target/compiled/quickbooks/models/quickbooks.yml/unique_quickbooks__general_ledger_unique_id.sql", "compiled": true, "compiled_code": "\n \n \n\nselect\n unique_id as unique_field,\n count(*) as n_records\n\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"quickbooks__general_ledger\"\nwhere unique_id is not null\ngroup by unique_id\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "unique_id", "file_key_name": "models.quickbooks__general_ledger", "attached_node": "model.quickbooks.quickbooks__general_ledger"}, "test.quickbooks.not_null_quickbooks__general_ledger_unique_id.06732be667": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "unique_id", "model": "{{ get_where_subquery(ref('quickbooks__general_ledger')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_quickbooks__general_ledger_unique_id", "resource_type": "test", "package_name": "quickbooks", "path": "not_null_quickbooks__general_ledger_unique_id.sql", "original_file_path": "models/quickbooks.yml", "unique_id": "test.quickbooks.not_null_quickbooks__general_ledger_unique_id.06732be667", "fqn": ["quickbooks", "not_null_quickbooks__general_ledger_unique_id"], "alias": "not_null_quickbooks__general_ledger_unique_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948866.9964721, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "quickbooks__general_ledger", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks.quickbooks__general_ledger"]}, "compiled_path": "target/compiled/quickbooks/models/quickbooks.yml/not_null_quickbooks__general_ledger_unique_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect unique_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"quickbooks__general_ledger\"\nwhere unique_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "unique_id", "file_key_name": "models.quickbooks__general_ledger", "attached_node": "model.quickbooks.quickbooks__general_ledger"}, "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__general_ledger_by_period_account_id__class_id__source_relation__period_first_day.d928e63a45": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["account_id", "class_id", "source_relation", "period_first_day"], "model": "{{ get_where_subquery(ref('quickbooks__general_ledger_by_period')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_quickbooks__general_ledger_by_period_account_id__class_id__source_relation__period_first_day", "resource_type": "test", "package_name": "quickbooks", "path": "dbt_utils_unique_combination_o_0a48dd44c186da7424ff159ccab84782.sql", "original_file_path": "models/quickbooks.yml", "unique_id": "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__general_ledger_by_period_account_id__class_id__source_relation__period_first_day.d928e63a45", "fqn": ["quickbooks", "dbt_utils_unique_combination_of_columns_quickbooks__general_ledger_by_period_account_id__class_id__source_relation__period_first_day"], "alias": "dbt_utils_unique_combination_o_0a48dd44c186da7424ff159ccab84782", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_0a48dd44c186da7424ff159ccab84782", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_0a48dd44c186da7424ff159ccab84782"}, "created_at": 1731948866.997398, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_0a48dd44c186da7424ff159ccab84782\") }}", "language": "sql", "refs": [{"name": "quickbooks__general_ledger_by_period", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks.quickbooks__general_ledger_by_period"]}, "compiled_path": "target/compiled/quickbooks/models/quickbooks.yml/dbt_utils_unique_combination_o_0a48dd44c186da7424ff159ccab84782.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n account_id, class_id, source_relation, period_first_day\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"quickbooks__general_ledger_by_period\"\n group by account_id, class_id, source_relation, period_first_day\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.quickbooks__general_ledger_by_period", "attached_node": "model.quickbooks.quickbooks__general_ledger_by_period"}, "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__profit_and_loss_account_id__class_id__source_relation__calendar_date.77ccb375e5": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["account_id", "class_id", "source_relation", "calendar_date"], "model": "{{ get_where_subquery(ref('quickbooks__profit_and_loss')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_quickbooks__profit_and_loss_account_id__class_id__source_relation__calendar_date", "resource_type": "test", "package_name": "quickbooks", "path": "dbt_utils_unique_combination_o_38cb2bb3b2674af9b16f21b4893f2381.sql", "original_file_path": "models/quickbooks.yml", "unique_id": "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__profit_and_loss_account_id__class_id__source_relation__calendar_date.77ccb375e5", "fqn": ["quickbooks", "dbt_utils_unique_combination_of_columns_quickbooks__profit_and_loss_account_id__class_id__source_relation__calendar_date"], "alias": "dbt_utils_unique_combination_o_38cb2bb3b2674af9b16f21b4893f2381", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_38cb2bb3b2674af9b16f21b4893f2381", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_38cb2bb3b2674af9b16f21b4893f2381"}, "created_at": 1731948866.9998689, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_38cb2bb3b2674af9b16f21b4893f2381\") }}", "language": "sql", "refs": [{"name": "quickbooks__profit_and_loss", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks.quickbooks__profit_and_loss"]}, "compiled_path": "target/compiled/quickbooks/models/quickbooks.yml/dbt_utils_unique_combination_o_38cb2bb3b2674af9b16f21b4893f2381.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n account_id, class_id, source_relation, calendar_date\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"quickbooks__profit_and_loss\"\n group by account_id, class_id, source_relation, calendar_date\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.quickbooks__profit_and_loss", "attached_node": "model.quickbooks.quickbooks__profit_and_loss"}, "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__balance_sheet_account_id__source_relation__calendar_date__class_id.07368a5056": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["account_id", "source_relation", "calendar_date", "class_id"], "model": "{{ get_where_subquery(ref('quickbooks__balance_sheet')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_quickbooks__balance_sheet_account_id__source_relation__calendar_date__class_id", "resource_type": "test", "package_name": "quickbooks", "path": "dbt_utils_unique_combination_o_d31e4df682266e2f02d9bd2841445827.sql", "original_file_path": "models/quickbooks.yml", "unique_id": "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__balance_sheet_account_id__source_relation__calendar_date__class_id.07368a5056", "fqn": ["quickbooks", "dbt_utils_unique_combination_of_columns_quickbooks__balance_sheet_account_id__source_relation__calendar_date__class_id"], "alias": "dbt_utils_unique_combination_o_d31e4df682266e2f02d9bd2841445827", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_d31e4df682266e2f02d9bd2841445827", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_d31e4df682266e2f02d9bd2841445827"}, "created_at": 1731948867.0027452, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_d31e4df682266e2f02d9bd2841445827\") }}", "language": "sql", "refs": [{"name": "quickbooks__balance_sheet", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks.quickbooks__balance_sheet"]}, "compiled_path": "target/compiled/quickbooks/models/quickbooks.yml/dbt_utils_unique_combination_o_d31e4df682266e2f02d9bd2841445827.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n account_id, source_relation, calendar_date, class_id\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"quickbooks__balance_sheet\"\n group by account_id, source_relation, calendar_date, class_id\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.quickbooks__balance_sheet", "attached_node": "model.quickbooks.quickbooks__balance_sheet"}, "test.quickbooks_source.not_null_stg_quickbooks__account_account_id.9944488b9d": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "account_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__account')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__account_account_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__account_account_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__account_account_id.9944488b9d", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__account_account_id"], "alias": "not_null_stg_quickbooks__account_account_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.05252, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__account", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__account"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__account_account_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect account_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__account\"\nwhere account_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "account_id", "file_key_name": "models.stg_quickbooks__account", "attached_node": "model.quickbooks_source.stg_quickbooks__account"}, "test.quickbooks_source.accepted_values_stg_quickbooks__account_classification__Asset__Equity__Expense__Liability__Revenue.127506f73f": {"test_metadata": {"name": "accepted_values", "kwargs": {"values": ["Asset", "Equity", "Expense", "Liability", "Revenue"], "column_name": "classification", "model": "{{ get_where_subquery(ref('stg_quickbooks__account')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "accepted_values_stg_quickbooks__account_classification__Asset__Equity__Expense__Liability__Revenue", "resource_type": "test", "package_name": "quickbooks_source", "path": "accepted_values_stg_quickbooks_e07a6bf709efec96a0a6e115c0aeefe9.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.accepted_values_stg_quickbooks__account_classification__Asset__Equity__Expense__Liability__Revenue.127506f73f", "fqn": ["quickbooks_source", "accepted_values_stg_quickbooks__account_classification__Asset__Equity__Expense__Liability__Revenue"], "alias": "accepted_values_stg_quickbooks_e07a6bf709efec96a0a6e115c0aeefe9", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "accepted_values_stg_quickbooks_e07a6bf709efec96a0a6e115c0aeefe9", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "accepted_values_stg_quickbooks_e07a6bf709efec96a0a6e115c0aeefe9"}, "created_at": 1731948867.053689, "relation_name": null, "raw_code": "{{ test_accepted_values(**_dbt_generic_test_kwargs) }}{{ config(alias=\"accepted_values_stg_quickbooks_e07a6bf709efec96a0a6e115c0aeefe9\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__account", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_accepted_values", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__account"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/accepted_values_stg_quickbooks_e07a6bf709efec96a0a6e115c0aeefe9.sql", "compiled": true, "compiled_code": "\n \n \n\nwith all_values as (\n\n select\n classification as value_field,\n count(*) as n_records\n\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__account\"\n group by classification\n\n)\n\nselect *\nfrom all_values\nwhere value_field not in (\n 'Asset','Equity','Expense','Liability','Revenue'\n)\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "classification", "file_key_name": "models.stg_quickbooks__account", "attached_node": "model.quickbooks_source.stg_quickbooks__account"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__account_account_id__source_relation.864a4b056a": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["account_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__account')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__account_account_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_2c250fbd62d33682b7816cb52dfc3c29.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__account_account_id__source_relation.864a4b056a", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__account_account_id__source_relation"], "alias": "dbt_utils_unique_combination_o_2c250fbd62d33682b7816cb52dfc3c29", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_2c250fbd62d33682b7816cb52dfc3c29", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_2c250fbd62d33682b7816cb52dfc3c29"}, "created_at": 1731948867.0593688, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_2c250fbd62d33682b7816cb52dfc3c29\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__account", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__account"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_2c250fbd62d33682b7816cb52dfc3c29.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n account_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__account\"\n group by account_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__account", "attached_node": "model.quickbooks_source.stg_quickbooks__account"}, "test.quickbooks_source.not_null_stg_quickbooks__address_address_id.4f100ae50c": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "address_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__address')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__address_address_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__address_address_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__address_address_id.4f100ae50c", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__address_address_id"], "alias": "not_null_stg_quickbooks__address_address_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.062219, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__address", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__address"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__address_address_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect address_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__address\"\nwhere address_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "address_id", "file_key_name": "models.stg_quickbooks__address", "attached_node": "model.quickbooks_source.stg_quickbooks__address"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__address_address_id__source_relation.5bc813a014": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["address_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__address')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__address_address_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_ea2ca4111a1d5463abe776e005c7d772.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__address_address_id__source_relation.5bc813a014", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__address_address_id__source_relation"], "alias": "dbt_utils_unique_combination_o_ea2ca4111a1d5463abe776e005c7d772", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ea2ca4111a1d5463abe776e005c7d772", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ea2ca4111a1d5463abe776e005c7d772"}, "created_at": 1731948867.063188, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ea2ca4111a1d5463abe776e005c7d772\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__address", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__address"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_ea2ca4111a1d5463abe776e005c7d772.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n address_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__address\"\n group by address_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__address", "attached_node": "model.quickbooks_source.stg_quickbooks__address"}, "test.quickbooks_source.not_null_stg_quickbooks__bill_line_bill_id.25c5ea7348": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "bill_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__bill_line')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__bill_line_bill_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__bill_line_bill_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__bill_line_bill_id.25c5ea7348", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__bill_line_bill_id"], "alias": "not_null_stg_quickbooks__bill_line_bill_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.065509, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__bill_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__bill_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__bill_line_bill_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect bill_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill_line\"\nwhere bill_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "bill_id", "file_key_name": "models.stg_quickbooks__bill_line", "attached_node": "model.quickbooks_source.stg_quickbooks__bill_line"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_line_bill_id__index__source_relation.73722b1062": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["bill_id", "index", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__bill_line')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_line_bill_id__index__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_bef323d83a6624b59a493fe8678153b1.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_line_bill_id__index__source_relation.73722b1062", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_line_bill_id__index__source_relation"], "alias": "dbt_utils_unique_combination_o_bef323d83a6624b59a493fe8678153b1", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_bef323d83a6624b59a493fe8678153b1", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_bef323d83a6624b59a493fe8678153b1"}, "created_at": 1731948867.066425, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_bef323d83a6624b59a493fe8678153b1\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__bill_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__bill_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_bef323d83a6624b59a493fe8678153b1.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n bill_id, index, source_relation\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill_line\"\n group by bill_id, index, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__bill_line", "attached_node": "model.quickbooks_source.stg_quickbooks__bill_line"}, "test.quickbooks_source.not_null_stg_quickbooks__bill_linked_txn_bill_id.35f96199bd": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "bill_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__bill_linked_txn')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__bill_linked_txn_bill_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__bill_linked_txn_bill_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__bill_linked_txn_bill_id.35f96199bd", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__bill_linked_txn_bill_id"], "alias": "not_null_stg_quickbooks__bill_linked_txn_bill_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.069014, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__bill_linked_txn", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__bill_linked_txn"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__bill_linked_txn_bill_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect bill_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill_linked_txn\"\nwhere bill_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "bill_id", "file_key_name": "models.stg_quickbooks__bill_linked_txn", "attached_node": "model.quickbooks_source.stg_quickbooks__bill_linked_txn"}, "test.quickbooks_source.not_null_stg_quickbooks__bill_payment_line_bill_payment_id.1dbb366150": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "bill_payment_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__bill_payment_line')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__bill_payment_line_bill_payment_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__bill_payment_line_bill_payment_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__bill_payment_line_bill_payment_id.1dbb366150", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__bill_payment_line_bill_payment_id"], "alias": "not_null_stg_quickbooks__bill_payment_line_bill_payment_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.070142, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__bill_payment_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__bill_payment_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__bill_payment_line_bill_payment_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect bill_payment_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill_payment_line\"\nwhere bill_payment_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "bill_payment_id", "file_key_name": "models.stg_quickbooks__bill_payment_line", "attached_node": "model.quickbooks_source.stg_quickbooks__bill_payment_line"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_payment_line_bill_payment_id__index__source_relation.0a7e17967c": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["bill_payment_id", "index", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__bill_payment_line')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_payment_line_bill_payment_id__index__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_487ae4ed3e6515e1119410b052e6f614.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_payment_line_bill_payment_id__index__source_relation.0a7e17967c", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_payment_line_bill_payment_id__index__source_relation"], "alias": "dbt_utils_unique_combination_o_487ae4ed3e6515e1119410b052e6f614", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_487ae4ed3e6515e1119410b052e6f614", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_487ae4ed3e6515e1119410b052e6f614"}, "created_at": 1731948867.071182, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_487ae4ed3e6515e1119410b052e6f614\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__bill_payment_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__bill_payment_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_487ae4ed3e6515e1119410b052e6f614.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n bill_payment_id, index, source_relation\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill_payment_line\"\n group by bill_payment_id, index, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__bill_payment_line", "attached_node": "model.quickbooks_source.stg_quickbooks__bill_payment_line"}, "test.quickbooks_source.not_null_stg_quickbooks__bill_payment_bill_payment_id.908899ccfb": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "bill_payment_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__bill_payment')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__bill_payment_bill_payment_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__bill_payment_bill_payment_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__bill_payment_bill_payment_id.908899ccfb", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__bill_payment_bill_payment_id"], "alias": "not_null_stg_quickbooks__bill_payment_bill_payment_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.073865, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__bill_payment", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__bill_payment"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__bill_payment_bill_payment_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect bill_payment_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill_payment\"\nwhere bill_payment_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "bill_payment_id", "file_key_name": "models.stg_quickbooks__bill_payment", "attached_node": "model.quickbooks_source.stg_quickbooks__bill_payment"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_payment_bill_payment_id__source_relation.4b7aafd630": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["bill_payment_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__bill_payment')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_payment_bill_payment_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_c3c16cc237119d09c84e75057a9582ec.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_payment_bill_payment_id__source_relation.4b7aafd630", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_payment_bill_payment_id__source_relation"], "alias": "dbt_utils_unique_combination_o_c3c16cc237119d09c84e75057a9582ec", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_c3c16cc237119d09c84e75057a9582ec", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_c3c16cc237119d09c84e75057a9582ec"}, "created_at": 1731948867.074805, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_c3c16cc237119d09c84e75057a9582ec\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__bill_payment", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__bill_payment"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_c3c16cc237119d09c84e75057a9582ec.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n bill_payment_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill_payment\"\n group by bill_payment_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__bill_payment", "attached_node": "model.quickbooks_source.stg_quickbooks__bill_payment"}, "test.quickbooks_source.not_null_stg_quickbooks__bill_bill_id.ca717958c8": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "bill_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__bill')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__bill_bill_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__bill_bill_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__bill_bill_id.ca717958c8", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__bill_bill_id"], "alias": "not_null_stg_quickbooks__bill_bill_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.0775309, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__bill", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__bill"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__bill_bill_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect bill_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill\"\nwhere bill_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "bill_id", "file_key_name": "models.stg_quickbooks__bill", "attached_node": "model.quickbooks_source.stg_quickbooks__bill"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_bill_id__source_relation.8c08249abf": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["bill_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__bill')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_bill_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_c28ddd5789110418dc73ea10c40920f4.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_bill_id__source_relation.8c08249abf", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_bill_id__source_relation"], "alias": "dbt_utils_unique_combination_o_c28ddd5789110418dc73ea10c40920f4", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_c28ddd5789110418dc73ea10c40920f4", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_c28ddd5789110418dc73ea10c40920f4"}, "created_at": 1731948867.0785952, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_c28ddd5789110418dc73ea10c40920f4\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__bill", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__bill"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_c28ddd5789110418dc73ea10c40920f4.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n bill_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bill\"\n group by bill_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__bill", "attached_node": "model.quickbooks_source.stg_quickbooks__bill"}, "test.quickbooks_source.not_null_stg_quickbooks__bundle_item_bundle_id.6d547b8c07": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "bundle_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__bundle_item')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__bundle_item_bundle_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__bundle_item_bundle_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__bundle_item_bundle_id.6d547b8c07", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__bundle_item_bundle_id"], "alias": "not_null_stg_quickbooks__bundle_item_bundle_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.081352, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__bundle_item", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__bundle_item"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__bundle_item_bundle_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect bundle_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bundle_item\"\nwhere bundle_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "bundle_id", "file_key_name": "models.stg_quickbooks__bundle_item", "attached_node": "model.quickbooks_source.stg_quickbooks__bundle_item"}, "test.quickbooks_source.not_null_stg_quickbooks__bundle_bundle_id.382e1dad60": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "bundle_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__bundle')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__bundle_bundle_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__bundle_bundle_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__bundle_bundle_id.382e1dad60", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__bundle_bundle_id"], "alias": "not_null_stg_quickbooks__bundle_bundle_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.082279, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__bundle", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__bundle"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__bundle_bundle_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect bundle_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bundle\"\nwhere bundle_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "bundle_id", "file_key_name": "models.stg_quickbooks__bundle", "attached_node": "model.quickbooks_source.stg_quickbooks__bundle"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bundle_bundle_id__source_relation.e241a21ebc": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["bundle_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__bundle')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__bundle_bundle_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_09730cf68ccfa2ddf1a0171abdbe7727.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bundle_bundle_id__source_relation.e241a21ebc", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__bundle_bundle_id__source_relation"], "alias": "dbt_utils_unique_combination_o_09730cf68ccfa2ddf1a0171abdbe7727", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_09730cf68ccfa2ddf1a0171abdbe7727", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_09730cf68ccfa2ddf1a0171abdbe7727"}, "created_at": 1731948867.0832021, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_09730cf68ccfa2ddf1a0171abdbe7727\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__bundle", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__bundle"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_09730cf68ccfa2ddf1a0171abdbe7727.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n bundle_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__bundle\"\n group by bundle_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__bundle", "attached_node": "model.quickbooks_source.stg_quickbooks__bundle"}, "test.quickbooks_source.not_null_stg_quickbooks__credit_memo_line_credit_memo_id.58953be02b": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "credit_memo_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__credit_memo_line')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__credit_memo_line_credit_memo_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__credit_memo_line_credit_memo_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__credit_memo_line_credit_memo_id.58953be02b", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__credit_memo_line_credit_memo_id"], "alias": "not_null_stg_quickbooks__credit_memo_line_credit_memo_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.0863202, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__credit_memo_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__credit_memo_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__credit_memo_line_credit_memo_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect credit_memo_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__credit_memo_line\"\nwhere credit_memo_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "credit_memo_id", "file_key_name": "models.stg_quickbooks__credit_memo_line", "attached_node": "model.quickbooks_source.stg_quickbooks__credit_memo_line"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__credit_memo_line_credit_memo_id__index__source_relation.7a43f0e186": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["credit_memo_id", "index", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__credit_memo_line')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__credit_memo_line_credit_memo_id__index__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_d11c458ea2ce7f40d69dbe2502aff858.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__credit_memo_line_credit_memo_id__index__source_relation.7a43f0e186", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__credit_memo_line_credit_memo_id__index__source_relation"], "alias": "dbt_utils_unique_combination_o_d11c458ea2ce7f40d69dbe2502aff858", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_d11c458ea2ce7f40d69dbe2502aff858", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_d11c458ea2ce7f40d69dbe2502aff858"}, "created_at": 1731948867.087312, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_d11c458ea2ce7f40d69dbe2502aff858\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__credit_memo_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__credit_memo_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_d11c458ea2ce7f40d69dbe2502aff858.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n credit_memo_id, index, source_relation\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__credit_memo_line\"\n group by credit_memo_id, index, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__credit_memo_line", "attached_node": "model.quickbooks_source.stg_quickbooks__credit_memo_line"}, "test.quickbooks_source.not_null_stg_quickbooks__credit_memo_credit_memo_id.d921d2b152": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "credit_memo_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__credit_memo')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__credit_memo_credit_memo_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__credit_memo_credit_memo_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__credit_memo_credit_memo_id.d921d2b152", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__credit_memo_credit_memo_id"], "alias": "not_null_stg_quickbooks__credit_memo_credit_memo_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.0903108, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__credit_memo", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__credit_memo"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__credit_memo_credit_memo_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect credit_memo_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__credit_memo\"\nwhere credit_memo_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "credit_memo_id", "file_key_name": "models.stg_quickbooks__credit_memo", "attached_node": "model.quickbooks_source.stg_quickbooks__credit_memo"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__credit_memo_credit_memo_id__source_relation.917f24c5ca": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["credit_memo_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__credit_memo')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__credit_memo_credit_memo_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_0370ab2c481d81737ad54a6b44ec7083.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__credit_memo_credit_memo_id__source_relation.917f24c5ca", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__credit_memo_credit_memo_id__source_relation"], "alias": "dbt_utils_unique_combination_o_0370ab2c481d81737ad54a6b44ec7083", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_0370ab2c481d81737ad54a6b44ec7083", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_0370ab2c481d81737ad54a6b44ec7083"}, "created_at": 1731948867.091491, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_0370ab2c481d81737ad54a6b44ec7083\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__credit_memo", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__credit_memo"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_0370ab2c481d81737ad54a6b44ec7083.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n credit_memo_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__credit_memo\"\n group by credit_memo_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__credit_memo", "attached_node": "model.quickbooks_source.stg_quickbooks__credit_memo"}, "test.quickbooks_source.not_null_stg_quickbooks__customer_customer_id.98232a9723": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "customer_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__customer')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__customer_customer_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__customer_customer_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__customer_customer_id.98232a9723", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__customer_customer_id"], "alias": "not_null_stg_quickbooks__customer_customer_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.095722, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__customer", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__customer"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__customer_customer_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect customer_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__customer\"\nwhere customer_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "customer_id", "file_key_name": "models.stg_quickbooks__customer", "attached_node": "model.quickbooks_source.stg_quickbooks__customer"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__customer_customer_id__source_relation.61cc22a568": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["customer_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__customer')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__customer_customer_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_94a5b3ccc73a9f1372dd56afe4104c9a.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__customer_customer_id__source_relation.61cc22a568", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__customer_customer_id__source_relation"], "alias": "dbt_utils_unique_combination_o_94a5b3ccc73a9f1372dd56afe4104c9a", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_94a5b3ccc73a9f1372dd56afe4104c9a", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_94a5b3ccc73a9f1372dd56afe4104c9a"}, "created_at": 1731948867.0967638, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_94a5b3ccc73a9f1372dd56afe4104c9a\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__customer", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__customer"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_94a5b3ccc73a9f1372dd56afe4104c9a.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n customer_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__customer\"\n group by customer_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__customer", "attached_node": "model.quickbooks_source.stg_quickbooks__customer"}, "test.quickbooks_source.not_null_stg_quickbooks__deposit_line_deposit_id.d615f463e1": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "deposit_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__deposit_line')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__deposit_line_deposit_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__deposit_line_deposit_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__deposit_line_deposit_id.d615f463e1", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__deposit_line_deposit_id"], "alias": "not_null_stg_quickbooks__deposit_line_deposit_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.099303, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__deposit_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__deposit_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__deposit_line_deposit_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect deposit_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__deposit_line\"\nwhere deposit_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "deposit_id", "file_key_name": "models.stg_quickbooks__deposit_line", "attached_node": "model.quickbooks_source.stg_quickbooks__deposit_line"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__deposit_line_deposit_id__index__source_relation.443de63985": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["deposit_id", "index", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__deposit_line')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__deposit_line_deposit_id__index__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_c925ee73881ebc194f9cd06282c3b48b.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__deposit_line_deposit_id__index__source_relation.443de63985", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__deposit_line_deposit_id__index__source_relation"], "alias": "dbt_utils_unique_combination_o_c925ee73881ebc194f9cd06282c3b48b", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_c925ee73881ebc194f9cd06282c3b48b", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_c925ee73881ebc194f9cd06282c3b48b"}, "created_at": 1731948867.100298, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_c925ee73881ebc194f9cd06282c3b48b\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__deposit_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__deposit_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_c925ee73881ebc194f9cd06282c3b48b.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n deposit_id, index, source_relation\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__deposit_line\"\n group by deposit_id, index, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__deposit_line", "attached_node": "model.quickbooks_source.stg_quickbooks__deposit_line"}, "test.quickbooks_source.not_null_stg_quickbooks__deposit_deposit_id.880b8c37b1": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "deposit_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__deposit')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__deposit_deposit_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__deposit_deposit_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__deposit_deposit_id.880b8c37b1", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__deposit_deposit_id"], "alias": "not_null_stg_quickbooks__deposit_deposit_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.10421, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__deposit", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__deposit"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__deposit_deposit_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect deposit_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__deposit\"\nwhere deposit_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "deposit_id", "file_key_name": "models.stg_quickbooks__deposit", "attached_node": "model.quickbooks_source.stg_quickbooks__deposit"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__deposit_deposit_id__source_relation.5574d8e908": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["deposit_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__deposit')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__deposit_deposit_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_092a258f34ac4a7fefe159e881ac39cb.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__deposit_deposit_id__source_relation.5574d8e908", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__deposit_deposit_id__source_relation"], "alias": "dbt_utils_unique_combination_o_092a258f34ac4a7fefe159e881ac39cb", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_092a258f34ac4a7fefe159e881ac39cb", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_092a258f34ac4a7fefe159e881ac39cb"}, "created_at": 1731948867.105193, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_092a258f34ac4a7fefe159e881ac39cb\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__deposit", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__deposit"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_092a258f34ac4a7fefe159e881ac39cb.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n deposit_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__deposit\"\n group by deposit_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__deposit", "attached_node": "model.quickbooks_source.stg_quickbooks__deposit"}, "test.quickbooks_source.not_null_stg_quickbooks__estimate_estimate_id.0331d3c310": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "estimate_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__estimate')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__estimate_estimate_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__estimate_estimate_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__estimate_estimate_id.0331d3c310", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__estimate_estimate_id"], "alias": "not_null_stg_quickbooks__estimate_estimate_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.1078598, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__estimate", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__estimate"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__estimate_estimate_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect estimate_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__estimate\"\nwhere estimate_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "estimate_id", "file_key_name": "models.stg_quickbooks__estimate", "attached_node": "model.quickbooks_source.stg_quickbooks__estimate"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__estimate_estimate_id__source_relation.412260b882": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["estimate_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__estimate')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__estimate_estimate_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_7bf162cb88029051f57dba3c7fb04a68.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__estimate_estimate_id__source_relation.412260b882", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__estimate_estimate_id__source_relation"], "alias": "dbt_utils_unique_combination_o_7bf162cb88029051f57dba3c7fb04a68", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_7bf162cb88029051f57dba3c7fb04a68", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_7bf162cb88029051f57dba3c7fb04a68"}, "created_at": 1731948867.109174, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_7bf162cb88029051f57dba3c7fb04a68\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__estimate", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__estimate"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_7bf162cb88029051f57dba3c7fb04a68.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n estimate_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__estimate\"\n group by estimate_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__estimate", "attached_node": "model.quickbooks_source.stg_quickbooks__estimate"}, "test.quickbooks_source.not_null_stg_quickbooks__estimate_line_estimate_id.c060f99b4c": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "estimate_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__estimate_line')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__estimate_line_estimate_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__estimate_line_estimate_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__estimate_line_estimate_id.c060f99b4c", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__estimate_line_estimate_id"], "alias": "not_null_stg_quickbooks__estimate_line_estimate_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.111833, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__estimate_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__estimate_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__estimate_line_estimate_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect estimate_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__estimate_line\"\nwhere estimate_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "estimate_id", "file_key_name": "models.stg_quickbooks__estimate_line", "attached_node": "model.quickbooks_source.stg_quickbooks__estimate_line"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__estimate_line_estimate_id__index__source_relation.cc61ab0953": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["estimate_id", "index", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__estimate_line')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__estimate_line_estimate_id__index__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_32a21fecfc924c9112967c0151ed2e2a.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__estimate_line_estimate_id__index__source_relation.cc61ab0953", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__estimate_line_estimate_id__index__source_relation"], "alias": "dbt_utils_unique_combination_o_32a21fecfc924c9112967c0151ed2e2a", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_32a21fecfc924c9112967c0151ed2e2a", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_32a21fecfc924c9112967c0151ed2e2a"}, "created_at": 1731948867.11276, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_32a21fecfc924c9112967c0151ed2e2a\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__estimate_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__estimate_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_32a21fecfc924c9112967c0151ed2e2a.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n estimate_id, index, source_relation\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__estimate_line\"\n group by estimate_id, index, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__estimate_line", "attached_node": "model.quickbooks_source.stg_quickbooks__estimate_line"}, "test.quickbooks_source.not_null_stg_quickbooks__invoice_linked_txn_invoice_id.c9b9c8f8f4": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "invoice_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__invoice_linked_txn')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__invoice_linked_txn_invoice_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__invoice_linked_txn_invoice_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__invoice_linked_txn_invoice_id.c9b9c8f8f4", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__invoice_linked_txn_invoice_id"], "alias": "not_null_stg_quickbooks__invoice_linked_txn_invoice_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.115124, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__invoice_linked_txn", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__invoice_linked_txn"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__invoice_linked_txn_invoice_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect invoice_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__invoice_linked_txn\"\nwhere invoice_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "invoice_id", "file_key_name": "models.stg_quickbooks__invoice_linked_txn", "attached_node": "model.quickbooks_source.stg_quickbooks__invoice_linked_txn"}, "test.quickbooks_source.not_null_stg_quickbooks__invoice_line_invoice_id.0424087a8f": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "invoice_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__invoice_line')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__invoice_line_invoice_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__invoice_line_invoice_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__invoice_line_invoice_id.0424087a8f", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__invoice_line_invoice_id"], "alias": "not_null_stg_quickbooks__invoice_line_invoice_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.1162481, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__invoice_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__invoice_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__invoice_line_invoice_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect invoice_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__invoice_line\"\nwhere invoice_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "invoice_id", "file_key_name": "models.stg_quickbooks__invoice_line", "attached_node": "model.quickbooks_source.stg_quickbooks__invoice_line"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_line_invoice_id__index__source_relation.99b74bc327": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["invoice_id", "index", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__invoice_line')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_line_invoice_id__index__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_c6315f3241abd1bacbc31091d17954d0.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_line_invoice_id__index__source_relation.99b74bc327", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_line_invoice_id__index__source_relation"], "alias": "dbt_utils_unique_combination_o_c6315f3241abd1bacbc31091d17954d0", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_c6315f3241abd1bacbc31091d17954d0", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_c6315f3241abd1bacbc31091d17954d0"}, "created_at": 1731948867.1177568, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_c6315f3241abd1bacbc31091d17954d0\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__invoice_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__invoice_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_c6315f3241abd1bacbc31091d17954d0.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n invoice_id, index, source_relation\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__invoice_line\"\n group by invoice_id, index, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__invoice_line", "attached_node": "model.quickbooks_source.stg_quickbooks__invoice_line"}, "test.quickbooks_source.not_null_stg_quickbooks__invoice_line_bundle_invoice_id.cfd59b83a9": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "invoice_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__invoice_line_bundle')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__invoice_line_bundle_invoice_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__invoice_line_bundle_invoice_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__invoice_line_bundle_invoice_id.cfd59b83a9", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__invoice_line_bundle_invoice_id"], "alias": "not_null_stg_quickbooks__invoice_line_bundle_invoice_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.12035, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__invoice_line_bundle", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__invoice_line_bundle"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__invoice_line_bundle_invoice_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect invoice_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__invoice_line_bundle\"\nwhere invoice_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "invoice_id", "file_key_name": "models.stg_quickbooks__invoice_line_bundle", "attached_node": "model.quickbooks_source.stg_quickbooks__invoice_line_bundle"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_line_bundle_invoice_id__index__invoice_line_index__source_relation.5370e9fcd0": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["invoice_id", "index", "invoice_line_index", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__invoice_line_bundle')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_line_bundle_invoice_id__index__invoice_line_index__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_50efaaff0f1b2a391c218200ac15163a.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_line_bundle_invoice_id__index__invoice_line_index__source_relation.5370e9fcd0", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_line_bundle_invoice_id__index__invoice_line_index__source_relation"], "alias": "dbt_utils_unique_combination_o_50efaaff0f1b2a391c218200ac15163a", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_50efaaff0f1b2a391c218200ac15163a", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_50efaaff0f1b2a391c218200ac15163a"}, "created_at": 1731948867.1212642, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_50efaaff0f1b2a391c218200ac15163a\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__invoice_line_bundle", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__invoice_line_bundle"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_50efaaff0f1b2a391c218200ac15163a.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n invoice_id, index, invoice_line_index, source_relation\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__invoice_line_bundle\"\n group by invoice_id, index, invoice_line_index, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__invoice_line_bundle", "attached_node": "model.quickbooks_source.stg_quickbooks__invoice_line_bundle"}, "test.quickbooks_source.not_null_stg_quickbooks__invoice_invoice_id.b6d8e1ad7d": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "invoice_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__invoice')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__invoice_invoice_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__invoice_invoice_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__invoice_invoice_id.b6d8e1ad7d", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__invoice_invoice_id"], "alias": "not_null_stg_quickbooks__invoice_invoice_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.123552, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__invoice", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__invoice"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__invoice_invoice_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect invoice_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__invoice\"\nwhere invoice_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "invoice_id", "file_key_name": "models.stg_quickbooks__invoice", "attached_node": "model.quickbooks_source.stg_quickbooks__invoice"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_invoice_id__source_relation.ef51800044": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["invoice_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__invoice')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_invoice_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_319edd8e021d4717bac9384ad54afc4c.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_invoice_id__source_relation.ef51800044", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_invoice_id__source_relation"], "alias": "dbt_utils_unique_combination_o_319edd8e021d4717bac9384ad54afc4c", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_319edd8e021d4717bac9384ad54afc4c", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_319edd8e021d4717bac9384ad54afc4c"}, "created_at": 1731948867.124467, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_319edd8e021d4717bac9384ad54afc4c\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__invoice", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__invoice"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_319edd8e021d4717bac9384ad54afc4c.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n invoice_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__invoice\"\n group by invoice_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__invoice", "attached_node": "model.quickbooks_source.stg_quickbooks__invoice"}, "test.quickbooks_source.not_null_stg_quickbooks__item_item_id.da906d8fb9": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "item_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__item')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__item_item_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__item_item_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__item_item_id.da906d8fb9", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__item_item_id"], "alias": "not_null_stg_quickbooks__item_item_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.127346, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__item", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__item"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__item_item_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect item_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__item\"\nwhere item_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "item_id", "file_key_name": "models.stg_quickbooks__item", "attached_node": "model.quickbooks_source.stg_quickbooks__item"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__item_item_id__source_relation.169465a2a6": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["item_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__item')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__item_item_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_7426c41960b95c9389dbbbc54a1cf5d5.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__item_item_id__source_relation.169465a2a6", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__item_item_id__source_relation"], "alias": "dbt_utils_unique_combination_o_7426c41960b95c9389dbbbc54a1cf5d5", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_7426c41960b95c9389dbbbc54a1cf5d5", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_7426c41960b95c9389dbbbc54a1cf5d5"}, "created_at": 1731948867.128353, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_7426c41960b95c9389dbbbc54a1cf5d5\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__item", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__item"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_7426c41960b95c9389dbbbc54a1cf5d5.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n item_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__item\"\n group by item_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__item", "attached_node": "model.quickbooks_source.stg_quickbooks__item"}, "test.quickbooks_source.not_null_stg_quickbooks__journal_entry_line_journal_entry_id.bd89a6f784": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "journal_entry_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__journal_entry_line')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__journal_entry_line_journal_entry_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__journal_entry_line_journal_entry_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__journal_entry_line_journal_entry_id.bd89a6f784", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__journal_entry_line_journal_entry_id"], "alias": "not_null_stg_quickbooks__journal_entry_line_journal_entry_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.1312032, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__journal_entry_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__journal_entry_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__journal_entry_line_journal_entry_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect journal_entry_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__journal_entry_line\"\nwhere journal_entry_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "journal_entry_id", "file_key_name": "models.stg_quickbooks__journal_entry_line", "attached_node": "model.quickbooks_source.stg_quickbooks__journal_entry_line"}, "test.quickbooks_source.accepted_values_stg_quickbooks__journal_entry_line_posting_type__Credit__Debit.ab661907c3": {"test_metadata": {"name": "accepted_values", "kwargs": {"values": ["Credit", "Debit"], "column_name": "posting_type", "model": "{{ get_where_subquery(ref('stg_quickbooks__journal_entry_line')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "accepted_values_stg_quickbooks__journal_entry_line_posting_type__Credit__Debit", "resource_type": "test", "package_name": "quickbooks_source", "path": "accepted_values_stg_quickbooks_b036fbffbcb85c40f92072d6f5f9ff55.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.accepted_values_stg_quickbooks__journal_entry_line_posting_type__Credit__Debit.ab661907c3", "fqn": ["quickbooks_source", "accepted_values_stg_quickbooks__journal_entry_line_posting_type__Credit__Debit"], "alias": "accepted_values_stg_quickbooks_b036fbffbcb85c40f92072d6f5f9ff55", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "accepted_values_stg_quickbooks_b036fbffbcb85c40f92072d6f5f9ff55", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "accepted_values_stg_quickbooks_b036fbffbcb85c40f92072d6f5f9ff55"}, "created_at": 1731948867.1321821, "relation_name": null, "raw_code": "{{ test_accepted_values(**_dbt_generic_test_kwargs) }}{{ config(alias=\"accepted_values_stg_quickbooks_b036fbffbcb85c40f92072d6f5f9ff55\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__journal_entry_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_accepted_values", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__journal_entry_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/accepted_values_stg_quickbooks_b036fbffbcb85c40f92072d6f5f9ff55.sql", "compiled": true, "compiled_code": "\n \n \n\nwith all_values as (\n\n select\n posting_type as value_field,\n count(*) as n_records\n\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__journal_entry_line\"\n group by posting_type\n\n)\n\nselect *\nfrom all_values\nwhere value_field not in (\n 'Credit','Debit'\n)\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "posting_type", "file_key_name": "models.stg_quickbooks__journal_entry_line", "attached_node": "model.quickbooks_source.stg_quickbooks__journal_entry_line"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__journal_entry_line_journal_entry_id__index__source_relation.0cd1d9f232": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["journal_entry_id", "index", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__journal_entry_line')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__journal_entry_line_journal_entry_id__index__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_4c8432634b226965133f1e7c71701fee.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__journal_entry_line_journal_entry_id__index__source_relation.0cd1d9f232", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__journal_entry_line_journal_entry_id__index__source_relation"], "alias": "dbt_utils_unique_combination_o_4c8432634b226965133f1e7c71701fee", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_4c8432634b226965133f1e7c71701fee", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_4c8432634b226965133f1e7c71701fee"}, "created_at": 1731948867.1352699, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_4c8432634b226965133f1e7c71701fee\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__journal_entry_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__journal_entry_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_4c8432634b226965133f1e7c71701fee.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n journal_entry_id, index, source_relation\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__journal_entry_line\"\n group by journal_entry_id, index, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__journal_entry_line", "attached_node": "model.quickbooks_source.stg_quickbooks__journal_entry_line"}, "test.quickbooks_source.not_null_stg_quickbooks__journal_entry_journal_entry_id.39198c4ff2": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "journal_entry_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__journal_entry')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__journal_entry_journal_entry_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__journal_entry_journal_entry_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__journal_entry_journal_entry_id.39198c4ff2", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__journal_entry_journal_entry_id"], "alias": "not_null_stg_quickbooks__journal_entry_journal_entry_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.137532, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__journal_entry", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__journal_entry"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__journal_entry_journal_entry_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect journal_entry_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__journal_entry\"\nwhere journal_entry_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "journal_entry_id", "file_key_name": "models.stg_quickbooks__journal_entry", "attached_node": "model.quickbooks_source.stg_quickbooks__journal_entry"}, "test.quickbooks_source.not_null_stg_quickbooks__payment_line_payment_id.6351e3fe26": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "payment_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__payment_line')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__payment_line_payment_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__payment_line_payment_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__payment_line_payment_id.6351e3fe26", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__payment_line_payment_id"], "alias": "not_null_stg_quickbooks__payment_line_payment_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.138481, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__payment_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__payment_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__payment_line_payment_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect payment_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__payment_line\"\nwhere payment_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "payment_id", "file_key_name": "models.stg_quickbooks__payment_line", "attached_node": "model.quickbooks_source.stg_quickbooks__payment_line"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__payment_line_payment_id__index__source_relation.25be3cf2e5": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["payment_id", "index", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__payment_line')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__payment_line_payment_id__index__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_7392e0f7492547c3f7fdf460f4541625.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__payment_line_payment_id__index__source_relation.25be3cf2e5", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__payment_line_payment_id__index__source_relation"], "alias": "dbt_utils_unique_combination_o_7392e0f7492547c3f7fdf460f4541625", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_7392e0f7492547c3f7fdf460f4541625", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_7392e0f7492547c3f7fdf460f4541625"}, "created_at": 1731948867.1395578, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_7392e0f7492547c3f7fdf460f4541625\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__payment_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__payment_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_7392e0f7492547c3f7fdf460f4541625.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n payment_id, index, source_relation\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__payment_line\"\n group by payment_id, index, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__payment_line", "attached_node": "model.quickbooks_source.stg_quickbooks__payment_line"}, "test.quickbooks_source.not_null_stg_quickbooks__payment_payment_id.ca2c1ef54f": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "payment_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__payment')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__payment_payment_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__payment_payment_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__payment_payment_id.ca2c1ef54f", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__payment_payment_id"], "alias": "not_null_stg_quickbooks__payment_payment_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.1420832, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__payment", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__payment"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__payment_payment_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect payment_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__payment\"\nwhere payment_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "payment_id", "file_key_name": "models.stg_quickbooks__payment", "attached_node": "model.quickbooks_source.stg_quickbooks__payment"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__payment_payment_id__source_relation.1998a8282e": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["payment_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__payment')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__payment_payment_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_f2adbcdbbcee8d760b8061840cafa557.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__payment_payment_id__source_relation.1998a8282e", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__payment_payment_id__source_relation"], "alias": "dbt_utils_unique_combination_o_f2adbcdbbcee8d760b8061840cafa557", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_f2adbcdbbcee8d760b8061840cafa557", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_f2adbcdbbcee8d760b8061840cafa557"}, "created_at": 1731948867.1437519, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_f2adbcdbbcee8d760b8061840cafa557\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__payment", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__payment"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_f2adbcdbbcee8d760b8061840cafa557.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n payment_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__payment\"\n group by payment_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__payment", "attached_node": "model.quickbooks_source.stg_quickbooks__payment"}, "test.quickbooks_source.not_null_stg_quickbooks__purchase_line_purchase_id.5406fca79c": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "purchase_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__purchase_line')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__purchase_line_purchase_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__purchase_line_purchase_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__purchase_line_purchase_id.5406fca79c", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__purchase_line_purchase_id"], "alias": "not_null_stg_quickbooks__purchase_line_purchase_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.146129, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__purchase_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__purchase_line_purchase_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect purchase_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__purchase_line\"\nwhere purchase_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "purchase_id", "file_key_name": "models.stg_quickbooks__purchase_line", "attached_node": "model.quickbooks_source.stg_quickbooks__purchase_line"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_line_purchase_id__index__source_relation.a23c661eb5": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["purchase_id", "index", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__purchase_line')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_line_purchase_id__index__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_af6a2ae9538ebdc44c401715aaef9153.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_line_purchase_id__index__source_relation.a23c661eb5", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_line_purchase_id__index__source_relation"], "alias": "dbt_utils_unique_combination_o_af6a2ae9538ebdc44c401715aaef9153", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_af6a2ae9538ebdc44c401715aaef9153", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_af6a2ae9538ebdc44c401715aaef9153"}, "created_at": 1731948867.1472151, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_af6a2ae9538ebdc44c401715aaef9153\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__purchase_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_af6a2ae9538ebdc44c401715aaef9153.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n purchase_id, index, source_relation\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__purchase_line\"\n group by purchase_id, index, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__purchase_line", "attached_node": "model.quickbooks_source.stg_quickbooks__purchase_line"}, "test.quickbooks_source.not_null_stg_quickbooks__purchase_purchase_id.fc2090959b": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "purchase_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__purchase')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__purchase_purchase_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__purchase_purchase_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__purchase_purchase_id.fc2090959b", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__purchase_purchase_id"], "alias": "not_null_stg_quickbooks__purchase_purchase_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.1493602, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__purchase"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__purchase_purchase_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect purchase_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__purchase\"\nwhere purchase_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "purchase_id", "file_key_name": "models.stg_quickbooks__purchase", "attached_node": "model.quickbooks_source.stg_quickbooks__purchase"}, "test.quickbooks_source.accepted_values_stg_quickbooks__purchase_payment_type__Cash__Check__CreditCard.7de7edf458": {"test_metadata": {"name": "accepted_values", "kwargs": {"values": ["Cash", "Check", "CreditCard"], "column_name": "payment_type", "model": "{{ get_where_subquery(ref('stg_quickbooks__purchase')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "accepted_values_stg_quickbooks__purchase_payment_type__Cash__Check__CreditCard", "resource_type": "test", "package_name": "quickbooks_source", "path": "accepted_values_stg_quickbooks_b3d99f90b13d6a36cf512ed42db44216.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.accepted_values_stg_quickbooks__purchase_payment_type__Cash__Check__CreditCard.7de7edf458", "fqn": ["quickbooks_source", "accepted_values_stg_quickbooks__purchase_payment_type__Cash__Check__CreditCard"], "alias": "accepted_values_stg_quickbooks_b3d99f90b13d6a36cf512ed42db44216", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "accepted_values_stg_quickbooks_b3d99f90b13d6a36cf512ed42db44216", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "accepted_values_stg_quickbooks_b3d99f90b13d6a36cf512ed42db44216"}, "created_at": 1731948867.150274, "relation_name": null, "raw_code": "{{ test_accepted_values(**_dbt_generic_test_kwargs) }}{{ config(alias=\"accepted_values_stg_quickbooks_b3d99f90b13d6a36cf512ed42db44216\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_accepted_values", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__purchase"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/accepted_values_stg_quickbooks_b3d99f90b13d6a36cf512ed42db44216.sql", "compiled": true, "compiled_code": "\n \n \n\nwith all_values as (\n\n select\n payment_type as value_field,\n count(*) as n_records\n\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__purchase\"\n group by payment_type\n\n)\n\nselect *\nfrom all_values\nwhere value_field not in (\n 'Cash','Check','CreditCard'\n)\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "payment_type", "file_key_name": "models.stg_quickbooks__purchase", "attached_node": "model.quickbooks_source.stg_quickbooks__purchase"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_purchase_id__source_relation.172340b49e": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["purchase_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__purchase')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_purchase_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_386d04b86fca1a7980db6f9572202563.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_purchase_id__source_relation.172340b49e", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_purchase_id__source_relation"], "alias": "dbt_utils_unique_combination_o_386d04b86fca1a7980db6f9572202563", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_386d04b86fca1a7980db6f9572202563", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_386d04b86fca1a7980db6f9572202563"}, "created_at": 1731948867.153867, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_386d04b86fca1a7980db6f9572202563\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__purchase"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_386d04b86fca1a7980db6f9572202563.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n purchase_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__purchase\"\n group by purchase_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__purchase", "attached_node": "model.quickbooks_source.stg_quickbooks__purchase"}, "test.quickbooks_source.not_null_stg_quickbooks__refund_receipt_line_refund_id.57df809b80": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "refund_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__refund_receipt_line')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__refund_receipt_line_refund_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__refund_receipt_line_refund_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__refund_receipt_line_refund_id.57df809b80", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__refund_receipt_line_refund_id"], "alias": "not_null_stg_quickbooks__refund_receipt_line_refund_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.1680331, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__refund_receipt_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__refund_receipt_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__refund_receipt_line_refund_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect refund_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__refund_receipt_line\"\nwhere refund_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "refund_id", "file_key_name": "models.stg_quickbooks__refund_receipt_line", "attached_node": "model.quickbooks_source.stg_quickbooks__refund_receipt_line"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__refund_receipt_line_refund_id__index__source_relation.614411eb40": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["refund_id", "index", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__refund_receipt_line')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__refund_receipt_line_refund_id__index__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_0576ca2d4762e19d78b83d83ac2c0576.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__refund_receipt_line_refund_id__index__source_relation.614411eb40", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__refund_receipt_line_refund_id__index__source_relation"], "alias": "dbt_utils_unique_combination_o_0576ca2d4762e19d78b83d83ac2c0576", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_0576ca2d4762e19d78b83d83ac2c0576", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_0576ca2d4762e19d78b83d83ac2c0576"}, "created_at": 1731948867.16901, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_0576ca2d4762e19d78b83d83ac2c0576\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__refund_receipt_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__refund_receipt_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_0576ca2d4762e19d78b83d83ac2c0576.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n refund_id, index, source_relation\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__refund_receipt_line\"\n group by refund_id, index, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__refund_receipt_line", "attached_node": "model.quickbooks_source.stg_quickbooks__refund_receipt_line"}, "test.quickbooks_source.not_null_stg_quickbooks__refund_receipt_refund_id.29e8a8216e": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "refund_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__refund_receipt')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__refund_receipt_refund_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__refund_receipt_refund_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__refund_receipt_refund_id.29e8a8216e", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__refund_receipt_refund_id"], "alias": "not_null_stg_quickbooks__refund_receipt_refund_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.171496, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__refund_receipt", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__refund_receipt"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__refund_receipt_refund_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect refund_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__refund_receipt\"\nwhere refund_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "refund_id", "file_key_name": "models.stg_quickbooks__refund_receipt", "attached_node": "model.quickbooks_source.stg_quickbooks__refund_receipt"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__refund_receipt_refund_id__source_relation.60f976841d": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["refund_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__refund_receipt')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__refund_receipt_refund_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_98a0d08c840b3e48e476b15f4128e605.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__refund_receipt_refund_id__source_relation.60f976841d", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__refund_receipt_refund_id__source_relation"], "alias": "dbt_utils_unique_combination_o_98a0d08c840b3e48e476b15f4128e605", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_98a0d08c840b3e48e476b15f4128e605", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_98a0d08c840b3e48e476b15f4128e605"}, "created_at": 1731948867.172419, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_98a0d08c840b3e48e476b15f4128e605\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__refund_receipt", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__refund_receipt"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_98a0d08c840b3e48e476b15f4128e605.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n refund_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__refund_receipt\"\n group by refund_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__refund_receipt", "attached_node": "model.quickbooks_source.stg_quickbooks__refund_receipt"}, "test.quickbooks_source.not_null_stg_quickbooks__sales_receipt_line_sales_receipt_id.9be0667fc3": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "sales_receipt_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__sales_receipt_line')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__sales_receipt_line_sales_receipt_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__sales_receipt_line_sales_receipt_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__sales_receipt_line_sales_receipt_id.9be0667fc3", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__sales_receipt_line_sales_receipt_id"], "alias": "not_null_stg_quickbooks__sales_receipt_line_sales_receipt_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.174675, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__sales_receipt_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__sales_receipt_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__sales_receipt_line_sales_receipt_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect sales_receipt_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__sales_receipt_line\"\nwhere sales_receipt_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "sales_receipt_id", "file_key_name": "models.stg_quickbooks__sales_receipt_line", "attached_node": "model.quickbooks_source.stg_quickbooks__sales_receipt_line"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__sales_receipt_line_sales_receipt_id__index__source_relation.20e80dcbd5": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["sales_receipt_id", "index", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__sales_receipt_line')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__sales_receipt_line_sales_receipt_id__index__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_3c761efd9d55d2e81605c5aa8b69c899.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__sales_receipt_line_sales_receipt_id__index__source_relation.20e80dcbd5", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__sales_receipt_line_sales_receipt_id__index__source_relation"], "alias": "dbt_utils_unique_combination_o_3c761efd9d55d2e81605c5aa8b69c899", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_3c761efd9d55d2e81605c5aa8b69c899", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_3c761efd9d55d2e81605c5aa8b69c899"}, "created_at": 1731948867.1756558, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_3c761efd9d55d2e81605c5aa8b69c899\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__sales_receipt_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__sales_receipt_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_3c761efd9d55d2e81605c5aa8b69c899.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n sales_receipt_id, index, source_relation\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__sales_receipt_line\"\n group by sales_receipt_id, index, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__sales_receipt_line", "attached_node": "model.quickbooks_source.stg_quickbooks__sales_receipt_line"}, "test.quickbooks_source.not_null_stg_quickbooks__sales_receipt_sales_receipt_id.b97c1a238a": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "sales_receipt_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__sales_receipt')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__sales_receipt_sales_receipt_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__sales_receipt_sales_receipt_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__sales_receipt_sales_receipt_id.b97c1a238a", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__sales_receipt_sales_receipt_id"], "alias": "not_null_stg_quickbooks__sales_receipt_sales_receipt_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.178462, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__sales_receipt", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__sales_receipt"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__sales_receipt_sales_receipt_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect sales_receipt_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__sales_receipt\"\nwhere sales_receipt_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "sales_receipt_id", "file_key_name": "models.stg_quickbooks__sales_receipt", "attached_node": "model.quickbooks_source.stg_quickbooks__sales_receipt"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__sales_receipt_sales_receipt_id__source_relation.36bdbcffde": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["sales_receipt_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__sales_receipt')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__sales_receipt_sales_receipt_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_8270165597a02c4fdee4d5d05b75b03d.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__sales_receipt_sales_receipt_id__source_relation.36bdbcffde", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__sales_receipt_sales_receipt_id__source_relation"], "alias": "dbt_utils_unique_combination_o_8270165597a02c4fdee4d5d05b75b03d", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_8270165597a02c4fdee4d5d05b75b03d", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_8270165597a02c4fdee4d5d05b75b03d"}, "created_at": 1731948867.179465, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_8270165597a02c4fdee4d5d05b75b03d\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__sales_receipt", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__sales_receipt"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_8270165597a02c4fdee4d5d05b75b03d.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n sales_receipt_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__sales_receipt\"\n group by sales_receipt_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__sales_receipt", "attached_node": "model.quickbooks_source.stg_quickbooks__sales_receipt"}, "test.quickbooks_source.not_null_stg_quickbooks__transfer_transfer_id.c1c80a253c": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "transfer_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__transfer')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__transfer_transfer_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__transfer_transfer_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__transfer_transfer_id.c1c80a253c", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__transfer_transfer_id"], "alias": "not_null_stg_quickbooks__transfer_transfer_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.1821198, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__transfer", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__transfer"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__transfer_transfer_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect transfer_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__transfer\"\nwhere transfer_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "transfer_id", "file_key_name": "models.stg_quickbooks__transfer", "attached_node": "model.quickbooks_source.stg_quickbooks__transfer"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__transfer_transfer_id__source_relation.bfa4c7345e": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["transfer_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__transfer')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__transfer_transfer_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_2c8c7ac1eb8b4669ad2cee7a8f4ed233.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__transfer_transfer_id__source_relation.bfa4c7345e", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__transfer_transfer_id__source_relation"], "alias": "dbt_utils_unique_combination_o_2c8c7ac1eb8b4669ad2cee7a8f4ed233", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_2c8c7ac1eb8b4669ad2cee7a8f4ed233", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_2c8c7ac1eb8b4669ad2cee7a8f4ed233"}, "created_at": 1731948867.1830919, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_2c8c7ac1eb8b4669ad2cee7a8f4ed233\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__transfer", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__transfer"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_2c8c7ac1eb8b4669ad2cee7a8f4ed233.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n transfer_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__transfer\"\n group by transfer_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__transfer", "attached_node": "model.quickbooks_source.stg_quickbooks__transfer"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__vendor_credit_line_vendor_credit_id__index__source_relation.094b35ac4d": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["vendor_credit_id", "index", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__vendor_credit_line')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__vendor_credit_line_vendor_credit_id__index__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_d15906fc804bc105aea1840c47631e4b.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__vendor_credit_line_vendor_credit_id__index__source_relation.094b35ac4d", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__vendor_credit_line_vendor_credit_id__index__source_relation"], "alias": "dbt_utils_unique_combination_o_d15906fc804bc105aea1840c47631e4b", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_d15906fc804bc105aea1840c47631e4b", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_d15906fc804bc105aea1840c47631e4b"}, "created_at": 1731948867.1858041, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_d15906fc804bc105aea1840c47631e4b\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__vendor_credit_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__vendor_credit_line"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_d15906fc804bc105aea1840c47631e4b.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n vendor_credit_id, index, source_relation\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__vendor_credit_line\"\n group by vendor_credit_id, index, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__vendor_credit_line", "attached_node": "model.quickbooks_source.stg_quickbooks__vendor_credit_line"}, "test.quickbooks_source.not_null_stg_quickbooks__vendor_credit_vendor_credit_id.1275a5ab5a": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "vendor_credit_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__vendor_credit')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__vendor_credit_vendor_credit_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__vendor_credit_vendor_credit_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__vendor_credit_vendor_credit_id.1275a5ab5a", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__vendor_credit_vendor_credit_id"], "alias": "not_null_stg_quickbooks__vendor_credit_vendor_credit_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.1883562, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__vendor_credit", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__vendor_credit"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__vendor_credit_vendor_credit_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect vendor_credit_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__vendor_credit\"\nwhere vendor_credit_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "vendor_credit_id", "file_key_name": "models.stg_quickbooks__vendor_credit", "attached_node": "model.quickbooks_source.stg_quickbooks__vendor_credit"}, "test.quickbooks_source.not_null_stg_quickbooks__vendor_vendor_id.f509a77195": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "vendor_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__vendor')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__vendor_vendor_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__vendor_vendor_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__vendor_vendor_id.f509a77195", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__vendor_vendor_id"], "alias": "not_null_stg_quickbooks__vendor_vendor_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.189292, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__vendor", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__vendor"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/not_null_stg_quickbooks__vendor_vendor_id.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect vendor_id\nfrom \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__vendor\"\nwhere vendor_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "vendor_id", "file_key_name": "models.stg_quickbooks__vendor", "attached_node": "model.quickbooks_source.stg_quickbooks__vendor"}, "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__vendor_vendor_id__source_relation.4960d9d21a": {"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["vendor_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__vendor')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__vendor_vendor_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_53c8360ba41e0cdcbf50ea70bfa40ce4.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__vendor_vendor_id__source_relation.4960d9d21a", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__vendor_vendor_id__source_relation"], "alias": "dbt_utils_unique_combination_o_53c8360ba41e0cdcbf50ea70bfa40ce4", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_53c8360ba41e0cdcbf50ea70bfa40ce4", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_53c8360ba41e0cdcbf50ea70bfa40ce4"}, "created_at": 1731948867.190902, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_53c8360ba41e0cdcbf50ea70bfa40ce4\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__vendor", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.quickbooks_source.stg_quickbooks__vendor"]}, "compiled_path": "target/compiled/quickbooks_source/models/stg_quickbooks.yml/dbt_utils_unique_combination_o_53c8360ba41e0cdcbf50ea70bfa40ce4.sql", "compiled": true, "compiled_code": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n vendor_id, source_relation\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__vendor\"\n group by vendor_id, source_relation\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__vendor", "attached_node": "model.quickbooks_source.stg_quickbooks__vendor"}, "model.quickbooks.int_quickbooks__retained_earnings": {"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "int_quickbooks__retained_earnings", "resource_type": "model", "package_name": "quickbooks", "path": "intermediate/int_quickbooks__retained_earnings.sql", "original_file_path": "models/intermediate/int_quickbooks__retained_earnings.sql", "unique_id": "model.quickbooks.int_quickbooks__retained_earnings", "fqn": ["quickbooks", "intermediate", "int_quickbooks__retained_earnings"], "alias": "int_quickbooks__retained_earnings", "checksum": {"name": "sha256", "checksum": "69ade1439767ce519ea7fdff31e44a59484e0c254c0302228cd1a3d8aa744e49"}, "config": {"enabled": true, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table that creates an adjusting entry for retained earnings each month. The retained earnings account is created as account_id 9999 and is listed as an Equity class. This table generates the retained earnings period beginning balance, ending balance, and net change by adding the period revenues and subtracting by the period expenses. This total is set as the period ending balance. From the period ending balance the net change and beginning balances are calculated. This is table is then unioned with in_quickbooks__general_ledger_balances.\n", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://models/quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"materialized": "table", "schema": "quickbooks_{{ var('directed_schema','dev') }}"}, "created_at": 1731948988.519068, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__retained_earnings\"", "raw_code": "with general_ledger_balances as (\n\n select *\n from {{ ref('int_quickbooks__general_ledger_balances') }}\n),\n\nnet_income_loss as (\n\n select\n period_first_day,\n source_relation,\n sum(case when account_class = 'Revenue' then period_net_change else 0 end) as revenue_net_change,\n sum(case when account_class = 'Revenue' then period_net_converted_change else 0 end) as revenue_net_converted_change,\n sum(case when account_class = 'Expense' then period_net_change else 0 end) as expense_net_change,\n sum(case when account_class = 'Expense' then period_net_converted_change else 0 end) as expense_net_converted_change\n from general_ledger_balances\n {{ dbt_utils.group_by(2) }} \n),\n\nretained_earnings_starter as (\n\n select\n cast('9999' as {{ dbt.type_string() }}) as account_id,\n source_relation,\n cast('9999-00' as {{ dbt.type_string() }}) as account_number,\n cast('Net Income Adjustment' as {{ dbt.type_string() }}) as account_name,\n false as is_sub_account,\n cast(null as {{ dbt.type_string() }}) as parent_account_number,\n cast(null as {{ dbt.type_string() }}) as parent_account_name,\n cast('Equity' as {{ dbt.type_string() }}) as account_type,\n cast('RetainedEarnings' as {{ dbt.type_string() }}) as account_sub_type,\n cast('Equity' as {{ dbt.type_string() }}) as account_class,\n cast(null as {{ dbt.type_string() }}) as class_id,\n cast('balance_sheet' as {{ dbt.type_string() }}) as financial_statement_helper,\n cast({{ dbt.date_trunc(\"year\", \"period_first_day\") }} as date) as date_year,\n cast(period_first_day as date) as period_first_day,\n {{ dbt.last_day(\"period_first_day\", \"month\") }} as period_last_day,\n (revenue_net_change - expense_net_change) as period_net_change,\n (revenue_net_converted_change - expense_net_converted_change) as period_net_converted_change\n from net_income_loss\n),\n\n\nretained_earnings_beginning as (\n\n select\n *,\n sum(coalesce(period_net_change, 0)) over (order by source_relation, period_first_day, period_first_day rows unbounded preceding) as period_ending_balance,\n sum(coalesce(period_net_converted_change, 0)) over (order by source_relation, period_first_day, period_first_day rows unbounded preceding) as period_ending_converted_balance\n from retained_earnings_starter\n),\n\nfinal as (\n \n select\n account_id,\n source_relation,\n account_number,\n account_name,\n is_sub_account,\n parent_account_number,\n parent_account_name,\n account_type,\n account_sub_type,\n account_class,\n class_id,\n financial_statement_helper,\n date_year,\n period_first_day,\n period_last_day,\n period_net_change,\n lag(coalesce(period_ending_balance,0)) over (order by source_relation, period_first_day) as period_beginning_balance,\n period_ending_balance,\n period_net_converted_change,\n lag(coalesce(period_ending_balance,0)) over (order by source_relation, period_first_day) as period_beginning_converted_balance,\n period_ending_converted_balance\n from retained_earnings_beginning\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "int_quickbooks__general_ledger_balances", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.group_by", "macro.dbt.type_string", "macro.dbt.date_trunc", "macro.dbt.last_day"], "nodes": ["model.quickbooks.int_quickbooks__general_ledger_balances"]}, "compiled_path": "target/compiled/quickbooks/models/intermediate/int_quickbooks__retained_earnings.sql", "compiled": true, "compiled_code": "with general_ledger_balances as (\n\n select *\n from \"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"int_quickbooks__general_ledger_balances\"\n),\n\nnet_income_loss as (\n\n select\n period_first_day,\n source_relation,\n sum(case when account_class = 'Revenue' then period_net_change else 0 end) as revenue_net_change,\n sum(case when account_class = 'Revenue' then period_net_converted_change else 0 end) as revenue_net_converted_change,\n sum(case when account_class = 'Expense' then period_net_change else 0 end) as expense_net_change,\n sum(case when account_class = 'Expense' then period_net_converted_change else 0 end) as expense_net_converted_change\n from general_ledger_balances\n group by 1,2 \n),\n\nretained_earnings_starter as (\n\n select\n cast('9999' as TEXT) as account_id,\n source_relation,\n cast('9999-00' as TEXT) as account_number,\n cast('Net Income Adjustment' as TEXT) as account_name,\n false as is_sub_account,\n cast(null as TEXT) as parent_account_number,\n cast(null as TEXT) as parent_account_name,\n cast('Equity' as TEXT) as account_type,\n cast('RetainedEarnings' as TEXT) as account_sub_type,\n cast('Equity' as TEXT) as account_class,\n cast(null as TEXT) as class_id,\n cast('balance_sheet' as TEXT) as financial_statement_helper,\n cast(date_trunc('year', period_first_day) as date) as date_year,\n cast(period_first_day as date) as period_first_day,\n cast(\n \n\n \n\n date_trunc('month', period_first_day) + ((interval '1 month') * (1))\n\n + ((interval '1 day') * (-1))\n\n\n as date) as period_last_day,\n (revenue_net_change - expense_net_change) as period_net_change,\n (revenue_net_converted_change - expense_net_converted_change) as period_net_converted_change\n from net_income_loss\n),\n\n\nretained_earnings_beginning as (\n\n select\n *,\n sum(coalesce(period_net_change, 0)) over (order by source_relation, period_first_day, period_first_day rows unbounded preceding) as period_ending_balance,\n sum(coalesce(period_net_converted_change, 0)) over (order by source_relation, period_first_day, period_first_day rows unbounded preceding) as period_ending_converted_balance\n from retained_earnings_starter\n),\n\nfinal as (\n \n select\n account_id,\n source_relation,\n account_number,\n account_name,\n is_sub_account,\n parent_account_number,\n parent_account_name,\n account_type,\n account_sub_type,\n account_class,\n class_id,\n financial_statement_helper,\n date_year,\n period_first_day,\n period_last_day,\n period_net_change,\n lag(coalesce(period_ending_balance,0)) over (order by source_relation, period_first_day) as period_beginning_balance,\n period_ending_balance,\n period_net_converted_change,\n lag(coalesce(period_ending_balance,0)) over (order by source_relation, period_first_day) as period_beginning_converted_balance,\n period_ending_converted_balance\n from retained_earnings_beginning\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}}, "sources": {"source.quickbooks_source.quickbooks.account": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "account", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.account", "fqn": ["quickbooks_source", "quickbooks", "account"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "account_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing components of a Chart Of Accounts and is part of a ledger. It is used to record a total monetary amount allocated against a specific use. Accounts are one of five basic types: asset, liability, revenue (income), expenses, or equity.", "columns": {"id": {"name": "id", "description": "Unique identifier of the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_number": {"name": "account_number", "description": "User-defined account number intended to identify the account within the Chart of Accounts.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sub_account": {"name": "sub_account", "description": "Specifies whether this object represents a parent (false) or a sub_account (true).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "parent_account_id": {"name": "parent_account_id", "description": "User entered description for the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "User recognizable name for the Account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_type": {"name": "account_type", "description": "A detailed account classification that specifies the use of this account. The type is based on the Classification.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "Boolean indicating whether an account is currently active.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_sub_type": {"name": "account_sub_type", "description": "The account sub-type classification and is based on the AccountType value.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "classification": {"name": "classification", "description": "The classification of an account. Not supported for non-posting accounts. Valid values include Asset, Equity, Expense, Liability, Revenue.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the creation date for the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency which the account records the balance in.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "fully_qualified_name": {"name": "fully_qualified_name", "description": "Full name of the account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "Specifies the balance amount for the current Account.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance_with_sub_accounts": {"name": "balance_with_sub_accounts", "description": "Specifies the balance amount for the current Account sub accounts.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of the date which the account was last updated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"account_data\"", "created_at": 1731948867.2596889}, "source.quickbooks_source.quickbooks.address": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "address", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.address", "fqn": ["quickbooks_source", "quickbooks", "address"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "address_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing address details.", "columns": {"id": {"name": "id", "description": "Unique identifier of the address.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "city": {"name": "city", "description": "The city which the address is located.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "country": {"name": "country", "description": "The country which the address is located.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "line_1": {"name": "line_1", "description": "The address_line_1 associated with the address.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "line_2": {"name": "line_2", "description": "The address_line_2 associated with the address (if applicable).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "postal_code": {"name": "postal_code", "description": "The postal code which the address is located.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"address_data\"", "created_at": 1731948867.259844}, "source.quickbooks_source.quickbooks.bill_line": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "bill_line", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.bill_line", "fqn": ["quickbooks_source", "quickbooks", "bill_line"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "bill_line_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing distinct line items from bills within the `bill` table.", "columns": {"bill_id": {"name": "bill_id", "description": "Unique identifier of the parent bill record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Bill line index in reference to the parent bill.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_class_id": {"name": "account_expense_class_id", "description": "Reference to the class associated with the account based expense bill line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_customer_id": {"name": "account_expense_customer_id", "description": "Reference to the customer associated with the account based expense bill line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_item_id": {"name": "item_expense_item_id", "description": "Reference to the item with the item based expense bill line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_class_id": {"name": "item_expense_class_id", "description": "Reference to the class associated with the item based expense bill line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_customer_id": {"name": "item_expense_customer_id", "description": "Reference to the customer associated with the item based expense bill line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_billable_status": {"name": "item_expense_billable_status", "description": "The billable status of the item based expense bill line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_account_id": {"name": "account_expense_account_id", "description": "The identifier of the account associated with account being expensed from the bill.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_billable_status": {"name": "account_expense_billable_status", "description": "The status of the bill line item expense.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_tax_code_id": {"name": "account_expense_tax_code_id", "description": "The tax code id associated with the bill.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the bill line item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the bill line item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"bill_line_data\"", "created_at": 1731948867.259948}, "source.quickbooks_source.quickbooks.bill_linked_txn": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "bill_linked_txn", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.bill_linked_txn", "fqn": ["quickbooks_source", "quickbooks", "bill_linked_txn"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "bill_linked_txn_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Mapping table containing bill payment transactions linked to a bill.", "columns": {"bill_id": {"name": "bill_id", "description": "Unique identifier of the bill record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records from a single bill record associated with payment ids.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "bill_payment_id": {"name": "bill_payment_id", "description": "The \"Unique identifier of the bill payment id record.\"", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"bill_linked_txn_data\"", "created_at": 1731948867.260032}, "source.quickbooks_source.quickbooks.bill_payment_line": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "bill_payment_line", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.bill_payment_line", "fqn": ["quickbooks_source", "quickbooks", "bill_payment_line"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "bill_payment_line_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing individual line items of a bill payment, which are recorded within the `bill_payment` table.", "columns": {"bill_payment_id": {"name": "bill_payment_id", "description": "Unique identifier of the bill payment record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of payments associated with the parent bill payment record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the bill payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "bill_id": {"name": "bill_id", "description": "Unique identifier of the bill record associated with the bill payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_id": {"name": "deposit_id", "description": "Unique identifier of the deposit record associated with the bill payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "expense_id": {"name": "expense_id", "description": "Unique identifier of the purchase record associated with the bill payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "linked_bill_payment_id": {"name": "linked_bill_payment_id", "description": "Unique identifier of the bill record associated with the bill payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_credit_id": {"name": "vendor_credit_id", "description": "Unique identifier of the vendor_credit record associated with the bill payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "journal_entry_id": {"name": "journal_entry_id", "description": "Unique identifier of the journal entry record associated with the bill payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"bill_payment_line_data\"", "created_at": 1731948867.260125}, "source.quickbooks_source.quickbooks.bill_payment": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "bill_payment", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.bill_payment", "fqn": ["quickbooks_source", "quickbooks", "bill_payment"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "bill_payment_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing payment transactions bills that the business owner receives from a vendor for goods or services purchased from the vendor.", "columns": {"id": {"name": "id", "description": "Unique identifier of the bill payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "check_bank_account_id": {"name": "check_bank_account_id", "description": "The identifier of the account associated with the credited bill payment. Only applicable if bill payment `pay_type` is of type check.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "check_print_status": {"name": "check_print_status", "description": "Status of the check which was used as payment for the bill. Only applicable if bill payment `pay_type` is of type Check.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "credit_card_account_id": {"name": "credit_card_account_id", "description": "The identifier of the account associated with the credited bill payment. Only applicable if bill payment `pay_type` is of type CreditCard.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by CurrencyRef. Applicable if multicurrency is enabled for the company.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department specifying the location of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "pay_type": {"name": "pay_type", "description": "The payment type. Valid values include Check, CreditCard", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount associated with this payment. This includes the total of all the payments from the payment line details.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date of the day the payment took place.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_id": {"name": "vendor_id", "description": "Reference to the vendor for this transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"bill_payment_data\"", "created_at": 1731948867.260221}, "source.quickbooks_source.quickbooks.bill": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "bill", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.bill", "fqn": ["quickbooks_source", "quickbooks", "bill"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "bill_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing AP transactions representing a request-for-payment from a third party for goods/services rendered, received, or both.", "columns": {"id": {"name": "id", "description": "Unique identifier of the bill record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "The balance reflecting any payments made against the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department the bill is linked with.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Total \"Monetary amount of all bill line items.\"", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_id": {"name": "vendor_id", "description": "Reference to the vendor the bill is linked with.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "due_date": {"name": "due_date", "description": "Date which the bill is due.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date of the day when the bill transaction occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "payable_account_id": {"name": "payable_account_id", "description": "The identifier of the account associated with the account which the bill is credited.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "private_note": {"name": "private_note", "description": "User entered, organization-private note about the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"bill_data\"", "created_at": 1731948867.260313}, "source.quickbooks_source.quickbooks.bundle_item": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "bundle_item", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.bundle_item", "fqn": ["quickbooks_source", "quickbooks", "bundle_item"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "bundle_item_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Mapping table containing all bundle and item combinations", "columns": {"bundle_id": {"name": "bundle_id", "description": "Reference to the bundle table.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_id": {"name": "item_id", "description": "Reference to the item which the bundle is mapped.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_quantity": {"name": "item_quantity", "description": "Total item quantity associated with the bundle and item mapping.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"bundle_item_data\"", "created_at": 1731948867.2603898}, "source.quickbooks_source.quickbooks.bundle": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "bundle", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.bundle", "fqn": ["quickbooks_source", "quickbooks", "bundle"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "bundle_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing all bundles possible to be used within an invoice.", "columns": {"id": {"name": "id", "description": "Unique identifier of the bundle.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the creation date for the bundle.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "Boolean indicating whether the bundle is active.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "fully_qualified_name": {"name": "fully_qualified_name", "description": "Full name given to the bundle.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of the date when the bundle was last updated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"bundle_data\"", "created_at": 1731948867.26047}, "source.quickbooks_source.quickbooks.credit_card_payment_txn": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "credit_card_payment_txn", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.credit_card_payment_txn", "fqn": ["quickbooks_source", "quickbooks", "credit_card_payment_txn"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "credit_card_payment_txn_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing all credit card payment transactions.", "columns": {"id": {"name": "id", "description": "Unique identifier of the credit card payment transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Total amount of money applied to the credit card payment transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "bank_account_id": {"name": "bank_account_id", "description": "The identifier of the account associated with the bank which the credit card payment is debited towards.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "credit_card_account_id": {"name": "credit_card_account_id", "description": "The identifier of the account associated with the credit card which the payment is credited towards.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp when the credit card payment was created.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp when the credit card payment was last updated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency used for the credit card payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Day the credit card payment transaction took place.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean indicating if the credit card payment was deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"credit_card_payment_txn_data\"", "created_at": 1731948867.260555}, "source.quickbooks_source.quickbooks.credit_memo_line": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "credit_memo_line", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.credit_memo_line", "fqn": ["quickbooks_source", "quickbooks", "credit_memo_line"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "credit_memo_line_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing individual records of credit memos.", "columns": {"credit_memo_id": {"name": "credit_memo_id", "description": "Unique identifier of the credit memo record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records from a credit memo record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the credit memo line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_account_id": {"name": "sales_item_account_id", "description": "The identifier of the account associated with an item credit memo record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_class_id": {"name": "sales_item_class_id", "description": "Reference to the class associated for an item credit memo record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_item_id": {"name": "sales_item_item_id", "description": "Reference to the item for an item credit memo record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_quantity": {"name": "sales_item_quantity", "description": "Quantity of item related to the credit memo line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_unit_price": {"name": "sales_item_unit_price", "description": "Unit price of the item related to the credit memo line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_account_id": {"name": "discount_account_id", "description": "The identifier of the account associated with a discount credit memo record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_class_id": {"name": "discount_class_id", "description": "Reference to the class associated for a discount credit memo record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the credit memo line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"credit_memo_line_data\"", "created_at": 1731948867.2606452}, "source.quickbooks_source.quickbooks.credit_memo": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "credit_memo", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.credit_memo", "fqn": ["quickbooks_source", "quickbooks", "credit_memo"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "credit_memo_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing credit memo records. A credit memo is a refund or credit of payment or part of a payment for goods or services that have been sold.", "columns": {"id": {"name": "id", "description": "Unique identifier of the credit memo.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "The balance reflecting any payments made against the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated with the credit memo.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department associated with the credit memo.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Reference to the customer associated with the credit memo.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date of the day when the credit memo occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"credit_memo_data\"", "created_at": 1731948867.260733}, "source.quickbooks_source.quickbooks.customer": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "customer", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.customer", "fqn": ["quickbooks_source", "quickbooks", "customer"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "customer_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing customers of which are consumers of the service or product that your business offers.", "columns": {"id": {"name": "id", "description": "Unique identifier of the customer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "Boolean indicating whether it is currently enabled for use by QuickBooks.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "Specifies the open balance amount or the amount unpaid by the customer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance_with_jobs": {"name": "balance_with_jobs", "description": "Cumulative open balance amount for the Customer (or Job) and all its sub-jobs.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "bill_with_parent": {"name": "bill_with_parent", "description": "Boolean indicating whether this Customer object is billed with its parent.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "company_name": {"name": "company_name", "description": "Full name of the company.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "fully_qualified_name": {"name": "fully_qualified_name", "description": "Fully qualified name of the company.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts associated with this customer are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "display_name": {"name": "display_name", "description": "Name of the customer which is displayed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "website": {"name": "website", "description": "The website url associated with the customer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "taxable": {"name": "taxable", "description": "Boolean indicating whether the customer is taxable.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"customer_data\"", "created_at": 1731948867.260884}, "source.quickbooks_source.quickbooks.department": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "department", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.department", "fqn": ["quickbooks_source", "quickbooks", "department"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "department_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing records representing physical locations such as stores, and sales regions.", "columns": {"id": {"name": "id", "description": "Unique identifier of the department.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_active": {"name": "is_active", "description": "Boolean indicating whether the department is currently active.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the creation date for the department.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of the date when the department was last updated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "fully_qualified_name": {"name": "fully_qualified_name", "description": "Fully qualified name of the department.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the department.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sub_department": {"name": "sub_department", "description": "Boolean indicating whether the department is a sub department.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "parent_department_id": {"name": "parent_department_id", "description": "Reference to the Unique identifier of the parent department if sub_department = true.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"department_data\"", "created_at": 1731948867.2609699}, "source.quickbooks_source.quickbooks.deposit_line": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "deposit_line", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.deposit_line", "fqn": ["quickbooks_source", "quickbooks", "deposit_line"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "deposit_line_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing individual line items comprising the deposit.", "columns": {"deposit_id": {"name": "deposit_id", "description": "Unique identifier of the deposit record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the deposit record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the deposit line record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the deposit line record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_class_id": {"name": "deposit_class_id", "description": "Reference to the class associated the deposit line record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_account_id": {"name": "deposit_account_id", "description": "The identifier of the account associated with the credited deposit.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_customer_id": {"name": "deposit_customer_id", "description": "Reference to the customer associated with the credited deposit.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"deposit_line_data\"", "created_at": 1731948867.261052}, "source.quickbooks_source.quickbooks.deposit": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "deposit", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.deposit", "fqn": ["quickbooks_source", "quickbooks", "deposit"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "deposit_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing records of transactions that record on or more deposits of a customer payment or a new direct deposit.", "columns": {"id": {"name": "id", "description": "Unique identifier of the deposit.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The identifier of the account associated with this deposit.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the creation date for the deposit.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department associated with the deposit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount of the transaction. This includes the total of all the charges, allowances, and taxes.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date of the day which the deposit transaction occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_status": {"name": "transaction_status", "description": "Status of the deposit transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "home_total_amount": {"name": "home_total_amount", "description": "Indicates the total amount of the transaction in the home currency. This includes the total of all the charges, allowances, and taxes.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"deposit_data\"", "created_at": 1731948867.261138}, "source.quickbooks_source.quickbooks.estimate": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "estimate", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.estimate", "fqn": ["quickbooks_source", "quickbooks", "estimate"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "estimate_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing estimates. An estimate represents a proposal for a financial transaction from a business to a customer for goods or services proposed to be sold, including proposed pricing.", "columns": {"id": {"name": "id", "description": "Unique identifier of the estimate.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated with the estimate record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the creation date for the estimate.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency which the estimate was provided.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Reference to the customer associated with the estimate.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department associated with the estimate.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "due_date": {"name": "due_date", "description": "Date which the estimate is due.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Total amount of all line items included in the estimate.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date of the day which the estimate occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_status": {"name": "transaction_status", "description": "Current status of the estimate.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"estimate_data\"", "created_at": 1731948867.261229}, "source.quickbooks_source.quickbooks.estimate_line": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "estimate_line", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.estimate_line", "fqn": ["quickbooks_source", "quickbooks", "estimate_line"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "estimate_line_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing line item records of an estimate.", "columns": {"estimate_id": {"name": "estimate_id", "description": "Reference to the unique estimate record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the estimate line record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_account_id": {"name": "discount_account_id", "description": "The identifier of the account associated with the discount estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_class_id": {"name": "discount_class_id", "description": "Reference to the class associated with the discount estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_account_id": {"name": "sales_item_account_id", "description": "The identifier of the account associated with the sales estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_class_id": {"name": "sales_item_class_id", "description": "Reference to the class associated with the sales estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_item_id": {"name": "sales_item_item_id", "description": "Reference to the item associated with a sales estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_quantity": {"name": "sales_item_quantity", "description": "Quantity of the item for a sales estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_id": {"name": "item_id", "description": "Reference to the item associated with the estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "quantity": {"name": "quantity", "description": "Quantity of the item for the estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The identifier of the account associated associated with the estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the estimate line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"estimate_line_data\"", "created_at": 1731948867.261324}, "source.quickbooks_source.quickbooks.invoice_linked_txn": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "invoice_linked_txn", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.invoice_linked_txn", "fqn": ["quickbooks_source", "quickbooks", "invoice_linked_txn"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "invoice_linked_txn_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Mapping table for invoices records to respective estimate and payment objects.", "columns": {"invoice_id": {"name": "invoice_id", "description": "Reference to the unique invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "payment_id": {"name": "payment_id", "description": "Reference to the respective payment object for the invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "estimate_id": {"name": "estimate_id", "description": "Reference to the respective estimate object for the invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the invoice mapping record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"invoice_linked_txn_data\"", "created_at": 1731948867.2614021}, "source.quickbooks_source.quickbooks.invoice_line": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "invoice_line", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.invoice_line", "fqn": ["quickbooks_source", "quickbooks", "invoice_line"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "invoice_line_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing individual records from invoices.", "columns": {"invoice_id": {"name": "invoice_id", "description": "Unique identifier of the invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the invoice line record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_account_id": {"name": "sales_item_account_id", "description": "The identifier of the account associated for an item invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_item_id": {"name": "sales_item_item_id", "description": "Reference to the item for an item invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_class_id": {"name": "sales_item_class_id", "description": "Reference to the class associated with an item invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_quantity": {"name": "sales_item_quantity", "description": "Quantity of the item for an item invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_unit_price": {"name": "sales_item_unit_price", "description": "Unit price of the item for an item invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_account_id": {"name": "discount_account_id", "description": "The identifier of the account associated for a discount invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_class_id": {"name": "discount_class_id", "description": "Reference to the class associated with a discount invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the invoice line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "bundle_quantity": {"name": "bundle_quantity", "description": "Quantity of items included in the invoice bundle.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "bundle_id": {"name": "bundle_id", "description": "Reference to the bundle associated with the invoice line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The identifier of the account associated with the invoice line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_id": {"name": "item_id", "description": "Reference to the item associated with the invoice line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "quantity": {"name": "quantity", "description": "Quantity of the item included on the invoice line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "detail_type": {"name": "detail_type", "description": "Individual line items of a transaction. Valid line types include SalesItemLineDetail, DescriptionOnly (also used for inline Subtotal lines), DiscountLineDetail and SubTotalLineDetail (used for the overall transaction). FYI - Records synced prior to 11/2021 will have a null value.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"invoice_line_data\"", "created_at": 1731948867.261494}, "source.quickbooks_source.quickbooks.invoice_line_bundle": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "invoice_line_bundle", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.invoice_line_bundle", "fqn": ["quickbooks_source", "quickbooks", "invoice_line_bundle"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "invoice_line_bundle_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing lines of an invoice which were bundled.", "columns": {"invoice_id": {"name": "invoice_id", "description": "Unique identifier of the invoice record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "invoice_line_index": {"name": "invoice_line_index", "description": "Invoice index count of records associated with the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated with the invoice line bundle.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Total monetary value of the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_item_id": {"name": "sales_item_item_id", "description": "Reference to the item for sales on the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_id": {"name": "item_id", "description": "Reference to the item on the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "quantity": {"name": "quantity", "description": "Total quantity of the item on the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_quantity": {"name": "sales_item_quantity", "description": "Total quantity in relation to the sales item on the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The identifier of the account associated with the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "unit_price": {"name": "unit_price", "description": "Unit price of the line item included on the invoice bundle line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"invoice_line_bundle_data\"", "created_at": 1731948867.2615821}, "source.quickbooks_source.quickbooks.invoice": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "invoice", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.invoice", "fqn": ["quickbooks_source", "quickbooks", "invoice"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "invoice_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing invoice records. An Invoice represents a sales form where the customer pays for a product or service later.", "columns": {"id": {"name": "id", "description": "Unique identifier of the invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "The balance reflecting any payments made against the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount of the transaction. This includes the total of all the charges, allowances, and taxes.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department associated with the invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_to_account_id": {"name": "deposit_to_account_id", "description": "The identifier of the account associated to be used for this invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date of the day which the deposit transaction occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Reference to the customer associated with the invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "billing_address_id": {"name": "billing_address_id", "description": "Reference to the address where the invoice is billed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "shipping_address_id": {"name": "shipping_address_id", "description": "Reference to the address where the invoice is to be shipped.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "delivery_type": {"name": "delivery_type", "description": "How the invoice is delivered to the customer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "due_date": {"name": "due_date", "description": "Date which the invoice payment is due.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated with the invoice.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"invoice_data\"", "created_at": 1731948867.261674}, "source.quickbooks_source.quickbooks.item": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "item", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.item", "fqn": ["quickbooks_source", "quickbooks", "item"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "item_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing item records. An item is a thing that your company buys, sells, or re-sells, such as products and services.", "columns": {"id": {"name": "id", "description": "Unique identifier of the item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "Boolean indicating whether the object is currently enabled for use by QuickBooks.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the creation date for the item within QuickBooks.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "income_account_id": {"name": "income_account_id", "description": "The identifier of the account associated with the proceeds from the sale of this item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "asset_account_id": {"name": "asset_account_id", "description": "The identifier of the account associated with the inventory asset that tracks its current value.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "expense_account_id": {"name": "expense_account_id", "description": "The identifier of the account associated used to pay the vendor for this item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "inventory_start_date": {"name": "inventory_start_date", "description": "Timestamp of the date the item was started as inventory.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "parent_item_id": {"name": "parent_item_id", "description": "Reference to the parent item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "Full name of the item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "purchase_cost": {"name": "purchase_cost", "description": "Amount paid when buying or ordering the item, as expressed in the home currency.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "taxable": {"name": "taxable", "description": "Boolean indicating whether the item is taxable.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "type": {"name": "type", "description": "Classification that specifies the use of this item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "unit_price": {"name": "unit_price", "description": "The monetary value of the service or product, as expressed in the home currency.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"item_data\"", "created_at": 1731948867.261766}, "source.quickbooks_source.quickbooks.journal_entry_line": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "journal_entry_line", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.journal_entry_line", "fqn": ["quickbooks_source", "quickbooks", "journal_entry_line"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "journal_entry_line_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing individual line items of a transaction associated with a journal entry.", "columns": {"journal_entry_id": {"name": "journal_entry_id", "description": "Unique identifier of the journal entry record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the journal entry record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The identifier of the account associated with the credited journal entry.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the journal entry line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Reference to the customer associated with the credited journal entry.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department which the journal entry is associated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated with the journal entry.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "billable_status": {"name": "billable_status", "description": "Status of the journal entry indicating whether it is billable or not.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "User defined description of the journal entry line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "posting_type": {"name": "posting_type", "description": "Indicates whether this JournalEntry line is a debit or credit. Valid values are Credit and Debit", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_id": {"name": "vendor_id", "description": "Reference to the vendor for this journal entry.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"journal_entry_line_data\"", "created_at": 1731948867.261878}, "source.quickbooks_source.quickbooks.journal_entry": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "journal_entry", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.journal_entry", "fqn": ["quickbooks_source", "quickbooks", "journal_entry"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "journal_entry_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing journal entry transactions.", "columns": {"id": {"name": "id", "description": "Unique identifier of the journal entry.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "adjustment": {"name": "adjustment", "description": "Indicates the total amount of the transaction. This includes the total of all the charges, allowances, and taxes. By default, this is recalculated by the system based on sub-items total and overridden.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the creation date for the journal entry.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "private_note": {"name": "private_note", "description": "User entered, organization-private note about the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "The value of this field will always be set to zero.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date of the day when the journal entry was transacted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"journal_entry_data\"", "created_at": 1731948867.261965}, "source.quickbooks_source.quickbooks.payment_line": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "payment_line", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.payment_line", "fqn": ["quickbooks_source", "quickbooks", "payment_line"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "payment_line_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing individual line items recorded within a payment.", "columns": {"payment_id": {"name": "payment_id", "description": "Unique identifier of the payment record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the payment record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the payment line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "journal_entry_id": {"name": "journal_entry_id", "description": "Journal entry reference associated with the payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_id": {"name": "deposit_id", "description": "Deposit reference associated with the payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "invoice_id": {"name": "invoice_id", "description": "Invoice reference associated with the payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "credit_memo_id": {"name": "credit_memo_id", "description": "credit memo reference associated with the payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"payment_line_data\"", "created_at": 1731948867.262047}, "source.quickbooks_source.quickbooks.payment": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "payment", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.payment", "fqn": ["quickbooks_source", "quickbooks", "payment"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "payment_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing all payment records. The payment can be applied for a particular customer against multiple Invoices and Credit Memos. It can also be created without any Invoice or Credit Memo, by just specifying an amount.", "columns": {"id": {"name": "id", "description": "Unique identifier of the payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "unapplied_amount": {"name": "unapplied_amount", "description": "Indicates the amount that has not been applied to pay amounts owed for sales transactions.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "receivable_account_id": {"name": "receivable_account_id", "description": "The identifier of the account associated with obtaining a receivable from this payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_to_account_id": {"name": "deposit_to_account_id", "description": "The identifier of the account associated with the deposit to be used for this payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date of the day when the payment occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Reference to the customer associated with the payment.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"payment_data\"", "created_at": 1731948867.26213}, "source.quickbooks_source.quickbooks.purchase_line": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "purchase_line", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.purchase_line", "fqn": ["quickbooks_source", "quickbooks", "purchase_line"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "purchase_line_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing individual line items of a transaction associated with a purchase.", "columns": {"purchase_id": {"name": "purchase_id", "description": "Unique identifier of the purchase record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the purchase record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_account_id": {"name": "account_expense_account_id", "description": "The identifier of the account associated with the credited purchase.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_class_id": {"name": "account_expense_class_id", "description": "Reference to the class associated with the account based expense purchase line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_billable_status": {"name": "account_expense_billable_status", "description": "Status of the purchase billable.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_tax_code_id": {"name": "account_expense_tax_code_id", "description": "Tax code reference associated to the purchase.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_item_id": {"name": "item_expense_item_id", "description": "Reference to the item associated with the item based expense purchase line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_class_id": {"name": "item_expense_class_id", "description": "Reference to the class associated with the item based expense purchase line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_billable_status": {"name": "item_expense_billable_status", "description": "The billable status of the item based expense purchase line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the purchase.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "User defined description of the purchase line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"purchase_line_data\"", "created_at": 1731948867.2622159}, "source.quickbooks_source.quickbooks.purchase": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "purchase", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.purchase", "fqn": ["quickbooks_source", "quickbooks", "purchase"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "purchase_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing records of purchase expenses.", "columns": {"id": {"name": "id", "description": "Unique identifier of the purchase.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_id": {"name": "account_id", "description": "The identifier of the account associated with the applied purchase based on the PaymentType.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the creation date for the purchase.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "credit": {"name": "credit", "description": "Boolean where `false` represents a charge and `true` represents a refund.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department which the purchase is associated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Reference to the customer associated with the purchase.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date of the day when the purchase occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "payment_type": {"name": "payment_type", "description": "Payment type of the purchase. Type can be Cash, Check, or CreditCard.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_id": {"name": "vendor_id", "description": "Reference to the vendor for the purchase.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"purchase_data\"", "created_at": 1731948867.262305}, "source.quickbooks_source.quickbooks.purchase_order_line": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "purchase_order_line", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.purchase_order_line", "fqn": ["quickbooks_source", "quickbooks", "purchase_order_line"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "purchase_order_line_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing individual line items of a transaction associated with a purchase order.", "columns": {"purchase_order_id": {"name": "purchase_order_id", "description": "Unique identifier of the purchase order record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the purchase order record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_account_id": {"name": "account_expense_account_id", "description": "The identifier of the account associated with the credited purchase order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_class_id": {"name": "account_expense_class_id", "description": "Reference to the class associated with the account based expense purchase order line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_billable_status": {"name": "account_expense_billable_status", "description": "Status of the purchase billable.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_customer_id": {"name": "account_expense_customer_id", "description": "Reference to the customer associated with the account based purchase order line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_tax_code_id": {"name": "account_expense_tax_code_id", "description": "Tax code reference associated to the purchase order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_item_id": {"name": "item_expense_item_id", "description": "Reference to the item with the item based expense purchase order line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_billable_status": {"name": "item_expense_billable_status", "description": "The billable status of the item based expense purchase order line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_customer_id": {"name": "item_expense_customer_id", "description": "Reference to the customer associated with the item based purchase order line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the purchase.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "User defined description of the purchase line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"purchase_order_line_data\"", "created_at": 1731948867.262391}, "source.quickbooks_source.quickbooks.purchase_order_linked_txn": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "purchase_order_linked_txn", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.purchase_order_linked_txn", "fqn": ["quickbooks_source", "quickbooks", "purchase_order_linked_txn"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "purchase_order_linked_txn_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Mapping table for purchase order records to respective bill and purchase objects.", "columns": {"purchase_order_id": {"name": "purchase_order_id", "description": "Reference to the unique purchase order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "bill_id": {"name": "bill_id", "description": "Reference to the respective bill object for the purchase order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "purchase_id": {"name": "purchase_id", "description": "Reference to the respective purchase object for the purchase_order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_credit_id": {"name": "vendor_credit_id", "description": "Reference to the respective vendor credit object for the purchase_order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the purchase order mapping record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"purchase_order_linked_txn_data\"", "created_at": 1731948867.2624671}, "source.quickbooks_source.quickbooks.purchase_order": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "purchase_order", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.purchase_order", "fqn": ["quickbooks_source", "quickbooks", "purchase_order"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "purchase_order_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing records of purchase orders (PO).", "columns": {"id": {"name": "id", "description": "Unique identifier of the purchase order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated with the purchase order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the date when the purchase order was created.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "custom_po_number": {"name": "custom_po_number", "description": "Custom field for PO number.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "custom_customer_type": {"name": "custom_customer_type", "description": "Custom field for customer type.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "due_date": {"name": "due_date", "description": "Date when the purchase order is due.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "memo": {"name": "memo", "description": "A message for the vendor. This text appears on the purchase order object sent to the vendor.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date of the day when the purchase order occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "private_note": {"name": "private_note", "description": "User entered, organization-private note about the transaction. This note does not appear on the purchase order to the vendor.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "payable_account_id": {"name": "payable_account_id", "description": "The identifier of the account associated with the credited purchase order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "status": {"name": "status", "description": "Purchase order status. Valid values are \"Open\" and \"Closed\".", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_id": {"name": "vendor_id", "description": "Reference to the vendor for the purchase order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"purchase_order_data\"", "created_at": 1731948867.262563}, "source.quickbooks_source.quickbooks.refund_receipt_line": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "refund_receipt_line", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.refund_receipt_line", "fqn": ["quickbooks_source", "quickbooks", "refund_receipt_line"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "refund_receipt_line_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing individual line items of a refund transaction.", "columns": {"refund_id": {"name": "refund_id", "description": "Unique identifier of the refund record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the refund record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the refund line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "User defined description of the refund line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_account_id": {"name": "discount_account_id", "description": "The identifier of the account associated with the income account used to track discounts.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_class_id": {"name": "discount_class_id", "description": "Reference to the class associated with the discount of the refunded item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_quantity": {"name": "sales_item_quantity", "description": "Quantity of the item associated with the refund receipt line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_unit_price": {"name": "sales_item_unit_price", "description": "Unit price of the item associated with the refund receipt line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_account_id": {"name": "sales_item_account_id", "description": "The identifier of the account associated with the credited refund.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_class_id": {"name": "sales_item_class_id", "description": "Reference to the class associated with the refunded item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_item_id": {"name": "sales_item_item_id", "description": "Reference to the item with the refunded item.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_tax_code_id": {"name": "sales_item_tax_code_id", "description": "Tax code id of the tax code associated with the refund.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"refund_receipt_line_data\"", "created_at": 1731948867.262651}, "source.quickbooks_source.quickbooks.refund_receipt": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "refund_receipt", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.refund_receipt", "fqn": ["quickbooks_source", "quickbooks", "refund_receipt"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "refund_receipt_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing refunds to the customer for a product or service that was provided.", "columns": {"id": {"name": "id", "description": "Unique identifier of the refund.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "The balance reflecting any payments made against the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated with the refund receipt.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department which the refund receipt is associated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_to_account_id": {"name": "deposit_to_account_id", "description": "The identifier of the account associated with which payment money is refunded.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the creation date for the refund.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Reference to the customer associated with the customer credited with the refund.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date of the day in which the refund occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"refund_receipt_data\"", "created_at": 1731948867.2627358}, "source.quickbooks_source.quickbooks.sales_receipt_line": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "sales_receipt_line", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.sales_receipt_line", "fqn": ["quickbooks_source", "quickbooks", "sales_receipt_line"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "sales_receipt_line_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing individual line items of a sales transaction.", "columns": {"sales_receipt_id": {"name": "sales_receipt_id", "description": "Unique identifier of the sales record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the sales record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the sales line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the sales receipt line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_account_id": {"name": "discount_account_id", "description": "The identifier of the account associated with income account used to track discounts.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "discount_class_id": {"name": "discount_class_id", "description": "Reference to the class associated with the discount credited to the sales line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_account_id": {"name": "sales_item_account_id", "description": "The identifier of the account associated with the sales line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_class_id": {"name": "sales_item_class_id", "description": "Reference to the class associated with the receipt credited with the sales line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_item_id": {"name": "sales_item_item_id", "description": "Reference to the item with the item sold in the sale line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_tax_code_id": {"name": "sales_item_tax_code_id", "description": "Tax code id of the tax code associated with the sales line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_quantity": {"name": "sales_item_quantity", "description": "Total quantity of items included in the sales line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sales_item_unit_price": {"name": "sales_item_unit_price", "description": "Unit price of the item included on the sales line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"sales_receipt_line_data\"", "created_at": 1731948867.262822}, "source.quickbooks_source.quickbooks.sales_receipt": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "sales_receipt", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.sales_receipt", "fqn": ["quickbooks_source", "quickbooks", "sales_receipt"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "sales_receipt_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing sales receipts that are given to a customer. A sales receipt, payment is received as part of the sale of goods and services. The sales receipt specifies a deposit account where the customer's payment is deposited.", "columns": {"id": {"name": "id", "description": "Unique identifier of the sales receipt.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "The balance reflecting any payments made against the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deposit_to_account_id": {"name": "deposit_to_account_id", "description": "The identifier of the account associated with where payment money is deposited.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the creation date for the sale.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "customer_id": {"name": "customer_id", "description": "Reference to the customer associated sales receipt to customer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department which the sales receipt is associated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_id": {"name": "class_id", "description": "Reference to the class associated which the sales receipt is associated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date of the day which the sale occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"sales_receipt_data\"", "created_at": 1731948867.2629251}, "source.quickbooks_source.quickbooks.transfer": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "transfer", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.transfer", "fqn": ["quickbooks_source", "quickbooks", "transfer"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "transfer_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing records of transfers. A Transfer represents a transaction where funds are moved between two accounts from the company's QuickBooks chart of accounts.", "columns": {"id": {"name": "id", "description": "Unique identifier of the transfer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the transfer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "from_account_id": {"name": "from_account_id", "description": "The identifier of the account associated with where the transfer is from.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "to_account_id": {"name": "to_account_id", "description": "The identifier of the account associated with where the transfer is to.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date of the day which the transfer occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"transfer_data\"", "created_at": 1731948867.2630022}, "source.quickbooks_source.quickbooks.vendor_credit_line": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "vendor_credit_line", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.vendor_credit_line", "fqn": ["quickbooks_source", "quickbooks", "vendor_credit_line"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "vendor_credit_line_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing individual vendor credit line items.", "columns": {"vendor_credit_id": {"name": "vendor_credit_id", "description": "Unique identifier of the vendor credit record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the vendor credit record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_account_id": {"name": "account_expense_account_id", "description": "The identifier of the account associated with the vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_billable_status": {"name": "account_expense_billable_status", "description": "Status of the billable related to the vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_tax_code_id": {"name": "account_expense_tax_code_id", "description": "Tax code id of the tax code associated with the vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_customer_id": {"name": "account_expense_customer_id", "description": "Reference to the customer associated with the vendor credit expense.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_class_id": {"name": "account_expense_class_id", "description": "Reference to the class associated with the account based expense vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_customer_id": {"name": "item_expense_customer_id", "description": "Reference to the customer associated with the item on the vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_item_id": {"name": "item_expense_item_id", "description": "Reference to the item with the item based expense vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_quantity": {"name": "item_expense_quantity", "description": "Quantity of the item within the item based expense vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_unit_price": {"name": "item_expense_unit_price", "description": "Unit price of the item within the item based expense vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_class_id": {"name": "item_expense_class_id", "description": "Reference to the class associated with the item based expense vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_billable_status": {"name": "item_expense_billable_status", "description": "The billable status of the item based expense vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "Description of the vendor credit line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"vendor_credit_line_data\"", "created_at": 1731948867.263092}, "source.quickbooks_source.quickbooks.vendor_credit": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "vendor_credit", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.vendor_credit", "fqn": ["quickbooks_source", "quickbooks", "vendor_credit"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "vendor_credit_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing all vendor credit records. A vendor credit is an accounts payable transaction that represents a refund or credit of payment for goods or services.", "columns": {"id": {"name": "id", "description": "Unique identifier of the vendor credit.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "The current amount of the vendor credit reflecting any adjustments to the original credit amount.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total credit amount, determined by taking the total of all all lines of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the creation date for the vendor credit.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "payable_account_id": {"name": "payable_account_id", "description": "The identifier of the account associated with which AP account the bill is credited.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "department_id": {"name": "department_id", "description": "Reference to the department which the vendor credit is associated.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "private_note": {"name": "private_note", "description": "User entered, organization-private note about the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "The date entered by the user when this transaction occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_id": {"name": "vendor_id", "description": "Reference to the vendor for this transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"vendor_credit_data\"", "created_at": 1731948867.2631779}, "source.quickbooks_source.quickbooks.vendor": {"database": "postgres", "schema": "quickbooks_integration_tests_18", "name": "vendor", "resource_type": "source", "package_name": "quickbooks_source", "path": "models/src_quickbooks.yml", "original_file_path": "models/src_quickbooks.yml", "unique_id": "source.quickbooks_source.quickbooks.vendor", "fqn": ["quickbooks_source", "quickbooks", "vendor"], "source_name": "quickbooks", "source_description": "", "loader": "fivetran", "identifier": "vendor_data", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 72, "period": "hour"}, "filter": null}, "external": null, "description": "Table containing all vendor records. A vendor is the seller from whom your company purchases any service or product.", "columns": {"id": {"name": "id", "description": "Unique identifier of the vendor.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_number": {"name": "account_number", "description": "Name or number of the account associated with this vendor.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "billing_address_id": {"name": "billing_address_id", "description": "Address reference for the billing address of the vendor.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "Boolean indicating whether the vendor is active.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "balance": {"name": "balance", "description": "Specifies the open balance amount or the amount unpaid by the customer.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "company_name": {"name": "company_name", "description": "The name of the company associated with the person or organization.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the creation date for the vendor.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts associated with this vendor are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "display_name": {"name": "display_name", "description": "The name of the vendor as displayed. Must be unique across all Vendor, Customer, and Employee objects.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "web_url": {"name": "web_url", "description": "Website url associated with the vendor.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_1099": {"name": "vendor_1099", "description": "Boolean indicating whether this vendor is an independent contractor; someone who is given a 1099-MISC form at the end of the year.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18\".\"vendor_data\"", "created_at": 1731948867.26326}}, "macros": {"macro.dbt_postgres.postgres__current_timestamp": {"name": "postgres__current_timestamp", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/timestamps.sql", "original_file_path": "macros/timestamps.sql", "unique_id": "macro.dbt_postgres.postgres__current_timestamp", "macro_sql": "{% macro postgres__current_timestamp() -%}\n now()\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.723966, "supported_languages": null}, "macro.dbt_postgres.postgres__snapshot_string_as_time": {"name": "postgres__snapshot_string_as_time", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/timestamps.sql", "original_file_path": "macros/timestamps.sql", "unique_id": "macro.dbt_postgres.postgres__snapshot_string_as_time", "macro_sql": "{% macro postgres__snapshot_string_as_time(timestamp) -%}\n {%- set result = \"'\" ~ timestamp ~ \"'::timestamp without time zone\" -%}\n {{ return(result) }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.724176, "supported_languages": null}, "macro.dbt_postgres.postgres__snapshot_get_time": {"name": "postgres__snapshot_get_time", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/timestamps.sql", "original_file_path": "macros/timestamps.sql", "unique_id": "macro.dbt_postgres.postgres__snapshot_get_time", "macro_sql": "{% macro postgres__snapshot_get_time() -%}\n {{ current_timestamp() }}::timestamp without time zone\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.724278, "supported_languages": null}, "macro.dbt_postgres.postgres__current_timestamp_backcompat": {"name": "postgres__current_timestamp_backcompat", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/timestamps.sql", "original_file_path": "macros/timestamps.sql", "unique_id": "macro.dbt_postgres.postgres__current_timestamp_backcompat", "macro_sql": "{% macro postgres__current_timestamp_backcompat() %}\n current_timestamp::{{ type_timestamp() }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.72438, "supported_languages": null}, "macro.dbt_postgres.postgres__current_timestamp_in_utc_backcompat": {"name": "postgres__current_timestamp_in_utc_backcompat", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/timestamps.sql", "original_file_path": "macros/timestamps.sql", "unique_id": "macro.dbt_postgres.postgres__current_timestamp_in_utc_backcompat", "macro_sql": "{% macro postgres__current_timestamp_in_utc_backcompat() %}\n (current_timestamp at time zone 'utc')::{{ type_timestamp() }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.7244868, "supported_languages": null}, "macro.dbt_postgres.postgres__get_catalog_relations": {"name": "postgres__get_catalog_relations", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/catalog.sql", "original_file_path": "macros/catalog.sql", "unique_id": "macro.dbt_postgres.postgres__get_catalog_relations", "macro_sql": "{% macro postgres__get_catalog_relations(information_schema, relations) -%}\n {%- call statement('catalog', fetch_result=True) -%}\n\n {#\n If the user has multiple databases set and the first one is wrong, this will fail.\n But we won't fail in the case where there are multiple quoting-difference-only dbs, which is better.\n #}\n {% set database = information_schema.database %}\n {{ adapter.verify_database(database) }}\n\n select\n '{{ database }}' as table_database,\n sch.nspname as table_schema,\n tbl.relname as table_name,\n case tbl.relkind\n when 'v' then 'VIEW'\n when 'm' then 'MATERIALIZED VIEW'\n else 'BASE TABLE'\n end as table_type,\n tbl_desc.description as table_comment,\n col.attname as column_name,\n col.attnum as column_index,\n pg_catalog.format_type(col.atttypid, col.atttypmod) as column_type,\n col_desc.description as column_comment,\n pg_get_userbyid(tbl.relowner) as table_owner\n\n from pg_catalog.pg_namespace sch\n join pg_catalog.pg_class tbl on tbl.relnamespace = sch.oid\n join pg_catalog.pg_attribute col on col.attrelid = tbl.oid\n left outer join pg_catalog.pg_description tbl_desc on (tbl_desc.objoid = tbl.oid and tbl_desc.objsubid = 0)\n left outer join pg_catalog.pg_description col_desc on (col_desc.objoid = tbl.oid and col_desc.objsubid = col.attnum)\n where (\n {%- for relation in relations -%}\n {%- if relation.identifier -%}\n (upper(sch.nspname) = upper('{{ relation.schema }}') and\n upper(tbl.relname) = upper('{{ relation.identifier }}'))\n {%- else-%}\n upper(sch.nspname) = upper('{{ relation.schema }}')\n {%- endif -%}\n {%- if not loop.last %} or {% endif -%}\n {%- endfor -%}\n )\n and not pg_is_other_temp_schema(sch.oid) -- not a temporary schema belonging to another session\n and tbl.relpersistence in ('p', 'u') -- [p]ermanent table or [u]nlogged table. Exclude [t]emporary tables\n and tbl.relkind in ('r', 'v', 'f', 'p', 'm') -- o[r]dinary table, [v]iew, [f]oreign table, [p]artitioned table, [m]aterialized view. Other values are [i]ndex, [S]equence, [c]omposite type, [t]OAST table\n and col.attnum > 0 -- negative numbers are used for system columns such as oid\n and not col.attisdropped -- column as not been dropped\n\n order by\n sch.nspname,\n tbl.relname,\n col.attnum\n\n {%- endcall -%}\n\n {{ return(load_result('catalog').table) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.72593, "supported_languages": null}, "macro.dbt_postgres.postgres__get_catalog": {"name": "postgres__get_catalog", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/catalog.sql", "original_file_path": "macros/catalog.sql", "unique_id": "macro.dbt_postgres.postgres__get_catalog", "macro_sql": "{% macro postgres__get_catalog(information_schema, schemas) -%}\n {%- set relations = [] -%}\n {%- for schema in schemas -%}\n {%- set dummy = relations.append({'schema': schema}) -%}\n {%- endfor -%}\n {{ return(postgres__get_catalog_relations(information_schema, relations)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_catalog_relations"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.726262, "supported_languages": null}, "macro.dbt_postgres.postgres__get_relations": {"name": "postgres__get_relations", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations.sql", "original_file_path": "macros/relations.sql", "unique_id": "macro.dbt_postgres.postgres__get_relations", "macro_sql": "{% macro postgres__get_relations() -%}\n\n {#\n -- in pg_depend, objid is the dependent, refobjid is the referenced object\n -- > a pg_depend entry indicates that the referenced object cannot be\n -- > dropped without also dropping the dependent object.\n #}\n\n {%- call statement('relations', fetch_result=True) -%}\n with relation as (\n select\n pg_rewrite.ev_class as class,\n pg_rewrite.oid as id\n from pg_rewrite\n ),\n class as (\n select\n oid as id,\n relname as name,\n relnamespace as schema,\n relkind as kind\n from pg_class\n ),\n dependency as (\n select distinct\n pg_depend.objid as id,\n pg_depend.refobjid as ref\n from pg_depend\n ),\n schema as (\n select\n pg_namespace.oid as id,\n pg_namespace.nspname as name\n from pg_namespace\n where nspname != 'information_schema' and nspname not like 'pg\\_%'\n ),\n referenced as (\n select\n relation.id AS id,\n referenced_class.name ,\n referenced_class.schema ,\n referenced_class.kind\n from relation\n join class as referenced_class on relation.class=referenced_class.id\n where referenced_class.kind in ('r', 'v', 'm')\n ),\n relationships as (\n select\n referenced.name as referenced_name,\n referenced.schema as referenced_schema_id,\n dependent_class.name as dependent_name,\n dependent_class.schema as dependent_schema_id,\n referenced.kind as kind\n from referenced\n join dependency on referenced.id=dependency.id\n join class as dependent_class on dependency.ref=dependent_class.id\n where\n (referenced.name != dependent_class.name or\n referenced.schema != dependent_class.schema)\n )\n\n select\n referenced_schema.name as referenced_schema,\n relationships.referenced_name as referenced_name,\n dependent_schema.name as dependent_schema,\n relationships.dependent_name as dependent_name\n from relationships\n join schema as dependent_schema on relationships.dependent_schema_id=dependent_schema.id\n join schema as referenced_schema on relationships.referenced_schema_id=referenced_schema.id\n group by referenced_schema, referenced_name, dependent_schema, dependent_name\n order by referenced_schema, referenced_name, dependent_schema, dependent_name;\n\n {%- endcall -%}\n\n {{ return(load_result('relations').table) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.726999, "supported_languages": null}, "macro.dbt_postgres.postgres_get_relations": {"name": "postgres_get_relations", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations.sql", "original_file_path": "macros/relations.sql", "unique_id": "macro.dbt_postgres.postgres_get_relations", "macro_sql": "{% macro postgres_get_relations() %}\n {{ return(postgres__get_relations()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_relations"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.7271628, "supported_languages": null}, "macro.dbt_postgres.postgres__create_table_as": {"name": "postgres__create_table_as", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__create_table_as", "macro_sql": "{% macro postgres__create_table_as(temporary, relation, sql) -%}\n {%- set unlogged = config.get('unlogged', default=false) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {{ sql_header if sql_header is not none }}\n\n create {% if temporary -%}\n temporary\n {%- elif unlogged -%}\n unlogged\n {%- endif %} table {{ relation }}\n {% set contract_config = config.get('contract') %}\n {% if contract_config.enforced %}\n {{ get_assert_columns_equivalent(sql) }}\n {% endif -%}\n {% if contract_config.enforced and (not temporary) -%}\n {{ get_table_columns_and_constraints() }} ;\n insert into {{ relation }} (\n {{ adapter.dispatch('get_column_names', 'dbt')() }}\n )\n {%- set sql = get_select_subquery(sql) %}\n {% else %}\n as\n {% endif %}\n (\n {{ sql }}\n );\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.get_assert_columns_equivalent", "macro.dbt.get_table_columns_and_constraints", "macro.dbt.default__get_column_names", "macro.dbt.get_select_subquery"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.7351758, "supported_languages": null}, "macro.dbt_postgres.postgres__get_create_index_sql": {"name": "postgres__get_create_index_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__get_create_index_sql", "macro_sql": "{% macro postgres__get_create_index_sql(relation, index_dict) -%}\n {%- set index_config = adapter.parse_index(index_dict) -%}\n {%- set comma_separated_columns = \", \".join(index_config.columns) -%}\n {%- set index_name = index_config.render(relation) -%}\n\n create {% if index_config.unique -%}\n unique\n {%- endif %} index if not exists\n \"{{ index_name }}\"\n on {{ relation }} {% if index_config.type -%}\n using {{ index_config.type }}\n {%- endif %}\n ({{ comma_separated_columns }})\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.73562, "supported_languages": null}, "macro.dbt_postgres.postgres__create_schema": {"name": "postgres__create_schema", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__create_schema", "macro_sql": "{% macro postgres__create_schema(relation) -%}\n {% if relation.database -%}\n {{ adapter.verify_database(relation.database) }}\n {%- endif -%}\n {%- call statement('create_schema') -%}\n create schema if not exists {{ relation.without_identifier().include(database=False) }}\n {%- endcall -%}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.7359, "supported_languages": null}, "macro.dbt_postgres.postgres__drop_schema": {"name": "postgres__drop_schema", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__drop_schema", "macro_sql": "{% macro postgres__drop_schema(relation) -%}\n {% if relation.database -%}\n {{ adapter.verify_database(relation.database) }}\n {%- endif -%}\n {%- call statement('drop_schema') -%}\n drop schema if exists {{ relation.without_identifier().include(database=False) }} cascade\n {%- endcall -%}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.736189, "supported_languages": null}, "macro.dbt_postgres.postgres__get_columns_in_relation": {"name": "postgres__get_columns_in_relation", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__get_columns_in_relation", "macro_sql": "{% macro postgres__get_columns_in_relation(relation) -%}\n {% call statement('get_columns_in_relation', fetch_result=True) %}\n select\n column_name,\n data_type,\n character_maximum_length,\n numeric_precision,\n numeric_scale\n\n from {{ relation.information_schema('columns') }}\n where table_name = '{{ relation.identifier }}'\n {% if relation.schema %}\n and table_schema = '{{ relation.schema }}'\n {% endif %}\n order by ordinal_position\n\n {% endcall %}\n {% set table = load_result('get_columns_in_relation').table %}\n {{ return(sql_convert_columns_in_relation(table)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt.sql_convert_columns_in_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.736604, "supported_languages": null}, "macro.dbt_postgres.postgres__list_relations_without_caching": {"name": "postgres__list_relations_without_caching", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__list_relations_without_caching", "macro_sql": "{% macro postgres__list_relations_without_caching(schema_relation) %}\n {% call statement('list_relations_without_caching', fetch_result=True) -%}\n select\n '{{ schema_relation.database }}' as database,\n tablename as name,\n schemaname as schema,\n 'table' as type\n from pg_tables\n where schemaname ilike '{{ schema_relation.schema }}'\n union all\n select\n '{{ schema_relation.database }}' as database,\n viewname as name,\n schemaname as schema,\n 'view' as type\n from pg_views\n where schemaname ilike '{{ schema_relation.schema }}'\n union all\n select\n '{{ schema_relation.database }}' as database,\n matviewname as name,\n schemaname as schema,\n 'materialized_view' as type\n from pg_matviews\n where schemaname ilike '{{ schema_relation.schema }}'\n {% endcall %}\n {{ return(load_result('list_relations_without_caching').table) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.737279, "supported_languages": null}, "macro.dbt_postgres.postgres__information_schema_name": {"name": "postgres__information_schema_name", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__information_schema_name", "macro_sql": "{% macro postgres__information_schema_name(database) -%}\n {% if database_name -%}\n {{ adapter.verify_database(database_name) }}\n {%- endif -%}\n information_schema\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.737516, "supported_languages": null}, "macro.dbt_postgres.postgres__list_schemas": {"name": "postgres__list_schemas", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__list_schemas", "macro_sql": "{% macro postgres__list_schemas(database) %}\n {% if database -%}\n {{ adapter.verify_database(database) }}\n {%- endif -%}\n {% call statement('list_schemas', fetch_result=True, auto_begin=False) %}\n select distinct nspname from pg_namespace\n {% endcall %}\n {{ return(load_result('list_schemas').table) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.737859, "supported_languages": null}, "macro.dbt_postgres.postgres__check_schema_exists": {"name": "postgres__check_schema_exists", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__check_schema_exists", "macro_sql": "{% macro postgres__check_schema_exists(information_schema, schema) -%}\n {% if information_schema.database -%}\n {{ adapter.verify_database(information_schema.database) }}\n {%- endif -%}\n {% call statement('check_schema_exists', fetch_result=True, auto_begin=False) %}\n select count(*) from pg_namespace where nspname = '{{ schema }}'\n {% endcall %}\n {{ return(load_result('check_schema_exists').table) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.73821, "supported_languages": null}, "macro.dbt_postgres.postgres__make_relation_with_suffix": {"name": "postgres__make_relation_with_suffix", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__make_relation_with_suffix", "macro_sql": "{% macro postgres__make_relation_with_suffix(base_relation, suffix, dstring) %}\n {% if dstring %}\n {% set dt = modules.datetime.datetime.now() %}\n {% set dtstring = dt.strftime(\"%H%M%S%f\") %}\n {% set suffix = suffix ~ dtstring %}\n {% endif %}\n {% set suffix_length = suffix|length %}\n {% set relation_max_name_length = base_relation.relation_max_name_length() %}\n {% if suffix_length > relation_max_name_length %}\n {% do exceptions.raise_compiler_error('Relation suffix is too long (' ~ suffix_length ~ ' characters). Maximum length is ' ~ relation_max_name_length ~ ' characters.') %}\n {% endif %}\n {% set identifier = base_relation.identifier[:relation_max_name_length - suffix_length] ~ suffix %}\n\n {{ return(base_relation.incorporate(path={\"identifier\": identifier })) }}\n\n {% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.739014, "supported_languages": null}, "macro.dbt_postgres.postgres__make_intermediate_relation": {"name": "postgres__make_intermediate_relation", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__make_intermediate_relation", "macro_sql": "{% macro postgres__make_intermediate_relation(base_relation, suffix) %}\n {{ return(postgres__make_relation_with_suffix(base_relation, suffix, dstring=False)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__make_relation_with_suffix"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.7391942, "supported_languages": null}, "macro.dbt_postgres.postgres__make_temp_relation": {"name": "postgres__make_temp_relation", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__make_temp_relation", "macro_sql": "{% macro postgres__make_temp_relation(base_relation, suffix) %}\n {% set temp_relation = postgres__make_relation_with_suffix(base_relation, suffix, dstring=True) %}\n {{ return(temp_relation.incorporate(path={\"schema\": none,\n \"database\": none})) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__make_relation_with_suffix"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.7394838, "supported_languages": null}, "macro.dbt_postgres.postgres__make_backup_relation": {"name": "postgres__make_backup_relation", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__make_backup_relation", "macro_sql": "{% macro postgres__make_backup_relation(base_relation, backup_relation_type, suffix) %}\n {% set backup_relation = postgres__make_relation_with_suffix(base_relation, suffix, dstring=False) %}\n {{ return(backup_relation.incorporate(type=backup_relation_type)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__make_relation_with_suffix"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.739722, "supported_languages": null}, "macro.dbt_postgres.postgres_escape_comment": {"name": "postgres_escape_comment", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres_escape_comment", "macro_sql": "{% macro postgres_escape_comment(comment) -%}\n {% if comment is not string %}\n {% do exceptions.raise_compiler_error('cannot escape a non-string: ' ~ comment) %}\n {% endif %}\n {%- set magic = '$dbt_comment_literal_block$' -%}\n {%- if magic in comment -%}\n {%- do exceptions.raise_compiler_error('The string ' ~ magic ~ ' is not allowed in comments.') -%}\n {%- endif -%}\n {{ magic }}{{ comment }}{{ magic }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.740116, "supported_languages": null}, "macro.dbt_postgres.postgres__alter_relation_comment": {"name": "postgres__alter_relation_comment", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__alter_relation_comment", "macro_sql": "{% macro postgres__alter_relation_comment(relation, comment) %}\n {% set escaped_comment = postgres_escape_comment(comment) %}\n comment on {{ relation.type }} {{ relation }} is {{ escaped_comment }};\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres_escape_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.7403169, "supported_languages": null}, "macro.dbt_postgres.postgres__alter_column_comment": {"name": "postgres__alter_column_comment", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__alter_column_comment", "macro_sql": "{% macro postgres__alter_column_comment(relation, column_dict) %}\n {% set existing_columns = adapter.get_columns_in_relation(relation) | map(attribute=\"name\") | list %}\n {% for column_name in column_dict if (column_name in existing_columns) %}\n {% set comment = column_dict[column_name]['description'] %}\n {% set escaped_comment = postgres_escape_comment(comment) %}\n comment on column {{ relation }}.{{ adapter.quote(column_name) if column_dict[column_name]['quote'] else column_name }} is {{ escaped_comment }};\n {% endfor %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres_escape_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.740848, "supported_languages": null}, "macro.dbt_postgres.postgres__get_show_grant_sql": {"name": "postgres__get_show_grant_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__get_show_grant_sql", "macro_sql": "\n\n{%- macro postgres__get_show_grant_sql(relation) -%}\n select grantee, privilege_type\n from {{ relation.information_schema('role_table_grants') }}\n where grantor = current_role\n and grantee != current_role\n and table_schema = '{{ relation.schema }}'\n and table_name = '{{ relation.identifier }}'\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.741039, "supported_languages": null}, "macro.dbt_postgres.postgres__copy_grants": {"name": "postgres__copy_grants", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__copy_grants", "macro_sql": "{% macro postgres__copy_grants() %}\n {{ return(False) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.74119, "supported_languages": null}, "macro.dbt_postgres.postgres__get_show_indexes_sql": {"name": "postgres__get_show_indexes_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__get_show_indexes_sql", "macro_sql": "{% macro postgres__get_show_indexes_sql(relation) %}\n select\n i.relname as name,\n m.amname as method,\n ix.indisunique as \"unique\",\n array_to_string(array_agg(a.attname), ',') as column_names\n from pg_index ix\n join pg_class i\n on i.oid = ix.indexrelid\n join pg_am m\n on m.oid=i.relam\n join pg_class t\n on t.oid = ix.indrelid\n join pg_namespace n\n on n.oid = t.relnamespace\n join pg_attribute a\n on a.attrelid = t.oid\n and a.attnum = ANY(ix.indkey)\n where t.relname = '{{ relation.identifier }}'\n and n.nspname = '{{ relation.schema }}'\n and t.relkind in ('r', 'm')\n group by 1, 2, 3\n order by 1, 2, 3\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.741438, "supported_languages": null}, "macro.dbt_postgres.postgres__get_drop_index_sql": {"name": "postgres__get_drop_index_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__get_drop_index_sql", "macro_sql": "\n\n\n{%- macro postgres__get_drop_index_sql(relation, index_name) -%}\n drop index if exists \"{{ relation.schema }}\".\"{{ index_name }}\"\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.741587, "supported_languages": null}, "macro.dbt_postgres.postgres__get_incremental_default_sql": {"name": "postgres__get_incremental_default_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/materializations/incremental_strategies.sql", "original_file_path": "macros/materializations/incremental_strategies.sql", "unique_id": "macro.dbt_postgres.postgres__get_incremental_default_sql", "macro_sql": "{% macro postgres__get_incremental_default_sql(arg_dict) %}\n\n {% if arg_dict[\"unique_key\"] %}\n {% do return(get_incremental_delete_insert_sql(arg_dict)) %}\n {% else %}\n {% do return(get_incremental_append_sql(arg_dict)) %}\n {% endif %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_incremental_delete_insert_sql", "macro.dbt.get_incremental_append_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.7419891, "supported_languages": null}, "macro.dbt_postgres.postgres__snapshot_merge_sql": {"name": "postgres__snapshot_merge_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/materializations/snapshot_merge.sql", "original_file_path": "macros/materializations/snapshot_merge.sql", "unique_id": "macro.dbt_postgres.postgres__snapshot_merge_sql", "macro_sql": "{% macro postgres__snapshot_merge_sql(target, source, insert_cols) -%}\n {%- set insert_cols_csv = insert_cols | join(', ') -%}\n\n update {{ target }}\n set dbt_valid_to = DBT_INTERNAL_SOURCE.dbt_valid_to\n from {{ source }} as DBT_INTERNAL_SOURCE\n where DBT_INTERNAL_SOURCE.dbt_scd_id::text = {{ target }}.dbt_scd_id::text\n and DBT_INTERNAL_SOURCE.dbt_change_type::text in ('update'::text, 'delete'::text)\n and {{ target }}.dbt_valid_to is null;\n\n insert into {{ target }} ({{ insert_cols_csv }})\n select {% for column in insert_cols -%}\n DBT_INTERNAL_SOURCE.{{ column }} {%- if not loop.last %}, {%- endif %}\n {%- endfor %}\n from {{ source }} as DBT_INTERNAL_SOURCE\n where DBT_INTERNAL_SOURCE.dbt_change_type::text = 'insert'::text;\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.7426429, "supported_languages": null}, "macro.dbt_postgres.postgres__drop_materialized_view": {"name": "postgres__drop_materialized_view", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/materialized_view/drop.sql", "original_file_path": "macros/relations/materialized_view/drop.sql", "unique_id": "macro.dbt_postgres.postgres__drop_materialized_view", "macro_sql": "{% macro postgres__drop_materialized_view(relation) -%}\n drop materialized view if exists {{ relation }} cascade\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.742774, "supported_languages": null}, "macro.dbt_postgres.postgres__describe_materialized_view": {"name": "postgres__describe_materialized_view", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/materialized_view/describe.sql", "original_file_path": "macros/relations/materialized_view/describe.sql", "unique_id": "macro.dbt_postgres.postgres__describe_materialized_view", "macro_sql": "{% macro postgres__describe_materialized_view(relation) %}\n -- for now just get the indexes, we don't need the name or the query yet\n {% set _indexes = run_query(get_show_indexes_sql(relation)) %}\n {% do return({'indexes': _indexes}) %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.run_query", "macro.dbt.get_show_indexes_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.743042, "supported_languages": null}, "macro.dbt_postgres.postgres__refresh_materialized_view": {"name": "postgres__refresh_materialized_view", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/materialized_view/refresh.sql", "original_file_path": "macros/relations/materialized_view/refresh.sql", "unique_id": "macro.dbt_postgres.postgres__refresh_materialized_view", "macro_sql": "{% macro postgres__refresh_materialized_view(relation) %}\n refresh materialized view {{ relation }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.74317, "supported_languages": null}, "macro.dbt_postgres.postgres__get_rename_materialized_view_sql": {"name": "postgres__get_rename_materialized_view_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/materialized_view/rename.sql", "original_file_path": "macros/relations/materialized_view/rename.sql", "unique_id": "macro.dbt_postgres.postgres__get_rename_materialized_view_sql", "macro_sql": "{% macro postgres__get_rename_materialized_view_sql(relation, new_name) %}\n alter materialized view {{ relation }} rename to {{ new_name }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.7433212, "supported_languages": null}, "macro.dbt_postgres.postgres__get_alter_materialized_view_as_sql": {"name": "postgres__get_alter_materialized_view_as_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/materialized_view/alter.sql", "original_file_path": "macros/relations/materialized_view/alter.sql", "unique_id": "macro.dbt_postgres.postgres__get_alter_materialized_view_as_sql", "macro_sql": "{% macro postgres__get_alter_materialized_view_as_sql(\n relation,\n configuration_changes,\n sql,\n existing_relation,\n backup_relation,\n intermediate_relation\n) %}\n\n -- apply a full refresh immediately if needed\n {% if configuration_changes.requires_full_refresh %}\n\n {{ get_replace_sql(existing_relation, relation, sql) }}\n\n -- otherwise apply individual changes as needed\n {% else %}\n\n {{ postgres__update_indexes_on_materialized_view(relation, configuration_changes.indexes) }}\n\n {%- endif -%}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_replace_sql", "macro.dbt_postgres.postgres__update_indexes_on_materialized_view"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.744184, "supported_languages": null}, "macro.dbt_postgres.postgres__update_indexes_on_materialized_view": {"name": "postgres__update_indexes_on_materialized_view", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/materialized_view/alter.sql", "original_file_path": "macros/relations/materialized_view/alter.sql", "unique_id": "macro.dbt_postgres.postgres__update_indexes_on_materialized_view", "macro_sql": "\n\n\n{%- macro postgres__update_indexes_on_materialized_view(relation, index_changes) -%}\n {{- log(\"Applying UPDATE INDEXES to: \" ~ relation) -}}\n\n {%- for _index_change in index_changes -%}\n {%- set _index = _index_change.context -%}\n\n {%- if _index_change.action == \"drop\" -%}\n\n {{ postgres__get_drop_index_sql(relation, _index.name) }}\n\n {%- elif _index_change.action == \"create\" -%}\n\n {{ postgres__get_create_index_sql(relation, _index.as_node_config) }}\n\n {%- endif -%}\n {{ ';' if not loop.last else \"\" }}\n\n {%- endfor -%}\n\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_drop_index_sql", "macro.dbt_postgres.postgres__get_create_index_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.7446668, "supported_languages": null}, "macro.dbt_postgres.postgres__get_materialized_view_configuration_changes": {"name": "postgres__get_materialized_view_configuration_changes", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/materialized_view/alter.sql", "original_file_path": "macros/relations/materialized_view/alter.sql", "unique_id": "macro.dbt_postgres.postgres__get_materialized_view_configuration_changes", "macro_sql": "{% macro postgres__get_materialized_view_configuration_changes(existing_relation, new_config) %}\n {% set _existing_materialized_view = postgres__describe_materialized_view(existing_relation) %}\n {% set _configuration_changes = existing_relation.get_materialized_view_config_change_collection(_existing_materialized_view, new_config) %}\n {% do return(_configuration_changes) %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__describe_materialized_view"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.744929, "supported_languages": null}, "macro.dbt_postgres.postgres__get_create_materialized_view_as_sql": {"name": "postgres__get_create_materialized_view_as_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/materialized_view/create.sql", "original_file_path": "macros/relations/materialized_view/create.sql", "unique_id": "macro.dbt_postgres.postgres__get_create_materialized_view_as_sql", "macro_sql": "{% macro postgres__get_create_materialized_view_as_sql(relation, sql) %}\n create materialized view if not exists {{ relation }} as {{ sql }};\n\n {% for _index_dict in config.get('indexes', []) -%}\n {{- get_create_index_sql(relation, _index_dict) -}}{{ ';' if not loop.last else \"\" }}\n {%- endfor -%}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_create_index_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.745316, "supported_languages": null}, "macro.dbt_postgres.postgres__drop_table": {"name": "postgres__drop_table", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/table/drop.sql", "original_file_path": "macros/relations/table/drop.sql", "unique_id": "macro.dbt_postgres.postgres__drop_table", "macro_sql": "{% macro postgres__drop_table(relation) -%}\n drop table if exists {{ relation }} cascade\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.745439, "supported_languages": null}, "macro.dbt_postgres.postgres__get_replace_table_sql": {"name": "postgres__get_replace_table_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/table/replace.sql", "original_file_path": "macros/relations/table/replace.sql", "unique_id": "macro.dbt_postgres.postgres__get_replace_table_sql", "macro_sql": "{% macro postgres__get_replace_table_sql(relation, sql) -%}\n\n {%- set sql_header = config.get('sql_header', none) -%}\n {{ sql_header if sql_header is not none }}\n\n create or replace table {{ relation }}\n {% set contract_config = config.get('contract') %}\n {% if contract_config.enforced %}\n {{ get_assert_columns_equivalent(sql) }}\n {{ get_table_columns_and_constraints() }}\n {%- set sql = get_select_subquery(sql) %}\n {% endif %}\n as (\n {{ sql }}\n );\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.get_assert_columns_equivalent", "macro.dbt.get_table_columns_and_constraints", "macro.dbt.get_select_subquery"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.746043, "supported_languages": null}, "macro.dbt_postgres.postgres__get_rename_table_sql": {"name": "postgres__get_rename_table_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/table/rename.sql", "original_file_path": "macros/relations/table/rename.sql", "unique_id": "macro.dbt_postgres.postgres__get_rename_table_sql", "macro_sql": "{% macro postgres__get_rename_table_sql(relation, new_name) %}\n alter table {{ relation }} rename to {{ new_name }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.746197, "supported_languages": null}, "macro.dbt_postgres.postgres__drop_view": {"name": "postgres__drop_view", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/view/drop.sql", "original_file_path": "macros/relations/view/drop.sql", "unique_id": "macro.dbt_postgres.postgres__drop_view", "macro_sql": "{% macro postgres__drop_view(relation) -%}\n drop view if exists {{ relation }} cascade\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.746316, "supported_languages": null}, "macro.dbt_postgres.postgres__get_replace_view_sql": {"name": "postgres__get_replace_view_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/view/replace.sql", "original_file_path": "macros/relations/view/replace.sql", "unique_id": "macro.dbt_postgres.postgres__get_replace_view_sql", "macro_sql": "{% macro postgres__get_replace_view_sql(relation, sql) -%}\n\n {%- set sql_header = config.get('sql_header', none) -%}\n {{ sql_header if sql_header is not none }}\n\n create or replace view {{ relation }}\n {% set contract_config = config.get('contract') %}\n {% if contract_config.enforced %}\n {{ get_assert_columns_equivalent(sql) }}\n {%- endif %}\n as (\n {{ sql }}\n );\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.get_assert_columns_equivalent"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.746881, "supported_languages": null}, "macro.dbt_postgres.postgres__get_rename_view_sql": {"name": "postgres__get_rename_view_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/view/rename.sql", "original_file_path": "macros/relations/view/rename.sql", "unique_id": "macro.dbt_postgres.postgres__get_rename_view_sql", "macro_sql": "{% macro postgres__get_rename_view_sql(relation, new_name) %}\n alter view {{ relation }} rename to {{ new_name }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.7471201, "supported_languages": null}, "macro.dbt_postgres.postgres__dateadd": {"name": "postgres__dateadd", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/utils/dateadd.sql", "original_file_path": "macros/utils/dateadd.sql", "unique_id": "macro.dbt_postgres.postgres__dateadd", "macro_sql": "{% macro postgres__dateadd(datepart, interval, from_date_or_timestamp) %}\n\n {{ from_date_or_timestamp }} + ((interval '1 {{ datepart }}') * ({{ interval }}))\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.7473369, "supported_languages": null}, "macro.dbt_postgres.postgres__listagg": {"name": "postgres__listagg", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/utils/listagg.sql", "original_file_path": "macros/utils/listagg.sql", "unique_id": "macro.dbt_postgres.postgres__listagg", "macro_sql": "{% macro postgres__listagg(measure, delimiter_text, order_by_clause, limit_num) -%}\n\n {% if limit_num -%}\n array_to_string(\n (array_agg(\n {{ measure }}\n {% if order_by_clause -%}\n {{ order_by_clause }}\n {%- endif %}\n ))[1:{{ limit_num }}],\n {{ delimiter_text }}\n )\n {%- else %}\n string_agg(\n {{ measure }},\n {{ delimiter_text }}\n {% if order_by_clause -%}\n {{ order_by_clause }}\n {%- endif %}\n )\n {%- endif %}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.7479339, "supported_languages": null}, "macro.dbt_postgres.postgres__datediff": {"name": "postgres__datediff", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/utils/datediff.sql", "original_file_path": "macros/utils/datediff.sql", "unique_id": "macro.dbt_postgres.postgres__datediff", "macro_sql": "{% macro postgres__datediff(first_date, second_date, datepart) -%}\n\n {% if datepart == 'year' %}\n (date_part('year', ({{second_date}})::date) - date_part('year', ({{first_date}})::date))\n {% elif datepart == 'quarter' %}\n ({{ datediff(first_date, second_date, 'year') }} * 4 + date_part('quarter', ({{second_date}})::date) - date_part('quarter', ({{first_date}})::date))\n {% elif datepart == 'month' %}\n ({{ datediff(first_date, second_date, 'year') }} * 12 + date_part('month', ({{second_date}})::date) - date_part('month', ({{first_date}})::date))\n {% elif datepart == 'day' %}\n (({{second_date}})::date - ({{first_date}})::date)\n {% elif datepart == 'week' %}\n ({{ datediff(first_date, second_date, 'day') }} / 7 + case\n when date_part('dow', ({{first_date}})::timestamp) <= date_part('dow', ({{second_date}})::timestamp) then\n case when {{first_date}} <= {{second_date}} then 0 else -1 end\n else\n case when {{first_date}} <= {{second_date}} then 1 else 0 end\n end)\n {% elif datepart == 'hour' %}\n ({{ datediff(first_date, second_date, 'day') }} * 24 + date_part('hour', ({{second_date}})::timestamp) - date_part('hour', ({{first_date}})::timestamp))\n {% elif datepart == 'minute' %}\n ({{ datediff(first_date, second_date, 'hour') }} * 60 + date_part('minute', ({{second_date}})::timestamp) - date_part('minute', ({{first_date}})::timestamp))\n {% elif datepart == 'second' %}\n ({{ datediff(first_date, second_date, 'minute') }} * 60 + floor(date_part('second', ({{second_date}})::timestamp)) - floor(date_part('second', ({{first_date}})::timestamp)))\n {% elif datepart == 'millisecond' %}\n ({{ datediff(first_date, second_date, 'minute') }} * 60000 + floor(date_part('millisecond', ({{second_date}})::timestamp)) - floor(date_part('millisecond', ({{first_date}})::timestamp)))\n {% elif datepart == 'microsecond' %}\n ({{ datediff(first_date, second_date, 'minute') }} * 60000000 + floor(date_part('microsecond', ({{second_date}})::timestamp)) - floor(date_part('microsecond', ({{first_date}})::timestamp)))\n {% else %}\n {{ exceptions.raise_compiler_error(\"Unsupported datepart for macro datediff in postgres: {!r}\".format(datepart)) }}\n {% endif %}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.datediff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.750966, "supported_languages": null}, "macro.dbt_postgres.postgres__any_value": {"name": "postgres__any_value", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/utils/any_value.sql", "original_file_path": "macros/utils/any_value.sql", "unique_id": "macro.dbt_postgres.postgres__any_value", "macro_sql": "{% macro postgres__any_value(expression) -%}\n\n min({{ expression }})\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.7511418, "supported_languages": null}, "macro.dbt_postgres.postgres__last_day": {"name": "postgres__last_day", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/utils/last_day.sql", "original_file_path": "macros/utils/last_day.sql", "unique_id": "macro.dbt_postgres.postgres__last_day", "macro_sql": "{% macro postgres__last_day(date, datepart) -%}\n\n {%- if datepart == 'quarter' -%}\n -- postgres dateadd does not support quarter interval.\n cast(\n {{dbt.dateadd('day', '-1',\n dbt.dateadd('month', '3', dbt.date_trunc(datepart, date))\n )}}\n as date)\n {%- else -%}\n {{dbt.default_last_day(date, datepart)}}\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.dateadd", "macro.dbt.date_trunc", "macro.dbt.default_last_day"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.75163, "supported_languages": null}, "macro.dbt_postgres.postgres__split_part": {"name": "postgres__split_part", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/utils/split_part.sql", "original_file_path": "macros/utils/split_part.sql", "unique_id": "macro.dbt_postgres.postgres__split_part", "macro_sql": "{% macro postgres__split_part(string_text, delimiter_text, part_number) %}\n\n {% if part_number >= 0 %}\n {{ dbt.default__split_part(string_text, delimiter_text, part_number) }}\n {% else %}\n {{ dbt._split_part_negative(string_text, delimiter_text, part_number) }}\n {% endif %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__split_part", "macro.dbt._split_part_negative"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.752012, "supported_languages": null}, "macro.dbt.run_hooks": {"name": "run_hooks", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "unique_id": "macro.dbt.run_hooks", "macro_sql": "{% macro run_hooks(hooks, inside_transaction=True) %}\n {% for hook in hooks | selectattr('transaction', 'equalto', inside_transaction) %}\n {% if not inside_transaction and loop.first %}\n {% call statement(auto_begin=inside_transaction) %}\n commit;\n {% endcall %}\n {% endif %}\n {% set rendered = render(hook.get('sql')) | trim %}\n {% if (rendered | length) > 0 %}\n {% call statement(auto_begin=inside_transaction) %}\n {{ rendered }}\n {% endcall %}\n {% endif %}\n {% endfor %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.752983, "supported_languages": null}, "macro.dbt.make_hook_config": {"name": "make_hook_config", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "unique_id": "macro.dbt.make_hook_config", "macro_sql": "{% macro make_hook_config(sql, inside_transaction) %}\n {{ tojson({\"sql\": sql, \"transaction\": inside_transaction}) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.7531688, "supported_languages": null}, "macro.dbt.before_begin": {"name": "before_begin", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "unique_id": "macro.dbt.before_begin", "macro_sql": "{% macro before_begin(sql) %}\n {{ make_hook_config(sql, inside_transaction=False) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.make_hook_config"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.7533062, "supported_languages": null}, "macro.dbt.in_transaction": {"name": "in_transaction", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "unique_id": "macro.dbt.in_transaction", "macro_sql": "{% macro in_transaction(sql) %}\n {{ make_hook_config(sql, inside_transaction=True) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.make_hook_config"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.753435, "supported_languages": null}, "macro.dbt.after_commit": {"name": "after_commit", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "unique_id": "macro.dbt.after_commit", "macro_sql": "{% macro after_commit(sql) %}\n {{ make_hook_config(sql, inside_transaction=False) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.make_hook_config"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.7535691, "supported_languages": null}, "macro.dbt.set_sql_header": {"name": "set_sql_header", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/configs.sql", "original_file_path": "macros/materializations/configs.sql", "unique_id": "macro.dbt.set_sql_header", "macro_sql": "{% macro set_sql_header(config) -%}\n {{ config.set('sql_header', caller()) }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.75391, "supported_languages": null}, "macro.dbt.should_full_refresh": {"name": "should_full_refresh", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/configs.sql", "original_file_path": "macros/materializations/configs.sql", "unique_id": "macro.dbt.should_full_refresh", "macro_sql": "{% macro should_full_refresh() %}\n {% set config_full_refresh = config.get('full_refresh') %}\n {% if config_full_refresh is none %}\n {% set config_full_refresh = flags.FULL_REFRESH %}\n {% endif %}\n {% do return(config_full_refresh) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.754196, "supported_languages": null}, "macro.dbt.should_store_failures": {"name": "should_store_failures", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/configs.sql", "original_file_path": "macros/materializations/configs.sql", "unique_id": "macro.dbt.should_store_failures", "macro_sql": "{% macro should_store_failures() %}\n {% set config_store_failures = config.get('store_failures') %}\n {% if config_store_failures is none %}\n {% set config_store_failures = flags.STORE_FAILURES %}\n {% endif %}\n {% do return(config_store_failures) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.754477, "supported_languages": null}, "macro.dbt.snapshot_merge_sql": {"name": "snapshot_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/snapshot_merge.sql", "original_file_path": "macros/materializations/snapshots/snapshot_merge.sql", "unique_id": "macro.dbt.snapshot_merge_sql", "macro_sql": "{% macro snapshot_merge_sql(target, source, insert_cols) -%}\n {{ adapter.dispatch('snapshot_merge_sql', 'dbt')(target, source, insert_cols) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__snapshot_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.754861, "supported_languages": null}, "macro.dbt.default__snapshot_merge_sql": {"name": "default__snapshot_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/snapshot_merge.sql", "original_file_path": "macros/materializations/snapshots/snapshot_merge.sql", "unique_id": "macro.dbt.default__snapshot_merge_sql", "macro_sql": "{% macro default__snapshot_merge_sql(target, source, insert_cols) -%}\n {%- set insert_cols_csv = insert_cols | join(', ') -%}\n\n merge into {{ target }} as DBT_INTERNAL_DEST\n using {{ source }} as DBT_INTERNAL_SOURCE\n on DBT_INTERNAL_SOURCE.dbt_scd_id = DBT_INTERNAL_DEST.dbt_scd_id\n\n when matched\n and DBT_INTERNAL_DEST.dbt_valid_to is null\n and DBT_INTERNAL_SOURCE.dbt_change_type in ('update', 'delete')\n then update\n set dbt_valid_to = DBT_INTERNAL_SOURCE.dbt_valid_to\n\n when not matched\n and DBT_INTERNAL_SOURCE.dbt_change_type = 'insert'\n then insert ({{ insert_cols_csv }})\n values ({{ insert_cols_csv }})\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.75512, "supported_languages": null}, "macro.dbt.strategy_dispatch": {"name": "strategy_dispatch", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.strategy_dispatch", "macro_sql": "{% macro strategy_dispatch(name) -%}\n{% set original_name = name %}\n {% if '.' in name %}\n {% set package_name, name = name.split(\".\", 1) %}\n {% else %}\n {% set package_name = none %}\n {% endif %}\n\n {% if package_name is none %}\n {% set package_context = context %}\n {% elif package_name in context %}\n {% set package_context = context[package_name] %}\n {% else %}\n {% set error_msg %}\n Could not find package '{{package_name}}', called with '{{original_name}}'\n {% endset %}\n {{ exceptions.raise_compiler_error(error_msg | trim) }}\n {% endif %}\n\n {%- set search_name = 'snapshot_' ~ name ~ '_strategy' -%}\n\n {% if search_name not in package_context %}\n {% set error_msg %}\n The specified strategy macro '{{name}}' was not found in package '{{ package_name }}'\n {% endset %}\n {{ exceptions.raise_compiler_error(error_msg | trim) }}\n {% endif %}\n {{ return(package_context[search_name]) }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.7583501, "supported_languages": null}, "macro.dbt.snapshot_hash_arguments": {"name": "snapshot_hash_arguments", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.snapshot_hash_arguments", "macro_sql": "{% macro snapshot_hash_arguments(args) -%}\n {{ adapter.dispatch('snapshot_hash_arguments', 'dbt')(args) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__snapshot_hash_arguments"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.75861, "supported_languages": null}, "macro.dbt.default__snapshot_hash_arguments": {"name": "default__snapshot_hash_arguments", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.default__snapshot_hash_arguments", "macro_sql": "{% macro default__snapshot_hash_arguments(args) -%}\n md5({%- for arg in args -%}\n coalesce(cast({{ arg }} as varchar ), '')\n {% if not loop.last %} || '|' || {% endif %}\n {%- endfor -%})\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.758834, "supported_languages": null}, "macro.dbt.snapshot_timestamp_strategy": {"name": "snapshot_timestamp_strategy", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.snapshot_timestamp_strategy", "macro_sql": "{% macro snapshot_timestamp_strategy(node, snapshotted_rel, current_rel, config, target_exists) %}\n {% set primary_key = config['unique_key'] %}\n {% set updated_at = config['updated_at'] %}\n {% set invalidate_hard_deletes = config.get('invalidate_hard_deletes', false) %}\n\n {#/*\n The snapshot relation might not have an {{ updated_at }} value if the\n snapshot strategy is changed from `check` to `timestamp`. We\n should use a dbt-created column for the comparison in the snapshot\n table instead of assuming that the user-supplied {{ updated_at }}\n will be present in the historical data.\n\n See https://github.com/dbt-labs/dbt-core/issues/2350\n */ #}\n {% set row_changed_expr -%}\n ({{ snapshotted_rel }}.dbt_valid_from < {{ current_rel }}.{{ updated_at }})\n {%- endset %}\n\n {% set scd_id_expr = snapshot_hash_arguments([primary_key, updated_at]) %}\n\n {% do return({\n \"unique_key\": primary_key,\n \"updated_at\": updated_at,\n \"row_changed\": row_changed_expr,\n \"scd_id\": scd_id_expr,\n \"invalidate_hard_deletes\": invalidate_hard_deletes\n }) %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.snapshot_hash_arguments"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.759495, "supported_languages": null}, "macro.dbt.snapshot_string_as_time": {"name": "snapshot_string_as_time", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.snapshot_string_as_time", "macro_sql": "{% macro snapshot_string_as_time(timestamp) -%}\n {{ adapter.dispatch('snapshot_string_as_time', 'dbt')(timestamp) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__snapshot_string_as_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.759648, "supported_languages": null}, "macro.dbt.default__snapshot_string_as_time": {"name": "default__snapshot_string_as_time", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.default__snapshot_string_as_time", "macro_sql": "{% macro default__snapshot_string_as_time(timestamp) %}\n {% do exceptions.raise_not_implemented(\n 'snapshot_string_as_time macro not implemented for adapter '+adapter.type()\n ) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.759809, "supported_languages": null}, "macro.dbt.snapshot_check_all_get_existing_columns": {"name": "snapshot_check_all_get_existing_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.snapshot_check_all_get_existing_columns", "macro_sql": "{% macro snapshot_check_all_get_existing_columns(node, target_exists, check_cols_config) -%}\n {%- if not target_exists -%}\n {#-- no table yet -> return whatever the query does --#}\n {{ return((false, query_columns)) }}\n {%- endif -%}\n\n {#-- handle any schema changes --#}\n {%- set target_relation = adapter.get_relation(database=node.database, schema=node.schema, identifier=node.alias) -%}\n\n {% if check_cols_config == 'all' %}\n {%- set query_columns = get_columns_in_query(node['compiled_code']) -%}\n\n {% elif check_cols_config is iterable and (check_cols_config | length) > 0 %}\n {#-- query for proper casing/quoting, to support comparison below --#}\n {%- set select_check_cols_from_target -%}\n {#-- N.B. The whitespace below is necessary to avoid edge case issue with comments --#}\n {#-- See: https://github.com/dbt-labs/dbt-core/issues/6781 --#}\n select {{ check_cols_config | join(', ') }} from (\n {{ node['compiled_code'] }}\n ) subq\n {%- endset -%}\n {% set query_columns = get_columns_in_query(select_check_cols_from_target) %}\n\n {% else %}\n {% do exceptions.raise_compiler_error(\"Invalid value for 'check_cols': \" ~ check_cols_config) %}\n {% endif %}\n\n {%- set existing_cols = adapter.get_columns_in_relation(target_relation) | map(attribute = 'name') | list -%}\n {%- set ns = namespace() -%} {#-- handle for-loop scoping with a namespace --#}\n {%- set ns.column_added = false -%}\n\n {%- set intersection = [] -%}\n {%- for col in query_columns -%}\n {%- if col in existing_cols -%}\n {%- do intersection.append(adapter.quote(col)) -%}\n {%- else -%}\n {% set ns.column_added = true %}\n {%- endif -%}\n {%- endfor -%}\n {{ return((ns.column_added, intersection)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.get_columns_in_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.7610722, "supported_languages": null}, "macro.dbt.snapshot_check_strategy": {"name": "snapshot_check_strategy", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.snapshot_check_strategy", "macro_sql": "{% macro snapshot_check_strategy(node, snapshotted_rel, current_rel, config, target_exists) %}\n {% set check_cols_config = config['check_cols'] %}\n {% set primary_key = config['unique_key'] %}\n {% set invalidate_hard_deletes = config.get('invalidate_hard_deletes', false) %}\n {% set updated_at = config.get('updated_at', snapshot_get_time()) %}\n\n {% set column_added = false %}\n\n {% set column_added, check_cols = snapshot_check_all_get_existing_columns(node, target_exists, check_cols_config) %}\n\n {%- set row_changed_expr -%}\n (\n {%- if column_added -%}\n {{ get_true_sql() }}\n {%- else -%}\n {%- for col in check_cols -%}\n {{ snapshotted_rel }}.{{ col }} != {{ current_rel }}.{{ col }}\n or\n (\n (({{ snapshotted_rel }}.{{ col }} is null) and not ({{ current_rel }}.{{ col }} is null))\n or\n ((not {{ snapshotted_rel }}.{{ col }} is null) and ({{ current_rel }}.{{ col }} is null))\n )\n {%- if not loop.last %} or {% endif -%}\n {%- endfor -%}\n {%- endif -%}\n )\n {%- endset %}\n\n {% set scd_id_expr = snapshot_hash_arguments([primary_key, updated_at]) %}\n\n {% do return({\n \"unique_key\": primary_key,\n \"updated_at\": updated_at,\n \"row_changed\": row_changed_expr,\n \"scd_id\": scd_id_expr,\n \"invalidate_hard_deletes\": invalidate_hard_deletes\n }) %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.snapshot_get_time", "macro.dbt.snapshot_check_all_get_existing_columns", "macro.dbt.get_true_sql", "macro.dbt.snapshot_hash_arguments"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.7623339, "supported_languages": null}, "macro.dbt.create_columns": {"name": "create_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.create_columns", "macro_sql": "{% macro create_columns(relation, columns) %}\n {{ adapter.dispatch('create_columns', 'dbt')(relation, columns) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__create_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.7657988, "supported_languages": null}, "macro.dbt.default__create_columns": {"name": "default__create_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.default__create_columns", "macro_sql": "{% macro default__create_columns(relation, columns) %}\n {% for column in columns %}\n {% call statement() %}\n alter table {{ relation }} add column \"{{ column.name }}\" {{ column.data_type }};\n {% endcall %}\n {% endfor %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.7660449, "supported_languages": null}, "macro.dbt.post_snapshot": {"name": "post_snapshot", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.post_snapshot", "macro_sql": "{% macro post_snapshot(staging_relation) %}\n {{ adapter.dispatch('post_snapshot', 'dbt')(staging_relation) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__post_snapshot"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.766203, "supported_languages": null}, "macro.dbt.default__post_snapshot": {"name": "default__post_snapshot", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.default__post_snapshot", "macro_sql": "{% macro default__post_snapshot(staging_relation) %}\n {# no-op #}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.766285, "supported_languages": null}, "macro.dbt.get_true_sql": {"name": "get_true_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.get_true_sql", "macro_sql": "{% macro get_true_sql() %}\n {{ adapter.dispatch('get_true_sql', 'dbt')() }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_true_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.766422, "supported_languages": null}, "macro.dbt.default__get_true_sql": {"name": "default__get_true_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.default__get_true_sql", "macro_sql": "{% macro default__get_true_sql() %}\n {{ return('TRUE') }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.76653, "supported_languages": null}, "macro.dbt.snapshot_staging_table": {"name": "snapshot_staging_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.snapshot_staging_table", "macro_sql": "{% macro snapshot_staging_table(strategy, source_sql, target_relation) -%}\n {{ adapter.dispatch('snapshot_staging_table', 'dbt')(strategy, source_sql, target_relation) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__snapshot_staging_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.766718, "supported_languages": null}, "macro.dbt.default__snapshot_staging_table": {"name": "default__snapshot_staging_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.default__snapshot_staging_table", "macro_sql": "{% macro default__snapshot_staging_table(strategy, source_sql, target_relation) -%}\n\n with snapshot_query as (\n\n {{ source_sql }}\n\n ),\n\n snapshotted_data as (\n\n select *,\n {{ strategy.unique_key }} as dbt_unique_key\n\n from {{ target_relation }}\n where dbt_valid_to is null\n\n ),\n\n insertions_source_data as (\n\n select\n *,\n {{ strategy.unique_key }} as dbt_unique_key,\n {{ strategy.updated_at }} as dbt_updated_at,\n {{ strategy.updated_at }} as dbt_valid_from,\n nullif({{ strategy.updated_at }}, {{ strategy.updated_at }}) as dbt_valid_to,\n {{ strategy.scd_id }} as dbt_scd_id\n\n from snapshot_query\n ),\n\n updates_source_data as (\n\n select\n *,\n {{ strategy.unique_key }} as dbt_unique_key,\n {{ strategy.updated_at }} as dbt_updated_at,\n {{ strategy.updated_at }} as dbt_valid_from,\n {{ strategy.updated_at }} as dbt_valid_to\n\n from snapshot_query\n ),\n\n {%- if strategy.invalidate_hard_deletes %}\n\n deletes_source_data as (\n\n select\n *,\n {{ strategy.unique_key }} as dbt_unique_key\n from snapshot_query\n ),\n {% endif %}\n\n insertions as (\n\n select\n 'insert' as dbt_change_type,\n source_data.*\n\n from insertions_source_data as source_data\n left outer join snapshotted_data on snapshotted_data.dbt_unique_key = source_data.dbt_unique_key\n where snapshotted_data.dbt_unique_key is null\n or (\n snapshotted_data.dbt_unique_key is not null\n and (\n {{ strategy.row_changed }}\n )\n )\n\n ),\n\n updates as (\n\n select\n 'update' as dbt_change_type,\n source_data.*,\n snapshotted_data.dbt_scd_id\n\n from updates_source_data as source_data\n join snapshotted_data on snapshotted_data.dbt_unique_key = source_data.dbt_unique_key\n where (\n {{ strategy.row_changed }}\n )\n )\n\n {%- if strategy.invalidate_hard_deletes -%}\n ,\n\n deletes as (\n\n select\n 'delete' as dbt_change_type,\n source_data.*,\n {{ snapshot_get_time() }} as dbt_valid_from,\n {{ snapshot_get_time() }} as dbt_updated_at,\n {{ snapshot_get_time() }} as dbt_valid_to,\n snapshotted_data.dbt_scd_id\n\n from snapshotted_data\n left join deletes_source_data as source_data on snapshotted_data.dbt_unique_key = source_data.dbt_unique_key\n where source_data.dbt_unique_key is null\n )\n {%- endif %}\n\n select * from insertions\n union all\n select * from updates\n {%- if strategy.invalidate_hard_deletes %}\n union all\n select * from deletes\n {%- endif %}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.snapshot_get_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.767513, "supported_languages": null}, "macro.dbt.build_snapshot_table": {"name": "build_snapshot_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.build_snapshot_table", "macro_sql": "{% macro build_snapshot_table(strategy, sql) -%}\n {{ adapter.dispatch('build_snapshot_table', 'dbt')(strategy, sql) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__build_snapshot_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.7676868, "supported_languages": null}, "macro.dbt.default__build_snapshot_table": {"name": "default__build_snapshot_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.default__build_snapshot_table", "macro_sql": "{% macro default__build_snapshot_table(strategy, sql) %}\n\n select *,\n {{ strategy.scd_id }} as dbt_scd_id,\n {{ strategy.updated_at }} as dbt_updated_at,\n {{ strategy.updated_at }} as dbt_valid_from,\n nullif({{ strategy.updated_at }}, {{ strategy.updated_at }}) as dbt_valid_to\n from (\n {{ sql }}\n ) sbq\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.767904, "supported_languages": null}, "macro.dbt.build_snapshot_staging_table": {"name": "build_snapshot_staging_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.build_snapshot_staging_table", "macro_sql": "{% macro build_snapshot_staging_table(strategy, sql, target_relation) %}\n {% set temp_relation = make_temp_relation(target_relation) %}\n\n {% set select = snapshot_staging_table(strategy, sql, target_relation) %}\n\n {% call statement('build_snapshot_staging_relation') %}\n {{ create_table_as(True, temp_relation, select) }}\n {% endcall %}\n\n {% do return(temp_relation) %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.make_temp_relation", "macro.dbt.snapshot_staging_table", "macro.dbt.statement", "macro.dbt.create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.768399, "supported_languages": null}, "macro.dbt.materialization_snapshot_default": {"name": "materialization_snapshot_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/snapshot.sql", "original_file_path": "macros/materializations/snapshots/snapshot.sql", "unique_id": "macro.dbt.materialization_snapshot_default", "macro_sql": "{% materialization snapshot, default %}\n {%- set config = model['config'] -%}\n\n {%- set target_table = model.get('alias', model.get('name')) -%}\n\n {%- set strategy_name = config.get('strategy') -%}\n {%- set unique_key = config.get('unique_key') %}\n -- grab current tables grants config for comparision later on\n {%- set grant_config = config.get('grants') -%}\n\n {% set target_relation_exists, target_relation = get_or_create_relation(\n database=model.database,\n schema=model.schema,\n identifier=target_table,\n type='table') -%}\n\n {%- if not target_relation.is_table -%}\n {% do exceptions.relation_wrong_type(target_relation, 'table') %}\n {%- endif -%}\n\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\n\n {% set strategy_macro = strategy_dispatch(strategy_name) %}\n {% set strategy = strategy_macro(model, \"snapshotted_data\", \"source_data\", config, target_relation_exists) %}\n\n {% if not target_relation_exists %}\n\n {% set build_sql = build_snapshot_table(strategy, model['compiled_code']) %}\n {% set final_sql = create_table_as(False, target_relation, build_sql) %}\n\n {% else %}\n\n {{ adapter.valid_snapshot_target(target_relation) }}\n\n {% set staging_table = build_snapshot_staging_table(strategy, sql, target_relation) %}\n\n -- this may no-op if the database does not require column expansion\n {% do adapter.expand_target_column_types(from_relation=staging_table,\n to_relation=target_relation) %}\n\n {% set missing_columns = adapter.get_missing_columns(staging_table, target_relation)\n | rejectattr('name', 'equalto', 'dbt_change_type')\n | rejectattr('name', 'equalto', 'DBT_CHANGE_TYPE')\n | rejectattr('name', 'equalto', 'dbt_unique_key')\n | rejectattr('name', 'equalto', 'DBT_UNIQUE_KEY')\n | list %}\n\n {% do create_columns(target_relation, missing_columns) %}\n\n {% set source_columns = adapter.get_columns_in_relation(staging_table)\n | rejectattr('name', 'equalto', 'dbt_change_type')\n | rejectattr('name', 'equalto', 'DBT_CHANGE_TYPE')\n | rejectattr('name', 'equalto', 'dbt_unique_key')\n | rejectattr('name', 'equalto', 'DBT_UNIQUE_KEY')\n | list %}\n\n {% set quoted_source_columns = [] %}\n {% for column in source_columns %}\n {% do quoted_source_columns.append(adapter.quote(column.name)) %}\n {% endfor %}\n\n {% set final_sql = snapshot_merge_sql(\n target = target_relation,\n source = staging_table,\n insert_cols = quoted_source_columns\n )\n %}\n\n {% endif %}\n\n {% call statement('main') %}\n {{ final_sql }}\n {% endcall %}\n\n {% set should_revoke = should_revoke(target_relation_exists, full_refresh_mode=False) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n {% if not target_relation_exists %}\n {% do create_indexes(target_relation) %}\n {% endif %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n {{ adapter.commit() }}\n\n {% if staging_table is defined %}\n {% do post_snapshot(staging_table) %}\n {% endif %}\n\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n\n {{ return({'relations': [target_relation]}) }}\n\n{% endmaterialization %}", "depends_on": {"macros": ["macro.dbt.get_or_create_relation", "macro.dbt.run_hooks", "macro.dbt.strategy_dispatch", "macro.dbt.build_snapshot_table", "macro.dbt.create_table_as", "macro.dbt.build_snapshot_staging_table", "macro.dbt.create_columns", "macro.dbt.snapshot_merge_sql", "macro.dbt.statement", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs", "macro.dbt.create_indexes", "macro.dbt.post_snapshot"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.773983, "supported_languages": ["sql"]}, "macro.dbt.materialization_test_default": {"name": "materialization_test_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/tests/test.sql", "original_file_path": "macros/materializations/tests/test.sql", "unique_id": "macro.dbt.materialization_test_default", "macro_sql": "{%- materialization test, default -%}\n\n {% set relations = [] %}\n\n {% if should_store_failures() %}\n\n {% set identifier = model['alias'] %}\n {% set old_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) %}\n\n {% set store_failures_as = config.get('store_failures_as') %}\n -- if `--store-failures` is invoked via command line and `store_failures_as` is not set,\n -- config.get('store_failures_as', 'table') returns None, not 'table'\n {% if store_failures_as == none %}{% set store_failures_as = 'table' %}{% endif %}\n {% if store_failures_as not in ['table', 'view'] %}\n {{ exceptions.raise_compiler_error(\n \"'\" ~ store_failures_as ~ \"' is not a valid value for `store_failures_as`. \"\n \"Accepted values are: ['ephemeral', 'table', 'view']\"\n ) }}\n {% endif %}\n\n {% set target_relation = api.Relation.create(\n identifier=identifier, schema=schema, database=database, type=store_failures_as) -%} %}\n\n {% if old_relation %}\n {% do adapter.drop_relation(old_relation) %}\n {% endif %}\n\n {% call statement(auto_begin=True) %}\n {{ get_create_sql(target_relation, sql) }}\n {% endcall %}\n\n {% do relations.append(target_relation) %}\n\n {% set main_sql %}\n select *\n from {{ target_relation }}\n {% endset %}\n\n {{ adapter.commit() }}\n\n {% else %}\n\n {% set main_sql = sql %}\n\n {% endif %}\n\n {% set limit = config.get('limit') %}\n {% set fail_calc = config.get('fail_calc') %}\n {% set warn_if = config.get('warn_if') %}\n {% set error_if = config.get('error_if') %}\n\n {% call statement('main', fetch_result=True) -%}\n\n {{ get_test_sql(main_sql, fail_calc, warn_if, error_if, limit)}}\n\n {%- endcall %}\n\n {{ return({'relations': relations}) }}\n\n{%- endmaterialization -%}", "depends_on": {"macros": ["macro.dbt.should_store_failures", "macro.dbt.statement", "macro.dbt.get_create_sql", "macro.dbt.get_test_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.7765918, "supported_languages": ["sql"]}, "macro.dbt.get_test_sql": {"name": "get_test_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/tests/helpers.sql", "original_file_path": "macros/materializations/tests/helpers.sql", "unique_id": "macro.dbt.get_test_sql", "macro_sql": "{% macro get_test_sql(main_sql, fail_calc, warn_if, error_if, limit) -%}\n {{ adapter.dispatch('get_test_sql', 'dbt')(main_sql, fail_calc, warn_if, error_if, limit) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_test_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.777051, "supported_languages": null}, "macro.dbt.default__get_test_sql": {"name": "default__get_test_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/tests/helpers.sql", "original_file_path": "macros/materializations/tests/helpers.sql", "unique_id": "macro.dbt.default__get_test_sql", "macro_sql": "{% macro default__get_test_sql(main_sql, fail_calc, warn_if, error_if, limit) -%}\n select\n {{ fail_calc }} as failures,\n {{ fail_calc }} {{ warn_if }} as should_warn,\n {{ fail_calc }} {{ error_if }} as should_error\n from (\n {{ main_sql }}\n {{ \"limit \" ~ limit if limit != none }}\n ) dbt_internal_test\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.77734, "supported_languages": null}, "macro.dbt.get_where_subquery": {"name": "get_where_subquery", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/tests/where_subquery.sql", "original_file_path": "macros/materializations/tests/where_subquery.sql", "unique_id": "macro.dbt.get_where_subquery", "macro_sql": "{% macro get_where_subquery(relation) -%}\n {% do return(adapter.dispatch('get_where_subquery', 'dbt')(relation)) %}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_where_subquery"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.777691, "supported_languages": null}, "macro.dbt.default__get_where_subquery": {"name": "default__get_where_subquery", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/tests/where_subquery.sql", "original_file_path": "macros/materializations/tests/where_subquery.sql", "unique_id": "macro.dbt.default__get_where_subquery", "macro_sql": "{% macro default__get_where_subquery(relation) -%}\n {% set where = config.get('where', '') %}\n {% if where %}\n {%- set filtered -%}\n (select * from {{ relation }} where {{ where }}) dbt_subquery\n {%- endset -%}\n {% do return(filtered) %}\n {%- else -%}\n {% do return(relation) %}\n {%- endif -%}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.778029, "supported_languages": null}, "macro.dbt.materialization_materialized_view_default": {"name": "materialization_materialized_view_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/materialized_view.sql", "original_file_path": "macros/materializations/models/materialized_view.sql", "unique_id": "macro.dbt.materialization_materialized_view_default", "macro_sql": "{% materialization materialized_view, default %}\n {% set existing_relation = load_cached_relation(this) %}\n {% set target_relation = this.incorporate(type=this.MaterializedView) %}\n {% set intermediate_relation = make_intermediate_relation(target_relation) %}\n {% set backup_relation_type = target_relation.MaterializedView if existing_relation is none else existing_relation.type %}\n {% set backup_relation = make_backup_relation(target_relation, backup_relation_type) %}\n\n {{ materialized_view_setup(backup_relation, intermediate_relation, pre_hooks) }}\n\n {% set build_sql = materialized_view_get_build_sql(existing_relation, target_relation, backup_relation, intermediate_relation) %}\n\n {% if build_sql == '' %}\n {{ materialized_view_execute_no_op(target_relation) }}\n {% else %}\n {{ materialized_view_execute_build_sql(build_sql, existing_relation, target_relation, post_hooks) }}\n {% endif %}\n\n {{ materialized_view_teardown(backup_relation, intermediate_relation, post_hooks) }}\n\n {{ return({'relations': [target_relation]}) }}\n\n{% endmaterialization %}", "depends_on": {"macros": ["macro.dbt.load_cached_relation", "macro.dbt.make_intermediate_relation", "macro.dbt.make_backup_relation", "macro.dbt.materialized_view_setup", "macro.dbt.materialized_view_get_build_sql", "macro.dbt.materialized_view_execute_no_op", "macro.dbt.materialized_view_execute_build_sql", "macro.dbt.materialized_view_teardown"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.78255, "supported_languages": ["sql"]}, "macro.dbt.materialized_view_setup": {"name": "materialized_view_setup", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/materialized_view.sql", "original_file_path": "macros/materializations/models/materialized_view.sql", "unique_id": "macro.dbt.materialized_view_setup", "macro_sql": "{% macro materialized_view_setup(backup_relation, intermediate_relation, pre_hooks) %}\n\n -- backup_relation and intermediate_relation should not already exist in the database\n -- it's possible these exist because of a previous run that exited unexpectedly\n {% set preexisting_backup_relation = load_cached_relation(backup_relation) %}\n {% set preexisting_intermediate_relation = load_cached_relation(intermediate_relation) %}\n\n -- drop the temp relations if they exist already in the database\n {{ drop_relation_if_exists(preexisting_backup_relation) }}\n {{ drop_relation_if_exists(preexisting_intermediate_relation) }}\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.load_cached_relation", "macro.dbt.drop_relation_if_exists", "macro.dbt.run_hooks"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.78294, "supported_languages": null}, "macro.dbt.materialized_view_teardown": {"name": "materialized_view_teardown", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/materialized_view.sql", "original_file_path": "macros/materializations/models/materialized_view.sql", "unique_id": "macro.dbt.materialized_view_teardown", "macro_sql": "{% macro materialized_view_teardown(backup_relation, intermediate_relation, post_hooks) %}\n\n -- drop the temp relations if they exist to leave the database clean for the next run\n {{ drop_relation_if_exists(backup_relation) }}\n {{ drop_relation_if_exists(intermediate_relation) }}\n\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.drop_relation_if_exists", "macro.dbt.run_hooks"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.783189, "supported_languages": null}, "macro.dbt.materialized_view_get_build_sql": {"name": "materialized_view_get_build_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/materialized_view.sql", "original_file_path": "macros/materializations/models/materialized_view.sql", "unique_id": "macro.dbt.materialized_view_get_build_sql", "macro_sql": "{% macro materialized_view_get_build_sql(existing_relation, target_relation, backup_relation, intermediate_relation) %}\n\n {% set full_refresh_mode = should_full_refresh() %}\n\n -- determine the scenario we're in: create, full_refresh, alter, refresh data\n {% if existing_relation is none %}\n {% set build_sql = get_create_materialized_view_as_sql(target_relation, sql) %}\n {% elif full_refresh_mode or not existing_relation.is_materialized_view %}\n {% set build_sql = get_replace_sql(existing_relation, target_relation, sql) %}\n {% else %}\n\n -- get config options\n {% set on_configuration_change = config.get('on_configuration_change') %}\n {% set configuration_changes = get_materialized_view_configuration_changes(existing_relation, config) %}\n\n {% if configuration_changes is none %}\n {% set build_sql = refresh_materialized_view(target_relation) %}\n\n {% elif on_configuration_change == 'apply' %}\n {% set build_sql = get_alter_materialized_view_as_sql(target_relation, configuration_changes, sql, existing_relation, backup_relation, intermediate_relation) %}\n {% elif on_configuration_change == 'continue' %}\n {% set build_sql = '' %}\n {{ exceptions.warn(\"Configuration changes were identified and `on_configuration_change` was set to `continue` for `\" ~ target_relation ~ \"`\") }}\n {% elif on_configuration_change == 'fail' %}\n {{ exceptions.raise_fail_fast_error(\"Configuration changes were identified and `on_configuration_change` was set to `fail` for `\" ~ target_relation ~ \"`\") }}\n\n {% else %}\n -- this only happens if the user provides a value other than `apply`, 'skip', 'fail'\n {{ exceptions.raise_compiler_error(\"Unexpected configuration scenario\") }}\n\n {% endif %}\n\n {% endif %}\n\n {% do return(build_sql) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.should_full_refresh", "macro.dbt.get_create_materialized_view_as_sql", "macro.dbt.get_replace_sql", "macro.dbt.get_materialized_view_configuration_changes", "macro.dbt.refresh_materialized_view", "macro.dbt.get_alter_materialized_view_as_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.784522, "supported_languages": null}, "macro.dbt.materialized_view_execute_no_op": {"name": "materialized_view_execute_no_op", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/materialized_view.sql", "original_file_path": "macros/materializations/models/materialized_view.sql", "unique_id": "macro.dbt.materialized_view_execute_no_op", "macro_sql": "{% macro materialized_view_execute_no_op(target_relation) %}\n {% do store_raw_result(\n name=\"main\",\n message=\"skip \" ~ target_relation,\n code=\"skip\",\n rows_affected=\"-1\"\n ) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.784765, "supported_languages": null}, "macro.dbt.materialized_view_execute_build_sql": {"name": "materialized_view_execute_build_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/materialized_view.sql", "original_file_path": "macros/materializations/models/materialized_view.sql", "unique_id": "macro.dbt.materialized_view_execute_build_sql", "macro_sql": "{% macro materialized_view_execute_build_sql(build_sql, existing_relation, target_relation, post_hooks) %}\n\n -- `BEGIN` happens here:\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\n\n {% set grant_config = config.get('grants') %}\n\n {% call statement(name=\"main\") %}\n {{ build_sql }}\n {% endcall %}\n\n {% set should_revoke = should_revoke(existing_relation, full_refresh_mode=True) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n {{ adapter.commit() }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.run_hooks", "macro.dbt.statement", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.7853608, "supported_languages": null}, "macro.dbt.materialization_view_default": {"name": "materialization_view_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/view.sql", "original_file_path": "macros/materializations/models/view.sql", "unique_id": "macro.dbt.materialization_view_default", "macro_sql": "{%- materialization view, default -%}\n\n {%- set existing_relation = load_cached_relation(this) -%}\n {%- set target_relation = this.incorporate(type='view') -%}\n {%- set intermediate_relation = make_intermediate_relation(target_relation) -%}\n\n -- the intermediate_relation should not already exist in the database; get_relation\n -- will return None in that case. Otherwise, we get a relation that we can drop\n -- later, before we try to use this name for the current operation\n {%- set preexisting_intermediate_relation = load_cached_relation(intermediate_relation) -%}\n /*\n This relation (probably) doesn't exist yet. If it does exist, it's a leftover from\n a previous run, and we're going to try to drop it immediately. At the end of this\n materialization, we're going to rename the \"existing_relation\" to this identifier,\n and then we're going to drop it. In order to make sure we run the correct one of:\n - drop view ...\n - drop table ...\n\n We need to set the type of this relation to be the type of the existing_relation, if it exists,\n or else \"view\" as a sane default if it does not. Note that if the existing_relation does not\n exist, then there is nothing to move out of the way and subsequentally drop. In that case,\n this relation will be effectively unused.\n */\n {%- set backup_relation_type = 'view' if existing_relation is none else existing_relation.type -%}\n {%- set backup_relation = make_backup_relation(target_relation, backup_relation_type) -%}\n -- as above, the backup_relation should not already exist\n {%- set preexisting_backup_relation = load_cached_relation(backup_relation) -%}\n -- grab current tables grants config for comparision later on\n {% set grant_config = config.get('grants') %}\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n -- drop the temp relations if they exist already in the database\n {{ drop_relation_if_exists(preexisting_intermediate_relation) }}\n {{ drop_relation_if_exists(preexisting_backup_relation) }}\n\n -- `BEGIN` happens here:\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\n\n -- build model\n {% call statement('main') -%}\n {{ get_create_view_as_sql(intermediate_relation, sql) }}\n {%- endcall %}\n\n -- cleanup\n -- move the existing view out of the way\n {% if existing_relation is not none %}\n /* Do the equivalent of rename_if_exists. 'existing_relation' could have been dropped\n since the variable was first set. */\n {% set existing_relation = load_cached_relation(existing_relation) %}\n {% if existing_relation is not none %}\n {{ adapter.rename_relation(existing_relation, backup_relation) }}\n {% endif %}\n {% endif %}\n {{ adapter.rename_relation(intermediate_relation, target_relation) }}\n\n {% set should_revoke = should_revoke(existing_relation, full_refresh_mode=True) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n {{ adapter.commit() }}\n\n {{ drop_relation_if_exists(backup_relation) }}\n\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n\n {{ return({'relations': [target_relation]}) }}\n\n{%- endmaterialization -%}", "depends_on": {"macros": ["macro.dbt.load_cached_relation", "macro.dbt.make_intermediate_relation", "macro.dbt.make_backup_relation", "macro.dbt.run_hooks", "macro.dbt.drop_relation_if_exists", "macro.dbt.statement", "macro.dbt.get_create_view_as_sql", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.788019, "supported_languages": ["sql"]}, "macro.dbt.materialization_table_default": {"name": "materialization_table_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/table.sql", "original_file_path": "macros/materializations/models/table.sql", "unique_id": "macro.dbt.materialization_table_default", "macro_sql": "{% materialization table, default %}\n\n {%- set existing_relation = load_cached_relation(this) -%}\n {%- set target_relation = this.incorporate(type='table') %}\n {%- set intermediate_relation = make_intermediate_relation(target_relation) -%}\n -- the intermediate_relation should not already exist in the database; get_relation\n -- will return None in that case. Otherwise, we get a relation that we can drop\n -- later, before we try to use this name for the current operation\n {%- set preexisting_intermediate_relation = load_cached_relation(intermediate_relation) -%}\n /*\n See ../view/view.sql for more information about this relation.\n */\n {%- set backup_relation_type = 'table' if existing_relation is none else existing_relation.type -%}\n {%- set backup_relation = make_backup_relation(target_relation, backup_relation_type) -%}\n -- as above, the backup_relation should not already exist\n {%- set preexisting_backup_relation = load_cached_relation(backup_relation) -%}\n -- grab current tables grants config for comparision later on\n {% set grant_config = config.get('grants') %}\n\n -- drop the temp relations if they exist already in the database\n {{ drop_relation_if_exists(preexisting_intermediate_relation) }}\n {{ drop_relation_if_exists(preexisting_backup_relation) }}\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n -- `BEGIN` happens here:\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\n\n -- build model\n {% call statement('main') -%}\n {{ get_create_table_as_sql(False, intermediate_relation, sql) }}\n {%- endcall %}\n\n -- cleanup\n {% if existing_relation is not none %}\n /* Do the equivalent of rename_if_exists. 'existing_relation' could have been dropped\n since the variable was first set. */\n {% set existing_relation = load_cached_relation(existing_relation) %}\n {% if existing_relation is not none %}\n {{ adapter.rename_relation(existing_relation, backup_relation) }}\n {% endif %}\n {% endif %}\n\n {{ adapter.rename_relation(intermediate_relation, target_relation) }}\n\n {% do create_indexes(target_relation) %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n {% set should_revoke = should_revoke(existing_relation, full_refresh_mode=True) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n -- `COMMIT` happens here\n {{ adapter.commit() }}\n\n -- finally, drop the existing/backup relation after the commit\n {{ drop_relation_if_exists(backup_relation) }}\n\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n\n {{ return({'relations': [target_relation]}) }}\n{% endmaterialization %}", "depends_on": {"macros": ["macro.dbt.load_cached_relation", "macro.dbt.make_intermediate_relation", "macro.dbt.make_backup_relation", "macro.dbt.drop_relation_if_exists", "macro.dbt.run_hooks", "macro.dbt.statement", "macro.dbt.get_create_table_as_sql", "macro.dbt.create_indexes", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.790993, "supported_languages": ["sql"]}, "macro.dbt.get_quoted_csv": {"name": "get_quoted_csv", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "unique_id": "macro.dbt.get_quoted_csv", "macro_sql": "{% macro get_quoted_csv(column_names) %}\n\n {% set quoted = [] %}\n {% for col in column_names -%}\n {%- do quoted.append(adapter.quote(col)) -%}\n {%- endfor %}\n\n {%- set dest_cols_csv = quoted | join(', ') -%}\n {{ return(dest_cols_csv) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.792598, "supported_languages": null}, "macro.dbt.diff_columns": {"name": "diff_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "unique_id": "macro.dbt.diff_columns", "macro_sql": "{% macro diff_columns(source_columns, target_columns) %}\n\n {% set result = [] %}\n {% set source_names = source_columns | map(attribute = 'column') | list %}\n {% set target_names = target_columns | map(attribute = 'column') | list %}\n\n {# --check whether the name attribute exists in the target - this does not perform a data type check #}\n {% for sc in source_columns %}\n {% if sc.name not in target_names %}\n {{ result.append(sc) }}\n {% endif %}\n {% endfor %}\n\n {{ return(result) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.79309, "supported_languages": null}, "macro.dbt.diff_column_data_types": {"name": "diff_column_data_types", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "unique_id": "macro.dbt.diff_column_data_types", "macro_sql": "{% macro diff_column_data_types(source_columns, target_columns) %}\n\n {% set result = [] %}\n {% for sc in source_columns %}\n {% set tc = target_columns | selectattr(\"name\", \"equalto\", sc.name) | list | first %}\n {% if tc %}\n {% if sc.data_type != tc.data_type and not sc.can_expand_to(other_column=tc) %}\n {{ result.append( { 'column_name': tc.name, 'new_type': sc.data_type } ) }}\n {% endif %}\n {% endif %}\n {% endfor %}\n\n {{ return(result) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.793728, "supported_languages": null}, "macro.dbt.get_merge_update_columns": {"name": "get_merge_update_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "unique_id": "macro.dbt.get_merge_update_columns", "macro_sql": "{% macro get_merge_update_columns(merge_update_columns, merge_exclude_columns, dest_columns) %}\n {{ return(adapter.dispatch('get_merge_update_columns', 'dbt')(merge_update_columns, merge_exclude_columns, dest_columns)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_merge_update_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.793945, "supported_languages": null}, "macro.dbt.default__get_merge_update_columns": {"name": "default__get_merge_update_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "unique_id": "macro.dbt.default__get_merge_update_columns", "macro_sql": "{% macro default__get_merge_update_columns(merge_update_columns, merge_exclude_columns, dest_columns) %}\n {%- set default_cols = dest_columns | map(attribute=\"quoted\") | list -%}\n\n {%- if merge_update_columns and merge_exclude_columns -%}\n {{ exceptions.raise_compiler_error(\n 'Model cannot specify merge_update_columns and merge_exclude_columns. Please update model to use only one config'\n )}}\n {%- elif merge_update_columns -%}\n {%- set update_columns = merge_update_columns -%}\n {%- elif merge_exclude_columns -%}\n {%- set update_columns = [] -%}\n {%- for column in dest_columns -%}\n {% if column.column | lower not in merge_exclude_columns | map(\"lower\") | list %}\n {%- do update_columns.append(column.quoted) -%}\n {% endif %}\n {%- endfor -%}\n {%- else -%}\n {%- set update_columns = default_cols -%}\n {%- endif -%}\n\n {{ return(update_columns) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.7945979, "supported_languages": null}, "macro.dbt.get_merge_sql": {"name": "get_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "unique_id": "macro.dbt.get_merge_sql", "macro_sql": "{% macro get_merge_sql(target, source, unique_key, dest_columns, incremental_predicates=none) -%}\n -- back compat for old kwarg name\n {% set incremental_predicates = kwargs.get('predicates', incremental_predicates) %}\n {{ adapter.dispatch('get_merge_sql', 'dbt')(target, source, unique_key, dest_columns, incremental_predicates) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8000169, "supported_languages": null}, "macro.dbt.default__get_merge_sql": {"name": "default__get_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "unique_id": "macro.dbt.default__get_merge_sql", "macro_sql": "{% macro default__get_merge_sql(target, source, unique_key, dest_columns, incremental_predicates=none) -%}\n {%- set predicates = [] if incremental_predicates is none else [] + incremental_predicates -%}\n {%- set dest_cols_csv = get_quoted_csv(dest_columns | map(attribute=\"name\")) -%}\n {%- set merge_update_columns = config.get('merge_update_columns') -%}\n {%- set merge_exclude_columns = config.get('merge_exclude_columns') -%}\n {%- set update_columns = get_merge_update_columns(merge_update_columns, merge_exclude_columns, dest_columns) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {% if unique_key %}\n {% if unique_key is sequence and unique_key is not mapping and unique_key is not string %}\n {% for key in unique_key %}\n {% set this_key_match %}\n DBT_INTERNAL_SOURCE.{{ key }} = DBT_INTERNAL_DEST.{{ key }}\n {% endset %}\n {% do predicates.append(this_key_match) %}\n {% endfor %}\n {% else %}\n {% set unique_key_match %}\n DBT_INTERNAL_SOURCE.{{ unique_key }} = DBT_INTERNAL_DEST.{{ unique_key }}\n {% endset %}\n {% do predicates.append(unique_key_match) %}\n {% endif %}\n {% else %}\n {% do predicates.append('FALSE') %}\n {% endif %}\n\n {{ sql_header if sql_header is not none }}\n\n merge into {{ target }} as DBT_INTERNAL_DEST\n using {{ source }} as DBT_INTERNAL_SOURCE\n on {{\"(\" ~ predicates | join(\") and (\") ~ \")\"}}\n\n {% if unique_key %}\n when matched then update set\n {% for column_name in update_columns -%}\n {{ column_name }} = DBT_INTERNAL_SOURCE.{{ column_name }}\n {%- if not loop.last %}, {%- endif %}\n {%- endfor %}\n {% endif %}\n\n when not matched then insert\n ({{ dest_cols_csv }})\n values\n ({{ dest_cols_csv }})\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_quoted_csv", "macro.dbt.get_merge_update_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.801482, "supported_languages": null}, "macro.dbt.get_delete_insert_merge_sql": {"name": "get_delete_insert_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "unique_id": "macro.dbt.get_delete_insert_merge_sql", "macro_sql": "{% macro get_delete_insert_merge_sql(target, source, unique_key, dest_columns, incremental_predicates) -%}\n {{ adapter.dispatch('get_delete_insert_merge_sql', 'dbt')(target, source, unique_key, dest_columns, incremental_predicates) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_delete_insert_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.801722, "supported_languages": null}, "macro.dbt.default__get_delete_insert_merge_sql": {"name": "default__get_delete_insert_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "unique_id": "macro.dbt.default__get_delete_insert_merge_sql", "macro_sql": "{% macro default__get_delete_insert_merge_sql(target, source, unique_key, dest_columns, incremental_predicates) -%}\n\n {%- set dest_cols_csv = get_quoted_csv(dest_columns | map(attribute=\"name\")) -%}\n\n {% if unique_key %}\n {% if unique_key is sequence and unique_key is not string %}\n delete from {{target }}\n using {{ source }}\n where (\n {% for key in unique_key %}\n {{ source }}.{{ key }} = {{ target }}.{{ key }}\n {{ \"and \" if not loop.last}}\n {% endfor %}\n {% if incremental_predicates %}\n {% for predicate in incremental_predicates %}\n and {{ predicate }}\n {% endfor %}\n {% endif %}\n );\n {% else %}\n delete from {{ target }}\n where (\n {{ unique_key }}) in (\n select ({{ unique_key }})\n from {{ source }}\n )\n {%- if incremental_predicates %}\n {% for predicate in incremental_predicates %}\n and {{ predicate }}\n {% endfor %}\n {%- endif -%};\n\n {% endif %}\n {% endif %}\n\n insert into {{ target }} ({{ dest_cols_csv }})\n (\n select {{ dest_cols_csv }}\n from {{ source }}\n )\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.get_quoted_csv"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.802603, "supported_languages": null}, "macro.dbt.get_insert_overwrite_merge_sql": {"name": "get_insert_overwrite_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "unique_id": "macro.dbt.get_insert_overwrite_merge_sql", "macro_sql": "{% macro get_insert_overwrite_merge_sql(target, source, dest_columns, predicates, include_sql_header=false) -%}\n {{ adapter.dispatch('get_insert_overwrite_merge_sql', 'dbt')(target, source, dest_columns, predicates, include_sql_header) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_insert_overwrite_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.802846, "supported_languages": null}, "macro.dbt.default__get_insert_overwrite_merge_sql": {"name": "default__get_insert_overwrite_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "unique_id": "macro.dbt.default__get_insert_overwrite_merge_sql", "macro_sql": "{% macro default__get_insert_overwrite_merge_sql(target, source, dest_columns, predicates, include_sql_header) -%}\n {#-- The only time include_sql_header is True: --#}\n {#-- BigQuery + insert_overwrite strategy + \"static\" partitions config --#}\n {#-- We should consider including the sql header at the materialization level instead --#}\n\n {%- set predicates = [] if predicates is none else [] + predicates -%}\n {%- set dest_cols_csv = get_quoted_csv(dest_columns | map(attribute=\"name\")) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {{ sql_header if sql_header is not none and include_sql_header }}\n\n merge into {{ target }} as DBT_INTERNAL_DEST\n using {{ source }} as DBT_INTERNAL_SOURCE\n on FALSE\n\n when not matched by source\n {% if predicates %} and {{ predicates | join(' and ') }} {% endif %}\n then delete\n\n when not matched then insert\n ({{ dest_cols_csv }})\n values\n ({{ dest_cols_csv }})\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_quoted_csv"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.803424, "supported_languages": null}, "macro.dbt.is_incremental": {"name": "is_incremental", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/is_incremental.sql", "original_file_path": "macros/materializations/models/incremental/is_incremental.sql", "unique_id": "macro.dbt.is_incremental", "macro_sql": "{% macro is_incremental() %}\n {#-- do not run introspective queries in parsing #}\n {% if not execute %}\n {{ return(False) }}\n {% else %}\n {% set relation = adapter.get_relation(this.database, this.schema, this.table) %}\n {{ return(relation is not none\n and relation.type == 'table'\n and model.config.materialized == 'incremental'\n and not should_full_refresh()) }}\n {% endif %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.should_full_refresh"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8039958, "supported_languages": null}, "macro.dbt.get_incremental_append_sql": {"name": "get_incremental_append_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.get_incremental_append_sql", "macro_sql": "{% macro get_incremental_append_sql(arg_dict) %}\n\n {{ return(adapter.dispatch('get_incremental_append_sql', 'dbt')(arg_dict)) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_incremental_append_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8047879, "supported_languages": null}, "macro.dbt.default__get_incremental_append_sql": {"name": "default__get_incremental_append_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.default__get_incremental_append_sql", "macro_sql": "{% macro default__get_incremental_append_sql(arg_dict) %}\n\n {% do return(get_insert_into_sql(arg_dict[\"target_relation\"], arg_dict[\"temp_relation\"], arg_dict[\"dest_columns\"])) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_insert_into_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.805001, "supported_languages": null}, "macro.dbt.get_incremental_delete_insert_sql": {"name": "get_incremental_delete_insert_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.get_incremental_delete_insert_sql", "macro_sql": "{% macro get_incremental_delete_insert_sql(arg_dict) %}\n\n {{ return(adapter.dispatch('get_incremental_delete_insert_sql', 'dbt')(arg_dict)) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_incremental_delete_insert_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8051689, "supported_languages": null}, "macro.dbt.default__get_incremental_delete_insert_sql": {"name": "default__get_incremental_delete_insert_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.default__get_incremental_delete_insert_sql", "macro_sql": "{% macro default__get_incremental_delete_insert_sql(arg_dict) %}\n\n {% do return(get_delete_insert_merge_sql(arg_dict[\"target_relation\"], arg_dict[\"temp_relation\"], arg_dict[\"unique_key\"], arg_dict[\"dest_columns\"], arg_dict[\"incremental_predicates\"])) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_delete_insert_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.80543, "supported_languages": null}, "macro.dbt.get_incremental_merge_sql": {"name": "get_incremental_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.get_incremental_merge_sql", "macro_sql": "{% macro get_incremental_merge_sql(arg_dict) %}\n\n {{ return(adapter.dispatch('get_incremental_merge_sql', 'dbt')(arg_dict)) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_incremental_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.805679, "supported_languages": null}, "macro.dbt.default__get_incremental_merge_sql": {"name": "default__get_incremental_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.default__get_incremental_merge_sql", "macro_sql": "{% macro default__get_incremental_merge_sql(arg_dict) %}\n\n {% do return(get_merge_sql(arg_dict[\"target_relation\"], arg_dict[\"temp_relation\"], arg_dict[\"unique_key\"], arg_dict[\"dest_columns\"], arg_dict[\"incremental_predicates\"])) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.805942, "supported_languages": null}, "macro.dbt.get_incremental_insert_overwrite_sql": {"name": "get_incremental_insert_overwrite_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.get_incremental_insert_overwrite_sql", "macro_sql": "{% macro get_incremental_insert_overwrite_sql(arg_dict) %}\n\n {{ return(adapter.dispatch('get_incremental_insert_overwrite_sql', 'dbt')(arg_dict)) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_incremental_insert_overwrite_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.806113, "supported_languages": null}, "macro.dbt.default__get_incremental_insert_overwrite_sql": {"name": "default__get_incremental_insert_overwrite_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.default__get_incremental_insert_overwrite_sql", "macro_sql": "{% macro default__get_incremental_insert_overwrite_sql(arg_dict) %}\n\n {% do return(get_insert_overwrite_merge_sql(arg_dict[\"target_relation\"], arg_dict[\"temp_relation\"], arg_dict[\"dest_columns\"], arg_dict[\"incremental_predicates\"])) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_insert_overwrite_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8063629, "supported_languages": null}, "macro.dbt.get_incremental_default_sql": {"name": "get_incremental_default_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.get_incremental_default_sql", "macro_sql": "{% macro get_incremental_default_sql(arg_dict) %}\n\n {{ return(adapter.dispatch('get_incremental_default_sql', 'dbt')(arg_dict)) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_incremental_default_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8065321, "supported_languages": null}, "macro.dbt.default__get_incremental_default_sql": {"name": "default__get_incremental_default_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.default__get_incremental_default_sql", "macro_sql": "{% macro default__get_incremental_default_sql(arg_dict) %}\n\n {% do return(get_incremental_append_sql(arg_dict)) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_incremental_append_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.806669, "supported_languages": null}, "macro.dbt.get_insert_into_sql": {"name": "get_insert_into_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.get_insert_into_sql", "macro_sql": "{% macro get_insert_into_sql(target_relation, temp_relation, dest_columns) %}\n\n {%- set dest_cols_csv = get_quoted_csv(dest_columns | map(attribute=\"name\")) -%}\n\n insert into {{ target_relation }} ({{ dest_cols_csv }})\n (\n select {{ dest_cols_csv }}\n from {{ temp_relation }}\n )\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_quoted_csv"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8069172, "supported_languages": null}, "macro.dbt.materialization_incremental_default": {"name": "materialization_incremental_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/incremental.sql", "original_file_path": "macros/materializations/models/incremental/incremental.sql", "unique_id": "macro.dbt.materialization_incremental_default", "macro_sql": "{% materialization incremental, default -%}\n\n -- relations\n {%- set existing_relation = load_cached_relation(this) -%}\n {%- set target_relation = this.incorporate(type='table') -%}\n {%- set temp_relation = make_temp_relation(target_relation)-%}\n {%- set intermediate_relation = make_intermediate_relation(target_relation)-%}\n {%- set backup_relation_type = 'table' if existing_relation is none else existing_relation.type -%}\n {%- set backup_relation = make_backup_relation(target_relation, backup_relation_type) -%}\n\n -- configs\n {%- set unique_key = config.get('unique_key') -%}\n {%- set full_refresh_mode = (should_full_refresh() or existing_relation.is_view) -%}\n {%- set on_schema_change = incremental_validate_on_schema_change(config.get('on_schema_change'), default='ignore') -%}\n\n -- the temp_ and backup_ relations should not already exist in the database; get_relation\n -- will return None in that case. Otherwise, we get a relation that we can drop\n -- later, before we try to use this name for the current operation. This has to happen before\n -- BEGIN, in a separate transaction\n {%- set preexisting_intermediate_relation = load_cached_relation(intermediate_relation)-%}\n {%- set preexisting_backup_relation = load_cached_relation(backup_relation) -%}\n -- grab current tables grants config for comparision later on\n {% set grant_config = config.get('grants') %}\n {{ drop_relation_if_exists(preexisting_intermediate_relation) }}\n {{ drop_relation_if_exists(preexisting_backup_relation) }}\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n -- `BEGIN` happens here:\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\n\n {% set to_drop = [] %}\n\n {% if existing_relation is none %}\n {% set build_sql = get_create_table_as_sql(False, target_relation, sql) %}\n {% elif full_refresh_mode %}\n {% set build_sql = get_create_table_as_sql(False, intermediate_relation, sql) %}\n {% set need_swap = true %}\n {% else %}\n {% do run_query(get_create_table_as_sql(True, temp_relation, sql)) %}\n {% do adapter.expand_target_column_types(\n from_relation=temp_relation,\n to_relation=target_relation) %}\n {#-- Process schema changes. Returns dict of changes if successful. Use source columns for upserting/merging --#}\n {% set dest_columns = process_schema_changes(on_schema_change, temp_relation, existing_relation) %}\n {% if not dest_columns %}\n {% set dest_columns = adapter.get_columns_in_relation(existing_relation) %}\n {% endif %}\n\n {#-- Get the incremental_strategy, the macro to use for the strategy, and build the sql --#}\n {% set incremental_strategy = config.get('incremental_strategy') or 'default' %}\n {% set incremental_predicates = config.get('predicates', none) or config.get('incremental_predicates', none) %}\n {% set strategy_sql_macro_func = adapter.get_incremental_strategy_macro(context, incremental_strategy) %}\n {% set strategy_arg_dict = ({'target_relation': target_relation, 'temp_relation': temp_relation, 'unique_key': unique_key, 'dest_columns': dest_columns, 'incremental_predicates': incremental_predicates }) %}\n {% set build_sql = strategy_sql_macro_func(strategy_arg_dict) %}\n\n {% endif %}\n\n {% call statement(\"main\") %}\n {{ build_sql }}\n {% endcall %}\n\n {% if need_swap %}\n {% do adapter.rename_relation(target_relation, backup_relation) %}\n {% do adapter.rename_relation(intermediate_relation, target_relation) %}\n {% do to_drop.append(backup_relation) %}\n {% endif %}\n\n {% set should_revoke = should_revoke(existing_relation, full_refresh_mode) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n {% if existing_relation is none or existing_relation.is_view or should_full_refresh() %}\n {% do create_indexes(target_relation) %}\n {% endif %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n -- `COMMIT` happens here\n {% do adapter.commit() %}\n\n {% for rel in to_drop %}\n {% do adapter.drop_relation(rel) %}\n {% endfor %}\n\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n\n {{ return({'relations': [target_relation]}) }}\n\n{%- endmaterialization %}", "depends_on": {"macros": ["macro.dbt.load_cached_relation", "macro.dbt.make_temp_relation", "macro.dbt.make_intermediate_relation", "macro.dbt.make_backup_relation", "macro.dbt.should_full_refresh", "macro.dbt.incremental_validate_on_schema_change", "macro.dbt.drop_relation_if_exists", "macro.dbt.run_hooks", "macro.dbt.get_create_table_as_sql", "macro.dbt.run_query", "macro.dbt.process_schema_changes", "macro.dbt.statement", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs", "macro.dbt.create_indexes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.811738, "supported_languages": ["sql"]}, "macro.dbt.incremental_validate_on_schema_change": {"name": "incremental_validate_on_schema_change", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/on_schema_change.sql", "original_file_path": "macros/materializations/models/incremental/on_schema_change.sql", "unique_id": "macro.dbt.incremental_validate_on_schema_change", "macro_sql": "{% macro incremental_validate_on_schema_change(on_schema_change, default='ignore') %}\n\n {% if on_schema_change not in ['sync_all_columns', 'append_new_columns', 'fail', 'ignore'] %}\n\n {% set log_message = 'Invalid value for on_schema_change (%s) specified. Setting default value of %s.' % (on_schema_change, default) %}\n {% do log(log_message) %}\n\n {{ return(default) }}\n\n {% else %}\n\n {{ return(on_schema_change) }}\n\n {% endif %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.816524, "supported_languages": null}, "macro.dbt.check_for_schema_changes": {"name": "check_for_schema_changes", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/on_schema_change.sql", "original_file_path": "macros/materializations/models/incremental/on_schema_change.sql", "unique_id": "macro.dbt.check_for_schema_changes", "macro_sql": "{% macro check_for_schema_changes(source_relation, target_relation) %}\n\n {% set schema_changed = False %}\n\n {%- set source_columns = adapter.get_columns_in_relation(source_relation) -%}\n {%- set target_columns = adapter.get_columns_in_relation(target_relation) -%}\n {%- set source_not_in_target = diff_columns(source_columns, target_columns) -%}\n {%- set target_not_in_source = diff_columns(target_columns, source_columns) -%}\n\n {% set new_target_types = diff_column_data_types(source_columns, target_columns) %}\n\n {% if source_not_in_target != [] %}\n {% set schema_changed = True %}\n {% elif target_not_in_source != [] or new_target_types != [] %}\n {% set schema_changed = True %}\n {% elif new_target_types != [] %}\n {% set schema_changed = True %}\n {% endif %}\n\n {% set changes_dict = {\n 'schema_changed': schema_changed,\n 'source_not_in_target': source_not_in_target,\n 'target_not_in_source': target_not_in_source,\n 'source_columns': source_columns,\n 'target_columns': target_columns,\n 'new_target_types': new_target_types\n } %}\n\n {% set msg %}\n In {{ target_relation }}:\n Schema changed: {{ schema_changed }}\n Source columns not in target: {{ source_not_in_target }}\n Target columns not in source: {{ target_not_in_source }}\n New column types: {{ new_target_types }}\n {% endset %}\n\n {% do log(msg) %}\n\n {{ return(changes_dict) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.diff_columns", "macro.dbt.diff_column_data_types"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.817796, "supported_languages": null}, "macro.dbt.sync_column_schemas": {"name": "sync_column_schemas", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/on_schema_change.sql", "original_file_path": "macros/materializations/models/incremental/on_schema_change.sql", "unique_id": "macro.dbt.sync_column_schemas", "macro_sql": "{% macro sync_column_schemas(on_schema_change, target_relation, schema_changes_dict) %}\n\n {%- set add_to_target_arr = schema_changes_dict['source_not_in_target'] -%}\n\n {%- if on_schema_change == 'append_new_columns'-%}\n {%- if add_to_target_arr | length > 0 -%}\n {%- do alter_relation_add_remove_columns(target_relation, add_to_target_arr, none) -%}\n {%- endif -%}\n\n {% elif on_schema_change == 'sync_all_columns' %}\n {%- set remove_from_target_arr = schema_changes_dict['target_not_in_source'] -%}\n {%- set new_target_types = schema_changes_dict['new_target_types'] -%}\n\n {% if add_to_target_arr | length > 0 or remove_from_target_arr | length > 0 %}\n {%- do alter_relation_add_remove_columns(target_relation, add_to_target_arr, remove_from_target_arr) -%}\n {% endif %}\n\n {% if new_target_types != [] %}\n {% for ntt in new_target_types %}\n {% set column_name = ntt['column_name'] %}\n {% set new_type = ntt['new_type'] %}\n {% do alter_column_type(target_relation, column_name, new_type) %}\n {% endfor %}\n {% endif %}\n\n {% endif %}\n\n {% set schema_change_message %}\n In {{ target_relation }}:\n Schema change approach: {{ on_schema_change }}\n Columns added: {{ add_to_target_arr }}\n Columns removed: {{ remove_from_target_arr }}\n Data types changed: {{ new_target_types }}\n {% endset %}\n\n {% do log(schema_change_message) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.alter_relation_add_remove_columns", "macro.dbt.alter_column_type"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.819117, "supported_languages": null}, "macro.dbt.process_schema_changes": {"name": "process_schema_changes", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/on_schema_change.sql", "original_file_path": "macros/materializations/models/incremental/on_schema_change.sql", "unique_id": "macro.dbt.process_schema_changes", "macro_sql": "{% macro process_schema_changes(on_schema_change, source_relation, target_relation) %}\n\n {% if on_schema_change == 'ignore' %}\n\n {{ return({}) }}\n\n {% else %}\n\n {% set schema_changes_dict = check_for_schema_changes(source_relation, target_relation) %}\n\n {% if schema_changes_dict['schema_changed'] %}\n\n {% if on_schema_change == 'fail' %}\n\n {% set fail_msg %}\n The source and target schemas on this incremental model are out of sync!\n They can be reconciled in several ways:\n - set the `on_schema_change` config to either append_new_columns or sync_all_columns, depending on your situation.\n - Re-run the incremental model with `full_refresh: True` to update the target schema.\n - update the schema manually and re-run the process.\n\n Additional troubleshooting context:\n Source columns not in target: {{ schema_changes_dict['source_not_in_target'] }}\n Target columns not in source: {{ schema_changes_dict['target_not_in_source'] }}\n New column types: {{ schema_changes_dict['new_target_types'] }}\n {% endset %}\n\n {% do exceptions.raise_compiler_error(fail_msg) %}\n\n {# -- unless we ignore, run the sync operation per the config #}\n {% else %}\n\n {% do sync_column_schemas(on_schema_change, target_relation, schema_changes_dict) %}\n\n {% endif %}\n\n {% endif %}\n\n {{ return(schema_changes_dict['source_columns']) }}\n\n {% endif %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.check_for_schema_changes", "macro.dbt.sync_column_schemas"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.81996, "supported_languages": null}, "macro.dbt.can_clone_table": {"name": "can_clone_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/clone/can_clone_table.sql", "original_file_path": "macros/materializations/models/clone/can_clone_table.sql", "unique_id": "macro.dbt.can_clone_table", "macro_sql": "{% macro can_clone_table() %}\n {{ return(adapter.dispatch('can_clone_table', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__can_clone_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.820232, "supported_languages": null}, "macro.dbt.default__can_clone_table": {"name": "default__can_clone_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/clone/can_clone_table.sql", "original_file_path": "macros/materializations/models/clone/can_clone_table.sql", "unique_id": "macro.dbt.default__can_clone_table", "macro_sql": "{% macro default__can_clone_table() %}\n {{ return(False) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8203468, "supported_languages": null}, "macro.dbt.create_or_replace_clone": {"name": "create_or_replace_clone", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/clone/create_or_replace_clone.sql", "original_file_path": "macros/materializations/models/clone/create_or_replace_clone.sql", "unique_id": "macro.dbt.create_or_replace_clone", "macro_sql": "{% macro create_or_replace_clone(this_relation, defer_relation) %}\n {{ return(adapter.dispatch('create_or_replace_clone', 'dbt')(this_relation, defer_relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__create_or_replace_clone"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.82063, "supported_languages": null}, "macro.dbt.default__create_or_replace_clone": {"name": "default__create_or_replace_clone", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/clone/create_or_replace_clone.sql", "original_file_path": "macros/materializations/models/clone/create_or_replace_clone.sql", "unique_id": "macro.dbt.default__create_or_replace_clone", "macro_sql": "{% macro default__create_or_replace_clone(this_relation, defer_relation) %}\n create or replace table {{ this_relation }} clone {{ defer_relation }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.82076, "supported_languages": null}, "macro.dbt.materialization_clone_default": {"name": "materialization_clone_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/clone/clone.sql", "original_file_path": "macros/materializations/models/clone/clone.sql", "unique_id": "macro.dbt.materialization_clone_default", "macro_sql": "{%- materialization clone, default -%}\n\n {%- set relations = {'relations': []} -%}\n\n {%- if not defer_relation -%}\n -- nothing to do\n {{ log(\"No relation found in state manifest for \" ~ model.unique_id, info=True) }}\n {{ return(relations) }}\n {%- endif -%}\n\n {%- set existing_relation = load_cached_relation(this) -%}\n\n {%- if existing_relation and not flags.FULL_REFRESH -%}\n -- noop!\n {{ log(\"Relation \" ~ existing_relation ~ \" already exists\", info=True) }}\n {{ return(relations) }}\n {%- endif -%}\n\n {%- set other_existing_relation = load_cached_relation(defer_relation) -%}\n\n -- If this is a database that can do zero-copy cloning of tables, and the other relation is a table, then this will be a table\n -- Otherwise, this will be a view\n\n {% set can_clone_table = can_clone_table() %}\n\n {%- if other_existing_relation and other_existing_relation.type == 'table' and can_clone_table -%}\n\n {%- set target_relation = this.incorporate(type='table') -%}\n {% if existing_relation is not none and not existing_relation.is_table %}\n {{ log(\"Dropping relation \" ~ existing_relation ~ \" because it is of type \" ~ existing_relation.type) }}\n {{ drop_relation_if_exists(existing_relation) }}\n {% endif %}\n\n -- as a general rule, data platforms that can clone tables can also do atomic 'create or replace'\n {% call statement('main') %}\n {% if target_relation and defer_relation and target_relation == defer_relation %}\n {{ log(\"Target relation and defer relation are the same, skipping clone for relation: \" ~ target_relation) }}\n {% else %}\n {{ create_or_replace_clone(target_relation, defer_relation) }}\n {% endif %}\n\n {% endcall %}\n\n {% set should_revoke = should_revoke(existing_relation, full_refresh_mode=True) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n {% do persist_docs(target_relation, model) %}\n\n {{ return({'relations': [target_relation]}) }}\n\n {%- else -%}\n\n {%- set target_relation = this.incorporate(type='view') -%}\n\n -- reuse the view materialization\n -- TODO: support actual dispatch for materialization macros\n -- Tracking ticket: https://github.com/dbt-labs/dbt-core/issues/7799\n {% set search_name = \"materialization_view_\" ~ adapter.type() %}\n {% if not search_name in context %}\n {% set search_name = \"materialization_view_default\" %}\n {% endif %}\n {% set materialization_macro = context[search_name] %}\n {% set relations = materialization_macro() %}\n {{ return(relations) }}\n\n {%- endif -%}\n\n{%- endmaterialization -%}", "depends_on": {"macros": ["macro.dbt.load_cached_relation", "macro.dbt.can_clone_table", "macro.dbt.drop_relation_if_exists", "macro.dbt.statement", "macro.dbt.create_or_replace_clone", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.824199, "supported_languages": ["sql"]}, "macro.dbt.materialization_seed_default": {"name": "materialization_seed_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/seed.sql", "original_file_path": "macros/materializations/seeds/seed.sql", "unique_id": "macro.dbt.materialization_seed_default", "macro_sql": "{% materialization seed, default %}\n\n {%- set identifier = model['alias'] -%}\n {%- set full_refresh_mode = (should_full_refresh()) -%}\n\n {%- set old_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) -%}\n\n {%- set exists_as_table = (old_relation is not none and old_relation.is_table) -%}\n {%- set exists_as_view = (old_relation is not none and old_relation.is_view) -%}\n\n {%- set grant_config = config.get('grants') -%}\n {%- set agate_table = load_agate_table() -%}\n -- grab current tables grants config for comparison later on\n\n {%- do store_result('agate_table', response='OK', agate_table=agate_table) -%}\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n -- `BEGIN` happens here:\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\n\n -- build model\n {% set create_table_sql = \"\" %}\n {% if exists_as_view %}\n {{ exceptions.raise_compiler_error(\"Cannot seed to '{}', it is a view\".format(old_relation)) }}\n {% elif exists_as_table %}\n {% set create_table_sql = reset_csv_table(model, full_refresh_mode, old_relation, agate_table) %}\n {% else %}\n {% set create_table_sql = create_csv_table(model, agate_table) %}\n {% endif %}\n\n {% set code = 'CREATE' if full_refresh_mode else 'INSERT' %}\n {% set rows_affected = (agate_table.rows | length) %}\n {% set sql = load_csv_rows(model, agate_table) %}\n\n {% call noop_statement('main', code ~ ' ' ~ rows_affected, code, rows_affected) %}\n {{ get_csv_sql(create_table_sql, sql) }};\n {% endcall %}\n\n {% set target_relation = this.incorporate(type='table') %}\n\n {% set should_revoke = should_revoke(old_relation, full_refresh_mode) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n {% if full_refresh_mode or not exists_as_table %}\n {% do create_indexes(target_relation) %}\n {% endif %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n -- `COMMIT` happens here\n {{ adapter.commit() }}\n\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n\n {{ return({'relations': [target_relation]}) }}\n\n{% endmaterialization %}", "depends_on": {"macros": ["macro.dbt.should_full_refresh", "macro.dbt.run_hooks", "macro.dbt.reset_csv_table", "macro.dbt.create_csv_table", "macro.dbt.load_csv_rows", "macro.dbt.noop_statement", "macro.dbt.get_csv_sql", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs", "macro.dbt.create_indexes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.827222, "supported_languages": ["sql"]}, "macro.dbt.create_csv_table": {"name": "create_csv_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.create_csv_table", "macro_sql": "{% macro create_csv_table(model, agate_table) -%}\n {{ adapter.dispatch('create_csv_table', 'dbt')(model, agate_table) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__create_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.831685, "supported_languages": null}, "macro.dbt.default__create_csv_table": {"name": "default__create_csv_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.default__create_csv_table", "macro_sql": "{% macro default__create_csv_table(model, agate_table) %}\n {%- set column_override = model['config'].get('column_types', {}) -%}\n {%- set quote_seed_column = model['config'].get('quote_columns', None) -%}\n\n {% set sql %}\n create table {{ this.render() }} (\n {%- for col_name in agate_table.column_names -%}\n {%- set inferred_type = adapter.convert_type(agate_table, loop.index0) -%}\n {%- set type = column_override.get(col_name, inferred_type) -%}\n {%- set column_name = (col_name | string) -%}\n {{ adapter.quote_seed_column(column_name, quote_seed_column) }} {{ type }} {%- if not loop.last -%}, {%- endif -%}\n {%- endfor -%}\n )\n {% endset %}\n\n {% call statement('_') -%}\n {{ sql }}\n {%- endcall %}\n\n {{ return(sql) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.83259, "supported_languages": null}, "macro.dbt.reset_csv_table": {"name": "reset_csv_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.reset_csv_table", "macro_sql": "{% macro reset_csv_table(model, full_refresh, old_relation, agate_table) -%}\n {{ adapter.dispatch('reset_csv_table', 'dbt')(model, full_refresh, old_relation, agate_table) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__reset_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.832813, "supported_languages": null}, "macro.dbt.default__reset_csv_table": {"name": "default__reset_csv_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.default__reset_csv_table", "macro_sql": "{% macro default__reset_csv_table(model, full_refresh, old_relation, agate_table) %}\n {% set sql = \"\" %}\n {% if full_refresh %}\n {{ adapter.drop_relation(old_relation) }}\n {% set sql = create_csv_table(model, agate_table) %}\n {% else %}\n {{ adapter.truncate_relation(old_relation) }}\n {% set sql = \"truncate table \" ~ old_relation %}\n {% endif %}\n\n {{ return(sql) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.create_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.833271, "supported_languages": null}, "macro.dbt.get_csv_sql": {"name": "get_csv_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.get_csv_sql", "macro_sql": "{% macro get_csv_sql(create_or_truncate_sql, insert_sql) %}\n {{ adapter.dispatch('get_csv_sql', 'dbt')(create_or_truncate_sql, insert_sql) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_csv_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.833457, "supported_languages": null}, "macro.dbt.default__get_csv_sql": {"name": "default__get_csv_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.default__get_csv_sql", "macro_sql": "{% macro default__get_csv_sql(create_or_truncate_sql, insert_sql) %}\n {{ create_or_truncate_sql }};\n -- dbt seed --\n {{ insert_sql }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.833598, "supported_languages": null}, "macro.dbt.get_binding_char": {"name": "get_binding_char", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.get_binding_char", "macro_sql": "{% macro get_binding_char() -%}\n {{ adapter.dispatch('get_binding_char', 'dbt')() }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_binding_char"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8337338, "supported_languages": null}, "macro.dbt.default__get_binding_char": {"name": "default__get_binding_char", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.default__get_binding_char", "macro_sql": "{% macro default__get_binding_char() %}\n {{ return('%s') }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.833848, "supported_languages": null}, "macro.dbt.get_batch_size": {"name": "get_batch_size", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.get_batch_size", "macro_sql": "{% macro get_batch_size() -%}\n {{ return(adapter.dispatch('get_batch_size', 'dbt')()) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_batch_size"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8340511, "supported_languages": null}, "macro.dbt.default__get_batch_size": {"name": "default__get_batch_size", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.default__get_batch_size", "macro_sql": "{% macro default__get_batch_size() %}\n {{ return(10000) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.834217, "supported_languages": null}, "macro.dbt.get_seed_column_quoted_csv": {"name": "get_seed_column_quoted_csv", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.get_seed_column_quoted_csv", "macro_sql": "{% macro get_seed_column_quoted_csv(model, column_names) %}\n {%- set quote_seed_column = model['config'].get('quote_columns', None) -%}\n {% set quoted = [] %}\n {% for col in column_names -%}\n {%- do quoted.append(adapter.quote_seed_column(col, quote_seed_column)) -%}\n {%- endfor %}\n\n {%- set dest_cols_csv = quoted | join(', ') -%}\n {{ return(dest_cols_csv) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.834728, "supported_languages": null}, "macro.dbt.load_csv_rows": {"name": "load_csv_rows", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.load_csv_rows", "macro_sql": "{% macro load_csv_rows(model, agate_table) -%}\n {{ adapter.dispatch('load_csv_rows', 'dbt')(model, agate_table) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__load_csv_rows"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8349319, "supported_languages": null}, "macro.dbt.default__load_csv_rows": {"name": "default__load_csv_rows", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.default__load_csv_rows", "macro_sql": "{% macro default__load_csv_rows(model, agate_table) %}\n\n {% set batch_size = get_batch_size() %}\n\n {% set cols_sql = get_seed_column_quoted_csv(model, agate_table.column_names) %}\n {% set bindings = [] %}\n\n {% set statements = [] %}\n\n {% for chunk in agate_table.rows | batch(batch_size) %}\n {% set bindings = [] %}\n\n {% for row in chunk %}\n {% do bindings.extend(row) %}\n {% endfor %}\n\n {% set sql %}\n insert into {{ this.render() }} ({{ cols_sql }}) values\n {% for row in chunk -%}\n ({%- for column in agate_table.column_names -%}\n {{ get_binding_char() }}\n {%- if not loop.last%},{%- endif %}\n {%- endfor -%})\n {%- if not loop.last%},{%- endif %}\n {%- endfor %}\n {% endset %}\n\n {% do adapter.add_query(sql, bindings=bindings, abridge_sql_log=True) %}\n\n {% if loop.index0 == 0 %}\n {% do statements.append(sql) %}\n {% endif %}\n {% endfor %}\n\n {# Return SQL so we can render it out into the compiled files #}\n {{ return(statements[0]) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_batch_size", "macro.dbt.get_seed_column_quoted_csv", "macro.dbt.get_binding_char"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.836138, "supported_languages": null}, "macro.dbt.generate_alias_name": {"name": "generate_alias_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_alias.sql", "original_file_path": "macros/get_custom_name/get_custom_alias.sql", "unique_id": "macro.dbt.generate_alias_name", "macro_sql": "{% macro generate_alias_name(custom_alias_name=none, node=none) -%}\n {% do return(adapter.dispatch('generate_alias_name', 'dbt')(custom_alias_name, node)) %}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__generate_alias_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8365598, "supported_languages": null}, "macro.dbt.default__generate_alias_name": {"name": "default__generate_alias_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_alias.sql", "original_file_path": "macros/get_custom_name/get_custom_alias.sql", "unique_id": "macro.dbt.default__generate_alias_name", "macro_sql": "{% macro default__generate_alias_name(custom_alias_name=none, node=none) -%}\n\n {%- if custom_alias_name -%}\n\n {{ custom_alias_name | trim }}\n\n {%- elif node.version -%}\n\n {{ return(node.name ~ \"_v\" ~ (node.version | replace(\".\", \"_\"))) }}\n\n {%- else -%}\n\n {{ node.name }}\n\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.83692, "supported_languages": null}, "macro.dbt.generate_schema_name": {"name": "generate_schema_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_schema.sql", "original_file_path": "macros/get_custom_name/get_custom_schema.sql", "unique_id": "macro.dbt.generate_schema_name", "macro_sql": "{% macro generate_schema_name(custom_schema_name=none, node=none) -%}\n {{ return(adapter.dispatch('generate_schema_name', 'dbt')(custom_schema_name, node)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__generate_schema_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.83742, "supported_languages": null}, "macro.dbt.default__generate_schema_name": {"name": "default__generate_schema_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_schema.sql", "original_file_path": "macros/get_custom_name/get_custom_schema.sql", "unique_id": "macro.dbt.default__generate_schema_name", "macro_sql": "{% macro default__generate_schema_name(custom_schema_name, node) -%}\n\n {%- set default_schema = target.schema -%}\n {%- if custom_schema_name is none -%}\n\n {{ default_schema }}\n\n {%- else -%}\n\n {{ default_schema }}_{{ custom_schema_name | trim }}\n\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8376698, "supported_languages": null}, "macro.dbt.generate_schema_name_for_env": {"name": "generate_schema_name_for_env", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_schema.sql", "original_file_path": "macros/get_custom_name/get_custom_schema.sql", "unique_id": "macro.dbt.generate_schema_name_for_env", "macro_sql": "{% macro generate_schema_name_for_env(custom_schema_name, node) -%}\n\n {%- set default_schema = target.schema -%}\n {%- if target.name == 'prod' and custom_schema_name is not none -%}\n\n {{ custom_schema_name | trim }}\n\n {%- else -%}\n\n {{ default_schema }}\n\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8379269, "supported_languages": null}, "macro.dbt.generate_database_name": {"name": "generate_database_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_database.sql", "original_file_path": "macros/get_custom_name/get_custom_database.sql", "unique_id": "macro.dbt.generate_database_name", "macro_sql": "{% macro generate_database_name(custom_database_name=none, node=none) -%}\n {% do return(adapter.dispatch('generate_database_name', 'dbt')(custom_database_name, node)) %}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__generate_database_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.838283, "supported_languages": null}, "macro.dbt.default__generate_database_name": {"name": "default__generate_database_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_database.sql", "original_file_path": "macros/get_custom_name/get_custom_database.sql", "unique_id": "macro.dbt.default__generate_database_name", "macro_sql": "{% macro default__generate_database_name(custom_database_name=none, node=none) -%}\n {%- set default_database = target.database -%}\n {%- if custom_database_name is none -%}\n\n {{ default_database }}\n\n {%- else -%}\n\n {{ custom_database_name }}\n\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.838515, "supported_languages": null}, "macro.dbt.get_drop_sql": {"name": "get_drop_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/drop.sql", "original_file_path": "macros/relations/drop.sql", "unique_id": "macro.dbt.get_drop_sql", "macro_sql": "{%- macro get_drop_sql(relation) -%}\n {{- log('Applying DROP to: ' ~ relation) -}}\n {{- adapter.dispatch('get_drop_sql', 'dbt')(relation) -}}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": ["macro.dbt.default__get_drop_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8391418, "supported_languages": null}, "macro.dbt.default__get_drop_sql": {"name": "default__get_drop_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/drop.sql", "original_file_path": "macros/relations/drop.sql", "unique_id": "macro.dbt.default__get_drop_sql", "macro_sql": "{%- macro default__get_drop_sql(relation) -%}\n\n {%- if relation.is_view -%}\n {{ drop_view(relation) }}\n\n {%- elif relation.is_table -%}\n {{ drop_table(relation) }}\n\n {%- elif relation.is_materialized_view -%}\n {{ drop_materialized_view(relation) }}\n\n {%- else -%}\n drop {{ relation.type }} if exists {{ relation }} cascade\n\n {%- endif -%}\n\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": ["macro.dbt.drop_view", "macro.dbt.drop_table", "macro.dbt.drop_materialized_view"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.839471, "supported_languages": null}, "macro.dbt.drop_relation": {"name": "drop_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/drop.sql", "original_file_path": "macros/relations/drop.sql", "unique_id": "macro.dbt.drop_relation", "macro_sql": "{% macro drop_relation(relation) -%}\n {{ return(adapter.dispatch('drop_relation', 'dbt')(relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__drop_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.839644, "supported_languages": null}, "macro.dbt.default__drop_relation": {"name": "default__drop_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/drop.sql", "original_file_path": "macros/relations/drop.sql", "unique_id": "macro.dbt.default__drop_relation", "macro_sql": "{% macro default__drop_relation(relation) -%}\n {% call statement('drop_relation', auto_begin=False) -%}\n {{ get_drop_sql(relation) }}\n {%- endcall %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt.get_drop_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8398259, "supported_languages": null}, "macro.dbt.drop_relation_if_exists": {"name": "drop_relation_if_exists", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/drop.sql", "original_file_path": "macros/relations/drop.sql", "unique_id": "macro.dbt.drop_relation_if_exists", "macro_sql": "{% macro drop_relation_if_exists(relation) %}\n {% if relation is not none %}\n {{ adapter.drop_relation(relation) }}\n {% endif %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.84001, "supported_languages": null}, "macro.dbt.get_replace_sql": {"name": "get_replace_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/replace.sql", "original_file_path": "macros/relations/replace.sql", "unique_id": "macro.dbt.get_replace_sql", "macro_sql": "{% macro get_replace_sql(existing_relation, target_relation, sql) %}\n {{- log('Applying REPLACE to: ' ~ existing_relation) -}}\n {{- adapter.dispatch('get_replace_sql', 'dbt')(existing_relation, target_relation, sql) -}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_replace_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.840748, "supported_languages": null}, "macro.dbt.default__get_replace_sql": {"name": "default__get_replace_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/replace.sql", "original_file_path": "macros/relations/replace.sql", "unique_id": "macro.dbt.default__get_replace_sql", "macro_sql": "{% macro default__get_replace_sql(existing_relation, target_relation, sql) %}\n\n {# /* use a create or replace statement if possible */ #}\n\n {% set is_replaceable = existing_relation.type == target_relation_type and existing_relation.can_be_replaced %}\n\n {% if is_replaceable and existing_relation.is_view %}\n {{ get_replace_view_sql(target_relation, sql) }}\n\n {% elif is_replaceable and existing_relation.is_table %}\n {{ get_replace_table_sql(target_relation, sql) }}\n\n {% elif is_replaceable and existing_relation.is_materialized_view %}\n {{ get_replace_materialized_view_sql(target_relation, sql) }}\n\n {# /* a create or replace statement is not possible, so try to stage and/or backup to be safe */ #}\n\n {# /* create target_relation as an intermediate relation, then swap it out with the existing one using a backup */ #}\n {%- elif target_relation.can_be_renamed and existing_relation.can_be_renamed -%}\n {{ get_create_intermediate_sql(target_relation, sql) }};\n {{ get_create_backup_sql(existing_relation) }};\n {{ get_rename_intermediate_sql(target_relation) }};\n {{ get_drop_backup_sql(existing_relation) }}\n\n {# /* create target_relation as an intermediate relation, then swap it out with the existing one without using a backup */ #}\n {%- elif target_relation.can_be_renamed -%}\n {{ get_create_intermediate_sql(target_relation, sql) }};\n {{ get_drop_sql(existing_relation) }};\n {{ get_rename_intermediate_sql(target_relation) }}\n\n {# /* create target_relation in place by first backing up the existing relation */ #}\n {%- elif existing_relation.can_be_renamed -%}\n {{ get_create_backup_sql(existing_relation) }};\n {{ get_create_sql(target_relation, sql) }};\n {{ get_drop_backup_sql(existing_relation) }}\n\n {# /* no renaming is allowed, so just drop and create */ #}\n {%- else -%}\n {{ get_drop_sql(existing_relation) }};\n {{ get_create_sql(target_relation, sql) }}\n\n {%- endif -%}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_replace_view_sql", "macro.dbt.get_replace_table_sql", "macro.dbt.get_replace_materialized_view_sql", "macro.dbt.get_create_intermediate_sql", "macro.dbt.get_create_backup_sql", "macro.dbt.get_rename_intermediate_sql", "macro.dbt.get_drop_backup_sql", "macro.dbt.get_drop_sql", "macro.dbt.get_create_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8420491, "supported_languages": null}, "macro.dbt.get_create_intermediate_sql": {"name": "get_create_intermediate_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/create_intermediate.sql", "original_file_path": "macros/relations/create_intermediate.sql", "unique_id": "macro.dbt.get_create_intermediate_sql", "macro_sql": "{%- macro get_create_intermediate_sql(relation, sql) -%}\n {{- log('Applying CREATE INTERMEDIATE to: ' ~ relation) -}}\n {{- adapter.dispatch('get_create_intermediate_sql', 'dbt')(relation, sql) -}}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": ["macro.dbt.default__get_create_intermediate_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.842431, "supported_languages": null}, "macro.dbt.default__get_create_intermediate_sql": {"name": "default__get_create_intermediate_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/create_intermediate.sql", "original_file_path": "macros/relations/create_intermediate.sql", "unique_id": "macro.dbt.default__get_create_intermediate_sql", "macro_sql": "{%- macro default__get_create_intermediate_sql(relation, sql) -%}\n\n -- get the standard intermediate name\n {% set intermediate_relation = make_intermediate_relation(relation) %}\n\n -- drop any pre-existing intermediate\n {{ get_drop_sql(intermediate_relation) }};\n\n {{ get_create_sql(intermediate_relation, sql) }}\n\n{%- endmacro -%}", "depends_on": {"macros": ["macro.dbt.make_intermediate_relation", "macro.dbt.get_drop_sql", "macro.dbt.get_create_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.842655, "supported_languages": null}, "macro.dbt.get_drop_backup_sql": {"name": "get_drop_backup_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/drop_backup.sql", "original_file_path": "macros/relations/drop_backup.sql", "unique_id": "macro.dbt.get_drop_backup_sql", "macro_sql": "{%- macro get_drop_backup_sql(relation) -%}\n {{- log('Applying DROP BACKUP to: ' ~ relation) -}}\n {{- adapter.dispatch('get_drop_backup_sql', 'dbt')(relation) -}}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": ["macro.dbt.default__get_drop_backup_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.842944, "supported_languages": null}, "macro.dbt.default__get_drop_backup_sql": {"name": "default__get_drop_backup_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/drop_backup.sql", "original_file_path": "macros/relations/drop_backup.sql", "unique_id": "macro.dbt.default__get_drop_backup_sql", "macro_sql": "{%- macro default__get_drop_backup_sql(relation) -%}\n\n -- get the standard backup name\n {% set backup_relation = make_backup_relation(relation, relation.type) %}\n\n {{ get_drop_sql(backup_relation) }}\n\n{%- endmacro -%}", "depends_on": {"macros": ["macro.dbt.make_backup_relation", "macro.dbt.get_drop_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.84313, "supported_languages": null}, "macro.dbt.get_rename_sql": {"name": "get_rename_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/rename.sql", "original_file_path": "macros/relations/rename.sql", "unique_id": "macro.dbt.get_rename_sql", "macro_sql": "{%- macro get_rename_sql(relation, new_name) -%}\n {{- log('Applying RENAME to: ' ~ relation) -}}\n {{- adapter.dispatch('get_rename_sql', 'dbt')(relation, new_name) -}}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": ["macro.dbt.default__get_rename_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.843752, "supported_languages": null}, "macro.dbt.default__get_rename_sql": {"name": "default__get_rename_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/rename.sql", "original_file_path": "macros/relations/rename.sql", "unique_id": "macro.dbt.default__get_rename_sql", "macro_sql": "{%- macro default__get_rename_sql(relation, new_name) -%}\n\n {%- if relation.is_view -%}\n {{ get_rename_view_sql(relation, new_name) }}\n\n {%- elif relation.is_table -%}\n {{ get_rename_table_sql(relation, new_name) }}\n\n {%- elif relation.is_materialized_view -%}\n {{ get_rename_materialized_view_sql(relation, new_name) }}\n\n {%- else -%}\n {{- exceptions.raise_compiler_error(\"`get_rename_sql` has not been implemented for: \" ~ relation.type ) -}}\n\n {%- endif -%}\n\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": ["macro.dbt.get_rename_view_sql", "macro.dbt.get_rename_table_sql", "macro.dbt.get_rename_materialized_view_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.844161, "supported_languages": null}, "macro.dbt.rename_relation": {"name": "rename_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/rename.sql", "original_file_path": "macros/relations/rename.sql", "unique_id": "macro.dbt.rename_relation", "macro_sql": "{% macro rename_relation(from_relation, to_relation) -%}\n {{ return(adapter.dispatch('rename_relation', 'dbt')(from_relation, to_relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__rename_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.844348, "supported_languages": null}, "macro.dbt.default__rename_relation": {"name": "default__rename_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/rename.sql", "original_file_path": "macros/relations/rename.sql", "unique_id": "macro.dbt.default__rename_relation", "macro_sql": "{% macro default__rename_relation(from_relation, to_relation) -%}\n {% set target_name = adapter.quote_as_configured(to_relation.identifier, 'identifier') %}\n {% call statement('rename_relation') -%}\n alter table {{ from_relation }} rename to {{ target_name }}\n {%- endcall %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8446012, "supported_languages": null}, "macro.dbt.get_create_backup_sql": {"name": "get_create_backup_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/create_backup.sql", "original_file_path": "macros/relations/create_backup.sql", "unique_id": "macro.dbt.get_create_backup_sql", "macro_sql": "{%- macro get_create_backup_sql(relation) -%}\n {{- log('Applying CREATE BACKUP to: ' ~ relation) -}}\n {{- adapter.dispatch('get_create_backup_sql', 'dbt')(relation) -}}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": ["macro.dbt.default__get_create_backup_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.844908, "supported_languages": null}, "macro.dbt.default__get_create_backup_sql": {"name": "default__get_create_backup_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/create_backup.sql", "original_file_path": "macros/relations/create_backup.sql", "unique_id": "macro.dbt.default__get_create_backup_sql", "macro_sql": "{%- macro default__get_create_backup_sql(relation) -%}\n\n -- get the standard backup name\n {% set backup_relation = make_backup_relation(relation, relation.type) %}\n\n -- drop any pre-existing backup\n {{ get_drop_sql(backup_relation) }};\n\n {{ get_rename_sql(relation, backup_relation.identifier) }}\n\n{%- endmacro -%}", "depends_on": {"macros": ["macro.dbt.make_backup_relation", "macro.dbt.get_drop_sql", "macro.dbt.get_rename_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.845147, "supported_languages": null}, "macro.dbt.get_create_sql": {"name": "get_create_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/create.sql", "original_file_path": "macros/relations/create.sql", "unique_id": "macro.dbt.get_create_sql", "macro_sql": "{%- macro get_create_sql(relation, sql) -%}\n {{- log('Applying CREATE to: ' ~ relation) -}}\n {{- adapter.dispatch('get_create_sql', 'dbt')(relation, sql) -}}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": ["macro.dbt.default__get_create_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.845557, "supported_languages": null}, "macro.dbt.default__get_create_sql": {"name": "default__get_create_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/create.sql", "original_file_path": "macros/relations/create.sql", "unique_id": "macro.dbt.default__get_create_sql", "macro_sql": "{%- macro default__get_create_sql(relation, sql) -%}\n\n {%- if relation.is_view -%}\n {{ get_create_view_as_sql(relation, sql) }}\n\n {%- elif relation.is_table -%}\n {{ get_create_table_as_sql(False, relation, sql) }}\n\n {%- elif relation.is_materialized_view -%}\n {{ get_create_materialized_view_as_sql(relation, sql) }}\n\n {%- else -%}\n {{- exceptions.raise_compiler_error(\"`get_create_sql` has not been implemented for: \" ~ relation.type ) -}}\n\n {%- endif -%}\n\n{%- endmacro -%}", "depends_on": {"macros": ["macro.dbt.get_create_view_as_sql", "macro.dbt.get_create_table_as_sql", "macro.dbt.get_create_materialized_view_as_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.845951, "supported_languages": null}, "macro.dbt.get_rename_intermediate_sql": {"name": "get_rename_intermediate_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/rename_intermediate.sql", "original_file_path": "macros/relations/rename_intermediate.sql", "unique_id": "macro.dbt.get_rename_intermediate_sql", "macro_sql": "{%- macro get_rename_intermediate_sql(relation) -%}\n {{- log('Applying RENAME INTERMEDIATE to: ' ~ relation) -}}\n {{- adapter.dispatch('get_rename_intermediate_sql', 'dbt')(relation) -}}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": ["macro.dbt.default__get_rename_intermediate_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.84625, "supported_languages": null}, "macro.dbt.default__get_rename_intermediate_sql": {"name": "default__get_rename_intermediate_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/rename_intermediate.sql", "original_file_path": "macros/relations/rename_intermediate.sql", "unique_id": "macro.dbt.default__get_rename_intermediate_sql", "macro_sql": "{%- macro default__get_rename_intermediate_sql(relation) -%}\n\n -- get the standard intermediate name\n {% set intermediate_relation = make_intermediate_relation(relation) %}\n\n {{ get_rename_sql(intermediate_relation, relation.identifier) }}\n\n{%- endmacro -%}", "depends_on": {"macros": ["macro.dbt.make_intermediate_relation", "macro.dbt.get_rename_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.846447, "supported_languages": null}, "macro.dbt.drop_materialized_view": {"name": "drop_materialized_view", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/drop.sql", "original_file_path": "macros/relations/materialized_view/drop.sql", "unique_id": "macro.dbt.drop_materialized_view", "macro_sql": "{% macro drop_materialized_view(relation) -%}\n {{ return(adapter.dispatch('drop_materialized_view', 'dbt')(relation)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__drop_materialized_view"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.846688, "supported_languages": null}, "macro.dbt.default__drop_materialized_view": {"name": "default__drop_materialized_view", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/drop.sql", "original_file_path": "macros/relations/materialized_view/drop.sql", "unique_id": "macro.dbt.default__drop_materialized_view", "macro_sql": "{% macro default__drop_materialized_view(relation) -%}\n drop materialized view if exists {{ relation }} cascade\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.846784, "supported_languages": null}, "macro.dbt.get_replace_materialized_view_sql": {"name": "get_replace_materialized_view_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/replace.sql", "original_file_path": "macros/relations/materialized_view/replace.sql", "unique_id": "macro.dbt.get_replace_materialized_view_sql", "macro_sql": "{% macro get_replace_materialized_view_sql(relation, sql) %}\n {{- adapter.dispatch('get_replace_materialized_view_sql', 'dbt')(relation, sql) -}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_replace_materialized_view_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.847031, "supported_languages": null}, "macro.dbt.default__get_replace_materialized_view_sql": {"name": "default__get_replace_materialized_view_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/replace.sql", "original_file_path": "macros/relations/materialized_view/replace.sql", "unique_id": "macro.dbt.default__get_replace_materialized_view_sql", "macro_sql": "{% macro default__get_replace_materialized_view_sql(relation, sql) %}\n {{ exceptions.raise_compiler_error(\n \"`get_replace_materialized_view_sql` has not been implemented for this adapter.\"\n ) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8471649, "supported_languages": null}, "macro.dbt.refresh_materialized_view": {"name": "refresh_materialized_view", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/refresh.sql", "original_file_path": "macros/relations/materialized_view/refresh.sql", "unique_id": "macro.dbt.refresh_materialized_view", "macro_sql": "{% macro refresh_materialized_view(relation) %}\n {{- log('Applying REFRESH to: ' ~ relation) -}}\n {{- adapter.dispatch('refresh_materialized_view', 'dbt')(relation) -}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__refresh_materialized_view"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.847439, "supported_languages": null}, "macro.dbt.default__refresh_materialized_view": {"name": "default__refresh_materialized_view", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/refresh.sql", "original_file_path": "macros/relations/materialized_view/refresh.sql", "unique_id": "macro.dbt.default__refresh_materialized_view", "macro_sql": "{% macro default__refresh_materialized_view(relation) %}\n {{ exceptions.raise_compiler_error(\"`refresh_materialized_view` has not been implemented for this adapter.\") }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.84762, "supported_languages": null}, "macro.dbt.get_rename_materialized_view_sql": {"name": "get_rename_materialized_view_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/rename.sql", "original_file_path": "macros/relations/materialized_view/rename.sql", "unique_id": "macro.dbt.get_rename_materialized_view_sql", "macro_sql": "{% macro get_rename_materialized_view_sql(relation, new_name) %}\n {{- adapter.dispatch('get_rename_materialized_view_sql', 'dbt')(relation, new_name) -}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_rename_materialized_view_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.847858, "supported_languages": null}, "macro.dbt.default__get_rename_materialized_view_sql": {"name": "default__get_rename_materialized_view_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/rename.sql", "original_file_path": "macros/relations/materialized_view/rename.sql", "unique_id": "macro.dbt.default__get_rename_materialized_view_sql", "macro_sql": "{% macro default__get_rename_materialized_view_sql(relation, new_name) %}\n {{ exceptions.raise_compiler_error(\n \"`get_rename_materialized_view_sql` has not been implemented for this adapter.\"\n ) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.847988, "supported_languages": null}, "macro.dbt.get_alter_materialized_view_as_sql": {"name": "get_alter_materialized_view_as_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/alter.sql", "original_file_path": "macros/relations/materialized_view/alter.sql", "unique_id": "macro.dbt.get_alter_materialized_view_as_sql", "macro_sql": "{% macro get_alter_materialized_view_as_sql(\n relation,\n configuration_changes,\n sql,\n existing_relation,\n backup_relation,\n intermediate_relation\n) %}\n {{- log('Applying ALTER to: ' ~ relation) -}}\n {{- adapter.dispatch('get_alter_materialized_view_as_sql', 'dbt')(\n relation,\n configuration_changes,\n sql,\n existing_relation,\n backup_relation,\n intermediate_relation\n ) -}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_alter_materialized_view_as_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.848526, "supported_languages": null}, "macro.dbt.default__get_alter_materialized_view_as_sql": {"name": "default__get_alter_materialized_view_as_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/alter.sql", "original_file_path": "macros/relations/materialized_view/alter.sql", "unique_id": "macro.dbt.default__get_alter_materialized_view_as_sql", "macro_sql": "{% macro default__get_alter_materialized_view_as_sql(\n relation,\n configuration_changes,\n sql,\n existing_relation,\n backup_relation,\n intermediate_relation\n) %}\n {{ exceptions.raise_compiler_error(\"Materialized views have not been implemented for this adapter.\") }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.84869, "supported_languages": null}, "macro.dbt.get_materialized_view_configuration_changes": {"name": "get_materialized_view_configuration_changes", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/alter.sql", "original_file_path": "macros/relations/materialized_view/alter.sql", "unique_id": "macro.dbt.get_materialized_view_configuration_changes", "macro_sql": "{% macro get_materialized_view_configuration_changes(existing_relation, new_config) %}\n /* {#\n It's recommended that configuration changes be formatted as follows:\n {\"<change_category>\": [{\"action\": \"<name>\", \"context\": ...}]}\n\n For example:\n {\n \"indexes\": [\n {\"action\": \"drop\", \"context\": \"index_abc\"},\n {\"action\": \"create\", \"context\": {\"columns\": [\"column_1\", \"column_2\"], \"type\": \"hash\", \"unique\": True}},\n ],\n }\n\n Either way, `get_materialized_view_configuration_changes` needs to align with `get_alter_materialized_view_as_sql`.\n #} */\n {{- log('Determining configuration changes on: ' ~ existing_relation) -}}\n {%- do return(adapter.dispatch('get_materialized_view_configuration_changes', 'dbt')(existing_relation, new_config)) -%}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_materialized_view_configuration_changes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.848948, "supported_languages": null}, "macro.dbt.default__get_materialized_view_configuration_changes": {"name": "default__get_materialized_view_configuration_changes", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/alter.sql", "original_file_path": "macros/relations/materialized_view/alter.sql", "unique_id": "macro.dbt.default__get_materialized_view_configuration_changes", "macro_sql": "{% macro default__get_materialized_view_configuration_changes(existing_relation, new_config) %}\n {{ exceptions.raise_compiler_error(\"Materialized views have not been implemented for this adapter.\") }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.849082, "supported_languages": null}, "macro.dbt.get_create_materialized_view_as_sql": {"name": "get_create_materialized_view_as_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/create.sql", "original_file_path": "macros/relations/materialized_view/create.sql", "unique_id": "macro.dbt.get_create_materialized_view_as_sql", "macro_sql": "{% macro get_create_materialized_view_as_sql(relation, sql) -%}\n {{- adapter.dispatch('get_create_materialized_view_as_sql', 'dbt')(relation, sql) -}}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_create_materialized_view_as_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.849323, "supported_languages": null}, "macro.dbt.default__get_create_materialized_view_as_sql": {"name": "default__get_create_materialized_view_as_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/create.sql", "original_file_path": "macros/relations/materialized_view/create.sql", "unique_id": "macro.dbt.default__get_create_materialized_view_as_sql", "macro_sql": "{% macro default__get_create_materialized_view_as_sql(relation, sql) -%}\n {{ exceptions.raise_compiler_error(\n \"`get_create_materialized_view_as_sql` has not been implemented for this adapter.\"\n ) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.849453, "supported_languages": null}, "macro.dbt.get_table_columns_and_constraints": {"name": "get_table_columns_and_constraints", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/column/columns_spec_ddl.sql", "original_file_path": "macros/relations/column/columns_spec_ddl.sql", "unique_id": "macro.dbt.get_table_columns_and_constraints", "macro_sql": "{%- macro get_table_columns_and_constraints() -%}\n {{ adapter.dispatch('get_table_columns_and_constraints', 'dbt')() }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__get_table_columns_and_constraints"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.850375, "supported_languages": null}, "macro.dbt.default__get_table_columns_and_constraints": {"name": "default__get_table_columns_and_constraints", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/column/columns_spec_ddl.sql", "original_file_path": "macros/relations/column/columns_spec_ddl.sql", "unique_id": "macro.dbt.default__get_table_columns_and_constraints", "macro_sql": "{% macro default__get_table_columns_and_constraints() -%}\n {{ return(table_columns_and_constraints()) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.table_columns_and_constraints"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.850487, "supported_languages": null}, "macro.dbt.table_columns_and_constraints": {"name": "table_columns_and_constraints", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/column/columns_spec_ddl.sql", "original_file_path": "macros/relations/column/columns_spec_ddl.sql", "unique_id": "macro.dbt.table_columns_and_constraints", "macro_sql": "{% macro table_columns_and_constraints() %}\n {# loop through user_provided_columns to create DDL with data types and constraints #}\n {%- set raw_column_constraints = adapter.render_raw_columns_constraints(raw_columns=model['columns']) -%}\n {%- set raw_model_constraints = adapter.render_raw_model_constraints(raw_constraints=model['constraints']) -%}\n (\n {% for c in raw_column_constraints -%}\n {{ c }}{{ \",\" if not loop.last or raw_model_constraints }}\n {% endfor %}\n {% for c in raw_model_constraints -%}\n {{ c }}{{ \",\" if not loop.last }}\n {% endfor -%}\n )\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.851053, "supported_languages": null}, "macro.dbt.get_assert_columns_equivalent": {"name": "get_assert_columns_equivalent", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/column/columns_spec_ddl.sql", "original_file_path": "macros/relations/column/columns_spec_ddl.sql", "unique_id": "macro.dbt.get_assert_columns_equivalent", "macro_sql": "\n\n{%- macro get_assert_columns_equivalent(sql) -%}\n {{ adapter.dispatch('get_assert_columns_equivalent', 'dbt')(sql) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__get_assert_columns_equivalent"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.851306, "supported_languages": null}, "macro.dbt.default__get_assert_columns_equivalent": {"name": "default__get_assert_columns_equivalent", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/column/columns_spec_ddl.sql", "original_file_path": "macros/relations/column/columns_spec_ddl.sql", "unique_id": "macro.dbt.default__get_assert_columns_equivalent", "macro_sql": "{% macro default__get_assert_columns_equivalent(sql) -%}\n {{ return(assert_columns_equivalent(sql)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.assert_columns_equivalent"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.851443, "supported_languages": null}, "macro.dbt.assert_columns_equivalent": {"name": "assert_columns_equivalent", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/column/columns_spec_ddl.sql", "original_file_path": "macros/relations/column/columns_spec_ddl.sql", "unique_id": "macro.dbt.assert_columns_equivalent", "macro_sql": "{% macro assert_columns_equivalent(sql) %}\n\n {#-- First ensure the user has defined 'columns' in yaml specification --#}\n {%- set user_defined_columns = model['columns'] -%}\n {%- if not user_defined_columns -%}\n {{ exceptions.raise_contract_error([], []) }}\n {%- endif -%}\n\n {#-- Obtain the column schema provided by sql file. #}\n {%- set sql_file_provided_columns = get_column_schema_from_query(sql, config.get('sql_header', none)) -%}\n {#--Obtain the column schema provided by the schema file by generating an 'empty schema' query from the model's columns. #}\n {%- set schema_file_provided_columns = get_column_schema_from_query(get_empty_schema_sql(user_defined_columns)) -%}\n\n {#-- create dictionaries with name and formatted data type and strings for exception #}\n {%- set sql_columns = format_columns(sql_file_provided_columns) -%}\n {%- set yaml_columns = format_columns(schema_file_provided_columns) -%}\n\n {%- if sql_columns|length != yaml_columns|length -%}\n {%- do exceptions.raise_contract_error(yaml_columns, sql_columns) -%}\n {%- endif -%}\n\n {%- for sql_col in sql_columns -%}\n {%- set yaml_col = [] -%}\n {%- for this_col in yaml_columns -%}\n {%- if this_col['name'] == sql_col['name'] -%}\n {%- do yaml_col.append(this_col) -%}\n {%- break -%}\n {%- endif -%}\n {%- endfor -%}\n {%- if not yaml_col -%}\n {#-- Column with name not found in yaml #}\n {%- do exceptions.raise_contract_error(yaml_columns, sql_columns) -%}\n {%- endif -%}\n {%- if sql_col['formatted'] != yaml_col[0]['formatted'] -%}\n {#-- Column data types don't match #}\n {%- do exceptions.raise_contract_error(yaml_columns, sql_columns) -%}\n {%- endif -%}\n {%- endfor -%}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_column_schema_from_query", "macro.dbt.get_empty_schema_sql", "macro.dbt.format_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.852735, "supported_languages": null}, "macro.dbt.format_columns": {"name": "format_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/column/columns_spec_ddl.sql", "original_file_path": "macros/relations/column/columns_spec_ddl.sql", "unique_id": "macro.dbt.format_columns", "macro_sql": "{% macro format_columns(columns) %}\n {% set formatted_columns = [] %}\n {% for column in columns %}\n {%- set formatted_column = adapter.dispatch('format_column', 'dbt')(column) -%}\n {%- do formatted_columns.append(formatted_column) -%}\n {% endfor %}\n {{ return(formatted_columns) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__format_column"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8530931, "supported_languages": null}, "macro.dbt.default__format_column": {"name": "default__format_column", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/column/columns_spec_ddl.sql", "original_file_path": "macros/relations/column/columns_spec_ddl.sql", "unique_id": "macro.dbt.default__format_column", "macro_sql": "{% macro default__format_column(column) -%}\n {% set data_type = column.dtype %}\n {% set formatted = column.column.lower() ~ \" \" ~ data_type %}\n {{ return({'name': column.name, 'data_type': data_type, 'formatted': formatted}) }}\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.853406, "supported_languages": null}, "macro.dbt.drop_table": {"name": "drop_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/drop.sql", "original_file_path": "macros/relations/table/drop.sql", "unique_id": "macro.dbt.drop_table", "macro_sql": "{% macro drop_table(relation) -%}\n {{ return(adapter.dispatch('drop_table', 'dbt')(relation)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__drop_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.853686, "supported_languages": null}, "macro.dbt.default__drop_table": {"name": "default__drop_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/drop.sql", "original_file_path": "macros/relations/table/drop.sql", "unique_id": "macro.dbt.default__drop_table", "macro_sql": "{% macro default__drop_table(relation) -%}\n drop table if exists {{ relation }} cascade\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.853788, "supported_languages": null}, "macro.dbt.get_replace_table_sql": {"name": "get_replace_table_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/replace.sql", "original_file_path": "macros/relations/table/replace.sql", "unique_id": "macro.dbt.get_replace_table_sql", "macro_sql": "{% macro get_replace_table_sql(relation, sql) %}\n {{- adapter.dispatch('get_replace_table_sql', 'dbt')(relation, sql) -}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_replace_table_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.854039, "supported_languages": null}, "macro.dbt.default__get_replace_table_sql": {"name": "default__get_replace_table_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/replace.sql", "original_file_path": "macros/relations/table/replace.sql", "unique_id": "macro.dbt.default__get_replace_table_sql", "macro_sql": "{% macro default__get_replace_table_sql(relation, sql) %}\n {{ exceptions.raise_compiler_error(\n \"`get_replace_table_sql` has not been implemented for this adapter.\"\n ) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.854178, "supported_languages": null}, "macro.dbt.get_rename_table_sql": {"name": "get_rename_table_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/rename.sql", "original_file_path": "macros/relations/table/rename.sql", "unique_id": "macro.dbt.get_rename_table_sql", "macro_sql": "{% macro get_rename_table_sql(relation, new_name) %}\n {{- adapter.dispatch('get_rename_table_sql', 'dbt')(relation, new_name) -}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_rename_table_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.854429, "supported_languages": null}, "macro.dbt.default__get_rename_table_sql": {"name": "default__get_rename_table_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/rename.sql", "original_file_path": "macros/relations/table/rename.sql", "unique_id": "macro.dbt.default__get_rename_table_sql", "macro_sql": "{% macro default__get_rename_table_sql(relation, new_name) %}\n {{ exceptions.raise_compiler_error(\n \"`get_rename_table_sql` has not been implemented for this adapter.\"\n ) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.854571, "supported_languages": null}, "macro.dbt.get_create_table_as_sql": {"name": "get_create_table_as_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/create.sql", "original_file_path": "macros/relations/table/create.sql", "unique_id": "macro.dbt.get_create_table_as_sql", "macro_sql": "{% macro get_create_table_as_sql(temporary, relation, sql) -%}\n {{ adapter.dispatch('get_create_table_as_sql', 'dbt')(temporary, relation, sql) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_create_table_as_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8554392, "supported_languages": null}, "macro.dbt.default__get_create_table_as_sql": {"name": "default__get_create_table_as_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/create.sql", "original_file_path": "macros/relations/table/create.sql", "unique_id": "macro.dbt.default__get_create_table_as_sql", "macro_sql": "{% macro default__get_create_table_as_sql(temporary, relation, sql) -%}\n {{ return(create_table_as(temporary, relation, sql)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.855616, "supported_languages": null}, "macro.dbt.create_table_as": {"name": "create_table_as", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/create.sql", "original_file_path": "macros/relations/table/create.sql", "unique_id": "macro.dbt.create_table_as", "macro_sql": "{% macro create_table_as(temporary, relation, compiled_code, language='sql') -%}\n {# backward compatibility for create_table_as that does not support language #}\n {% if language == \"sql\" %}\n {{ adapter.dispatch('create_table_as', 'dbt')(temporary, relation, compiled_code)}}\n {% else %}\n {{ adapter.dispatch('create_table_as', 'dbt')(temporary, relation, compiled_code, language) }}\n {% endif %}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.856032, "supported_languages": null}, "macro.dbt.default__create_table_as": {"name": "default__create_table_as", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/create.sql", "original_file_path": "macros/relations/table/create.sql", "unique_id": "macro.dbt.default__create_table_as", "macro_sql": "{% macro default__create_table_as(temporary, relation, sql) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {{ sql_header if sql_header is not none }}\n\n create {% if temporary: -%}temporary{%- endif %} table\n {{ relation.include(database=(not temporary), schema=(not temporary)) }}\n {% set contract_config = config.get('contract') %}\n {% if contract_config.enforced and (not temporary) %}\n {{ get_assert_columns_equivalent(sql) }}\n {{ get_table_columns_and_constraints() }}\n {%- set sql = get_select_subquery(sql) %}\n {% endif %}\n as (\n {{ sql }}\n );\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.get_assert_columns_equivalent", "macro.dbt.get_table_columns_and_constraints", "macro.dbt.get_select_subquery"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8566642, "supported_languages": null}, "macro.dbt.default__get_column_names": {"name": "default__get_column_names", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/create.sql", "original_file_path": "macros/relations/table/create.sql", "unique_id": "macro.dbt.default__get_column_names", "macro_sql": "{% macro default__get_column_names() %}\n {#- loop through user_provided_columns to get column names -#}\n {%- set user_provided_columns = model['columns'] -%}\n {%- for i in user_provided_columns %}\n {%- set col = user_provided_columns[i] -%}\n {%- set col_name = adapter.quote(col['name']) if col.get('quote') else col['name'] -%}\n {{ col_name }}{{ \", \" if not loop.last }}\n {%- endfor -%}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8570921, "supported_languages": null}, "macro.dbt.get_select_subquery": {"name": "get_select_subquery", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/create.sql", "original_file_path": "macros/relations/table/create.sql", "unique_id": "macro.dbt.get_select_subquery", "macro_sql": "{% macro get_select_subquery(sql) %}\n {{ return(adapter.dispatch('get_select_subquery', 'dbt')(sql)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_select_subquery"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.857271, "supported_languages": null}, "macro.dbt.default__get_select_subquery": {"name": "default__get_select_subquery", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/create.sql", "original_file_path": "macros/relations/table/create.sql", "unique_id": "macro.dbt.default__get_select_subquery", "macro_sql": "{% macro default__get_select_subquery(sql) %}\n select {{ adapter.dispatch('get_column_names', 'dbt')() }}\n from (\n {{ sql }}\n ) as model_subq\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_column_names"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.857431, "supported_languages": null}, "macro.dbt.drop_view": {"name": "drop_view", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/drop.sql", "original_file_path": "macros/relations/view/drop.sql", "unique_id": "macro.dbt.drop_view", "macro_sql": "{% macro drop_view(relation) -%}\n {{ return(adapter.dispatch('drop_view', 'dbt')(relation)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__drop_view"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.857673, "supported_languages": null}, "macro.dbt.default__drop_view": {"name": "default__drop_view", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/drop.sql", "original_file_path": "macros/relations/view/drop.sql", "unique_id": "macro.dbt.default__drop_view", "macro_sql": "{% macro default__drop_view(relation) -%}\n drop view if exists {{ relation }} cascade\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.85777, "supported_languages": null}, "macro.dbt.get_replace_view_sql": {"name": "get_replace_view_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/replace.sql", "original_file_path": "macros/relations/view/replace.sql", "unique_id": "macro.dbt.get_replace_view_sql", "macro_sql": "{% macro get_replace_view_sql(relation, sql) %}\n {{- adapter.dispatch('get_replace_view_sql', 'dbt')(relation, sql) -}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_replace_view_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.858709, "supported_languages": null}, "macro.dbt.default__get_replace_view_sql": {"name": "default__get_replace_view_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/replace.sql", "original_file_path": "macros/relations/view/replace.sql", "unique_id": "macro.dbt.default__get_replace_view_sql", "macro_sql": "{% macro default__get_replace_view_sql(relation, sql) %}\n {{ exceptions.raise_compiler_error(\n \"`get_replace_view_sql` has not been implemented for this adapter.\"\n ) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.858921, "supported_languages": null}, "macro.dbt.create_or_replace_view": {"name": "create_or_replace_view", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/replace.sql", "original_file_path": "macros/relations/view/replace.sql", "unique_id": "macro.dbt.create_or_replace_view", "macro_sql": "{% macro create_or_replace_view() %}\n {%- set identifier = model['alias'] -%}\n\n {%- set old_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) -%}\n {%- set exists_as_view = (old_relation is not none and old_relation.is_view) -%}\n\n {%- set target_relation = api.Relation.create(\n identifier=identifier, schema=schema, database=database,\n type='view') -%}\n {% set grant_config = config.get('grants') %}\n\n {{ run_hooks(pre_hooks) }}\n\n -- If there's a table with the same name and we weren't told to full refresh,\n -- that's an error. If we were told to full refresh, drop it. This behavior differs\n -- for Snowflake and BigQuery, so multiple dispatch is used.\n {%- if old_relation is not none and old_relation.is_table -%}\n {{ handle_existing_table(should_full_refresh(), old_relation) }}\n {%- endif -%}\n\n -- build model\n {% call statement('main') -%}\n {{ get_create_view_as_sql(target_relation, sql) }}\n {%- endcall %}\n\n {% set should_revoke = should_revoke(exists_as_view, full_refresh_mode=True) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {{ run_hooks(post_hooks) }}\n\n {{ return({'relations': [target_relation]}) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.run_hooks", "macro.dbt.handle_existing_table", "macro.dbt.should_full_refresh", "macro.dbt.statement", "macro.dbt.get_create_view_as_sql", "macro.dbt.should_revoke", "macro.dbt.apply_grants"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.860069, "supported_languages": null}, "macro.dbt.handle_existing_table": {"name": "handle_existing_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/replace.sql", "original_file_path": "macros/relations/view/replace.sql", "unique_id": "macro.dbt.handle_existing_table", "macro_sql": "{% macro handle_existing_table(full_refresh, old_relation) %}\n {{ adapter.dispatch('handle_existing_table', 'dbt')(full_refresh, old_relation) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__handle_existing_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8602638, "supported_languages": null}, "macro.dbt.default__handle_existing_table": {"name": "default__handle_existing_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/replace.sql", "original_file_path": "macros/relations/view/replace.sql", "unique_id": "macro.dbt.default__handle_existing_table", "macro_sql": "{% macro default__handle_existing_table(full_refresh, old_relation) %}\n {{ log(\"Dropping relation \" ~ old_relation ~ \" because it is of type \" ~ old_relation.type) }}\n {{ adapter.drop_relation(old_relation) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.860468, "supported_languages": null}, "macro.dbt.get_rename_view_sql": {"name": "get_rename_view_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/rename.sql", "original_file_path": "macros/relations/view/rename.sql", "unique_id": "macro.dbt.get_rename_view_sql", "macro_sql": "{% macro get_rename_view_sql(relation, new_name) %}\n {{- adapter.dispatch('get_rename_view_sql', 'dbt')(relation, new_name) -}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_rename_view_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.860733, "supported_languages": null}, "macro.dbt.default__get_rename_view_sql": {"name": "default__get_rename_view_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/rename.sql", "original_file_path": "macros/relations/view/rename.sql", "unique_id": "macro.dbt.default__get_rename_view_sql", "macro_sql": "{% macro default__get_rename_view_sql(relation, new_name) %}\n {{ exceptions.raise_compiler_error(\n \"`get_rename_view_sql` has not been implemented for this adapter.\"\n ) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8608608, "supported_languages": null}, "macro.dbt.get_create_view_as_sql": {"name": "get_create_view_as_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/create.sql", "original_file_path": "macros/relations/view/create.sql", "unique_id": "macro.dbt.get_create_view_as_sql", "macro_sql": "{% macro get_create_view_as_sql(relation, sql) -%}\n {{ adapter.dispatch('get_create_view_as_sql', 'dbt')(relation, sql) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_create_view_as_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8613381, "supported_languages": null}, "macro.dbt.default__get_create_view_as_sql": {"name": "default__get_create_view_as_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/create.sql", "original_file_path": "macros/relations/view/create.sql", "unique_id": "macro.dbt.default__get_create_view_as_sql", "macro_sql": "{% macro default__get_create_view_as_sql(relation, sql) -%}\n {{ return(create_view_as(relation, sql)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.create_view_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.861526, "supported_languages": null}, "macro.dbt.create_view_as": {"name": "create_view_as", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/create.sql", "original_file_path": "macros/relations/view/create.sql", "unique_id": "macro.dbt.create_view_as", "macro_sql": "{% macro create_view_as(relation, sql) -%}\n {{ adapter.dispatch('create_view_as', 'dbt')(relation, sql) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__create_view_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.861709, "supported_languages": null}, "macro.dbt.default__create_view_as": {"name": "default__create_view_as", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/create.sql", "original_file_path": "macros/relations/view/create.sql", "unique_id": "macro.dbt.default__create_view_as", "macro_sql": "{% macro default__create_view_as(relation, sql) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {{ sql_header if sql_header is not none }}\n create view {{ relation }}\n {% set contract_config = config.get('contract') %}\n {% if contract_config.enforced %}\n {{ get_assert_columns_equivalent(sql) }}\n {%- endif %}\n as (\n {{ sql }}\n );\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.get_assert_columns_equivalent"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.862137, "supported_languages": null}, "macro.dbt.default__test_relationships": {"name": "default__test_relationships", "resource_type": "macro", "package_name": "dbt", "path": "macros/generic_test_sql/relationships.sql", "original_file_path": "macros/generic_test_sql/relationships.sql", "unique_id": "macro.dbt.default__test_relationships", "macro_sql": "{% macro default__test_relationships(model, column_name, to, field) %}\n\nwith child as (\n select {{ column_name }} as from_field\n from {{ model }}\n where {{ column_name }} is not null\n),\n\nparent as (\n select {{ field }} as to_field\n from {{ to }}\n)\n\nselect\n from_field\n\nfrom child\nleft join parent\n on child.from_field = parent.to_field\n\nwhere parent.to_field is null\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.862487, "supported_languages": null}, "macro.dbt.default__test_not_null": {"name": "default__test_not_null", "resource_type": "macro", "package_name": "dbt", "path": "macros/generic_test_sql/not_null.sql", "original_file_path": "macros/generic_test_sql/not_null.sql", "unique_id": "macro.dbt.default__test_not_null", "macro_sql": "{% macro default__test_not_null(model, column_name) %}\n\n{% set column_list = '*' if should_store_failures() else column_name %}\n\nselect {{ column_list }}\nfrom {{ model }}\nwhere {{ column_name }} is null\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.should_store_failures"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.862772, "supported_languages": null}, "macro.dbt.default__test_unique": {"name": "default__test_unique", "resource_type": "macro", "package_name": "dbt", "path": "macros/generic_test_sql/unique.sql", "original_file_path": "macros/generic_test_sql/unique.sql", "unique_id": "macro.dbt.default__test_unique", "macro_sql": "{% macro default__test_unique(model, column_name) %}\n\nselect\n {{ column_name }} as unique_field,\n count(*) as n_records\n\nfrom {{ model }}\nwhere {{ column_name }} is not null\ngroup by {{ column_name }}\nhaving count(*) > 1\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.863014, "supported_languages": null}, "macro.dbt.default__test_accepted_values": {"name": "default__test_accepted_values", "resource_type": "macro", "package_name": "dbt", "path": "macros/generic_test_sql/accepted_values.sql", "original_file_path": "macros/generic_test_sql/accepted_values.sql", "unique_id": "macro.dbt.default__test_accepted_values", "macro_sql": "{% macro default__test_accepted_values(model, column_name, values, quote=True) %}\n\nwith all_values as (\n\n select\n {{ column_name }} as value_field,\n count(*) as n_records\n\n from {{ model }}\n group by {{ column_name }}\n\n)\n\nselect *\nfrom all_values\nwhere value_field not in (\n {% for value in values -%}\n {% if quote -%}\n '{{ value }}'\n {%- else -%}\n {{ value }}\n {%- endif -%}\n {%- if not loop.last -%},{%- endif %}\n {%- endfor %}\n)\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.863538, "supported_languages": null}, "macro.dbt.statement": {"name": "statement", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/statement.sql", "original_file_path": "macros/etc/statement.sql", "unique_id": "macro.dbt.statement", "macro_sql": "\n{%- macro statement(name=None, fetch_result=False, auto_begin=True, language='sql') -%}\n {%- if execute: -%}\n {%- set compiled_code = caller() -%}\n\n {%- if name == 'main' -%}\n {{ log('Writing runtime {} for node \"{}\"'.format(language, model['unique_id'])) }}\n {{ write(compiled_code) }}\n {%- endif -%}\n {%- if language == 'sql'-%}\n {%- set res, table = adapter.execute(compiled_code, auto_begin=auto_begin, fetch=fetch_result) -%}\n {%- elif language == 'python' -%}\n {%- set res = submit_python_job(model, compiled_code) -%}\n {#-- TODO: What should table be for python models? --#}\n {%- set table = None -%}\n {%- else -%}\n {% do exceptions.raise_compiler_error(\"statement macro didn't get supported language\") %}\n {%- endif -%}\n\n {%- if name is not none -%}\n {{ store_result(name, response=res, agate_table=table) }}\n {%- endif -%}\n\n {%- endif -%}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.864896, "supported_languages": null}, "macro.dbt.noop_statement": {"name": "noop_statement", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/statement.sql", "original_file_path": "macros/etc/statement.sql", "unique_id": "macro.dbt.noop_statement", "macro_sql": "{% macro noop_statement(name=None, message=None, code=None, rows_affected=None, res=None) -%}\n {%- set sql = caller() -%}\n\n {%- if name == 'main' -%}\n {{ log('Writing runtime SQL for node \"{}\"'.format(model['unique_id'])) }}\n {{ write(sql) }}\n {%- endif -%}\n\n {%- if name is not none -%}\n {{ store_raw_result(name, message=message, code=code, rows_affected=rows_affected, agate_table=res) }}\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.86543, "supported_languages": null}, "macro.dbt.run_query": {"name": "run_query", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/statement.sql", "original_file_path": "macros/etc/statement.sql", "unique_id": "macro.dbt.run_query", "macro_sql": "{% macro run_query(sql) %}\n {% call statement(\"run_query_statement\", fetch_result=true, auto_begin=false) %}\n {{ sql }}\n {% endcall %}\n\n {% do return(load_result(\"run_query_statement\").table) %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8656929, "supported_languages": null}, "macro.dbt.convert_datetime": {"name": "convert_datetime", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/datetime.sql", "original_file_path": "macros/etc/datetime.sql", "unique_id": "macro.dbt.convert_datetime", "macro_sql": "{% macro convert_datetime(date_str, date_fmt) %}\n\n {% set error_msg -%}\n The provided partition date '{{ date_str }}' does not match the expected format '{{ date_fmt }}'\n {%- endset %}\n\n {% set res = try_or_compiler_error(error_msg, modules.datetime.datetime.strptime, date_str.strip(), date_fmt) %}\n {{ return(res) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.86741, "supported_languages": null}, "macro.dbt.dates_in_range": {"name": "dates_in_range", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/datetime.sql", "original_file_path": "macros/etc/datetime.sql", "unique_id": "macro.dbt.dates_in_range", "macro_sql": "{% macro dates_in_range(start_date_str, end_date_str=none, in_fmt=\"%Y%m%d\", out_fmt=\"%Y%m%d\") %}\n {% set end_date_str = start_date_str if end_date_str is none else end_date_str %}\n\n {% set start_date = convert_datetime(start_date_str, in_fmt) %}\n {% set end_date = convert_datetime(end_date_str, in_fmt) %}\n\n {% set day_count = (end_date - start_date).days %}\n {% if day_count < 0 %}\n {% set msg -%}\n Partition start date is after the end date ({{ start_date }}, {{ end_date }})\n {%- endset %}\n\n {{ exceptions.raise_compiler_error(msg, model) }}\n {% endif %}\n\n {% set date_list = [] %}\n {% for i in range(0, day_count + 1) %}\n {% set the_date = (modules.datetime.timedelta(days=i) + start_date) %}\n {% if not out_fmt %}\n {% set _ = date_list.append(the_date) %}\n {% else %}\n {% set _ = date_list.append(the_date.strftime(out_fmt)) %}\n {% endif %}\n {% endfor %}\n\n {{ return(date_list) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.convert_datetime"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.868619, "supported_languages": null}, "macro.dbt.partition_range": {"name": "partition_range", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/datetime.sql", "original_file_path": "macros/etc/datetime.sql", "unique_id": "macro.dbt.partition_range", "macro_sql": "{% macro partition_range(raw_partition_date, date_fmt='%Y%m%d') %}\n {% set partition_range = (raw_partition_date | string).split(\",\") %}\n\n {% if (partition_range | length) == 1 %}\n {% set start_date = partition_range[0] %}\n {% set end_date = none %}\n {% elif (partition_range | length) == 2 %}\n {% set start_date = partition_range[0] %}\n {% set end_date = partition_range[1] %}\n {% else %}\n {{ exceptions.raise_compiler_error(\"Invalid partition time. Expected format: {Start Date}[,{End Date}]. Got: \" ~ raw_partition_date) }}\n {% endif %}\n\n {{ return(dates_in_range(start_date, end_date, in_fmt=date_fmt)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.dates_in_range"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.869298, "supported_languages": null}, "macro.dbt.py_current_timestring": {"name": "py_current_timestring", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/datetime.sql", "original_file_path": "macros/etc/datetime.sql", "unique_id": "macro.dbt.py_current_timestring", "macro_sql": "{% macro py_current_timestring() %}\n {% set dt = modules.datetime.datetime.now() %}\n {% do return(dt.strftime(\"%Y%m%d%H%M%S%f\")) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.869517, "supported_languages": null}, "macro.dbt.except": {"name": "except", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/except.sql", "original_file_path": "macros/utils/except.sql", "unique_id": "macro.dbt.except", "macro_sql": "{% macro except() %}\n {{ return(adapter.dispatch('except', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__except"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.869735, "supported_languages": null}, "macro.dbt.default__except": {"name": "default__except", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/except.sql", "original_file_path": "macros/utils/except.sql", "unique_id": "macro.dbt.default__except", "macro_sql": "{% macro default__except() %}\n\n except\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.869806, "supported_languages": null}, "macro.dbt.get_intervals_between": {"name": "get_intervals_between", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/date_spine.sql", "original_file_path": "macros/utils/date_spine.sql", "unique_id": "macro.dbt.get_intervals_between", "macro_sql": "{% macro get_intervals_between(start_date, end_date, datepart) -%}\n {{ return(adapter.dispatch('get_intervals_between', 'dbt')(start_date, end_date, datepart)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_intervals_between"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.870456, "supported_languages": null}, "macro.dbt.default__get_intervals_between": {"name": "default__get_intervals_between", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/date_spine.sql", "original_file_path": "macros/utils/date_spine.sql", "unique_id": "macro.dbt.default__get_intervals_between", "macro_sql": "{% macro default__get_intervals_between(start_date, end_date, datepart) -%}\n {%- call statement('get_intervals_between', fetch_result=True) %}\n\n select {{ dbt.datediff(start_date, end_date, datepart) }}\n\n {%- endcall -%}\n\n {%- set value_list = load_result('get_intervals_between') -%}\n\n {%- if value_list and value_list['data'] -%}\n {%- set values = value_list['data'] | map(attribute=0) | list %}\n {{ return(values[0]) }}\n {%- else -%}\n {{ return(1) }}\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt.datediff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.87099, "supported_languages": null}, "macro.dbt.date_spine": {"name": "date_spine", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/date_spine.sql", "original_file_path": "macros/utils/date_spine.sql", "unique_id": "macro.dbt.date_spine", "macro_sql": "{% macro date_spine(datepart, start_date, end_date) %}\n {{ return(adapter.dispatch('date_spine', 'dbt')(datepart, start_date, end_date)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__date_spine"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.871337, "supported_languages": null}, "macro.dbt.default__date_spine": {"name": "default__date_spine", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/date_spine.sql", "original_file_path": "macros/utils/date_spine.sql", "unique_id": "macro.dbt.default__date_spine", "macro_sql": "{% macro default__date_spine(datepart, start_date, end_date) %}\n\n\n {# call as follows:\n\n date_spine(\n \"day\",\n \"to_date('01/01/2016', 'mm/dd/yyyy')\",\n \"dbt.dateadd(week, 1, current_date)\"\n ) #}\n\n\n with rawdata as (\n\n {{dbt.generate_series(\n dbt.get_intervals_between(start_date, end_date, datepart)\n )}}\n\n ),\n\n all_periods as (\n\n select (\n {{\n dbt.dateadd(\n datepart,\n \"row_number() over (order by 1) - 1\",\n start_date\n )\n }}\n ) as date_{{datepart}}\n from rawdata\n\n ),\n\n filtered as (\n\n select *\n from all_periods\n where date_{{datepart}} <= {{ end_date }}\n\n )\n\n select * from filtered\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.generate_series", "macro.dbt.get_intervals_between", "macro.dbt.dateadd"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8716931, "supported_languages": null}, "macro.dbt.replace": {"name": "replace", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/replace.sql", "original_file_path": "macros/utils/replace.sql", "unique_id": "macro.dbt.replace", "macro_sql": "{% macro replace(field, old_chars, new_chars) -%}\n {{ return(adapter.dispatch('replace', 'dbt') (field, old_chars, new_chars)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__replace"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.872006, "supported_languages": null}, "macro.dbt.default__replace": {"name": "default__replace", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/replace.sql", "original_file_path": "macros/utils/replace.sql", "unique_id": "macro.dbt.default__replace", "macro_sql": "{% macro default__replace(field, old_chars, new_chars) %}\n\n replace(\n {{ field }},\n {{ old_chars }},\n {{ new_chars }}\n )\n\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.872184, "supported_languages": null}, "macro.dbt.concat": {"name": "concat", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/concat.sql", "original_file_path": "macros/utils/concat.sql", "unique_id": "macro.dbt.concat", "macro_sql": "{% macro concat(fields) -%}\n {{ return(adapter.dispatch('concat', 'dbt')(fields)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__concat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8724082, "supported_languages": null}, "macro.dbt.default__concat": {"name": "default__concat", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/concat.sql", "original_file_path": "macros/utils/concat.sql", "unique_id": "macro.dbt.default__concat", "macro_sql": "{% macro default__concat(fields) -%}\n {{ fields|join(' || ') }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.87253, "supported_languages": null}, "macro.dbt.get_powers_of_two": {"name": "get_powers_of_two", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/generate_series.sql", "original_file_path": "macros/utils/generate_series.sql", "unique_id": "macro.dbt.get_powers_of_two", "macro_sql": "{% macro get_powers_of_two(upper_bound) %}\n {{ return(adapter.dispatch('get_powers_of_two', 'dbt')(upper_bound)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_powers_of_two"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.873266, "supported_languages": null}, "macro.dbt.default__get_powers_of_two": {"name": "default__get_powers_of_two", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/generate_series.sql", "original_file_path": "macros/utils/generate_series.sql", "unique_id": "macro.dbt.default__get_powers_of_two", "macro_sql": "{% macro default__get_powers_of_two(upper_bound) %}\n\n {% if upper_bound <= 0 %}\n {{ exceptions.raise_compiler_error(\"upper bound must be positive\") }}\n {% endif %}\n\n {% for _ in range(1, 100) %}\n {% if upper_bound <= 2 ** loop.index %}{{ return(loop.index) }}{% endif %}\n {% endfor %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.873661, "supported_languages": null}, "macro.dbt.generate_series": {"name": "generate_series", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/generate_series.sql", "original_file_path": "macros/utils/generate_series.sql", "unique_id": "macro.dbt.generate_series", "macro_sql": "{% macro generate_series(upper_bound) %}\n {{ return(adapter.dispatch('generate_series', 'dbt')(upper_bound)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__generate_series"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.873832, "supported_languages": null}, "macro.dbt.default__generate_series": {"name": "default__generate_series", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/generate_series.sql", "original_file_path": "macros/utils/generate_series.sql", "unique_id": "macro.dbt.default__generate_series", "macro_sql": "{% macro default__generate_series(upper_bound) %}\n\n {% set n = dbt.get_powers_of_two(upper_bound) %}\n\n with p as (\n select 0 as generated_number union all select 1\n ), unioned as (\n\n select\n\n {% for i in range(n) %}\n p{{i}}.generated_number * power(2, {{i}})\n {% if not loop.last %} + {% endif %}\n {% endfor %}\n + 1\n as generated_number\n\n from\n\n {% for i in range(n) %}\n p as p{{i}}\n {% if not loop.last %} cross join {% endif %}\n {% endfor %}\n\n )\n\n select *\n from unioned\n where generated_number <= {{upper_bound}}\n order by generated_number\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_powers_of_two"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.874304, "supported_languages": null}, "macro.dbt.length": {"name": "length", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/length.sql", "original_file_path": "macros/utils/length.sql", "unique_id": "macro.dbt.length", "macro_sql": "{% macro length(expression) -%}\n {{ return(adapter.dispatch('length', 'dbt') (expression)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__length"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.87454, "supported_languages": null}, "macro.dbt.default__length": {"name": "default__length", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/length.sql", "original_file_path": "macros/utils/length.sql", "unique_id": "macro.dbt.default__length", "macro_sql": "{% macro default__length(expression) %}\n\n length(\n {{ expression }}\n )\n\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.874636, "supported_languages": null}, "macro.dbt.dateadd": {"name": "dateadd", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/dateadd.sql", "original_file_path": "macros/utils/dateadd.sql", "unique_id": "macro.dbt.dateadd", "macro_sql": "{% macro dateadd(datepart, interval, from_date_or_timestamp) %}\n {{ return(adapter.dispatch('dateadd', 'dbt')(datepart, interval, from_date_or_timestamp)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__dateadd"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.874942, "supported_languages": null}, "macro.dbt.default__dateadd": {"name": "default__dateadd", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/dateadd.sql", "original_file_path": "macros/utils/dateadd.sql", "unique_id": "macro.dbt.default__dateadd", "macro_sql": "{% macro default__dateadd(datepart, interval, from_date_or_timestamp) %}\n\n dateadd(\n {{ datepart }},\n {{ interval }},\n {{ from_date_or_timestamp }}\n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8750951, "supported_languages": null}, "macro.dbt.intersect": {"name": "intersect", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/intersect.sql", "original_file_path": "macros/utils/intersect.sql", "unique_id": "macro.dbt.intersect", "macro_sql": "{% macro intersect() %}\n {{ return(adapter.dispatch('intersect', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__intersect"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8753002, "supported_languages": null}, "macro.dbt.default__intersect": {"name": "default__intersect", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/intersect.sql", "original_file_path": "macros/utils/intersect.sql", "unique_id": "macro.dbt.default__intersect", "macro_sql": "{% macro default__intersect() %}\n\n intersect\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.875734, "supported_languages": null}, "macro.dbt.escape_single_quotes": {"name": "escape_single_quotes", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/escape_single_quotes.sql", "original_file_path": "macros/utils/escape_single_quotes.sql", "unique_id": "macro.dbt.escape_single_quotes", "macro_sql": "{% macro escape_single_quotes(expression) %}\n {{ return(adapter.dispatch('escape_single_quotes', 'dbt') (expression)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__escape_single_quotes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8760011, "supported_languages": null}, "macro.dbt.default__escape_single_quotes": {"name": "default__escape_single_quotes", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/escape_single_quotes.sql", "original_file_path": "macros/utils/escape_single_quotes.sql", "unique_id": "macro.dbt.default__escape_single_quotes", "macro_sql": "{% macro default__escape_single_quotes(expression) -%}\n{{ expression | replace(\"'\",\"''\") }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.876138, "supported_languages": null}, "macro.dbt.right": {"name": "right", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/right.sql", "original_file_path": "macros/utils/right.sql", "unique_id": "macro.dbt.right", "macro_sql": "{% macro right(string_text, length_expression) -%}\n {{ return(adapter.dispatch('right', 'dbt') (string_text, length_expression)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__right"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.876417, "supported_languages": null}, "macro.dbt.default__right": {"name": "default__right", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/right.sql", "original_file_path": "macros/utils/right.sql", "unique_id": "macro.dbt.default__right", "macro_sql": "{% macro default__right(string_text, length_expression) %}\n\n right(\n {{ string_text }},\n {{ length_expression }}\n )\n\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.876555, "supported_languages": null}, "macro.dbt.listagg": {"name": "listagg", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/listagg.sql", "original_file_path": "macros/utils/listagg.sql", "unique_id": "macro.dbt.listagg", "macro_sql": "{% macro listagg(measure, delimiter_text=\"','\", order_by_clause=none, limit_num=none) -%}\n {{ return(adapter.dispatch('listagg', 'dbt') (measure, delimiter_text, order_by_clause, limit_num)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__listagg"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.877119, "supported_languages": null}, "macro.dbt.default__listagg": {"name": "default__listagg", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/listagg.sql", "original_file_path": "macros/utils/listagg.sql", "unique_id": "macro.dbt.default__listagg", "macro_sql": "{% macro default__listagg(measure, delimiter_text, order_by_clause, limit_num) -%}\n\n {% if limit_num -%}\n array_to_string(\n array_slice(\n array_agg(\n {{ measure }}\n ){% if order_by_clause -%}\n within group ({{ order_by_clause }})\n {%- endif %}\n ,0\n ,{{ limit_num }}\n ),\n {{ delimiter_text }}\n )\n {%- else %}\n listagg(\n {{ measure }},\n {{ delimiter_text }}\n )\n {% if order_by_clause -%}\n within group ({{ order_by_clause }})\n {%- endif %}\n {%- endif %}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8774788, "supported_languages": null}, "macro.dbt.datediff": {"name": "datediff", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/datediff.sql", "original_file_path": "macros/utils/datediff.sql", "unique_id": "macro.dbt.datediff", "macro_sql": "{% macro datediff(first_date, second_date, datepart) %}\n {{ return(adapter.dispatch('datediff', 'dbt')(first_date, second_date, datepart)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__datediff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8777778, "supported_languages": null}, "macro.dbt.default__datediff": {"name": "default__datediff", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/datediff.sql", "original_file_path": "macros/utils/datediff.sql", "unique_id": "macro.dbt.default__datediff", "macro_sql": "{% macro default__datediff(first_date, second_date, datepart) -%}\n\n datediff(\n {{ datepart }},\n {{ first_date }},\n {{ second_date }}\n )\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8779252, "supported_languages": null}, "macro.dbt.safe_cast": {"name": "safe_cast", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/safe_cast.sql", "original_file_path": "macros/utils/safe_cast.sql", "unique_id": "macro.dbt.safe_cast", "macro_sql": "{% macro safe_cast(field, type) %}\n {{ return(adapter.dispatch('safe_cast', 'dbt') (field, type)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__safe_cast"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.878179, "supported_languages": null}, "macro.dbt.default__safe_cast": {"name": "default__safe_cast", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/safe_cast.sql", "original_file_path": "macros/utils/safe_cast.sql", "unique_id": "macro.dbt.default__safe_cast", "macro_sql": "{% macro default__safe_cast(field, type) %}\n {# most databases don't support this function yet\n so we just need to use cast #}\n cast({{field}} as {{type}})\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.878315, "supported_languages": null}, "macro.dbt.hash": {"name": "hash", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/hash.sql", "original_file_path": "macros/utils/hash.sql", "unique_id": "macro.dbt.hash", "macro_sql": "{% macro hash(field) -%}\n {{ return(adapter.dispatch('hash', 'dbt') (field)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__hash"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8785548, "supported_languages": null}, "macro.dbt.default__hash": {"name": "default__hash", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/hash.sql", "original_file_path": "macros/utils/hash.sql", "unique_id": "macro.dbt.default__hash", "macro_sql": "{% macro default__hash(field) -%}\n md5(cast({{ field }} as {{ api.Column.translate_type('string') }}))\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8787022, "supported_languages": null}, "macro.dbt.cast_bool_to_text": {"name": "cast_bool_to_text", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/cast_bool_to_text.sql", "original_file_path": "macros/utils/cast_bool_to_text.sql", "unique_id": "macro.dbt.cast_bool_to_text", "macro_sql": "{% macro cast_bool_to_text(field) %}\n {{ adapter.dispatch('cast_bool_to_text', 'dbt') (field) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__cast_bool_to_text"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.878927, "supported_languages": null}, "macro.dbt.default__cast_bool_to_text": {"name": "default__cast_bool_to_text", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/cast_bool_to_text.sql", "original_file_path": "macros/utils/cast_bool_to_text.sql", "unique_id": "macro.dbt.default__cast_bool_to_text", "macro_sql": "{% macro default__cast_bool_to_text(field) %}\n cast({{ field }} as {{ api.Column.translate_type('string') }})\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.879074, "supported_languages": null}, "macro.dbt.any_value": {"name": "any_value", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/any_value.sql", "original_file_path": "macros/utils/any_value.sql", "unique_id": "macro.dbt.any_value", "macro_sql": "{% macro any_value(expression) -%}\n {{ return(adapter.dispatch('any_value', 'dbt') (expression)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__any_value"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8793018, "supported_languages": null}, "macro.dbt.default__any_value": {"name": "default__any_value", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/any_value.sql", "original_file_path": "macros/utils/any_value.sql", "unique_id": "macro.dbt.default__any_value", "macro_sql": "{% macro default__any_value(expression) -%}\n\n any_value({{ expression }})\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.879402, "supported_languages": null}, "macro.dbt.position": {"name": "position", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/position.sql", "original_file_path": "macros/utils/position.sql", "unique_id": "macro.dbt.position", "macro_sql": "{% macro position(substring_text, string_text) -%}\n {{ return(adapter.dispatch('position', 'dbt') (substring_text, string_text)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__position"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.879665, "supported_languages": null}, "macro.dbt.default__position": {"name": "default__position", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/position.sql", "original_file_path": "macros/utils/position.sql", "unique_id": "macro.dbt.default__position", "macro_sql": "{% macro default__position(substring_text, string_text) %}\n\n position(\n {{ substring_text }} in {{ string_text }}\n )\n\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8797922, "supported_languages": null}, "macro.dbt.string_literal": {"name": "string_literal", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/literal.sql", "original_file_path": "macros/utils/literal.sql", "unique_id": "macro.dbt.string_literal", "macro_sql": "{%- macro string_literal(value) -%}\n {{ return(adapter.dispatch('string_literal', 'dbt') (value)) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__string_literal"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8800058, "supported_languages": null}, "macro.dbt.default__string_literal": {"name": "default__string_literal", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/literal.sql", "original_file_path": "macros/utils/literal.sql", "unique_id": "macro.dbt.default__string_literal", "macro_sql": "{% macro default__string_literal(value) -%}\n '{{ value }}'\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.880173, "supported_languages": null}, "macro.dbt.type_string": {"name": "type_string", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_string", "macro_sql": "\n\n{%- macro type_string() -%}\n {{ return(adapter.dispatch('type_string', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.881003, "supported_languages": null}, "macro.dbt.default__type_string": {"name": "default__type_string", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_string", "macro_sql": "{% macro default__type_string() %}\n {{ return(api.Column.translate_type(\"string\")) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.881145, "supported_languages": null}, "macro.dbt.type_timestamp": {"name": "type_timestamp", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_timestamp", "macro_sql": "\n\n{%- macro type_timestamp() -%}\n {{ return(adapter.dispatch('type_timestamp', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.88129, "supported_languages": null}, "macro.dbt.default__type_timestamp": {"name": "default__type_timestamp", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_timestamp", "macro_sql": "{% macro default__type_timestamp() %}\n {{ return(api.Column.translate_type(\"timestamp\")) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.881431, "supported_languages": null}, "macro.dbt.type_float": {"name": "type_float", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_float", "macro_sql": "\n\n{%- macro type_float() -%}\n {{ return(adapter.dispatch('type_float', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.881578, "supported_languages": null}, "macro.dbt.default__type_float": {"name": "default__type_float", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_float", "macro_sql": "{% macro default__type_float() %}\n {{ return(api.Column.translate_type(\"float\")) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.881709, "supported_languages": null}, "macro.dbt.type_numeric": {"name": "type_numeric", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_numeric", "macro_sql": "\n\n{%- macro type_numeric() -%}\n {{ return(adapter.dispatch('type_numeric', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_numeric"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.88185, "supported_languages": null}, "macro.dbt.default__type_numeric": {"name": "default__type_numeric", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_numeric", "macro_sql": "{% macro default__type_numeric() %}\n {{ return(api.Column.numeric_type(\"numeric\", 28, 6)) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.882005, "supported_languages": null}, "macro.dbt.type_bigint": {"name": "type_bigint", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_bigint", "macro_sql": "\n\n{%- macro type_bigint() -%}\n {{ return(adapter.dispatch('type_bigint', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_bigint"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.882157, "supported_languages": null}, "macro.dbt.default__type_bigint": {"name": "default__type_bigint", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_bigint", "macro_sql": "{% macro default__type_bigint() %}\n {{ return(api.Column.translate_type(\"bigint\")) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.882293, "supported_languages": null}, "macro.dbt.type_int": {"name": "type_int", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_int", "macro_sql": "\n\n{%- macro type_int() -%}\n {{ return(adapter.dispatch('type_int', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_int"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.882439, "supported_languages": null}, "macro.dbt.default__type_int": {"name": "default__type_int", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_int", "macro_sql": "{%- macro default__type_int() -%}\n {{ return(api.Column.translate_type(\"integer\")) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.882576, "supported_languages": null}, "macro.dbt.type_boolean": {"name": "type_boolean", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_boolean", "macro_sql": "\n\n{%- macro type_boolean() -%}\n {{ return(adapter.dispatch('type_boolean', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_boolean"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.882717, "supported_languages": null}, "macro.dbt.default__type_boolean": {"name": "default__type_boolean", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_boolean", "macro_sql": "{%- macro default__type_boolean() -%}\n {{ return(api.Column.translate_type(\"boolean\")) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.882848, "supported_languages": null}, "macro.dbt.array_concat": {"name": "array_concat", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/array_concat.sql", "original_file_path": "macros/utils/array_concat.sql", "unique_id": "macro.dbt.array_concat", "macro_sql": "{% macro array_concat(array_1, array_2) -%}\n {{ return(adapter.dispatch('array_concat', 'dbt')(array_1, array_2)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__array_concat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.883104, "supported_languages": null}, "macro.dbt.default__array_concat": {"name": "default__array_concat", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/array_concat.sql", "original_file_path": "macros/utils/array_concat.sql", "unique_id": "macro.dbt.default__array_concat", "macro_sql": "{% macro default__array_concat(array_1, array_2) -%}\n array_cat({{ array_1 }}, {{ array_2 }})\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8832252, "supported_languages": null}, "macro.dbt.bool_or": {"name": "bool_or", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/bool_or.sql", "original_file_path": "macros/utils/bool_or.sql", "unique_id": "macro.dbt.bool_or", "macro_sql": "{% macro bool_or(expression) -%}\n {{ return(adapter.dispatch('bool_or', 'dbt') (expression)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__bool_or"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8834481, "supported_languages": null}, "macro.dbt.default__bool_or": {"name": "default__bool_or", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/bool_or.sql", "original_file_path": "macros/utils/bool_or.sql", "unique_id": "macro.dbt.default__bool_or", "macro_sql": "{% macro default__bool_or(expression) -%}\n\n bool_or({{ expression }})\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.883596, "supported_languages": null}, "macro.dbt.last_day": {"name": "last_day", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/last_day.sql", "original_file_path": "macros/utils/last_day.sql", "unique_id": "macro.dbt.last_day", "macro_sql": "{% macro last_day(date, datepart) %}\n {{ return(adapter.dispatch('last_day', 'dbt') (date, datepart)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__last_day"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8841238, "supported_languages": null}, "macro.dbt.default_last_day": {"name": "default_last_day", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/last_day.sql", "original_file_path": "macros/utils/last_day.sql", "unique_id": "macro.dbt.default_last_day", "macro_sql": "\n\n{%- macro default_last_day(date, datepart) -%}\n cast(\n {{dbt.dateadd('day', '-1',\n dbt.dateadd(datepart, '1', dbt.date_trunc(datepart, date))\n )}}\n as date)\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.dateadd", "macro.dbt.date_trunc"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.884379, "supported_languages": null}, "macro.dbt.default__last_day": {"name": "default__last_day", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/last_day.sql", "original_file_path": "macros/utils/last_day.sql", "unique_id": "macro.dbt.default__last_day", "macro_sql": "{% macro default__last_day(date, datepart) -%}\n {{dbt.default_last_day(date, datepart)}}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default_last_day"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.884515, "supported_languages": null}, "macro.dbt.split_part": {"name": "split_part", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/split_part.sql", "original_file_path": "macros/utils/split_part.sql", "unique_id": "macro.dbt.split_part", "macro_sql": "{% macro split_part(string_text, delimiter_text, part_number) %}\n {{ return(adapter.dispatch('split_part', 'dbt') (string_text, delimiter_text, part_number)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__split_part"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.884982, "supported_languages": null}, "macro.dbt.default__split_part": {"name": "default__split_part", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/split_part.sql", "original_file_path": "macros/utils/split_part.sql", "unique_id": "macro.dbt.default__split_part", "macro_sql": "{% macro default__split_part(string_text, delimiter_text, part_number) %}\n\n split_part(\n {{ string_text }},\n {{ delimiter_text }},\n {{ part_number }}\n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.885139, "supported_languages": null}, "macro.dbt._split_part_negative": {"name": "_split_part_negative", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/split_part.sql", "original_file_path": "macros/utils/split_part.sql", "unique_id": "macro.dbt._split_part_negative", "macro_sql": "{% macro _split_part_negative(string_text, delimiter_text, part_number) %}\n\n split_part(\n {{ string_text }},\n {{ delimiter_text }},\n length({{ string_text }})\n - length(\n replace({{ string_text }}, {{ delimiter_text }}, '')\n ) + 2 + {{ part_number }}\n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.88534, "supported_languages": null}, "macro.dbt.date_trunc": {"name": "date_trunc", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/date_trunc.sql", "original_file_path": "macros/utils/date_trunc.sql", "unique_id": "macro.dbt.date_trunc", "macro_sql": "{% macro date_trunc(datepart, date) -%}\n {{ return(adapter.dispatch('date_trunc', 'dbt') (datepart, date)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__date_trunc"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8855948, "supported_languages": null}, "macro.dbt.default__date_trunc": {"name": "default__date_trunc", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/date_trunc.sql", "original_file_path": "macros/utils/date_trunc.sql", "unique_id": "macro.dbt.default__date_trunc", "macro_sql": "{% macro default__date_trunc(datepart, date) -%}\n date_trunc('{{datepart}}', {{date}})\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.885717, "supported_languages": null}, "macro.dbt.array_construct": {"name": "array_construct", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/array_construct.sql", "original_file_path": "macros/utils/array_construct.sql", "unique_id": "macro.dbt.array_construct", "macro_sql": "{% macro array_construct(inputs=[], data_type=api.Column.translate_type('integer')) -%}\n {{ return(adapter.dispatch('array_construct', 'dbt')(inputs, data_type)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__array_construct"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.886057, "supported_languages": null}, "macro.dbt.default__array_construct": {"name": "default__array_construct", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/array_construct.sql", "original_file_path": "macros/utils/array_construct.sql", "unique_id": "macro.dbt.default__array_construct", "macro_sql": "{% macro default__array_construct(inputs, data_type) -%}\n {% if inputs|length > 0 %}\n array[ {{ inputs|join(' , ') }} ]\n {% else %}\n array[]::{{data_type}}[]\n {% endif %}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.886295, "supported_languages": null}, "macro.dbt.array_append": {"name": "array_append", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/array_append.sql", "original_file_path": "macros/utils/array_append.sql", "unique_id": "macro.dbt.array_append", "macro_sql": "{% macro array_append(array, new_element) -%}\n {{ return(adapter.dispatch('array_append', 'dbt')(array, new_element)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__array_append"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.886554, "supported_languages": null}, "macro.dbt.default__array_append": {"name": "default__array_append", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/array_append.sql", "original_file_path": "macros/utils/array_append.sql", "unique_id": "macro.dbt.default__array_append", "macro_sql": "{% macro default__array_append(array, new_element) -%}\n array_append({{ array }}, {{ new_element }})\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.886673, "supported_languages": null}, "macro.dbt.create_schema": {"name": "create_schema", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "unique_id": "macro.dbt.create_schema", "macro_sql": "{% macro create_schema(relation) -%}\n {{ adapter.dispatch('create_schema', 'dbt')(relation) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__create_schema"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8870022, "supported_languages": null}, "macro.dbt.default__create_schema": {"name": "default__create_schema", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "unique_id": "macro.dbt.default__create_schema", "macro_sql": "{% macro default__create_schema(relation) -%}\n {%- call statement('create_schema') -%}\n create schema if not exists {{ relation.without_identifier() }}\n {% endcall %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8871639, "supported_languages": null}, "macro.dbt.drop_schema": {"name": "drop_schema", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "unique_id": "macro.dbt.drop_schema", "macro_sql": "{% macro drop_schema(relation) -%}\n {{ adapter.dispatch('drop_schema', 'dbt')(relation) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__drop_schema"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.88731, "supported_languages": null}, "macro.dbt.default__drop_schema": {"name": "default__drop_schema", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "unique_id": "macro.dbt.default__drop_schema", "macro_sql": "{% macro default__drop_schema(relation) -%}\n {%- call statement('drop_schema') -%}\n drop schema if exists {{ relation.without_identifier() }} cascade\n {% endcall %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8874712, "supported_languages": null}, "macro.dbt.current_timestamp": {"name": "current_timestamp", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.current_timestamp", "macro_sql": "{%- macro current_timestamp() -%}\n {{ adapter.dispatch('current_timestamp', 'dbt')() }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt_postgres.postgres__current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8878982, "supported_languages": null}, "macro.dbt.default__current_timestamp": {"name": "default__current_timestamp", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.default__current_timestamp", "macro_sql": "{% macro default__current_timestamp() -%}\n {{ exceptions.raise_not_implemented(\n 'current_timestamp macro not implemented for adapter ' + adapter.type()) }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.888034, "supported_languages": null}, "macro.dbt.snapshot_get_time": {"name": "snapshot_get_time", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.snapshot_get_time", "macro_sql": "\n\n{%- macro snapshot_get_time() -%}\n {{ adapter.dispatch('snapshot_get_time', 'dbt')() }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt_postgres.postgres__snapshot_get_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.888159, "supported_languages": null}, "macro.dbt.default__snapshot_get_time": {"name": "default__snapshot_get_time", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.default__snapshot_get_time", "macro_sql": "{% macro default__snapshot_get_time() %}\n {{ current_timestamp() }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.888264, "supported_languages": null}, "macro.dbt.current_timestamp_backcompat": {"name": "current_timestamp_backcompat", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.current_timestamp_backcompat", "macro_sql": "{% macro current_timestamp_backcompat() %}\n {{ return(adapter.dispatch('current_timestamp_backcompat', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__current_timestamp_backcompat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.888475, "supported_languages": null}, "macro.dbt.default__current_timestamp_backcompat": {"name": "default__current_timestamp_backcompat", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.default__current_timestamp_backcompat", "macro_sql": "{% macro default__current_timestamp_backcompat() %}\n current_timestamp::timestamp\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.888566, "supported_languages": null}, "macro.dbt.current_timestamp_in_utc_backcompat": {"name": "current_timestamp_in_utc_backcompat", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.current_timestamp_in_utc_backcompat", "macro_sql": "{% macro current_timestamp_in_utc_backcompat() %}\n {{ return(adapter.dispatch('current_timestamp_in_utc_backcompat', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__current_timestamp_in_utc_backcompat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8887281, "supported_languages": null}, "macro.dbt.default__current_timestamp_in_utc_backcompat": {"name": "default__current_timestamp_in_utc_backcompat", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.default__current_timestamp_in_utc_backcompat", "macro_sql": "{% macro default__current_timestamp_in_utc_backcompat() %}\n {{ return(adapter.dispatch('current_timestamp_backcompat', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.current_timestamp_backcompat", "macro.dbt_postgres.postgres__current_timestamp_backcompat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8888772, "supported_languages": null}, "macro.dbt.get_create_index_sql": {"name": "get_create_index_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "unique_id": "macro.dbt.get_create_index_sql", "macro_sql": "{% macro get_create_index_sql(relation, index_dict) -%}\n {{ return(adapter.dispatch('get_create_index_sql', 'dbt')(relation, index_dict)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_create_index_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8896031, "supported_languages": null}, "macro.dbt.default__get_create_index_sql": {"name": "default__get_create_index_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "unique_id": "macro.dbt.default__get_create_index_sql", "macro_sql": "{% macro default__get_create_index_sql(relation, index_dict) -%}\n {% do return(None) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8897269, "supported_languages": null}, "macro.dbt.create_indexes": {"name": "create_indexes", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "unique_id": "macro.dbt.create_indexes", "macro_sql": "{% macro create_indexes(relation) -%}\n {{ adapter.dispatch('create_indexes', 'dbt')(relation) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__create_indexes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.889867, "supported_languages": null}, "macro.dbt.default__create_indexes": {"name": "default__create_indexes", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "unique_id": "macro.dbt.default__create_indexes", "macro_sql": "{% macro default__create_indexes(relation) -%}\n {%- set _indexes = config.get('indexes', default=[]) -%}\n\n {% for _index_dict in _indexes %}\n {% set create_index_sql = get_create_index_sql(relation, _index_dict) %}\n {% if create_index_sql %}\n {% do run_query(create_index_sql) %}\n {% endif %}\n {% endfor %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_create_index_sql", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.890221, "supported_languages": null}, "macro.dbt.get_drop_index_sql": {"name": "get_drop_index_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "unique_id": "macro.dbt.get_drop_index_sql", "macro_sql": "{% macro get_drop_index_sql(relation, index_name) -%}\n {{ adapter.dispatch('get_drop_index_sql', 'dbt')(relation, index_name) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_drop_index_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.890387, "supported_languages": null}, "macro.dbt.default__get_drop_index_sql": {"name": "default__get_drop_index_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "unique_id": "macro.dbt.default__get_drop_index_sql", "macro_sql": "{% macro default__get_drop_index_sql(relation, index_name) -%}\n {{ exceptions.raise_compiler_error(\"`get_drop_index_sql has not been implemented for this adapter.\") }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.890508, "supported_languages": null}, "macro.dbt.get_show_indexes_sql": {"name": "get_show_indexes_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "unique_id": "macro.dbt.get_show_indexes_sql", "macro_sql": "{% macro get_show_indexes_sql(relation) -%}\n {{ adapter.dispatch('get_show_indexes_sql', 'dbt')(relation) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_show_indexes_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.890647, "supported_languages": null}, "macro.dbt.default__get_show_indexes_sql": {"name": "default__get_show_indexes_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "unique_id": "macro.dbt.default__get_show_indexes_sql", "macro_sql": "{% macro default__get_show_indexes_sql(relation) -%}\n {{ exceptions.raise_compiler_error(\"`get_show_indexes_sql has not been implemented for this adapter.\") }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.890759, "supported_languages": null}, "macro.dbt.make_intermediate_relation": {"name": "make_intermediate_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.make_intermediate_relation", "macro_sql": "{% macro make_intermediate_relation(base_relation, suffix='__dbt_tmp') %}\n {{ return(adapter.dispatch('make_intermediate_relation', 'dbt')(base_relation, suffix)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__make_intermediate_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8925061, "supported_languages": null}, "macro.dbt.default__make_intermediate_relation": {"name": "default__make_intermediate_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.default__make_intermediate_relation", "macro_sql": "{% macro default__make_intermediate_relation(base_relation, suffix) %}\n {{ return(default__make_temp_relation(base_relation, suffix)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__make_temp_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.89266, "supported_languages": null}, "macro.dbt.make_temp_relation": {"name": "make_temp_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.make_temp_relation", "macro_sql": "{% macro make_temp_relation(base_relation, suffix='__dbt_tmp') %}\n {{ return(adapter.dispatch('make_temp_relation', 'dbt')(base_relation, suffix)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__make_temp_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8928509, "supported_languages": null}, "macro.dbt.default__make_temp_relation": {"name": "default__make_temp_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.default__make_temp_relation", "macro_sql": "{% macro default__make_temp_relation(base_relation, suffix) %}\n {%- set temp_identifier = base_relation.identifier ~ suffix -%}\n {%- set temp_relation = base_relation.incorporate(\n path={\"identifier\": temp_identifier}) -%}\n\n {{ return(temp_relation) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.893108, "supported_languages": null}, "macro.dbt.make_backup_relation": {"name": "make_backup_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.make_backup_relation", "macro_sql": "{% macro make_backup_relation(base_relation, backup_relation_type, suffix='__dbt_backup') %}\n {{ return(adapter.dispatch('make_backup_relation', 'dbt')(base_relation, backup_relation_type, suffix)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__make_backup_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.893325, "supported_languages": null}, "macro.dbt.default__make_backup_relation": {"name": "default__make_backup_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.default__make_backup_relation", "macro_sql": "{% macro default__make_backup_relation(base_relation, backup_relation_type, suffix) %}\n {%- set backup_identifier = base_relation.identifier ~ suffix -%}\n {%- set backup_relation = base_relation.incorporate(\n path={\"identifier\": backup_identifier},\n type=backup_relation_type\n ) -%}\n {{ return(backup_relation) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.893707, "supported_languages": null}, "macro.dbt.truncate_relation": {"name": "truncate_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.truncate_relation", "macro_sql": "{% macro truncate_relation(relation) -%}\n {{ return(adapter.dispatch('truncate_relation', 'dbt')(relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__truncate_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.893952, "supported_languages": null}, "macro.dbt.default__truncate_relation": {"name": "default__truncate_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.default__truncate_relation", "macro_sql": "{% macro default__truncate_relation(relation) -%}\n {% call statement('truncate_relation') -%}\n truncate table {{ relation }}\n {%- endcall %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.894227, "supported_languages": null}, "macro.dbt.get_or_create_relation": {"name": "get_or_create_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.get_or_create_relation", "macro_sql": "{% macro get_or_create_relation(database, schema, identifier, type) -%}\n {{ return(adapter.dispatch('get_or_create_relation', 'dbt')(database, schema, identifier, type)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_or_create_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8944619, "supported_languages": null}, "macro.dbt.default__get_or_create_relation": {"name": "default__get_or_create_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.default__get_or_create_relation", "macro_sql": "{% macro default__get_or_create_relation(database, schema, identifier, type) %}\n {%- set target_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) %}\n\n {% if target_relation %}\n {% do return([true, target_relation]) %}\n {% endif %}\n\n {%- set new_relation = api.Relation.create(\n database=database,\n schema=schema,\n identifier=identifier,\n type=type\n ) -%}\n {% do return([false, new_relation]) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.894986, "supported_languages": null}, "macro.dbt.load_cached_relation": {"name": "load_cached_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.load_cached_relation", "macro_sql": "{% macro load_cached_relation(relation) %}\n {% do return(adapter.get_relation(\n database=relation.database,\n schema=relation.schema,\n identifier=relation.identifier\n )) -%}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.895209, "supported_languages": null}, "macro.dbt.load_relation": {"name": "load_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.load_relation", "macro_sql": "{% macro load_relation(relation) %}\n {{ return(load_cached_relation(relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.load_cached_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.895344, "supported_languages": null}, "macro.dbt.collect_freshness": {"name": "collect_freshness", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/freshness.sql", "original_file_path": "macros/adapters/freshness.sql", "unique_id": "macro.dbt.collect_freshness", "macro_sql": "{% macro collect_freshness(source, loaded_at_field, filter) %}\n {{ return(adapter.dispatch('collect_freshness', 'dbt')(source, loaded_at_field, filter))}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__collect_freshness"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.895757, "supported_languages": null}, "macro.dbt.default__collect_freshness": {"name": "default__collect_freshness", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/freshness.sql", "original_file_path": "macros/adapters/freshness.sql", "unique_id": "macro.dbt.default__collect_freshness", "macro_sql": "{% macro default__collect_freshness(source, loaded_at_field, filter) %}\n {% call statement('collect_freshness', fetch_result=True, auto_begin=False) -%}\n select\n max({{ loaded_at_field }}) as max_loaded_at,\n {{ current_timestamp() }} as snapshotted_at\n from {{ source }}\n {% if filter %}\n where {{ filter }}\n {% endif %}\n {% endcall %}\n {{ return(load_result('collect_freshness')) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt.current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.896149, "supported_languages": null}, "macro.dbt.validate_sql": {"name": "validate_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/validate_sql.sql", "original_file_path": "macros/adapters/validate_sql.sql", "unique_id": "macro.dbt.validate_sql", "macro_sql": "{% macro validate_sql(sql) -%}\n {{ return(adapter.dispatch('validate_sql', 'dbt')(sql)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__validate_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.896402, "supported_languages": null}, "macro.dbt.default__validate_sql": {"name": "default__validate_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/validate_sql.sql", "original_file_path": "macros/adapters/validate_sql.sql", "unique_id": "macro.dbt.default__validate_sql", "macro_sql": "{% macro default__validate_sql(sql) -%}\n {% call statement('validate_sql') -%}\n explain {{ sql }}\n {% endcall %}\n {{ return(load_result('validate_sql')) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.896606, "supported_languages": null}, "macro.dbt.copy_grants": {"name": "copy_grants", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.copy_grants", "macro_sql": "{% macro copy_grants() %}\n {{ return(adapter.dispatch('copy_grants', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__copy_grants"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.898134, "supported_languages": null}, "macro.dbt.default__copy_grants": {"name": "default__copy_grants", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__copy_grants", "macro_sql": "{% macro default__copy_grants() %}\n {{ return(True) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.898245, "supported_languages": null}, "macro.dbt.support_multiple_grantees_per_dcl_statement": {"name": "support_multiple_grantees_per_dcl_statement", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.support_multiple_grantees_per_dcl_statement", "macro_sql": "{% macro support_multiple_grantees_per_dcl_statement() %}\n {{ return(adapter.dispatch('support_multiple_grantees_per_dcl_statement', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__support_multiple_grantees_per_dcl_statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8984, "supported_languages": null}, "macro.dbt.default__support_multiple_grantees_per_dcl_statement": {"name": "default__support_multiple_grantees_per_dcl_statement", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__support_multiple_grantees_per_dcl_statement", "macro_sql": "\n\n{%- macro default__support_multiple_grantees_per_dcl_statement() -%}\n {{ return(True) }}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.898504, "supported_languages": null}, "macro.dbt.should_revoke": {"name": "should_revoke", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.should_revoke", "macro_sql": "{% macro should_revoke(existing_relation, full_refresh_mode=True) %}\n\n {% if not existing_relation %}\n {#-- The table doesn't already exist, so no grants to copy over --#}\n {{ return(False) }}\n {% elif full_refresh_mode %}\n {#-- The object is being REPLACED -- whether grants are copied over depends on the value of user config --#}\n {{ return(copy_grants()) }}\n {% else %}\n {#-- The table is being merged/upserted/inserted -- grants will be carried over --#}\n {{ return(True) }}\n {% endif %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.copy_grants"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.898816, "supported_languages": null}, "macro.dbt.get_show_grant_sql": {"name": "get_show_grant_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.get_show_grant_sql", "macro_sql": "{% macro get_show_grant_sql(relation) %}\n {{ return(adapter.dispatch(\"get_show_grant_sql\", \"dbt\")(relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_show_grant_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8989818, "supported_languages": null}, "macro.dbt.default__get_show_grant_sql": {"name": "default__get_show_grant_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__get_show_grant_sql", "macro_sql": "{% macro default__get_show_grant_sql(relation) %}\n show grants on {{ relation }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.899086, "supported_languages": null}, "macro.dbt.get_grant_sql": {"name": "get_grant_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.get_grant_sql", "macro_sql": "{% macro get_grant_sql(relation, privilege, grantees) %}\n {{ return(adapter.dispatch('get_grant_sql', 'dbt')(relation, privilege, grantees)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_grant_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.899286, "supported_languages": null}, "macro.dbt.default__get_grant_sql": {"name": "default__get_grant_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__get_grant_sql", "macro_sql": "\n\n{%- macro default__get_grant_sql(relation, privilege, grantees) -%}\n grant {{ privilege }} on {{ relation }} to {{ grantees | join(', ') }}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.899455, "supported_languages": null}, "macro.dbt.get_revoke_sql": {"name": "get_revoke_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.get_revoke_sql", "macro_sql": "{% macro get_revoke_sql(relation, privilege, grantees) %}\n {{ return(adapter.dispatch('get_revoke_sql', 'dbt')(relation, privilege, grantees)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_revoke_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.899673, "supported_languages": null}, "macro.dbt.default__get_revoke_sql": {"name": "default__get_revoke_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__get_revoke_sql", "macro_sql": "\n\n{%- macro default__get_revoke_sql(relation, privilege, grantees) -%}\n revoke {{ privilege }} on {{ relation }} from {{ grantees | join(', ') }}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.8999271, "supported_languages": null}, "macro.dbt.get_dcl_statement_list": {"name": "get_dcl_statement_list", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.get_dcl_statement_list", "macro_sql": "{% macro get_dcl_statement_list(relation, grant_config, get_dcl_macro) %}\n {{ return(adapter.dispatch('get_dcl_statement_list', 'dbt')(relation, grant_config, get_dcl_macro)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_dcl_statement_list"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.900154, "supported_languages": null}, "macro.dbt.default__get_dcl_statement_list": {"name": "default__get_dcl_statement_list", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__get_dcl_statement_list", "macro_sql": "\n\n{%- macro default__get_dcl_statement_list(relation, grant_config, get_dcl_macro) -%}\n {#\n -- Unpack grant_config into specific privileges and the set of users who need them granted/revoked.\n -- Depending on whether this database supports multiple grantees per statement, pass in the list of\n -- all grantees per privilege, or (if not) template one statement per privilege-grantee pair.\n -- `get_dcl_macro` will be either `get_grant_sql` or `get_revoke_sql`\n #}\n {%- set dcl_statements = [] -%}\n {%- for privilege, grantees in grant_config.items() %}\n {%- if support_multiple_grantees_per_dcl_statement() and grantees -%}\n {%- set dcl = get_dcl_macro(relation, privilege, grantees) -%}\n {%- do dcl_statements.append(dcl) -%}\n {%- else -%}\n {%- for grantee in grantees -%}\n {% set dcl = get_dcl_macro(relation, privilege, [grantee]) %}\n {%- do dcl_statements.append(dcl) -%}\n {% endfor -%}\n {%- endif -%}\n {%- endfor -%}\n {{ return(dcl_statements) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.support_multiple_grantees_per_dcl_statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.900892, "supported_languages": null}, "macro.dbt.call_dcl_statements": {"name": "call_dcl_statements", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.call_dcl_statements", "macro_sql": "{% macro call_dcl_statements(dcl_statement_list) %}\n {{ return(adapter.dispatch(\"call_dcl_statements\", \"dbt\")(dcl_statement_list)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__call_dcl_statements"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.901102, "supported_languages": null}, "macro.dbt.default__call_dcl_statements": {"name": "default__call_dcl_statements", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__call_dcl_statements", "macro_sql": "{% macro default__call_dcl_statements(dcl_statement_list) %}\n {#\n -- By default, supply all grant + revoke statements in a single semicolon-separated block,\n -- so that they're all processed together.\n\n -- Some databases do not support this. Those adapters will need to override this macro\n -- to run each statement individually.\n #}\n {% call statement('grants') %}\n {% for dcl_statement in dcl_statement_list %}\n {{ dcl_statement }};\n {% endfor %}\n {% endcall %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.901331, "supported_languages": null}, "macro.dbt.apply_grants": {"name": "apply_grants", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.apply_grants", "macro_sql": "{% macro apply_grants(relation, grant_config, should_revoke) %}\n {{ return(adapter.dispatch(\"apply_grants\", \"dbt\")(relation, grant_config, should_revoke)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__apply_grants"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9015412, "supported_languages": null}, "macro.dbt.default__apply_grants": {"name": "default__apply_grants", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__apply_grants", "macro_sql": "{% macro default__apply_grants(relation, grant_config, should_revoke=True) %}\n {#-- If grant_config is {} or None, this is a no-op --#}\n {% if grant_config %}\n {% if should_revoke %}\n {#-- We think previous grants may have carried over --#}\n {#-- Show current grants and calculate diffs --#}\n {% set current_grants_table = run_query(get_show_grant_sql(relation)) %}\n {% set current_grants_dict = adapter.standardize_grants_dict(current_grants_table) %}\n {% set needs_granting = diff_of_two_dicts(grant_config, current_grants_dict) %}\n {% set needs_revoking = diff_of_two_dicts(current_grants_dict, grant_config) %}\n {% if not (needs_granting or needs_revoking) %}\n {{ log('On ' ~ relation ~': All grants are in place, no revocation or granting needed.')}}\n {% endif %}\n {% else %}\n {#-- We don't think there's any chance of previous grants having carried over. --#}\n {#-- Jump straight to granting what the user has configured. --#}\n {% set needs_revoking = {} %}\n {% set needs_granting = grant_config %}\n {% endif %}\n {% if needs_granting or needs_revoking %}\n {% set revoke_statement_list = get_dcl_statement_list(relation, needs_revoking, get_revoke_sql) %}\n {% set grant_statement_list = get_dcl_statement_list(relation, needs_granting, get_grant_sql) %}\n {% set dcl_statement_list = revoke_statement_list + grant_statement_list %}\n {% if dcl_statement_list %}\n {{ call_dcl_statements(dcl_statement_list) }}\n {% endif %}\n {% endif %}\n {% endif %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.run_query", "macro.dbt.get_show_grant_sql", "macro.dbt.get_dcl_statement_list", "macro.dbt.call_dcl_statements"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.902581, "supported_languages": null}, "macro.dbt.get_show_sql": {"name": "get_show_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/show.sql", "original_file_path": "macros/adapters/show.sql", "unique_id": "macro.dbt.get_show_sql", "macro_sql": "{% macro get_show_sql(compiled_code, sql_header, limit) -%}\n {%- if sql_header -%}\n {{ sql_header }}\n {%- endif -%}\n {%- if limit is not none -%}\n {{ get_limit_subquery_sql(compiled_code, limit) }}\n {%- else -%}\n {{ compiled_code }}\n {%- endif -%}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_limit_subquery_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9030888, "supported_languages": null}, "macro.dbt.get_limit_subquery_sql": {"name": "get_limit_subquery_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/show.sql", "original_file_path": "macros/adapters/show.sql", "unique_id": "macro.dbt.get_limit_subquery_sql", "macro_sql": "{% macro get_limit_subquery_sql(sql, limit) %}\n {{ adapter.dispatch('get_limit_subquery_sql', 'dbt')(sql, limit) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_limit_subquery_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.903275, "supported_languages": null}, "macro.dbt.default__get_limit_subquery_sql": {"name": "default__get_limit_subquery_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/show.sql", "original_file_path": "macros/adapters/show.sql", "unique_id": "macro.dbt.default__get_limit_subquery_sql", "macro_sql": "{% macro default__get_limit_subquery_sql(sql, limit) %}\n select *\n from (\n {{ sql }}\n ) as model_limit_subq\n limit {{ limit }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.903402, "supported_languages": null}, "macro.dbt.alter_column_comment": {"name": "alter_column_comment", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "unique_id": "macro.dbt.alter_column_comment", "macro_sql": "{% macro alter_column_comment(relation, column_dict) -%}\n {{ return(adapter.dispatch('alter_column_comment', 'dbt')(relation, column_dict)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__alter_column_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.904033, "supported_languages": null}, "macro.dbt.default__alter_column_comment": {"name": "default__alter_column_comment", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "unique_id": "macro.dbt.default__alter_column_comment", "macro_sql": "{% macro default__alter_column_comment(relation, column_dict) -%}\n {{ exceptions.raise_not_implemented(\n 'alter_column_comment macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.904201, "supported_languages": null}, "macro.dbt.alter_relation_comment": {"name": "alter_relation_comment", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "unique_id": "macro.dbt.alter_relation_comment", "macro_sql": "{% macro alter_relation_comment(relation, relation_comment) -%}\n {{ return(adapter.dispatch('alter_relation_comment', 'dbt')(relation, relation_comment)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__alter_relation_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.904392, "supported_languages": null}, "macro.dbt.default__alter_relation_comment": {"name": "default__alter_relation_comment", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "unique_id": "macro.dbt.default__alter_relation_comment", "macro_sql": "{% macro default__alter_relation_comment(relation, relation_comment) -%}\n {{ exceptions.raise_not_implemented(\n 'alter_relation_comment macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.904546, "supported_languages": null}, "macro.dbt.persist_docs": {"name": "persist_docs", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "unique_id": "macro.dbt.persist_docs", "macro_sql": "{% macro persist_docs(relation, model, for_relation=true, for_columns=true) -%}\n {{ return(adapter.dispatch('persist_docs', 'dbt')(relation, model, for_relation, for_columns)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.904788, "supported_languages": null}, "macro.dbt.default__persist_docs": {"name": "default__persist_docs", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "unique_id": "macro.dbt.default__persist_docs", "macro_sql": "{% macro default__persist_docs(relation, model, for_relation, for_columns) -%}\n {% if for_relation and config.persist_relation_docs() and model.description %}\n {% do run_query(alter_relation_comment(relation, model.description)) %}\n {% endif %}\n\n {% if for_columns and config.persist_column_docs() and model.columns %}\n {% do run_query(alter_column_comment(relation, model.columns)) %}\n {% endif %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.run_query", "macro.dbt.alter_relation_comment", "macro.dbt.alter_column_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.905227, "supported_languages": null}, "macro.dbt.get_catalog_relations": {"name": "get_catalog_relations", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.get_catalog_relations", "macro_sql": "{% macro get_catalog_relations(information_schema, relations) -%}\n {{ return(adapter.dispatch('get_catalog_relations', 'dbt')(information_schema, relations)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_catalog_relations"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.907684, "supported_languages": null}, "macro.dbt.default__get_catalog_relations": {"name": "default__get_catalog_relations", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__get_catalog_relations", "macro_sql": "{% macro default__get_catalog_relations(information_schema, relations) -%}\n {% set typename = adapter.type() %}\n {% set msg -%}\n get_catalog_relations not implemented for {{ typename }}\n {%- endset %}\n\n {{ exceptions.raise_compiler_error(msg) }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.907979, "supported_languages": null}, "macro.dbt.get_catalog": {"name": "get_catalog", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.get_catalog", "macro_sql": "{% macro get_catalog(information_schema, schemas) -%}\n {{ return(adapter.dispatch('get_catalog', 'dbt')(information_schema, schemas)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_catalog"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.908231, "supported_languages": null}, "macro.dbt.default__get_catalog": {"name": "default__get_catalog", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__get_catalog", "macro_sql": "{% macro default__get_catalog(information_schema, schemas) -%}\n\n {% set typename = adapter.type() %}\n {% set msg -%}\n get_catalog not implemented for {{ typename }}\n {%- endset %}\n\n {{ exceptions.raise_compiler_error(msg) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.908576, "supported_languages": null}, "macro.dbt.information_schema_name": {"name": "information_schema_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.information_schema_name", "macro_sql": "{% macro information_schema_name(database) %}\n {{ return(adapter.dispatch('information_schema_name', 'dbt')(database)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__information_schema_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.908757, "supported_languages": null}, "macro.dbt.default__information_schema_name": {"name": "default__information_schema_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__information_schema_name", "macro_sql": "{% macro default__information_schema_name(database) -%}\n {%- if database -%}\n {{ database }}.INFORMATION_SCHEMA\n {%- else -%}\n INFORMATION_SCHEMA\n {%- endif -%}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.908898, "supported_languages": null}, "macro.dbt.list_schemas": {"name": "list_schemas", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.list_schemas", "macro_sql": "{% macro list_schemas(database) -%}\n {{ return(adapter.dispatch('list_schemas', 'dbt')(database)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__list_schemas"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.909065, "supported_languages": null}, "macro.dbt.default__list_schemas": {"name": "default__list_schemas", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__list_schemas", "macro_sql": "{% macro default__list_schemas(database) -%}\n {% set sql %}\n select distinct schema_name\n from {{ information_schema_name(database) }}.SCHEMATA\n where catalog_name ilike '{{ database }}'\n {% endset %}\n {{ return(run_query(sql)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.information_schema_name", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9092932, "supported_languages": null}, "macro.dbt.check_schema_exists": {"name": "check_schema_exists", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.check_schema_exists", "macro_sql": "{% macro check_schema_exists(information_schema, schema) -%}\n {{ return(adapter.dispatch('check_schema_exists', 'dbt')(information_schema, schema)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__check_schema_exists"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9094741, "supported_languages": null}, "macro.dbt.default__check_schema_exists": {"name": "default__check_schema_exists", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__check_schema_exists", "macro_sql": "{% macro default__check_schema_exists(information_schema, schema) -%}\n {% set sql -%}\n select count(*)\n from {{ information_schema.replace(information_schema_view='SCHEMATA') }}\n where catalog_name='{{ information_schema.database }}'\n and schema_name='{{ schema }}'\n {%- endset %}\n {{ return(run_query(sql)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.replace", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.909754, "supported_languages": null}, "macro.dbt.list_relations_without_caching": {"name": "list_relations_without_caching", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.list_relations_without_caching", "macro_sql": "{% macro list_relations_without_caching(schema_relation) %}\n {{ return(adapter.dispatch('list_relations_without_caching', 'dbt')(schema_relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__list_relations_without_caching"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.909926, "supported_languages": null}, "macro.dbt.default__list_relations_without_caching": {"name": "default__list_relations_without_caching", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__list_relations_without_caching", "macro_sql": "{% macro default__list_relations_without_caching(schema_relation) %}\n {{ exceptions.raise_not_implemented(\n 'list_relations_without_caching macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.910072, "supported_languages": null}, "macro.dbt.get_relations": {"name": "get_relations", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.get_relations", "macro_sql": "{% macro get_relations() %}\n {{ return(adapter.dispatch('get_relations', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_relations"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.910221, "supported_languages": null}, "macro.dbt.default__get_relations": {"name": "default__get_relations", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__get_relations", "macro_sql": "{% macro default__get_relations() %}\n {{ exceptions.raise_not_implemented(\n 'get_relations macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.910356, "supported_languages": null}, "macro.dbt.get_relation_last_modified": {"name": "get_relation_last_modified", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.get_relation_last_modified", "macro_sql": "{% macro get_relation_last_modified(information_schema, relations) %}\n {{ return(adapter.dispatch('get_relation_last_modified', 'dbt')(information_schema, relations)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_relation_last_modified"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9105349, "supported_languages": null}, "macro.dbt.default__get_relation_last_modified": {"name": "default__get_relation_last_modified", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__get_relation_last_modified", "macro_sql": "{% macro default__get_relation_last_modified(information_schema, relations) %}\n {{ exceptions.raise_not_implemented(\n 'get_relation_last_modified macro not implemented for adapter ' + adapter.type()) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9106922, "supported_languages": null}, "macro.dbt.get_columns_in_relation": {"name": "get_columns_in_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.get_columns_in_relation", "macro_sql": "{% macro get_columns_in_relation(relation) -%}\n {{ return(adapter.dispatch('get_columns_in_relation', 'dbt')(relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_columns_in_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.91263, "supported_languages": null}, "macro.dbt.default__get_columns_in_relation": {"name": "default__get_columns_in_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.default__get_columns_in_relation", "macro_sql": "{% macro default__get_columns_in_relation(relation) -%}\n {{ exceptions.raise_not_implemented(\n 'get_columns_in_relation macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.912771, "supported_languages": null}, "macro.dbt.sql_convert_columns_in_relation": {"name": "sql_convert_columns_in_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.sql_convert_columns_in_relation", "macro_sql": "{% macro sql_convert_columns_in_relation(table) -%}\n {% set columns = [] %}\n {% for row in table %}\n {% do columns.append(api.Column(*row)) %}\n {% endfor %}\n {{ return(columns) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.913045, "supported_languages": null}, "macro.dbt.get_empty_subquery_sql": {"name": "get_empty_subquery_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.get_empty_subquery_sql", "macro_sql": "{% macro get_empty_subquery_sql(select_sql, select_sql_header=none) -%}\n {{ return(adapter.dispatch('get_empty_subquery_sql', 'dbt')(select_sql, select_sql_header)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_empty_subquery_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.913238, "supported_languages": null}, "macro.dbt.default__get_empty_subquery_sql": {"name": "default__get_empty_subquery_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.default__get_empty_subquery_sql", "macro_sql": "{% macro default__get_empty_subquery_sql(select_sql, select_sql_header=none) %}\n {%- if select_sql_header is not none -%}\n {{ select_sql_header }}\n {%- endif -%}\n select * from (\n {{ select_sql }}\n ) as __dbt_sbq\n where false\n limit 0\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.913419, "supported_languages": null}, "macro.dbt.get_empty_schema_sql": {"name": "get_empty_schema_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.get_empty_schema_sql", "macro_sql": "{% macro get_empty_schema_sql(columns) -%}\n {{ return(adapter.dispatch('get_empty_schema_sql', 'dbt')(columns)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_empty_schema_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.913578, "supported_languages": null}, "macro.dbt.default__get_empty_schema_sql": {"name": "default__get_empty_schema_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.default__get_empty_schema_sql", "macro_sql": "{% macro default__get_empty_schema_sql(columns) %}\n {%- set col_err = [] -%}\n {%- set col_naked_numeric = [] -%}\n select\n {% for i in columns %}\n {%- set col = columns[i] -%}\n {%- if col['data_type'] is not defined -%}\n {%- do col_err.append(col['name']) -%}\n {#-- If this column's type is just 'numeric' then it is missing precision/scale, raise a warning --#}\n {%- elif col['data_type'].strip().lower() in ('numeric', 'decimal', 'number') -%}\n {%- do col_naked_numeric.append(col['name']) -%}\n {%- endif -%}\n {% set col_name = adapter.quote(col['name']) if col.get('quote') else col['name'] %}\n cast(null as {{ col['data_type'] }}) as {{ col_name }}{{ \", \" if not loop.last }}\n {%- endfor -%}\n {%- if (col_err | length) > 0 -%}\n {{ exceptions.column_type_missing(column_names=col_err) }}\n {%- elif (col_naked_numeric | length) > 0 -%}\n {{ exceptions.warn(\"Detected columns with numeric type and unspecified precision/scale, this can lead to unintended rounding: \" ~ col_naked_numeric ~ \"`\") }}\n {%- endif -%}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.914666, "supported_languages": null}, "macro.dbt.get_column_schema_from_query": {"name": "get_column_schema_from_query", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.get_column_schema_from_query", "macro_sql": "{% macro get_column_schema_from_query(select_sql, select_sql_header=none) -%}\n {% set columns = [] %}\n {# -- Using an 'empty subquery' here to get the same schema as the given select_sql statement, without necessitating a data scan.#}\n {% set sql = get_empty_subquery_sql(select_sql, select_sql_header) %}\n {% set column_schema = adapter.get_column_schema_from_query(sql) %}\n {{ return(column_schema) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_empty_subquery_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9149709, "supported_languages": null}, "macro.dbt.get_columns_in_query": {"name": "get_columns_in_query", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.get_columns_in_query", "macro_sql": "{% macro get_columns_in_query(select_sql) -%}\n {{ return(adapter.dispatch('get_columns_in_query', 'dbt')(select_sql)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_columns_in_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.915139, "supported_languages": null}, "macro.dbt.default__get_columns_in_query": {"name": "default__get_columns_in_query", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.default__get_columns_in_query", "macro_sql": "{% macro default__get_columns_in_query(select_sql) %}\n {% call statement('get_columns_in_query', fetch_result=True, auto_begin=False) -%}\n {{ get_empty_subquery_sql(select_sql) }}\n {% endcall %}\n {{ return(load_result('get_columns_in_query').table.columns | map(attribute='name') | list) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt.get_empty_subquery_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.915448, "supported_languages": null}, "macro.dbt.alter_column_type": {"name": "alter_column_type", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.alter_column_type", "macro_sql": "{% macro alter_column_type(relation, column_name, new_column_type) -%}\n {{ return(adapter.dispatch('alter_column_type', 'dbt')(relation, column_name, new_column_type)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__alter_column_type"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.915652, "supported_languages": null}, "macro.dbt.default__alter_column_type": {"name": "default__alter_column_type", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.default__alter_column_type", "macro_sql": "{% macro default__alter_column_type(relation, column_name, new_column_type) -%}\n {#\n 1. Create a new column (w/ temp name and correct type)\n 2. Copy data over to it\n 3. Drop the existing column (cascade!)\n 4. Rename the new column to existing column\n #}\n {%- set tmp_column = column_name + \"__dbt_alter\" -%}\n\n {% call statement('alter_column_type') %}\n alter table {{ relation }} add column {{ adapter.quote(tmp_column) }} {{ new_column_type }};\n update {{ relation }} set {{ adapter.quote(tmp_column) }} = {{ adapter.quote(column_name) }};\n alter table {{ relation }} drop column {{ adapter.quote(column_name) }} cascade;\n alter table {{ relation }} rename column {{ adapter.quote(tmp_column) }} to {{ adapter.quote(column_name) }}\n {% endcall %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.916192, "supported_languages": null}, "macro.dbt.alter_relation_add_remove_columns": {"name": "alter_relation_add_remove_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.alter_relation_add_remove_columns", "macro_sql": "{% macro alter_relation_add_remove_columns(relation, add_columns = none, remove_columns = none) -%}\n {{ return(adapter.dispatch('alter_relation_add_remove_columns', 'dbt')(relation, add_columns, remove_columns)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__alter_relation_add_remove_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.91644, "supported_languages": null}, "macro.dbt.default__alter_relation_add_remove_columns": {"name": "default__alter_relation_add_remove_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.default__alter_relation_add_remove_columns", "macro_sql": "{% macro default__alter_relation_add_remove_columns(relation, add_columns, remove_columns) %}\n\n {% if add_columns is none %}\n {% set add_columns = [] %}\n {% endif %}\n {% if remove_columns is none %}\n {% set remove_columns = [] %}\n {% endif %}\n\n {% set sql -%}\n\n alter {{ relation.type }} {{ relation }}\n\n {% for column in add_columns %}\n add column {{ column.name }} {{ column.data_type }}{{ ',' if not loop.last }}\n {% endfor %}{{ ',' if add_columns and remove_columns }}\n\n {% for column in remove_columns %}\n drop column {{ column.name }}{{ ',' if not loop.last }}\n {% endfor %}\n\n {%- endset -%}\n\n {% do run_query(sql) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9171321, "supported_languages": null}, "macro.dbt.resolve_model_name": {"name": "resolve_model_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.resolve_model_name", "macro_sql": "{% macro resolve_model_name(input_model_name) %}\n {{ return(adapter.dispatch('resolve_model_name', 'dbt')(input_model_name)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__resolve_model_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.918753, "supported_languages": null}, "macro.dbt.default__resolve_model_name": {"name": "default__resolve_model_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.default__resolve_model_name", "macro_sql": "\n\n{%- macro default__resolve_model_name(input_model_name) -%}\n {{ input_model_name | string | replace('\"', '\\\"') }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.91891, "supported_languages": null}, "macro.dbt.build_ref_function": {"name": "build_ref_function", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.build_ref_function", "macro_sql": "{% macro build_ref_function(model) %}\n\n {%- set ref_dict = {} -%}\n {%- for _ref in model.refs -%}\n {% set _ref_args = [_ref.get('package'), _ref['name']] if _ref.get('package') else [_ref['name'],] %}\n {%- set resolved = ref(*_ref_args, v=_ref.get('version')) -%}\n {%- if _ref.get('version') -%}\n {% do _ref_args.extend([\"v\" ~ _ref['version']]) %}\n {%- endif -%}\n {%- do ref_dict.update({_ref_args | join('.'): resolve_model_name(resolved)}) -%}\n {%- endfor -%}\n\ndef ref(*args, **kwargs):\n refs = {{ ref_dict | tojson }}\n key = '.'.join(args)\n version = kwargs.get(\"v\") or kwargs.get(\"version\")\n if version:\n key += f\".v{version}\"\n dbt_load_df_function = kwargs.get(\"dbt_load_df_function\")\n return dbt_load_df_function(refs[key])\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.resolve_model_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.919712, "supported_languages": null}, "macro.dbt.build_source_function": {"name": "build_source_function", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.build_source_function", "macro_sql": "{% macro build_source_function(model) %}\n\n {%- set source_dict = {} -%}\n {%- for _source in model.sources -%}\n {%- set resolved = source(*_source) -%}\n {%- do source_dict.update({_source | join('.'): resolve_model_name(resolved)}) -%}\n {%- endfor -%}\n\ndef source(*args, dbt_load_df_function):\n sources = {{ source_dict | tojson }}\n key = '.'.join(args)\n return dbt_load_df_function(sources[key])\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.resolve_model_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.920084, "supported_languages": null}, "macro.dbt.build_config_dict": {"name": "build_config_dict", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.build_config_dict", "macro_sql": "{% macro build_config_dict(model) %}\n {%- set config_dict = {} -%}\n {% set config_dbt_used = zip(model.config.config_keys_used, model.config.config_keys_defaults) | list %}\n {%- for key, default in config_dbt_used -%}\n {# weird type testing with enum, would be much easier to write this logic in Python! #}\n {%- if key == \"language\" -%}\n {%- set value = \"python\" -%}\n {%- endif -%}\n {%- set value = model.config.get(key, default) -%}\n {%- do config_dict.update({key: value}) -%}\n {%- endfor -%}\nconfig_dict = {{ config_dict }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.920619, "supported_languages": null}, "macro.dbt.py_script_postfix": {"name": "py_script_postfix", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.py_script_postfix", "macro_sql": "{% macro py_script_postfix(model) %}\n# This part is user provided model code\n# you will need to copy the next section to run the code\n# COMMAND ----------\n# this part is dbt logic for get ref work, do not modify\n\n{{ build_ref_function(model ) }}\n{{ build_source_function(model ) }}\n{{ build_config_dict(model) }}\n\nclass config:\n def __init__(self, *args, **kwargs):\n pass\n\n @staticmethod\n def get(key, default=None):\n return config_dict.get(key, default)\n\nclass this:\n \"\"\"dbt.this() or dbt.this.identifier\"\"\"\n database = \"{{ this.database }}\"\n schema = \"{{ this.schema }}\"\n identifier = \"{{ this.identifier }}\"\n {% set this_relation_name = resolve_model_name(this) %}\n def __repr__(self):\n return '{{ this_relation_name }}'\n\n\nclass dbtObj:\n def __init__(self, load_df_function) -> None:\n self.source = lambda *args: source(*args, dbt_load_df_function=load_df_function)\n self.ref = lambda *args, **kwargs: ref(*args, **kwargs, dbt_load_df_function=load_df_function)\n self.config = config\n self.this = this()\n self.is_incremental = {{ is_incremental() }}\n\n# COMMAND ----------\n{{py_script_comment()}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.build_ref_function", "macro.dbt.build_source_function", "macro.dbt.build_config_dict", "macro.dbt.resolve_model_name", "macro.dbt.is_incremental", "macro.dbt.py_script_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9210691, "supported_languages": null}, "macro.dbt.py_script_comment": {"name": "py_script_comment", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.py_script_comment", "macro_sql": "{%macro py_script_comment()%}\n{%endmacro%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.921141, "supported_languages": null}, "macro.dbt.test_unique": {"name": "test_unique", "resource_type": "macro", "package_name": "dbt", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "unique_id": "macro.dbt.test_unique", "macro_sql": "{% test unique(model, column_name) %}\n {% set macro = adapter.dispatch('test_unique', 'dbt') %}\n {{ macro(model, column_name) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt.default__test_unique"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9216352, "supported_languages": null}, "macro.dbt.test_not_null": {"name": "test_not_null", "resource_type": "macro", "package_name": "dbt", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "unique_id": "macro.dbt.test_not_null", "macro_sql": "{% test not_null(model, column_name) %}\n {% set macro = adapter.dispatch('test_not_null', 'dbt') %}\n {{ macro(model, column_name) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt.default__test_not_null"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.92188, "supported_languages": null}, "macro.dbt.test_accepted_values": {"name": "test_accepted_values", "resource_type": "macro", "package_name": "dbt", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "unique_id": "macro.dbt.test_accepted_values", "macro_sql": "{% test accepted_values(model, column_name, values, quote=True) %}\n {% set macro = adapter.dispatch('test_accepted_values', 'dbt') %}\n {{ macro(model, column_name, values, quote) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt.default__test_accepted_values"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.92215, "supported_languages": null}, "macro.dbt.test_relationships": {"name": "test_relationships", "resource_type": "macro", "package_name": "dbt", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "unique_id": "macro.dbt.test_relationships", "macro_sql": "{% test relationships(model, column_name, to, field) %}\n {% set macro = adapter.dispatch('test_relationships', 'dbt') %}\n {{ macro(model, column_name, to, field) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt.default__test_relationships"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9224021, "supported_languages": null}, "macro.dbt_utils.get_url_host": {"name": "get_url_host", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/web/get_url_host.sql", "original_file_path": "macros/web/get_url_host.sql", "unique_id": "macro.dbt_utils.get_url_host", "macro_sql": "{% macro get_url_host(field) -%}\n {{ return(adapter.dispatch('get_url_host', 'dbt_utils')(field)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_url_host"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9227378, "supported_languages": null}, "macro.dbt_utils.default__get_url_host": {"name": "default__get_url_host", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/web/get_url_host.sql", "original_file_path": "macros/web/get_url_host.sql", "unique_id": "macro.dbt_utils.default__get_url_host", "macro_sql": "{% macro default__get_url_host(field) -%}\n\n{%- set parsed =\n dbt.split_part(\n dbt.split_part(\n dbt.replace(\n dbt.replace(\n dbt.replace(field, \"'android-app://'\", \"''\"\n ), \"'http://'\", \"''\"\n ), \"'https://'\", \"''\"\n ), \"'/'\", 1\n ), \"'?'\", 1\n )\n\n-%}\n\n\n {{ dbt.safe_cast(\n parsed,\n dbt.type_string()\n )}}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.split_part", "macro.dbt.replace", "macro.dbt.safe_cast", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9231842, "supported_languages": null}, "macro.dbt_utils.get_url_path": {"name": "get_url_path", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/web/get_url_path.sql", "original_file_path": "macros/web/get_url_path.sql", "unique_id": "macro.dbt_utils.get_url_path", "macro_sql": "{% macro get_url_path(field) -%}\n {{ return(adapter.dispatch('get_url_path', 'dbt_utils')(field)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_url_path"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9236119, "supported_languages": null}, "macro.dbt_utils.default__get_url_path": {"name": "default__get_url_path", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/web/get_url_path.sql", "original_file_path": "macros/web/get_url_path.sql", "unique_id": "macro.dbt_utils.default__get_url_path", "macro_sql": "{% macro default__get_url_path(field) -%}\n\n {%- set stripped_url =\n dbt.replace(\n dbt.replace(field, \"'http://'\", \"''\"), \"'https://'\", \"''\")\n -%}\n\n {%- set first_slash_pos -%}\n coalesce(\n nullif({{ dbt.position(\"'/'\", stripped_url) }}, 0),\n {{ dbt.position(\"'?'\", stripped_url) }} - 1\n )\n {%- endset -%}\n\n {%- set parsed_path =\n dbt.split_part(\n dbt.right(\n stripped_url,\n dbt.length(stripped_url) ~ \"-\" ~ first_slash_pos\n ),\n \"'?'\", 1\n )\n -%}\n\n {{ dbt.safe_cast(\n parsed_path,\n dbt.type_string()\n )}}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.replace", "macro.dbt.position", "macro.dbt.split_part", "macro.dbt.right", "macro.dbt.length", "macro.dbt.safe_cast", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.924323, "supported_languages": null}, "macro.dbt_utils.get_url_parameter": {"name": "get_url_parameter", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/web/get_url_parameter.sql", "original_file_path": "macros/web/get_url_parameter.sql", "unique_id": "macro.dbt_utils.get_url_parameter", "macro_sql": "{% macro get_url_parameter(field, url_parameter) -%}\n {{ return(adapter.dispatch('get_url_parameter', 'dbt_utils')(field, url_parameter)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_url_parameter"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9246101, "supported_languages": null}, "macro.dbt_utils.default__get_url_parameter": {"name": "default__get_url_parameter", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/web/get_url_parameter.sql", "original_file_path": "macros/web/get_url_parameter.sql", "unique_id": "macro.dbt_utils.default__get_url_parameter", "macro_sql": "{% macro default__get_url_parameter(field, url_parameter) -%}\n\n{%- set formatted_url_parameter = \"'\" + url_parameter + \"='\" -%}\n\n{%- set split = dbt.split_part(dbt.split_part(field, formatted_url_parameter, 2), \"'&'\", 1) -%}\n\nnullif({{ split }},'')\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.split_part"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9249249, "supported_languages": null}, "macro.dbt_utils.test_fewer_rows_than": {"name": "test_fewer_rows_than", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/fewer_rows_than.sql", "original_file_path": "macros/generic_tests/fewer_rows_than.sql", "unique_id": "macro.dbt_utils.test_fewer_rows_than", "macro_sql": "{% test fewer_rows_than(model, compare_model, group_by_columns = []) %}\n {{ return(adapter.dispatch('test_fewer_rows_than', 'dbt_utils')(model, compare_model, group_by_columns)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_fewer_rows_than"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9260259, "supported_languages": null}, "macro.dbt_utils.default__test_fewer_rows_than": {"name": "default__test_fewer_rows_than", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/fewer_rows_than.sql", "original_file_path": "macros/generic_tests/fewer_rows_than.sql", "unique_id": "macro.dbt_utils.default__test_fewer_rows_than", "macro_sql": "{% macro default__test_fewer_rows_than(model, compare_model, group_by_columns) %}\n\n{{ config(fail_calc = 'sum(coalesce(row_count_delta, 0))') }}\n\n{% if group_by_columns|length() > 0 %}\n {% set select_gb_cols = group_by_columns|join(' ,') + ', ' %}\n {% set join_gb_cols %}\n {% for c in group_by_columns %}\n and a.{{c}} = b.{{c}}\n {% endfor %}\n {% endset %}\n {% set groupby_gb_cols = 'group by ' + group_by_columns|join(',') %}\n{% endif %}\n\n{#-- We must add a fake join key in case additional grouping variables are not provided --#}\n{#-- Redshift does not allow for dynamically created join conditions (e.g. full join on 1 = 1 --#}\n{#-- The same logic is used in equal_rowcount. In case of changes, maintain consistent logic --#}\n{% set group_by_columns = ['id_dbtutils_test_fewer_rows_than'] + group_by_columns %}\n{% set groupby_gb_cols = 'group by ' + group_by_columns|join(',') %}\n\n\nwith a as (\n\n select \n {{select_gb_cols}}\n 1 as id_dbtutils_test_fewer_rows_than,\n count(*) as count_our_model \n from {{ model }}\n {{ groupby_gb_cols }}\n\n),\nb as (\n\n select \n {{select_gb_cols}}\n 1 as id_dbtutils_test_fewer_rows_than,\n count(*) as count_comparison_model \n from {{ compare_model }}\n {{ groupby_gb_cols }}\n\n),\ncounts as (\n\n select\n\n {% for c in group_by_columns -%}\n a.{{c}} as {{c}}_a,\n b.{{c}} as {{c}}_b,\n {% endfor %}\n\n count_our_model,\n count_comparison_model\n from a\n full join b on \n a.id_dbtutils_test_fewer_rows_than = b.id_dbtutils_test_fewer_rows_than\n {{ join_gb_cols }}\n\n),\nfinal as (\n\n select *,\n case\n -- fail the test if we have more rows than the reference model and return the row count delta\n when count_our_model > count_comparison_model then (count_our_model - count_comparison_model)\n -- fail the test if they are the same number\n when count_our_model = count_comparison_model then 1\n -- pass the test if the delta is positive (i.e. return the number 0)\n else 0\n end as row_count_delta\n from counts\n\n)\n\nselect * from final\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.926968, "supported_languages": null}, "macro.dbt_utils.test_equal_rowcount": {"name": "test_equal_rowcount", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/equal_rowcount.sql", "original_file_path": "macros/generic_tests/equal_rowcount.sql", "unique_id": "macro.dbt_utils.test_equal_rowcount", "macro_sql": "{% test equal_rowcount(model, compare_model, group_by_columns = []) %}\n {{ return(adapter.dispatch('test_equal_rowcount', 'dbt_utils')(model, compare_model, group_by_columns)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_equal_rowcount"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.927756, "supported_languages": null}, "macro.dbt_utils.default__test_equal_rowcount": {"name": "default__test_equal_rowcount", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/equal_rowcount.sql", "original_file_path": "macros/generic_tests/equal_rowcount.sql", "unique_id": "macro.dbt_utils.default__test_equal_rowcount", "macro_sql": "{% macro default__test_equal_rowcount(model, compare_model, group_by_columns) %}\n\n{#-- Needs to be set at parse time, before we return '' below --#}\n{{ config(fail_calc = 'sum(coalesce(diff_count, 0))') }}\n\n{#-- Prevent querying of db in parsing mode. This works because this macro does not create any new refs. #}\n{%- if not execute -%}\n {{ return('') }}\n{% endif %}\n\n{% if group_by_columns|length() > 0 %}\n {% set select_gb_cols = group_by_columns|join(', ') + ', ' %}\n {% set join_gb_cols %}\n {% for c in group_by_columns %}\n and a.{{c}} = b.{{c}}\n {% endfor %}\n {% endset %}\n {% set groupby_gb_cols = 'group by ' + group_by_columns|join(',') %}\n{% endif %}\n\n{#-- We must add a fake join key in case additional grouping variables are not provided --#}\n{#-- Redshift does not allow for dynamically created join conditions (e.g. full join on 1 = 1 --#}\n{#-- The same logic is used in fewer_rows_than. In case of changes, maintain consistent logic --#}\n{% set group_by_columns = ['id_dbtutils_test_equal_rowcount'] + group_by_columns %}\n{% set groupby_gb_cols = 'group by ' + group_by_columns|join(',') %}\n\nwith a as (\n\n select \n {{select_gb_cols}}\n 1 as id_dbtutils_test_equal_rowcount,\n count(*) as count_a \n from {{ model }}\n {{groupby_gb_cols}}\n\n\n),\nb as (\n\n select \n {{select_gb_cols}}\n 1 as id_dbtutils_test_equal_rowcount,\n count(*) as count_b \n from {{ compare_model }}\n {{groupby_gb_cols}}\n\n),\nfinal as (\n\n select\n \n {% for c in group_by_columns -%}\n a.{{c}} as {{c}}_a,\n b.{{c}} as {{c}}_b,\n {% endfor %}\n\n count_a,\n count_b,\n abs(count_a - count_b) as diff_count\n\n from a\n full join b\n on\n a.id_dbtutils_test_equal_rowcount = b.id_dbtutils_test_equal_rowcount\n {{join_gb_cols}}\n\n\n)\n\nselect * from final\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9287732, "supported_languages": null}, "macro.dbt_utils.test_relationships_where": {"name": "test_relationships_where", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/relationships_where.sql", "original_file_path": "macros/generic_tests/relationships_where.sql", "unique_id": "macro.dbt_utils.test_relationships_where", "macro_sql": "{% test relationships_where(model, column_name, to, field, from_condition=\"1=1\", to_condition=\"1=1\") %}\n {{ return(adapter.dispatch('test_relationships_where', 'dbt_utils')(model, column_name, to, field, from_condition, to_condition)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_relationships_where"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9294028, "supported_languages": null}, "macro.dbt_utils.default__test_relationships_where": {"name": "default__test_relationships_where", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/relationships_where.sql", "original_file_path": "macros/generic_tests/relationships_where.sql", "unique_id": "macro.dbt_utils.default__test_relationships_where", "macro_sql": "{% macro default__test_relationships_where(model, column_name, to, field, from_condition=\"1=1\", to_condition=\"1=1\") %}\n\n{# T-SQL has no boolean data type so we use 1=1 which returns TRUE #}\n{# ref https://stackoverflow.com/a/7170753/3842610 #}\n\nwith left_table as (\n\n select\n {{column_name}} as id\n\n from {{model}}\n\n where {{column_name}} is not null\n and {{from_condition}}\n\n),\n\nright_table as (\n\n select\n {{field}} as id\n\n from {{to}}\n\n where {{field}} is not null\n and {{to_condition}}\n\n),\n\nexceptions as (\n\n select\n left_table.id,\n right_table.id as right_id\n\n from left_table\n\n left join right_table\n on left_table.id = right_table.id\n\n where right_table.id is null\n\n)\n\nselect * from exceptions\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.929718, "supported_languages": null}, "macro.dbt_utils.test_recency": {"name": "test_recency", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/recency.sql", "original_file_path": "macros/generic_tests/recency.sql", "unique_id": "macro.dbt_utils.test_recency", "macro_sql": "{% test recency(model, field, datepart, interval, ignore_time_component=False, group_by_columns = []) %}\n {{ return(adapter.dispatch('test_recency', 'dbt_utils')(model, field, datepart, interval, ignore_time_component, group_by_columns)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_recency"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.930353, "supported_languages": null}, "macro.dbt_utils.default__test_recency": {"name": "default__test_recency", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/recency.sql", "original_file_path": "macros/generic_tests/recency.sql", "unique_id": "macro.dbt_utils.default__test_recency", "macro_sql": "{% macro default__test_recency(model, field, datepart, interval, ignore_time_component, group_by_columns) %}\n\n{% set threshold = 'cast(' ~ dbt.dateadd(datepart, interval * -1, dbt.current_timestamp()) ~ ' as ' ~ ('date' if ignore_time_component else dbt.type_timestamp()) ~ ')' %}\n\n{% if group_by_columns|length() > 0 %}\n {% set select_gb_cols = group_by_columns|join(' ,') + ', ' %}\n {% set groupby_gb_cols = 'group by ' + group_by_columns|join(',') %}\n{% endif %}\n\n\nwith recency as (\n\n select \n\n {{ select_gb_cols }}\n {% if ignore_time_component %}\n cast(max({{ field }}) as date) as most_recent\n {%- else %}\n max({{ field }}) as most_recent\n {%- endif %}\n\n from {{ model }}\n\n {{ groupby_gb_cols }}\n\n)\n\nselect\n\n {{ select_gb_cols }}\n most_recent,\n {{ threshold }} as threshold\n\nfrom recency\nwhere most_recent < {{ threshold }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.dateadd", "macro.dbt.current_timestamp", "macro.dbt.type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9311051, "supported_languages": null}, "macro.dbt_utils.test_not_constant": {"name": "test_not_constant", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/not_constant.sql", "original_file_path": "macros/generic_tests/not_constant.sql", "unique_id": "macro.dbt_utils.test_not_constant", "macro_sql": "{% test not_constant(model, column_name, group_by_columns = []) %}\n {{ return(adapter.dispatch('test_not_constant', 'dbt_utils')(model, column_name, group_by_columns)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_not_constant"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9315279, "supported_languages": null}, "macro.dbt_utils.default__test_not_constant": {"name": "default__test_not_constant", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/not_constant.sql", "original_file_path": "macros/generic_tests/not_constant.sql", "unique_id": "macro.dbt_utils.default__test_not_constant", "macro_sql": "{% macro default__test_not_constant(model, column_name, group_by_columns) %}\n\n{% if group_by_columns|length() > 0 %}\n {% set select_gb_cols = group_by_columns|join(' ,') + ', ' %}\n {% set groupby_gb_cols = 'group by ' + group_by_columns|join(',') %}\n{% endif %}\n\n\nselect\n {# In TSQL, subquery aggregate columns need aliases #}\n {# thus: a filler col name, 'filler_column' #}\n {{select_gb_cols}}\n count(distinct {{ column_name }}) as filler_column\n\nfrom {{ model }}\n\n {{groupby_gb_cols}}\n\nhaving count(distinct {{ column_name }}) = 1\n\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9319491, "supported_languages": null}, "macro.dbt_utils.test_accepted_range": {"name": "test_accepted_range", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/accepted_range.sql", "original_file_path": "macros/generic_tests/accepted_range.sql", "unique_id": "macro.dbt_utils.test_accepted_range", "macro_sql": "{% test accepted_range(model, column_name, min_value=none, max_value=none, inclusive=true) %}\n {{ return(adapter.dispatch('test_accepted_range', 'dbt_utils')(model, column_name, min_value, max_value, inclusive)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_accepted_range"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.932514, "supported_languages": null}, "macro.dbt_utils.default__test_accepted_range": {"name": "default__test_accepted_range", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/accepted_range.sql", "original_file_path": "macros/generic_tests/accepted_range.sql", "unique_id": "macro.dbt_utils.default__test_accepted_range", "macro_sql": "{% macro default__test_accepted_range(model, column_name, min_value=none, max_value=none, inclusive=true) %}\n\nwith meet_condition as(\n select *\n from {{ model }}\n),\n\nvalidation_errors as (\n select *\n from meet_condition\n where\n -- never true, defaults to an empty result set. Exists to ensure any combo of the `or` clauses below succeeds\n 1 = 2\n\n {%- if min_value is not none %}\n -- records with a value >= min_value are permitted. The `not` flips this to find records that don't meet the rule.\n or not {{ column_name }} > {{- \"=\" if inclusive }} {{ min_value }}\n {%- endif %}\n\n {%- if max_value is not none %}\n -- records with a value <= max_value are permitted. The `not` flips this to find records that don't meet the rule.\n or not {{ column_name }} < {{- \"=\" if inclusive }} {{ max_value }}\n {%- endif %}\n)\n\nselect *\nfrom validation_errors\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.933075, "supported_languages": null}, "macro.dbt_utils.test_not_accepted_values": {"name": "test_not_accepted_values", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/not_accepted_values.sql", "original_file_path": "macros/generic_tests/not_accepted_values.sql", "unique_id": "macro.dbt_utils.test_not_accepted_values", "macro_sql": "{% test not_accepted_values(model, column_name, values, quote=True) %}\n {{ return(adapter.dispatch('test_not_accepted_values', 'dbt_utils')(model, column_name, values, quote)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_not_accepted_values"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.933645, "supported_languages": null}, "macro.dbt_utils.default__test_not_accepted_values": {"name": "default__test_not_accepted_values", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/not_accepted_values.sql", "original_file_path": "macros/generic_tests/not_accepted_values.sql", "unique_id": "macro.dbt_utils.default__test_not_accepted_values", "macro_sql": "{% macro default__test_not_accepted_values(model, column_name, values, quote=True) %}\nwith all_values as (\n\n select distinct\n {{ column_name }} as value_field\n\n from {{ model }}\n\n),\n\nvalidation_errors as (\n\n select\n value_field\n\n from all_values\n where value_field in (\n {% for value in values -%}\n {% if quote -%}\n '{{ value }}'\n {%- else -%}\n {{ value }}\n {%- endif -%}\n {%- if not loop.last -%},{%- endif %}\n {%- endfor %}\n )\n\n)\n\nselect *\nfrom validation_errors\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.934, "supported_languages": null}, "macro.dbt_utils.test_at_least_one": {"name": "test_at_least_one", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/at_least_one.sql", "original_file_path": "macros/generic_tests/at_least_one.sql", "unique_id": "macro.dbt_utils.test_at_least_one", "macro_sql": "{% test at_least_one(model, column_name, group_by_columns = []) %}\n {{ return(adapter.dispatch('test_at_least_one', 'dbt_utils')(model, column_name, group_by_columns)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_at_least_one"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.934602, "supported_languages": null}, "macro.dbt_utils.default__test_at_least_one": {"name": "default__test_at_least_one", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/at_least_one.sql", "original_file_path": "macros/generic_tests/at_least_one.sql", "unique_id": "macro.dbt_utils.default__test_at_least_one", "macro_sql": "{% macro default__test_at_least_one(model, column_name, group_by_columns) %}\n\n{% set pruned_cols = [column_name] %}\n\n{% if group_by_columns|length() > 0 %}\n\n {% set select_gb_cols = group_by_columns|join(' ,') + ', ' %}\n {% set groupby_gb_cols = 'group by ' + group_by_columns|join(',') %}\n {% set pruned_cols = group_by_columns %}\n\n {% if column_name not in pruned_cols %}\n {% do pruned_cols.append(column_name) %}\n {% endif %}\n\n{% endif %}\n\n{% set select_pruned_cols = pruned_cols|join(' ,') %}\n\nselect *\nfrom (\n with pruned_rows as (\n select\n {{ select_pruned_cols }}\n from {{ model }}\n {% if group_by_columns|length() == 0 %}\n where {{ column_name }} is not null\n limit 1\n {% endif %}\n )\n select\n {# In TSQL, subquery aggregate columns need aliases #}\n {# thus: a filler col name, 'filler_column' #}\n {{select_gb_cols}}\n count({{ column_name }}) as filler_column\n\n from pruned_rows\n\n {{groupby_gb_cols}}\n\n having count({{ column_name }}) = 0\n\n) validation_errors\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.935498, "supported_languages": null}, "macro.dbt_utils.test_unique_combination_of_columns": {"name": "test_unique_combination_of_columns", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/unique_combination_of_columns.sql", "original_file_path": "macros/generic_tests/unique_combination_of_columns.sql", "unique_id": "macro.dbt_utils.test_unique_combination_of_columns", "macro_sql": "{% test unique_combination_of_columns(model, combination_of_columns, quote_columns=false) %}\n {{ return(adapter.dispatch('test_unique_combination_of_columns', 'dbt_utils')(model, combination_of_columns, quote_columns)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_unique_combination_of_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.93605, "supported_languages": null}, "macro.dbt_utils.default__test_unique_combination_of_columns": {"name": "default__test_unique_combination_of_columns", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/unique_combination_of_columns.sql", "original_file_path": "macros/generic_tests/unique_combination_of_columns.sql", "unique_id": "macro.dbt_utils.default__test_unique_combination_of_columns", "macro_sql": "{% macro default__test_unique_combination_of_columns(model, combination_of_columns, quote_columns=false) %}\n\n{% if not quote_columns %}\n {%- set column_list=combination_of_columns %}\n{% elif quote_columns %}\n {%- set column_list=[] %}\n {% for column in combination_of_columns -%}\n {% set column_list = column_list.append( adapter.quote(column) ) %}\n {%- endfor %}\n{% else %}\n {{ exceptions.raise_compiler_error(\n \"`quote_columns` argument for unique_combination_of_columns test must be one of [True, False] Got: '\" ~ quote ~\"'.'\"\n ) }}\n{% endif %}\n\n{%- set columns_csv=column_list | join(', ') %}\n\n\nwith validation_errors as (\n\n select\n {{ columns_csv }}\n from {{ model }}\n group by {{ columns_csv }}\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9366322, "supported_languages": null}, "macro.dbt_utils.test_cardinality_equality": {"name": "test_cardinality_equality", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/cardinality_equality.sql", "original_file_path": "macros/generic_tests/cardinality_equality.sql", "unique_id": "macro.dbt_utils.test_cardinality_equality", "macro_sql": "{% test cardinality_equality(model, column_name, to, field) %}\n {{ return(adapter.dispatch('test_cardinality_equality', 'dbt_utils')(model, column_name, to, field)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_cardinality_equality"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9371362, "supported_languages": null}, "macro.dbt_utils.default__test_cardinality_equality": {"name": "default__test_cardinality_equality", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/cardinality_equality.sql", "original_file_path": "macros/generic_tests/cardinality_equality.sql", "unique_id": "macro.dbt_utils.default__test_cardinality_equality", "macro_sql": "{% macro default__test_cardinality_equality(model, column_name, to, field) %}\n\n{# T-SQL does not let you use numbers as aliases for columns #}\n{# Thus, no \"GROUP BY 1\" #}\n\nwith table_a as (\nselect\n {{ column_name }},\n count(*) as num_rows\nfrom {{ model }}\ngroup by {{ column_name }}\n),\n\ntable_b as (\nselect\n {{ field }},\n count(*) as num_rows\nfrom {{ to }}\ngroup by {{ field }}\n),\n\nexcept_a as (\n select *\n from table_a\n {{ dbt.except() }}\n select *\n from table_b\n),\n\nexcept_b as (\n select *\n from table_b\n {{ dbt.except() }}\n select *\n from table_a\n),\n\nunioned as (\n select *\n from except_a\n union all\n select *\n from except_b\n)\n\nselect *\nfrom unioned\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.except"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9374342, "supported_languages": null}, "macro.dbt_utils.test_expression_is_true": {"name": "test_expression_is_true", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/expression_is_true.sql", "original_file_path": "macros/generic_tests/expression_is_true.sql", "unique_id": "macro.dbt_utils.test_expression_is_true", "macro_sql": "{% test expression_is_true(model, expression, column_name=None) %}\n {{ return(adapter.dispatch('test_expression_is_true', 'dbt_utils')(model, expression, column_name)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_expression_is_true"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.937789, "supported_languages": null}, "macro.dbt_utils.default__test_expression_is_true": {"name": "default__test_expression_is_true", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/expression_is_true.sql", "original_file_path": "macros/generic_tests/expression_is_true.sql", "unique_id": "macro.dbt_utils.default__test_expression_is_true", "macro_sql": "{% macro default__test_expression_is_true(model, expression, column_name) %}\n\n{% set column_list = '*' if should_store_failures() else \"1\" %}\n\nselect\n {{ column_list }}\nfrom {{ model }}\n{% if column_name is none %}\nwhere not({{ expression }})\n{%- else %}\nwhere not({{ column_name }} {{ expression }})\n{%- endif %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.should_store_failures"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9381068, "supported_languages": null}, "macro.dbt_utils.test_not_null_proportion": {"name": "test_not_null_proportion", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/not_null_proportion.sql", "original_file_path": "macros/generic_tests/not_null_proportion.sql", "unique_id": "macro.dbt_utils.test_not_null_proportion", "macro_sql": "{% macro test_not_null_proportion(model, group_by_columns = []) %}\n {{ return(adapter.dispatch('test_not_null_proportion', 'dbt_utils')(model, group_by_columns, **kwargs)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_not_null_proportion"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9387, "supported_languages": null}, "macro.dbt_utils.default__test_not_null_proportion": {"name": "default__test_not_null_proportion", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/not_null_proportion.sql", "original_file_path": "macros/generic_tests/not_null_proportion.sql", "unique_id": "macro.dbt_utils.default__test_not_null_proportion", "macro_sql": "{% macro default__test_not_null_proportion(model, group_by_columns) %}\n\n{% set column_name = kwargs.get('column_name', kwargs.get('arg')) %}\n{% set at_least = kwargs.get('at_least', kwargs.get('arg')) %}\n{% set at_most = kwargs.get('at_most', kwargs.get('arg', 1)) %}\n\n{% if group_by_columns|length() > 0 %}\n {% set select_gb_cols = group_by_columns|join(' ,') + ', ' %}\n {% set groupby_gb_cols = 'group by ' + group_by_columns|join(',') %}\n{% endif %}\n\nwith validation as (\n select\n {{select_gb_cols}}\n sum(case when {{ column_name }} is null then 0 else 1 end) / cast(count(*) as {{ dbt.type_numeric() }}) as not_null_proportion\n from {{ model }}\n {{groupby_gb_cols}}\n),\nvalidation_errors as (\n select\n {{select_gb_cols}}\n not_null_proportion\n from validation\n where not_null_proportion < {{ at_least }} or not_null_proportion > {{ at_most }}\n)\nselect\n *\nfrom validation_errors\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_numeric"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.939449, "supported_languages": null}, "macro.dbt_utils.test_sequential_values": {"name": "test_sequential_values", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/sequential_values.sql", "original_file_path": "macros/generic_tests/sequential_values.sql", "unique_id": "macro.dbt_utils.test_sequential_values", "macro_sql": "{% test sequential_values(model, column_name, interval=1, datepart=None, group_by_columns = []) %}\n\n {{ return(adapter.dispatch('test_sequential_values', 'dbt_utils')(model, column_name, interval, datepart, group_by_columns)) }}\n\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_sequential_values"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.94024, "supported_languages": null}, "macro.dbt_utils.default__test_sequential_values": {"name": "default__test_sequential_values", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/sequential_values.sql", "original_file_path": "macros/generic_tests/sequential_values.sql", "unique_id": "macro.dbt_utils.default__test_sequential_values", "macro_sql": "{% macro default__test_sequential_values(model, column_name, interval=1, datepart=None, group_by_columns = []) %}\n\n{% set previous_column_name = \"previous_\" ~ dbt_utils.slugify(column_name) %}\n\n{% if group_by_columns|length() > 0 %}\n {% set select_gb_cols = group_by_columns|join(',') + ', ' %}\n {% set partition_gb_cols = 'partition by ' + group_by_columns|join(',') %}\n{% endif %}\n\nwith windowed as (\n\n select\n {{ select_gb_cols }}\n {{ column_name }},\n lag({{ column_name }}) over (\n {{partition_gb_cols}}\n order by {{ column_name }}\n ) as {{ previous_column_name }}\n from {{ model }}\n),\n\nvalidation_errors as (\n select\n *\n from windowed\n {% if datepart %}\n where not(cast({{ column_name }} as {{ dbt.type_timestamp() }})= cast({{ dbt.dateadd(datepart, interval, previous_column_name) }} as {{ dbt.type_timestamp() }}))\n {% else %}\n where not({{ column_name }} = {{ previous_column_name }} + {{ interval }})\n {% endif %}\n)\n\nselect *\nfrom validation_errors\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.slugify", "macro.dbt.type_timestamp", "macro.dbt.dateadd"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.941026, "supported_languages": null}, "macro.dbt_utils.test_equality": {"name": "test_equality", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/equality.sql", "original_file_path": "macros/generic_tests/equality.sql", "unique_id": "macro.dbt_utils.test_equality", "macro_sql": "{% test equality(model, compare_model, compare_columns=None, exclude_columns=None, precision = None) %}\n {{ return(adapter.dispatch('test_equality', 'dbt_utils')(model, compare_model, compare_columns, exclude_columns, precision)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_equality"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9428322, "supported_languages": null}, "macro.dbt_utils.default__test_equality": {"name": "default__test_equality", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/equality.sql", "original_file_path": "macros/generic_tests/equality.sql", "unique_id": "macro.dbt_utils.default__test_equality", "macro_sql": "{% macro default__test_equality(model, compare_model, compare_columns=None, exclude_columns=None, precision = None) %}\n\n{%- if compare_columns and exclude_columns -%}\n {{ exceptions.raise_compiler_error(\"Both a compare and an ignore list were provided to the `equality` macro. Only one is allowed\") }}\n{%- endif -%}\n\n{% set set_diff %}\n count(*) + coalesce(abs(\n sum(case when which_diff = 'a_minus_b' then 1 else 0 end) -\n sum(case when which_diff = 'b_minus_a' then 1 else 0 end)\n ), 0)\n{% endset %}\n\n{#-- Needs to be set at parse time, before we return '' below --#}\n{{ config(fail_calc = set_diff) }}\n\n{#-- Prevent querying of db in parsing mode. This works because this macro does not create any new refs. #}\n{%- if not execute -%}\n {{ return('') }}\n{% endif %}\n\n\n\n-- setup\n{%- do dbt_utils._is_relation(model, 'test_equality') -%}\n\n{# Ensure there are no extra columns in the compare_model vs model #}\n{%- if not compare_columns -%}\n {%- do dbt_utils._is_ephemeral(model, 'test_equality') -%}\n {%- do dbt_utils._is_ephemeral(compare_model, 'test_equality') -%}\n\n {%- set model_columns = adapter.get_columns_in_relation(model) -%}\n {%- set compare_model_columns = adapter.get_columns_in_relation(compare_model) -%}\n\n\n {%- if exclude_columns -%}\n {#-- Lower case ignore columns for easier comparison --#}\n {%- set exclude_columns = exclude_columns | map(\"lower\") | list %}\n\n {# Filter out the excluded columns #}\n {%- set include_columns = [] %}\n {%- set include_model_columns = [] %}\n {%- for column in model_columns -%}\n {%- if column.name | lower not in exclude_columns -%}\n {% do include_columns.append(column) %}\n {%- endif %}\n {%- endfor %}\n {%- for column in compare_model_columns -%}\n {%- if column.name | lower not in exclude_columns -%}\n {% do include_model_columns.append(column) %}\n {%- endif %}\n {%- endfor %}\n\n {%- set compare_columns_set = set(include_columns | map(attribute='quoted') | map(\"lower\")) %}\n {%- set compare_model_columns_set = set(include_model_columns | map(attribute='quoted') | map(\"lower\")) %}\n {%- else -%}\n {%- set compare_columns_set = set(model_columns | map(attribute='quoted') | map(\"lower\")) %}\n {%- set compare_model_columns_set = set(compare_model_columns | map(attribute='quoted') | map(\"lower\")) %}\n {%- endif -%}\n\n {% if compare_columns_set != compare_model_columns_set %}\n {{ exceptions.raise_compiler_error(compare_model ~\" has less columns than \" ~ model ~ \", please ensure they have the same columns or use the `compare_columns` or `exclude_columns` arguments to subset them.\") }}\n {% endif %}\n\n\n{% endif %}\n\n{%- if not precision -%}\n {%- if not compare_columns -%}\n {# \n You cannot get the columns in an ephemeral model (due to not existing in the information schema),\n so if the user does not provide an explicit list of columns we must error in the case it is ephemeral\n #}\n {%- do dbt_utils._is_ephemeral(model, 'test_equality') -%}\n {%- set compare_columns = adapter.get_columns_in_relation(model)-%}\n\n {%- if exclude_columns -%}\n {#-- Lower case ignore columns for easier comparison --#}\n {%- set exclude_columns = exclude_columns | map(\"lower\") | list %}\n\n {# Filter out the excluded columns #}\n {%- set include_columns = [] %}\n {%- for column in compare_columns -%}\n {%- if column.name | lower not in exclude_columns -%}\n {% do include_columns.append(column) %}\n {%- endif %}\n {%- endfor %}\n\n {%- set compare_columns = include_columns | map(attribute='quoted') %}\n {%- else -%} {# Compare columns provided #}\n {%- set compare_columns = compare_columns | map(attribute='quoted') %}\n {%- endif -%}\n {%- endif -%}\n\n {% set compare_cols_csv = compare_columns | join(', ') %}\n\n{% else %} {# Precision required #}\n {#-\n If rounding is required, we need to get the types, so it cannot be ephemeral even if they provide column names\n -#}\n {%- do dbt_utils._is_ephemeral(model, 'test_equality') -%}\n {%- set columns = adapter.get_columns_in_relation(model) -%}\n\n {% set columns_list = [] %}\n {%- for col in columns -%}\n {%- if (\n (col.name|lower in compare_columns|map('lower') or not compare_columns) and\n (col.name|lower not in exclude_columns|map('lower') or not exclude_columns)\n ) -%}\n {# Databricks double type is not picked up by any number type checks in dbt #}\n {%- if col.is_float() or col.is_numeric() or col.data_type == 'double' -%}\n {# Cast is required due to postgres not having round for a double precision number #}\n {%- do columns_list.append('round(cast(' ~ col.quoted ~ ' as ' ~ dbt.type_numeric() ~ '),' ~ precision ~ ') as ' ~ col.quoted) -%}\n {%- else -%} {# Non-numeric type #}\n {%- do columns_list.append(col.quoted) -%}\n {%- endif -%}\n {% endif %}\n {%- endfor -%}\n\n {% set compare_cols_csv = columns_list | join(', ') %}\n\n{% endif %}\n\nwith a as (\n\n select * from {{ model }}\n\n),\n\nb as (\n\n select * from {{ compare_model }}\n\n),\n\na_minus_b as (\n\n select {{compare_cols_csv}} from a\n {{ dbt.except() }}\n select {{compare_cols_csv}} from b\n\n),\n\nb_minus_a as (\n\n select {{compare_cols_csv}} from b\n {{ dbt.except() }}\n select {{compare_cols_csv}} from a\n\n),\n\nunioned as (\n\n select 'a_minus_b' as which_diff, a_minus_b.* from a_minus_b\n union all\n select 'b_minus_a' as which_diff, b_minus_a.* from b_minus_a\n\n)\n\nselect * from unioned\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils._is_relation", "macro.dbt_utils._is_ephemeral", "macro.dbt.type_numeric", "macro.dbt.except"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.946666, "supported_languages": null}, "macro.dbt_utils.test_not_empty_string": {"name": "test_not_empty_string", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/not_empty_string.sql", "original_file_path": "macros/generic_tests/not_empty_string.sql", "unique_id": "macro.dbt_utils.test_not_empty_string", "macro_sql": "{% test not_empty_string(model, column_name, trim_whitespace=true) %}\n\n {{ return(adapter.dispatch('test_not_empty_string', 'dbt_utils')(model, column_name, trim_whitespace)) }}\n\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_not_empty_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.947209, "supported_languages": null}, "macro.dbt_utils.default__test_not_empty_string": {"name": "default__test_not_empty_string", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/not_empty_string.sql", "original_file_path": "macros/generic_tests/not_empty_string.sql", "unique_id": "macro.dbt_utils.default__test_not_empty_string", "macro_sql": "{% macro default__test_not_empty_string(model, column_name, trim_whitespace=true) %}\n\n with\n \n all_values as (\n\n select \n\n\n {% if trim_whitespace == true -%}\n\n trim({{ column_name }}) as {{ column_name }}\n\n {%- else -%}\n\n {{ column_name }}\n\n {%- endif %}\n \n from {{ model }}\n\n ),\n\n errors as (\n\n select * from all_values\n where {{ column_name }} = ''\n\n )\n\n select * from errors\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.94749, "supported_languages": null}, "macro.dbt_utils.test_mutually_exclusive_ranges": {"name": "test_mutually_exclusive_ranges", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/mutually_exclusive_ranges.sql", "original_file_path": "macros/generic_tests/mutually_exclusive_ranges.sql", "unique_id": "macro.dbt_utils.test_mutually_exclusive_ranges", "macro_sql": "{% test mutually_exclusive_ranges(model, lower_bound_column, upper_bound_column, partition_by=None, gaps='allowed', zero_length_range_allowed=False) %}\n {{ return(adapter.dispatch('test_mutually_exclusive_ranges', 'dbt_utils')(model, lower_bound_column, upper_bound_column, partition_by, gaps, zero_length_range_allowed)) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt_utils.default__test_mutually_exclusive_ranges"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.950635, "supported_languages": null}, "macro.dbt_utils.default__test_mutually_exclusive_ranges": {"name": "default__test_mutually_exclusive_ranges", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/generic_tests/mutually_exclusive_ranges.sql", "original_file_path": "macros/generic_tests/mutually_exclusive_ranges.sql", "unique_id": "macro.dbt_utils.default__test_mutually_exclusive_ranges", "macro_sql": "{% macro default__test_mutually_exclusive_ranges(model, lower_bound_column, upper_bound_column, partition_by=None, gaps='allowed', zero_length_range_allowed=False) %}\n{% if gaps == 'not_allowed' %}\n {% set allow_gaps_operator='=' %}\n {% set allow_gaps_operator_in_words='equal_to' %}\n{% elif gaps == 'allowed' %}\n {% set allow_gaps_operator='<=' %}\n {% set allow_gaps_operator_in_words='less_than_or_equal_to' %}\n{% elif gaps == 'required' %}\n {% set allow_gaps_operator='<' %}\n {% set allow_gaps_operator_in_words='less_than' %}\n{% else %}\n {{ exceptions.raise_compiler_error(\n \"`gaps` argument for mutually_exclusive_ranges test must be one of ['not_allowed', 'allowed', 'required'] Got: '\" ~ gaps ~\"'.'\"\n ) }}\n{% endif %}\n{% if not zero_length_range_allowed %}\n {% set allow_zero_length_operator='<' %}\n {% set allow_zero_length_operator_in_words='less_than' %}\n{% elif zero_length_range_allowed %}\n {% set allow_zero_length_operator='<=' %}\n {% set allow_zero_length_operator_in_words='less_than_or_equal_to' %}\n{% else %}\n {{ exceptions.raise_compiler_error(\n \"`zero_length_range_allowed` argument for mutually_exclusive_ranges test must be one of [true, false] Got: '\" ~ zero_length_range_allowed ~\"'.'\"\n ) }}\n{% endif %}\n\n{% set partition_clause=\"partition by \" ~ partition_by if partition_by else '' %}\n\nwith window_functions as (\n\n select\n {% if partition_by %}\n {{ partition_by }} as partition_by_col,\n {% endif %}\n {{ lower_bound_column }} as lower_bound,\n {{ upper_bound_column }} as upper_bound,\n\n lead({{ lower_bound_column }}) over (\n {{ partition_clause }}\n order by {{ lower_bound_column }}, {{ upper_bound_column }}\n ) as next_lower_bound,\n\n row_number() over (\n {{ partition_clause }}\n order by {{ lower_bound_column }} desc, {{ upper_bound_column }} desc\n ) = 1 as is_last_record\n\n from {{ model }}\n\n),\n\ncalc as (\n -- We want to return records where one of our assumptions fails, so we'll use\n -- the `not` function with `and` statements so we can write our assumptions more cleanly\n select\n *,\n\n -- For each record: lower_bound should be < upper_bound.\n -- Coalesce it to return an error on the null case (implicit assumption\n -- these columns are not_null)\n coalesce(\n lower_bound {{ allow_zero_length_operator }} upper_bound,\n false\n ) as lower_bound_{{ allow_zero_length_operator_in_words }}_upper_bound,\n\n -- For each record: upper_bound {{ allow_gaps_operator }} the next lower_bound.\n -- Coalesce it to handle null cases for the last record.\n coalesce(\n upper_bound {{ allow_gaps_operator }} next_lower_bound,\n is_last_record,\n false\n ) as upper_bound_{{ allow_gaps_operator_in_words }}_next_lower_bound\n\n from window_functions\n\n),\n\nvalidation_errors as (\n\n select\n *\n from calc\n\n where not(\n -- THE FOLLOWING SHOULD BE TRUE --\n lower_bound_{{ allow_zero_length_operator_in_words }}_upper_bound\n and upper_bound_{{ allow_gaps_operator_in_words }}_next_lower_bound\n )\n)\n\nselect * from validation_errors\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9520268, "supported_languages": null}, "macro.dbt_utils.pretty_log_format": {"name": "pretty_log_format", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/jinja_helpers/pretty_log_format.sql", "original_file_path": "macros/jinja_helpers/pretty_log_format.sql", "unique_id": "macro.dbt_utils.pretty_log_format", "macro_sql": "{% macro pretty_log_format(message) %}\n {{ return(adapter.dispatch('pretty_log_format', 'dbt_utils')(message)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__pretty_log_format"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9522839, "supported_languages": null}, "macro.dbt_utils.default__pretty_log_format": {"name": "default__pretty_log_format", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/jinja_helpers/pretty_log_format.sql", "original_file_path": "macros/jinja_helpers/pretty_log_format.sql", "unique_id": "macro.dbt_utils.default__pretty_log_format", "macro_sql": "{% macro default__pretty_log_format(message) %}\n {{ return( dbt_utils.pretty_time() ~ ' + ' ~ message) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.pretty_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.952436, "supported_languages": null}, "macro.dbt_utils._is_relation": {"name": "_is_relation", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/jinja_helpers/_is_relation.sql", "original_file_path": "macros/jinja_helpers/_is_relation.sql", "unique_id": "macro.dbt_utils._is_relation", "macro_sql": "{% macro _is_relation(obj, macro) %}\n {%- if not (obj is mapping and obj.get('metadata', {}).get('type', '').endswith('Relation')) -%}\n {%- do exceptions.raise_compiler_error(\"Macro \" ~ macro ~ \" expected a Relation but received the value: \" ~ obj) -%}\n {%- endif -%}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.952924, "supported_languages": null}, "macro.dbt_utils.pretty_time": {"name": "pretty_time", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/jinja_helpers/pretty_time.sql", "original_file_path": "macros/jinja_helpers/pretty_time.sql", "unique_id": "macro.dbt_utils.pretty_time", "macro_sql": "{% macro pretty_time(format='%H:%M:%S') %}\n {{ return(adapter.dispatch('pretty_time', 'dbt_utils')(format)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__pretty_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9532642, "supported_languages": null}, "macro.dbt_utils.default__pretty_time": {"name": "default__pretty_time", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/jinja_helpers/pretty_time.sql", "original_file_path": "macros/jinja_helpers/pretty_time.sql", "unique_id": "macro.dbt_utils.default__pretty_time", "macro_sql": "{% macro default__pretty_time(format='%H:%M:%S') %}\n {{ return(modules.datetime.datetime.now().strftime(format)) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9534578, "supported_languages": null}, "macro.dbt_utils.log_info": {"name": "log_info", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/jinja_helpers/log_info.sql", "original_file_path": "macros/jinja_helpers/log_info.sql", "unique_id": "macro.dbt_utils.log_info", "macro_sql": "{% macro log_info(message) %}\n {{ return(adapter.dispatch('log_info', 'dbt_utils')(message)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__log_info"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.953706, "supported_languages": null}, "macro.dbt_utils.default__log_info": {"name": "default__log_info", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/jinja_helpers/log_info.sql", "original_file_path": "macros/jinja_helpers/log_info.sql", "unique_id": "macro.dbt_utils.default__log_info", "macro_sql": "{% macro default__log_info(message) %}\n {{ log(dbt_utils.pretty_log_format(message), info=True) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.pretty_log_format"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.953879, "supported_languages": null}, "macro.dbt_utils.slugify": {"name": "slugify", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/jinja_helpers/slugify.sql", "original_file_path": "macros/jinja_helpers/slugify.sql", "unique_id": "macro.dbt_utils.slugify", "macro_sql": "{% macro slugify(string) %}\n\n{% if not string %}\n{{ return('') }}\n{% endif %}\n\n{#- Lower case the string -#}\n{% set string = string | lower %}\n{#- Replace spaces and dashes with underscores -#}\n{% set string = modules.re.sub('[ -]+', '_', string) %}\n{#- Only take letters, numbers, and underscores -#}\n{% set string = modules.re.sub('[^a-z0-9_]+', '', string) %}\n{#- Prepends \"_\" if string begins with a number -#}\n{% set string = modules.re.sub('^[0-9]', '_' + string[0], string) %}\n\n{{ return(string) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.954627, "supported_languages": null}, "macro.dbt_utils._is_ephemeral": {"name": "_is_ephemeral", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/jinja_helpers/_is_ephemeral.sql", "original_file_path": "macros/jinja_helpers/_is_ephemeral.sql", "unique_id": "macro.dbt_utils._is_ephemeral", "macro_sql": "{% macro _is_ephemeral(obj, macro) %}\n {%- if obj.is_cte -%}\n {% set ephemeral_prefix = api.Relation.add_ephemeral_prefix('') %}\n {% if obj.name.startswith(ephemeral_prefix) %}\n {% set model_name = obj.name[(ephemeral_prefix|length):] %}\n {% else %}\n {% set model_name = obj.name %}\n {%- endif -%}\n {% set error_message %}\nThe `{{ macro }}` macro cannot be used with ephemeral models, as it relies on the information schema.\n\n`{{ model_name }}` is an ephemeral model. Consider making it a view or table instead.\n {% endset %}\n {%- do exceptions.raise_compiler_error(error_message) -%}\n {%- endif -%}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.955474, "supported_languages": null}, "macro.dbt_utils.get_intervals_between": {"name": "get_intervals_between", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/date_spine.sql", "original_file_path": "macros/sql/date_spine.sql", "unique_id": "macro.dbt_utils.get_intervals_between", "macro_sql": "{% macro get_intervals_between(start_date, end_date, datepart) -%}\n {{ return(adapter.dispatch('get_intervals_between', 'dbt_utils')(start_date, end_date, datepart)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_intervals_between"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.956117, "supported_languages": null}, "macro.dbt_utils.default__get_intervals_between": {"name": "default__get_intervals_between", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/date_spine.sql", "original_file_path": "macros/sql/date_spine.sql", "unique_id": "macro.dbt_utils.default__get_intervals_between", "macro_sql": "{% macro default__get_intervals_between(start_date, end_date, datepart) -%}\n {%- call statement('get_intervals_between', fetch_result=True) %}\n\n select {{ dbt.datediff(start_date, end_date, datepart) }}\n\n {%- endcall -%}\n\n {%- set value_list = load_result('get_intervals_between') -%}\n\n {%- if value_list and value_list['data'] -%}\n {%- set values = value_list['data'] | map(attribute=0) | list %}\n {{ return(values[0]) }}\n {%- else -%}\n {{ return(1) }}\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt.datediff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.956676, "supported_languages": null}, "macro.dbt_utils.date_spine": {"name": "date_spine", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/date_spine.sql", "original_file_path": "macros/sql/date_spine.sql", "unique_id": "macro.dbt_utils.date_spine", "macro_sql": "{% macro date_spine(datepart, start_date, end_date) %}\n {{ return(adapter.dispatch('date_spine', 'dbt_utils')(datepart, start_date, end_date)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__date_spine"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9569001, "supported_languages": null}, "macro.dbt_utils.default__date_spine": {"name": "default__date_spine", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/date_spine.sql", "original_file_path": "macros/sql/date_spine.sql", "unique_id": "macro.dbt_utils.default__date_spine", "macro_sql": "{% macro default__date_spine(datepart, start_date, end_date) %}\n\n\n{# call as follows:\n\ndate_spine(\n \"day\",\n \"to_date('01/01/2016', 'mm/dd/yyyy')\",\n \"dbt.dateadd(week, 1, current_date)\"\n) #}\n\n\nwith rawdata as (\n\n {{dbt_utils.generate_series(\n dbt_utils.get_intervals_between(start_date, end_date, datepart)\n )}}\n\n),\n\nall_periods as (\n\n select (\n {{\n dbt.dateadd(\n datepart,\n \"row_number() over (order by 1) - 1\",\n start_date\n )\n }}\n ) as date_{{datepart}}\n from rawdata\n\n),\n\nfiltered as (\n\n select *\n from all_periods\n where date_{{datepart}} <= {{ end_date }}\n\n)\n\nselect * from filtered\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.generate_series", "macro.dbt_utils.get_intervals_between", "macro.dbt.dateadd"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.957227, "supported_languages": null}, "macro.dbt_utils.safe_subtract": {"name": "safe_subtract", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/safe_subtract.sql", "original_file_path": "macros/sql/safe_subtract.sql", "unique_id": "macro.dbt_utils.safe_subtract", "macro_sql": "{%- macro safe_subtract(field_list) -%}\n {{ return(adapter.dispatch('safe_subtract', 'dbt_utils')(field_list)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__safe_subtract"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.957571, "supported_languages": null}, "macro.dbt_utils.default__safe_subtract": {"name": "default__safe_subtract", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/safe_subtract.sql", "original_file_path": "macros/sql/safe_subtract.sql", "unique_id": "macro.dbt_utils.default__safe_subtract", "macro_sql": "\n\n{%- macro default__safe_subtract(field_list) -%}\n\n{%- if field_list is not iterable or field_list is string or field_list is mapping -%}\n\n{%- set error_message = '\nWarning: the `safe_subtract` macro takes a single list argument instead of \\\nstring arguments. The {}.{} model triggered this warning. \\\n'.format(model.package_name, model.name) -%}\n\n{%- do exceptions.raise_compiler_error(error_message) -%}\n\n{%- endif -%}\n\n{% set fields = [] %}\n\n{%- for field in field_list -%}\n\n {% do fields.append(\"coalesce(\" ~ field ~ \", 0)\") %}\n\n{%- endfor -%}\n\n{{ fields|join(' -\\n ') }}\n\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.958178, "supported_languages": null}, "macro.dbt_utils.nullcheck_table": {"name": "nullcheck_table", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/nullcheck_table.sql", "original_file_path": "macros/sql/nullcheck_table.sql", "unique_id": "macro.dbt_utils.nullcheck_table", "macro_sql": "{% macro nullcheck_table(relation) %}\n {{ return(adapter.dispatch('nullcheck_table', 'dbt_utils')(relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__nullcheck_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.958465, "supported_languages": null}, "macro.dbt_utils.default__nullcheck_table": {"name": "default__nullcheck_table", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/nullcheck_table.sql", "original_file_path": "macros/sql/nullcheck_table.sql", "unique_id": "macro.dbt_utils.default__nullcheck_table", "macro_sql": "{% macro default__nullcheck_table(relation) %}\n\n {%- do dbt_utils._is_relation(relation, 'nullcheck_table') -%}\n {%- do dbt_utils._is_ephemeral(relation, 'nullcheck_table') -%}\n {% set cols = adapter.get_columns_in_relation(relation) %}\n\n select {{ dbt_utils.nullcheck(cols) }}\n from {{relation}}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils._is_relation", "macro.dbt_utils._is_ephemeral", "macro.dbt_utils.nullcheck"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.958797, "supported_languages": null}, "macro.dbt_utils.get_relations_by_pattern": {"name": "get_relations_by_pattern", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_relations_by_pattern.sql", "original_file_path": "macros/sql/get_relations_by_pattern.sql", "unique_id": "macro.dbt_utils.get_relations_by_pattern", "macro_sql": "{% macro get_relations_by_pattern(schema_pattern, table_pattern, exclude='', database=target.database) %}\n {{ return(adapter.dispatch('get_relations_by_pattern', 'dbt_utils')(schema_pattern, table_pattern, exclude, database)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_relations_by_pattern"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.959452, "supported_languages": null}, "macro.dbt_utils.default__get_relations_by_pattern": {"name": "default__get_relations_by_pattern", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_relations_by_pattern.sql", "original_file_path": "macros/sql/get_relations_by_pattern.sql", "unique_id": "macro.dbt_utils.default__get_relations_by_pattern", "macro_sql": "{% macro default__get_relations_by_pattern(schema_pattern, table_pattern, exclude='', database=target.database) %}\n\n {%- call statement('get_tables', fetch_result=True) %}\n\n {{ dbt_utils.get_tables_by_pattern_sql(schema_pattern, table_pattern, exclude, database) }}\n\n {%- endcall -%}\n\n {%- set table_list = load_result('get_tables') -%}\n\n {%- if table_list and table_list['table'] -%}\n {%- set tbl_relations = [] -%}\n {%- for row in table_list['table'] -%}\n {%- set tbl_relation = api.Relation.create(\n database=database,\n schema=row.table_schema,\n identifier=row.table_name,\n type=row.table_type\n ) -%}\n {%- do tbl_relations.append(tbl_relation) -%}\n {%- endfor -%}\n\n {{ return(tbl_relations) }}\n {%- else -%}\n {{ return([]) }}\n {%- endif -%}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt_utils.get_tables_by_pattern_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.960257, "supported_languages": null}, "macro.dbt_utils.get_powers_of_two": {"name": "get_powers_of_two", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/generate_series.sql", "original_file_path": "macros/sql/generate_series.sql", "unique_id": "macro.dbt_utils.get_powers_of_two", "macro_sql": "{% macro get_powers_of_two(upper_bound) %}\n {{ return(adapter.dispatch('get_powers_of_two', 'dbt_utils')(upper_bound)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_powers_of_two"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9609869, "supported_languages": null}, "macro.dbt_utils.default__get_powers_of_two": {"name": "default__get_powers_of_two", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/generate_series.sql", "original_file_path": "macros/sql/generate_series.sql", "unique_id": "macro.dbt_utils.default__get_powers_of_two", "macro_sql": "{% macro default__get_powers_of_two(upper_bound) %}\n\n {% if upper_bound <= 0 %}\n {{ exceptions.raise_compiler_error(\"upper bound must be positive\") }}\n {% endif %}\n\n {% for _ in range(1, 100) %}\n {% if upper_bound <= 2 ** loop.index %}{{ return(loop.index) }}{% endif %}\n {% endfor %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.961371, "supported_languages": null}, "macro.dbt_utils.generate_series": {"name": "generate_series", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/generate_series.sql", "original_file_path": "macros/sql/generate_series.sql", "unique_id": "macro.dbt_utils.generate_series", "macro_sql": "{% macro generate_series(upper_bound) %}\n {{ return(adapter.dispatch('generate_series', 'dbt_utils')(upper_bound)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__generate_series"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.96155, "supported_languages": null}, "macro.dbt_utils.default__generate_series": {"name": "default__generate_series", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/generate_series.sql", "original_file_path": "macros/sql/generate_series.sql", "unique_id": "macro.dbt_utils.default__generate_series", "macro_sql": "{% macro default__generate_series(upper_bound) %}\n\n {% set n = dbt_utils.get_powers_of_two(upper_bound) %}\n\n with p as (\n select 0 as generated_number union all select 1\n ), unioned as (\n\n select\n\n {% for i in range(n) %}\n p{{i}}.generated_number * power(2, {{i}})\n {% if not loop.last %} + {% endif %}\n {% endfor %}\n + 1\n as generated_number\n\n from\n\n {% for i in range(n) %}\n p as p{{i}}\n {% if not loop.last %} cross join {% endif %}\n {% endfor %}\n\n )\n\n select *\n from unioned\n where generated_number <= {{upper_bound}}\n order by generated_number\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.get_powers_of_two"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9620311, "supported_languages": null}, "macro.dbt_utils.get_relations_by_prefix": {"name": "get_relations_by_prefix", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_relations_by_prefix.sql", "original_file_path": "macros/sql/get_relations_by_prefix.sql", "unique_id": "macro.dbt_utils.get_relations_by_prefix", "macro_sql": "{% macro get_relations_by_prefix(schema, prefix, exclude='', database=target.database) %}\n {{ return(adapter.dispatch('get_relations_by_prefix', 'dbt_utils')(schema, prefix, exclude, database)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_relations_by_prefix"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.962643, "supported_languages": null}, "macro.dbt_utils.default__get_relations_by_prefix": {"name": "default__get_relations_by_prefix", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_relations_by_prefix.sql", "original_file_path": "macros/sql/get_relations_by_prefix.sql", "unique_id": "macro.dbt_utils.default__get_relations_by_prefix", "macro_sql": "{% macro default__get_relations_by_prefix(schema, prefix, exclude='', database=target.database) %}\n\n {%- call statement('get_tables', fetch_result=True) %}\n\n {{ dbt_utils.get_tables_by_prefix_sql(schema, prefix, exclude, database) }}\n\n {%- endcall -%}\n\n {%- set table_list = load_result('get_tables') -%}\n\n {%- if table_list and table_list['table'] -%}\n {%- set tbl_relations = [] -%}\n {%- for row in table_list['table'] -%}\n {%- set tbl_relation = api.Relation.create(\n database=database,\n schema=row.table_schema,\n identifier=row.table_name,\n type=row.table_type\n ) -%}\n {%- do tbl_relations.append(tbl_relation) -%}\n {%- endfor -%}\n\n {{ return(tbl_relations) }}\n {%- else -%}\n {{ return([]) }}\n {%- endif -%}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt_utils.get_tables_by_prefix_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.963403, "supported_languages": null}, "macro.dbt_utils.get_tables_by_prefix_sql": {"name": "get_tables_by_prefix_sql", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_tables_by_prefix_sql.sql", "original_file_path": "macros/sql/get_tables_by_prefix_sql.sql", "unique_id": "macro.dbt_utils.get_tables_by_prefix_sql", "macro_sql": "{% macro get_tables_by_prefix_sql(schema, prefix, exclude='', database=target.database) %}\n {{ return(adapter.dispatch('get_tables_by_prefix_sql', 'dbt_utils')(schema, prefix, exclude, database)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_tables_by_prefix_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.963766, "supported_languages": null}, "macro.dbt_utils.default__get_tables_by_prefix_sql": {"name": "default__get_tables_by_prefix_sql", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_tables_by_prefix_sql.sql", "original_file_path": "macros/sql/get_tables_by_prefix_sql.sql", "unique_id": "macro.dbt_utils.default__get_tables_by_prefix_sql", "macro_sql": "{% macro default__get_tables_by_prefix_sql(schema, prefix, exclude='', database=target.database) %}\n\n {{ dbt_utils.get_tables_by_pattern_sql(\n schema_pattern = schema,\n table_pattern = prefix ~ '%',\n exclude = exclude,\n database = database\n ) }}\n \n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.get_tables_by_pattern_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9640179, "supported_languages": null}, "macro.dbt_utils.star": {"name": "star", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/star.sql", "original_file_path": "macros/sql/star.sql", "unique_id": "macro.dbt_utils.star", "macro_sql": "{% macro star(from, relation_alias=False, except=[], prefix='', suffix='', quote_identifiers=True) -%}\r\n {{ return(adapter.dispatch('star', 'dbt_utils')(from, relation_alias, except, prefix, suffix, quote_identifiers)) }}\r\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__star"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.965078, "supported_languages": null}, "macro.dbt_utils.default__star": {"name": "default__star", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/star.sql", "original_file_path": "macros/sql/star.sql", "unique_id": "macro.dbt_utils.default__star", "macro_sql": "{% macro default__star(from, relation_alias=False, except=[], prefix='', suffix='', quote_identifiers=True) -%}\r\n {%- do dbt_utils._is_relation(from, 'star') -%}\r\n {%- do dbt_utils._is_ephemeral(from, 'star') -%}\r\n\r\n {#-- Prevent querying of db in parsing mode. This works because this macro does not create any new refs. #}\r\n {%- if not execute -%}\r\n {% do return('*') %}\r\n {%- endif -%}\r\n\r\n {% set cols = dbt_utils.get_filtered_columns_in_relation(from, except) %}\r\n\r\n {%- if cols|length <= 0 -%}\r\n {% if flags.WHICH == 'compile' %}\r\n {% set response %}\r\n*\r\n/* No columns were returned. Maybe the relation doesn't exist yet \r\nor all columns were excluded. This star is only output during \r\ndbt compile, and exists to keep SQLFluff happy. */\r\n {% endset %}\r\n {% do return(response) %}\r\n {% else %}\r\n {% do return(\"/* no columns returned from star() macro */\") %}\r\n {% endif %}\r\n {%- else -%}\r\n {%- for col in cols %}\r\n {%- if relation_alias %}{{ relation_alias }}.{% else %}{%- endif -%}\r\n {%- if quote_identifiers -%}\r\n {{ adapter.quote(col)|trim }} {%- if prefix!='' or suffix!='' %} as {{ adapter.quote(prefix ~ col ~ suffix)|trim }} {%- endif -%}\r\n {%- else -%}\r\n {{ col|trim }} {%- if prefix!='' or suffix!='' %} as {{ (prefix ~ col ~ suffix)|trim }} {%- endif -%}\r\n {% endif %}\r\n {%- if not loop.last %},{{ '\\n ' }}{%- endif -%}\r\n {%- endfor -%}\r\n {% endif %}\r\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_utils._is_relation", "macro.dbt_utils._is_ephemeral", "macro.dbt_utils.get_filtered_columns_in_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.966634, "supported_languages": null}, "macro.dbt_utils.unpivot": {"name": "unpivot", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/unpivot.sql", "original_file_path": "macros/sql/unpivot.sql", "unique_id": "macro.dbt_utils.unpivot", "macro_sql": "{% macro unpivot(relation=none, cast_to='varchar', exclude=none, remove=none, field_name='field_name', value_name='value', quote_identifiers=False) -%}\n {{ return(adapter.dispatch('unpivot', 'dbt_utils')(relation, cast_to, exclude, remove, field_name, value_name, quote_identifiers)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__unpivot"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.968132, "supported_languages": null}, "macro.dbt_utils.default__unpivot": {"name": "default__unpivot", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/unpivot.sql", "original_file_path": "macros/sql/unpivot.sql", "unique_id": "macro.dbt_utils.default__unpivot", "macro_sql": "{% macro default__unpivot(relation=none, cast_to='varchar', exclude=none, remove=none, field_name='field_name', value_name='value', quote_identifiers=False) -%}\n\n {% if not relation %}\n {{ exceptions.raise_compiler_error(\"Error: argument `relation` is required for `unpivot` macro.\") }}\n {% endif %}\n\n {%- set exclude = exclude if exclude is not none else [] %}\n {%- set remove = remove if remove is not none else [] %}\n\n {%- set include_cols = [] %}\n\n {%- set table_columns = {} %}\n\n {%- do table_columns.update({relation: []}) %}\n\n {%- do dbt_utils._is_relation(relation, 'unpivot') -%}\n {%- do dbt_utils._is_ephemeral(relation, 'unpivot') -%}\n {%- set cols = adapter.get_columns_in_relation(relation) %}\n\n {%- for col in cols -%}\n {%- if col.column.lower() not in remove|map('lower') and col.column.lower() not in exclude|map('lower') -%}\n {% do include_cols.append(col) %}\n {%- endif %}\n {%- endfor %}\n\n\n {%- for col in include_cols -%}\n {%- set current_col_name = adapter.quote(col.column) if quote_identifiers else col.column -%}\n select\n {%- for exclude_col in exclude %}\n {{ adapter.quote(exclude_col) if quote_identifiers else exclude_col }},\n {%- endfor %}\n\n cast('{{ col.column }}' as {{ dbt.type_string() }}) as {{ adapter.quote(field_name) if quote_identifiers else field_name }},\n cast( {% if col.data_type == 'boolean' %}\n {{ dbt.cast_bool_to_text(current_col_name) }}\n {% else %}\n {{ current_col_name }}\n {% endif %}\n as {{ cast_to }}) as {{ adapter.quote(value_name) if quote_identifiers else value_name }}\n\n from {{ relation }}\n\n {% if not loop.last -%}\n union all\n {% endif -%}\n {%- endfor -%}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_utils._is_relation", "macro.dbt_utils._is_ephemeral", "macro.dbt.type_string", "macro.dbt.cast_bool_to_text"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.969882, "supported_languages": null}, "macro.dbt_utils.safe_divide": {"name": "safe_divide", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/safe_divide.sql", "original_file_path": "macros/sql/safe_divide.sql", "unique_id": "macro.dbt_utils.safe_divide", "macro_sql": "{% macro safe_divide(numerator, denominator) -%}\n {{ return(adapter.dispatch('safe_divide', 'dbt_utils')(numerator, denominator)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__safe_divide"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.97015, "supported_languages": null}, "macro.dbt_utils.default__safe_divide": {"name": "default__safe_divide", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/safe_divide.sql", "original_file_path": "macros/sql/safe_divide.sql", "unique_id": "macro.dbt_utils.default__safe_divide", "macro_sql": "{% macro default__safe_divide(numerator, denominator) %}\n ( {{ numerator }} ) / nullif( ( {{ denominator }} ), 0)\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.970266, "supported_languages": null}, "macro.dbt_utils.union_relations": {"name": "union_relations", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/union.sql", "original_file_path": "macros/sql/union.sql", "unique_id": "macro.dbt_utils.union_relations", "macro_sql": "{%- macro union_relations(relations, column_override=none, include=[], exclude=[], source_column_name='_dbt_source_relation', where=none) -%}\n {{ return(adapter.dispatch('union_relations', 'dbt_utils')(relations, column_override, include, exclude, source_column_name, where)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__union_relations"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9729228, "supported_languages": null}, "macro.dbt_utils.default__union_relations": {"name": "default__union_relations", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/union.sql", "original_file_path": "macros/sql/union.sql", "unique_id": "macro.dbt_utils.default__union_relations", "macro_sql": "\n\n{%- macro default__union_relations(relations, column_override=none, include=[], exclude=[], source_column_name='_dbt_source_relation', where=none) -%}\n\n {%- if exclude and include -%}\n {{ exceptions.raise_compiler_error(\"Both an exclude and include list were provided to the `union` macro. Only one is allowed\") }}\n {%- endif -%}\n\n {#-- Prevent querying of db in parsing mode. This works because this macro does not create any new refs. -#}\n {%- if not execute %}\n {{ return('') }}\n {% endif -%}\n\n {%- set column_override = column_override if column_override is not none else {} -%}\n\n {%- set relation_columns = {} -%}\n {%- set column_superset = {} -%}\n {%- set all_excludes = [] -%}\n {%- set all_includes = [] -%}\n\n {%- if exclude -%}\n {%- for exc in exclude -%}\n {%- do all_excludes.append(exc | lower) -%}\n {%- endfor -%}\n {%- endif -%}\n\n {%- if include -%}\n {%- for inc in include -%}\n {%- do all_includes.append(inc | lower) -%}\n {%- endfor -%}\n {%- endif -%}\n\n {%- for relation in relations -%}\n\n {%- do relation_columns.update({relation: []}) -%}\n\n {%- do dbt_utils._is_relation(relation, 'union_relations') -%}\n {%- do dbt_utils._is_ephemeral(relation, 'union_relations') -%}\n {%- set cols = adapter.get_columns_in_relation(relation) -%}\n {%- for col in cols -%}\n\n {#- If an exclude list was provided and the column is in the list, do nothing -#}\n {%- if exclude and col.column | lower in all_excludes -%}\n\n {#- If an include list was provided and the column is not in the list, do nothing -#}\n {%- elif include and col.column | lower not in all_includes -%}\n\n {#- Otherwise add the column to the column superset -#}\n {%- else -%}\n\n {#- update the list of columns in this relation -#}\n {%- do relation_columns[relation].append(col.column) -%}\n\n {%- if col.column in column_superset -%}\n\n {%- set stored = column_superset[col.column] -%}\n {%- if col.is_string() and stored.is_string() and col.string_size() > stored.string_size() -%}\n\n {%- do column_superset.update({col.column: col}) -%}\n\n {%- endif %}\n\n {%- else -%}\n\n {%- do column_superset.update({col.column: col}) -%}\n\n {%- endif -%}\n\n {%- endif -%}\n\n {%- endfor -%}\n {%- endfor -%}\n\n {%- set ordered_column_names = column_superset.keys() -%}\n {%- set dbt_command = flags.WHICH -%}\n\n\n {% if dbt_command in ['run', 'build'] %}\n {% if (include | length > 0 or exclude | length > 0) and not column_superset.keys() %}\n {%- set relations_string -%}\n {%- for relation in relations -%}\n {{ relation.name }}\n {%- if not loop.last %}, {% endif -%}\n {%- endfor -%}\n {%- endset -%}\n\n {%- set error_message -%}\n There were no columns found to union for relations {{ relations_string }}\n {%- endset -%}\n\n {{ exceptions.raise_compiler_error(error_message) }}\n {%- endif -%}\n {%- endif -%}\n\n {%- for relation in relations %}\n\n (\n select\n\n {%- if source_column_name is not none %}\n cast({{ dbt.string_literal(relation) }} as {{ dbt.type_string() }}) as {{ source_column_name }},\n {%- endif %}\n\n {% for col_name in ordered_column_names -%}\n\n {%- set col = column_superset[col_name] %}\n {%- set col_type = column_override.get(col.column, col.data_type) %}\n {%- set col_name = adapter.quote(col_name) if col_name in relation_columns[relation] else 'null' %}\n cast({{ col_name }} as {{ col_type }}) as {{ col.quoted }} {% if not loop.last %},{% endif -%}\n\n {%- endfor %}\n\n from {{ relation }}\n\n {% if where -%}\n where {{ where }}\n {%- endif %}\n )\n\n {% if not loop.last -%}\n union all\n {% endif -%}\n\n {%- endfor -%}\n\n{%- endmacro -%}", "depends_on": {"macros": ["macro.dbt_utils._is_relation", "macro.dbt_utils._is_ephemeral", "macro.dbt.string_literal", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.976046, "supported_languages": null}, "macro.dbt_utils.group_by": {"name": "group_by", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/groupby.sql", "original_file_path": "macros/sql/groupby.sql", "unique_id": "macro.dbt_utils.group_by", "macro_sql": "{%- macro group_by(n) -%}\n {{ return(adapter.dispatch('group_by', 'dbt_utils')(n)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__group_by"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.976328, "supported_languages": null}, "macro.dbt_utils.default__group_by": {"name": "default__group_by", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/groupby.sql", "original_file_path": "macros/sql/groupby.sql", "unique_id": "macro.dbt_utils.default__group_by", "macro_sql": "\n\n{%- macro default__group_by(n) -%}\n\n group by {% for i in range(1, n + 1) -%}\n {{ i }}{{ ',' if not loop.last }} \n {%- endfor -%}\n\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9765491, "supported_languages": null}, "macro.dbt_utils.deduplicate": {"name": "deduplicate", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/deduplicate.sql", "original_file_path": "macros/sql/deduplicate.sql", "unique_id": "macro.dbt_utils.deduplicate", "macro_sql": "{%- macro deduplicate(relation, partition_by, order_by) -%}\n {{ return(adapter.dispatch('deduplicate', 'dbt_utils')(relation, partition_by, order_by)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.postgres__deduplicate"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.977563, "supported_languages": null}, "macro.dbt_utils.default__deduplicate": {"name": "default__deduplicate", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/deduplicate.sql", "original_file_path": "macros/sql/deduplicate.sql", "unique_id": "macro.dbt_utils.default__deduplicate", "macro_sql": "\n\n{%- macro default__deduplicate(relation, partition_by, order_by) -%}\n\n with row_numbered as (\n select\n _inner.*,\n row_number() over (\n partition by {{ partition_by }}\n order by {{ order_by }}\n ) as rn\n from {{ relation }} as _inner\n )\n\n select\n distinct data.*\n from {{ relation }} as data\n {#\n -- Not all DBs will support natural joins but the ones that do include:\n -- Oracle, MySQL, SQLite, Redshift, Teradata, Materialize, Databricks\n -- Apache Spark, SingleStore, Vertica\n -- Those that do not appear to support natural joins include:\n -- SQLServer, Trino, Presto, Rockset, Athena\n #}\n natural join row_numbered\n where row_numbered.rn = 1\n\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9777799, "supported_languages": null}, "macro.dbt_utils.redshift__deduplicate": {"name": "redshift__deduplicate", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/deduplicate.sql", "original_file_path": "macros/sql/deduplicate.sql", "unique_id": "macro.dbt_utils.redshift__deduplicate", "macro_sql": "{% macro redshift__deduplicate(relation, partition_by, order_by) -%}\n\n select *\n from {{ relation }} as tt\n qualify\n row_number() over (\n partition by {{ partition_by }}\n order by {{ order_by }}\n ) = 1\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.977937, "supported_languages": null}, "macro.dbt_utils.postgres__deduplicate": {"name": "postgres__deduplicate", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/deduplicate.sql", "original_file_path": "macros/sql/deduplicate.sql", "unique_id": "macro.dbt_utils.postgres__deduplicate", "macro_sql": "\n{%- macro postgres__deduplicate(relation, partition_by, order_by) -%}\n\n select\n distinct on ({{ partition_by }}) *\n from {{ relation }}\n order by {{ partition_by }}{{ ',' ~ order_by }}\n\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.978119, "supported_languages": null}, "macro.dbt_utils.snowflake__deduplicate": {"name": "snowflake__deduplicate", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/deduplicate.sql", "original_file_path": "macros/sql/deduplicate.sql", "unique_id": "macro.dbt_utils.snowflake__deduplicate", "macro_sql": "\n{%- macro snowflake__deduplicate(relation, partition_by, order_by) -%}\n\n select *\n from {{ relation }}\n qualify\n row_number() over (\n partition by {{ partition_by }}\n order by {{ order_by }}\n ) = 1\n\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9782798, "supported_languages": null}, "macro.dbt_utils.databricks__deduplicate": {"name": "databricks__deduplicate", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/deduplicate.sql", "original_file_path": "macros/sql/deduplicate.sql", "unique_id": "macro.dbt_utils.databricks__deduplicate", "macro_sql": "\n{%- macro databricks__deduplicate(relation, partition_by, order_by) -%}\n\n select *\n from {{ relation }}\n qualify\n row_number() over (\n partition by {{ partition_by }}\n order by {{ order_by }}\n ) = 1\n\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.978434, "supported_languages": null}, "macro.dbt_utils.bigquery__deduplicate": {"name": "bigquery__deduplicate", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/deduplicate.sql", "original_file_path": "macros/sql/deduplicate.sql", "unique_id": "macro.dbt_utils.bigquery__deduplicate", "macro_sql": "\n{%- macro bigquery__deduplicate(relation, partition_by, order_by) -%}\n\n select unique.*\n from (\n select\n array_agg (\n original\n order by {{ order_by }}\n limit 1\n )[offset(0)] unique\n from {{ relation }} original\n group by {{ partition_by }}\n )\n\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9785972, "supported_languages": null}, "macro.dbt_utils.surrogate_key": {"name": "surrogate_key", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/surrogate_key.sql", "original_file_path": "macros/sql/surrogate_key.sql", "unique_id": "macro.dbt_utils.surrogate_key", "macro_sql": "{%- macro surrogate_key(field_list) -%}\n {% set frustrating_jinja_feature = varargs %}\n {{ return(adapter.dispatch('surrogate_key', 'dbt_utils')(field_list, *varargs)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__surrogate_key"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9789922, "supported_languages": null}, "macro.dbt_utils.default__surrogate_key": {"name": "default__surrogate_key", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/surrogate_key.sql", "original_file_path": "macros/sql/surrogate_key.sql", "unique_id": "macro.dbt_utils.default__surrogate_key", "macro_sql": "\n\n{%- macro default__surrogate_key(field_list) -%}\n\n{%- set error_message = '\nWarning: `dbt_utils.surrogate_key` has been replaced by \\\n`dbt_utils.generate_surrogate_key`. The new macro treats null values \\\ndifferently to empty strings. To restore the behaviour of the original \\\nmacro, add a global variable in dbt_project.yml called \\\n`surrogate_key_treat_nulls_as_empty_strings` to your \\\ndbt_project.yml file with a value of True. \\\nThe {}.{} model triggered this warning. \\\n'.format(model.package_name, model.name) -%}\n\n{%- do exceptions.raise_compiler_error(error_message) -%}\n\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.979229, "supported_languages": null}, "macro.dbt_utils.safe_add": {"name": "safe_add", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/safe_add.sql", "original_file_path": "macros/sql/safe_add.sql", "unique_id": "macro.dbt_utils.safe_add", "macro_sql": "{%- macro safe_add(field_list) -%}\n {{ return(adapter.dispatch('safe_add', 'dbt_utils')(field_list)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__safe_add"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9795752, "supported_languages": null}, "macro.dbt_utils.default__safe_add": {"name": "default__safe_add", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/safe_add.sql", "original_file_path": "macros/sql/safe_add.sql", "unique_id": "macro.dbt_utils.default__safe_add", "macro_sql": "\n\n{%- macro default__safe_add(field_list) -%}\n\n{%- if field_list is not iterable or field_list is string or field_list is mapping -%}\n\n{%- set error_message = '\nWarning: the `safe_add` macro now takes a single list argument instead of \\\nstring arguments. The {}.{} model triggered this warning. \\\n'.format(model.package_name, model.name) -%}\n\n{%- do exceptions.warn(error_message) -%}\n\n{%- endif -%}\n\n{% set fields = [] %}\n\n{%- for field in field_list -%}\n\n {% do fields.append(\"coalesce(\" ~ field ~ \", 0)\") %}\n\n{%- endfor -%}\n\n{{ fields|join(' +\\n ') }}\n\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.980139, "supported_languages": null}, "macro.dbt_utils.nullcheck": {"name": "nullcheck", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/nullcheck.sql", "original_file_path": "macros/sql/nullcheck.sql", "unique_id": "macro.dbt_utils.nullcheck", "macro_sql": "{% macro nullcheck(cols) %}\n {{ return(adapter.dispatch('nullcheck', 'dbt_utils')(cols)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__nullcheck"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.980442, "supported_languages": null}, "macro.dbt_utils.default__nullcheck": {"name": "default__nullcheck", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/nullcheck.sql", "original_file_path": "macros/sql/nullcheck.sql", "unique_id": "macro.dbt_utils.default__nullcheck", "macro_sql": "{% macro default__nullcheck(cols) %}\n{%- for col in cols %}\n\n {% if col.is_string() -%}\n\n nullif({{col.name}},'') as {{col.name}}\n\n {%- else -%}\n\n {{col.name}}\n\n {%- endif -%}\n\n{%- if not loop.last -%} , {%- endif -%}\n\n{%- endfor -%}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.980743, "supported_languages": null}, "macro.dbt_utils.get_tables_by_pattern_sql": {"name": "get_tables_by_pattern_sql", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_tables_by_pattern_sql.sql", "original_file_path": "macros/sql/get_tables_by_pattern_sql.sql", "unique_id": "macro.dbt_utils.get_tables_by_pattern_sql", "macro_sql": "{% macro get_tables_by_pattern_sql(schema_pattern, table_pattern, exclude='', database=target.database) %}\n {{ return(adapter.dispatch('get_tables_by_pattern_sql', 'dbt_utils')\n (schema_pattern, table_pattern, exclude, database)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_tables_by_pattern_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9835389, "supported_languages": null}, "macro.dbt_utils.default__get_tables_by_pattern_sql": {"name": "default__get_tables_by_pattern_sql", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_tables_by_pattern_sql.sql", "original_file_path": "macros/sql/get_tables_by_pattern_sql.sql", "unique_id": "macro.dbt_utils.default__get_tables_by_pattern_sql", "macro_sql": "{% macro default__get_tables_by_pattern_sql(schema_pattern, table_pattern, exclude='', database=target.database) %}\n\n select distinct\n table_schema as {{ adapter.quote('table_schema') }},\n table_name as {{ adapter.quote('table_name') }},\n {{ dbt_utils.get_table_types_sql() }}\n from {{ database }}.information_schema.tables\n where table_schema ilike '{{ schema_pattern }}'\n and table_name ilike '{{ table_pattern }}'\n and table_name not ilike '{{ exclude }}'\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.get_table_types_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9839842, "supported_languages": null}, "macro.dbt_utils.redshift__get_tables_by_pattern_sql": {"name": "redshift__get_tables_by_pattern_sql", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_tables_by_pattern_sql.sql", "original_file_path": "macros/sql/get_tables_by_pattern_sql.sql", "unique_id": "macro.dbt_utils.redshift__get_tables_by_pattern_sql", "macro_sql": "{% macro redshift__get_tables_by_pattern_sql(schema_pattern, table_pattern, exclude='', database=target.database) %}\n\n {% set sql %}\n select distinct\n table_schema as {{ adapter.quote('table_schema') }},\n table_name as {{ adapter.quote('table_name') }},\n {{ dbt_utils.get_table_types_sql() }}\n from \"{{ database }}\".\"information_schema\".\"tables\"\n where table_schema ilike '{{ schema_pattern }}'\n and table_name ilike '{{ table_pattern }}'\n and table_name not ilike '{{ exclude }}'\n union all\n select distinct\n schemaname as {{ adapter.quote('table_schema') }},\n tablename as {{ adapter.quote('table_name') }},\n 'external' as {{ adapter.quote('table_type') }}\n from svv_external_tables\n where redshift_database_name = '{{ database }}'\n and schemaname ilike '{{ schema_pattern }}'\n and table_name ilike '{{ table_pattern }}'\n and table_name not ilike '{{ exclude }}'\n {% endset %}\n\n {{ return(sql) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.get_table_types_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.984614, "supported_languages": null}, "macro.dbt_utils.bigquery__get_tables_by_pattern_sql": {"name": "bigquery__get_tables_by_pattern_sql", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_tables_by_pattern_sql.sql", "original_file_path": "macros/sql/get_tables_by_pattern_sql.sql", "unique_id": "macro.dbt_utils.bigquery__get_tables_by_pattern_sql", "macro_sql": "{% macro bigquery__get_tables_by_pattern_sql(schema_pattern, table_pattern, exclude='', database=target.database) %}\n\n {% if '%' in schema_pattern %}\n {% set schemata=dbt_utils._bigquery__get_matching_schemata(schema_pattern, database) %}\n {% else %}\n {% set schemata=[schema_pattern] %}\n {% endif %}\n\n {% set sql %}\n {% for schema in schemata %}\n select distinct\n table_schema,\n table_name,\n {{ dbt_utils.get_table_types_sql() }}\n\n from {{ adapter.quote(database) }}.{{ schema }}.INFORMATION_SCHEMA.TABLES\n where lower(table_name) like lower ('{{ table_pattern }}')\n and lower(table_name) not like lower ('{{ exclude }}')\n\n {% if not loop.last %} union all {% endif %}\n\n {% endfor %}\n {% endset %}\n\n {{ return(sql) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils._bigquery__get_matching_schemata", "macro.dbt_utils.get_table_types_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.985291, "supported_languages": null}, "macro.dbt_utils._bigquery__get_matching_schemata": {"name": "_bigquery__get_matching_schemata", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_tables_by_pattern_sql.sql", "original_file_path": "macros/sql/get_tables_by_pattern_sql.sql", "unique_id": "macro.dbt_utils._bigquery__get_matching_schemata", "macro_sql": "{% macro _bigquery__get_matching_schemata(schema_pattern, database) %}\n {% if execute %}\n\n {% set sql %}\n select schema_name from {{ adapter.quote(database) }}.INFORMATION_SCHEMA.SCHEMATA\n where lower(schema_name) like lower('{{ schema_pattern }}')\n {% endset %}\n\n {% set results=run_query(sql) %}\n\n {% set schemata=results.columns['schema_name'].values() %}\n\n {{ return(schemata) }}\n\n {% else %}\n\n {{ return([]) }}\n\n {% endif %}\n\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9857411, "supported_languages": null}, "macro.dbt_utils.get_column_values": {"name": "get_column_values", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_column_values.sql", "original_file_path": "macros/sql/get_column_values.sql", "unique_id": "macro.dbt_utils.get_column_values", "macro_sql": "{% macro get_column_values(table, column, order_by='count(*) desc', max_records=none, default=none, where=none) -%}\n {{ return(adapter.dispatch('get_column_values', 'dbt_utils')(table, column, order_by, max_records, default, where)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_column_values"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9867468, "supported_languages": null}, "macro.dbt_utils.default__get_column_values": {"name": "default__get_column_values", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_column_values.sql", "original_file_path": "macros/sql/get_column_values.sql", "unique_id": "macro.dbt_utils.default__get_column_values", "macro_sql": "{% macro default__get_column_values(table, column, order_by='count(*) desc', max_records=none, default=none, where=none) -%}\n {#-- Prevent querying of db in parsing mode. This works because this macro does not create any new refs. #}\n {%- if not execute -%}\n {% set default = [] if not default %}\n {{ return(default) }}\n {% endif %}\n\n {%- do dbt_utils._is_ephemeral(table, 'get_column_values') -%}\n\n {# Not all relations are tables. Renaming for internal clarity without breaking functionality for anyone using named arguments #}\n {# TODO: Change the method signature in a future 0.x.0 release #}\n {%- set target_relation = table -%}\n\n {# adapter.load_relation is a convenience wrapper to avoid building a Relation when we already have one #}\n {% set relation_exists = (load_relation(target_relation)) is not none %}\n\n {%- call statement('get_column_values', fetch_result=true) %}\n\n {%- if not relation_exists and default is none -%}\n\n {{ exceptions.raise_compiler_error(\"In get_column_values(): relation \" ~ target_relation ~ \" does not exist and no default value was provided.\") }}\n\n {%- elif not relation_exists and default is not none -%}\n\n {{ log(\"Relation \" ~ target_relation ~ \" does not exist. Returning the default value: \" ~ default) }}\n\n {{ return(default) }}\n\n {%- else -%}\n\n\n select\n {{ column }} as value\n\n from {{ target_relation }}\n\n {% if where is not none %}\n where {{ where }}\n {% endif %}\n\n group by {{ column }}\n order by {{ order_by }}\n\n {% if max_records is not none %}\n limit {{ max_records }}\n {% endif %}\n\n {% endif %}\n\n {%- endcall -%}\n\n {%- set value_list = load_result('get_column_values') -%}\n\n {%- if value_list and value_list['data'] -%}\n {%- set values = value_list['data'] | map(attribute=0) | list %}\n {{ return(values) }}\n {%- else -%}\n {{ return(default) }}\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_utils._is_ephemeral", "macro.dbt.load_relation", "macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.988205, "supported_languages": null}, "macro.dbt_utils.pivot": {"name": "pivot", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/pivot.sql", "original_file_path": "macros/sql/pivot.sql", "unique_id": "macro.dbt_utils.pivot", "macro_sql": "{% macro pivot(column,\n values,\n alias=True,\n agg='sum',\n cmp='=',\n prefix='',\n suffix='',\n then_value=1,\n else_value=0,\n quote_identifiers=True,\n distinct=False) %}\n {{ return(adapter.dispatch('pivot', 'dbt_utils')(column, values, alias, agg, cmp, prefix, suffix, then_value, else_value, quote_identifiers, distinct)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__pivot"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.989245, "supported_languages": null}, "macro.dbt_utils.default__pivot": {"name": "default__pivot", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/pivot.sql", "original_file_path": "macros/sql/pivot.sql", "unique_id": "macro.dbt_utils.default__pivot", "macro_sql": "{% macro default__pivot(column,\n values,\n alias=True,\n agg='sum',\n cmp='=',\n prefix='',\n suffix='',\n then_value=1,\n else_value=0,\n quote_identifiers=True,\n distinct=False) %}\n {% for value in values %}\n {{ agg }}(\n {% if distinct %} distinct {% endif %}\n case\n when {{ column }} {{ cmp }} '{{ dbt.escape_single_quotes(value) }}'\n then {{ then_value }}\n else {{ else_value }}\n end\n )\n {% if alias %}\n {% if quote_identifiers %}\n as {{ adapter.quote(prefix ~ value ~ suffix) }}\n {% else %}\n as {{ dbt_utils.slugify(prefix ~ value ~ suffix) }}\n {% endif %}\n {% endif %}\n {% if not loop.last %},{% endif %}\n {% endfor %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.escape_single_quotes", "macro.dbt_utils.slugify"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.990005, "supported_languages": null}, "macro.dbt_utils.get_filtered_columns_in_relation": {"name": "get_filtered_columns_in_relation", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_filtered_columns_in_relation.sql", "original_file_path": "macros/sql/get_filtered_columns_in_relation.sql", "unique_id": "macro.dbt_utils.get_filtered_columns_in_relation", "macro_sql": "{% macro get_filtered_columns_in_relation(from, except=[]) -%}\n {{ return(adapter.dispatch('get_filtered_columns_in_relation', 'dbt_utils')(from, except)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_filtered_columns_in_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.990426, "supported_languages": null}, "macro.dbt_utils.default__get_filtered_columns_in_relation": {"name": "default__get_filtered_columns_in_relation", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_filtered_columns_in_relation.sql", "original_file_path": "macros/sql/get_filtered_columns_in_relation.sql", "unique_id": "macro.dbt_utils.default__get_filtered_columns_in_relation", "macro_sql": "{% macro default__get_filtered_columns_in_relation(from, except=[]) -%}\n {%- do dbt_utils._is_relation(from, 'get_filtered_columns_in_relation') -%}\n {%- do dbt_utils._is_ephemeral(from, 'get_filtered_columns_in_relation') -%}\n\n {# -- Prevent querying of db in parsing mode. This works because this macro does not create any new refs. #}\n {%- if not execute -%}\n {{ return('') }}\n {% endif %}\n\n {%- set include_cols = [] %}\n {%- set cols = adapter.get_columns_in_relation(from) -%}\n {%- set except = except | map(\"lower\") | list %}\n {%- for col in cols -%}\n {%- if col.column|lower not in except -%}\n {% do include_cols.append(col.column) %}\n {%- endif %}\n {%- endfor %}\n\n {{ return(include_cols) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_utils._is_relation", "macro.dbt_utils._is_ephemeral"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9910882, "supported_languages": null}, "macro.dbt_utils.width_bucket": {"name": "width_bucket", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/width_bucket.sql", "original_file_path": "macros/sql/width_bucket.sql", "unique_id": "macro.dbt_utils.width_bucket", "macro_sql": "{% macro width_bucket(expr, min_value, max_value, num_buckets) %}\n {{ return(adapter.dispatch('width_bucket', 'dbt_utils') (expr, min_value, max_value, num_buckets)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__width_bucket"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.991904, "supported_languages": null}, "macro.dbt_utils.default__width_bucket": {"name": "default__width_bucket", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/width_bucket.sql", "original_file_path": "macros/sql/width_bucket.sql", "unique_id": "macro.dbt_utils.default__width_bucket", "macro_sql": "{% macro default__width_bucket(expr, min_value, max_value, num_buckets) -%}\n\n {% set bin_size -%}\n (( {{ max_value }} - {{ min_value }} ) / {{ num_buckets }} )\n {%- endset %}\n (\n -- to break ties when the amount is eaxtly at the bucket egde\n case\n when\n mod(\n {{ dbt.safe_cast(expr, dbt.type_numeric() ) }},\n {{ dbt.safe_cast(bin_size, dbt.type_numeric() ) }}\n ) = 0\n then 1\n else 0\n end\n ) +\n -- Anything over max_value goes the N+1 bucket\n least(\n ceil(\n ({{ expr }} - {{ min_value }})/{{ bin_size }}\n ),\n {{ num_buckets }} + 1\n )\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.safe_cast", "macro.dbt.type_numeric"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.992342, "supported_languages": null}, "macro.dbt_utils.snowflake__width_bucket": {"name": "snowflake__width_bucket", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/width_bucket.sql", "original_file_path": "macros/sql/width_bucket.sql", "unique_id": "macro.dbt_utils.snowflake__width_bucket", "macro_sql": "{% macro snowflake__width_bucket(expr, min_value, max_value, num_buckets) %}\n width_bucket({{ expr }}, {{ min_value }}, {{ max_value }}, {{ num_buckets }} )\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.992529, "supported_languages": null}, "macro.dbt_utils.get_query_results_as_dict": {"name": "get_query_results_as_dict", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_query_results_as_dict.sql", "original_file_path": "macros/sql/get_query_results_as_dict.sql", "unique_id": "macro.dbt_utils.get_query_results_as_dict", "macro_sql": "{% macro get_query_results_as_dict(query) %}\n {{ return(adapter.dispatch('get_query_results_as_dict', 'dbt_utils')(query)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_query_results_as_dict"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9928992, "supported_languages": null}, "macro.dbt_utils.default__get_query_results_as_dict": {"name": "default__get_query_results_as_dict", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_query_results_as_dict.sql", "original_file_path": "macros/sql/get_query_results_as_dict.sql", "unique_id": "macro.dbt_utils.default__get_query_results_as_dict", "macro_sql": "{% macro default__get_query_results_as_dict(query) %}\n\n{# This macro returns a dictionary of the form {column_name: (tuple_of_results)} #}\n\n {%- call statement('get_query_results', fetch_result=True,auto_begin=false) -%}\n\n {{ query }}\n\n {%- endcall -%}\n\n {% set sql_results={} %}\n\n {%- if execute -%}\n {% set sql_results_table = load_result('get_query_results').table.columns %}\n {% for column_name, column in sql_results_table.items() %}\n {% do sql_results.update({column_name: column.values()}) %}\n {% endfor %}\n {%- endif -%}\n\n {{ return(sql_results) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.993443, "supported_languages": null}, "macro.dbt_utils.generate_surrogate_key": {"name": "generate_surrogate_key", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/generate_surrogate_key.sql", "original_file_path": "macros/sql/generate_surrogate_key.sql", "unique_id": "macro.dbt_utils.generate_surrogate_key", "macro_sql": "{%- macro generate_surrogate_key(field_list) -%}\n {{ return(adapter.dispatch('generate_surrogate_key', 'dbt_utils')(field_list)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__generate_surrogate_key"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.993849, "supported_languages": null}, "macro.dbt_utils.default__generate_surrogate_key": {"name": "default__generate_surrogate_key", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/generate_surrogate_key.sql", "original_file_path": "macros/sql/generate_surrogate_key.sql", "unique_id": "macro.dbt_utils.default__generate_surrogate_key", "macro_sql": "\n\n{%- macro default__generate_surrogate_key(field_list) -%}\n\n{%- if var('surrogate_key_treat_nulls_as_empty_strings', False) -%}\n {%- set default_null_value = \"\" -%}\n{%- else -%}\n {%- set default_null_value = '_dbt_utils_surrogate_key_null_' -%}\n{%- endif -%}\n\n{%- set fields = [] -%}\n\n{%- for field in field_list -%}\n\n {%- do fields.append(\n \"coalesce(cast(\" ~ field ~ \" as \" ~ dbt.type_string() ~ \"), '\" ~ default_null_value ~\"')\"\n ) -%}\n\n {%- if not loop.last %}\n {%- do fields.append(\"'-'\") -%}\n {%- endif -%}\n\n{%- endfor -%}\n\n{{ dbt.hash(dbt.concat(fields)) }}\n\n{%- endmacro -%}", "depends_on": {"macros": ["macro.dbt.type_string", "macro.dbt.hash", "macro.dbt.concat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9944031, "supported_languages": null}, "macro.dbt_utils.get_table_types_sql": {"name": "get_table_types_sql", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_table_types_sql.sql", "original_file_path": "macros/sql/get_table_types_sql.sql", "unique_id": "macro.dbt_utils.get_table_types_sql", "macro_sql": "{%- macro get_table_types_sql() -%}\n {{ return(adapter.dispatch('get_table_types_sql', 'dbt_utils')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt_utils.postgres__get_table_types_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.994883, "supported_languages": null}, "macro.dbt_utils.default__get_table_types_sql": {"name": "default__get_table_types_sql", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_table_types_sql.sql", "original_file_path": "macros/sql/get_table_types_sql.sql", "unique_id": "macro.dbt_utils.default__get_table_types_sql", "macro_sql": "{% macro default__get_table_types_sql() %}\n case table_type\n when 'BASE TABLE' then 'table'\n when 'EXTERNAL TABLE' then 'external'\n when 'MATERIALIZED VIEW' then 'materializedview'\n else lower(table_type)\n end as {{ adapter.quote('table_type') }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.995011, "supported_languages": null}, "macro.dbt_utils.postgres__get_table_types_sql": {"name": "postgres__get_table_types_sql", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_table_types_sql.sql", "original_file_path": "macros/sql/get_table_types_sql.sql", "unique_id": "macro.dbt_utils.postgres__get_table_types_sql", "macro_sql": "{% macro postgres__get_table_types_sql() %}\n case table_type\n when 'BASE TABLE' then 'table'\n when 'FOREIGN' then 'external'\n when 'MATERIALIZED VIEW' then 'materializedview'\n else lower(table_type)\n end as {{ adapter.quote('table_type') }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.995137, "supported_languages": null}, "macro.dbt_utils.databricks__get_table_types_sql": {"name": "databricks__get_table_types_sql", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_table_types_sql.sql", "original_file_path": "macros/sql/get_table_types_sql.sql", "unique_id": "macro.dbt_utils.databricks__get_table_types_sql", "macro_sql": "{% macro databricks__get_table_types_sql() %}\n case table_type\n when 'MANAGED' then 'table'\n when 'BASE TABLE' then 'table'\n when 'MATERIALIZED VIEW' then 'materializedview'\n else lower(table_type)\n end as {{ adapter.quote('table_type') }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9952629, "supported_languages": null}, "macro.dbt_utils.get_single_value": {"name": "get_single_value", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_single_value.sql", "original_file_path": "macros/sql/get_single_value.sql", "unique_id": "macro.dbt_utils.get_single_value", "macro_sql": "{% macro get_single_value(query, default=none) %}\n {{ return(adapter.dispatch('get_single_value', 'dbt_utils')(query, default)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__get_single_value"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.995811, "supported_languages": null}, "macro.dbt_utils.default__get_single_value": {"name": "default__get_single_value", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/get_single_value.sql", "original_file_path": "macros/sql/get_single_value.sql", "unique_id": "macro.dbt_utils.default__get_single_value", "macro_sql": "{% macro default__get_single_value(query, default) %}\n\n{# This macro returns the (0, 0) record in a query, i.e. the first row of the first column #}\n\n {%- call statement('get_query_result', fetch_result=True, auto_begin=false) -%}\n\n {{ query }}\n\n {%- endcall -%}\n\n {%- if execute -%}\n\n {% set r = load_result('get_query_result').table.columns[0].values() %}\n {% if r | length == 0 %}\n {% do print('Query `' ~ query ~ '` returned no rows. Using the default value: ' ~ default) %}\n {% set sql_result = default %}\n {% else %}\n {% set sql_result = r[0] %}\n {% endif %}\n \n {%- else -%}\n \n {% set sql_result = default %}\n \n {%- endif -%}\n\n {% do return(sql_result) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.996473, "supported_languages": null}, "macro.dbt_utils.degrees_to_radians": {"name": "degrees_to_radians", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/haversine_distance.sql", "original_file_path": "macros/sql/haversine_distance.sql", "unique_id": "macro.dbt_utils.degrees_to_radians", "macro_sql": "{% macro degrees_to_radians(degrees) -%}\n acos(-1) * {{degrees}} / 180\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.997422, "supported_languages": null}, "macro.dbt_utils.haversine_distance": {"name": "haversine_distance", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/haversine_distance.sql", "original_file_path": "macros/sql/haversine_distance.sql", "unique_id": "macro.dbt_utils.haversine_distance", "macro_sql": "{% macro haversine_distance(lat1, lon1, lat2, lon2, unit='mi') -%}\n {{ return(adapter.dispatch('haversine_distance', 'dbt_utils')(lat1,lon1,lat2,lon2,unit)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.default__haversine_distance"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.997668, "supported_languages": null}, "macro.dbt_utils.default__haversine_distance": {"name": "default__haversine_distance", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/haversine_distance.sql", "original_file_path": "macros/sql/haversine_distance.sql", "unique_id": "macro.dbt_utils.default__haversine_distance", "macro_sql": "{% macro default__haversine_distance(lat1, lon1, lat2, lon2, unit='mi') -%}\n{%- if unit == 'mi' %}\n {% set conversion_rate = 1 %}\n{% elif unit == 'km' %}\n {% set conversion_rate = 1.60934 %}\n{% else %}\n {{ exceptions.raise_compiler_error(\"unit input must be one of 'mi' or 'km'. Got \" ~ unit) }}\n{% endif %}\n\n 2 * 3961 * asin(sqrt(power((sin(radians(({{ lat2 }} - {{ lat1 }}) / 2))), 2) +\n cos(radians({{lat1}})) * cos(radians({{lat2}})) *\n power((sin(radians(({{ lon2 }} - {{ lon1 }}) / 2))), 2))) * {{ conversion_rate }}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.998174, "supported_languages": null}, "macro.dbt_utils.bigquery__haversine_distance": {"name": "bigquery__haversine_distance", "resource_type": "macro", "package_name": "dbt_utils", "path": "macros/sql/haversine_distance.sql", "original_file_path": "macros/sql/haversine_distance.sql", "unique_id": "macro.dbt_utils.bigquery__haversine_distance", "macro_sql": "{% macro bigquery__haversine_distance(lat1, lon1, lat2, lon2, unit='mi') -%}\n{% set radians_lat1 = dbt_utils.degrees_to_radians(lat1) %}\n{% set radians_lat2 = dbt_utils.degrees_to_radians(lat2) %}\n{% set radians_lon1 = dbt_utils.degrees_to_radians(lon1) %}\n{% set radians_lon2 = dbt_utils.degrees_to_radians(lon2) %}\n{%- if unit == 'mi' %}\n {% set conversion_rate = 1 %}\n{% elif unit == 'km' %}\n {% set conversion_rate = 1.60934 %}\n{% else %}\n {{ exceptions.raise_compiler_error(\"unit input must be one of 'mi' or 'km'. Got \" ~ unit) }}\n{% endif %}\n 2 * 3961 * asin(sqrt(power(sin(({{ radians_lat2 }} - {{ radians_lat1 }}) / 2), 2) +\n cos({{ radians_lat1 }}) * cos({{ radians_lat2 }}) *\n power(sin(({{ radians_lon2 }} - {{ radians_lon1 }}) / 2), 2))) * {{ conversion_rate }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.degrees_to_radians"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948864.9988852, "supported_languages": null}, "macro.quickbooks.get_enabled_unioned_models": {"name": "get_enabled_unioned_models", "resource_type": "macro", "package_name": "quickbooks", "path": "macros/get_enabled_unioned_models.sql", "original_file_path": "macros/get_enabled_unioned_models.sql", "unique_id": "macro.quickbooks.get_enabled_unioned_models", "macro_sql": "{% macro get_enabled_unioned_models(unioned_models = [ \n 'bill',\n 'credit_memo',\n 'deposit',\n 'invoice',\n 'journal_entry',\n 'payment',\n 'refund_receipt',\n 'sales_receipt',\n 'transfer',\n 'vendor_credit']) %} \n\n{% set enabled_unioned_models = [] %}\n\n{{ enabled_unioned_models.append(ref('int_quickbooks__purchase_double_entry')) }}\n\n{% for unioned_model in unioned_models %} \n {% if var('using_' ~ unioned_model, True) %}\n {{ enabled_unioned_models.append(ref('int_quickbooks__' ~ unioned_model ~ '_double_entry')) }}\n {% endif %}\n {% endfor %} \n \n{% if var('using_bill', True) %}\n {{ enabled_unioned_models.append(ref('int_quickbooks__bill_payment_double_entry')) }}\n{% endif %}\n\n{% if var('using_credit_card_payment_txn', False) %}\n {{ enabled_unioned_models.append(ref('int_quickbooks__credit_card_pymt_double_entry')) }}\n{% endif %}\n\n{{ return(enabled_unioned_models) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "This macro takes models from the `double_entry_transactions` folder and appends them together in an array of relations if these models are enabled. This will then be unioned together using `dbt_utils.union_relations` in the `quickbooks__general_ledger` model. `int_quickbooks__purchase_double_entry` is included by default. `int_quickbooks__bill_payment_double_entry` and `int_quickbooks__credit_card_pymt_double_entry` are appended separately because their `using_` variables do not match up like the other variables, which can't be modified.\n", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks://macros/quickbooks_macros.yml", "arguments": [{"name": "unioned_models", "type": "list", "description": "List of strings referring to particular models to then be appended and eventually unioned if enabled."}, {"name": "enabled_unioned_models", "type": "list", "description": "List of relations of models that are enabled to eventually be unioned into a general ledger model."}], "created_at": 1731948867.01069, "supported_languages": null}, "macro.fivetran_utils.enabled_vars": {"name": "enabled_vars", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/enabled_vars.sql", "original_file_path": "macros/enabled_vars.sql", "unique_id": "macro.fivetran_utils.enabled_vars", "macro_sql": "{% macro enabled_vars(vars) %}\n\n{% for v in vars %}\n \n {% if var(v, True) == False %}\n {{ return(False) }}\n {% endif %}\n\n{% endfor %}\n\n{{ return(True) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.000331, "supported_languages": null}, "macro.fivetran_utils.percentile": {"name": "percentile", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/percentile.sql", "original_file_path": "macros/percentile.sql", "unique_id": "macro.fivetran_utils.percentile", "macro_sql": "{% macro percentile(percentile_field, partition_field, percent) -%}\n\n{{ adapter.dispatch('percentile', 'fivetran_utils') (percentile_field, partition_field, percent) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.postgres__percentile"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.0014231, "supported_languages": null}, "macro.fivetran_utils.default__percentile": {"name": "default__percentile", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/percentile.sql", "original_file_path": "macros/percentile.sql", "unique_id": "macro.fivetran_utils.default__percentile", "macro_sql": "{% macro default__percentile(percentile_field, partition_field, percent) %}\n\n percentile_cont( \n {{ percent }} )\n within group ( order by {{ percentile_field }} )\n over ( partition by {{ partition_field }} )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.001625, "supported_languages": null}, "macro.fivetran_utils.redshift__percentile": {"name": "redshift__percentile", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/percentile.sql", "original_file_path": "macros/percentile.sql", "unique_id": "macro.fivetran_utils.redshift__percentile", "macro_sql": "{% macro redshift__percentile(percentile_field, partition_field, percent) %}\n\n percentile_cont( \n {{ percent }} )\n within group ( order by {{ percentile_field }} )\n over ( partition by {{ partition_field }} )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.001786, "supported_languages": null}, "macro.fivetran_utils.bigquery__percentile": {"name": "bigquery__percentile", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/percentile.sql", "original_file_path": "macros/percentile.sql", "unique_id": "macro.fivetran_utils.bigquery__percentile", "macro_sql": "{% macro bigquery__percentile(percentile_field, partition_field, percent) %}\n\n percentile_cont( \n {{ percentile_field }}, \n {{ percent }}) \n over (partition by {{ partition_field }} \n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.0019531, "supported_languages": null}, "macro.fivetran_utils.postgres__percentile": {"name": "postgres__percentile", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/percentile.sql", "original_file_path": "macros/percentile.sql", "unique_id": "macro.fivetran_utils.postgres__percentile", "macro_sql": "{% macro postgres__percentile(percentile_field, partition_field, percent) %}\n\n percentile_cont( \n {{ percent }} )\n within group ( order by {{ percentile_field }} )\n /* have to group by partition field */\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.002083, "supported_languages": null}, "macro.fivetran_utils.spark__percentile": {"name": "spark__percentile", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/percentile.sql", "original_file_path": "macros/percentile.sql", "unique_id": "macro.fivetran_utils.spark__percentile", "macro_sql": "{% macro spark__percentile(percentile_field, partition_field, percent) %}\n\n percentile( \n {{ percentile_field }}, \n {{ percent }}) \n over (partition by {{ partition_field }} \n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.00223, "supported_languages": null}, "macro.fivetran_utils.pivot_json_extract": {"name": "pivot_json_extract", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/pivot_json_extract.sql", "original_file_path": "macros/pivot_json_extract.sql", "unique_id": "macro.fivetran_utils.pivot_json_extract", "macro_sql": "{% macro pivot_json_extract(string, list_of_properties) %}\n\n{%- for property in list_of_properties -%}\n{%- if property is mapping -%}\nreplace( {{ fivetran_utils.json_extract(string, property.name) }}, '\"', '') as {{ property.alias if property.alias else property.name | replace(' ', '_') | replace('.', '_') | lower }}\n\n{%- else -%}\nreplace( {{ fivetran_utils.json_extract(string, property) }}, '\"', '') as {{ property | replace(' ', '_') | lower }}\n\n{%- endif -%}\n{%- if not loop.last -%},{%- endif %}\n{% endfor -%}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.json_extract"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.003, "supported_languages": null}, "macro.fivetran_utils.persist_pass_through_columns": {"name": "persist_pass_through_columns", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/persist_pass_through_columns.sql", "original_file_path": "macros/persist_pass_through_columns.sql", "unique_id": "macro.fivetran_utils.persist_pass_through_columns", "macro_sql": "{% macro persist_pass_through_columns(pass_through_variable, identifier=none, transform='') %}\n\n{% if var(pass_through_variable, none) %}\n {% for field in var(pass_through_variable) %}\n , {{ transform ~ '(' ~ (identifier ~ '.' if identifier else '') ~ (field.alias if field.alias else field.name) ~ ')' }} as {{ field.alias if field.alias else field.name }}\n {% endfor %}\n{% endif %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.003605, "supported_languages": null}, "macro.fivetran_utils.json_parse": {"name": "json_parse", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_parse.sql", "original_file_path": "macros/json_parse.sql", "unique_id": "macro.fivetran_utils.json_parse", "macro_sql": "{% macro json_parse(string, string_path) -%}\n\n{{ adapter.dispatch('json_parse', 'fivetran_utils') (string, string_path) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.postgres__json_parse"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.004828, "supported_languages": null}, "macro.fivetran_utils.default__json_parse": {"name": "default__json_parse", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_parse.sql", "original_file_path": "macros/json_parse.sql", "unique_id": "macro.fivetran_utils.default__json_parse", "macro_sql": "{% macro default__json_parse(string, string_path) %}\n\n json_extract_path_text({{string}}, {%- for s in string_path -%}'{{ s }}'{%- if not loop.last -%},{%- endif -%}{%- endfor -%} )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.00508, "supported_languages": null}, "macro.fivetran_utils.redshift__json_parse": {"name": "redshift__json_parse", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_parse.sql", "original_file_path": "macros/json_parse.sql", "unique_id": "macro.fivetran_utils.redshift__json_parse", "macro_sql": "{% macro redshift__json_parse(string, string_path) %}\n\n json_extract_path_text({{string}}, {%- for s in string_path -%}'{{ s }}'{%- if not loop.last -%},{%- endif -%}{%- endfor -%} )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.005399, "supported_languages": null}, "macro.fivetran_utils.bigquery__json_parse": {"name": "bigquery__json_parse", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_parse.sql", "original_file_path": "macros/json_parse.sql", "unique_id": "macro.fivetran_utils.bigquery__json_parse", "macro_sql": "{% macro bigquery__json_parse(string, string_path) %}\n\n \n json_extract_scalar({{string}}, '$.{%- for s in string_path -%}{{ s }}{%- if not loop.last -%}.{%- endif -%}{%- endfor -%} ')\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.005625, "supported_languages": null}, "macro.fivetran_utils.postgres__json_parse": {"name": "postgres__json_parse", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_parse.sql", "original_file_path": "macros/json_parse.sql", "unique_id": "macro.fivetran_utils.postgres__json_parse", "macro_sql": "{% macro postgres__json_parse(string, string_path) %}\n\n {{string}}::json #>> '{ {%- for s in string_path -%}{{ s }}{%- if not loop.last -%},{%- endif -%}{%- endfor -%} }'\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.005843, "supported_languages": null}, "macro.fivetran_utils.snowflake__json_parse": {"name": "snowflake__json_parse", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_parse.sql", "original_file_path": "macros/json_parse.sql", "unique_id": "macro.fivetran_utils.snowflake__json_parse", "macro_sql": "{% macro snowflake__json_parse(string, string_path) %}\n\n parse_json( {{string}} ) {%- for s in string_path -%}{% if s is number %}[{{ s }}]{% else %}['{{ s }}']{% endif %}{%- endfor -%}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.0060852, "supported_languages": null}, "macro.fivetran_utils.spark__json_parse": {"name": "spark__json_parse", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_parse.sql", "original_file_path": "macros/json_parse.sql", "unique_id": "macro.fivetran_utils.spark__json_parse", "macro_sql": "{% macro spark__json_parse(string, string_path) %}\n\n {{string}} : {%- for s in string_path -%}{% if s is number %}[{{ s }}]{% else %}['{{ s }}']{% endif %}{%- endfor -%}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.006329, "supported_languages": null}, "macro.fivetran_utils.sqlserver__json_parse": {"name": "sqlserver__json_parse", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_parse.sql", "original_file_path": "macros/json_parse.sql", "unique_id": "macro.fivetran_utils.sqlserver__json_parse", "macro_sql": "{% macro sqlserver__json_parse(string, string_path) %}\n\n json_value({{string}}, '$.{%- for s in string_path -%}{{ s }}{%- if not loop.last -%}.{%- endif -%}{%- endfor -%} ')\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.006547, "supported_languages": null}, "macro.fivetran_utils.max_bool": {"name": "max_bool", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/max_bool.sql", "original_file_path": "macros/max_bool.sql", "unique_id": "macro.fivetran_utils.max_bool", "macro_sql": "{% macro max_bool(boolean_field) -%}\n\n{{ adapter.dispatch('max_bool', 'fivetran_utils') (boolean_field) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.default__max_bool"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.006845, "supported_languages": null}, "macro.fivetran_utils.default__max_bool": {"name": "default__max_bool", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/max_bool.sql", "original_file_path": "macros/max_bool.sql", "unique_id": "macro.fivetran_utils.default__max_bool", "macro_sql": "{% macro default__max_bool(boolean_field) %}\n\n bool_or( {{ boolean_field }} )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.006936, "supported_languages": null}, "macro.fivetran_utils.snowflake__max_bool": {"name": "snowflake__max_bool", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/max_bool.sql", "original_file_path": "macros/max_bool.sql", "unique_id": "macro.fivetran_utils.snowflake__max_bool", "macro_sql": "{% macro snowflake__max_bool(boolean_field) %}\n\n max( {{ boolean_field }} )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.007024, "supported_languages": null}, "macro.fivetran_utils.bigquery__max_bool": {"name": "bigquery__max_bool", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/max_bool.sql", "original_file_path": "macros/max_bool.sql", "unique_id": "macro.fivetran_utils.bigquery__max_bool", "macro_sql": "{% macro bigquery__max_bool(boolean_field) %}\n\n max( {{ boolean_field }} )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.007116, "supported_languages": null}, "macro.fivetran_utils.calculated_fields": {"name": "calculated_fields", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/calculated_fields.sql", "original_file_path": "macros/calculated_fields.sql", "unique_id": "macro.fivetran_utils.calculated_fields", "macro_sql": "{% macro calculated_fields(variable) -%}\n\n{% if var(variable, none) %}\n {% for field in var(variable) %}\n , {{ field.transform_sql }} as {{ field.name }} \n {% endfor %}\n{% endif %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.0074399, "supported_languages": null}, "macro.fivetran_utils.drop_schemas_automation": {"name": "drop_schemas_automation", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/drop_schemas_automation.sql", "original_file_path": "macros/drop_schemas_automation.sql", "unique_id": "macro.fivetran_utils.drop_schemas_automation", "macro_sql": "{% macro drop_schemas_automation(drop_target_schema=true) %}\n {{ return(adapter.dispatch('drop_schemas_automation', 'fivetran_utils')(drop_target_schema)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.default__drop_schemas_automation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.008047, "supported_languages": null}, "macro.fivetran_utils.default__drop_schemas_automation": {"name": "default__drop_schemas_automation", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/drop_schemas_automation.sql", "original_file_path": "macros/drop_schemas_automation.sql", "unique_id": "macro.fivetran_utils.default__drop_schemas_automation", "macro_sql": "{% macro default__drop_schemas_automation(drop_target_schema=true) %}\n\n{% set fetch_list_sql %}\n {% if target.type not in ('databricks', 'spark') %}\n select schema_name\n from \n {{ wrap_in_quotes(target.database) }}.INFORMATION_SCHEMA.SCHEMATA\n where lower(schema_name) like '{{ target.schema | lower }}{%- if not drop_target_schema -%}_{%- endif -%}%'\n {% else %}\n SHOW SCHEMAS LIKE '{{ target.schema }}{%- if not drop_target_schema -%}_{%- endif -%}*'\n {% endif %}\n{% endset %}\n\n{% set results = run_query(fetch_list_sql) %}\n\n{% if execute %}\n {% set results_list = results.columns[0].values() %}\n{% else %}\n {% set results_list = [] %}\n{% endif %}\n\n{% for schema_to_drop in results_list %}\n {% do adapter.drop_schema(api.Relation.create(database=target.database, schema=schema_to_drop)) %}\n {{ print('Schema ' ~ schema_to_drop ~ ' successfully dropped from the ' ~ target.database ~ ' database.\\n')}}\n{% endfor %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.wrap_in_quotes", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.009099, "supported_languages": null}, "macro.fivetran_utils.seed_data_helper": {"name": "seed_data_helper", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/seed_data_helper.sql", "original_file_path": "macros/seed_data_helper.sql", "unique_id": "macro.fivetran_utils.seed_data_helper", "macro_sql": "{% macro seed_data_helper(seed_name, warehouses) %}\n\n{% if target.type in warehouses %}\n {% for w in warehouses %}\n {% if target.type == w %}\n {{ return(ref(seed_name ~ \"_\" ~ w ~ \"\")) }}\n {% endif %}\n {% endfor %}\n{% else %}\n{{ return(ref(seed_name)) }}\n{% endif %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.009701, "supported_languages": null}, "macro.fivetran_utils.fill_pass_through_columns": {"name": "fill_pass_through_columns", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/fill_pass_through_columns.sql", "original_file_path": "macros/fill_pass_through_columns.sql", "unique_id": "macro.fivetran_utils.fill_pass_through_columns", "macro_sql": "{% macro fill_pass_through_columns(pass_through_variable) %}\n\n{% if var(pass_through_variable) %}\n {% for field in var(pass_through_variable) %}\n {% if field is mapping %}\n {% if field.transform_sql %}\n , {{ field.transform_sql }} as {{ field.alias if field.alias else field.name }}\n {% else %}\n , {{ field.alias if field.alias else field.name }}\n {% endif %}\n {% else %}\n , {{ field }}\n {% endif %}\n {% endfor %}\n{% endif %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.010437, "supported_languages": null}, "macro.fivetran_utils.string_agg": {"name": "string_agg", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/string_agg.sql", "original_file_path": "macros/string_agg.sql", "unique_id": "macro.fivetran_utils.string_agg", "macro_sql": "{% macro string_agg(field_to_agg, delimiter) -%}\n\n{{ adapter.dispatch('string_agg', 'fivetran_utils') (field_to_agg, delimiter) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.default__string_agg"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.010895, "supported_languages": null}, "macro.fivetran_utils.default__string_agg": {"name": "default__string_agg", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/string_agg.sql", "original_file_path": "macros/string_agg.sql", "unique_id": "macro.fivetran_utils.default__string_agg", "macro_sql": "{% macro default__string_agg(field_to_agg, delimiter) %}\n string_agg({{ field_to_agg }}, {{ delimiter }})\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.01102, "supported_languages": null}, "macro.fivetran_utils.snowflake__string_agg": {"name": "snowflake__string_agg", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/string_agg.sql", "original_file_path": "macros/string_agg.sql", "unique_id": "macro.fivetran_utils.snowflake__string_agg", "macro_sql": "{% macro snowflake__string_agg(field_to_agg, delimiter) %}\n listagg({{ field_to_agg }}, {{ delimiter }})\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.011138, "supported_languages": null}, "macro.fivetran_utils.redshift__string_agg": {"name": "redshift__string_agg", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/string_agg.sql", "original_file_path": "macros/string_agg.sql", "unique_id": "macro.fivetran_utils.redshift__string_agg", "macro_sql": "{% macro redshift__string_agg(field_to_agg, delimiter) %}\n listagg({{ field_to_agg }}, {{ delimiter }})\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.011254, "supported_languages": null}, "macro.fivetran_utils.spark__string_agg": {"name": "spark__string_agg", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/string_agg.sql", "original_file_path": "macros/string_agg.sql", "unique_id": "macro.fivetran_utils.spark__string_agg", "macro_sql": "{% macro spark__string_agg(field_to_agg, delimiter) %}\n -- collect set will remove duplicates\n replace(replace(replace(cast( collect_set({{ field_to_agg }}) as string), '[', ''), ']', ''), ', ', {{ delimiter }} )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.011374, "supported_languages": null}, "macro.fivetran_utils.timestamp_diff": {"name": "timestamp_diff", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/timestamp_diff.sql", "original_file_path": "macros/timestamp_diff.sql", "unique_id": "macro.fivetran_utils.timestamp_diff", "macro_sql": "{% macro timestamp_diff(first_date, second_date, datepart) %}\n {{ adapter.dispatch('timestamp_diff', 'fivetran_utils')(first_date, second_date, datepart) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.postgres__timestamp_diff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.0141299, "supported_languages": null}, "macro.fivetran_utils.default__timestamp_diff": {"name": "default__timestamp_diff", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/timestamp_diff.sql", "original_file_path": "macros/timestamp_diff.sql", "unique_id": "macro.fivetran_utils.default__timestamp_diff", "macro_sql": "{% macro default__timestamp_diff(first_date, second_date, datepart) %}\n\n datediff(\n {{ datepart }},\n {{ first_date }},\n {{ second_date }}\n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.014397, "supported_languages": null}, "macro.fivetran_utils.redshift__timestamp_diff": {"name": "redshift__timestamp_diff", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/timestamp_diff.sql", "original_file_path": "macros/timestamp_diff.sql", "unique_id": "macro.fivetran_utils.redshift__timestamp_diff", "macro_sql": "{% macro redshift__timestamp_diff(first_date, second_date, datepart) %}\n\n datediff(\n {{ datepart }},\n {{ first_date }},\n {{ second_date }}\n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.01454, "supported_languages": null}, "macro.fivetran_utils.bigquery__timestamp_diff": {"name": "bigquery__timestamp_diff", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/timestamp_diff.sql", "original_file_path": "macros/timestamp_diff.sql", "unique_id": "macro.fivetran_utils.bigquery__timestamp_diff", "macro_sql": "{% macro bigquery__timestamp_diff(first_date, second_date, datepart) %}\n\n timestamp_diff(\n {{second_date}},\n {{first_date}},\n {{datepart}}\n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.014677, "supported_languages": null}, "macro.fivetran_utils.postgres__timestamp_diff": {"name": "postgres__timestamp_diff", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/timestamp_diff.sql", "original_file_path": "macros/timestamp_diff.sql", "unique_id": "macro.fivetran_utils.postgres__timestamp_diff", "macro_sql": "{% macro postgres__timestamp_diff(first_date, second_date, datepart) %}\n\n {% if datepart == 'year' %}\n (date_part('year', ({{second_date}})::date) - date_part('year', ({{first_date}})::date))\n {% elif datepart == 'quarter' %}\n ({{ dbt.datediff(first_date, second_date, 'year') }} * 4 + date_part('quarter', ({{second_date}})::date) - date_part('quarter', ({{first_date}})::date))\n {% elif datepart == 'month' %}\n ({{ dbt.datediff(first_date, second_date, 'year') }} * 12 + date_part('month', ({{second_date}})::date) - date_part('month', ({{first_date}})::date))\n {% elif datepart == 'day' %}\n (({{second_date}})::date - ({{first_date}})::date)\n {% elif datepart == 'week' %}\n ({{ dbt.datediff(first_date, second_date, 'day') }} / 7 + case\n when date_part('dow', ({{first_date}})::timestamp) <= date_part('dow', ({{second_date}})::timestamp) then\n case when {{first_date}} <= {{second_date}} then 0 else -1 end\n else\n case when {{first_date}} <= {{second_date}} then 1 else 0 end\n end)\n {% elif datepart == 'hour' %}\n ({{ dbt.datediff(first_date, second_date, 'day') }} * 24 + date_part('hour', ({{second_date}})::timestamp) - date_part('hour', ({{first_date}})::timestamp))\n {% elif datepart == 'minute' %}\n ({{ dbt.datediff(first_date, second_date, 'hour') }} * 60 + date_part('minute', ({{second_date}})::timestamp) - date_part('minute', ({{first_date}})::timestamp))\n {% elif datepart == 'second' %}\n ({{ dbt.datediff(first_date, second_date, 'minute') }} * 60 + floor(date_part('second', ({{second_date}})::timestamp)) - floor(date_part('second', ({{first_date}})::timestamp)))\n {% elif datepart == 'millisecond' %}\n ({{ dbt.datediff(first_date, second_date, 'minute') }} * 60000 + floor(date_part('millisecond', ({{second_date}})::timestamp)) - floor(date_part('millisecond', ({{first_date}})::timestamp)))\n {% elif datepart == 'microsecond' %}\n ({{ dbt.datediff(first_date, second_date, 'minute') }} * 60000000 + floor(date_part('microsecond', ({{second_date}})::timestamp)) - floor(date_part('microsecond', ({{first_date}})::timestamp)))\n {% else %}\n {{ exceptions.raise_compiler_error(\"Unsupported datepart for macro datediff in postgres: {!r}\".format(datepart)) }}\n {% endif %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.datediff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.016191, "supported_languages": null}, "macro.fivetran_utils.try_cast": {"name": "try_cast", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/try_cast.sql", "original_file_path": "macros/try_cast.sql", "unique_id": "macro.fivetran_utils.try_cast", "macro_sql": "{% macro try_cast(field, type) %}\n {{ adapter.dispatch('try_cast', 'fivetran_utils') (field, type) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.postgres__try_cast"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.017188, "supported_languages": null}, "macro.fivetran_utils.default__try_cast": {"name": "default__try_cast", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/try_cast.sql", "original_file_path": "macros/try_cast.sql", "unique_id": "macro.fivetran_utils.default__try_cast", "macro_sql": "{% macro default__try_cast(field, type) %}\n {# most databases don't support this function yet\n so we just need to use cast #}\n cast({{field}} as {{type}})\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.017332, "supported_languages": null}, "macro.fivetran_utils.redshift__try_cast": {"name": "redshift__try_cast", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/try_cast.sql", "original_file_path": "macros/try_cast.sql", "unique_id": "macro.fivetran_utils.redshift__try_cast", "macro_sql": "{% macro redshift__try_cast(field, type) %}\n{%- if type == 'numeric' -%}\n\n case\n when trim({{field}}) ~ '^(0|[1-9][0-9]*)$' then trim({{field}})\n else null\n end::{{type}}\n\n{% else %}\n {{ exceptions.raise_compiler_error(\n \"non-numeric datatypes are not currently supported\") }}\n\n{% endif %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.017591, "supported_languages": null}, "macro.fivetran_utils.postgres__try_cast": {"name": "postgres__try_cast", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/try_cast.sql", "original_file_path": "macros/try_cast.sql", "unique_id": "macro.fivetran_utils.postgres__try_cast", "macro_sql": "{% macro postgres__try_cast(field, type) %}\n{%- if type == 'numeric' -%}\n\n case\n when replace(cast({{field}} as varchar),cast(' ' as varchar),cast('' as varchar)) ~ '^(0|[1-9][0-9]*)$' \n then replace(cast({{field}} as varchar),cast(' ' as varchar),cast('' as varchar))\n else null\n end::{{type}}\n\n{% else %}\n {{ exceptions.raise_compiler_error(\n \"non-numeric datatypes are not currently supported\") }}\n\n{% endif %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.0178492, "supported_languages": null}, "macro.fivetran_utils.snowflake__try_cast": {"name": "snowflake__try_cast", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/try_cast.sql", "original_file_path": "macros/try_cast.sql", "unique_id": "macro.fivetran_utils.snowflake__try_cast", "macro_sql": "{% macro snowflake__try_cast(field, type) %}\n try_cast(cast({{field}} as varchar) as {{type}})\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.017969, "supported_languages": null}, "macro.fivetran_utils.bigquery__try_cast": {"name": "bigquery__try_cast", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/try_cast.sql", "original_file_path": "macros/try_cast.sql", "unique_id": "macro.fivetran_utils.bigquery__try_cast", "macro_sql": "{% macro bigquery__try_cast(field, type) %}\n safe_cast({{field}} as {{type}})\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.018089, "supported_languages": null}, "macro.fivetran_utils.spark__try_cast": {"name": "spark__try_cast", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/try_cast.sql", "original_file_path": "macros/try_cast.sql", "unique_id": "macro.fivetran_utils.spark__try_cast", "macro_sql": "{% macro spark__try_cast(field, type) %}\n try_cast({{field}} as {{type}})\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.0182002, "supported_languages": null}, "macro.fivetran_utils.sqlserver__try_cast": {"name": "sqlserver__try_cast", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/try_cast.sql", "original_file_path": "macros/try_cast.sql", "unique_id": "macro.fivetran_utils.sqlserver__try_cast", "macro_sql": "{% macro sqlserver__try_cast(field, type) %}\n try_cast({{field}} as {{type}})\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.018311, "supported_languages": null}, "macro.fivetran_utils.source_relation": {"name": "source_relation", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/source_relation.sql", "original_file_path": "macros/source_relation.sql", "unique_id": "macro.fivetran_utils.source_relation", "macro_sql": "{% macro source_relation(union_schema_variable='union_schemas', union_database_variable='union_databases') -%}\n\n{{ adapter.dispatch('source_relation', 'fivetran_utils') (union_schema_variable, union_database_variable) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.default__source_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.018765, "supported_languages": null}, "macro.fivetran_utils.default__source_relation": {"name": "default__source_relation", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/source_relation.sql", "original_file_path": "macros/source_relation.sql", "unique_id": "macro.fivetran_utils.default__source_relation", "macro_sql": "{% macro default__source_relation(union_schema_variable, union_database_variable) %}\n\n{% if var(union_schema_variable, none) %}\n, case\n {% for schema in var(union_schema_variable) %}\n when lower(replace(replace(_dbt_source_relation,'\"',''),'`','')) like '%.{{ schema|lower }}.%' then '{{ schema|lower }}'\n {% endfor %}\n end as source_relation\n{% elif var(union_database_variable, none) %}\n, case\n {% for database in var(union_database_variable) %}\n when lower(replace(replace(_dbt_source_relation,'\"',''),'`','')) like '%{{ database|lower }}.%' then '{{ database|lower }}'\n {% endfor %}\n end as source_relation\n{% else %}\n, cast('' as {{ dbt.type_string() }}) as source_relation\n{% endif %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.019287, "supported_languages": null}, "macro.fivetran_utils.first_value": {"name": "first_value", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/first_value.sql", "original_file_path": "macros/first_value.sql", "unique_id": "macro.fivetran_utils.first_value", "macro_sql": "{% macro first_value(first_value_field, partition_field, order_by_field, order=\"asc\") -%}\n\n{{ adapter.dispatch('first_value', 'fivetran_utils') (first_value_field, partition_field, order_by_field, order) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.default__first_value"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.019736, "supported_languages": null}, "macro.fivetran_utils.default__first_value": {"name": "default__first_value", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/first_value.sql", "original_file_path": "macros/first_value.sql", "unique_id": "macro.fivetran_utils.default__first_value", "macro_sql": "{% macro default__first_value(first_value_field, partition_field, order_by_field, order=\"asc\") %}\n\n first_value( {{ first_value_field }} ignore nulls ) over (partition by {{ partition_field }} order by {{ order_by_field }} {{ order }} )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.0199199, "supported_languages": null}, "macro.fivetran_utils.redshift__first_value": {"name": "redshift__first_value", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/first_value.sql", "original_file_path": "macros/first_value.sql", "unique_id": "macro.fivetran_utils.redshift__first_value", "macro_sql": "{% macro redshift__first_value(first_value_field, partition_field, order_by_field, order=\"asc\") %}\n\n first_value( {{ first_value_field }} ignore nulls ) over (partition by {{ partition_field }} order by {{ order_by_field }} {{ order }} , {{ partition_field }} rows unbounded preceding )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.020114, "supported_languages": null}, "macro.fivetran_utils.add_dbt_source_relation": {"name": "add_dbt_source_relation", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/add_dbt_source_relation.sql", "original_file_path": "macros/add_dbt_source_relation.sql", "unique_id": "macro.fivetran_utils.add_dbt_source_relation", "macro_sql": "{% macro add_dbt_source_relation() %}\n\n{% if var('union_schemas', none) or var('union_databases', none) %}\n, _dbt_source_relation\n{% endif %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.020349, "supported_languages": null}, "macro.fivetran_utils.add_pass_through_columns": {"name": "add_pass_through_columns", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/add_pass_through_columns.sql", "original_file_path": "macros/add_pass_through_columns.sql", "unique_id": "macro.fivetran_utils.add_pass_through_columns", "macro_sql": "{% macro add_pass_through_columns(base_columns, pass_through_var) %}\n\n {% if pass_through_var %}\n\n {% for column in pass_through_var %}\n\n {% if column is mapping %}\n\n {% if column.alias %}\n\n {% do base_columns.append({ \"name\": column.name, \"alias\": column.alias, \"datatype\": column.datatype if column.datatype else dbt.type_string()}) %}\n\n {% else %}\n\n {% do base_columns.append({ \"name\": column.name, \"datatype\": column.datatype if column.datatype else dbt.type_string()}) %}\n \n {% endif %}\n\n {% else %}\n\n {% do base_columns.append({ \"name\": column, \"datatype\": dbt.type_string()}) %}\n\n {% endif %}\n\n {% endfor %}\n\n {% endif %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.021395, "supported_languages": null}, "macro.fivetran_utils.union_relations": {"name": "union_relations", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/union_relations.sql", "original_file_path": "macros/union_relations.sql", "unique_id": "macro.fivetran_utils.union_relations", "macro_sql": "{%- macro union_relations(relations, aliases=none, column_override=none, include=[], exclude=[], source_column_name=none) -%}\n\n {%- if exclude and include -%}\n {{ exceptions.raise_compiler_error(\"Both an exclude and include list were provided to the `union` macro. Only one is allowed\") }}\n {%- endif -%}\n\n {#-- Prevent querying of db in parsing mode. This works because this macro does not create any new refs. -#}\n {%- if not execute %}\n {{ return('') }}\n {% endif -%}\n\n {%- set column_override = column_override if column_override is not none else {} -%}\n {%- set source_column_name = source_column_name if source_column_name is not none else '_dbt_source_relation' -%}\n\n {%- set relation_columns = {} -%}\n {%- set column_superset = {} -%}\n\n {%- for relation in relations -%}\n\n {%- do relation_columns.update({relation: []}) -%}\n\n {%- do dbt_utils._is_relation(relation, 'union_relations') -%}\n {%- set cols = adapter.get_columns_in_relation(relation) -%}\n {%- for col in cols -%}\n\n {#- If an exclude list was provided and the column is in the list, do nothing -#}\n {%- if exclude and col.column in exclude -%}\n\n {#- If an include list was provided and the column is not in the list, do nothing -#}\n {%- elif include and col.column not in include -%}\n\n {#- Otherwise add the column to the column superset -#}\n {%- else -%}\n\n {#- update the list of columns in this relation -#}\n {%- do relation_columns[relation].append(col.column) -%}\n\n {%- if col.column in column_superset -%}\n\n {%- set stored = column_superset[col.column] -%}\n {%- if col.is_string() and stored.is_string() and col.string_size() > stored.string_size() -%}\n\n {%- do column_superset.update({col.column: col}) -%}\n\n {%- endif %}\n\n {%- else -%}\n\n {%- do column_superset.update({col.column: col}) -%}\n\n {%- endif -%}\n\n {%- endif -%}\n\n {%- endfor -%}\n {%- endfor -%}\n\n {%- set ordered_column_names = column_superset.keys() -%}\n\n {%- for relation in relations %}\n\n (\n select\n\n cast({{ dbt.string_literal(relation) }} as {{ dbt.type_string() }}) as {{ source_column_name }},\n {% for col_name in ordered_column_names -%}\n\n {%- set col = column_superset[col_name] %}\n {%- set col_type = column_override.get(col.column, col.data_type) %}\n {%- set col_name = adapter.quote(col_name) if col_name in relation_columns[relation] else 'null' %}\n cast({{ col_name }} as {{ col_type }}) as {{ col.quoted }} {% if not loop.last %},{% endif -%}\n\n {%- endfor %}\n\n from {{ aliases[loop.index0] if aliases else relation }}\n )\n\n {% if not loop.last -%}\n union all\n {% endif -%}\n\n {%- endfor -%}\n\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt_utils._is_relation", "macro.dbt.string_literal", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.025255, "supported_languages": null}, "macro.fivetran_utils.union_tables": {"name": "union_tables", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/union_relations.sql", "original_file_path": "macros/union_relations.sql", "unique_id": "macro.fivetran_utils.union_tables", "macro_sql": "{%- macro union_tables(tables, column_override=none, include=[], exclude=[], source_column_name='_dbt_source_table') -%}\n\n {%- do exceptions.warn(\"Warning: the `union_tables` macro is no longer supported and will be deprecated in a future release of dbt-utils. Use the `union_relations` macro instead\") -%}\n\n {{ return(dbt_utils.union_relations(tables, column_override, include, exclude, source_column_name)) }}\n\n{%- endmacro -%}", "depends_on": {"macros": ["macro.dbt_utils.union_relations"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.025652, "supported_languages": null}, "macro.fivetran_utils.snowflake_seed_data": {"name": "snowflake_seed_data", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/snowflake_seed_data.sql", "original_file_path": "macros/snowflake_seed_data.sql", "unique_id": "macro.fivetran_utils.snowflake_seed_data", "macro_sql": "{% macro snowflake_seed_data(seed_name) %}\n\n{% if target.type == 'snowflake' %}\n{{ return(ref(seed_name ~ '_snowflake')) }}\n{% else %}\n{{ return(ref(seed_name)) }}\n{% endif %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.026013, "supported_languages": null}, "macro.fivetran_utils.fill_staging_columns": {"name": "fill_staging_columns", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/fill_staging_columns.sql", "original_file_path": "macros/fill_staging_columns.sql", "unique_id": "macro.fivetran_utils.fill_staging_columns", "macro_sql": "{% macro fill_staging_columns(source_columns, staging_columns) -%}\n\n{%- set source_column_names = source_columns|map(attribute='name')|map('lower')|list -%}\n\n{%- for column in staging_columns %}\n {% if column.name|lower in source_column_names -%}\n {{ fivetran_utils.quote_column(column) }} as \n {%- if 'alias' in column %} {{ column.alias }} {% else %} {{ fivetran_utils.quote_column(column) }} {%- endif -%}\n {%- else -%}\n cast(null as {{ column.datatype }})\n {%- if 'alias' in column %} as {{ column.alias }} {% else %} as {{ fivetran_utils.quote_column(column) }} {% endif -%}\n {%- endif -%}\n {%- if not loop.last -%} , {% endif -%}\n{% endfor %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.quote_column"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.02738, "supported_languages": null}, "macro.fivetran_utils.quote_column": {"name": "quote_column", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/fill_staging_columns.sql", "original_file_path": "macros/fill_staging_columns.sql", "unique_id": "macro.fivetran_utils.quote_column", "macro_sql": "{% macro quote_column(column) %}\n {% if 'quote' in column %}\n {% if column.quote %}\n {% if target.type in ('bigquery', 'spark', 'databricks') %}\n `{{ column.name }}`\n {% elif target.type == 'snowflake' %}\n \"{{ column.name | upper }}\"\n {% else %}\n \"{{ column.name }}\"\n {% endif %}\n {% else %}\n {{ column.name }}\n {% endif %}\n {% else %}\n {{ column.name }}\n {% endif %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.0278862, "supported_languages": null}, "macro.fivetran_utils.json_extract": {"name": "json_extract", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_extract.sql", "original_file_path": "macros/json_extract.sql", "unique_id": "macro.fivetran_utils.json_extract", "macro_sql": "{% macro json_extract(string, string_path) -%}\n\n{{ adapter.dispatch('json_extract', 'fivetran_utils') (string, string_path) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.postgres__json_extract"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.02839, "supported_languages": null}, "macro.fivetran_utils.default__json_extract": {"name": "default__json_extract", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_extract.sql", "original_file_path": "macros/json_extract.sql", "unique_id": "macro.fivetran_utils.default__json_extract", "macro_sql": "{% macro default__json_extract(string, string_path) %}\n\n json_extract_path_text({{string}}, {{ \"'\" ~ string_path ~ \"'\" }} )\n \n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.028526, "supported_languages": null}, "macro.fivetran_utils.snowflake__json_extract": {"name": "snowflake__json_extract", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_extract.sql", "original_file_path": "macros/json_extract.sql", "unique_id": "macro.fivetran_utils.snowflake__json_extract", "macro_sql": "{% macro snowflake__json_extract(string, string_path) %}\n\n json_extract_path_text(try_parse_json( {{string}} ), {{ \"'\" ~ string_path ~ \"'\" }} )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.02866, "supported_languages": null}, "macro.fivetran_utils.redshift__json_extract": {"name": "redshift__json_extract", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_extract.sql", "original_file_path": "macros/json_extract.sql", "unique_id": "macro.fivetran_utils.redshift__json_extract", "macro_sql": "{% macro redshift__json_extract(string, string_path) %}\n\n case when is_valid_json( {{string}} ) then json_extract_path_text({{string}}, {{ \"'\" ~ string_path ~ \"'\" }} ) else null end\n \n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.02881, "supported_languages": null}, "macro.fivetran_utils.bigquery__json_extract": {"name": "bigquery__json_extract", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_extract.sql", "original_file_path": "macros/json_extract.sql", "unique_id": "macro.fivetran_utils.bigquery__json_extract", "macro_sql": "{% macro bigquery__json_extract(string, string_path) %}\n\n json_extract_scalar({{string}}, {{ \"'$.\" ~ string_path ~ \"'\" }} )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.028945, "supported_languages": null}, "macro.fivetran_utils.postgres__json_extract": {"name": "postgres__json_extract", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/json_extract.sql", "original_file_path": "macros/json_extract.sql", "unique_id": "macro.fivetran_utils.postgres__json_extract", "macro_sql": "{% macro postgres__json_extract(string, string_path) %}\n\n {{string}}::json->>{{\"'\" ~ string_path ~ \"'\" }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.0290759, "supported_languages": null}, "macro.fivetran_utils.collect_freshness": {"name": "collect_freshness", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/collect_freshness.sql", "original_file_path": "macros/collect_freshness.sql", "unique_id": "macro.fivetran_utils.collect_freshness", "macro_sql": "{% macro collect_freshness(source, loaded_at_field, filter) %}\n {{ return(adapter.dispatch('collect_freshness')(source, loaded_at_field, filter))}}\n{% endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.default__collect_freshness"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.029801, "supported_languages": null}, "macro.fivetran_utils.default__collect_freshness": {"name": "default__collect_freshness", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/collect_freshness.sql", "original_file_path": "macros/collect_freshness.sql", "unique_id": "macro.fivetran_utils.default__collect_freshness", "macro_sql": "{% macro default__collect_freshness(source, loaded_at_field, filter) %}\n {% call statement('collect_freshness', fetch_result=True, auto_begin=False) -%}\n\n {%- set enabled_array = [] -%}\n {% for node in graph.sources.values() %}\n {% if node.identifier == source.identifier %}\n {% if (node.meta['is_enabled'] | default(true)) %}\n {%- do enabled_array.append(1) -%}\n {% endif %}\n {% endif %}\n {% endfor %}\n {% set is_enabled = (enabled_array != []) %}\n\n select\n {% if is_enabled %}\n max({{ loaded_at_field }})\n {% else %} \n {{ current_timestamp() }} {% endif %} as max_loaded_at,\n {{ current_timestamp() }} as snapshotted_at\n\n {% if is_enabled %}\n from {{ source }}\n {% if filter %}\n where {{ filter }}\n {% endif %}\n {% endif %}\n\n {% endcall %}\n\n {% if dbt_version.split('.') | map('int') | list >= [1, 5, 0] %}\n {{ return(load_result('collect_freshness')) }}\n {% else %}\n {{ return(load_result('collect_freshness').table) }}\n {% endif %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt.current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.030924, "supported_languages": null}, "macro.fivetran_utils.timestamp_add": {"name": "timestamp_add", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/timestamp_add.sql", "original_file_path": "macros/timestamp_add.sql", "unique_id": "macro.fivetran_utils.timestamp_add", "macro_sql": "{% macro timestamp_add(datepart, interval, from_timestamp) -%}\n\n{{ adapter.dispatch('timestamp_add', 'fivetran_utils') (datepart, interval, from_timestamp) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.postgres__timestamp_add"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.031552, "supported_languages": null}, "macro.fivetran_utils.default__timestamp_add": {"name": "default__timestamp_add", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/timestamp_add.sql", "original_file_path": "macros/timestamp_add.sql", "unique_id": "macro.fivetran_utils.default__timestamp_add", "macro_sql": "{% macro default__timestamp_add(datepart, interval, from_timestamp) %}\n\n timestampadd(\n {{ datepart }},\n {{ interval }},\n {{ from_timestamp }}\n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.031701, "supported_languages": null}, "macro.fivetran_utils.bigquery__timestamp_add": {"name": "bigquery__timestamp_add", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/timestamp_add.sql", "original_file_path": "macros/timestamp_add.sql", "unique_id": "macro.fivetran_utils.bigquery__timestamp_add", "macro_sql": "{% macro bigquery__timestamp_add(datepart, interval, from_timestamp) %}\n\n timestamp_add({{ from_timestamp }}, interval {{ interval }} {{ datepart }})\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.03184, "supported_languages": null}, "macro.fivetran_utils.redshift__timestamp_add": {"name": "redshift__timestamp_add", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/timestamp_add.sql", "original_file_path": "macros/timestamp_add.sql", "unique_id": "macro.fivetran_utils.redshift__timestamp_add", "macro_sql": "{% macro redshift__timestamp_add(datepart, interval, from_timestamp) %}\n\n dateadd(\n {{ datepart }},\n {{ interval }},\n {{ from_timestamp }}\n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.0319848, "supported_languages": null}, "macro.fivetran_utils.postgres__timestamp_add": {"name": "postgres__timestamp_add", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/timestamp_add.sql", "original_file_path": "macros/timestamp_add.sql", "unique_id": "macro.fivetran_utils.postgres__timestamp_add", "macro_sql": "{% macro postgres__timestamp_add(datepart, interval, from_timestamp) %}\n\n {{ from_timestamp }} + ((interval '1 {{ datepart }}') * ({{ interval }}))\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.0321212, "supported_languages": null}, "macro.fivetran_utils.spark__timestamp_add": {"name": "spark__timestamp_add", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/timestamp_add.sql", "original_file_path": "macros/timestamp_add.sql", "unique_id": "macro.fivetran_utils.spark__timestamp_add", "macro_sql": "{% macro spark__timestamp_add(datepart, interval, from_timestamp) %}\n\n {{ dbt.dateadd(datepart, interval, from_timestamp) }}\n \n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.dateadd"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.032278, "supported_languages": null}, "macro.fivetran_utils.ceiling": {"name": "ceiling", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/ceiling.sql", "original_file_path": "macros/ceiling.sql", "unique_id": "macro.fivetran_utils.ceiling", "macro_sql": "{% macro ceiling(num) -%}\n\n{{ adapter.dispatch('ceiling', 'fivetran_utils') (num) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.default__ceiling"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.032502, "supported_languages": null}, "macro.fivetran_utils.default__ceiling": {"name": "default__ceiling", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/ceiling.sql", "original_file_path": "macros/ceiling.sql", "unique_id": "macro.fivetran_utils.default__ceiling", "macro_sql": "{% macro default__ceiling(num) %}\n ceiling({{ num }})\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.032595, "supported_languages": null}, "macro.fivetran_utils.snowflake__ceiling": {"name": "snowflake__ceiling", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/ceiling.sql", "original_file_path": "macros/ceiling.sql", "unique_id": "macro.fivetran_utils.snowflake__ceiling", "macro_sql": "{% macro snowflake__ceiling(num) %}\n ceil({{ num }})\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.032683, "supported_languages": null}, "macro.fivetran_utils.remove_prefix_from_columns": {"name": "remove_prefix_from_columns", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/remove_prefix_from_columns.sql", "original_file_path": "macros/remove_prefix_from_columns.sql", "unique_id": "macro.fivetran_utils.remove_prefix_from_columns", "macro_sql": "{% macro remove_prefix_from_columns(columns, prefix='', exclude=[]) %}\n\n {%- for col in columns if col.name not in exclude -%}\n {%- if col.name[:prefix|length]|lower == prefix -%}\n {{ col.name }} as {{ col.name[prefix|length:] }}\n {%- else -%}\n {{ col.name }}\n {%- endif -%}\n {%- if not loop.last -%},{%- endif %}\n {% endfor -%}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.033281, "supported_languages": null}, "macro.fivetran_utils.fivetran_date_spine": {"name": "fivetran_date_spine", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/fivetran_date_spine.sql", "original_file_path": "macros/fivetran_date_spine.sql", "unique_id": "macro.fivetran_utils.fivetran_date_spine", "macro_sql": "{% macro fivetran_date_spine(datepart, start_date, end_date) -%}\n\n{{ return(adapter.dispatch('fivetran_date_spine', 'fivetran_utils') (datepart, start_date, end_date)) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.default__fivetran_date_spine"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.034455, "supported_languages": null}, "macro.fivetran_utils.default__fivetran_date_spine": {"name": "default__fivetran_date_spine", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/fivetran_date_spine.sql", "original_file_path": "macros/fivetran_date_spine.sql", "unique_id": "macro.fivetran_utils.default__fivetran_date_spine", "macro_sql": "{% macro default__fivetran_date_spine(datepart, start_date, end_date) %}\n\n {{ dbt_utils.date_spine(datepart, start_date, end_date) }}\n \n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.date_spine"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.034613, "supported_languages": null}, "macro.fivetran_utils.sqlserver__fivetran_date_spine": {"name": "sqlserver__fivetran_date_spine", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/fivetran_date_spine.sql", "original_file_path": "macros/fivetran_date_spine.sql", "unique_id": "macro.fivetran_utils.sqlserver__fivetran_date_spine", "macro_sql": "{% macro sqlserver__fivetran_date_spine(datepart, start_date, end_date) -%}\n\n {% set date_spine_query %}\n with\n\n l0 as (\n\n select c\n from (select 1 union all select 1) as d(c)\n\n ),\n l1 as (\n\n select\n 1 as c\n from l0 as a\n cross join l0 as b\n\n ),\n\n l2 as (\n\n select 1 as c\n from l1 as a\n cross join l1 as b\n ),\n\n l3 as (\n\n select 1 as c\n from l2 as a\n cross join l2 as b\n ),\n\n l4 as (\n\n select 1 as c\n from l3 as a\n cross join l3 as b\n ),\n\n l5 as (\n\n select 1 as c\n from l4 as a\n cross join l4 as b\n ),\n\n nums as (\n\n select row_number() over (order by (select null)) as rownum\n from l5\n ),\n\n rawdata as (\n\n select top ({{dbt.datediff(start_date, end_date, datepart)}}) rownum -1 as n\n from nums\n order by rownum\n ),\n\n all_periods as (\n\n select (\n {{\n dbt.dateadd(\n datepart,\n 'n',\n start_date\n )\n }}\n ) as date_{{datepart}}\n from rawdata\n ),\n\n filtered as (\n\n select *\n from all_periods\n where date_{{datepart}} <= {{ end_date }}\n\n )\n\n select * from filtered\n order by 1\n\n {% endset %}\n\n {% set results = run_query(date_spine_query) %}\n\n {% if execute %}\n\n {% set results_list = results.columns[0].values() %}\n \n {% else %}\n\n {% set results_list = [] %}\n\n {% endif %}\n\n {%- for date_field in results_list %}\n select cast('{{ date_field }}' as date) as date_{{datepart}} {{ 'union all ' if not loop.last else '' }}\n {% endfor -%}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.datediff", "macro.dbt.dateadd", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.0353541, "supported_languages": null}, "macro.fivetran_utils.union_data": {"name": "union_data", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/union_data.sql", "original_file_path": "macros/union_data.sql", "unique_id": "macro.fivetran_utils.union_data", "macro_sql": "{%- macro union_data(table_identifier, database_variable, schema_variable, default_database, default_schema, default_variable, union_schema_variable='union_schemas', union_database_variable='union_databases') -%}\n\n{{ adapter.dispatch('union_data', 'fivetran_utils') (\n table_identifier, \n database_variable, \n schema_variable, \n default_database, \n default_schema, \n default_variable,\n union_schema_variable,\n union_database_variable\n ) }}\n\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.fivetran_utils.default__union_data"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.0383701, "supported_languages": null}, "macro.fivetran_utils.default__union_data": {"name": "default__union_data", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/union_data.sql", "original_file_path": "macros/union_data.sql", "unique_id": "macro.fivetran_utils.default__union_data", "macro_sql": "{%- macro default__union_data(\n table_identifier, \n database_variable, \n schema_variable, \n default_database, \n default_schema, \n default_variable,\n union_schema_variable,\n union_database_variable\n ) -%}\n\n{%- if var(union_schema_variable, none) -%}\n\n {%- set relations = [] -%}\n \n {%- if var(union_schema_variable) is string -%}\n {%- set trimmed = var(union_schema_variable)|trim('[')|trim(']') -%}\n {%- set schemas = trimmed.split(',')|map('trim',\" \")|map('trim','\"')|map('trim',\"'\") -%}\n {%- else -%}\n {%- set schemas = var(union_schema_variable) -%}\n {%- endif -%}\n\n {%- for schema in var(union_schema_variable) -%}\n {%- set relation=adapter.get_relation(\n database=source(schema, table_identifier).database if var('has_defined_sources', false) else var(database_variable, default_database),\n schema=source(schema, table_identifier).schema if var('has_defined_sources', false) else schema,\n identifier=source(schema, table_identifier).identifier if var('has_defined_sources', false) else table_identifier\n ) -%}\n \n {%- set relation_exists=relation is not none -%}\n\n {%- if relation_exists -%}\n {%- do relations.append(relation) -%}\n {%- endif -%}\n\n {%- endfor -%}\n \n {%- if relations != [] -%}\n {{ dbt_utils.union_relations(relations) }}\n {%- else -%}\n {% if execute and not var('fivetran__remove_empty_table_warnings', false) -%}\n {{ exceptions.warn(\"\\n\\nPlease be aware: The \" ~ table_identifier|upper ~ \" table was not found in your \" ~ default_schema|upper ~ \" schema(s). The Fivetran dbt package will create a completely empty \" ~ table_identifier|upper ~ \" staging model as to not break downstream transformations. To turn off these warnings, set the `fivetran__remove_empty_table_warnings` variable to TRUE (see https://github.com/fivetran/dbt_fivetran_utils/tree/releases/v0.4.latest#union_data-source for details).\\n\") }}\n {% endif -%}\n select \n cast(null as {{ dbt.type_string() }}) as _dbt_source_relation\n limit 0\n {%- endif -%}\n\n{%- elif var(union_database_variable, none) -%}\n\n {%- set relations = [] -%}\n\n {%- for database in var(union_database_variable) -%}\n {%- set relation=adapter.get_relation(\n database=source(schema, table_identifier).database if var('has_defined_sources', false) else database,\n schema=source(schema, table_identifier).schema if var('has_defined_sources', false) else var(schema_variable, default_schema),\n identifier=source(schema, table_identifier).identifier if var('has_defined_sources', false) else table_identifier\n ) -%}\n\n {%- set relation_exists=relation is not none -%}\n\n {%- if relation_exists -%}\n {%- do relations.append(relation) -%}\n {%- endif -%}\n\n {%- endfor -%}\n\n {%- if relations != [] -%}\n {{ dbt_utils.union_relations(relations) }}\n {%- else -%}\n {% if execute and not var('fivetran__remove_empty_table_warnings', false) -%}\n {{ exceptions.warn(\"\\n\\nPlease be aware: The \" ~ table_identifier|upper ~ \" table was not found in your \" ~ default_schema|upper ~ \" schema(s). The Fivetran dbt package will create a completely empty \" ~ table_identifier|upper ~ \" staging model as to not break downstream transformations. To turn off these warnings, set the `fivetran__remove_empty_table_warnings` variable to TRUE (see https://github.com/fivetran/dbt_fivetran_utils/tree/releases/v0.4.latest#union_data-source for details).\\n\") }}\n {% endif -%}\n select \n cast(null as {{ dbt.type_string() }}) as _dbt_source_relation\n limit 0\n {%- endif -%}\n\n{%- else -%}\n {% set exception_schemas = {\"linkedin_company_pages\": \"linkedin_pages\", \"instagram_business_pages\": \"instagram_business\"} %}\n {% set relation = namespace(value=\"\") %}\n {% if default_schema in exception_schemas.keys() %}\n {% for corrected_schema_name in exception_schemas.items() %} \n {% if default_schema in corrected_schema_name %}\n {# In order for this macro to effectively work within upstream integration tests (mainly used by the Fivetran dbt package maintainers), this identifier variable selection is required to use the macro with different identifier names. #}\n {% set identifier_var = corrected_schema_name[1] + \"_\" + table_identifier + \"_identifier\" %}\n {%- set relation.value=adapter.get_relation(\n database=source(corrected_schema_name[1], table_identifier).database,\n schema=source(corrected_schema_name[1], table_identifier).schema,\n identifier=var(identifier_var, table_identifier)\n ) -%}\n {% endif %}\n {% endfor %}\n {% else %}\n {# In order for this macro to effectively work within upstream integration tests (mainly used by the Fivetran dbt package maintainers), this identifier variable selection is required to use the macro with different identifier names. #}\n {% set identifier_var = default_schema + \"_\" + table_identifier + \"_identifier\" %}\n {# Unfortunately the Twitter Organic identifiers were misspelled. As such, we will need to account for this in the model. This will be adjusted in the Twitter Organic package, but to ensure backwards compatibility, this needs to be included. #}\n {% if var(identifier_var, none) is none %} \n {% set identifier_var = default_schema + \"_\" + table_identifier + \"_identifer\" %}\n {% endif %}\n {%- set relation.value=adapter.get_relation(\n database=source(default_schema, table_identifier).database,\n schema=source(default_schema, table_identifier).schema,\n identifier=var(identifier_var, table_identifier)\n ) -%}\n {% endif %}\n{%- set table_exists=relation.value is not none -%}\n\n{%- if table_exists -%}\n select * \n from {{ relation.value }}\n{%- else -%}\n {% if execute and not var('fivetran__remove_empty_table_warnings', false) -%}\n {{ exceptions.warn(\"\\n\\nPlease be aware: The \" ~ table_identifier|upper ~ \" table was not found in your \" ~ default_schema|upper ~ \" schema(s). The Fivetran dbt package will create a completely empty \" ~ table_identifier|upper ~ \" staging model as to not break downstream transformations. To turn off these warnings, set the `fivetran__remove_empty_table_warnings` variable to TRUE (see https://github.com/fivetran/dbt_fivetran_utils/tree/releases/v0.4.latest#union_data-source for details).\\n\") }}\n {% endif -%}\n select \n cast(null as {{ dbt.type_string() }}) as _dbt_source_relation\n limit 0\n{%- endif -%}\n{%- endif -%}\n\n{%- endmacro -%}", "depends_on": {"macros": ["macro.dbt_utils.union_relations", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.042491, "supported_languages": null}, "macro.fivetran_utils.dummy_coalesce_value": {"name": "dummy_coalesce_value", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/dummy_coalesce_value.sql", "original_file_path": "macros/dummy_coalesce_value.sql", "unique_id": "macro.fivetran_utils.dummy_coalesce_value", "macro_sql": "{% macro dummy_coalesce_value(column) %}\n\n{% set coalesce_value = {\n 'STRING': \"'DUMMY_STRING'\",\n 'BOOLEAN': 'null',\n 'INT': 999999999,\n 'FLOAT': 999999999.99,\n 'TIMESTAMP': 'cast(\"2099-12-31\" as timestamp)',\n 'DATE': 'cast(\"2099-12-31\" as date)',\n} %}\n\n{% if column.is_float() %}\n{{ return(coalesce_value['FLOAT']) }}\n\n{% elif column.is_numeric() %}\n{{ return(coalesce_value['INT']) }}\n\n{% elif column.is_string() %}\n{{ return(coalesce_value['STRING']) }}\n\n{% elif column.data_type|lower == 'boolean' %}\n{{ return(coalesce_value['BOOLEAN']) }}\n\n{% elif 'timestamp' in column.data_type|lower %}\n{{ return(coalesce_value['TIMESTAMP']) }}\n\n{% elif 'date' in column.data_type|lower %}\n{{ return(coalesce_value['DATE']) }}\n\n{% elif 'int' in column.data_type|lower %}\n{{ return(coalesce_value['INT']) }}\n\n{% endif %}\n\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.043901, "supported_languages": null}, "macro.fivetran_utils.extract_url_parameter": {"name": "extract_url_parameter", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/extract_url_parameter.sql", "original_file_path": "macros/extract_url_parameter.sql", "unique_id": "macro.fivetran_utils.extract_url_parameter", "macro_sql": "{% macro extract_url_parameter(field, url_parameter) -%}\n\n{{ adapter.dispatch('extract_url_parameter', 'fivetran_utils') (field, url_parameter) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.default__extract_url_parameter"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.0442991, "supported_languages": null}, "macro.fivetran_utils.default__extract_url_parameter": {"name": "default__extract_url_parameter", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/extract_url_parameter.sql", "original_file_path": "macros/extract_url_parameter.sql", "unique_id": "macro.fivetran_utils.default__extract_url_parameter", "macro_sql": "{% macro default__extract_url_parameter(field, url_parameter) -%}\n\n{{ dbt_utils.get_url_parameter(field, url_parameter) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_utils.get_url_parameter"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.044456, "supported_languages": null}, "macro.fivetran_utils.spark__extract_url_parameter": {"name": "spark__extract_url_parameter", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/extract_url_parameter.sql", "original_file_path": "macros/extract_url_parameter.sql", "unique_id": "macro.fivetran_utils.spark__extract_url_parameter", "macro_sql": "{% macro spark__extract_url_parameter(field, url_parameter) -%}\n\n{%- set formatted_url_parameter = \"'\" + url_parameter + \"=([^&]+)'\" -%}\nnullif(regexp_extract({{ field }}, {{ formatted_url_parameter }}, 1), '')\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.044647, "supported_languages": null}, "macro.fivetran_utils.wrap_in_quotes": {"name": "wrap_in_quotes", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/wrap_in_quotes.sql", "original_file_path": "macros/wrap_in_quotes.sql", "unique_id": "macro.fivetran_utils.wrap_in_quotes", "macro_sql": "{%- macro wrap_in_quotes(object_to_quote) -%}\n\n{{ return(adapter.dispatch('wrap_in_quotes', 'fivetran_utils')(object_to_quote)) }}\n\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.fivetran_utils.postgres__wrap_in_quotes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.044967, "supported_languages": null}, "macro.fivetran_utils.default__wrap_in_quotes": {"name": "default__wrap_in_quotes", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/wrap_in_quotes.sql", "original_file_path": "macros/wrap_in_quotes.sql", "unique_id": "macro.fivetran_utils.default__wrap_in_quotes", "macro_sql": "{%- macro default__wrap_in_quotes(object_to_quote) -%}\n{# bigquery, spark, databricks #}\n `{{ object_to_quote }}`\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.04508, "supported_languages": null}, "macro.fivetran_utils.snowflake__wrap_in_quotes": {"name": "snowflake__wrap_in_quotes", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/wrap_in_quotes.sql", "original_file_path": "macros/wrap_in_quotes.sql", "unique_id": "macro.fivetran_utils.snowflake__wrap_in_quotes", "macro_sql": "{%- macro snowflake__wrap_in_quotes(object_to_quote) -%}\n \"{{ object_to_quote | upper }}\"\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.045194, "supported_languages": null}, "macro.fivetran_utils.redshift__wrap_in_quotes": {"name": "redshift__wrap_in_quotes", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/wrap_in_quotes.sql", "original_file_path": "macros/wrap_in_quotes.sql", "unique_id": "macro.fivetran_utils.redshift__wrap_in_quotes", "macro_sql": "{%- macro redshift__wrap_in_quotes(object_to_quote) -%}\n \"{{ object_to_quote }}\"\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.045289, "supported_languages": null}, "macro.fivetran_utils.postgres__wrap_in_quotes": {"name": "postgres__wrap_in_quotes", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/wrap_in_quotes.sql", "original_file_path": "macros/wrap_in_quotes.sql", "unique_id": "macro.fivetran_utils.postgres__wrap_in_quotes", "macro_sql": "{%- macro postgres__wrap_in_quotes(object_to_quote) -%}\n \"{{ object_to_quote }}\"\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.0453818, "supported_languages": null}, "macro.fivetran_utils.array_agg": {"name": "array_agg", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/array_agg.sql", "original_file_path": "macros/array_agg.sql", "unique_id": "macro.fivetran_utils.array_agg", "macro_sql": "{% macro array_agg(field_to_agg) -%}\n\n{{ adapter.dispatch('array_agg', 'fivetran_utils') (field_to_agg) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.fivetran_utils.default__array_agg"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.045634, "supported_languages": null}, "macro.fivetran_utils.default__array_agg": {"name": "default__array_agg", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/array_agg.sql", "original_file_path": "macros/array_agg.sql", "unique_id": "macro.fivetran_utils.default__array_agg", "macro_sql": "{% macro default__array_agg(field_to_agg) %}\n array_agg({{ field_to_agg }})\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.045737, "supported_languages": null}, "macro.fivetran_utils.redshift__array_agg": {"name": "redshift__array_agg", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/array_agg.sql", "original_file_path": "macros/array_agg.sql", "unique_id": "macro.fivetran_utils.redshift__array_agg", "macro_sql": "{% macro redshift__array_agg(field_to_agg) %}\n listagg({{ field_to_agg }}, ',')\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.0458739, "supported_languages": null}, "macro.fivetran_utils.empty_variable_warning": {"name": "empty_variable_warning", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/empty_variable_warning.sql", "original_file_path": "macros/empty_variable_warning.sql", "unique_id": "macro.fivetran_utils.empty_variable_warning", "macro_sql": "{% macro empty_variable_warning(variable, downstream_model) %}\n\n{% if not var(variable) %}\n{{ log(\n \"\"\"\n Warning: You have passed an empty list to the \"\"\" ~ variable ~ \"\"\".\n As a result, you won't see the history of any columns in the \"\"\" ~ downstream_model ~ \"\"\" model.\n \"\"\",\n info=True\n) }}\n{% endif %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.0463061, "supported_languages": null}, "macro.fivetran_utils.enabled_vars_one_true": {"name": "enabled_vars_one_true", "resource_type": "macro", "package_name": "fivetran_utils", "path": "macros/enabled_vars_one_true.sql", "original_file_path": "macros/enabled_vars_one_true.sql", "unique_id": "macro.fivetran_utils.enabled_vars_one_true", "macro_sql": "{% macro enabled_vars_one_true(vars) %}\n\n{% for v in vars %}\n \n {% if var(v, False) == True %}\n {{ return(True) }}\n {% endif %}\n\n{% endfor %}\n\n{{ return(False) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.046719, "supported_languages": null}, "macro.quickbooks_source.get_deposit_line_columns": {"name": "get_deposit_line_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_deposit_line_columns.sql", "original_file_path": "macros/get_deposit_line_columns.sql", "unique_id": "macro.quickbooks_source.get_deposit_line_columns", "macro_sql": "{% macro get_deposit_line_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"bill_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"deposit_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"deposit_check_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"deposit_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"deposit_customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"deposit_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"deposit_payment_method_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"deposit_tax_applicable_on\", \"datatype\": dbt.type_string()},\n {\"name\": \"deposit_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"deposit_transaction_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"description\", \"datatype\": dbt.type_string()},\n {\"name\": \"detail_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"expense_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()},\n {\"name\": \"invoice_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"journal_entry_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"payment_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"purchase_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"refund_receipt_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_receipt_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"transfer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"vendor_credit_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_float", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.049331, "supported_languages": null}, "macro.quickbooks_source.get_vendor_credit_line_columns": {"name": "get_vendor_credit_line_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_vendor_credit_line_columns.sql", "original_file_path": "macros/get_vendor_credit_line_columns.sql", "unique_id": "macro.quickbooks_source.get_vendor_credit_line_columns", "macro_sql": "{% macro get_vendor_credit_line_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"account_expense_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_expense_billable_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_expense_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_expense_customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_expense_tax_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"account_expense_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"description\", \"datatype\": dbt.type_string()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_billable_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_quantity\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_unit_price\", \"datatype\": dbt.type_float()},\n {\"name\": \"private_note\", \"datatype\": dbt.type_string()},\n {\"name\": \"vendor_credit_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.051567, "supported_languages": null}, "macro.quickbooks_source.get_account_columns": {"name": "get_account_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_account_columns.sql", "original_file_path": "macros/get_account_columns.sql", "unique_id": "macro.quickbooks_source.get_account_columns", "macro_sql": "{% macro get_account_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"account_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_sub_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"active\", \"datatype\": \"boolean\"},\n {\"name\": \"balance\", \"datatype\": dbt.type_float()},\n {\"name\": \"balance_with_sub_accounts\", \"datatype\": dbt.type_float()},\n {\"name\": \"classification\", \"datatype\": dbt.type_string()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"description\", \"datatype\": dbt.type_string()},\n {\"name\": \"fully_qualified_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"parent_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sub_account\", \"datatype\": \"boolean\"},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.0535932, "supported_languages": null}, "macro.quickbooks_source.get_purchase_order_linked_txn_columns": {"name": "get_purchase_order_linked_txn_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_purchase_order_linked_txn_columns.sql", "original_file_path": "macros/get_purchase_order_linked_txn_columns.sql", "unique_id": "macro.quickbooks_source.get_purchase_order_linked_txn_columns", "macro_sql": "{% macro get_purchase_order_linked_txn_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"bill_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()},\n {\"name\": \"purchase_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"purchase_order_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"vendor_credit_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.054545, "supported_languages": null}, "macro.quickbooks_source.get_sales_receipt_line_columns": {"name": "get_sales_receipt_line_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_sales_receipt_line_columns.sql", "original_file_path": "macros/get_sales_receipt_line_columns.sql", "unique_id": "macro.quickbooks_source.get_sales_receipt_line_columns", "macro_sql": "{% macro get_sales_receipt_line_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"bundle_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"bundle_quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"description\", \"datatype\": dbt.type_string()},\n {\"name\": \"description_service_date\", \"datatype\": \"date\"},\n {\"name\": \"description_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"discount_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"discount_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"discount_discount_percent\", \"datatype\": dbt.type_float()},\n {\"name\": \"discount_percent_based\", \"datatype\": \"boolean\"},\n {\"name\": \"discount_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_discount_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_discount_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_service_date\", \"datatype\": \"date\"},\n {\"name\": \"sales_item_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_unit_price\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_receipt_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sub_total_item_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_float", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.057101, "supported_languages": null}, "macro.quickbooks_source.get_bill_linked_txn_columns": {"name": "get_bill_linked_txn_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_bill_linked_txn_columns.sql", "original_file_path": "macros/get_bill_linked_txn_columns.sql", "unique_id": "macro.quickbooks_source.get_bill_linked_txn_columns", "macro_sql": "{% macro get_bill_linked_txn_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"bill_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"bill_payment_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.0576398, "supported_languages": null}, "macro.quickbooks_source.get_bill_payment_line_columns": {"name": "get_bill_payment_line_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_bill_payment_line_columns.sql", "original_file_path": "macros/get_bill_payment_line_columns.sql", "unique_id": "macro.quickbooks_source.get_bill_payment_line_columns", "macro_sql": "{% macro get_bill_payment_line_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"bill_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"bill_payment_credit_card_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"bill_payment_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"check_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_charge_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_credit_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"deposit_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"expense_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()},\n {\"name\": \"journal_entry_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"linked_bill_payment_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"vendor_credit_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_float", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.059237, "supported_languages": null}, "macro.quickbooks_source.get_transfer_columns": {"name": "get_transfer_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_transfer_columns.sql", "original_file_path": "macros/get_transfer_columns.sql", "unique_id": "macro.quickbooks_source.get_transfer_columns", "macro_sql": "{% macro get_transfer_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"from_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"private_note\", \"datatype\": dbt.type_string()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"to_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"transaction_date\", \"datatype\": \"date\"},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_float", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.060394, "supported_languages": null}, "macro.quickbooks_source.get_purchase_columns": {"name": "get_purchase_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_purchase_columns.sql", "original_file_path": "macros/get_purchase_columns.sql", "unique_id": "macro.quickbooks_source.get_purchase_columns", "macro_sql": "{% macro get_purchase_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"credit\", \"datatype\": \"boolean\"},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"department_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"doc_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"employee_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"exchange_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"global_tax_calculation\", \"datatype\": dbt.type_string()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"payment_method_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"payment_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"print_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"private_note\", \"datatype\": dbt.type_string()},\n {\"name\": \"remit_to_address_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"total_tax\", \"datatype\": dbt.type_float()},\n {\"name\": \"transaction_date\", \"datatype\": \"date\"},\n {\"name\": \"transaction_source\", \"datatype\": dbt.type_string()},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"vendor_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.06305, "supported_languages": null}, "macro.quickbooks_source.get_journal_entry_line_columns": {"name": "get_journal_entry_line_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_journal_entry_line_columns.sql", "original_file_path": "macros/get_journal_entry_line_columns.sql", "unique_id": "macro.quickbooks_source.get_journal_entry_line_columns", "macro_sql": "{% macro get_journal_entry_line_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"billable_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"department_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"description\", \"datatype\": dbt.type_string()},\n {\"name\": \"description_service_date\", \"datatype\": \"date\"},\n {\"name\": \"description_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"employee_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()},\n {\"name\": \"journal_entry_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"posting_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"tax_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"tax_applicable_on\", \"datatype\": dbt.type_string()},\n {\"name\": \"tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"vendor_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.065033, "supported_languages": null}, "macro.quickbooks_source.get_deposit_columns": {"name": "get_deposit_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_deposit_columns.sql", "original_file_path": "macros/get_deposit_columns.sql", "unique_id": "macro.quickbooks_source.get_deposit_columns", "macro_sql": "{% macro get_deposit_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"cash_back_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"cash_back_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"cash_back_memo\", \"datatype\": dbt.type_string()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"department_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"global_tax_calculation\", \"datatype\": dbt.type_string()},\n {\"name\": \"home_total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"private_note\", \"datatype\": dbt.type_string()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"transaction_date\", \"datatype\": \"date\"},\n {\"name\": \"transaction_source\", \"datatype\": dbt.type_string()},\n {\"name\": \"transaction_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.067177, "supported_languages": null}, "macro.quickbooks_source.get_purchase_order_columns": {"name": "get_purchase_order_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_purchase_order_columns.sql", "original_file_path": "macros/get_purchase_order_columns.sql", "unique_id": "macro.quickbooks_source.get_purchase_order_columns", "macro_sql": "{% macro get_purchase_order_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"custom_customer_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"custom_po_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"doc_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"due_date\", \"datatype\": \"date\"},\n {\"name\": \"exchange_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"global_tax_calculation\", \"datatype\": dbt.type_string()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"memo\", \"datatype\": dbt.type_string()},\n {\"name\": \"payable_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"private_note\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_term_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"shipping_address_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"status\", \"datatype\": dbt.type_string()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"total_tax\", \"datatype\": dbt.type_float()},\n {\"name\": \"transaction_date\", \"datatype\": \"date\"},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"vendor_address_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"vendor_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.0697951, "supported_languages": null}, "macro.quickbooks_source.get_credit_memo_line_columns": {"name": "get_credit_memo_line_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_credit_memo_line_columns.sql", "original_file_path": "macros/get_credit_memo_line_columns.sql", "unique_id": "macro.quickbooks_source.get_credit_memo_line_columns", "macro_sql": "{% macro get_credit_memo_line_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"bundle_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"bundle_quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"credit_memo_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"description\", \"datatype\": dbt.type_string()},\n {\"name\": \"description_service_date\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"description_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"discount_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"discount_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"discount_discount_percent\", \"datatype\": dbt.type_float()},\n {\"name\": \"discount_percent_based\", \"datatype\": \"boolean\"},\n {\"name\": \"discount_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_discount_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_discount_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_service_date\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"sales_item_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_unit_price\", \"datatype\": dbt.type_float()},\n {\"name\": \"sub_total_item_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_float", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.072219, "supported_languages": null}, "macro.quickbooks_source.get_journal_entry_columns": {"name": "get_journal_entry_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_journal_entry_columns.sql", "original_file_path": "macros/get_journal_entry_columns.sql", "unique_id": "macro.quickbooks_source.get_journal_entry_columns", "macro_sql": "{% macro get_journal_entry_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"adjustment\", \"datatype\": \"boolean\"},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"doc_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"exchange_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"home_total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"private_note\", \"datatype\": dbt.type_string()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"total_tax\", \"datatype\": dbt.type_float()},\n {\"name\": \"transaction_date\", \"datatype\": \"date\"},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.073906, "supported_languages": null}, "macro.quickbooks_source.get_vendor_columns": {"name": "get_vendor_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_vendor_columns.sql", "original_file_path": "macros/get_vendor_columns.sql", "unique_id": "macro.quickbooks_source.get_vendor_columns", "macro_sql": "{% macro get_vendor_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"account_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"active\", \"datatype\": \"boolean\"},\n {\"name\": \"alternate_phone\", \"datatype\": dbt.type_string()},\n {\"name\": \"balance\", \"datatype\": dbt.type_float()},\n {\"name\": \"billing_address_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"company_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"display_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"email\", \"datatype\": dbt.type_string()},\n {\"name\": \"family_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"fax_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"given_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"middle_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"mobile_phone\", \"datatype\": dbt.type_string()},\n {\"name\": \"other_contacts\", \"datatype\": dbt.type_string()},\n {\"name\": \"primary_phone\", \"datatype\": dbt.type_string()},\n {\"name\": \"print_on_check_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"suffix\", \"datatype\": dbt.type_string()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"tax_identifier\", \"datatype\": dbt.type_string()},\n {\"name\": \"term_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"title\", \"datatype\": dbt.type_string()},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"vendor_1099\", \"datatype\": \"boolean\"},\n {\"name\": \"web_url\", \"datatype\": dbt.type_string()},\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.077549, "supported_languages": null}, "macro.quickbooks_source.get_invoice_linked_txn_columns": {"name": "get_invoice_linked_txn_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_invoice_linked_txn_columns.sql", "original_file_path": "macros/get_invoice_linked_txn_columns.sql", "unique_id": "macro.quickbooks_source.get_invoice_linked_txn_columns", "macro_sql": "{% macro get_invoice_linked_txn_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"charge_credit_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"estimate_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()},\n {\"name\": \"invoice_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"payment_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"reimburse_charge_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"statement_charge_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"time_activity_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.078621, "supported_languages": null}, "macro.quickbooks_source.get_item_columns": {"name": "get_item_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_item_columns.sql", "original_file_path": "macros/get_item_columns.sql", "unique_id": "macro.quickbooks_source.get_item_columns", "macro_sql": "{% macro get_item_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"active\", \"datatype\": \"boolean\"},\n {\"name\": \"asset_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt.type_string()},\n {\"name\": \"expense_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"fully_qualified_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"income_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"inventory_start_date\", \"datatype\": \"date\"},\n {\"name\": \"level\", \"datatype\": dbt.type_string()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"parent_item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"purchase_cost\", \"datatype\": dbt.type_float()},\n {\"name\": \"purchase_description\", \"datatype\": dbt.type_string()},\n {\"name\": \"purchase_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"purchase_tax_included\", \"datatype\": \"boolean\"},\n {\"name\": \"quantity_on_hand\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_tax_included\", \"datatype\": \"boolean\"},\n {\"name\": \"stock_keeping_unit\", \"datatype\": dbt.type_string()},\n {\"name\": \"sub_item\", \"datatype\": \"boolean\"},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"taxable\", \"datatype\": \"boolean\"},\n {\"name\": \"track_quantity_on_hand\", \"datatype\": \"boolean\"},\n {\"name\": \"type\", \"datatype\": dbt.type_string()},\n {\"name\": \"unit_price\", \"datatype\": dbt.type_float()},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.081523, "supported_languages": null}, "macro.quickbooks_source.get_credit_memo_columns": {"name": "get_credit_memo_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_credit_memo_columns.sql", "original_file_path": "macros/get_credit_memo_columns.sql", "unique_id": "macro.quickbooks_source.get_credit_memo_columns", "macro_sql": "{% macro get_credit_memo_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"apply_tax_after_discount\", \"datatype\": \"boolean\"},\n {\"name\": \"balance\", \"datatype\": dbt.type_float()},\n {\"name\": \"bill_email\", \"datatype\": dbt.type_string()},\n {\"name\": \"billing_address_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"custom_p_o_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"customer_memo\", \"datatype\": dbt.type_string()},\n {\"name\": \"department_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"doc_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"email_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"exchange_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"global_tax_calculation\", \"datatype\": dbt.type_string()},\n {\"name\": \"home_balance\", \"datatype\": dbt.type_float()},\n {\"name\": \"home_total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"payment_method_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"print_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"private_note\", \"datatype\": dbt.type_string()},\n {\"name\": \"remaining_credit\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_term_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"shipping_address_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"total_tax\", \"datatype\": dbt.type_string()},\n {\"name\": \"transaction_date\", \"datatype\": \"date\"},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_float", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.084776, "supported_languages": null}, "macro.quickbooks_source.get_bundle_item_columns": {"name": "get_bundle_item_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_bundle_item_columns.sql", "original_file_path": "macros/get_bundle_item_columns.sql", "unique_id": "macro.quickbooks_source.get_bundle_item_columns", "macro_sql": "{% macro get_bundle_item_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"bundle_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_quantity\", \"datatype\": dbt.type_float()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.085334, "supported_languages": null}, "macro.quickbooks_source.get_payment_columns": {"name": "get_payment_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_payment_columns.sql", "original_file_path": "macros/get_payment_columns.sql", "unique_id": "macro.quickbooks_source.get_payment_columns", "macro_sql": "{% macro get_payment_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"credit_card_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"credit_card_auth_code\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_billing_address_street\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_cc_expiry_month\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_cc_expiry_year\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_cctrans_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_name_on_account\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_postal_code\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_process_payment\", \"datatype\": \"boolean\"},\n {\"name\": \"credit_card_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_transaction_authorization_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"credit_card_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"deposit_to_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"exchange_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"payment_method_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"private_note\", \"datatype\": dbt.type_string()},\n {\"name\": \"process_payment\", \"datatype\": \"boolean\"},\n {\"name\": \"receivable_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"reference_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"transaction_date\", \"datatype\": \"date\"},\n {\"name\": \"transaction_source\", \"datatype\": dbt.type_string()},\n {\"name\": \"transaction_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"unapplied_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_float", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.088638, "supported_languages": null}, "macro.quickbooks_source.get_vendor_credit_columns": {"name": "get_vendor_credit_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_vendor_credit_columns.sql", "original_file_path": "macros/get_vendor_credit_columns.sql", "unique_id": "macro.quickbooks_source.get_vendor_credit_columns", "macro_sql": "{% macro get_vendor_credit_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"balance\", \"datatype\": dbt.type_float()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"department_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"doc_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"exchange_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"global_tax_calculation\", \"datatype\": dbt.type_string()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"payable_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"private_note\", \"datatype\": dbt.type_string()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"transaction_date\", \"datatype\": \"date\"},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"vendor_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_float", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.0903559, "supported_languages": null}, "macro.quickbooks_source.get_refund_receipt_columns": {"name": "get_refund_receipt_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_refund_receipt_columns.sql", "original_file_path": "macros/get_refund_receipt_columns.sql", "unique_id": "macro.quickbooks_source.get_refund_receipt_columns", "macro_sql": "{% macro get_refund_receipt_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"apply_tax_after_discount\", \"datatype\": \"boolean\"},\n {\"name\": \"balance\", \"datatype\": dbt.type_float()},\n {\"name\": \"bill_email\", \"datatype\": dbt.type_string()},\n {\"name\": \"billing_address_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"check_payment_account_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"check_payment_bank_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"check_payment_check_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"check_payment_name_on_account\", \"datatype\": dbt.type_string()},\n {\"name\": \"check_payment_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"credit_card_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"credit_card_auth_code\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_billing_address_street\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_cc_expiry_month\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_cc_expiry_year\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_cctrans_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_name_on_account\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_postal_code\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_process_payment\", \"datatype\": \"boolean\"},\n {\"name\": \"credit_card_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_transaction_authorization_time\", \"datatype\": \"date\"},\n {\"name\": \"credit_card_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"customer_memo\", \"datatype\": dbt.type_string()},\n {\"name\": \"department_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"deposit_to_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"doc_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"exchange_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"global_tax_calculation\", \"datatype\": dbt.type_string()},\n {\"name\": \"home_balance\", \"datatype\": dbt.type_float()},\n {\"name\": \"home_total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"payment_method_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"payment_reference_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"payment_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"print_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"private_note\", \"datatype\": dbt.type_string()},\n {\"name\": \"shipping_address_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"total_tax\", \"datatype\": dbt.type_float()},\n {\"name\": \"transaction_date\", \"datatype\": \"date\"},\n {\"name\": \"transaction_source\", \"datatype\": dbt.type_string()},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_float", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.095973, "supported_languages": null}, "macro.quickbooks_source.get_bill_columns": {"name": "get_bill_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_bill_columns.sql", "original_file_path": "macros/get_bill_columns.sql", "unique_id": "macro.quickbooks_source.get_bill_columns", "macro_sql": "{% macro get_bill_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"balance\", \"datatype\": dbt.type_float()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"department_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"doc_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"due_date\", \"datatype\": \"date\"},\n {\"name\": \"exchange_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"global_tax_calculation\", \"datatype\": dbt.type_string()},\n {\"name\": \"home_balance\", \"datatype\": dbt.type_float()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"payable_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"private_note\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_term_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"transaction_date\", \"datatype\": \"date\"},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"vendor_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_float", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.098001, "supported_languages": null}, "macro.quickbooks_source.get_credit_card_payment_txn_columns": {"name": "get_credit_card_payment_txn_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_credit_card_payment_txn_columns.sql", "original_file_path": "macros/get_credit_card_payment_txn_columns.sql", "unique_id": "macro.quickbooks_source.get_credit_card_payment_txn_columns", "macro_sql": "{% macro get_credit_card_payment_txn_columns() %}\n\n{% set columns = [ \t\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"bank_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"credit_card_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"transaction_date\", \"datatype\": \"date\"},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()}\n\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_string", "macro.dbt.type_timestamp", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.09916, "supported_languages": null}, "macro.quickbooks_source.get_bill_line_columns": {"name": "get_bill_line_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_bill_line_columns.sql", "original_file_path": "macros/get_bill_line_columns.sql", "unique_id": "macro.quickbooks_source.get_bill_line_columns", "macro_sql": "{% macro get_bill_line_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"account_expense_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_expense_billable_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_expense_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_expense_customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_expense_tax_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"account_expense_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"bill_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"description\", \"datatype\": dbt.type_string()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_billable_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"item_expense_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_unit_price\", \"datatype\": dbt.type_float()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.101325, "supported_languages": null}, "macro.quickbooks_source.get_customer_columns": {"name": "get_customer_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_customer_columns.sql", "original_file_path": "macros/get_customer_columns.sql", "unique_id": "macro.quickbooks_source.get_customer_columns", "macro_sql": "{% macro get_customer_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"active\", \"datatype\": \"boolean\"},\n {\"name\": \"alternate_phone_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"ar_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"balance\", \"datatype\": dbt.type_float()},\n {\"name\": \"balance_with_jobs\", \"datatype\": dbt.type_float()},\n {\"name\": \"bill_address_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"bill_with_parent\", \"datatype\": \"boolean\"},\n {\"name\": \"company_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"default_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"display_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"email\", \"datatype\": dbt.type_string()},\n {\"name\": \"family_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"fax_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"fully_qualified_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"given_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"job\", \"datatype\": \"boolean\"},\n {\"name\": \"level\", \"datatype\": dbt.type_string()},\n {\"name\": \"middle_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"mobile_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"notes\", \"datatype\": dbt.type_string()},\n {\"name\": \"open_balance_date\", \"datatype\": \"date\"},\n {\"name\": \"parent_customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"payment_method_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"phone_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"preferred_delivery_method\", \"datatype\": dbt.type_string()},\n {\"name\": \"print_on_check_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"resale_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_term_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"shipping_address_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"suffix\", \"datatype\": dbt.type_string()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"tax_exemption_reason_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"taxable\", \"datatype\": \"boolean\"},\n {\"name\": \"title\", \"datatype\": dbt.type_string()},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"website\", \"datatype\": dbt.type_string()},\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.106179, "supported_languages": null}, "macro.quickbooks_source.get_invoice_columns": {"name": "get_invoice_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_invoice_columns.sql", "original_file_path": "macros/get_invoice_columns.sql", "unique_id": "macro.quickbooks_source.get_invoice_columns", "macro_sql": "{% macro get_invoice_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"allow_ipnpayment\", \"datatype\": \"boolean\"},\n {\"name\": \"allow_online_achpayment\", \"datatype\": \"boolean\"},\n {\"name\": \"allow_online_credit_card_payment\", \"datatype\": \"boolean\"},\n {\"name\": \"allow_online_payment\", \"datatype\": \"boolean\"},\n {\"name\": \"apply_tax_after_discount\", \"datatype\": \"boolean\"},\n {\"name\": \"balance\", \"datatype\": dbt.type_float()},\n {\"name\": \"billing_address_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"billing_bcc_email\", \"datatype\": dbt.type_string()},\n {\"name\": \"billing_cc_email\", \"datatype\": dbt.type_string()},\n {\"name\": \"billing_email\", \"datatype\": dbt.type_string()},\n {\"name\": \"class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"custom_p_o_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"custom_sales_rep\", \"datatype\": dbt.type_string()},\n {\"name\": \"customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"customer_memo\", \"datatype\": dbt.type_string()},\n {\"name\": \"delivery_time\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"delivery_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"department_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"deposit\", \"datatype\": dbt.type_float()},\n {\"name\": \"deposit_to_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"doc_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"due_date\", \"datatype\": \"date\"},\n {\"name\": \"email_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"exchange_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"global_tax_calculation\", \"datatype\": dbt.type_string()},\n {\"name\": \"home_balance\", \"datatype\": dbt.type_float()},\n {\"name\": \"home_total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"print_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"private_note\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_term_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"ship_date\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"shipping_address_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"total_tax\", \"datatype\": dbt.type_float()},\n {\"name\": \"tracking_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"transaction_date\", \"datatype\": \"date\"},\n {\"name\": \"transaction_source\", \"datatype\": dbt.type_string()},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_float", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.1112478, "supported_languages": null}, "macro.quickbooks_source.get_payment_line_columns": {"name": "get_payment_line_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_payment_line_columns.sql", "original_file_path": "macros/get_payment_line_columns.sql", "unique_id": "macro.quickbooks_source.get_payment_line_columns", "macro_sql": "{% macro get_payment_line_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"check_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_charge_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_credit_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_memo_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"deposit_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"expense_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()},\n {\"name\": \"invoice_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"journal_entry_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"payment_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_float", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.11262, "supported_languages": null}, "macro.quickbooks_source.get_department_columns": {"name": "get_department_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_department_columns.sql", "original_file_path": "macros/get_department_columns.sql", "unique_id": "macro.quickbooks_source.get_department_columns", "macro_sql": "{% macro get_department_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"active\", \"datatype\": \"boolean\"},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"fully_qualified_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"parent_department_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sub_department\", \"datatype\": \"boolean\"},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.113763, "supported_languages": null}, "macro.quickbooks_source.get_invoice_line_columns": {"name": "get_invoice_line_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_invoice_line_columns.sql", "original_file_path": "macros/get_invoice_line_columns.sql", "unique_id": "macro.quickbooks_source.get_invoice_line_columns", "macro_sql": "{% macro get_invoice_line_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"bundle_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"bundle_quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"description\", \"datatype\": dbt.type_string()},\n {\"name\": \"description_service_date\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"description_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"discount_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"discount_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"discount_discount_percent\", \"datatype\": dbt.type_float()},\n {\"name\": \"discount_percent_based\", \"datatype\": \"boolean\"},\n {\"name\": \"discount_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"detail_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()},\n {\"name\": \"invoice_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_discount_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_discount_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_service_date\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"sales_item_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_unit_price\", \"datatype\": dbt.type_float()},\n {\"name\": \"sub_total_item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"tax_code_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.116752, "supported_languages": null}, "macro.quickbooks_source.get_purchase_order_line_columns": {"name": "get_purchase_order_line_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_purchase_order_line_columns.sql", "original_file_path": "macros/get_purchase_order_line_columns.sql", "unique_id": "macro.quickbooks_source.get_purchase_order_line_columns", "macro_sql": "{% macro get_purchase_order_line_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"account_expense_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_expense_billable_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_expense_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_expense_customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_expense_tax_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"account_expense_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"description\", \"datatype\": dbt.type_string()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_billable_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"item_expense_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_unit_price\", \"datatype\": dbt.type_float()},\n {\"name\": \"purchase_order_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.1187148, "supported_languages": null}, "macro.quickbooks_source.get_purchase_line_columns": {"name": "get_purchase_line_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_purchase_line_columns.sql", "original_file_path": "macros/get_purchase_line_columns.sql", "unique_id": "macro.quickbooks_source.get_purchase_line_columns", "macro_sql": "{% macro get_purchase_line_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"account_expense_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_expense_billable_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_expense_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_expense_customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"account_expense_tax_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"account_expense_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"description\", \"datatype\": dbt.type_string()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_billable_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"item_expense_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_expense_unit_price\", \"datatype\": dbt.type_float()},\n {\"name\": \"purchase_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.120563, "supported_languages": null}, "macro.quickbooks_source.get_refund_receipt_line_columns": {"name": "get_refund_receipt_line_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_refund_receipt_line_columns.sql", "original_file_path": "macros/get_refund_receipt_line_columns.sql", "unique_id": "macro.quickbooks_source.get_refund_receipt_line_columns", "macro_sql": "{% macro get_refund_receipt_line_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"bundle_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"bundle_quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"description\", \"datatype\": dbt.type_string()},\n {\"name\": \"description_service_date\", \"datatype\": \"date\"},\n {\"name\": \"description_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"discount_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"discount_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"discount_discount_percent\", \"datatype\": dbt.type_float()},\n {\"name\": \"discount_percent_based\", \"datatype\": \"boolean\"},\n {\"name\": \"discount_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()},\n {\"name\": \"refund_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_discount_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_discount_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_service_date\", \"datatype\": \"date\"},\n {\"name\": \"sales_item_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_unit_price\", \"datatype\": dbt.type_float()},\n {\"name\": \"sub_total_item_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_float", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.123035, "supported_languages": null}, "macro.quickbooks_source.get_estimate_columns": {"name": "get_estimate_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_estimate_columns.sql", "original_file_path": "macros/get_estimate_columns.sql", "unique_id": "macro.quickbooks_source.get_estimate_columns", "macro_sql": "{% macro get_estimate_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"accepted_by\", \"datatype\": dbt.type_string()},\n {\"name\": \"accepted_date\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"apply_tax_after_discount\", \"datatype\": \"boolean\"},\n {\"name\": \"bill_email\", \"datatype\": dbt.type_string()},\n {\"name\": \"billing_address_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"customer_memo\", \"datatype\": dbt.type_string()},\n {\"name\": \"delivery_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"department_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"doc_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"due_date\", \"datatype\": \"date\"},\n {\"name\": \"email_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"exchange_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"expiration_date\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"global_tax_calculation\", \"datatype\": dbt.type_string()},\n {\"name\": \"home_total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"print_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"private_note\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_term_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"ship_date\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"shipping_address_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"total_tax\", \"datatype\": dbt.type_float()},\n {\"name\": \"transaction_date\", \"datatype\": \"date\"},\n {\"name\": \"transaction_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.126783, "supported_languages": null}, "macro.quickbooks_source.get_bill_payment_columns": {"name": "get_bill_payment_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_bill_payment_columns.sql", "original_file_path": "macros/get_bill_payment_columns.sql", "unique_id": "macro.quickbooks_source.get_bill_payment_columns", "macro_sql": "{% macro get_bill_payment_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"check_bank_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"check_print_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"credit_card_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"department_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"doc_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"exchange_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"pay_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"payable_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"private_note\", \"datatype\": dbt.type_string()},\n {\"name\": \"process_bill_payment\", \"datatype\": \"boolean\"},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"transaction_date\", \"datatype\": \"date\"},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"vendor_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.1288981, "supported_languages": null}, "macro.quickbooks_source.get_sales_receipt_columns": {"name": "get_sales_receipt_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_sales_receipt_columns.sql", "original_file_path": "macros/get_sales_receipt_columns.sql", "unique_id": "macro.quickbooks_source.get_sales_receipt_columns", "macro_sql": "{% macro get_sales_receipt_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"apply_tax_after_discount\", \"datatype\": \"boolean\"},\n {\"name\": \"balance\", \"datatype\": dbt.type_float()},\n {\"name\": \"bill_email\", \"datatype\": dbt.type_string()},\n {\"name\": \"billing_address_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"credit_card_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"credit_card_auth_code\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_billing_address_street\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_cc_expiry_month\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_cc_expiry_year\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_cctrans_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_name_on_account\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_postal_code\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_process_payment\", \"datatype\": \"boolean\"},\n {\"name\": \"credit_card_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"credit_card_transaction_authorization_time\", \"datatype\": \"date\"},\n {\"name\": \"credit_card_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"currency_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"customer_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"customer_memo\", \"datatype\": dbt.type_string()},\n {\"name\": \"delivery_time\", \"datatype\": \"date\"},\n {\"name\": \"delivery_type\", \"datatype\": dbt.type_string()},\n {\"name\": \"department_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"deposit_to_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"doc_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"email_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"exchange_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"global_tax_calculation\", \"datatype\": dbt.type_string()},\n {\"name\": \"home_balance\", \"datatype\": dbt.type_float()},\n {\"name\": \"home_total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"payment_method_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"payment_reference_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"print_status\", \"datatype\": dbt.type_string()},\n {\"name\": \"private_note\", \"datatype\": dbt.type_string()},\n {\"name\": \"ship_date\", \"datatype\": \"date\"},\n {\"name\": \"shipping_address_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"total_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"total_tax\", \"datatype\": dbt.type_float()},\n {\"name\": \"tracking_number\", \"datatype\": dbt.type_string()},\n {\"name\": \"transaction_date\", \"datatype\": \"date\"},\n {\"name\": \"transaction_source\", \"datatype\": dbt.type_string()},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_float", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.134312, "supported_languages": null}, "macro.quickbooks_source.get_bundle_columns": {"name": "get_bundle_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_bundle_columns.sql", "original_file_path": "macros/get_bundle_columns.sql", "unique_id": "macro.quickbooks_source.get_bundle_columns", "macro_sql": "{% macro get_bundle_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"active\", \"datatype\": \"boolean\"},\n {\"name\": \"created_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"description\", \"datatype\": dbt.type_string()},\n {\"name\": \"fully_qualified_name\", \"datatype\": dbt.type_string()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"name\", \"datatype\": dbt.type_string()},\n {\"name\": \"print_grouped_items\", \"datatype\": \"boolean\"},\n {\"name\": \"purchase_cost\", \"datatype\": dbt.type_float()},\n {\"name\": \"sync_token\", \"datatype\": dbt.type_string()},\n {\"name\": \"taxable\", \"datatype\": \"boolean\"},\n {\"name\": \"unit_price\", \"datatype\": dbt.type_float()},\n {\"name\": \"updated_at\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"_fivetran_deleted\", \"datatype\": \"boolean\"}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.1358452, "supported_languages": null}, "macro.quickbooks_source.get_estimate_line_columns": {"name": "get_estimate_line_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_estimate_line_columns.sql", "original_file_path": "macros/get_estimate_line_columns.sql", "unique_id": "macro.quickbooks_source.get_estimate_line_columns", "macro_sql": "{% macro get_estimate_line_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"bundle_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"bundle_quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"description\", \"datatype\": dbt.type_string()},\n {\"name\": \"description_service_date\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"description_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"discount_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"discount_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"discount_discount_percent\", \"datatype\": dbt.type_float()},\n {\"name\": \"discount_percent_based\", \"datatype\": \"boolean\"},\n {\"name\": \"discount_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"estimate_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_discount_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_discount_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_service_date\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"sales_item_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_unit_price\", \"datatype\": dbt.type_float()},\n {\"name\": \"sub_total_item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"tax_code_id\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.138722, "supported_languages": null}, "macro.quickbooks_source.get_address_columns": {"name": "get_address_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_address_columns.sql", "original_file_path": "macros/get_address_columns.sql", "unique_id": "macro.quickbooks_source.get_address_columns", "macro_sql": "{% macro get_address_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"city\", \"datatype\": dbt.type_string()},\n {\"name\": \"country\", \"datatype\": dbt.type_string()},\n {\"name\": \"country_sub_division_code\", \"datatype\": dbt.type_string()},\n {\"name\": \"id\", \"datatype\": dbt.type_string()},\n {\"name\": \"latitude\", \"datatype\": dbt.type_string()},\n {\"name\": \"line_1\", \"datatype\": dbt.type_string()},\n {\"name\": \"line_2\", \"datatype\": dbt.type_string()},\n {\"name\": \"line_3\", \"datatype\": dbt.type_string()},\n {\"name\": \"line_4\", \"datatype\": dbt.type_string()},\n {\"name\": \"line_5\", \"datatype\": dbt.type_string()},\n {\"name\": \"longitude\", \"datatype\": dbt.type_string()},\n {\"name\": \"postal_code\", \"datatype\": dbt.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.1400478, "supported_languages": null}, "macro.quickbooks_source.get_invoice_line_bundle_columns": {"name": "get_invoice_line_bundle_columns", "resource_type": "macro", "package_name": "quickbooks_source", "path": "macros/get_invoice_line_bundle_columns.sql", "original_file_path": "macros/get_invoice_line_bundle_columns.sql", "unique_id": "macro.quickbooks_source.get_invoice_line_bundle_columns", "macro_sql": "{% macro get_invoice_line_bundle_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"class_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"description\", \"datatype\": dbt.type_string()},\n {\"name\": \"discount_amount\", \"datatype\": dbt.type_float()},\n {\"name\": \"discount_rate\", \"datatype\": dbt.type_float()},\n {\"name\": \"index\", \"datatype\": dbt.type_string()},\n {\"name\": \"invoice_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"invoice_line_index\", \"datatype\": dbt.type_string()},\n {\"name\": \"item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"line_num\", \"datatype\": dbt.type_string()},\n {\"name\": \"quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_account_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_item_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"sales_item_quantity\", \"datatype\": dbt.type_float()},\n {\"name\": \"sales_item_tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"service_date\", \"datatype\": dbt.type_timestamp()},\n {\"name\": \"tax_code_id\", \"datatype\": dbt.type_string()},\n {\"name\": \"unit_price\", \"datatype\": dbt.type_float()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp", "macro.dbt.type_string", "macro.dbt.type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731948865.142089, "supported_languages": null}}, "docs": {"doc.dbt.__overview__": {"name": "__overview__", "resource_type": "doc", "package_name": "dbt", "path": "overview.md", "original_file_path": "docs/overview.md", "unique_id": "doc.dbt.__overview__", "block_contents": "### Welcome!\n\nWelcome to the auto-generated documentation for your dbt project!\n\n### Navigation\n\nYou can use the `Project` and `Database` navigation tabs on the left side of the window to explore the models\nin your project.\n\n#### Project Tab\nThe `Project` tab mirrors the directory structure of your dbt project. In this tab, you can see all of the\nmodels defined in your dbt project, as well as models imported from dbt packages.\n\n#### Database Tab\nThe `Database` tab also exposes your models, but in a format that looks more like a database explorer. This view\nshows relations (tables and views) grouped into database schemas. Note that ephemeral models are _not_ shown\nin this interface, as they do not exist in the database.\n\n### Graph Exploration\nYou can click the blue icon on the bottom-right corner of the page to view the lineage graph of your models.\n\nOn model pages, you'll see the immediate parents and children of the model you're exploring. By clicking the `Expand`\nbutton at the top-right of this lineage pane, you'll be able to see all of the models that are used to build,\nor are built from, the model you're exploring.\n\nOnce expanded, you'll be able to use the `--select` and `--exclude` model selection syntax to filter the\nmodels in the graph. For more information on model selection, check out the [dbt docs](https://docs.getdbt.com/docs/model-selection-syntax).\n\nNote that you can also right-click on models to interactively filter and explore the graph.\n\n---\n\n### More information\n\n- [What is dbt](https://docs.getdbt.com/docs/introduction)?\n- Read the [dbt viewpoint](https://docs.getdbt.com/docs/viewpoint)\n- [Installation](https://docs.getdbt.com/docs/installation)\n- Join the [dbt Community](https://www.getdbt.com/community/) for questions and discussion"}, "doc.quickbooks.ap_ar_enhanced_table": {"name": "ap_ar_enhanced_table", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.ap_ar_enhanced_table", "block_contents": "Table that unions all accounts payable records from int_quickbooks__bill_join and all accounts receivable records from int_quickbooks__invoice_join while also adding customer, vendor, address, and department level detail to the accounts payable and receivable records. Further, date and amount\ncalculations are included to show if the payable/receivable has been fully paid and/or paid on time."}, "doc.quickbooks.cash_flow_statement_table": {"name": "cash_flow_statement_table", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.cash_flow_statement_table", "block_contents": "Table that provides all line items necessary to construct a cash flow statement."}, "doc.quickbooks.expenses_sales_enhanced_table": {"name": "expenses_sales_enhanced_table", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.expenses_sales_enhanced_table", "block_contents": "Table that unions all expense records from int_quickbooks__expenses_union and all sales records from the int_quickbooks__sales_union while also adding customer, vendor, and department level detail to the expense and sales records."}, "doc.quickbooks.general_ledger_table": {"name": "general_ledger_table", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.general_ledger_table", "block_contents": "Table that unions all records from each model within the double_entry_transactions directory. The table end result is a comprehensive general ledger with an offsetting debit and credit entry for each transaction."}, "doc.quickbooks.general_ledger_by_period_table": {"name": "general_ledger_by_period_table", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.general_ledger_by_period_table", "block_contents": "Table that pulls general ledger account level balances per period from int_quickbooks__general_ledger_balances while also creating an offsetting Retained Earnings entry for Revenue - Expenses per year to be added as single Equity line balance per year."}, "doc.quickbooks.profit_and_loss_table": {"name": "profit_and_loss_table", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.profit_and_loss_table", "block_contents": "Table containing all revenue and expense account classes by calendar year and month enriched with account type, class, and parent information."}, "doc.quickbooks.account_class": {"name": "account_class", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.account_class", "block_contents": "Class of the account associated"}, "doc.quickbooks.account_name": {"name": "account_name", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.account_name", "block_contents": "Name of the account associated"}, "doc.quickbooks.account_number": {"name": "account_number", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.account_number", "block_contents": "User defined number of the account."}, "doc.quickbooks.account_ordinal": {"name": "account_ordinal", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.account_ordinal", "block_contents": "Integer value to order the account within final financial statement reporting. The customer can also configure the ordinal; [see the README for details](https://github.com/fivetran/dbt_quickbooks/blob/main/README.md#customize-the-account-ordering-of-your-profit-loss-and-balance-sheet-models)"}, "doc.quickbooks.account_sub_type": {"name": "account_sub_type", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.account_sub_type", "block_contents": "Sub type of the account associated"}, "doc.quickbooks.account_type": {"name": "account_type", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.account_type", "block_contents": "The type of account associated"}, "doc.quickbooks.calendar_date": {"name": "calendar_date", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.calendar_date", "block_contents": "Timestamp of the first calendar date of the month. This is slated to be deprecated, and the fields `period_first_day` and `period_last_day` are both offered as replacements, depending on how your company performs their financial reporting."}, "doc.quickbooks.is_sub_account": {"name": "is_sub_account", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.is_sub_account", "block_contents": "Boolean indicating whether the account is a sub account (true) or a parent account (false)."}, "doc.quickbooks.parent_account_name": {"name": "parent_account_name", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.parent_account_name", "block_contents": "The parent account name. If the account is the parent account then the account name is recorded."}, "doc.quickbooks.parent_account_number": {"name": "parent_account_number", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.parent_account_number", "block_contents": "The parent account number. If the account is the parent account then the account number is recorded."}, "doc.quickbooks.source_relation": {"name": "source_relation", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.source_relation", "block_contents": "The source of the record if the unioning functionality is being used. If not this field will be null."}, "doc.quickbooks.transaction_date": {"name": "transaction_date", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.transaction_date", "block_contents": "The date that the transaction occurred."}, "doc.quickbooks.transaction_id": {"name": "transaction_id", "resource_type": "doc", "package_name": "quickbooks", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks.transaction_id", "block_contents": "Unique identifier of the transaction"}, "doc.quickbooks_source.account_table": {"name": "account_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.account_table", "block_contents": "Table containing components of a Chart Of Accounts and is part of a ledger. It is used to record a total monetary amount allocated against a specific use. Accounts are one of five basic types: asset, liability, revenue (income), expenses, or equity."}, "doc.quickbooks_source.address_table": {"name": "address_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.address_table", "block_contents": "Table containing address details."}, "doc.quickbooks_source.bill_line_table": {"name": "bill_line_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.bill_line_table", "block_contents": "Table containing distinct line items from bills within the `bill` table."}, "doc.quickbooks_source.bill_linked_txn_table": {"name": "bill_linked_txn_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.bill_linked_txn_table", "block_contents": "Mapping table containing bill payment transactions linked to a bill."}, "doc.quickbooks_source.bill_payment_line_table": {"name": "bill_payment_line_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.bill_payment_line_table", "block_contents": "Table containing individual line items of a bill payment, which are recorded within the `bill_payment` table."}, "doc.quickbooks_source.bill_payment_table": {"name": "bill_payment_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.bill_payment_table", "block_contents": "Table containing payment transactions bills that the business owner receives from a vendor for goods or services purchased from the vendor."}, "doc.quickbooks_source.bill_table": {"name": "bill_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.bill_table", "block_contents": "Table containing AP transactions representing a request-for-payment from a third party for goods/services rendered, received, or both."}, "doc.quickbooks_source.bundle_item_table": {"name": "bundle_item_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.bundle_item_table", "block_contents": "Mapping table containing all bundle and item combinations."}, "doc.quickbooks_source.bundle_table": {"name": "bundle_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.bundle_table", "block_contents": "Table containing all bundles possible to be used within an invoice."}, "doc.quickbooks_source.credit_card_payment_txn_table": {"name": "credit_card_payment_txn_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.credit_card_payment_txn_table", "block_contents": "Table containing all credit card payment transactions."}, "doc.quickbooks_source.credit_memo_line_table": {"name": "credit_memo_line_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.credit_memo_line_table", "block_contents": "Table containing individual records of credit memos."}, "doc.quickbooks_source.credit_memo_table": {"name": "credit_memo_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.credit_memo_table", "block_contents": "Table containing credit memo records. A credit memo is a refund or credit of payment or part of a payment for goods or services that have been sold."}, "doc.quickbooks_source.customer_table": {"name": "customer_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.customer_table", "block_contents": "Table containing customers of which are consumers of the service or product that your business offers."}, "doc.quickbooks_source.department_table": {"name": "department_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.department_table", "block_contents": "Table containing records representing physical locations such as stores, and sales regions."}, "doc.quickbooks_source.deposit_line_table": {"name": "deposit_line_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.deposit_line_table", "block_contents": "Table containing individual line items comprising the deposit."}, "doc.quickbooks_source.deposit_table": {"name": "deposit_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.deposit_table", "block_contents": "Table containing records of transactions that record on or more deposits of a customer payment or a new direct deposit."}, "doc.quickbooks_source.estimate_line_table": {"name": "estimate_line_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.estimate_line_table", "block_contents": "Table containing line item records of an estimate."}, "doc.quickbooks_source.estimate_table": {"name": "estimate_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.estimate_table", "block_contents": "Table containing estimates. An estimate represents a proposal for a financial transaction from a business to a customer for goods or services proposed to be sold, including proposed pricing."}, "doc.quickbooks_source.invoice_line_bundle_table": {"name": "invoice_line_bundle_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.invoice_line_bundle_table", "block_contents": "Table containing lines of an invoice which were bundled."}, "doc.quickbooks_source.invoice_line_table": {"name": "invoice_line_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.invoice_line_table", "block_contents": "Table containing individual records from invoices."}, "doc.quickbooks_source.invoice_linked_txn_table": {"name": "invoice_linked_txn_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.invoice_linked_txn_table", "block_contents": "Mapping table for invoices records to respective estimate and payment objects."}, "doc.quickbooks_source.invoice_table": {"name": "invoice_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.invoice_table", "block_contents": "Table containing invoice records. An Invoice represents a sales form where the customer pays for a product or service later."}, "doc.quickbooks_source.item_table": {"name": "item_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.item_table", "block_contents": "Table containing item records. An item is a thing that your company buys, sells, or re-sells, such as products and services."}, "doc.quickbooks_source.journal_entry_line_table": {"name": "journal_entry_line_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.journal_entry_line_table", "block_contents": "Table containing individual line items of a transaction associated with a journal entry."}, "doc.quickbooks_source.journal_entry_table": {"name": "journal_entry_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.journal_entry_table", "block_contents": "Table containing journal entry transactions."}, "doc.quickbooks_source.payment_line_table": {"name": "payment_line_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.payment_line_table", "block_contents": "Table containing individual line items recorded within a payment."}, "doc.quickbooks_source.payment_table": {"name": "payment_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.payment_table", "block_contents": "Table containing all payment records. The payment can be applied for a particular customer against multiple Invoices and Credit Memos. It can also be created without any Invoice or Credit Memo, by just specifying an amount."}, "doc.quickbooks_source.purchase_line_table": {"name": "purchase_line_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.purchase_line_table", "block_contents": "Table containing individual line items of a transaction associated with a purchase."}, "doc.quickbooks_source.purchase_order_line_table": {"name": "purchase_order_line_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.purchase_order_line_table", "block_contents": "Table containing individual line items of a transaction associated with a purchase order."}, "doc.quickbooks_source.purchase_order_linked_txn_table": {"name": "purchase_order_linked_txn_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.purchase_order_linked_txn_table", "block_contents": "Mapping table for purchase order records to respective bill and purchase objects."}, "doc.quickbooks_source.purchase_order_table": {"name": "purchase_order_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.purchase_order_table", "block_contents": "Table containing records of purchase orders (PO)."}, "doc.quickbooks_source.purchase_table": {"name": "purchase_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.purchase_table", "block_contents": "Table containing records of purchase expenses."}, "doc.quickbooks_source.refund_receipt_line_table": {"name": "refund_receipt_line_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.refund_receipt_line_table", "block_contents": "Table containing individual line items of a refund transaction."}, "doc.quickbooks_source.refund_receipt_table": {"name": "refund_receipt_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.refund_receipt_table", "block_contents": "Table containing refunds to the customer for a product or service that was provided."}, "doc.quickbooks_source.sales_receipt_line_table": {"name": "sales_receipt_line_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.sales_receipt_line_table", "block_contents": "Table containing individual line items of a sales transaction."}, "doc.quickbooks_source.sales_receipt_table": {"name": "sales_receipt_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.sales_receipt_table", "block_contents": "Table containing sales receipts that are given to a customer. A sales receipt, payment is received as part of the sale of goods and services. The sales receipt specifies a deposit account where the customer's payment is deposited."}, "doc.quickbooks_source.source_relation": {"name": "source_relation", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.source_relation", "block_contents": "The source of the record if the unioning functionality is being used. If not this field will be null."}, "doc.quickbooks_source.transfer_table": {"name": "transfer_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.transfer_table", "block_contents": "Table containing records of transfers. A Transfer represents a transaction where funds are moved between two accounts from the company's QuickBooks chart of accounts."}, "doc.quickbooks_source.vendor_credit_line_table": {"name": "vendor_credit_line_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.vendor_credit_line_table", "block_contents": "Table containing individual vendor credit line items."}, "doc.quickbooks_source.vendor_credit_table": {"name": "vendor_credit_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.vendor_credit_table", "block_contents": "Table containing all vendor credit records. A vendor credit is an accounts payable transaction that represents a refund or credit of payment for goods or services."}, "doc.quickbooks_source.vendor_table": {"name": "vendor_table", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.vendor_table", "block_contents": "Table containing all vendor records. A vendor is the seller from whom your company purchases any service or product."}, "doc.quickbooks_source.account_id": {"name": "account_id", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.account_id", "block_contents": "The identifier of the account associated"}, "doc.quickbooks_source.amount": {"name": "amount", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.amount", "block_contents": "Monetary amount of"}, "doc.quickbooks_source.class_id": {"name": "class_id", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.class_id", "block_contents": "Reference to the class associated"}, "doc.quickbooks_source.created_at": {"name": "created_at", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.created_at", "block_contents": "Timestamp of the creation date"}, "doc.quickbooks_source.currency_id": {"name": "currency_id", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.currency_id", "block_contents": "Reference to the currency"}, "doc.quickbooks_source.customer_id": {"name": "customer_id", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.customer_id", "block_contents": "Reference to the customer associated"}, "doc.quickbooks_source.department_id": {"name": "department_id", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.department_id", "block_contents": "Reference to the department"}, "doc.quickbooks_source.id": {"name": "id", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.id", "block_contents": "Unique identifier of the"}, "doc.quickbooks_source.item_id": {"name": "item_id", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source.item_id", "block_contents": "Reference to the item"}, "doc.quickbooks_source._fivetran_deleted": {"name": "_fivetran_deleted", "resource_type": "doc", "package_name": "quickbooks_source", "path": "docs.md", "original_file_path": "models/docs.md", "unique_id": "doc.quickbooks_source._fivetran_deleted", "block_contents": "Boolean created by Fivetran to indicate whether the record has been deleted."}}, "exposures": {}, "metrics": {}, "groups": {}, "selectors": {}, "disabled": {"test.quickbooks_integration_tests.consistency_general_ledger_transactions": [{"database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "consistency_general_ledger_transactions", "resource_type": "test", "package_name": "quickbooks_integration_tests", "path": "consistency/consistency_general_ledger_transactions.sql", "original_file_path": "tests/consistency/consistency_general_ledger_transactions.sql", "unique_id": "test.quickbooks_integration_tests.consistency_general_ledger_transactions", "fqn": ["quickbooks_integration_tests", "consistency", "consistency_general_ledger_transactions"], "alias": "consistency_general_ledger_transactions", "checksum": {"name": "sha256", "checksum": "551be2f06286d1af3f0573059b80a06e9f021fbc4dc3c301c0a3cde3cb9b1496"}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": ["fivetran_validations"], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": ["fivetran_validations"], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"tags": ["fivetran_validations"], "enabled": false}, "created_at": 1731948865.524744, "config_call_dict": {"tags": ["fivetran_validations"], "enabled": false}, "relation_name": null, "raw_code": "{{ config(\n tags=\"fivetran_validations\",\n enabled=var('fivetran_validation_tests_enabled', false)\n) }}\n\nwith prod as (\n select\n 1 as join_key,\n count(*) as total_transactions\n from {{ target.schema }}_quickbooks_prod.quickbooks__general_ledger\n group by 1\n),\n\ndev as (\n\n select \n 1 as join_key,\n count(*) as total_transactions\n from {{ target.schema }}_quickbooks_dev.quickbooks__general_ledger\n group by 1\n),\n\nfinal as (\n\n select \n prod.join_key,\n prod.total_transactions as prod_total_transactions,\n dev.total_transactions as dev_total_transactions\n from prod\n full outer join dev \n on dev.join_key = prod.join_key\n)\n\nselect *\nfrom final\nwhere prod_total_transactions != dev_total_transactions", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}}], "test.quickbooks_integration_tests.consistency_profit_and_loss_amounts": [{"database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "consistency_profit_and_loss_amounts", "resource_type": "test", "package_name": "quickbooks_integration_tests", "path": "consistency/consistency_profit_and_loss_amounts.sql", "original_file_path": "tests/consistency/consistency_profit_and_loss_amounts.sql", "unique_id": "test.quickbooks_integration_tests.consistency_profit_and_loss_amounts", "fqn": ["quickbooks_integration_tests", "consistency", "consistency_profit_and_loss_amounts"], "alias": "consistency_profit_and_loss_amounts", "checksum": {"name": "sha256", "checksum": "432ef530d8d80554a6b66538d334e33011e29d77edb03dcb0273f9498afe3d26"}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": ["fivetran_validations"], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": ["fivetran_validations"], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"tags": ["fivetran_validations"], "enabled": false}, "created_at": 1731948865.532543, "config_call_dict": {"tags": ["fivetran_validations"], "enabled": false}, "relation_name": null, "raw_code": "{{ config(\n tags=\"fivetran_validations\",\n enabled=var('fivetran_validation_tests_enabled', false)\n) }}\n\nwith prod as (\n\n select\n period_first_day,\n sum(amount) as period_net_change_cumulative,\n sum(converted_amount) as period_net_converted_change_cumulative\n from {{ target.schema }}_quickbooks_prod.quickbooks__profit_and_loss\n {{ \"where account_type not in \" ~ var('account_type_exclusions', []) ~ \"\" if var('account_type_exclusions', []) }}\n group by 1\n),\n\ndev as (\n\n select \n period_first_day,\n sum(amount) as period_net_change_cumulative,\n sum(converted_amount) as period_net_converted_change_cumulative\n from {{ target.schema }}_quickbooks_dev.quickbooks__profit_and_loss\n {{ \"where account_type not in \" ~ var('account_type_exclusions', []) ~ \"\" if var('account_type_exclusions', []) }}\n group by 1\n),\n\nfinal as (\n\n select\n prod.period_first_day,\n prod.period_net_change_cumulative as prod_period_net_change_cumulative,\n dev.period_net_change_cumulative as dev_period_net_change_cumulative, \n prod.period_net_converted_change_cumulative as prod_period_net_converted_change_cumulative,\n dev.period_net_converted_change_cumulative as dev_period_net_converted_change_cumulative\n from prod\n full outer join dev\n on dev.period_first_day = prod.period_first_day\n)\n\nselect * \nfrom final\nwhere abs(prod_period_net_change_cumulative - dev_period_net_change_cumulative) >= 0.01\nor abs(prod_period_net_converted_change_cumulative - dev_period_net_converted_change_cumulative) >= 0.01", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}}], "test.quickbooks_integration_tests.consistency_general_ledger_amounts": [{"database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "consistency_general_ledger_amounts", "resource_type": "test", "package_name": "quickbooks_integration_tests", "path": "consistency/consistency_general_ledger_amounts.sql", "original_file_path": "tests/consistency/consistency_general_ledger_amounts.sql", "unique_id": "test.quickbooks_integration_tests.consistency_general_ledger_amounts", "fqn": ["quickbooks_integration_tests", "consistency", "consistency_general_ledger_amounts"], "alias": "consistency_general_ledger_amounts", "checksum": {"name": "sha256", "checksum": "c1293c443a07d8449a1b95a802ba8aa82666a3ee7ce5a5aa8459a7ca391821c1"}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": ["fivetran_validations"], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": ["fivetran_validations"], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"tags": ["fivetran_validations"], "enabled": false}, "created_at": 1731948865.53695, "config_call_dict": {"tags": ["fivetran_validations"], "enabled": false}, "relation_name": null, "raw_code": "{{ config(\n tags=\"fivetran_validations\",\n enabled=var('fivetran_validation_tests_enabled', false)\n) }}\n\nwith prod as (\n\n select\n transaction_id,\n sum(adjusted_amount) as adjusted_amount_cumulative, \n sum(adjusted_converted_amount) as adjusted_converted_amount_cumulative\n from {{ target.schema }}_quickbooks_prod.quickbooks__general_ledger\n {{ \"where account_type not in \" ~ var('account_type_exclusions', []) ~ \"\" if var('account_type_exclusions', []) }}\n group by 1\n),\n\ndev as (\n\n select \n transaction_id,\n sum(adjusted_amount) as adjusted_amount_cumulative, \n sum(adjusted_converted_amount) as adjusted_converted_amount_cumulative\n from {{ target.schema }}_quickbooks_dev.quickbooks__general_ledger\n {{ \"where account_type not in \" ~ var('account_type_exclusions', []) ~ \"\" if var('account_type_exclusions', []) }}\n group by 1\n),\n\nfinal as (\n\n select\n prod.transaction_id,\n prod.adjusted_amount_cumulative as prod_adjusted_amount_cumulative,\n dev.adjusted_amount_cumulative as dev_adjusted_amount_cumulative, \n prod.adjusted_converted_amount_cumulative as prod_adjusted_converted_amount_cumulative, \n dev.adjusted_converted_amount_cumulative as dev_adjusted_converted_amount_cumulative\n from prod\n full outer join dev\n on dev.transaction_id = prod.transaction_id \n)\n\nselect * \nfrom final\nwhere abs(prod_adjusted_amount_cumulative - dev_adjusted_amount_cumulative) >= 0.01\nor abs(prod_adjusted_converted_amount_cumulative - dev_adjusted_converted_amount_cumulative) >= 0.01", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}}], "test.quickbooks_integration_tests.consistency_balance_sheet_amounts": [{"database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "consistency_balance_sheet_amounts", "resource_type": "test", "package_name": "quickbooks_integration_tests", "path": "consistency/consistency_balance_sheet_amounts.sql", "original_file_path": "tests/consistency/consistency_balance_sheet_amounts.sql", "unique_id": "test.quickbooks_integration_tests.consistency_balance_sheet_amounts", "fqn": ["quickbooks_integration_tests", "consistency", "consistency_balance_sheet_amounts"], "alias": "consistency_balance_sheet_amounts", "checksum": {"name": "sha256", "checksum": "9de017e5803aad3b8b0611f7750ef3f5c6cf4fbc91234d6ff3ad6e18d726cb3f"}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": ["fivetran_validations"], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": ["fivetran_validations"], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"tags": ["fivetran_validations"], "enabled": false}, "created_at": 1731948865.540114, "config_call_dict": {"tags": ["fivetran_validations"], "enabled": false}, "relation_name": null, "raw_code": "{{ config(\n tags=\"fivetran_validations\",\n enabled=var('fivetran_validation_tests_enabled', false)\n) }}\n\nwith prod as (\n\n select\n period_first_day,\n sum(amount) as period_net_change_cumulative,\n sum(converted_amount) as period_net_converted_change_cumulative\n from {{ target.schema }}_quickbooks_prod.quickbooks__balance_sheet\n {{ \"where account_type not in \" ~ var('account_type_exclusions', []) ~ \"\" if var('account_type_exclusions', []) }}\n group by 1\n),\n\ndev as (\n\n select \n period_first_day,\n sum(amount) as period_net_change_cumulative,\n sum(converted_amount) as period_net_converted_change_cumulative\n from {{ target.schema }}_quickbooks_dev.quickbooks__balance_sheet\n {{ \"where account_type not in \" ~ var('account_type_exclusions', []) ~ \"\" if var('account_type_exclusions', []) }}\n group by 1\n),\n\nfinal as (\n\n select\n prod.period_first_day,\n prod.period_net_change_cumulative as prod_period_net_change_cumulative,\n dev.period_net_change_cumulative as dev_period_net_change_cumulative, \n prod.period_net_converted_change_cumulative as prod_period_net_converted_change_cumulative, \n dev.period_net_converted_change_cumulative as dev_period_net_converted_change_cumulative\n from prod\n full outer join dev\n on dev.period_first_day = prod.period_first_day\n)\n\nselect * \nfrom final\nwhere abs(prod_period_net_change_cumulative - dev_period_net_change_cumulative) >= 0.01\nor abs(prod_period_net_converted_change_cumulative - dev_period_net_converted_change_cumulative) >= 0.01", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}}], "test.quickbooks_integration_tests.consistency_expenses_sales_enhanced": [{"database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "consistency_expenses_sales_enhanced", "resource_type": "test", "package_name": "quickbooks_integration_tests", "path": "consistency/consistency_expenses_sales_enhanced.sql", "original_file_path": "tests/consistency/consistency_expenses_sales_enhanced.sql", "unique_id": "test.quickbooks_integration_tests.consistency_expenses_sales_enhanced", "fqn": ["quickbooks_integration_tests", "consistency", "consistency_expenses_sales_enhanced"], "alias": "consistency_expenses_sales_enhanced", "checksum": {"name": "sha256", "checksum": "703dce6400a4685179ed2f80fc2169b53640d9b46db430b2b349ee49506a215a"}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": ["fivetran_validations"], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": ["fivetran_validations"], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"tags": ["fivetran_validations"], "enabled": false}, "created_at": 1731948865.543468, "config_call_dict": {"tags": ["fivetran_validations"], "enabled": false}, "relation_name": null, "raw_code": "{{ config(\n tags=\"fivetran_validations\",\n enabled=var('fivetran_validation_tests_enabled', false)\n) }}\n\n-- this test ensures the expenses sales enhanced end model matches the prior version\nwith prod as (\n select *\n from {{ target.schema }}_quickbooks_prod.quickbooks__expenses_sales_enhanced\n where date(transaction_date) < date({{ dbt.current_timestamp() }})\n),\n\ndev as (\n select *\n from {{ target.schema }}_quickbooks_dev.quickbooks__expenses_sales_enhanced\n where date(transaction_date) < date({{ dbt.current_timestamp() }})\n),\n\nprod_not_in_dev as (\n -- rows from prod not found in dev\n select * from prod\n except distinct\n select * from dev\n),\n\ndev_not_in_prod as (\n -- rows from dev not found in prod\n select * from dev\n except distinct\n select * from prod\n),\n\nfinal as (\n select\n *,\n 'from prod' as source\n from prod_not_in_dev\n\n union all -- union since we only care if rows are produced\n\n select\n *,\n 'from dev' as source\n from dev_not_in_prod\n)\n\nselect *\nfrom final", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.current_timestamp"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}}], "test.quickbooks_integration_tests.consistency_ap_ar_enhanced": [{"database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "consistency_ap_ar_enhanced", "resource_type": "test", "package_name": "quickbooks_integration_tests", "path": "consistency/consistency_ap_ar_enhanced.sql", "original_file_path": "tests/consistency/consistency_ap_ar_enhanced.sql", "unique_id": "test.quickbooks_integration_tests.consistency_ap_ar_enhanced", "fqn": ["quickbooks_integration_tests", "consistency", "consistency_ap_ar_enhanced"], "alias": "consistency_ap_ar_enhanced", "checksum": {"name": "sha256", "checksum": "0b2cf72d70effec9d73ff2ca0445319f944d4e7a1cbb6ca52c7d0630bdb2894d"}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": ["fivetran_validations"], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": ["fivetran_validations"], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"tags": ["fivetran_validations"], "enabled": false}, "created_at": 1731948865.5478332, "config_call_dict": {"tags": ["fivetran_validations"], "enabled": false}, "relation_name": null, "raw_code": "{{ config(\n tags=\"fivetran_validations\",\n enabled=var('fivetran_validation_tests_enabled', false)\n) }}\n\n-- this test ensures the ap ar enhanced end model matches the prior version\nwith prod as (\n select *\n from {{ target.schema }}_quickbooks_prod.quickbooks__ap_ar_enhanced\n where date(due_date) < date({{ dbt.current_timestamp() }})\n),\n\ndev as (\n select *\n from {{ target.schema }}_quickbooks_dev.quickbooks__ap_ar_enhanced\n where date(due_date) < date({{ dbt.current_timestamp() }})\n),\n\nprod_not_in_dev as (\n -- rows from prod not found in dev\n select * from prod\n except distinct\n select * from dev\n),\n\ndev_not_in_prod as (\n -- rows from dev not found in prod\n select * from dev\n except distinct\n select * from prod\n),\n\nfinal as (\n select\n *,\n 'from prod' as source\n from prod_not_in_dev\n\n union all -- union since we only care if rows are produced\n\n select\n *,\n 'from dev' as source\n from dev_not_in_prod\n)\n\nselect *\nfrom final", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.current_timestamp"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}}], "test.quickbooks_integration_tests.consistency_general_ledger_by_period_amounts": [{"database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "consistency_general_ledger_by_period_amounts", "resource_type": "test", "package_name": "quickbooks_integration_tests", "path": "consistency/consistency_general_ledger_by_period_amounts.sql", "original_file_path": "tests/consistency/consistency_general_ledger_by_period_amounts.sql", "unique_id": "test.quickbooks_integration_tests.consistency_general_ledger_by_period_amounts", "fqn": ["quickbooks_integration_tests", "consistency", "consistency_general_ledger_by_period_amounts"], "alias": "consistency_general_ledger_by_period_amounts", "checksum": {"name": "sha256", "checksum": "bca4c5329234e09fcaa96aeb6b216a45bdfc0ef5bde9c4d5dded9f2246ef0ba3"}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": ["fivetran_validations"], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": ["fivetran_validations"], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"tags": ["fivetran_validations"], "enabled": false}, "created_at": 1731948865.551301, "config_call_dict": {"tags": ["fivetran_validations"], "enabled": false}, "relation_name": null, "raw_code": "{{ config(\n tags=\"fivetran_validations\",\n enabled=var('fivetran_validation_tests_enabled', false)\n) }}\n\nwith prod as (\n\n select\n account_id,\n class_id,\n source_relation,\n period_first_day,\n period_net_change, \n period_net_converted_change\n from {{ target.schema }}_quickbooks_prod.quickbooks__general_ledger_by_period\n {{ \"where account_type not in \" ~ var('account_type_exclusions', []) ~ \"\" if var('account_type_exclusions', []) }}\n),\n\ndev as (\n\n select \n account_id,\n class_id,\n source_relation,\n period_first_day,\n period_net_change,\n period_net_converted_change\n from {{ target.schema }}_quickbooks_dev.quickbooks__general_ledger_by_period\n {{ \"where account_type not in \" ~ var('account_type_exclusions', []) ~ \"\" if var('account_type_exclusions', []) }}\n),\n\nfinal as (\n\n select\n prod.account_id,\n prod.class_id,\n prod.source_relation,\n prod.period_first_day,\n prod.period_net_change as prod_period_net_change,\n dev.period_net_change as dev_period_net_change,\n prod.period_net_converted_change as prod_period_net_converted_change,\n dev.period_net_converted_change as dev_period_net_converted_change\n from prod \n full outer join dev\n on dev.account_id = prod.account_id\n and dev.class_id = prod.class_id\n and dev.period_first_day = prod.period_first_day\n and dev.source_relation = prod.source_relation\n)\n\nselect * \nfrom final\nwhere abs(prod_period_net_change - dev_period_net_change) >= 0.01\nor abs(prod_period_net_converted_change - dev_period_net_converted_change) >= 0.01", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}}], "test.quickbooks_integration_tests.consistency_cash_flow_amounts": [{"database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "consistency_cash_flow_amounts", "resource_type": "test", "package_name": "quickbooks_integration_tests", "path": "consistency/consistency_cash_flow_amounts.sql", "original_file_path": "tests/consistency/consistency_cash_flow_amounts.sql", "unique_id": "test.quickbooks_integration_tests.consistency_cash_flow_amounts", "fqn": ["quickbooks_integration_tests", "consistency", "consistency_cash_flow_amounts"], "alias": "consistency_cash_flow_amounts", "checksum": {"name": "sha256", "checksum": "fa0bb020900ac2f04b203509abd350a72f3ad7e01cc3cb8441c933e859834e2e"}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": ["fivetran_validations"], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": ["fivetran_validations"], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"tags": ["fivetran_validations"], "enabled": false}, "created_at": 1731948865.555925, "config_call_dict": {"tags": ["fivetran_validations"], "enabled": false}, "relation_name": null, "raw_code": "{{ config(\n tags=\"fivetran_validations\",\n enabled=var('fivetran_validation_tests_enabled', false)\n) }}\n\nwith prod as (\n\n select\n cash_flow_period,\n sum(cash_net_period) as cash_net_period_cumulative, \n sum(cash_converted_net_period) as cash_converted_net_period_cumulative\n from {{ target.schema }}_quickbooks_prod.quickbooks__cash_flow_statement\n {{ \"where account_type not in \" ~ var('account_type_exclusions', []) ~ \"\" if var('account_type_exclusions', []) }}\n group by 1\n),\n\ndev as (\n\n select \n cash_flow_period,\n sum(cash_net_period) as cash_net_period_cumulative, \n sum(cash_converted_net_period) as cash_converted_net_period_cumulative\n from {{ target.schema }}_quickbooks_dev.quickbooks__cash_flow_statement\n {{ \"where account_type not in \" ~ var('account_type_exclusions', []) ~ \"\" if var('account_type_exclusions', []) }}\n group by 1\n),\n\nfinal as (\n\n select\n prod.cash_flow_period,\n prod.cash_net_period_cumulative as prod_cash_net_period_cumulative,\n dev.cash_net_period_cumulative as dev_cash_net_period_cumulative, \n prod.cash_converted_net_period_cumulative as prod_cash_converted_net_period_cumulative,\n dev.cash_converted_net_period_cumulative as dev_cash_converted_net_period_cumulative\n from prod\n full outer join dev\n on dev.cash_flow_period = prod.cash_flow_period\n)\n\nselect * \nfrom final\nwhere abs(prod_cash_net_period_cumulative - dev_cash_net_period_cumulative) >= 0.01\nor abs(prod_cash_converted_net_period_cumulative - dev_cash_converted_net_period_cumulative) >= 0.01", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}}], "test.quickbooks_integration_tests.cash_flow_amounts_match": [{"database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "cash_flow_amounts_match", "resource_type": "test", "package_name": "quickbooks_integration_tests", "path": "integrity/cash_flow_amounts_match.sql", "original_file_path": "tests/integrity/cash_flow_amounts_match.sql", "unique_id": "test.quickbooks_integration_tests.cash_flow_amounts_match", "fqn": ["quickbooks_integration_tests", "integrity", "cash_flow_amounts_match"], "alias": "cash_flow_amounts_match", "checksum": {"name": "sha256", "checksum": "2b812f35dbe6ab96cbe123fabb30fee17bb7c63e8310f03f437a8c108e63b9f9"}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": ["fivetran_validations"], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": ["fivetran_validations"], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"tags": ["fivetran_validations"], "enabled": false}, "created_at": 1731948865.559608, "config_call_dict": {"tags": ["fivetran_validations"], "enabled": false}, "relation_name": null, "raw_code": "{{ config(\n tags=\"fivetran_validations\",\n enabled=var('fivetran_validation_tests_enabled', false)\n) }}\n\nwith balance_sheet as (\n\n select \n calendar_date as cash_flow_period,\n sum(amount) as period_amount_source,\n sum(converted_amount) as period_converted_amount_source\n from {{ ref('quickbooks__balance_sheet') }}\n group by 1\n),\n\ncash_flow_statement as (\n\n select \n cash_flow_period as cash_flow_period,\n sum(cash_ending_period) as period_amount_end,\n sum(cash_converted_ending_period) as period_converted_amount_end\n from {{ ref('quickbooks__cash_flow_statement') }}\n group by 1\n),\n\nmatch_check as (\n\n select\n balance_sheet.cash_flow_period,\n balance_sheet.period_amount_source,\n balance_sheet.period_converted_amount_source,\n cash_flow_statement.period_amount_end,\n cash_flow_statement.period_converted_amount_end\n from balance_sheet\n full outer join cash_flow_statement \n on balance_sheet.cash_flow_period = cash_flow_statement.cash_flow_period\n)\n\nselect *\nfrom match_check\nwhere abs(period_amount_source - period_amount_end) >= 0.01\nor abs(period_converted_amount_source - period_converted_amount_end) >= 0.01", "language": "sql", "refs": [{"name": "quickbooks__balance_sheet", "package": null, "version": null}, {"name": "quickbooks__cash_flow_statement", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}}], "test.quickbooks_integration_tests.profit_and_loss_amounts_match": [{"database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "profit_and_loss_amounts_match", "resource_type": "test", "package_name": "quickbooks_integration_tests", "path": "integrity/profit_and_loss_amounts_match.sql", "original_file_path": "tests/integrity/profit_and_loss_amounts_match.sql", "unique_id": "test.quickbooks_integration_tests.profit_and_loss_amounts_match", "fqn": ["quickbooks_integration_tests", "integrity", "profit_and_loss_amounts_match"], "alias": "profit_and_loss_amounts_match", "checksum": {"name": "sha256", "checksum": "60d978c1b2bc6c42db1fbad402daf4efe0fbc84cc0fa20655b86c91ba79847d5"}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": ["fivetran_validations"], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": ["fivetran_validations"], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"tags": ["fivetran_validations"], "enabled": false}, "created_at": 1731948865.562691, "config_call_dict": {"tags": ["fivetran_validations"], "enabled": false}, "relation_name": null, "raw_code": "{{ config(\n tags=\"fivetran_validations\",\n enabled=var('fivetran_validation_tests_enabled', false)\n) }}\n\nwith profit_and_loss_source as (\n\n select \n period_first_day,\n sum(period_net_change) as period_amount_source,\n sum(period_net_converted_change) as period_converted_amount_source\n from {{ ref('int_quickbooks__general_ledger_balances') }}\n where financial_statement_helper = 'income_statement'\n group by 1\n),\n\nprofit_and_loss_end as (\n\n select \n period_first_day,\n sum(amount) as period_amount_end,\n sum(converted_amount) as period_converted_amount_end\n from {{ ref('quickbooks__profit_and_loss') }}\n group by 1\n),\n\nmatch_check as (\n\n select\n profit_and_loss_source.period_first_day,\n profit_and_loss_source.period_amount_source,\n profit_and_loss_source.period_converted_amount_source,\n profit_and_loss_end.period_amount_end,\n profit_and_loss_end.period_converted_amount_end\n from profit_and_loss_source\n full outer join profit_and_loss_end\n on profit_and_loss_source.period_first_day = profit_and_loss_end.period_first_day\n)\n\nselect *\nfrom match_check\nwhere abs(period_amount_source - period_amount_end) >= 0.01\nor abs(period_converted_amount_source - period_converted_amount_end) >= 0.01", "language": "sql", "refs": [{"name": "int_quickbooks__general_ledger_balances", "package": null, "version": null}, {"name": "quickbooks__profit_and_loss", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}}], "test.quickbooks_integration_tests.deposit_ledger_amounts_match": [{"database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "deposit_ledger_amounts_match", "resource_type": "test", "package_name": "quickbooks_integration_tests", "path": "integrity/deposit_ledger_amounts_match.sql", "original_file_path": "tests/integrity/deposit_ledger_amounts_match.sql", "unique_id": "test.quickbooks_integration_tests.deposit_ledger_amounts_match", "fqn": ["quickbooks_integration_tests", "integrity", "deposit_ledger_amounts_match"], "alias": "deposit_ledger_amounts_match", "checksum": {"name": "sha256", "checksum": "e5adfe256af0b5cfdbe973d740a1102fe66c4f01f21b51cfd3aa1da81b2fef07"}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": ["fivetran_validations"], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": ["fivetran_validations"], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"tags": ["fivetran_validations"], "enabled": false}, "created_at": 1731948865.565403, "config_call_dict": {"tags": ["fivetran_validations"], "enabled": false}, "relation_name": null, "raw_code": "{{ config(\n tags=\"fivetran_validations\",\n enabled=var('fivetran_validation_tests_enabled', false)\n) }}\n\nwith deposits as (\n\n select *\n from {{ ref('int_quickbooks__deposit_double_entry') }}\n),\n\n\naccounts as (\n\n select *\n from {{ ref('int_quickbooks__account_classifications') }}\n),\n\ndeposits_ledger_source as (\n\n select \n deposits.transaction_id,\n deposits.source_relation,\n deposits.index as transaction_index,\n deposits.account_id,\n deposits.transaction_type,\n deposits.transaction_source,\n sum(case when accounts.transaction_type = deposits.transaction_type\n then deposits.amount \n else deposits.amount * -1 end) as adjusted_amount_source,\n sum(case when accounts.transaction_type = deposits.transaction_type\n then deposits.converted_amount\n else deposits.converted_amount * -1 end) as adjusted_converted_amount_source\n from deposits\n\n left join accounts\n on deposits.account_id = accounts.account_id\n and deposits.source_relation = accounts.source_relation\n \n group by 1, 2, 3, 4, 5, 6\n),\n\ndeposits_ledger_end as (\n\n select \n transaction_id,\n source_relation,\n transaction_index,\n account_id,\n transaction_type,\n transaction_source,\n adjusted_amount as adjusted_amount_end,\n adjusted_converted_amount as adjusted_converted_amount_end\n from {{ ref('quickbooks__general_ledger') }} \n where transaction_type = 'deposit' \n),\n\nmatch_check as (\n\n select \n deposits_ledger_source.transaction_id,\n deposits_ledger_source.source_relation,\n deposits_ledger_source.transaction_index,\n deposits_ledger_source.account_id,\n deposits_ledger_source.transaction_type,\n deposits_ledger_source.transaction_source,\n deposits_ledger_source.adjusted_amount_source,\n deposits_ledger_source.adjusted_converted_amount_source,\n deposits_ledger_end.adjusted_amount_end,\n deposits_ledger_end.adjusted_converted_amount_end\n from deposits_ledger_source\n full outer join deposits_ledger_end\n on deposits_ledger_source.transaction_id = deposits_ledger_end.transaction_id\n and deposits_ledger_source.source_relation = deposits_ledger_end.source_relation\n and deposits_ledger_source.transaction_index = deposits_ledger_end.transaction_index\n and deposits_ledger_source.account_id = deposits_ledger_end.account_id\n and deposits_ledger_source.transaction_type = deposits_ledger_end.transaction_type\n and deposits_ledger_source.transaction_source = deposits_ledger_end.transaction_source\n)\n\nselect *\nfrom match_check\nwhere abs(adjusted_amount_source - adjusted_amount_end) >= 0.01\nor abs(adjusted_converted_amount_source - adjusted_converted_amount_end) >= 0.01", "language": "sql", "refs": [{"name": "int_quickbooks__deposit_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__account_classifications", "package": null, "version": null}, {"name": "quickbooks__general_ledger", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}}], "test.quickbooks_integration_tests.general_ledger_amounts_match": [{"database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "general_ledger_amounts_match", "resource_type": "test", "package_name": "quickbooks_integration_tests", "path": "integrity/general_ledger_amounts_match.sql", "original_file_path": "tests/integrity/general_ledger_amounts_match.sql", "unique_id": "test.quickbooks_integration_tests.general_ledger_amounts_match", "fqn": ["quickbooks_integration_tests", "integrity", "general_ledger_amounts_match"], "alias": "general_ledger_amounts_match", "checksum": {"name": "sha256", "checksum": "e925ff99f24376c4dd0d8e843dc69b81cd937733a7f24ef5d4388090faaba124"}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": ["fivetran_validations"], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": ["fivetran_validations"], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"tags": ["fivetran_validations"], "enabled": false}, "created_at": 1731948865.5685802, "config_call_dict": {"tags": ["fivetran_validations"], "enabled": false}, "relation_name": null, "raw_code": "{{ config(\n tags=\"fivetran_validations\",\n enabled=var('fivetran_validation_tests_enabled', false)\n) }}\n\nwith unioned_models as (\n\n {{ dbt_utils.union_relations(quickbooks.get_enabled_unioned_models()) }}\n),\n\naccounts as (\n\n select *\n from {{ ref('int_quickbooks__account_classifications') }}\n),\n\n\ngeneral_ledger_source as (\n\n select \n unioned_models.transaction_id,\n unioned_models.source_relation,\n unioned_models.index as transaction_index,\n unioned_models.account_id,\n unioned_models.transaction_type,\n unioned_models.transaction_source,\n sum(case when accounts.transaction_type = unioned_models.transaction_type\n then unioned_models.amount \n else unioned_models.amount * -1 end) as adjusted_amount_source,\n sum(case when accounts.transaction_type = unioned_models.transaction_type\n then unioned_models.converted_amount\n else unioned_models.converted_amount * -1 end) as adjusted_converted_amount_source\n from unioned_models\n\n left join accounts\n on unioned_models.account_id = accounts.account_id\n and unioned_models.source_relation = accounts.source_relation\n \n group by 1, 2, 3, 4, 5, 6\n),\n\ngeneral_ledger_end as (\n\n select \n transaction_id,\n source_relation,\n transaction_index,\n account_id,\n transaction_type,\n transaction_source,\n adjusted_amount as adjusted_amount_end,\n adjusted_converted_amount as adjusted_converted_amount_end\n from {{ ref('quickbooks__general_ledger') }} \n),\n\nmatch_check as (\n\n select \n general_ledger_source.transaction_id,\n general_ledger_source.source_relation,\n general_ledger_source.transaction_index,\n general_ledger_source.account_id,\n general_ledger_source.transaction_type,\n general_ledger_source.transaction_source,\n general_ledger_source.adjusted_amount_source,\n general_ledger_source.adjusted_converted_amount_source,\n general_ledger_end.adjusted_amount_end,\n general_ledger_end.adjusted_converted_amount_end\n from general_ledger_source\n full outer join general_ledger_end\n on general_ledger_source.transaction_id = general_ledger_end.transaction_id\n and general_ledger_source.source_relation = general_ledger_end.source_relation\n and general_ledger_source.transaction_index = general_ledger_end.transaction_index\n and general_ledger_source.account_id = general_ledger_end.account_id\n and general_ledger_source.transaction_type = general_ledger_end.transaction_type\n and general_ledger_source.transaction_source = general_ledger_end.transaction_source\n)\n\nselect *\nfrom match_check\nwhere abs(adjusted_amount_source - adjusted_amount_end) >= 0.01\nor abs(adjusted_converted_amount_source - adjusted_converted_amount_end) >= 0.01", "language": "sql", "refs": [{"name": "int_quickbooks__purchase_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__bill_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__credit_memo_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__deposit_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__invoice_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__journal_entry_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__payment_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__refund_receipt_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__sales_receipt_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__transfer_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__vendor_credit_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__bill_payment_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__credit_card_pymt_double_entry", "package": null, "version": null}, {"name": "int_quickbooks__account_classifications", "package": null, "version": null}, {"name": "quickbooks__general_ledger", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks.get_enabled_unioned_models", "macro.dbt_utils.union_relations"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}}], "test.quickbooks_integration_tests.balance_sheet_amounts_match": [{"database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "balance_sheet_amounts_match", "resource_type": "test", "package_name": "quickbooks_integration_tests", "path": "integrity/balance_sheet_amounts_match.sql", "original_file_path": "tests/integrity/balance_sheet_amounts_match.sql", "unique_id": "test.quickbooks_integration_tests.balance_sheet_amounts_match", "fqn": ["quickbooks_integration_tests", "integrity", "balance_sheet_amounts_match"], "alias": "balance_sheet_amounts_match", "checksum": {"name": "sha256", "checksum": "850ece43b2ba457419dfd2c94c3a28c94d71496025897f0e98fda77ce9150a8c"}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": ["fivetran_validations"], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": ["fivetran_validations"], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"tags": ["fivetran_validations"], "enabled": false}, "created_at": 1731948865.585382, "config_call_dict": {"tags": ["fivetran_validations"], "enabled": false}, "relation_name": null, "raw_code": "{{ config(\n tags=\"fivetran_validations\",\n enabled=var('fivetran_validation_tests_enabled', false)\n) }}\n\n\nwith balance_sheet_source_union as (\n\n select \n period_first_day,\n period_ending_balance,\n period_ending_converted_balance\n from {{ ref('int_quickbooks__general_ledger_balances') }}\n where financial_statement_helper = 'balance_sheet'\n\n union all\n\n select \n period_first_day,\n period_ending_balance as period_amount_source,\n period_ending_converted_balance as period_converted_amount_source\n from {{ ref('int_quickbooks__retained_earnings') }}\n where financial_statement_helper = 'balance_sheet'\n), \n\nbalance_sheet_source as (\n\n select \n period_first_day,\n sum(period_ending_balance) as period_amount_source,\n sum(period_ending_converted_balance) as period_converted_amount_source\n from balance_sheet_source_union\n group by 1\n),\n\nbalance_sheet_end as (\n\n select\n period_first_day,\n sum(amount) as period_amount_end,\n sum(converted_amount) as period_converted_amount_end\n from {{ ref('quickbooks__balance_sheet') }}\n group by 1\n),\n\n\nmatch_check as (\n\n select \n balance_sheet_source.period_first_day,\n balance_sheet_source.period_amount_source,\n balance_sheet_source.period_converted_amount_source,\n balance_sheet_end.period_amount_end,\n balance_sheet_end.period_converted_amount_end\n from balance_sheet_source\n full outer join balance_sheet_end \n on balance_sheet_source.period_first_day = balance_sheet_end.period_first_day\n)\n\nselect *\nfrom match_check\nwhere abs(period_amount_source - period_amount_end) >= 0.01\nor abs(period_converted_amount_source - period_converted_amount_end) >= 0.01", "language": "sql", "refs": [{"name": "int_quickbooks__general_ledger_balances", "package": null, "version": null}, {"name": "int_quickbooks__retained_earnings", "package": null, "version": null}, {"name": "quickbooks__balance_sheet", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}}], "model.quickbooks_source.stg_quickbooks__purchase_order": [{"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__purchase_order", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__purchase_order.sql", "original_file_path": "models/stg_quickbooks__purchase_order.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__purchase_order", "fqn": ["quickbooks_source", "stg_quickbooks__purchase_order"], "alias": "stg_quickbooks__purchase_order", "checksum": {"name": "sha256", "checksum": "8e15004ff7dd6f58f0b34b708baf4607d233edaaa16bbf228ef67d5c86030879"}, "config": {"enabled": false, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "{{ doc('purchase_order_table') }}", "columns": {"purchase_order_id": {"name": "purchase_order_id", "description": "{{ doc('id') }} purchase order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "{{ doc('source_relation') }}", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of the date when the purchase order was created.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "custom_po_number": {"name": "custom_po_number", "description": "Custom field for PO number.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "doc_number": {"name": "doc_number", "description": "Reference number for the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "due_date": {"name": "due_date", "description": "Date when the purchase order is due.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "currency_id": {"name": "currency_id", "description": "Reference to the currency in which all amounts on the associated transaction are expressed.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exchange_rate": {"name": "exchange_rate", "description": "The number of home currency units it takes to equal one unit of currency specified by currency_id.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "transaction_date": {"name": "transaction_date", "description": "Date when the purchase order occurred.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "total_amount": {"name": "total_amount", "description": "Indicates the total amount of the transaction.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "payable_account_id": {"name": "payable_account_id", "description": "Account id for which the purchase order will credited.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "status": {"name": "status", "description": "Purchase order status. Valid values are \"Open\" and \"Closed\".", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_id": {"name": "vendor_id", "description": "Reference to the vendor for the purchase order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "_fivetran_deleted": {"name": "_fivetran_deleted", "description": "Boolean created by Fivetran to indicate whether the record has been deleted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": false}, "created_at": 1731948867.0462441, "config_call_dict": {"enabled": false}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__purchase_order\"", "raw_code": "--To enable this model, set the using_invoice variable within your dbt_project.yml file to True.\n{{ config(enabled=var('using_purchase_order', False)) }}\n\nwith base as (\n\n select *\n from {{ ref('stg_quickbooks__purchase_order_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns\n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns\n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__purchase_order_tmp')),\n staging_columns=get_purchase_order_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n from base\n),\n\nfinal as (\n\n select\n cast(id as {{ dbt.type_string() }}) as purchase_order_id,\n created_at,\n custom_po_number,\n cast(doc_number as {{ dbt.type_string() }}) as doc_number,\n currency_id,\n exchange_rate,\n total_amount,\n cast(payable_account_id as {{ dbt.type_string() }}) as payable_account_id,\n cast(vendor_id as {{ dbt.type_string() }}) as vendor_id,\n cast( {{ dbt.date_trunc('day', 'transaction_date') }} as date) as transaction_date,\n status,\n cast( {{ dbt.date_trunc('day', 'due_date') }} as date) as due_date, \n _fivetran_deleted,\n source_relation\n from fields\n)\n\nselect *\nfrom final\nwhere not coalesce(_fivetran_deleted, false)", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase_order_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__purchase_order_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_purchase_order_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string", "macro.dbt.date_trunc"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null, "defer_relation": null}], "model.quickbooks_source.stg_quickbooks__purchase_order_line": [{"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__purchase_order_line", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__purchase_order_line.sql", "original_file_path": "models/stg_quickbooks__purchase_order_line.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__purchase_order_line", "fqn": ["quickbooks_source", "stg_quickbooks__purchase_order_line"], "alias": "stg_quickbooks__purchase_order_line", "checksum": {"name": "sha256", "checksum": "6ae0b5a2541deaa12283dc51b2c10bf1c5d6293358da0f145690d9088c4d1de7"}, "config": {"enabled": false, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "{{ doc('purchase_order_line_table') }}", "columns": {"purchase_order_id": {"name": "purchase_order_id", "description": "{{ doc('id') }} purchase order record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the purchase order record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "{{ doc('source_relation') }}", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_account_id": {"name": "account_expense_account_id", "description": "Account id of the account which the purchase order is credited.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_class_id": {"name": "account_expense_class_id", "description": "The class reference associated with the account based expense purchase order line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_billable_status": {"name": "account_expense_billable_status", "description": "Status of the purchase billable.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_customer_id": {"name": "account_expense_customer_id", "description": "The customer id associated with the account based purchase order line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "account_expense_tax_code_id": {"name": "account_expense_tax_code_id", "description": "Tax code reference associated to the purchase order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_item_id": {"name": "item_expense_item_id", "description": "The item reference associated with the item based expense purchase order line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_billable_status": {"name": "item_expense_billable_status", "description": "The billable status of the item based expense purchase order line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "item_expense_customer_id": {"name": "item_expense_customer_id", "description": "The customer id associated with the item based purchase order line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "amount": {"name": "amount", "description": "Monetary amount of the purchase.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "description": {"name": "description", "description": "User defined description of the purchase line.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": false}, "created_at": 1731948867.044962, "config_call_dict": {"enabled": false}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__purchase_order_line\"", "raw_code": "--To enable this model, set the using_invoice variable within your dbt_project.yml file to True.\n{{ config(enabled=var('using_purchase_order', False)) }}\n\nwith base as (\n\n select *\n from {{ ref('stg_quickbooks__purchase_order_line_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns\n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns\n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__purchase_order_line_tmp')),\n staging_columns=get_purchase_order_line_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n\n from base\n),\n\nfinal as (\n\n select\n cast(purchase_order_id as {{ dbt.type_string() }}) as purchase_order_id,\n index,\n cast(account_expense_account_id as {{ dbt.type_string() }}) as account_expense_account_id,\n account_expense_class_id,\n account_expense_billable_status,\n cast(account_expense_customer_id as {{ dbt.type_string() }}) as account_expense_customer_id,\n account_expense_tax_code_id,\n cast(item_expense_item_id as {{ dbt.type_string() }}) as item_expense_item_id,\n item_expense_billable_status,\n cast(item_expense_customer_id as {{ dbt.type_string() }}) as item_expense_customer_id,\n amount,\n description,\n source_relation\n from fields\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase_order_line_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__purchase_order_line_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_purchase_order_line_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null, "defer_relation": null}], "model.quickbooks_source.stg_quickbooks__purchase_order_linked_txn": [{"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__purchase_order_linked_txn", "resource_type": "model", "package_name": "quickbooks_source", "path": "stg_quickbooks__purchase_order_linked_txn.sql", "original_file_path": "models/stg_quickbooks__purchase_order_linked_txn.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__purchase_order_linked_txn", "fqn": ["quickbooks_source", "stg_quickbooks__purchase_order_linked_txn"], "alias": "stg_quickbooks__purchase_order_linked_txn", "checksum": {"name": "sha256", "checksum": "6ef807fad30f8788b8a9944047e1259c1a2f433498d450b11d2c7cdf6a1929b7"}, "config": {"enabled": false, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "{{ doc('purchase_order_linked_txn_table') }}", "columns": {"purchase_order_id": {"name": "purchase_order_id", "description": "Reference to the unique purchase order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "source_relation": {"name": "source_relation", "description": "{{ doc('source_relation') }}", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "bill_id": {"name": "bill_id", "description": "Reference to the respective bill object for the purchase order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "purchase_id": {"name": "purchase_id", "description": "Reference to the respective purchase object for the purchase_order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "vendor_credit_id": {"name": "vendor_credit_id", "description": "Reference to the respective vendor credit object for the purchase_order.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "index": {"name": "index", "description": "Index count of records associated with the purchase order mapping record.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "quickbooks_source://models/stg_quickbooks.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "table", "enabled": false}, "created_at": 1731948867.045451, "config_call_dict": {"enabled": false}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__purchase_order_linked_txn\"", "raw_code": "--To enable this model, set the using_invoice variable within your dbt_project.yml file to True.\n{{ config(enabled=var('using_purchase_order', False)) }}\n\nwith base as (\n\n select *\n from {{ ref('stg_quickbooks__purchase_order_linked_txn_tmp') }}\n\n),\n\nfields as (\n\n select\n /*\n The below macro is used to generate the correct SQL for package staging models. It takes a list of columns\n that are expected/needed (staging_columns from dbt_quickbooks_source/models/tmp/) and compares it with columns\n in the source (source_columns from dbt_quickbooks_source/macros/).\n For more information refer to our dbt_fivetran_utils documentation (https://github.com/fivetran/dbt_fivetran_utils.git).\n */\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_quickbooks__purchase_order_linked_txn_tmp')),\n staging_columns=get_purchase_order_linked_txn_columns()\n )\n }}\n\n {{ \n fivetran_utils.source_relation(\n union_schema_variable='quickbooks_union_schemas', \n union_database_variable='quickbooks_union_databases'\n ) \n }}\n\n from base\n),\n\nfinal as (\n\n select\n cast(purchase_order_id as {{ dbt.type_string() }}) as purchase_order_id,\n cast(bill_id as {{ dbt.type_string() }}) as bill_id,\n cast(purchase_id as {{ dbt.type_string() }}) as purchase_id,\n cast(vendor_credit_id as {{ dbt.type_string() }}) as vendor_credit_id,\n index,\n source_relation\n from fields\n)\n\nselect *\nfrom final", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase_order_linked_txn_tmp", "package": null, "version": null}, {"name": "stg_quickbooks__purchase_order_linked_txn_tmp", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.quickbooks_source.get_purchase_order_linked_txn_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.source_relation", "macro.dbt.type_string"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null, "defer_relation": null}], "model.quickbooks_source.stg_quickbooks__purchase_order_line_tmp": [{"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__purchase_order_line_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__purchase_order_line_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__purchase_order_line_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__purchase_order_line_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__purchase_order_line_tmp"], "alias": "stg_quickbooks__purchase_order_line_tmp", "checksum": {"name": "sha256", "checksum": "be4cdef26ee4b271e7c425130b4c3b80be45214b5be926af060d32331badcc0f"}, "config": {"enabled": false, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": false}, "created_at": 1731948866.686102, "config_call_dict": {"enabled": false}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__purchase_order_line_tmp\"", "raw_code": "--To enable this model, set the using_invoice variable within your dbt_project.yml file to True.\n{{ config(enabled=var('using_purchase_order', False)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='purchase_order_line', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='purchase_order_line',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "purchase_order_line"], ["quickbooks", "purchase_order_line"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null, "defer_relation": null}], "model.quickbooks_source.stg_quickbooks__purchase_order_tmp": [{"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__purchase_order_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__purchase_order_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__purchase_order_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__purchase_order_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__purchase_order_tmp"], "alias": "stg_quickbooks__purchase_order_tmp", "checksum": {"name": "sha256", "checksum": "0f307a8a80ab953923a4cbae395cd5836055698095ad6d1fbb47c09a8f829e8c"}, "config": {"enabled": false, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": false}, "created_at": 1731948866.755549, "config_call_dict": {"enabled": false}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__purchase_order_tmp\"", "raw_code": "--To enable this model, set the using_invoice variable within your dbt_project.yml file to True.\n{{ config(enabled=var('using_purchase_order', False)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='purchase_order', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='purchase_order',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "purchase_order"], ["quickbooks", "purchase_order"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null, "defer_relation": null}], "model.quickbooks_source.stg_quickbooks__purchase_order_linked_txn_tmp": [{"database": "postgres", "schema": "quickbooks_integration_tests_18_quickbooks_dev", "name": "stg_quickbooks__purchase_order_linked_txn_tmp", "resource_type": "model", "package_name": "quickbooks_source", "path": "tmp/stg_quickbooks__purchase_order_linked_txn_tmp.sql", "original_file_path": "models/tmp/stg_quickbooks__purchase_order_linked_txn_tmp.sql", "unique_id": "model.quickbooks_source.stg_quickbooks__purchase_order_linked_txn_tmp", "fqn": ["quickbooks_source", "tmp", "stg_quickbooks__purchase_order_linked_txn_tmp"], "alias": "stg_quickbooks__purchase_order_linked_txn_tmp", "checksum": {"name": "sha256", "checksum": "926409c011fa67fdcd598c4c0c21b87fb5dabe8654d46f0ee7caac0a028d5d99"}, "config": {"enabled": false, "alias": null, "schema": "quickbooks_dev", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "quickbooks_{{ var('directed_schema','dev') }}", "materialized": "view", "enabled": false}, "created_at": 1731948866.83893, "config_call_dict": {"enabled": false}, "relation_name": "\"postgres\".\"quickbooks_integration_tests_18_quickbooks_dev\".\"stg_quickbooks__purchase_order_linked_txn_tmp\"", "raw_code": "--To enable this model, set the using_invoice variable within your dbt_project.yml file to True.\n{{ config(enabled=var('using_purchase_order', False)) }}\n\n{{\n fivetran_utils.union_data(\n table_identifier='purchase_order_linked_txn', \n database_variable='quickbooks_database', \n schema_variable='quickbooks_schema', \n default_database=target.database,\n default_schema='quickbooks',\n default_variable='purchase_order_linked_txn',\n union_schema_variable='quickbooks_union_schemas',\n union_database_variable='quickbooks_union_databases'\n )\n}}", "language": "sql", "refs": [], "sources": [["quickbooks", "purchase_order_linked_txn"], ["quickbooks", "purchase_order_linked_txn"]], "metrics": [], "depends_on": {"macros": ["macro.fivetran_utils.union_data"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null, "defer_relation": null}], "test.quickbooks_source.not_null_stg_quickbooks__purchase_order_line_purchase_order_id.210718c1c7": [{"test_metadata": {"name": "not_null", "kwargs": {"column_name": "purchase_order_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__purchase_order_line')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__purchase_order_line_purchase_order_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__purchase_order_line_purchase_order_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__purchase_order_line_purchase_order_id.210718c1c7", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__purchase_order_line_purchase_order_id"], "alias": "not_null_stg_quickbooks__purchase_order_line_purchase_order_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.156445, "config_call_dict": {}, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase_order_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "purchase_order_id", "file_key_name": "models.stg_quickbooks__purchase_order_line", "attached_node": "model.quickbooks_source.stg_quickbooks__purchase_order_line"}], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_order_line_purchase_order_id__index__source_relation.e47fe7ae13": [{"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["purchase_order_id", "index", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__purchase_order_line')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_order_line_purchase_order_id__index__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_3ba099633a523f1dc8a259e210e71943.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_order_line_purchase_order_id__index__source_relation.e47fe7ae13", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_order_line_purchase_order_id__index__source_relation"], "alias": "dbt_utils_unique_combination_o_3ba099633a523f1dc8a259e210e71943", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": false, "alias": "dbt_utils_unique_combination_o_3ba099633a523f1dc8a259e210e71943", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_3ba099633a523f1dc8a259e210e71943"}, "created_at": 1731948867.157415, "config_call_dict": {"alias": "dbt_utils_unique_combination_o_3ba099633a523f1dc8a259e210e71943"}, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_3ba099633a523f1dc8a259e210e71943\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase_order_line", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__purchase_order_line", "attached_node": "model.quickbooks_source.stg_quickbooks__purchase_order_line"}], "test.quickbooks_source.not_null_stg_quickbooks__purchase_order_linked_txn_purchase_order_id.d9f0186f4e": [{"test_metadata": {"name": "not_null", "kwargs": {"column_name": "purchase_order_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__purchase_order_linked_txn')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__purchase_order_linked_txn_purchase_order_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__purch_f65b0771229ffce1e0cec6cb8fa708f1.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__purchase_order_linked_txn_purchase_order_id.d9f0186f4e", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__purchase_order_linked_txn_purchase_order_id"], "alias": "not_null_stg_quickbooks__purch_f65b0771229ffce1e0cec6cb8fa708f1", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": false, "alias": "not_null_stg_quickbooks__purch_f65b0771229ffce1e0cec6cb8fa708f1", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "not_null_stg_quickbooks__purch_f65b0771229ffce1e0cec6cb8fa708f1"}, "created_at": 1731948867.1601841, "config_call_dict": {"alias": "not_null_stg_quickbooks__purch_f65b0771229ffce1e0cec6cb8fa708f1"}, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_quickbooks__purch_f65b0771229ffce1e0cec6cb8fa708f1\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase_order_linked_txn", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "purchase_order_id", "file_key_name": "models.stg_quickbooks__purchase_order_linked_txn", "attached_node": "model.quickbooks_source.stg_quickbooks__purchase_order_linked_txn"}], "test.quickbooks_source.not_null_stg_quickbooks__purchase_order_purchase_order_id.4158032222": [{"test_metadata": {"name": "not_null", "kwargs": {"column_name": "purchase_order_id", "model": "{{ get_where_subquery(ref('stg_quickbooks__purchase_order')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "not_null_stg_quickbooks__purchase_order_purchase_order_id", "resource_type": "test", "package_name": "quickbooks_source", "path": "not_null_stg_quickbooks__purchase_order_purchase_order_id.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.not_null_stg_quickbooks__purchase_order_purchase_order_id.4158032222", "fqn": ["quickbooks_source", "not_null_stg_quickbooks__purchase_order_purchase_order_id"], "alias": "not_null_stg_quickbooks__purchase_order_purchase_order_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1731948867.161191, "config_call_dict": {}, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase_order", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "purchase_order_id", "file_key_name": "models.stg_quickbooks__purchase_order", "attached_node": "model.quickbooks_source.stg_quickbooks__purchase_order"}], "test.quickbooks_source.accepted_values_stg_quickbooks__purchase_order_status__Open__Closed.a86f736065": [{"test_metadata": {"name": "accepted_values", "kwargs": {"values": ["Open", "Closed"], "column_name": "status", "model": "{{ get_where_subquery(ref('stg_quickbooks__purchase_order')) }}"}, "namespace": null}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "accepted_values_stg_quickbooks__purchase_order_status__Open__Closed", "resource_type": "test", "package_name": "quickbooks_source", "path": "accepted_values_stg_quickbooks_b59f9d5f36eebc1dfce3c2fd46711614.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.accepted_values_stg_quickbooks__purchase_order_status__Open__Closed.a86f736065", "fqn": ["quickbooks_source", "accepted_values_stg_quickbooks__purchase_order_status__Open__Closed"], "alias": "accepted_values_stg_quickbooks_b59f9d5f36eebc1dfce3c2fd46711614", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": false, "alias": "accepted_values_stg_quickbooks_b59f9d5f36eebc1dfce3c2fd46711614", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "accepted_values_stg_quickbooks_b59f9d5f36eebc1dfce3c2fd46711614"}, "created_at": 1731948867.1621969, "config_call_dict": {"alias": "accepted_values_stg_quickbooks_b59f9d5f36eebc1dfce3c2fd46711614"}, "relation_name": null, "raw_code": "{{ test_accepted_values(**_dbt_generic_test_kwargs) }}{{ config(alias=\"accepted_values_stg_quickbooks_b59f9d5f36eebc1dfce3c2fd46711614\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase_order", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_accepted_values", "macro.dbt.get_where_subquery"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "status", "file_key_name": "models.stg_quickbooks__purchase_order", "attached_node": "model.quickbooks_source.stg_quickbooks__purchase_order"}], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_order_purchase_order_id__source_relation.1ade9ebad8": [{"test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["purchase_order_id", "source_relation"], "model": "{{ get_where_subquery(ref('stg_quickbooks__purchase_order')) }}"}, "namespace": "dbt_utils"}, "database": "postgres", "schema": "quickbooks_integration_tests_18_dbt_test__audit", "name": "dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_order_purchase_order_id__source_relation", "resource_type": "test", "package_name": "quickbooks_source", "path": "dbt_utils_unique_combination_o_8808ebb4f985933b6458aa95672f633d.sql", "original_file_path": "models/stg_quickbooks.yml", "unique_id": "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_order_purchase_order_id__source_relation.1ade9ebad8", "fqn": ["quickbooks_source", "dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_order_purchase_order_id__source_relation"], "alias": "dbt_utils_unique_combination_o_8808ebb4f985933b6458aa95672f633d", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": false, "alias": "dbt_utils_unique_combination_o_8808ebb4f985933b6458aa95672f633d", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_8808ebb4f985933b6458aa95672f633d"}, "created_at": 1731948867.165405, "config_call_dict": {"alias": "dbt_utils_unique_combination_o_8808ebb4f985933b6458aa95672f633d"}, "relation_name": null, "raw_code": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_8808ebb4f985933b6458aa95672f633d\") }}", "language": "sql", "refs": [{"name": "stg_quickbooks__purchase_order", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": null, "file_key_name": "models.stg_quickbooks__purchase_order", "attached_node": "model.quickbooks_source.stg_quickbooks__purchase_order"}]}, "parent_map": {"seed.quickbooks_integration_tests.bill_payment_data": [], "seed.quickbooks_integration_tests.bundle_data": [], "seed.quickbooks_integration_tests.bill_payment_line_data": [], "seed.quickbooks_integration_tests.payment_line_data": [], "seed.quickbooks_integration_tests.vendor_data": [], "seed.quickbooks_integration_tests.address_data": [], "seed.quickbooks_integration_tests.purchase_order_linked_txn_data": [], "seed.quickbooks_integration_tests.invoice_line_bundle_data": [], "seed.quickbooks_integration_tests.invoice_data": [], "seed.quickbooks_integration_tests.payment_data": [], "seed.quickbooks_integration_tests.invoice_line_data": [], "seed.quickbooks_integration_tests.deposit_line_data": [], "seed.quickbooks_integration_tests.estimate_line_data": [], "seed.quickbooks_integration_tests.purchase_data": [], "seed.quickbooks_integration_tests.refund_receipt_line_data": [], "seed.quickbooks_integration_tests.credit_memo_line_data": [], "seed.quickbooks_integration_tests.bill_data": [], "seed.quickbooks_integration_tests.bill_linked_txn_data": [], "seed.quickbooks_integration_tests.vendor_credit_data": [], "seed.quickbooks_integration_tests.customer_data": [], "seed.quickbooks_integration_tests.estimate_data": [], "seed.quickbooks_integration_tests.purchase_line_data": [], "seed.quickbooks_integration_tests.journal_entry_line_data": [], "seed.quickbooks_integration_tests.journal_entry_data": [], "seed.quickbooks_integration_tests.bill_line_data": [], "seed.quickbooks_integration_tests.bundle_item_data": [], "seed.quickbooks_integration_tests.invoice_linked_txn_data": [], "seed.quickbooks_integration_tests.account_data": [], "seed.quickbooks_integration_tests.purchase_order_line_data": [], "seed.quickbooks_integration_tests.transfer_data": [], "seed.quickbooks_integration_tests.purchase_order_data": [], "seed.quickbooks_integration_tests.sales_receipt_line_data": [], "seed.quickbooks_integration_tests.vendor_credit_line_data": [], "seed.quickbooks_integration_tests.credit_card_payment_txn_data": [], "seed.quickbooks_integration_tests.credit_memo_data": [], "seed.quickbooks_integration_tests.department_data": [], "seed.quickbooks_integration_tests.item_data": [], "seed.quickbooks_integration_tests.sales_receipt_data": [], "seed.quickbooks_integration_tests.deposit_data": [], "seed.quickbooks_integration_tests.refund_receipt_data": [], "model.quickbooks.quickbooks__balance_sheet": ["model.quickbooks.quickbooks__general_ledger_by_period"], "model.quickbooks.quickbooks__general_ledger_by_period": ["model.quickbooks.int_quickbooks__general_ledger_balances", "model.quickbooks.int_quickbooks__retained_earnings"], "model.quickbooks.quickbooks__general_ledger": ["model.quickbooks.int_quickbooks__account_classifications", "model.quickbooks.int_quickbooks__bill_double_entry", "model.quickbooks.int_quickbooks__bill_payment_double_entry", "model.quickbooks.int_quickbooks__credit_card_pymt_double_entry", "model.quickbooks.int_quickbooks__credit_memo_double_entry", "model.quickbooks.int_quickbooks__deposit_double_entry", "model.quickbooks.int_quickbooks__invoice_double_entry", "model.quickbooks.int_quickbooks__journal_entry_double_entry", "model.quickbooks.int_quickbooks__payment_double_entry", "model.quickbooks.int_quickbooks__purchase_double_entry", "model.quickbooks.int_quickbooks__refund_receipt_double_entry", "model.quickbooks.int_quickbooks__sales_receipt_double_entry", "model.quickbooks.int_quickbooks__transfer_double_entry", "model.quickbooks.int_quickbooks__vendor_credit_double_entry"], "model.quickbooks.quickbooks__profit_and_loss": ["model.quickbooks.quickbooks__general_ledger_by_period"], "model.quickbooks.quickbooks__expenses_sales_enhanced": ["model.quickbooks.int_quickbooks__expenses_union", "model.quickbooks.int_quickbooks__sales_union"], "model.quickbooks.quickbooks__ap_ar_enhanced": ["model.quickbooks.int_quickbooks__bill_join", "model.quickbooks.int_quickbooks__invoice_join", "model.quickbooks_source.stg_quickbooks__address", "model.quickbooks_source.stg_quickbooks__customer", "model.quickbooks_source.stg_quickbooks__department", "model.quickbooks_source.stg_quickbooks__vendor"], "model.quickbooks.quickbooks__cash_flow_statement": ["model.quickbooks.int_quickbooks__cash_flow_classifications"], "model.quickbooks.int_quickbooks__transfer_double_entry": ["model.quickbooks_source.stg_quickbooks__transfer"], "model.quickbooks.int_quickbooks__credit_memo_double_entry": ["model.quickbooks_source.stg_quickbooks__account", "model.quickbooks_source.stg_quickbooks__credit_memo", "model.quickbooks_source.stg_quickbooks__credit_memo_line", "model.quickbooks_source.stg_quickbooks__item"], "model.quickbooks.int_quickbooks__refund_receipt_double_entry": ["model.quickbooks_source.stg_quickbooks__item", "model.quickbooks_source.stg_quickbooks__refund_receipt", "model.quickbooks_source.stg_quickbooks__refund_receipt_line"], "model.quickbooks.int_quickbooks__journal_entry_double_entry": ["model.quickbooks_source.stg_quickbooks__journal_entry", "model.quickbooks_source.stg_quickbooks__journal_entry_line"], "model.quickbooks.int_quickbooks__bill_payment_double_entry": ["model.quickbooks_source.stg_quickbooks__account", "model.quickbooks_source.stg_quickbooks__bill_payment", "model.quickbooks_source.stg_quickbooks__bill_payment_line"], "model.quickbooks.int_quickbooks__deposit_double_entry": ["model.quickbooks_source.stg_quickbooks__account", "model.quickbooks_source.stg_quickbooks__deposit", "model.quickbooks_source.stg_quickbooks__deposit_line"], "model.quickbooks.int_quickbooks__purchase_double_entry": ["model.quickbooks_source.stg_quickbooks__item", "model.quickbooks_source.stg_quickbooks__purchase", "model.quickbooks_source.stg_quickbooks__purchase_line"], "model.quickbooks.int_quickbooks__sales_receipt_double_entry": ["model.quickbooks_source.stg_quickbooks__item", "model.quickbooks_source.stg_quickbooks__sales_receipt", "model.quickbooks_source.stg_quickbooks__sales_receipt_line"], "model.quickbooks.int_quickbooks__vendor_credit_double_entry": ["model.quickbooks_source.stg_quickbooks__item", "model.quickbooks_source.stg_quickbooks__vendor_credit", "model.quickbooks_source.stg_quickbooks__vendor_credit_line"], "model.quickbooks.int_quickbooks__credit_card_pymt_double_entry": ["model.quickbooks_source.stg_quickbooks__credit_card_payment_txn"], "model.quickbooks.int_quickbooks__bill_double_entry": ["model.quickbooks_source.stg_quickbooks__bill", "model.quickbooks_source.stg_quickbooks__bill_line", "model.quickbooks_source.stg_quickbooks__item"], "model.quickbooks.int_quickbooks__payment_double_entry": ["model.quickbooks_source.stg_quickbooks__account", "model.quickbooks_source.stg_quickbooks__payment", "model.quickbooks_source.stg_quickbooks__payment_line"], "model.quickbooks.int_quickbooks__invoice_double_entry": ["model.quickbooks_source.stg_quickbooks__account", "model.quickbooks_source.stg_quickbooks__bundle", "model.quickbooks_source.stg_quickbooks__bundle_item", "model.quickbooks_source.stg_quickbooks__invoice", "model.quickbooks_source.stg_quickbooks__invoice_line", "model.quickbooks_source.stg_quickbooks__invoice_line_bundle", "model.quickbooks_source.stg_quickbooks__item"], "model.quickbooks.int_quickbooks__invoice_transactions": ["model.quickbooks_source.stg_quickbooks__invoice", "model.quickbooks_source.stg_quickbooks__invoice_line", "model.quickbooks_source.stg_quickbooks__item"], "model.quickbooks.int_quickbooks__bill_transactions": ["model.quickbooks_source.stg_quickbooks__bill", "model.quickbooks_source.stg_quickbooks__bill_line", "model.quickbooks_source.stg_quickbooks__item"], "model.quickbooks.int_quickbooks__journal_entry_transactions": ["model.quickbooks_source.stg_quickbooks__journal_entry", "model.quickbooks_source.stg_quickbooks__journal_entry_line"], "model.quickbooks.int_quickbooks__refund_receipt_transactions": ["model.quickbooks_source.stg_quickbooks__item", "model.quickbooks_source.stg_quickbooks__refund_receipt", "model.quickbooks_source.stg_quickbooks__refund_receipt_line"], "model.quickbooks.int_quickbooks__vendor_credit_transactions": ["model.quickbooks_source.stg_quickbooks__item", "model.quickbooks_source.stg_quickbooks__vendor_credit", "model.quickbooks_source.stg_quickbooks__vendor_credit_line"], "model.quickbooks.int_quickbooks__purchase_transactions": ["model.quickbooks_source.stg_quickbooks__item", "model.quickbooks_source.stg_quickbooks__purchase", "model.quickbooks_source.stg_quickbooks__purchase_line"], "model.quickbooks.int_quickbooks__sales_receipt_transactions": ["model.quickbooks_source.stg_quickbooks__item", "model.quickbooks_source.stg_quickbooks__sales_receipt", "model.quickbooks_source.stg_quickbooks__sales_receipt_line"], "model.quickbooks.int_quickbooks__deposit_transactions": ["model.quickbooks_source.stg_quickbooks__deposit", "model.quickbooks_source.stg_quickbooks__deposit_line"], "model.quickbooks.int_quickbooks__credit_memo_transactions": ["model.quickbooks_source.stg_quickbooks__credit_memo", "model.quickbooks_source.stg_quickbooks__credit_memo_line", "model.quickbooks_source.stg_quickbooks__item"], "model.quickbooks.int_quickbooks__cash_flow_classifications": ["model.quickbooks.quickbooks__balance_sheet"], "model.quickbooks.int_quickbooks__general_ledger_balances": ["model.quickbooks.int_quickbooks__general_ledger_date_spine", "model.quickbooks.quickbooks__general_ledger"], "model.quickbooks.int_quickbooks__account_classifications": ["model.quickbooks_source.stg_quickbooks__account"], "model.quickbooks.int_quickbooks__expenses_union": ["model.quickbooks.int_quickbooks__account_classifications", "model.quickbooks.int_quickbooks__bill_transactions", "model.quickbooks.int_quickbooks__deposit_transactions", "model.quickbooks.int_quickbooks__journal_entry_transactions", "model.quickbooks.int_quickbooks__purchase_transactions", "model.quickbooks.int_quickbooks__vendor_credit_transactions", "model.quickbooks_source.stg_quickbooks__customer", "model.quickbooks_source.stg_quickbooks__department", "model.quickbooks_source.stg_quickbooks__vendor"], "model.quickbooks.int_quickbooks__invoice_join": ["model.quickbooks_source.stg_quickbooks__estimate", "model.quickbooks_source.stg_quickbooks__invoice", "model.quickbooks_source.stg_quickbooks__invoice_linked_txn", "model.quickbooks_source.stg_quickbooks__payment", "model.quickbooks_source.stg_quickbooks__payment_line"], "model.quickbooks.int_quickbooks__general_ledger_date_spine": ["model.quickbooks.quickbooks__general_ledger"], "model.quickbooks.int_quickbooks__bill_join": ["model.quickbooks_source.stg_quickbooks__bill", "model.quickbooks_source.stg_quickbooks__bill_line", "model.quickbooks_source.stg_quickbooks__bill_linked_txn", "model.quickbooks_source.stg_quickbooks__bill_payment", "model.quickbooks_source.stg_quickbooks__bill_payment_line"], "model.quickbooks.int_quickbooks__sales_union": ["model.quickbooks.int_quickbooks__account_classifications", "model.quickbooks.int_quickbooks__credit_memo_transactions", "model.quickbooks.int_quickbooks__invoice_transactions", "model.quickbooks.int_quickbooks__refund_receipt_transactions", "model.quickbooks.int_quickbooks__sales_receipt_transactions", "model.quickbooks_source.stg_quickbooks__customer", "model.quickbooks_source.stg_quickbooks__department", "model.quickbooks_source.stg_quickbooks__vendor"], "analysis.quickbooks.quickbooks__balance_sheet": ["model.quickbooks.quickbooks__general_ledger_by_period"], "analysis.quickbooks.quickbooks__income_statement": ["model.quickbooks.quickbooks__general_ledger_by_period"], "model.quickbooks_source.stg_quickbooks__journal_entry_line": ["model.quickbooks_source.stg_quickbooks__journal_entry_line_tmp"], "model.quickbooks_source.stg_quickbooks__transfer": ["model.quickbooks_source.stg_quickbooks__transfer_tmp"], "model.quickbooks_source.stg_quickbooks__bill_payment_line": ["model.quickbooks_source.stg_quickbooks__bill_payment_line_tmp"], "model.quickbooks_source.stg_quickbooks__payment_line": ["model.quickbooks_source.stg_quickbooks__payment_line_tmp"], "model.quickbooks_source.stg_quickbooks__vendor": ["model.quickbooks_source.stg_quickbooks__vendor_tmp"], "model.quickbooks_source.stg_quickbooks__invoice_line": ["model.quickbooks_source.stg_quickbooks__invoice_line_tmp"], "model.quickbooks_source.stg_quickbooks__estimate": ["model.quickbooks_source.stg_quickbooks__estimate_tmp"], "model.quickbooks_source.stg_quickbooks__credit_memo_line": ["model.quickbooks_source.stg_quickbooks__credit_memo_line_tmp"], "model.quickbooks_source.stg_quickbooks__bundle": ["model.quickbooks_source.stg_quickbooks__bundle_tmp"], "model.quickbooks_source.stg_quickbooks__department": ["model.quickbooks_source.stg_quickbooks__department_tmp"], "model.quickbooks_source.stg_quickbooks__credit_card_payment_txn": ["model.quickbooks_source.stg_quickbooks__credit_card_payment_txn_tmp"], "model.quickbooks_source.stg_quickbooks__purchase_line": ["model.quickbooks_source.stg_quickbooks__purchase_line_tmp"], "model.quickbooks_source.stg_quickbooks__purchase": ["model.quickbooks_source.stg_quickbooks__purchase_tmp"], "model.quickbooks_source.stg_quickbooks__refund_receipt_line": ["model.quickbooks_source.stg_quickbooks__refund_receipt_line_tmp"], "model.quickbooks_source.stg_quickbooks__bundle_item": ["model.quickbooks_source.stg_quickbooks__bundle_item_tmp"], "model.quickbooks_source.stg_quickbooks__credit_memo": ["model.quickbooks_source.stg_quickbooks__credit_memo_tmp"], "model.quickbooks_source.stg_quickbooks__sales_receipt_line": ["model.quickbooks_source.stg_quickbooks__sales_receipt_line_tmp"], "model.quickbooks_source.stg_quickbooks__sales_receipt": ["model.quickbooks_source.stg_quickbooks__sales_receipt_tmp"], "model.quickbooks_source.stg_quickbooks__invoice_linked_txn": ["model.quickbooks_source.stg_quickbooks__invoice_linked_txn_tmp"], "model.quickbooks_source.stg_quickbooks__invoice": ["model.quickbooks_source.stg_quickbooks__invoice_tmp"], "model.quickbooks_source.stg_quickbooks__bill_payment": ["model.quickbooks_source.stg_quickbooks__bill_payment_tmp"], "model.quickbooks_source.stg_quickbooks__invoice_line_bundle": ["model.quickbooks_source.stg_quickbooks__invoice_line_bundle_tmp"], "model.quickbooks_source.stg_quickbooks__account": ["model.quickbooks_source.stg_quickbooks__account_tmp"], "model.quickbooks_source.stg_quickbooks__payment": ["model.quickbooks_source.stg_quickbooks__payment_tmp"], "model.quickbooks_source.stg_quickbooks__estimate_line": ["model.quickbooks_source.stg_quickbooks__estimate_line_tmp"], "model.quickbooks_source.stg_quickbooks__bill_linked_txn": ["model.quickbooks_source.stg_quickbooks__bill_linked_txn_tmp"], "model.quickbooks_source.stg_quickbooks__address": ["model.quickbooks_source.stg_quickbooks__address_tmp"], "model.quickbooks_source.stg_quickbooks__bill": ["model.quickbooks_source.stg_quickbooks__bill_tmp"], "model.quickbooks_source.stg_quickbooks__bill_line": ["model.quickbooks_source.stg_quickbooks__bill_line_tmp"], "model.quickbooks_source.stg_quickbooks__journal_entry": ["model.quickbooks_source.stg_quickbooks__journal_entry_tmp"], "model.quickbooks_source.stg_quickbooks__refund_receipt": ["model.quickbooks_source.stg_quickbooks__refund_receipt_tmp"], "model.quickbooks_source.stg_quickbooks__deposit_line": ["model.quickbooks_source.stg_quickbooks__deposit_line_tmp"], "model.quickbooks_source.stg_quickbooks__vendor_credit": ["model.quickbooks_source.stg_quickbooks__vendor_credit_tmp"], "model.quickbooks_source.stg_quickbooks__vendor_credit_line": ["model.quickbooks_source.stg_quickbooks__vendor_credit_line_tmp"], "model.quickbooks_source.stg_quickbooks__deposit": ["model.quickbooks_source.stg_quickbooks__deposit_tmp"], "model.quickbooks_source.stg_quickbooks__item": ["model.quickbooks_source.stg_quickbooks__item_tmp"], "model.quickbooks_source.stg_quickbooks__customer": ["model.quickbooks_source.stg_quickbooks__customer_tmp"], "model.quickbooks_source.stg_quickbooks__vendor_credit_tmp": ["source.quickbooks_source.quickbooks.vendor_credit"], "model.quickbooks_source.stg_quickbooks__refund_receipt_line_tmp": ["source.quickbooks_source.quickbooks.refund_receipt_line"], "model.quickbooks_source.stg_quickbooks__estimate_line_tmp": ["source.quickbooks_source.quickbooks.estimate_line"], "model.quickbooks_source.stg_quickbooks__credit_memo_line_tmp": ["source.quickbooks_source.quickbooks.credit_memo_line"], "model.quickbooks_source.stg_quickbooks__journal_entry_tmp": ["source.quickbooks_source.quickbooks.journal_entry"], "model.quickbooks_source.stg_quickbooks__invoice_line_bundle_tmp": ["source.quickbooks_source.quickbooks.invoice_line_bundle"], "model.quickbooks_source.stg_quickbooks__payment_tmp": ["source.quickbooks_source.quickbooks.payment"], "model.quickbooks_source.stg_quickbooks__invoice_line_tmp": ["source.quickbooks_source.quickbooks.invoice_line"], "model.quickbooks_source.stg_quickbooks__deposit_line_tmp": ["source.quickbooks_source.quickbooks.deposit_line"], "model.quickbooks_source.stg_quickbooks__customer_tmp": ["source.quickbooks_source.quickbooks.customer"], "model.quickbooks_source.stg_quickbooks__bill_line_tmp": ["source.quickbooks_source.quickbooks.bill_line"], "model.quickbooks_source.stg_quickbooks__item_tmp": ["source.quickbooks_source.quickbooks.item"], "model.quickbooks_source.stg_quickbooks__account_tmp": ["source.quickbooks_source.quickbooks.account"], "model.quickbooks_source.stg_quickbooks__credit_card_payment_txn_tmp": ["source.quickbooks_source.quickbooks.credit_card_payment_txn"], "model.quickbooks_source.stg_quickbooks__vendor_credit_line_tmp": ["source.quickbooks_source.quickbooks.vendor_credit_line"], "model.quickbooks_source.stg_quickbooks__department_tmp": ["source.quickbooks_source.quickbooks.department"], "model.quickbooks_source.stg_quickbooks__bundle_tmp": ["source.quickbooks_source.quickbooks.bundle"], "model.quickbooks_source.stg_quickbooks__bundle_item_tmp": ["source.quickbooks_source.quickbooks.bundle_item"], "model.quickbooks_source.stg_quickbooks__bill_payment_line_tmp": ["source.quickbooks_source.quickbooks.bill_payment_line"], "model.quickbooks_source.stg_quickbooks__estimate_tmp": ["source.quickbooks_source.quickbooks.estimate"], "model.quickbooks_source.stg_quickbooks__purchase_tmp": ["source.quickbooks_source.quickbooks.purchase"], "model.quickbooks_source.stg_quickbooks__credit_memo_tmp": ["source.quickbooks_source.quickbooks.credit_memo"], "model.quickbooks_source.stg_quickbooks__bill_tmp": ["source.quickbooks_source.quickbooks.bill"], "model.quickbooks_source.stg_quickbooks__transfer_tmp": ["source.quickbooks_source.quickbooks.transfer"], "model.quickbooks_source.stg_quickbooks__vendor_tmp": ["source.quickbooks_source.quickbooks.vendor"], "model.quickbooks_source.stg_quickbooks__purchase_line_tmp": ["source.quickbooks_source.quickbooks.purchase_line"], "model.quickbooks_source.stg_quickbooks__address_tmp": ["source.quickbooks_source.quickbooks.address"], "model.quickbooks_source.stg_quickbooks__payment_line_tmp": ["source.quickbooks_source.quickbooks.payment_line"], "model.quickbooks_source.stg_quickbooks__refund_receipt_tmp": ["source.quickbooks_source.quickbooks.refund_receipt"], "model.quickbooks_source.stg_quickbooks__sales_receipt_tmp": ["source.quickbooks_source.quickbooks.sales_receipt"], "model.quickbooks_source.stg_quickbooks__bill_payment_tmp": ["source.quickbooks_source.quickbooks.bill_payment"], "model.quickbooks_source.stg_quickbooks__journal_entry_line_tmp": ["source.quickbooks_source.quickbooks.journal_entry_line"], "model.quickbooks_source.stg_quickbooks__deposit_tmp": ["source.quickbooks_source.quickbooks.deposit"], "model.quickbooks_source.stg_quickbooks__bill_linked_txn_tmp": ["source.quickbooks_source.quickbooks.bill_linked_txn"], "model.quickbooks_source.stg_quickbooks__invoice_linked_txn_tmp": ["source.quickbooks_source.quickbooks.invoice_linked_txn"], "model.quickbooks_source.stg_quickbooks__sales_receipt_line_tmp": ["source.quickbooks_source.quickbooks.sales_receipt_line"], "model.quickbooks_source.stg_quickbooks__invoice_tmp": ["source.quickbooks_source.quickbooks.invoice"], "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__ap_ar_enhanced_transaction_id__source_relation__estimate_id.804c1f0bcf": ["model.quickbooks.quickbooks__ap_ar_enhanced"], "test.quickbooks.unique_quickbooks__cash_flow_statement_account_unique_id.c6ce55cc0d": ["model.quickbooks.quickbooks__cash_flow_statement"], "test.quickbooks.not_null_quickbooks__cash_flow_statement_account_unique_id.748fb9ef0a": ["model.quickbooks.quickbooks__cash_flow_statement"], "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__expenses_sales_enhanced_transaction_id__source_relation__transaction_line_id__item_id.b57775bacb": ["model.quickbooks.quickbooks__expenses_sales_enhanced"], "test.quickbooks.unique_quickbooks__general_ledger_unique_id.df148e7545": ["model.quickbooks.quickbooks__general_ledger"], "test.quickbooks.not_null_quickbooks__general_ledger_unique_id.06732be667": ["model.quickbooks.quickbooks__general_ledger"], "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__general_ledger_by_period_account_id__class_id__source_relation__period_first_day.d928e63a45": ["model.quickbooks.quickbooks__general_ledger_by_period"], "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__profit_and_loss_account_id__class_id__source_relation__calendar_date.77ccb375e5": ["model.quickbooks.quickbooks__profit_and_loss"], "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__balance_sheet_account_id__source_relation__calendar_date__class_id.07368a5056": ["model.quickbooks.quickbooks__balance_sheet"], "test.quickbooks_source.not_null_stg_quickbooks__account_account_id.9944488b9d": ["model.quickbooks_source.stg_quickbooks__account"], "test.quickbooks_source.accepted_values_stg_quickbooks__account_classification__Asset__Equity__Expense__Liability__Revenue.127506f73f": ["model.quickbooks_source.stg_quickbooks__account"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__account_account_id__source_relation.864a4b056a": ["model.quickbooks_source.stg_quickbooks__account"], "test.quickbooks_source.not_null_stg_quickbooks__address_address_id.4f100ae50c": ["model.quickbooks_source.stg_quickbooks__address"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__address_address_id__source_relation.5bc813a014": ["model.quickbooks_source.stg_quickbooks__address"], "test.quickbooks_source.not_null_stg_quickbooks__bill_line_bill_id.25c5ea7348": ["model.quickbooks_source.stg_quickbooks__bill_line"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_line_bill_id__index__source_relation.73722b1062": ["model.quickbooks_source.stg_quickbooks__bill_line"], "test.quickbooks_source.not_null_stg_quickbooks__bill_linked_txn_bill_id.35f96199bd": ["model.quickbooks_source.stg_quickbooks__bill_linked_txn"], "test.quickbooks_source.not_null_stg_quickbooks__bill_payment_line_bill_payment_id.1dbb366150": ["model.quickbooks_source.stg_quickbooks__bill_payment_line"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_payment_line_bill_payment_id__index__source_relation.0a7e17967c": ["model.quickbooks_source.stg_quickbooks__bill_payment_line"], "test.quickbooks_source.not_null_stg_quickbooks__bill_payment_bill_payment_id.908899ccfb": ["model.quickbooks_source.stg_quickbooks__bill_payment"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_payment_bill_payment_id__source_relation.4b7aafd630": ["model.quickbooks_source.stg_quickbooks__bill_payment"], "test.quickbooks_source.not_null_stg_quickbooks__bill_bill_id.ca717958c8": ["model.quickbooks_source.stg_quickbooks__bill"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_bill_id__source_relation.8c08249abf": ["model.quickbooks_source.stg_quickbooks__bill"], "test.quickbooks_source.not_null_stg_quickbooks__bundle_item_bundle_id.6d547b8c07": ["model.quickbooks_source.stg_quickbooks__bundle_item"], "test.quickbooks_source.not_null_stg_quickbooks__bundle_bundle_id.382e1dad60": ["model.quickbooks_source.stg_quickbooks__bundle"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bundle_bundle_id__source_relation.e241a21ebc": ["model.quickbooks_source.stg_quickbooks__bundle"], "test.quickbooks_source.not_null_stg_quickbooks__credit_memo_line_credit_memo_id.58953be02b": ["model.quickbooks_source.stg_quickbooks__credit_memo_line"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__credit_memo_line_credit_memo_id__index__source_relation.7a43f0e186": ["model.quickbooks_source.stg_quickbooks__credit_memo_line"], "test.quickbooks_source.not_null_stg_quickbooks__credit_memo_credit_memo_id.d921d2b152": ["model.quickbooks_source.stg_quickbooks__credit_memo"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__credit_memo_credit_memo_id__source_relation.917f24c5ca": ["model.quickbooks_source.stg_quickbooks__credit_memo"], "test.quickbooks_source.not_null_stg_quickbooks__customer_customer_id.98232a9723": ["model.quickbooks_source.stg_quickbooks__customer"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__customer_customer_id__source_relation.61cc22a568": ["model.quickbooks_source.stg_quickbooks__customer"], "test.quickbooks_source.not_null_stg_quickbooks__deposit_line_deposit_id.d615f463e1": ["model.quickbooks_source.stg_quickbooks__deposit_line"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__deposit_line_deposit_id__index__source_relation.443de63985": ["model.quickbooks_source.stg_quickbooks__deposit_line"], "test.quickbooks_source.not_null_stg_quickbooks__deposit_deposit_id.880b8c37b1": ["model.quickbooks_source.stg_quickbooks__deposit"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__deposit_deposit_id__source_relation.5574d8e908": ["model.quickbooks_source.stg_quickbooks__deposit"], "test.quickbooks_source.not_null_stg_quickbooks__estimate_estimate_id.0331d3c310": ["model.quickbooks_source.stg_quickbooks__estimate"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__estimate_estimate_id__source_relation.412260b882": ["model.quickbooks_source.stg_quickbooks__estimate"], "test.quickbooks_source.not_null_stg_quickbooks__estimate_line_estimate_id.c060f99b4c": ["model.quickbooks_source.stg_quickbooks__estimate_line"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__estimate_line_estimate_id__index__source_relation.cc61ab0953": ["model.quickbooks_source.stg_quickbooks__estimate_line"], "test.quickbooks_source.not_null_stg_quickbooks__invoice_linked_txn_invoice_id.c9b9c8f8f4": ["model.quickbooks_source.stg_quickbooks__invoice_linked_txn"], "test.quickbooks_source.not_null_stg_quickbooks__invoice_line_invoice_id.0424087a8f": ["model.quickbooks_source.stg_quickbooks__invoice_line"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_line_invoice_id__index__source_relation.99b74bc327": ["model.quickbooks_source.stg_quickbooks__invoice_line"], "test.quickbooks_source.not_null_stg_quickbooks__invoice_line_bundle_invoice_id.cfd59b83a9": ["model.quickbooks_source.stg_quickbooks__invoice_line_bundle"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_line_bundle_invoice_id__index__invoice_line_index__source_relation.5370e9fcd0": ["model.quickbooks_source.stg_quickbooks__invoice_line_bundle"], "test.quickbooks_source.not_null_stg_quickbooks__invoice_invoice_id.b6d8e1ad7d": ["model.quickbooks_source.stg_quickbooks__invoice"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_invoice_id__source_relation.ef51800044": ["model.quickbooks_source.stg_quickbooks__invoice"], "test.quickbooks_source.not_null_stg_quickbooks__item_item_id.da906d8fb9": ["model.quickbooks_source.stg_quickbooks__item"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__item_item_id__source_relation.169465a2a6": ["model.quickbooks_source.stg_quickbooks__item"], "test.quickbooks_source.not_null_stg_quickbooks__journal_entry_line_journal_entry_id.bd89a6f784": ["model.quickbooks_source.stg_quickbooks__journal_entry_line"], "test.quickbooks_source.accepted_values_stg_quickbooks__journal_entry_line_posting_type__Credit__Debit.ab661907c3": ["model.quickbooks_source.stg_quickbooks__journal_entry_line"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__journal_entry_line_journal_entry_id__index__source_relation.0cd1d9f232": ["model.quickbooks_source.stg_quickbooks__journal_entry_line"], "test.quickbooks_source.not_null_stg_quickbooks__journal_entry_journal_entry_id.39198c4ff2": ["model.quickbooks_source.stg_quickbooks__journal_entry"], "test.quickbooks_source.not_null_stg_quickbooks__payment_line_payment_id.6351e3fe26": ["model.quickbooks_source.stg_quickbooks__payment_line"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__payment_line_payment_id__index__source_relation.25be3cf2e5": ["model.quickbooks_source.stg_quickbooks__payment_line"], "test.quickbooks_source.not_null_stg_quickbooks__payment_payment_id.ca2c1ef54f": ["model.quickbooks_source.stg_quickbooks__payment"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__payment_payment_id__source_relation.1998a8282e": ["model.quickbooks_source.stg_quickbooks__payment"], "test.quickbooks_source.not_null_stg_quickbooks__purchase_line_purchase_id.5406fca79c": ["model.quickbooks_source.stg_quickbooks__purchase_line"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_line_purchase_id__index__source_relation.a23c661eb5": ["model.quickbooks_source.stg_quickbooks__purchase_line"], "test.quickbooks_source.not_null_stg_quickbooks__purchase_purchase_id.fc2090959b": ["model.quickbooks_source.stg_quickbooks__purchase"], "test.quickbooks_source.accepted_values_stg_quickbooks__purchase_payment_type__Cash__Check__CreditCard.7de7edf458": ["model.quickbooks_source.stg_quickbooks__purchase"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_purchase_id__source_relation.172340b49e": ["model.quickbooks_source.stg_quickbooks__purchase"], "test.quickbooks_source.not_null_stg_quickbooks__refund_receipt_line_refund_id.57df809b80": ["model.quickbooks_source.stg_quickbooks__refund_receipt_line"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__refund_receipt_line_refund_id__index__source_relation.614411eb40": ["model.quickbooks_source.stg_quickbooks__refund_receipt_line"], "test.quickbooks_source.not_null_stg_quickbooks__refund_receipt_refund_id.29e8a8216e": ["model.quickbooks_source.stg_quickbooks__refund_receipt"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__refund_receipt_refund_id__source_relation.60f976841d": ["model.quickbooks_source.stg_quickbooks__refund_receipt"], "test.quickbooks_source.not_null_stg_quickbooks__sales_receipt_line_sales_receipt_id.9be0667fc3": ["model.quickbooks_source.stg_quickbooks__sales_receipt_line"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__sales_receipt_line_sales_receipt_id__index__source_relation.20e80dcbd5": ["model.quickbooks_source.stg_quickbooks__sales_receipt_line"], "test.quickbooks_source.not_null_stg_quickbooks__sales_receipt_sales_receipt_id.b97c1a238a": ["model.quickbooks_source.stg_quickbooks__sales_receipt"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__sales_receipt_sales_receipt_id__source_relation.36bdbcffde": ["model.quickbooks_source.stg_quickbooks__sales_receipt"], "test.quickbooks_source.not_null_stg_quickbooks__transfer_transfer_id.c1c80a253c": ["model.quickbooks_source.stg_quickbooks__transfer"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__transfer_transfer_id__source_relation.bfa4c7345e": ["model.quickbooks_source.stg_quickbooks__transfer"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__vendor_credit_line_vendor_credit_id__index__source_relation.094b35ac4d": ["model.quickbooks_source.stg_quickbooks__vendor_credit_line"], "test.quickbooks_source.not_null_stg_quickbooks__vendor_credit_vendor_credit_id.1275a5ab5a": ["model.quickbooks_source.stg_quickbooks__vendor_credit"], "test.quickbooks_source.not_null_stg_quickbooks__vendor_vendor_id.f509a77195": ["model.quickbooks_source.stg_quickbooks__vendor"], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__vendor_vendor_id__source_relation.4960d9d21a": ["model.quickbooks_source.stg_quickbooks__vendor"], "model.quickbooks.int_quickbooks__retained_earnings": ["model.quickbooks.int_quickbooks__general_ledger_balances"], "source.quickbooks_source.quickbooks.account": [], "source.quickbooks_source.quickbooks.address": [], "source.quickbooks_source.quickbooks.bill_line": [], "source.quickbooks_source.quickbooks.bill_linked_txn": [], "source.quickbooks_source.quickbooks.bill_payment_line": [], "source.quickbooks_source.quickbooks.bill_payment": [], "source.quickbooks_source.quickbooks.bill": [], "source.quickbooks_source.quickbooks.bundle_item": [], "source.quickbooks_source.quickbooks.bundle": [], "source.quickbooks_source.quickbooks.credit_card_payment_txn": [], "source.quickbooks_source.quickbooks.credit_memo_line": [], "source.quickbooks_source.quickbooks.credit_memo": [], "source.quickbooks_source.quickbooks.customer": [], "source.quickbooks_source.quickbooks.department": [], "source.quickbooks_source.quickbooks.deposit_line": [], "source.quickbooks_source.quickbooks.deposit": [], "source.quickbooks_source.quickbooks.estimate": [], "source.quickbooks_source.quickbooks.estimate_line": [], "source.quickbooks_source.quickbooks.invoice_linked_txn": [], "source.quickbooks_source.quickbooks.invoice_line": [], "source.quickbooks_source.quickbooks.invoice_line_bundle": [], "source.quickbooks_source.quickbooks.invoice": [], "source.quickbooks_source.quickbooks.item": [], "source.quickbooks_source.quickbooks.journal_entry_line": [], "source.quickbooks_source.quickbooks.journal_entry": [], "source.quickbooks_source.quickbooks.payment_line": [], "source.quickbooks_source.quickbooks.payment": [], "source.quickbooks_source.quickbooks.purchase_line": [], "source.quickbooks_source.quickbooks.purchase": [], "source.quickbooks_source.quickbooks.purchase_order_line": [], "source.quickbooks_source.quickbooks.purchase_order_linked_txn": [], "source.quickbooks_source.quickbooks.purchase_order": [], "source.quickbooks_source.quickbooks.refund_receipt_line": [], "source.quickbooks_source.quickbooks.refund_receipt": [], "source.quickbooks_source.quickbooks.sales_receipt_line": [], "source.quickbooks_source.quickbooks.sales_receipt": [], "source.quickbooks_source.quickbooks.transfer": [], "source.quickbooks_source.quickbooks.vendor_credit_line": [], "source.quickbooks_source.quickbooks.vendor_credit": [], "source.quickbooks_source.quickbooks.vendor": []}, "child_map": {"seed.quickbooks_integration_tests.bill_payment_data": [], "seed.quickbooks_integration_tests.bundle_data": [], "seed.quickbooks_integration_tests.bill_payment_line_data": [], "seed.quickbooks_integration_tests.payment_line_data": [], "seed.quickbooks_integration_tests.vendor_data": [], "seed.quickbooks_integration_tests.address_data": [], "seed.quickbooks_integration_tests.purchase_order_linked_txn_data": [], "seed.quickbooks_integration_tests.invoice_line_bundle_data": [], "seed.quickbooks_integration_tests.invoice_data": [], "seed.quickbooks_integration_tests.payment_data": [], "seed.quickbooks_integration_tests.invoice_line_data": [], "seed.quickbooks_integration_tests.deposit_line_data": [], "seed.quickbooks_integration_tests.estimate_line_data": [], "seed.quickbooks_integration_tests.purchase_data": [], "seed.quickbooks_integration_tests.refund_receipt_line_data": [], "seed.quickbooks_integration_tests.credit_memo_line_data": [], "seed.quickbooks_integration_tests.bill_data": [], "seed.quickbooks_integration_tests.bill_linked_txn_data": [], "seed.quickbooks_integration_tests.vendor_credit_data": [], "seed.quickbooks_integration_tests.customer_data": [], "seed.quickbooks_integration_tests.estimate_data": [], "seed.quickbooks_integration_tests.purchase_line_data": [], "seed.quickbooks_integration_tests.journal_entry_line_data": [], "seed.quickbooks_integration_tests.journal_entry_data": [], "seed.quickbooks_integration_tests.bill_line_data": [], "seed.quickbooks_integration_tests.bundle_item_data": [], "seed.quickbooks_integration_tests.invoice_linked_txn_data": [], "seed.quickbooks_integration_tests.account_data": [], "seed.quickbooks_integration_tests.purchase_order_line_data": [], "seed.quickbooks_integration_tests.transfer_data": [], "seed.quickbooks_integration_tests.purchase_order_data": [], "seed.quickbooks_integration_tests.sales_receipt_line_data": [], "seed.quickbooks_integration_tests.vendor_credit_line_data": [], "seed.quickbooks_integration_tests.credit_card_payment_txn_data": [], "seed.quickbooks_integration_tests.credit_memo_data": [], "seed.quickbooks_integration_tests.department_data": [], "seed.quickbooks_integration_tests.item_data": [], "seed.quickbooks_integration_tests.sales_receipt_data": [], "seed.quickbooks_integration_tests.deposit_data": [], "seed.quickbooks_integration_tests.refund_receipt_data": [], "model.quickbooks.quickbooks__balance_sheet": ["model.quickbooks.int_quickbooks__cash_flow_classifications", "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__balance_sheet_account_id__source_relation__calendar_date__class_id.07368a5056"], "model.quickbooks.quickbooks__general_ledger_by_period": ["analysis.quickbooks.quickbooks__balance_sheet", "analysis.quickbooks.quickbooks__income_statement", "model.quickbooks.quickbooks__balance_sheet", "model.quickbooks.quickbooks__profit_and_loss", "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__general_ledger_by_period_account_id__class_id__source_relation__period_first_day.d928e63a45"], "model.quickbooks.quickbooks__general_ledger": ["model.quickbooks.int_quickbooks__general_ledger_balances", "model.quickbooks.int_quickbooks__general_ledger_date_spine", "test.quickbooks.not_null_quickbooks__general_ledger_unique_id.06732be667", "test.quickbooks.unique_quickbooks__general_ledger_unique_id.df148e7545"], "model.quickbooks.quickbooks__profit_and_loss": ["test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__profit_and_loss_account_id__class_id__source_relation__calendar_date.77ccb375e5"], "model.quickbooks.quickbooks__expenses_sales_enhanced": ["test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__expenses_sales_enhanced_transaction_id__source_relation__transaction_line_id__item_id.b57775bacb"], "model.quickbooks.quickbooks__ap_ar_enhanced": ["test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__ap_ar_enhanced_transaction_id__source_relation__estimate_id.804c1f0bcf"], "model.quickbooks.quickbooks__cash_flow_statement": ["test.quickbooks.not_null_quickbooks__cash_flow_statement_account_unique_id.748fb9ef0a", "test.quickbooks.unique_quickbooks__cash_flow_statement_account_unique_id.c6ce55cc0d"], "model.quickbooks.int_quickbooks__transfer_double_entry": ["model.quickbooks.quickbooks__general_ledger"], "model.quickbooks.int_quickbooks__credit_memo_double_entry": ["model.quickbooks.quickbooks__general_ledger"], "model.quickbooks.int_quickbooks__refund_receipt_double_entry": ["model.quickbooks.quickbooks__general_ledger"], "model.quickbooks.int_quickbooks__journal_entry_double_entry": ["model.quickbooks.quickbooks__general_ledger"], "model.quickbooks.int_quickbooks__bill_payment_double_entry": ["model.quickbooks.quickbooks__general_ledger"], "model.quickbooks.int_quickbooks__deposit_double_entry": ["model.quickbooks.quickbooks__general_ledger"], "model.quickbooks.int_quickbooks__purchase_double_entry": ["model.quickbooks.quickbooks__general_ledger"], "model.quickbooks.int_quickbooks__sales_receipt_double_entry": ["model.quickbooks.quickbooks__general_ledger"], "model.quickbooks.int_quickbooks__vendor_credit_double_entry": ["model.quickbooks.quickbooks__general_ledger"], "model.quickbooks.int_quickbooks__credit_card_pymt_double_entry": ["model.quickbooks.quickbooks__general_ledger"], "model.quickbooks.int_quickbooks__bill_double_entry": ["model.quickbooks.quickbooks__general_ledger"], "model.quickbooks.int_quickbooks__payment_double_entry": ["model.quickbooks.quickbooks__general_ledger"], "model.quickbooks.int_quickbooks__invoice_double_entry": ["model.quickbooks.quickbooks__general_ledger"], "model.quickbooks.int_quickbooks__invoice_transactions": ["model.quickbooks.int_quickbooks__sales_union"], "model.quickbooks.int_quickbooks__bill_transactions": ["model.quickbooks.int_quickbooks__expenses_union"], "model.quickbooks.int_quickbooks__journal_entry_transactions": ["model.quickbooks.int_quickbooks__expenses_union"], "model.quickbooks.int_quickbooks__refund_receipt_transactions": ["model.quickbooks.int_quickbooks__sales_union"], "model.quickbooks.int_quickbooks__vendor_credit_transactions": ["model.quickbooks.int_quickbooks__expenses_union"], "model.quickbooks.int_quickbooks__purchase_transactions": ["model.quickbooks.int_quickbooks__expenses_union"], "model.quickbooks.int_quickbooks__sales_receipt_transactions": ["model.quickbooks.int_quickbooks__sales_union"], "model.quickbooks.int_quickbooks__deposit_transactions": ["model.quickbooks.int_quickbooks__expenses_union"], "model.quickbooks.int_quickbooks__credit_memo_transactions": ["model.quickbooks.int_quickbooks__sales_union"], "model.quickbooks.int_quickbooks__cash_flow_classifications": ["model.quickbooks.quickbooks__cash_flow_statement"], "model.quickbooks.int_quickbooks__general_ledger_balances": ["model.quickbooks.int_quickbooks__retained_earnings", "model.quickbooks.quickbooks__general_ledger_by_period"], "model.quickbooks.int_quickbooks__account_classifications": ["model.quickbooks.int_quickbooks__expenses_union", "model.quickbooks.int_quickbooks__sales_union", "model.quickbooks.quickbooks__general_ledger"], "model.quickbooks.int_quickbooks__expenses_union": ["model.quickbooks.quickbooks__expenses_sales_enhanced"], "model.quickbooks.int_quickbooks__invoice_join": ["model.quickbooks.quickbooks__ap_ar_enhanced"], "model.quickbooks.int_quickbooks__general_ledger_date_spine": ["model.quickbooks.int_quickbooks__general_ledger_balances"], "model.quickbooks.int_quickbooks__bill_join": ["model.quickbooks.quickbooks__ap_ar_enhanced"], "model.quickbooks.int_quickbooks__sales_union": ["model.quickbooks.quickbooks__expenses_sales_enhanced"], "analysis.quickbooks.quickbooks__balance_sheet": [], "analysis.quickbooks.quickbooks__income_statement": [], "model.quickbooks_source.stg_quickbooks__journal_entry_line": ["model.quickbooks.int_quickbooks__journal_entry_double_entry", "model.quickbooks.int_quickbooks__journal_entry_transactions", "test.quickbooks_source.accepted_values_stg_quickbooks__journal_entry_line_posting_type__Credit__Debit.ab661907c3", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__journal_entry_line_journal_entry_id__index__source_relation.0cd1d9f232", "test.quickbooks_source.not_null_stg_quickbooks__journal_entry_line_journal_entry_id.bd89a6f784"], "model.quickbooks_source.stg_quickbooks__transfer": ["model.quickbooks.int_quickbooks__transfer_double_entry", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__transfer_transfer_id__source_relation.bfa4c7345e", "test.quickbooks_source.not_null_stg_quickbooks__transfer_transfer_id.c1c80a253c"], "model.quickbooks_source.stg_quickbooks__bill_payment_line": ["model.quickbooks.int_quickbooks__bill_join", "model.quickbooks.int_quickbooks__bill_payment_double_entry", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_payment_line_bill_payment_id__index__source_relation.0a7e17967c", "test.quickbooks_source.not_null_stg_quickbooks__bill_payment_line_bill_payment_id.1dbb366150"], "model.quickbooks_source.stg_quickbooks__payment_line": ["model.quickbooks.int_quickbooks__invoice_join", "model.quickbooks.int_quickbooks__payment_double_entry", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__payment_line_payment_id__index__source_relation.25be3cf2e5", "test.quickbooks_source.not_null_stg_quickbooks__payment_line_payment_id.6351e3fe26"], "model.quickbooks_source.stg_quickbooks__vendor": ["model.quickbooks.int_quickbooks__expenses_union", "model.quickbooks.int_quickbooks__sales_union", "model.quickbooks.quickbooks__ap_ar_enhanced", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__vendor_vendor_id__source_relation.4960d9d21a", "test.quickbooks_source.not_null_stg_quickbooks__vendor_vendor_id.f509a77195"], "model.quickbooks_source.stg_quickbooks__invoice_line": ["model.quickbooks.int_quickbooks__invoice_double_entry", "model.quickbooks.int_quickbooks__invoice_transactions", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_line_invoice_id__index__source_relation.99b74bc327", "test.quickbooks_source.not_null_stg_quickbooks__invoice_line_invoice_id.0424087a8f"], "model.quickbooks_source.stg_quickbooks__estimate": ["model.quickbooks.int_quickbooks__invoice_join", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__estimate_estimate_id__source_relation.412260b882", "test.quickbooks_source.not_null_stg_quickbooks__estimate_estimate_id.0331d3c310"], "model.quickbooks_source.stg_quickbooks__credit_memo_line": ["model.quickbooks.int_quickbooks__credit_memo_double_entry", "model.quickbooks.int_quickbooks__credit_memo_transactions", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__credit_memo_line_credit_memo_id__index__source_relation.7a43f0e186", "test.quickbooks_source.not_null_stg_quickbooks__credit_memo_line_credit_memo_id.58953be02b"], "model.quickbooks_source.stg_quickbooks__bundle": ["model.quickbooks.int_quickbooks__invoice_double_entry", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bundle_bundle_id__source_relation.e241a21ebc", "test.quickbooks_source.not_null_stg_quickbooks__bundle_bundle_id.382e1dad60"], "model.quickbooks_source.stg_quickbooks__department": ["model.quickbooks.int_quickbooks__expenses_union", "model.quickbooks.int_quickbooks__sales_union", "model.quickbooks.quickbooks__ap_ar_enhanced"], "model.quickbooks_source.stg_quickbooks__credit_card_payment_txn": ["model.quickbooks.int_quickbooks__credit_card_pymt_double_entry"], "model.quickbooks_source.stg_quickbooks__purchase_line": ["model.quickbooks.int_quickbooks__purchase_double_entry", "model.quickbooks.int_quickbooks__purchase_transactions", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_line_purchase_id__index__source_relation.a23c661eb5", "test.quickbooks_source.not_null_stg_quickbooks__purchase_line_purchase_id.5406fca79c"], "model.quickbooks_source.stg_quickbooks__purchase": ["model.quickbooks.int_quickbooks__purchase_double_entry", "model.quickbooks.int_quickbooks__purchase_transactions", "test.quickbooks_source.accepted_values_stg_quickbooks__purchase_payment_type__Cash__Check__CreditCard.7de7edf458", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_purchase_id__source_relation.172340b49e", "test.quickbooks_source.not_null_stg_quickbooks__purchase_purchase_id.fc2090959b"], "model.quickbooks_source.stg_quickbooks__refund_receipt_line": ["model.quickbooks.int_quickbooks__refund_receipt_double_entry", "model.quickbooks.int_quickbooks__refund_receipt_transactions", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__refund_receipt_line_refund_id__index__source_relation.614411eb40", "test.quickbooks_source.not_null_stg_quickbooks__refund_receipt_line_refund_id.57df809b80"], "model.quickbooks_source.stg_quickbooks__bundle_item": ["model.quickbooks.int_quickbooks__invoice_double_entry", "test.quickbooks_source.not_null_stg_quickbooks__bundle_item_bundle_id.6d547b8c07"], "model.quickbooks_source.stg_quickbooks__credit_memo": ["model.quickbooks.int_quickbooks__credit_memo_double_entry", "model.quickbooks.int_quickbooks__credit_memo_transactions", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__credit_memo_credit_memo_id__source_relation.917f24c5ca", "test.quickbooks_source.not_null_stg_quickbooks__credit_memo_credit_memo_id.d921d2b152"], "model.quickbooks_source.stg_quickbooks__sales_receipt_line": ["model.quickbooks.int_quickbooks__sales_receipt_double_entry", "model.quickbooks.int_quickbooks__sales_receipt_transactions", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__sales_receipt_line_sales_receipt_id__index__source_relation.20e80dcbd5", "test.quickbooks_source.not_null_stg_quickbooks__sales_receipt_line_sales_receipt_id.9be0667fc3"], "model.quickbooks_source.stg_quickbooks__sales_receipt": ["model.quickbooks.int_quickbooks__sales_receipt_double_entry", "model.quickbooks.int_quickbooks__sales_receipt_transactions", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__sales_receipt_sales_receipt_id__source_relation.36bdbcffde", "test.quickbooks_source.not_null_stg_quickbooks__sales_receipt_sales_receipt_id.b97c1a238a"], "model.quickbooks_source.stg_quickbooks__invoice_linked_txn": ["model.quickbooks.int_quickbooks__invoice_join", "test.quickbooks_source.not_null_stg_quickbooks__invoice_linked_txn_invoice_id.c9b9c8f8f4"], "model.quickbooks_source.stg_quickbooks__invoice": ["model.quickbooks.int_quickbooks__invoice_double_entry", "model.quickbooks.int_quickbooks__invoice_join", "model.quickbooks.int_quickbooks__invoice_transactions", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_invoice_id__source_relation.ef51800044", "test.quickbooks_source.not_null_stg_quickbooks__invoice_invoice_id.b6d8e1ad7d"], "model.quickbooks_source.stg_quickbooks__bill_payment": ["model.quickbooks.int_quickbooks__bill_join", "model.quickbooks.int_quickbooks__bill_payment_double_entry", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_payment_bill_payment_id__source_relation.4b7aafd630", "test.quickbooks_source.not_null_stg_quickbooks__bill_payment_bill_payment_id.908899ccfb"], "model.quickbooks_source.stg_quickbooks__invoice_line_bundle": ["model.quickbooks.int_quickbooks__invoice_double_entry", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_line_bundle_invoice_id__index__invoice_line_index__source_relation.5370e9fcd0", "test.quickbooks_source.not_null_stg_quickbooks__invoice_line_bundle_invoice_id.cfd59b83a9"], "model.quickbooks_source.stg_quickbooks__account": ["model.quickbooks.int_quickbooks__account_classifications", "model.quickbooks.int_quickbooks__bill_payment_double_entry", "model.quickbooks.int_quickbooks__credit_memo_double_entry", "model.quickbooks.int_quickbooks__deposit_double_entry", "model.quickbooks.int_quickbooks__invoice_double_entry", "model.quickbooks.int_quickbooks__payment_double_entry", "test.quickbooks_source.accepted_values_stg_quickbooks__account_classification__Asset__Equity__Expense__Liability__Revenue.127506f73f", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__account_account_id__source_relation.864a4b056a", "test.quickbooks_source.not_null_stg_quickbooks__account_account_id.9944488b9d"], "model.quickbooks_source.stg_quickbooks__payment": ["model.quickbooks.int_quickbooks__invoice_join", "model.quickbooks.int_quickbooks__payment_double_entry", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__payment_payment_id__source_relation.1998a8282e", "test.quickbooks_source.not_null_stg_quickbooks__payment_payment_id.ca2c1ef54f"], "model.quickbooks_source.stg_quickbooks__estimate_line": ["test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__estimate_line_estimate_id__index__source_relation.cc61ab0953", "test.quickbooks_source.not_null_stg_quickbooks__estimate_line_estimate_id.c060f99b4c"], "model.quickbooks_source.stg_quickbooks__bill_linked_txn": ["model.quickbooks.int_quickbooks__bill_join", "test.quickbooks_source.not_null_stg_quickbooks__bill_linked_txn_bill_id.35f96199bd"], "model.quickbooks_source.stg_quickbooks__address": ["model.quickbooks.quickbooks__ap_ar_enhanced", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__address_address_id__source_relation.5bc813a014", "test.quickbooks_source.not_null_stg_quickbooks__address_address_id.4f100ae50c"], "model.quickbooks_source.stg_quickbooks__bill": ["model.quickbooks.int_quickbooks__bill_double_entry", "model.quickbooks.int_quickbooks__bill_join", "model.quickbooks.int_quickbooks__bill_transactions", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_bill_id__source_relation.8c08249abf", "test.quickbooks_source.not_null_stg_quickbooks__bill_bill_id.ca717958c8"], "model.quickbooks_source.stg_quickbooks__bill_line": ["model.quickbooks.int_quickbooks__bill_double_entry", "model.quickbooks.int_quickbooks__bill_join", "model.quickbooks.int_quickbooks__bill_transactions", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_line_bill_id__index__source_relation.73722b1062", "test.quickbooks_source.not_null_stg_quickbooks__bill_line_bill_id.25c5ea7348"], "model.quickbooks_source.stg_quickbooks__journal_entry": ["model.quickbooks.int_quickbooks__journal_entry_double_entry", "model.quickbooks.int_quickbooks__journal_entry_transactions", "test.quickbooks_source.not_null_stg_quickbooks__journal_entry_journal_entry_id.39198c4ff2"], "model.quickbooks_source.stg_quickbooks__refund_receipt": ["model.quickbooks.int_quickbooks__refund_receipt_double_entry", "model.quickbooks.int_quickbooks__refund_receipt_transactions", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__refund_receipt_refund_id__source_relation.60f976841d", "test.quickbooks_source.not_null_stg_quickbooks__refund_receipt_refund_id.29e8a8216e"], "model.quickbooks_source.stg_quickbooks__deposit_line": ["model.quickbooks.int_quickbooks__deposit_double_entry", "model.quickbooks.int_quickbooks__deposit_transactions", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__deposit_line_deposit_id__index__source_relation.443de63985", "test.quickbooks_source.not_null_stg_quickbooks__deposit_line_deposit_id.d615f463e1"], "model.quickbooks_source.stg_quickbooks__vendor_credit": ["model.quickbooks.int_quickbooks__vendor_credit_double_entry", "model.quickbooks.int_quickbooks__vendor_credit_transactions", "test.quickbooks_source.not_null_stg_quickbooks__vendor_credit_vendor_credit_id.1275a5ab5a"], "model.quickbooks_source.stg_quickbooks__vendor_credit_line": ["model.quickbooks.int_quickbooks__vendor_credit_double_entry", "model.quickbooks.int_quickbooks__vendor_credit_transactions", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__vendor_credit_line_vendor_credit_id__index__source_relation.094b35ac4d"], "model.quickbooks_source.stg_quickbooks__deposit": ["model.quickbooks.int_quickbooks__deposit_double_entry", "model.quickbooks.int_quickbooks__deposit_transactions", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__deposit_deposit_id__source_relation.5574d8e908", "test.quickbooks_source.not_null_stg_quickbooks__deposit_deposit_id.880b8c37b1"], "model.quickbooks_source.stg_quickbooks__item": ["model.quickbooks.int_quickbooks__bill_double_entry", "model.quickbooks.int_quickbooks__bill_transactions", "model.quickbooks.int_quickbooks__credit_memo_double_entry", "model.quickbooks.int_quickbooks__credit_memo_transactions", "model.quickbooks.int_quickbooks__invoice_double_entry", "model.quickbooks.int_quickbooks__invoice_transactions", "model.quickbooks.int_quickbooks__purchase_double_entry", "model.quickbooks.int_quickbooks__purchase_transactions", "model.quickbooks.int_quickbooks__refund_receipt_double_entry", "model.quickbooks.int_quickbooks__refund_receipt_transactions", "model.quickbooks.int_quickbooks__sales_receipt_double_entry", "model.quickbooks.int_quickbooks__sales_receipt_transactions", "model.quickbooks.int_quickbooks__vendor_credit_double_entry", "model.quickbooks.int_quickbooks__vendor_credit_transactions", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__item_item_id__source_relation.169465a2a6", "test.quickbooks_source.not_null_stg_quickbooks__item_item_id.da906d8fb9"], "model.quickbooks_source.stg_quickbooks__customer": ["model.quickbooks.int_quickbooks__expenses_union", "model.quickbooks.int_quickbooks__sales_union", "model.quickbooks.quickbooks__ap_ar_enhanced", "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__customer_customer_id__source_relation.61cc22a568", "test.quickbooks_source.not_null_stg_quickbooks__customer_customer_id.98232a9723"], "model.quickbooks_source.stg_quickbooks__vendor_credit_tmp": ["model.quickbooks_source.stg_quickbooks__vendor_credit"], "model.quickbooks_source.stg_quickbooks__refund_receipt_line_tmp": ["model.quickbooks_source.stg_quickbooks__refund_receipt_line"], "model.quickbooks_source.stg_quickbooks__estimate_line_tmp": ["model.quickbooks_source.stg_quickbooks__estimate_line"], "model.quickbooks_source.stg_quickbooks__credit_memo_line_tmp": ["model.quickbooks_source.stg_quickbooks__credit_memo_line"], "model.quickbooks_source.stg_quickbooks__journal_entry_tmp": ["model.quickbooks_source.stg_quickbooks__journal_entry"], "model.quickbooks_source.stg_quickbooks__invoice_line_bundle_tmp": ["model.quickbooks_source.stg_quickbooks__invoice_line_bundle"], "model.quickbooks_source.stg_quickbooks__payment_tmp": ["model.quickbooks_source.stg_quickbooks__payment"], "model.quickbooks_source.stg_quickbooks__invoice_line_tmp": ["model.quickbooks_source.stg_quickbooks__invoice_line"], "model.quickbooks_source.stg_quickbooks__deposit_line_tmp": ["model.quickbooks_source.stg_quickbooks__deposit_line"], "model.quickbooks_source.stg_quickbooks__customer_tmp": ["model.quickbooks_source.stg_quickbooks__customer"], "model.quickbooks_source.stg_quickbooks__bill_line_tmp": ["model.quickbooks_source.stg_quickbooks__bill_line"], "model.quickbooks_source.stg_quickbooks__item_tmp": ["model.quickbooks_source.stg_quickbooks__item"], "model.quickbooks_source.stg_quickbooks__account_tmp": ["model.quickbooks_source.stg_quickbooks__account"], "model.quickbooks_source.stg_quickbooks__credit_card_payment_txn_tmp": ["model.quickbooks_source.stg_quickbooks__credit_card_payment_txn"], "model.quickbooks_source.stg_quickbooks__vendor_credit_line_tmp": ["model.quickbooks_source.stg_quickbooks__vendor_credit_line"], "model.quickbooks_source.stg_quickbooks__department_tmp": ["model.quickbooks_source.stg_quickbooks__department"], "model.quickbooks_source.stg_quickbooks__bundle_tmp": ["model.quickbooks_source.stg_quickbooks__bundle"], "model.quickbooks_source.stg_quickbooks__bundle_item_tmp": ["model.quickbooks_source.stg_quickbooks__bundle_item"], "model.quickbooks_source.stg_quickbooks__bill_payment_line_tmp": ["model.quickbooks_source.stg_quickbooks__bill_payment_line"], "model.quickbooks_source.stg_quickbooks__estimate_tmp": ["model.quickbooks_source.stg_quickbooks__estimate"], "model.quickbooks_source.stg_quickbooks__purchase_tmp": ["model.quickbooks_source.stg_quickbooks__purchase"], "model.quickbooks_source.stg_quickbooks__credit_memo_tmp": ["model.quickbooks_source.stg_quickbooks__credit_memo"], "model.quickbooks_source.stg_quickbooks__bill_tmp": ["model.quickbooks_source.stg_quickbooks__bill"], "model.quickbooks_source.stg_quickbooks__transfer_tmp": ["model.quickbooks_source.stg_quickbooks__transfer"], "model.quickbooks_source.stg_quickbooks__vendor_tmp": ["model.quickbooks_source.stg_quickbooks__vendor"], "model.quickbooks_source.stg_quickbooks__purchase_line_tmp": ["model.quickbooks_source.stg_quickbooks__purchase_line"], "model.quickbooks_source.stg_quickbooks__address_tmp": ["model.quickbooks_source.stg_quickbooks__address"], "model.quickbooks_source.stg_quickbooks__payment_line_tmp": ["model.quickbooks_source.stg_quickbooks__payment_line"], "model.quickbooks_source.stg_quickbooks__refund_receipt_tmp": ["model.quickbooks_source.stg_quickbooks__refund_receipt"], "model.quickbooks_source.stg_quickbooks__sales_receipt_tmp": ["model.quickbooks_source.stg_quickbooks__sales_receipt"], "model.quickbooks_source.stg_quickbooks__bill_payment_tmp": ["model.quickbooks_source.stg_quickbooks__bill_payment"], "model.quickbooks_source.stg_quickbooks__journal_entry_line_tmp": ["model.quickbooks_source.stg_quickbooks__journal_entry_line"], "model.quickbooks_source.stg_quickbooks__deposit_tmp": ["model.quickbooks_source.stg_quickbooks__deposit"], "model.quickbooks_source.stg_quickbooks__bill_linked_txn_tmp": ["model.quickbooks_source.stg_quickbooks__bill_linked_txn"], "model.quickbooks_source.stg_quickbooks__invoice_linked_txn_tmp": ["model.quickbooks_source.stg_quickbooks__invoice_linked_txn"], "model.quickbooks_source.stg_quickbooks__sales_receipt_line_tmp": ["model.quickbooks_source.stg_quickbooks__sales_receipt_line"], "model.quickbooks_source.stg_quickbooks__invoice_tmp": ["model.quickbooks_source.stg_quickbooks__invoice"], "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__ap_ar_enhanced_transaction_id__source_relation__estimate_id.804c1f0bcf": [], "test.quickbooks.unique_quickbooks__cash_flow_statement_account_unique_id.c6ce55cc0d": [], "test.quickbooks.not_null_quickbooks__cash_flow_statement_account_unique_id.748fb9ef0a": [], "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__expenses_sales_enhanced_transaction_id__source_relation__transaction_line_id__item_id.b57775bacb": [], "test.quickbooks.unique_quickbooks__general_ledger_unique_id.df148e7545": [], "test.quickbooks.not_null_quickbooks__general_ledger_unique_id.06732be667": [], "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__general_ledger_by_period_account_id__class_id__source_relation__period_first_day.d928e63a45": [], "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__profit_and_loss_account_id__class_id__source_relation__calendar_date.77ccb375e5": [], "test.quickbooks.dbt_utils_unique_combination_of_columns_quickbooks__balance_sheet_account_id__source_relation__calendar_date__class_id.07368a5056": [], "test.quickbooks_source.not_null_stg_quickbooks__account_account_id.9944488b9d": [], "test.quickbooks_source.accepted_values_stg_quickbooks__account_classification__Asset__Equity__Expense__Liability__Revenue.127506f73f": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__account_account_id__source_relation.864a4b056a": [], "test.quickbooks_source.not_null_stg_quickbooks__address_address_id.4f100ae50c": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__address_address_id__source_relation.5bc813a014": [], "test.quickbooks_source.not_null_stg_quickbooks__bill_line_bill_id.25c5ea7348": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_line_bill_id__index__source_relation.73722b1062": [], "test.quickbooks_source.not_null_stg_quickbooks__bill_linked_txn_bill_id.35f96199bd": [], "test.quickbooks_source.not_null_stg_quickbooks__bill_payment_line_bill_payment_id.1dbb366150": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_payment_line_bill_payment_id__index__source_relation.0a7e17967c": [], "test.quickbooks_source.not_null_stg_quickbooks__bill_payment_bill_payment_id.908899ccfb": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_payment_bill_payment_id__source_relation.4b7aafd630": [], "test.quickbooks_source.not_null_stg_quickbooks__bill_bill_id.ca717958c8": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bill_bill_id__source_relation.8c08249abf": [], "test.quickbooks_source.not_null_stg_quickbooks__bundle_item_bundle_id.6d547b8c07": [], "test.quickbooks_source.not_null_stg_quickbooks__bundle_bundle_id.382e1dad60": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__bundle_bundle_id__source_relation.e241a21ebc": [], "test.quickbooks_source.not_null_stg_quickbooks__credit_memo_line_credit_memo_id.58953be02b": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__credit_memo_line_credit_memo_id__index__source_relation.7a43f0e186": [], "test.quickbooks_source.not_null_stg_quickbooks__credit_memo_credit_memo_id.d921d2b152": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__credit_memo_credit_memo_id__source_relation.917f24c5ca": [], "test.quickbooks_source.not_null_stg_quickbooks__customer_customer_id.98232a9723": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__customer_customer_id__source_relation.61cc22a568": [], "test.quickbooks_source.not_null_stg_quickbooks__deposit_line_deposit_id.d615f463e1": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__deposit_line_deposit_id__index__source_relation.443de63985": [], "test.quickbooks_source.not_null_stg_quickbooks__deposit_deposit_id.880b8c37b1": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__deposit_deposit_id__source_relation.5574d8e908": [], "test.quickbooks_source.not_null_stg_quickbooks__estimate_estimate_id.0331d3c310": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__estimate_estimate_id__source_relation.412260b882": [], "test.quickbooks_source.not_null_stg_quickbooks__estimate_line_estimate_id.c060f99b4c": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__estimate_line_estimate_id__index__source_relation.cc61ab0953": [], "test.quickbooks_source.not_null_stg_quickbooks__invoice_linked_txn_invoice_id.c9b9c8f8f4": [], "test.quickbooks_source.not_null_stg_quickbooks__invoice_line_invoice_id.0424087a8f": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_line_invoice_id__index__source_relation.99b74bc327": [], "test.quickbooks_source.not_null_stg_quickbooks__invoice_line_bundle_invoice_id.cfd59b83a9": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_line_bundle_invoice_id__index__invoice_line_index__source_relation.5370e9fcd0": [], "test.quickbooks_source.not_null_stg_quickbooks__invoice_invoice_id.b6d8e1ad7d": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__invoice_invoice_id__source_relation.ef51800044": [], "test.quickbooks_source.not_null_stg_quickbooks__item_item_id.da906d8fb9": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__item_item_id__source_relation.169465a2a6": [], "test.quickbooks_source.not_null_stg_quickbooks__journal_entry_line_journal_entry_id.bd89a6f784": [], "test.quickbooks_source.accepted_values_stg_quickbooks__journal_entry_line_posting_type__Credit__Debit.ab661907c3": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__journal_entry_line_journal_entry_id__index__source_relation.0cd1d9f232": [], "test.quickbooks_source.not_null_stg_quickbooks__journal_entry_journal_entry_id.39198c4ff2": [], "test.quickbooks_source.not_null_stg_quickbooks__payment_line_payment_id.6351e3fe26": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__payment_line_payment_id__index__source_relation.25be3cf2e5": [], "test.quickbooks_source.not_null_stg_quickbooks__payment_payment_id.ca2c1ef54f": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__payment_payment_id__source_relation.1998a8282e": [], "test.quickbooks_source.not_null_stg_quickbooks__purchase_line_purchase_id.5406fca79c": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_line_purchase_id__index__source_relation.a23c661eb5": [], "test.quickbooks_source.not_null_stg_quickbooks__purchase_purchase_id.fc2090959b": [], "test.quickbooks_source.accepted_values_stg_quickbooks__purchase_payment_type__Cash__Check__CreditCard.7de7edf458": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__purchase_purchase_id__source_relation.172340b49e": [], "test.quickbooks_source.not_null_stg_quickbooks__refund_receipt_line_refund_id.57df809b80": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__refund_receipt_line_refund_id__index__source_relation.614411eb40": [], "test.quickbooks_source.not_null_stg_quickbooks__refund_receipt_refund_id.29e8a8216e": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__refund_receipt_refund_id__source_relation.60f976841d": [], "test.quickbooks_source.not_null_stg_quickbooks__sales_receipt_line_sales_receipt_id.9be0667fc3": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__sales_receipt_line_sales_receipt_id__index__source_relation.20e80dcbd5": [], "test.quickbooks_source.not_null_stg_quickbooks__sales_receipt_sales_receipt_id.b97c1a238a": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__sales_receipt_sales_receipt_id__source_relation.36bdbcffde": [], "test.quickbooks_source.not_null_stg_quickbooks__transfer_transfer_id.c1c80a253c": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__transfer_transfer_id__source_relation.bfa4c7345e": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__vendor_credit_line_vendor_credit_id__index__source_relation.094b35ac4d": [], "test.quickbooks_source.not_null_stg_quickbooks__vendor_credit_vendor_credit_id.1275a5ab5a": [], "test.quickbooks_source.not_null_stg_quickbooks__vendor_vendor_id.f509a77195": [], "test.quickbooks_source.dbt_utils_unique_combination_of_columns_stg_quickbooks__vendor_vendor_id__source_relation.4960d9d21a": [], "model.quickbooks.int_quickbooks__retained_earnings": ["model.quickbooks.quickbooks__general_ledger_by_period"], "source.quickbooks_source.quickbooks.account": ["model.quickbooks_source.stg_quickbooks__account_tmp"], "source.quickbooks_source.quickbooks.address": ["model.quickbooks_source.stg_quickbooks__address_tmp"], "source.quickbooks_source.quickbooks.bill_line": ["model.quickbooks_source.stg_quickbooks__bill_line_tmp"], "source.quickbooks_source.quickbooks.bill_linked_txn": ["model.quickbooks_source.stg_quickbooks__bill_linked_txn_tmp"], "source.quickbooks_source.quickbooks.bill_payment_line": ["model.quickbooks_source.stg_quickbooks__bill_payment_line_tmp"], "source.quickbooks_source.quickbooks.bill_payment": ["model.quickbooks_source.stg_quickbooks__bill_payment_tmp"], "source.quickbooks_source.quickbooks.bill": ["model.quickbooks_source.stg_quickbooks__bill_tmp"], "source.quickbooks_source.quickbooks.bundle_item": ["model.quickbooks_source.stg_quickbooks__bundle_item_tmp"], "source.quickbooks_source.quickbooks.bundle": ["model.quickbooks_source.stg_quickbooks__bundle_tmp"], "source.quickbooks_source.quickbooks.credit_card_payment_txn": ["model.quickbooks_source.stg_quickbooks__credit_card_payment_txn_tmp"], "source.quickbooks_source.quickbooks.credit_memo_line": ["model.quickbooks_source.stg_quickbooks__credit_memo_line_tmp"], "source.quickbooks_source.quickbooks.credit_memo": ["model.quickbooks_source.stg_quickbooks__credit_memo_tmp"], "source.quickbooks_source.quickbooks.customer": ["model.quickbooks_source.stg_quickbooks__customer_tmp"], "source.quickbooks_source.quickbooks.department": ["model.quickbooks_source.stg_quickbooks__department_tmp"], "source.quickbooks_source.quickbooks.deposit_line": ["model.quickbooks_source.stg_quickbooks__deposit_line_tmp"], "source.quickbooks_source.quickbooks.deposit": ["model.quickbooks_source.stg_quickbooks__deposit_tmp"], "source.quickbooks_source.quickbooks.estimate": ["model.quickbooks_source.stg_quickbooks__estimate_tmp"], "source.quickbooks_source.quickbooks.estimate_line": ["model.quickbooks_source.stg_quickbooks__estimate_line_tmp"], "source.quickbooks_source.quickbooks.invoice_linked_txn": ["model.quickbooks_source.stg_quickbooks__invoice_linked_txn_tmp"], "source.quickbooks_source.quickbooks.invoice_line": ["model.quickbooks_source.stg_quickbooks__invoice_line_tmp"], "source.quickbooks_source.quickbooks.invoice_line_bundle": ["model.quickbooks_source.stg_quickbooks__invoice_line_bundle_tmp"], "source.quickbooks_source.quickbooks.invoice": ["model.quickbooks_source.stg_quickbooks__invoice_tmp"], "source.quickbooks_source.quickbooks.item": ["model.quickbooks_source.stg_quickbooks__item_tmp"], "source.quickbooks_source.quickbooks.journal_entry_line": ["model.quickbooks_source.stg_quickbooks__journal_entry_line_tmp"], "source.quickbooks_source.quickbooks.journal_entry": ["model.quickbooks_source.stg_quickbooks__journal_entry_tmp"], "source.quickbooks_source.quickbooks.payment_line": ["model.quickbooks_source.stg_quickbooks__payment_line_tmp"], "source.quickbooks_source.quickbooks.payment": ["model.quickbooks_source.stg_quickbooks__payment_tmp"], "source.quickbooks_source.quickbooks.purchase_line": ["model.quickbooks_source.stg_quickbooks__purchase_line_tmp"], "source.quickbooks_source.quickbooks.purchase": ["model.quickbooks_source.stg_quickbooks__purchase_tmp"], "source.quickbooks_source.quickbooks.purchase_order_line": [], "source.quickbooks_source.quickbooks.purchase_order_linked_txn": [], "source.quickbooks_source.quickbooks.purchase_order": [], "source.quickbooks_source.quickbooks.refund_receipt_line": ["model.quickbooks_source.stg_quickbooks__refund_receipt_line_tmp"], "source.quickbooks_source.quickbooks.refund_receipt": ["model.quickbooks_source.stg_quickbooks__refund_receipt_tmp"], "source.quickbooks_source.quickbooks.sales_receipt_line": ["model.quickbooks_source.stg_quickbooks__sales_receipt_line_tmp"], "source.quickbooks_source.quickbooks.sales_receipt": ["model.quickbooks_source.stg_quickbooks__sales_receipt_tmp"], "source.quickbooks_source.quickbooks.transfer": ["model.quickbooks_source.stg_quickbooks__transfer_tmp"], "source.quickbooks_source.quickbooks.vendor_credit_line": ["model.quickbooks_source.stg_quickbooks__vendor_credit_line_tmp"], "source.quickbooks_source.quickbooks.vendor_credit": ["model.quickbooks_source.stg_quickbooks__vendor_credit_tmp"], "source.quickbooks_source.quickbooks.vendor": ["model.quickbooks_source.stg_quickbooks__vendor_tmp"]}, "group_map": {}, "saved_queries": {}, "semantic_models": {}} \ No newline at end of file diff --git a/models/intermediate/int_quickbooks__retained_earnings.sql b/models/intermediate/int_quickbooks__retained_earnings.sql index 5400d18e..f0c1779a 100644 --- a/models/intermediate/int_quickbooks__retained_earnings.sql +++ b/models/intermediate/int_quickbooks__retained_earnings.sql @@ -4,43 +4,19 @@ with general_ledger_balances as ( from {{ ref('int_quickbooks__general_ledger_balances') }} ), -revenue_starter as ( +net_income_loss as ( select period_first_day, source_relation, - sum(period_net_change) as revenue_net_change, - sum(period_net_converted_change) as revenue_net_converted_change - from general_ledger_balances - - where account_class = 'Revenue' - - {{ dbt_utils.group_by(2) }} -), - -expense_starter as ( - - select - period_first_day, - source_relation, - sum(period_net_change) as expense_net_change, - sum(period_net_converted_change) as expense_net_converted_change + sum(case when account_class = 'Revenue' then period_net_change else 0 end) as revenue_net_change, + sum(case when account_class = 'Revenue' then period_net_converted_change else 0 end) as revenue_net_converted_change, + sum(case when account_class = 'Expense' then period_net_change else 0 end) as expense_net_change, + sum(case when account_class = 'Expense' then period_net_converted_change else 0 end) as expense_net_converted_change from general_ledger_balances - - where account_class = 'Expense' - {{ dbt_utils.group_by(2) }} ), -net_income_loss as ( - - select * - from revenue_starter - - join expense_starter - using (period_first_day, source_relation) -), - retained_earnings_starter as ( select From b1aaca6c99cf34c6ccc97b6c64b9bff013270e3b Mon Sep 17 00:00:00 2001 From: Avinash Kunnath <avinash.kunnath@fivetran.com> Date: Mon, 18 Nov 2024 09:13:35 -0800 Subject: [PATCH 2/4] documentation --- CHANGELOG.md | 1 - dbt_project.yml | 2 +- integration_tests/dbt_project.yml | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 60883743..a7ff5485 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,4 @@ # dbt_quickbooks v0.17.0 -[PR #147](https://github.com/fivetran/dbt_quickbooks/pull/147) introduces the following updates: ## Bug Fix - Updated the logic in `int_quickbooks__retained_earnings` to ensure accounting periods with no revenue and expense class lines were accounted for. diff --git a/dbt_project.yml b/dbt_project.yml index aa5d6509..1f2b20d0 100644 --- a/dbt_project.yml +++ b/dbt_project.yml @@ -1,7 +1,7 @@ config-version: 2 name: 'quickbooks' -version: '0.16.0' +version: '0.17.0' require-dbt-version: [">=1.3.0", "<2.0.0"] diff --git a/integration_tests/dbt_project.yml b/integration_tests/dbt_project.yml index 174030f8..1a7a0cfb 100644 --- a/integration_tests/dbt_project.yml +++ b/integration_tests/dbt_project.yml @@ -1,6 +1,6 @@ name: 'quickbooks_integration_tests' -version: '0.16.0' +version: '0.17.0' profile: 'integration_tests' config-version: 2 From d29a27b729c37fc0a18529592a8529f992d3f7eb Mon Sep 17 00:00:00 2001 From: Avinash Kunnath <avinash.kunnath@fivetran.com> Date: Tue, 19 Nov 2024 19:23:35 -0800 Subject: [PATCH 3/4] PR fixes --- CHANGELOG.md | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a7ff5485..a2f681a6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# dbt_quickbooks v0.17.0 +# dbt_quickbooks v0.17.0-a1 ## Bug Fix - Updated the logic in `int_quickbooks__retained_earnings` to ensure accounting periods with no revenue and expense class lines were accounted for. diff --git a/README.md b/README.md index 0e3d9a2d..ef3894f3 100644 --- a/README.md +++ b/README.md @@ -73,7 +73,7 @@ Include the following QuickBooks package version in your `packages.yml` file. ```yaml packages: - package: fivetran/quickbooks - version: [">=0.17.0", "<0.18.0"] # we recommend using ranges to capture non-breaking changes automatically + version: v0.17.0-a1 # we recommend using ranges to capture non-breaking changes automatically ``` Do NOT include the `quickbooks_source` package in this file. The transformation package itself has a dependency on it and will install the source package as well. From 79f7ef16d7bae8e7dcb220cd85f574a1210543f0 Mon Sep 17 00:00:00 2001 From: Avinash Kunnath <avinash.kunnath@fivetran.com> Date: Thu, 21 Nov 2024 09:19:52 -0800 Subject: [PATCH 4/4] readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ef3894f3..0772565f 100644 --- a/README.md +++ b/README.md @@ -73,7 +73,7 @@ Include the following QuickBooks package version in your `packages.yml` file. ```yaml packages: - package: fivetran/quickbooks - version: v0.17.0-a1 # we recommend using ranges to capture non-breaking changes automatically + version: 0.17.0-a1 # we recommend using ranges to capture non-breaking changes automatically ``` Do NOT include the `quickbooks_source` package in this file. The transformation package itself has a dependency on it and will install the source package as well.