UNPKG

@lucidcms/core

Version:

The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.

1 lines 20.5 kB
{"version":3,"file":"00000007-collections.mjs","names":[],"sources":["../../../../src/libs/db/migrations/00000007-collections.ts"],"sourcesContent":["import type { Kysely } from \"kysely\";\nimport type DatabaseAdapter from \"../adapter-base.js\";\nimport type { MigrationFn } from \"../types.js\";\n\nconst Migration00000007: MigrationFn = (adapter: DatabaseAdapter) => {\n\treturn {\n\t\tasync up(db: Kysely<unknown>) {\n\t\t\t// Collections\n\t\t\tawait db.schema\n\t\t\t\t.createTable(\"lucid_collections\")\n\t\t\t\t.addColumn(\"key\", adapter.getDataType(\"text\"), (col) =>\n\t\t\t\t\tcol.primaryKey(),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"is_deleted\", adapter.getDataType(\"boolean\"), (col) =>\n\t\t\t\t\tcol.defaultTo(\n\t\t\t\t\t\tadapter.formatDefaultValue(\n\t\t\t\t\t\t\t\"boolean\",\n\t\t\t\t\t\t\tadapter.getDefault(\"boolean\", \"false\"),\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"is_deleted_at\", adapter.getDataType(\"timestamp\"))\n\t\t\t\t.addColumn(\"created_at\", adapter.getDataType(\"timestamp\"), (col) =>\n\t\t\t\t\tcol.defaultTo(\n\t\t\t\t\t\tadapter.formatDefaultValue(\n\t\t\t\t\t\t\t\"timestamp\",\n\t\t\t\t\t\t\tadapter.getDefault(\"timestamp\", \"now\"),\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t\t.execute();\n\n\t\t\t// Migrations\n\t\t\tawait db.schema\n\t\t\t\t.createTable(\"lucid_collection_migrations\")\n\t\t\t\t.addColumn(\"id\", adapter.getDataType(\"primary\"), (col) =>\n\t\t\t\t\tadapter.primaryKeyColumnBuilder(col),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"collection_key\", adapter.getDataType(\"text\"), (col) =>\n\t\t\t\t\tcol.references(\"lucid_collections.key\").onDelete(\"cascade\").notNull(),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"table_name_map\", adapter.getDataType(\"text\"), (col) =>\n\t\t\t\t\tcol.notNull(),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"migration_plans\", adapter.getDataType(\"json\"), (col) =>\n\t\t\t\t\tcol.notNull(),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"collection_schema\", adapter.getDataType(\"json\"), (col) =>\n\t\t\t\t\tcol.notNull(),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"created_at\", adapter.getDataType(\"timestamp\"), (col) =>\n\t\t\t\t\tcol.defaultTo(\n\t\t\t\t\t\tadapter.formatDefaultValue(\n\t\t\t\t\t\t\t\"timestamp\",\n\t\t\t\t\t\t\tadapter.getDefault(\"timestamp\", \"now\"),\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t\t.execute();\n\n\t\t\tawait db.schema\n\t\t\t\t.createTable(\"lucid_document_publish_operations\")\n\t\t\t\t.addColumn(\"id\", adapter.getDataType(\"primary\"), (col) =>\n\t\t\t\t\tadapter.primaryKeyColumnBuilder(col),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"collection_key\", adapter.getDataType(\"text\"), (col) =>\n\t\t\t\t\tcol.notNull().references(\"lucid_collections.key\").onDelete(\"cascade\"),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"tenant_key\", adapter.getDataType(\"text\"))\n\t\t\t\t.addColumn(\"document_id\", adapter.getDataType(\"integer\"), (col) =>\n\t\t\t\t\tcol.notNull(),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"target\", adapter.getDataType(\"text\"), (col) =>\n\t\t\t\t\tcol.notNull(),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"operation_type\", adapter.getDataType(\"text\"), (col) =>\n\t\t\t\t\tcol.notNull(),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"status\", adapter.getDataType(\"text\"), (col) =>\n\t\t\t\t\tcol.notNull(),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"source_version_id\", adapter.getDataType(\"integer\"), (col) =>\n\t\t\t\t\tcol.notNull(),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"source_content_id\", adapter.getDataType(\"text\"), (col) =>\n\t\t\t\t\tcol.notNull(),\n\t\t\t\t)\n\t\t\t\t.addColumn(\n\t\t\t\t\t\"snapshot_version_id\",\n\t\t\t\t\tadapter.getDataType(\"integer\"),\n\t\t\t\t\t(col) => col.notNull(),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"requested_by\", adapter.getDataType(\"integer\"), (col) =>\n\t\t\t\t\tcol.references(\"lucid_users.id\").onDelete(\"set null\"),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"request_comment\", adapter.getDataType(\"json\"))\n\t\t\t\t.addColumn(\"decided_by\", adapter.getDataType(\"integer\"), (col) =>\n\t\t\t\t\tcol.references(\"lucid_users.id\").onDelete(\"set null\"),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"decision_comment\", adapter.getDataType(\"json\"))\n\t\t\t\t.addColumn(\"decided_at\", adapter.getDataType(\"timestamp\"))\n\t\t\t\t.addColumn(\"scheduled_at\", adapter.getDataType(\"timestamp\"))\n\t\t\t\t.addColumn(\"scheduled_timezone\", adapter.getDataType(\"text\"))\n\t\t\t\t.addColumn(\"execution_status\", adapter.getDataType(\"text\"), (col) =>\n\t\t\t\t\tcol.notNull().defaultTo(\"awaiting_approval\"),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"executed_at\", adapter.getDataType(\"timestamp\"))\n\t\t\t\t.addColumn(\"failed_at\", adapter.getDataType(\"timestamp\"))\n\t\t\t\t.addColumn(\"execution_error_message\", adapter.getDataType(\"text\"))\n\t\t\t\t.addColumn(\"execution_error_data\", adapter.getDataType(\"json\"))\n\t\t\t\t.addColumn(\"scheduled_job_id\", adapter.getDataType(\"text\"))\n\t\t\t\t.addColumn(\"created_at\", adapter.getDataType(\"timestamp\"), (col) =>\n\t\t\t\t\tcol.defaultTo(\n\t\t\t\t\t\tadapter.formatDefaultValue(\n\t\t\t\t\t\t\t\"timestamp\",\n\t\t\t\t\t\t\tadapter.getDefault(\"timestamp\", \"now\"),\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"updated_at\", adapter.getDataType(\"timestamp\"), (col) =>\n\t\t\t\t\tcol.defaultTo(\n\t\t\t\t\t\tadapter.formatDefaultValue(\n\t\t\t\t\t\t\t\"timestamp\",\n\t\t\t\t\t\t\tadapter.getDefault(\"timestamp\", \"now\"),\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t\t.execute();\n\n\t\t\tawait db.schema\n\t\t\t\t.createTable(\"lucid_document_publish_operation_assignees\")\n\t\t\t\t.addColumn(\"id\", adapter.getDataType(\"primary\"), (col) =>\n\t\t\t\t\tadapter.primaryKeyColumnBuilder(col),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"operation_id\", adapter.getDataType(\"integer\"), (col) =>\n\t\t\t\t\tcol\n\t\t\t\t\t\t.notNull()\n\t\t\t\t\t\t.references(\"lucid_document_publish_operations.id\")\n\t\t\t\t\t\t.onDelete(\"cascade\"),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"user_id\", adapter.getDataType(\"integer\"), (col) =>\n\t\t\t\t\tcol.notNull().references(\"lucid_users.id\").onDelete(\"cascade\"),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"assigned_by\", adapter.getDataType(\"integer\"), (col) =>\n\t\t\t\t\tcol.references(\"lucid_users.id\").onDelete(\"set null\"),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"assigned_at\", adapter.getDataType(\"timestamp\"), (col) =>\n\t\t\t\t\tcol.defaultTo(\n\t\t\t\t\t\tadapter.formatDefaultValue(\n\t\t\t\t\t\t\t\"timestamp\",\n\t\t\t\t\t\t\tadapter.getDefault(\"timestamp\", \"now\"),\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t\t.execute();\n\n\t\t\tawait db.schema\n\t\t\t\t.createTable(\"lucid_document_publish_operation_events\")\n\t\t\t\t.addColumn(\"id\", adapter.getDataType(\"primary\"), (col) =>\n\t\t\t\t\tadapter.primaryKeyColumnBuilder(col),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"operation_id\", adapter.getDataType(\"integer\"), (col) =>\n\t\t\t\t\tcol\n\t\t\t\t\t\t.notNull()\n\t\t\t\t\t\t.references(\"lucid_document_publish_operations.id\")\n\t\t\t\t\t\t.onDelete(\"cascade\"),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"event_type\", adapter.getDataType(\"text\"), (col) =>\n\t\t\t\t\tcol.notNull(),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"user_id\", adapter.getDataType(\"integer\"), (col) =>\n\t\t\t\t\tcol.references(\"lucid_users.id\").onDelete(\"set null\"),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"comment\", adapter.getDataType(\"text\"))\n\t\t\t\t.addColumn(\"metadata\", adapter.getDataType(\"json\"), (col) =>\n\t\t\t\t\tcol.notNull(),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"created_at\", adapter.getDataType(\"timestamp\"), (col) =>\n\t\t\t\t\tcol.defaultTo(\n\t\t\t\t\t\tadapter.formatDefaultValue(\n\t\t\t\t\t\t\t\"timestamp\",\n\t\t\t\t\t\t\tadapter.getDefault(\"timestamp\", \"now\"),\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t\t.execute();\n\n\t\t\tawait db.schema\n\t\t\t\t.createIndex(\"idx_lucid_publish_operations_tenant_key\")\n\t\t\t\t.on(\"lucid_document_publish_operations\")\n\t\t\t\t.column(\"tenant_key\")\n\t\t\t\t.execute();\n\n\t\t\tawait db.schema\n\t\t\t\t.createIndex(\"idx_lucid_publish_operations_target\")\n\t\t\t\t.on(\"lucid_document_publish_operations\")\n\t\t\t\t.columns([\"collection_key\", \"document_id\", \"target\", \"status\"])\n\t\t\t\t.execute();\n\n\t\t\tawait db.schema\n\t\t\t\t.createIndex(\"idx_lucid_publish_operations_execution\")\n\t\t\t\t.on(\"lucid_document_publish_operations\")\n\t\t\t\t.columns([\"status\", \"execution_status\", \"scheduled_at\"])\n\t\t\t\t.execute();\n\n\t\t\tawait db.schema\n\t\t\t\t.createIndex(\"idx_lucid_publish_operations_schedule_dispatch\")\n\t\t\t\t.on(\"lucid_document_publish_operations\")\n\t\t\t\t.columns([\n\t\t\t\t\t\"status\",\n\t\t\t\t\t\"execution_status\",\n\t\t\t\t\t\"scheduled_job_id\",\n\t\t\t\t\t\"scheduled_at\",\n\t\t\t\t])\n\t\t\t\t.execute();\n\n\t\t\tawait db.schema\n\t\t\t\t.createIndex(\"idx_lucid_publish_operations_requested_by\")\n\t\t\t\t.on(\"lucid_document_publish_operations\")\n\t\t\t\t.columns([\"requested_by\", \"created_at\"])\n\t\t\t\t.execute();\n\n\t\t\tawait db.schema\n\t\t\t\t.createIndex(\"idx_lucid_publish_operations_document_created\")\n\t\t\t\t.on(\"lucid_document_publish_operations\")\n\t\t\t\t.columns([\"collection_key\", \"document_id\", \"created_at\"])\n\t\t\t\t.execute();\n\n\t\t\tawait db.schema\n\t\t\t\t.createIndex(\"idx_lucid_publish_operations_status_created\")\n\t\t\t\t.on(\"lucid_document_publish_operations\")\n\t\t\t\t.columns([\"status\", \"created_at\"])\n\t\t\t\t.execute();\n\n\t\t\tawait db.schema\n\t\t\t\t.createIndex(\"idx_lucid_publish_operation_assignees_user\")\n\t\t\t\t.on(\"lucid_document_publish_operation_assignees\")\n\t\t\t\t.columns([\"user_id\", \"operation_id\"])\n\t\t\t\t.execute();\n\n\t\t\tawait db.schema\n\t\t\t\t.createIndex(\"idx_lucid_publish_operation_assignees_operation_user\")\n\t\t\t\t.on(\"lucid_document_publish_operation_assignees\")\n\t\t\t\t.columns([\"operation_id\", \"user_id\"])\n\t\t\t\t.execute();\n\n\t\t\tawait db.schema\n\t\t\t\t.createIndex(\"idx_lucid_publish_operation_events_operation\")\n\t\t\t\t.on(\"lucid_document_publish_operation_events\")\n\t\t\t\t.columns([\"operation_id\", \"created_at\"])\n\t\t\t\t.execute();\n\n\t\t\tawait db.schema\n\t\t\t\t.createTable(\"lucid_document_workflows\")\n\t\t\t\t.addColumn(\"id\", adapter.getDataType(\"primary\"), (col) =>\n\t\t\t\t\tadapter.primaryKeyColumnBuilder(col),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"collection_key\", adapter.getDataType(\"text\"), (col) =>\n\t\t\t\t\tcol.notNull().references(\"lucid_collections.key\").onDelete(\"cascade\"),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"document_id\", adapter.getDataType(\"integer\"), (col) =>\n\t\t\t\t\tcol.notNull(),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"stage_key\", adapter.getDataType(\"text\"), (col) =>\n\t\t\t\t\tcol.notNull(),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"created_by\", adapter.getDataType(\"integer\"), (col) =>\n\t\t\t\t\tcol.references(\"lucid_users.id\").onDelete(\"set null\"),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"updated_by\", adapter.getDataType(\"integer\"), (col) =>\n\t\t\t\t\tcol.references(\"lucid_users.id\").onDelete(\"set null\"),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"created_at\", adapter.getDataType(\"timestamp\"), (col) =>\n\t\t\t\t\tcol.defaultTo(\n\t\t\t\t\t\tadapter.formatDefaultValue(\n\t\t\t\t\t\t\t\"timestamp\",\n\t\t\t\t\t\t\tadapter.getDefault(\"timestamp\", \"now\"),\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"updated_at\", adapter.getDataType(\"timestamp\"), (col) =>\n\t\t\t\t\tcol.defaultTo(\n\t\t\t\t\t\tadapter.formatDefaultValue(\n\t\t\t\t\t\t\t\"timestamp\",\n\t\t\t\t\t\t\tadapter.getDefault(\"timestamp\", \"now\"),\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t\t.execute();\n\n\t\t\tawait db.schema\n\t\t\t\t.createTable(\"lucid_document_workflow_assignees\")\n\t\t\t\t.addColumn(\"id\", adapter.getDataType(\"primary\"), (col) =>\n\t\t\t\t\tadapter.primaryKeyColumnBuilder(col),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"workflow_id\", adapter.getDataType(\"integer\"), (col) =>\n\t\t\t\t\tcol\n\t\t\t\t\t\t.notNull()\n\t\t\t\t\t\t.references(\"lucid_document_workflows.id\")\n\t\t\t\t\t\t.onDelete(\"cascade\"),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"user_id\", adapter.getDataType(\"integer\"), (col) =>\n\t\t\t\t\tcol.notNull().references(\"lucid_users.id\").onDelete(\"cascade\"),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"assigned_by\", adapter.getDataType(\"integer\"), (col) =>\n\t\t\t\t\tcol.references(\"lucid_users.id\").onDelete(\"set null\"),\n\t\t\t\t)\n\t\t\t\t.addColumn(\"assigned_at\", adapter.getDataType(\"timestamp\"), (col) =>\n\t\t\t\t\tcol.defaultTo(\n\t\t\t\t\t\tadapter.formatDefaultValue(\n\t\t\t\t\t\t\t\"timestamp\",\n\t\t\t\t\t\t\tadapter.getDefault(\"timestamp\", \"now\"),\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t)\n\t\t\t\t.execute();\n\n\t\t\tawait db.schema\n\t\t\t\t.createIndex(\"idx_lucid_document_workflows_document\")\n\t\t\t\t.on(\"lucid_document_workflows\")\n\t\t\t\t.columns([\"collection_key\", \"document_id\"])\n\t\t\t\t.unique()\n\t\t\t\t.execute();\n\n\t\t\tawait db.schema\n\t\t\t\t.createIndex(\"idx_lucid_document_workflows_stage\")\n\t\t\t\t.on(\"lucid_document_workflows\")\n\t\t\t\t.columns([\"collection_key\", \"stage_key\", \"document_id\"])\n\t\t\t\t.execute();\n\n\t\t\tawait db.schema\n\t\t\t\t.createIndex(\"idx_lucid_document_workflow_assignees_user\")\n\t\t\t\t.on(\"lucid_document_workflow_assignees\")\n\t\t\t\t.columns([\"user_id\", \"workflow_id\"])\n\t\t\t\t.execute();\n\n\t\t\tawait db.schema\n\t\t\t\t.createIndex(\"idx_lucid_document_workflow_assignees_workflow_assigned\")\n\t\t\t\t.on(\"lucid_document_workflow_assignees\")\n\t\t\t\t.columns([\"workflow_id\", \"assigned_at\"])\n\t\t\t\t.execute();\n\n\t\t\tawait db.schema\n\t\t\t\t.createIndex(\"idx_lucid_document_workflow_assignees_workflow_user\")\n\t\t\t\t.on(\"lucid_document_workflow_assignees\")\n\t\t\t\t.columns([\"workflow_id\", \"user_id\"])\n\t\t\t\t.execute();\n\t\t},\n\t\tasync down(_db: Kysely<unknown>) {},\n\t};\n};\n\nexport default Migration00000007;\n"],"mappings":"AAIA,MAAM,EAAkC,IAChC,CACN,MAAM,GAAG,EAAqB,CAE7B,MAAM,EAAG,OACP,YAAY,mBAAmB,CAAC,CAChC,UAAU,MAAO,EAAQ,YAAY,MAAM,EAAI,GAC/C,EAAI,WAAW,CAChB,CAAC,CACA,UAAU,aAAc,EAAQ,YAAY,SAAS,EAAI,GACzD,EAAI,UACH,EAAQ,mBACP,UACA,EAAQ,WAAW,UAAW,OAAO,CACtC,CACD,CACD,CAAC,CACA,UAAU,gBAAiB,EAAQ,YAAY,WAAW,CAAC,CAAC,CAC5D,UAAU,aAAc,EAAQ,YAAY,WAAW,EAAI,GAC3D,EAAI,UACH,EAAQ,mBACP,YACA,EAAQ,WAAW,YAAa,KAAK,CACtC,CACD,CACD,CAAC,CACA,QAAQ,EAGV,MAAM,EAAG,OACP,YAAY,6BAA6B,CAAC,CAC1C,UAAU,KAAM,EAAQ,YAAY,SAAS,EAAI,GACjD,EAAQ,wBAAwB,CAAG,CACpC,CAAC,CACA,UAAU,iBAAkB,EAAQ,YAAY,MAAM,EAAI,GAC1D,EAAI,WAAW,uBAAuB,CAAC,CAAC,SAAS,SAAS,CAAC,CAAC,QAAQ,CACrE,CAAC,CACA,UAAU,iBAAkB,EAAQ,YAAY,MAAM,EAAI,GAC1D,EAAI,QAAQ,CACb,CAAC,CACA,UAAU,kBAAmB,EAAQ,YAAY,MAAM,EAAI,GAC3D,EAAI,QAAQ,CACb,CAAC,CACA,UAAU,oBAAqB,EAAQ,YAAY,MAAM,EAAI,GAC7D,EAAI,QAAQ,CACb,CAAC,CACA,UAAU,aAAc,EAAQ,YAAY,WAAW,EAAI,GAC3D,EAAI,UACH,EAAQ,mBACP,YACA,EAAQ,WAAW,YAAa,KAAK,CACtC,CACD,CACD,CAAC,CACA,QAAQ,EAEV,MAAM,EAAG,OACP,YAAY,mCAAmC,CAAC,CAChD,UAAU,KAAM,EAAQ,YAAY,SAAS,EAAI,GACjD,EAAQ,wBAAwB,CAAG,CACpC,CAAC,CACA,UAAU,iBAAkB,EAAQ,YAAY,MAAM,EAAI,GAC1D,EAAI,QAAQ,CAAC,CAAC,WAAW,uBAAuB,CAAC,CAAC,SAAS,SAAS,CACrE,CAAC,CACA,UAAU,aAAc,EAAQ,YAAY,MAAM,CAAC,CAAC,CACpD,UAAU,cAAe,EAAQ,YAAY,SAAS,EAAI,GAC1D,EAAI,QAAQ,CACb,CAAC,CACA,UAAU,SAAU,EAAQ,YAAY,MAAM,EAAI,GAClD,EAAI,QAAQ,CACb,CAAC,CACA,UAAU,iBAAkB,EAAQ,YAAY,MAAM,EAAI,GAC1D,EAAI,QAAQ,CACb,CAAC,CACA,UAAU,SAAU,EAAQ,YAAY,MAAM,EAAI,GAClD,EAAI,QAAQ,CACb,CAAC,CACA,UAAU,oBAAqB,EAAQ,YAAY,SAAS,EAAI,GAChE,EAAI,QAAQ,CACb,CAAC,CACA,UAAU,oBAAqB,EAAQ,YAAY,MAAM,EAAI,GAC7D,EAAI,QAAQ,CACb,CAAC,CACA,UACA,sBACA,EAAQ,YAAY,SAAS,EAC5B,GAAQ,EAAI,QAAQ,CACtB,CAAC,CACA,UAAU,eAAgB,EAAQ,YAAY,SAAS,EAAI,GAC3D,EAAI,WAAW,gBAAgB,CAAC,CAAC,SAAS,UAAU,CACrD,CAAC,CACA,UAAU,kBAAmB,EAAQ,YAAY,MAAM,CAAC,CAAC,CACzD,UAAU,aAAc,EAAQ,YAAY,SAAS,EAAI,GACzD,EAAI,WAAW,gBAAgB,CAAC,CAAC,SAAS,UAAU,CACrD,CAAC,CACA,UAAU,mBAAoB,EAAQ,YAAY,MAAM,CAAC,CAAC,CAC1D,UAAU,aAAc,EAAQ,YAAY,WAAW,CAAC,CAAC,CACzD,UAAU,eAAgB,EAAQ,YAAY,WAAW,CAAC,CAAC,CAC3D,UAAU,qBAAsB,EAAQ,YAAY,MAAM,CAAC,CAAC,CAC5D,UAAU,mBAAoB,EAAQ,YAAY,MAAM,EAAI,GAC5D,EAAI,QAAQ,CAAC,CAAC,UAAU,mBAAmB,CAC5C,CAAC,CACA,UAAU,cAAe,EAAQ,YAAY,WAAW,CAAC,CAAC,CAC1D,UAAU,YAAa,EAAQ,YAAY,WAAW,CAAC,CAAC,CACxD,UAAU,0BAA2B,EAAQ,YAAY,MAAM,CAAC,CAAC,CACjE,UAAU,uBAAwB,EAAQ,YAAY,MAAM,CAAC,CAAC,CAC9D,UAAU,mBAAoB,EAAQ,YAAY,MAAM,CAAC,CAAC,CAC1D,UAAU,aAAc,EAAQ,YAAY,WAAW,EAAI,GAC3D,EAAI,UACH,EAAQ,mBACP,YACA,EAAQ,WAAW,YAAa,KAAK,CACtC,CACD,CACD,CAAC,CACA,UAAU,aAAc,EAAQ,YAAY,WAAW,EAAI,GAC3D,EAAI,UACH,EAAQ,mBACP,YACA,EAAQ,WAAW,YAAa,KAAK,CACtC,CACD,CACD,CAAC,CACA,QAAQ,EAEV,MAAM,EAAG,OACP,YAAY,4CAA4C,CAAC,CACzD,UAAU,KAAM,EAAQ,YAAY,SAAS,EAAI,GACjD,EAAQ,wBAAwB,CAAG,CACpC,CAAC,CACA,UAAU,eAAgB,EAAQ,YAAY,SAAS,EAAI,GAC3D,EACE,QAAQ,CAAC,CACT,WAAW,sCAAsC,CAAC,CAClD,SAAS,SAAS,CACrB,CAAC,CACA,UAAU,UAAW,EAAQ,YAAY,SAAS,EAAI,GACtD,EAAI,QAAQ,CAAC,CAAC,WAAW,gBAAgB,CAAC,CAAC,SAAS,SAAS,CAC9D,CAAC,CACA,UAAU,cAAe,EAAQ,YAAY,SAAS,EAAI,GAC1D,EAAI,WAAW,gBAAgB,CAAC,CAAC,SAAS,UAAU,CACrD,CAAC,CACA,UAAU,cAAe,EAAQ,YAAY,WAAW,EAAI,GAC5D,EAAI,UACH,EAAQ,mBACP,YACA,EAAQ,WAAW,YAAa,KAAK,CACtC,CACD,CACD,CAAC,CACA,QAAQ,EAEV,MAAM,EAAG,OACP,YAAY,yCAAyC,CAAC,CACtD,UAAU,KAAM,EAAQ,YAAY,SAAS,EAAI,GACjD,EAAQ,wBAAwB,CAAG,CACpC,CAAC,CACA,UAAU,eAAgB,EAAQ,YAAY,SAAS,EAAI,GAC3D,EACE,QAAQ,CAAC,CACT,WAAW,sCAAsC,CAAC,CAClD,SAAS,SAAS,CACrB,CAAC,CACA,UAAU,aAAc,EAAQ,YAAY,MAAM,EAAI,GACtD,EAAI,QAAQ,CACb,CAAC,CACA,UAAU,UAAW,EAAQ,YAAY,SAAS,EAAI,GACtD,EAAI,WAAW,gBAAgB,CAAC,CAAC,SAAS,UAAU,CACrD,CAAC,CACA,UAAU,UAAW,EAAQ,YAAY,MAAM,CAAC,CAAC,CACjD,UAAU,WAAY,EAAQ,YAAY,MAAM,EAAI,GACpD,EAAI,QAAQ,CACb,CAAC,CACA,UAAU,aAAc,EAAQ,YAAY,WAAW,EAAI,GAC3D,EAAI,UACH,EAAQ,mBACP,YACA,EAAQ,WAAW,YAAa,KAAK,CACtC,CACD,CACD,CAAC,CACA,QAAQ,EAEV,MAAM,EAAG,OACP,YAAY,yCAAyC,CAAC,CACtD,GAAG,mCAAmC,CAAC,CACvC,OAAO,YAAY,CAAC,CACpB,QAAQ,EAEV,MAAM,EAAG,OACP,YAAY,qCAAqC,CAAC,CAClD,GAAG,mCAAmC,CAAC,CACvC,QAAQ,CAAC,iBAAkB,cAAe,SAAU,QAAQ,CAAC,CAAC,CAC9D,QAAQ,EAEV,MAAM,EAAG,OACP,YAAY,wCAAwC,CAAC,CACrD,GAAG,mCAAmC,CAAC,CACvC,QAAQ,CAAC,SAAU,mBAAoB,cAAc,CAAC,CAAC,CACvD,QAAQ,EAEV,MAAM,EAAG,OACP,YAAY,gDAAgD,CAAC,CAC7D,GAAG,mCAAmC,CAAC,CACvC,QAAQ,CACR,SACA,mBACA,mBACA,cACD,CAAC,CAAC,CACD,QAAQ,EAEV,MAAM,EAAG,OACP,YAAY,2CAA2C,CAAC,CACxD,GAAG,mCAAmC,CAAC,CACvC,QAAQ,CAAC,eAAgB,YAAY,CAAC,CAAC,CACvC,QAAQ,EAEV,MAAM,EAAG,OACP,YAAY,+CAA+C,CAAC,CAC5D,GAAG,mCAAmC,CAAC,CACvC,QAAQ,CAAC,iBAAkB,cAAe,YAAY,CAAC,CAAC,CACxD,QAAQ,EAEV,MAAM,EAAG,OACP,YAAY,6CAA6C,CAAC,CAC1D,GAAG,mCAAmC,CAAC,CACvC,QAAQ,CAAC,SAAU,YAAY,CAAC,CAAC,CACjC,QAAQ,EAEV,MAAM,EAAG,OACP,YAAY,4CAA4C,CAAC,CACzD,GAAG,4CAA4C,CAAC,CAChD,QAAQ,CAAC,UAAW,cAAc,CAAC,CAAC,CACpC,QAAQ,EAEV,MAAM,EAAG,OACP,YAAY,sDAAsD,CAAC,CACnE,GAAG,4CAA4C,CAAC,CAChD,QAAQ,CAAC,eAAgB,SAAS,CAAC,CAAC,CACpC,QAAQ,EAEV,MAAM,EAAG,OACP,YAAY,8CAA8C,CAAC,CAC3D,GAAG,yCAAyC,CAAC,CAC7C,QAAQ,CAAC,eAAgB,YAAY,CAAC,CAAC,CACvC,QAAQ,EAEV,MAAM,EAAG,OACP,YAAY,0BAA0B,CAAC,CACvC,UAAU,KAAM,EAAQ,YAAY,SAAS,EAAI,GACjD,EAAQ,wBAAwB,CAAG,CACpC,CAAC,CACA,UAAU,iBAAkB,EAAQ,YAAY,MAAM,EAAI,GAC1D,EAAI,QAAQ,CAAC,CAAC,WAAW,uBAAuB,CAAC,CAAC,SAAS,SAAS,CACrE,CAAC,CACA,UAAU,cAAe,EAAQ,YAAY,SAAS,EAAI,GAC1D,EAAI,QAAQ,CACb,CAAC,CACA,UAAU,YAAa,EAAQ,YAAY,MAAM,EAAI,GACrD,EAAI,QAAQ,CACb,CAAC,CACA,UAAU,aAAc,EAAQ,YAAY,SAAS,EAAI,GACzD,EAAI,WAAW,gBAAgB,CAAC,CAAC,SAAS,UAAU,CACrD,CAAC,CACA,UAAU,aAAc,EAAQ,YAAY,SAAS,EAAI,GACzD,EAAI,WAAW,gBAAgB,CAAC,CAAC,SAAS,UAAU,CACrD,CAAC,CACA,UAAU,aAAc,EAAQ,YAAY,WAAW,EAAI,GAC3D,EAAI,UACH,EAAQ,mBACP,YACA,EAAQ,WAAW,YAAa,KAAK,CACtC,CACD,CACD,CAAC,CACA,UAAU,aAAc,EAAQ,YAAY,WAAW,EAAI,GAC3D,EAAI,UACH,EAAQ,mBACP,YACA,EAAQ,WAAW,YAAa,KAAK,CACtC,CACD,CACD,CAAC,CACA,QAAQ,EAEV,MAAM,EAAG,OACP,YAAY,mCAAmC,CAAC,CAChD,UAAU,KAAM,EAAQ,YAAY,SAAS,EAAI,GACjD,EAAQ,wBAAwB,CAAG,CACpC,CAAC,CACA,UAAU,cAAe,EAAQ,YAAY,SAAS,EAAI,GAC1D,EACE,QAAQ,CAAC,CACT,WAAW,6BAA6B,CAAC,CACzC,SAAS,SAAS,CACrB,CAAC,CACA,UAAU,UAAW,EAAQ,YAAY,SAAS,EAAI,GACtD,EAAI,QAAQ,CAAC,CAAC,WAAW,gBAAgB,CAAC,CAAC,SAAS,SAAS,CAC9D,CAAC,CACA,UAAU,cAAe,EAAQ,YAAY,SAAS,EAAI,GAC1D,EAAI,WAAW,gBAAgB,CAAC,CAAC,SAAS,UAAU,CACrD,CAAC,CACA,UAAU,cAAe,EAAQ,YAAY,WAAW,EAAI,GAC5D,EAAI,UACH,EAAQ,mBACP,YACA,EAAQ,WAAW,YAAa,KAAK,CACtC,CACD,CACD,CAAC,CACA,QAAQ,EAEV,MAAM,EAAG,OACP,YAAY,uCAAuC,CAAC,CACpD,GAAG,0BAA0B,CAAC,CAC9B,QAAQ,CAAC,iBAAkB,aAAa,CAAC,CAAC,CAC1C,OAAO,CAAC,CACR,QAAQ,EAEV,MAAM,EAAG,OACP,YAAY,oCAAoC,CAAC,CACjD,GAAG,0BAA0B,CAAC,CAC9B,QAAQ,CAAC,iBAAkB,YAAa,aAAa,CAAC,CAAC,CACvD,QAAQ,EAEV,MAAM,EAAG,OACP,YAAY,4CAA4C,CAAC,CACzD,GAAG,mCAAmC,CAAC,CACvC,QAAQ,CAAC,UAAW,aAAa,CAAC,CAAC,CACnC,QAAQ,EAEV,MAAM,EAAG,OACP,YAAY,yDAAyD,CAAC,CACtE,GAAG,mCAAmC,CAAC,CACvC,QAAQ,CAAC,cAAe,aAAa,CAAC,CAAC,CACvC,QAAQ,EAEV,MAAM,EAAG,OACP,YAAY,qDAAqD,CAAC,CAClE,GAAG,mCAAmC,CAAC,CACvC,QAAQ,CAAC,cAAe,SAAS,CAAC,CAAC,CACnC,QAAQ,CACX,EACA,MAAM,KAAK,EAAsB,CAAC,CACnC"}