@kedem/okdb 1.0.0 β 1.0.3
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/keys/public.pem +3 -0
- package/okdb.js +1 -1
- package/package.json +2 -2
- 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/vendor/okjs/ok.esm.min.js +1 -2
- package/public/vendor/okjs/toolkit/behavior/async.ok.js +1 -1
- package/public/vendor/okjs/toolkit/components/ok-chart.ok.js +1 -1
- package/public/vendor/okjs/toolkit/components/ok-doc-viewer.ok.js +1 -1
- package/public/vendor/okjs/toolkit/components/ok-marked.ok.js +1 -1
- package/public/vendor/okjs/toolkit/components/ok-monaco.ok.js +1 -1
- package/public/vendor/okjs/toolkit/core/ok-layer-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/core/ok-layer.ok.js +1 -1
- package/public/vendor/okjs/toolkit/core/ok-overlay.ok.js +1 -1
- package/public/vendor/okjs/toolkit/core/ok-sandbox.ok.js +1 -1
- package/public/vendor/okjs/toolkit/core/transition.ok.js +1 -1
- package/public/vendor/okjs/toolkit/core/virtualized.ok.js +1 -1
- package/public/vendor/okjs/toolkit/devtools/ok-console-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/devtools/ok-console.ok.js +1 -1
- package/public/vendor/okjs/toolkit/devtools/ok-fps-monitor-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/devtools/ok-fps-monitor.ok.js +1 -1
- package/public/vendor/okjs/toolkit/devtools/ok-inspector-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/devtools/ok-inspector.ok.js +1 -1
- package/public/vendor/okjs/toolkit/devtools/ok-js-tree.ok.js +1 -1
- package/public/vendor/okjs/toolkit/devtools/ok-timeline-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/devtools/ok-timeline.ok.js +1 -1
- package/public/vendor/okjs/toolkit/docs/doc-viewer.ok.js +1 -1
- package/public/vendor/okjs/toolkit/editor/ok-live-component.ok.js +1 -1
- package/public/vendor/okjs/toolkit/editor/ok-live-example.ok.js +1 -1
- package/public/vendor/okjs/toolkit/editor/ok-live-shell.ok.js +1 -1
- package/public/vendor/okjs/toolkit/elements/ok-dropdown.ok.js +1 -1
- package/public/vendor/okjs/toolkit/elements/ok-icon.ok.js +1 -1
- package/public/vendor/okjs/toolkit/elements/ok-select.ok.js +1 -1
- package/public/vendor/okjs/toolkit/elements/ok-table.ok.js +1 -1
- package/public/vendor/okjs/toolkit/errors/ok-crash-boundary.ok.js +1 -1
- package/public/vendor/okjs/toolkit/errors/ok-crash-info.ok.js +1 -1
- package/public/vendor/okjs/toolkit/i18n/i18n-editor-examples.ok.js +1 -1
- package/public/vendor/okjs/toolkit/i18n/i18n-editor.ok.js +1 -1
- package/public/vendor/okjs/toolkit/i18n/i18n-key-editor-tips.ok.js +1 -1
- package/public/vendor/okjs/toolkit/i18n/i18n-key-editor.ok.js +1 -1
- package/public/vendor/okjs/toolkit/i18n/i18n-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/i18n/ok-i18n.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-contextmenu.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-dismiss-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-draggable.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-flyover-panel.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-flyover.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-highlight-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-highlight.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-hotkeys-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-picker-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-popout-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-popout.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-portal-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/interaction/ok-submenu.ok.js +1 -1
- package/public/vendor/okjs/toolkit/layout/ok-resizer.ok.js +1 -1
- package/public/vendor/okjs/toolkit/manifest.js +1 -1
- package/public/vendor/okjs/toolkit/modals/ok-modal-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/modals/ok-modal.ok.js +1 -1
- package/public/vendor/okjs/toolkit/modals/ok-toast-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/modals/ok-window.ok.js +1 -1
- package/public/vendor/okjs/toolkit/navigation/hash-router.ok.js +1 -1
- package/public/vendor/okjs/toolkit/navigation/history-router.ok.js +1 -1
- package/public/vendor/okjs/toolkit/navigation/router.ok.js +1 -1
- package/public/vendor/okjs/toolkit/sync/reactive-sync-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/sync/reactive-sync.js +1 -1
- package/public/vendor/okjs/toolkit/theming/blocks/ok-design-button.css.js +1 -1
- package/public/vendor/okjs/toolkit/theming/blocks/ok-design-input.css.js +1 -1
- package/public/vendor/okjs/toolkit/theming/ok-design-style.js +1 -1
- package/public/vendor/okjs/toolkit/theming/ok-design-vars.js +1 -1
- package/public/vendor/okjs/toolkit/theming/ok-design.ok.js +1 -1
- package/public/vendor/okjs/toolkit/theming/ok-theme-editor/ok-theme-editor-input.ok.js +1 -1
- package/public/vendor/okjs/toolkit/theming/ok-theme-editor/ok-theme-editor-service.ok.js +1 -1
- package/public/vendor/okjs/toolkit/theming/ok-theme-editor/ok-theme-editor-style.js +1 -1
- package/public/vendor/okjs/toolkit/theming/ok-theme-editor/ok-theme-editor-utils.js +1 -1
- package/public/vendor/okjs/toolkit/theming/ok-theme-editor/ok-theme-editor-variable.ok.js +1 -1
- package/public/vendor/okjs/toolkit/theming/ok-theme-editor/ok-theme-editor-vm.js +1 -1
- package/public/vendor/okjs/toolkit/theming/ok-theme-editor/ok-theme-editor.ok.js +1 -1
- package/public/vendor/okjs/toolkit/theming/ok-theme.ok.js +1 -1
- package/public/view-models/type-query-vm.js +1 -1
- package/public/images/logo.png +0 -0
- package/public/images/logo.svg +0 -333
|
@@ -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
|
+
function _0x37e7(_0x3e1bfd,_0x144f5c){_0x3e1bfd=_0x3e1bfd-0x1aa;const _0x3c7fc0=_0x3c7f();let _0x37e7a3=_0x3c7fc0[_0x3e1bfd];return _0x37e7a3;}const _0x3ff737=_0x37e7;(function(_0xece3fa,_0x51c451){const _0xa44fb1=_0x37e7,_0x595cdf=_0xece3fa();while(!![]){try{const _0x3f95cd=-parseInt(_0xa44fb1(0x22d))/0x1*(parseInt(_0xa44fb1(0x2b5))/0x2)+parseInt(_0xa44fb1(0x3a5))/0x3+parseInt(_0xa44fb1(0x2e6))/0x4*(-parseInt(_0xa44fb1(0x2a6))/0x5)+parseInt(_0xa44fb1(0x1f6))/0x6*(-parseInt(_0xa44fb1(0x38d))/0x7)+parseInt(_0xa44fb1(0x27d))/0x8*(parseInt(_0xa44fb1(0x1b5))/0x9)+-parseInt(_0xa44fb1(0x20e))/0xa*(-parseInt(_0xa44fb1(0x21f))/0xb)+parseInt(_0xa44fb1(0x264))/0xc*(parseInt(_0xa44fb1(0x351))/0xd);if(_0x3f95cd===_0x51c451)break;else _0x595cdf['push'](_0x595cdf['shift']());}catch(_0x4c63a8){_0x595cdf['push'](_0x595cdf['shift']());}}}(_0x3c7f,0x2ca26));function makePRNG(_0x3ca131){let _0x2c452e=(0x9e3779b9^_0x3ca131)>>>0x0||0x1;return()=>(_0x2c452e^=_0x2c452e<<0xd,_0x2c452e^=_0x2c452e>>>0x11,_0x2c452e^=_0x2c452e<<0x5,(_0x2c452e>>>0x0)/0x100000000);}const pick=(_0x49ee11,_0x286015)=>_0x49ee11[Math['floor'](_0x286015()*_0x49ee11[_0x3ff737(0x34b)])],rng=(_0x50a3aa,_0x3608f7,_0x5ee927)=>Math[_0x3ff737(0x31a)](_0x5ee927()*(_0x3608f7-_0x50a3aa+0x1))+_0x50a3aa,uid=(_0x486b3d,_0x5cf4ce)=>_0x486b3d+'-'+String(_0x5cf4ce)[_0x3ff737(0x1cc)](0x4,'0'),email=(_0x421d8a,_0x4a6c81,_0x11d635)=>_0x421d8a[_0x3ff737(0x3ec)]()+'.'+_0x4a6c81['toLowerCase']()+rng(0x1,0x63,_0x11d635)+'@'+pick([_0x3ff737(0x3fb),_0x3ff737(0x2bf),_0x3ff737(0x2e9),_0x3ff737(0x383),_0x3ff737(0x243)],_0x11d635),dateAgo=(_0x35e116,_0x3d86b1)=>new Date(Date['now']()-0x5265c00*rng(0x0,_0x35e116,_0x3d86b1))['toISOString']()['split']('T')[0x0],dateFwd=(_0x3eae40,_0x3f130a)=>new Date(Date['now']()+0x5265c00*rng(0x1,_0x3eae40,_0x3f130a))[_0x3ff737(0x215)]()['split']('T')[0x0],FIRST=[_0x3ff737(0x37e),'Bob',_0x3ff737(0x225),_0x3ff737(0x212),'Emma',_0x3ff737(0x2a4),_0x3ff737(0x222),_0x3ff737(0x3da),_0x3ff737(0x3d0),_0x3ff737(0x3c8),_0x3ff737(0x38f),'Liam',_0x3ff737(0x302),_0x3ff737(0x312),_0x3ff737(0x3a4),_0x3ff737(0x1cb),_0x3ff737(0x1b6),_0x3ff737(0x404),'Sam',_0x3ff737(0x2db),'Uma',_0x3ff737(0x37d),_0x3ff737(0x204),'Yusuf','Zoe'],LAST=[_0x3ff737(0x3b8),_0x3ff737(0x226),_0x3ff737(0x1e3),_0x3ff737(0x1ed),_0x3ff737(0x2ff),_0x3ff737(0x21c),'Green',_0x3ff737(0x259),_0x3ff737(0x319),_0x3ff737(0x1db),_0x3ff737(0x3a6),_0x3ff737(0x265),_0x3ff737(0x3ad),_0x3ff737(0x397),_0x3ff737(0x260),_0x3ff737(0x3dd),_0x3ff737(0x1b6),'Roberts',_0x3ff737(0x1fa),_0x3ff737(0x282),_0x3ff737(0x325),_0x3ff737(0x3fd),'Young',_0x3ff737(0x205)],CITIES=[_0x3ff737(0x33b),_0x3ff737(0x219),'Berlin',_0x3ff737(0x1df),_0x3ff737(0x3cd),'Toronto',_0x3ff737(0x2d9),_0x3ff737(0x2cb),_0x3ff737(0x280),_0x3ff737(0x2e8),_0x3ff737(0x346),_0x3ff737(0x335),_0x3ff737(0x3c7),_0x3ff737(0x385),_0x3ff737(0x28d)],COUNTRIES=['US','GB','DE','FR','JP','AU','CA','BR','IN','SG','NL','SE','ES','IT','MX'],DEVICES=[_0x3ff737(0x1fc),_0x3ff737(0x3f5),'tablet'],PAGES=['/',_0x3ff737(0x333),_0x3ff737(0x341),_0x3ff737(0x228),_0x3ff737(0x2be),_0x3ff737(0x28c),_0x3ff737(0x25f),'/login',_0x3ff737(0x3f0),_0x3ff737(0x238),_0x3ff737(0x210)],PROD_ADJ=[_0x3ff737(0x1e1),_0x3ff737(0x1bc),_0x3ff737(0x28b),_0x3ff737(0x3db),'Smart',_0x3ff737(0x307),_0x3ff737(0x2f4),_0x3ff737(0x25c),_0x3ff737(0x2ab),'Flex','Swift',_0x3ff737(0x1f2)],PROD_NOUN=[_0x3ff737(0x284),_0x3ff737(0x2b6),_0x3ff737(0x221),'Backpack',_0x3ff737(0x291),_0x3ff737(0x2c4),_0x3ff737(0x289),_0x3ff737(0x2e1),_0x3ff737(0x1e2),'Tablet',_0x3ff737(0x25a),_0x3ff737(0x2b1),_0x3ff737(0x28f),_0x3ff737(0x236),_0x3ff737(0x36c),_0x3ff737(0x1f7),'Hub',_0x3ff737(0x344)],PROD_CAT=[_0x3ff737(0x2f6),_0x3ff737(0x29a),_0x3ff737(0x30b),'Sports',_0x3ff737(0x3a1),_0x3ff737(0x3ae),_0x3ff737(0x273),_0x3ff737(0x27a),_0x3ff737(0x208),_0x3ff737(0x349)],ORDER_STATUS=['pending',_0x3ff737(0x21e),'shipped','delivered',_0x3ff737(0x363)],DOMAINS=[_0x3ff737(0x3fb),_0x3ff737(0x2bf),_0x3ff737(0x2e9)],CITY_CENTERS=[{'name':'London','country':'GB','lat':51.5074,'lon':-0.1278},{'name':_0x3ff737(0x2d9),'country':'FR','lat':48.8566,'lon':2.3522},{'name':'New\x20York','country':'US','lat':40.7128,'lon':-74.006},{'name':_0x3ff737(0x1df),'country':'JP','lat':35.6762,'lon':139.6503},{'name':'Sydney','country':'AU','lat':-33.8688,'lon':151.2093},{'name':'Berlin','country':'DE','lat':52.52,'lon':13.405},{'name':_0x3ff737(0x214),'country':'US','lat':37.7749,'lon':-122.4194},{'name':_0x3ff737(0x2cb),'country':'NL','lat':52.3676,'lon':4.9041},{'name':_0x3ff737(0x280),'country':'SG','lat':1.3521,'lon':103.8198},{'name':_0x3ff737(0x395),'country':'ES','lat':41.3851,'lon':2.1734},{'name':_0x3ff737(0x2e8),'country':'AE','lat':25.2048,'lon':55.2708},{'name':'Toronto','country':'CA','lat':43.6532,'lon':-79.3832},{'name':_0x3ff737(0x21b),'country':'IT','lat':41.9028,'lon':12.4964},{'name':_0x3ff737(0x207),'country':'AU','lat':-37.8136,'lon':144.9631},{'name':_0x3ff737(0x346),'country':'KR','lat':37.5665,'lon':126.978}],PLACE_CATS=[_0x3ff737(0x29c),'bar','cafe','museum',_0x3ff737(0x402),_0x3ff737(0x2df),_0x3ff737(0x1bb),_0x3ff737(0x394)],PLACE_ADJ=['Rustic',_0x3ff737(0x390),_0x3ff737(0x39e),_0x3ff737(0x258),_0x3ff737(0x34a),_0x3ff737(0x273),_0x3ff737(0x387),_0x3ff737(0x1b0),_0x3ff737(0x250),'Wild',_0x3ff737(0x27e),_0x3ff737(0x3eb),_0x3ff737(0x206),_0x3ff737(0x308),_0x3ff737(0x305),'Royal','Grand',_0x3ff737(0x257),'Green',_0x3ff737(0x361)],PLACE_NOUN=[_0x3ff737(0x3ae),_0x3ff737(0x2f7),_0x3ff737(0x2a2),_0x3ff737(0x294),'Terrace',_0x3ff737(0x38b),_0x3ff737(0x3ef),_0x3ff737(0x2c5),_0x3ff737(0x37a),'Yard',_0x3ff737(0x268),_0x3ff737(0x22a),'Market',_0x3ff737(0x1b7),'Room',_0x3ff737(0x3ee)],BAR_ADJ=['Lazy',_0x3ff737(0x343),'Iron',_0x3ff737(0x1cf),_0x3ff737(0x283),_0x3ff737(0x2ce),_0x3ff737(0x334),_0x3ff737(0x368),_0x3ff737(0x296),'Silver',_0x3ff737(0x327),_0x3ff737(0x2ad)],BAR_ANIMAL=[_0x3ff737(0x1c3),'Dog','Horse',_0x3ff737(0x26c),'Bear',_0x3ff737(0x2a9),'Owl',_0x3ff737(0x218),_0x3ff737(0x2c1),_0x3ff737(0x348),_0x3ff737(0x29d),_0x3ff737(0x231)],CAFE_PRE=[_0x3ff737(0x1dd),_0x3ff737(0x32d),_0x3ff737(0x1b0),_0x3ff737(0x250),'Fresh',_0x3ff737(0x27e),_0x3ff737(0x406),_0x3ff737(0x3cf),_0x3ff737(0x275),'Open',_0x3ff737(0x257),_0x3ff737(0x247)],CAFE_SFX=[_0x3ff737(0x33e),_0x3ff737(0x23b),_0x3ff737(0x2bc),_0x3ff737(0x392),_0x3ff737(0x313),_0x3ff737(0x3f4),'Blend','Espresso',_0x3ff737(0x3ff),_0x3ff737(0x2ea)],MUSEUM_SUB=['Natural\x20History',_0x3ff737(0x3d2),_0x3ff737(0x32a),_0x3ff737(0x2e2),_0x3ff737(0x311),_0x3ff737(0x2fb),'Architecture\x20&\x20Design',_0x3ff737(0x34d),_0x3ff737(0x2fe)],PARK_ADJ_P=[_0x3ff737(0x352),_0x3ff737(0x3bc),_0x3ff737(0x30c),_0x3ff737(0x235),_0x3ff737(0x355),_0x3ff737(0x38c),_0x3ff737(0x201),'Green',_0x3ff737(0x1fe),'Harbour',_0x3ff737(0x1f1),'West'],HOTEL_ADJ_H=[_0x3ff737(0x20a),'Royal','Imperial',_0x3ff737(0x273),_0x3ff737(0x387),_0x3ff737(0x1fe),_0x3ff737(0x29e),'Heritage',_0x3ff737(0x200),_0x3ff737(0x262),_0x3ff737(0x301)],HOTEL_NOUN_H=['Hotel',_0x3ff737(0x233),_0x3ff737(0x31f),_0x3ff737(0x227),'Lodge',_0x3ff737(0x378),'House',_0x3ff737(0x2b3),_0x3ff737(0x2d8)],GYM_PRE=[_0x3ff737(0x381),_0x3ff737(0x391),_0x3ff737(0x382),_0x3ff737(0x3ca),'Active',_0x3ff737(0x261),_0x3ff737(0x1cd),_0x3ff737(0x359),_0x3ff737(0x2af),'Prime'],GYM_SFX=['Studio',_0x3ff737(0x1d9),_0x3ff737(0x1e8),'Hub','Lab',_0x3ff737(0x3bf),_0x3ff737(0x3e5),_0x3ff737(0x220),_0x3ff737(0x1c9)],SHOP_ADJ=[_0x3ff737(0x1e0),_0x3ff737(0x27e),'Corner',_0x3ff737(0x20f),_0x3ff737(0x1b0),_0x3ff737(0x250),_0x3ff737(0x1ef),_0x3ff737(0x358),_0x3ff737(0x320)],SHOP_NOUN=[_0x3ff737(0x3b0),_0x3ff737(0x2ba),'Market',_0x3ff737(0x393),_0x3ff737(0x330),'Goods','Supply',_0x3ff737(0x3be),_0x3ff737(0x1ec)],PLACE_DESCS=[_0x3ff737(0x3ce),_0x3ff737(0x328),_0x3ff737(0x2bb),_0x3ff737(0x249),'A\x20community\x20staple\x20for\x20years,\x20proudly\x20serving\x20residents\x20and\x20visitors\x20with\x20heart.','Award-winning\x20venue\x20celebrating\x20local\x20culture,\x20craft\x20and\x20genuine\x20creativity.',_0x3ff737(0x360),_0x3ff737(0x297),'A\x20vibrant,\x20energetic\x20space\x20that\x20buzzes\x20with\x20life\x20from\x20morning\x20to\x20night.',_0x3ff737(0x36b),'Iconic\x20neighbourhood\x20institution\x20beloved\x20for\x20its\x20authenticity\x20and\x20character.','Contemporary\x20space\x20blending\x20design,\x20sustainability\x20and\x20an\x20outstanding\x20experience.'],PERSON_BIOS=['Passionate\x20foodie\x20and\x20amateur\x20photographer\x20exploring\x20the\x20city\x20one\x20cafΓ©\x20at\x20a\x20time.',_0x3ff737(0x25d),_0x3ff737(0x288),_0x3ff737(0x1d7),_0x3ff737(0x357),_0x3ff737(0x380),_0x3ff737(0x34e),_0x3ff737(0x25b),'Lifelong\x20traveller\x20collecting\x20experiences,\x20flavours\x20and\x20stories\x20from\x20around\x20the\x20globe.',_0x3ff737(0x251)],CHECKIN_NOTES=[_0x3ff737(0x26a),_0x3ff737(0x272),_0x3ff737(0x1d6),_0x3ff737(0x362),_0x3ff737(0x3f2),_0x3ff737(0x28a),_0x3ff737(0x24f),'Good\x20value\x20for\x20the\x20quality\x20of\x20the\x20experience.',_0x3ff737(0x39a),_0x3ff737(0x33f),'Stumbled\x20in\x20by\x20chance\x20and\x20absolutely\x20loved\x20it.','Great\x20first\x20visit,\x20already\x20planning\x20to\x20return.',null,null,null];function _scatter(_0x5796b9,_0x182cef,_0x5cd05f){const _0x377c39=_0x3ff737;return{'lat':Math[_0x377c39(0x388)](0xf4240*(_0x5796b9[_0x377c39(0x3c2)]+0x2*(_0x5cd05f()-0.5)*_0x182cef))/0xf4240,'lon':Math[_0x377c39(0x388)](0xf4240*(_0x5796b9[_0x377c39(0x3d5)]+0x2*(_0x5cd05f()-0.5)*_0x182cef))/0xf4240};}function _placeName(_0x311689,_0x29695d){const _0x13985e=_0x3ff737;switch(_0x311689){case _0x13985e(0x29c):return _0x13985e(0x35e)+pick(PLACE_ADJ,_0x29695d)+'\x20'+pick(PLACE_NOUN,_0x29695d);case _0x13985e(0x300):return _0x13985e(0x35e)+pick(BAR_ADJ,_0x29695d)+'\x20'+pick(BAR_ANIMAL,_0x29695d);case _0x13985e(0x354):return pick(CAFE_PRE,_0x29695d)+'\x20'+pick(CAFE_SFX,_0x29695d);case _0x13985e(0x20d):return _0x13985e(0x3aa)+pick(MUSEUM_SUB,_0x29695d);case _0x13985e(0x402):return pick(PARK_ADJ_P,_0x29695d)+'\x20Park';case'hotel':return _0x13985e(0x35e)+pick(HOTEL_ADJ_H,_0x29695d)+'\x20'+pick(HOTEL_NOUN_H,_0x29695d);case _0x13985e(0x1bb):return pick(GYM_PRE,_0x29695d)+'\x20'+pick(GYM_SFX,_0x29695d);case _0x13985e(0x394):return'The\x20'+pick(SHOP_ADJ,_0x29695d)+'\x20'+pick(SHOP_NOUN,_0x29695d);default:return pick(PLACE_ADJ,_0x29695d)+_0x13985e(0x3cb);}}function _0x3c7f(){const _0x404df2=['Space','Monitor','Grace','github.com','form_submit','Carol','Brown','Residence','/pricing','okdb','Loft','sess','Products,\x20customers\x20&\x20orders','1EBmKOc','_error','Design\x20System','pending','Stag','stores','Suites','docker','Botanical','Mouse','high','/settings','userId','comments','Roast','Top\x2010\x20UX\x20Patterns\x20for\x20Mobile\x20Apps','Index','Decent\x20but\x20has\x20some\x20issues.','cityexplorer','tutorial','sessionId','modal','icloud.com','Performance\x20Audit','typescript','city','Slow','\x22\x20failed','Modern\x20establishment\x20with\x20a\x20focus\x20on\x20quality\x20and\x20an\x20unforgettable\x20guest\x20experience.','indexes','geo','Billing\x20Integration','type','Specialist','Exactly\x20what\x20I\x20needed\x20today\x20β\x20no\x20complaints.','Artisan','Urban\x20explorer\x20with\x20a\x20passion\x20for\x20hole-in-the-wall\x20spots\x20and\x20authentic\x20local\x20culture.','posts','\x20across\x20the\x20organisation.','page','envName','linkedin.com','Little','Blue','Hall','Watch','Museum\x20member,\x20park\x20runner\x20and\x20enthusiastic\x20brunch-seeker\x20on\x20weekends.','Premium','Tech\x20worker\x20who\x20spends\x20weekends\x20hiking\x20and\x20discovering\x20hidden\x20restaurant\x20gems.','logout','/signup','Owen','Move','Maison','resultStats','36QRrDpf','Lee','Communication','aws','Quarter','Customer\x20Portal','Amazing\x20experience,\x20will\x20definitely\x20be\x20back!','accessibility','Cat','proj','security','from','places','projects','Great\x20atmosphere\x20and\x20incredibly\x20friendly\x20staff.','Garden','purchase','Wake','Tiny','price','message','checkins','Toys','error','products','18488wRnIGN','Local','Auth\x20Service','Singapore','Building\x20Scalable\x20APIs\x20with\x20Node.js','Taylor','Copper','Headphones','color-mix(in\x20srgb,\x20var(--okdb-success)\x2020%,\x20transparent)','State\x20Management\x20in\x20Modern\x20Frontend','Generation\x20failed','Architecture\x20enthusiast\x20and\x20frequent\x20museum-goer\x20with\x20a\x20love\x20for\x20strong\x20espresso.','Lamp','Nice\x20vibes\x20but\x20gets\x20a\x20bit\x20crowded\x20on\x20weekends.','Elite','/contact','Vienna','City\x20Explorer','Charger','review','Chair','progress','Functional\x20Programming\x20in\x20JavaScript','Grove','A\x20Practical\x20Guide\x20to\x20','Jolly','Popular\x20spot\x20among\x20locals\x20for\x20its\x20relaxed\x20vibe\x20and\x20consistently\x20high\x20standards.','Design','$attr','Furniture','Firefox','restaurant','Rabbit','Skyline','Kotlin','/type/','Team\x20Directory','Table','Index\x20','Frank','Backend','60TTPyZD','_tick','Insert\x20into\x20\x22','Wolf','type:','Turbo','Expected\x20more','Lucky','fts:','Force','\x20specialist\x20with\x20','Router','\x20failed','Retreat','reloadEnvs','169394WlgYOr','Keyboard','Normal','direct','trim','Shop','Hidden\x20gem\x20tucked\x20away\x20in\x20the\x20heart\x20of\x20the\x20city\x20β\x20loved\x20by\x20locals\x20and\x20visitors\x20alike.','Brew','API\x20Gateway','/blog','yahoo.com','Release\x20Automation','Eagle','postId','color-mix(in\x20srgb,\x20var(--okdb-accent)\x2020%,\x20transparent)','Desk','Den','done','ord','content','\x20is\x20a\x20strategic\x20initiative\x20to\x20improve\x20','Docker','Amsterdam','People','Finance','Dark','The\x20Future\x20of\x20Distributed\x20Systems','Large','Could\x20you\x20elaborate\x20more\x20on\x20the\x20second\x20point?','env','prod','DevOps','_start','types','configure','Apartments','Paris','Content\x20Hub','Tara','graphql','choose','key','hotel','Tutorial','Camera','Science\x20&\x20Technology','Leadership','Nomad','Documentation\x20Site','53968huFHYg','completedSteps','Dubai','outlook.com','Filter','defaultCount','Register\x20type\x20\x22','Internal\x20Tooling','Would\x20love\x20to\x20see\x20a\x20follow-up\x20article\x20on\x20this\x20topic.','culture','now','emp','Events','Great\x20article!\x20Really\x20helped\x20me\x20understand\x20the\x20concept.','Eco','Employees,\x20departments\x20&\x20projects','Electronics','Bistro','enableFts','typeCounts','\x20is\x20engineered\x20for\x20peak\x20performance\x20and\x20everyday\x20reliability.\x20Features\x20premium\x20materials\x20and\x20an\x20intuitive\x20design.','Photography','Geo-indexed\x20places\x20&\x20people','status','Living\x20Culture','Evans','bar','Palazzo','Mia','planning','Coordinator','Hidden','departments','Nano','Vintage','Might\x20return\x20it.','fts','Clothing','Riverside','total','Engineering','$ok','\x20is\x20a\x20','City\x20History','Noah','Bean','Sessions','color-mix(in\x20srgb,\x20var(--okdb-warning)\x2020%,\x20transparent)','Python','performance','draft','Ibrahim','floor','max','ecommerce','scroll','totalSteps','Inn','Makers','Disappointed','Lead','location','role','Vega','\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','Tipsy','A\x20must-visit\x20destination\x20known\x20for\x20quality,\x20character\x20and\x20outstanding\x20hospitality.','Mobile\x20App\x20v2','Contemporary\x20Art','var(--okdb-success)','design','Daily','Insert\x20','News','Co-op','orders','person','/products','Old','SΓ£o\x20Paulo','Secure\x20by\x20Design:\x20API\x20Security\x20Patterns','Consultant','\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>','evt','Understanding\x20Event-Driven\x20Architecture','New\x20York','var(--okdb-accent)','dept','Coffee','Exceptional\x20quality\x20β\x20genuinely\x20exceeded\x20expectations.','junior','/about','personId','Black','Dock','signup','Seoul','name','Crow','Office','Red','length','Node.js','Maritime\x20Heritage','Night\x20owl\x20and\x20cocktail\x20connoisseur\x20β\x20on\x20a\x20mission\x20to\x20try\x20every\x20great\x20bar\x20in\x20town.','place','CI/CD\x20Overhaul','546442tvZYyt','Central','Not\x20worth\x20it','cafe','Royal','pageviews','Fitness\x20fanatic,\x20craft\x20beer\x20lover\x20and\x20weekend\x20market\x20explorer.','Craft','Pulse','Departments','in-progress','Great\x20quality','download','The\x20','Data\x20Science','Stylish\x20space\x20with\x20impeccable\x20service\x20and\x20an\x20Instagram-worthy\x20interior.','Stone','A\x20perfect\x20spot\x20for\x20a\x20relaxed\x20afternoon.','cancelled','Authors','_done','min','Search\x20Engine','Rusty','completed','generating','Intimate\x20and\x20unpretentious\x20β\x20the\x20kind\x20of\x20place\x20that\x20instantly\x20feels\x20like\x20home.','Stand','archived','Mobile','rev','home','Comments','Engineer','Observability\x20and\x20Monitoring\x20at\x20Scale','authors','The\x20Ultimate\x20','application/json','efficiency','Place','GraphQL','House','idx:','The\x20examples\x20were\x20very\x20clear.\x20Well\x20done!','Victor','Alice','Database\x20Migration','Remote\x20worker\x20building\x20a\x20list\x20of\x20the\x20world\x27s\x20best\x20coworking-friendly\x20cafes.','Fit','Core','proton.me','Customers','Cape\x20Town','Projects','Harbor','round','Events,\x20sessions\x20&\x20pageviews','fields','Corner','Memorial','7XZGhwk','css','Kate','Golden','Peak','Cup','Deli','shop','Barcelona','GraphQL\x20Best\x20Practices\x20for\x20Production','Nelson','blog','Marketing','Nothing\x20groundbreaking\x20but\x20solid\x20and\x20reliable.','\x22\x20on\x20','Create\x20environment\x20\x22','React','Silver','Swift','mid','Books','Designer','running','Olivia','838986KGRewH','King','Partner\x20API','Cloud','push','Museum\x20of\x20','Developer\x20SDK','demo-shop','Martinez','Kitchen','catch','Store','Posts,\x20authors\x20&\x20comments','bronze','employees','replace','demo-analytics','gold','Rust','Anderson','TypeScript','device','toLocaleString','Victoria','Docker\x20and\x20Kubernetes:\x20A\x20Practical\x20Guide','Emporium','Base','developer\x20productivity','Mastering\x20TypeScript\x20in\x202025','lat','demo-env-modal','Getting\x20Started\x20with\x20Modern\x20Web\x20Development','career','Edge','Mumbai','Jack','Building\x20Real-time\x20Dashboards','Power','\x20Place','events','Sydney','Highly\x20rated\x20local\x20favourite\x20with\x20excellent\x20reviews\x20and\x20a\x20warm,\x20welcoming\x20atmosphere.','Ground','Iris','Saved\x20me\x20hours\x20of\x20debugging.\x20Thank\x20you!','Modern\x20Art','Onboarding\x20Flow','Deep\x20Dive:\x20','lon','search','platinum','sessions','TechCore','Henry','Max','share','Parker','_addStep','Would\x20recommend\x20to\x20friends.','E-Commerce','reduce','rating','tags','cmt','Works','category','demo-blog','Director','medium','on-hold','Velvet','toLowerCase','This\x20is\x20exactly\x20what\x20I\x20was\x20looking\x20for!','Yard','Nook','/dashboard','\x20in\x20depth\x20β\x20with\x20practical\x20examples.','One\x20of\x20my\x20absolute\x20favourites\x20in\x20the\x20city.','data:','Grind','mobile','hackernews.com','/fts/','Apex','node','critical','gmail.com','placeId','Walsh','customers','Press','close','people','park','Architect','Rachel','Using\x20it\x20every\x20day.','Roasted','department','UrbanGear','video_play','effectiveCounts','color-mix(in\x20srgb,\x20var(--okdb-orange)\x2020%,\x20transparent)','Register\x20type:\x20','Urban','AWS','authorId','SKU-','Figma','369ZBcDoZ','Quinn','Square','beginner','cust','var(--okdb-warning)','gym','Pro','Admin\x20Console','A/B\x20Testing\x20Framework','SQL','Database\x20Indexing\x20Deep\x20Dive','stringify','\x20team\x20drives\x20innovation\x20and\x20','Fox','reviews','silver','color-mix(in\x20srgb,\x20var(--okdb-purple)\x2020%,\x20transparent)','onDone','skills','Performance','step','Peter','padStart','Lift','AI-Assisted\x20Development\x20Workflows','Brass','preset','analytics','Places','enableIndexes','defaultEnv','customerId','Highly\x20recommend\x20to\x20anyone\x20visiting\x20the\x20area.','Local\x20guide\x20and\x20travel\x20blogger\x20sharing\x20the\x20best\x20spots\x20in\x20every\x20city\x20I\x20visit.','login','Club','low','Jones','tag','Morning','Really\x20happy\x20with\x20this\x20purchase.','Tokyo','General','Ultra','Speaker','Carter','Love\x20it!','/envs','click','Business','Zone','label','Reviews','Highly\x20recommend','Collective','Davis','growth','Indie','json','Highland','Vibe','Safari','databases','var(--okdb-purple)','1093980BHgEnW','Pod','post','Analyst','Smith','published','desktop','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.','City','POST','Boutique','Sunset','country','Security\x20Hardening','Wendy','Zhang','Cozy','Melbourne','Health','architecture','Grand','javascript','map','museum','10LkZBVq','Village','/docs','Deep\x20Dive\x20into\x20Machine\x20Learning\x20Basics','David','auth','San\x20Francisco','toISOString','team','find','Lion','London','description','Rome','Foster','Still\x20testing\x20it\x20out.','processing','1223618Lsqagh'];_0x3c7f=function(){return _0x404df2;};return _0x3c7f();}function generateCityExplorer(_0x46ffd2,_0xe8d918){const _0x2bdff0=_0x3ff737,_0x3ab3ef={};return _0x3ab3ef['places']=Array[_0x2bdff0(0x26f)]({'length':_0x46ffd2[_0x2bdff0(0x270)]},(_0x35fa3a,_0x113a82)=>{const _0x2607be=_0x2bdff0,_0x4dd192=pick(CITY_CENTERS,_0xe8d918),_0x3cd17b=pick(PLACE_CATS,_0xe8d918);return{'key':uid(_0x2607be(0x34f),_0x113a82+0x1),'value':{'name':_placeName(_0x3cd17b,_0xe8d918),'category':_0x3cd17b,'city':_0x4dd192['name'],'country':_0x4dd192[_0x2607be(0x202)],'location':_scatter(_0x4dd192,0.035,_0xe8d918),'rating':Math[_0x2607be(0x388)](rng(0x1c,0x32,_0xe8d918))/0xa,'reviewCount':rng(0x5,0xbb8,_0xe8d918),'priceLevel':rng(0x1,0x4,_0xe8d918),'description':pick(PLACE_DESCS,_0xe8d918),'phone':'+'+rng(0x1,0x63,_0xe8d918)+'\x20'+rng(0x64,0x3e7,_0xe8d918)+'-'+rng(0x3e8,0x270f,_0xe8d918),'openNow':_0xe8d918()>0.3,'verified':_0xe8d918()>0.25,'createdAt':dateAgo(0x2da,_0xe8d918)}};}),_0x3ab3ef[_0x2bdff0(0x401)]=Array[_0x2bdff0(0x26f)]({'length':_0x46ffd2[_0x2bdff0(0x401)]},(_0x4d8d0d,_0x2d22e8)=>{const _0x388a2f=_0x2bdff0,_0x40e603=pick(CITY_CENTERS,_0xe8d918),_0x596d23=pick(FIRST,_0xe8d918),_0x534776=pick(LAST,_0xe8d918);return{'key':uid(_0x388a2f(0x332),_0x2d22e8+0x1),'value':{'name':_0x596d23+'\x20'+_0x534776,'email':email(_0x596d23,_0x534776,_0xe8d918),'city':_0x40e603[_0x388a2f(0x347)],'country':_0x40e603[_0x388a2f(0x202)],'home':_scatter(_0x40e603,0.055,_0xe8d918),'bio':pick(PERSON_BIOS,_0xe8d918),'interests':[...new Set([pick(PLACE_CATS,_0xe8d918),pick(PLACE_CATS,_0xe8d918),pick(PLACE_CATS,_0xe8d918)])],'memberSince':dateAgo(0x447,_0xe8d918),'checkinsCount':rng(0x0,0x5a,_0xe8d918)}};}),_0x3ab3ef[_0x2bdff0(0x279)]=Array['from']({'length':_0x46ffd2[_0x2bdff0(0x279)]},(_0x3f28ab,_0x2d29bd)=>({'key':uid('ci',_0x2d29bd+0x1),'value':{'personId':uid(_0x2bdff0(0x332),rng(0x1,_0x46ffd2[_0x2bdff0(0x401)],_0xe8d918)),'placeId':uid(_0x2bdff0(0x34f),rng(0x1,_0x46ffd2[_0x2bdff0(0x270)],_0xe8d918)),'rating':rng(0x1,0x5,_0xe8d918),'note':pick(CHECKIN_NOTES,_0xe8d918),'hasPhoto':_0xe8d918()>0.58,'timestamp':new Date(Date[_0x2bdff0(0x2f0)]()-rng(0x0,0x757b12c00,_0xe8d918))[_0x2bdff0(0x215)]()}})),_0x3ab3ef;}const POST_TITLES=[_0x3ff737(0x3c4),'The\x20Complete\x20Guide\x20to\x20Database\x20Optimization',_0x3ff737(0x281),_0x3ff737(0x33a),_0x3ff737(0x23c),_0x3ff737(0x211),_0x3ff737(0x3bd),_0x3ff737(0x293),_0x3ff737(0x2cf),_0x3ff737(0x3c1),_0x3ff737(0x3c9),'Microservices\x20vs\x20Monolith:\x20When\x20to\x20Choose',_0x3ff737(0x396),_0x3ff737(0x286),_0x3ff737(0x373),_0x3ff737(0x336),'WebAssembly:\x20The\x20Next\x20Frontier','Green\x20Software\x20Engineering\x20Principles',_0x3ff737(0x1ce),_0x3ff737(0x1c0)],TAG_NAMES=[_0x3ff737(0x20b),'react',_0x3ff737(0x3f9),_0x3ff737(0x38e),_0x3ff737(0x245),'python',_0x3ff737(0x234),_0x3ff737(0x267),_0x3ff737(0x2dc),'ux',_0x3ff737(0x32c),_0x3ff737(0x1f4),_0x3ff737(0x26e),_0x3ff737(0x3f5),'devops',_0x3ff737(0x209),'testing',_0x3ff737(0x317),_0x3ff737(0x26b),'seo',_0x3ff737(0x1d1),'api','open-source',_0x3ff737(0x3c5),'tools',_0x3ff737(0x240),_0x3ff737(0x1b8),'advanced'],POST_CATS=['Technology',_0x3ff737(0x298),_0x3ff737(0x1e7),_0x3ff737(0x2e0),'Opinion',_0x3ff737(0x32f),'Research'],COMMENT_BODIES=[_0x3ff737(0x2f3),'Thanks\x20for\x20sharing\x20this.\x20Very\x20insightful.',_0x3ff737(0x2d1),_0x3ff737(0x3ed),'Bookmarked.\x20Will\x20definitely\x20revisit\x20this\x20later.',_0x3ff737(0x37c),'I\x20disagree\x20with\x20some\x20points\x20but\x20overall\x20great\x20read.',_0x3ff737(0x2ee),'Just\x20implemented\x20this\x20β\x20worked\x20perfectly!',_0x3ff737(0x3d1)],EVT_TYPES=['pageview',_0x3ff737(0x1e6),_0x3ff737(0x31d),_0x3ff737(0x224),_0x3ff737(0x274),_0x3ff737(0x345),_0x3ff737(0x1d8),_0x3ff737(0x25e),_0x3ff737(0x3d6),_0x3ff737(0x35d),_0x3ff737(0x1ac),_0x3ff737(0x3dc)],REFERRERS=['google.com','twitter.com',_0x3ff737(0x223),_0x3ff737(0x2b8),'reddit.com',_0x3ff737(0x3f6),_0x3ff737(0x256)],ROLES=[_0x3ff737(0x372),_0x3ff737(0x3a2),'Manager',_0x3ff737(0x1f9),_0x3ff737(0x3e8),_0x3ff737(0x322),_0x3ff737(0x304),_0x3ff737(0x24e),_0x3ff737(0x403),_0x3ff737(0x337)],DEPTS=[_0x3ff737(0x30e),_0x3ff737(0x298),'Product',_0x3ff737(0x399),'Sales','Operations','HR',_0x3ff737(0x2cd)],LEVELS=[_0x3ff737(0x340),_0x3ff737(0x3a0),'senior','lead','principal','director'],SKILLS=['JavaScript',_0x3ff737(0x316),_0x3ff737(0x39d),_0x3ff737(0x34c),_0x3ff737(0x1bf),_0x3ff737(0x2ca),_0x3ff737(0x1b1),_0x3ff737(0x3b9),_0x3ff737(0x379),'Kubernetes',_0x3ff737(0x1b4),'Analytics',_0x3ff737(0x2e3),_0x3ff737(0x266),_0x3ff737(0x3b7),'Go',_0x3ff737(0x39f),_0x3ff737(0x29f)],PROJ_NAMES=['Platform\x20Rewrite',_0x3ff737(0x329),_0x3ff737(0x2bd),'Data\x20Pipeline',_0x3ff737(0x269),'Analytics\x20Dashboard',_0x3ff737(0x27f),'Notification\x20System',_0x3ff737(0x367),_0x3ff737(0x24c),_0x3ff737(0x1bd),_0x3ff737(0x350),_0x3ff737(0x244),_0x3ff737(0x203),_0x3ff737(0x3ab),_0x3ff737(0x2ed),_0x3ff737(0x37f),'Load\x20Testing',_0x3ff737(0x2e5),_0x3ff737(0x3d3),_0x3ff737(0x1be),_0x3ff737(0x22f),_0x3ff737(0x2c0),_0x3ff737(0x3a7),'Data\x20Warehouse'],PROJ_STATUS=[_0x3ff737(0x303),_0x3ff737(0x35b),_0x3ff737(0x290),_0x3ff737(0x369),_0x3ff737(0x3ea)];function generateEcommerce(_0x52a066,_0xb9c8f){const _0x2f46d7=_0x3ff737,_0x3b0266={};return _0x3b0266['products']=Array['from']({'length':_0x52a066[_0x2f46d7(0x27c)]},(_0x564cbb,_0x2365af)=>{const _0x1bf6f5=_0x2f46d7,_0x529ce9=pick(PROD_ADJ,_0xb9c8f),_0x26afce=pick(PROD_NOUN,_0xb9c8f);return{'key':uid(_0x1bf6f5(0x2d3),_0x2365af+0x1),'value':{'name':_0x529ce9+'\x20'+_0x26afce,'category':pick(PROD_CAT,_0xb9c8f),'price':Math['round'](0x64*(rng(0x5,0x3e7,_0xb9c8f)+0.99*_0xb9c8f()))/0x64,'stock':rng(0x0,0x1f4,_0xb9c8f),'rating':Math[_0x1bf6f5(0x388)](rng(0x19,0x32,_0xb9c8f))/0xa,'reviewCount':rng(0x0,0x4b0,_0xb9c8f),'description':_0x1bf6f5(0x35e)+_0x529ce9+'\x20'+_0x26afce+_0x1bf6f5(0x2fa),'sku':_0x1bf6f5(0x1b3)+rng(0x2710,0x1869f,_0xb9c8f),'brand':pick([_0x1bf6f5(0x3d9),_0x1bf6f5(0x1ab),_0x1bf6f5(0x2e4),_0x1bf6f5(0x3f8),'Lux'],_0xb9c8f),'createdAt':dateAgo(0x16d,_0xb9c8f)}};}),_0x3b0266[_0x2f46d7(0x3fe)]=Array[_0x2f46d7(0x26f)]({'length':_0x52a066[_0x2f46d7(0x3fe)]},(_0x37140a,_0x385267)=>{const _0x10262b=_0x2f46d7,_0xc6cc00=pick(FIRST,_0xb9c8f),_0x4b583c=pick(LAST,_0xb9c8f);return{'key':uid('cust',_0x385267+0x1),'value':{'name':_0xc6cc00+'\x20'+_0x4b583c,'email':email(_0xc6cc00,_0x4b583c,_0xb9c8f),'city':pick(CITIES,_0xb9c8f),'country':pick(COUNTRIES,_0xb9c8f),'tier':pick([_0x10262b(0x3b2),_0x10262b(0x1c5),_0x10262b(0x3b6),_0x10262b(0x3d7)],_0xb9c8f),'totalOrders':rng(0x0,0x32,_0xb9c8f),'totalSpent':Math[_0x10262b(0x388)](0x64*rng(0x0,0x3a98,_0xb9c8f))/0x64,'joinDate':dateAgo(0x2da,_0xb9c8f),'newsletter':_0xb9c8f()>0.4}};}),_0x3b0266['orders']=Array[_0x2f46d7(0x26f)]({'length':_0x52a066[_0x2f46d7(0x331)]},(_0x17b72e,_0x380b47)=>{const _0xc13955=_0x2f46d7,_0x379473=rng(0x1,0x5,_0xb9c8f),_0x1ffd02=Array[_0xc13955(0x26f)]({'length':_0x379473},()=>{const _0xde5f2f=_0xc13955,_0x3da1cc=Math[_0xde5f2f(0x388)](0x64*rng(0x5,0x1f3,_0xb9c8f))/0x64,_0x387c59=rng(0x1,0x4,_0xb9c8f);return{'productId':uid(_0xde5f2f(0x2d3),rng(0x1,_0x52a066[_0xde5f2f(0x27c)],_0xb9c8f)),'qty':_0x387c59,'price':_0x3da1cc,'total':Math['round'](_0x3da1cc*_0x387c59*0x64)/0x64};});return{'key':uid(_0xc13955(0x2c7),_0x380b47+0x1),'value':{'customerId':uid('cust',rng(0x1,_0x52a066['customers'],_0xb9c8f)),'status':pick(ORDER_STATUS,_0xb9c8f),'items':_0x1ffd02,'subtotal':_0x1ffd02['reduce']((_0x5f17b4,_0x46095f)=>_0x5f17b4+_0x46095f['total'],0x0),'shipping':Math[_0xc13955(0x388)](0x64*rng(0x0,0x14,_0xb9c8f))/0x64,'total':_0x1ffd02['reduce']((_0xd476c0,_0xbb2483)=>_0xd476c0+_0xbb2483[_0xc13955(0x30d)],0x0)+Math[_0xc13955(0x388)](0x64*rng(0x0,0x14,_0xb9c8f))/0x64,'createdAt':dateAgo(0xb4,_0xb9c8f),'shippedAt':_0xb9c8f()>0.3?dateAgo(0x3c,_0xb9c8f):null,'address':{'city':pick(CITIES,_0xb9c8f),'country':pick(COUNTRIES,_0xb9c8f)}}};}),_0x3b0266[_0x2f46d7(0x1c4)]=Array[_0x2f46d7(0x26f)]({'length':_0x52a066['reviews']},(_0x367fe6,_0x1874fb)=>{const _0x1681d9=_0x2f46d7,_0x19c331=rng(0x1,0x5,_0xb9c8f);return{'key':uid(_0x1681d9(0x36f),_0x1874fb+0x1),'value':{'productId':uid('prod',rng(0x1,_0x52a066[_0x1681d9(0x27c)],_0xb9c8f)),'customerId':uid(_0x1681d9(0x1b9),rng(0x1,_0x52a066[_0x1681d9(0x3fe)],_0xb9c8f)),'stars':_0x19c331,'title':pick(_0x19c331>=0x4?[_0x1681d9(0x1e4),_0x1681d9(0x35c),'Exactly\x20as\x20described',_0x1681d9(0x1eb),'Excellent\x20value']:[_0x1681d9(0x321),_0x1681d9(0x353),_0x1681d9(0x2ac),'Decent\x20but\x20flawed'],_0xb9c8f),'body':(_0x19c331>=0x4?_0x1681d9(0x1de):_0x1681d9(0x23e))+'\x20'+pick([_0x1681d9(0x3df),_0x1681d9(0x405),_0x1681d9(0x21d),'Mixed\x20feelings\x20overall.',_0x1681d9(0x309)],_0xb9c8f),'verified':_0xb9c8f()>0.2,'helpful':rng(0x0,0xc8,_0xb9c8f),'createdAt':dateAgo(0x16d,_0xb9c8f)}};}),_0x3b0266;}function generateAnalytics(_0xc41eb8,_0x5d8845){const _0x45e286=_0x3ff737,_0x3196f6={};return _0x3196f6[_0x45e286(0x3d8)]=Array[_0x45e286(0x26f)]({'length':_0xc41eb8[_0x45e286(0x3d8)]},(_0x1935a3,_0x432ccb)=>({'key':uid('sess',_0x432ccb+0x1),'value':{'userId':_0x5d8845()>0.35?uid('user',rng(0x1,0x1f4,_0x5d8845)):null,'device':pick(DEVICES,_0x5d8845),'country':pick(COUNTRIES,_0x5d8845),'city':pick(CITIES,_0x5d8845),'duration':rng(0x5,0xe10,_0x5d8845),'pageCount':rng(0x1,0x1e,_0x5d8845),'bounced':_0x5d8845()<0.38,'browser':pick(['Chrome',_0x45e286(0x29b),_0x45e286(0x1f3),_0x45e286(0x3c6),'Arc'],_0x5d8845),'startedAt':new Date(Date[_0x45e286(0x2f0)]()-rng(0x0,0x9a7ec800,_0x5d8845))[_0x45e286(0x215)]()}})),_0x3196f6['events']=Array['from']({'length':_0xc41eb8[_0x45e286(0x3cc)]},(_0x1e0715,_0x4a1357)=>({'key':uid(_0x45e286(0x339),_0x4a1357+0x1),'value':{'type':pick(EVT_TYPES,_0x5d8845),'sessionId':uid(_0x45e286(0x22b),rng(0x1,_0xc41eb8[_0x45e286(0x3d8)],_0x5d8845)),'userId':_0x5d8845()>0.35?uid('user',rng(0x1,0x1f4,_0x5d8845)):null,'page':pick(PAGES,_0x5d8845),'device':pick(DEVICES,_0x5d8845),'country':pick(COUNTRIES,_0x5d8845),'timestamp':new Date(Date[_0x45e286(0x2f0)]()-rng(0x0,0x9a7ec800,_0x5d8845))[_0x45e286(0x215)](),'value':_0x5d8845()>0.7?Math[_0x45e286(0x388)](0x64*rng(0x1,0x2710,_0x5d8845))/0x64:null}})),_0x3196f6[_0x45e286(0x356)]=Array[_0x45e286(0x26f)]({'length':_0xc41eb8[_0x45e286(0x356)]},(_0x2fb457,_0x32a0bf)=>({'key':uid('pv',_0x32a0bf+0x1),'value':{'page':pick(PAGES,_0x5d8845),'sessionId':uid(_0x45e286(0x22b),rng(0x1,_0xc41eb8['sessions'],_0x5d8845)),'referrer':pick(REFERRERS,_0x5d8845),'timeOnPage':rng(0x0,0x258,_0x5d8845),'exitPage':_0x5d8845()>0.7,'timestamp':new Date(Date['now']()-rng(0x0,0x9a7ec800,_0x5d8845))[_0x45e286(0x215)]()}})),_0x3196f6;}function generateBlog(_0x2932b7,_0x216ae9){const _0x3e39c1=_0x3ff737,_0x12e3df={};_0x12e3df['authors']=Array[_0x3e39c1(0x26f)]({'length':_0x2932b7[_0x3e39c1(0x374)]},(_0x1ac726,_0x2612bd)=>{const _0x53d9ee=_0x3e39c1,_0x4f18ea=pick(FIRST,_0x216ae9),_0x32b879=pick(LAST,_0x216ae9),_0x54cfc9=pick(['Frontend',_0x53d9ee(0x2a5),_0x53d9ee(0x2d4),_0x53d9ee(0x298),_0x53d9ee(0x35f),_0x53d9ee(0x36e),'Security',_0x53d9ee(0x3a8)],_0x216ae9);return{'key':uid(_0x53d9ee(0x213),_0x2612bd+0x1),'value':{'name':_0x4f18ea+'\x20'+_0x32b879,'email':email(_0x4f18ea,_0x32b879,_0x216ae9),'bio':_0x4f18ea+_0x53d9ee(0x310)+_0x54cfc9+_0x53d9ee(0x2b0)+rng(0x2,0x12,_0x216ae9)+'\x20years\x20of\x20experience\x20building\x20production\x20systems.','specialty':_0x54cfc9,'location':pick(CITIES,_0x216ae9),'twitter':'@'+_0x4f18ea['toLowerCase']()+_0x32b879[_0x53d9ee(0x3ec)](),'postCount':0x0}};});const _0x542311=Math[_0x3e39c1(0x366)](_0x2932b7[_0x3e39c1(0x3e3)],TAG_NAMES['length']);return _0x12e3df[_0x3e39c1(0x3e3)]=Array[_0x3e39c1(0x26f)]({'length':_0x542311},(_0x498a19,_0x3665e7)=>({'key':uid(_0x3e39c1(0x1dc),_0x3665e7+0x1),'value':{'name':TAG_NAMES[_0x3665e7],'count':rng(0x5,0x78,_0x216ae9),'color':pick([_0x3e39c1(0x33c),_0x3e39c1(0x1f5),_0x3e39c1(0x32b),_0x3e39c1(0x1ba),'var(--okdb-danger)'],_0x216ae9)}})),_0x12e3df['posts']=Array[_0x3e39c1(0x26f)]({'length':_0x2932b7[_0x3e39c1(0x252)]},(_0x310de1,_0x3dc28a)=>{const _0x5c1904=_0x3e39c1,_0x327a8b=POST_TITLES[_0x3dc28a%POST_TITLES[_0x5c1904(0x34b)]],_0x3ab36d=pick(['','','',_0x5c1904(0x3d4),_0x5c1904(0x375),_0x5c1904(0x295),'Why\x20'],_0x216ae9),_0x40d3b7=_0x3ab36d?''+_0x3ab36d+_0x327a8b:_0x327a8b,_0x5e2ef8=_0x216ae9()>0.25?'published':pick([_0x5c1904(0x318),_0x5c1904(0x36d)],_0x216ae9);return{'key':uid('post',_0x3dc28a+0x1),'value':{'title':_0x40d3b7,'slug':_0x40d3b7[_0x5c1904(0x3ec)]()[_0x5c1904(0x3b4)](/[^a-z0-9]+/g,'-')[_0x5c1904(0x3b4)](/^-|-$/g,''),'authorId':uid('auth',rng(0x1,_0x2932b7['authors'],_0x216ae9)),'category':pick(POST_CATS,_0x216ae9),'status':_0x5e2ef8,'tags':[...new Set([uid(_0x5c1904(0x1dc),rng(0x1,_0x542311,_0x216ae9)),uid('tag',rng(0x1,_0x542311,_0x216ae9))])],'content':_0x5c1904(0x1fd),'excerpt':'A\x20comprehensive\x20guide\x20to\x20understanding\x20'+_0x327a8b[_0x5c1904(0x3ec)]()+_0x5c1904(0x3f1),'readTime':rng(0x2,0x16,_0x216ae9),'views':rng(0x32,0x13880,_0x216ae9),'likes':rng(0x5,0xbb8,_0x216ae9),'featured':_0x216ae9()>0.85,'publishedAt':_0x5c1904(0x1fb)===_0x5e2ef8?dateAgo(0x190,_0x216ae9):null,'createdAt':dateAgo(0x1c2,_0x216ae9)}};}),_0x12e3df['comments']=Array[_0x3e39c1(0x26f)]({'length':_0x2932b7[_0x3e39c1(0x23a)]},(_0xe51d64,_0x3d661f)=>({'key':uid(_0x3e39c1(0x3e4),_0x3d661f+0x1),'value':{'postId':uid(_0x3e39c1(0x1f8),rng(0x1,_0x2932b7['posts'],_0x216ae9)),'authorName':pick(FIRST,_0x216ae9)+'\x20'+pick(LAST,_0x216ae9),'email':'user'+rng(0x1,0x270f,_0x216ae9)+'@'+pick(DOMAINS,_0x216ae9),'body':pick(COMMENT_BODIES,_0x216ae9),'likes':rng(0x0,0x96,_0x216ae9),'approved':_0x216ae9()>0.1,'createdAt':dateAgo(0x16d,_0x216ae9)}})),_0x12e3df;}function generateTeam(_0x4dbb68,_0x3ae834){const _0x45d01c=_0x3ff737,_0x2e8719={},_0x1760df=Array[_0x45d01c(0x26f)]({'length':_0x4dbb68[_0x45d01c(0x306)]},(_0x3e31cc,_0x427038)=>uid(_0x45d01c(0x33d),_0x427038+0x1));return _0x2e8719[_0x45d01c(0x306)]=_0x1760df[_0x45d01c(0x20c)]((_0x203508,_0x37b947)=>({'key':_0x203508,'value':{'name':DEPTS[_0x37b947%DEPTS['length']],'head':'','headcount':rng(0x4,0x23,_0x3ae834),'budget':rng(0x186a0,0x2dc6c0,_0x3ae834),'location':pick(CITIES,_0x3ae834),'description':_0x45d01c(0x35e)+DEPTS[_0x37b947%DEPTS[_0x45d01c(0x34b)]]+_0x45d01c(0x1c2)+pick([_0x45d01c(0x1ee),'quality',_0x45d01c(0x377),_0x45d01c(0x2ef)],_0x3ae834)+_0x45d01c(0x253)}})),_0x2e8719['employees']=Array[_0x45d01c(0x26f)]({'length':_0x4dbb68[_0x45d01c(0x3b3)]},(_0x4081c1,_0x46e720)=>{const _0x9f6b64=_0x45d01c,_0x158749=pick(FIRST,_0x3ae834),_0x4ab4fd=pick(LAST,_0x3ae834);return{'key':uid(_0x9f6b64(0x2f1),_0x46e720+0x1),'value':{'name':_0x158749+'\x20'+_0x4ab4fd,'email':email(_0x158749,_0x4ab4fd,_0x3ae834),'role':pick(ROLES,_0x3ae834),'department':pick(_0x1760df,_0x3ae834),'level':pick(LEVELS,_0x3ae834),'skills':[...new Set([pick(SKILLS,_0x3ae834),pick(SKILLS,_0x3ae834),pick(SKILLS,_0x3ae834)])],'salary':rng(0xbb80,0x445c0,_0x3ae834),'hireDate':dateAgo(0x721,_0x3ae834),'manager':_0x46e720>0x0?uid(_0x9f6b64(0x2f1),rng(0x1,Math[_0x9f6b64(0x31b)](0x1,_0x46e720),_0x3ae834)):null,'location':pick(CITIES,_0x3ae834),'remote':_0x3ae834()>0.45}};}),_0x2e8719[_0x45d01c(0x271)]=Array['from']({'length':_0x4dbb68['projects']},(_0x707a0a,_0x406be5)=>{const _0x2c8883=_0x45d01c,_0x223613=rng(0x2,0x8,_0x3ae834);return{'key':uid(_0x2c8883(0x26d),_0x406be5+0x1),'value':{'name':PROJ_NAMES[_0x406be5%PROJ_NAMES[_0x2c8883(0x34b)]],'department':pick(_0x1760df,_0x3ae834),'status':pick(PROJ_STATUS,_0x3ae834),'lead':uid('emp',rng(0x1,_0x4dbb68[_0x2c8883(0x3b3)],_0x3ae834)),'team':[...new Set(Array[_0x2c8883(0x26f)]({'length':_0x223613},()=>uid('emp',rng(0x1,_0x4dbb68[_0x2c8883(0x3b3)],_0x3ae834))))],'budget':rng(0x2710,0x927c0,_0x3ae834),'startDate':dateAgo(0x16d,_0x3ae834),'deadline':dateFwd(0xb4,_0x3ae834),'progress':rng(0x0,0x64,_0x3ae834),'priority':pick([_0x2c8883(0x1da),_0x2c8883(0x3e9),_0x2c8883(0x237),_0x2c8883(0x3fa)],_0x3ae834),'description':PROJ_NAMES[_0x406be5%PROJ_NAMES['length']]+_0x2c8883(0x2c9)+pick(['reliability',_0x2c8883(0x317),'user\x20experience',_0x2c8883(0x3c0),_0x2c8883(0x26e)],_0x3ae834)+'.'}};}),_0x2e8719;}const PRESETS=[{'id':_0x3ff737(0x31c),'icon':'π','name':_0x3ff737(0x3e0),'tagline':_0x3ff737(0x22c),'color':_0x3ff737(0x32b),'glow':_0x3ff737(0x285),'defaultEnv':_0x3ff737(0x3ac),'types':[{'key':_0x3ff737(0x27c),'label':'Products','defaultCount':0xfa},{'key':_0x3ff737(0x3fe),'label':_0x3ff737(0x384),'defaultCount':0x64},{'key':_0x3ff737(0x331),'label':'Orders','defaultCount':0x1f4},{'key':_0x3ff737(0x1c4),'label':_0x3ff737(0x1ea),'defaultCount':0x12c}],'indexes':[['products','category'],[_0x3ff737(0x27c),_0x3ff737(0x277)],['customers',_0x3ff737(0x246)],[_0x3ff737(0x3fe),'tier'],[_0x3ff737(0x331),_0x3ff737(0x2fd)],[_0x3ff737(0x331),_0x3ff737(0x1d5)]],'fts':[{'type':_0x3ff737(0x27c),'name':_0x3ff737(0x3d6),'fields':[_0x3ff737(0x347),_0x3ff737(0x21a)]}],'generate':generateEcommerce},{'id':'analytics','icon':'π','name':'Analytics','tagline':_0x3ff737(0x389),'color':_0x3ff737(0x33c),'glow':_0x3ff737(0x2c3),'defaultEnv':_0x3ff737(0x3b5),'types':[{'key':_0x3ff737(0x3cc),'label':_0x3ff737(0x2f2),'defaultCount':0x3e8},{'key':_0x3ff737(0x3d8),'label':_0x3ff737(0x314),'defaultCount':0xc8},{'key':_0x3ff737(0x356),'label':'Pageviews','defaultCount':0x7d0}],'indexes':[[_0x3ff737(0x3cc),_0x3ff737(0x24d)],[_0x3ff737(0x3cc),'country'],[_0x3ff737(0x3d8),_0x3ff737(0x239)],[_0x3ff737(0x3d8),_0x3ff737(0x3ba)],[_0x3ff737(0x356),_0x3ff737(0x254)],[_0x3ff737(0x356),_0x3ff737(0x241)]],'fts':[],'generate':generateAnalytics},{'id':_0x3ff737(0x398),'icon':'π','name':_0x3ff737(0x2da),'tagline':_0x3ff737(0x3b1),'color':_0x3ff737(0x1f5),'glow':_0x3ff737(0x1c6),'defaultEnv':_0x3ff737(0x3e7),'types':[{'key':_0x3ff737(0x252),'label':'Posts','defaultCount':0x96},{'key':_0x3ff737(0x374),'label':_0x3ff737(0x364),'defaultCount':0x14},{'key':_0x3ff737(0x3e3),'label':'Tags','defaultCount':0x1c},{'key':'comments','label':_0x3ff737(0x371),'defaultCount':0x190}],'indexes':[[_0x3ff737(0x252),_0x3ff737(0x3e6)],['posts',_0x3ff737(0x1b2)],[_0x3ff737(0x252),_0x3ff737(0x2fd)],[_0x3ff737(0x23a),_0x3ff737(0x2c2)],['tags','count']],'fts':[{'type':_0x3ff737(0x252),'name':'search','fields':['title',_0x3ff737(0x2c8)]}],'generate':generateBlog},{'id':_0x3ff737(0x216),'icon':'π₯','name':_0x3ff737(0x2a1),'tagline':_0x3ff737(0x2f5),'color':_0x3ff737(0x1ba),'glow':_0x3ff737(0x315),'defaultEnv':'demo-team','types':[{'key':_0x3ff737(0x3b3),'label':'Employees','defaultCount':0x50},{'key':_0x3ff737(0x306),'label':_0x3ff737(0x35a),'defaultCount':0x8},{'key':_0x3ff737(0x271),'label':_0x3ff737(0x386),'defaultCount':0x1e}],'indexes':[['employees',_0x3ff737(0x1aa)],['employees','level'],['employees',_0x3ff737(0x323)],[_0x3ff737(0x271),_0x3ff737(0x2fd)],[_0x3ff737(0x271),_0x3ff737(0x1aa)]],'fts':[{'type':_0x3ff737(0x3b3),'name':'search','fields':['name',_0x3ff737(0x324),_0x3ff737(0x1c8)]}],'generate':generateTeam},{'id':_0x3ff737(0x23f),'icon':'πΊοΈ','name':_0x3ff737(0x28e),'tagline':_0x3ff737(0x2fc),'color':'var(--okdb-orange)','glow':_0x3ff737(0x1ae),'defaultEnv':'demo-places','badge':_0x3ff737(0x24b),'types':[{'key':_0x3ff737(0x270),'label':_0x3ff737(0x1d2),'defaultCount':0xc8},{'key':_0x3ff737(0x401),'label':_0x3ff737(0x2cc),'defaultCount':0x50},{'key':'checkins','label':'Checkins','defaultCount':0x12c}],'indexes':[[_0x3ff737(0x270),_0x3ff737(0x323),{'type':_0x3ff737(0x24b),'precision':0x7}],[_0x3ff737(0x270),_0x3ff737(0x3e6)],[_0x3ff737(0x270),_0x3ff737(0x246)],[_0x3ff737(0x270),_0x3ff737(0x3e2)],[_0x3ff737(0x401),_0x3ff737(0x370),{'type':'geo','precision':0x5}],[_0x3ff737(0x401),_0x3ff737(0x246)],[_0x3ff737(0x279),_0x3ff737(0x342)],[_0x3ff737(0x279),_0x3ff737(0x3fc)]],'fts':[{'type':_0x3ff737(0x270),'name':_0x3ff737(0x3d6),'fields':[_0x3ff737(0x347),_0x3ff737(0x21a)]}],'generate':generateCityExplorer}],SCALE_OPTIONS=[{'value':0.25,'label':'ΒΌΓ','hint':_0x3ff737(0x276)},{'value':0.5,'label':'Β½Γ','hint':'Small'},{'value':0x1,'label':'1Γ','hint':_0x3ff737(0x2b7)},{'value':0x2,'label':'2Γ','hint':_0x3ff737(0x2d0)},{'value':0x4,'label':'4Γ','hint':'Huge'}],BATCH_SIZE=0x32;export default{'tag':_0x3ff737(0x3c3),'attr':{'modal':{},'onDone':{}},'context':_0x431c58=>({'step':_0x3ff737(0x2dd),'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 _0x100afb=_0x3ff737,_0x4384dc={};for(const _0x442d89 of this[_0x100afb(0x1d0)]?.['types']??[])_0x4384dc[_0x442d89[_0x100afb(0x2de)]]=Math[_0x100afb(0x31b)](0x1,Math['round']((this[_0x100afb(0x2f9)][_0x442d89[_0x100afb(0x2de)]]??_0x442d89['defaultCount'])*this['scale']));return _0x4384dc;},get 'totalRecords'(){const _0x7aefe6=_0x3ff737;return Object['values'](this[_0x7aefe6(0x1ad)])[_0x7aefe6(0x3e1)]((_0x1e13b5,_0x161877)=>_0x1e13b5+_0x161877,0x0);},get 'progressPct'(){const _0x96df07=_0x3ff737;return this[_0x96df07(0x31e)]?Math[_0x96df07(0x366)](0x64,Math['round'](this[_0x96df07(0x2e7)]/this[_0x96df07(0x31e)]*0x64)):0x0;},'selectPreset'(_0xf4062f){const _0x574eb2=_0x3ff737;this[_0x574eb2(0x1d0)]=_0xf4062f,this[_0x574eb2(0x255)]=_0xf4062f[_0x574eb2(0x1d4)],this[_0x574eb2(0x2f9)]={};for(const _0xb266cd of _0xf4062f[_0x574eb2(0x2d6)])this['typeCounts'][_0xb266cd[_0x574eb2(0x2de)]]=_0xb266cd[_0x574eb2(0x2eb)];this['step']=_0x574eb2(0x2d7);},'back'(){const _0x48a51d=_0x3ff737;_0x48a51d(0x2d7)===this[_0x48a51d(0x1ca)]&&(this[_0x48a51d(0x1ca)]=_0x48a51d(0x2dd));},'cancel'(){const _0x445210=_0x3ff737;_0x431c58[_0x445210(0x299)][_0x445210(0x242)][_0x445210(0x400)]();},'_addStep'(_0x11829b,_0x4a98d7,_0x4080d6,_0x27589d){const _0x85c823=_0x3ff737;this[_0x85c823(0x292)][_0x85c823(0x3a9)]({'id':_0x11829b,'label':_0x4a98d7,'done':0x0,'total':_0x4080d6,'icon':_0x27589d,'status':_0x85c823(0x230)}),this[_0x85c823(0x31e)]++;},'_start'(_0x3f154f){const _0x10e751=_0x3ff737,_0x14d44f=this[_0x10e751(0x292)][_0x10e751(0x217)](_0x978924=>_0x978924['id']===_0x3f154f);_0x14d44f&&(_0x14d44f[_0x10e751(0x2fd)]='running');},'_done'(_0x10c78c){const _0x39a8b5=_0x3ff737,_0x143640=this[_0x39a8b5(0x292)][_0x39a8b5(0x217)](_0xd08ac0=>_0xd08ac0['id']===_0x10c78c);_0x143640&&(_0x143640[_0x39a8b5(0x2fd)]=_0x39a8b5(0x2c6),_0x143640['done']=_0x143640[_0x39a8b5(0x30d)],this['completedSteps']++);},'_error'(_0x533d4a){const _0x115242=_0x3ff737,_0x4ff8d8=this[_0x115242(0x292)][_0x115242(0x217)](_0x8da2aa=>_0x8da2aa['id']===_0x533d4a);_0x4ff8d8&&(_0x4ff8d8[_0x115242(0x2fd)]='error',this['completedSteps']++);},'_tick'(_0x457905,_0x2e315d){const _0x1c7708=_0x3ff737,_0x24257a=this[_0x1c7708(0x292)][_0x1c7708(0x217)](_0x5743e0=>_0x5743e0['id']===_0x457905);_0x24257a&&(_0x24257a[_0x1c7708(0x2c6)]=_0x2e315d);},async 'start'(){const _0x4ffafa=_0x3ff737;if(_0x4ffafa(0x36a)===this[_0x4ffafa(0x1ca)])return;const _0x3d64a7=this[_0x4ffafa(0x255)][_0x4ffafa(0x2b9)]();if(!_0x3d64a7||!this[_0x4ffafa(0x1d0)])return;this[_0x4ffafa(0x1ca)]=_0x4ffafa(0x36a),this['progress']=[],this[_0x4ffafa(0x31e)]=0x0,this[_0x4ffafa(0x2e7)]=0x0,this[_0x4ffafa(0x27b)]=null,this[_0x4ffafa(0x263)]={'env':_0x3d64a7,'types':{},'indexes':0x0,'fts':0x0,'totalRecords':0x0};const _0x137668=this[_0x4ffafa(0x1d0)],_0x3e7342=this[_0x4ffafa(0x1ad)],_0x27b487=__ENV__['API'],_0x56300a=_0x27b487+'/env/'+encodeURIComponent(_0x3d64a7);this['_addStep'](_0x4ffafa(0x2d2),_0x4ffafa(0x39c)+_0x3d64a7+'\x22',0x1,'π');for(const _0x409210 of _0x137668[_0x4ffafa(0x2d6)])this['_addStep'](_0x4ffafa(0x2aa)+_0x409210[_0x4ffafa(0x2de)],_0x4ffafa(0x1af)+_0x409210[_0x4ffafa(0x2de)],0x1,'⬑');for(const _0x4549c6 of _0x137668[_0x4ffafa(0x2d6)])this[_0x4ffafa(0x3de)](_0x4ffafa(0x3f3)+_0x4549c6['key'],_0x4ffafa(0x32e)+_0x3e7342[_0x4549c6[_0x4ffafa(0x2de)]][_0x4ffafa(0x3bb)]()+'\x20'+_0x4549c6[_0x4ffafa(0x1e9)][_0x4ffafa(0x3ec)](),_0x3e7342[_0x4549c6[_0x4ffafa(0x2de)]],'β¬’');if(this[_0x4ffafa(0x1d3)])for(const [_0x99fab,_0x4634a1,_0x59a0e7]of _0x137668['indexes']){const _0x3719e8=_0x4ffafa(0x24b)===_0x59a0e7?.['type'];this[_0x4ffafa(0x3de)]('idx:'+_0x99fab+':'+_0x4634a1,(_0x3719e8?'π\x20Geo\x20index':_0x4ffafa(0x23d))+'\x20'+_0x99fab+'.'+_0x4634a1,0x1,_0x3719e8?'π':'β');}if(this[_0x4ffafa(0x2f8)]&&_0x137668['fts'][_0x4ffafa(0x34b)]){for(const _0x227220 of _0x137668[_0x4ffafa(0x30a)])this['_addStep']('fts:'+_0x227220[_0x4ffafa(0x24d)]+':'+_0x227220[_0x4ffafa(0x347)],'FTS\x20\x22'+_0x227220[_0x4ffafa(0x347)]+_0x4ffafa(0x39b)+_0x227220['type'],0x1,'β');}try{this['_start']('env');const _0x4cbb42=await fetch(_0x27b487+_0x4ffafa(0x1e5),{'method':'POST','headers':{'Content-Type':_0x4ffafa(0x376)},'body':JSON[_0x4ffafa(0x1c1)]({'name':_0x3d64a7,'sync':!0x0,'compression':!0x0})});if(!_0x4cbb42['ok']&&0x199!==_0x4cbb42['status']){const _0x550b12=await _0x4cbb42[_0x4ffafa(0x1f0)]()['catch'](()=>({}));throw new Error(_0x550b12?.[_0x4ffafa(0x27b)]?.['message']||'Create\x20env\x20failed\x20('+_0x4cbb42['status']+')');}this['_done']('env');for(const _0x1b7aa0 of _0x137668[_0x4ffafa(0x2d6)]){this[_0x4ffafa(0x2d5)](_0x4ffafa(0x2aa)+_0x1b7aa0[_0x4ffafa(0x2de)]);const _0x203f0f=await fetch(_0x56300a+_0x4ffafa(0x2a0)+encodeURIComponent(_0x1b7aa0[_0x4ffafa(0x2de)]),{'method':_0x4ffafa(0x1ff)});if(!_0x203f0f['ok']&&0x199!==_0x203f0f[_0x4ffafa(0x2fd)]){const _0x5a9f73=await _0x203f0f[_0x4ffafa(0x1f0)]()[_0x4ffafa(0x3af)](()=>({}));throw new Error(_0x5a9f73?.[_0x4ffafa(0x27b)]?.[_0x4ffafa(0x278)]||_0x4ffafa(0x2ec)+_0x1b7aa0[_0x4ffafa(0x2de)]+_0x4ffafa(0x248));}this[_0x4ffafa(0x365)]('type:'+_0x1b7aa0[_0x4ffafa(0x2de)]);}const _0x4eaeac=makePRNG(0x7fffffff&Date[_0x4ffafa(0x2f0)]()),_0x5a3aac=_0x137668['generate'](_0x3e7342,_0x4eaeac);for(const _0x90eaa of _0x137668[_0x4ffafa(0x2d6)]){const _0x391a27=_0x4ffafa(0x3f3)+_0x90eaa[_0x4ffafa(0x2de)],_0x58dfe3=_0x5a3aac[_0x90eaa[_0x4ffafa(0x2de)]]??[];this[_0x4ffafa(0x2d5)](_0x391a27);let _0x6758e0=0x0;for(let _0x22a9ac=0x0;_0x22a9ac<_0x58dfe3['length'];_0x22a9ac+=0x32){const _0xe942db=_0x58dfe3['slice'](_0x22a9ac,_0x22a9ac+0x32),_0x3e4e9f=_0xe942db['map'](({key:_0x5a4dc7,value:_0x553a5c})=>({'action':'put','type':_0x90eaa['key'],'key':_0x5a4dc7,'value':_0x553a5c})),_0x3ff468=await fetch(_0x56300a+'/transaction',{'method':_0x4ffafa(0x1ff),'headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'operations':_0x3e4e9f})});if(!_0x3ff468['ok']){const _0x413b4b=await _0x3ff468[_0x4ffafa(0x1f0)]()[_0x4ffafa(0x3af)](()=>({}));throw new Error(_0x413b4b?.[_0x4ffafa(0x27b)]?.[_0x4ffafa(0x278)]||_0x4ffafa(0x2a8)+_0x90eaa[_0x4ffafa(0x2de)]+_0x4ffafa(0x248));}_0x6758e0+=_0xe942db[_0x4ffafa(0x34b)],this[_0x4ffafa(0x2a7)](_0x391a27,_0x6758e0),await new Promise(_0x43151a=>setTimeout(_0x43151a,0x0));}this[_0x4ffafa(0x263)][_0x4ffafa(0x2d6)][_0x90eaa['key']]=_0x58dfe3[_0x4ffafa(0x34b)],this['resultStats']['totalRecords']+=_0x58dfe3[_0x4ffafa(0x34b)],this[_0x4ffafa(0x365)](_0x391a27);}if(this['enableIndexes'])for(const [_0x5b0d76,_0x3a4408,_0x508bf7]of _0x137668[_0x4ffafa(0x24a)]){const _0x5b96e9=_0x4ffafa(0x37b)+_0x5b0d76+':'+_0x3a4408;this[_0x4ffafa(0x2d5)](_0x5b96e9);const _0x44a282=await fetch(_0x56300a+'/type/'+encodeURIComponent(_0x5b0d76)+'/index/'+encodeURIComponent(_0x3a4408),{'method':_0x4ffafa(0x1ff),'headers':{'Content-Type':_0x4ffafa(0x376)},'body':JSON[_0x4ffafa(0x1c1)](_0x508bf7||{})});if(!_0x44a282['ok']){const _0x2e6219=await _0x44a282['json']()[_0x4ffafa(0x3af)](()=>({}));throw new Error(_0x2e6219?.[_0x4ffafa(0x27b)]?.[_0x4ffafa(0x278)]||_0x4ffafa(0x2a3)+_0x5b0d76+'.'+_0x3a4408+_0x4ffafa(0x2b2));}this[_0x4ffafa(0x263)][_0x4ffafa(0x24a)]++,this['_done'](_0x5b96e9);}if(this['enableFts'])for(const _0x56c893 of _0x137668['fts']){const _0x125920=_0x4ffafa(0x2ae)+_0x56c893[_0x4ffafa(0x24d)]+':'+_0x56c893[_0x4ffafa(0x347)];this[_0x4ffafa(0x2d5)](_0x125920),(await fetch(_0x56300a+_0x4ffafa(0x2a0)+encodeURIComponent(_0x56c893[_0x4ffafa(0x24d)])+_0x4ffafa(0x3f7)+encodeURIComponent(_0x56c893['name']),{'method':_0x4ffafa(0x1ff),'headers':{'Content-Type':'application/json'},'body':JSON[_0x4ffafa(0x1c1)]({'fields':_0x56c893[_0x4ffafa(0x38a)]})}))['ok']?(this['resultStats'][_0x4ffafa(0x30a)]++,this[_0x4ffafa(0x365)](_0x125920)):this[_0x4ffafa(0x22e)](_0x125920);}this['step']=_0x4ffafa(0x2c6);}catch(_0x31e6cf){this[_0x4ffafa(0x27b)]=_0x31e6cf?.[_0x4ffafa(0x278)]||_0x4ffafa(0x287);for(const _0x303226 of this[_0x4ffafa(0x292)])_0x4ffafa(0x3a3)===_0x303226['status']&&this[_0x4ffafa(0x22e)](_0x303226['id']);}},async 'openEnv'(){const _0x5e9a8b=_0x3ff737,_0x1a0f22=this[_0x5e9a8b(0x255)][_0x5e9a8b(0x2b9)]();_0x431c58[_0x5e9a8b(0x30f)][_0x5e9a8b(0x232)]['okdb']['selectEnv'](_0x1a0f22),await _0x431c58[_0x5e9a8b(0x30f)][_0x5e9a8b(0x232)][_0x5e9a8b(0x229)][_0x5e9a8b(0x2b4)](),await _0x431c58[_0x5e9a8b(0x299)][_0x5e9a8b(0x242)][_0x5e9a8b(0x400)](),await _0x431c58['$attr'][_0x5e9a8b(0x1c7)]?.(_0x1a0f22);}}),'template':_0x3ff737(0x338),'style':_0x3ff737(0x326)};
|
|
@@ -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
|
+
function _0x5088(_0x570b6b,_0x254369){_0x570b6b=_0x570b6b-0x154;const _0x621d73=_0x621d();let _0x508890=_0x621d73[_0x570b6b];return _0x508890;}const _0x5a6bc0=_0x5088;(function(_0x5e6557,_0x42b79b){const _0x64de34=_0x5088,_0x68ba=_0x5e6557();while(!![]){try{const _0x121796=parseInt(_0x64de34(0x15a))/0x1+parseInt(_0x64de34(0x17f))/0x2*(-parseInt(_0x64de34(0x156))/0x3)+-parseInt(_0x64de34(0x17b))/0x4*(-parseInt(_0x64de34(0x16b))/0x5)+parseInt(_0x64de34(0x18a))/0x6*(-parseInt(_0x64de34(0x154))/0x7)+-parseInt(_0x64de34(0x181))/0x8*(-parseInt(_0x64de34(0x157))/0x9)+parseInt(_0x64de34(0x166))/0xa*(-parseInt(_0x64de34(0x18b))/0xb)+parseInt(_0x64de34(0x172))/0xc;if(_0x121796===_0x42b79b)break;else _0x68ba['push'](_0x68ba['shift']());}catch(_0x1d64ee){_0x68ba['push'](_0x68ba['shift']());}}}(_0x621d,0x476d8));function _0x621d(){const _0x1924b2=['218984xrxfup','includes','canRemove','size','API','onDone','infoLoading','Some\x20files\x20could\x20not\x20be\x20deleted\x20(may\x20be\x20locked):\x20','data','78zHuJIh','1298DuhVta','$attr','214151xdvFAS','DELETE','150279JJzUbZ','54tzyoHz','startsWith','?keepSubEnvs=','7159ZPfelL','keys','message','values','envs','keepSubEnvs','reduce','catch','\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','add','stores','types','44470YhIcGL','modal','/env/','error','orphaned','821295bMdfqh','okdb','length','filesLocked','$ok','envInfo','remove-env-modal','13222464VPoVWT','warning','Failed\x20to\x20remove\x20environment','busy','name','slice','join','toLocaleString','/info','12OqRDxb','count','confirm','json','22frZSJn','delete'];_0x621d=function(){return _0x1924b2;};return _0x621d();}export default{'tag':_0x5a6bc0(0x171),'attr':{'modal':{},'envName':{},'onDone':{}},'context':_0x38e59b=>({'busy':!0x1,'confirm':'','error':null,'warning':null,'envInfo':null,'infoLoading':!0x1,'keepSubEnvs':new Set(),get 'name'(){const _0xaa36d6=_0x5a6bc0;return _0x38e59b[_0xaa36d6(0x18c)]['envName']||'';},get 'canRemove'(){const _0x179169=_0x5a6bc0;return this[_0x179169(0x17d)]===this[_0x179169(0x176)]&&!this[_0x179169(0x175)];},get 'subEnvs'(){const _0x44dcf1=_0x5a6bc0,_0x37854e=_0x38e59b[_0x44dcf1(0x16f)][_0x44dcf1(0x164)][_0x44dcf1(0x16c)][_0x44dcf1(0x15e)]||[],_0x35abc1=this[_0x44dcf1(0x176)];return _0x37854e['filter'](_0x4070ff=>_0x4070ff[_0x44dcf1(0x176)]!==_0x35abc1&&!_0x4070ff[_0x44dcf1(0x16a)]&&(_0x4070ff['parentEnv']===_0x35abc1||_0x4070ff[_0x44dcf1(0x176)]['startsWith']('~'+_0x35abc1+':')));},'isEmbEnv':_0x228486=>_0x228486[_0x5a6bc0(0x182)](':emb:'),'subEnvLabel'(_0x231b5f){const _0x3cd5d1=_0x5a6bc0,_0x48cb37='~'+this[_0x3cd5d1(0x176)]+':';return _0x231b5f[_0x3cd5d1(0x158)](_0x48cb37)?_0x231b5f[_0x3cd5d1(0x177)](_0x48cb37[_0x3cd5d1(0x16d)]):_0x231b5f;},'toggleKeep'(_0x31cd17){const _0x2f7b51=_0x5a6bc0,_0xe4fe34=new Set(this[_0x2f7b51(0x15f)]);_0xe4fe34['has'](_0x31cd17)?_0xe4fe34[_0x2f7b51(0x180)](_0x31cd17):_0xe4fe34[_0x2f7b51(0x163)](_0x31cd17),this['keepSubEnvs']=_0xe4fe34;},get 'typeCount'(){const _0x1bc188=_0x5a6bc0;return Object[_0x1bc188(0x15b)](this[_0x1bc188(0x170)]?.[_0x1bc188(0x165)]??{})['length'];},get 'recordCount'(){const _0x29df4a=_0x5a6bc0;return Object[_0x29df4a(0x15d)](this[_0x29df4a(0x170)]?.[_0x29df4a(0x165)]??{})[_0x29df4a(0x160)]((_0x452580,_0x1fe328)=>_0x452580+(_0x1fe328[_0x29df4a(0x17c)]||0x0),0x0);},async 'loadInfo'(){const _0x3c5def=_0x5a6bc0;this['infoLoading']=!0x0;try{const _0x5d5359=await fetch(__ENV__[_0x3c5def(0x185)]+_0x3c5def(0x168)+encodeURIComponent(this['name'])+_0x3c5def(0x17a));_0x5d5359['ok']&&(this[_0x3c5def(0x170)]=(await _0x5d5359[_0x3c5def(0x17e)]())[_0x3c5def(0x189)]);}catch{}finally{this[_0x3c5def(0x187)]=!0x1;}},async 'remove'(){const _0x58d8eb=_0x5a6bc0;if(this[_0x58d8eb(0x183)]){this['busy']=!0x0,this['error']=null,this[_0x58d8eb(0x173)]=null;try{let _0x42db58=__ENV__[_0x58d8eb(0x185)]+_0x58d8eb(0x168)+encodeURIComponent(this[_0x58d8eb(0x176)]);this[_0x58d8eb(0x15f)][_0x58d8eb(0x184)]>0x0&&(_0x42db58+=_0x58d8eb(0x159)+encodeURIComponent([...this['keepSubEnvs']][_0x58d8eb(0x178)](',')));const _0x1da50b=await fetch(_0x42db58,{'method':_0x58d8eb(0x155)}),_0x40c007=await _0x1da50b[_0x58d8eb(0x17e)]()[_0x58d8eb(0x161)](()=>({}));if(!_0x1da50b['ok'])throw new Error(_0x40c007?.[_0x58d8eb(0x169)]?.[_0x58d8eb(0x15c)]||_0x1da50b['statusText']);const _0x3336e8=_0x40c007[_0x58d8eb(0x189)]??_0x40c007;if(_0x3336e8[_0x58d8eb(0x173)]||_0x3336e8[_0x58d8eb(0x16e)]?.['length'])return this['warning']=_0x3336e8[_0x58d8eb(0x173)]??_0x58d8eb(0x188)+_0x3336e8['filesLocked'][_0x58d8eb(0x178)](',\x20'),await _0x38e59b[_0x58d8eb(0x18c)][_0x58d8eb(0x186)]?.(this[_0x58d8eb(0x176)],_0x3336e8),void(this[_0x58d8eb(0x175)]=!0x1);await _0x38e59b[_0x58d8eb(0x18c)][_0x58d8eb(0x167)]['close'](),await _0x38e59b['$attr']['onDone']?.(this[_0x58d8eb(0x176)],_0x3336e8);}catch(_0x4eccb7){this[_0x58d8eb(0x169)]=_0x4eccb7?.[_0x58d8eb(0x15c)]||_0x58d8eb(0x174);}finally{this[_0x58d8eb(0x175)]=!0x1;}}},'cancel'(){const _0x26a704=_0x5a6bc0;_0x38e59b[_0x26a704(0x18c)][_0x26a704(0x167)]['close']();},'fmt':_0x704efb=>null==_0x704efb?'β':Number(_0x704efb)[_0x5a6bc0(0x179)]()}),'init'(){this['loadInfo']();},'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':_0x5a6bc0(0x162)};
|