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