@kedem/okdb 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/bin/okdb.js +1 -1
- package/okdb-data/default/data.mdb +0 -0
- package/okdb-data/default/lock.mdb +0 -0
- package/okdb-data/~log/data.mdb +0 -0
- package/okdb-data/~log/lock.mdb +0 -0
- package/okdb-data/~system/data.mdb +0 -0
- package/okdb-data/~system/lock.mdb +0 -0
- package/okdb.js +1 -1
- package/package.json +1 -1
- package/public/admin-app.js +1 -1
- package/public/components/admin-route-host.ok.js +1 -1
- package/public/components/env-picker.ok.js +1 -1
- package/public/components/field-path-input.ok.js +1 -1
- package/public/components/geo-map.ok.js +1 -1
- package/public/components/ok-cron-input.ok.js +1 -1
- package/public/components/ok-dropzone.ok.js +1 -1
- package/public/components/ok-js-input.ok.js +1 -1
- package/public/components/ok-json-input.ok.js +1 -1
- package/public/components/ok-text-monaco-input.ok.js +1 -1
- package/public/components/theme-toggle.ok.js +1 -1
- package/public/login-app.js +1 -1
- package/public/modules/ok.js +1 -1
- package/public/sections/api/parts/api-endpoint.ok.js +1 -1
- package/public/sections/auth/modals/create-token-modal.ok.js +1 -1
- package/public/sections/auth/modals/edit-token-modal.ok.js +1 -1
- package/public/sections/auth/modals/perm-info-popover.ok.js +1 -1
- package/public/sections/auth/parts/token-detail.ok.js +1 -1
- package/public/sections/auth/parts/token-list.ok.js +1 -1
- package/public/sections/db/modals/add-item-modal.ok.js +1 -1
- package/public/sections/db/modals/create-env-modal.ok.js +1 -1
- package/public/sections/db/modals/create-fts-modal.ok.js +1 -1
- package/public/sections/db/modals/create-index-modal.ok.js +1 -1
- package/public/sections/db/modals/create-pipeline-modal.ok.js +1 -1
- package/public/sections/db/modals/demo-env-modal.ok.js +1 -1
- package/public/sections/db/modals/remove-env-modal.ok.js +1 -1
- package/public/sections/db/modals/schema-edit-modal.ok.js +1 -1
- package/public/sections/db/parts/db-overview.ok.js +1 -1
- package/public/sections/db/parts/db-pipelines-panel.ok.js +1 -1
- package/public/sections/db/parts/edit-row.ok.js +1 -1
- package/public/sections/db/parts/tm-timeline.ok.js +1 -1
- package/public/sections/db/parts/type-changelog.ok.js +1 -1
- package/public/sections/db/parts/type-list.ok.js +1 -1
- package/public/sections/db/parts/type-pipelines-tab.ok.js +1 -1
- package/public/sections/db/parts/type-schema-tab.ok.js +1 -1
- package/public/sections/db/parts/type-viewer.ok.js +1 -1
- package/public/sections/db/parts/type-violations-tab.ok.js +1 -1
- package/public/sections/embeddings/modals/register-model-modal.ok.js +1 -1
- package/public/sections/embeddings/parts/embed-create-panel.ok.js +1 -1
- package/public/sections/embeddings/parts/embed-embedder-panel.ok.js +1 -1
- package/public/sections/embeddings/parts/embed-engine-declaration-editor.ok.js +1 -1
- package/public/sections/embeddings/parts/embed-engine-list.ok.js +1 -1
- package/public/sections/embeddings/parts/embed-indexer-panel.ok.js +1 -1
- package/public/sections/embeddings/parts/embed-lifecycle-bar.ok.js +1 -1
- package/public/sections/embeddings/parts/embed-model-catalog.ok.js +1 -1
- package/public/sections/embeddings/parts/embed-overview.ok.js +1 -1
- package/public/sections/embeddings/parts/embed-search-panel.ok.js +1 -1
- package/public/sections/embeddings/parts/embed-worker-panel.ok.js +1 -1
- package/public/sections/embeddings/parts/embeddings-engine-panel.ok.js +1 -1
- package/public/sections/embeddings/parts/engines-overview.ok.js +1 -1
- package/public/sections/embeddings/parts/pipeline-create-panel.ok.js +1 -1
- package/public/sections/engines/engine-panel-shared-style.js +1 -1
- package/public/sections/engines/engine-ui-utils.js +1 -1
- package/public/sections/engines/modals/engine-modal.ok.js +1 -1
- package/public/sections/engines/parts/engine-declaration-editor.ok.js +1 -1
- package/public/sections/engines/parts/engine-lifecycle-actions.ok.js +1 -1
- package/public/sections/engines/parts/engine-panel-shell.ok.js +1 -1
- package/public/sections/engines/parts/engine-resource-card.ok.js +1 -1
- package/public/sections/engines/parts/engine-row-item.ok.js +1 -1
- package/public/sections/engines/parts/generic-engine-panel.ok.js +1 -1
- package/public/sections/files/parts/files-blob-status.ok.js +1 -1
- package/public/sections/files/parts/files-collection-list.ok.js +1 -1
- package/public/sections/files/parts/files-collection-panel.ok.js +1 -1
- package/public/sections/files/parts/files-file-list.ok.js +1 -1
- package/public/sections/files/parts/files-overview.ok.js +1 -1
- package/public/sections/files/parts/files-path-browser.ok.js +1 -1
- package/public/sections/files/parts/files-upload-panel.ok.js +1 -1
- package/public/sections/functions/modals/function-modal.ok.js +1 -1
- package/public/sections/functions/parts/function-detail.ok.js +1 -1
- package/public/sections/functions/parts/function-logs.ok.js +1 -1
- package/public/sections/functions/parts/function-runner.ok.js +1 -1
- package/public/sections/functions/parts/functions-list.ok.js +1 -1
- package/public/sections/license/parts/license-panel.ok.js +1 -1
- package/public/sections/queue/modals/create-bucket-modal.ok.js +1 -1
- package/public/sections/queue/modals/edit-bucket-modal.ok.js +1 -1
- package/public/sections/queue/modals/edit-job-modal.ok.js +1 -1
- package/public/sections/queue/modals/enqueue-job-modal.ok.js +1 -1
- package/public/sections/queue/modals/job-type-modal.ok.js +1 -1
- package/public/sections/queue/parts/ok-job-form.ok.js +1 -1
- package/public/sections/queue/parts/queue-buckets.ok.js +1 -1
- package/public/sections/queue/parts/queue-job-types.ok.js +1 -1
- package/public/sections/queue/parts/queue-jobs.ok.js +1 -1
- package/public/sections/queue/parts/queue-types.ok.js +1 -1
- package/public/sections/queue/parts/queue-workers.ok.js +1 -1
- package/public/sections/sync/parts/sync-node-detail.ok.js +1 -1
- package/public/sections/sync/parts/sync-retention.ok.js +1 -1
- package/public/sections/sync/parts/sync-topology.ok.js +1 -1
- package/public/sections/system/modals/data-ops-modal.ok.js +1 -1
- package/public/sections/system/parts/system-api-panel.ok.js +1 -1
- package/public/sections/system/parts/system-auth-panel.ok.js +1 -1
- package/public/sections/system/parts/system-log-history.ok.js +1 -1
- package/public/sections/system/parts/system-log.ok.js +1 -1
- package/public/sections/system/parts/system-status.ok.js +1 -1
- package/public/sections/system/parts/system-sync-panel.ok.js +1 -1
- package/public/sections/views/modals/create-view-modal.ok.js +1 -1
- package/public/sections/views/parts/view-detail.ok.js +1 -1
- package/public/sections/views/parts/views-list.ok.js +1 -1
- package/public/sections/views/parts/views-overview.ok.js +1 -1
- package/public/setup-app.js +1 -1
- package/public/stores/auth-store.js +1 -1
- package/public/stores/events-store.js +1 -1
- package/public/stores/functions-store.js +1 -1
- package/public/stores/okdb-store.js +1 -1
- package/public/stores/theme-store.js +1 -1
- package/public/util/permissions.js +1 -1
- package/public/util/sift-schema.js +1 -1
- package/public/view-models/type-query-vm.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
function _0x7fa0(_0x4d46d8,_0x4a6e44){_0x4d46d8=_0x4d46d8-0x18c;const _0x9e935c=_0x9e93();let _0x7fa0c3=_0x9e935c[_0x4d46d8];return _0x7fa0c3;}const _0x5bb13f=_0x7fa0;(function(_0x210072,_0x4e73e6){const _0x2cfd68=_0x7fa0,_0x33ec8e=_0x210072();while(!![]){try{const _0x538ed5=parseInt(_0x2cfd68(0x36b))/0x1+parseInt(_0x2cfd68(0x369))/0x2+parseInt(_0x2cfd68(0x3e2))/0x3*(-parseInt(_0x2cfd68(0x3a9))/0x4)+parseInt(_0x2cfd68(0x352))/0x5*(-parseInt(_0x2cfd68(0x2c9))/0x6)+parseInt(_0x2cfd68(0x2b2))/0x7*(-parseInt(_0x2cfd68(0x3cd))/0x8)+parseInt(_0x2cfd68(0x3ca))/0x9+parseInt(_0x2cfd68(0x295))/0xa*(-parseInt(_0x2cfd68(0x288))/0xb);if(_0x538ed5===_0x4e73e6)break;else _0x33ec8e['push'](_0x33ec8e['shift']());}catch(_0x5dfc80){_0x33ec8e['push'](_0x33ec8e['shift']());}}}(_0x9e93,0x63f63));function _0x9e93(){const _0x2d1eec=['\x20is\x20a\x20','Bistro','Onboarding\x20Flow','A/B\x20Testing\x20Framework','Electronics','desktop','Grace','Morning','trim','Roberts','🗺️','Love\x20it!','Cat','Architecture\x20enthusiast\x20and\x20frequent\x20museum-goer\x20with\x20a\x20love\x20for\x20strong\x20espresso.','Chrome','\x0a<div\x20class=\x22dm\x22>\x0a\x0a\x20\x20<!--\x20══\x20STEP:\x20Choose\x20preset\x20══════════════════════════════════════════════════\x20-->\x0a\x20\x20<if\x20:=\x22step\x20===\x20\x27choose\x27\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22dm-hero\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-hero__sparkle\x22>✦</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-hero__title\x22>Generate\x20Demo\x20Environment</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-hero__sub\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20Choose\x20a\x20preset\x20to\x20instantly\x20fill\x20a\x20new\x20environment\x20with\x20realistic\x20data,\x0a\x20\x20\x20\x20\x20\x20\x20\x20indexes,\x20and\x20full-text\x20search\x20—\x20ready\x20to\x20explore\x20in\x20seconds.\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20<div\x20class=\x22dm-presets\x22>\x0a\x20\x20\x20\x20\x20\x20<button\x20as=\x22repeat\x22\x20:of=\x22PRESETS\x22\x20let:item=\x22p\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20class=\x22dm-preset\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22p.badge\x20===\x20\x27geo\x27\x20?\x20\x27dm-preset--geo\x27\x20:\x20\x27\x27\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22selectPreset(p)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22\x27--pc:\x27\x20+\x20p.color\x20+\x20\x27;\x20--pg:\x27\x20+\x20p.glow\x20+\x20\x27;\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-preset__bg\x22></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-preset__icon\x22>{{\x20p.icon\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-preset__name\x22>{{\x20p.name\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-preset__tag\x22>{{\x20p.tagline\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-preset__chips\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>{{\x20p.types.length\x20}}\x20types</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22dm-chip-dot\x22>·</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>{{\x20p.types.reduce((s,t)=>s+t.defaultCount,0).toLocaleString()\x20}}+\x20records</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22p.fts.length\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22dm-chip-dot\x22>·</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>FTS</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22p.badge\x20===\x20\x27geo\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22dm-chip-dot\x22>·</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:var(--pc);\x20font-weight:600;\x22>📍\x20GEO</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-preset__arrow\x22>→</div>\x0a\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20<div\x20class=\x22dm-footer\x22>\x0a\x20\x20\x20\x20\x20\x20<button\x20@click=\x22cancel()\x22>Cancel</button>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<!--\x20══\x20STEP:\x20Configure\x20══════════════════════════════════════════════════════\x20-->\x0a\x20\x20<if\x20:=\x22step\x20===\x20\x27configure\x27\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:18px;\x22>\x0a\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20align-items:center;\x20gap:10px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22back()\x22\x20class=\x22dm-back-btn\x22\x20title=\x22Back\x20to\x20presets\x22>←</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22dm-preset-badge\x22\x20:style=\x22\x27--pc:\x27\x20+\x20preset.color\x20+\x20\x27;\x20--pg:\x27\x20+\x20preset.glow\x20+\x20\x27;\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{\x20preset.icon\x20}}\x0a\x20\x20\x20\x20\x20\x20\x20\x20</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-weight:700;\x20font-size:15px;\x22>{{\x20preset.name\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22opacity:.4;\x20font-size:12px;\x22>·\x20Configure</span>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20<!--\x20Env\x20name\x20-->\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:5px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<label\x20style=\x22font-size:12px;\x20opacity:.55;\x20letter-spacing:.03em;\x22>Environment\x20name</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22text\x22\x20:value=\x22envName\x22\x20@input=\x22envName\x20=\x20$el.value\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22font-family:monospace;\x20font-size:13px;\x22\x20autofocus\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20placeholder=\x22e.g.\x20demo-shop\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20<!--\x20Scale\x20-->\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:8px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<label\x20style=\x22font-size:12px;\x20opacity:.55;\x20letter-spacing:.03em;\x22>Dataset\x20scale</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20gap:6px;\x20flex-wrap:wrap;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20as=\x22repeat\x22\x20:of=\x22SCALE_OPTIONS\x22\x20let:item=\x22s\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22scale\x20=\x20s.value\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20class=\x22dm-scale-btn\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22scale\x20===\x20s.value\x20?\x20\x27dm-scale-btn--active\x27\x20:\x20\x27\x27\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22scale\x20===\x20s.value\x20?\x20\x27--pc:\x27\x20+\x20preset.color\x20:\x20\x27\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{\x20s.label\x20}} <span\x20style=\x22font-size:10px;\x20opacity:.55;\x22>{{\x20s.hint\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20<!--\x20Type\x20counts\x20-->\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:5px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<label\x20style=\x22font-size:12px;\x20opacity:.55;\x20letter-spacing:.03em;\x22>Types\x20&\x20counts</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-type-table\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20as=\x22repeat\x22\x20:of=\x22preset.types\x22\x20let:item=\x22t\x22\x20class=\x22dm-type-row\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22dm-type-row__name\x22>{{\x20t.key\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-type-row__bar-wrap\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-type-row__bar\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22\x27width:\x27\x20+\x20Math.min(100,\x20Math.round((typeCounts[t.key]\x20??\x20t.defaultCount)\x20*\x20scale\x20/\x20(t.defaultCount\x20*\x204)\x20*\x20100))\x20+\x20\x27%;\x20background:\x27\x20+\x20preset.color\x20+\x20\x2755;\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22dm-type-row__count\x22\x20:style=\x22\x27color:\x27\x20+\x20preset.color\x20+\x20\x27;\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{\x20Math.max(1,\x20Math.round((typeCounts[t.key]\x20??\x20t.defaultCount)\x20*\x20scale)).toLocaleString()\x20}}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20<!--\x20Options\x20-->\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20gap:20px;\x20flex-wrap:wrap;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22dm-check-label\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22checkbox\x22\x20:checked=\x22enableIndexes\x22\x20@change=\x22enableIndexes\x20=\x20$el.checked\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>Indexes\x20<span\x20style=\x22opacity:.4;\x20font-size:11px;\x22>({{\x20preset.indexes.length\x20}})</span></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22dm-check-label\x22\x20:style=\x22!preset.fts.length\x20?\x20\x27opacity:.4;\x20pointer-events:none;\x27\x20:\x20\x27\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22checkbox\x22\x20:checked=\x22enableFts\x22\x20@change=\x22enableFts\x20=\x20$el.checked\x22\x20:disabled=\x22!preset.fts.length\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>Full-text\x20search\x20<span\x20style=\x22opacity:.4;\x20font-size:11px;\x22>({{\x20preset.fts.length\x20}})</span></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</label>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20<!--\x20Summary\x20pill\x20-->\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-summary\x22\x20:style=\x22\x27border-color:\x27\x20+\x20preset.color\x20+\x20\x2733;\x20background:\x27\x20+\x20preset.glow\x20+\x20\x27;\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22opacity:.7;\x22>Will\x20create</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<b\x20:style=\x22\x27color:\x27\x20+\x20preset.color\x20+\x20\x27;\x27\x22>{{\x20totalRecords.toLocaleString()\x20}}</b>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22opacity:.7;\x22>records\x20across</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<b>{{\x20preset.types.length\x20}}</b>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22opacity:.7;\x22>types</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22enableIndexes\x20&&\x20preset.indexes.length\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22opacity:.4;\x22>·</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<b\x20style=\x22color:var(--okdb-purple);\x22>{{\x20preset.indexes.length\x20}}</b>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22opacity:.7;\x22>indexes</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22enableFts\x20&&\x20preset.fts.length\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22opacity:.4;\x22>·</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<b\x20style=\x22color:var(--okdb-accent);\x22>FTS</b>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22opacity:.4;\x22>→</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<b\x20style=\x22font-family:monospace;\x20font-size:12px;\x22>{{\x20envName\x20||\x20\x27…\x27\x20}}</b>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-footer\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22cancel()\x22>Cancel</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22dm-gen-btn\x22\x20:disabled=\x22!envName.trim()\x22\x20@click=\x22start()\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22\x27--pc:\x27\x20+\x20preset.color\x20+\x20\x27;\x20--pg:\x27\x20+\x20preset.glow\x20+\x20\x27;\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20✦\x20Generate\x20{{\x20totalRecords.toLocaleString()\x20}}\x20records\x0a\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<!--\x20══\x20STEP:\x20Generating\x20═════════════════════════════════════════════════════\x20-->\x0a\x20\x20<if\x20:=\x22step\x20===\x20\x27generating\x27\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:14px;\x22>\x0a\x0a\x20\x20\x20\x20\x20\x20<!--\x20Header\x20/\x20overall\x20progress\x20-->\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-gen-header\x22\x20:style=\x22\x27--pc:\x27\x20+\x20preset.color\x20+\x20\x27;\x20--pg:\x27\x20+\x20preset.glow\x20+\x20\x27;\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20align-items:center;\x20gap:10px;\x20margin-bottom:12px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22dm-pulsing-icon\x22>{{\x20preset.icon\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-weight:600;\x20font-size:14px;\x22>Generating\x20{{\x20preset.name\x20}}\x20data…</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22margin-left:auto;\x20font-family:monospace;\x20font-size:13px;\x20opacity:.55;\x22>{{\x20progressPct\x20}}%</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-progress-track\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-progress-fill\x20dm-progress-fill--shimmer\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22\x27width:\x27\x20+\x20progressPct\x20+\x20\x27%;\x20background:\x27\x20+\x20preset.color\x20+\x20\x27;\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20<!--\x20Per-step\x20rows\x20-->\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-steps\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20as=\x22repeat\x22\x20:of=\x22progress\x22\x20let:item=\x22p\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20class=\x22dm-step\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22\x27dm-step--\x27\x20+\x20p.status\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22dm-step__icon\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22p.status\x20===\x20\x27running\x27\x22><span\x20class=\x22dm-spin\x22>◌</span></if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22p.status\x20===\x20\x27done\x27\x22>✓</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22p.status\x20===\x20\x27error\x27\x22>✗</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22p.status\x20===\x20\x27pending\x27\x22>{{\x20p.icon\x20}}</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22dm-step__label\x22>{{\x20p.label\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22p.total\x20>\x201\x20&&\x20p.status\x20!==\x20\x27pending\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22dm-step__count\x22>{{\x20p.done.toLocaleString()\x20}}\x20/\x20{{\x20p.total.toLocaleString()\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22p.total\x20>\x201\x20&&\x20p.status\x20===\x20\x27running\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-step__mini-bar\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-step__mini-fill\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22\x27width:\x27\x20+\x20(p.total\x20?\x20Math.round(p.done/p.total*100)\x20:\x200)\x20+\x20\x27%;\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20<if\x20:=\x22error\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-error\x22>✗\x20{{\x20error\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-footer\x22><button\x20@click=\x22cancel()\x22>Close</button></div>\x0a\x20\x20\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<!--\x20══\x20STEP:\x20Done\x20═══════════════════════════════════════════════════════════\x20-->\x0a\x20\x20<if\x20:=\x22step\x20===\x20\x27done\x27\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20align-items:center;\x20gap:22px;\x20padding:12px\x200\x206px;\x22>\x0a\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-done-orb\x22\x20:style=\x22\x27--pc:\x27\x20+\x20preset.color\x20+\x20\x27;\x20--pg:\x27\x20+\x20preset.glow\x20+\x20\x27;\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22dm-done-orb__icon\x22>{{\x20preset.icon\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-done-orb__ring\x20dm-done-orb__ring--1\x22></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-done-orb__ring\x20dm-done-orb__ring--2\x22></div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22text-align:center;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:22px;\x20font-weight:700;\x20margin-bottom:8px;\x22>Environment\x20Ready!</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:13px;\x20font-family:monospace;\x20opacity:.5;\x20letter-spacing:.05em;\x22>{{\x20resultStats?.env\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-done-stats\x22\x20:style=\x22\x27--pc:\x27\x20+\x20preset.color\x20+\x20\x27;\x20--pg:\x27\x20+\x20preset.glow\x20+\x20\x27;\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-stat\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-stat__val\x22\x20style=\x22color:var(--okdb-success);\x22>{{\x20resultStats?.totalRecords?.toLocaleString()\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-stat__lbl\x22>Records</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-stat-divider\x22></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-stat\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-stat__val\x22\x20style=\x22color:var(--okdb-purple);\x22>{{\x20Object.keys(resultStats?.types\x20??\x20{}).length\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-stat__lbl\x22>Types</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-stat-divider\x22></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-stat\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-stat__val\x22\x20style=\x22color:var(--okdb-accent);\x22>{{\x20resultStats?.indexes\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-stat__lbl\x22>Indexes</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22resultStats?.fts\x20>\x200\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-stat-divider\x22></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-stat\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-stat__val\x22\x20style=\x22color:var(--okdb-warning);\x22>{{\x20resultStats?.fts\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-stat__lbl\x22>FTS</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20gap:10px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22cancel()\x22>Close</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22dm-gen-btn\x22\x20@click=\x22openEnv()\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22\x27--pc:\x27\x20+\x20preset.color\x20+\x20\x27;\x20--pg:\x27\x20+\x20preset.glow\x20+\x20\x27;\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Open\x20Environment\x20→\x0a\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a</div>','Frank','architecture','seo','Geo-indexed\x20places\x20&\x20people','emp','Tara','Silver','Boutique','Observability\x20and\x20Monitoring\x20at\x20Scale','cityexplorer','Remote\x20worker\x20building\x20a\x20list\x20of\x20the\x20world\x27s\x20best\x20coworking-friendly\x20cafes.','department','City\x20History','tools','Carter','Wolf','This\x20article\x20covers\x20the\x20essentials\x20you\x20need\x20to\x20know.\x20We\x20explore\x20key\x20concepts,\x20practical\x20examples,\x20and\x20real-world\x20applications\x20that\x20you\x20can\x20apply\x20immediately.\x20Whether\x20you\x27re\x20a\x20beginner\x20or\x20an\x20experienced\x20professional,\x20you\x27ll\x20find\x20actionable\x20insights\x20here.','Dubai','$attr','Data\x20Pipeline','Posts','linkedin.com','Stag','Deli','archived','Sydney','Camera','Fresh','_start','_addStep','Data\x20Warehouse','Finance','Designer','processing','growth','Copper','Liam','Flex','design','Analytics\x20Dashboard','Little','Nook','tags','Rachel','fields','Premium','Vibe','SQL','demo-places','modal','data:','location','Stand','type','Rusty','post','performance','Deep\x20Dive\x20into\x20Machine\x20Learning\x20Basics','Performance','Marketing','cust','count','employees','Amsterdam','tutorial','Space','places','authorId','David','completed','/products','Why\x20','Open','Contemporary\x20space\x20blending\x20design,\x20sustainability\x20and\x20an\x20outstanding\x20experience.','github.com','Nothing\x20groundbreaking\x20but\x20solid\x20and\x20reliable.','replace','defaultCount','Night\x20owl\x20and\x20cocktail\x20connoisseur\x20—\x20on\x20a\x20mission\x20to\x20try\x20every\x20great\x20bar\x20in\x20town.','Great\x20atmosphere\x20and\x20incredibly\x20friendly\x20staff.','Small','shipped','/dashboard','Sam','Jolly','Co-op','Exactly\x20what\x20I\x20needed\x20today\x20—\x20no\x20complaints.','Tokyo','in-progress','Old','Places','var(--okdb-purple)','Clothing','defaultEnv','/pricing','split','\x20in\x20depth\x20—\x20with\x20practical\x20examples.','react','Architecture\x20&\x20Design','Database\x20Indexing\x20Deep\x20Dive','pending','Using\x20it\x20every\x20day.','Tiny','Would\x20recommend\x20to\x20friends.','prod','Supply','40fVCdJt','Local','\x20across\x20the\x20organisation.','Functional\x20Programming\x20in\x20JavaScript','person','Documentation\x20Site','I\x20disagree\x20with\x20some\x20points\x20but\x20overall\x20great\x20read.','Departments','Kotlin','\x20failed','Green','_tick','Modern\x20establishment\x20with\x20a\x20focus\x20on\x20quality\x20and\x20an\x20unforgettable\x20guest\x20experience.','low','Works','Content\x20Hub','Authors','Seoul','Getting\x20Started\x20with\x20Modern\x20Web\x20Development','Large','graphql','Huge','bronze','667938RkUpaV','Security','781106EyeAXm','toLowerCase','Mobile\x20App\x20v2','rev','Nomad','message','Dark','type:','Health','postId','restaurant','types','geo','resultStats','cafe','gym','find','Noah','Iconic\x20neighbourhood\x20institution\x20beloved\x20for\x20its\x20authenticity\x20and\x20character.','api','React','round','Apex','Highly\x20recommend','Lift','Admin\x20Console','category','Alice','Royal','Market','Might\x20return\x20it.','Berlin','proton.me','posts','docker','Smith','user','Press','indexes','completedSteps','step','Fit','Index','lead','Vega','Taylor','Zhang','\x22\x20failed','GraphQL\x20Best\x20Practices\x20for\x20Production','Skyline','css','API','Developer\x20SDK','padStart','/docs','envName','Force','download','yahoo.com','demo-env-modal','content','\x20Place','1044692Gxcbhv','Frontend','UrbanGear','Popular\x20spot\x20among\x20locals\x20for\x20its\x20relaxed\x20vibe\x20and\x20consistently\x20high\x20standards.','Release\x20Automation','SKU-','google.com','Still\x20testing\x20it\x20out.','lon','Living\x20Culture','bar','Posts,\x20authors\x20&\x20comments','Vienna','Exactly\x20as\x20described','Microservices\x20vs\x20Monolith:\x20When\x20to\x20Choose','Urban','Espresso','customers','Rabbit','Lucky','/env/','Foster','length','people','color-mix(in\x20srgb,\x20var(--okdb-success)\x2020%,\x20transparent)','Local\x20guide\x20and\x20travel\x20blogger\x20sharing\x20the\x20best\x20spots\x20in\x20every\x20city\x20I\x20visit.','Lifelong\x20traveller\x20collecting\x20experiences,\x20flavours\x20and\x20stories\x20from\x20around\x20the\x20globe.','Dock','San\x20Francisco','Create\x20environment\x20\x22','Desk','Coordinator','Insert\x20','6107292pBKbhb','purchase','pageview','2574632xKIuuS','/envs','Victoria','Highland','FTS\x20\x22','country','departments','/type/','lat','JavaScript','Lux','level','var(--okdb-danger)','Backpack','Kubernetes','Iris','signup','Goods','testing','key','var(--okdb-accent)','9JArHHz','Garden','Fitness\x20fanatic,\x20craft\x20beer\x20lover\x20and\x20weekend\x20market\x20explorer.','Owl','auth','totalSteps','Bean','push','Lead','Dog','Move','Urban\x20explorer\x20with\x20a\x20passion\x20for\x20hole-in-the-wall\x20spots\x20and\x20authentic\x20local\x20culture.','Mumbai','fts','typeCounts','min','\x0a/*\x20──\x20Root\x20────────────────────────────────────────────────────\x20*/\x0a.dm\x20{\x0a\x20\x20min-width:\x20560px;\x0a\x20\x20max-width:\x20660px;\x0a}\x0a\x0a/*\x20──\x20Hero\x20────────────────────────────────────────────────────\x20*/\x0a.dm-hero\x20{\x0a\x20\x20text-align:\x20center;\x0a\x20\x20padding:\x204px\x200\x2018px;\x0a}\x0a.dm-hero__sparkle\x20{\x0a\x20\x20font-size:\x2030px;\x0a\x20\x20margin-bottom:\x2010px;\x0a\x20\x20background:\x20linear-gradient(135deg,\x20var(--okdb-accent),\x20var(--okdb-purple)\x2040%,\x20var(--okdb-success)\x2075%,\x20var(--okdb-warning));\x0a\x20\x20-webkit-background-clip:\x20text;\x0a\x20\x20-webkit-text-fill-color:\x20transparent;\x0a\x20\x20background-clip:\x20text;\x0a\x20\x20animation:\x20dm-hue\x206s\x20linear\x20infinite;\x0a\x20\x20display:\x20inline-block;\x0a}\x0a.dm-hero__title\x20{\x0a\x20\x20font-size:\x2020px;\x0a\x20\x20font-weight:\x20700;\x0a\x20\x20margin-bottom:\x208px;\x0a\x20\x20background:\x20linear-gradient(135deg,\x20var(--okdb-app-fg),\x20#ffffff);\x0a\x20\x20-webkit-background-clip:\x20text;\x0a\x20\x20-webkit-text-fill-color:\x20transparent;\x0a\x20\x20background-clip:\x20text;\x0a}\x0a.dm-hero__sub\x20{\x0a\x20\x20font-size:\x2013px;\x0a\x20\x20opacity:\x20.55;\x0a\x20\x20max-width:\x20400px;\x0a\x20\x20margin:\x200\x20auto;\x0a\x20\x20line-height:\x201.65;\x0a}\x0a\x0a/*\x20──\x20Preset\x20grid\x20─────────────────────────────────────────────\x20*/\x0a.dm-presets\x20{\x0a\x20\x20display:\x20grid;\x0a\x20\x20grid-template-columns:\x201fr\x201fr;\x0a\x20\x20gap:\x2010px;\x0a\x20\x20padding:\x204px\x200\x2018px;\x0a}\x0a.dm-preset\x20{\x0a\x20\x20position:\x20relative;\x0a\x20\x20display:\x20flex;\x0a\x20\x20flex-direction:\x20column;\x0a\x20\x20gap:\x205px;\x0a\x20\x20padding:\x2018px\x2018px\x2014px;\x0a\x20\x20background:\x20var(--okdb-app-bg-deep);\x0a\x20\x20border:\x201px\x20solid\x20var(--okdb-app-border);\x0a\x20\x20border-radius:\x2014px;\x0a\x20\x20cursor:\x20pointer;\x0a\x20\x20text-align:\x20left;\x0a\x20\x20overflow:\x20hidden;\x0a\x20\x20transition:\x20border-color\x20.2s,\x20transform\x20.2s,\x20box-shadow\x20.2s;\x0a}\x0a/*\x20City\x20Explorer:\x20spans\x20both\x20columns\x20with\x20a\x20horizontal\x20layout\x20*/\x0a.dm-preset--geo\x20{\x0a\x20\x20grid-column:\x201\x20/\x20-1;\x0a\x20\x20flex-direction:\x20row;\x0a\x20\x20align-items:\x20center;\x0a\x20\x20gap:\x2016px;\x0a\x20\x20padding:\x2016px\x2020px;\x0a}\x0a.dm-preset--geo\x20.dm-preset__icon\x20{\x0a\x20\x20font-size:\x2032px;\x0a\x20\x20flex-shrink:\x200;\x0a}\x0a.dm-preset--geo\x20.dm-preset__name,\x0a.dm-preset--geo\x20.dm-preset__tag,\x0a.dm-preset--geo\x20.dm-preset__chips\x20{\x20}\x0a.dm-preset--geo\x20.dm-preset__name\x20{\x20font-size:\x2016px;\x20}\x0a.dm-preset--geo\x20.dm-preset__arrow\x20{\x0a\x20\x20margin-left:\x20auto;\x0a\x20\x20position:\x20static;\x0a\x20\x20font-size:\x2016px;\x0a\x20\x20opacity:\x20.3;\x0a\x20\x20transition:\x20opacity\x20.2s,\x20transform\x20.2s;\x0a}\x0a.dm-preset--geo:hover\x20.dm-preset__arrow\x20{\x20opacity:\x20.9;\x20transform:\x20translateX(4px);\x20}\x0a/*\x20Geo\x20pulse\x20ring\x20on\x20the\x20icon\x20*/\x0a.dm-preset--geo\x20.dm-preset__icon::after\x20{\x0a\x20\x20content:\x20\x27\x27;\x0a\x20\x20position:\x20absolute;\x0a\x20\x20width:\x2048px;\x0a\x20\x20height:\x2048px;\x0a\x20\x20border-radius:\x2050%;\x0a\x20\x20border:\x201px\x20solid\x20var(--pc,\x20var(--okdb-orange));\x0a\x20\x20opacity:\x200;\x0a\x20\x20animation:\x20dm-geo-ring\x202.5s\x20ease-out\x20infinite;\x0a}\x0a.dm-preset__bg\x20{\x0a\x20\x20position:\x20absolute;\x0a\x20\x20inset:\x200;\x0a\x20\x20background:\x20radial-gradient(circle\x20at\x2025%\x2025%,\x20var(--pg,\x20transparent),\x20transparent\x2065%);\x0a\x20\x20opacity:\x200;\x0a\x20\x20transition:\x20opacity\x20.3s;\x0a\x20\x20pointer-events:\x20none;\x0a}\x0a.dm-preset:hover\x20{\x0a\x20\x20border-color:\x20var(--pc,\x20var(--okdb-accent));\x0a\x20\x20box-shadow:\x200\x200\x200\x201px\x20var(--pc,\x20var(--okdb-accent))33,\x200\x208px\x2028px\x20var(--pg,\x20transparent);\x0a\x20\x20transform:\x20translateY(-2px);\x0a}\x0a.dm-preset--geo:hover\x20{\x20transform:\x20translateY(-2px);\x20}\x0a.dm-preset:hover\x20.dm-preset__bg\x20{\x20opacity:\x201;\x20}\x0a.dm-preset__icon\x20{\x0a\x20\x20font-size:\x2026px;\x0a\x20\x20line-height:\x201;\x0a\x20\x20margin-bottom:\x204px;\x0a\x20\x20filter:\x20drop-shadow(0\x200\x208px\x20var(--pc,\x20#fff));\x0a\x20\x20position:\x20relative;\x0a}\x0a.dm-preset__name\x20{\x0a\x20\x20font-size:\x2015px;\x0a\x20\x20font-weight:\x20700;\x0a\x20\x20color:\x20var(--pc,\x20#fff);\x0a\x20\x20position:\x20relative;\x0a}\x0a.dm-preset__tag\x20{\x0a\x20\x20font-size:\x2012px;\x0a\x20\x20opacity:\x20.5;\x0a\x20\x20line-height:\x201.4;\x0a\x20\x20position:\x20relative;\x0a}\x0a.dm-preset__chips\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20gap:\x205px;\x0a\x20\x20font-size:\x2011px;\x0a\x20\x20opacity:\x20.45;\x0a\x20\x20margin-top:\x205px;\x0a\x20\x20position:\x20relative;\x0a\x20\x20flex-wrap:\x20wrap;\x0a\x20\x20align-items:\x20center;\x0a}\x0a.dm-chip-dot\x20{\x20opacity:\x20.5;\x20}\x0a.dm-preset__arrow\x20{\x0a\x20\x20position:\x20absolute;\x0a\x20\x20bottom:\x2014px;\x0a\x20\x20right:\x2016px;\x0a\x20\x20font-size:\x2014px;\x0a\x20\x20opacity:\x20.2;\x0a\x20\x20transition:\x20opacity\x20.2s,\x20transform\x20.2s;\x0a}\x0a.dm-preset:not(.dm-preset--geo):hover\x20.dm-preset__arrow\x20{\x20opacity:\x20.8;\x20transform:\x20translateX(3px);\x20}\x0a@keyframes\x20dm-geo-ring\x20{\x0a\x20\x200%\x20\x20\x20{\x20opacity:\x20.6;\x20transform:\x20scale(.6);\x20}\x0a\x20\x20100%\x20{\x20opacity:\x200;\x20\x20transform:\x20scale(2.2);\x20}\x0a}\x0a\x0a/*\x20──\x20Back\x20button\x20─────────────────────────────────────────────\x20*/\x0a.dm-back-btn\x20{\x0a\x20\x20font-size:\x2016px;\x0a\x20\x20padding:\x203px\x2010px;\x0a\x20\x20opacity:\x20.5;\x0a\x20\x20border-radius:\x206px;\x0a\x20\x20transition:\x20opacity\x20.15s;\x0a}\x0a.dm-back-btn:hover\x20{\x20opacity:\x201;\x20}\x0a\x0a/*\x20──\x20Preset\x20badge\x20(configure\x20step)\x20──────────────────────────\x20*/\x0a.dm-preset-badge\x20{\x0a\x20\x20font-size:\x2022px;\x0a\x20\x20display:\x20inline-flex;\x0a\x20\x20align-items:\x20center;\x0a\x20\x20justify-content:\x20center;\x0a\x20\x20width:\x2036px;\x0a\x20\x20height:\x2036px;\x0a\x20\x20border-radius:\x2010px;\x0a\x20\x20background:\x20var(--pg,\x20var(--okdb-app-surface));\x0a\x20\x20border:\x201px\x20solid\x20var(--pc,\x20var(--okdb-app-border))33;\x0a\x20\x20filter:\x20drop-shadow(0\x200\x208px\x20var(--pc,\x20transparent));\x0a}\x0a\x0a/*\x20──\x20Scale\x20buttons\x20───────────────────────────────────────────\x20*/\x0a.dm-scale-btn\x20{\x0a\x20\x20padding:\x205px\x2012px;\x0a\x20\x20font-size:\x2012px;\x0a\x20\x20border-radius:\x207px;\x0a\x20\x20border:\x201px\x20solid\x20var(--okdb-app-border);\x0a\x20\x20transition:\x20all\x20.15s;\x0a}\x0a.dm-scale-btn--active\x20{\x0a\x20\x20background:\x20var(--pc,\x20var(--okdb-accent))22\x20!important;\x0a\x20\x20border-color:\x20var(--pc,\x20var(--okdb-accent))\x20!important;\x0a\x20\x20color:\x20var(--pc,\x20var(--okdb-accent))\x20!important;\x0a\x20\x20font-weight:\x20600;\x0a}\x0a\x0a/*\x20──\x20Type\x20count\x20table\x20────────────────────────────────────────\x20*/\x0a.dm-type-table\x20{\x0a\x20\x20background:\x20var(--okdb-app-bg-deep);\x0a\x20\x20border:\x201px\x20solid\x20var(--okdb-app-surface);\x0a\x20\x20border-radius:\x209px;\x0a\x20\x20overflow:\x20hidden;\x0a}\x0a.dm-type-row\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20align-items:\x20center;\x0a\x20\x20gap:\x2010px;\x0a\x20\x20padding:\x208px\x2014px;\x0a\x20\x20border-bottom:\x201px\x20solid\x20var(--okdb-app-border);\x0a}\x0a.dm-type-row:last-child\x20{\x20border-bottom:\x20none;\x20}\x0a.dm-type-row__name\x20{\x0a\x20\x20font-family:\x20monospace;\x0a\x20\x20font-size:\x2012px;\x0a\x20\x20width:\x2090px;\x0a\x20\x20flex-shrink:\x200;\x0a\x20\x20opacity:\x20.8;\x0a}\x0a.dm-type-row__bar-wrap\x20{\x0a\x20\x20flex:\x201;\x0a\x20\x20height:\x204px;\x0a\x20\x20background:\x20var(--okdb-app-surface);\x0a\x20\x20border-radius:\x202px;\x0a\x20\x20overflow:\x20hidden;\x0a}\x0a.dm-type-row__bar\x20{\x0a\x20\x20height:\x20100%;\x0a\x20\x20border-radius:\x202px;\x0a\x20\x20transition:\x20width\x20.25s\x20ease-out;\x0a\x20\x20min-width:\x204px;\x0a}\x0a.dm-type-row__count\x20{\x0a\x20\x20font-family:\x20monospace;\x0a\x20\x20font-size:\x2012px;\x0a\x20\x20font-weight:\x20600;\x0a\x20\x20width:\x2070px;\x0a\x20\x20text-align:\x20right;\x0a\x20\x20flex-shrink:\x200;\x0a}\x0a\x0a/*\x20──\x20Checkbox\x20labels\x20─────────────────────────────────────────\x20*/\x0a.dm-check-label\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20align-items:\x20center;\x0a\x20\x20gap:\x207px;\x0a\x20\x20cursor:\x20pointer;\x0a\x20\x20font-size:\x2013px;\x0a\x20\x20user-select:\x20none;\x0a}\x0a\x0a/*\x20──\x20Summary\x20pill\x20────────────────────────────────────────────\x20*/\x0a.dm-summary\x20{\x0a\x20\x20padding:\x2010px\x2014px;\x0a\x20\x20border-radius:\x209px;\x0a\x20\x20border:\x201px\x20solid\x20var(--okdb-app-border);\x0a\x20\x20font-size:\x2013px;\x0a\x20\x20display:\x20flex;\x0a\x20\x20gap:\x205px;\x0a\x20\x20align-items:\x20center;\x0a\x20\x20flex-wrap:\x20wrap;\x0a\x20\x20line-height:\x201.6;\x0a}\x0a\x0a/*\x20──\x20Generate\x20button\x20─────────────────────────────────────────\x20*/\x0a.dm-gen-btn\x20{\x0a\x20\x20background:\x20var(--pg,\x20color-mix(in\x20srgb,\x20var(--okdb-accent)\x207%,\x20transparent))\x20!important;\x0a\x20\x20border:\x201px\x20solid\x20var(--pc,\x20var(--okdb-accent))\x20!important;\x0a\x20\x20color:\x20var(--pc,\x20var(--okdb-accent))\x20!important;\x0a\x20\x20font-weight:\x20700;\x0a\x20\x20font-size:\x2013px;\x0a\x20\x20padding:\x207px\x2020px;\x0a\x20\x20border-radius:\x208px;\x0a\x20\x20transition:\x20all\x20.2s;\x0a\x20\x20letter-spacing:\x20.01em;\x0a}\x0a.dm-gen-btn:hover:not(:disabled)\x20{\x0a\x20\x20background:\x20var(--pc,\x20var(--okdb-accent))33\x20!important;\x0a\x20\x20box-shadow:\x200\x200\x2020px\x20var(--pc,\x20var(--okdb-accent))44;\x0a}\x0a.dm-gen-btn:disabled\x20{\x0a\x20\x20opacity:\x20.4;\x0a\x20\x20cursor:\x20not-allowed;\x0a}\x0a\x0a/*\x20──\x20Footer\x20row\x20──────────────────────────────────────────────\x20*/\x0a.dm-footer\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20gap:\x208px;\x0a\x20\x20justify-content:\x20flex-end;\x0a\x20\x20padding-top:\x2012px;\x0a\x20\x20border-top:\x201px\x20solid\x20var(--okdb-app-surface);\x0a}\x0a\x0a/*\x20──\x20Generation\x20header\x20───────────────────────────────────────\x20*/\x0a.dm-gen-header\x20{\x0a\x20\x20padding:\x2014px\x2016px;\x0a\x20\x20background:\x20var(--okdb-app-bg-deep);\x0a\x20\x20border:\x201px\x20solid\x20var(--okdb-app-surface);\x0a\x20\x20border-radius:\x2010px;\x0a\x20\x20box-shadow:\x20inset\x200\x200\x2040px\x20var(--pg,\x20transparent);\x0a}\x0a.dm-pulsing-icon\x20{\x0a\x20\x20font-size:\x2020px;\x0a\x20\x20display:\x20inline-block;\x0a\x20\x20animation:\x20dm-pulse\x201.5s\x20ease-in-out\x20infinite;\x0a\x20\x20filter:\x20drop-shadow(0\x200\x206px\x20var(--pc,\x20transparent));\x0a}\x0a.dm-progress-track\x20{\x0a\x20\x20height:\x207px;\x0a\x20\x20background:\x20var(--okdb-app-surface);\x0a\x20\x20border-radius:\x204px;\x0a\x20\x20overflow:\x20hidden;\x0a}\x0a.dm-progress-fill\x20{\x0a\x20\x20height:\x20100%;\x0a\x20\x20border-radius:\x204px;\x0a\x20\x20transition:\x20width\x20.35s\x20ease-out;\x0a\x20\x20position:\x20relative;\x0a}\x0a.dm-progress-fill--shimmer::after\x20{\x0a\x20\x20content:\x20\x27\x27;\x0a\x20\x20position:\x20absolute;\x0a\x20\x20inset:\x200;\x0a\x20\x20background:\x20linear-gradient(90deg,\x20transparent,\x20rgba(255,255,255,.25),\x20transparent);\x0a\x20\x20animation:\x20dm-shimmer\x201.5s\x20linear\x20infinite;\x0a}\x0a\x0a/*\x20──\x20Step\x20rows\x20───────────────────────────────────────────────\x20*/\x0a.dm-steps\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20flex-direction:\x20column;\x0a\x20\x20gap:\x202px;\x0a\x20\x20max-height:\x20320px;\x0a\x20\x20overflow-y:\x20auto;\x0a\x20\x20padding-right:\x204px;\x0a}\x0a.dm-step\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20align-items:\x20center;\x0a\x20\x20gap:\x209px;\x0a\x20\x20padding:\x207px\x2010px;\x0a\x20\x20border-radius:\x207px;\x0a\x20\x20font-size:\x2012px;\x0a\x20\x20transition:\x20background\x20.1s;\x0a}\x0a.dm-step--pending\x20\x20{\x20opacity:\x20.32;\x20}\x0a.dm-step--running\x20\x20{\x20background:\x20var(--okdb-app-surface);\x20opacity:\x201;\x20}\x0a.dm-step--done\x20\x20\x20\x20\x20{\x20opacity:\x20.6;\x20}\x0a.dm-step--error\x20\x20\x20\x20{\x20background:\x20var(--okdb-danger-deep-bg);\x20opacity:\x201;\x20}\x0a.dm-step__icon\x20{\x0a\x20\x20width:\x2018px;\x0a\x20\x20text-align:\x20center;\x0a\x20\x20flex-shrink:\x200;\x0a\x20\x20font-size:\x2012px;\x0a}\x0a.dm-step--done\x20.dm-step__icon\x20\x20{\x20color:\x20var(--okdb-success);\x20}\x0a.dm-step--running\x20.dm-step__icon\x20{\x20color:\x20var(--okdb-accent);\x20}\x0a.dm-step--error\x20.dm-step__icon\x20{\x20color:\x20var(--okdb-danger);\x20}\x0a.dm-step__label\x20{\x20flex:\x201;\x20}\x0a.dm-step__count\x20{\x0a\x20\x20font-size:\x2011px;\x0a\x20\x20font-family:\x20monospace;\x0a\x20\x20opacity:\x20.5;\x0a\x20\x20flex-shrink:\x200;\x0a}\x0a.dm-step__mini-bar\x20{\x0a\x20\x20width:\x2070px;\x0a\x20\x20height:\x203px;\x0a\x20\x20background:\x20var(--okdb-app-surface);\x0a\x20\x20border-radius:\x202px;\x0a\x20\x20overflow:\x20hidden;\x0a\x20\x20flex-shrink:\x200;\x0a}\x0a.dm-step__mini-fill\x20{\x0a\x20\x20height:\x20100%;\x0a\x20\x20background:\x20var(--okdb-accent);\x0a\x20\x20border-radius:\x202px;\x0a\x20\x20transition:\x20width\x20.2s\x20ease-out;\x0a}\x0a\x0a/*\x20──\x20Error\x20banner\x20────────────────────────────────────────────\x20*/\x0a.dm-error\x20{\x0a\x20\x20color:\x20var(--okdb-danger);\x0a\x20\x20font-size:\x2013px;\x0a\x20\x20padding:\x209px\x2013px;\x0a\x20\x20background:\x20var(--okdb-danger-deep-bg);\x0a\x20\x20border:\x201px\x20solid\x20color-mix(in\x20srgb,\x20var(--okdb-danger)\x2020%,\x20transparent);\x0a\x20\x20border-radius:\x207px;\x0a}\x0a\x0a/*\x20──\x20Done\x20orb\x20────────────────────────────────────────────────\x20*/\x0a.dm-done-orb\x20{\x0a\x20\x20position:\x20relative;\x0a\x20\x20width:\x2096px;\x0a\x20\x20height:\x2096px;\x0a\x20\x20display:\x20flex;\x0a\x20\x20align-items:\x20center;\x0a\x20\x20justify-content:\x20center;\x0a}\x0a.dm-done-orb__icon\x20{\x0a\x20\x20font-size:\x2040px;\x0a\x20\x20position:\x20relative;\x0a\x20\x20z-index:\x202;\x0a\x20\x20filter:\x20drop-shadow(0\x200\x2016px\x20var(--pc,\x20var(--okdb-accent)));\x0a\x20\x20animation:\x20dm-pulse\x202.5s\x20ease-in-out\x20infinite;\x0a}\x0a.dm-done-orb__ring\x20{\x0a\x20\x20position:\x20absolute;\x0a\x20\x20inset:\x200;\x0a\x20\x20border-radius:\x2050%;\x0a\x20\x20border:\x201px\x20solid\x20var(--pc,\x20var(--okdb-accent));\x0a}\x0a.dm-done-orb__ring--1\x20{\x0a\x20\x20opacity:\x20.4;\x0a\x20\x20animation:\x20dm-ring-pulse\x202s\x20ease-in-out\x20infinite;\x0a}\x0a.dm-done-orb__ring--2\x20{\x0a\x20\x20opacity:\x20.2;\x0a\x20\x20animation:\x20dm-ring-pulse\x202s\x20ease-in-out\x20infinite\x20.7s;\x0a\x20\x20transform:\x20scale(1.3);\x0a}\x0a\x0a/*\x20──\x20Done\x20stats\x20──────────────────────────────────────────────\x20*/\x0a.dm-done-stats\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20align-items:\x20center;\x0a\x20\x20gap:\x2020px;\x0a\x20\x20padding:\x2016px\x2032px;\x0a\x20\x20background:\x20var(--okdb-app-bg-deep);\x0a\x20\x20border:\x201px\x20solid\x20var(--pc,\x20var(--okdb-accent))33;\x0a\x20\x20border-radius:\x2014px;\x0a\x20\x20box-shadow:\x200\x200\x2030px\x20var(--pg,\x20transparent);\x0a}\x0a.dm-stat\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20flex-direction:\x20column;\x0a\x20\x20align-items:\x20center;\x0a\x20\x20gap:\x205px;\x0a}\x0a.dm-stat__val\x20{\x0a\x20\x20font-size:\x2028px;\x0a\x20\x20font-weight:\x20800;\x0a\x20\x20line-height:\x201;\x0a\x20\x20letter-spacing:\x20-.02em;\x0a}\x0a.dm-stat__lbl\x20{\x0a\x20\x20font-size:\x2010px;\x0a\x20\x20text-transform:\x20uppercase;\x0a\x20\x20letter-spacing:\x20.08em;\x0a\x20\x20opacity:\x20.45;\x0a}\x0a.dm-stat-divider\x20{\x0a\x20\x20width:\x201px;\x0a\x20\x20height:\x2036px;\x0a\x20\x20background:\x20var(--okdb-app-border);\x0a\x20\x20flex-shrink:\x200;\x0a}\x0a\x0a/*\x20──\x20Animations\x20──────────────────────────────────────────────\x20*/\x0a@keyframes\x20dm-hue\x20{\x0a\x20\x20from\x20{\x20filter:\x20hue-rotate(0deg);\x20}\x0a\x20\x20to\x20\x20\x20{\x20filter:\x20hue-rotate(360deg);\x20}\x0a}\x0a@keyframes\x20dm-pulse\x20{\x0a\x20\x200%,\x20100%\x20{\x20transform:\x20scale(1);\x20}\x0a\x20\x2050%\x20\x20\x20\x20\x20\x20\x20{\x20transform:\x20scale(1.12);\x20}\x0a}\x0a@keyframes\x20dm-ring-pulse\x20{\x0a\x20\x200%,\x20100%\x20{\x20opacity:\x20.3;\x20transform:\x20scale(1);\x20}\x0a\x20\x2050%\x20\x20\x20\x20\x20\x20\x20{\x20opacity:\x20.7;\x20transform:\x20scale(1.1);\x20}\x0a}\x0a@keyframes\x20dm-shimmer\x20{\x0a\x20\x20from\x20{\x20transform:\x20translateX(-100%);\x20}\x0a\x20\x20to\x20\x20\x20{\x20transform:\x20translateX(300%);\x20}\x0a}\x0a@keyframes\x20dm-spin\x20{\x0a\x20\x20from\x20{\x20transform:\x20rotate(0deg);\x20}\x0a\x20\x20to\x20\x20\x20{\x20transform:\x20rotate(360deg);\x20}\x0a}\x0a.dm-spin\x20{\x0a\x20\x20display:\x20inline-block;\x0a\x20\x20animation:\x20dm-spin\x201s\x20linear\x20infinite;\x0a}\x0a','Customers','max','Saved\x20me\x20hours\x20of\x20debugging.\x20Thank\x20you!','AWS','color-mix(in\x20srgb,\x20var(--okdb-accent)\x2020%,\x20transparent)','Grove','Tipsy','checkins','var(--okdb-success)','scale','gold','Would\x20love\x20to\x20see\x20a\x20follow-up\x20article\x20on\x20this\x20topic.','Operations','orders','label','reviews','Secure\x20by\x20Design:\x20API\x20Security\x20Patterns','title','totalRecords','gmail.com','products','Henry','Stone','close','/contact','Power','Analytics','Furniture','General','Pro','Docker','Ultra','Excellent\x20value','demo-analytics','Hub','Uma','/login','sessions','reliability','Table','direct','Eco','Employees','hackernews.com','\x20is\x20a\x20strategic\x20initiative\x20to\x20improve\x20','Architect','Lee','Parker','senior','Mobile','A\x20vibrant,\x20energetic\x20space\x20that\x20buzzes\x20with\x20life\x20from\x20morning\x20to\x20night.','park','color-mix(in\x20srgb,\x20var(--okdb-purple)\x2020%,\x20transparent)','/signup','Palazzo','error','Bob','New\x20York','Stylish\x20space\x20with\x20impeccable\x20service\x20and\x20an\x20Instagram-worthy\x20interior.','Analyst','Charger','Museum\x20of\x20','Chair','Shop','Rust','Lab','POST','name','Artisan','Stumbled\x20in\x20by\x20chance\x20and\x20absolutely\x20loved\x20it.','Passionate\x20foodie\x20and\x20amateur\x20photographer\x20exploring\x20the\x20city\x20one\x20café\x20at\x20a\x20time.','Tutorial','demo-shop','Cozy','Node.js','fts:','Heritage','Checkins','Imperial','Melbourne','stringify','Retreat','quality','Nano','City\x20Explorer','\x20team\x20drives\x20innovation\x20and\x20','TypeScript','Sports','\x22\x20on\x20','The\x20Future\x20of\x20Distributed\x20Systems','_done','Science\x20&\x20Technology','toLocaleString','Quarter','Insert\x20into\x20\x22','on-hold','Peter','Events','Core','device','node','Technology','Roasted','Top\x2010\x20UX\x20Patterns\x20for\x20Mobile\x20Apps','Just\x20implemented\x20this\x20—\x20worked\x20perfectly!','API\x20Gateway','Search\x20Engine','Lion','placeId','/blog','enableFts','One\x20of\x20my\x20absolute\x20favourites\x20in\x20the\x20city.','env','Carol','Makers','cmt','House','Consultant','Corner','open-source','Security\x20Hardening','total','Nice\x20vibes\x20but\x20gets\x20a\x20bit\x20crowded\x20on\x20weekends.','Paris','place','Horse','Quinn','Square','Museum\x20member,\x20park\x20runner\x20and\x20enthusiastic\x20brunch-seeker\x20on\x20weekends.','Register\x20type:\x20','Sunset','Toronto','efficiency','choose','outlook.com','aws','Hotel','toISOString','Martinez','Emma','Arc','Cloud','Rustic','description','Auth\x20Service','Bear','/settings','databases','tablet','Edge','Brew','/about','Peak','Watch','json','A\x20must-visit\x20destination\x20known\x20for\x20quality,\x20character\x20and\x20outstanding\x20hospitality.','Index\x20','generate','Active','Design','running','\x20Park','Intimate\x20and\x20unpretentious\x20—\x20the\x20kind\x20of\x20place\x20that\x20instantly\x20feels\x20like\x20home.','City','Disappointed','Barcelona','map','Hall','Deep\x20Dive:\x20','Database\x20Migration','Award-winning\x20venue\x20celebrating\x20local\x20culture,\x20craft\x20and\x20genuine\x20creativity.','reloadEnvs','London','reddit.com','critical','Communication','login','scroll','Black','python','generating','Expected\x20more','from','progress','Mia','Highly\x20rated\x20local\x20favourite\x20with\x20excellent\x20reviews\x20and\x20a\x20warm,\x20welcoming\x20atmosphere.','events','Harbour','$ok','Good\x20value\x20for\x20the\x20quality\x20of\x20the\x20experience.','Customer\x20Portal','Singapore','/index/','Green\x20Software\x20Engineering\x20Principles','analytics','shop','security','Engineer','twitter.com','Grand','Studio','\x20is\x20engineered\x20for\x20peak\x20performance\x20and\x20everyday\x20reliability.\x20Features\x20premium\x20materials\x20and\x20an\x20intuitive\x20design.','Nelson','Swift','The\x20Complete\x20Guide\x20to\x20Database\x20Optimization','Store','\x20years\x20of\x20experience\x20building\x20production\x20systems.','Loft','Room','Products','Platform\x20Rewrite','personId','Harbor','Highly\x20recommend\x20to\x20anyone\x20visiting\x20the\x20area.','Grind','AI-Assisted\x20Development\x20Workflows','Fox','done','📍\x20Geo\x20index','Normal','Walsh','stores','customerId','Hidden','Emporium','Books','sess','Events,\x20sessions\x20&\x20pageviews','/transaction','Products,\x20customers\x20&\x20orders','status','Opinion','Botanical','Building\x20Real-time\x20Dashboards','Data\x20Science','catch','77NJyMQT','Pod','floor','comments','Team\x20Directory','Performance\x20Audit','okdb','Amazing\x20experience,\x20will\x20definitely\x20be\x20back!','city','Eagle','Office','/fts/','principal','17280qKDptI','hotel','The\x20Ultimate\x20','search','Max','authors','Maison','Leadership','Create\x20env\x20failed\x20(','Yard','Brass','configure','Rome','var(--okdb-orange)','Orders','A\x20community\x20staple\x20for\x20years,\x20proudly\x20serving\x20residents\x20and\x20visitors\x20with\x20heart.','review','rating','mobile','Thanks\x20for\x20sharing\x20this.\x20Very\x20insightful.','Yusuf','E-Commerce','Safari','Partner\x20API','museum','\x20specialist\x20with\x20','The\x20','pageviews','A\x20perfect\x20spot\x20for\x20a\x20relaxed\x20afternoon.','7FjgIUi','accessibility','idx:','Building\x20Scalable\x20APIs\x20with\x20Node.js','Club','Great\x20article!\x20Really\x20helped\x20me\x20understand\x20the\x20concept.','tag','Residence','Ibrahim','ord','Craft','published','Zoe','devops','This\x20is\x20exactly\x20what\x20I\x20was\x20looking\x20for!','Mixed\x20feelings\x20overall.','State\x20Management\x20in\x20Modern\x20Frontend','now','Headphones','effectiveCounts','reduce','application/json','price','200082nPrpvI','Design\x20System','javascript','Hidden\x20gem\x20tucked\x20away\x20in\x20the\x20heart\x20of\x20the\x20city\x20—\x20loved\x20by\x20locals\x20and\x20visitors\x20alike.','Prime','slice','ecommerce','Coffee','Cape\x20Town','Engineering','form_submit','preset','A\x20Practical\x20Guide\x20to\x20','Kitchen','var(--okdb-warning)'];_0x9e93=function(){return _0x2d1eec;};return _0x9e93();}function makePRNG(_0x390191){let _0x457ee0=(0x9e3779b9^_0x390191)>>>0x0||0x1;return()=>(_0x457ee0^=_0x457ee0<<0xd,_0x457ee0^=_0x457ee0>>>0x11,_0x457ee0^=_0x457ee0<<0x5,(_0x457ee0>>>0x0)/0x100000000);}const pick=(_0x2dcf44,_0x2a825d)=>_0x2dcf44[Math[_0x5bb13f(0x28a)](_0x2a825d()*_0x2dcf44[_0x5bb13f(0x3bf)])],rng=(_0x15c291,_0x106661,_0x4221f9)=>Math[_0x5bb13f(0x28a)](_0x4221f9()*(_0x106661-_0x15c291+0x1))+_0x15c291,uid=(_0x3839fe,_0x1706e6)=>_0x3839fe+'-'+String(_0x1706e6)[_0x5bb13f(0x3a0)](0x4,'0'),email=(_0x432da0,_0x6c0980,_0x44d95d)=>_0x432da0[_0x5bb13f(0x36c)]()+'.'+_0x6c0980[_0x5bb13f(0x36c)]()+rng(0x1,0x63,_0x44d95d)+'@'+pick([_0x5bb13f(0x1af),_0x5bb13f(0x3a5),_0x5bb13f(0x222),_0x5bb13f(0x38b),'icloud.com'],_0x44d95d),dateAgo=(_0x3deed1,_0x5e59b8)=>new Date(Date[_0x5bb13f(0x2c3)]()-0x5265c00*rng(0x0,_0x3deed1,_0x5e59b8))[_0x5bb13f(0x225)]()[_0x5bb13f(0x347)]('T')[0x0],dateFwd=(_0x1d8535,_0x9f1eea)=>new Date(Date['now']()+0x5265c00*rng(0x1,_0x1d8535,_0x9f1eea))['toISOString']()['split']('T')[0x0],FIRST=[_0x5bb13f(0x386),_0x5bb13f(0x1d4),_0x5bb13f(0x20d),_0x5bb13f(0x32c),_0x5bb13f(0x227),_0x5bb13f(0x2e8),_0x5bb13f(0x2de),_0x5bb13f(0x1b1),_0x5bb13f(0x3dc),'Jack','Kate',_0x5bb13f(0x30c),_0x5bb13f(0x254),_0x5bb13f(0x37c),'Olivia',_0x5bb13f(0x1fc),'Quinn',_0x5bb13f(0x313),_0x5bb13f(0x33b),_0x5bb13f(0x2ed),_0x5bb13f(0x1bf),'Victor','Wendy',_0x5bb13f(0x2a9),_0x5bb13f(0x2be)],LAST=['Anderson','Brown',_0x5bb13f(0x2f6),'Davis','Evans',_0x5bb13f(0x3be),_0x5bb13f(0x35c),_0x5bb13f(0x243),_0x5bb13f(0x2ba),'Jones','King',_0x5bb13f(0x1ca),_0x5bb13f(0x226),_0x5bb13f(0x266),'Owen',_0x5bb13f(0x1cb),_0x5bb13f(0x21a),_0x5bb13f(0x2e1),_0x5bb13f(0x38e),_0x5bb13f(0x398),_0x5bb13f(0x397),_0x5bb13f(0x278),'Young',_0x5bb13f(0x399)],CITIES=[_0x5bb13f(0x1d5),_0x5bb13f(0x248),_0x5bb13f(0x38a),_0x5bb13f(0x33f),_0x5bb13f(0x301),_0x5bb13f(0x21f),'Paris',_0x5bb13f(0x327),_0x5bb13f(0x25b),_0x5bb13f(0x2f9),_0x5bb13f(0x363),'São\x20Paulo',_0x5bb13f(0x197),_0x5bb13f(0x2d1),_0x5bb13f(0x3b5)],COUNTRIES=['US','GB','DE','FR','JP','AU','CA','BR','IN','SG','NL','SE','ES','IT','MX'],DEVICES=[_0x5bb13f(0x2dd),_0x5bb13f(0x2a7),_0x5bb13f(0x230)],PAGES=['/',_0x5bb13f(0x32e),_0x5bb13f(0x233),_0x5bb13f(0x346),_0x5bb13f(0x209),_0x5bb13f(0x1b4),_0x5bb13f(0x1d1),_0x5bb13f(0x1c0),_0x5bb13f(0x33a),_0x5bb13f(0x22e),_0x5bb13f(0x3a1)],PROD_ADJ=[_0x5bb13f(0x1bb),_0x5bb13f(0x1b9),'Elite',_0x5bb13f(0x299),'Smart',_0x5bb13f(0x1ef),_0x5bb13f(0x1c5),_0x5bb13f(0x315),'Turbo',_0x5bb13f(0x30d),_0x5bb13f(0x267),_0x5bb13f(0x316)],PROD_NOUN=[_0x5bb13f(0x2c4),'Keyboard','Monitor',_0x5bb13f(0x3da),_0x5bb13f(0x1da),_0x5bb13f(0x3c7),'Lamp',_0x5bb13f(0x302),'Speaker','Tablet',_0x5bb13f(0x235),'Router',_0x5bb13f(0x1d8),'Mouse',_0x5bb13f(0x31c),_0x5bb13f(0x289),_0x5bb13f(0x1be),_0x5bb13f(0x3c4)],PROD_CAT=[_0x5bb13f(0x2dc),_0x5bb13f(0x1b7),_0x5bb13f(0x344),_0x5bb13f(0x1f3),_0x5bb13f(0x27d),_0x5bb13f(0x2d6),_0x5bb13f(0x18c),'Toys',_0x5bb13f(0x373),_0x5bb13f(0x292)],ORDER_STATUS=[_0x5bb13f(0x34c),_0x5bb13f(0x309),_0x5bb13f(0x339),'delivered','cancelled'],DOMAINS=[_0x5bb13f(0x1af),_0x5bb13f(0x3a5),_0x5bb13f(0x222)],CITY_CENTERS=[{'name':_0x5bb13f(0x248),'country':'GB','lat':51.5074,'lon':-0.1278},{'name':_0x5bb13f(0x217),'country':'FR','lat':48.8566,'lon':2.3522},{'name':'New\x20York','country':'US','lat':40.7128,'lon':-74.006},{'name':_0x5bb13f(0x33f),'country':'JP','lat':35.6762,'lon':139.6503},{'name':_0x5bb13f(0x301),'country':'AU','lat':-33.8688,'lon':151.2093},{'name':_0x5bb13f(0x38a),'country':'DE','lat':52.52,'lon':13.405},{'name':_0x5bb13f(0x3c5),'country':'US','lat':37.7749,'lon':-122.4194},{'name':_0x5bb13f(0x327),'country':'NL','lat':52.3676,'lon':4.9041},{'name':'Singapore','country':'SG','lat':1.3521,'lon':103.8198},{'name':_0x5bb13f(0x241),'country':'ES','lat':41.3851,'lon':2.1734},{'name':_0x5bb13f(0x2f9),'country':'AE','lat':25.2048,'lon':55.2708},{'name':'Toronto','country':'CA','lat':43.6532,'lon':-79.3832},{'name':_0x5bb13f(0x2a1),'country':'IT','lat':41.9028,'lon':12.4964},{'name':_0x5bb13f(0x1eb),'country':'AU','lat':-37.8136,'lon':144.9631},{'name':_0x5bb13f(0x363),'country':'KR','lat':37.5665,'lon':126.978}],PLACE_CATS=[_0x5bb13f(0x375),'bar',_0x5bb13f(0x379),'museum',_0x5bb13f(0x1cf),_0x5bb13f(0x296),_0x5bb13f(0x37a),_0x5bb13f(0x25f)],PLACE_ADJ=[_0x5bb13f(0x22a),'Golden',_0x5bb13f(0x2ee),'Blue','Red',_0x5bb13f(0x18c),'Harbor','Urban',_0x5bb13f(0x1e0),'Wild',_0x5bb13f(0x353),'Velvet',_0x5bb13f(0x1e5),'Vintage',_0x5bb13f(0x27b),'Royal',_0x5bb13f(0x263),_0x5bb13f(0x310),_0x5bb13f(0x35c),_0x5bb13f(0x1b2)],PLACE_NOUN=[_0x5bb13f(0x2d6),_0x5bb13f(0x2d9),_0x5bb13f(0x1c3),_0x5bb13f(0x1a1),'Terrace',_0x5bb13f(0x212),_0x5bb13f(0x311),'Den','House',_0x5bb13f(0x29e),_0x5bb13f(0x1f9),_0x5bb13f(0x26b),_0x5bb13f(0x388),_0x5bb13f(0x21b),_0x5bb13f(0x26c),_0x5bb13f(0x29e)],BAR_ADJ=['Lazy',_0x5bb13f(0x24e),'Iron',_0x5bb13f(0x29f),_0x5bb13f(0x30b),_0x5bb13f(0x371),_0x5bb13f(0x341),_0x5bb13f(0x31e),_0x5bb13f(0x33c),_0x5bb13f(0x2ee),_0x5bb13f(0x1a2),_0x5bb13f(0x3bc)],BAR_ANIMAL=[_0x5bb13f(0x274),_0x5bb13f(0x194),_0x5bb13f(0x219),_0x5bb13f(0x2e4),_0x5bb13f(0x22d),_0x5bb13f(0x2f7),_0x5bb13f(0x18e),_0x5bb13f(0x207),_0x5bb13f(0x291),'Crow',_0x5bb13f(0x3bb),_0x5bb13f(0x2fe)],CAFE_PRE=[_0x5bb13f(0x2df),'Daily','Urban',_0x5bb13f(0x1e0),_0x5bb13f(0x303),_0x5bb13f(0x353),_0x5bb13f(0x202),'Ground','Wake',_0x5bb13f(0x330),'Little','Slow'],CAFE_SFX=[_0x5bb13f(0x2d0),'Roast',_0x5bb13f(0x232),'Cup',_0x5bb13f(0x191),_0x5bb13f(0x272),'Blend',_0x5bb13f(0x3b9),_0x5bb13f(0x390),'Filter'],MUSEUM_SUB=['Natural\x20History','Modern\x20Art','Contemporary\x20Art',_0x5bb13f(0x1f7),_0x5bb13f(0x2f4),'Photography',_0x5bb13f(0x34a),'Maritime\x20Heritage',_0x5bb13f(0x3b2)],PARK_ADJ_P=['Central',_0x5bb13f(0x3cf),'Riverside',_0x5bb13f(0x284),_0x5bb13f(0x387),'Memorial',_0x5bb13f(0x21e),_0x5bb13f(0x35c),_0x5bb13f(0x23f),_0x5bb13f(0x257),_0x5bb13f(0x3d0),'West'],HOTEL_ADJ_H=[_0x5bb13f(0x263),'Royal',_0x5bb13f(0x1ea),_0x5bb13f(0x18c),_0x5bb13f(0x270),_0x5bb13f(0x23f),_0x5bb13f(0x39c),_0x5bb13f(0x1e8),_0x5bb13f(0x2ef),_0x5bb13f(0x29b),_0x5bb13f(0x1d2)],HOTEL_NOUN_H=[_0x5bb13f(0x224),'Suites','Inn',_0x5bb13f(0x2b9),'Lodge','Place',_0x5bb13f(0x210),_0x5bb13f(0x1ed),'Apartments'],GYM_PRE=[_0x5bb13f(0x394),_0x5bb13f(0x234),_0x5bb13f(0x1fe),_0x5bb13f(0x1b5),_0x5bb13f(0x23a),_0x5bb13f(0x195),_0x5bb13f(0x383),'Pulse',_0x5bb13f(0x3a3),_0x5bb13f(0x2cd)],GYM_SFX=[_0x5bb13f(0x264),_0x5bb13f(0x2b6),'Zone','Hub',_0x5bb13f(0x1dd),'Base',_0x5bb13f(0x360),_0x5bb13f(0x329),_0x5bb13f(0x322)],SHOP_ADJ=[_0x5bb13f(0x1b8),'Local',_0x5bb13f(0x212),'Village',_0x5bb13f(0x3b8),'Artisan','Indie',_0x5bb13f(0x2bc),_0x5bb13f(0x20e)],SHOP_NOUN=[_0x5bb13f(0x269),_0x5bb13f(0x1db),_0x5bb13f(0x388),_0x5bb13f(0x2ff),_0x5bb13f(0x33d),_0x5bb13f(0x3de),_0x5bb13f(0x351),_0x5bb13f(0x27c),'Collective'],PLACE_DESCS=[_0x5bb13f(0x255),_0x5bb13f(0x237),_0x5bb13f(0x2cc),_0x5bb13f(0x35e),_0x5bb13f(0x2a4),_0x5bb13f(0x246),_0x5bb13f(0x1d6),_0x5bb13f(0x3ac),_0x5bb13f(0x1ce),_0x5bb13f(0x23e),_0x5bb13f(0x37d),_0x5bb13f(0x331)],PERSON_BIOS=[_0x5bb13f(0x1e2),'Tech\x20worker\x20who\x20spends\x20weekends\x20hiking\x20and\x20discovering\x20hidden\x20restaurant\x20gems.',_0x5bb13f(0x2e5),_0x5bb13f(0x3c2),_0x5bb13f(0x18d),_0x5bb13f(0x2f2),_0x5bb13f(0x336),_0x5bb13f(0x21c),_0x5bb13f(0x3c3),_0x5bb13f(0x196)],CHECKIN_NOTES=[_0x5bb13f(0x28f),_0x5bb13f(0x337),_0x5bb13f(0x271),_0x5bb13f(0x2b1),_0x5bb13f(0x20b),_0x5bb13f(0x216),_0x5bb13f(0x33e),_0x5bb13f(0x259),_0x5bb13f(0x333),'Exceptional\x20quality\x20—\x20genuinely\x20exceeded\x20expectations.',_0x5bb13f(0x1e1),'Great\x20first\x20visit,\x20already\x20planning\x20to\x20return.',null,null,null];function _scatter(_0x1317b5,_0x41804d,_0x21890c){const _0x301761=_0x5bb13f;return{'lat':Math[_0x301761(0x380)](0xf4240*(_0x1317b5[_0x301761(0x3d5)]+0x2*(_0x21890c()-0.5)*_0x41804d))/0xf4240,'lon':Math['round'](0xf4240*(_0x1317b5[_0x301761(0x3b1)]+0x2*(_0x21890c()-0.5)*_0x41804d))/0xf4240};}function _placeName(_0x2b15a3,_0x46d6f2){const _0x546e98=_0x5bb13f;switch(_0x2b15a3){case'restaurant':return'The\x20'+pick(PLACE_ADJ,_0x46d6f2)+'\x20'+pick(PLACE_NOUN,_0x46d6f2);case _0x546e98(0x3b3):return'The\x20'+pick(BAR_ADJ,_0x46d6f2)+'\x20'+pick(BAR_ANIMAL,_0x46d6f2);case'cafe':return pick(CAFE_PRE,_0x46d6f2)+'\x20'+pick(CAFE_SFX,_0x46d6f2);case _0x546e98(0x2ad):return _0x546e98(0x1d9)+pick(MUSEUM_SUB,_0x46d6f2);case _0x546e98(0x1cf):return pick(PARK_ADJ_P,_0x46d6f2)+_0x546e98(0x23d);case _0x546e98(0x296):return'The\x20'+pick(HOTEL_ADJ_H,_0x46d6f2)+'\x20'+pick(HOTEL_NOUN_H,_0x46d6f2);case _0x546e98(0x37a):return pick(GYM_PRE,_0x46d6f2)+'\x20'+pick(GYM_SFX,_0x46d6f2);case _0x546e98(0x25f):return _0x546e98(0x2af)+pick(SHOP_ADJ,_0x46d6f2)+'\x20'+pick(SHOP_NOUN,_0x46d6f2);default:return pick(PLACE_ADJ,_0x46d6f2)+_0x546e98(0x3a8);}}function generateCityExplorer(_0x15d88a,_0x98ebf8){const _0xf8ff93=_0x5bb13f,_0x3ef75a={};return _0x3ef75a[_0xf8ff93(0x32a)]=Array[_0xf8ff93(0x252)]({'length':_0x15d88a[_0xf8ff93(0x32a)]},(_0x32831b,_0x12e51f)=>{const _0x57a892=_0xf8ff93,_0x2a1b4e=pick(CITY_CENTERS,_0x98ebf8),_0x2fa3c1=pick(PLACE_CATS,_0x98ebf8);return{'key':uid(_0x57a892(0x218),_0x12e51f+0x1),'value':{'name':_placeName(_0x2fa3c1,_0x98ebf8),'category':_0x2fa3c1,'city':_0x2a1b4e['name'],'country':_0x2a1b4e[_0x57a892(0x3d2)],'location':_scatter(_0x2a1b4e,0.035,_0x98ebf8),'rating':Math['round'](rng(0x1c,0x32,_0x98ebf8))/0xa,'reviewCount':rng(0x5,0xbb8,_0x98ebf8),'priceLevel':rng(0x1,0x4,_0x98ebf8),'description':pick(PLACE_DESCS,_0x98ebf8),'phone':'+'+rng(0x1,0x63,_0x98ebf8)+'\x20'+rng(0x64,0x3e7,_0x98ebf8)+'-'+rng(0x3e8,0x270f,_0x98ebf8),'openNow':_0x98ebf8()>0.3,'verified':_0x98ebf8()>0.25,'createdAt':dateAgo(0x2da,_0x98ebf8)}};}),_0x3ef75a[_0xf8ff93(0x3c0)]=Array[_0xf8ff93(0x252)]({'length':_0x15d88a['people']},(_0x2bbc0a,_0x1742ff)=>{const _0x32a61c=_0xf8ff93,_0x2e2dcc=pick(CITY_CENTERS,_0x98ebf8),_0x5a704f=pick(FIRST,_0x98ebf8),_0x1dd168=pick(LAST,_0x98ebf8);return{'key':uid(_0x32a61c(0x356),_0x1742ff+0x1),'value':{'name':_0x5a704f+'\x20'+_0x1dd168,'email':email(_0x5a704f,_0x1dd168,_0x98ebf8),'city':_0x2e2dcc[_0x32a61c(0x1df)],'country':_0x2e2dcc['country'],'home':_scatter(_0x2e2dcc,0.055,_0x98ebf8),'bio':pick(PERSON_BIOS,_0x98ebf8),'interests':[...new Set([pick(PLACE_CATS,_0x98ebf8),pick(PLACE_CATS,_0x98ebf8),pick(PLACE_CATS,_0x98ebf8)])],'memberSince':dateAgo(0x447,_0x98ebf8),'checkinsCount':rng(0x0,0x5a,_0x98ebf8)}};}),_0x3ef75a[_0xf8ff93(0x1a3)]=Array[_0xf8ff93(0x252)]({'length':_0x15d88a[_0xf8ff93(0x1a3)]},(_0x543fbf,_0x5a772a)=>({'key':uid('ci',_0x5a772a+0x1),'value':{'personId':uid(_0xf8ff93(0x356),rng(0x1,_0x15d88a[_0xf8ff93(0x3c0)],_0x98ebf8)),'placeId':uid('place',rng(0x1,_0x15d88a[_0xf8ff93(0x32a)],_0x98ebf8)),'rating':rng(0x1,0x5,_0x98ebf8),'note':pick(CHECKIN_NOTES,_0x98ebf8),'hasPhoto':_0x98ebf8()>0.58,'timestamp':new Date(Date[_0xf8ff93(0x2c3)]()-rng(0x0,0x757b12c00,_0x98ebf8))[_0xf8ff93(0x225)]()}})),_0x3ef75a;}const POST_TITLES=[_0x5bb13f(0x364),_0x5bb13f(0x268),_0x5bb13f(0x2b5),'Understanding\x20Event-Driven\x20Architecture',_0x5bb13f(0x203),_0x5bb13f(0x321),'Docker\x20and\x20Kubernetes:\x20A\x20Practical\x20Guide',_0x5bb13f(0x355),_0x5bb13f(0x1f5),'Mastering\x20TypeScript\x20in\x202025',_0x5bb13f(0x285),_0x5bb13f(0x3b7),_0x5bb13f(0x39b),_0x5bb13f(0x2c2),_0x5bb13f(0x2f0),_0x5bb13f(0x1ac),'WebAssembly:\x20The\x20Next\x20Frontier',_0x5bb13f(0x25d),_0x5bb13f(0x273),_0x5bb13f(0x34b)],TAG_NAMES=[_0x5bb13f(0x2cb),_0x5bb13f(0x349),_0x5bb13f(0x200),_0x5bb13f(0x39d),'typescript',_0x5bb13f(0x24f),_0x5bb13f(0x38d),_0x5bb13f(0x223),_0x5bb13f(0x366),'ux',_0x5bb13f(0x30e),_0x5bb13f(0x22f),_0x5bb13f(0x260),_0x5bb13f(0x2a7),_0x5bb13f(0x2bf),_0x5bb13f(0x2e9),_0x5bb13f(0x3df),'performance',_0x5bb13f(0x2b3),_0x5bb13f(0x2ea),_0x5bb13f(0x25e),_0x5bb13f(0x37e),_0x5bb13f(0x213),'career',_0x5bb13f(0x2f5),_0x5bb13f(0x328),'beginner','advanced'],POST_CATS=[_0x5bb13f(0x201),'Design','Business',_0x5bb13f(0x1e3),_0x5bb13f(0x283),'News','Research'],COMMENT_BODIES=[_0x5bb13f(0x2b7),_0x5bb13f(0x2a8),'Could\x20you\x20elaborate\x20more\x20on\x20the\x20second\x20point?',_0x5bb13f(0x2c0),'Bookmarked.\x20Will\x20definitely\x20revisit\x20this\x20later.','The\x20examples\x20were\x20very\x20clear.\x20Well\x20done!',_0x5bb13f(0x358),_0x5bb13f(0x1a7),_0x5bb13f(0x204),_0x5bb13f(0x19e)],EVT_TYPES=[_0x5bb13f(0x3cc),'click',_0x5bb13f(0x24d),_0x5bb13f(0x2d3),_0x5bb13f(0x3cb),_0x5bb13f(0x3dd),_0x5bb13f(0x24c),'logout',_0x5bb13f(0x298),_0x5bb13f(0x3a4),'video_play','share'],REFERRERS=[_0x5bb13f(0x3af),_0x5bb13f(0x262),_0x5bb13f(0x332),_0x5bb13f(0x1c4),_0x5bb13f(0x249),_0x5bb13f(0x1c7),_0x5bb13f(0x2fd)],ROLES=[_0x5bb13f(0x261),_0x5bb13f(0x308),'Manager',_0x5bb13f(0x1d7),'Director',_0x5bb13f(0x193),_0x5bb13f(0x3c8),'Specialist',_0x5bb13f(0x1c9),_0x5bb13f(0x211)],DEPTS=[_0x5bb13f(0x2d2),_0x5bb13f(0x23b),'Product',_0x5bb13f(0x323),'Sales',_0x5bb13f(0x1a8),'HR',_0x5bb13f(0x307)],LEVELS=['junior','mid',_0x5bb13f(0x1cc),_0x5bb13f(0x396),_0x5bb13f(0x294),'director'],SKILLS=[_0x5bb13f(0x3d6),'Python',_0x5bb13f(0x37f),_0x5bb13f(0x1e6),_0x5bb13f(0x317),_0x5bb13f(0x1ba),_0x5bb13f(0x19f),_0x5bb13f(0x1f2),'GraphQL',_0x5bb13f(0x3db),'Figma',_0x5bb13f(0x1b6),_0x5bb13f(0x29c),_0x5bb13f(0x24b),_0x5bb13f(0x1dc),'Go',_0x5bb13f(0x267),_0x5bb13f(0x35a)],PROJ_NAMES=[_0x5bb13f(0x26e),_0x5bb13f(0x36d),_0x5bb13f(0x205),_0x5bb13f(0x2fb),_0x5bb13f(0x25a),_0x5bb13f(0x30f),_0x5bb13f(0x22c),'Notification\x20System',_0x5bb13f(0x206),'Billing\x20Integration',_0x5bb13f(0x384),'CI/CD\x20Overhaul',_0x5bb13f(0x28d),_0x5bb13f(0x214),_0x5bb13f(0x39f),'Internal\x20Tooling',_0x5bb13f(0x245),'Load\x20Testing',_0x5bb13f(0x357),_0x5bb13f(0x2da),_0x5bb13f(0x2db),_0x5bb13f(0x2ca),_0x5bb13f(0x3ad),_0x5bb13f(0x2ac),_0x5bb13f(0x306)],PROJ_STATUS=['planning',_0x5bb13f(0x340),_0x5bb13f(0x2a5),_0x5bb13f(0x32d),_0x5bb13f(0x1fb)];function generateEcommerce(_0x26f2cb,_0xb75fc7){const _0x2cfce7=_0x5bb13f,_0x12ca57={};return _0x12ca57[_0x2cfce7(0x1b0)]=Array[_0x2cfce7(0x252)]({'length':_0x26f2cb[_0x2cfce7(0x1b0)]},(_0x439423,_0x4c241c)=>{const _0x4b51c9=_0x2cfce7,_0x513df0=pick(PROD_ADJ,_0xb75fc7),_0x35dade=pick(PROD_NOUN,_0xb75fc7);return{'key':uid(_0x4b51c9(0x350),_0x4c241c+0x1),'value':{'name':_0x513df0+'\x20'+_0x35dade,'category':pick(PROD_CAT,_0xb75fc7),'price':Math['round'](0x64*(rng(0x5,0x3e7,_0xb75fc7)+0.99*_0xb75fc7()))/0x64,'stock':rng(0x0,0x1f4,_0xb75fc7),'rating':Math['round'](rng(0x19,0x32,_0xb75fc7))/0xa,'reviewCount':rng(0x0,0x4b0,_0xb75fc7),'description':'The\x20'+_0x513df0+'\x20'+_0x35dade+_0x4b51c9(0x265),'sku':_0x4b51c9(0x3ae)+rng(0x2710,0x1869f,_0xb75fc7),'brand':pick(['TechCore',_0x4b51c9(0x3ab),_0x4b51c9(0x36f),_0x4b51c9(0x381),_0x4b51c9(0x3d7)],_0xb75fc7),'createdAt':dateAgo(0x16d,_0xb75fc7)}};}),_0x12ca57[_0x2cfce7(0x3ba)]=Array[_0x2cfce7(0x252)]({'length':_0x26f2cb[_0x2cfce7(0x3ba)]},(_0x19e4dd,_0x111b73)=>{const _0x5d730f=_0x2cfce7,_0x5b16dd=pick(FIRST,_0xb75fc7),_0x1a3389=pick(LAST,_0xb75fc7);return{'key':uid(_0x5d730f(0x324),_0x111b73+0x1),'value':{'name':_0x5b16dd+'\x20'+_0x1a3389,'email':email(_0x5b16dd,_0x1a3389,_0xb75fc7),'city':pick(CITIES,_0xb75fc7),'country':pick(COUNTRIES,_0xb75fc7),'tier':pick([_0x5d730f(0x368),'silver',_0x5d730f(0x1a6),'platinum'],_0xb75fc7),'totalOrders':rng(0x0,0x32,_0xb75fc7),'totalSpent':Math[_0x5d730f(0x380)](0x64*rng(0x0,0x3a98,_0xb75fc7))/0x64,'joinDate':dateAgo(0x2da,_0xb75fc7),'newsletter':_0xb75fc7()>0.4}};}),_0x12ca57[_0x2cfce7(0x1a9)]=Array[_0x2cfce7(0x252)]({'length':_0x26f2cb[_0x2cfce7(0x1a9)]},(_0x20a7f7,_0x4394f9)=>{const _0x1b606e=_0x2cfce7,_0x34751d=rng(0x1,0x5,_0xb75fc7),_0x111fd1=Array['from']({'length':_0x34751d},()=>{const _0x2289ee=_0x7fa0,_0x53d473=Math[_0x2289ee(0x380)](0x64*rng(0x5,0x1f3,_0xb75fc7))/0x64,_0x2ff16f=rng(0x1,0x4,_0xb75fc7);return{'productId':uid(_0x2289ee(0x350),rng(0x1,_0x26f2cb[_0x2289ee(0x1b0)],_0xb75fc7)),'qty':_0x2ff16f,'price':_0x53d473,'total':Math[_0x2289ee(0x380)](_0x53d473*_0x2ff16f*0x64)/0x64};});return{'key':uid(_0x1b606e(0x2bb),_0x4394f9+0x1),'value':{'customerId':uid(_0x1b606e(0x324),rng(0x1,_0x26f2cb[_0x1b606e(0x3ba)],_0xb75fc7)),'status':pick(ORDER_STATUS,_0xb75fc7),'items':_0x111fd1,'subtotal':_0x111fd1[_0x1b606e(0x2c6)]((_0x4074c6,_0x28e02b)=>_0x4074c6+_0x28e02b['total'],0x0),'shipping':Math[_0x1b606e(0x380)](0x64*rng(0x0,0x14,_0xb75fc7))/0x64,'total':_0x111fd1[_0x1b606e(0x2c6)]((_0x1c065e,_0x5473b7)=>_0x1c065e+_0x5473b7[_0x1b606e(0x215)],0x0)+Math[_0x1b606e(0x380)](0x64*rng(0x0,0x14,_0xb75fc7))/0x64,'createdAt':dateAgo(0xb4,_0xb75fc7),'shippedAt':_0xb75fc7()>0.3?dateAgo(0x3c,_0xb75fc7):null,'address':{'city':pick(CITIES,_0xb75fc7),'country':pick(COUNTRIES,_0xb75fc7)}}};}),_0x12ca57[_0x2cfce7(0x1ab)]=Array[_0x2cfce7(0x252)]({'length':_0x26f2cb[_0x2cfce7(0x1ab)]},(_0x3f387c,_0x318655)=>{const _0x477688=_0x2cfce7,_0x1287de=rng(0x1,0x5,_0xb75fc7);return{'key':uid(_0x477688(0x36e),_0x318655+0x1),'value':{'productId':uid(_0x477688(0x350),rng(0x1,_0x26f2cb['products'],_0xb75fc7)),'customerId':uid(_0x477688(0x324),rng(0x1,_0x26f2cb['customers'],_0xb75fc7)),'stars':_0x1287de,'title':pick(_0x1287de>=0x4?[_0x477688(0x2e3),'Great\x20quality',_0x477688(0x3b6),_0x477688(0x382),_0x477688(0x1bc)]:[_0x477688(0x240),'Not\x20worth\x20it',_0x477688(0x251),'Decent\x20but\x20flawed'],_0xb75fc7),'body':(_0x1287de>=0x4?'Really\x20happy\x20with\x20this\x20purchase.':'Decent\x20but\x20has\x20some\x20issues.')+'\x20'+pick([_0x477688(0x34f),_0x477688(0x34d),_0x477688(0x3b0),_0x477688(0x2c1),_0x477688(0x389)],_0xb75fc7),'verified':_0xb75fc7()>0.2,'helpful':rng(0x0,0xc8,_0xb75fc7),'createdAt':dateAgo(0x16d,_0xb75fc7)}};}),_0x12ca57;}function generateAnalytics(_0x577022,_0xba80b9){const _0x50f390=_0x5bb13f,_0x311383={};return _0x311383[_0x50f390(0x1c1)]=Array[_0x50f390(0x252)]({'length':_0x577022[_0x50f390(0x1c1)]},(_0x583a5a,_0x131ba5)=>({'key':uid(_0x50f390(0x27e),_0x131ba5+0x1),'value':{'userId':_0xba80b9()>0.35?uid(_0x50f390(0x38f),rng(0x1,0x1f4,_0xba80b9)):null,'device':pick(DEVICES,_0xba80b9),'country':pick(COUNTRIES,_0xba80b9),'city':pick(CITIES,_0xba80b9),'duration':rng(0x5,0xe10,_0xba80b9),'pageCount':rng(0x1,0x1e,_0xba80b9),'bounced':_0xba80b9()<0.38,'browser':pick([_0x50f390(0x2e6),'Firefox',_0x50f390(0x2ab),_0x50f390(0x231),_0x50f390(0x228)],_0xba80b9),'startedAt':new Date(Date[_0x50f390(0x2c3)]()-rng(0x0,0x9a7ec800,_0xba80b9))[_0x50f390(0x225)]()}})),_0x311383[_0x50f390(0x256)]=Array[_0x50f390(0x252)]({'length':_0x577022[_0x50f390(0x256)]},(_0x131b73,_0x1b932c)=>({'key':uid('evt',_0x1b932c+0x1),'value':{'type':pick(EVT_TYPES,_0xba80b9),'sessionId':uid(_0x50f390(0x27e),rng(0x1,_0x577022['sessions'],_0xba80b9)),'userId':_0xba80b9()>0.35?uid(_0x50f390(0x38f),rng(0x1,0x1f4,_0xba80b9)):null,'page':pick(PAGES,_0xba80b9),'device':pick(DEVICES,_0xba80b9),'country':pick(COUNTRIES,_0xba80b9),'timestamp':new Date(Date[_0x50f390(0x2c3)]()-rng(0x0,0x9a7ec800,_0xba80b9))[_0x50f390(0x225)](),'value':_0xba80b9()>0.7?Math['round'](0x64*rng(0x1,0x2710,_0xba80b9))/0x64:null}})),_0x311383[_0x50f390(0x2b0)]=Array[_0x50f390(0x252)]({'length':_0x577022['pageviews']},(_0x55d8be,_0x4d274e)=>({'key':uid('pv',_0x4d274e+0x1),'value':{'page':pick(PAGES,_0xba80b9),'sessionId':uid('sess',rng(0x1,_0x577022[_0x50f390(0x1c1)],_0xba80b9)),'referrer':pick(REFERRERS,_0xba80b9),'timeOnPage':rng(0x0,0x258,_0xba80b9),'exitPage':_0xba80b9()>0.7,'timestamp':new Date(Date[_0x50f390(0x2c3)]()-rng(0x0,0x9a7ec800,_0xba80b9))[_0x50f390(0x225)]()}})),_0x311383;}function generateBlog(_0x5e3683,_0x5d8390){const _0x1ff3c5=_0x5bb13f,_0x334246={};_0x334246[_0x1ff3c5(0x29a)]=Array['from']({'length':_0x5e3683['authors']},(_0x4bc05c,_0x5364cc)=>{const _0x460662=_0x1ff3c5,_0x11eb15=pick(FIRST,_0x5d8390),_0x2680d6=pick(LAST,_0x5d8390),_0x5b450f=pick([_0x460662(0x3aa),'Backend','DevOps','Design',_0x460662(0x286),_0x460662(0x1cd),_0x460662(0x36a),_0x460662(0x229)],_0x5d8390);return{'key':uid(_0x460662(0x18f),_0x5364cc+0x1),'value':{'name':_0x11eb15+'\x20'+_0x2680d6,'email':email(_0x11eb15,_0x2680d6,_0x5d8390),'bio':_0x11eb15+_0x460662(0x2d8)+_0x5b450f+_0x460662(0x2ae)+rng(0x2,0x12,_0x5d8390)+_0x460662(0x26a),'specialty':_0x5b450f,'location':pick(CITIES,_0x5d8390),'twitter':'@'+_0x11eb15[_0x460662(0x36c)]()+_0x2680d6[_0x460662(0x36c)](),'postCount':0x0}};});const _0x2713e3=Math[_0x1ff3c5(0x19a)](_0x5e3683[_0x1ff3c5(0x312)],TAG_NAMES[_0x1ff3c5(0x3bf)]);return _0x334246['tags']=Array[_0x1ff3c5(0x252)]({'length':_0x2713e3},(_0x62644e,_0x9c1c06)=>({'key':uid(_0x1ff3c5(0x2b8),_0x9c1c06+0x1),'value':{'name':TAG_NAMES[_0x9c1c06],'count':rng(0x5,0x78,_0x5d8390),'color':pick([_0x1ff3c5(0x3e1),_0x1ff3c5(0x343),_0x1ff3c5(0x1a4),'var(--okdb-warning)',_0x1ff3c5(0x3d9)],_0x5d8390)}})),_0x334246[_0x1ff3c5(0x38c)]=Array[_0x1ff3c5(0x252)]({'length':_0x5e3683[_0x1ff3c5(0x38c)]},(_0x4319ba,_0x3b59e0)=>{const _0x353dca=_0x1ff3c5,_0x4b6e03=POST_TITLES[_0x3b59e0%POST_TITLES[_0x353dca(0x3bf)]],_0x282a76=pick(['','','',_0x353dca(0x244),_0x353dca(0x297),_0x353dca(0x2d5),_0x353dca(0x32f)],_0x5d8390),_0x265c83=_0x282a76?''+_0x282a76+_0x4b6e03:_0x4b6e03,_0x4ed3c1=_0x5d8390()>0.25?_0x353dca(0x2bd):pick(['draft',_0x353dca(0x300)],_0x5d8390);return{'key':uid(_0x353dca(0x31f),_0x3b59e0+0x1),'value':{'title':_0x265c83,'slug':_0x265c83[_0x353dca(0x36c)]()[_0x353dca(0x334)](/[^a-z0-9]+/g,'-')[_0x353dca(0x334)](/^-|-$/g,''),'authorId':uid(_0x353dca(0x18f),rng(0x1,_0x5e3683[_0x353dca(0x29a)],_0x5d8390)),'category':pick(POST_CATS,_0x5d8390),'status':_0x4ed3c1,'tags':[...new Set([uid('tag',rng(0x1,_0x2713e3,_0x5d8390)),uid(_0x353dca(0x2b8),rng(0x1,_0x2713e3,_0x5d8390))])],'content':_0x353dca(0x2f8),'excerpt':'A\x20comprehensive\x20guide\x20to\x20understanding\x20'+_0x4b6e03['toLowerCase']()+_0x353dca(0x348),'readTime':rng(0x2,0x16,_0x5d8390),'views':rng(0x32,0x13880,_0x5d8390),'likes':rng(0x5,0xbb8,_0x5d8390),'featured':_0x5d8390()>0.85,'publishedAt':'published'===_0x4ed3c1?dateAgo(0x190,_0x5d8390):null,'createdAt':dateAgo(0x1c2,_0x5d8390)}};}),_0x334246[_0x1ff3c5(0x28b)]=Array['from']({'length':_0x5e3683[_0x1ff3c5(0x28b)]},(_0x48f7fe,_0x394df9)=>({'key':uid(_0x1ff3c5(0x20f),_0x394df9+0x1),'value':{'postId':uid('post',rng(0x1,_0x5e3683[_0x1ff3c5(0x38c)],_0x5d8390)),'authorName':pick(FIRST,_0x5d8390)+'\x20'+pick(LAST,_0x5d8390),'email':'user'+rng(0x1,0x270f,_0x5d8390)+'@'+pick(DOMAINS,_0x5d8390),'body':pick(COMMENT_BODIES,_0x5d8390),'likes':rng(0x0,0x96,_0x5d8390),'approved':_0x5d8390()>0.1,'createdAt':dateAgo(0x16d,_0x5d8390)}})),_0x334246;}function generateTeam(_0x51e4bc,_0x453b70){const _0x469b3b=_0x5bb13f,_0x1ae425={},_0x468b72=Array[_0x469b3b(0x252)]({'length':_0x51e4bc[_0x469b3b(0x3d3)]},(_0x234a30,_0x35109d)=>uid('dept',_0x35109d+0x1));return _0x1ae425['departments']=_0x468b72[_0x469b3b(0x242)]((_0x3851d2,_0x1a04f4)=>({'key':_0x3851d2,'value':{'name':DEPTS[_0x1a04f4%DEPTS['length']],'head':'','headcount':rng(0x4,0x23,_0x453b70),'budget':rng(0x186a0,0x2dc6c0,_0x453b70),'location':pick(CITIES,_0x453b70),'description':_0x469b3b(0x2af)+DEPTS[_0x1a04f4%DEPTS[_0x469b3b(0x3bf)]]+_0x469b3b(0x1f1)+pick([_0x469b3b(0x30a),_0x469b3b(0x1ee),_0x469b3b(0x220),'culture'],_0x453b70)+_0x469b3b(0x354)}})),_0x1ae425[_0x469b3b(0x326)]=Array[_0x469b3b(0x252)]({'length':_0x51e4bc['employees']},(_0x146676,_0x6d5995)=>{const _0x1a46ea=_0x469b3b,_0x2e5391=pick(FIRST,_0x453b70),_0x2bea2d=pick(LAST,_0x453b70);return{'key':uid(_0x1a46ea(0x2ec),_0x6d5995+0x1),'value':{'name':_0x2e5391+'\x20'+_0x2bea2d,'email':email(_0x2e5391,_0x2bea2d,_0x453b70),'role':pick(ROLES,_0x453b70),'department':pick(_0x468b72,_0x453b70),'level':pick(LEVELS,_0x453b70),'skills':[...new Set([pick(SKILLS,_0x453b70),pick(SKILLS,_0x453b70),pick(SKILLS,_0x453b70)])],'salary':rng(0xbb80,0x445c0,_0x453b70),'hireDate':dateAgo(0x721,_0x453b70),'manager':_0x6d5995>0x0?uid(_0x1a46ea(0x2ec),rng(0x1,Math[_0x1a46ea(0x19d)](0x1,_0x6d5995),_0x453b70)):null,'location':pick(CITIES,_0x453b70),'remote':_0x453b70()>0.45}};}),_0x1ae425['projects']=Array[_0x469b3b(0x252)]({'length':_0x51e4bc['projects']},(_0x51cf50,_0x5ca0c7)=>{const _0x290e52=_0x469b3b,_0x1c7e92=rng(0x2,0x8,_0x453b70);return{'key':uid('proj',_0x5ca0c7+0x1),'value':{'name':PROJ_NAMES[_0x5ca0c7%PROJ_NAMES['length']],'department':pick(_0x468b72,_0x453b70),'status':pick(PROJ_STATUS,_0x453b70),'lead':uid(_0x290e52(0x2ec),rng(0x1,_0x51e4bc['employees'],_0x453b70)),'team':[...new Set(Array['from']({'length':_0x1c7e92},()=>uid(_0x290e52(0x2ec),rng(0x1,_0x51e4bc[_0x290e52(0x326)],_0x453b70))))],'budget':rng(0x2710,0x927c0,_0x453b70),'startDate':dateAgo(0x16d,_0x453b70),'deadline':dateFwd(0xb4,_0x453b70),'progress':rng(0x0,0x64,_0x453b70),'priority':pick([_0x290e52(0x35f),'medium','high',_0x290e52(0x24a)],_0x453b70),'description':PROJ_NAMES[_0x5ca0c7%PROJ_NAMES[_0x290e52(0x3bf)]]+_0x290e52(0x1c8)+pick([_0x290e52(0x1c2),_0x290e52(0x320),'user\x20experience','developer\x20productivity',_0x290e52(0x260)],_0x453b70)+'.'}};}),_0x1ae425;}const PRESETS=[{'id':_0x5bb13f(0x2cf),'icon':'🛒','name':_0x5bb13f(0x2aa),'tagline':_0x5bb13f(0x281),'color':_0x5bb13f(0x1a4),'glow':_0x5bb13f(0x3c1),'defaultEnv':_0x5bb13f(0x1e4),'types':[{'key':'products','label':_0x5bb13f(0x26d),'defaultCount':0xfa},{'key':_0x5bb13f(0x3ba),'label':_0x5bb13f(0x19c),'defaultCount':0x64},{'key':'orders','label':_0x5bb13f(0x2a3),'defaultCount':0x1f4},{'key':'reviews','label':'Reviews','defaultCount':0x12c}],'indexes':[[_0x5bb13f(0x1b0),_0x5bb13f(0x385)],[_0x5bb13f(0x1b0),_0x5bb13f(0x2c8)],['customers',_0x5bb13f(0x290)],[_0x5bb13f(0x3ba),'tier'],[_0x5bb13f(0x1a9),'status'],[_0x5bb13f(0x1a9),_0x5bb13f(0x27a)]],'fts':[{'type':_0x5bb13f(0x1b0),'name':_0x5bb13f(0x298),'fields':[_0x5bb13f(0x1df),_0x5bb13f(0x22b)]}],'generate':generateEcommerce},{'id':_0x5bb13f(0x25e),'icon':'📊','name':_0x5bb13f(0x1b6),'tagline':_0x5bb13f(0x27f),'color':_0x5bb13f(0x3e1),'glow':_0x5bb13f(0x1a0),'defaultEnv':_0x5bb13f(0x1bd),'types':[{'key':_0x5bb13f(0x256),'label':_0x5bb13f(0x1fd),'defaultCount':0x3e8},{'key':_0x5bb13f(0x1c1),'label':'Sessions','defaultCount':0xc8},{'key':'pageviews','label':'Pageviews','defaultCount':0x7d0}],'indexes':[[_0x5bb13f(0x256),_0x5bb13f(0x31d)],[_0x5bb13f(0x256),_0x5bb13f(0x3d2)],[_0x5bb13f(0x1c1),'userId'],[_0x5bb13f(0x1c1),_0x5bb13f(0x1ff)],[_0x5bb13f(0x2b0),'page'],[_0x5bb13f(0x2b0),'sessionId']],'fts':[],'generate':generateAnalytics},{'id':'blog','icon':'📝','name':_0x5bb13f(0x361),'tagline':_0x5bb13f(0x3b4),'color':_0x5bb13f(0x343),'glow':_0x5bb13f(0x1d0),'defaultEnv':'demo-blog','types':[{'key':'posts','label':_0x5bb13f(0x2fc),'defaultCount':0x96},{'key':_0x5bb13f(0x29a),'label':_0x5bb13f(0x362),'defaultCount':0x14},{'key':_0x5bb13f(0x312),'label':'Tags','defaultCount':0x1c},{'key':_0x5bb13f(0x28b),'label':'Comments','defaultCount':0x190}],'indexes':[[_0x5bb13f(0x38c),_0x5bb13f(0x385)],['posts',_0x5bb13f(0x32b)],[_0x5bb13f(0x38c),_0x5bb13f(0x282)],[_0x5bb13f(0x28b),_0x5bb13f(0x374)],['tags',_0x5bb13f(0x325)]],'fts':[{'type':_0x5bb13f(0x38c),'name':_0x5bb13f(0x298),'fields':[_0x5bb13f(0x1ad),_0x5bb13f(0x3a7)]}],'generate':generateBlog},{'id':'team','icon':'👥','name':_0x5bb13f(0x28c),'tagline':'Employees,\x20departments\x20&\x20projects','color':_0x5bb13f(0x2d7),'glow':'color-mix(in\x20srgb,\x20var(--okdb-warning)\x2020%,\x20transparent)','defaultEnv':'demo-team','types':[{'key':'employees','label':_0x5bb13f(0x1c6),'defaultCount':0x50},{'key':'departments','label':_0x5bb13f(0x359),'defaultCount':0x8},{'key':'projects','label':'Projects','defaultCount':0x1e}],'indexes':[[_0x5bb13f(0x326),_0x5bb13f(0x2f3)],[_0x5bb13f(0x326),_0x5bb13f(0x3d8)],[_0x5bb13f(0x326),'location'],['projects','status'],['projects',_0x5bb13f(0x2f3)]],'fts':[{'type':_0x5bb13f(0x326),'name':'search','fields':[_0x5bb13f(0x1df),'role','skills']}],'generate':generateTeam},{'id':_0x5bb13f(0x2f1),'icon':_0x5bb13f(0x2e2),'name':_0x5bb13f(0x1f0),'tagline':_0x5bb13f(0x2eb),'color':_0x5bb13f(0x2a2),'glow':'color-mix(in\x20srgb,\x20var(--okdb-orange)\x2020%,\x20transparent)','defaultEnv':_0x5bb13f(0x318),'badge':_0x5bb13f(0x377),'types':[{'key':_0x5bb13f(0x32a),'label':_0x5bb13f(0x342),'defaultCount':0xc8},{'key':_0x5bb13f(0x3c0),'label':'People','defaultCount':0x50},{'key':_0x5bb13f(0x1a3),'label':_0x5bb13f(0x1e9),'defaultCount':0x12c}],'indexes':[[_0x5bb13f(0x32a),_0x5bb13f(0x31b),{'type':'geo','precision':0x7}],[_0x5bb13f(0x32a),'category'],[_0x5bb13f(0x32a),'city'],[_0x5bb13f(0x32a),_0x5bb13f(0x2a6)],['people','home',{'type':_0x5bb13f(0x377),'precision':0x5}],[_0x5bb13f(0x3c0),_0x5bb13f(0x290)],['checkins',_0x5bb13f(0x26f)],[_0x5bb13f(0x1a3),_0x5bb13f(0x208)]],'fts':[{'type':_0x5bb13f(0x32a),'name':_0x5bb13f(0x298),'fields':['name',_0x5bb13f(0x22b)]}],'generate':generateCityExplorer}],SCALE_OPTIONS=[{'value':0.25,'label':'¼×','hint':_0x5bb13f(0x34e)},{'value':0.5,'label':'½×','hint':_0x5bb13f(0x338)},{'value':0x1,'label':'1×','hint':_0x5bb13f(0x277)},{'value':0x2,'label':'2×','hint':_0x5bb13f(0x365)},{'value':0x4,'label':'4×','hint':_0x5bb13f(0x367)}],BATCH_SIZE=0x32;export default{'tag':_0x5bb13f(0x3a6),'attr':{'modal':{},'onDone':{}},'context':_0x45f070=>({'step':_0x5bb13f(0x221),'preset':null,'envName':'','scale':0x1,'enableFts':!0x0,'enableIndexes':!0x0,'typeCounts':{},'progress':[],'totalSteps':0x0,'completedSteps':0x0,'error':null,'resultStats':null,'PRESETS':PRESETS,'SCALE_OPTIONS':SCALE_OPTIONS,get 'effectiveCounts'(){const _0x45355c=_0x5bb13f,_0x5944be={};for(const _0x4b0af6 of this[_0x45355c(0x2d4)]?.[_0x45355c(0x376)]??[])_0x5944be[_0x4b0af6['key']]=Math[_0x45355c(0x19d)](0x1,Math[_0x45355c(0x380)]((this[_0x45355c(0x199)][_0x4b0af6[_0x45355c(0x3e0)]]??_0x4b0af6[_0x45355c(0x335)])*this[_0x45355c(0x1a5)]));return _0x5944be;},get 'totalRecords'(){const _0x34c888=_0x5bb13f;return Object['values'](this[_0x34c888(0x2c5)])[_0x34c888(0x2c6)]((_0x47b154,_0x3a526a)=>_0x47b154+_0x3a526a,0x0);},get 'progressPct'(){const _0x107081=_0x5bb13f;return this[_0x107081(0x190)]?Math['min'](0x64,Math[_0x107081(0x380)](this['completedSteps']/this[_0x107081(0x190)]*0x64)):0x0;},'selectPreset'(_0x39fc66){const _0x1a0080=_0x5bb13f;this[_0x1a0080(0x2d4)]=_0x39fc66,this[_0x1a0080(0x3a2)]=_0x39fc66[_0x1a0080(0x345)],this[_0x1a0080(0x199)]={};for(const _0x37e7cc of _0x39fc66[_0x1a0080(0x376)])this[_0x1a0080(0x199)][_0x37e7cc[_0x1a0080(0x3e0)]]=_0x37e7cc[_0x1a0080(0x335)];this[_0x1a0080(0x393)]=_0x1a0080(0x2a0);},'back'(){const _0x29e245=_0x5bb13f;_0x29e245(0x2a0)===this[_0x29e245(0x393)]&&(this[_0x29e245(0x393)]=_0x29e245(0x221));},'cancel'(){const _0x3f562f=_0x5bb13f;_0x45f070[_0x3f562f(0x2fa)][_0x3f562f(0x319)][_0x3f562f(0x1b3)]();},'_addStep'(_0x4295f4,_0xfc174f,_0x414cbc,_0x185563){const _0x29f3b1=_0x5bb13f;this[_0x29f3b1(0x253)][_0x29f3b1(0x192)]({'id':_0x4295f4,'label':_0xfc174f,'done':0x0,'total':_0x414cbc,'icon':_0x185563,'status':_0x29f3b1(0x34c)}),this[_0x29f3b1(0x190)]++;},'_start'(_0x2ea7e5){const _0x5dd5b3=_0x5bb13f,_0x262e02=this[_0x5dd5b3(0x253)]['find'](_0x1ca958=>_0x1ca958['id']===_0x2ea7e5);_0x262e02&&(_0x262e02[_0x5dd5b3(0x282)]=_0x5dd5b3(0x23c));},'_done'(_0x25e0b6){const _0x4ac5b6=_0x5bb13f,_0x5a9359=this[_0x4ac5b6(0x253)][_0x4ac5b6(0x37b)](_0x2ed240=>_0x2ed240['id']===_0x25e0b6);_0x5a9359&&(_0x5a9359[_0x4ac5b6(0x282)]=_0x4ac5b6(0x275),_0x5a9359[_0x4ac5b6(0x275)]=_0x5a9359['total'],this[_0x4ac5b6(0x392)]++);},'_error'(_0x2da99d){const _0xdba50d=_0x5bb13f,_0x565731=this['progress'][_0xdba50d(0x37b)](_0x11402c=>_0x11402c['id']===_0x2da99d);_0x565731&&(_0x565731[_0xdba50d(0x282)]=_0xdba50d(0x1d3),this[_0xdba50d(0x392)]++);},'_tick'(_0x1b96ab,_0x546b44){const _0xf0fbce=_0x5bb13f,_0x3c4a3c=this[_0xf0fbce(0x253)][_0xf0fbce(0x37b)](_0x40e4ec=>_0x40e4ec['id']===_0x1b96ab);_0x3c4a3c&&(_0x3c4a3c['done']=_0x546b44);},async 'start'(){const _0x4b5104=_0x5bb13f;if(_0x4b5104(0x250)===this['step'])return;const _0x22a114=this[_0x4b5104(0x3a2)][_0x4b5104(0x2e0)]();if(!_0x22a114||!this[_0x4b5104(0x2d4)])return;this[_0x4b5104(0x393)]=_0x4b5104(0x250),this[_0x4b5104(0x253)]=[],this[_0x4b5104(0x190)]=0x0,this[_0x4b5104(0x392)]=0x0,this[_0x4b5104(0x1d3)]=null,this['resultStats']={'env':_0x22a114,'types':{},'indexes':0x0,'fts':0x0,'totalRecords':0x0};const _0x32d45d=this[_0x4b5104(0x2d4)],_0x4307f6=this['effectiveCounts'],_0x239d19=__ENV__[_0x4b5104(0x39e)],_0x1295d2=_0x239d19+_0x4b5104(0x3bd)+encodeURIComponent(_0x22a114);this[_0x4b5104(0x305)](_0x4b5104(0x20c),_0x4b5104(0x3c6)+_0x22a114+'\x22',0x1,'🌐');for(const _0x1d6c87 of _0x32d45d['types'])this['_addStep'](_0x4b5104(0x372)+_0x1d6c87[_0x4b5104(0x3e0)],_0x4b5104(0x21d)+_0x1d6c87[_0x4b5104(0x3e0)],0x1,'⬡');for(const _0x430587 of _0x32d45d[_0x4b5104(0x376)])this['_addStep'](_0x4b5104(0x31a)+_0x430587[_0x4b5104(0x3e0)],_0x4b5104(0x3c9)+_0x4307f6[_0x430587['key']][_0x4b5104(0x1f8)]()+'\x20'+_0x430587[_0x4b5104(0x1aa)][_0x4b5104(0x36c)](),_0x4307f6[_0x430587[_0x4b5104(0x3e0)]],'⬢');if(this['enableIndexes'])for(const [_0x1d5595,_0x41c489,_0x1e9dfc]of _0x32d45d[_0x4b5104(0x391)]){const _0x142823=_0x4b5104(0x377)===_0x1e9dfc?.[_0x4b5104(0x31d)];this[_0x4b5104(0x305)]('idx:'+_0x1d5595+':'+_0x41c489,(_0x142823?_0x4b5104(0x276):_0x4b5104(0x395))+'\x20'+_0x1d5595+'.'+_0x41c489,0x1,_0x142823?'📍':'⌖');}if(this[_0x4b5104(0x20a)]&&_0x32d45d[_0x4b5104(0x198)]['length']){for(const _0xc986f1 of _0x32d45d['fts'])this[_0x4b5104(0x305)]('fts:'+_0xc986f1['type']+':'+_0xc986f1['name'],_0x4b5104(0x3d1)+_0xc986f1[_0x4b5104(0x1df)]+_0x4b5104(0x1f4)+_0xc986f1[_0x4b5104(0x31d)],0x1,'⌘');}try{this[_0x4b5104(0x304)](_0x4b5104(0x20c));const _0x50fa2d=await fetch(_0x239d19+_0x4b5104(0x3ce),{'method':_0x4b5104(0x1de),'headers':{'Content-Type':_0x4b5104(0x2c7)},'body':JSON[_0x4b5104(0x1ec)]({'name':_0x22a114,'sync':!0x0,'compression':!0x0})});if(!_0x50fa2d['ok']&&0x199!==_0x50fa2d[_0x4b5104(0x282)]){const _0x29fdad=await _0x50fa2d[_0x4b5104(0x236)]()[_0x4b5104(0x287)](()=>({}));throw new Error(_0x29fdad?.[_0x4b5104(0x1d3)]?.[_0x4b5104(0x370)]||_0x4b5104(0x29d)+_0x50fa2d[_0x4b5104(0x282)]+')');}this['_done'](_0x4b5104(0x20c));for(const _0x3cc0c9 of _0x32d45d['types']){this[_0x4b5104(0x304)](_0x4b5104(0x372)+_0x3cc0c9[_0x4b5104(0x3e0)]);const _0x42f2d0=await fetch(_0x1295d2+'/type/'+encodeURIComponent(_0x3cc0c9[_0x4b5104(0x3e0)]),{'method':_0x4b5104(0x1de)});if(!_0x42f2d0['ok']&&0x199!==_0x42f2d0['status']){const _0x32ccd7=await _0x42f2d0[_0x4b5104(0x236)]()[_0x4b5104(0x287)](()=>({}));throw new Error(_0x32ccd7?.['error']?.['message']||'Register\x20type\x20\x22'+_0x3cc0c9[_0x4b5104(0x3e0)]+_0x4b5104(0x39a));}this[_0x4b5104(0x1f6)](_0x4b5104(0x372)+_0x3cc0c9['key']);}const _0x659769=makePRNG(0x7fffffff&Date[_0x4b5104(0x2c3)]()),_0x3fd49d=_0x32d45d[_0x4b5104(0x239)](_0x4307f6,_0x659769);for(const _0x1f41f4 of _0x32d45d[_0x4b5104(0x376)]){const _0x490ec6=_0x4b5104(0x31a)+_0x1f41f4[_0x4b5104(0x3e0)],_0x234a32=_0x3fd49d[_0x1f41f4[_0x4b5104(0x3e0)]]??[];this[_0x4b5104(0x304)](_0x490ec6);let _0x2575f5=0x0;for(let _0x4e54a5=0x0;_0x4e54a5<_0x234a32[_0x4b5104(0x3bf)];_0x4e54a5+=0x32){const _0x1fe161=_0x234a32[_0x4b5104(0x2ce)](_0x4e54a5,_0x4e54a5+0x32),_0x5161eb=_0x1fe161[_0x4b5104(0x242)](({key:_0x41b97c,value:_0x158bfa})=>({'action':'put','type':_0x1f41f4[_0x4b5104(0x3e0)],'key':_0x41b97c,'value':_0x158bfa})),_0x23e29b=await fetch(_0x1295d2+_0x4b5104(0x280),{'method':_0x4b5104(0x1de),'headers':{'Content-Type':'application/json'},'body':JSON[_0x4b5104(0x1ec)]({'operations':_0x5161eb})});if(!_0x23e29b['ok']){const _0x2e74d9=await _0x23e29b[_0x4b5104(0x236)]()[_0x4b5104(0x287)](()=>({}));throw new Error(_0x2e74d9?.[_0x4b5104(0x1d3)]?.[_0x4b5104(0x370)]||_0x4b5104(0x1fa)+_0x1f41f4[_0x4b5104(0x3e0)]+_0x4b5104(0x39a));}_0x2575f5+=_0x1fe161[_0x4b5104(0x3bf)],this[_0x4b5104(0x35d)](_0x490ec6,_0x2575f5),await new Promise(_0x5c8068=>setTimeout(_0x5c8068,0x0));}this[_0x4b5104(0x378)][_0x4b5104(0x376)][_0x1f41f4['key']]=_0x234a32[_0x4b5104(0x3bf)],this[_0x4b5104(0x378)][_0x4b5104(0x1ae)]+=_0x234a32[_0x4b5104(0x3bf)],this['_done'](_0x490ec6);}if(this['enableIndexes'])for(const [_0x1cc8fb,_0x5b6223,_0x532d4a]of _0x32d45d[_0x4b5104(0x391)]){const _0x40ece5=_0x4b5104(0x2b4)+_0x1cc8fb+':'+_0x5b6223;this[_0x4b5104(0x304)](_0x40ece5);const _0x19ce5f=await fetch(_0x1295d2+_0x4b5104(0x3d4)+encodeURIComponent(_0x1cc8fb)+_0x4b5104(0x25c)+encodeURIComponent(_0x5b6223),{'method':_0x4b5104(0x1de),'headers':{'Content-Type':_0x4b5104(0x2c7)},'body':JSON[_0x4b5104(0x1ec)](_0x532d4a||{})});if(!_0x19ce5f['ok']){const _0x4798c3=await _0x19ce5f[_0x4b5104(0x236)]()['catch'](()=>({}));throw new Error(_0x4798c3?.[_0x4b5104(0x1d3)]?.[_0x4b5104(0x370)]||_0x4b5104(0x238)+_0x1cc8fb+'.'+_0x5b6223+_0x4b5104(0x35b));}this[_0x4b5104(0x378)][_0x4b5104(0x391)]++,this[_0x4b5104(0x1f6)](_0x40ece5);}if(this['enableFts'])for(const _0x3a0619 of _0x32d45d[_0x4b5104(0x198)]){const _0x26aa48=_0x4b5104(0x1e7)+_0x3a0619[_0x4b5104(0x31d)]+':'+_0x3a0619['name'];this[_0x4b5104(0x304)](_0x26aa48),(await fetch(_0x1295d2+_0x4b5104(0x3d4)+encodeURIComponent(_0x3a0619['type'])+_0x4b5104(0x293)+encodeURIComponent(_0x3a0619[_0x4b5104(0x1df)]),{'method':_0x4b5104(0x1de),'headers':{'Content-Type':'application/json'},'body':JSON[_0x4b5104(0x1ec)]({'fields':_0x3a0619[_0x4b5104(0x314)]})}))['ok']?(this[_0x4b5104(0x378)][_0x4b5104(0x198)]++,this[_0x4b5104(0x1f6)](_0x26aa48)):this['_error'](_0x26aa48);}this[_0x4b5104(0x393)]=_0x4b5104(0x275);}catch(_0x54e370){this['error']=_0x54e370?.[_0x4b5104(0x370)]||'Generation\x20failed';for(const _0x35ae48 of this['progress'])_0x4b5104(0x23c)===_0x35ae48[_0x4b5104(0x282)]&&this['_error'](_0x35ae48['id']);}},async 'openEnv'(){const _0x13091f=_0x5bb13f,_0x4ef967=this[_0x13091f(0x3a2)][_0x13091f(0x2e0)]();_0x45f070['$ok'][_0x13091f(0x279)][_0x13091f(0x28e)]['selectEnv'](_0x4ef967),await _0x45f070[_0x13091f(0x258)][_0x13091f(0x279)][_0x13091f(0x28e)][_0x13091f(0x247)](),await _0x45f070[_0x13091f(0x2fa)][_0x13091f(0x319)][_0x13091f(0x1b3)](),await _0x45f070[_0x13091f(0x2fa)]['onDone']?.(_0x4ef967);}}),'template':_0x5bb13f(0x2e7),'style':_0x5bb13f(0x19b)};
|
|
1
|
+
const _0x14a550=_0x4b93;function _0x4b93(_0x116a88,_0x3b1d03){_0x116a88=_0x116a88-0x91;const _0x7cc5fb=_0x7cc5();let _0x4b9352=_0x7cc5fb[_0x116a88];return _0x4b9352;}(function(_0x39ae24,_0x4749fa){const _0x2e1f10=_0x4b93,_0x59a9d2=_0x39ae24();while(!![]){try{const _0x2f8535=-parseInt(_0x2e1f10(0x1e5))/0x1+parseInt(_0x2e1f10(0x1c9))/0x2*(parseInt(_0x2e1f10(0x1eb))/0x3)+parseInt(_0x2e1f10(0x2d5))/0x4*(-parseInt(_0x2e1f10(0x11b))/0x5)+parseInt(_0x2e1f10(0x2a2))/0x6*(-parseInt(_0x2e1f10(0x1ac))/0x7)+parseInt(_0x2e1f10(0x29a))/0x8*(-parseInt(_0x2e1f10(0x95))/0x9)+parseInt(_0x2e1f10(0x2cb))/0xa+parseInt(_0x2e1f10(0x20d))/0xb;if(_0x2f8535===_0x4749fa)break;else _0x59a9d2['push'](_0x59a9d2['shift']());}catch(_0xb75786){_0x59a9d2['push'](_0x59a9d2['shift']());}}}(_0x7cc5,0x22a75));function makePRNG(_0x81508c){let _0x436c8c=(0x9e3779b9^_0x81508c)>>>0x0||0x1;return()=>(_0x436c8c^=_0x436c8c<<0xd,_0x436c8c^=_0x436c8c>>>0x11,_0x436c8c^=_0x436c8c<<0x5,(_0x436c8c>>>0x0)/0x100000000);}const pick=(_0x1bff52,_0x14a036)=>_0x1bff52[Math[_0x14a550(0xd4)](_0x14a036()*_0x1bff52['length'])],rng=(_0x393d6b,_0x19cfe5,_0x1c3f79)=>Math[_0x14a550(0xd4)](_0x1c3f79()*(_0x19cfe5-_0x393d6b+0x1))+_0x393d6b,uid=(_0x5281f0,_0x5e21bc)=>_0x5281f0+'-'+String(_0x5e21bc)[_0x14a550(0xca)](0x4,'0'),email=(_0x345cd5,_0x3063ea,_0x2874a9)=>_0x345cd5[_0x14a550(0x259)]()+'.'+_0x3063ea[_0x14a550(0x259)]()+rng(0x1,0x63,_0x2874a9)+'@'+pick(['gmail.com',_0x14a550(0x28d),_0x14a550(0x2e0),_0x14a550(0x138),_0x14a550(0x221)],_0x2874a9),dateAgo=(_0x537fb6,_0x219b1c)=>new Date(Date[_0x14a550(0x1d1)]()-0x5265c00*rng(0x0,_0x537fb6,_0x219b1c))[_0x14a550(0x208)]()[_0x14a550(0x1af)]('T')[0x0],dateFwd=(_0x13d672,_0x1538f8)=>new Date(Date['now']()+0x5265c00*rng(0x1,_0x13d672,_0x1538f8))[_0x14a550(0x208)]()[_0x14a550(0x1af)]('T')[0x0],FIRST=['Alice',_0x14a550(0x269),_0x14a550(0x237),_0x14a550(0x262),'Emma','Frank','Grace',_0x14a550(0x14d),_0x14a550(0x10d),_0x14a550(0x16d),_0x14a550(0xa8),_0x14a550(0x10c),_0x14a550(0x12a),'Noah',_0x14a550(0x229),_0x14a550(0x131),_0x14a550(0x1a9),'Rachel',_0x14a550(0xe9),_0x14a550(0x159),'Uma',_0x14a550(0x212),'Wendy',_0x14a550(0x16c),'Zoe'],LAST=['Anderson',_0x14a550(0x1a1),_0x14a550(0x1b5),_0x14a550(0x2e1),_0x14a550(0x189),_0x14a550(0x1cd),_0x14a550(0x28c),_0x14a550(0x96),_0x14a550(0x91),'Jones','King',_0x14a550(0x103),'Martinez',_0x14a550(0x2d6),_0x14a550(0x183),'Parker',_0x14a550(0x1a9),_0x14a550(0x2ac),_0x14a550(0xd0),_0x14a550(0x11d),_0x14a550(0x15c),_0x14a550(0xd8),_0x14a550(0xf7),_0x14a550(0x122)],CITIES=[_0x14a550(0x144),_0x14a550(0xd1),'Berlin',_0x14a550(0x1aa),_0x14a550(0x27a),_0x14a550(0x167),_0x14a550(0xee),_0x14a550(0x140),_0x14a550(0x9c),_0x14a550(0x200),_0x14a550(0x2cf),'São\x20Paulo',_0x14a550(0x21e),_0x14a550(0x197),_0x14a550(0x1a4)],COUNTRIES=['US','GB','DE','FR','JP','AU','CA','BR','IN','SG','NL','SE','ES','IT','MX'],DEVICES=[_0x14a550(0xb3),_0x14a550(0x22d),'tablet'],PAGES=['/','/products',_0x14a550(0x25e),_0x14a550(0x191),_0x14a550(0xc2),_0x14a550(0x1f4),_0x14a550(0x2c2),_0x14a550(0x19d),_0x14a550(0x12c),_0x14a550(0x1f5),_0x14a550(0x292)],PROD_ADJ=[_0x14a550(0x22e),_0x14a550(0x17e),_0x14a550(0x296),_0x14a550(0x253),_0x14a550(0x2c6),_0x14a550(0x1c6),_0x14a550(0x2da),'Premium',_0x14a550(0x1e2),_0x14a550(0x1b0),'Swift',_0x14a550(0x27f)],PROD_NOUN=[_0x14a550(0x1ff),'Keyboard',_0x14a550(0x23a),'Backpack','Chair',_0x14a550(0xf4),_0x14a550(0x236),_0x14a550(0x160),_0x14a550(0x2db),'Tablet','Watch',_0x14a550(0x234),_0x14a550(0x284),_0x14a550(0x102),_0x14a550(0xfe),'Pod',_0x14a550(0x1d3),_0x14a550(0x1fb)],PROD_CAT=[_0x14a550(0x21b),_0x14a550(0xff),'Clothing',_0x14a550(0x11a),_0x14a550(0x188),_0x14a550(0x13a),_0x14a550(0x99),_0x14a550(0x11f),_0x14a550(0x1bf),_0x14a550(0xb0)],ORDER_STATUS=['pending',_0x14a550(0x256),_0x14a550(0x14a),_0x14a550(0xe6),_0x14a550(0x299)],DOMAINS=['gmail.com','yahoo.com',_0x14a550(0x2e0)],CITY_CENTERS=[{'name':_0x14a550(0xd1),'country':'GB','lat':51.5074,'lon':-0.1278},{'name':_0x14a550(0xee),'country':'FR','lat':48.8566,'lon':2.3522},{'name':_0x14a550(0x144),'country':'US','lat':40.7128,'lon':-74.006},{'name':_0x14a550(0x1aa),'country':'JP','lat':35.6762,'lon':139.6503},{'name':_0x14a550(0x27a),'country':'AU','lat':-33.8688,'lon':151.2093},{'name':_0x14a550(0x22f),'country':'DE','lat':52.52,'lon':13.405},{'name':_0x14a550(0x2bb),'country':'US','lat':37.7749,'lon':-122.4194},{'name':_0x14a550(0x140),'country':'NL','lat':52.3676,'lon':4.9041},{'name':_0x14a550(0x9c),'country':'SG','lat':1.3521,'lon':103.8198},{'name':_0x14a550(0x257),'country':'ES','lat':41.3851,'lon':2.1734},{'name':_0x14a550(0x200),'country':'AE','lat':25.2048,'lon':55.2708},{'name':_0x14a550(0x167),'country':'CA','lat':43.6532,'lon':-79.3832},{'name':_0x14a550(0x132),'country':'IT','lat':41.9028,'lon':12.4964},{'name':_0x14a550(0x154),'country':'AU','lat':-37.8136,'lon':144.9631},{'name':_0x14a550(0x2cf),'country':'KR','lat':37.5665,'lon':126.978}],PLACE_CATS=[_0x14a550(0xc9),_0x14a550(0x1e9),_0x14a550(0x13d),_0x14a550(0x2ad),_0x14a550(0x278),_0x14a550(0x171),_0x14a550(0x268),_0x14a550(0x238)],PLACE_ADJ=[_0x14a550(0x137),_0x14a550(0x198),_0x14a550(0x241),_0x14a550(0x2a9),_0x14a550(0x1cb),'Garden','Harbor','Urban',_0x14a550(0x1d9),'Wild',_0x14a550(0x1e7),'Velvet','Cozy',_0x14a550(0x17c),_0x14a550(0x267),_0x14a550(0x134),_0x14a550(0x93),_0x14a550(0x25f),'Green',_0x14a550(0x223)],PLACE_NOUN=['Kitchen','Bistro',_0x14a550(0x148),'Grove','Terrace',_0x14a550(0x280),'Nook',_0x14a550(0xae),_0x14a550(0x119),_0x14a550(0xd9),'Quarter',_0x14a550(0x1a5),_0x14a550(0x1bc),'Square',_0x14a550(0x114),_0x14a550(0xd9)],BAR_ADJ=[_0x14a550(0x1b3),_0x14a550(0x213),_0x14a550(0x1ba),_0x14a550(0x27e),_0x14a550(0x248),_0x14a550(0x261),'Old','Rusty',_0x14a550(0x105),_0x14a550(0x241),_0x14a550(0x16f),_0x14a550(0x255)],BAR_ANIMAL=['Fox',_0x14a550(0x145),_0x14a550(0x297),_0x14a550(0x19c),_0x14a550(0x216),'Wolf',_0x14a550(0x282),_0x14a550(0x173),_0x14a550(0x1f8),'Crow',_0x14a550(0xef),'Stag'],CAFE_PRE=[_0x14a550(0x1c3),'Daily',_0x14a550(0xa7),_0x14a550(0x1d9),_0x14a550(0x1dd),_0x14a550(0x1e7),_0x14a550(0xc6),'Ground',_0x14a550(0x263),_0x14a550(0x20e),_0x14a550(0x25f),'Slow'],CAFE_SFX=[_0x14a550(0x1c2),_0x14a550(0x2a8),_0x14a550(0x1da),_0x14a550(0xcf),_0x14a550(0x195),'Grind',_0x14a550(0x1d5),_0x14a550(0x162),_0x14a550(0xea),_0x14a550(0x2c1)],MUSEUM_SUB=[_0x14a550(0xf9),_0x14a550(0x130),_0x14a550(0x231),'Science\x20&\x20Technology',_0x14a550(0xc5),_0x14a550(0x156),'Architecture\x20&\x20Design',_0x14a550(0x272),'Living\x20Culture'],PARK_ADJ_P=['Central',_0x14a550(0xdf),'Riverside',_0x14a550(0x1d2),_0x14a550(0x134),'Memorial',_0x14a550(0x2d0),'Green',_0x14a550(0x146),_0x14a550(0x23e),_0x14a550(0x286),_0x14a550(0x252)],HOTEL_ADJ_H=[_0x14a550(0x93),'Royal',_0x14a550(0x141),_0x14a550(0x99),_0x14a550(0x1bd),_0x14a550(0x146),'Skyline',_0x14a550(0xda),_0x14a550(0xe3),'Maison',_0x14a550(0x23c)],HOTEL_NOUN_H=[_0x14a550(0x18a),_0x14a550(0x193),_0x14a550(0xb4),'Residence',_0x14a550(0x127),'Place',_0x14a550(0x119),'Retreat',_0x14a550(0x2c0)],GYM_PRE=[_0x14a550(0xeb),_0x14a550(0x1ec),_0x14a550(0x24d),_0x14a550(0x24c),_0x14a550(0x277),_0x14a550(0x226),_0x14a550(0xb7),'Pulse',_0x14a550(0x23d),'Prime'],GYM_SFX=[_0x14a550(0x92),_0x14a550(0x290),_0x14a550(0xbe),_0x14a550(0x1d3),_0x14a550(0x158),_0x14a550(0x112),_0x14a550(0x14e),_0x14a550(0x1db),'Performance'],SHOP_ADJ=[_0x14a550(0x1b1),_0x14a550(0x1e7),_0x14a550(0x280),_0x14a550(0x149),_0x14a550(0xa7),'Artisan',_0x14a550(0x18e),_0x14a550(0x1b9),_0x14a550(0x117)],SHOP_NOUN=[_0x14a550(0x172),_0x14a550(0x1d0),_0x14a550(0x1bc),_0x14a550(0x22b),_0x14a550(0xce),_0x14a550(0xc1),_0x14a550(0xa6),'Emporium',_0x14a550(0x1a8)],PLACE_DESCS=[_0x14a550(0x240),_0x14a550(0x135),_0x14a550(0x1f0),_0x14a550(0x28a),_0x14a550(0x10b),_0x14a550(0x24e),_0x14a550(0x28b),_0x14a550(0xe8),_0x14a550(0xe2),'Intimate\x20and\x20unpretentious\x20—\x20the\x20kind\x20of\x20place\x20that\x20instantly\x20feels\x20like\x20home.',_0x14a550(0xfb),_0x14a550(0x2b9)],PERSON_BIOS=['Passionate\x20foodie\x20and\x20amateur\x20photographer\x20exploring\x20the\x20city\x20one\x20café\x20at\x20a\x20time.',_0x14a550(0x1e8),'Architecture\x20enthusiast\x20and\x20frequent\x20museum-goer\x20with\x20a\x20love\x20for\x20strong\x20espresso.',_0x14a550(0x21f),'Fitness\x20fanatic,\x20craft\x20beer\x20lover\x20and\x20weekend\x20market\x20explorer.',_0x14a550(0x1f3),_0x14a550(0x25d),'Museum\x20member,\x20park\x20runner\x20and\x20enthusiastic\x20brunch-seeker\x20on\x20weekends.','Lifelong\x20traveller\x20collecting\x20experiences,\x20flavours\x20and\x20stories\x20from\x20around\x20the\x20globe.',_0x14a550(0x136)],CHECKIN_NOTES=['Amazing\x20experience,\x20will\x20definitely\x20be\x20back!',_0x14a550(0x250),_0x14a550(0x9f),_0x14a550(0x1e1),_0x14a550(0x2e2),_0x14a550(0x224),'Exactly\x20what\x20I\x20needed\x20today\x20—\x20no\x20complaints.',_0x14a550(0x251),_0x14a550(0x1ef),'Exceptional\x20quality\x20—\x20genuinely\x20exceeded\x20expectations.',_0x14a550(0x266),_0x14a550(0xc3),null,null,null];function _scatter(_0x1cb95b,_0x589161,_0x37e5ea){const _0x50ee35=_0x14a550;return{'lat':Math[_0x50ee35(0x2c9)](0xf4240*(_0x1cb95b[_0x50ee35(0x260)]+0x2*(_0x37e5ea()-0.5)*_0x589161))/0xf4240,'lon':Math['round'](0xf4240*(_0x1cb95b[_0x50ee35(0x1a7)]+0x2*(_0x37e5ea()-0.5)*_0x589161))/0xf4240};}function _placeName(_0x3aa391,_0x16b24b){const _0x343e85=_0x14a550;switch(_0x3aa391){case'restaurant':return _0x343e85(0xa4)+pick(PLACE_ADJ,_0x16b24b)+'\x20'+pick(PLACE_NOUN,_0x16b24b);case _0x343e85(0x1e9):return _0x343e85(0xa4)+pick(BAR_ADJ,_0x16b24b)+'\x20'+pick(BAR_ANIMAL,_0x16b24b);case'cafe':return pick(CAFE_PRE,_0x16b24b)+'\x20'+pick(CAFE_SFX,_0x16b24b);case'museum':return _0x343e85(0x2c8)+pick(MUSEUM_SUB,_0x16b24b);case _0x343e85(0x278):return pick(PARK_ADJ_P,_0x16b24b)+_0x343e85(0x265);case'hotel':return _0x343e85(0xa4)+pick(HOTEL_ADJ_H,_0x16b24b)+'\x20'+pick(HOTEL_NOUN_H,_0x16b24b);case _0x343e85(0x268):return pick(GYM_PRE,_0x16b24b)+'\x20'+pick(GYM_SFX,_0x16b24b);case'shop':return _0x343e85(0xa4)+pick(SHOP_ADJ,_0x16b24b)+'\x20'+pick(SHOP_NOUN,_0x16b24b);default:return pick(PLACE_ADJ,_0x16b24b)+_0x343e85(0x1e0);}}function generateCityExplorer(_0x1a0c44,_0x43b15c){const _0x274cbe=_0x14a550,_0x5ea8a8={};return _0x5ea8a8[_0x274cbe(0x1fa)]=Array['from']({'length':_0x1a0c44['places']},(_0xa44a62,_0x1d7577)=>{const _0x3d6d5e=_0x274cbe,_0x55a824=pick(CITY_CENTERS,_0x43b15c),_0x309dcd=pick(PLACE_CATS,_0x43b15c);return{'key':uid(_0x3d6d5e(0x1ee),_0x1d7577+0x1),'value':{'name':_placeName(_0x309dcd,_0x43b15c),'category':_0x309dcd,'city':_0x55a824['name'],'country':_0x55a824[_0x3d6d5e(0x18d)],'location':_scatter(_0x55a824,0.035,_0x43b15c),'rating':Math[_0x3d6d5e(0x2c9)](rng(0x1c,0x32,_0x43b15c))/0xa,'reviewCount':rng(0x5,0xbb8,_0x43b15c),'priceLevel':rng(0x1,0x4,_0x43b15c),'description':pick(PLACE_DESCS,_0x43b15c),'phone':'+'+rng(0x1,0x63,_0x43b15c)+'\x20'+rng(0x64,0x3e7,_0x43b15c)+'-'+rng(0x3e8,0x270f,_0x43b15c),'openNow':_0x43b15c()>0.3,'verified':_0x43b15c()>0.25,'createdAt':dateAgo(0x2da,_0x43b15c)}};}),_0x5ea8a8['people']=Array[_0x274cbe(0x133)]({'length':_0x1a0c44['people']},(_0x2f145c,_0x5eedcc)=>{const _0xb294f3=_0x274cbe,_0xf8e204=pick(CITY_CENTERS,_0x43b15c),_0x2e4362=pick(FIRST,_0x43b15c),_0x27a7e7=pick(LAST,_0x43b15c);return{'key':uid(_0xb294f3(0x2d1),_0x5eedcc+0x1),'value':{'name':_0x2e4362+'\x20'+_0x27a7e7,'email':email(_0x2e4362,_0x27a7e7,_0x43b15c),'city':_0xf8e204[_0xb294f3(0x121)],'country':_0xf8e204[_0xb294f3(0x18d)],'home':_scatter(_0xf8e204,0.055,_0x43b15c),'bio':pick(PERSON_BIOS,_0x43b15c),'interests':[...new Set([pick(PLACE_CATS,_0x43b15c),pick(PLACE_CATS,_0x43b15c),pick(PLACE_CATS,_0x43b15c)])],'memberSince':dateAgo(0x447,_0x43b15c),'checkinsCount':rng(0x0,0x5a,_0x43b15c)}};}),_0x5ea8a8['checkins']=Array['from']({'length':_0x1a0c44[_0x274cbe(0x1e6)]},(_0x2ef4bb,_0x4f40ee)=>({'key':uid('ci',_0x4f40ee+0x1),'value':{'personId':uid('person',rng(0x1,_0x1a0c44[_0x274cbe(0x220)],_0x43b15c)),'placeId':uid(_0x274cbe(0x1ee),rng(0x1,_0x1a0c44['places'],_0x43b15c)),'rating':rng(0x1,0x5,_0x43b15c),'note':pick(CHECKIN_NOTES,_0x43b15c),'hasPhoto':_0x43b15c()>0.58,'timestamp':new Date(Date[_0x274cbe(0x1d1)]()-rng(0x0,0x757b12c00,_0x43b15c))['toISOString']()}})),_0x5ea8a8;}const POST_TITLES=[_0x14a550(0x196),_0x14a550(0x126),_0x14a550(0x13e),_0x14a550(0x2de),_0x14a550(0x20b),_0x14a550(0x222),_0x14a550(0x129),_0x14a550(0x101),_0x14a550(0xf3),_0x14a550(0x26d),_0x14a550(0x2b3),_0x14a550(0x281),'GraphQL\x20Best\x20Practices\x20for\x20Production',_0x14a550(0x139),'Observability\x20and\x20Monitoring\x20at\x20Scale',_0x14a550(0x2ce),_0x14a550(0x98),_0x14a550(0x174),'AI-Assisted\x20Development\x20Workflows',_0x14a550(0x16b)],TAG_NAMES=['javascript',_0x14a550(0x1f9),_0x14a550(0x1b6),_0x14a550(0x2cd),_0x14a550(0x192),_0x14a550(0x107),_0x14a550(0x1c0),_0x14a550(0x25a),_0x14a550(0xe4),'ux','design',_0x14a550(0x204),_0x14a550(0x225),'mobile',_0x14a550(0x2b1),_0x14a550(0xbc),_0x14a550(0x2d4),_0x14a550(0x2b8),'accessibility',_0x14a550(0x2d3),_0x14a550(0x2ba),_0x14a550(0xfd),_0x14a550(0x273),_0x14a550(0x25c),_0x14a550(0x27c),_0x14a550(0x19e),'beginner','advanced'],POST_CATS=[_0x14a550(0xa2),_0x14a550(0x157),_0x14a550(0x210),_0x14a550(0x1f7),_0x14a550(0x245),_0x14a550(0x15e),_0x14a550(0x15d)],COMMENT_BODIES=[_0x14a550(0x14c),_0x14a550(0x185),_0x14a550(0x246),_0x14a550(0x283),_0x14a550(0x100),_0x14a550(0x287),'I\x20disagree\x20with\x20some\x20points\x20but\x20overall\x20great\x20read.',_0x14a550(0x17f),_0x14a550(0x217),'Saved\x20me\x20hours\x20of\x20debugging.\x20Thank\x20you!'],EVT_TYPES=[_0x14a550(0xfa),'click',_0x14a550(0x294),_0x14a550(0x9a),'purchase',_0x14a550(0x11e),_0x14a550(0x190),_0x14a550(0x2d7),_0x14a550(0xac),_0x14a550(0x11c),'video_play',_0x14a550(0x163)],REFERRERS=[_0x14a550(0x1d4),_0x14a550(0x274),'github.com',_0x14a550(0x243),_0x14a550(0x18f),_0x14a550(0xab),'linkedin.com'],ROLES=[_0x14a550(0x2c4),_0x14a550(0x19f),_0x14a550(0x2df),_0x14a550(0x165),_0x14a550(0x169),_0x14a550(0x22a),_0x14a550(0x143),_0x14a550(0x2b2),_0x14a550(0x184),_0x14a550(0x1df)],DEPTS=['Engineering',_0x14a550(0x157),_0x14a550(0x104),'Marketing',_0x14a550(0x2a0),'Operations','HR','Finance'],LEVELS=[_0x14a550(0x279),_0x14a550(0x116),_0x14a550(0x178),_0x14a550(0x24b),_0x14a550(0x26e),_0x14a550(0x206)],SKILLS=[_0x14a550(0x2c5),_0x14a550(0x244),'React',_0x14a550(0x211),_0x14a550(0x28e),'Docker','AWS',_0x14a550(0x298),'GraphQL',_0x14a550(0x152),_0x14a550(0x106),_0x14a550(0xe5),_0x14a550(0x1ca),_0x14a550(0xd7),_0x14a550(0x29c),'Go',_0x14a550(0xde),'Kotlin'],PROJ_NAMES=[_0x14a550(0xad),'Mobile\x20App\x20v2',_0x14a550(0x9b),_0x14a550(0x20f),_0x14a550(0x207),'Analytics\x20Dashboard',_0x14a550(0x12f),_0x14a550(0x23b),'Search\x20Engine',_0x14a550(0x209),_0x14a550(0x120),_0x14a550(0x1d8),_0x14a550(0x164),_0x14a550(0x125),_0x14a550(0xb9),_0x14a550(0xcc),_0x14a550(0x2ca),_0x14a550(0x9e),_0x14a550(0x12b),'Onboarding\x20Flow','A/B\x20Testing\x20Framework',_0x14a550(0x1be),_0x14a550(0x110),_0x14a550(0x1f2),'Data\x20Warehouse'],PROJ_STATUS=['planning','in-progress','review',_0x14a550(0x182),_0x14a550(0x179)];function generateEcommerce(_0x19b66a,_0x151947){const _0x2ca4e7=_0x14a550,_0x1146c7={};return _0x1146c7['products']=Array[_0x2ca4e7(0x133)]({'length':_0x19b66a['products']},(_0x380709,_0x2c6765)=>{const _0x5b02ce=_0x2ca4e7,_0x1991e6=pick(PROD_ADJ,_0x151947),_0x283f3b=pick(PROD_NOUN,_0x151947);return{'key':uid(_0x5b02ce(0x1b7),_0x2c6765+0x1),'value':{'name':_0x1991e6+'\x20'+_0x283f3b,'category':pick(PROD_CAT,_0x151947),'price':Math[_0x5b02ce(0x2c9)](0x64*(rng(0x5,0x3e7,_0x151947)+0.99*_0x151947()))/0x64,'stock':rng(0x0,0x1f4,_0x151947),'rating':Math[_0x5b02ce(0x2c9)](rng(0x19,0x32,_0x151947))/0xa,'reviewCount':rng(0x0,0x4b0,_0x151947),'description':_0x5b02ce(0xa4)+_0x1991e6+'\x20'+_0x283f3b+_0x5b02ce(0x16e),'sku':_0x5b02ce(0x18b)+rng(0x2710,0x1869f,_0x151947),'brand':pick(['TechCore',_0x5b02ce(0x22c),'Nomad',_0x5b02ce(0x1c7),_0x5b02ce(0x199)],_0x151947),'createdAt':dateAgo(0x16d,_0x151947)}};}),_0x1146c7[_0x2ca4e7(0x1e4)]=Array[_0x2ca4e7(0x133)]({'length':_0x19b66a[_0x2ca4e7(0x1e4)]},(_0x1e0460,_0x3c6f95)=>{const _0x3918f5=_0x2ca4e7,_0xc963c3=pick(FIRST,_0x151947),_0x403cbf=pick(LAST,_0x151947);return{'key':uid('cust',_0x3c6f95+0x1),'value':{'name':_0xc963c3+'\x20'+_0x403cbf,'email':email(_0xc963c3,_0x403cbf,_0x151947),'city':pick(CITIES,_0x151947),'country':pick(COUNTRIES,_0x151947),'tier':pick(['bronze','silver',_0x3918f5(0x21d),_0x3918f5(0x271)],_0x151947),'totalOrders':rng(0x0,0x32,_0x151947),'totalSpent':Math[_0x3918f5(0x2c9)](0x64*rng(0x0,0x3a98,_0x151947))/0x64,'joinDate':dateAgo(0x2da,_0x151947),'newsletter':_0x151947()>0.4}};}),_0x1146c7[_0x2ca4e7(0x205)]=Array[_0x2ca4e7(0x133)]({'length':_0x19b66a['orders']},(_0x1f6c4b,_0x24b509)=>{const _0x405d33=_0x2ca4e7,_0x2cfa77=rng(0x1,0x5,_0x151947),_0x1f69da=Array['from']({'length':_0x2cfa77},()=>{const _0x3a9188=_0x4b93,_0x3baba6=Math[_0x3a9188(0x2c9)](0x64*rng(0x5,0x1f3,_0x151947))/0x64,_0x4d3ba4=rng(0x1,0x4,_0x151947);return{'productId':uid(_0x3a9188(0x1b7),rng(0x1,_0x19b66a[_0x3a9188(0x215)],_0x151947)),'qty':_0x4d3ba4,'price':_0x3baba6,'total':Math[_0x3a9188(0x2c9)](_0x3baba6*_0x4d3ba4*0x64)/0x64};});return{'key':uid(_0x405d33(0x27d),_0x24b509+0x1),'value':{'customerId':uid(_0x405d33(0x2be),rng(0x1,_0x19b66a['customers'],_0x151947)),'status':pick(ORDER_STATUS,_0x151947),'items':_0x1f69da,'subtotal':_0x1f69da[_0x405d33(0xbd)]((_0x28de3d,_0x301640)=>_0x28de3d+_0x301640[_0x405d33(0xf0)],0x0),'shipping':Math[_0x405d33(0x2c9)](0x64*rng(0x0,0x14,_0x151947))/0x64,'total':_0x1f69da[_0x405d33(0xbd)]((_0x2dc07a,_0x44e004)=>_0x2dc07a+_0x44e004[_0x405d33(0xf0)],0x0)+Math[_0x405d33(0x2c9)](0x64*rng(0x0,0x14,_0x151947))/0x64,'createdAt':dateAgo(0xb4,_0x151947),'shippedAt':_0x151947()>0.3?dateAgo(0x3c,_0x151947):null,'address':{'city':pick(CITIES,_0x151947),'country':pick(COUNTRIES,_0x151947)}}};}),_0x1146c7[_0x2ca4e7(0x1f6)]=Array[_0x2ca4e7(0x133)]({'length':_0x19b66a['reviews']},(_0x559edd,_0x39b734)=>{const _0x277911=_0x2ca4e7,_0x45e708=rng(0x1,0x5,_0x151947);return{'key':uid(_0x277911(0x295),_0x39b734+0x1),'value':{'productId':uid(_0x277911(0x1b7),rng(0x1,_0x19b66a[_0x277911(0x215)],_0x151947)),'customerId':uid(_0x277911(0x2be),rng(0x1,_0x19b66a[_0x277911(0x1e4)],_0x151947)),'stars':_0x45e708,'title':pick(_0x45e708>=0x4?['Love\x20it!',_0x277911(0x1d7),'Exactly\x20as\x20described','Highly\x20recommend',_0x277911(0x1f1)]:[_0x277911(0x275),_0x277911(0xbb),'Expected\x20more',_0x277911(0xba)],_0x151947),'body':(_0x45e708>=0x4?'Really\x20happy\x20with\x20this\x20purchase.':_0x277911(0xf8))+'\x20'+pick([_0x277911(0x1b2),_0x277911(0xa5),'Still\x20testing\x20it\x20out.',_0x277911(0x1fc),_0x277911(0x1b8)],_0x151947),'verified':_0x151947()>0.2,'helpful':rng(0x0,0xc8,_0x151947),'createdAt':dateAgo(0x16d,_0x151947)}};}),_0x1146c7;}function generateAnalytics(_0xd26d4d,_0x3f933e){const _0x57c166=_0x14a550,_0x2ac997={};return _0x2ac997[_0x57c166(0x10e)]=Array[_0x57c166(0x133)]({'length':_0xd26d4d['sessions']},(_0x300a9c,_0x2c973e)=>({'key':uid(_0x57c166(0x24f),_0x2c973e+0x1),'value':{'userId':_0x3f933e()>0.35?uid(_0x57c166(0x1dc),rng(0x1,0x1f4,_0x3f933e)):null,'device':pick(DEVICES,_0x3f933e),'country':pick(COUNTRIES,_0x3f933e),'city':pick(CITIES,_0x3f933e),'duration':rng(0x5,0xe10,_0x3f933e),'pageCount':rng(0x1,0x1e,_0x3f933e),'bounced':_0x3f933e()<0.38,'browser':pick(['Chrome','Firefox',_0x57c166(0x18c),_0x57c166(0x161),'Arc'],_0x3f933e),'startedAt':new Date(Date['now']()-rng(0x0,0x9a7ec800,_0x3f933e))[_0x57c166(0x208)]()}})),_0x2ac997['events']=Array[_0x57c166(0x133)]({'length':_0xd26d4d['events']},(_0x396afc,_0x244c1a)=>({'key':uid(_0x57c166(0x2c7),_0x244c1a+0x1),'value':{'type':pick(EVT_TYPES,_0x3f933e),'sessionId':uid('sess',rng(0x1,_0xd26d4d[_0x57c166(0x10e)],_0x3f933e)),'userId':_0x3f933e()>0.35?uid('user',rng(0x1,0x1f4,_0x3f933e)):null,'page':pick(PAGES,_0x3f933e),'device':pick(DEVICES,_0x3f933e),'country':pick(COUNTRIES,_0x3f933e),'timestamp':new Date(Date['now']()-rng(0x0,0x9a7ec800,_0x3f933e))[_0x57c166(0x208)](),'value':_0x3f933e()>0.7?Math[_0x57c166(0x2c9)](0x64*rng(0x1,0x2710,_0x3f933e))/0x64:null}})),_0x2ac997[_0x57c166(0x115)]=Array[_0x57c166(0x133)]({'length':_0xd26d4d[_0x57c166(0x115)]},(_0x32fcdb,_0x568e41)=>({'key':uid('pv',_0x568e41+0x1),'value':{'page':pick(PAGES,_0x3f933e),'sessionId':uid(_0x57c166(0x24f),rng(0x1,_0xd26d4d['sessions'],_0x3f933e)),'referrer':pick(REFERRERS,_0x3f933e),'timeOnPage':rng(0x0,0x258,_0x3f933e),'exitPage':_0x3f933e()>0.7,'timestamp':new Date(Date['now']()-rng(0x0,0x9a7ec800,_0x3f933e))['toISOString']()}})),_0x2ac997;}function generateBlog(_0x1dc4aa,_0x5d2bc9){const _0x1cbc32=_0x14a550,_0x139349={};_0x139349[_0x1cbc32(0xa1)]=Array[_0x1cbc32(0x133)]({'length':_0x1dc4aa[_0x1cbc32(0xa1)]},(_0x3aa5b7,_0x27262e)=>{const _0x3f0c34=_0x1cbc32,_0x3445de=pick(FIRST,_0x5d2bc9),_0x27051f=pick(LAST,_0x5d2bc9),_0xf9ed48=pick([_0x3f0c34(0x2ae),_0x3f0c34(0x1c8),_0x3f0c34(0x2b6),_0x3f0c34(0x157),_0x3f0c34(0x1cc),_0x3f0c34(0x214),_0x3f0c34(0x230),_0x3f0c34(0x258)],_0x5d2bc9);return{'key':uid('auth',_0x27262e+0x1),'value':{'name':_0x3445de+'\x20'+_0x27051f,'email':email(_0x3445de,_0x27051f,_0x5d2bc9),'bio':_0x3445de+'\x20is\x20a\x20'+_0xf9ed48+_0x3f0c34(0x17b)+rng(0x2,0x12,_0x5d2bc9)+'\x20years\x20of\x20experience\x20building\x20production\x20systems.','specialty':_0xf9ed48,'location':pick(CITIES,_0x5d2bc9),'twitter':'@'+_0x3445de['toLowerCase']()+_0x27051f['toLowerCase'](),'postCount':0x0}};});const _0xa06a02=Math[_0x1cbc32(0x2b7)](_0x1dc4aa[_0x1cbc32(0xaf)],TAG_NAMES[_0x1cbc32(0x29d)]);return _0x139349['tags']=Array[_0x1cbc32(0x133)]({'length':_0xa06a02},(_0x3cd7fb,_0x34ad04)=>({'key':uid(_0x1cbc32(0x2a1),_0x34ad04+0x1),'value':{'name':TAG_NAMES[_0x34ad04],'count':rng(0x5,0x78,_0x5d2bc9),'color':pick([_0x1cbc32(0x19b),_0x1cbc32(0xf1),_0x1cbc32(0x15f),_0x1cbc32(0x109),'var(--okdb-danger)'],_0x5d2bc9)}})),_0x139349[_0x1cbc32(0x2bd)]=Array['from']({'length':_0x1dc4aa[_0x1cbc32(0x2bd)]},(_0x1617ab,_0xa07d9)=>{const _0x1350ef=_0x1cbc32,_0x10f1dc=POST_TITLES[_0xa07d9%POST_TITLES[_0x1350ef(0x29d)]],_0x2557b9=pick(['','','',_0x1350ef(0xec),_0x1350ef(0x2a7),_0x1350ef(0x1a2),_0x1350ef(0xfc)],_0x5d2bc9),_0x594e23=_0x2557b9?''+_0x2557b9+_0x10f1dc:_0x10f1dc,_0x3a8ea7=_0x5d2bc9()>0.25?_0x1350ef(0xdb):pick(['draft','archived'],_0x5d2bc9);return{'key':uid('post',_0xa07d9+0x1),'value':{'title':_0x594e23,'slug':_0x594e23[_0x1350ef(0x259)]()['replace'](/[^a-z0-9]+/g,'-')['replace'](/^-|-$/g,''),'authorId':uid(_0x1350ef(0x14f),rng(0x1,_0x1dc4aa[_0x1350ef(0xa1)],_0x5d2bc9)),'category':pick(POST_CATS,_0x5d2bc9),'status':_0x3a8ea7,'tags':[...new Set([uid(_0x1350ef(0x2a1),rng(0x1,_0xa06a02,_0x5d2bc9)),uid(_0x1350ef(0x2a1),rng(0x1,_0xa06a02,_0x5d2bc9))])],'content':'This\x20article\x20covers\x20the\x20essentials\x20you\x20need\x20to\x20know.\x20We\x20explore\x20key\x20concepts,\x20practical\x20examples,\x20and\x20real-world\x20applications\x20that\x20you\x20can\x20apply\x20immediately.\x20Whether\x20you\x27re\x20a\x20beginner\x20or\x20an\x20experienced\x20professional,\x20you\x27ll\x20find\x20actionable\x20insights\x20here.','excerpt':'A\x20comprehensive\x20guide\x20to\x20understanding\x20'+_0x10f1dc[_0x1350ef(0x259)]()+_0x1350ef(0x285),'readTime':rng(0x2,0x16,_0x5d2bc9),'views':rng(0x32,0x13880,_0x5d2bc9),'likes':rng(0x5,0xbb8,_0x5d2bc9),'featured':_0x5d2bc9()>0.85,'publishedAt':_0x1350ef(0xdb)===_0x3a8ea7?dateAgo(0x190,_0x5d2bc9):null,'createdAt':dateAgo(0x1c2,_0x5d2bc9)}};}),_0x139349[_0x1cbc32(0xaa)]=Array[_0x1cbc32(0x133)]({'length':_0x1dc4aa[_0x1cbc32(0xaa)]},(_0x5871b6,_0x4fdca8)=>({'key':uid('cmt',_0x4fdca8+0x1),'value':{'postId':uid('post',rng(0x1,_0x1dc4aa['posts'],_0x5d2bc9)),'authorName':pick(FIRST,_0x5d2bc9)+'\x20'+pick(LAST,_0x5d2bc9),'email':_0x1cbc32(0x1dc)+rng(0x1,0x270f,_0x5d2bc9)+'@'+pick(DOMAINS,_0x5d2bc9),'body':pick(COMMENT_BODIES,_0x5d2bc9),'likes':rng(0x0,0x96,_0x5d2bc9),'approved':_0x5d2bc9()>0.1,'createdAt':dateAgo(0x16d,_0x5d2bc9)}})),_0x139349;}function generateTeam(_0x2e049b,_0x2230e0){const _0xc4de22=_0x14a550,_0x320bf2={},_0xd5bbd8=Array[_0xc4de22(0x133)]({'length':_0x2e049b['departments']},(_0x4778e9,_0x4a3e09)=>uid(_0xc4de22(0x2cc),_0x4a3e09+0x1));return _0x320bf2[_0xc4de22(0xb2)]=_0xd5bbd8[_0xc4de22(0x2e3)]((_0x3c7faf,_0x2b2f67)=>({'key':_0x3c7faf,'value':{'name':DEPTS[_0x2b2f67%DEPTS[_0xc4de22(0x29d)]],'head':'','headcount':rng(0x4,0x23,_0x2230e0),'budget':rng(0x186a0,0x2dc6c0,_0x2230e0),'location':pick(CITIES,_0x2230e0),'description':_0xc4de22(0xa4)+DEPTS[_0x2b2f67%DEPTS['length']]+_0xc4de22(0xa3)+pick([_0xc4de22(0x270),_0xc4de22(0x27b),'efficiency',_0xc4de22(0x288)],_0x2230e0)+_0xc4de22(0xf6)}})),_0x320bf2[_0xc4de22(0x12d)]=Array[_0xc4de22(0x133)]({'length':_0x2e049b[_0xc4de22(0x12d)]},(_0x52383d,_0x1e349e)=>{const _0x3dad09=_0xc4de22,_0x28f462=pick(FIRST,_0x2230e0),_0x5e94f2=pick(LAST,_0x2230e0);return{'key':uid(_0x3dad09(0xcd),_0x1e349e+0x1),'value':{'name':_0x28f462+'\x20'+_0x5e94f2,'email':email(_0x28f462,_0x5e94f2,_0x2230e0),'role':pick(ROLES,_0x2230e0),'department':pick(_0xd5bbd8,_0x2230e0),'level':pick(LEVELS,_0x2230e0),'skills':[...new Set([pick(SKILLS,_0x2230e0),pick(SKILLS,_0x2230e0),pick(SKILLS,_0x2230e0)])],'salary':rng(0xbb80,0x445c0,_0x2230e0),'hireDate':dateAgo(0x721,_0x2230e0),'manager':_0x1e349e>0x0?uid(_0x3dad09(0xcd),rng(0x1,Math[_0x3dad09(0x14b)](0x1,_0x1e349e),_0x2230e0)):null,'location':pick(CITIES,_0x2230e0),'remote':_0x2230e0()>0.45}};}),_0x320bf2['projects']=Array[_0xc4de22(0x133)]({'length':_0x2e049b['projects']},(_0x3cae9f,_0x3c7b2e)=>{const _0x453aa5=_0xc4de22,_0x4fbe8a=rng(0x2,0x8,_0x2230e0);return{'key':uid(_0x453aa5(0x254),_0x3c7b2e+0x1),'value':{'name':PROJ_NAMES[_0x3c7b2e%PROJ_NAMES[_0x453aa5(0x29d)]],'department':pick(_0xd5bbd8,_0x2230e0),'status':pick(PROJ_STATUS,_0x2230e0),'lead':uid(_0x453aa5(0xcd),rng(0x1,_0x2e049b[_0x453aa5(0x12d)],_0x2230e0)),'team':[...new Set(Array[_0x453aa5(0x133)]({'length':_0x4fbe8a},()=>uid(_0x453aa5(0xcd),rng(0x1,_0x2e049b[_0x453aa5(0x12d)],_0x2230e0))))],'budget':rng(0x2710,0x927c0,_0x2230e0),'startDate':dateAgo(0x16d,_0x2230e0),'deadline':dateFwd(0xb4,_0x2230e0),'progress':rng(0x0,0x64,_0x2230e0),'priority':pick([_0x453aa5(0x187),_0x453aa5(0x150),'high',_0x453aa5(0x1a6)],_0x2230e0),'description':PROJ_NAMES[_0x3c7b2e%PROJ_NAMES[_0x453aa5(0x29d)]]+_0x453aa5(0xb6)+pick([_0x453aa5(0x203),_0x453aa5(0x2b8),'user\x20experience',_0x453aa5(0x2a4),_0x453aa5(0x225)],_0x2230e0)+'.'}};}),_0x320bf2;}const PRESETS=[{'id':_0x14a550(0x289),'icon':'🛒','name':_0x14a550(0x29f),'tagline':_0x14a550(0x293),'color':_0x14a550(0x15f),'glow':_0x14a550(0x2a5),'defaultEnv':'demo-shop','types':[{'key':'products','label':_0x14a550(0x2b5),'defaultCount':0xfa},{'key':_0x14a550(0x1e4),'label':'Customers','defaultCount':0x64},{'key':'orders','label':'Orders','defaultCount':0x1f4},{'key':_0x14a550(0x1f6),'label':'Reviews','defaultCount':0x12c}],'indexes':[[_0x14a550(0x215),_0x14a550(0x2aa)],[_0x14a550(0x215),_0x14a550(0x153)],['customers',_0x14a550(0xcb)],['customers',_0x14a550(0x20a)],[_0x14a550(0x205),_0x14a550(0x108)],[_0x14a550(0x205),_0x14a550(0xe7)]],'fts':[{'type':_0x14a550(0x215),'name':'search','fields':[_0x14a550(0x121),_0x14a550(0x186)]}],'generate':generateEcommerce},{'id':_0x14a550(0x2ba),'icon':'📊','name':_0x14a550(0xe5),'tagline':_0x14a550(0x242),'color':'var(--okdb-accent)','glow':_0x14a550(0x15b),'defaultEnv':'demo-analytics','types':[{'key':_0x14a550(0x227),'label':_0x14a550(0x9d),'defaultCount':0x3e8},{'key':'sessions','label':'Sessions','defaultCount':0xc8},{'key':'pageviews','label':_0x14a550(0x1ad),'defaultCount':0x7d0}],'indexes':[['events',_0x14a550(0xf2)],[_0x14a550(0x227),_0x14a550(0x18d)],[_0x14a550(0x10e),'userId'],[_0x14a550(0x10e),_0x14a550(0x1bb)],[_0x14a550(0x115),_0x14a550(0x29e)],['pageviews',_0x14a550(0xed)]],'fts':[],'generate':generateAnalytics},{'id':_0x14a550(0x151),'icon':'📝','name':_0x14a550(0x2bc),'tagline':_0x14a550(0x181),'color':'var(--okdb-purple)','glow':'color-mix(in\x20srgb,\x20var(--okdb-purple)\x2020%,\x20transparent)','defaultEnv':_0x14a550(0x233),'types':[{'key':'posts','label':_0x14a550(0x2a6),'defaultCount':0x96},{'key':_0x14a550(0xa1),'label':'Authors','defaultCount':0x14},{'key':'tags','label':_0x14a550(0x166),'defaultCount':0x1c},{'key':_0x14a550(0xaa),'label':_0x14a550(0x25b),'defaultCount':0x190}],'indexes':[['posts',_0x14a550(0x2aa)],[_0x14a550(0x2bd),_0x14a550(0x19a)],[_0x14a550(0x2bd),_0x14a550(0x108)],['comments','postId'],[_0x14a550(0xaf),'count']],'fts':[{'type':_0x14a550(0x2bd),'name':_0x14a550(0xac),'fields':[_0x14a550(0x118),_0x14a550(0x1e3)]}],'generate':generateBlog},{'id':_0x14a550(0x2b0),'icon':'👥','name':'Team\x20Directory','tagline':_0x14a550(0x10f),'color':'var(--okdb-warning)','glow':'color-mix(in\x20srgb,\x20var(--okdb-warning)\x2020%,\x20transparent)','defaultEnv':'demo-team','types':[{'key':_0x14a550(0x12d),'label':_0x14a550(0xc8),'defaultCount':0x50},{'key':_0x14a550(0xb2),'label':_0x14a550(0x21a),'defaultCount':0x8},{'key':'projects','label':_0x14a550(0x2dd),'defaultCount':0x1e}],'indexes':[[_0x14a550(0x12d),_0x14a550(0x97)],[_0x14a550(0x12d),_0x14a550(0x2d2)],[_0x14a550(0x12d),_0x14a550(0x24a)],[_0x14a550(0x1b4),_0x14a550(0x108)],[_0x14a550(0x1b4),_0x14a550(0x97)]],'fts':[{'type':'employees','name':_0x14a550(0xac),'fields':[_0x14a550(0x121),_0x14a550(0x1a3),'skills']}],'generate':generateTeam},{'id':'cityexplorer','icon':_0x14a550(0x128),'name':_0x14a550(0x235),'tagline':'Geo-indexed\x20places\x20&\x20people','color':_0x14a550(0x10a),'glow':_0x14a550(0x20c),'defaultEnv':_0x14a550(0xf5),'badge':_0x14a550(0x147),'types':[{'key':_0x14a550(0x1fa),'label':_0x14a550(0x15a),'defaultCount':0xc8},{'key':_0x14a550(0x220),'label':'People','defaultCount':0x50},{'key':_0x14a550(0x1e6),'label':'Checkins','defaultCount':0x12c}],'indexes':[[_0x14a550(0x1fa),'location',{'type':_0x14a550(0x147),'precision':0x7}],['places',_0x14a550(0x2aa)],[_0x14a550(0x1fa),_0x14a550(0xcb)],[_0x14a550(0x1fa),_0x14a550(0x1c1)],[_0x14a550(0x220),_0x14a550(0xb5),{'type':_0x14a550(0x147),'precision':0x5}],[_0x14a550(0x220),'city'],[_0x14a550(0x1e6),_0x14a550(0x123)],['checkins',_0x14a550(0x232)]],'fts':[{'type':_0x14a550(0x1fa),'name':_0x14a550(0xac),'fields':[_0x14a550(0x121),_0x14a550(0x186)]}],'generate':generateCityExplorer}],SCALE_OPTIONS=[{'value':0.25,'label':'¼×','hint':_0x14a550(0x1fe)},{'value':0.5,'label':'½×','hint':_0x14a550(0xa9)},{'value':0x1,'label':'1×','hint':'Normal'},{'value':0x2,'label':'2×','hint':_0x14a550(0xbf)},{'value':0x4,'label':'4×','hint':_0x14a550(0x1ce)}],BATCH_SIZE=0x32;export default{'tag':_0x14a550(0x264),'attr':{'modal':{},'onDone':{}},'context':_0x52c621=>({'step':_0x14a550(0x2a3),'preset':null,'envName':'','scale':0x1,'enableFts':!0x0,'enableIndexes':!0x0,'typeCounts':{},'progress':[],'totalSteps':0x0,'completedSteps':0x0,'error':null,'resultStats':null,'PRESETS':PRESETS,'SCALE_OPTIONS':SCALE_OPTIONS,get 'effectiveCounts'(){const _0x3b4dde=_0x14a550,_0x2926df={};for(const _0xc7fae1 of this[_0x3b4dde(0x291)]?.[_0x3b4dde(0x170)]??[])_0x2926df[_0xc7fae1[_0x3b4dde(0x26b)]]=Math[_0x3b4dde(0x14b)](0x1,Math[_0x3b4dde(0x2c9)]((this[_0x3b4dde(0x1a0)][_0xc7fae1[_0x3b4dde(0x26b)]]??_0xc7fae1['defaultCount'])*this[_0x3b4dde(0x113)]));return _0x2926df;},get 'totalRecords'(){const _0x3ef93a=_0x14a550;return Object[_0x3ef93a(0x175)](this['effectiveCounts'])[_0x3ef93a(0xbd)]((_0x480190,_0x434258)=>_0x480190+_0x434258,0x0);},get 'progressPct'(){const _0x3c8cc6=_0x14a550;return this[_0x3c8cc6(0xa0)]?Math[_0x3c8cc6(0x2b7)](0x64,Math[_0x3c8cc6(0x2c9)](this[_0x3c8cc6(0x1ed)]/this[_0x3c8cc6(0xa0)]*0x64)):0x0;},'selectPreset'(_0x32f31c){const _0x518165=_0x14a550;this[_0x518165(0x291)]=_0x32f31c,this['envName']=_0x32f31c['defaultEnv'],this[_0x518165(0x1a0)]={};for(const _0xc2d19 of _0x32f31c[_0x518165(0x170)])this[_0x518165(0x1a0)][_0xc2d19[_0x518165(0x26b)]]=_0xc2d19[_0x518165(0x194)];this[_0x518165(0x1de)]='configure';},'back'(){const _0x58234a=_0x14a550;'configure'===this[_0x58234a(0x1de)]&&(this[_0x58234a(0x1de)]=_0x58234a(0x2a3));},'cancel'(){const _0x35f214=_0x14a550;_0x52c621['$attr'][_0x35f214(0x1c5)][_0x35f214(0x201)]();},'_addStep'(_0x30ac0d,_0x5fec54,_0x294ba1,_0x5e1e77){const _0x57f554=_0x14a550;this[_0x57f554(0x2d8)][_0x57f554(0x26c)]({'id':_0x30ac0d,'label':_0x5fec54,'done':0x0,'total':_0x294ba1,'icon':_0x5e1e77,'status':_0x57f554(0x26f)}),this['totalSteps']++;},'_start'(_0x5d57d2){const _0x19cc17=_0x14a550,_0x447f8a=this[_0x19cc17(0x2d8)][_0x19cc17(0x2dc)](_0x4f10aa=>_0x4f10aa['id']===_0x5d57d2);_0x447f8a&&(_0x447f8a[_0x19cc17(0x108)]=_0x19cc17(0xd3));},'_done'(_0x52a662){const _0x20905f=_0x14a550,_0x5b70af=this['progress'][_0x20905f(0x2dc)](_0xdefaef=>_0xdefaef['id']===_0x52a662);_0x5b70af&&(_0x5b70af[_0x20905f(0x108)]=_0x20905f(0x2ab),_0x5b70af['done']=_0x5b70af['total'],this[_0x20905f(0x1ed)]++);},'_error'(_0x1eefa8){const _0x49b558=_0x14a550,_0x2a35a9=this['progress'][_0x49b558(0x2dc)](_0x25eba8=>_0x25eba8['id']===_0x1eefa8);_0x2a35a9&&(_0x2a35a9[_0x49b558(0x108)]=_0x49b558(0x28f),this[_0x49b558(0x1ed)]++);},'_tick'(_0x41a965,_0x555d63){const _0x19a08c=_0x14a550,_0x4146cb=this[_0x19a08c(0x2d8)][_0x19a08c(0x2dc)](_0x45b935=>_0x45b935['id']===_0x41a965);_0x4146cb&&(_0x4146cb[_0x19a08c(0x2ab)]=_0x555d63);},async 'start'(){const _0x57466e=_0x14a550;if(_0x57466e(0x17a)===this[_0x57466e(0x1de)])return;const _0x3e694c=this[_0x57466e(0x2e4)][_0x57466e(0xe0)]();if(!_0x3e694c||!this[_0x57466e(0x291)])return;this[_0x57466e(0x1de)]=_0x57466e(0x17a),this[_0x57466e(0x2d8)]=[],this[_0x57466e(0xa0)]=0x0,this[_0x57466e(0x1ed)]=0x0,this['error']=null,this['resultStats']={'env':_0x3e694c,'types':{},'indexes':0x0,'fts':0x0,'totalRecords':0x0};const _0x31448d=this[_0x57466e(0x291)],_0x42c783=this['effectiveCounts'],_0x445d39=__ENV__[_0x57466e(0x239)],_0x5c4d1c=_0x445d39+_0x57466e(0x26a)+encodeURIComponent(_0x3e694c);this[_0x57466e(0xdc)](_0x57466e(0x1cf),_0x57466e(0x168)+_0x3e694c+'\x22',0x1,'🌐');for(const _0x4fe61a of _0x31448d[_0x57466e(0x170)])this['_addStep'](_0x57466e(0x1ea)+_0x4fe61a[_0x57466e(0x26b)],_0x57466e(0x218)+_0x4fe61a[_0x57466e(0x26b)],0x1,'⬡');for(const _0x507338 of _0x31448d[_0x57466e(0x170)])this['_addStep'](_0x57466e(0x2d9)+_0x507338[_0x57466e(0x26b)],_0x57466e(0xb1)+_0x42c783[_0x507338[_0x57466e(0x26b)]][_0x57466e(0x1c4)]()+'\x20'+_0x507338[_0x57466e(0x247)][_0x57466e(0x259)](),_0x42c783[_0x507338['key']],'⬢');if(this['enableIndexes'])for(const [_0x398b4d,_0x5f4b79,_0x263323]of _0x31448d['indexes']){const _0x2e0528=_0x57466e(0x147)===_0x263323?.['type'];this['_addStep']('idx:'+_0x398b4d+':'+_0x5f4b79,(_0x2e0528?_0x57466e(0x228):'Index')+'\x20'+_0x398b4d+'.'+_0x5f4b79,0x1,_0x2e0528?'📍':'⌖');}if(this[_0x57466e(0x12e)]&&_0x31448d['fts']['length']){for(const _0xae5d35 of _0x31448d[_0x57466e(0x13c)])this[_0x57466e(0xdc)]('fts:'+_0xae5d35[_0x57466e(0xf2)]+':'+_0xae5d35[_0x57466e(0x121)],_0x57466e(0x124)+_0xae5d35[_0x57466e(0x121)]+_0x57466e(0x1fd)+_0xae5d35[_0x57466e(0xf2)],0x1,'⌘');}try{this['_start'](_0x57466e(0x1cf));const _0x143ad2=await fetch(_0x445d39+'/envs',{'method':'POST','headers':{'Content-Type':_0x57466e(0x180)},'body':JSON['stringify']({'name':_0x3e694c,'sync':!0x0,'compression':!0x0})});if(!_0x143ad2['ok']&&0x199!==_0x143ad2[_0x57466e(0x108)]){const _0x48031d=await _0x143ad2['json']()[_0x57466e(0x177)](()=>({}));throw new Error(_0x48031d?.[_0x57466e(0x28f)]?.[_0x57466e(0xb8)]||'Create\x20env\x20failed\x20('+_0x143ad2[_0x57466e(0x108)]+')');}this[_0x57466e(0x2b4)](_0x57466e(0x1cf));for(const _0x80506f of _0x31448d[_0x57466e(0x170)]){this[_0x57466e(0x21c)](_0x57466e(0x1ea)+_0x80506f[_0x57466e(0x26b)]);const _0xe0c5f1=await fetch(_0x5c4d1c+'/type/'+encodeURIComponent(_0x80506f[_0x57466e(0x26b)]),{'method':_0x57466e(0xd2)});if(!_0xe0c5f1['ok']&&0x199!==_0xe0c5f1[_0x57466e(0x108)]){const _0x36529e=await _0xe0c5f1[_0x57466e(0xd5)]()[_0x57466e(0x177)](()=>({}));throw new Error(_0x36529e?.[_0x57466e(0x28f)]?.[_0x57466e(0xb8)]||_0x57466e(0x2af)+_0x80506f[_0x57466e(0x26b)]+_0x57466e(0x1d6));}this['_done'](_0x57466e(0x1ea)+_0x80506f[_0x57466e(0x26b)]);}const _0x3a8f1f=makePRNG(0x7fffffff&Date[_0x57466e(0x1d1)]()),_0x208d3d=_0x31448d['generate'](_0x42c783,_0x3a8f1f);for(const _0x4e47be of _0x31448d[_0x57466e(0x170)]){const _0x1db24d='data:'+_0x4e47be[_0x57466e(0x26b)],_0xd87cf8=_0x208d3d[_0x4e47be[_0x57466e(0x26b)]]??[];this[_0x57466e(0x21c)](_0x1db24d);let _0x3dcef1=0x0;for(let _0x223c8c=0x0;_0x223c8c<_0xd87cf8[_0x57466e(0x29d)];_0x223c8c+=0x32){const _0x580e55=_0xd87cf8[_0x57466e(0xdd)](_0x223c8c,_0x223c8c+0x32),_0x534bcb=_0x580e55[_0x57466e(0x2e3)](({key:_0xd42f4f,value:_0xdc2130})=>({'action':_0x57466e(0x249),'type':_0x4e47be['key'],'key':_0xd42f4f,'value':_0xdc2130})),_0x22b16c=await fetch(_0x5c4d1c+'/transaction',{'method':_0x57466e(0xd2),'headers':{'Content-Type':'application/json'},'body':JSON[_0x57466e(0x202)]({'operations':_0x534bcb})});if(!_0x22b16c['ok']){const _0x98f1d9=await _0x22b16c[_0x57466e(0xd5)]()[_0x57466e(0x177)](()=>({}));throw new Error(_0x98f1d9?.[_0x57466e(0x28f)]?.[_0x57466e(0xb8)]||_0x57466e(0x13b)+_0x4e47be[_0x57466e(0x26b)]+'\x22\x20failed');}_0x3dcef1+=_0x580e55[_0x57466e(0x29d)],this[_0x57466e(0x13f)](_0x1db24d,_0x3dcef1),await new Promise(_0x5737fa=>setTimeout(_0x5737fa,0x0));}this[_0x57466e(0x111)][_0x57466e(0x170)][_0x4e47be[_0x57466e(0x26b)]]=_0xd87cf8['length'],this[_0x57466e(0x111)][_0x57466e(0x1ae)]+=_0xd87cf8[_0x57466e(0x29d)],this[_0x57466e(0x2b4)](_0x1db24d);}if(this['enableIndexes'])for(const [_0x5790ce,_0x276c2c,_0x5ae6e0]of _0x31448d[_0x57466e(0x2c3)]){const _0x16b35b=_0x57466e(0x16a)+_0x5790ce+':'+_0x276c2c;this[_0x57466e(0x21c)](_0x16b35b);const _0x5538a7=await fetch(_0x5c4d1c+_0x57466e(0x94)+encodeURIComponent(_0x5790ce)+_0x57466e(0x176)+encodeURIComponent(_0x276c2c),{'method':'POST','headers':{'Content-Type':_0x57466e(0x180)},'body':JSON['stringify'](_0x5ae6e0||{})});if(!_0x5538a7['ok']){const _0x5618a5=await _0x5538a7[_0x57466e(0xd5)]()[_0x57466e(0x177)](()=>({}));throw new Error(_0x5618a5?.['error']?.[_0x57466e(0xb8)]||_0x57466e(0x17d)+_0x5790ce+'.'+_0x276c2c+_0x57466e(0xc4));}this['resultStats'][_0x57466e(0x2c3)]++,this[_0x57466e(0x2b4)](_0x16b35b);}if(this[_0x57466e(0x12e)])for(const _0x19333d of _0x31448d[_0x57466e(0x13c)]){const _0x1124bb='fts:'+_0x19333d['type']+':'+_0x19333d['name'];this['_start'](_0x1124bb),(await fetch(_0x5c4d1c+'/type/'+encodeURIComponent(_0x19333d['type'])+_0x57466e(0x276)+encodeURIComponent(_0x19333d[_0x57466e(0x121)]),{'method':'POST','headers':{'Content-Type':_0x57466e(0x180)},'body':JSON[_0x57466e(0x202)]({'fields':_0x19333d[_0x57466e(0xc7)]})}))['ok']?(this[_0x57466e(0x111)]['fts']++,this[_0x57466e(0x2b4)](_0x1124bb)):this[_0x57466e(0xe1)](_0x1124bb);}this['step']='done';}catch(_0x2a37f8){this['error']=_0x2a37f8?.['message']||_0x57466e(0x2bf);for(const _0x159e06 of this[_0x57466e(0x2d8)])_0x57466e(0xd3)===_0x159e06[_0x57466e(0x108)]&&this[_0x57466e(0xe1)](_0x159e06['id']);}},async 'openEnv'(){const _0x4fa1b7=_0x14a550,_0x33af51=this[_0x4fa1b7(0x2e4)][_0x4fa1b7(0xe0)]();_0x52c621[_0x4fa1b7(0x219)][_0x4fa1b7(0xc0)][_0x4fa1b7(0x155)][_0x4fa1b7(0x29b)](_0x33af51),await _0x52c621[_0x4fa1b7(0x219)]['stores'][_0x4fa1b7(0x155)][_0x4fa1b7(0xd6)](),await _0x52c621[_0x4fa1b7(0x1ab)]['modal'][_0x4fa1b7(0x201)](),await _0x52c621[_0x4fa1b7(0x1ab)][_0x4fa1b7(0x142)]?.(_0x33af51);}}),'template':_0x14a550(0x23f),'style':'\x0a/*\x20──\x20Root\x20────────────────────────────────────────────────────\x20*/\x0a.dm\x20{\x0a\x20\x20min-width:\x20560px;\x0a\x20\x20max-width:\x20660px;\x0a}\x0a\x0a/*\x20──\x20Hero\x20────────────────────────────────────────────────────\x20*/\x0a.dm-hero\x20{\x0a\x20\x20text-align:\x20center;\x0a\x20\x20padding:\x204px\x200\x2018px;\x0a}\x0a.dm-hero__sparkle\x20{\x0a\x20\x20font-size:\x2030px;\x0a\x20\x20margin-bottom:\x2010px;\x0a\x20\x20background:\x20linear-gradient(135deg,\x20var(--okdb-accent),\x20var(--okdb-purple)\x2040%,\x20var(--okdb-success)\x2075%,\x20var(--okdb-warning));\x0a\x20\x20-webkit-background-clip:\x20text;\x0a\x20\x20-webkit-text-fill-color:\x20transparent;\x0a\x20\x20background-clip:\x20text;\x0a\x20\x20animation:\x20dm-hue\x206s\x20linear\x20infinite;\x0a\x20\x20display:\x20inline-block;\x0a}\x0a.dm-hero__title\x20{\x0a\x20\x20font-size:\x2020px;\x0a\x20\x20font-weight:\x20700;\x0a\x20\x20margin-bottom:\x208px;\x0a\x20\x20background:\x20linear-gradient(135deg,\x20var(--okdb-app-fg),\x20#ffffff);\x0a\x20\x20-webkit-background-clip:\x20text;\x0a\x20\x20-webkit-text-fill-color:\x20transparent;\x0a\x20\x20background-clip:\x20text;\x0a}\x0a.dm-hero__sub\x20{\x0a\x20\x20font-size:\x2013px;\x0a\x20\x20opacity:\x20.55;\x0a\x20\x20max-width:\x20400px;\x0a\x20\x20margin:\x200\x20auto;\x0a\x20\x20line-height:\x201.65;\x0a}\x0a\x0a/*\x20──\x20Preset\x20grid\x20─────────────────────────────────────────────\x20*/\x0a.dm-presets\x20{\x0a\x20\x20display:\x20grid;\x0a\x20\x20grid-template-columns:\x201fr\x201fr;\x0a\x20\x20gap:\x2010px;\x0a\x20\x20padding:\x204px\x200\x2018px;\x0a}\x0a.dm-preset\x20{\x0a\x20\x20position:\x20relative;\x0a\x20\x20display:\x20flex;\x0a\x20\x20flex-direction:\x20column;\x0a\x20\x20gap:\x205px;\x0a\x20\x20padding:\x2018px\x2018px\x2014px;\x0a\x20\x20background:\x20var(--okdb-app-bg-deep);\x0a\x20\x20border:\x201px\x20solid\x20var(--okdb-app-border);\x0a\x20\x20border-radius:\x2014px;\x0a\x20\x20cursor:\x20pointer;\x0a\x20\x20text-align:\x20left;\x0a\x20\x20overflow:\x20hidden;\x0a\x20\x20transition:\x20border-color\x20.2s,\x20transform\x20.2s,\x20box-shadow\x20.2s;\x0a}\x0a/*\x20City\x20Explorer:\x20spans\x20both\x20columns\x20with\x20a\x20horizontal\x20layout\x20*/\x0a.dm-preset--geo\x20{\x0a\x20\x20grid-column:\x201\x20/\x20-1;\x0a\x20\x20flex-direction:\x20row;\x0a\x20\x20align-items:\x20center;\x0a\x20\x20gap:\x2016px;\x0a\x20\x20padding:\x2016px\x2020px;\x0a}\x0a.dm-preset--geo\x20.dm-preset__icon\x20{\x0a\x20\x20font-size:\x2032px;\x0a\x20\x20flex-shrink:\x200;\x0a}\x0a.dm-preset--geo\x20.dm-preset__name,\x0a.dm-preset--geo\x20.dm-preset__tag,\x0a.dm-preset--geo\x20.dm-preset__chips\x20{\x20}\x0a.dm-preset--geo\x20.dm-preset__name\x20{\x20font-size:\x2016px;\x20}\x0a.dm-preset--geo\x20.dm-preset__arrow\x20{\x0a\x20\x20margin-left:\x20auto;\x0a\x20\x20position:\x20static;\x0a\x20\x20font-size:\x2016px;\x0a\x20\x20opacity:\x20.3;\x0a\x20\x20transition:\x20opacity\x20.2s,\x20transform\x20.2s;\x0a}\x0a.dm-preset--geo:hover\x20.dm-preset__arrow\x20{\x20opacity:\x20.9;\x20transform:\x20translateX(4px);\x20}\x0a/*\x20Geo\x20pulse\x20ring\x20on\x20the\x20icon\x20*/\x0a.dm-preset--geo\x20.dm-preset__icon::after\x20{\x0a\x20\x20content:\x20\x27\x27;\x0a\x20\x20position:\x20absolute;\x0a\x20\x20width:\x2048px;\x0a\x20\x20height:\x2048px;\x0a\x20\x20border-radius:\x2050%;\x0a\x20\x20border:\x201px\x20solid\x20var(--pc,\x20var(--okdb-orange));\x0a\x20\x20opacity:\x200;\x0a\x20\x20animation:\x20dm-geo-ring\x202.5s\x20ease-out\x20infinite;\x0a}\x0a.dm-preset__bg\x20{\x0a\x20\x20position:\x20absolute;\x0a\x20\x20inset:\x200;\x0a\x20\x20background:\x20radial-gradient(circle\x20at\x2025%\x2025%,\x20var(--pg,\x20transparent),\x20transparent\x2065%);\x0a\x20\x20opacity:\x200;\x0a\x20\x20transition:\x20opacity\x20.3s;\x0a\x20\x20pointer-events:\x20none;\x0a}\x0a.dm-preset:hover\x20{\x0a\x20\x20border-color:\x20var(--pc,\x20var(--okdb-accent));\x0a\x20\x20box-shadow:\x200\x200\x200\x201px\x20var(--pc,\x20var(--okdb-accent))33,\x200\x208px\x2028px\x20var(--pg,\x20transparent);\x0a\x20\x20transform:\x20translateY(-2px);\x0a}\x0a.dm-preset--geo:hover\x20{\x20transform:\x20translateY(-2px);\x20}\x0a.dm-preset:hover\x20.dm-preset__bg\x20{\x20opacity:\x201;\x20}\x0a.dm-preset__icon\x20{\x0a\x20\x20font-size:\x2026px;\x0a\x20\x20line-height:\x201;\x0a\x20\x20margin-bottom:\x204px;\x0a\x20\x20filter:\x20drop-shadow(0\x200\x208px\x20var(--pc,\x20#fff));\x0a\x20\x20position:\x20relative;\x0a}\x0a.dm-preset__name\x20{\x0a\x20\x20font-size:\x2015px;\x0a\x20\x20font-weight:\x20700;\x0a\x20\x20color:\x20var(--pc,\x20#fff);\x0a\x20\x20position:\x20relative;\x0a}\x0a.dm-preset__tag\x20{\x0a\x20\x20font-size:\x2012px;\x0a\x20\x20opacity:\x20.5;\x0a\x20\x20line-height:\x201.4;\x0a\x20\x20position:\x20relative;\x0a}\x0a.dm-preset__chips\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20gap:\x205px;\x0a\x20\x20font-size:\x2011px;\x0a\x20\x20opacity:\x20.45;\x0a\x20\x20margin-top:\x205px;\x0a\x20\x20position:\x20relative;\x0a\x20\x20flex-wrap:\x20wrap;\x0a\x20\x20align-items:\x20center;\x0a}\x0a.dm-chip-dot\x20{\x20opacity:\x20.5;\x20}\x0a.dm-preset__arrow\x20{\x0a\x20\x20position:\x20absolute;\x0a\x20\x20bottom:\x2014px;\x0a\x20\x20right:\x2016px;\x0a\x20\x20font-size:\x2014px;\x0a\x20\x20opacity:\x20.2;\x0a\x20\x20transition:\x20opacity\x20.2s,\x20transform\x20.2s;\x0a}\x0a.dm-preset:not(.dm-preset--geo):hover\x20.dm-preset__arrow\x20{\x20opacity:\x20.8;\x20transform:\x20translateX(3px);\x20}\x0a@keyframes\x20dm-geo-ring\x20{\x0a\x20\x200%\x20\x20\x20{\x20opacity:\x20.6;\x20transform:\x20scale(.6);\x20}\x0a\x20\x20100%\x20{\x20opacity:\x200;\x20\x20transform:\x20scale(2.2);\x20}\x0a}\x0a\x0a/*\x20──\x20Back\x20button\x20─────────────────────────────────────────────\x20*/\x0a.dm-back-btn\x20{\x0a\x20\x20font-size:\x2016px;\x0a\x20\x20padding:\x203px\x2010px;\x0a\x20\x20opacity:\x20.5;\x0a\x20\x20border-radius:\x206px;\x0a\x20\x20transition:\x20opacity\x20.15s;\x0a}\x0a.dm-back-btn:hover\x20{\x20opacity:\x201;\x20}\x0a\x0a/*\x20──\x20Preset\x20badge\x20(configure\x20step)\x20──────────────────────────\x20*/\x0a.dm-preset-badge\x20{\x0a\x20\x20font-size:\x2022px;\x0a\x20\x20display:\x20inline-flex;\x0a\x20\x20align-items:\x20center;\x0a\x20\x20justify-content:\x20center;\x0a\x20\x20width:\x2036px;\x0a\x20\x20height:\x2036px;\x0a\x20\x20border-radius:\x2010px;\x0a\x20\x20background:\x20var(--pg,\x20var(--okdb-app-surface));\x0a\x20\x20border:\x201px\x20solid\x20var(--pc,\x20var(--okdb-app-border))33;\x0a\x20\x20filter:\x20drop-shadow(0\x200\x208px\x20var(--pc,\x20transparent));\x0a}\x0a\x0a/*\x20──\x20Scale\x20buttons\x20───────────────────────────────────────────\x20*/\x0a.dm-scale-btn\x20{\x0a\x20\x20padding:\x205px\x2012px;\x0a\x20\x20font-size:\x2012px;\x0a\x20\x20border-radius:\x207px;\x0a\x20\x20border:\x201px\x20solid\x20var(--okdb-app-border);\x0a\x20\x20transition:\x20all\x20.15s;\x0a}\x0a.dm-scale-btn--active\x20{\x0a\x20\x20background:\x20var(--pc,\x20var(--okdb-accent))22\x20!important;\x0a\x20\x20border-color:\x20var(--pc,\x20var(--okdb-accent))\x20!important;\x0a\x20\x20color:\x20var(--pc,\x20var(--okdb-accent))\x20!important;\x0a\x20\x20font-weight:\x20600;\x0a}\x0a\x0a/*\x20──\x20Type\x20count\x20table\x20────────────────────────────────────────\x20*/\x0a.dm-type-table\x20{\x0a\x20\x20background:\x20var(--okdb-app-bg-deep);\x0a\x20\x20border:\x201px\x20solid\x20var(--okdb-app-surface);\x0a\x20\x20border-radius:\x209px;\x0a\x20\x20overflow:\x20hidden;\x0a}\x0a.dm-type-row\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20align-items:\x20center;\x0a\x20\x20gap:\x2010px;\x0a\x20\x20padding:\x208px\x2014px;\x0a\x20\x20border-bottom:\x201px\x20solid\x20var(--okdb-app-border);\x0a}\x0a.dm-type-row:last-child\x20{\x20border-bottom:\x20none;\x20}\x0a.dm-type-row__name\x20{\x0a\x20\x20font-family:\x20monospace;\x0a\x20\x20font-size:\x2012px;\x0a\x20\x20width:\x2090px;\x0a\x20\x20flex-shrink:\x200;\x0a\x20\x20opacity:\x20.8;\x0a}\x0a.dm-type-row__bar-wrap\x20{\x0a\x20\x20flex:\x201;\x0a\x20\x20height:\x204px;\x0a\x20\x20background:\x20var(--okdb-app-surface);\x0a\x20\x20border-radius:\x202px;\x0a\x20\x20overflow:\x20hidden;\x0a}\x0a.dm-type-row__bar\x20{\x0a\x20\x20height:\x20100%;\x0a\x20\x20border-radius:\x202px;\x0a\x20\x20transition:\x20width\x20.25s\x20ease-out;\x0a\x20\x20min-width:\x204px;\x0a}\x0a.dm-type-row__count\x20{\x0a\x20\x20font-family:\x20monospace;\x0a\x20\x20font-size:\x2012px;\x0a\x20\x20font-weight:\x20600;\x0a\x20\x20width:\x2070px;\x0a\x20\x20text-align:\x20right;\x0a\x20\x20flex-shrink:\x200;\x0a}\x0a\x0a/*\x20──\x20Checkbox\x20labels\x20─────────────────────────────────────────\x20*/\x0a.dm-check-label\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20align-items:\x20center;\x0a\x20\x20gap:\x207px;\x0a\x20\x20cursor:\x20pointer;\x0a\x20\x20font-size:\x2013px;\x0a\x20\x20user-select:\x20none;\x0a}\x0a\x0a/*\x20──\x20Summary\x20pill\x20────────────────────────────────────────────\x20*/\x0a.dm-summary\x20{\x0a\x20\x20padding:\x2010px\x2014px;\x0a\x20\x20border-radius:\x209px;\x0a\x20\x20border:\x201px\x20solid\x20var(--okdb-app-border);\x0a\x20\x20font-size:\x2013px;\x0a\x20\x20display:\x20flex;\x0a\x20\x20gap:\x205px;\x0a\x20\x20align-items:\x20center;\x0a\x20\x20flex-wrap:\x20wrap;\x0a\x20\x20line-height:\x201.6;\x0a}\x0a\x0a/*\x20──\x20Generate\x20button\x20─────────────────────────────────────────\x20*/\x0a.dm-gen-btn\x20{\x0a\x20\x20background:\x20var(--pg,\x20color-mix(in\x20srgb,\x20var(--okdb-accent)\x207%,\x20transparent))\x20!important;\x0a\x20\x20border:\x201px\x20solid\x20var(--pc,\x20var(--okdb-accent))\x20!important;\x0a\x20\x20color:\x20var(--pc,\x20var(--okdb-accent))\x20!important;\x0a\x20\x20font-weight:\x20700;\x0a\x20\x20font-size:\x2013px;\x0a\x20\x20padding:\x207px\x2020px;\x0a\x20\x20border-radius:\x208px;\x0a\x20\x20transition:\x20all\x20.2s;\x0a\x20\x20letter-spacing:\x20.01em;\x0a}\x0a.dm-gen-btn:hover:not(:disabled)\x20{\x0a\x20\x20background:\x20var(--pc,\x20var(--okdb-accent))33\x20!important;\x0a\x20\x20box-shadow:\x200\x200\x2020px\x20var(--pc,\x20var(--okdb-accent))44;\x0a}\x0a.dm-gen-btn:disabled\x20{\x0a\x20\x20opacity:\x20.4;\x0a\x20\x20cursor:\x20not-allowed;\x0a}\x0a\x0a/*\x20──\x20Footer\x20row\x20──────────────────────────────────────────────\x20*/\x0a.dm-footer\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20gap:\x208px;\x0a\x20\x20justify-content:\x20flex-end;\x0a\x20\x20padding-top:\x2012px;\x0a\x20\x20border-top:\x201px\x20solid\x20var(--okdb-app-surface);\x0a}\x0a\x0a/*\x20──\x20Generation\x20header\x20───────────────────────────────────────\x20*/\x0a.dm-gen-header\x20{\x0a\x20\x20padding:\x2014px\x2016px;\x0a\x20\x20background:\x20var(--okdb-app-bg-deep);\x0a\x20\x20border:\x201px\x20solid\x20var(--okdb-app-surface);\x0a\x20\x20border-radius:\x2010px;\x0a\x20\x20box-shadow:\x20inset\x200\x200\x2040px\x20var(--pg,\x20transparent);\x0a}\x0a.dm-pulsing-icon\x20{\x0a\x20\x20font-size:\x2020px;\x0a\x20\x20display:\x20inline-block;\x0a\x20\x20animation:\x20dm-pulse\x201.5s\x20ease-in-out\x20infinite;\x0a\x20\x20filter:\x20drop-shadow(0\x200\x206px\x20var(--pc,\x20transparent));\x0a}\x0a.dm-progress-track\x20{\x0a\x20\x20height:\x207px;\x0a\x20\x20background:\x20var(--okdb-app-surface);\x0a\x20\x20border-radius:\x204px;\x0a\x20\x20overflow:\x20hidden;\x0a}\x0a.dm-progress-fill\x20{\x0a\x20\x20height:\x20100%;\x0a\x20\x20border-radius:\x204px;\x0a\x20\x20transition:\x20width\x20.35s\x20ease-out;\x0a\x20\x20position:\x20relative;\x0a}\x0a.dm-progress-fill--shimmer::after\x20{\x0a\x20\x20content:\x20\x27\x27;\x0a\x20\x20position:\x20absolute;\x0a\x20\x20inset:\x200;\x0a\x20\x20background:\x20linear-gradient(90deg,\x20transparent,\x20rgba(255,255,255,.25),\x20transparent);\x0a\x20\x20animation:\x20dm-shimmer\x201.5s\x20linear\x20infinite;\x0a}\x0a\x0a/*\x20──\x20Step\x20rows\x20───────────────────────────────────────────────\x20*/\x0a.dm-steps\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20flex-direction:\x20column;\x0a\x20\x20gap:\x202px;\x0a\x20\x20max-height:\x20320px;\x0a\x20\x20overflow-y:\x20auto;\x0a\x20\x20padding-right:\x204px;\x0a}\x0a.dm-step\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20align-items:\x20center;\x0a\x20\x20gap:\x209px;\x0a\x20\x20padding:\x207px\x2010px;\x0a\x20\x20border-radius:\x207px;\x0a\x20\x20font-size:\x2012px;\x0a\x20\x20transition:\x20background\x20.1s;\x0a}\x0a.dm-step--pending\x20\x20{\x20opacity:\x20.32;\x20}\x0a.dm-step--running\x20\x20{\x20background:\x20var(--okdb-app-surface);\x20opacity:\x201;\x20}\x0a.dm-step--done\x20\x20\x20\x20\x20{\x20opacity:\x20.6;\x20}\x0a.dm-step--error\x20\x20\x20\x20{\x20background:\x20var(--okdb-danger-deep-bg);\x20opacity:\x201;\x20}\x0a.dm-step__icon\x20{\x0a\x20\x20width:\x2018px;\x0a\x20\x20text-align:\x20center;\x0a\x20\x20flex-shrink:\x200;\x0a\x20\x20font-size:\x2012px;\x0a}\x0a.dm-step--done\x20.dm-step__icon\x20\x20{\x20color:\x20var(--okdb-success);\x20}\x0a.dm-step--running\x20.dm-step__icon\x20{\x20color:\x20var(--okdb-accent);\x20}\x0a.dm-step--error\x20.dm-step__icon\x20{\x20color:\x20var(--okdb-danger);\x20}\x0a.dm-step__label\x20{\x20flex:\x201;\x20}\x0a.dm-step__count\x20{\x0a\x20\x20font-size:\x2011px;\x0a\x20\x20font-family:\x20monospace;\x0a\x20\x20opacity:\x20.5;\x0a\x20\x20flex-shrink:\x200;\x0a}\x0a.dm-step__mini-bar\x20{\x0a\x20\x20width:\x2070px;\x0a\x20\x20height:\x203px;\x0a\x20\x20background:\x20var(--okdb-app-surface);\x0a\x20\x20border-radius:\x202px;\x0a\x20\x20overflow:\x20hidden;\x0a\x20\x20flex-shrink:\x200;\x0a}\x0a.dm-step__mini-fill\x20{\x0a\x20\x20height:\x20100%;\x0a\x20\x20background:\x20var(--okdb-accent);\x0a\x20\x20border-radius:\x202px;\x0a\x20\x20transition:\x20width\x20.2s\x20ease-out;\x0a}\x0a\x0a/*\x20──\x20Error\x20banner\x20────────────────────────────────────────────\x20*/\x0a.dm-error\x20{\x0a\x20\x20color:\x20var(--okdb-danger);\x0a\x20\x20font-size:\x2013px;\x0a\x20\x20padding:\x209px\x2013px;\x0a\x20\x20background:\x20var(--okdb-danger-deep-bg);\x0a\x20\x20border:\x201px\x20solid\x20color-mix(in\x20srgb,\x20var(--okdb-danger)\x2020%,\x20transparent);\x0a\x20\x20border-radius:\x207px;\x0a}\x0a\x0a/*\x20──\x20Done\x20orb\x20────────────────────────────────────────────────\x20*/\x0a.dm-done-orb\x20{\x0a\x20\x20position:\x20relative;\x0a\x20\x20width:\x2096px;\x0a\x20\x20height:\x2096px;\x0a\x20\x20display:\x20flex;\x0a\x20\x20align-items:\x20center;\x0a\x20\x20justify-content:\x20center;\x0a}\x0a.dm-done-orb__icon\x20{\x0a\x20\x20font-size:\x2040px;\x0a\x20\x20position:\x20relative;\x0a\x20\x20z-index:\x202;\x0a\x20\x20filter:\x20drop-shadow(0\x200\x2016px\x20var(--pc,\x20var(--okdb-accent)));\x0a\x20\x20animation:\x20dm-pulse\x202.5s\x20ease-in-out\x20infinite;\x0a}\x0a.dm-done-orb__ring\x20{\x0a\x20\x20position:\x20absolute;\x0a\x20\x20inset:\x200;\x0a\x20\x20border-radius:\x2050%;\x0a\x20\x20border:\x201px\x20solid\x20var(--pc,\x20var(--okdb-accent));\x0a}\x0a.dm-done-orb__ring--1\x20{\x0a\x20\x20opacity:\x20.4;\x0a\x20\x20animation:\x20dm-ring-pulse\x202s\x20ease-in-out\x20infinite;\x0a}\x0a.dm-done-orb__ring--2\x20{\x0a\x20\x20opacity:\x20.2;\x0a\x20\x20animation:\x20dm-ring-pulse\x202s\x20ease-in-out\x20infinite\x20.7s;\x0a\x20\x20transform:\x20scale(1.3);\x0a}\x0a\x0a/*\x20──\x20Done\x20stats\x20──────────────────────────────────────────────\x20*/\x0a.dm-done-stats\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20align-items:\x20center;\x0a\x20\x20gap:\x2020px;\x0a\x20\x20padding:\x2016px\x2032px;\x0a\x20\x20background:\x20var(--okdb-app-bg-deep);\x0a\x20\x20border:\x201px\x20solid\x20var(--pc,\x20var(--okdb-accent))33;\x0a\x20\x20border-radius:\x2014px;\x0a\x20\x20box-shadow:\x200\x200\x2030px\x20var(--pg,\x20transparent);\x0a}\x0a.dm-stat\x20{\x0a\x20\x20display:\x20flex;\x0a\x20\x20flex-direction:\x20column;\x0a\x20\x20align-items:\x20center;\x0a\x20\x20gap:\x205px;\x0a}\x0a.dm-stat__val\x20{\x0a\x20\x20font-size:\x2028px;\x0a\x20\x20font-weight:\x20800;\x0a\x20\x20line-height:\x201;\x0a\x20\x20letter-spacing:\x20-.02em;\x0a}\x0a.dm-stat__lbl\x20{\x0a\x20\x20font-size:\x2010px;\x0a\x20\x20text-transform:\x20uppercase;\x0a\x20\x20letter-spacing:\x20.08em;\x0a\x20\x20opacity:\x20.45;\x0a}\x0a.dm-stat-divider\x20{\x0a\x20\x20width:\x201px;\x0a\x20\x20height:\x2036px;\x0a\x20\x20background:\x20var(--okdb-app-border);\x0a\x20\x20flex-shrink:\x200;\x0a}\x0a\x0a/*\x20──\x20Animations\x20──────────────────────────────────────────────\x20*/\x0a@keyframes\x20dm-hue\x20{\x0a\x20\x20from\x20{\x20filter:\x20hue-rotate(0deg);\x20}\x0a\x20\x20to\x20\x20\x20{\x20filter:\x20hue-rotate(360deg);\x20}\x0a}\x0a@keyframes\x20dm-pulse\x20{\x0a\x20\x200%,\x20100%\x20{\x20transform:\x20scale(1);\x20}\x0a\x20\x2050%\x20\x20\x20\x20\x20\x20\x20{\x20transform:\x20scale(1.12);\x20}\x0a}\x0a@keyframes\x20dm-ring-pulse\x20{\x0a\x20\x200%,\x20100%\x20{\x20opacity:\x20.3;\x20transform:\x20scale(1);\x20}\x0a\x20\x2050%\x20\x20\x20\x20\x20\x20\x20{\x20opacity:\x20.7;\x20transform:\x20scale(1.1);\x20}\x0a}\x0a@keyframes\x20dm-shimmer\x20{\x0a\x20\x20from\x20{\x20transform:\x20translateX(-100%);\x20}\x0a\x20\x20to\x20\x20\x20{\x20transform:\x20translateX(300%);\x20}\x0a}\x0a@keyframes\x20dm-spin\x20{\x0a\x20\x20from\x20{\x20transform:\x20rotate(0deg);\x20}\x0a\x20\x20to\x20\x20\x20{\x20transform:\x20rotate(360deg);\x20}\x0a}\x0a.dm-spin\x20{\x0a\x20\x20display:\x20inline-block;\x0a\x20\x20animation:\x20dm-spin\x201s\x20linear\x20infinite;\x0a}\x0a'};function _0x7cc5(){const _0x477334=['Kitchen','Insert\x20into\x20\x22','fts','cafe','Building\x20Scalable\x20APIs\x20with\x20Node.js','_tick','Amsterdam','Imperial','onDone','Coordinator','New\x20York','Dog','City','geo','Table','Village','shipped','max','Great\x20article!\x20Really\x20helped\x20me\x20understand\x20the\x20concept.','Henry','Works','auth','medium','blog','Kubernetes','price','Melbourne','okdb','Photography','Design','Lab','Tara','Places','color-mix(in\x20srgb,\x20var(--okdb-accent)\x2020%,\x20transparent)','Vega','Research','News','var(--okdb-success)','Camera','Edge','Espresso','share','Performance\x20Audit','Analyst','Tags','Toronto','Create\x20environment\x20\x22','Director','idx:','Database\x20Indexing\x20Deep\x20Dive','Yusuf','Jack','\x20is\x20engineered\x20for\x20peak\x20performance\x20and\x20everyday\x20reliability.\x20Features\x20premium\x20materials\x20and\x20an\x20intuitive\x20design.','Tipsy','types','hotel','Store','Lion','Green\x20Software\x20Engineering\x20Principles','values','/index/','catch','senior','on-hold','generating','\x20specialist\x20with\x20','Vintage','Index\x20','Pro','Would\x20love\x20to\x20see\x20a\x20follow-up\x20article\x20on\x20this\x20topic.','application/json','Posts,\x20authors\x20&\x20comments','completed','Owen','Architect','Thanks\x20for\x20sharing\x20this.\x20Very\x20insightful.','description','low','Books','Evans','Hotel','SKU-','Safari','country','Indie','reddit.com','login','/pricing','typescript','Suites','defaultCount','Bean','Getting\x20Started\x20with\x20Modern\x20Web\x20Development','Cape\x20Town','Golden','Lux','authorId','var(--okdb-accent)','Cat','/login','tutorial','Designer','typeCounts','Brown','A\x20Practical\x20Guide\x20to\x20','role','Vienna','Loft','critical','lon','Collective','Quinn','Tokyo','$attr','7BIztOF','Pageviews','totalRecords','split','Flex','General','Would\x20recommend\x20to\x20friends.','Lazy','projects','Carter','node','prod','Might\x20return\x20it.','Craft','Iron','device','Market','Harbor','Design\x20System','Health','docker','rating','Coffee','Morning','toLocaleString','modal','Nano','Apex','Backend','318322HxviTD','Leadership','Red','Data\x20Science','Foster','Huge','env','Shop','now','Botanical','Hub','google.com','Blend','\x22\x20failed','Great\x20quality','CI/CD\x20Overhaul','Artisan','Brew','Space','user','Fresh','step','Consultant','\x20Place','A\x20perfect\x20spot\x20for\x20a\x20relaxed\x20afternoon.','Turbo','content','customers','43213nRMUco','checkins','Local','Tech\x20worker\x20who\x20spends\x20weekends\x20hiking\x20and\x20discovering\x20hidden\x20restaurant\x20gems.','bar','type:','3vTwHLu','Peak','completedSteps','place','Nothing\x20groundbreaking\x20but\x20solid\x20and\x20reliable.','Hidden\x20gem\x20tucked\x20away\x20in\x20the\x20heart\x20of\x20the\x20city\x20—\x20loved\x20by\x20locals\x20and\x20visitors\x20alike.','Excellent\x20value','Partner\x20API','Remote\x20worker\x20building\x20a\x20list\x20of\x20the\x20world\x27s\x20best\x20coworking-friendly\x20cafes.','/contact','/settings','reviews','Tutorial','Eagle','react','places','Dock','Mixed\x20feelings\x20overall.','\x22\x20on\x20','Tiny','Headphones','Dubai','close','stringify','reliability','databases','orders','director','Customer\x20Portal','toISOString','Billing\x20Integration','tier','Top\x2010\x20UX\x20Patterns\x20for\x20Mobile\x20Apps','color-mix(in\x20srgb,\x20var(--okdb-orange)\x2020%,\x20transparent)','3142216wLTkjD','Open','Data\x20Pipeline','Business','Node.js','Victor','Black','Mobile','products','Bear','Just\x20implemented\x20this\x20—\x20worked\x20perfectly!','Register\x20type:\x20','$ok','Departments','Electronics','_start','gold','Mumbai','Local\x20guide\x20and\x20travel\x20blogger\x20sharing\x20the\x20best\x20spots\x20in\x20every\x20city\x20I\x20visit.','people','icloud.com','Deep\x20Dive\x20into\x20Machine\x20Learning\x20Basics','Stone','Nice\x20vibes\x20but\x20gets\x20a\x20bit\x20crowded\x20on\x20weekends.','security','Move','events','📍\x20Geo\x20index','Olivia','Lead','Deli','UrbanGear','mobile','Ultra','Berlin','Security','Contemporary\x20Art','placeId','demo-blog','Router','City\x20Explorer','Lamp','Carol','shop','API','Monitor','Notification\x20System','Palazzo','Force','Harbour','\x0a<div\x20class=\x22dm\x22>\x0a\x0a\x20\x20<!--\x20══\x20STEP:\x20Choose\x20preset\x20══════════════════════════════════════════════════\x20-->\x0a\x20\x20<if\x20:=\x22step\x20===\x20\x27choose\x27\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22dm-hero\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-hero__sparkle\x22>✦</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-hero__title\x22>Generate\x20Demo\x20Environment</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-hero__sub\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20Choose\x20a\x20preset\x20to\x20instantly\x20fill\x20a\x20new\x20environment\x20with\x20realistic\x20data,\x0a\x20\x20\x20\x20\x20\x20\x20\x20indexes,\x20and\x20full-text\x20search\x20—\x20ready\x20to\x20explore\x20in\x20seconds.\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20<div\x20class=\x22dm-presets\x22>\x0a\x20\x20\x20\x20\x20\x20<button\x20as=\x22repeat\x22\x20:of=\x22PRESETS\x22\x20let:item=\x22p\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20class=\x22dm-preset\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22p.badge\x20===\x20\x27geo\x27\x20?\x20\x27dm-preset--geo\x27\x20:\x20\x27\x27\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22selectPreset(p)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22\x27--pc:\x27\x20+\x20p.color\x20+\x20\x27;\x20--pg:\x27\x20+\x20p.glow\x20+\x20\x27;\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-preset__bg\x22></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-preset__icon\x22>{{\x20p.icon\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-preset__name\x22>{{\x20p.name\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-preset__tag\x22>{{\x20p.tagline\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-preset__chips\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>{{\x20p.types.length\x20}}\x20types</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22dm-chip-dot\x22>·</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>{{\x20p.types.reduce((s,t)=>s+t.defaultCount,0).toLocaleString()\x20}}+\x20records</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22p.fts.length\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22dm-chip-dot\x22>·</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>FTS</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22p.badge\x20===\x20\x27geo\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22dm-chip-dot\x22>·</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:var(--pc);\x20font-weight:600;\x22>📍\x20GEO</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-preset__arrow\x22>→</div>\x0a\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20<div\x20class=\x22dm-footer\x22>\x0a\x20\x20\x20\x20\x20\x20<button\x20@click=\x22cancel()\x22>Cancel</button>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<!--\x20══\x20STEP:\x20Configure\x20══════════════════════════════════════════════════════\x20-->\x0a\x20\x20<if\x20:=\x22step\x20===\x20\x27configure\x27\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:18px;\x22>\x0a\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20align-items:center;\x20gap:10px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22back()\x22\x20class=\x22dm-back-btn\x22\x20title=\x22Back\x20to\x20presets\x22>←</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22dm-preset-badge\x22\x20:style=\x22\x27--pc:\x27\x20+\x20preset.color\x20+\x20\x27;\x20--pg:\x27\x20+\x20preset.glow\x20+\x20\x27;\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{\x20preset.icon\x20}}\x0a\x20\x20\x20\x20\x20\x20\x20\x20</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-weight:700;\x20font-size:15px;\x22>{{\x20preset.name\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22opacity:.4;\x20font-size:12px;\x22>·\x20Configure</span>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20<!--\x20Env\x20name\x20-->\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:5px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<label\x20style=\x22font-size:12px;\x20opacity:.55;\x20letter-spacing:.03em;\x22>Environment\x20name</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22text\x22\x20:value=\x22envName\x22\x20@input=\x22envName\x20=\x20$el.value\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22font-family:monospace;\x20font-size:13px;\x22\x20autofocus\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20placeholder=\x22e.g.\x20demo-shop\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20<!--\x20Scale\x20-->\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:8px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<label\x20style=\x22font-size:12px;\x20opacity:.55;\x20letter-spacing:.03em;\x22>Dataset\x20scale</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20gap:6px;\x20flex-wrap:wrap;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20as=\x22repeat\x22\x20:of=\x22SCALE_OPTIONS\x22\x20let:item=\x22s\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22scale\x20=\x20s.value\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20class=\x22dm-scale-btn\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22scale\x20===\x20s.value\x20?\x20\x27dm-scale-btn--active\x27\x20:\x20\x27\x27\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22scale\x20===\x20s.value\x20?\x20\x27--pc:\x27\x20+\x20preset.color\x20:\x20\x27\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{\x20s.label\x20}} <span\x20style=\x22font-size:10px;\x20opacity:.55;\x22>{{\x20s.hint\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20<!--\x20Type\x20counts\x20-->\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:5px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<label\x20style=\x22font-size:12px;\x20opacity:.55;\x20letter-spacing:.03em;\x22>Types\x20&\x20counts</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-type-table\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20as=\x22repeat\x22\x20:of=\x22preset.types\x22\x20let:item=\x22t\x22\x20class=\x22dm-type-row\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22dm-type-row__name\x22>{{\x20t.key\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-type-row__bar-wrap\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-type-row__bar\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22\x27width:\x27\x20+\x20Math.min(100,\x20Math.round((typeCounts[t.key]\x20??\x20t.defaultCount)\x20*\x20scale\x20/\x20(t.defaultCount\x20*\x204)\x20*\x20100))\x20+\x20\x27%;\x20background:\x27\x20+\x20preset.color\x20+\x20\x2755;\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22dm-type-row__count\x22\x20:style=\x22\x27color:\x27\x20+\x20preset.color\x20+\x20\x27;\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{\x20Math.max(1,\x20Math.round((typeCounts[t.key]\x20??\x20t.defaultCount)\x20*\x20scale)).toLocaleString()\x20}}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20<!--\x20Options\x20-->\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20gap:20px;\x20flex-wrap:wrap;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22dm-check-label\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22checkbox\x22\x20:checked=\x22enableIndexes\x22\x20@change=\x22enableIndexes\x20=\x20$el.checked\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>Indexes\x20<span\x20style=\x22opacity:.4;\x20font-size:11px;\x22>({{\x20preset.indexes.length\x20}})</span></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<label\x20class=\x22dm-check-label\x22\x20:style=\x22!preset.fts.length\x20?\x20\x27opacity:.4;\x20pointer-events:none;\x27\x20:\x20\x27\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x20type=\x22checkbox\x22\x20:checked=\x22enableFts\x22\x20@change=\x22enableFts\x20=\x20$el.checked\x22\x20:disabled=\x22!preset.fts.length\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>Full-text\x20search\x20<span\x20style=\x22opacity:.4;\x20font-size:11px;\x22>({{\x20preset.fts.length\x20}})</span></span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</label>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20<!--\x20Summary\x20pill\x20-->\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-summary\x22\x20:style=\x22\x27border-color:\x27\x20+\x20preset.color\x20+\x20\x2733;\x20background:\x27\x20+\x20preset.glow\x20+\x20\x27;\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22opacity:.7;\x22>Will\x20create</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<b\x20:style=\x22\x27color:\x27\x20+\x20preset.color\x20+\x20\x27;\x27\x22>{{\x20totalRecords.toLocaleString()\x20}}</b>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22opacity:.7;\x22>records\x20across</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<b>{{\x20preset.types.length\x20}}</b>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22opacity:.7;\x22>types</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22enableIndexes\x20&&\x20preset.indexes.length\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22opacity:.4;\x22>·</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<b\x20style=\x22color:var(--okdb-purple);\x22>{{\x20preset.indexes.length\x20}}</b>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22opacity:.7;\x22>indexes</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22enableFts\x20&&\x20preset.fts.length\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22opacity:.4;\x22>·</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<b\x20style=\x22color:var(--okdb-accent);\x22>FTS</b>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22opacity:.4;\x22>→</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<b\x20style=\x22font-family:monospace;\x20font-size:12px;\x22>{{\x20envName\x20||\x20\x27…\x27\x20}}</b>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-footer\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22cancel()\x22>Cancel</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22dm-gen-btn\x22\x20:disabled=\x22!envName.trim()\x22\x20@click=\x22start()\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22\x27--pc:\x27\x20+\x20preset.color\x20+\x20\x27;\x20--pg:\x27\x20+\x20preset.glow\x20+\x20\x27;\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20✦\x20Generate\x20{{\x20totalRecords.toLocaleString()\x20}}\x20records\x0a\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<!--\x20══\x20STEP:\x20Generating\x20═════════════════════════════════════════════════════\x20-->\x0a\x20\x20<if\x20:=\x22step\x20===\x20\x27generating\x27\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:14px;\x22>\x0a\x0a\x20\x20\x20\x20\x20\x20<!--\x20Header\x20/\x20overall\x20progress\x20-->\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-gen-header\x22\x20:style=\x22\x27--pc:\x27\x20+\x20preset.color\x20+\x20\x27;\x20--pg:\x27\x20+\x20preset.glow\x20+\x20\x27;\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20align-items:center;\x20gap:10px;\x20margin-bottom:12px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22dm-pulsing-icon\x22>{{\x20preset.icon\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-weight:600;\x20font-size:14px;\x22>Generating\x20{{\x20preset.name\x20}}\x20data…</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22margin-left:auto;\x20font-family:monospace;\x20font-size:13px;\x20opacity:.55;\x22>{{\x20progressPct\x20}}%</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-progress-track\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-progress-fill\x20dm-progress-fill--shimmer\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22\x27width:\x27\x20+\x20progressPct\x20+\x20\x27%;\x20background:\x27\x20+\x20preset.color\x20+\x20\x27;\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20<!--\x20Per-step\x20rows\x20-->\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-steps\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20as=\x22repeat\x22\x20:of=\x22progress\x22\x20let:item=\x22p\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20class=\x22dm-step\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:class=\x22\x27dm-step--\x27\x20+\x20p.status\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22dm-step__icon\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22p.status\x20===\x20\x27running\x27\x22><span\x20class=\x22dm-spin\x22>◌</span></if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22p.status\x20===\x20\x27done\x27\x22>✓</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22p.status\x20===\x20\x27error\x27\x22>✗</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22p.status\x20===\x20\x27pending\x27\x22>{{\x20p.icon\x20}}</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22dm-step__label\x22>{{\x20p.label\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22p.total\x20>\x201\x20&&\x20p.status\x20!==\x20\x27pending\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22dm-step__count\x22>{{\x20p.done.toLocaleString()\x20}}\x20/\x20{{\x20p.total.toLocaleString()\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22p.total\x20>\x201\x20&&\x20p.status\x20===\x20\x27running\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-step__mini-bar\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-step__mini-fill\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22\x27width:\x27\x20+\x20(p.total\x20?\x20Math.round(p.done/p.total*100)\x20:\x200)\x20+\x20\x27%;\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20<if\x20:=\x22error\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-error\x22>✗\x20{{\x20error\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-footer\x22><button\x20@click=\x22cancel()\x22>Close</button></div>\x0a\x20\x20\x20\x20\x20\x20</if>\x0a\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<!--\x20══\x20STEP:\x20Done\x20═══════════════════════════════════════════════════════════\x20-->\x0a\x20\x20<if\x20:=\x22step\x20===\x20\x27done\x27\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20align-items:center;\x20gap:22px;\x20padding:12px\x200\x206px;\x22>\x0a\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-done-orb\x22\x20:style=\x22\x27--pc:\x27\x20+\x20preset.color\x20+\x20\x27;\x20--pg:\x27\x20+\x20preset.glow\x20+\x20\x27;\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22dm-done-orb__icon\x22>{{\x20preset.icon\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-done-orb__ring\x20dm-done-orb__ring--1\x22></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-done-orb__ring\x20dm-done-orb__ring--2\x22></div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22text-align:center;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:22px;\x20font-weight:700;\x20margin-bottom:8px;\x22>Environment\x20Ready!</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:13px;\x20font-family:monospace;\x20opacity:.5;\x20letter-spacing:.05em;\x22>{{\x20resultStats?.env\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-done-stats\x22\x20:style=\x22\x27--pc:\x27\x20+\x20preset.color\x20+\x20\x27;\x20--pg:\x27\x20+\x20preset.glow\x20+\x20\x27;\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-stat\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-stat__val\x22\x20style=\x22color:var(--okdb-success);\x22>{{\x20resultStats?.totalRecords?.toLocaleString()\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-stat__lbl\x22>Records</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-stat-divider\x22></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-stat\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-stat__val\x22\x20style=\x22color:var(--okdb-purple);\x22>{{\x20Object.keys(resultStats?.types\x20??\x20{}).length\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-stat__lbl\x22>Types</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-stat-divider\x22></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-stat\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-stat__val\x22\x20style=\x22color:var(--okdb-accent);\x22>{{\x20resultStats?.indexes\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-stat__lbl\x22>Indexes</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22resultStats?.fts\x20>\x200\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-stat-divider\x22></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-stat\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-stat__val\x22\x20style=\x22color:var(--okdb-warning);\x22>{{\x20resultStats?.fts\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22dm-stat__lbl\x22>FTS</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20gap:10px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20@click=\x22cancel()\x22>Close</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20class=\x22dm-gen-btn\x22\x20@click=\x22openEnv()\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22\x27--pc:\x27\x20+\x20preset.color\x20+\x20\x27;\x20--pg:\x27\x20+\x20preset.glow\x20+\x20\x27;\x27\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Open\x20Environment\x20→\x0a\x20\x20\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a</div>','Highly\x20rated\x20local\x20favourite\x20with\x20excellent\x20reviews\x20and\x20a\x20warm,\x20welcoming\x20atmosphere.','Silver','Events,\x20sessions\x20&\x20pageviews','direct','Python','Opinion','Could\x20you\x20elaborate\x20more\x20on\x20the\x20second\x20point?','label','Copper','put','location','lead','Power','Core','Award-winning\x20venue\x20celebrating\x20local\x20culture,\x20craft\x20and\x20genuine\x20creativity.','sess','Great\x20atmosphere\x20and\x20incredibly\x20friendly\x20staff.','Good\x20value\x20for\x20the\x20quality\x20of\x20the\x20experience.','West','Max','proj','Lucky','processing','Barcelona','Cloud','toLowerCase','aws','Comments','career','Night\x20owl\x20and\x20cocktail\x20connoisseur\x20—\x20on\x20a\x20mission\x20to\x20try\x20every\x20great\x20bar\x20in\x20town.','/about','Little','lat','Dark','David','Wake','demo-env-modal','\x20Park','Stumbled\x20in\x20by\x20chance\x20and\x20absolutely\x20loved\x20it.','Hidden','gym','Bob','/env/','key','push','Mastering\x20TypeScript\x20in\x202025','principal','pending','growth','platinum','Maritime\x20Heritage','open-source','twitter.com','Disappointed','/fts/','Active','park','junior','Sydney','quality','tools','ord','Brass','Vibe','Corner','Microservices\x20vs\x20Monolith:\x20When\x20to\x20Choose','Owl','This\x20is\x20exactly\x20what\x20I\x20was\x20looking\x20for!','Charger','\x20in\x20depth\x20—\x20with\x20practical\x20examples.','Highland','The\x20examples\x20were\x20very\x20clear.\x20Well\x20done!','culture','ecommerce','Modern\x20establishment\x20with\x20a\x20focus\x20on\x20quality\x20and\x20an\x20unforgettable\x20guest\x20experience.','Stylish\x20space\x20with\x20impeccable\x20service\x20and\x20an\x20Instagram-worthy\x20interior.','Green','yahoo.com','SQL','error','Club','preset','/docs','Products,\x20customers\x20&\x20orders','scroll','rev','Elite','Horse','TypeScript','cancelled','60664fKEJyH','selectEnv','Rust','length','page','E-Commerce','Sales','tag','1297554cCCSDH','choose','developer\x20productivity','color-mix(in\x20srgb,\x20var(--okdb-success)\x2020%,\x20transparent)','Posts','The\x20Ultimate\x20','Roast','Blue','category','done','Roberts','museum','Frontend','Register\x20type\x20\x22','team','devops','Specialist','Building\x20Real-time\x20Dashboards','_done','Products','DevOps','min','performance','Contemporary\x20space\x20blending\x20design,\x20sustainability\x20and\x20an\x20outstanding\x20experience.','analytics','San\x20Francisco','Content\x20Hub','posts','cust','Generation\x20failed','Apartments','Filter','/signup','indexes','Engineer','JavaScript','Smart','evt','Museum\x20of\x20','round','Database\x20Migration','725580MYwyaa','dept','css','Secure\x20by\x20Design:\x20API\x20Security\x20Patterns','Seoul','Sunset','person','level','seo','testing','4FEtFFf','Nelson','logout','progress','data:','Eco','Speaker','find','Projects','Understanding\x20Event-Driven\x20Architecture','Manager','outlook.com','Davis','One\x20of\x20my\x20absolute\x20favourites\x20in\x20the\x20city.','map','envName','Ibrahim','Studio','Grand','/type/','27MwJdEv','Hall','department','WebAssembly:\x20The\x20Next\x20Frontier','Garden','form_submit','API\x20Gateway','Singapore','Events','Load\x20Testing','Highly\x20recommend\x20to\x20anyone\x20visiting\x20the\x20area.','totalSteps','authors','Technology','\x20team\x20drives\x20innovation\x20and\x20','The\x20','Using\x20it\x20every\x20day.','Supply','Urban','Kate','Small','comments','hackernews.com','search','Platform\x20Rewrite','Den','tags','Office','Insert\x20','departments','desktop','Inn','home','\x20is\x20a\x20strategic\x20initiative\x20to\x20improve\x20','Lift','message','Developer\x20SDK','Decent\x20but\x20flawed','Not\x20worth\x20it','architecture','reduce','Zone','Large','stores','Goods','/blog','Great\x20first\x20visit,\x20already\x20planning\x20to\x20return.','\x20failed','City\x20History','Roasted','fields','Employees','restaurant','padStart','city','Internal\x20Tooling','emp','Co-op','Cup','Smith','London','POST','running','floor','json','reloadEnvs','Communication','Walsh','Yard','Heritage','published','_addStep','slice','Swift','Victoria','trim','_error','A\x20vibrant,\x20energetic\x20space\x20that\x20buzzes\x20with\x20life\x20from\x20morning\x20to\x20night.','Boutique','graphql','Analytics','delivered','customerId','Popular\x20spot\x20among\x20locals\x20for\x20its\x20relaxed\x20vibe\x20and\x20consistently\x20high\x20standards.','Sam','Press','Fit','Deep\x20Dive:\x20','sessionId','Paris','Rabbit','total','var(--okdb-purple)','type','The\x20Future\x20of\x20Distributed\x20Systems','Desk','demo-places','\x20across\x20the\x20organisation.','Young','Decent\x20but\x20has\x20some\x20issues.','Natural\x20History','pageview','Iconic\x20neighbourhood\x20institution\x20beloved\x20for\x20its\x20authenticity\x20and\x20character.','Why\x20','api','Stand','Furniture','Bookmarked.\x20Will\x20definitely\x20revisit\x20this\x20later.','Functional\x20Programming\x20in\x20JavaScript','Mouse','Lee','Product','Jolly','Figma','python','status','var(--okdb-warning)','var(--okdb-orange)','A\x20community\x20staple\x20for\x20years,\x20proudly\x20serving\x20residents\x20and\x20visitors\x20with\x20heart.','Liam','Iris','sessions','Employees,\x20departments\x20&\x20projects','Release\x20Automation','resultStats','Base','scale','Room','pageviews','mid','Makers','title','House','Sports','466065LkGMII','download','Taylor','signup','Toys','Admin\x20Console','name','Zhang','personId','FTS\x20\x22','Security\x20Hardening','The\x20Complete\x20Guide\x20to\x20Database\x20Optimization','Lodge','🗺️','Docker\x20and\x20Kubernetes:\x20A\x20Practical\x20Guide','Mia','Documentation\x20Site','/dashboard','employees','enableFts','Auth\x20Service','Modern\x20Art','Peter','Rome','from','Royal','A\x20must-visit\x20destination\x20known\x20for\x20quality,\x20character\x20and\x20outstanding\x20hospitality.','Urban\x20explorer\x20with\x20a\x20passion\x20for\x20hole-in-the-wall\x20spots\x20and\x20authentic\x20local\x20culture.','Rustic','proton.me','State\x20Management\x20in\x20Modern\x20Frontend'];_0x7cc5=function(){return _0x477334;};return _0x7cc5();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function _0x52af(){const _0x47c7dd=['355974IPzoQk','data','\x0a<div\x20style=\x22min-width:400px;\x20max-width:500px;\x20display:flex;\x20flex-direction:column;\x20gap:16px;\x22>\x0a\x0a\x20\x20<!--\x20──\x20Warning\x20banner\x20──\x20-->\x0a\x20\x20<div\x20style=\x22background:#1f1008;\x20border:1px\x20solid\x20color-mix(in\x20srgb,\x20var(--okdb-orange)\x2067%,\x20transparent);\x20border-radius:8px;\x20padding:12px\x2014px;\x20display:flex;\x20gap:10px;\x20align-items:flex-start;\x22>\x0a\x20\x20\x20\x20<span\x20style=\x22font-size:18px;\x20flex-shrink:0;\x20line-height:1.2;\x22>⚠️</span>\x0a\x20\x20\x20\x20<div\x20style=\x22font-size:13px;\x20line-height:1.6;\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-weight:600;\x20color:var(--okdb-orange);\x20margin-bottom:3px;\x22>This\x20will\x20permanently\x20delete\x20the\x20environment.</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22opacity:.75;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20The\x20LMDB\x20data\x20files\x20for\x20<b\x20style=\x22font-family:monospace;\x22>{{\x20name\x20}}</b>\x20will\x20be\x20removed\x20from\x20disk.\x0a\x20\x20\x20\x20\x20\x20\x20\x20This\x20cannot\x20be\x20undone.\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</div>\x0a\x0a\x20\x20<!--\x20──\x20Env\x20stats\x20──\x20-->\x0a\x20\x20<div\x20style=\x22display:grid;\x20grid-template-columns:1fr\x201fr;\x20gap:8px;\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22rem-stat\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22rem-stat__label\x22>Types</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22rem-stat__value\x22\x20style=\x22color:var(--okdb-purple);\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22infoLoading\x22><span\x20style=\x22opacity:.4;\x22>…</span></if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22!infoLoading\x22>{{\x20fmt(typeCount)\x20}}</if>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20<div\x20class=\x22rem-stat\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22rem-stat__label\x22>Total\x20Records</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22rem-stat__value\x22\x20style=\x22color:var(--okdb-success);\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22infoLoading\x22><span\x20style=\x22opacity:.4;\x22>…</span></if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22!infoLoading\x22>{{\x20fmt(recordCount)\x20}}</if>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</div>\x0a\x0a\x20\x20<!--\x20──\x20Sub-envs\x20that\x20will\x20also\x20be\x20deleted\x20──\x20-->\x0a\x20\x20<if\x20:=\x22subEnvs.length\x20>\x200\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22background:#111820;\x20border:1px\x20solid\x20#1e3050;\x20border-radius:8px;\x20padding:10px\x2014px;\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:11px;\x20text-transform:uppercase;\x20letter-spacing:.06em;\x20opacity:.45;\x20margin-bottom:8px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20Related\x20databases\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:6px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22subEnvs\x22\x20let:item=\x22e\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20align-items:center;\x20gap:8px;\x20font-size:12px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20style=\x22display:flex;\x20align-items:center;\x20gap:6px;\x20cursor:pointer;\x20flex:1;\x20min-width:0;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type=\x22checkbox\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:checked=\x22!keepSubEnvs.has(e.name)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@change=\x22toggleKeep(e.name)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22accent-color:var(--okdb-danger);\x20cursor:pointer;\x20flex-shrink:0;\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-family:monospace;\x20color:#7a9ab2;\x20overflow:hidden;\x20text-overflow:ellipsis;\x20white-space:nowrap;\x22>{{\x20subEnvLabel(e.name)\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22isEmbEnv(e.name)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22flex-shrink:0;\x20font-size:10px;\x20padding:1px\x205px;\x20border-radius:999px;\x20background:#4c1d95;\x20color:#c4b5fd;\x20border:1px\x20solid\x20#6d28d944;\x22>embeddings</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22flex-shrink:0;\x20font-size:10px;\x20opacity:.5;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22keepSubEnvs.has(e.name)\x22>keep</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22!keepSubEnvs.has(e.name)\x22><span\x20style=\x22color:var(--okdb-danger);\x22>delete</span></if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</each>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20<if\x20:=\x22keepSubEnvs.size\x20>\x200\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22margin-top:8px;\x20font-size:11px;\x20opacity:.5;\x20line-height:1.5;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Kept\x20databases\x20will\x20become\x20orphaned\x20and\x20can\x20be\x20managed\x20or\x20dismissed\x20later.\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<!--\x20──\x20Locked\x20files\x20warning\x20(post-removal)\x20──\x20-->\x0a\x20\x20<if\x20:=\x22warning\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22color:var(--okdb-warning);\x20font-size:12px;\x20padding:8px\x2012px;\x20background:#221c08;\x20border-radius:6px;\x20border:1px\x20solid\x20color-mix(in\x20srgb,\x20var(--okdb-warning)\x2020%,\x20transparent);\x20line-height:1.5;\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-weight:600;\x20margin-bottom:3px;\x22>⚠\x20Some\x20files\x20could\x20not\x20be\x20deleted</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22opacity:.8;\x22>{{\x20warning\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22opacity:.55;\x20margin-top:4px;\x20font-size:11px;\x22>These\x20files\x20may\x20be\x20locked\x20by\x20another\x20OKDB\x20process.\x20Stop\x20all\x20other\x20instances\x20and\x20delete\x20them\x20manually.</div>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<!--\x20──\x20Confirm\x20input\x20(hidden\x20after\x20warning\x20state)\x20──\x20-->\x0a\x20\x20<if\x20:=\x22!warning\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:6px;\x22>\x0a\x20\x20\x20\x20\x20\x20<label\x20style=\x22font-size:12px;\x20opacity:.6;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20Type\x20<code\x20style=\x22font-size:12px;\x20color:var(--okdb-orange);\x20background:#1f1008;\x20padding:1px\x205px;\x20border-radius:3px;\x22>{{\x20name\x20}}</code>\x20to\x20confirm\x0a\x20\x20\x20\x20\x20\x20</label>\x0a\x20\x20\x20\x20\x20\x20<input\x0a\x20\x20\x20\x20\x20\x20\x20\x20type=\x22text\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20:placeholder=\x22name\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20:value=\x22confirm\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20@input=\x22confirm\x20=\x20$el.value\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20@keydown.enter=\x22remove()\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20autofocus\x0a\x20\x20\x20\x20\x20\x20\x20\x20style=\x22font-family:monospace;\x22\x0a\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<!--\x20──\x20Error\x20──\x20-->\x0a\x20\x20<if\x20:=\x22error\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22color:var(--okdb-danger);\x20font-size:13px;\x20padding:8px\x2012px;\x20background:var(--okdb-danger-deep-bg);\x20border-radius:6px;\x20border:1px\x20solid\x20color-mix(in\x20srgb,\x20var(--okdb-danger)\x2020%,\x20transparent);\x22>\x0a\x20\x20\x20\x20\x20\x20{{\x20error\x20}}\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<!--\x20──\x20Buttons\x20──\x20-->\x0a\x20\x20<div\x20style=\x22display:flex;\x20gap:8px;\x20justify-content:flex-end;\x20padding-top:4px;\x20border-top:1px\x20solid\x20var(--okdb-app-surface-2);\x22>\x0a\x20\x20\x20\x20<button\x20@click=\x22cancel()\x22\x20:disabled=\x22busy\x22>{{\x20warning\x20?\x20\x27Close\x27\x20:\x20\x27Cancel\x27\x20}}</button>\x0a\x20\x20\x20\x20<if\x20:=\x22!warning\x22>\x0a\x20\x20\x20\x20\x20\x20<button\x0a\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22remove()\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20:disabled=\x22!canRemove\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20style=\x22background:var(--okdb-danger-deep-border);\x20border-color:#991b1b;\x20color:var(--okdb-danger);\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22canRemove\x20?\x20\x27background:var(--okdb-danger-deep-border);\x20border-color:#b91c1c;\x20color:var(--okdb-danger);\x20cursor:pointer;\x27\x20:\x20\x27opacity:.4;\x20cursor:not-allowed;\x27\x22\x0a\x20\x20\x20\x20\x20\x20>\x0a\x20\x20\x20\x20\x20\x20\x20\x20{{\x20busy\x20?\x20\x27Removing…\x27\x20:\x20\x27🗑\x20Remove\x20Environment\x27\x20}}\x0a\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20</if>\x0a\x20\x20</div>\x0a\x0a</div>','?keepSubEnvs=','toLocaleString','loadInfo','error','$ok','\x0a\x20\x20\x20\x20\x20\x20remove-env-modal\x20.rem-stat\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20background:\x20#13191f;\x0a\x20\x20\x20\x20\x20\x20\x20\x20border:\x201px\x20solid\x20#1e2d3c;\x0a\x20\x20\x20\x20\x20\x20\x20\x20border-radius:\x208px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20padding:\x2010px\x2014px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20\x20\x20flex-direction:\x20column;\x0a\x20\x20\x20\x20\x20\x20\x20\x20gap:\x204px;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20remove-env-modal\x20.rem-stat__label\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2010px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20text-transform:\x20uppercase;\x0a\x20\x20\x20\x20\x20\x20\x20\x20letter-spacing:\x20.06em;\x0a\x20\x20\x20\x20\x20\x20\x20\x20opacity:\x20.45;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20remove-env-modal\x20.rem-stat__value\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2020px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20font-weight:\x20700;\x0a\x20\x20\x20\x20\x20\x20\x20\x20line-height:\x201;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','filesLocked','3rEWvmt','742637tYoTGv','32113NHpWrl','reduce','name','delete','Some\x20files\x20could\x20not\x20be\x20deleted\x20(may\x20be\x20locked):\x20','2021555qRdsSn','add','/info','busy','DELETE','envs','warning','length','onDone','envInfo','orphaned','count','slice','json','4730516InhjgZ','close','infoLoading','8cLUwfL','startsWith','join','5625972jDXhOt','types','keepSubEnvs','1515736fCvMje','modal','remove-env-modal','$attr','stores'];_0x52af=function(){return _0x47c7dd;};return _0x52af();}function _0x40ef(_0x970ec4,_0x18eacd){_0x970ec4=_0x970ec4-0x1b7;const _0x52af7d=_0x52af();let _0x40ef26=_0x52af7d[_0x970ec4];return _0x40ef26;}const _0xbea769=_0x40ef;(function(_0x1254b2,_0x3dd864){const _0x1be405=_0x40ef,_0x2be8ed=_0x1254b2();while(!![]){try{const _0x28d2a8=-parseInt(_0x1be405(0x1e0))/0x1+parseInt(_0x1be405(0x1cf))/0x2+parseInt(_0x1be405(0x1de))/0x3*(-parseInt(_0x1be405(0x1c6))/0x4)+parseInt(_0x1be405(0x1b8))/0x5+-parseInt(_0x1be405(0x1d4))/0x6+parseInt(_0x1be405(0x1df))/0x7*(parseInt(_0x1be405(0x1c9))/0x8)+parseInt(_0x1be405(0x1cc))/0x9;if(_0x28d2a8===_0x3dd864)break;else _0x2be8ed['push'](_0x2be8ed['shift']());}catch(_0x45e827){_0x2be8ed['push'](_0x2be8ed['shift']());}}}(_0x52af,0x9732b));export default{'tag':_0xbea769(0x1d1),'attr':{'modal':{},'envName':{},'onDone':{}},'context':_0x3651a8=>({'busy':!0x1,'confirm':'','error':null,'warning':null,'envInfo':null,'infoLoading':!0x1,'keepSubEnvs':new Set(),get 'name'(){const _0x2675ef=_0xbea769;return _0x3651a8[_0x2675ef(0x1d2)]['envName']||'';},get 'canRemove'(){const _0x5b8398=_0xbea769;return this['confirm']===this['name']&&!this[_0x5b8398(0x1bb)];},get 'subEnvs'(){const _0x5f5a83=_0xbea769,_0x28d75e=_0x3651a8[_0x5f5a83(0x1db)][_0x5f5a83(0x1d3)]['okdb'][_0x5f5a83(0x1bd)]||[],_0x10208c=this[_0x5f5a83(0x1e2)];return _0x28d75e['filter'](_0x1d4244=>_0x1d4244[_0x5f5a83(0x1e2)]!==_0x10208c&&!_0x1d4244[_0x5f5a83(0x1c2)]&&(_0x1d4244['parentEnv']===_0x10208c||_0x1d4244[_0x5f5a83(0x1e2)][_0x5f5a83(0x1ca)]('~'+_0x10208c+':')));},'isEmbEnv':_0x567a22=>_0x567a22['includes'](':emb:'),'subEnvLabel'(_0x2c7634){const _0x3f5b4b=_0xbea769,_0x1d75b3='~'+this[_0x3f5b4b(0x1e2)]+':';return _0x2c7634['startsWith'](_0x1d75b3)?_0x2c7634[_0x3f5b4b(0x1c4)](_0x1d75b3['length']):_0x2c7634;},'toggleKeep'(_0x166b95){const _0x455545=_0xbea769,_0xc5fc25=new Set(this[_0x455545(0x1ce)]);_0xc5fc25['has'](_0x166b95)?_0xc5fc25[_0x455545(0x1e3)](_0x166b95):_0xc5fc25[_0x455545(0x1b9)](_0x166b95),this[_0x455545(0x1ce)]=_0xc5fc25;},get 'typeCount'(){const _0x3cda63=_0xbea769;return Object['keys'](this['envInfo']?.[_0x3cda63(0x1cd)]??{})[_0x3cda63(0x1bf)];},get 'recordCount'(){const _0x4a3436=_0xbea769;return Object['values'](this[_0x4a3436(0x1c1)]?.['types']??{})[_0x4a3436(0x1e1)]((_0x8fb74c,_0x42baa6)=>_0x8fb74c+(_0x42baa6[_0x4a3436(0x1c3)]||0x0),0x0);},async 'loadInfo'(){const _0x4fa80a=_0xbea769;this[_0x4fa80a(0x1c8)]=!0x0;try{const _0x3dbc9f=await fetch(__ENV__['API']+'/env/'+encodeURIComponent(this[_0x4fa80a(0x1e2)])+_0x4fa80a(0x1ba));_0x3dbc9f['ok']&&(this[_0x4fa80a(0x1c1)]=(await _0x3dbc9f[_0x4fa80a(0x1c5)]())[_0x4fa80a(0x1d5)]);}catch{}finally{this['infoLoading']=!0x1;}},async 'remove'(){const _0xd58abd=_0xbea769;if(this['canRemove']){this[_0xd58abd(0x1bb)]=!0x0,this['error']=null,this[_0xd58abd(0x1be)]=null;try{let _0x1f0a0a=__ENV__['API']+'/env/'+encodeURIComponent(this[_0xd58abd(0x1e2)]);this['keepSubEnvs']['size']>0x0&&(_0x1f0a0a+=_0xd58abd(0x1d7)+encodeURIComponent([...this[_0xd58abd(0x1ce)]]['join'](',')));const _0x89470c=await fetch(_0x1f0a0a,{'method':_0xd58abd(0x1bc)}),_0x3bf930=await _0x89470c['json']()['catch'](()=>({}));if(!_0x89470c['ok'])throw new Error(_0x3bf930?.[_0xd58abd(0x1da)]?.['message']||_0x89470c['statusText']);const _0x579d8d=_0x3bf930[_0xd58abd(0x1d5)]??_0x3bf930;if(_0x579d8d[_0xd58abd(0x1be)]||_0x579d8d[_0xd58abd(0x1dd)]?.[_0xd58abd(0x1bf)])return this[_0xd58abd(0x1be)]=_0x579d8d[_0xd58abd(0x1be)]??_0xd58abd(0x1b7)+_0x579d8d[_0xd58abd(0x1dd)][_0xd58abd(0x1cb)](',\x20'),await _0x3651a8[_0xd58abd(0x1d2)]['onDone']?.(this[_0xd58abd(0x1e2)],_0x579d8d),void(this[_0xd58abd(0x1bb)]=!0x1);await _0x3651a8[_0xd58abd(0x1d2)]['modal'][_0xd58abd(0x1c7)](),await _0x3651a8[_0xd58abd(0x1d2)][_0xd58abd(0x1c0)]?.(this[_0xd58abd(0x1e2)],_0x579d8d);}catch(_0x4f8ca8){this[_0xd58abd(0x1da)]=_0x4f8ca8?.['message']||'Failed\x20to\x20remove\x20environment';}finally{this['busy']=!0x1;}}},'cancel'(){const _0x1da4c6=_0xbea769;_0x3651a8['$attr'][_0x1da4c6(0x1d0)][_0x1da4c6(0x1c7)]();},'fmt':_0x406764=>null==_0x406764?'—':Number(_0x406764)[_0xbea769(0x1d8)]()}),'init'(){const _0x516c74=_0xbea769;this[_0x516c74(0x1d9)]();},'template':_0xbea769(0x1d6),'style':_0xbea769(0x1dc)};
|
|
1
|
+
const _0x198f85=_0x1df0;(function(_0x3b65b4,_0xc67963){const _0x3be445=_0x1df0,_0x168fdf=_0x3b65b4();while(!![]){try{const _0x12e398=parseInt(_0x3be445(0xcb))/0x1+-parseInt(_0x3be445(0xbf))/0x2+-parseInt(_0x3be445(0xd4))/0x3*(-parseInt(_0x3be445(0xa7))/0x4)+-parseInt(_0x3be445(0xc5))/0x5+parseInt(_0x3be445(0xc7))/0x6+parseInt(_0x3be445(0xc2))/0x7*(parseInt(_0x3be445(0xd9))/0x8)+parseInt(_0x3be445(0xba))/0x9;if(_0x12e398===_0xc67963)break;else _0x168fdf['push'](_0x168fdf['shift']());}catch(_0x2a72d5){_0x168fdf['push'](_0x168fdf['shift']());}}}(_0xbec1,0x37d38));function _0x1df0(_0x5b052f,_0x11de99){_0x5b052f=_0x5b052f-0xa6;const _0xbec121=_0xbec1();let _0x1df0d4=_0xbec121[_0x5b052f];return _0x1df0d4;}export default{'tag':'remove-env-modal','attr':{'modal':{},'envName':{},'onDone':{}},'context':_0x1ee7d5=>({'busy':!0x1,'confirm':'','error':null,'warning':null,'envInfo':null,'infoLoading':!0x1,'keepSubEnvs':new Set(),get 'name'(){const _0x3e8a3d=_0x1df0;return _0x1ee7d5[_0x3e8a3d(0xab)][_0x3e8a3d(0xda)]||'';},get 'canRemove'(){const _0x9eb2df=_0x1df0;return this['confirm']===this[_0x9eb2df(0xc6)]&&!this[_0x9eb2df(0xb6)];},get 'subEnvs'(){const _0x11cfef=_0x1df0,_0xb0c4a9=_0x1ee7d5[_0x11cfef(0xb3)][_0x11cfef(0xa6)][_0x11cfef(0xc8)]['envs']||[],_0x27d08d=this['name'];return _0xb0c4a9[_0x11cfef(0xc0)](_0x406962=>_0x406962[_0x11cfef(0xc6)]!==_0x27d08d&&!_0x406962[_0x11cfef(0xad)]&&(_0x406962[_0x11cfef(0xd8)]===_0x27d08d||_0x406962[_0x11cfef(0xc6)][_0x11cfef(0xd2)]('~'+_0x27d08d+':')));},'isEmbEnv':_0x5271ea=>_0x5271ea['includes'](':emb:'),'subEnvLabel'(_0x4e677d){const _0x51f623=_0x1df0,_0x3a6a3d='~'+this[_0x51f623(0xc6)]+':';return _0x4e677d[_0x51f623(0xd2)](_0x3a6a3d)?_0x4e677d[_0x51f623(0xbe)](_0x3a6a3d['length']):_0x4e677d;},'toggleKeep'(_0x5b6bcc){const _0x15778e=_0x1df0,_0x2854af=new Set(this[_0x15778e(0xb0)]);_0x2854af[_0x15778e(0xb8)](_0x5b6bcc)?_0x2854af[_0x15778e(0xd7)](_0x5b6bcc):_0x2854af[_0x15778e(0xc4)](_0x5b6bcc),this[_0x15778e(0xb0)]=_0x2854af;},get 'typeCount'(){const _0x591344=_0x1df0;return Object[_0x591344(0xd3)](this[_0x591344(0xc1)]?.[_0x591344(0xbb)]??{})[_0x591344(0xd1)];},get 'recordCount'(){const _0x5b7fa7=_0x1df0;return Object[_0x5b7fa7(0xce)](this[_0x5b7fa7(0xc1)]?.[_0x5b7fa7(0xbb)]??{})[_0x5b7fa7(0xa9)]((_0x124b50,_0x5b8380)=>_0x124b50+(_0x5b8380[_0x5b7fa7(0xc3)]||0x0),0x0);},async 'loadInfo'(){const _0x541397=_0x1df0;this[_0x541397(0xb2)]=!0x0;try{const _0x3accc7=await fetch(__ENV__[_0x541397(0xb1)]+'/env/'+encodeURIComponent(this[_0x541397(0xc6)])+_0x541397(0xcc));_0x3accc7['ok']&&(this[_0x541397(0xc1)]=(await _0x3accc7['json']())[_0x541397(0xd0)]);}catch{}finally{this[_0x541397(0xb2)]=!0x1;}},async 'remove'(){const _0x444353=_0x1df0;if(this[_0x444353(0xac)]){this['busy']=!0x0,this[_0x444353(0xb7)]=null,this[_0x444353(0xbd)]=null;try{let _0x5ee7f0=__ENV__[_0x444353(0xb1)]+_0x444353(0xb9)+encodeURIComponent(this['name']);this[_0x444353(0xb0)][_0x444353(0xca)]>0x0&&(_0x5ee7f0+='?keepSubEnvs='+encodeURIComponent([...this[_0x444353(0xb0)]][_0x444353(0xd6)](',')));const _0x15b29e=await fetch(_0x5ee7f0,{'method':'DELETE'}),_0x5c644a=await _0x15b29e[_0x444353(0xb4)]()[_0x444353(0xa8)](()=>({}));if(!_0x15b29e['ok'])throw new Error(_0x5c644a?.[_0x444353(0xb7)]?.[_0x444353(0xdb)]||_0x15b29e[_0x444353(0xcd)]);const _0x4c67a0=_0x5c644a['data']??_0x5c644a;if(_0x4c67a0['warning']||_0x4c67a0[_0x444353(0xbc)]?.[_0x444353(0xd1)])return this[_0x444353(0xbd)]=_0x4c67a0[_0x444353(0xbd)]??_0x444353(0xcf)+_0x4c67a0[_0x444353(0xbc)]['join'](',\x20'),await _0x1ee7d5[_0x444353(0xab)]['onDone']?.(this[_0x444353(0xc6)],_0x4c67a0),void(this['busy']=!0x1);await _0x1ee7d5[_0x444353(0xab)][_0x444353(0xc9)]['close'](),await _0x1ee7d5[_0x444353(0xab)][_0x444353(0xd5)]?.(this[_0x444353(0xc6)],_0x4c67a0);}catch(_0x541166){this['error']=_0x541166?.['message']||_0x444353(0xae);}finally{this[_0x444353(0xb6)]=!0x1;}}},'cancel'(){const _0x1d0e48=_0x1df0;_0x1ee7d5['$attr'][_0x1d0e48(0xc9)][_0x1d0e48(0xb5)]();},'fmt':_0x5dec7a=>null==_0x5dec7a?'—':Number(_0x5dec7a)[_0x198f85(0xaa)]()}),'init'(){const _0x4ed0d1=_0x198f85;this[_0x4ed0d1(0xaf)]();},'template':'\x0a<div\x20style=\x22min-width:400px;\x20max-width:500px;\x20display:flex;\x20flex-direction:column;\x20gap:16px;\x22>\x0a\x0a\x20\x20<!--\x20──\x20Warning\x20banner\x20──\x20-->\x0a\x20\x20<div\x20style=\x22background:#1f1008;\x20border:1px\x20solid\x20color-mix(in\x20srgb,\x20var(--okdb-orange)\x2067%,\x20transparent);\x20border-radius:8px;\x20padding:12px\x2014px;\x20display:flex;\x20gap:10px;\x20align-items:flex-start;\x22>\x0a\x20\x20\x20\x20<span\x20style=\x22font-size:18px;\x20flex-shrink:0;\x20line-height:1.2;\x22>⚠️</span>\x0a\x20\x20\x20\x20<div\x20style=\x22font-size:13px;\x20line-height:1.6;\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-weight:600;\x20color:var(--okdb-orange);\x20margin-bottom:3px;\x22>This\x20will\x20permanently\x20delete\x20the\x20environment.</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22opacity:.75;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20The\x20LMDB\x20data\x20files\x20for\x20<b\x20style=\x22font-family:monospace;\x22>{{\x20name\x20}}</b>\x20will\x20be\x20removed\x20from\x20disk.\x0a\x20\x20\x20\x20\x20\x20\x20\x20This\x20cannot\x20be\x20undone.\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</div>\x0a\x0a\x20\x20<!--\x20──\x20Env\x20stats\x20──\x20-->\x0a\x20\x20<div\x20style=\x22display:grid;\x20grid-template-columns:1fr\x201fr;\x20gap:8px;\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22rem-stat\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22rem-stat__label\x22>Types</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22rem-stat__value\x22\x20style=\x22color:var(--okdb-purple);\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22infoLoading\x22><span\x20style=\x22opacity:.4;\x22>…</span></if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22!infoLoading\x22>{{\x20fmt(typeCount)\x20}}</if>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20<div\x20class=\x22rem-stat\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22rem-stat__label\x22>Total\x20Records</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22rem-stat__value\x22\x20style=\x22color:var(--okdb-success);\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22infoLoading\x22><span\x20style=\x22opacity:.4;\x22>…</span></if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22!infoLoading\x22>{{\x20fmt(recordCount)\x20}}</if>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</div>\x0a\x0a\x20\x20<!--\x20──\x20Sub-envs\x20that\x20will\x20also\x20be\x20deleted\x20──\x20-->\x0a\x20\x20<if\x20:=\x22subEnvs.length\x20>\x200\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22background:#111820;\x20border:1px\x20solid\x20#1e3050;\x20border-radius:8px;\x20padding:10px\x2014px;\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:11px;\x20text-transform:uppercase;\x20letter-spacing:.06em;\x20opacity:.45;\x20margin-bottom:8px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20Related\x20databases\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:6px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<each\x20:of=\x22subEnvs\x22\x20let:item=\x22e\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20align-items:center;\x20gap:8px;\x20font-size:12px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<label\x20style=\x22display:flex;\x20align-items:center;\x20gap:6px;\x20cursor:pointer;\x20flex:1;\x20min-width:0;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<input\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type=\x22checkbox\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20:checked=\x22!keepSubEnvs.has(e.name)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@change=\x22toggleKeep(e.name)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20style=\x22accent-color:var(--okdb-danger);\x20cursor:pointer;\x20flex-shrink:0;\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22font-family:monospace;\x20color:#7a9ab2;\x20overflow:hidden;\x20text-overflow:ellipsis;\x20white-space:nowrap;\x22>{{\x20subEnvLabel(e.name)\x20}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22isEmbEnv(e.name)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22flex-shrink:0;\x20font-size:10px;\x20padding:1px\x205px;\x20border-radius:999px;\x20background:#4c1d95;\x20color:#c4b5fd;\x20border:1px\x20solid\x20#6d28d944;\x22>embeddings</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</label>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22flex-shrink:0;\x20font-size:10px;\x20opacity:.5;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22keepSubEnvs.has(e.name)\x22>keep</if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<if\x20:=\x22!keepSubEnvs.has(e.name)\x22><span\x20style=\x22color:var(--okdb-danger);\x22>delete</span></if>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</each>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20<if\x20:=\x22keepSubEnvs.size\x20>\x200\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22margin-top:8px;\x20font-size:11px;\x20opacity:.5;\x20line-height:1.5;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Kept\x20databases\x20will\x20become\x20orphaned\x20and\x20can\x20be\x20managed\x20or\x20dismissed\x20later.\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</if>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<!--\x20──\x20Locked\x20files\x20warning\x20(post-removal)\x20──\x20-->\x0a\x20\x20<if\x20:=\x22warning\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22color:var(--okdb-warning);\x20font-size:12px;\x20padding:8px\x2012px;\x20background:#221c08;\x20border-radius:6px;\x20border:1px\x20solid\x20color-mix(in\x20srgb,\x20var(--okdb-warning)\x2020%,\x20transparent);\x20line-height:1.5;\x22>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-weight:600;\x20margin-bottom:3px;\x22>⚠\x20Some\x20files\x20could\x20not\x20be\x20deleted</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22opacity:.8;\x22>{{\x20warning\x20}}</div>\x0a\x20\x20\x20\x20\x20\x20<div\x20style=\x22opacity:.55;\x20margin-top:4px;\x20font-size:11px;\x22>These\x20files\x20may\x20be\x20locked\x20by\x20another\x20OKDB\x20process.\x20Stop\x20all\x20other\x20instances\x20and\x20delete\x20them\x20manually.</div>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<!--\x20──\x20Confirm\x20input\x20(hidden\x20after\x20warning\x20state)\x20──\x20-->\x0a\x20\x20<if\x20:=\x22!warning\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22display:flex;\x20flex-direction:column;\x20gap:6px;\x22>\x0a\x20\x20\x20\x20\x20\x20<label\x20style=\x22font-size:12px;\x20opacity:.6;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20Type\x20<code\x20style=\x22font-size:12px;\x20color:var(--okdb-orange);\x20background:#1f1008;\x20padding:1px\x205px;\x20border-radius:3px;\x22>{{\x20name\x20}}</code>\x20to\x20confirm\x0a\x20\x20\x20\x20\x20\x20</label>\x0a\x20\x20\x20\x20\x20\x20<input\x0a\x20\x20\x20\x20\x20\x20\x20\x20type=\x22text\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20:placeholder=\x22name\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20:value=\x22confirm\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20@input=\x22confirm\x20=\x20$el.value\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20@keydown.enter=\x22remove()\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20autofocus\x0a\x20\x20\x20\x20\x20\x20\x20\x20style=\x22font-family:monospace;\x22\x0a\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<!--\x20──\x20Error\x20──\x20-->\x0a\x20\x20<if\x20:=\x22error\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22color:var(--okdb-danger);\x20font-size:13px;\x20padding:8px\x2012px;\x20background:var(--okdb-danger-deep-bg);\x20border-radius:6px;\x20border:1px\x20solid\x20color-mix(in\x20srgb,\x20var(--okdb-danger)\x2020%,\x20transparent);\x22>\x0a\x20\x20\x20\x20\x20\x20{{\x20error\x20}}\x0a\x20\x20\x20\x20</div>\x0a\x20\x20</if>\x0a\x0a\x20\x20<!--\x20──\x20Buttons\x20──\x20-->\x0a\x20\x20<div\x20style=\x22display:flex;\x20gap:8px;\x20justify-content:flex-end;\x20padding-top:4px;\x20border-top:1px\x20solid\x20var(--okdb-app-surface-2);\x22>\x0a\x20\x20\x20\x20<button\x20@click=\x22cancel()\x22\x20:disabled=\x22busy\x22>{{\x20warning\x20?\x20\x27Close\x27\x20:\x20\x27Cancel\x27\x20}}</button>\x0a\x20\x20\x20\x20<if\x20:=\x22!warning\x22>\x0a\x20\x20\x20\x20\x20\x20<button\x0a\x20\x20\x20\x20\x20\x20\x20\x20@click=\x22remove()\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20:disabled=\x22!canRemove\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20style=\x22background:var(--okdb-danger-deep-border);\x20border-color:#991b1b;\x20color:var(--okdb-danger);\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20:style=\x22canRemove\x20?\x20\x27background:var(--okdb-danger-deep-border);\x20border-color:#b91c1c;\x20color:var(--okdb-danger);\x20cursor:pointer;\x27\x20:\x20\x27opacity:.4;\x20cursor:not-allowed;\x27\x22\x0a\x20\x20\x20\x20\x20\x20>\x0a\x20\x20\x20\x20\x20\x20\x20\x20{{\x20busy\x20?\x20\x27Removing…\x27\x20:\x20\x27🗑\x20Remove\x20Environment\x27\x20}}\x0a\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20</if>\x0a\x20\x20</div>\x0a\x0a</div>','style':'\x0a\x20\x20\x20\x20\x20\x20remove-env-modal\x20.rem-stat\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20background:\x20#13191f;\x0a\x20\x20\x20\x20\x20\x20\x20\x20border:\x201px\x20solid\x20#1e2d3c;\x0a\x20\x20\x20\x20\x20\x20\x20\x20border-radius:\x208px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20padding:\x2010px\x2014px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20\x20\x20flex-direction:\x20column;\x0a\x20\x20\x20\x20\x20\x20\x20\x20gap:\x204px;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20remove-env-modal\x20.rem-stat__label\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2010px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20text-transform:\x20uppercase;\x0a\x20\x20\x20\x20\x20\x20\x20\x20letter-spacing:\x20.06em;\x0a\x20\x20\x20\x20\x20\x20\x20\x20opacity:\x20.45;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20remove-env-modal\x20.rem-stat__value\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2020px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20font-weight:\x20700;\x0a\x20\x20\x20\x20\x20\x20\x20\x20line-height:\x201;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20'};function _0xbec1(){const _0x40cdc6=['Some\x20files\x20could\x20not\x20be\x20deleted\x20(may\x20be\x20locked):\x20','data','length','startsWith','keys','6QztMub','onDone','join','delete','parentEnv','272UQSvXh','envName','message','stores','413932TWYjTk','catch','reduce','toLocaleString','$attr','canRemove','orphaned','Failed\x20to\x20remove\x20environment','loadInfo','keepSubEnvs','API','infoLoading','$ok','json','close','busy','error','has','/env/','1160235JAjlHU','types','filesLocked','warning','slice','725692atYeiJ','filter','envInfo','40712LcWJnW','count','add','1309085NueiHT','name','706776klDMTn','okdb','modal','size','201906XoKsIx','/info','statusText','values'];_0xbec1=function(){return _0x40cdc6;};return _0xbec1();}
|