From abcd28f9bfcdb3339cfaf0a477f331ebdd6496be Mon Sep 17 00:00:00 2001 From: nin-jin Date: Fri, 29 Nov 2024 07:25:21 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20hyoo-ru/?= =?UTF-8?q?studio.hyoo.ru@fc06359586a8564eaca13c8a411631fd5487186f=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- node.d.ts | 8 ++++---- node.js | 2 +- node.js.map | 2 +- node.mjs | 2 +- node.test.js | 24 +++++++++++++++++++++++- node.test.js.map | 2 +- web.d.ts | 8 ++++---- web.js | 2 +- web.js.map | 2 +- web.mjs | 2 +- 10 files changed, 38 insertions(+), 16 deletions(-) diff --git a/node.d.ts b/node.d.ts index 5662e73..b99e111 100644 --- a/node.d.ts +++ b/node.d.ts @@ -913,7 +913,7 @@ declare namespace $ { } declare namespace $ { - type $mol_view_content = $mol_view | Node | string | number | boolean; + type $mol_view_content = $mol_view | Node | string | number | boolean | null; function $mol_view_visible_width(): number; function $mol_view_visible_height(): number; function $mol_view_state_key(suffix: string): string; @@ -927,8 +927,8 @@ declare namespace $ { state_key(suffix?: string): string; dom_name(): string; dom_name_space(): string; - sub(): readonly ($mol_view | Node | string | number | boolean)[]; - sub_visible(): readonly (string | number | boolean | $mol_view | Node)[]; + sub(): readonly $mol_view_content[]; + sub_visible(): readonly $mol_view_content[]; minimal_width(): number; maximal_width(): number; minimal_height(): number; @@ -1664,7 +1664,7 @@ declare namespace $.$$ { tab_index(): number; error(): string; hint_safe(): string; - sub_visible(): ($mol_speck | $mol_view_content)[]; + sub_visible(): ($mol_view_content | $mol_speck)[]; } } diff --git a/node.js b/node.js index 9376631..974b3ff 100644 --- a/node.js +++ b/node.js @@ -7835,7 +7835,7 @@ var $; 'code-comment-block': /(?:\/\*[^]*?\*\/|\/\+[^]*?\+\/|)/, 'code-link': /(?:\w+:\/\/|#)\S+?(?=\s|\\\\|""|$)/, 'code-comment-inline': /\/\/.*?(?:$|\/\/)|- \\.*/, - 'code-string': /(?:".*?"|'.*?'|`.*?`|\/.+?\/[dygimsu]*(?!\p{Letter})|[ \t]*\\[^\n]*)/u, + 'code-string': /(?:".*?"|'.*?'|`.*?`| ?\\\\.+?\\\\|\/.+?\/[dygimsu]*(?!\p{Letter})|[ \t]*\\[^\n]*)/u, 'code-number': /[+-]?(?:\d*\.)?\d+\w*/, 'code-call': /\.?\w+ *(?=\()/, 'code-sexpr': /\((\w+ )/, diff --git a/node.js.map b/node.js.map index 396c2b6..a43b1a7 100644 --- a/node.js.map +++ b/node.js.map @@ -1 +1 @@ -{"version":3,"sources":["-","../../../mam.ts","../../../mol/ambient/ambient.ts","../../../mol/delegate/delegate.ts","../../../mol/owning/owning.ts","../../../mol/fail/fail.ts","../../../mol/fail/hidden/hidden.ts","../../../mol/func/name/name.ts","../../../mol/object2/object2.ts","../../../mol/object/object.ts","../../../mol/window/window.node.ts","../../../mol/wire/cursor/cursor.ts","../../../mol/wire/pub/pub.ts","../../../mol/wire/wire.ts","../../../mol/dev/format/format.ts","../../../mol/wire/pub/sub/sub.ts","../../../mol/after/tick/tick.ts","../../../mol/promise/like/like.ts","../../../mol/wire/fiber/fiber.ts","../../../mol/guid/guid.ts","../../../mol/key/key.ts","../../../mol/after/timeout/timeout.ts","../../../mol/after/frame/frame.node.ts","../../../mol/compare/deep/deep.ts","../../../mol/log3/log3.ts","../../../mol/span/span.ts","../../../mol/tree2/to/string/string.ts","../../../mol/tree2/tree2.ts","../../../mol/error/syntax/syntax.ts","../../../mol/tree2/from/string/string.ts","../../../mol/tree2/from/json/json.ts","../../../mol/term/color/color.ts","../../../mol/log3/log3.node.ts","../../../mol/wire/task/task.ts","../../../mol/wire/method/method.ts","../../../mol/fail/catch/catch.ts","../../../mol/fail/log/log.ts","../../../mol/wire/atom/atom.ts","../../../mol/wire/solo/solo.ts","../../../mol/wire/plex/plex.ts","../../../mol/mem/mem.ts","../../../mol/dom/context/context.ts","../../../node/node.node.ts","../../../mol/error/mix/mix.ts","../../../mol/env/env.ts","../../../mol/env/env.node.ts","../../../mol/wire/sync/sync.ts","../../../mol/run/run.node.ts","../../../mol/exec/exec.node.ts","../../../mol/dom/context/context.node.ts","../../../mol/view/selection/selection.ts","../../../mol/wrapper/wrapper.ts","../../../mol/memo/memo.ts","../../../mol/dom/qname/qname.ts","../../../mol/wire/probe/probe.ts","../../../mol/wire/watch/watch.ts","../../../mol/const/const.ts","../../../mol/wire/solid/solid.ts","../../../mol/dom/render/attributes/attributes.ts","../../../mol/dom/render/events/events.ts","../../../mol/dom/render/styles/styles.ts","../../../mol/dom/render/children/children.ts","../../../mol/dom/render/fields/fields.ts","../../../mol/wire/async/async.ts","../../../mol/style/attach/attach.ts","../../../mol/decor/decor.ts","../../../mol/style/unit/unit.ts","../../../mol/style/func/func.ts","../../../mol/style/prop/prop.ts","../../../mol/theme/theme.ts","../../../mol/theme/-css/theme.css.ts","../../../mol/gap/gap.ts","../../../mol/gap/-css/gap.css.ts","../../../mol/view/view/view.ts","../../../mol/view/view/-css/view.css.ts","../../../mol/plugin/plugin.ts","../../../mol/scroll/scroll.view.tree","../../../mol/dom/listener/listener.ts","../../../mol/print/print.ts","../../../mol/style/sheet/sheet.ts","../../../mol/style/define/define.ts","../../../mol/scroll/scroll.view.ts","../../../mol/scroll/scroll.view.css.ts","../../../mol/book2/book2.view.tree","../../../mol/mem/cached/cached.ts","../../../mol/layer/layer.ts","../../../mol/layer/-css/layer.css.ts","../../../mol/book2/book2.view.ts","../../../mol/book2/-css/book2.view.css.ts","../../../mol/theme/auto/auto.view.tree","../../../mol/action/action.ts","../../../mol/state/arg/arg.node.ts","../../../mol/media/media.ts","../../../mol/mem/persist/persist.ts","../../../mol/storage/storage.ts","../../../mol/state/local/local.ts","../../../mol/charset/decode/decode.ts","../../../mol/charset/encode/encode.ts","../../../mol/file/file.ts","../../../mol/compare/array/array.ts","../../../mol/file/file.node.ts","../../../mol/state/local/local.node.ts","../../../mol/lights/lights.ts","../../../mol/theme/auto/auto.view.ts","../../../mol/link/link.view.tree","../../../mol/link/link.view.ts","../../../mol/link/link.view.css.ts","../../../mol/svg/svg.view.tree","../../../mol/state/time/time.ts","../../../mol/svg/svg.view.ts","../../../mol/svg/root/root.view.tree","../../../mol/svg/root/-css/root.view.css.ts","../../../mol/svg/path/path.view.tree","../../../mol/icon/icon.view.tree","../../../mol/icon/-css/icon.view.css.ts","../../../mol/icon/script/script.view.tree","../../../mol/icon/script/text/text.view.tree","../../../mol/locale/locale.ts","../../../mol/link/source/source.view.tree","../../../localized_string","../../../mol/speck/speck.view.tree","../../../mol/speck/-css/speck.view.css.ts","../../../mol/button/button.view.tree","../../../mol/keyboard/code/code.ts","../../../mol/button/button.view.ts","../../../mol/button/-css/button.view.css.ts","../../../mol/button/typed/typed.view.tree","../../../mol/button/typed/-css/typed.view.css.ts","../../../mol/button/minor/minor.view.tree","../../../mol/button/minor/-css/minor.view.css.ts","../../../mol/check/check.view.tree","../../../mol/maybe/maybe.ts","../../../mol/check/-css/check.css.ts","../../../mol/check/check.view.ts","../../../mol/check/icon/icon.view.tree","../../../mol/check/icon/-css/icon.view.css.ts","../../../mol/icon/brightness/6/6.view.tree","../../../mol/lights/toggle/toggle.view.tree","../../../mol/lights/toggle/toggle.view.ts","../../../mol/icon/card/card.view.tree","../../../mol/icon/card/text/text.view.tree","../../../mol/icon/chart/bar/bar.view.tree","../../../mol/icon/play/play.view.tree","../../../mol/icon/play/circle/circle.view.tree","../../../mol/pop/pop.view.tree","../../../mol/pop/pop.view.ts","../../../mol/pop/-css/pop.view.css.ts","../../../mol/hotkey/hotkey.view.tree","../../../mol/hotkey/hotkey.view.ts","../../../mol/nav/nav.view.tree","../../../mol/nav/nav.view.ts","../../../mol/string/string.view.tree","../../../mol/string/string.view.ts","../../../mol/string/-css/string.view.css.ts","../../../mol/icon/close/close.view.tree","../../../mol/list/list.view.tree","../../../mol/support/css/css.ts","../../../mol/list/list.view.ts","../../../mol/list/-css/list.view.css.ts","../../../mol/paragraph/paragraph.view.tree","../../../mol/paragraph/paragraph.view.ts","../../../mol/paragraph/-css/paragraph.view.css.ts","../../../mol/dimmer/dimmer.view.tree","../../../mol/regexp/regexp.ts","../../../mol/dimmer/dimmer.view.ts","../../../mol/dimmer/-css/dimmer.view.css.ts","../../../mol/search/search.view.tree","../../../mol/search/search.view.ts","../../../mol/search/-css/search.view.css.ts","../../../mol/labeler/labeler.view.tree","../../../mol/labeler/-css/labeler.view.css.ts","../../../mol/form/field/field.view.tree","../../../mol/form/field/field.view.ts","../../../mol/form/field/-css/field.view.css.ts","../../../mol/pick/pick.view.tree","../../../mol/pick/pick.view.ts","../../../mol/pick/-css/pick.view.css.ts","../../../mol/icon/dots/vertical/vertical.view.tree","../../../mol/select/select.view.tree","../../../mol/match/text.ts","../../../mol/select/select.view.ts","../../../mol/select/-css/select.view.css.ts","../../../mol/icon/information/information.view.tree","../../../mol/icon/information/outline/outline.view.tree","../../../mol/icon/plus/plus.view.tree","../../../mol/page/page.view.tree","../../../mol/page/page.view.css.ts","../../../mol/stack/stack.view.tree","../../../mol/stack/-css/stack.view.css.ts","../../../mol/text/code/token/token.view.tree","../../../mol/text/code/token/token.view.css.ts","../../../mol/text/code/row/row.view.tree","../../../mol/syntax2/syntax2.ts","../../../mol/syntax2/md/md.ts","../../../mol/text/code/row/row.view.ts","../../../mol/text/code/row/row.view.css.ts","../../../mol/blob/blob.ts","../../../mol/icon/clipboard/clipboard.view.tree","../../../mol/icon/clipboard/outline/outline.view.tree","../../../mol/button/copy/copy.view.tree","../../../mol/html/encode/encode.ts","../../../mol/button/copy/copy.view.ts","../../../mol/text/code/code.view.tree","../../../mol/text/code/code.view.ts","../../../mol/text/code/code.view.css.ts","../../../mol/textarea/textarea.view.tree","../../../mol/textarea/textarea.view.ts","../../../mol/textarea/-css/textarea.view.css.ts","../../../mol/check/list/list.view.tree","../../../mol/check/list/list.view.ts","../../../mol/check/list/-css/list.view.css.ts","../../../mol/switch/switch.view.tree","../../../mol/state/session/session.ts","../../../mol/switch/switch.view.ts","../../../mol/deck/deck.view.tree","../../../mol/deck/deck.view.ts","../../../mol/embed/native/native.view.tree","../../../mol/promise/promise/promise.ts","../../../mol/wait/timeout/timeout.ts","../../../mol/embed/native/native.view.ts","../../../mol/embed/native/-css/native.view.css.ts","../../../mol/frame/frame.view.tree","../../../mol/frame/frame.view.ts","../../../mol/frame/frame.view.css.ts","../../../mol/svg/group/group.view.tree","../../../mol/vector/vector.ts","../../../mol/svg/title/title.view.tree","../../../mol/plot/graph/graph.view.tree","../../../mol/plot/graph/graph.view.ts","../../../mol/plot/graph/-css/graph.view.css.ts","../../../mol/plot/bar/bar.view.tree","../../../mol/plot/bar/bar.view.ts","../../../mol/plot/bar/-css/bar.view.css.ts","../../../mol/svg/rect/rect.view.tree","../../../mol/svg/rect/rect.view.ts","../../../mol/svg/text/text.view.tree","../../../mol/svg/text/text.view.ts","../../../mol/svg/text/-css/text.view.css.ts","../../../mol/plot/ruler/ruler.view.tree","../../../mol/math/round/expand/expand.ts","../../../mol/plot/ruler/ruler.view.ts","../../../mol/plot/ruler/-css/ruler.view.css.ts","../../../mol/plot/ruler/vert/vert.view.tree","../../../mol/plot/ruler/vert/vert.view.ts","../../../mol/plot/ruler/vert/-css/vert.view.css.ts","../../../mol/plot/ruler/hor/hor.view.tree","../../../mol/plot/ruler/hor/hor.view.ts","../../../mol/plot/ruler/hor/-css/hor.view.css.ts","../../../mol/plot/mark/hor/hor.view.tree","../../../mol/plot/mark/hor/hor.view.ts","../../../mol/plot/mark/hor/-css/hor.view.css.ts","../../../mol/svg/text/box/box.view.tree","../../../mol/font/canvas/canvas.ts","../../../mol/font/measure/measure.ts","../../../mol/svg/text/box/box.view.ts","../../../mol/svg/text/box/-css/box.view.css.ts","../../../mol/plot/mark/cross/cross.view.tree","../../../mol/plot/mark/cross/cross.view.ts","../../../mol/plot/mark/cross/-css/cross.view.css.ts","../../../mol/gallery/gallery.view.tree","../../../mol/gallery/gallery.view.ts","../../../mol/gallery/-css/gallery.view.css.ts","../../../mol/chart/legend/legend.view.tree","../../../mol/chart/legend/legend.view.ts","../../../mol/chart/legend/-css/legend.view.css.ts","../../../mol/touch/touch.view.tree","../../../mol/touch/touch.view.ts","../../../mol/plot/pane/pane.view.tree","../../../mol/plot/pane/pane.view.ts","../../../mol/plot/pane/-css/pane.view.css.ts","../../../mol/chart/chart.view.tree","../../../mol/chart/-css/chart.view.css.ts","../../../mol/icon/chevron/chevron.view.tree","../../../mol/check/expand/expand.view.tree","../../../mol/check/expand/expand.view.ts","../../../mol/check/expand/-css/expand.view.css.ts","../../../mol/dump/list/list.view.tree","../../../mol/dump/list/list.view.ts","../../../mol/dump/list/-css/list.view.css.ts","../../../mol/expander/expander.view.tree","../../../mol/expander/expander.view.ts","../../../mol/expander/-css/expander.view.css.ts","../../../mol/dump/value/value.view.tree","../../../mol/try/try.node.ts","../../../mol/dump/value/value.view.ts","../../../mol/dump/value/-css/value.view.css.ts","../../../mol/icon/key/key.view.tree","../../../mol/icon/key/change/change.view.tree","../../../mol/icon/atom/atom.view.tree","../../../mol/icon/atom/variant/variant.view.tree","../../../mol/icon/language/css3/css3.view.tree","../../../mol/icon/language/javascript/javascript.view.tree","../../../mol/ghost/ghost.view.tree","../../../mol/ghost/ghost.view.ts","../../../mol/icon/arrow/left/left.view.tree","../../../mol/icon/arrow/left/right/right.view.tree","../../../mol/icon/arrow/left/right/bold/bold.view.tree","../../../mol/icon/arrow/left/right/bold/outline/outline.view.tree","../../../mol/icon/arrow/left/bold/bold.view.tree","../../../mol/icon/arrow/left/bold/outline/outline.view.tree","../../../mol/icon/arrow/right/right.view.tree","../../../mol/icon/arrow/right/bold/bold.view.tree","../../../mol/icon/arrow/right/bold/outline/outline.view.tree","../../../mol/icon/trash/can/can.view.tree","../../../mol/icon/trash/can/outline/outline.view.tree","../../../hyoo/studio/type/type.view.tree","../../../mol/view/tree2/error.ts","../../../mol/view/tree2/child.ts","../../../mol/view/tree2/classes.ts","../../../mol/view/tree2/normalize.ts","../../../mol/view/tree2/prop/signature.ts","../../../mol/view/tree2/prop/parts.ts","../../../mol/view/tree2/prop/quote.ts","../../../mol/view/tree2/class/match.ts","../../../mol/view/tree2/class/super.ts","../../../mol/view/tree2/class/props.ts","../../../mol/view/tree2/value/type.ts","../../../mol/view/tree2/value/value.ts","../../../mol/view/tree2/value/number.ts","../../../hyoo/studio/type/type.view.ts","../../../hyoo/studio/type/type.view.css.ts","../../../hyoo/studio/value/value.view.tree","../../../hyoo/studio/value/value.view.ts","../../../hyoo/studio/value/value.view.css.ts","../../../hyoo/studio/value/bound/bound.view.tree","../../../hyoo/studio/value/bound/bound.view.ts","../../../hyoo/studio/value/bound/bound.view.css.ts","../../../hyoo/studio/value/list/list.view.tree","../../../hyoo/studio/value/list/list.view.ts","../../../hyoo/studio/value/list/list.view.css.ts","../../../hyoo/studio/value/dict/dict.view.tree","../../../hyoo/studio/value/dict/dict.view.ts","../../../hyoo/studio/value/dict/dict.view.css.ts","../../../mol/icon/wrench/wrench.view.tree","../../../mol/icon/wrench/outline/outline.view.tree","../../../hyoo/studio/value/object/object.view.tree","../../../hyoo/studio/value/object/object.view.ts","../../../hyoo/studio/value/object/object.view.css.ts","../../../mol/icon/translate/translate.view.tree","../../../hyoo/studio/value/string/string.view.tree","../../../hyoo/studio/value/string/string.view.ts","../../../hyoo/studio/value/string/string.view.css.ts","../../../mol/icon/minus/minus.view.tree","../../../mol/number/number.view.tree","../../../mol/number/-css/number.css.ts","../../../mol/number/number.view.ts","../../../hyoo/studio/value/number/number.view.tree","../../../hyoo/studio/value/number/number.view.ts","../../../hyoo/studio/value/number/number.view.css.ts","../../../hyoo/studio/prop/prop.view.tree","../../../hyoo/studio/prop/prop.view.ts","../../../hyoo/studio/prop/prop.view.css.ts","../../../hyoo/studio/component/component.ts","../../../mol/tag/tree/tree.view.tree","../../../mol/compare/text/text.ts","../../../mol/tag/tree/tree.view.ts","../../../mol/tag/tree/-css/tree.view.css.ts","../../../mol/app/demo/menu/menu.view.tree","../../../mol/app/demo/menu/menu.view.ts","../../../mol/app/demo/menu/-css/menu.view.css.ts","../../../mol/icon/forum/forum.view.tree","../../../mol/icon/forum/outline/outline.view.tree","../../../mol/icon/open/in/new/new.view.tree","../../../mol/chat/chat.view.tree","../../../mol/chat/chat.view.ts","../../../mol/chat/-css/chat.view.css.ts","../../../mol/icon/settings/settings.view.tree","../../../mol/app/demo/detail/detail.view.tree","../../../mol/example/example.view.tree","../../../mol/example/-css/example.view.css.ts","../../../mol/example/small/small.view.tree","../../../mol/example/small/-css/small.view.css.ts","../../../mol/example/large/large.view.tree","../../../mol/example/large/-css/large.view.css.ts","../../../mol/float/float.view.tree","../../../mol/float/-css/float.view.css.ts","../../../mol/grid/grid.view.tree","../../../mol/grid/grid.view.ts","../../../mol/grid/-css/grid.view.css.ts","../../../mol/image/image.view.tree","../../../mol/image/image.view.ts","../../../mol/image/-css/image.view.css.ts","../../../mol/link/iconed/iconed.view.tree","../../../mol/link/iconed/iconed.view.ts","../../../mol/link/iconed/-css/iconed.view.css.ts","../../../mol/icon/youtube/youtube.view.tree","../../../mol/embed/service/service.view.tree","../../../mol/embed/service/service.view.ts","../../../mol/embed/service/-css/service.view.css.ts","../../../mol/embed/youtube/youtube.view.tree","../../../mol/embed/youtube/youtube.view.ts","../../../mol/embed/rutube/rutube.view.tree","../../../mol/embed/rutube/rutube.view.ts","../../../mol/embed/any/any.view.tree","../../../mol/embed/any/any.view.ts","../../../mol/text/text/text.view.tree","../../../mol/text/text/text.view.ts","../../../mol/text/text/-css/text.view.css.ts","../../../mol/text/list/list.view.tree","../../../mol/text/list/-css/list.view.css.ts","../../../mol/app/demo/readme/readme.view.tree","../../../mol/dom/parse/parse.ts","../../../mol/fetch/fetch.ts","../../../mol/app/demo/readme/readme.view.ts","../../../mol/status/status.view.tree","../../../mol/status/status.view.ts","../../../mol/status/-css/status.view.css.ts","../../../mol/app/demo/demo.view.tree","../../../mol/func/is/class/class.ts","../../../mol/app/demo/main/main.view.tree","../../../mol/app/demo/main/main.view.ts","../../../mol/app/demo/demo.view.ts","../../../mol/app/demo/-css/demo.view.css.ts","../../../mol/row/row.view.tree","../../../mol/row/-css/row.view.css.ts","../../../mol/form/form.view.tree","../../../mol/form/form.view.ts","../../../mol/form/-css/form.view.css.ts","../../../hyoo/studio/property/property.ts","../../../hyoo/studio/studio.view.tree","../../../mol/after/work/work.ts","../../../mol/wait/rest/rest.ts","../../../mol/graph/graph.ts","../../../mol/wire/graph/graph.ts","../../../mol/tree2/text/to/string/string.ts","../../../mol/vlq/vlq.ts","../../../mol/tree2/text/to/sourcemap/sourcemap.ts","../../../mol/sourcemap/url/url.ts","../../../mol/sourcemap/dataurl/dataurl.ts","../../../mol/tree2/text/to/string/mapped/mapped.ts","../../../mol/tree2/js/to/text/text.ts","../../../mol/guard/defined.ts","../../../mol/view/tree2/to/js/js.ts","../../../mol/offline/offline.ts","../../../mol/offline/install/install.ts","../../../hyoo/studio/studio.view.ts","../../../hyoo/studio/studio.view.css.ts"],"names":[],"mappings":"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","sourcesContent":[null,"Error.stackTraceLimit = 50;\n\ndeclare let _$_: { new(): {} } & typeof globalThis\ndeclare class $ extends _$_ {}\n\nnamespace $ {\n\texport type $ = typeof $$\n\texport declare class $$ extends $ {}\n\tnamespace $$ {\n\t\texport type $$ = $\n\t}\n}\n\nmodule.exports = $\n","namespace $ {\n\n\texport const $mol_ambient_ref : unique symbol = Symbol( '$mol_ambient_ref' )\n\n\t/** @deprecated use $ instead */\n\texport type $mol_ambient_context = $\n\n\texport function $mol_ambient( this : $ | void , overrides : Partial< $ > ) : $ {\n\t\treturn Object.setPrototypeOf( overrides , this || $ )\n\t}\n\n}\n","namespace $ {\n\n\tconst instances = new WeakSet< any >()\n\n\t/**\n\t * Proxy that delegates all to lazy returned target.\n\t * \n\t * \t$mol_delegate( Array.prototype , ()=> fetch_array() )\n\t */\n export function $mol_delegate< Value extends object >(\n\t\tproto : Value ,\n\t\ttarget : ()=> Value ,\n\t) {\n\n\t\tconst proxy = new Proxy( proto , {\n\n\t\t\tget: ( _ , field )=> {\n\t\t\t\tconst obj = target()\n\t\t\t\tlet val = Reflect.get( obj , field )\n\t\t\t\tif( typeof val === 'function' ) {\n\t\t\t\t\tval = val.bind( obj )\n\t\t\t\t} \n\t\t\t\treturn val\n\t\t\t},\n\t\t\thas: ( _ , field )=> Reflect.has( target(), field ),\n\t\t\tset: ( _ , field , value )=> Reflect.set( target() , field , value ),\n\t\t\t\n\t\t\tgetOwnPropertyDescriptor: ( _ , field )=> Reflect.getOwnPropertyDescriptor( target() , field ),\n\t\t\townKeys: ()=> Reflect.ownKeys( target() ),\n\t\t\t\n\t\t\tgetPrototypeOf: ()=> Reflect.getPrototypeOf( target() ),\n\t\t\tsetPrototypeOf: ( _ , donor )=> Reflect.setPrototypeOf( target() , donor ),\n\t\t\t\n\t\t\tisExtensible: ()=> Reflect.isExtensible( target() ),\n\t\t\tpreventExtensions: ()=> Reflect.preventExtensions( target() ),\n\t\t\t\n\t\t\tapply: ( _ , self , args )=> Reflect.apply( target() as Function , self , args ),\n\t\t\tconstruct: ( _ , args , retarget )=> Reflect.construct( target() as Function , args , retarget ),\n\t\t\t\n\t\t\tdefineProperty: ( _ , field , descr )=> Reflect.defineProperty( target() , field , descr ),\n\t\t\tdeleteProperty: ( _ , field )=> Reflect.deleteProperty( target() , field ),\n\n\t\t} )\n\n\t\tinstances.add( proxy )\n\n\t\treturn proxy\n\n\t}\n\n\tReflect.defineProperty(\n\t\t$mol_delegate ,\n\t\tSymbol.hasInstance ,\n\t\t{\n\t\t\tvalue : ( obj : object )=> instances.has( obj ),\n\t\t},\n\t)\n\n}\n","namespace $ {\n\n\texport const $mol_owning_map = new WeakMap< any , any >()\n\n\texport function $mol_owning_allow< Having >(\n\t\thaving : Having ,\n\t) : having is Having & {\n\t\tdestructor() : void\n\t} {\n\t\ttry {\n\t\t\tif( !having ) return false\n\t\t\tif( typeof having !== 'object' && typeof having !== 'function' ) return false\n\t\t\tif( having instanceof $mol_delegate ) return false\n\t\t\tif( typeof (having as any)['destructor'] !== 'function' ) return false\n\t\t\treturn true\n\t\t} catch {\n\t\t\treturn false\n\t\t}\n\t}\n\n\texport function $mol_owning_get< Having , Owner extends object >( having : Having , Owner? : { new() : Owner } ) : Owner | null {\n\t\n\t\tif( !$mol_owning_allow( having ) ) return null\n\n\t\twhile( true ) {\n\n\t\t\tconst owner = $mol_owning_map.get( having )\n\t\t\tif( !owner ) return owner\n\t\t\tif( !Owner ) return owner\n\t\t\t\n\t\t\tif( owner instanceof Owner ) return owner\n\n\t\t\thaving = owner\n\t\t}\n\n\t}\n\t\n\texport function $mol_owning_check< Owner , Having >(\n\t\towner : Owner ,\n\t\thaving : Having ,\n\t) : having is Having & { destructor() : void } {\n\t\tif( !$mol_owning_allow( having ) ) return false\n\t\tif( $mol_owning_map.get( having ) !== owner ) return false\n\t\treturn true\n\t}\n\t\n\texport function $mol_owning_catch< Owner , Having >(\n\t\towner : Owner ,\n\t\thaving : Having ,\n\t) {\n\t\tif( !$mol_owning_allow( having ) ) return false\n\t\tif( $mol_owning_map.get( having ) ) return false\n\n\t\t$mol_owning_map.set( having , owner )\n\t\treturn true\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_fail( error : any ) : never {\n\t\tthrow error\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_fail_hidden( error : any ) : never {\n\t\tthrow error /// Use 'Never Pause Here' breakpoint in DevTools or simply blackbox this script\n\t}\n\n}\n","namespace $ {\n\t\n\tconst named = new WeakSet< Function >()\n\t\n\texport function $mol_func_name( this : $ , func : Function ) : string {\n\t\t\n\t\tlet name = func.name\n\t\tif( name?.length > 1 ) return name\n\t\tif( named.has( func ) ) return name\n\n\t\tfor( let key in this ) {\n\t\t\ttry {\n\t\t\t\tif( (this as any)[ key ] !== func ) continue\n\t\t\t\tname = key\n\t\t\t\tObject.defineProperty( func , 'name' , { value : name } )\n\t\t\t\tbreak\n\t\t\t} catch {}\n\t\t}\n\n\t\tnamed.add( func )\n\t\treturn name\n\t\t\n\t}\n\n\texport function $mol_func_name_from< Target extends Function >( target : Target , source : Function ) {\n\t\tObject.defineProperty( target , 'name' , { value : source.name } )\n\t\treturn target\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_object2 {\n\t\t\n\t\tstatic $ = $ as any as $\n\t\t\n\t\t[Symbol.toStringTag]!: string\n\n\t\t[ $mol_ambient_ref ] = null as any as $\n\t\tget $() {\n\t\t\tif( this[ $mol_ambient_ref ] ) return this[ $mol_ambient_ref ]\n\t\t\tconst owner = $mol_owning_get( this ) as any\n\t\t\treturn this[ $mol_ambient_ref ] = owner?.$ || $mol_object2.$ as $\n\t\t}\n\t\tset $( next : $ ) {\n\t\t\tif( this[ $mol_ambient_ref ] ) $mol_fail_hidden( new Error( 'Context already defined' ) )\n\t\t\tthis[ $mol_ambient_ref ] = next\n\t\t}\n\n\t\tpublic static create< Instance >(\n\t\t\tthis : new( init? : ( instance : any )=> void )=> Instance ,\n\t\t\tinit? : ( instance : $mol_type_writable )=> void\n\t\t) : Instance {\n\t\t\tconst obj = new this\n\t\t\tif( init ) init( obj )\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\tstatic [ Symbol.toPrimitive ]() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tstatic toString() {\n\t\t\treturn ( this as any )[ Symbol.toStringTag ] || this.$.$mol_func_name( this )\n\t\t}\n\t\t\n\t\tstatic toJSON() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tdestructor() { }\n\t\tstatic destructor() { }\n\t\t\n\t\t//[ Symbol.toPrimitive ]( hint: string ) {\n\t\t//\treturn hint === 'number' ? this.valueOf() : this.toString()\n\t\t//}\n\t\t\n\t\ttoString(): string {\n\t\t\treturn this[ Symbol.toStringTag ] || this.constructor.name + '<>'\n\t\t}\n\t\t\n\t\t// toJSON(): any {\n\t\t// \treturn this.toString()\n\t\t// }\n\n\t}\n}\n","namespace $ {\n\n\texport namespace $$ { let $ }\n\n\texport const $mol_object_field = Symbol( '$mol_object_field' )\n\t\n\texport class $mol_object extends $mol_object2 {\n\t\t\n\t\tpublic static make< This extends typeof $mol_object >(\n\t\t\tthis: This,\n\t\t\tconfig: Partial< InstanceType< This > >,\n\t\t) {\n\t\t\treturn super.create( obj => {\n\t\t\t\tfor( let key in config ) ( obj as any )[ key ] = config[ key ]!\n\t\t\t} ) as InstanceType< This >\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\texport class $mol_window extends $mol_object {\n\t\t\n\t\tstatic size() {\n\t\t\treturn {\n\t\t\t\twidth: 1024,\n\t\t\t\theight: 768,\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/** Special status statuses. */\n\texport enum $mol_wire_cursor {\n\t\t\n\t\t/** Update required. */\n\t\tstale = -1,\n\t\t\n\t\t/** Some of (transitive) pub update required. */\n\t\tdoubt = -2,\n\t\t\n\t\t/** Actual state but may be dropped. */\n\t\tfresh = -3,\n\t\t\n\t\t/** State will never be changed. */\n\t\tfinal = -4,\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/**\n\t * Collects subscribers in compact array. 28B\n\t */\n\texport class $mol_wire_pub extends Object {\n\t\t\n\t\tdata = [] as unknown[]\n\t\t\n\t\t// Derived objects should be Arrays.\n\t\tstatic get [ Symbol.species ]() {\n\t\t\treturn Array\n\t\t}\n\t\t\n\t\t/**\n\t\t * Index of first subscriber.\n\t\t */\n\t\tprotected sub_from = 0 // 4B\n\t\t\n\t\t/**\n\t\t * All current subscribers.\n\t\t */\n\t\tget sub_list() {\n\t\t\tconst res = [] as $mol_wire_sub[]\n\t\t\tfor( let i = this.sub_from; i < this.data.length; i += 2 ) {\n\t\t\t\tres.push( this.data[i] as $mol_wire_sub )\n\t\t\t}\n\t\t\treturn res as readonly $mol_wire_sub[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * Has any subscribers or not.\n\t\t */\n\t\tget sub_empty() {\n\t\t\treturn this.sub_from === this.data.length\n\t\t}\n\t\t\n\t\t/**\n\t\t * Subscribe subscriber to this publisher events and return position of subscriber that required to unsubscribe.\n\t\t */\n\t\tsub_on( sub: $mol_wire_pub, pub_pos: number ) {\n\t\t\tconst pos = this.data.length\n\t\t\tthis.data.push( sub, pub_pos )\n\t\t\treturn pos\n\t\t}\n\t\t\n\t\t/**\n\t\t * Unsubscribe subscriber from this publisher events by subscriber position provided by `on(pub)`.\n\t\t */\n\t\tsub_off( sub_pos: number ) {\n\t\t\t\n\t\t\tif(!( sub_pos < this.data.length )) {\n\t\t\t\t$mol_fail( new Error( `Wrong pos ${ sub_pos }` ) )\n\t\t\t}\n\t\t\t\n\t\t\tconst end = this.data.length - 2\n\t\t\tif( sub_pos !== end ) {\n\t\t\t\tthis.peer_move( end, sub_pos )\n\t\t\t}\n\t\t\t\n\t\t\tthis.data.pop()\n\t\t\tthis.data.pop()\n\t\t\t\n\t\t\tif( this.data.length === this.sub_from ) this.reap()\n\t\t\t\n\t\t}\n\t\t\n\t\t/**\n\t\t * Called when last sub was unsubscribed.\n\t\t **/\n\t\treap() { }\n\t\t\n\t\t/**\n\t\t * Autowire this publisher with current subscriber.\n\t\t **/\n\t\tpromote() {\n\t\t\t$mol_wire_auto()?.track_next( this )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Enforce actualization. Should not throw errors.\n\t\t */\n\t\tfresh() {}\n\t\t\n\t\t/**\n\t\t * Allow to put data to caches in the subtree.\n\t\t */\n\t\tcomplete() {}\n\t\t\n\t\tget incompleted() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * Notify subscribers about self changes.\n\t\t */\n\t\temit( quant = $mol_wire_cursor.stale ) {\n\t\t\tfor( let i = this.sub_from; i < this.data.length; i += 2 ) {\n\t\t\t\t;( this.data[i] as $mol_wire_sub ).absorb( quant )\n\t\t\t}\n\t\t}\n\t\t\n\t\t/**\n\t\t * Moves peer from one position to another. Doesn't clear data at old position!\n\t\t */\n\t\tpeer_move( from_pos: number, to_pos: number ) {\n\t\t\t\n\t\t\tconst peer = this.data[ from_pos ] as $mol_wire_pub\n\t\t\tconst self_pos = this.data[ from_pos + 1 ] as number\n\t\t\t\n\t\t\tthis.data[ to_pos ] = peer\n\t\t\tthis.data[ to_pos + 1 ] = self_pos\n\t\t\t\n\t\t\tpeer.peer_repos( self_pos, to_pos )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Updates self position in the peer.\n\t\t */\n\t\tpeer_repos( peer_pos: number, self_pos: number ) {\n\t\t\tthis.data[ peer_pos + 1 ] = self_pos\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport let $mol_wire_auto_sub: $mol_wire_sub | null = null\n\t\n\t/**\n\t * When fulfilled, all publishers are promoted to this subscriber on access to its.\n\t */\n\texport function $mol_wire_auto( next = $mol_wire_auto_sub ) {\n\t\treturn $mol_wire_auto_sub = next\n\t}\n\t\n\t/**\n\t * Affection queue. Used to prevent accidental stack overflow on emit.\n\t */\n\texport const $mol_wire_affected = [] as ( $mol_wire_sub | number )[]\n\t\n}\n","namespace $ {\n\n\t// https://docs.google.com/document/d/1FTascZXT9cxfetuPRT2eXPQKXui4nWFivUnS_335T3U/preview#\n\t($ as any)['devtoolsFormatters'] ||= []\n\n\texport function $mol_dev_format_register( config : {\n\t\theader : ( val : any , config : any )=> any\n\t\thasBody : ( val : any , config : any )=> false\n\t} | {\n\t\theader : ( val : any , config : any )=> any\n\t\thasBody : ( val : any , config : any )=> boolean\n\t\tbody : ( val : any , config : any )=> any\n\t} ) {\n\t\t($ as any)['devtoolsFormatters'].push( config )\n\t}\n\n\texport let $mol_dev_format_head = Symbol( '$mol_dev_format_head' )\n\texport let $mol_dev_format_body = Symbol( '$mol_dev_format_body' )\n\n\t$mol_dev_format_register({\n\n\t\theader : ( val : any , config = false ) => {\n\t\t\t\n\t\t\tif( config ) return null\n\n\t\t\tif( !val ) return null\n\t\t\t\n\t\t\tif( $mol_dev_format_head in val ) {\n\t\t\t\ttry {\n\t\t\t\t\treturn val[ $mol_dev_format_head ]()\n\t\t\t\t} catch( error ) {\n\t\t\t\t\treturn $mol_dev_format_accent( $mol_dev_format_native( val ), '💨', $mol_dev_format_native( error ), '' )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tif( typeof val === 'function' ) {\n\t\t\t\treturn $mol_dev_format_native( val )\n\t\t\t}\n\t\t\t\n\t\t\tif( Symbol.toStringTag in val ) {\n\t\t\t\treturn $mol_dev_format_native( val )\n\t\t\t}\n\t\t\t\n\t\t\treturn null\n\t\t\t\n\t\t} ,\n\t\t\n\t\thasBody : val => val[ $mol_dev_format_body ] ,\n\n\t\tbody : val => val[ $mol_dev_format_body ]() ,\n\n\t})\n\n\texport function $mol_dev_format_native( obj : any ) {\n\t\t\n\t\tif( typeof obj === 'undefined' ) return $mol_dev_format_shade( 'undefined' )\n\t\t\n\t\t// if( ![ 'object', 'function', 'symbol' ].includes( typeof obj ) ) return obj\n\n\t\treturn [\n\t\t\t'object' ,\n\t\t\t{\n\t\t\t\tobject : obj ,\n\t\t\t\tconfig : true ,\n\t\t\t} ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_auto( obj : any ) {\n\t\t\n\t\tif( obj == null ) return $mol_dev_format_shade( String( obj ) )\n\n\t\treturn [\n\t\t\t'object' ,\n\t\t\t{\n\t\t\t\tobject : obj ,\n\t\t\t\tconfig : false ,\n\t\t\t} ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_element( element : string , style : object , ...content : any[] ) {\n\t\t\t\n\t\tconst styles = [] as string[]\n\t\t\n\t\tfor( let key in style ) styles.push( `${ key } : ${ (style as any)[key] }` )\n\t\t\n\t\treturn [\n\t\t\telement ,\n\t\t\t{\n\t\t\t\tstyle : styles.join( ' ; ' ) ,\n\t\t\t} ,\n\t\t\t... content ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_span( style : object , ...content : any[] ) {\n\t\treturn $mol_dev_format_element(\n\t\t\t'span' ,\n\t\t\t{\n\t\t\t\t// 'vertical-align' : '8%',\n\t\t\t\t... style ,\n\t\t\t} ,\n\t\t\t... content ,\n\t\t)\n\t}\n\n\texport let $mol_dev_format_div = $mol_dev_format_element.bind( null , 'div' )\n\texport let $mol_dev_format_ol = $mol_dev_format_element.bind( null , 'ol' )\n\texport let $mol_dev_format_li = $mol_dev_format_element.bind( null , 'li' )\n\texport let $mol_dev_format_table = $mol_dev_format_element.bind( null , 'table' )\n\texport let $mol_dev_format_tr = $mol_dev_format_element.bind( null , 'tr' )\n\texport let $mol_dev_format_td = $mol_dev_format_element.bind( null , 'td' )\n\n\texport let $mol_dev_format_accent = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'magenta' ,\n\t} )\n\n\texport let $mol_dev_format_strong = $mol_dev_format_span.bind( null , {\n\t\t'font-weight' : 'bold' ,\n\t} )\n\n\texport let $mol_dev_format_string = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'green',\n\t} )\n\n\texport let $mol_dev_format_shade = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'gray',\n\t} )\n\n\texport let $mol_dev_format_indent = $mol_dev_format_div.bind( null , {\n\t\t'margin-left': '13px'\n\t} )\n\n}\n","namespace $ {\n\t\n\t/**\n\t * Publisher that can auto collect other publishers. 32B\n\t * \n\t * \tP1 P2 P3 P4 S1 S2 S3\n\t * \t^ ^\n\t * \tpubs_from subs_from\n\t */\n\texport class $mol_wire_pub_sub extends $mol_wire_pub implements $mol_wire_sub {\n\t\t\n\t\tprotected pub_from = 0 // 4B\n\t\tprotected cursor = $mol_wire_cursor.stale // 4B\n\t\t\n\t\tget temp() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\tget pub_list() {\n\t\t\tconst res = [] as $mol_wire_pub[]\n\t\t\tconst max = this.cursor >=0 ? this.cursor : this.sub_from\n\t\t\tfor( let i = this.pub_from; i < max; i += 2 ) {\n\t\t\t\tif( this.data[i] ) res.push( this.data[i] as $mol_wire_pub )\n\t\t\t}\n\t\t\treturn res\n\t\t}\n\t\t\n\t\ttrack_on() {\n\t\t\tthis.cursor = this.pub_from\n\t\t\tconst sub = $mol_wire_auto()\n\t\t\t$mol_wire_auto( this )\n\t\t\treturn sub\n\t\t}\n\t\t\n\t\tpromote() {\n\t\t\t\n\t\t\tif( this.cursor >= this.pub_from ) {\n\t\t\t\t$mol_fail( new Error( 'Circular subscription' ) )\n\t\t\t}\n\t\t\t\n\t\t\tsuper.promote()\n\t\t}\n\t\t\n\t\ttrack_next( pub?: $mol_wire_pub ): $mol_wire_pub | null {\n\t\t\t\n\t\t\tif( this.cursor < 0 ) $mol_fail( new Error( 'Promo to non begun sub' ) )\n\t\t\t\n\t\t\tif( this.cursor < this.sub_from ) {\n\t\t\t\n \t\t\t\tconst next = this.data[ this.cursor ] as $mol_wire_pub | undefined\n\t\t\t\tif( pub === undefined ) return next ?? null\n\t\t\t\t\n\t\t\t\tif( next === pub ) {\n\t\t\t\t\tthis.cursor += 2\n\t\t\t\t\treturn next\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( next ) {\n\t\t\t\t\t\n\t\t\t\t\tif( this.sub_from < this.data.length ) {\n\t\t\t\t\t\tthis.peer_move( this.sub_from, this.data.length )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tthis.peer_move( this.cursor, this.sub_from )\n\t\t\t\t\tthis.sub_from += 2\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tif( pub === undefined ) return null\n\t\t\t\t\n\t\t\t\tif( this.sub_from < this.data.length ) {\n\t\t\t\t\tthis.peer_move( this.sub_from, this.data.length )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis.sub_from += 2\n\t\t\t\t\n\t\t\t}\t\t\t\n\t\t\t\n\t\t\tthis.data[ this.cursor ] = pub\n\t\t\tthis.data[ this.cursor + 1 ] = pub.sub_on( this, this.cursor )\n\t\t\t\n\t\t\tthis.cursor += 2\n\t\t\t\n\t\t\treturn pub\n\t\t}\n\t\t\n\t\ttrack_off( sub: $mol_wire_sub | null ) {\n\t\t\t\n\t\t\t$mol_wire_auto( sub )\n\t\t\t\n\t\t\tif( this.cursor < 0 ) {\n\t\t\t\t$mol_fail( new Error( 'End of non begun sub' ) )\n\t\t\t}\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\tcursor < this.cursor;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub\n\t\t\t\tpub.fresh()\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\n\t\t}\n\t\t\n\t\tpub_off( sub_pos: number ) {\n\t\t\tthis.data[ sub_pos ] = undefined as any\n\t\t\tthis.data[ sub_pos + 1 ] = undefined as any \n\t\t}\n\t\t\n\t\tdestructor() {\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.data.length - 2;\n\t\t\t\tcursor >= this.sub_from;\n\t\t\t\tcursor -= 2\n\t\t\t) {\n\t\t\t\tconst sub = this.data[ cursor ] as $mol_wire_sub\n\t\t\t\tconst pos = this.data[ cursor + 1 ] as number\n\t\t\t\tsub.pub_off( pos )\n\t\t\t\tthis.data.pop()\n\t\t\t\tthis.data.pop()\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = this.pub_from\n\t\t\tthis.track_cut()\n\t\t\tthis.cursor = $mol_wire_cursor.final\n\t\t\t\n\t\t}\n\t\t\n\t\ttrack_cut() {\n\t\t\t\n\t\t\tif( this.cursor < this.pub_from ) {\n\t\t\t\t$mol_fail( new Error( 'Cut of non begun sub' ) )\n\t\t\t}\n\t\t\t\n\t\t\tlet tail = 0\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.cursor;\n\t\t\t\tcursor < this.sub_from;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\t\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub | undefined\n\t\t\t\tpub?.sub_off( this.data[ cursor + 1 ] as number )\n\t\t\t\t\n\t\t\t\tif( this.sub_from < this.data.length ) {\n\t\t\t\t\tthis.peer_move( this.data.length - 2, cursor )\n\t\t\t\t\tthis.data.pop()\n\t\t\t\t\tthis.data.pop()\n\t\t\t\t} else {\n\t\t\t\t\t++ tail\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tfor(; tail; -- tail ) {\n\t\t\t\tthis.data.pop()\n\t\t\t\tthis.data.pop()\n\t\t\t}\n\t\t\t\n\t\t\tthis.sub_from = this.cursor\n\t\t\t\n\t\t}\n\t\t\n\t\tcomplete() { }\n\t\t\n\t\tcomplete_pubs() {\n\t\t\t\n\t\t\tconst limit = this.cursor < 0 ? this.sub_from : this.cursor \n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\tcursor < limit;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub\n\t\t\t\tif( pub?.incompleted ) return \n\t\t\t}\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\tcursor < limit;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub\n\t\t\t\tpub?.complete()\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tabsorb( quant = $mol_wire_cursor.stale ) {\n\t\t\t\n\t\t\tif( this.cursor === $mol_wire_cursor.final ) return\n\t\t\tif( this.cursor >= quant ) return\n\t\t\t\n\t\t\tthis.cursor = quant\n\t\t\tthis.emit( $mol_wire_cursor.doubt )\n\t\t\t\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_native( this )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Is subscribed to any publisher or not.\n\t\t */\n\t\tget pub_empty() {\n\t\t\treturn this.sub_from === this.pub_from\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_after_tick extends $mol_object2 {\n\n\t\tstatic promise = null as Promise | null\n\t\tcancelled = false\n\n\t\tconstructor(\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper()\n\t\t\t\n\t\t\tif( !$mol_after_tick.promise ) $mol_after_tick.promise = Promise.resolve().then( ()=> {\n\t\t\t\t$mol_after_tick.promise = null\n\t\t\t} )\n\t\t\t\n\t\t\t$mol_after_tick.promise.then( ()=> {\n\t\t\t\tif( this.cancelled ) return\n\t\t\t\ttask()\n\t\t\t} )\n\t\t\t\n\t\t}\n\n\t\tdestructor() {\n\t\t\tthis.cancelled = true\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_promise_like( val: any ): val is Promise {\n\t\ttry {\n\t\t\treturn val && typeof val === 'object' && 'then' in val && typeof val.then === 'function'\n\t\t} catch {\n\t\t\treturn false\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\tconst handled = new WeakSet< Promise< unknown > >()\n\t\n\t/**\n\t * Suspendable task with support both sync/async api.\n\t * \n\t * \tA1 A2 A3 A4 P1 P2 P3 P4 S1 S2 S3\n\t * \t^ ^ ^\n\t * \targs_from pubs_from subs_from\n\t **/\n\texport abstract class $mol_wire_fiber<\n\t\tHost,\n\t\tArgs extends readonly unknown[],\n\t\tResult,\n\t> extends $mol_wire_pub_sub {\n\t\n\t\tstatic warm = true\n\t\t\n\t\tstatic planning = new Set< $mol_wire_fiber< any, any, any > >()\n\t\tstatic reaping = new Set< $mol_wire_fiber< any, any, any > >()\n\t\t\n\t\tstatic plan_task: $mol_after_tick | null = null\n\t\tstatic plan() {\n\t\t\t\n\t\t\tif( this.plan_task ) return\n\t\t\t\n\t\t\tthis.plan_task = new $mol_after_tick( ()=> {\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tthis.sync()\n\t\t\t\t} finally {\n\t\t\t\t\t$mol_wire_fiber.plan_task = null\n\t\t\t\t}\n\n\t\t\t} )\n\t\t\t\n\t\t}\n\t\t\n\t\tstatic sync() {\n\t\t\t\n\t\t\t// Sync whole fiber graph\n\t\t\twhile( this.planning.size ) {\n\t\t\t\tfor( const fiber of this.planning ) {\n\t\t\t\t\tthis.planning.delete( fiber )\n\t\t\t\t\tif( fiber.cursor >= 0 ) continue\n\t\t\t\t\tif( fiber.cursor === $mol_wire_cursor.final ) continue\n\t\t\t\t\tfiber.fresh()\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t// Collect garbage\n\t\t\twhile( this.reaping.size ) {\n\t\t\t\t\n\t\t\t\tconst fibers = this.reaping\n\t\t\t\tthis.reaping = new Set\n\t\t\t\t\n\t\t\t\tfor( const fiber of fibers ) {\n\t\t\t\t\tif( !fiber.sub_empty ) continue\n\t\t\t\t\tfiber.destructor()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t[Symbol.toStringTag]!: string\n\n\t\tpublic cache: Result | Error | Promise< Result | Error > = undefined as any\n\t\t\n\t\tget args() {\n\t\t\treturn this.data.slice( 0 , this.pub_from ) as any as Args\n\t\t}\n\t\t\n\t\tresult() {\n\t\t\tif( $mol_promise_like( this.cache ) ) return\n\t\t\tif( this.cache instanceof Error ) return\n\t\t\treturn this.cache\n\t\t}\n\t\t\n\t\tget incompleted() {\n\t\t\treturn $mol_promise_like( this.cache )\n\t\t}\n\t\t\n\t\tfield() {\n\t\t\treturn this.task.name + '<>'\n\t\t}\n\t\t\n\t\tconstructor(\n\t\t\tid: string,\n\t\t\treadonly task: ( this : Host , ... args : Args )=> Result,\n\t\t\treadonly host?: Host,\n\t\t\targs?: Args\n\t\t) {\n\t\t\t\n\t\t\tsuper()\n\t\t\tif( args ) this.data.push( ... args )\n\t\t\tthis.pub_from = this.sub_from = args?.length ?? 0\n\t\t\tthis[ Symbol.toStringTag ] = id\n\t\t\t\n\t\t}\n\t\t\n\t\tplan() {\n\t\t\t$mol_wire_fiber.planning.add( this )\n\t\t\t$mol_wire_fiber.plan()\n\t\t\treturn this\n\t\t}\n\t\t\n\t\treap() {\n\t\t\t$mol_wire_fiber.reaping.add( this )\n\t\t\t$mol_wire_fiber.plan()\n\t\t}\n\t\t\n\t\ttoString() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\t\t\n\t\ttoJSON() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\n\t\t[ $mol_dev_format_head ]() {\n\t\t\t\n\t\t\tconst cursor = {\n\t\t\t\t[ $mol_wire_cursor.stale ]: '🔴',\n\t\t\t\t[ $mol_wire_cursor.doubt ]: '🟡',\n\t\t\t\t[ $mol_wire_cursor.fresh ]: '🟢',\n\t\t\t\t[ $mol_wire_cursor.final ]: '🔵',\n\t\t\t}[ this.cursor ] ?? this.cursor.toString()\n\t\t\t\n\t\t\treturn $mol_dev_format_div( {},\n\t\t\t\t$mol_owning_check( this, this.cache )\n\t\t\t\t\t? $mol_dev_format_auto({\n\t\t\t\t\t\t[ $mol_dev_format_head ]: ()=> $mol_dev_format_shade( cursor ),\n\t\t\t\t\t\t[ $mol_dev_format_body ]: ()=> $mol_dev_format_native( this ),\n\t\t\t\t\t})\n\t\t\t\t\t: $mol_dev_format_shade( $mol_dev_format_native( this ), cursor ),\n\t\t\t\t$mol_dev_format_auto( this.cache ),\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\tget $() {\n\t\t\treturn ( this.host ?? this.task as any )['$']\n\t\t}\n\t\t\n\t\temit( quant = $mol_wire_cursor.stale ) {\n\t\t\tif( this.sub_empty ) this.plan()\n\t\t\telse super.emit( quant )\n\t\t}\n\t\t\n\t\tfresh() {\n\n\t\t\ttype Result = typeof this.cache\n\t\t\t\n\t\t\tif( this.cursor === $mol_wire_cursor.fresh ) return\n\t\t\tif( this.cursor === $mol_wire_cursor.final ) return\n\t\t\t\n\t\t\tcheck: if( this.cursor === $mol_wire_cursor.doubt ) {\n\t\t\t\t\n\t\t\t\tfor( let i = this.pub_from ; i < this.sub_from; i += 2 ) {\n\t\t\t\t\t;( this.data[i] as $mol_wire_pub )?.fresh()\n\t\t\t\t\tif( this.cursor !== $mol_wire_cursor.doubt ) break check\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\treturn\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst bu = this.track_on()\n\t\t\tlet result: typeof this.cache\n\n\t\t\ttry {\n\n\t\t\t\tswitch( this.pub_from ) {\n\t\t\t\t\tcase 0: result = (this.task as any).call( this.host! ); break\n\t\t\t\t\tcase 1: result = (this.task as any).call( this.host!, this.data[0] ); break\n\t\t\t\t\tdefault: result = (this.task as any).call( this.host!, ... this.args ); break\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( $mol_promise_like( result ) && !handled.has( result ) ) {\n\t\t\t\t\t\n\t\t\t\t\tconst put = ( res: Result )=> {\n\t\t\t\t\t\tif( this.cache === result ) this.put( res )\n\t\t\t\t\t\treturn res\n\t\t\t\t\t}\n\t\t\t\t\tresult = result.then( put, put )\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t\n\t\t\t\tif( error instanceof Error || $mol_promise_like( error ) ) {\n\t\t\t\t\tresult = error\n\t\t\t\t} else {\n\t\t\t\t\tresult = new Error( String( error ), { cause: error } )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( $mol_promise_like( result ) && !handled.has( result ) ) {\n\t\t\t\t\t\n\t\t\t\t\tresult = result.finally( ()=> {\n\t\t\t\t\t\tif( this.cache === result ) this.absorb()\n\t\t\t\t\t} )\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( $mol_promise_like( result ) && !handled.has( result ) ) {\n\t\t\t\t\t\n\t\t\t\tresult = Object.assign( result, {\n\t\t\t\t\tdestructor: (result as any)['destructor'] ?? (()=> {})\n\t\t\t\t} )\n\t\t\t\thandled.add( result )\n\t\t\t\t\n\t\t\t\tconst error = new Error( `Promise in ${ this }` )\n\t\t\t\tObject.defineProperty( result, 'stack', { get: ()=> error.stack } )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( ! $mol_promise_like( result ) ) {\n\t\t\t\tthis.track_cut()\n\t\t\t}\n\t\t\t\n\t\t\tthis.track_off( bu )\n\t\t\tthis.put( result )\n\t\t\t\n\t\t\treturn this\n\t\t}\n\t\t\n\t\trefresh() {\n\t\t\tthis.cursor = $mol_wire_cursor.stale\n\t\t\tthis.fresh()\n\t\t}\n\t\t\n\t\tabstract put( next: Result | Error | Promise< Result | Error > ): Result | Error | Promise< Result | Error >\n\t\t\n\t\t/**\n\t\t * Synchronous execution. Throws Promise when waits async task (SuspenseAPI provider).\n\t\t * Should be called inside SuspenseAPI consumer (ie fiber).\n\t\t */\n\t\tsync() {\n\t\t\t\n\t\t\tif( !$mol_wire_fiber.warm ) {\n\t\t\t\treturn this.result() as Awaited< Result >\n\t\t\t}\n\t\t\t\n\t\t\tthis.promote()\n\t\t\tthis.fresh()\n\t\t\t\n\t\t\tif( this.cache instanceof Error ) {\n\t\t\t\treturn $mol_fail_hidden( this.cache )\n\t\t\t}\n\t\t\t\n\t\t\tif( $mol_promise_like( this.cache ) ) {\n\t\t\t\treturn $mol_fail_hidden( this.cache )\n\t\t\t}\n\t\t\t\n\t\t\treturn this.cache as Awaited< Result >\n\t\t}\n\n\t\t/**\n\t\t * Asynchronous execution.\n\t\t * It's SuspenseAPI consumer. So SuspenseAPI providers can be called inside.\n\t\t */\n\t\tasync async() {\n\t\t\t\n\t\t\twhile( true ) {\n\t\t\t\t\n\t\t\t\tthis.fresh()\n\t\t\t\t\n\t\t\t\tif( this.cache instanceof Error ) {\n\t\t\t\t\t$mol_fail_hidden( this.cache )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( ! $mol_promise_like( this.cache ) ) return this.cache\n\t\t\t\t\t\n\t\t\t\tawait Promise.race([ this.cache, this.step() ])\n\t\t\t\tif( ! $mol_promise_like( this.cache ) ) return this.cache\n\t\t\t\t\t\n\t\t\t\tif( this.cursor === $mol_wire_cursor.final ) {\n\t\t\t\t\t// never ends on destructed fiber\n\t\t\t\t\tawait new Promise( ()=> {} )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tstep() {\n\t\t\treturn new Promise< null >( done => {\n\t\t\t\tconst sub = new $mol_wire_pub_sub\n\t\t\t\tconst prev = sub.track_on()\n\t\t\t\tsub.track_next( this )\n\t\t\t\tsub.track_off( prev )\n\t\t\t\tsub.absorb = ()=> {\n\t\t\t\t\tdone( null )\n\t\t\t\t\tsetTimeout( ()=> sub.destructor() )\n\t\t\t\t}\n\t\t\t} )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Generates unique identifier. */\n\texport function $mol_guid(\n\t\tlength = 8,\n\t\texists: ( id: string )=> boolean = ()=> false,\n\t) {\n\n\t\tfor(;;) {\n\n\t\t\tlet id = Math.random().toString( 36 ).substring( 2, length + 2 ).toUpperCase()\n\t\t\tif( exists( id ) ) continue\n\t\t\t\n\t\t\treturn id\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\texport const $mol_key_store = new WeakMap< object, string >()\n\n\t/** Returns string key for any value. */\n\texport function $mol_key< Value >( value : Value ) : string {\n\t\t\n\t\tif( typeof value === 'bigint' ) return value.toString() + 'n'\n\t\tif( typeof value === 'symbol' ) return value.description!\n\t\tif( !value ) return JSON.stringify( value )\n\t\tif( typeof value !== 'object' && typeof value !== 'function' ) return JSON.stringify( value )\n\t\t\n\t\treturn JSON.stringify( value, ( field, value )=> {\n\t\t\t\n\t\t\tif( typeof value === 'bigint' ) return value.toString() + 'n'\n\t\t\tif( typeof value === 'symbol' ) return value.description\n\t\t\tif( !value ) return value\n\t\t\tif( typeof value !== 'object' && typeof value !== 'function' ) return value\n\t\t\tif( Array.isArray( value ) ) return value\n\t\t\t\n\t\t\tconst proto = Reflect.getPrototypeOf( value )\n\t\t\tif( !proto ) return value\n\t\t\tif( Reflect.getPrototypeOf( proto ) === null ) return value\n\t\t\t\n\t\t\tif( 'toJSON' in value ) return value\n\t\t\tif( value instanceof RegExp ) return value.toString()\n\t\t\tif( value instanceof Uint8Array ) return [ ... value ]\n\t\t\t\n\t\t\tlet key = $mol_key_store.get( value )\n\t\t\tif( key ) return key\n\t\t\t\n\t\t\tkey = $mol_guid()\n\t\t\t$mol_key_store.set( value, key )\n\t\t\t\n\t\t\treturn key\n\t\t} )\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_after_timeout extends $mol_object2 {\n\n\t\tid : any\n\n\t\tconstructor(\n\t\t\tpublic delay : number ,\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis.id = setTimeout( task , delay )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tclearTimeout( this.id )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_after_frame extends $mol_after_timeout {\n\n\t\tconstructor(\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper( 16 , task )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport let $mol_compare_deep_cache = new WeakMap< any , WeakMap< any , boolean > >()\n\t\n\t/**\n\t * Deeply compares two values. Returns true if equal.\n\t * Define `Symbol.toPrimitive` to customize.\n\t */\n\texport function $mol_compare_deep< Value >( left: Value, right: Value ): boolean {\n\n\t\tif( Object.is( left , right ) ) return true\n\n\t\tif( left === null ) return false\n\t\tif( right === null ) return false\n\n\t\tif( typeof left !== 'object' ) return false\n\t\tif( typeof right !== 'object' ) return false\n\n\t\tconst left_proto = Reflect.getPrototypeOf( left as any )\n\t\tconst right_proto = Reflect.getPrototypeOf( right as any )\n\t\t\n\t\tif( left_proto !== right_proto ) return false\n\n\t\tif( left instanceof Boolean ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof Number ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof String ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof Date ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof RegExp ) return left.source === (right as any).source && left.flags === (right as any).flags\n\t\tif( left instanceof Error ) return left.message === (right as any).message && left.stack === (right as any).stack\n\n\t\tlet left_cache = $mol_compare_deep_cache.get( left )\n\t\tif( left_cache ) {\n\n\t\t\tconst right_cache = left_cache.get( right )\n\t\t\tif( typeof right_cache === 'boolean' ) return right_cache\n\n\t\t} else {\n\t\t\t\n\t\t\tleft_cache = new WeakMap< any , boolean >()\n\t\t\t$mol_compare_deep_cache.set( left , left_cache )\n\n\t\t}\n\n\t\tleft_cache.set(right, true);\n\n\t\tlet result!: boolean\n\n\t\ttry {\n\t\t\t\n\t\t\tif( !left_proto ) result = compare_pojo( left, right as any )\n\t\t\telse if( !Reflect.getPrototypeOf( left_proto ) ) result = compare_pojo( left, right as any )\n\t\t\telse if( Symbol.toPrimitive in left ) result = compare_primitive( left, right )\n\t\t\telse if( Array.isArray( left ) ) result = compare_array( left, right as any )\n\t\t\telse if( left instanceof Set ) result = compare_set( left, right as any )\n\t\t\telse if( left instanceof Map ) result = compare_map( left, right as any )\n\t\t\telse if( ArrayBuffer.isView( left ) ) result = compare_buffer( left, right as any )\n\t\t\telse if( Symbol.iterator in left ) result = compare_iterator( ( left as any )[ Symbol.iterator ](), ( right as any )[ Symbol.iterator ]() )\n\t\t\telse result = false\n\n\t\t} finally {\n\t\t\tleft_cache.set( right , result )\n\t\t}\n\t\t\n\t\treturn result\n\t}\n\n\tfunction compare_array< Value extends any[] >( left: Value, right: Value ): boolean {\n\t\t\n\t\tconst len = left.length\n\t\tif( len !== right.length ) return false\n\t\t\n\t\tfor( let i = 0; i < len; ++i ) {\n\t\t\tif( !$mol_compare_deep( left[i] , right[i] ) ) return false\n\t\t}\n\t\t\n\t\treturn true\n\t}\n\t\n\tfunction compare_buffer( left: ArrayBufferView, right: ArrayBufferView ): boolean {\n\t\t\n\t\tconst len = left.byteLength\n\t\tif( len !== right.byteLength ) return false\n\t\t\n\t\tif( left instanceof DataView ) return compare_buffer(\n\t\t\tnew Uint8Array( left.buffer, left.byteOffset, left.byteLength ),\n\t\t\tnew Uint8Array( right.buffer, left.byteOffset, left.byteLength ),\n\t\t)\n\t\t\n\t\tfor( let i = 0; i < len; ++i ) {\n\t\t\tif( (left as any)[i] !== (right as any)[i] ) return false\n\t\t}\n\t\t\n\t\treturn true\n\t}\n\t\n\tfunction compare_iterator< Value extends IterableIterator >(\n\t\tleft: Value,\n\t\tright: Value,\n\t): boolean {\n\t\t\n\t\twhile( true ) {\n\n\t\t\tconst left_next = left.next()\n\t\t\tconst right_next = right.next()\n\n\t\t\tif( left_next.done !== right_next.done ) return false\n\t\t\tif( left_next.done ) break\n\n\t\t\tif( !$mol_compare_deep( left_next.value , right_next.value ) ) return false\n\n\t\t}\n\n\t\treturn true\n\n\t}\n\t\n\tfunction compare_set< Value extends Set >( left: Value, right: Value ): boolean {\n\t\tif( left.size !== right.size ) return false\n\t\treturn compare_iterator( left.values(), right.values() )\n\t}\n\t\n\tfunction compare_map< Key, Value >( left: Map< Key, Value > , right: Map< Key, Value > ): boolean {\n\t\tif( left.size !== right.size ) return false\n\t\treturn compare_iterator( left.keys(), right.keys() )\n\t\t\t&& compare_iterator( left.values(), right.values() )\n\t}\n\t\n\tfunction compare_pojo( left: {}, right: {} ): boolean {\n\t\t\n\t\tconst left_keys = Object.getOwnPropertyNames( left )\n\t\tconst right_keys = Object.getOwnPropertyNames( right )\n\t\t\n\t\tif( !compare_array( left_keys, right_keys ) ) return false\n\n\t\tfor( let key of left_keys ) {\n\t\t\tif( !$mol_compare_deep( ( left as any )[ key ], ( right as any )[ key ] ) ) return false\n\t\t}\n\n\t\tconst left_syms = Object.getOwnPropertySymbols( left )\n\t\tconst right_syms = Object.getOwnPropertySymbols( right )\n\t\t\n\t\tif( !compare_array( left_syms, right_syms ) ) return false\n\n\t\tfor( let key of left_syms ) {\n\t\t\tif( !$mol_compare_deep( ( left as any )[ key ], ( right as any )[ key ] ) ) return false\n\t\t}\n\n\t\treturn true\n\t}\n\t\n\tfunction compare_primitive( left: {}, right: {} ): boolean {\n\t\treturn Object.is(\n\t\t\t(left as any)[ Symbol.toPrimitive ]( 'default' ),\n\t\t\t(right as any)[ Symbol.toPrimitive ]( 'default' ),\n\t\t)\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Logger event data */\n\texport type $mol_log3_event< Fields > = {\n\t\t[ key in string ] : unknown\n\t} & {\n\t\t\n\t\t/** Time of event creation */\n\t\ttime? : string\n\n\t\t/** Place of event creation */\n\t\tplace : unknown\n\n\t\t/** Short description of event */\n\t\tmessage : string\n\n\t} & Fields\n\n\t/** Logger function */\n\texport type $mol_log3_logger< Fields , Res = void > = (\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event< Fields > ,\n\t)=> Res\n\n\t/** Log begin of some task */\n\texport declare let $mol_log3_come : $mol_log3_logger<{}>\n\t\n\t/** Log end of some task */\n\texport declare let $mol_log3_done : $mol_log3_logger<{}>\n\t\n\t/** Log error */\n\texport declare let $mol_log3_fail : $mol_log3_logger<{}>\n\t\n\t/** Log warning message */\n\texport declare let $mol_log3_warn : $mol_log3_logger<{ hint : string }>\n\t\n\t/** Log some generic event */\n\texport declare let $mol_log3_rise : $mol_log3_logger<{}>\n\n\t/** Log begin of log group, returns func to close group */\n\texport declare let $mol_log3_area : $mol_log3_logger< {} , ()=> void >\n\n\t/** Log begin of collapsed group only when some logged inside, returns func to close group */\n\texport function $mol_log3_area_lazy(\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event<{}> ,\n\t) {\n\n\t\tconst self = this\n\t\tconst stack = self.$mol_log3_stack\n\n\t\tconst deep = stack.length\n\t\tlet logged = false\n\n\t\tstack.push( ()=> {\n\t\t\tlogged = true\n\t\t\tself.$mol_log3_area.call( self , event )\n\t\t} )\n\n\t\treturn ()=> {\n\t\t\tif( logged ) self.console.groupEnd()\n\t\t\tif( stack.length > deep ) stack.length = deep\n\t\t}\n\n\t}\n\n\texport let $mol_log3_stack = [] as ( ()=> void )[]\n\n}\n","namespace $ {\n\n\t/** Position in any resource. */\n\texport class $mol_span extends $mol_object2 {\n\n\t\tconstructor(\n\t\t\treadonly uri: string ,\n\t\t\treadonly source: string ,\n\t\t\treadonly row: number ,\n\t\t\treadonly col: number ,\n\t\t\treadonly length: number ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis[ Symbol.toStringTag ] = this.uri + ( '#' + this.row + ':' + this.col + '/' + this.length )\n\t\t}\n\n\t\t/** Span for begin of unknown resource */\n\t\tstatic unknown = $mol_span.begin('?')\n\n\t\t/** Makes new span for begin of resource. */\n\t\tstatic begin( uri: string, source = '' ) {\n\t\t\treturn new $mol_span( uri , source, 1 , 1 , 0 )\n\t\t}\n\n\t\t/** Makes new span for end of resource. */\n\t\tstatic end( uri: string , source: string ) {\n\t\t\treturn new $mol_span( uri , source, 1 , source.length + 1 , 0 )\n\t\t}\n\n\t\t/** Makes new span for entire resource. */\n\t\tstatic entire( uri: string , source: string ) {\n\t\t\treturn new $mol_span( uri , source, 1 , 1 , source.length )\n\t\t}\n\n\t\ttoString() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\n\t\ttoJSON() {\n\t\t\treturn {\n\t\t\t\turi: this.uri,\n\t\t\t\trow: this.row,\n\t\t\t\tcol: this.col,\n\t\t\t\tlength: this.length\n\t\t\t}\n\t\t}\n\n\t\t/** Makes new error for this span. */\n\t\terror( message : string , Class = Error ) {\n\t\t\treturn new Class( `${message} (${this})` )\n\t\t}\n\n\t\t/** Makes new span for same uri. */\n\t\tspan( row : number , col : number , length : number ) {\n\t\t\treturn new $mol_span( this.uri , this.source, row , col , length )\n\t\t}\n\n\t\t/** Makes new span after end of this. */\n\t\tafter( length = 0 ) {\n\t\t\treturn new $mol_span( this.uri , this.source, this.row , this.col + this.length , length )\n\t\t}\n\n\t\t/** Makes new span between begin and end. */\n\t\tslice( begin: number, end = -1 ) {\n\t\t\tlet len = this.length\n\t\t\t\n\t\t\tif( begin < 0 ) begin += len\n\t\t\tif( end < 0 ) end += len\n\n\t\t\tif (begin < 0 || begin > len) this.$.$mol_fail( this.error( `Begin value '${begin}' out of range`, RangeError ) )\n\t\t\tif (end < 0 || end > len) this.$.$mol_fail( this.error( `End value '${end}' out of range`, RangeError ) )\n\t\t\tif (end < begin) this.$.$mol_fail( this.error( `End value '${end}' can't be less than begin value`, RangeError ) )\n\n\t\t\treturn this.span( this.row , this.col + begin , end - begin )\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\t/** Serializes tree to string in tree format. */\n\texport function $mol_tree2_to_string(\n\t\tthis: $,\n\t\ttree: $mol_tree2,\n\t) : string {\n\n\t\tlet output = [] as string[]\n\t\t\n\t\tfunction dump(\n\t\t\ttree: $mol_tree2,\n\t\t\tprefix = '',\n\t\t) {\n\n\t\t\tif( tree.type.length ) {\n\t\t\t\t\n\t\t\t\tif( !prefix.length ) {\n\t\t\t\t\tprefix = \"\\t\";\n\t\t\t\t}\n\n\t\t\t\toutput.push( tree.type )\n\n\t\t\t\tif( tree.kids.length == 1 ) {\n\t\t\t\t\toutput.push( ' ' )\n\t\t\t\t\tdump( tree.kids[ 0 ], prefix )\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\toutput.push( \"\\n\" )\n\n\t\t\t} else if( tree.value.length || prefix.length ) {\n\n\t\t\t\toutput.push( \"\\\\\" + tree.value + \"\\n\" )\n\n\t\t\t}\n\n\t\t\tfor( const kid of tree.kids ) {\n\t\t\t\toutput.push( prefix )\n\t\t\t\tdump( kid, prefix + \"\\t\" )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tdump( tree )\n\n\t\treturn output.join('')\n\t}\n\t\t\n}\n","namespace $ {\n\n\t/** Path by types in tree. */\n\texport type $mol_tree2_path =\n\t\tArray< string | number | null >\n\t\n\t/** Hask tool for processing node. */\n\texport type $mol_tree2_hack< Context > =\n\t\t(\n\t\t\tinput : $mol_tree2 ,\n\t\t\tbelt : $mol_tree2_belt< Context > ,\n\t\t\tcontext : Context ,\n\t\t)=> readonly $mol_tree2[]\n\n\t/** Collection of hask tools for processing tree. */\n\texport type $mol_tree2_belt< Context > =\n\t\tRecord< string , $mol_tree2_hack< Context > >\n\n\t/**\n\t * Abstract Syntax Tree with human readable serialization.\n\t * Avoid direct instantiation. Use static factories instead.\n\t * @see https://github.com/nin-jin/tree.d\n\t */\n\texport class $mol_tree2 extends Object {\n\t\t\n\t\tconstructor(\n\n\t\t\t/** Type of structural node, `value` should be empty */\n\t\t\treadonly type : string,\n\t\t\t\n\t\t\t/** Content of data node, `type` should be empty */\n\t\t\treadonly value : string,\n\n\t\t\t/** Child nodes */\n\t\t\treadonly kids : readonly $mol_tree2[],\n\t\t\t\n\t\t\t/** Position in most far source resource */\n\t\t\treadonly span : $mol_span,\n\n\t\t) {\n\t\t\tsuper()\n\t\t\t;(this as any)[ Symbol.toStringTag ] = type || '\\\\' + value\n\t\t}\n\n\t\t/** Makes collection node. */\n\t\tstatic list(\n\t\t\tkids : readonly $mol_tree2[] ,\n\t\t\tspan = $mol_span.unknown ,\n\t\t) {\n\t\t\treturn new $mol_tree2( '' , '' , kids , span )\n\t\t}\n\t\t\n\t\t/** Makes new derived collection node. */\n\t\tlist(\n\t\t\tkids : readonly $mol_tree2[] ,\n\t\t) {\n\t\t\treturn $mol_tree2.list( kids , this.span )\n\t\t}\n\n\t\t/** Makes data node for any string. */\n\t\tstatic data(\n\t\t\tvalue : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t\tspan = $mol_span.unknown ,\n\t\t) {\n\n\t\t\tconst chunks = value.split( '\\n' )\n\n\t\t\tif( chunks.length > 1 ) {\n\t\t\t\n\t\t\t\tlet kid_span = span.span( span.row , span.col , 0 )\n\n\t\t\t\tconst data = chunks.map( chunk => {\n\t\t\t\t\tkid_span = kid_span.after( chunk.length )\n\t\t\t\t\treturn new $mol_tree2( '' , chunk , [] , kid_span )\n\t\t\t\t} )\n\n\t\t\t\tkids = [ ... data , ... kids ]\n\n\t\t\t\tvalue = ''\n\n\t\t\t}\n\n\t\t\treturn new $mol_tree2( '' , value , kids , span )\n\n\t\t}\n\t\t\n\t\t/** Makes new derived data node. */\n\t\tdata(\n\t\t\tvalue : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t) {\n\t\t\treturn $mol_tree2.data( value , kids , this.span )\n\t\t}\n\t\t\n\t\t/** Makes struct node. */\n\t\tstatic struct(\n\t\t\ttype : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t\tspan = $mol_span.unknown ,\n\t\t) {\n\n\t\t\tif( /[ \\n\\t\\\\]/.test( type ) ) {\n\t\t\t\t$$.$mol_fail( span.error( `Wrong type ${ JSON.stringify( type ) }` ) )\n\t\t\t}\n\n\t\t\treturn new $mol_tree2( type , '' , kids , span )\n\n\t\t}\n\t\t\n\t\t/** Makes new derived structural node. */\n\t\tstruct(\n\t\t\ttype : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t) {\n\t\t\treturn $mol_tree2.struct( type , kids , this.span )\n\t\t}\n\n\t\t/** Makes new derived node with different kids id defined. */\n\t\tclone( kids : readonly $mol_tree2[], span = this.span ) {\n\t\t\treturn new $mol_tree2( this.type , this.value , kids , span )\n\t\t}\n\n\t\t/** Returns multiline text content. */\n\t\ttext() {\n\n\t\t\tvar values : string[] = []\n\t\t\t\n\t\t\tfor( var kid of this.kids ) {\n\t\t\t\tif( kid.type ) continue\n\t\t\t\tvalues.push( kid.value )\n\t\t\t}\n\t\t\t\n\t\t\treturn this.value + values.join( '\\n' )\n\n\t\t}\n\t\t\n\t\t/** Parses tree format. */\n\t\t/** @deprecated Use $mol_tree2_from_string */\n\t\tstatic fromString( str : string , uri = 'unknown' ) {\n\t\t\treturn $$.$mol_tree2_from_string( str, uri )\n\t\t}\n\n\t\t/** Serializes to tree format. */\n\t\ttoString() : string {\n\t\t\treturn $$.$mol_tree2_to_string( this )\n\t\t}\n\t\t\n\t\t/** Makes new tree with node overrided by path. */\n\t\tinsert( value : $mol_tree2 | null , ...path : $mol_tree2_path ) : $mol_tree2 {\n\n\t\t\tif( path.length === 0 ) return value!\n\t\t\t\n\t\t\tconst type = path[0]\n\t\t\tif( typeof type === 'string' ) {\n\n\t\t\t\tlet replaced = false\n\t\t\t\tconst sub = this.kids.map( ( item , index )=> {\n\t\t\t\t\tif( item.type !== type ) return item\n\t\t\t\t\treplaced = true\n\t\t\t\t\treturn item.insert( value , ... path.slice( 1 ) )\n\t\t\t\t} ).filter( Boolean )\n\t\t\t\t\n\t\t\t\tif( !replaced && value ) {\n\t\t\t\t\tsub.push( this.struct( type , [] ).insert( value , ... path.slice( 1 ) ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn this.clone( sub )\n\n\t\t\t} else if( typeof type === 'number' ) {\n\t\t\t\t\n\t\t\t\tconst sub = this.kids.slice()\n\t\t\t\tsub[ type ] = ( sub[ type ] || this.list([]) )\n\t\t\t\t\t.insert( value , ... path.slice( 1 ) )\n\t\t\t\t\n\t\t\t\treturn this.clone( sub.filter( Boolean ) )\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tconst kids = ( ( this.kids.length === 0 ) ? [ this.list([]) ] : this.kids )\n\t\t\t\t.map( item => item.insert( value , ... path.slice( 1 ) ) )\n\t\t\t\t.filter( Boolean )\n\n\t\t\t\treturn this.clone( kids )\n\n\t\t\t}\n\n\t\t}\n\n\t\t/** Query nodes by path. */\n\t\tselect( ...path : $mol_tree2_path ) {\n\n\t\t\tlet next = [ this as $mol_tree2 ]\n\n\t\t\tfor( const type of path ) {\n\n\t\t\t\tif( !next.length ) break\n\t\t\t\t\n\t\t\t\tconst prev = next\n\t\t\t\tnext = []\n\n\t\t\t\tfor( var item of prev ) {\n\n\t\t\t\t\tswitch( typeof( type ) ) {\n\n\t\t\t\t\t\tcase 'string' :\n\n\t\t\t\t\t\t\tfor( var child of item.kids ) {\n\t\t\t\t\t\t\t\tif( child.type == type ) {\n\t\t\t\t\t\t\t\t\tnext.push( child )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\n\t\t\t\t\t\tcase 'number' :\n\n\t\t\t\t\t\t\tif( type < item.kids.length ) next.push( item.kids[ type ] )\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\n\t\t\t\t\t\tdefault : next.push( ... item.kids )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this.list( next )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Filter kids by path or value. */\n\t\tfilter( path : string[] , value? : string ) {\n\n\t\t\tconst sub = this.kids.filter( item => {\n\t\t\t\t\t\n\t\t\t\tvar found = item.select( ...path )\n\t\t\t\t\n\t\t\t\tif( value === undefined ) {\n\t\t\t\t\treturn Boolean( found.kids.length )\n\t\t\t\t} else {\n\t\t\t\t\treturn found.kids.some( child => child.value == value )\n\t\t\t\t}\n\t\t\t\n\t\t\t} )\n\t\t\t\n\t\t\treturn this.clone( sub )\n\n\t\t}\n\n\t\thack_self< Context extends { span?: $mol_span; [ key: string ]: unknown } = {} >(\n\t\t\tbelt: $mol_tree2_belt< Context >,\n\t\t\tcontext = {} as Context,\n\t\t) {\n\t\t\tlet handle = belt[ this.type ] || belt[ '' ]\n\t\t\t\t\n\t\t\tif( !handle || handle === Object.prototype[ this.type as keyof Object ] ) {\n\t\t\t\thandle = ( input, belt, context )=> [\n\t\t\t\t\tinput.clone( input.hack( belt, context ), context.span )\n\t\t\t\t]\n\t\t\t}\n\t\t\t\n\t\t\ttry {\n\t\t\t\treturn handle( this , belt , context! )\n\t\t\t} catch( error: any ) {\n\t\t\t\terror.message += `\\n${ this.clone([]) }${ this.span }`\n\t\t\t\t$mol_fail_hidden( error )\n\t\t\t}\n\t\t}\n\n\t\t/** Transform tree through context with transformers */\n\t\thack< Context extends { span?: $mol_span; [ key: string ]: unknown } = {} >(\n\t\t\tbelt: $mol_tree2_belt< Context >,\n\t\t\tcontext = {} as Context,\n\t\t) {\n\t\t\treturn ( [] as readonly $mol_tree2[] ).concat(\n\t\t\t\t... this.kids.map( child => child.hack_self(belt, context) )\n\t\t\t)\n\n\t\t}\n\n\t\t/** Makes Error with node coordinates. */\n\t\terror( message : string , Class = Error ) {\n\t\t\treturn this.span.error( `${ message }\\n${ this.clone([]) }` , Class )\n\t\t}\n\n\t}\n\n\texport class $mol_tree2_empty extends $mol_tree2 {\n\t\tconstructor() {\n\t\t\tsuper( '' , '' , [] , $mol_span.unknown )\n\t\t}\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Syntax error with cordinates and source line snippet. */\n\texport class $mol_error_syntax extends SyntaxError {\n\t\tconstructor (\n\t\t\tpublic reason: string,\n\t\t\tpublic line: string,\n\t\t\tpublic span: $mol_span,\n\t\t) {\n\t\t\tsuper(`${ reason }\\n${ span }\\n${ line.substring( 0 , span.col - 1 ).replace( /\\S/g, ' ' ) }${ ''.padEnd( span.length, '!' ) }\\n${ line }`)\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\t/** Parses tree format from string. */\n\texport function $mol_tree2_from_string(\n\t\tthis: $,\n\t\tstr: string,\n\t\turi = '?',\n\t) : $mol_tree2 {\n\n\t\tconst span = $mol_span.entire( uri, str )\n\n\t\tvar root = $mol_tree2.list( [], span )\n\t\tvar stack = [ root ]\n\n\t\tvar pos = 0, row = 0, min_indent = 0\n\t\t\n\t\twhile( str.length > pos ) {\n\n\t\t\tvar indent = 0\n\t\t\tvar line_start = pos\n\n\t\t\trow++\n\n\t\t\t// read indent\n\t\t\twhile( str.length > pos && str[ pos ] == '\\t' ) {\n\t\t\t\tindent++\n\t\t\t\tpos++\n\t\t\t}\n\n\t\t\tif( ! root.kids.length ) {\n\t\t\t\tmin_indent = indent\n\t\t\t}\n\n\t\t\tindent -= min_indent\n\n\t\t\t// invalid tab size\n\t\t\tif( indent < 0 || indent >= stack.length ) {\n\n\t\t\t\tconst sp = span.span( row, 1, pos - line_start )\n\n\t\t\t\t// skip error line\n\t\t\t\twhile( str.length > pos && str[ pos ] != '\\n' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\n\t\t\t\tif( indent < 0 ) {\n\t\t\t\t\tif( str.length > pos ) {\n\t\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t\t`Too few tabs`,\n\t\t\t\t\t\t\tstr.substring( line_start, pos ),\n\t\t\t\t\t\t\tsp,\n\t\t\t\t\t\t) )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t`Too many tabs`,\n\t\t\t\t\t\tstr.substring( line_start, pos ),\n\t\t\t\t\t\tsp,\n\t\t\t\t\t) )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tstack.length = indent + 1\n\t\t\tvar parent = stack[ indent ]\n\n\t\t\t// parse types\n\t\t\twhile( str.length > pos && str[ pos ] != '\\\\' && str[ pos ] != '\\n' ) {\n\n\t\t\t\t// type can not contain space and tab\n\t\t\t\tvar error_start = pos\n\t\t\t\twhile( str.length > pos && ( str[ pos ] == ' ' || str[ pos ] == '\\t' ) ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\n\t\t\t\tif( pos > error_start ) {\n\t\t\t\t\tlet line_end = str.indexOf( '\\n' , pos )\n\t\t\t\t\tif( line_end === -1 ) line_end = str.length\n\t\t\t\t\tconst sp = span.span( row, error_start - line_start + 1, pos - error_start )\n\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t`Wrong nodes separator`,\n\t\t\t\t\t\tstr.substring( line_start, line_end ),\n\t\t\t\t\t\tsp,\n\t\t\t\t\t) )\n\t\t\t\t}\n\n\t\t\t\t// read type\n\t\t\t\tvar type_start = pos\n\t\t\t\twhile( \n\t\t\t\t\tstr.length > pos && \n\t\t\t\t\tstr[ pos ] != '\\\\' && \n\t\t\t\t\tstr[ pos ] != ' ' && \n\t\t\t\t\tstr[ pos ] != '\\t' && \n\t\t\t\t\tstr[ pos ] != '\\n'\n\t\t\t\t) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t\tif( pos > type_start ) {\n\t\t\t\t\tlet next = new $mol_tree2(\n\t\t\t\t\t\tstr.slice( type_start , pos ),\n\t\t\t\t\t\t'',\n\t\t\t\t\t\t[],\n\t\t\t\t\t\tspan.span( row, type_start - line_start + 1, pos - type_start ),\n\t\t\t\t\t)\n\t\t\t\t\tconst parent_kids = parent.kids as $mol_tree2[]\n\t\t\t\t\tparent_kids.push( next )\n\t\t\t\t\tparent = next\n\t\t\t\t}\n\n\t\t\t\t// read one space if exists\n\t\t\t\tif( str.length > pos && str[ pos ] == ' ' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// read data\n\t\t\tif( str.length > pos && str[ pos ] == '\\\\' ) {\n\t\t\t\tvar data_start = pos\n\t\t\t\twhile( str.length > pos && str[ pos ] != '\\n' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t\tlet next = new $mol_tree2(\n\t\t\t\t\t'',\n\t\t\t\t\tstr.slice( data_start + 1 , pos ),\n\t\t\t\t\t[],\n\t\t\t\t\tspan.span( row, data_start - line_start + 2, pos - data_start - 1 ),\n\t\t\t\t)\n\t\t\t\tconst parent_kids = parent.kids as $mol_tree2[]\n\t\t\t\tparent_kids.push( next )\n\t\t\t\tparent = next\n\t\t\t}\n\n\t\t\t// now must be end of text\n\t\t\tif( str.length === pos && stack.length > 0 ) {\n\t\t\t\tconst sp = span.span( row, pos - line_start + 1, 1 )\n\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t`Unexpected EOF, LF required`,\n\t\t\t\t\tstr.substring( line_start, str.length ),\n\t\t\t\t\tsp,\n\t\t\t\t) )\n\t\t\t}\n\n\t\t\tstack.push( parent )\n\t\t\tpos++\n\t\t}\n\n\t\treturn root\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_tree2_from_json( json: any, span = $mol_span.unknown ): $mol_tree2 {\n\n\t\tif( typeof json === 'boolean' || typeof json === 'number' || json === null ) {\n\t\t\treturn new $mol_tree2( String( json ) , '' , [] , span )\n\t\t}\n\t\t\n\t\tif( typeof json === 'string' ) {\n\t\t\treturn $mol_tree2.data( json , [], span )\n\t\t}\n\n\t\tif( typeof json.toJSON === 'function' ) {\n\t\t\treturn $mol_tree2_from_json( json.toJSON() )\n\t\t}\n\n\t\tif( Array.isArray( json ) ) {\n\t\t\tconst sub = json.map( json => $mol_tree2_from_json( json , span ) )\n\t\t\treturn new $mol_tree2( '/' , '', sub, span )\n\t\t}\n\t\t\n\t\tif( ArrayBuffer.isView( json ) ) {\n\t\t\tconst buf = new Uint8Array( json.buffer, json.byteOffset, json.byteLength )\n\t\t\treturn $mol_tree2.data( String.fromCharCode( ... buf ) , [], span )\n\t\t}\n\t\t\t\n\t\tif( json instanceof Date ) {\n\t\t\treturn new $mol_tree2( '', json.toISOString() , [] , span )\n\t\t}\n\n\t\tif( json.toString !== Object.prototype.toString ) {\n\t\t\treturn $mol_tree2.data( json.toString() , [], span )\n\t\t}\n\n\t\tif( json instanceof Error ) {\n\t\t\tconst { name , message , stack } = json\n\t\t\tjson = { ... json, name, message, stack }\n\t\t}\n\n\t\tconst sub = [] as $mol_tree2[]\n\t\t\n\t\tfor( var key in json ) {\n\n\t\t\tconst val = json[ key ]\n\n\t\t\tif( val === undefined ) continue\n\n\t\t\tconst subsub = $mol_tree2_from_json( val, span )\n\t\t\t\n\t\t\tif( /^[^\\n\\t\\\\ ]+$/.test( key ) ) {\n\t\t\t\tsub.push( new $mol_tree2( key, '', [ subsub ], span ) )\n\t\t\t} else {\n\t\t\t\tsub.push( $mol_tree2.data( key, [ subsub ], span ) )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\treturn new $mol_tree2( '*' , '', sub , span )\n\t\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Module for working with terminal. Text coloring when output in terminal */\n\texport class $mol_term_color {\n\t\t\n\t\tstatic reset = this.ansi( 0, 0 )\n\t\tstatic bold = this.ansi( 1, 22 )\n\t\tstatic italic = this.ansi( 3, 23 )\n\t\tstatic underline = this.ansi( 4, 24 )\n\t\tstatic inverse = this.ansi( 7, 27 )\n\t\tstatic hidden = this.ansi( 8, 28 )\n\t\tstatic strike = this.ansi( 9, 29 )\n\t\t\n\t\tstatic gray = this.ansi( 90, 39 )\n\t\tstatic red = this.ansi( 91, 39 )\n\t\tstatic green = this.ansi( 92, 39 )\n\t\tstatic yellow = this.ansi( 93, 39 )\n\t\tstatic blue = this.ansi( 94, 39 )\n\t\tstatic magenta = this.ansi( 95, 39 )\n\t\tstatic cyan = this.ansi( 96, 39 )\n\t\t\n\t\tstatic Gray = ( str: string )=> this.inverse( this.gray( str ) )\n\t\tstatic Red = ( str: string )=> this.inverse( this.red( str ) )\n\t\tstatic Green = ( str: string )=> this.inverse( this.green( str ) )\n\t\tstatic Yellow = ( str: string )=> this.inverse( this.yellow( str ) )\n\t\tstatic Blue = ( str: string )=> this.inverse( this.blue( str ) )\n\t\tstatic Magenta = ( str: string )=> this.inverse( this.magenta( str ) )\n\t\tstatic Cyan = ( str: string )=> this.inverse( this.cyan( str ) )\n\t\t\n\t\tstatic ansi( open: number, close: number ) {\n\t\n\t\t\tif( typeof process === 'undefined' ) return String\n\t\t\tif( !process.stdout.isTTY ) return String\n\t\t\n\t\t\tconst prefix = `\\x1b[${open}m`\n\t\t\tconst postfix = `\\x1b[${close}m`\n\t\t\t\n\t\t\tconst suffix_regexp = new RegExp( postfix.replace( '[', '\\\\[' ), 'g' )\n\t\t\n\t\t\treturn function colorer( str: string ) {\n\t\t\n\t\t\t\tstr = String( str )\n\t\t\t\tif( str === '' ) return str\n\t\t\n\t\t\t\tconst suffix = str.replace( suffix_regexp, prefix )\n\t\t\t\treturn prefix + suffix + postfix\n\t\t\n\t\t\t}\n\t\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_log3_node_make(\n\t\tlevel : keyof Console ,\n\t\toutput : 'stdout' | 'stderr',\n\t\ttype : string ,\n\t\tcolor: ( str: string )=> string ,\n\t) {\n\n\t\treturn function $mol_log3_logger(\n\t\t\tthis : $ ,\n\t\t\tevent : $mol_log3_event<{}> ,\n\t\t) {\n\n\t\t\tif( !event.time ) event = { time : new Date().toISOString() , ... event }\n\n\t\t\tlet tree = this.$mol_tree2_from_json( event )\n\t\t\ttree = tree.struct( type, tree.kids )\n\t\t\t\n\t\t\tlet str = color( tree.toString() )\n\t\t\t;( this.console[ level ] as any )( str )\n\t\n\t\t\tconst self = this\n\t\t\treturn ()=> self.console.groupEnd()\n\n\t\t}\n\n\t}\n\n\t$.$mol_log3_come = $mol_log3_node_make( 'info' , 'stdout' , 'come' , $mol_term_color.blue )\n\t$.$mol_log3_done = $mol_log3_node_make( 'info' , 'stdout' , 'done' , $mol_term_color.green )\n\t$.$mol_log3_fail = $mol_log3_node_make( 'error' , 'stderr' , 'fail' , $mol_term_color.red )\n\t$.$mol_log3_warn = $mol_log3_node_make( 'warn' , 'stderr' , 'warn' , $mol_term_color.yellow )\n\t$.$mol_log3_rise = $mol_log3_node_make( 'log' , 'stdout' , 'rise' , $mol_term_color.magenta )\n\t$.$mol_log3_area = $mol_log3_node_make( 'log' , 'stdout' , 'area' , $mol_term_color.cyan )\n\n}\n","namespace $ {\n\t\n\t/** One-shot fiber */\n\texport class $mol_wire_task<\n\t\tHost,\n\t\tArgs extends readonly unknown[],\n\t\tResult,\n\t> extends $mol_wire_fiber< Host, Args, Result > {\n\t\t\n\t\tstatic getter<\n\t\t\tHost,\n\t\t\tArgs extends readonly unknown[],\n\t\t\tResult,\n\t\t>(\n\t\t\ttask: ( this : Host , ... args : Args )=> Result,\n\t\t): ( host: Host, args: Args )=> $mol_wire_task< Host, Args, Result > {\n\t\t\t\n\t\t\treturn function $mol_wire_task_get( host: Host, args: Args ) {\n\t\t\t\t\n\t\t\t\tconst sub = $mol_wire_auto()\n\t\t\t\tconst existen = sub?.track_next() as $mol_wire_task< Host, Args, Result > | undefined\n\t\t\t\t\n\t\t\t\treuse: if( existen ) {\n\t\t\t\t\t\n\t\t\t\t\tif( !existen.temp ) break reuse\n\t\t\t\t\t\n\t\t\t\t\tif( existen.host !== host ) break reuse\n\t\t\t\t\tif( existen.task !== task ) break reuse\n\t\t\t\t\tif( !$mol_compare_deep( existen.args, args ) ) break reuse\n\t\t\t\t\t\n\t\t\t\t\treturn existen\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst key = ( (host as any)?.[ Symbol.toStringTag ] ?? host ) + ( '.' + task.name + '<#>' )\n\t\t\t\tconst next = new $mol_wire_task( key, task, host, args )\n\t\t\t\t\n\t\t\t\t// Disabled because non-idempotency is required for try-catch\n\t\t\t\tif( existen?.temp ) {\n\t\t\t\t\t$$.$mol_log3_warn({\n\t\t\t\t\t\tplace: '$mol_wire_task',\n\t\t\t\t\t\tmessage: `Non idempotency`,\n\t\t\t\t\t\texisten,\n\t\t\t\t\t\tnext,\n\t\t\t\t\t\thint: 'Ignore it',\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn next\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tget temp() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\tcomplete() {\n\t\t\tif( $mol_promise_like( this.cache ) ) return\n\t\t\tthis.destructor()\n\t\t}\n\t\t\n\t\tput( next: Result | Error | Promise< Result | Error > ) {\n\t\t\t\n\t\t\tconst prev = this.cache\n\t\t\tthis.cache = next\n\t\t\t\n\t\t\tif( $mol_promise_like( next ) ) {\n\t\t\t\t\n\t\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\tif( next !== prev ) this.emit()\n\t\t\t\t\n\t\t\t\treturn next\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = $mol_wire_cursor.final\n\t\t\t\n\t\t\tif( this.sub_empty ) this.destructor()\n\t\t\telse if( next !== prev ) this.emit()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\t/**\n\t * Decorates method to fiber to ensure it is executed only once inside other fiber.\n\t */\n\texport function $mol_wire_method<\n\t\tHost extends object,\n\t\tArgs extends readonly any[],\n\t>(\n\t\thost : Host,\n\t\tfield : PropertyKey,\n\t\tdescr? : TypedPropertyDescriptor< ( ... args: Args )=> any >,\n\t) {\n\t\t\n\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field ) as any\n\t\tconst orig = descr?.value! ?? (host as any)[ field ]\n\t\t\n\t\tconst sup = Reflect.getPrototypeOf( host )!\t\n\t\tif( typeof (sup as any)[ field ] === 'function' ) {\n\t\t\tObject.defineProperty( orig , 'name' , { value : (sup as any)[ field ].name } )\n\t\t}\n\t\t\n\t\tconst temp = $mol_wire_task.getter( orig )\n\t\tconst value = function( this: Host, ... args: Args ) {\n\t\t\tconst fiber = temp( this ?? null as any, args )\n\t\t\treturn fiber.sync()\n\t\t}\n\t\t\n\t\tObject.defineProperty( value , 'name' , { value : orig.name + ' ' } )\n\t\t\n\t\tObject.assign( value, { orig } )\n\t\tconst descr2 = { ... descr, value }\n\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\n\t\treturn descr2\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\tconst catched = new WeakMap< any , boolean >()\n\n\texport function $mol_fail_catch( error: unknown ) {\n\t\t\n\t\tif( typeof error !== 'object' ) return false\n\t\tif( $mol_promise_like( error ) ) $mol_fail_hidden( error )\n\t\tif( catched.get( error ) ) return false\n\t\t\n\t\tcatched.set( error , true )\n\t\treturn true\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_fail_log( error: unknown ) {\n\t\t\n\t\tif( $mol_promise_like( error ) ) return false\n\t\tif( !$mol_fail_catch( error ) ) return false\n\t\t\n\t\tconsole.error( error )\n\t\t\n\t\treturn true\n\t\t\n\t}\n\n}\n","namespace $ {\n\n\t/** Long-living fiber. */\n\texport class $mol_wire_atom<\n\t\tHost,\n\t\tArgs extends readonly unknown[],\n\t\tResult,\n\t> extends $mol_wire_fiber< Host, Args, Result > {\n\n\t\tstatic solo<\n\t\t\tHost,\n\t\t\tArgs extends readonly unknown[],\n\t\t\tResult,\n\t\t>(\n\t\t\thost: Host,\n\t\t\ttask: ( this: Host, ... args: Args )=> Result,\n\t\t): $mol_wire_atom< Host, Args, Result > {\n\t\t\t\n\t\t\tconst field = task.name + '<>'\n\t\t\t\n\t\t\tconst existen = Object.getOwnPropertyDescriptor( host ?? task, field )?.value\n\t\t\tif( existen ) return existen\n\t\t\t\n\t\t\tconst prefix = (host as any)?.[ Symbol.toStringTag ] ?? ( host instanceof Function ? $$.$mol_func_name( host ) : host )\n\t\t\tconst key = prefix + ( '.' + field )\n\t\t\t\n\t\t\tconst fiber = new $mol_wire_atom( key, task, host, [] as any as Args )\n\t\t\t;( host as any ?? task )[ field ] = fiber\n\t\t\t\n\t\t\treturn fiber\n\t\t}\n\t\t\n\t\tstatic plex<\n\t\t\tHost,\n\t\t\tArgs extends readonly unknown[],\n\t\t\tResult,\n\t\t>(\n\t\t\thost: Host,\n\t\t\ttask: ( this: Host , ... args: Args )=> Result,\n\t\t\tkey: Args[0],\n\t\t): $mol_wire_atom< Host, Args, Result > {\n\t\t\t\n\t\t\tconst field = task.name + '<>'\n\t\t\tlet dict = Object.getOwnPropertyDescriptor( host ?? task, field )?.value\n\t\t\tconst prefix = (host as any)?.[ Symbol.toStringTag ] ?? ( host instanceof Function ? $$.$mol_func_name( host ) : host )\n\t\t\tconst key_str = $mol_key( key )\n\t\t\t\n\t\t\tif( dict ) {\n\t\t\t\tconst existen = dict.get( key_str )\n\t\t\t\tif( existen ) return existen\n\t\t\t} else {\n\t\t\t\tdict = ( host as any ?? task )[ field ] = new Map()\n\t\t\t}\n\t\t\t\n\t\t\tconst id = prefix + ( '.' + task.name ) + ( '<' + key_str.replace( /^\"|\"$/g, \"'\" ) + '>' )\n\t\t\tconst fiber = new $mol_wire_atom( id, task, host, [ key ] as any as Args )\n\t\t\tdict.set( key_str, fiber )\n\t\t\t\n\t\t\treturn fiber\n\t\t}\n\t\t\n\t\tstatic watching = new Set< $mol_wire_atom< any, any, any > >()\n\t\tstatic watcher = null as $mol_after_frame | null\n\t\t\n\t\tstatic watch() {\n\t\t\n\t\t\t$mol_wire_atom.watcher = new $mol_after_frame( $mol_wire_atom.watch )\n\t\t\t\n\t\t\tfor( const atom of $mol_wire_atom.watching ) {\n\t\t\t\t\n\t\t\t\tif( atom.cursor === $mol_wire_cursor.final ) {\n\t\t\t\t\t$mol_wire_atom.watching.delete( atom )\n\t\t\t\t} else {\n\t\t\t\t\tatom.cursor = $mol_wire_cursor.stale\n\t\t\t\t\tatom.fresh()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\twatch() {\n\t\t\t\n\t\t\tif( !$mol_wire_atom.watcher ) {\n\t\t\t\t$mol_wire_atom.watcher = new $mol_after_frame( $mol_wire_atom.watch )\n\t\t\t}\n\t\t\t\n\t\t\t$mol_wire_atom.watching.add( this )\n\t\t\t\n\t\t}\n\t\t\n\t\t/**\n\t\t * Update fiber value through another temp fiber.\n\t\t */\n\t\t@ $mol_wire_method\n\t\tresync( args: Args ) {\n\t\t\treturn this.put( this.task.call( this.host!, ... args ) )\n\t\t}\n\t\t\n\t\t@ $mol_wire_method\n\t\tonce() {\n\t\t\treturn this.sync()\n\t\t}\n\t\t\n\t\tchannel() {\n\t\t\treturn Object.assign( ( next?: $mol_type_foot< Args > )=> {\n\t\t\t\t\t\n\t\t\t\tif( next !== undefined ) return this.resync( [ ... this.args, next ] as any ) as never\n\t\t\t\tif( !$mol_wire_fiber.warm ) return this.result() as never\n\t\t\t\t\n\t\t\t\tif( $mol_wire_auto()?.temp ) {\n\t\t\t\t\treturn this.once()\n\t\t\t\t} else {\n\t\t\t\t\treturn this.sync()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}, { atom: this as $mol_wire_atom< Host, Args, Result > } )\n\t\t}\n\t\t\n\t\tdestructor() {\n\t\t\t\n\t\t\tsuper.destructor()\n\t\t\t\n\t\t\tconst prev = this.cache\n\t\t\tif( $mol_owning_check( this, prev ) ) {\n\t\t\t\tprev.destructor()\n\t\t\t}\n\t\t\t\n\t\t\tif( this.pub_from === 0 ) {\n\t\t\t\t;( this.host as any ?? this.task )[ this.field() ] = null\n\t\t\t} else {\n\t\t\t\t;( this.host as any ?? this.task )[ this.field() ].delete( $mol_key( this.args[0] ) )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tput( next: Result | Error | Promise< Result | Error > ) {\n\t\t\t\n\t\t\tconst prev = this.cache\n\t\t\t\n\t\t\tupdate: if( next !== prev ) {\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tif( $mol_compare_deep( prev, next ) ) break update\n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\t$mol_fail_log( error )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( $mol_owning_check( this, prev ) ) {\n\t\t\t\t\tprev.destructor()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( $mol_owning_catch( this, next ) ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\t(next as any)[ Symbol.toStringTag ] = (this as any)[ Symbol.toStringTag ]\n\t\t\t\t\t} catch { // Promises throw in strict mode\n\t\t\t\t\t\tObject.defineProperty( next, Symbol.toStringTag, { value: (this as any)[ Symbol.toStringTag ] } )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( !this.sub_empty ) this.emit()\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tthis.cache = next\n\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\n\t\t\tif( $mol_promise_like( next ) ) return next\n\t\t\t\n\t\t\tthis.complete_pubs()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t\n\t/** Decorates solo object channel to [mol_wire_atom](../atom/atom.ts). */\n\texport function $mol_wire_solo< Args extends any[] >(\n\t\thost: object,\n\t\tfield: string,\n\t\tdescr?: TypedPropertyDescriptor< ( ... args: Args )=> any >\n\t) {\n\n\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field )\n\t\tconst orig = descr?.value! ?? (host as any)[ field ]\n\t\t\n\t\tconst sup = Reflect.getPrototypeOf( host )!\n\t\tif( typeof (sup as any)[ field ] === 'function' ) {\n\t\t\tObject.defineProperty( orig , 'name' , { value : (sup as any)[ field ].name } )\n\t\t}\n\t\t\n\t\tconst descr2 = {\n\t\t\t... descr,\n\t\t\tvalue: function( this: typeof host, ... args: Args ){\n\t\t\t\n\t\t\t\tlet atom = $mol_wire_atom.solo( this, orig )\n\t\t\t\t\n\t\t\t\tif(( args.length === 0 )||( args[0] === undefined )) {\n\t\t\t\t\t\n\t\t\t\t\tif( !$mol_wire_fiber.warm ) return atom.result()\n\t\t\t\t\t\n\t\t\t\t\tif( $mol_wire_auto()?.temp ) {\n\t\t\t\t\t\treturn atom.once()\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn atom.sync()\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn atom.resync( args )\t\n\t\t\t}\n\t\t}\n\t\t\n\t\tReflect.defineProperty( descr2.value , 'name' , { value : orig.name + ' ' } )\n\t\tReflect.defineProperty( descr2.value , 'length' , { value : orig.length } )\n\t\tObject.assign( descr2.value, { orig } )\n\t\t\n\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\n\t\treturn descr2 as any as TypedPropertyDescriptor< ( ... args: First_optional< Args > )=> any >\n\t}\n\n\ttype First_optional< Args extends any[] > = Args extends []\n\t\t? []\n\t\t: [ Args[0] | undefined, ... $mol_type_tail< Args > ]\n\n}\n","namespace $ {\n\t\n\t/** Reactive memoizing multiplexed property decorator. */\n\texport function $mol_wire_plex< Args extends [ any, ... any[] ] >(\n\t\thost: object,\n\t\tfield: string,\n\t\tdescr?: TypedPropertyDescriptor< ( ... args: Args )=> any >\n\t) {\n\n\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field )\n\t\tconst orig = descr?.value! ?? (host as any)[ field ]\n\t\t\n\t\tconst sup = Reflect.getPrototypeOf( host )!\n\t\tif( typeof (sup as any)[ field ] === 'function' ) {\n\t\t\tObject.defineProperty( orig , 'name' , { value : (sup as any)[ field ].name } )\n\t\t}\n\t\t\n\t\tconst descr2 = {\n\t\t\t... descr,\n\t\t\tvalue: function( this: typeof host, ... args: Args ) {\n\t\t\t\n\t\t\t\tlet atom = $mol_wire_atom.plex( this, orig, args[0] )\n\t\t\t\t\n\t\t\t\tif(( args.length === 1 )||( args[1] === undefined )) {\n\t\t\t\t\t\n\t\t\t\t\tif( !$mol_wire_fiber.warm ) return atom.result()\n\t\t\t\t\t\n\t\t\t\t\tif( $mol_wire_auto()?.temp ) {\n\t\t\t\t\t\treturn atom.once()\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn atom.sync()\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn atom.resync( args )\t\n\t\t\t}\n\t\t}\n\t\t\n\t\tReflect.defineProperty( descr2.value , 'name' , { value : orig.name + ' ' } )\n\t\tReflect.defineProperty( descr2.value , 'length' , { value : orig.length } )\n\t\tObject.assign( descr2.value, { orig } )\n\t\t\n\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\n\t\treturn descr2\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Reactive memoizing solo property decorator from [mol_wire](../wire/README.md)\n\t * @example\n\t * '@' $mol_mem\n\t * name(next?: string) {\n\t * \treturn next ?? 'default'\n\t * }\n\t * @see https://mol.hyoo.ru/#!section=docs/=qxmh6t_sinbmb\n\t */\n\texport let $mol_mem = $mol_wire_solo\n\n\t/**\n\t * Reactive memoizing multiplexed property decorator [mol_wire](../wire/README.md)\n\t * @example\n\t * '@' $mol_mem_key\n\t * name(id: number, next?: string) {\n\t * return next ?? 'default'\n\t * }\n\t * @see https://mol.hyoo.ru/#!section=docs/=qxmh6t_sinbmb\n\t */\n\texport let $mol_mem_key = $mol_wire_plex\n}\n","namespace $ {\n\t\n\texport var $mol_dom_context : typeof globalThis\n\t\n}\n","interface $node {\n\t[key:string]: any\n}\n\nvar $node = new Proxy( { require } as any , {\n\t\n\tget( target , name : string , wrapper ) {\n\n\t\tif( target[ name ] ) return target[ name ]\n\n\t\tconst mod = target.require( 'module' ) as typeof import( 'module' )\n\t\t\n\t\tif( mod.builtinModules.indexOf( name ) >= 0 ) return target.require( name )\n\t\tif( name[0] === '.' ) return target.require( name )\n\n\t\ttry {\n\t\t\ttarget.require.resolve( name )\n\t\t} catch {\n\t\t\n\t\t\tconst $$ = ( $ as any )\n\t\t\t$$.$mol_exec( '.' , 'npm' , 'install' , '--omit=dev', name )\n\t\t\t\n\t\t\ttry {\n\t\t\t\t$$.$mol_exec( '.' , 'npm' , 'install' , '--omit=dev', '@types/' + name )\n\t\t\t} catch (e) {\n\t\t\t\tif ($$.$mol_fail_catch(e)) {\n\t\t\t\t\t$$.$mol_fail_log(e)\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t\t\n\t\ttry {\n\t\t\treturn target.require( name )\n\t\t} catch( error ) {\n\n\t\t\tif($.$mol_fail_catch(error) && ( error as any ).code === 'ERR_REQUIRE_ESM' ) {\n\t\t\t\tconst module = cache.get( name )\n\t\t\t\tif( module ) return module\n\t\t\t\tthrow import( name ).then( module => cache.set( name, module ) )\n\t\t\t}\n\t\t\t\n\t\t\t$.$mol_fail_log( error )\n\n\t\t\treturn null\n\t\t}\n\n\t},\n\n\tset( target , name : string , value ) {\n\t\ttarget[ name ] = value\n\t\treturn true\n\t},\n\n} ) as $node\n\nconst cache = new Map< string, any >()\n\nrequire = ( req =>\n\tObject.assign( function require( name : string ) {\n\t\treturn $node[ name ]\n\t} , req )\n)( require )\n\n","namespace $ {\n\n\texport class $mol_error_mix< Cause extends {} = {} > extends AggregateError {\n\t\t\n\t\tname = $$.$mol_func_name( this.constructor ).replace( /^\\$/, '' ) + '_Error'\n\n\t\tconstructor(\n\t\t\tmessage: string,\n\t\t\treadonly cause = {} as Cause,\n\t\t\t... errors: Error[]\n\t\t) {\n\t\t\t\n\t\t\tsuper( errors, message, { cause } )\n\t\t\t\n\t\t\tconst stack_get = Object.getOwnPropertyDescriptor( this, 'stack' )?.get ?? ( ()=> super.stack )\n\t\t\t\n\t\t\tObject.defineProperty( this, 'stack', {\n\t\t\t\tget: ()=> ( stack_get.call( this ) ?? this.message ) + '\\n' + [ JSON.stringify( this.cause, null, ' ' ) ?? 'no cause', ... this.errors.map( e => e.stack ) ].map(\n\t\t\t\t\te => e.trim()\n\t\t\t\t\t\t.replace( /at /gm, ' at ' )\n\t\t\t\t\t\t.replace( /^(?! +at )(.*)/gm, ' at | $1 (#)' )\n\t\t\t\t).join('\\n')\n\t\t\t} )\n\t\t\t\n\t\t}\n\n\t\tstatic [ Symbol.toPrimitive ]() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tstatic toString() {\n\t\t\treturn $$.$mol_func_name( this )\n\t\t}\n\n\t\tstatic make(\n\t\t\t...params: ConstructorParameters\n\t\t) {\n\t\t\treturn new this(...params)\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\texport function $mol_env() {\n\t\treturn {} as Record< string, string | undefined >\n\t}\n}\n","namespace $ {\n\t$.$mol_env = function $mol_env() {\n\t\treturn this.process.env\n\t}\n}\n","namespace $ {\n\tconst factories = new WeakMap()\n\n\tfunction factory(\n\t\tval: new (...args: Args) => Result\n\t) {\n\t\tlet make = factories.get(val) as null | ((...args: Args) => Result)\n\n\t\tif ( make ) return make\n\n\t\tmake = $mol_func_name_from((...args: Args) => new val(...args), val)\n\t\tfactories.set(val, make)\n\n\t\treturn make\n\t}\n\n\t/**\n\t * Convert asynchronous (promise-based) API to synchronous by wrapping function and method calls in a fiber.\n\t * @see https://mol.hyoo.ru/#!section=docs/=1fcpsq_1wh0h2\n\t */\n\texport function $mol_wire_sync< Host extends object >( obj: Host ) {\n\t\treturn new Proxy( obj, {\n\t\t\t\n\t\t\tget( obj, field ) {\n\t\t\t\t\n\t\t\t\tlet val = (obj as any)[ field ]\n\t\t\t\tif( typeof val !== 'function' ) return val\n\t\t\t\tconst temp = $mol_wire_task.getter(val)\n\n\t\t\t\treturn function $mol_wire_sync( this: Host, ... args: unknown[] ) {\n\t\t\t\t\tconst fiber = temp( obj, args )\n\t\t\t\t\treturn fiber.sync()\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tconstruct(obj, args) {\n\t\t\t\tconst temp = $mol_wire_task.getter(factory(obj as (new ( ... args: unknown[] )=> unknown)))\n\t\t\t\treturn temp( obj, args ).sync() as object\n\t\t\t},\n\n\t\t\tapply( obj, self, args ) {\n\t\t\t\tconst temp = $mol_wire_task.getter(obj as ( ... args: any[] )=> any)\n\t\t\t\treturn temp(self, args).sync()\n\t\t\t},\n\t\t\t\n\t\t} ) as unknown as ObjectOrFunctionResultAwaited\n\t}\n\n\ttype FunctionResultAwaited = Some extends (...args: infer Args) => infer Res\n\t\t? (...args: Args) => Awaited\n\t\t: Some\n\n\ttype ConstructorResultAwaited = Some extends new (...args: infer Args) => infer Res\n\t\t? new (...args: Args) => Res\n\t\t: {}\n\n\ttype MethodsResultAwaited = {\n\t\t[K in keyof Host]: FunctionResultAwaited\n\t}\n\n\ttype ObjectOrFunctionResultAwaited = (\n\t\tSome extends (...args: any) => unknown ? FunctionResultAwaited : {}\n\t) & ( Some extends Object ? MethodsResultAwaited & ConstructorResultAwaited : Some )\n\n}\n","namespace $ {\n\n\texport type $mol_run_error_context = {\n\t\tpid?: number\n\t\tstdout: Buffer\n\t\tstderr: Buffer\n\t\tstatus?: number | null\n\t\tsignal: NodeJS.Signals | null,\n\t}\n\n\texport class $mol_run_error extends $mol_error_mix<{ timeout?: boolean, signal?: NodeJS.Signals | null}> {}\n\n\tconst child_process = $node['child_process']\n\texport const $mol_run_spawn = child_process.spawn.bind(child_process)\n\texport const $mol_run_spawn_sync = child_process.spawnSync.bind(child_process)\n\n\texport type $mol_run_options = {\n\t\tcommand : readonly string[] | string,\n\t\tdir : string\n\t\ttimeout?: number\n\t\tenv?: Record\n\t}\n\n\texport function $mol_run_async(\n\t\tthis : $ ,\n\t\t{ dir, timeout, command, env }: $mol_run_options\n\t) {\n\t\tconst args_raw = typeof command === 'string' ? command.split( ' ' ) : command\n\t\tconst [ app, ...args ] = args_raw\n\n\t\tif (! env?.MOL_RUN_ASYNC) {\n\t\t\tthis.$mol_log3_come({\n\t\t\t\tplace: '$mol_run_sync' ,\n\t\t\t\tmessage: 'Run',\n\t\t\t\tcommand: args_raw.join(' ') ,\n\t\t\t\tdir: $node.path.relative( '' , dir ) ,\n\t\t\t})\n\t\t\tconst res = this.$mol_run_spawn_sync(app, args, { shell: true, cwd: dir, env });\n\t\t\tif( res.status ) $mol_fail( new Error( res.stderr.toString() || 'Exit(' + res.status + ')' ) )\n\t\t\treturn res\n\t\t}\n\n\t\tconst sub = this.$mol_run_spawn(app, args, {\n\t\t\tshell: true,\n\t\t\tcwd: dir,\n\t\t\tenv\n\t\t})\n\n\t\tthis.$mol_log3_come({\n\t\t\tplace: '$mol_run_async' ,\n\t\t\tpid: sub.pid,\n\t\t\tmessage: 'Run',\n\t\t\tcommand: args_raw.join(' ') ,\n\t\t\tdir: $node.path.relative( '' , dir ) ,\n\t\t})\n\n\t\tlet killed = false\n\t\tlet timer: undefined | ReturnType\n\n\t\tconst std_data = [] as Buffer[]\n\t\tconst error_data = [] as Buffer[]\n\n\t\tconst add = (std_chunk?: Buffer, error_chunk?: Buffer) => {\n\t\t\tif (std_chunk) std_data.push(std_chunk)\n\t\t\tif (error_chunk) error_data.push(error_chunk)\n\t\t\tif (! timeout) return\n\n\t\t\tclearTimeout(timer)\n\n\t\t\ttimer = setTimeout(() => {\n\t\t\t\tconst signal = killed ? 'SIGKILL' : 'SIGTERM'\n\t\t\t\tkilled = true\n\t\t\t\tadd()\n\t\t\t\tsub.kill(signal)\n\t\t\t}, timeout)\n\t\t}\n\n\t\tadd()\n\n\t\tsub.stdout?.on('data', data => add(data) )\n\t\tsub.stderr?.on('data', data => add(undefined, data) )\n\n\t\tconst promise = new Promise<$mol_run_error_context>((done, fail) => {\n\t\t\tconst close = (error: Error | null, status: number | null = null, signal: NodeJS.Signals | null = null) => {\n\t\t\t\tif (! timer && timeout) return\n\n\t\t\t\tclearTimeout(timer)\n\t\t\t\ttimer = undefined\n\n\t\t\t\tconst res = {\n\t\t\t\t\tpid: sub.pid,\n\t\t\t\t\tstatus,\n\t\t\t\t\tsignal,\n\t\t\t\t\tget stdout() { return Buffer.concat(std_data) },\n\t\t\t\t\tget stderr() { return Buffer.concat(error_data) }\n\t\t\t\t}\n\n\t\t\t\tthis.$mol_log3_done({\n\t\t\t\t\tplace: '$mol_run_async' ,\n\t\t\t\t\tpid: sub.pid,\n\t\t\t\t\tmessage: 'Run',\n\t\t\t\t\tstatus,\n\t\t\t\t\tcommand: args_raw.join(' ') ,\n\t\t\t\t\tdir: $node.path.relative( '' , dir ) ,\n\t\t\t\t})\n\t\t\n\t\t\t\tif (error || status || killed) return fail( new $mol_run_error(\n\t\t\t\t\t(res.stderr.toString() || res.stdout.toString() || 'Run error') + (killed ? ', timeout' : ''),\n\t\t\t\t\t{ signal, timeout: killed },\n\t\t\t\t\t...error ? [ error ] : []\n\t\t\t\t) )\n\n\t\t\t\tdone(res)\n\t\t\t}\n\t\n\t\t\tsub.on('disconnect', () => close(new Error('Disconnected')) )\n\t\t\tsub.on('error', err => close(err) )\n\t\t\tsub.on('exit', (status, signal) => close(null, status, signal) )\n\t\t})\n\n\t\treturn Object.assign(promise, { destructor: () => {\n\t\t\tclearTimeout(timer)\n\t\t\tsub.kill('SIGKILL')\n\t\t} })\n\t}\n\n\texport function $mol_run(\n\t\tthis : $ ,\n\t\toptions: $mol_run_options\n\t) {\n\t\tif (! options.env) options = { ...options, env: this.$mol_env() }\n\t\treturn $mol_wire_sync(this).$mol_run_async( options )\n\t}\n}\n","namespace $ {\n\n\texport function $mol_exec(\n\t\tthis : $ ,\n\t\tdir : string ,\n\t\tcommand : string ,\n\t\t...args : readonly string[]\n\t) {\n\t\treturn this.$mol_run( { command: [ command, ...args ], dir } )\n\t}\n}\n","namespace $ {\n\t\n\t$.$mol_dom_context = new $node.jsdom.JSDOM( '' , { url : 'https://localhost/' } ).window as any\n\t\n}\n","namespace $ {\n\t\n\texport class $mol_view_selection extends $mol_object {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic focused( next? : Element[], notify?: 'notify' ) : Element[] {\n\t\t\t\n\t\t\tconst parents : Element[] = []\n\t\t\tlet element = next?.[0] ?? $mol_dom_context.document.activeElement\n\t\t\t\n\t\t\twhile( element ) {\n\t\t\t\tparents.push( element )\n\t\t\t\telement = element.parentNode as HTMLElement\n\t\t\t}\n\t\t\t\n\t\t\tif( !next || notify ) return parents\n\t\t\t\n\t\t\tnew $mol_after_tick( ()=> {\n\t\t\t\t\n\t\t\t\tconst element = this.focused()![0] as HTMLElement\n\t\t\t\t\n\t\t\t\tif( element ) element.focus()\n\t\t\t\telse $mol_dom_context.blur()\n\t\t\t\t\n\t\t\t} )\n\n\t\t\treturn parents\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_wrapper extends $mol_object2 {\n\n\t\tstatic wrap : ( task : ( ... ags : any[] )=> any )=> ( ... ags : any[] )=> any\n\t\t\n\t\tstatic run< Result >( task : ()=> Result ) : Result {\n\t\t\treturn this.func( task )()\n\t\t}\n\t\n\t\tstatic func< Args extends any[] , Result , Host = void >(\n\t\t\tfunc : ( this : Host , ... args : Args )=> Result\n\t\t) : ( this : Host , ... args : Args )=> Result {\n\t\t\treturn this.wrap( func )\n\t\t}\n\n\t\tstatic get class() {\n\n\t\t\treturn < Class extends new ( ... args : any[] )=> any >(\n\t\t\t\tClass : Class\n\t\t\t) => {\n\n\t\t\t\ttype Args = ConstructorParameters< Class >\n\t\t\t\ttype Result = InstanceType< Class >\n\n\t\t\t\tconst construct = ( target : Class , args : Args )=> new Class( ... args )\n\n\t\t\t\tconst handler: ProxyHandler = {\n\t\t\t\t\tconstruct : this.func( construct )\n\t\t\t\t} \n\n\t\t\t\t;(handler as any)[ Symbol.toStringTag ] = Class.name + '#'\n\n\t\t\t\treturn new Proxy( Class , handler )\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tstatic get method() {\n\t\t\t\n\t\t\treturn (\n\t\t\t\tobj : object,\n\t\t\t\tname : PropertyKey,\n\t\t\t\tdescr : PropertyDescriptor,\n\t\t\t) => {\n\t\t\t\tdescr.value = this.func( descr.value! )\n\t\t\t\treturn descr\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tstatic get field() {\n\t\t\t\n\t\t\treturn <\n\t\t\t\tHost ,\n\t\t\t\tField extends keyof Host ,\n\t\t\t\tArgs extends any[] ,\n\t\t\t\tResult ,\n\t\t\t>(\n\t\t\t\tobj : Host ,\n\t\t\t\tname : Field ,\n\t\t\t\tdescr : TypedPropertyDescriptor< Result >\n\t\t\t) => {\n\t\t\t\tdescr.get = descr.set = this.func( descr.get! )\n\t\t\t\treturn descr\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_memo extends $mol_wrapper {\n\t\t\n\t\tstatic wrap< This extends object , Value >( task : ( this : This , next? : Value )=> Value ) {\n\n\t\t\tconst store = new WeakMap< This , Value >()\n\n\t\t\treturn function( this : This , next? : Value ) {\n\n\t\t\t\tif( next === undefined && store.has( this ) ) return store.get( this )\n\t\t\t\t\n\t\t\t\tconst val = task.call( this , next ) ?? next\n\t\t\t\t\n\t\t\t\tstore.set( this , val! )\n\t\t\t\t\n\t\t\t\treturn val\n\n\t\t\t}\n\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_dom_qname( name : string ) {\n\t\treturn name.replace( /\\W/g , '' ).replace( /^(?=\\d+)/ , '_' )\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Run code without state changes */\n\texport function $mol_wire_probe< Value >(\n\t\ttask : ()=> Value, def?: Value\n\t) : Value | undefined {\n\t\t\n\t\tconst warm = $mol_wire_fiber.warm\n\t\t\n\t\ttry {\n\t\t\t$mol_wire_fiber.warm = false\n\t\t\tconst res = task()\n\t\t\tif( res === undefined ) return def\n\t\t\treturn res\n\t\t} finally {\n\t\t\t$mol_wire_fiber.warm = warm\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/**\n\t * Real-time refresh current atom.\n\t * Don't use if possible. May reduce performance.\n\t */\n\texport function $mol_wire_watch() {\n\t\tconst atom = $mol_wire_auto()\n\t\tif( atom instanceof $mol_wire_atom ) {\n\t\t\tatom.watch()\n\t\t} else {\n\t\t\t$mol_fail( new Error( 'Atom is required for watching' ) )\n\t\t}\n\t}\n\t\n}\n","namespace $ { \n\t/**\n\t * Returns closure that returns constant value.\n\t * @example\n\t * const rnd = $mol_const( Math.random() )\n\t */\n\texport function $mol_const< Value >( value : Value ) {\n\t\tconst getter = <{ () : Value , '()' : Value }> ( () => value )\n\t\tgetter['()'] = value\n\t\t;(getter as any)[ Symbol.toStringTag ] = value\n\t\t;(getter as any )[ $mol_dev_format_head ] = ()=> $mol_dev_format_span( {} , '()=> ', $mol_dev_format_auto( value ) )\n\t\treturn getter\n\t}\n}\n","namespace $ {\n\t\n\t/**\n\t * Disable reaping of current subscriber\n\t */\n\texport function $mol_wire_solid() {\n\t\tlet current = $mol_wire_auto() as $mol_wire_fiber< any, any, any >\n\t\tif( current!.temp ) current = current!.host\n\t\tif( current!.reap !== nothing ) {\n\t\t\tcurrent?.sub_on( sub, sub.data.length )\n\t\t}\n\t\tcurrent!.reap = nothing\n\t}\n\t\n\tconst nothing = ()=> {}\n\tconst sub = new $mol_wire_pub_sub\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_attributes (\n\t\tel : Element ,\n\t\tattrs : { [ key : string ] : string|number|boolean|null }\n\t) {\n\n\t\tfor( let name in attrs ) {\n\n\t\t\tlet val = attrs[ name ] as any\n\n\t\t\tif( val === undefined ) {\n\t\t\t\t\n\t\t\t\tcontinue\n\t\t\t\t\n\t\t\t} else if( val === null || val === false ) {\n\n\t\t\t\tif( !el.hasAttribute( name ) ) continue\n\t\t\t\t\n\t\t\t\tel.removeAttribute( name )\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tconst str = String( val )\n\t\t\t\tif( el.getAttribute( name ) === str ) continue\n\t\t\t\t\n\t\t\t\tel.setAttribute( name , str )\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_events (\n\t\tel : Element ,\n\t\tevents : { [ key : string ] : ( event : Event )=> any },\n\t\tpassive = false\n\t) {\n\t\tfor( let name in events ) {\n\t\t\tel.addEventListener( name , events[ name ] , { passive } )\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_styles (\n\t\tel : Element ,\n\t\tstyles : { [ key : string ] : string|number }\n\t) {\n\t\tfor( let name in styles ) {\n\t\t\tlet val = styles[ name ]\n\t\t\t\n\t\t\tconst style = ( el as HTMLElement ).style as any\n\t\t\tconst kebab = ( name : string )=> name.replace( /[A-Z]/g , letter => '-' + letter.toLowerCase() )\n\t\t\t\n\t\t\tif( typeof val === 'number' ) {\n\t\t\t\tstyle.setProperty(kebab(name), `${ val }px`);\n\t\t\t} else {\n\t\t\t\tstyle.setProperty(kebab(name), val);\n\t\t\t}\n\t\t\t\n\t\t}\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_dom_render_children (\n\t\tel : Element | DocumentFragment ,\n\t\tchildNodes : NodeList | Array< Node | string | null >\n\t) {\n\t\tconst node_set = new Set< Node | string | null >( childNodes )\n\t\t\n\t\tlet nextNode : Node | null = el.firstChild\n\t\tfor( let view of childNodes ) {\n\n\t\t\tif( view == null ) continue\n\n\t\t\tif( view instanceof $mol_dom_context.Node ) {\n\t\t\t\t\n\t\t\t\twhile( true ) {\n\t\t\t\t\tif( !nextNode ) {\n\t\t\t\t\t\tel.appendChild( view )\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tif( nextNode == view ) {\n\t\t\t\t\t\tnextNode = nextNode.nextSibling\n\t\t\t\t\t\tbreak\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif( node_set.has( nextNode ) ) {\n\t\t\t\t\t\t\tel.insertBefore( view , nextNode )\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst nn = nextNode.nextSibling\n\t\t\t\t\t\t\tel.removeChild( nextNode )\n\t\t\t\t\t\t\tnextNode = nn\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\tif( nextNode && nextNode.nodeName === '#text' ) {\n\t\t\t\t\tconst str = String( view )\n\t\t\t\t\tif( nextNode.nodeValue !== str ) nextNode.nodeValue = str\n\t\t\t\t\tnextNode = nextNode.nextSibling\n\t\t\t\t} else {\n\t\t\t\t\tconst textNode = $mol_dom_context.document.createTextNode( String( view ) )\n\t\t\t\t\tel.insertBefore( textNode , nextNode )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\twhile( nextNode ) {\n\t\t\tconst currNode = nextNode\n\t\t\tnextNode = currNode.nextSibling\n\t\t\tel.removeChild( currNode )\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_fields (\n\t\tel : Element ,\n\t\tfields : { [ key : string ] : any }\n\t) {\n\t\tfor( let key in fields ) {\n\t\t\t\n\t\t\tconst val : any = fields[ key ]\n\t\t\t\n\t\t\tif( val === undefined ) continue\n\t\t\tif( val === (el as any)[ key ] ) continue\n\t\t\t\n\t\t\t(el as any)[ key ] = val\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Convert a pseudo-synchronous (Suspense API) API to an explicit asynchronous one (for integrating with external systems). */\n\texport function $mol_wire_async< Host extends object >( obj: Host ) {\n\t\t\n\t\tlet fiber: $mol_wire_fiber< any, any, any >\n\t\tconst temp = $mol_wire_task.getter( obj as ( ... args: any[] )=> any )\n\t\t\n\t\treturn new Proxy( obj, {\n\t\t\t\n\t\t\tget( obj, field ) {\n\t\t\t\t\n\t\t\t\tconst val = (obj as any)[ field ]\n\t\t\t\tif( typeof val !== 'function' ) return val\n\t\t\t\t\n\t\t\t\tlet fiber: $mol_wire_fiber< any, any, any >\n\t\t\t\tconst temp = $mol_wire_task.getter( val ) \n\t\t\t\t\n\t\t\t\treturn function $mol_wire_async( this: Host, ... args: any[] ) {\n\t\t\t\t\tfiber?.destructor()\n\t\t\t\t\tfiber = temp( obj, args )\n\t\t\t\t\treturn fiber.async()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t},\n\t\t\t\n\t\t\tapply( obj, self, args ) {\n\t\t\t\tfiber?.destructor()\n\t\t\t\tfiber = temp( self, args )\n\t\t\t\treturn fiber.async()\n\t\t\t},\n\t\t\t\n\t\t} ) as unknown as ObjectOrFunctionResultPromisify\n\t\t\n\t}\n\n\ttype FunctionResultPromisify = Some extends (...args: infer Args) => infer Res\n\t\t? Res extends PromiseLike ? Some : (...args: Args) => Promise\n\t\t: Some\n\n\ttype MethodsResultPromisify = {\n\t\t[K in keyof Host]: FunctionResultPromisify\n\t}\n\n\ttype ObjectOrFunctionResultPromisify = (\n\t\tSome extends (...args: any) => unknown ? FunctionResultPromisify : {}\n\t) & ( Some extends Object ? MethodsResultPromisify : Some )\n\n}\n","namespace $ {\n\n\texport function $mol_style_attach(\n\t\tid : string ,\n\t\ttext : string ,\n\t) {\n\n\t\tconst doc = $mol_dom_context.document\n\t\tif( !doc ) return null\n\t\t\n\t\tconst elid = `$mol_style_attach:${id}`\n\t\t\n\t\tlet el = doc.getElementById( elid ) as HTMLStyleElement\n\t\tif( !el ) {\n\t\t\tel = doc.createElement('style')\n\t\t\tel.id = elid\n\t\t\tdoc.head.appendChild( el )\n\t\t}\n\t\tif( el.innerHTML != text ) el.innerHTML = text\n\t\t\n\t\treturn el\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_decor< Value > {\n\t\t\n\t\tconstructor(\n\t\t\treadonly value : Value\n\t\t) {}\n\n\t\tprefix() { return '' }\n\t\tvalueOf() { return this.value }\n\t\tpostfix() { return '' }\n\n\t\ttoString(){\n\t\t\treturn `${ this.prefix() }${ this.valueOf() }${ this.postfix() }`\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\texport type $mol_style_unit_length =\n\t| '%'\n\t| 'px' | 'cm' | 'mm' | 'Q' | 'in' | 'pc' | 'pt'\n\t| 'cap' | 'ch' | 'em' | 'rem' | 'ex' | 'ic' | 'lh' | 'rlh'\n\t| 'vh' | 'vw' | 'vi' | 'vb' | 'vmin' | 'vmax'\n\t\n\texport type $mol_style_unit_angle = 'deg' | 'rad' | 'grad' | 'turn'\n\t\n\texport type $mol_style_unit_time = 's' | 'ms'\n\n\texport type $mol_style_unit_any = $mol_style_unit_length | $mol_style_unit_angle | $mol_style_unit_time\n\n\texport type $mol_style_unit_str< Quanity extends $mol_style_unit_any = $mol_style_unit_any> = `${number}${Quanity}`\n\n\t/**\n\t * CSS Units\n\t * @see https://mol.hyoo.ru/#!section=docs/=xwq9q5_f966fg\n\t */\n\texport class $mol_style_unit<\n\t\tLiteral extends $mol_style_unit_any\n\t> extends $mol_decor< number > {\n\n\t\tconstructor(\n\t\t\tvalue : number,\n\t\t\treadonly literal : Literal,\n\t\t) {\n\t\t\tsuper( value )\n\t\t}\n\n\t\tpostfix() {\n\t\t\treturn this.literal\n\t\t}\n\n\t\tstatic per( value : number ) { return `${value}%` as const }\n\t\tstatic px( value : number ) { return `${ value }px` as const }\n\t\tstatic mm( value : number ) { return `${value}mm` as const }\n\t\tstatic cm( value : number ) { return `${value}cm` as const }\n\t\tstatic Q( value : number ) { return `${value}Q` as const }\n\t\tstatic in( value : number ) { return `${value}in` as const }\n\t\tstatic pc( value : number ) { return `${value}pc` as const }\n\t\tstatic pt( value : number ) { return `${value}pt` as const }\n\t\tstatic cap( value : number ) { return `${value}cap` as const }\n\t\tstatic ch( value : number ) { return `${value}ch` as const }\n\t\tstatic em( value : number ) { return `${value}em` as const }\n\t\tstatic rem( value : number ) { return `${value}rem` as const }\n\t\tstatic ex( value : number ) { return `${value}ex` as const }\n\t\tstatic ic( value : number ) { return `${value}ic` as const }\n\t\tstatic lh( value : number ) { return `${value}lh` as const }\n\t\tstatic rlh( value : number ) { return `${value}rlh` as const }\n\t\tstatic vh( value : number ) { return `${value}vh` as const }\n\t\tstatic vw( value : number ) { return `${value}vw` as const }\n\t\tstatic vi( value : number ) { return `${value}vi` as const }\n\t\tstatic vb( value : number ) { return `${value}vb` as const }\n\t\tstatic vmin( value : number ) { return `${value}vmin` as const }\n\t\tstatic vmax( value : number ) { return `${value}vmax` as const }\n\t\t\n\t\tstatic deg( value : number ) { return `${value}deg` as const }\n\t\tstatic rad( value : number ) { return `${value}rad` as const }\n\t\tstatic grad( value : number ) { return `${value}grad` as const }\n\t\tstatic turn( value : number ) { return `${value}turn` as const }\n\n\t\tstatic s( value : number ) { return `${value}s` as const }\n\t\tstatic ms( value : number ) { return `${value}ms` as const }\n\t\n\t}\n\n}\n","namespace $ {\n\n\texport type $mol_style_func_name =\n\t| 'calc'\n\t| 'hsla'\n\t| 'rgba'\n\t| 'var'\n\t| 'clamp'\n\t| 'scale'\n\t| 'cubic-bezier'\n\t| 'linear'\n\t| 'steps'\n\t| $mol_style_func_image\n\t| $mol_style_func_filter\n\t\n\texport type $mol_style_func_image =\n\t| 'url'\n\t| 'linear-gradient'\n\t| 'radial-gradient'\n\t| 'conic-gradient'\n\t\n\texport type $mol_style_func_filter =\n\t| 'blur'\n\t| 'brightness'\n\t| 'contrast'\n\t| 'drop-shadow'\n\t| 'grayscale'\n\t| 'hue-rotate'\n\t| 'invert'\n\t| 'opacity'\n\t| 'sepia'\n\t| 'saturate'\n\n\tconst { per } = $mol_style_unit\n\t\n\t/**\n\t * CSS Functions\n\t * @see https://mol.hyoo.ru/#!section=docs/=xwq9q5_f966fg\n\t */\n\texport class $mol_style_func<\n\t\tName extends $mol_style_func_name ,\n\t\tValue = unknown,\n\t> extends $mol_decor< Value > {\n\n\t\tconstructor(\n\t\t\treadonly name : Name,\n\t\t\tvalue : Value,\n\t\t) {\n\t\t\tsuper( value )\n\t\t}\n\n\t\tprefix() { return this.name + '(' }\n\t\tpostfix() { return ')' }\n\n\t\tstatic linear_gradient< Value >( value : Value ) {\n\t\t\treturn new $mol_style_func( 'linear-gradient' , value )\n\t\t}\n\n\t\tstatic calc< Value >( value : Value ) {\n\t\t\treturn new $mol_style_func( 'calc' , value )\n\t\t}\n\n\t\tstatic vary< Name extends string, Value extends string >( name : Name, defaultValue? : Value ) {\n\t\t\treturn new $mol_style_func( 'var' , defaultValue ? [name, defaultValue] : name )\n\t\t}\n\n\t\tstatic url< Href extends string >( href : Href ) {\n\t\t\treturn new $mol_style_func( 'url' , JSON.stringify( href ) )\n\t\t}\n\n\t\tstatic hsla(\n\t\t\thue: number,\n\t\t\tsaturation: number,\n\t\t\tlightness: number,\n\t\t\talpha: number,\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t'hsla',\n\t\t\t\t[ hue , per( saturation ) , per( lightness ) , alpha ],\n\t\t\t)\n\t\t}\n\t\n\t\tstatic clamp(\n\t\t\tmin: $mol_style_unit_str< any >,\n\t\t\tmid: $mol_style_unit_str< any >,\n\t\t\tmax: $mol_style_unit_str< any >,\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t'clamp',\n\t\t\t\t[ min, mid, max ],\n\t\t\t)\n\t\t}\n\t\n\t\tstatic rgba(\n\t\t\tred: number,\n\t\t\tgreen: number,\n\t\t\tblue: number,\n\t\t\talpha: number,\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t'rgba',\n\t\t\t\t[ red , green , blue , alpha ],\n\t\t\t)\n\t\t}\n\t\n\t\tstatic scale(\n\t\t\tzoom: number,\n\t\t) {\n\t\t\treturn new $mol_style_func( 'scale', [ zoom ] )\n\t\t}\n\t\t\n\t\tstatic linear(\n\t\t\t...breakpoints : Array]>\n\t\t){\n\t\t\treturn new $mol_style_func(\n\t\t\t\t\"linear\",\n\t\t\t\tbreakpoints.map((e) =>\n\t\t\t\t\tArray.isArray(e)\n\t\t\t\t\t\t? String(e[0]) +\n\t\t\t\t\t\t \" \" +\n\t\t\t\t\t\t (typeof e[1] === \"number\" ? e[1] + \"%\" : e[1].toString())\n\t\t\t\t\t\t: String(e)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t\t\n\t\tstatic cubic_bezier(\n\t\t\tx1: number,\n\t\t\ty1: number,\n\t\t\tx2: number,\n\t\t\ty2: number\n\t\t){\n\t\t\treturn new $mol_style_func( 'cubic-bezier', [ x1, y1, x2, y2 ]);\n\t\t}\n\t\t\n\t\tstatic steps(value: number, step_position: 'jump-start' | 'jump-end' | 'jump-none' | 'jump-both' | 'start' | 'end'){\n\t\t\treturn new $mol_style_func( 'steps', [ value, step_position ] )\n\t\t}\n\t\t\n\t\tstatic blur(value?: $mol_style_unit_str<$mol_style_unit_length>){\n\t\t\treturn new $mol_style_func( 'blur', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic brightness(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'brightness', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic contrast(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'contrast', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic drop_shadow(\n\t\t\tcolor: $mol_style_properties_color,\n\t\t\tx_offset: $mol_style_unit_str<$mol_style_unit_length>,\n\t\t\ty_offset: $mol_style_unit_str<$mol_style_unit_length>,\n\t\t\tblur_radius?: $mol_style_unit_str<$mol_style_unit_length>\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t\"drop-shadow\",\n\t\t\t\tblur_radius\n\t\t\t\t\t? [color, x_offset, y_offset, blur_radius]\n\t\t\t\t\t: [color, x_offset, y_offset]\n\t\t\t);\n\t\t}\n\t\t\n\t\tstatic grayscale(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'grayscale', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic hue_rotate(value?: 0 | $mol_style_unit_str<$mol_style_unit_angle>){\n\t\t\treturn new $mol_style_func( 'hue-rotate', value ?? \"\")\n\t\t}\n\t\t\n\t\tstatic invert(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'invert', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic opacity(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'opacity', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic sepia(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'sepia', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic saturate(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'saturate', value ?? \"\" );\n\t\t}\n\t\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Create record of CSS variables. */\n\texport function $mol_style_prop< Keys extends string[] >(\n\t\tprefix: string ,\n\t\tkeys: Keys\n\t) {\n\t\t\n\t\tconst record = keys.reduce( ( rec , key: Keys[number] )=> {\n\t\t\t\n\t\t\trec[ key ] = $mol_style_func.vary( `--${ prefix }_${ key }` )\n\t\t\treturn rec\n\t\t\t\n\t\t}, {} as Record< Keys[number], $mol_style_func< 'var' > > )\n\t\t\n\t\treturn record\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Theme css variables\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_textarea_demo\n\t */\t\n\texport const $mol_theme = $mol_style_prop(\n\t\t'mol_theme',\n\t\t[\n\t\t\t'back',\n\t\t\t'hover',\n\t\t\t'card',\n\t\t\t'current',\n\t\t\t'special',\n\t\t\t'text',\n\t\t\t'control',\n\t\t\t'shade',\n\t\t\t'line',\n\t\t\t'focus',\n\t\t\t'field',\n\t\t\t'image',\n\t\t] as const\n\t)\n\n}\n","namespace $ { $mol_style_attach( \"mol/theme/theme.css\",\n \":root {\\n\\t--mol_theme_hue: 210deg;\\n\\t--mol_theme_hue_spread: 90deg;\\n}\\n\\n:where([mol_theme]) {\\n\\tcolor: var(--mol_theme_text);\\n\\tfill: var(--mol_theme_text);\\n\\tbackground-color: var(--mol_theme_back);\\n}\\n\\t\\n:root, [mol_theme=\\\"$mol_theme_dark\\\"], :where([mol_theme=\\\"$mol_theme_dark\\\"]) [mol_theme] {\\n\\n\\t--mol_theme_luma: -1;\\n\\t--mol_theme_image: invert(1) hue-rotate( 180deg );\\n\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 10% );\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 20%, .25 );\\n\\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 8%, .25 );\\n\\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\\n\\t\\n\\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 80% );\\n\\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 60%, 1 );\\n\\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .25 );\\n\\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 65% );\\n\\t\\n\\t--mol_theme_control: hsl( var(--mol_theme_hue), 60%, 65% );\\n\\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 60%, 65% );\\n\\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 60%, 65% );\\n\\n\\t/* --mol_theme_back: oklch( 20% .03 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 35% .05 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_field: oklch( 0% 0 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\\n\\t\\n\\t--mol_theme_text: oklch( 80% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_line: oklch( 50% 0 var(--mol_theme_hue) / .2 );\\n\\t--mol_theme_focus: oklch( 80% .2 calc( var(--mol_theme_hue) + 120deg ) );\\n\\t\\n\\t--mol_theme_control: oklch( 70% .1 var(--mol_theme_hue) );\\n\\t--mol_theme_current: oklch( 80% .2 calc( var(--mol_theme_hue) - 60deg ) );\\n\\t--mol_theme_special: oklch( 80% .3 calc( var(--mol_theme_hue) + 60deg ) ); */\\n\\n}\\n\\n[mol_theme=\\\"$mol_theme_light\\\"], :where([mol_theme=\\\"$mol_theme_light\\\"]) [mol_theme] {\\n\\t\\n\\t--mol_theme_luma: 1;\\n\\t--mol_theme_image: none;\\n\\t\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 92% );\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 100%, .5 );\\n\\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 100%, .75 );\\n\\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\\n\\t\\n\\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 0% );\\n\\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 40%, 1 );\\n\\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .25 );\\n\\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 40% );\\n\\t\\n\\t--mol_theme_control: hsl( var(--mol_theme_hue), 80%, 30% );\\n\\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 80%, 30% );\\n\\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 80%, 30% );\\n\\t\\n\\t/* --mol_theme_back: oklch( 93% .01 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 100% .02 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_field: oklch( 100% 0 var(--mol_theme_hue) / .5 );\\n\\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\\n\\t\\n\\t--mol_theme_text: oklch( 20% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_line: oklch( 70% 0 var(--mol_theme_hue) / .2 );\\n\\t--mol_theme_focus: oklch( 20% .8 calc( var(--mol_theme_hue) + 120deg ) );\\n\\t\\n\\t--mol_theme_control: oklch( 45% .25 var(--mol_theme_hue) );\\n\\t--mol_theme_current: oklch( 45% .5 calc( var(--mol_theme_hue) - 60deg ) );\\n\\t--mol_theme_special: oklch( 45% .5 calc( var(--mol_theme_hue) + 60deg ) ); */\\n\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_base\\\"] {\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 50%, 30% );\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), 40%, 20%, .25 );\\n\\t/* --mol_theme_back: oklch( 25% .05 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 35% .1 var(--mol_theme_hue) / .25 ); */\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_base\\\"] {\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 50%, 80% );\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), 80%, 95%, .25 );\\n\\t/* --mol_theme_back: oklch( 95% .02 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 80% .05 var(--mol_theme_hue) / .25 ); */\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_accent\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + 180deg ), 90%, 30% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + 180deg ), 80%, 20%, .25 );\\n\\t/* --mol_theme_back: oklch( 40% .2 calc( var(--mol_theme_hue) + 120deg ) );\\n\\t--mol_theme_card: oklch( 50% .3 calc( var(--mol_theme_hue) + 120deg ) / .25 ); */\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_accent\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + 180deg ), 90%, 75% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + 180deg ), 80%, 90%, .25 );\\n\\t/* --mol_theme_back: oklch( 90% .03 calc( var(--mol_theme_hue) + 120deg ) );\\n\\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) + 120deg ) / .25 ); */\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_current\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 50%, 30% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 40%, 20%, .25 );\\n\\t/* --mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) - 60deg ) );\\n\\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) - 60deg ) / .25 ); */\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_current\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 50%, 92% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 80%, 100%, .5 );\\n\\t/* --mol_theme_back: oklch( 95% .02 calc( var(--mol_theme_hue) - 60deg ) );\\n\\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) - 60deg ) / .25 ); */\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_special\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 50%, 30% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 40%, 20%, .25 );\\n\\t/* --mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) + 60deg ) );\\n\\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) + 60deg ) / .25 ); */\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_special\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 50%, 92% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 80%, 100%, .5 );\\n\\t/* --mol_theme_back: oklch( 95% .02 calc( var(--mol_theme_hue) + 60deg ) );\\n\\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) + 60deg ) / .25 ); */\\n}\\n\"\n) }","namespace $ {\n\n\t/**\n\t * Gap in CSS\n\t * @see https://page.hyoo.ru/#!=msdb74_bm7nsq\n\t */\n\texport let $mol_gap = $mol_style_prop(\n\t\t'mol_gap',\n\t\t[\n\t\t\t'block',\n\t\t\t'text',\n\t\t\t'round',\n\t\t\t'space',\n\t\t\t'blur',\n\t\t] as const\n\t)\n\n}\n","namespace $ { $mol_style_attach( \"mol/gap/gap.css\",\n \":root {\\n\\t--mol_gap_block: .75rem;\\n\\t--mol_gap_text: .5rem .75rem;\\n\\t--mol_gap_round: .25rem;\\n\\t--mol_gap_space: .25rem;\\n\\t--mol_gap_blur: .5rem;\\n}\\n\"\n) }","namespace $ {\n\n\texport type $mol_view_content = $mol_view|Node|string|number|boolean\n\t\n\texport function $mol_view_visible_width() {\n\t\treturn $mol_window.size().width\n\t}\n\t\n\texport function $mol_view_visible_height() {\n\t\treturn $mol_window.size().height\n\t}\n\t\n\texport function $mol_view_state_key( suffix : string ) {\n\t\treturn suffix\n\t}\n\t\n\t/**\n\t * The base class for all visual components. It provides the infrastructure for reactive lazy rendering, handling exceptions.\n\t * @see https://mol.hyoo.ru/#!section=docs/=vv2nig_s5zr0f\n\t */\n\t/// Reactive statefull lazy ViewModel\n\texport class $mol_view extends $mol_object {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic Root< This extends typeof $mol_view >( this : This , id: number ) {\n\t\t\treturn new this as InstanceType< This >\n\t\t}\n\n\t\t@ $mol_mem\n\t\tautorun() {\n\t\t\ttry {\n\t\t\t\tthis.dom_tree()\n\t\t\t\tdocument.title = this.title()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic autobind() {\n\t\t\t\n\t\t\tconst nodes = $mol_dom_context.document.querySelectorAll( '[mol_view_root]:not([mol_view_root=\"\"])' )\n\t\t\t\n\t\t\tfor( let i = nodes.length - 1 ; i >= 0 ; --i ) {\n\n\t\t\t\tconst name = nodes.item( i ).getAttribute( 'mol_view_root' )!\n\t\t\t\t\n\t\t\t\tconst View = ($ as any)[ name ] as typeof $mol_view\n\t\t\t\tif( !View ) {\n\t\t\t\t\tconsole.error( `Can not attach view. Class not found: ${ name }` )\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst view = View.Root( i )\n\t\t\t\tview.dom_node( nodes.item( i ) )\n\t\t\t\tview.autorun()\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttitle() {\n\t\t\treturn this.toString().match( /.*\\.(\\w+)/ )?.[1] ?? this.toString()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tfocused( next?: boolean ) {\n\t\t\tlet node = this.dom_node()\n\t\t\tconst value = $mol_view_selection.focused( next === undefined ? undefined : ( next ? [ node ] : [] ) )\n\t\t\treturn value.indexOf( node ) !== -1\n\t\t}\n\t\t\n\t\tstate_key( suffix = '' ) {\n\t\t\treturn this.$.$mol_view_state_key( suffix )\n\t\t}\n\t\t\n\t\t/// Name of element that created when element not found in DOM\n\t\t@ $mol_memo.method\n\t\tdom_name() {\n\t\t\treturn $mol_dom_qname( this.constructor.toString() ) || 'div'\n\t\t}\n\t\t\n\t\t/// NameSpace of element that created when element not found in DOM\n\t\tdom_name_space() { return 'http://www.w3.org/1999/xhtml' }\n\t\t\n\t\t/// Raw child views\n\t\tsub() {\n\t\t\treturn [] as readonly ($mol_view|Node|string|number|boolean)[]\n\t\t}\n\t\t\n\t\t/// Visible sub views with defined ambient context\n\t\t/// Render all by default\n\t\tsub_visible() {\n\t\t\treturn this.sub()\n\t\t}\n\t\t\n\t\t/// Minimal width that used for lazy rendering\n\t\t@ $mol_mem\n\t\tminimal_width() {\n\t\t\t\n\t\t\tlet min = 0\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tconst sub = this.sub()\n\t\t\t\tif( !sub ) return 0\n\t\t\t\t\n\t\t\t\tsub.forEach( view => {\n\t\t\t\t\tif( view instanceof $mol_view ) {\n\t\t\t\t\t\tmin = Math.max( min , view.minimal_width() )\n\t\t\t\t\t}\n\t\t\t\t} )\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn 24\n\t\t\t}\n\t\t\n\t\t\treturn min\n\t\t}\n\t\t\n\t\tmaximal_width() {\n\t\t\treturn this.minimal_width()\n\t\t}\n\t\t\n\t\t/// Minimal height that used for lazy rendering\n\t\t@ $mol_mem\n\t\tminimal_height() {\n\t\t\t\n\t\t\tlet min = 0\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tfor( const view of this.sub() ?? [] ) {\n\n\t\t\t\t\tif( view instanceof $mol_view ) {\n\t\t\t\t\t\tmin = Math.max( min , view.minimal_height() )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t \n\t\t\t} catch( error: any ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn 24\n\t\t\t}\n\n\t\t\treturn min\n\t\t}\n\n\t\tstatic watchers = new Set< $mol_view >()\n\n\t\t@ $mol_mem\n\t\tview_rect() {\n\t\t\tif( $mol_wire_probe( ()=> this.view_rect() ) === undefined ) {\n\t\t\t\t$mol_wire_watch()\n\t\t\t\treturn null // don't touch DOM to prevent instant reflow\n\t\t\t} else {\n\t\t\t\tconst { width, height, left, right, top, bottom } = this.dom_node().getBoundingClientRect()\n\t\t\t\treturn { width, height, left, right, top, bottom } // pick to optimize compare\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_memo.method\n\t\tdom_id() {\n\t\t\treturn this.toString().replace( //g, ')' ).replaceAll( /\"/g, \"'\" )\n\t\t}\n\t\n\t\tdom_node_external( next?: Element) {\n\t\t\tconst node = next ?? $mol_dom_context.document.createElementNS( this.dom_name_space() , this.dom_name() )\n\n\t\t\tconst id = this.dom_id()\n\t\t\tnode.setAttribute( 'id' , id )\n\t\t\tnode.toString = $mol_const( '<#' + id + '>' )\n\n\t\t\treturn node\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdom_node( next? : Element ) {\n\t\t\t$mol_wire_solid()\n\t\t\tconst node = this.dom_node_external( next )\n\t\t\t$mol_dom_render_attributes( node , this.attr_static() )\n\t\t\t\n\t\t\tconst events = this.event_async()\n\t\t\t$mol_dom_render_events(node, events)\n\n\t\t\treturn node\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdom_final() {\n\t\t\t\n\t\t\tthis.render()\n\t\t\t\n\t\t\tconst sub = this.sub_visible()\n\t\t\tif( !sub ) return\n\t\t\t\n\t\t\tfor( const el of sub ) {\n\t\t\t\tif( el && typeof el === 'object' && 'dom_final' in el ) {\n\t\t\t\t\tel['dom_final']()\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn this.dom_node()\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tdom_tree( next? : Element ) : Element {\n\t\t\tconst node = this.dom_node( next )\n\t\t\t\n\t\t\trender: try {\n\n\t\t\t\t$mol_dom_render_attributes( node , { mol_view_error : null } )\n\n\t\t\t\ttry {\n\t\t\t\t\n\t\t\t\t\tthis.render()\n\t\t\t\t\t\n\t\t\t\t} finally {\n\t\t\t\t\t\n\t\t\t\t\tfor( let plugin of this.plugins() ) {\n\t\t\t\t\t\tif( plugin instanceof $mol_plugin ) {\n\t\t\t\t\t\t\tplugin.dom_tree()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\tconst mol_view_error = $mol_promise_like(error) ? 'Promise' : error.name || error.constructor.name\n\t\t\t\t$mol_dom_render_attributes( node , { mol_view_error } )\n\t\t\t\t\n\t\t\t\tif( $mol_promise_like( error ) ) break render\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tconst message = error.message || error\n\t\t\t\t\t;( node as HTMLElement ).innerText = message.replace( /^|$/mg, '\\xA0\\xA0' )\n\t\t\t\t} catch {}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.auto()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t\t\t\n\t\t\treturn node\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdom_node_actual() {\n\t\t\tconst node = this.dom_node()\n\n\t\t\t$mol_dom_render_styles( node, this.style_size() )\n\n\t\t\tconst attr = this.attr()\n\t\t\tconst style = this.style()\n\n\t\t\t$mol_dom_render_attributes( node , attr )\n\t\t\t$mol_dom_render_styles( node , style )\n\n\t\t\treturn node\n\t\t}\n\t\t\n\t\tauto() {\n\t\t\treturn null as any\n\t\t}\n\n\t\t@ $mol_mem\n\t\trender() {\n\n\t\t\tconst node = this.dom_node_actual()\n\n\t\t\tconst sub = this.sub_visible()\n\t\t\tif( !sub ) return\n\t\t\t\n\t\t\tconst nodes = sub.map( child => {\n\t\t\t\tif( child == null ) return null\n\t\t\t\treturn ( child instanceof $mol_view )\n\t\t\t\t\t? child.dom_node()\n\t\t\t\t\t: child instanceof $mol_dom_context.Node\n\t\t\t\t\t? child\n\t\t\t\t\t: String( child )\n\t\t\t})\n\t\t\t\n\t\t\t$mol_dom_render_children( node , nodes )\n\n\t\t\tfor( const el of sub ) if( el && typeof el === 'object' && 'dom_tree' in el ) el['dom_tree']()\n\n\t\t\t$mol_dom_render_fields( node , this.field() )\n\t\t\t\n\t\t}\n\n\t\t@ $mol_memo.method\n\t\tstatic view_classes() {\n\t\t\tconst proto = this.prototype\n\t\t\t\n\t\t\tlet current = proto\n\t\t\tconst classes = [] as ( typeof $mol_view )[]\n\t\t\t\n\t\t\twhile( current ) {\n\t\t\t\tif( current.constructor.name !== classes.at(-1)?.name ) {\n\t\t\t\t\tclasses.push( current.constructor as typeof $mol_view )\n\t\t\t\t}\n\t\t\t\tif(!( current instanceof $mol_view )) break\n\t\t\t\tcurrent = Object.getPrototypeOf( current )\n\t\t\t}\n\t\t\t\n\t\t\treturn classes\n\t\t}\n\t\t\n\t\tstatic _view_names?: Map< string, string[] >\n\t\tstatic view_names( suffix: string ) {\n\t\t\t\n\t\t\tlet cache = Reflect.getOwnPropertyDescriptor( this, '_view_names' )?.value\n\t\t\tif( !cache ) cache = this._view_names = new Map\n\t\t\t\n\t\t\tconst cached = cache.get( suffix )\n\t\t\tif( cached ) return cached\n\t\t\t\n\t\t\tconst names = [] as string[]\n\t\t\tconst suffix2 = '_' + suffix[0].toLowerCase() + suffix.substring(1)\n\t\t\t\n\t\t\tfor( const Class of this.view_classes() ) {\n\t\t\t\tif( suffix in Class.prototype ) names.push( this.$.$mol_func_name( Class ) + suffix2 )\n\t\t\t\telse break\n\t\t\t}\n\t\t\t\n\t\t\tcache.set( suffix, names )\n\t\t\treturn names\n\t\t}\n\t\t\n\t\t@ $mol_memo.method\n\t\tview_names_owned() {\n\t\t\tconst names = [] as string[]\n\t\t\tlet owner = $mol_owning_get( this ) as $mol_wire_fiber< any, any[], any >\n\n\t\t\tif(!( owner?.host instanceof $mol_view )) return names\n\n\t\t\tconst suffix = owner.task.name.trim()\n\t\t\tconst suffix2 = '_' + suffix[0].toLowerCase() + suffix.substring(1)\n\t\t\t\n\t\t\tnames.push( ... ( owner.host.constructor as typeof $mol_view ).view_names( suffix ) )\n\t\t\t\n\t\t\tfor( let prefix of owner.host.view_names_owned() ) {\n\t\t\t\tnames.push( prefix + suffix2 )\n\t\t\t}\n\t\t\t\n\t\t\treturn names\n\t\t}\n\n\t\t@ $mol_memo.method\n\t\tview_names() {\n\t\t\tconst names = new Set< string >()\n\t\t\t\n\t\t\tfor( let name of this.view_names_owned() ) names.add( name )\n\n\t\t\tfor( let Class of ( this.constructor as typeof $mol_view ).view_classes() ) {\n\t\t\t\tconst name = this.$.$mol_func_name( Class )\n\t\t\t\tif( name ) names.add( name )\n\t\t\t}\n\n\t\t\treturn names\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttheme( next = null as null | string ) {\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tattr_static() : { [ key : string ] : string|number|boolean|null } {\n\t\t\tlet attrs : any = {}\n\t\t\t\n\t\t\tfor( let name of this.view_names() ) attrs[ name.replace( /\\$/g , '' ).replace( /^(?=\\d)/ , '_' ).toLowerCase() ] = ''\n\t\t\t\n\t\t\treturn attrs\n\t\t}\n\t\t\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\tmol_theme: this.theme() ?? undefined,\n\t\t\t} as {}\n\t\t}\n\t\t\n\t\tstyle_size() {\n\t\t\treturn {\n\t\t\t\tminHeight: this.minimal_height(),\n\t\t\t\tminWidth: this.minimal_width(),\n\t\t\t} as {\n\t\t\t\t[key: string]: string | number;\n\t\t\t}\n\t\t}\n\t\t\n\t\tstyle() : { [ key : string ] : string|number } {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\tfield() : { [ key : string ] : any } {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\tevent() : { [ key : string ] : ( event : Event )=> void } {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tevent_async() {\n\t\t\treturn { ... $mol_wire_async(this.event()) }\n\t\t}\n\n\t\tplugins() {\n\t\t\treturn [] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_span( {} ,\n\t\t\t\t$mol_dev_format_native( this ) ,\n\t\t\t\t// $mol_dev_format_shade( '/' ) ,\n\t\t\t\t// $mol_dev_format_auto( $mol_wire_cache( this ).sub().cache ) ,\n\t\t\t)\n\t\t}\n\n\t\t/** Deep search view by predicate. */\n\t\t*view_find(\n\t\t\tcheck: ( path : $mol_view, text?: string )=> boolean,\n\t\t\tpath = [] as $mol_view[],\n\t\t): Generator< $mol_view[] > {\n\n\t\t\tif( check( this ) ) return yield [ ... path, this ]\n\t\t\t\n\t\t\ttry {\n\t\t\t\tfor( const item of this.sub() ) {\n\t\t\t\t\tif( item instanceof $mol_view ) {\n\t\t\t\t\t\tyield* item.view_find( check, [ ... path, this ] )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch( error: unknown ) {\n\t\t\t\tif( $mol_promise_like( error ) ) $mol_fail_hidden( error )\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t/** Renders path of views to DOM. */\n\t\tforce_render(\n\t\t\tpath : Set< $mol_view >,\n\t\t) {\n\n\t\t\tconst kids = this.sub()\n\n\t\t\tconst index = kids.findIndex( item => {\n\t\t\t\tif( item instanceof $mol_view ) {\n\t\t\t\t\treturn path.has( item )\n\t\t\t\t} else {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tif( index >= 0 ) {\n\t\t\t\t( kids[ index ] as $mol_view ).force_render( path )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t/** Renders view to DOM and scroll to it. */\n\t\tensure_visible( view: $mol_view, align: ScrollLogicalPosition = \"start\" ) {\n\t\t\t\n\t\t\tconst path = this.view_find( v => v === view ).next().value\n\t\t\tthis.force_render( new Set( path ) )\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.dom_final()\n\t\t\t} catch(err) {\n\t\t\t\t$mol_fail_log(err)\n\t\t\t}\n\n\t\t\tview.dom_node().scrollIntoView({ block: align })\n\n\t\t}\n\t\t\n\t\tbring() {\n\t\t\t\n\t\t\tconst win = this.$.$mol_dom_context\n\t\t\tif( win.parent !== win.self && !win.document.hasFocus() ) return\n\t\t\t\n\t\t\t// new this.$.$mol_after_frame( ()=> {\n\t\t\t// \tthis.dom_node().scrollIntoView({ block: 'start', inline: 'nearest' })\n\t\t\t// } )\n\t\t\t\n\t\t\t// new this.$.$mol_after_timeout( 1000, ()=> {\n\t\t\t\tthis.focused( true )\n\t\t\t// } )\n\t\t\t\n\t\t}\n\n\t\toverride destructor() {\n\t\t\tconst node = $mol_wire_probe(() => this.dom_node())\n\t\t\tif (! node) return\n\n\t\t\tconst events = $mol_wire_probe(() => this.event_async())\n\t\t\tif (! events) return\n\n\t\t\tfor( let event_name in events ) {\n\t\t\t\tnode.removeEventListener(\n\t\t\t\t\tevent_name ,\n\t\t\t\t\tevents[ event_name ]\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t}\n\n\texport type $mol_view_all = $mol_type_pick< $ , typeof $mol_view >\n\n}\n","namespace $ { $mol_style_attach( \"mol/view/view/view.css\",\n \"[mol_view] {\\n\\ttransition-property: height, width, min-height, min-width, max-width, max-height, transform;\\n\\ttransition-duration: .2s;\\n\\ttransition-timing-function: ease-out;\\n\\t-webkit-appearance: none;\\n\\tbox-sizing: border-box;\\n\\tdisplay: flex;\\n\\tflex-shrink: 0;\\n\\tcontain: style;\\n\\tscrollbar-color: var(--mol_theme_line) transparent;\\n\\tscrollbar-width: thin;\\n}\\t\\n\\n[mol_view]::selection {\\n\\tbackground: var(--mol_theme_line);\\n}\\t\\n\\n[mol_view]::-webkit-scrollbar {\\n\\twidth: .25rem;\\n\\theight: .25rem;\\n}\\n\\n[mol_view]::-webkit-scrollbar-corner {\\n\\tbackground-color: var(--mol_theme_line);\\n}\\n\\n[mol_view]::-webkit-scrollbar-track {\\n\\tbackground-color: transparent;\\n}\\n\\n[mol_view]::-webkit-scrollbar-thumb {\\n\\tbackground-color: var(--mol_theme_line);\\n\\tborder-radius: var(--mol_gap_round);\\n}\\n\\n[mol_view] > * {\\n\\tword-break: inherit;\\n}\\n\\n[mol_view_root] {\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\tbox-sizing: border-box;\\n\\tfont-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\\n\\tfont-size: 1rem;\\n\\tline-height: 1.5rem;\\n\\tbackground: var(--mol_theme_back);\\n\\tcolor: var(--mol_theme_text);\\n\\tcontain: unset; /** Fixes bg ignoring when applied to body on Chrome */\\n\\ttab-size: 4;\\n\\toverscroll-behavior: contain; /** Disable navigation gestures **/\\n}\\n\\n@media print {\\n\\t[mol_view_root] {\\n\\t\\theight: auto;\\n\\t}\\n}\\n\\n[mol_view][mol_view_error]:not([mol_view_error=\\\"Promise\\\"]) {\\n\\tbackground-image: repeating-linear-gradient(\\n\\t\\t-45deg,\\n\\t\\t#f92323,\\n\\t\\t#f92323 .5rem,\\n\\t\\t#ff3d3d .5rem,\\n\\t\\t#ff3d3d 1.5rem\\n\\t);\\n\\tcolor: black;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\\n@keyframes mol_view_wait {\\n\\tfrom {\\n\\t\\topacity: .25;\\n\\t}\\n\\t20% {\\n\\t\\topacity: .75;\\n\\t}\\n\\tto {\\n\\t\\topacity: .25;\\n\\t}\\n}\\n\\n:where([mol_view][mol_view_error=\\\"Promise\\\"]) {\\n\\tbackground: var(--mol_theme_hover);\\n}\\n\\n[mol_view][mol_view_error=\\\"Promise\\\"] {\\n\\tanimation: mol_view_wait 1s steps(20,end) infinite;\\n}\\n\"\n) }","namespace $ {\n\t/** Plugin is component without its own DOM element, but instead uses the owner DOM element */\n\texport class $mol_plugin extends $mol_view {\n\n\t\toverride dom_node_external( next? : Element ) {\n\t\t\treturn next ?? $mol_owning_get>( this )!.host!.dom_node()\n\t\t}\n\n\t\toverride render() {\n\t\t\tthis.dom_node_actual()\n\t\t}\n\n\t}\n\n}\n","$mol_scroll $mol_view\n\tscroll_top? 0\n\tscroll_left? 0\n\tfield *\n\t\t^\n\t\ttabIndex <= tabindex -1\n\tevent *\n\t\t^\n\t\tscroll?event <=> event_scroll?event null\n","namespace $ {\n\n\texport class $mol_dom_listener extends $mol_object {\n\n\t\tconstructor(\n\t\t\tpublic _node : any ,\n\t\t\tpublic _event : string ,\n\t\t\tpublic _handler : ( event : any )=> any ,\n\t\t\tpublic _config : boolean|{ passive : boolean } = { passive : true }\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis._node.addEventListener( this._event , this._handler , this._config )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tthis._node.removeEventListener( this._event , this._handler , this._config )\n\t\t\tsuper.destructor()\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_print extends $mol_object {\n\n\t\t@ $mol_mem\n\t\tstatic before() {\n\t\t\treturn new $mol_dom_listener( this.$.$mol_dom_context , 'beforeprint' , ()=> {\n\t\t\t\tthis.active( true )\n\t\t\t} )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstatic after() {\n\t\t\treturn new $mol_dom_listener( this.$.$mol_dom_context , 'afterprint' , ()=> {\n\t\t\t\tthis.active( false )\n\t\t\t} )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstatic active( next? : boolean ) {\n\t\t\tthis.before()\n\t\t\tthis.after()\n\t\t\treturn next || false\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_style_sheet<\n\t\tComponent extends $mol_view,\n\t\tConfig extends $mol_style_guard< Component , Config >,\n\t>(\n\t\tComponent : new()=> Component,\n\t\tconfig0 : Config ,\n\t) {\n\n\t\tlet rules = [] as string[]\n\n\t\tconst block = $mol_dom_qname( $mol_ambient({}).$mol_func_name( Component ) )\n\t\tconst kebab = ( name : string )=> name.replace( /[A-Z]/g , letter => '-' + letter.toLowerCase() )\n\n\t\tconst make_class = ( prefix : string , path : string[] , config : typeof config0 )=> {\n\n\t\t\tconst props = [] as string[]\n\n\t\t\tconst selector = ( prefix : string , path : string[] )=> {\n\t\t\t\tif( path.length === 0 ) return prefix || `[${ block }]`\n\t\t\t\tlet res = `[${ block }_${ path.join('_') }]`\n\t\t\t\tif( prefix ) res = prefix + ' :where(' + res + ')'\n\t\t\t\treturn res\n\t\t\t}\n\t\t\t\n\t\t\tfor( const key of Object.keys( config ).reverse() ) {\n\n\t\t\t\tif( /^(--)?[a-z]/.test(key) ) {\n\t\t\t\t\t\n\t\t\t\t\tconst addProp = ( keys : string[] , val : any )=> {\n\n\t\t\t\t\t\tif( Array.isArray( val ) ) {\n\n\t\t\t\t\t\t\tif( val[0] && [ Array , Object ].includes( val[0].constructor ) ) {\n\t\t\t\t\t\t\t\tval = val.map( v => {\n\t\t\t\t\t\t\t\t\treturn Object.entries( v ).map( ([ n , a ])=> {\n\t\t\t\t\t\t\t\t\t\tif( a === true ) return kebab( n )\n\t\t\t\t\t\t\t\t\t\tif( a === false ) return null\n\t\t\t\t\t\t\t\t\t\treturn String( a )\n\t\t\t\t\t\t\t\t\t} ).filter( Boolean ).join(' ')\n\t\t\t\t\t\t\t\t}).join( ',' )\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tval = val.join(' ')\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tprops.push(`\\t${ keys.join('-') }: ${ val };\\n`)\n\n\t\t\t\t\t\t} else if( val.constructor === Object ) {\n\n\t\t\t\t\t\t\tfor( let suffix in val ) {\n\t\t\t\t\t\t\t\taddProp( [ ... keys , kebab( suffix ) ] , val[ suffix ] )\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\tprops.push(`\\t${ keys.join('-') }: ${ val };\\n`)\n\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\n\t\t\t\t\taddProp( [ kebab(key) ] , (config as any)[key] )\n\n\t\t\t\t} else if( /^[A-Z]/.test(key) ) {\n\n\t\t\t\t\tmake_class( prefix , [ ... path , key.toLowerCase() ] , (config as any)[key] )\n\n\t\t\t\t} else if( key[0] === '$' ) {\n\n\t\t\t\t\tmake_class( selector( prefix , path ) + ' :where([' + $mol_dom_qname( key ) + '])' , [] , (config as any)[key] )\n\n\t\t\t\t} else if( key === '>' ) {\n\n\t\t\t\t\tconst types = config[key] as any\n\n\t\t\t\t\tfor( let type in types ) {\n\t\t\t\t\t\tmake_class( selector( prefix , path ) + ' > :where([' + $mol_dom_qname( type ) + '])' , [] , types[type] )\n\t\t\t\t\t}\n\n\t\t\t\t} else if( key === '@' ) {\n\n\t\t\t\t\tconst attrs = config[key] as any\n\n\t\t\t\t\tfor( let name in attrs ) {\n\t\t\t\t\t\tfor( let val in attrs[name] ) {\n\t\t\t\t\t\t\tmake_class( selector( prefix , path ) + ':where([' + name + '=' + JSON.stringify( val ) + '])' , [] , attrs[name][val] )\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t} else if( key === '@media' ) {\n\n\t\t\t\t\tconst media = (config as any)[key] as any\n\n\t\t\t\t\tfor( let query in media ) {\n\n\t\t\t\t\t\trules.push('}\\n')\n\t\t\t\t\t\t\n\t\t\t\t\t\tmake_class( prefix , path , media[query] )\n\t\t\t\t\t\t\n\t\t\t\t\t\trules.push( `${ key } ${ query } {\\n` )\n\n\t\t\t\t\t}\n\n\t\t\t\t} else if( key[0] === '[' && key[key.length-1] === ']' ) {\n\n\t\t\t\t\tconst attr = key.slice( 1, -1 )\n\t\t\t\t\tconst vals = config[ key as any ] as any as Record< string, any >\n\t\t\t\t\t\n\t\t\t\t\tfor( let val in vals ) {\n\t\t\t\t\t\tmake_class( selector( prefix , path ) + ':where([' + attr + '=' + JSON.stringify( val ) + '])' , [] , vals[val] )\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\t} else {\n\n\t\t\t\t\tmake_class( selector( prefix , path ) + key , [] , (config as any)[key] )\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\tif( props.length ) {\n\t\t\t\trules.push( `${ selector( prefix , path ) } {\\n${ props.reverse().join('') }}\\n` )\n\t\t\t}\n\n\t\t}\n\n\t\tmake_class( '' , [] , config0 )\n\n\t\treturn rules.reverse().join('')\n\n\t}\n\n}\n","namespace $ {\n\n\t/**\n\t * CSS in TS.\n\t * Statically typed CSS style sheets. Following samples show which CSS code are generated from TS code.\n\t * @see https://mol.hyoo.ru/#!section=docs/=xwq9q5_f966fg\n\t */\n\texport function $mol_style_define<\n\t\tComponent extends $mol_view,\n\t\tConfig extends $mol_style_guard< Component , Config >,\n\t>(\n\t\tComponent : new()=> Component,\n\t\tconfig : Config ,\n\t) {\n\n\t\treturn $mol_style_attach(\n\t\t\tComponent.name,\n\t\t\t$mol_style_sheet( Component , config ),\n\t\t)\n\n\t}\n\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Scrolling pane.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_scroll_demo\n\t */\n\texport class $mol_scroll extends $.$mol_scroll {\n\n\t\t@ $mol_mem\n\t\tscroll_top( next? : number, cache?: 'cache' ): number {\n\t\t\t\n\t\t\tconst el = this.dom_node()\n\t\t\tif( next !== undefined && !cache ) el.scrollTop = next\n\t\t\t\n\t\t\treturn el.scrollTop\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tscroll_left( next? : number, cache?: 'cache' ): number {\n\t\t\t\n\t\t\tconst el = this.dom_node()\n\t\t\tif( next !== undefined && !cache ) el.scrollLeft = next\n\t\t\t\n\t\t\treturn el.scrollLeft\n\t\t}\n\t\t\n\t\tevent_scroll( next? : Event ) {\n\t\t\t\n\t\t\tconst el = this.dom_node() as HTMLElement\n\t\t\t\n\t\t\tthis.scroll_left( el.scrollLeft, 'cache' )\n\t\t\tthis.scroll_top( el.scrollTop, 'cache' )\n\t\t\t\n\t\t}\n\n\t\tminimal_height() {\n\t\t\treturn this.$.$mol_print.active() ? null! : 0\n\t\t}\n\t\t\n\t\tminimal_width() {\n\t\t\treturn this.$.$mol_print.active() ? null! : 0\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $.$$ {\n\n\tconst { per , rem , px } = $mol_style_unit\n\n\t$mol_style_define( $mol_scroll , {\n\n\t\tdisplay: 'grid',\n\t\toverflow: 'auto',\n\t\tflex: {\n\t\t\tdirection: 'column',\n\t\t\tgrow: 1,\n\t\t\tshrink: 1,\n\t\t\t// basis: 0,\n\t\t},\n\t\toutline: 'none',\n\t\talign: {\n\t\t\tself: 'stretch',\n\t\t\titems: 'flex-start',\n\t\t},\n\t\tboxSizing: 'border-box',\n\t\twillChange: 'scroll-position',\n\t\tscroll: {\n\t\t\tpadding: [ rem(.75), 0 ],\n\t\t},\n\t\tmaxHeight: per(100),\n\t\tmaxWidth: per(100),\n\t\twebkitOverflowScrolling: 'touch',\n\t\tcontain: 'content',\n\n\t\t'>': {\n\t\t\t$mol_view: {\n\t\t\t\t// transform: 'translateZ(0)', // enforce gpu scroll in all agents\n\t\t\t\tgridArea: '1/1',\n\t\t\t},\n\t\t},\n\n\t\t'::before': {\n\t\t\tdisplay: 'none',\n\t\t},\n\t\t'::after': {\n\t\t\tdisplay: 'none',\n\t\t},\n\t\t\n\t\t'::-webkit-scrollbar': {\n\t\t\twidth: rem(.25),\n\t\t\theight: rem(.25),\n\t\t},\n\t\t\n\t\t'@media' : {\n\t\t\t'print' : {\n\t\t\t\toverflow: 'visible',\n\t\t\t\tcontain: 'none',\n\t\t\t\tmaxHeight: 'unset',\n\t\t\t},\n\t\t},\n\n\t})\n\n}\n","$mol_book2 $mol_scroll\n\tmenu_title \\\n\tsub <= pages /$mol_view\n\tminimal_width 0\n\tPlaceholder $mol_view\n\tGap* $mol_view title \\\n","namespace $ {\n\texport let $mol_mem_cached = $mol_wire_probe\n}\n","namespace $ {\n\n\t/**\n\t * Z-index values for layers\n\t * https://page.hyoo.ru/#!=xthcpx_wqmiba\n\t */\n\texport let $mol_layer = $mol_style_prop(\n\t\t'mol_layer',\n\t\t[\n\t\t\t'hover',\n\t\t\t'focus',\n\t\t\t'speck',\n\t\t\t'float',\n\t\t\t'popup',\n\t\t] as const\n\t)\n\n}\n","namespace $ { $mol_style_attach( \"mol/layer/layer.css\",\n \":root {\\n\\t--mol_layer_hover: 1;\\n\\t--mol_layer_focus: 2;\\n\\t--mol_layer_speck: 3;\\n\\t--mol_layer_float: 4;\\n\\t--mol_layer_popup: 5;\\n}\\n\"\n) }","namespace $.$$ {\n\n\t/**\n\t * Root component for adaptivity to various screen sizes. Implements booklet UX.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_book2_demo\n\t */\n\texport class $mol_book2 extends $.$mol_book2 {\n\t\t\n\t\ttitle() {\n\t\t\treturn this.pages().map( page => {\n\t\t\t\ttry {\n\t\t\t\t\treturn page?.title()\n\t\t\t\t} catch( error ) {\n\t\t\t\t\t$mol_fail_log( error )\n\t\t\t\t}\n\t\t\t} ).reverse().filter( Boolean ).join( ' | ' )\n\t\t}\n\t\t\n\t\tmenu_title() {\n\t\t\treturn this.pages()[0]?.title() || this.title()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\t\n\t\t\tconst placeholder = this.Placeholder()\n\t\t\tconst next = [ ... this.pages(), placeholder ]\n\t\t\t\n\t\t\tconst prev = $mol_mem_cached( ()=> this.sub() ) ?? []\n\t\t\t\n\t\t\tfor( let i = 1 ; i++ ; ) {\n\t\t\t\t\n\t\t\t\tconst p = prev[ prev.length - i ]\n\t\t\t\tconst n = next[ next.length - i ]\n\t\t\t\t\n\t\t\t\tif( !n ) break\n\n\t\t\t\tif( p === n ) continue\n\t\t\t\tif( n === placeholder ) continue\n\n\t\t\t\tnew this.$.$mol_after_tick( ()=> {\n\t\t\t\t\tconst b = this.dom_node() as HTMLElement\n\t\t\t\t\tconst p = n.dom_node() as HTMLElement\n\t\t\t\t\tb.scroll({\n\t\t\t\t\t\tleft: p.offsetLeft + p.offsetWidth - b.offsetWidth,\n\t\t\t\t\t\tbehavior: 'smooth',\n\t\t\t\t\t})\n\t\t\t\t\tnew this.$.$mol_after_timeout( 1000, ()=> n.bring() )\n\t\t\t\t} )\n\t\t\t\t\n\t\t\t\tbreak\n\n\t\t\t}\n\n\t\t\treturn next as readonly $mol_view[]\n\t\t}\n\t\t\n\t\tbring() {\n\t\t\t\n\t\t\tconst pages = this.pages()\n\t\t\t\n\t\t\tif( pages.length ) pages[ pages.length - 1 ].bring()\n\t\t\telse super.bring()\n\t\t\t\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/book2/book2.view.css\",\n \"[mol_book2] {\\n\\tdisplay: flex;\\n\\tflex-flow: row nowrap;\\n\\talign-items: stretch;\\n\\tflex: 1 1 auto;\\n\\talign-self: stretch;\\n\\tmargin: 0;\\n\\t/* box-shadow: 0 0 0 1px var(--mol_theme_line); */\\n\\t/* transform: translateZ(0); */\\n\\ttransition: none;\\n\\toverflow: overlay;\\n\\tscroll-snap-type: x mandatory;\\n\\t/* padding: 0 1px;\\n\\tscroll-padding: 0 1px;\\n\\tgap: 1px; */\\n}\\n\\n[mol_book2] > * {\\n/* \\tflex: none; */\\n\\tscroll-snap-stop: always;\\n\\tscroll-snap-align: end;\\n\\tposition: relative;\\n\\tmin-height: 100%;\\n\\tmax-height: 100%;\\n\\tmax-width: 100%;\\n\\tflex-shrink: 0;\\n\\tbox-shadow: inset 0 0 0 1px var(--mol_theme_field);\\n}\\n\\n[mol_book2] > *:not(:first-of-type):before,\\n[mol_book2] > *:not(:last-of-type)::after {\\n\\tcontent: '';\\n\\tposition: absolute;\\n\\ttop: 1.5rem;\\n\\twidth: 3px;\\n\\theight: 1rem;\\n\\tbackground: linear-gradient(\\n\\t\\tto bottom,\\n\\t\\tvar(--mol_theme_focus) 0%,\\n\\t\\tvar(--mol_theme_focus) 14%,\\n\\t\\ttransparent 15%,\\n\\t\\ttransparent 42%,\\n\\t\\tvar(--mol_theme_focus) 43%,\\n\\t\\tvar(--mol_theme_focus) 57%,\\n\\t\\ttransparent 58%,\\n\\t\\ttransparent 85%,\\n\\t\\tvar(--mol_theme_focus) 86%,\\n\\t\\tvar(--mol_theme_focus) 100%\\n\\t);\\n\\topacity: .5;\\n\\tz-index: var(--mol_layer_speck);\\n}\\n[mol_book2] > *:not(:first-of-type):before {\\n\\tleft: -1px;\\n}\\n[mol_book2] > *:not(:last-of-type)::after {\\n\\tright: -1px;\\n}\\n\\n:where([mol_book2]) > * {\\n\\tbackground-color: var(--mol_theme_card);\\n\\t/* box-shadow: 0 0 0 1px var(--mol_theme_back); */\\n}\\n\\n[mol_book2] > [mol_book2] {\\n\\tdisplay: contents;\\n}\\n\\n[mol_book2] > *:first-child {\\n\\tscroll-snap-align: start;\\n}\\n\\n[mol_book2] > [mol_view] {\\n\\ttransform: none; /* prevent content clipping */\\n}\\n\\n[mol_book2_placeholder] {\\n\\tflex: 1 1 0;\\n\\tbackground: none;\\n}\\n\\n[mol_book2_gap] {\\n\\tbackground: none;\\n\\tflex-grow: 1;\\n\\tscroll-snap-align: none;\\n\\tmargin-right: -1px;\\n\\tbox-shadow: none;\\n}\\n\\n[mol_book2_gap]::before,\\n[mol_book2_gap]::after {\\n\\tdisplay: none;\\n}\\n\"\n) }","$mol_theme_auto $mol_plugin\n\tattr * mol_theme <= theme \\\n","namespace $ {\n\t/**\n\t * Decorates method to fiber to ensure it is executed only once inside other fiber from [mol_wire](../wire/README.md)\n\t * @see https://mol.hyoo.ru/#!section=docs/=1fcpsq_1wh0h2\n\t */\n\texport let $mol_action = $mol_wire_method\n}\n","namespace $ {\n\n\t/** State of arguments like `foo=bar xxx` */\n\texport class $mol_state_arg extends $mol_object {\n\t\t\n\t\tstatic prolog = ''\n\t\tstatic separator = ' '\n\t\t\n\t\t@ $mol_mem\n\t\tstatic href( next? : string ) {\n\t\t\treturn next || process.argv.slice( 2 ).join( ' ' )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic href_normal() {\n\t\t\treturn this.link({})\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic dict( next? : { [ key : string ] : string | null } ) {\n\t\t\tif( next !== void 0 ) this.href( this.make_link( next ) )\n\t\t\t\n\t\t\tvar href = this.href()\n\t\t\tvar chunks = href.split( ' ' )\n\t\t\t\n\t\t\tvar params : { [ key : string ] : string } = {}\n\t\t\tchunks.forEach(\n\t\t\t\tchunk => {\n\t\t\t\t\tif( !chunk ) return\n\t\t\t\t\tvar vals = chunk.split( '=' ).map( decodeURIComponent )\n\t\t\t\t\tparams[ vals.shift()! ] = vals.join('=')\n\t\t\t\t}\n\t\t\t)\n\t\t\t\n\t\t\treturn params as Readonly< typeof params >\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic value( key : string , next? : string | null ) {\n\t\t\tif( next === void 0 ) return this.dict()[ key ] ?? null\n\t\t\tthis.href( this.link( { [ key ] : next } ) )\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tstatic link( next : Record ) {\n\t\t\tconst params : Record = {}\n\t\t\t\n\t\t\tvar prev = this.dict()\n\t\t\tfor( var key in prev ) {\n\t\t\t\tparams[ key ] = prev[ key ]\n\t\t\t}\n\t\t\t\n\t\t\tfor( var key in next ) {\n\t\t\t\tparams[ key ] = next[ key ]\n\t\t\t}\n\t\t\t\n\t\t\treturn this.make_link( params )\n\t\t}\n\t\t\n\t\tstatic make_link( next : Record) {\n\t\t\tconst chunks : string[] = []\n\t\t\tfor( const key in next ) {\n\t\t\t\tif( next[ key ] !== null ) {\n\t\t\t\t\tchunks.push([key, next[key]!].map(encodeURIComponent).join('='))\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn chunks.join( ' ' )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tstatic go( next : { [ key : string ] : string | null } ) {\n\t\t\tthis.href( this.link( next ) )\n\t\t}\n\t\t\n\t\tconstructor( public prefix = '' ) {\n\t\t\tsuper()\n\t\t}\n\t\t\n\t\tvalue( key : string , next? : string ) {\n\t\t\treturn ( this.constructor as typeof $mol_state_arg ).value( this.prefix + key , next )\n\t\t}\n\t\t\n\t\tsub( postfix : string ) {\n\t\t\treturn new ( this.constructor as typeof $mol_state_arg )( this.prefix + postfix + '.' )\n\t\t}\n\t\t\n\t\tlink( next : Record ) {\n\t\t\tconst prefix = this.prefix\n\t\t\tconst dict : Record = {}\n\t\t\tfor( var key in next ) {\n\t\t\t\tdict[ prefix + key ] = next[ key ]\n\t\t\t}\n\t\t\treturn ( this.constructor as typeof $mol_state_arg ).link( dict )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport class $mol_media extends $mol_object2 {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic match( query: string, next?: boolean ) {\n\t\t\t\n\t\t\tif( next !== undefined ) return next\n\t\t\t\n\t\t\tconst res = this.$.$mol_dom_context.matchMedia?.( query ) ?? {}\n\t\t\tres.onchange = ()=> this.match( query, res.matches )\n\t\t\t\n\t\t\treturn res.matches\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\texport let $mol_mem_persist = $mol_wire_solid\n}\n","namespace $ {\n\texport class $mol_storage extends $mol_object2 {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic native() {\n\t\t\treturn this.$.$mol_dom_context.navigator.storage ?? { // exists only in secure context\n\t\t\t\tpersisted: async ()=> false,\n\t\t\t\tpersist: async ()=> false,\n\t\t\t\testimate: async ()=> ({}),\n\t\t\t\tgetDirectory: async ()=> null! as FileSystemHandle,\n\t\t\t} as StorageManager\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic persisted( next?: boolean, cache?: 'cache' ): boolean {\n\t\t\t\n\t\t\t$mol_mem_persist()\n\t\t\t\n\t\t\tif( cache ) return Boolean( next )\n\t\t\t\n\t\t\tconst native = this.native()\n\t\t\tif( next && !$mol_mem_cached( ()=> this.persisted() ) ) {\n\t\t\t\tnative.persist().then( actual => {\n\t\t\t\t\t\n\t\t\t\t\tsetTimeout( ()=> this.persisted( actual, 'cache' ), 5000 )\n\t\t\t\t\t\n\t\t\t\t\tif( actual ) this.$.$mol_log3_done({ place: `$mol_storage`, message: `Persist: Yes` })\n\t\t\t\t\telse this.$.$mol_log3_fail({ place: `$mol_storage`, message: `Persist: No` })\n\t\t\t\t\t\n\t\t\t\t} )\n\t\t\t}\n\t\t\t\n\t\t\treturn next ?? $mol_wire_sync( native ).persisted()\n\t\t}\n\t\t\n\t\tstatic estimate() {\n\t\t\treturn $mol_wire_sync( this.native() ?? {} ).estimate()\n\t\t}\n\t\t\n\t\tstatic dir() {\n\t\t\treturn $mol_wire_sync( this.native() ).getDirectory()\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t\n\texport class $mol_state_local< Value > extends $mol_object {\n\t\t\n\t\tstatic 'native()' : Pick< Storage , 'getItem'|'setItem'|'removeItem' >\n\t\tstatic native() {\n\t\t\tif( this['native()'] ) return this['native()']\n\n\t\t\tcheck : try {\n\t\t\t\tconst native = $mol_dom_context.localStorage\n\t\t\t\tif( !native ) break check\n\t\t\t\t\n\t\t\t\tnative.setItem( '' , '' )\n\t\t\t\tnative.removeItem( '' )\n\t\t\t\treturn this['native()'] = native\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.warn( error )\n\t\t\t}\n\n\t\t\treturn this['native()'] = {\n\t\t\t\tgetItem( key : string ) {\n\t\t\t\t\treturn (this as any)[ ':' + key ]\n\t\t\t\t} ,\n\t\t\t\tsetItem( key : string , value : string ) {\n\t\t\t\t\t(this as any)[ ':' + key ] = value\n\t\t\t\t} ,\n\t\t\t\tremoveItem( key : string ) {\n\t\t\t\t\t(this as any)[ ':' + key ] = void 0\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic changes( next?: StorageEvent ) { return next }\n\n\t\t@ $mol_mem_key\n\t\tstatic value< Value >(\n\t\t\tkey : string ,\n\t\t\tnext? : Value | null ,\n\t\t) : Value | null {\n\t\t\t\n\t\t\tthis.changes()\n\t\t\t\n\t\t\tif( next === void 0 ) return JSON.parse( this.native().getItem( key ) || 'null' )\n\t\t\t\n\t\t\tif( next === null ) {\n\t\t\t\tthis.native().removeItem( key )\n\t\t\t} else {\n\t\t\t\tthis.native().setItem( key , JSON.stringify( next ) )\n\t\t\t\tthis.$.$mol_storage.persisted( true )\n\t\t\t}\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tprefix() { return '' }\n\t\t\n\t\tvalue( key : string , next? : Value ) {\n\t\t\treturn $mol_state_local.value( this.prefix() + '.' + key , next )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\tconst decoders = {} as { [ key in $mol_charset_encoding ]?: TextDecoder }\n\n\texport function $mol_charset_decode(\n\t\tbuffer: BufferSource,\n\t\tencoding: $mol_charset_encoding = 'utf8',\n\t) {\n\t\t\n\t\tlet decoder = decoders[ encoding ]\n\t\tif( !decoder ) decoder = decoders[ encoding ] = new TextDecoder( encoding )\n\t\t\n\t\treturn decoder.decode( buffer )\n\t}\n\n}\n","namespace $ {\n\tconst TextEncoder = globalThis.TextEncoder ?? $node.util.TextEncoder\n\n\tconst encoder = new TextEncoder()\n\n\texport function $mol_charset_encode(value: string) {\n\t\treturn encoder.encode(value)\n\t}\n\n}\n","namespace $ {\n\n\texport type $mol_file_type = 'file' | 'dir' | 'link'\n\n\texport interface $mol_file_stat {\n\t\ttype: $mol_file_type\n\t\tsize: number\n\t\tatime: Date\n\t\tmtime: Date\n\t\tctime: Date\n\t}\n\n\texport class $mol_file_not_found extends Error {}\n\n\texport abstract class $mol_file extends $mol_object {\n\t\t\t\n\t\t@ $mol_mem_key\n\t\tstatic absolute( path : string ): $mol_file {\n\t\t\tthrow new Error( 'Not implemented yet' )\n\t\t}\n\n\t\tstatic relative( path : string ) : $mol_file {\n\t\t\tthrow new Error( 'Not implemented yet' )\n\t\t}\n\t\t\n\t\tstatic base = ''\n\t\t\n\t\tpath() {\n\t\t\treturn '.'\n\t\t}\n\t\t\n\t\tparent() {\n\t\t\treturn this.resolve( '..' )\n\t\t}\n\n\t\tabstract stat( next? : $mol_file_stat | null, virt?: 'virt' ): $mol_file_stat | null\n\n\t\treset(): void {\n\t\t\ttry {\n\t\t\t\tthis.stat( null )\n\t\t\t} catch( error: any ) {\n\t\t\t\tif (error instanceof $mol_file_not_found) return\n\t\t\t\treturn $mol_fail_hidden(error)\n\t\t\t}\n\t\t}\n\t\t\n\t\tversion() {\n\t\t\treturn this.stat()?.mtime.getTime().toString( 36 ).toUpperCase() ?? ''\n\t\t}\n\n\t\tabstract ensure(): void\n\t\tabstract drop(): void\n\n\t\twatcher() {\n\t\t\tconsole.warn('$mol_file_web.watcher() not implemented')\n\n\t\t\treturn {\n\t\t\t\tdestructor() {}\n\t\t\t}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\texists( next? : boolean ) {\n\t\t\t\n\t\t\tlet exists = Boolean( this.stat() )\n\n\t\t\tif( next === undefined ) return exists\n\t\t\tif( next === exists ) return exists\n\n\t\t\tif( next ) {\n\t\t\t\tthis.parent().exists( true )\n\t\t\t\tthis.ensure()\n\t\t\t} else {\n\t\t\t\tthis.drop()\n\t\t\t}\n\t\t\tthis.reset()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\ttype() {\n\t\t\treturn this.stat()?.type ?? ''\n\t\t}\n\t\t\n\t\tname() {\n\t\t\treturn this.path().replace( /^.*\\//, '' )\n\t\t}\n\t\t\n\t\text() {\n\t\t\tconst match = /((?:\\.\\w+)+)$/.exec( this.path() )\n\t\t\treturn match ? match[ 1 ].substring( 1 ) : ''\n\t\t}\n\n\t\tabstract buffer( next? : Uint8Array ): Uint8Array\n\n\t\t@ $mol_mem\n\t\ttext(next?: string, virt?: 'virt') {\n\t\t\tif( virt ) {\n\t\t\t\tconst now = new Date\n\t\t\t\tthis.stat( {\n\t\t\t\t\ttype: 'file',\n\t\t\t\t\tsize: 0,\n\t\t\t\t\tatime: now,\n\t\t\t\t\tmtime: now,\n\t\t\t\t\tctime: now,\t\t\t\n\t\t\t\t}, 'virt' )\n\t\t\t\treturn next!\n\t\t\t}\n\t\t\tif( next === undefined ) {\n\t\t\t\treturn $mol_charset_decode( this.buffer( undefined ) )\t\n\t\t\t} else {\n\t\t\t\tconst buffer = next === undefined ? undefined : $mol_charset_encode( next )\n\t\t\t\tthis.buffer( buffer )\n\t\t\t\treturn next\n\t\t\t}\n\t\t}\n\n\t\tabstract sub(): $mol_file[]\n\n\t\tabstract resolve(path: string): $mol_file\n\n\t\tabstract relate( base?: $mol_file ): string\n\t\t\n\t\tabstract append( next : Uint8Array | string ): void\n\t\t\n\t\tfind(\n\t\t\tinclude? : RegExp ,\n\t\t\texclude? : RegExp\n\t\t) {\n\t\t\tconst found = [] as $mol_file[]\n\t\t\tconst sub = this.sub()\n\n\t\t\tfor (const child of sub) {\n\t\t\t\tconst child_path = child.path()\n\n\t\t\t\tif( exclude && child_path.match( exclude ) ) continue\n\n\t\t\t\tif( !include || child_path.match( include ) ) found.push( child )\n\n\t\t\t\tif( child.type() === 'dir' ) {\n\t\t\t\t\tconst sub_child = child.find( include , exclude )\n\t\t\t\t\tfor (const child of sub_child) found.push(child)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn found\n\t\t}\n\n\t\tsize() {\n\t\t\tswitch( this.type() ) {\n\t\t\t\tcase 'file': return this.stat()?.size ?? 0\n\t\t\t\tdefault: return 0\n\t\t\t}\n\t\t}\n\t\t\n\t\topen( ... modes: readonly ( 'create' | 'exists_truncate' | 'exists_fail' | 'read_only' | 'write_only' | 'read_write' | 'append' )[] ) {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\ttoJSON() {\n\t\t\treturn this.path()\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n export function $mol_compare_array>(a: Value, b: Value): boolean {\n\t\tif (a === b) return true\n\t\tif (Object.getPrototypeOf(a) !== Object.getPrototypeOf(b)) return false\n\t\tif (a.length !== b.length) return false\n\n\t\tfor (let i = 0; i < a.length; i++)\n\t\t\tif (a[i] !== b[i]) return false\n\n\t\treturn true\n\t}\n}\n","namespace $ {\n\n\tfunction stat_convert(stat: ReturnType): null | $mol_file_stat {\n\t\t\n\t\tif( !stat ) return null\n\t\t\n\t\tlet type: $mol_file_type | undefined\n\t\tif (stat.isDirectory()) type = 'dir'\n\t\tif (stat.isFile()) type = 'file'\n\t\tif (stat.isSymbolicLink()) type = 'link'\n\n\t\tif (! type) return $mol_fail( new Error(`Unsupported file type`) )\n\n\t\treturn {\n\t\t\ttype, \n\t\t\tsize: Number(stat.size),\n\t\t\tatime: stat.atime,\n\t\t\tmtime: stat.mtime,\n\t\t\tctime: stat.ctime\n\t\t}\n\t}\n\n\tfunction buffer_normalize(buf: Buffer): Uint8Array {\n\t\treturn new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength)\n\t}\n\t\n\texport enum $mol_file_mode_open {\n\t\t/** create if it doesn't already exist */\n\t\tcreate = $node.fs.constants.O_CREAT,\n\t\t/** truncate to zero size if it already exists */\n\t\texists_truncate = $node.fs.constants.O_TRUNC,\n\t\t/** throw exception if it already exists */\n\t\texists_fail = $node.fs.constants.O_EXCL,\n\t\tread_only = $node.fs.constants.O_RDONLY,\n\t\twrite_only = $node.fs.constants.O_WRONLY,\n\t\tread_write = $node.fs.constants.O_RDWR,\n\t\t/** data will be appended to the end */\n\t\tappend = $node.fs.constants.O_APPEND,\n\t}\n\n\texport class $mol_file_node extends $mol_file {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic absolute( path : string ) {\n\t\t\treturn this.make({\n\t\t\t\tpath : $mol_const( path )\n\t\t\t})\n\t\t}\n\n\t\tstatic relative( path : string ) {\n\t\t\treturn this.absolute( $node.path.resolve( this.base, path ).replace( /\\\\/g , '/' ) )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\twatcher() {\n\n\t\t\tif( /\\/\\./.test( this.path() ) ) return { destructor(){} }\n\t\t\t\n\t\t\tconst watcher = $node.chokidar.watch( this.path() , {\n\t\t\t\tpersistent : true ,\n\t\t\t\tignored: path => /([\\/\\\\]\\.|___$)/.test( path ) ,\n\t\t\t\tdepth : 0 ,\n\t\t\t\tignoreInitial : true ,\n\t\t\t\tawaitWriteFinish: {\n\t\t\t\t\tstabilityThreshold: 100,\n\t\t\t\t},\n\t\t\t} )\n\n\t\t\twatcher\n\t\t\t.on( 'all' , ( type , path )=> {\n\t\t\t\t\n\t\t\t\tconst file = $mol_file.relative( path.replace( /\\\\/g , '/' ) )\n\n\t\t\t\tfile.reset()\n\t\t\t\t\n\t\t\t\tif( type === 'change' ) {\n\t\t\t\t\tthis.stat( null )\n\t\t\t\t} else {\n\t\t\t\t\tfile.parent().reset()\n\t\t\t\t}\n\n\t\t\t} )\n\t\t\t.on( 'error' , $mol_fail_log )\n\t\t\t\n\t\t\treturn {\n\t\t\t\tdestructor() {\n\t\t\t\t\twatcher.close()\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstat( next? : $mol_file_stat | null, virt?: 'virt' ) {\n\t\t\t\n\t\t\tlet stat = next\n\t\t\tconst path = this.path()\n\n\t\t\tthis.parent().watcher()\n\t\t\t\n\t\t\tif( virt ) return next!\n\t\t\t\n\t\t\ttry {\n\t\t\t\tstat = next ?? stat_convert($node.fs.statSync( path, { throwIfNoEntry: false } ))\n\t\t\t} catch( error: any ) {\n\t\t\t\tif (error.code === 'ENOENT') error = new $mol_file_not_found(`File not found`)\n\t\t\t\terror.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden(error)\n\t\t\t}\n\n\t\t\treturn stat\n\t\t}\n\n\t\t@ $mol_mem\n\t\tensure() {\n\t\t\tconst path = this.path()\n\n\t\t\ttry {\n\t\t\t\t$node.fs.mkdirSync( path )\n\t\t\t} catch( e: any ) {\n\t\t\t\te.message += '\\n' + path\n\t\t\t\tthis.$.$mol_fail_hidden(e)\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tdrop() {\n\t\t\t$node.fs.unlinkSync( this.path() )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tbuffer( next? : Uint8Array ) {\n\n\t\t\tconst path = this.path()\n\t\t\tif( next === undefined ) {\n\n\t\t\t\tif( !this.stat() ) return new Uint8Array\n\t\t\t\t\n\t\t\t\ttry {\n\n\t\t\t\t\tconst prev = $mol_mem_cached( ()=> this.buffer() )\n\t\t\t\t\t\n\t\t\t\t\tnext = buffer_normalize( $node.fs.readFileSync( path ) )\n\n\t\t\t\t\tif( prev !== undefined && !$mol_compare_array( prev, next ) ) {\n\t\t\t\t\t\tthis.$.$mol_log3_rise({\n\t\t\t\t\t\t\tplace: `$mol_file_node..buffer()`,\n\t\t\t\t\t\t\tmessage: 'Changed' ,\n\t\t\t\t\t\t\tpath: this.relate() ,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\n\t\t\t\t\treturn next\n\n\t\t\t\t} catch( error: any ) {\n\n\t\t\t\t\terror.message += '\\n' + path\n\t\t\t\t\treturn this.$.$mol_fail_hidden( error )\n\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tthis.parent().exists( true )\n\t\t\t\n\t\t\tconst now = new Date\n\t\t\tthis.stat( {\n\t\t\t\ttype: 'file',\n\t\t\t\tsize: next.length,\n\t\t\t\tatime: now,\n\t\t\t\tmtime: now,\n\t\t\t\tctime: now,\n\t\t\t}, 'virt' )\n\n\t\t\ttry {\n\n\t\t\t\t$node.fs.writeFileSync( path, next )\n\n\t\t\t} catch( error: any ) {\n\n\t\t\t\terror.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden( error )\n\n\t\t\t}\n\t\t\t\n\t\t\treturn next\n\n\t\t}\n\t\t@ $mol_mem\n\t\tsub() : $mol_file[] {\n\t\t\tif (! this.exists() ) return []\n\t\t\tif ( this.type() !== 'dir') return []\n\n\t\t\tconst path = this.path()\n\t\t\tthis.stat()\n\n\t\t\ttry {\n\t\t\t\treturn $node.fs.readdirSync( path )\n\t\t\t\t\t.filter( name => !/^\\.+$/.test( name ) )\n\t\t\t\t\t.map( name => this.resolve( name ) )\n\t\t\t} catch( e: any ) {\n\t\t\t\te.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden(e)\n\t\t\t}\n\t\t}\n\t\t\n\t\tresolve( path : string ) {\n\t\t\treturn ( this.constructor as typeof $mol_file ).relative( $node.path.join( this.path() , path ) )\n\t\t}\n\t\t\n\t\trelate( base = ( this.constructor as typeof $mol_file ).relative( '.' )) {\n\t\t\treturn $node.path.relative( base.path() , this.path() ).replace( /\\\\/g , '/' )\n\t\t}\n\t\t\n\t\tappend( next : Uint8Array | string ) {\n\t\t\tconst path = this.path()\n\t\t\ttry {\n\t\t\t\t$node.fs.appendFileSync( path , next )\n\t\t\t} catch( e: any ) {\n\t\t\t\te.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden(e)\n\t\t\t}\n\t\t}\n\t\t\n\t\topen( ... modes: readonly ( keyof typeof $mol_file_mode_open )[] ) {\n\t\t\treturn $node.fs.openSync(\n\t\t\t\tthis.path(),\n\t\t\t\tmodes.reduce( ( res, mode )=> res | $mol_file_mode_open[ mode ], 0 ),\n\t\t\t)\n\t\t}\n\n\t}\n\n\t$.$mol_file = $mol_file_node\n}\n","namespace $ {\n\texport class $mol_state_local_node< Value > extends $mol_state_local< Value > {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic dir() {\n\t\t\tconst base = process.env.XDG_DATA_HOME || ( $node.os.homedir() + '/.local/share' )\n\t\t\treturn $mol_file.absolute( base ).resolve( './mol_state_local' )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic value< Value >(\n\t\t\tkey : string ,\n\t\t\tnext? : Value | null ,\n\t\t) : Value | null {\n\t\t\t\n\t\t\tconst file = this.dir().resolve( encodeURIComponent( key ) + '.json' )\n\t\t\t\n\t\t\tif( next === null ) {\n\t\t\t\tfile.exists( false )\n\t\t\t\treturn null\n\t\t\t}\n\t\t\t\n\t\t\tconst arg = next === undefined ? undefined : JSON.stringify( next )\n\t\t\treturn JSON.parse( file.text( arg ) || 'null' )\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t$.$mol_state_local = $mol_state_local_node\n}\n","namespace $ {\n\t\n\tfunction parse( theme: string | null ) {\n\t\tif( theme === 'true' ) return true\n\t\tif( theme === 'false' ) return false\n\t\treturn null\n\t}\n\t\n\t/**\n\t * Switcher between light/dark themes (usually for `mol_theme_auto` plugin).\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_lights_demo\n\t */\n\texport function $mol_lights( this : $ , next? : boolean ) {\n\t\t\n\t\tconst arg = parse( this.$mol_state_arg.value( 'mol_lights' ) )\n\t\t\n\t\tconst base = this.$mol_media.match( '(prefers-color-scheme: light)' )\n\t\t\n\t\tif( next === undefined ) {\n\t\t\treturn arg ?? this.$mol_state_local.value< boolean >( '$mol_lights' ) ?? base\n\t\t} else {\n\t\t\tif( arg === null ) {\n\t\t\t\tthis.$mol_state_local.value( '$mol_lights' , next === base ? null : next )\n\t\t\t} else {\n\t\t\t\tthis.$mol_state_arg.value( 'mol_lights' , String( next ) )\n\t\t\t}\n\t\t\treturn next\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\n\t/**\n\t * The [plugin](../../plugin/readme.md) which defines theme based on [mol_lights](../../lights/readme.md).\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_lights_demo\n\t */\n\texport class $mol_theme_auto extends $.$mol_theme_auto {\n\n\t\ttheme() {\n\t\t\treturn this.$.$mol_lights() ? '$mol_theme_light' : '$mol_theme_dark'\n\t\t}\n\n\t}\n}\n","$mol_link $mol_view\n\turi \\\n\tdom_name \\a\n\turi_off \\\n\turi_native null\n\texternal false\n\tattr *\n\t\t^\n\t\thref <= uri_toggle \\\n\t\ttitle <= hint_safe <= hint \\\n\t\ttarget <= target \\_self\n\t\tdownload <= file_name \\\n\t\tmol_link_current <= current false\n\t\trel <= relation \\\n\tsub /$mol_view_content\n\t\t<= title\n\targ *\n\tevent *\n\t\t^\n\t\tclick?event <=> click?event <=> event_click?event null\n","namespace $.$$ {\n\t\n\t/**\n\t * Dynamic hyperlink. It can add, change or remove parameters. A link that leads to the current page has [mol_link_current] attribute set to true.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_link_demo\n\t */\n\texport class $mol_link extends $.$mol_link {\n\t\t\n\t\t@ $mol_mem\n\t\turi_toggle() {\n\t\t\treturn this.current() ? this.uri_off() : this.uri()\n\t\t}\n\n\t\t@ $mol_mem\n\t\turi() {\n\t\t\treturn new this.$.$mol_state_arg( this.state_key() ).link( this.arg() )\n\t\t}\n\n\t\t@ $mol_mem\n\t\turi_off() {\n\t\t\tconst arg2: Record = {}\n\t\t\tfor( let i in this.arg() ) arg2[i] = null\n\t\t\t\n\t\t\treturn new this.$.$mol_state_arg( this.state_key() ).link( arg2 )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\turi_native() {\n\t\t\tconst base = this.$.$mol_state_arg.href()\n\t\t\treturn new URL( this.uri() , base )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tcurrent() {\n\n\t\t\tconst base = this.$.$mol_state_arg.href_normal()\n\t\t\tconst target = this.uri_native().toString()\n\n\t\t\tif( base === target ) return true\n\t\t\t\n\t\t\tconst args = this.arg() as Record\n\t\t\t\n\t\t\tconst keys = Object.keys( args ).filter( key => args[ key ] != null )\n\t\t\tif( keys.length === 0 ) return false\n\n\t\t\tfor( const key of keys ) {\n\t\t\t\tif( this.$.$mol_state_arg.value( key ) != args[ key ] ) return false\n\t\t\t}\n\n\t\t\treturn true\n\t\t}\n\n\t\tfile_name() {\n\t\t\treturn null as unknown as string\n\t\t}\n\n\t\tminimal_height() {\n\t\t\treturn Math.max( super.minimal_height(), 24 )\n\t\t}\n\t\t\n\t\texternal() {\n\t\t\treturn this.uri_native().origin !== $mol_dom_context.location.origin\n\t\t}\n\t\t\n\t\ttarget(): '_self' | '_blank' | '_top' | '_parent' | string {\n\t\t\treturn this.external() ? '_blank' : '_self'\n\t\t}\n\n\t\thint_safe() {\n\t\t\ttry {\n\t\t\t\treturn this.hint()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn ''\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\tconst { rem } = $mol_style_unit\n\n\t$mol_style_define( $mol_link , {\n\t\t\n\t\ttextDecoration: 'none',\n\t\tcolor: $mol_theme.control,\n\t\tstroke: 'currentcolor',\n\t\tcursor: 'pointer',\n\t\tpadding: $mol_gap.text,\n\t\tboxSizing: 'border-box',\n\t\tposition: 'relative',\n\t\tminWidth: rem(2.5),\n\t\tgap: $mol_gap.space,\n\t\t\n\t\tborder: {\n\t\t\tradius: $mol_gap.round,\n\t\t},\n\n\t\t':hover': {\n\t\t\t\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.hover,\n\t\t\t},\n\t\t\t\n\t\t},\n\n\t\t':focus-visible': {\n\t\t\t\n\t\t\toutline: 'none',\n\t\t\t\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.hover,\n\t\t\t},\n\t\t\t\n\t\t},\n\n\t\t// ':has(:focus-visible)': {\n\t\t// \toutline: 'none',\n\t\t// \tbackground: {\n\t\t// \t\tcolor: $mol_theme.hover,\n\t\t// \t}\n\t\t// },\n\t\t\n\t\t':active': {\n\t\t\tcolor: $mol_theme.focus,\n\t\t},\n\n\t\t'@': {\n\t\t\tmol_link_current: {\n\t\t\t\t'true': {\n\t\t\t\t\tcolor: $mol_theme.current,\n\t\t\t\t\ttextShadow: '0 0',\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\n\t} )\n\n}\n","$mol_svg $mol_view\n\tdom_name \\svg\n\tdom_name_space \\http://www.w3.org/2000/svg\n\tfont_size 16\n\tfont_family \\\n\tstyle_size *\n","namespace $ {\n\t\n\t/** State of time moment */\n\texport class $mol_state_time extends $mol_object {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic task( precision: number, reset?: null ): $mol_after_timeout | $mol_after_frame {\n\t\t\t\n\t\t\tif( precision ) {\n\t\t\t\treturn new $mol_after_timeout( precision, ()=> this.task( precision, null ) )\n\t\t\t} else {\n\t\t\t\treturn new $mol_after_frame( ()=> this.task( precision, null ) )\n\t\t\t}\n\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic now( precision: number ) {\n\t\t\tthis.task( precision )\n\t\t\treturn Date.now()\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\t/** Base SVG component to display SVG images or icons. */\n\texport class $mol_svg extends $.$mol_svg {\n\t\t@$mol_mem\n\t\tcomputed_style() {\n\t\t\tconst win = this.$.$mol_dom_context\n\t\t\tconst style = win.getComputedStyle(this.dom_node()) as Record\n\n\t\t\tif(!style['font-size']) $mol_state_time.now( 0 )\n\n\t\t\treturn style\n\t\t}\n\n\t\t@$mol_mem\n\t\tfont_size(): number {\n\t\t\treturn parseInt(this.computed_style()['font-size']) || 16\n\t\t}\n\n\t\t@$mol_mem\n\t\tfont_family() {\n\t\t\treturn this.computed_style()['font-family']\n\t\t}\n\n\t}\n}\n","$mol_svg_root $mol_svg\n\tdom_name \\svg\n\tattr *\n\t\t^\n\t\tviewBox <= view_box \\0 0 100 100\n\t\tpreserveAspectRatio <= aspect \\xMidYMid\n","namespace $ { $mol_style_attach( \"mol/svg/root/root.view.css\",\n \"[mol_svg_root] {\\n\\toverflow: hidden;\\n}\\n\"\n) }","$mol_svg_path $mol_svg\n\tdom_name \\path\n\tattr *\n\t\t^\n\t\td <= geometry \\\n\n","$mol_icon $mol_svg_root\n\tview_box \\0 0 24 24\n\tminimal_width 16\n\tminimal_height 16\n\tsub /\n\t\t<= Path $mol_svg_path\n\t\t\tgeometry <= path \\\n","namespace $ { $mol_style_attach( \"mol/icon/icon.view.css\",\n \"[mol_icon] {\\n\\tfill: currentColor;\\n\\tstroke: none;\\n\\twidth: 1em;\\n\\theight: 1.5em;\\n\\tflex: 0 0 auto;\\n\\tvertical-align: top;\\n\\tdisplay: inline-block;\\n\\tfilter: drop-shadow(0px 1px 1px var(--mol_theme_back));\\n\\ttransform-origin: center;\\n}\\n\\n[mol_icon_path] {\\n\\ttransform-origin: center;\\n}\\n\"\n) }","$mol_icon_script $mol_icon path \\M17.8,20C17.4,21.2 16.3,22 15,22H5C3.3,22 2,20.7 2,19V18H5L14.2,18C14.6,19.2 15.7,20 17,20H17.8M19,2H8C6.3,2 5,3.3 5,5V16H16V17C16,17.6 16.4,18 17,18H18V5C18,4.4 18.4,4 19,4C19.6,4 20,4.4 20,5V6H22V5C22,3.3 20.7,2 19,2Z\n","$mol_icon_script_text $mol_icon path \\M17.8,20C17.4,21.2 16.3,22 15,22H5C3.3,22 2,20.7 2,19V18H5L14.2,18C14.6,19.2 15.7,20 17,20H17.8M19,2C20.7,2 22,3.3 22,5V6H20V5C20,4.4 19.6,4 19,4C18.4,4 18,4.4 18,5V18H17C16.4,18 16,17.6 16,17V16H5V5C5,3.3 6.3,2 8,2H19M8,6V8H15V6H8M8,10V12H14V10H8Z\n","namespace $ {\n\t\n\texport interface $mol_locale_dict {\n\t\t[ key : string ] : string\n\t}\n\t\n\t/**\n\t * Localisation in $mol framework\n\t * @see https://mol.hyoo.ru/#!section=docs/=s5aqnb_odub8l\n\t */\n\texport class $mol_locale extends $mol_object {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic lang_default() {\n\t\t\treturn 'en'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic lang( next? : string ) {\n\t\t\treturn this.$.$mol_state_local.value( 'locale' , next ) || $mol_dom_context.navigator.language.replace( /-.*/ , '' ) || this.lang_default()\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic source( lang : string ) {\n\t\t\treturn JSON.parse( this.$.$mol_file.relative( `web.locale=${ lang }.json` ).text().toString() )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic texts( lang : string , next? : $mol_locale_dict ) : $mol_locale_dict {\n\t\t\tif( next ) return next\n\t\t\t\n\t\t\ttry {\n\t\t\t\treturn this.source( lang ).valueOf()\n\t\t\t} catch( error: any ) {\n\t\t\t\tif( $mol_fail_catch( error ) ) {\n\t\t\t\t\tconst def = this.lang_default()\n\t\t\t\t\tif( lang === def ) throw error\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic text( key : string ): string {\n\t\t\t\n\t\t\tconst lang = this.lang()\n\n\t\t\tconst target = this.texts( lang )[ key ]\n\t\t\tif( target ) return target\n\t\t\t\n\t\t\tthis.warn( key )\n\t\t\t\n\t\t\tconst en = this.texts( 'en' )[ key ]\n\t\t\tif( !en ) return key\n\t\t\t\n\t\t\t// try {\n\t\t\t// \treturn $mol_wire_sync( $hyoo_lingua_translate ).call( this.$, lang, en )\n\t\t\t// } catch( error ) {\n\t\t\t// \t$mol_fail_log( error )\n\t\t\t// }\n\t\t\t\n\t\t\treturn en\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic warn( key : string ) {\n\t\t\tconsole.warn( `Not translated to \"${ this.lang() }\": ${ key }` )\n\t\t\treturn null\n\t\t}\n\t\t\n\t}\n\t\n}\n","$mol_link_source $mol_link\n\thint @ \\Source code\n\tsub /\n\t\t<= Icon $mol_icon_script_text\n","\n\t\t()\n\t\t\tthis\n\t\t\t[] \\$\n\t\t\t[] \\$mol_locale\n\t\t\t[] \\text\n\t\t\t(,) #key\n\t","$mol_speck $mol_view\n\tattr *\n\t\t^\n\t\tmol_theme <= theme \\$mol_theme_accent\n\tstyle *\n\t\t^\n\t\tminHeight \\1em\n\tsub /\n\t\t<= value null\n","namespace $ { $mol_style_attach( \"mol/speck/speck.view.css\",\n \"[mol_speck] {\\n\\tfont-size: .625rem;\\n\\tborder-radius: 1rem;\\n\\tmargin: -0.5rem -0.25rem;\\n\\talign-self: flex-start;\\n\\tmin-height: 1em;\\n\\tmin-width: .5em;\\n\\tvertical-align: sub;\\n\\tpadding: .25em .5em;\\n\\tposition: absolute;\\n\\tz-index: var(--mol_layer_speck);\\n\\ttext-align: center;\\n\\tline-height: 1;\\n\\tdisplay: inline-block;\\n\\twhite-space: nowrap;\\n\\ttext-overflow: ellipsis;\\n\\tuser-select: none;\\n}\\n\"\n) }","$mol_button $mol_view\n\tenabled true\n\tclick?event null\n\tevent_click?event null\n\tevent *\n\t\t^\n\t\tclick?event <=> event_activate?event null\n\t\tdblclick?event <=> clicks?event null\n\t\tkeydown?event <=> event_key_press?event null \n\tattr *\n\t\t^\n\t\tdisabled <= disabled false\n\t\trole \\button\n\t\ttabindex <= tab_index 0\n\t\ttitle <= hint_safe <= hint \\\n\tsub /$mol_view_content\n\t\t<= title\n\tSpeck $mol_speck\n\t\tvalue <= error \\\n","namespace $ {\n\t/**\n\t* Key names code for hotkey\n\t* @see [mol_hotkey](../../hotkey/hotkey.view.ts)\n\t*/\n\texport enum $mol_keyboard_code {\n\t\tbackspace = 8,\n\t\ttab = 9,\n\t\tenter = 13,\n\t\tshift = 16,\n\t\tctrl = 17,\n\t\talt = 18,\n\t\tpause = 19,\n\t\tcapsLock = 20,\n\t\tescape = 27,\n\t\tspace = 32,\n\t\tpageUp = 33,\n\t\tpageDown = 34,\n\t\tend = 35,\n\t\thome = 36,\n\t\tleft = 37,\n\t\tup = 38,\n\t\tright = 39,\n\t\tdown = 40,\n\t\tinsert = 45,\n\t\tdelete = 46,\n\t\tkey0 = 48,\n\t\tkey1 = 49,\n\t\tkey2 = 50,\n\t\tkey3 = 51,\n\t\tkey4 = 52,\n\t\tkey5 = 53,\n\t\tkey6 = 54,\n\t\tkey7 = 55,\n\t\tkey8 = 56,\n\t\tkey9 = 57,\n\t\tA = 65,\n\t\tB = 66,\n\t\tC = 67,\n\t\tD = 68,\n\t\tE = 69,\n\t\tF = 70,\n\t\tG = 71,\n\t\tH = 72,\n\t\tI = 73,\n\t\tJ = 74,\n\t\tK = 75,\n\t\tL = 76,\n\t\tM = 77,\n\t\tN = 78,\n\t\tO = 79,\n\t\tP = 80,\n\t\tQ = 81,\n\t\tR = 82,\n\t\tS = 83,\n\t\tT = 84,\n\t\tU = 85,\n\t\tV = 86,\n\t\tW = 87,\n\t\tX = 88,\n\t\tY = 89,\n\t\tZ = 90,\n\t\tmetaLeft = 91,\n\t\tmetaRight = 92,\n\t\tselect = 93,\n\t\tnumpad0 = 96,\n\t\tnumpad1 = 97,\n\t\tnumpad2 = 98,\n\t\tnumpad3 = 99,\n\t\tnumpad4 = 100,\n\t\tnumpad5 = 101,\n\t\tnumpad6 = 102,\n\t\tnumpad7 = 103,\n\t\tnumpad8 = 104,\n\t\tnumpad9 = 105,\n\t\tmultiply = 106,\n\t\tadd = 107,\n\t\tsubtract = 109,\n\t\tdecimal = 110,\n\t\tdivide = 111,\n\t\tF1 = 112,\n\t\tF2 = 113,\n\t\tF3 = 114,\n\t\tF4 = 115,\n\t\tF5 = 116,\n\t\tF6 = 117,\n\t\tF7 = 118,\n\t\tF8 = 119,\n\t\tF9 = 120,\n\t\tF10 = 121,\n\t\tF11 = 122,\n\t\tF12 = 123,\n\t\tnumLock = 144,\n\t\tscrollLock = 145,\n\t\tsemicolon = 186,\n\t\tequals = 187,\n\t\tcomma = 188,\n\t\tdash = 189,\n\t\tperiod = 190,\n\t\tforwardSlash = 191,\n\t\tgraveAccent = 192,\n\t\tbracketOpen = 219,\n\t\tslashBack = 220,\n\t\tslashBackLeft = 226,\n\t\tbracketClose = 221,\n\t\tquoteSingle = 222\n\t}\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Simple button.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_button_demo\n\t */\n\texport class $mol_button extends $.$mol_button {\n\n\t\t@ $mol_mem\n\t\tstatus( next = [ null as any ] ) { return next }\n\t\t\n\t\tdisabled() {\n\t\t\treturn !this.enabled()\n\t\t}\n\t\t\n\t\tevent_activate( next : Event ) {\n\t\t\t\n\t\t\tif( !next ) return\n\t\t\tif( !this.enabled() ) return\n\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tthis.event_click( next )\n\t\t\t\tthis.click( next )\n\t\t\t\tthis.status([ null ])\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t\n\t\t\t\tPromise.resolve().then( ()=> this.status([ error ]) )\n\t\t\t\t$mol_fail_hidden( error )\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\t\t\n\t\tevent_key_press ( event: KeyboardEvent ) { \n\t\t\tif( event.keyCode === $mol_keyboard_code.enter ) {\n\t\t\t\treturn this.event_activate( event )\n\t\t\t}\n\t\t} \n\t\t\n\t\ttab_index() {\n\t\t\treturn this.enabled() ? super.tab_index() : -1\n\t\t}\n\n\t\terror() {\n\n\t\t\tconst [ error ] = this.status()\n\t\t\tif( !error ) return ''\n\n\t\t\tif( error instanceof Promise ) {\n\t\t\t\treturn $mol_fail_hidden( error )\n\t\t\t}\n\t\t\t\n\t\t\treturn String( error.message ?? error )\n\n\t\t}\n\t\t\n\t\thint_safe() {\n\t\t\ttry {\n\t\t\t\treturn this.hint()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn ''\n\t\t\t}\n\t\t}\n\n\t\tsub_visible() {\n\t\t\treturn [\n\t\t\t\t... this.error() ? [ this.Speck() ] : [] ,\n\t\t\t\t... this.sub() ,\n\t\t\t]\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/button/button.view.css\",\n \"[mol_button] {\\n\\tborder: none;\\n\\tfont: inherit;\\n\\tdisplay: inline-flex;\\n\\tflex-shrink: 0;\\n\\ttext-decoration: inherit;\\n\\tcursor: inherit;\\n\\tposition: relative;\\n\\tbox-sizing: border-box;\\n\\tword-break: normal;\\n\\tcursor: default;\\n\\tuser-select: none;\\n\\tborder-radius: var(--mol_gap_round);\\n\\tbackground: transparent;\\n\\tcolor: inherit;\\n}\\n\\n[mol_button]:where(:not(:disabled)):hover {\\n\\tz-index: var(--mol_layer_hover);\\n}\\n\\n[mol_button]:focus-visible {\\n\\toutline: none;\\n\\tz-index: var(--mol_layer_focus);\\n}\\n\"\n) }","$mol_button_typed $mol_button\n\tminimal_height 40\n\tminimal_width 40\n","namespace $ { $mol_style_attach( \"mol/button/typed/typed.view.css\",\n \"[mol_button_typed] {\\n\\talign-content: center;\\n\\talign-items: center;\\n\\tpadding: var(--mol_gap_text);\\n\\tborder-radius: var(--mol_gap_round);\\n\\tgap: var(--mol_gap_space);\\n\\tuser-select: none;\\n\\tcursor: pointer;\\n}\\n\\n[mol_button_typed][disabled] {\\n\\tpointer-events: none;\\n}\\n\\n[mol_button_typed]:hover ,\\n[mol_button_typed]:focus-visible {\\n\\tbox-shadow: inset 0 0 0 10rem var(--mol_theme_hover);\\n}\\n\\n[mol_button_typed]:active {\\n\\tcolor: var(--mol_theme_focus);\\n}\\n\\n\"\n) }","$mol_button_minor $mol_button_typed\n","namespace $ { $mol_style_attach( \"mol/button/minor/minor.view.css\",\n \"[mol_button_minor] {\\n\\tcolor: var(--mol_theme_control);\\n}\\n\\n[mol_button_minor][disabled] {\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\"\n) }","$mol_check $mol_button_minor\n\tattr *\n\t\t^\n\t\tmol_check_checked <= checked? false\n\t\taria-checked <= aria_checked \\false\n\t\trole <= aria_role \\checkbox\n\tsub /$mol_view_content\n\t\t<= Icon null\n\t\t<= label /\n\t\t\t<= Title $mol_view\n\t\t\t\tsub /\n\t\t\t\t\t<= title \\\n","namespace $ {\n\t\n\texport function $mol_maybe< Value >( value : Value | null | undefined ) : Value[] {\n\t\treturn ( value == null ) ? [] : [ value ]\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/check/check.css\",\n \"[mol_check] {\\n\\tflex: 0 0 auto;\\n\\tjustify-content: flex-start;\\n\\talign-content: center;\\n\\t/* align-items: flex-start; */\\n\\tborder: none;\\n\\tfont-weight: inherit;\\n\\tbox-shadow: none;\\n\\ttext-align: left;\\n\\tdisplay: inline-flex;\\n\\tflex-wrap: nowrap;\\n}\\n\\n[mol_check_title] {\\n\\tflex-shrink: 1;\\n}\\n\"\n) }","namespace $.$$ {\n\n\t/**\n\t * Checkbox UI component. See Variants for more concrete implementations.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_check_box_demo\n\t */\n\texport class $mol_check extends $.$mol_check {\n\n\t\tclick( next? : Event ) {\n\t\t\tif( next?.defaultPrevented ) return\n\t\t\tthis.checked( !this.checked() )\n\t\t\tif( next ) next.preventDefault()\n\t\t}\n\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\t... $mol_maybe( this.Icon() ) ,\n\t\t\t\t... this.label() ,\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\n\t\tlabel() {\n\t\t\treturn this.title() ? super.label() : []\n\t\t}\n\t\t\n\t\taria_checked() {\n\t\t\treturn String( this.checked() )\n\t\t}\n\n\t}\n}\n","$mol_check_icon $mol_check\n","namespace $ { $mol_style_attach( \"mol/check/icon/icon.view.css\",\n \"[mol_check_icon]:where([mol_check_checked]) {\\n\\tcolor: var(--mol_theme_current);\\n}\\n\"\n) }","$mol_icon_brightness_6 $mol_icon path \\M12,18V6A6,6 0 0,1 18,12A6,6 0 0,1 12,18M20,15.31L23.31,12L20,8.69V4H15.31L12,0.69L8.69,4H4V8.69L0.69,12L4,15.31V20H8.69L12,23.31L15.31,20H20V15.31Z\n","$mol_lights_toggle $mol_check_icon\n\tIcon <= Lights_icon $mol_icon_brightness_6\n\thint @ \\Toggle lights\n\tchecked? <=> lights? false\n","namespace $.$$ {\n\t/**\n\t * Toggle for Switcher between light/dark themes (usually for `mol_theme_auto` plugin).\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_lights_demo\n\t */\n\texport class $mol_lights_toggle extends $.$mol_lights_toggle {\n\t\tlights( next? : boolean ) {\n\t\t\treturn this.$.$mol_lights( next )\n\t\t}\n\t}\n}\n","$mol_icon_card $mol_icon path \\M20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20Z\n","$mol_icon_card_text $mol_icon path \\M20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20M5,13V15H16V13H5M5,9V11H19V9H5Z\n","$mol_icon_chart_bar $mol_icon path \\M22,21H2V3H4V19H6V10H10V19H12V6H16V19H18V14H22V21Z\n","$mol_icon_play $mol_icon path \\M8,5.14V19.14L19,12.14L8,5.14Z\n","$mol_icon_play_circle $mol_icon path \\M10,16.5V7.5L16,12M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\n","$mol_pop $mol_view\n\tshowed? false\n\talign_vert \\\n\talign_hor \\\n\tprefer \\vert\n\tsub /\n\t\t<= Anchor null\n\tsub_visible /\n\t\t<= Anchor\n\t\t<= Bubble $mol_pop_bubble\n\t\t\talign <= align \\bottom_center\n\t\t\tcontent <= bubble_content /$mol_view_content\n\t\t\theight_max <= height_max 9999\n\n$mol_pop_bubble $mol_view\n\tsub <= content /$mol_view_content\n\tstyle *\n\t\t^\n\t\tmaxHeight <= height_max 9999\n\tattr *\n\t\t^\n\t\tmol_pop_align <= align \\\n\t\ttabindex 0\n","namespace $.$$ {\n\n\t/**\n\t * `Bubble` that can be shown anchored to `Anchor` element.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_pop_demo\n\t */\n\texport class $mol_pop extends $.$mol_pop {\n\t\t\n\t\t@ $mol_mem\n\t\tshowed( next = false ) {\n\t\t\tthis.focused()\n\t\t\treturn next\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsub_visible() {\n\t\t\treturn [\n\t\t\t\tthis.Anchor() ,\n\t\t\t\t... this.showed() ? [ this.Bubble() ] : [] ,\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\theight_max() {\n\t\t\t\n\t\t\tconst viewport = this.$.$mol_window.size()\n\t\t\tconst rect_bubble = this.view_rect()!\n\t\t\tconst align = this.align_vert()\n\t\t\t\n\t\t\tif( align === 'bottom' ) return ( viewport.height - rect_bubble.bottom ) * .66\n\t\t\tif( align === 'top' ) return rect_bubble.top * .66\n\t\t\t\n\t\t\treturn 0\n\t\t}\n\n\t\t@ $mol_mem\n\t\talign() {\n\t\t\tswitch( this.prefer() ) {\n\t\t\t\tcase 'hor': return `${ this.align_hor() }_${ this.align_vert() }`\n\t\t\t\tcase 'vert': return `${ this.align_vert() }_${ this.align_hor() }`\n\t\t\t\tdefault: return this.prefer()\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\talign_vert() {\n\t\t\tconst viewport = this.view_port()\n\t\t\t\n\t\t\tconst rect_pop = this.view_rect()\n\t\t\tif( !rect_pop ) return 'suspense'\n\t\t\t\n\t\t\treturn rect_pop.top > ( viewport.top + viewport.height / 2 ) ? 'top' : 'bottom'\n\t\t}\n\n\t\t@ $mol_mem\n\t\talign_hor() {\n\t\t\tconst viewport = this.view_port()\n\t\t\t\n\t\t\tconst rect_pop = this.view_rect()\n\t\t\tif( !rect_pop ) return 'suspense'\n\t\t\t\n\t\t\treturn rect_pop.left > ( viewport.left + viewport.width / 2 ) ? 'left' : 'right'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tView_port() {\n\t\t\tconst view = new $mol_view\n\t\t\tview.dom_node = ()=> {\n\t\t\t\tlet node = this.dom_node() as HTMLElement\n\t\t\t\twhile( node = node.offsetParent! as HTMLElement ) {\n\t\t\t\t\tif( this.$.$mol_dom_context.getComputedStyle( node ).overflow !== 'visible' ) return node\n\t\t\t\t}\n\t\t\t\treturn this.$.$mol_dom_context.document.documentElement\n\t\t\t}\n\t\t\treturn view\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tview_port() {\n\t\t\treturn this.View_port().view_rect() ?? { ... this.$.$mol_window.size(), left: 0, top: 0 }\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/pop/pop.view.css\",\n \"[mol_pop] {\\n\\tposition: relative;\\n\\tdisplay: inline-flex;\\n}\\n\\n[mol_pop_bubble] {\\n\\tbox-shadow: 0 0 1rem hsla(0,0%,0%,.5);\\n\\tborder-radius: var(--mol_gap_round);\\n\\tposition: absolute;\\n\\tz-index: var(--mol_layer_popup);\\n\\tbackground: var(--mol_theme_back);\\n\\tmax-width: none;\\n\\tmax-height: none;\\n\\t/* overflow: hidden;\\n\\toverflow-y: scroll;\\n\\toverflow-y: overlay; */\\n\\tword-break: normal;\\n\\twidth: max-content;\\n\\theight: max-content;\\n\\tflex-direction: column;\\n\\tmax-width: 80vw;\\n\\tmax-height: 80vw;\\n\\tcontain: paint;\\n\\ttransition-property: opacity;\\n}\\n\\n:where( [mol_pop_bubble] > * ) {\\n\\tbackground: var(--mol_theme_card);\\n}\\n\\n[mol_pop_bubble][mol_scroll] {\\n\\tbackground: var(--mol_theme_back);\\n}\\n\\n[mol_pop_bubble]:focus {\\n\\toutline: none;\\n}\\n\\n[mol_pop_align=\\\"suspense_suspense\\\"] {\\n\\topacity: 0;\\n}\\n\\n[mol_pop_align=\\\"left_top\\\"] {\\n\\ttransform: translate(-100%);\\n\\tleft: 0;\\n\\tbottom: 0;\\n}\\n\\n[mol_pop_align=\\\"left_center\\\"] {\\n\\ttransform: translate(-100%, -50%);\\n\\tleft: 0;\\n\\ttop: 50%;\\n}\\n\\n[mol_pop_align=\\\"left_bottom\\\"] {\\n\\ttransform: translate(-100%);\\n\\tleft: 0;\\n\\ttop: 0;\\n}\\n\\n[mol_pop_align=\\\"right_top\\\"] {\\n\\ttransform: translate(100%);\\n\\tright: 0;\\n\\tbottom: 0;\\n}\\n\\n[mol_pop_align=\\\"right_center\\\"] {\\n\\ttransform: translate(100%, -50%);\\n\\tright: 0;\\n\\ttop: 50%;\\n}\\n\\n[mol_pop_align=\\\"right_bottom\\\"] {\\n\\ttransform: translate(100%);\\n\\tright: 0;\\n\\ttop: 0;\\n}\\n\\n[mol_pop_align=\\\"center\\\"] {\\n\\tleft: 50%;\\n\\ttop: 50%;\\n\\ttransform: translate(-50%, -50%);\\n}\\n\\n[mol_pop_align=\\\"top_left\\\"] {\\n\\tright: 0;\\n\\tbottom: 100%;\\n}\\n\\n[mol_pop_align=\\\"top_center\\\"] {\\n\\ttransform: translate(-50%);\\n\\tleft: 50%;\\n\\tbottom: 100%;\\n}\\n\\n[mol_pop_align=\\\"top_right\\\"] {\\n\\tleft: 0;\\n\\tbottom: 100%;\\n}\\n\\n[mol_pop_align=\\\"bottom_left\\\"] {\\n\\tright: 0;\\n\\ttop: 100%;\\n}\\n\\n[mol_pop_align=\\\"bottom_center\\\"] {\\n\\ttransform: translate(-50%);\\n\\tleft: 50%;\\n\\ttop: 100%;\\n}\\n\\n[mol_pop_align=\\\"bottom_right\\\"] {\\n\\tleft: 0;\\n\\ttop: 100%;\\n}\\n\"\n) }","$mol_hotkey $mol_plugin\n\tevent *\n\t\t^\n\t\tkeydown?event <=> keydown?event null\n\tkey *\n\tmod_ctrl false\n\tmod_alt false\n\tmod_shift false\n","namespace $.$$ {\n\t/**\n\t * Plugin which adds handlers for keyboard keys.\n\t * @see [mol_keyboard_code](../keyboard/code/code.ts)\n\t */\n\texport class $mol_hotkey extends $.$mol_hotkey {\n\n\t\tkey() {\n\t\t\treturn super.key() as {\n\t\t\t\t[ key in keyof typeof $mol_keyboard_code ]? : ( event : KeyboardEvent )=> void\n\t\t\t}\n\t\t}\n\t\t\n\t\tkeydown( event? : KeyboardEvent ) {\n\n\t\t\tif( !event ) return\n\t\t\tif( event.defaultPrevented ) return\n\n\t\t\tlet name = $mol_keyboard_code[ event.keyCode ] as keyof typeof $mol_keyboard_code\n\t\t\t\n\t\t\tif( this.mod_ctrl() !== ( event.ctrlKey || event.metaKey ) ) return\n\t\t\tif( this.mod_alt() !== event.altKey ) return\n\t\t\tif( this.mod_shift() !== event.shiftKey ) return\n\t\t\t\n\t\t\tconst handle = this.key()[ name ]\n\t\t\tif( handle ) handle( event )\n\n\t\t}\n\t\t\n\t}\n}\n","$mol_nav $mol_plugin\n\tcycle? false\n\t-\n\tmod_ctrl false\n\tmod_shift false\n\tmod_alt false\n\t-\n\tkeys_x? /\n\tkeys_y? /\n\t-\n\tcurrent_x? null\n\tcurrent_y? null\n\t-\n\tevent_up?event null\n\tevent_down?event null\n\tevent_left?event null\n\tevent_right?event null\n\tevent *\n\t\t^\n\t\tkeydown?event <=> event_key?event null\n","namespace $.$$ {\n\t\n\t/**\n\t * Plugin which can navigate in list of items\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_nav_demo\n\t */\n\texport class $mol_nav extends $.$mol_nav {\n\t\t\n\t\tevent_key( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\t\t\tif( event.defaultPrevented ) return\n\t\t\t\n\t\t\tif( this.mod_ctrl() && !event.ctrlKey ) return\n\t\t\tif( this.mod_shift() && !event.shiftKey ) return\n\t\t\tif( this.mod_alt() && !event.altKey ) return\n\t\t\t\n\t\t\tswitch( event.keyCode ) {\n\t\t\t\tcase $mol_keyboard_code.up : return this.event_up( event )\n\t\t\t\tcase $mol_keyboard_code.down : return this.event_down( event )\n\t\t\t\tcase $mol_keyboard_code.left : return this.event_left( event )\n\t\t\t\tcase $mol_keyboard_code.right : return this.event_right( event )\n\t\t\t\tcase $mol_keyboard_code.pageUp : return this.event_up( event )\n\t\t\t\tcase $mol_keyboard_code.pageDown : return this.event_down( event )\n\t\t\t}\n\t\t}\n\t\t\n\t\tevent_up( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\n\t\t\tconst keys = this.keys_y()\n\t\t\tif( keys.length < 1 ) return\n\t\t\t\n\t\t\tconst index_y = this.index_y();\n\t\t\t\n\t\t\tconst index_old = index_y === null ? 0 : index_y\n\t\t\tconst index_new = ( index_old + keys.length - 1 ) % keys.length\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tif( index_old === 0 && !this.cycle() ) return\n\t\t\t\n\t\t\tthis.current_y( this.keys_y()[ index_new ] )\n\t\t}\n\t\t\n\t\tevent_down( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\n\t\t\tconst keys = this.keys_y()\n\t\t\tif( keys.length < 1 ) return\n\t\t\t\n\t\t\tconst index_y = this.index_y();\n\t\t\t\n\t\t\tconst index_old = index_y === null ? keys.length - 1 : index_y;\n\t\t\tconst index_new = ( index_old + 1 ) % keys.length\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tif( index_new === 0 && !this.cycle() ) return\n\t\t\t\n\t\t\tthis.current_y( this.keys_y()[ index_new ] )\n\t\t}\n\t\t\n\t\tevent_left( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\n\t\t\tconst keys = this.keys_x()\n\t\t\tif( keys.length < 1 ) return\n\t\t\t\n\t\t\tconst index_x = this.index_x();\n\t\t\t\n\t\t\tconst index_old = index_x === null ? 0 : index_x\n\t\t\tconst index_new = ( index_old + keys.length - 1 ) % keys.length\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tif( index_old === 0 && !this.cycle() ) return\n\t\t\t\n\t\t\tthis.current_x( this.keys_x()[ index_new ] )\n\t\t}\n\t\t\n\t\tevent_right( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\n\t\t\tconst keys = this.keys_x()\n\t\t\tif( keys.length < 1 ) return\n\t\t\t\n\t\t\tconst index_x = this.index_x();\n\t\t\t\n\t\t\tconst index_old = index_x === null ? keys.length - 1 : index_x\n\t\t\tconst index_new = ( index_old + 1 ) % keys.length\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tif( index_new === 0 && !this.cycle() ) return\n\t\t\t\n\t\t\tthis.current_x( this.keys_x()[ index_new ] )\n\t\t}\n\t\t\n\t\tindex_y() {\n\t\t\tlet index = this.keys_y().indexOf( this.current_y() )\n\t\t\tif( index < 0 ) return null\n\t\t\t\n\t\t\treturn index\n\t\t}\n\t\t\n\t\tindex_x() {\n\t\t\tlet index = this.keys_x().indexOf( this.current_x() )\n\t\t\tif( index < 0 ) return null\n\t\t\t\n\t\t\treturn index\n\t\t}\n\t\t\n\t}\n}\n","$mol_string $mol_view\n\tdom_name \\input\n\tenabled true\n\tminimal_height 40\n\tautocomplete false\n\tselection? /number\n\t\t0\n\t\t0\n\tauto /\n\t\t<= selection_watcher null\n\t\t<= error_report null\n\tfield *\n\t\t^\n\t\tdisabled <= disabled false\n\t\tvalue <= value_changed? <=> value? \\\n\t\tplaceholder <= hint_visible <= hint \\\n\t\tspellcheck <= spellcheck true\n\t\tautocomplete <= autocomplete_native \\\n\t\tselectionEnd <= selection_end 0\n\t\tselectionStart <= selection_start 0\n\t\tinputMode <= keyboard \\text\n\t\tenterkeyhint <= enter \\go\n\tattr *\n\t\t^\n\t\tmaxlength <= length_max +Infinity\n\t\ttype <= type? \\text\n\tevent *\n\t\t^\n\t\tinput?event <=> event_change?event null\n\tplugins /\n\t\t<= Submit $mol_hotkey\n\t\t\tmod_ctrl <= submit_with_ctrl false\n\t\t\tkey * enter?event <=> submit?event null\n","namespace $.$$ {\n\t/**\n\t * An input field for entering single line text.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_string_demo\n\t */\n\texport class $mol_string extends $.$mol_string {\n\t\t\n\t\t@ $mol_action\n\t\tevent_change( next? : Event ) {\n\t\t\tif( !next ) return\n\t\t\tconst el = next.target as HTMLInputElement\n\t\t\tconst from = el.selectionStart\n\t\t\tconst to = el.selectionEnd\n\t\t\ttry {\n\t\t\t\tel.value = this.value_changed( el.value )\n\t\t\t} catch( error ) {\n\t\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\t\tif( error instanceof Error ) {\n\t\t\t\t\tel.setCustomValidity( error.message )\n\t\t\t\t\tel.reportValidity()\n\t\t\t\t}\n\t\t\t\t$mol_fail_hidden( error )\n\t\t\t}\n\t\t\tif( to === null ) return \n\t\t\tel.selectionEnd = to\n\t\t\tel.selectionStart = from\n\t\t\tthis.selection_change( next )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\terror_report() {\n\t\t\ttry {\n\t\t\t\tif( this.focused() ) this.value()\n\t\t\t} catch( error ) {\n\t\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\t\tif( error instanceof Error ) {\n\t\t\t\t\tel.setCustomValidity( error.message )\n\t\t\t\t\tel.reportValidity()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\thint_visible() {\n\t\t\treturn ( this.enabled() ? this.hint() : '' ) || ' '\n\t\t}\n\n\t\tdisabled() {\n\t\t\treturn !this.enabled()\n\t\t}\n\n\t\tautocomplete_native() {\n\t\t\treturn this.autocomplete() ? 'on' : 'off'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tselection_watcher() {\n\t\t\treturn new $mol_dom_listener(\n\t\t\t\tthis.$.$mol_dom_context.document,\n\t\t\t\t'selectionchange',\n\t\t\t\t$mol_wire_async( event => this.selection_change( event ) ),\n\t\t\t)\n\t\t}\n\t\t\n\t\tselection_change( event: Event ) {\n\t\t\t\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tif( el !== this.$.$mol_dom_context.document.activeElement ) return\n\t\t\t\n\t\t\tconst [ from, to ] = this.selection([\n\t\t\t\tel.selectionStart!,\n\t\t\t\tel.selectionEnd!,\n\t\t\t])\n\t\t\t\n\t\t\tel.selectionEnd = to\n\t\t\tel.selectionStart = from\n\n\t\t\tif( to !== from && el.selectionEnd === el.selectionStart ) {\n\t\t\t\tel.selectionEnd = to\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tselection_start() {\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tif( el.selectionStart === null ) return undefined as any as number\n\t\t\treturn this.selection()[0]\n\t\t}\n\n\t\tselection_end() {\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tif( el.selectionEnd === null ) return undefined as any as number\n\t\t\treturn this.selection()[1]\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/string/string.view.css\",\n \"[mol_string] {\\n\\tbox-sizing: border-box;\\n\\toutline-offset: 0;\\n\\tborder: none;\\n\\tborder-radius: var(--mol_gap_round);\\n\\twhite-space: pre-line;\\n\\toverflow: hidden;\\n\\ttext-overflow: ellipsis;\\n\\tpadding: var(--mol_gap_text);\\n\\ttext-align: left;\\n\\tposition: relative;\\n\\tfont: inherit;\\n\\tflex: 1 1 auto;\\n\\tbackground: transparent;\\n\\tmin-width: 0;\\n\\tcolor: inherit;\\n\\tbackground: var(--mol_theme_field);\\n}\\n\\n[mol_string]:disabled:not(:placeholder-shown) {\\n\\tbackground-color: transparent;\\n\\tcolor: var(--mol_theme_text);\\n}\\n\\n[mol_string]:where(:not(:disabled)) {\\n\\tbox-shadow: inset 0 0 0 1px var(--mol_theme_line);\\n}\\n\\n[mol_string]:where(:not(:disabled)):hover {\\n\\tbox-shadow: inset 0 0 0 2px var(--mol_theme_line);\\n\\tz-index: var(--mol_layer_hover);\\n}\\n\\n[mol_string]:focus {\\n\\toutline: none;\\n\\tz-index: var(--mol_layer_focus);\\n\\tcolor: var(--mol_theme_text);\\n\\tbox-shadow: inset 0 0 0 1px var(--mol_theme_focus);\\n}\\n\\n[mol_string]::placeholder {\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\\n[mol_string]::-ms-clear {\\n\\tdisplay: none;\\n}\\n\"\n) }","$mol_icon_close $mol_icon path \\M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\n","$mol_list $mol_view\n\trender_visible_only true\n\trender_over 0\n\tsub <= rows /$mol_view\n\tEmpty $mol_view\n\tGap_before $mol_view style * paddingTop <= gap_before 0\n\tGap_after $mol_view style * paddingTop <= gap_after 0\n\tview_window /\n\t\t0\n\t\t0\n","namespace $ {\n\n\tlet cache = null as null | boolean\n\texport function $mol_support_css_overflow_anchor( this: $ ) {\n\t\treturn cache ?? (\n\t\t\tcache = this.$mol_dom_context.CSS?.supports( 'overflow-anchor:auto' ) ?? false\n\t\t)\n\t}\n\n}\n","namespace $.$$ {\n\n\t/**\n\t * The list of rows with lazy/virtual rendering support based on `minimal_height` of rows.\n\t * `mol_list` should contain only components that inherits `mol_view`. You should not place raw strings or numbers in list.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_list_demo\n\t */\n\texport class $mol_list extends $.$mol_list {\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\tconst rows = this.rows()\n\t\t\treturn ( rows.length === 0 ) ? [ this.Empty() ] : rows\n\t\t}\n\n\t\trender_visible_only() {\n\t\t\treturn this.$.$mol_support_css_overflow_anchor()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tview_window( next?: [ number , number ] ) : [ number , number ] {\n\t\t\t\n\t\t\tconst kids = this.sub()\n\t\t\t\n\t\t\tif( kids.length < 3 ) return [ 0 , kids.length ]\n\t\t\tif( this.$.$mol_print.active() ) return [ 0 , kids.length ]\n\t\t\t\n\t\t\tconst rect = this.view_rect()\n\t\t\tif( next ) return next\n\t\t\t\n\t\t\tlet [ min , max ] = $mol_mem_cached( ()=> this.view_window() ) ?? [ 0 , 0 ]\n\n\t\t\tlet max2 = max = Math.min( max , kids.length )\n\t\t\tlet min2 = min = Math.max( 0 , Math.min( min , max - 1 ) )\n\t\t\t\n\t\t\tconst anchoring = this.render_visible_only()\n\t\t\tconst window_height = this.$.$mol_window.size().height + 40\n\t\t\tconst over = Math.ceil( window_height * this.render_over() )\n\t\t\tconst limit_top = -over\n\t\t\tconst limit_bottom = window_height + over\n\n\t\t\tconst gap_before = $mol_mem_cached( ()=> this.gap_before() ) ?? 0\n\t\t\tconst gap_after = $mol_mem_cached( ()=> this.gap_after() ) ?? 0\n\n\t\t\tlet top = Math.ceil( rect?.top ?? 0 ) + gap_before\n\t\t\tlet bottom = Math.ceil( rect?.bottom ?? 0 ) - gap_after\n\n\t\t\t// change nothing when already covers all limits\n\t\t\tif( top <= limit_top && bottom >= limit_bottom ) {\n\t\t\t\treturn [ min2 , max2 ]\n\t\t\t}\n\n\t\t\t// jumps when fully over limits\n\t\t\tif( anchoring && (( bottom < limit_top )||( top > limit_bottom )) ) {\n\t\t\t\t\n\t\t\t\tmin = 0\n\t\t\t\ttop = Math.ceil( rect?.top ?? 0 )\n\t\t\t\t\n\t\t\t\twhile( min < ( kids.length - 1 ) ) {\n\t\t\t\t\t\n\t\t\t\t\tconst height = kids[ min ].minimal_height()\n\t\t\t\t\tif( top + height >= limit_top ) break\n\t\t\t\t\t\n\t\t\t\t\ttop += height\n\t\t\t\t\t++ min\n\n\t\t\t\t}\n\n\t\t\t\tmin2 = min\n\t\t\t\tmax2 = max = min\n\t\t\t\tbottom = top\n\n\t\t\t}\n\n\t\t\tlet top2 = top\n\t\t\tlet bottom2 = bottom\n\t\t\t\n\t\t\t// force recalc min when overlapse top limit\n\t\t\tif( anchoring && ( top < limit_top ) && ( bottom < limit_bottom ) && ( max < kids.length ) ) {\n\t\t\t\tmin2 = max\n\t\t\t\ttop2 = bottom\n\t\t\t}\n\n\t\t\t// force recalc max when overlapse bottom limit\n\t\t\tif( ( bottom > limit_bottom ) && ( top > limit_top ) && ( min > 0 ) ) {\n\t\t\t\tmax2 = min\n\t\t\t\tbottom2 = top\n\t\t\t}\n\n\t\t\t// extend min to cover top limit\n\t\t\twhile( anchoring && (( top2 > limit_top )&&( min2 > 0 )) ) {\n\t\t\t\t-- min2\n\t\t\t\ttop2 -= kids[ min2 ].minimal_height()\n\t\t\t}\n\t\t\t\n\t\t\t// extend max to cover bottom limit\n\t\t\twhile( bottom2 < limit_bottom && max2 < kids.length ) {\n\t\t\t\tbottom2 += kids[ max2 ].minimal_height()\n\t\t\t\t++ max2\n\t\t\t}\n\t\t\t\n\t\t\treturn [ min2 , max2 ]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tgap_before() {\n\t\t\tconst skipped = this.sub().slice( 0 , this.view_window()[0] )\n\t\t\treturn Math.max( 0 , skipped.reduce( ( sum , view )=> sum + view.minimal_height() , 0 ) )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tgap_after() {\n\t\t\tconst skipped = this.sub().slice( this.view_window()[1] )\n\t\t\treturn Math.max( 0 , skipped.reduce( ( sum , view )=> sum + view.minimal_height() , 0 ) )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsub_visible() {\n\t\t\treturn [\n\t\t\t\t... this.gap_before() ? [ this.Gap_before() ] : [],\n\t\t\t\t... this.sub().slice( ... this.view_window() ),\n\t\t\t\t... this.gap_after() ? [ this.Gap_after() ] : [],\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tminimal_height() {\n\n\t\t\treturn this.sub().reduce( ( sum , view )=> {\n\n\t\t\t\ttry {\n\t\t\t\t\treturn sum + view.minimal_height() \n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\t$mol_fail_log( error )\n\t\t\t\t\treturn sum\n\t\t\t\t}\n\n\t\t\t} , 0 )\n\n\t\t}\n\n\t\tforce_render(\n\t\t\tpath : Set< $mol_view >,\n\t\t) {\n\n\t\t\tconst kids = this.rows()\n\n\t\t\tconst index = kids.findIndex( item => path.has( item ) )\n\n\t\t\tif( index >= 0 ) {\n\t\t\t\tconst win = this.view_window()\n\t\t\t\tif( index < win[0] || index >= win[1] ) {\n\t\t\t\t\tthis.view_window([ this.render_visible_only() ? index : 0, index + 1 ])\n\t\t\t\t}\n\t\t\t\t( kids[ index ] as $mol_view ).force_render( path )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/list/list.view.css\",\n \"[mol_list] {\\n\\twill-change: contents;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tflex-shrink: 0;\\n\\tmax-width: 100%;\\n\\t/* display: flex;\\n\\talign-items: stretch;\\n\\talign-content: stretch; */\\n\\ttransition: none;\\n\\tmin-height: 1.5rem;\\n}\\n\\n[mol_list_gap_before] ,\\n[mol_list_gap_after] {\\n\\tdisplay: block !important;\\n\\tflex: none;\\n\\ttransition: none;\\n\\toverflow-anchor: none;\\n}\\n\"\n) }","$mol_paragraph $mol_view\n\tline_height 24\n\tletter_width 7\n\twidth_limit +Infinity\n\trow_width 0\n\tsub / <= title\n","namespace $.$$ {\n\n\texport class $mol_paragraph extends $.$mol_paragraph {\n\n\t\t@ $mol_mem\n\t\tmaximal_width() {\n\n\t\t\tlet width = 0\n\t\t\tconst letter = this.letter_width()\n\t\t\t\n\t\t\tfor( const kid of this.sub() ) {\n\t\t\t\t\n\t\t\t\tif( !kid ) continue\n\t\t\t\t\n\t\t\t\tif( kid instanceof $mol_view ) {\n\t\t\t\t\twidth += kid.maximal_width()\n\t\t\t\t} else if( typeof kid !== 'object' ) {\n\t\t\t\t\twidth += String( kid ).length * letter\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\treturn width\n\n\t\t}\n\n\t\twidth_limit() {\n\t\t\treturn this.$.$mol_window.size().width\n\t\t}\n\t\t\n\t\tminimal_width() {\n\t\t\treturn this.letter_width()\n\t\t}\n\n\t\t@ $mol_mem\n\t\trow_width() {\n\t\t\treturn Math.max( Math.min( this.width_limit() , this.maximal_width() ) , this.letter_width() )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tminimal_height() {\n\t\t\treturn Math.max( 1 , Math.ceil( this.maximal_width() / this.row_width() ) ) * this.line_height()\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/paragraph/paragraph.view.css\",\n \":where([mol_paragraph]) {\\n\\tmargin: 0;\\n\\tmax-width: 100%;\\n}\\n\"\n) }","$mol_dimmer $mol_paragraph\n\thaystack \\\n\tneedle \\\n\tsub <= parts /$mol_view_content\n\tLow* $mol_paragraph\n\t\tsub /\n\t\t\t<= string* \\\n\tHigh* $mol_paragraph\n\t\tsub /\n\t\t\t<= string* \\\n","interface String {\n\t\n\tmatch< RE extends RegExp >( regexp: RE ): ReturnType<\n\t\tRE[ typeof Symbol.match ]\n\t>\n\t\n matchAll< RE extends RegExp >( regexp: RE ): ReturnType<\n\t\tRE[ typeof Symbol.matchAll ]\n\t>\n\t\n}\n\nnamespace $ {\n\t\n\ttype Groups_to_params = {\n\t\t[P in keyof T]?: T[P] | boolean | undefined;\n\t};\t\n\n\texport type $mol_regexp_source =\n\t| number\n\t| string\n\t| RegExp\n\t| { [ key in string ] : $mol_regexp_source }\n\t| readonly[ $mol_regexp_source , ... $mol_regexp_source[] ]\n\n\texport type $mol_regexp_groups< Source extends $mol_regexp_source >\n\t\n\t\t= Source extends number\n\t\t? {}\n\t\t\n\t\t: Source extends string\n\t\t? {}\n\t\t\n\t\t: Source extends $mol_regexp_source[]\n\t\t? $mol_type_merge< $mol_type_intersect< {\n\t\t\t[ key in Extract< keyof Source , number > ] : $mol_regexp_groups< Source[ key ] >\n\t\t}[ Extract< keyof Source , number > ] > >\n\t\t\n\t\t: Source extends RegExp\n\t\t? Record< string, string > extends NonNullable< NonNullable< ReturnType< Source['exec'] > >[ 'groups' ] >\n\t\t\t? {}\n\t\t\t: NonNullable< NonNullable< ReturnType< Source['exec'] > >[ 'groups' ] >\n\t\t\n\t\t: Source extends { readonly [ key in string ] : $mol_regexp_source }\n\t\t? $mol_type_merge< $mol_type_intersect< {\n\t\t\t[ key in keyof Source ] :\n\t\t\t\t$mol_type_merge<\n\t\t\t\t\t& $mol_type_override<\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treadonly [ k in Extract< keyof Source , string > ]: string\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treadonly [ k in key ]:\n\t\t\t\t\t\t\t\tSource[ key ] extends string\n\t\t\t\t\t\t\t\t\t? Source[ key ]\n\t\t\t\t\t\t\t\t\t: string\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t& $mol_regexp_groups< Source[ key ] >\n\t\t\t\t>\n\t\t}[ keyof Source ] > >\n\n\t\t: never\n\t\t\n\t/** Type safe reguar expression builder */\n\texport class $mol_regexp< Groups extends Record< string , string > > extends RegExp {\n\t\t\n\t\t/** Prefer to use $mol_regexp.from */\n\t\tconstructor( source : string , flags : string = 'gsu' , readonly groups : ( Extract< keyof Groups , string > )[] = [] ) {\n\t\t\tsuper( source , flags )\n\t\t}\n\t\t\n\t\t*[Symbol.matchAll] (str:string): RegExpStringIterator< RegExpMatchArray & $mol_type_override< RegExpMatchArray, { groups?: { [ key in keyof Groups ] : string } } > > {\n\t\t\tconst index = this.lastIndex\n\t\t\tthis.lastIndex = 0\n\t\t\ttry {\n\t\t\t\twhile ( this.lastIndex < str.length ) {\n\t\t\t\t\tconst found = this.exec(str)\n\t\t\t\t\tif( !found ) break\n\t\t\t\t\tyield found\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tthis.lastIndex = index\n\t\t\t}\n\t\t}\n\t\t\n\t\t/** Parses input and returns found capture groups or null */\n\t\t[ Symbol.match ]( str : string ): null | RegExpMatchArray {\n\t\t\tconst res = [ ... this[Symbol.matchAll]( str ) ].filter( r => r.groups ).map( r => r[0] )\n\t\t\tif( !res.length ) return null\n\t\t\treturn res as RegExpMatchArray\n\t\t}\n\t\t\n\t\t/** Splits string by regexp edges */\n\t\t[ Symbol.split ]( str : string ): string[] {\n\t\t\t\n\t\t\tconst res = [] as string[]\n\t\t\tlet token_last = null\n\t\t\t\n\t\t\tfor( let token of this[Symbol.matchAll]( str ) ) {\n\t\t\t\tif( token.groups && ( token_last ? token_last.groups : true ) ) res.push( '' )\n\t\t\t\tres.push( token[0] )\n\t\t\t\ttoken_last = token\n\t\t\t}\n\t\t\t\n\t\t\tif( !res.length ) res.push( '' )\n\t\t\t\n\t\t\treturn res\n\t\t}\n\t\t\n\t\ttest( str : string ): boolean {\n\t\t\treturn Boolean( str.match( this) )\n\t\t}\n\t\t\n\t\texec( str : string ): RegExpExecArray & $mol_type_override< RegExpExecArray , { groups?: { [ key in keyof Groups ] : string } } > | null {\n\t\t\t\n\t\t\tconst from = this.lastIndex\n\t\t\tif( from >= str.length ) return null\n\t\t\t\n\t\t\tconst res = super.exec( str )\n\t\t\tif( res === null ) {\n\t\t\t\tthis.lastIndex = str.length\n\t\t\t\tif( !str ) return null\n\t\t\t\treturn Object.assign( [ str.slice( from ) ], {\n\t\t\t\t\tindex: from,\n\t\t\t\t\tinput: str,\n\t\t\t\t} ) as any\n\t\t\t}\n\n\t\t\tif( from === this.lastIndex ) {\n\t\t\t\t$mol_fail( new Error( 'Captured empty substring' ) )\n\t\t\t}\n\n\t\t\ttype Token = { [ key in keyof Groups ] : string } & { [ key : number ] : string }\n\t\t\tconst groups = {} as Token\n\t\t\t\n\t\t\tconst skipped = str.slice( from , this.lastIndex - res[0].length )\n\t\t\tif( skipped ) {\n\t\t\t\tthis.lastIndex = this.lastIndex - res[0].length\n\t\t\t\treturn Object.assign( [ skipped ], {\n\t\t\t\t\tindex: from,\n\t\t\t\t\tinput: res.input,\n\t\t\t\t} ) as any\n\t\t\t}\n\t\t\t\n\t\t\tfor( let i = 0 ; i < this.groups.length ; ++i ) {\n\t\t\t\tconst group = this.groups[ i ]\n\t\t\t\tgroups[ group ] = groups[ group ] || res[ i + 1 ] || '' as any\n\t\t\t}\n\n\t\t\treturn Object.assign( res, { groups } )\n\t\t}\n\t\t\n\t\tgenerate(\n\t\t\tparams: Groups_to_params< Groups >\n\t\t): string | null {\n\t\t\treturn null\n\t\t}\n\t\t\n\t\tget native() {\n\t\t\treturn new RegExp( this.source, this.flags )\n\t\t}\n\n\t\t/** Makes regexp that non-greedy repeats this pattern from min to max count */\n\t\tstatic repeat<\n\t\t\tSource extends $mol_regexp_source\n\t\t>(\n\t\t\tsource : Source ,\n\t\t\tmin = 0 ,\n\t\t\tmax = Number.POSITIVE_INFINITY ,\n\t\t) : $mol_regexp< $mol_regexp_groups< Source > > {\n\t\n\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\tconst upper = Number.isFinite( max ) ? max : ''\n\t\t\t\n\t\t\tconst str = `(?:${ regexp.source }){${ min },${ upper }}?`\n\t\t\tconst regexp2 = new $mol_regexp( str , regexp.flags , regexp.groups )\n\t\t\t\n\t\t\tregexp2.generate = params => {\n\t\t\t\tconst res = regexp.generate( params )\n\t\t\t\tif( res ) return res\n\t\t\t\tif( min > 0 ) return res\n\t\t\t\treturn ''\n\t\t\t}\n\t\n\t\t\treturn regexp2\n\t\n\t\t}\n\n\t\t/** Makes regexp that greedy repeats this pattern from min to max count */\n\t\tstatic repeat_greedy<\n\t\t\tSource extends $mol_regexp_source\n\t\t>(\n\t\t\tsource : Source ,\n\t\t\tmin = 0 ,\n\t\t\tmax = Number.POSITIVE_INFINITY ,\n\t\t) : $mol_regexp< $mol_regexp_groups< Source > > {\n\t\n\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\tconst upper = Number.isFinite( max ) ? max : ''\n\t\t\t\n\t\t\tconst str = `(?:${ regexp.source }){${ min },${ upper }}`\n\t\t\tconst regexp2 = new $mol_regexp( str , regexp.flags , regexp.groups )\n\t\t\t\n\t\t\tregexp2.generate = params => {\n\t\t\t\tconst res = regexp.generate( params )\n\t\t\t\tif( res ) return res\n\t\t\t\tif( min > 0 ) return res\n\t\t\t\treturn ''\n\t\t\t}\n\t\n\t\t\treturn regexp2\n\t\t}\n\n\t\t/** Makes regexp that match any of options */\n\t\tstatic vary<\n\t\t\tSources extends readonly $mol_regexp_source[]\n\t\t>(\n\t\t\tsources : Sources ,\n\t\t) {\n\t\t\t\n\t\t\tconst groups = [] as string[]\n\t\t\t\n\t\t\tconst chunks = sources.map( source => {\n\n\t\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\t\tgroups.push( ... regexp.groups )\n\t\t\t\t\n\t\t\t\treturn regexp.source\n\n\t\t\t} ) as any as readonly[ $mol_regexp_source , ... $mol_regexp_source[] ]\n\t\t\t\n\t\t\treturn new $mol_regexp< $mol_regexp_groups< Sources[number] > >(\n\t\t\t\t`(?:${ chunks.join('|') })` ,\n\t\t\t\t'' ,\n\t\t\t\tgroups as any[] ,\n\t\t\t)\n\t\t\t\n\t\t}\n\n\t\t/** Makes regexp that allow absent of this pattern */\n\t\tstatic optional<\n\t\t\tSource extends $mol_regexp_source\n\t\t>( source : Source ) {\n\t\t\treturn $mol_regexp.repeat_greedy( source , 0 , 1 )\n\t\t}\n\n\t\t/** Makes regexp that look ahead for pattern */\n\t\tstatic force_after( source : $mol_regexp_source ) {\n\n\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\t\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`(?=${ regexp.source })` ,\n\t\t\t\tregexp.flags ,\n\t\t\t\tregexp.groups ,\n\t\t\t)\n\n\t\t}\n\n\t\t/** Makes regexp that look ahead for pattern */\n\t\tstatic forbid_after( source : $mol_regexp_source ) {\n\n\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\t\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`(?!${ regexp.source })` ,\n\t\t\t\tregexp.flags ,\n\t\t\t\tregexp.groups ,\n\t\t\t)\n\n\t\t}\n\n\t\t/** Converts some js values to regexp */\n\t\tstatic from<\n\t\t\tSource extends $mol_regexp_source\n\t\t>(\n\t\t\tsource : Source ,\n\t\t\t{ ignoreCase , multiline } : Partial< Pick< RegExp , 'ignoreCase' | 'multiline' > > = {\n\t\t\t\tignoreCase : false ,\n\t\t\t\tmultiline : false ,\n\t\t\t} ,\n\t\t) : $mol_regexp< $mol_regexp_groups< Source > > {\n\n\t\t\tlet flags = 'gsu'\n\t\t\tif( multiline ) flags += 'm'\n\t\t\tif( ignoreCase ) flags += 'i'\n\n\t\t\tif( typeof source === 'number' ) {\n\n\t\t\t\tconst src = `\\\\u{${ source.toString(16) }}`\n\t\t\t\tconst regexp = new $mol_regexp< $mol_regexp_groups< Source > >( src , flags )\n\t\t\t\tregexp.generate = ()=> src\n\t\t\t\treturn regexp\n\n\t\t\t} if( typeof source === 'string' ) {\n\n\t\t\t\tconst src = source.replace( /[.*+?^${}()|[\\]\\\\]/g , '\\\\$&' ) \n\t\t\t\tconst regexp = new $mol_regexp< $mol_regexp_groups< Source > >( src , flags )\n\t\t\t\tregexp.generate = ()=> source\n\t\t\t\treturn regexp\n\n\t\t\t} else if( source instanceof $mol_regexp ) {\n\t\t\t\t\n\t\t\t\tconst regexp = new $mol_regexp( source.source, flags, source.groups )\n\t\t\t\tregexp.generate = params => source.generate( params )\n\t\t\t\treturn regexp\n\t\t\t\t\n\t\t\t} if( source instanceof RegExp ) {\n\n\n\t\t\t\tconst test = new RegExp( '|' + source.source )\n\t\t\t\tconst groups = Array.from(\n\t\t\t\t\t{ length : test.exec('')!.length - 1 } ,\n\t\t\t\t\t( _ , i )=> String( i + 1 ) ,\n\t\t\t\t)\n\n\t\t\t\tconst regexp = new $mol_regexp< $mol_regexp_groups< Source > >(\n\t\t\t\t\tsource.source ,\n\t\t\t\t\tsource.flags ,\n\t\t\t\t\tgroups as any ,\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tregexp.generate = ()=> ''\n\n\t\t\t\treturn regexp\n\n\t\t\t} if( Array.isArray( source ) ) {\n\n\t\t\t\tconst patterns = source.map( src => Array.isArray( src )\n\t\t\t\t\t? $mol_regexp.optional( src as any )\n\t\t\t\t\t: $mol_regexp.from( src )\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tconst chunks = patterns.map( pattern => pattern.source )\n\t\t\t\t\n\t\t\t\tconst groups = [] as ( Extract< keyof $mol_regexp_groups< Source > , string > )[]\n\n\t\t\t\tlet index = 0\n\t\t\n\t\t\t\tfor( const pattern of patterns ) {\n\t\t\t\t\t\n\t\t\t\t\tfor( let group of pattern.groups ) {\n\t\t\t\t\t\tif( Number( group ) >= 0 ) {\n\t\t\t\t\t\t\tgroups.push( String( index ++ ) as any )\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tgroups.push( group )\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst regexp = new $mol_regexp( chunks.join( '' ) , flags , groups )\n\t\t\t\t\n\t\t\t\tregexp.generate = params => {\n\t\t\t\t\tlet res = ''\n\t\t\t\t\tfor( const pattern of patterns ) {\n\t\t\t\t\t\tlet sub = pattern.generate( params )\n\t\t\t\t\t\tif( sub === null ) return ''\n\t\t\t\t\t\tres += sub\n\t\t\t\t\t}\n\t\t\t\t\treturn res\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn regexp\n\t\t\n\t\t\t} else {\n\n\t\t\t\tconst groups = [] as string[]\n\n\t\t\t\tconst chunks = Object.keys( source ).map( name => {\n\n\t\t\t\t\tgroups.push( name )\n\n\t\t\t\t\tconst regexp = $mol_regexp.from( (source as any)[ name ] )\n\t\t\t\t\tgroups.push( ... regexp.groups )\n\t\t\t\t\t\n\t\t\t\t\treturn `(${regexp.source})`\n\n\t\t\t\t} ) as any as readonly[ $mol_regexp_source , ... $mol_regexp_source[] ]\n\n\t\t\t\tconst regexp = new $mol_regexp< $mol_regexp_groups< Source > >(\n\t\t\t\t\t`(?:${ chunks.join('|') })` ,\n\t\t\t\t\tflags ,\n\t\t\t\t\tgroups as any[] ,\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tconst validator = new RegExp( '^' + regexp.source + '$', flags )\n\t\t\t\tregexp.generate = (params: any) => {\n\t\t\t\t\t\n\t\t\t\t\tfor( let option in source ) {\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( option in params ) {\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif( typeof params[ option ] === 'boolean' ) {\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif( !params[ option as any ] ) continue\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tconst str = String( params[ option ] )\n\t\t\t\t\t\t\t\tif( str.match( validator ) ) return str\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t$mol_fail( new Error( `Wrong param: ${option}=${str}` ) )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif( typeof (source as any)[ option ] !== 'object' ) continue\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst res = $mol_regexp.from( (source as any)[ option ] ).generate( params )\n\t\t\t\t\t\tif( res ) return res\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn regexp\n\n\t\t\t}\n\t\n\t\t}\n\n\t\t/** Makes regexp which includes only unicode category */\n\t\tstatic unicode_only( ... category: $mol_unicode_category ) {\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`\\\\p{${ category.join( '=' ) }}`\n\t\t\t)\n\t\t}\n\n\t\t/** Makes regexp which excludes unicode category */\n\t\tstatic unicode_except( ... category: $mol_unicode_category ) {\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`\\\\P{${ category.join( '=' ) }}`\n\t\t\t)\n\t\t}\n\n\t\tstatic char_range(\n\t\t\tfrom: number,\n\t\t\tto: number,\n\t\t): $mol_regexp<{}> {\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`${ $mol_regexp.from( from ).source }-${ $mol_regexp.from( to ).source }`\n\t\t\t)\n\t\t}\n\n\t\tstatic char_only(\n\t\t\t... allowed: readonly [ $mol_regexp_source, ... $mol_regexp_source[] ]\n\t\t): $mol_regexp<{}> {\n\t\t\tconst regexp = allowed.map( f => $mol_regexp.from( f ).source ).join('')\n\t\t\treturn new $mol_regexp( `[${ regexp }]` )\n\t\t}\n\n\t\tstatic char_except(\n\t\t\t... forbidden: readonly [ $mol_regexp_source, ... $mol_regexp_source[] ]\n\t\t): $mol_regexp<{}> {\n\t\t\tconst regexp = forbidden.map( f => $mol_regexp.from( f ).source ).join('')\n\t\t\treturn new $mol_regexp( `[^${ regexp }]` )\n\t\t}\n\t\t\n\t\tstatic decimal_only = $mol_regexp.from( /\\d/gsu )\n\t\tstatic decimal_except = $mol_regexp.from( /\\D/gsu )\n\t\t\n\t\tstatic latin_only = $mol_regexp.from( /\\w/gsu )\n\t\tstatic latin_except = $mol_regexp.from( /\\W/gsu )\n\t\t\n\t\tstatic space_only = $mol_regexp.from( /\\s/gsu )\n\t\tstatic space_except = $mol_regexp.from( /\\S/gsu )\n\t\t\n\t\tstatic word_break_only = $mol_regexp.from( /\\b/gsu )\n\t\tstatic word_break_except = $mol_regexp.from( /\\B/gsu )\n\t\t\n\t\tstatic tab = $mol_regexp.from( /\\t/gsu )\n\t\tstatic slash_back = $mol_regexp.from( /\\\\/gsu )\n\t\tstatic nul = $mol_regexp.from( /\\0/gsu )\n\t\t\n\t\tstatic char_any = $mol_regexp.from( /./gsu )\n\t\tstatic begin = $mol_regexp.from( /^/gsu )\n\t\tstatic end = $mol_regexp.from( /$/gsu )\n\t\tstatic or = $mol_regexp.from( /|/gsu )\n\t\t\n\t\tstatic line_end = $mol_regexp.from({\n\t\t\twin_end: [ [ '\\r' ], '\\n' ],\n\t\t\tmac_end: '\\r',\n\t\t})\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\n\t/**\n\t * Output text with dimmed mismatched substrings.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_dimmer_demo\n\t */\n\texport class $mol_dimmer extends $.$mol_dimmer {\n\t\t\n\t\tparts() {\n\t\t\tconst needle = this.needle()\n\t\t\tif( needle.length < 2 ) return [ this.haystack() ]\n\t\t\t\n\t\t\tlet chunks : any[] = []\n\t\t\tlet strings = this.strings()\n\t\t\t\n\t\t\tfor( let index = 0 ; index < strings.length ; index++ ) {\n\t\t\t\tif( strings[ index ] === '' ) continue\n\t\t\t\t\n\t\t\t\tchunks.push( ( index % 2 ) ? this.High( index ) : this.Low( index ) )\n\t\t\t}\n\t\t\t\n\t\t\treturn chunks\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstrings() {\n\t\t\t\n\t\t\tconst options = this.needle().split( /\\s+/g ).filter( Boolean )\n\t\t\tif( !options.length ) return [ this.haystack() ]\n\t\t\t\n\t\t\tconst variants = { ... options } as Record< number, string >\n\t\t\tconst regexp = $mol_regexp.from( { needle: variants } , { ignoreCase: true } )\n\t\t\t\n\t\t\treturn this.haystack().split( regexp )\n\t\t}\n\t\t\n\t\tstring( index: number ) {\n\t\t\treturn this.strings()[ index ]\n\t\t}\n\t\t\n\t\t*view_find(\n\t\t\tcheck: ( path : $mol_view, text?: string )=> boolean,\n\t\t\tpath = [] as $mol_view[],\n\t\t): Generator< $mol_view[] > {\n\n\t\t\tif( check( this, this.haystack() ) ) {\n\t\t\t\tyield [ ... path, this ]\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/dimmer/dimmer.view.css\",\n \"[mol_dimmer] {\\n\\tdisplay: block;\\n\\tmax-width: 100%;\\n}\\n\\n[mol_dimmer_low] {\\n\\tdisplay: inline;\\n\\topacity: 0.8;\\n}\\n\\n[mol_dimmer_high] {\\n\\tdisplay: inline;\\n\\tcolor: var(--mol_theme_focus);\\n\\ttext-shadow: 0 0;\\n}\\n\"\n) }","$mol_search $mol_pop\n\tquery? \\\n\tsuggests /string\n\tplugins /$mol_plugin\n\t\t^\n\t\t<= Hotkey $mol_hotkey\n\t\t\tkey * escape? <=> clear? null\n\t\t<= Nav $mol_nav\n\t\t\tkeys_y <= nav_components /$mol_view\n\t\t\tcurrent_y?component <=> nav_focused?component null\n\tshowed? <=> suggests_showed? false\n\talign_hor \\right\n\tAnchor $mol_view\n\t\tsub <= anchor_content /\n\t\t\t<= Query $mol_string\n\t\t\t\tvalue? <=> query? \\\n\t\t\t\thint <= hint @ \\Search...\n\t\t\t\tsubmit?event <=> submit?event null\n\t\t\t\tenabled <= enabled true\n\t\t\t\tkeyboard <= keyboard \\search\n\t\t\t\tenter <= enter \\search\n\t\t\t\tbring => bring\n\t\t\t<= Clear $mol_button_minor\n\t\t\t\thint @ \\Clear\n\t\t\t\tclick?event <=> clear?event null\n\t\t\t\tsub /\n\t\t\t\t\t<= Clear_icon $mol_icon_close\n\tbubble_content /$mol_view_content\n\t\t<= Menu $mol_list\n\t\t\trows <= menu_items /$mol_view\n\tSuggest* $mol_button_minor\n\t\tclick?event <=> suggest_select*?event null\n\t\tsub <= suggest_content* /$mol_view_content\n\t\t\t<= Suggest_label* $mol_dimmer\n\t\t\t\thaystack <= suggest_label* \\\n\t\t\t\tneedle <= query? \\\n","namespace $.$$ {\n\t\n\t/**\n\t * Search input with suggest and clear button.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_search_demo\n\t */\n\texport class $mol_search extends $.$mol_search {\n\t\t\n\t\t@ $mol_mem\n\t\tanchor_content() {\n\t\t\treturn [\n\t\t\t\tthis.Query(),\n\t\t\t\t... this.query() ? [ this.Clear() ] : [],\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsuggests_showed( next = true ) {\n\t\t\t\n\t\t\tthis.query()\n\t\t\t\n\t\t\tif( !this.focused() ) return false\n\n\t\t\treturn next\n\t\t}\n\n\t\tsuggest_selected( next? : string ) {\n\t\t\t\n\t\t\tif( next === undefined ) return\n\t\t\t\n\t\t\tthis.query( next )\n\t\t\tthis.Query().focused( true )\n\t\t\t\n\t\t}\n\t\t\n\t\tnav_components() {\n\t\t\treturn [\n\t\t\t\tthis.Query(),\n\t\t\t\t... this.menu_items(),\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tnav_focused( component? : $mol_view ) {\n\t\t\t\n\t\t\tif( !this.focused() ) return null\n\t\t\t\n\t\t\tif( component == null ) {\n\t\t\t\t\n\t\t\t\tfor( let comp of this.nav_components() ) {\n\t\t\t\t\tif( comp && comp.focused() ) return comp\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn null\n\t\t\t}\n\t\t\t\n\t\t\tif( this.suggests_showed() ) {\n\t\t\t\tthis.ensure_visible( component, \"center\" )\n\t\t\t\tcomponent.focused( true )\n\t\t\t}\n\t\t\t\n\t\t\treturn component\n\t\t}\n\t\t\n\t\tsuggest_label( key: string ) {\n\t\t\treturn key\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tmenu_items() {\n\t\t\treturn this.suggests().map( ( suggest : string ) => this.Suggest( suggest ) )\n\t\t}\n\t\t\n\t\tsuggest_select( id : string , event? : MouseEvent ) {\n\t\t\tthis.query( id )\n\t\t\tthis.Query().selection([ id.length, id.length ])\n\t\t\tthis.Query().focused( true )\n\t\t}\n\t\t\n\t\tclear( event? : Event ) {\n\t\t\tthis.query( '' )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/search/search.view.css\",\n \"[mol_search] {\\n\\talign-self: flex-start;\\n\\tflex: auto;\\n}\\n\\n[mol_search_anchor] {\\n\\tflex: 1 1 auto;\\n}\\n\\n[mol_search_query] {\\n\\tflex-grow: 1;\\n}\\n\\n[mol_search_menu] {\\n\\tmin-height: .75rem;\\n\\tdisplay: flex;\\n}\\n\\n[mol_search_suggest] {\\n\\ttext-align: left;\\n}\\n\\n[mol_search_suggest_label_high] {\\n\\tcolor: var(--mol_theme_shade);\\n\\ttext-shadow: none;\\n}\\n\"\n) }","$mol_labeler $mol_list\n\trows /\n\t\t<= Label $mol_view\n\t\t\tminimal_height 32\n\t\t\tsub <= label /$mol_view_content\n\t\t\t\t<= title\n\t\t<= Content $mol_view\n\t\t\tminimal_height 24\n\t\t\tsub <= content /\n","namespace $ { $mol_style_attach( \"mol/labeler/labeler.view.css\",\n \"[mol_labeler] {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\talign-items: stretch;\\n\\tcursor: inherit;\\n}\\n\\n[mol_labeler_label] {\\n\\tmin-height: 2rem;\\n\\tcolor: var(--mol_theme_shade);\\n\\tpadding: .5rem .75rem 0;\\n\\tgap: 0 var(--mol_gap_block);\\n\\tflex-wrap: wrap;\\n}\\n\\n[mol_labeler_content] {\\n\\tdisplay: flex;\\n\\tpadding: var(--mol_gap_text);\\n}\\n\"\n) }","$mol_form_field $mol_labeler\n\tbids /string\n\tlabel /\n\t\t<= name \\\n\t\t<= Bid $mol_view\n\t\t\tsub / <= bid \\\n\tcontent / <= control null\n","namespace $.$$ {\n\t/**\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_form_demo\n\t */\n\texport class $mol_form_field extends $.$mol_form_field {\n\t\t\n\t\t@ $mol_mem\n\t\tbid() {\n\t\t\treturn this.bids().filter( Boolean )[ 0 ] ?? ''\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/form/field/field.view.css\",\n \"[mol_form_field] {\\n\\talign-items: stretch;\\n}\\n\\n[mol_form_field_bid] {\\n\\tcolor: var(--mol_theme_focus);\\n\\tdisplay: inline-block;\\n\\ttext-shadow: 0 0;\\n}\\n\\n[mol_form_field_content] {\\n\\tborder-radius: var(--mol_gap_round);\\n}\\n\"\n) }","$mol_pick $mol_pop\n\tevent *\n\t\t^\n\t\tkeydown?event <=> keydown?event null\n\tAnchor <= Trigger $mol_check\n\t\tminimal_width 40\n\t\tminimal_height 40\n\t\tenabled <= trigger_enabled true\n\t\tchecked? <=> showed?\n\t\tclicks? <=> clicks? null\n\t\tsub <= trigger_content /$mol_view_content\n\t\t\t<= title\n\t\thint <= hint \\\n","namespace $.$$ {\n\n\t/**\n\t * Pop-up display and hide by mouse click, also hide by unfocus.\n\t * Based on [mol_pop](https://mol.hyoo.ru/#!section=demos/demo=mol_pop_demo) component.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_pick_demo\n\t */\n\texport class $mol_pick extends $.$mol_pick {\n\t\t\n\t\tkeydown( event : KeyboardEvent ) {\n\t\t\t\n\t\t\tif( !this.trigger_enabled() ) return\n\n\t\t\tif( event.defaultPrevented ) return \n\t\t\t\n\t\t\tif( event.keyCode === $mol_keyboard_code.escape ) {\n\t\t\t\tif( !this.showed() ) return\n\t\t\t\tevent.preventDefault()\n\t\t\t\tthis.showed( false )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/pick/pick.view.css\",\n \"[mol_pick_trigger] {\\n\\talign-items: center;\\n\\tflex-grow: 1;\\n}\\n\"\n) }","$mol_icon_dots_vertical $mol_icon path \\M12,16A2,2 0 0,1 14,18A2,2 0 0,1 12,20A2,2 0 0,1 10,18A2,2 0 0,1 12,16M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M12,4A2,2 0 0,1 14,6A2,2 0 0,1 12,8A2,2 0 0,1 10,6A2,2 0 0,1 12,4Z\n","$mol_select $mol_pick\n\tdictionary? *\n\toptions /string\n\tvalue? \\\n\toption_label_default \\\n\tOption_row* $mol_button_minor\n\t\tevent_click?event <=> event_select*?event null\n\t\tsub <= option_content* /\n\t\t\t<= Option_label* $mol_dimmer\n\t\t\t\thaystack <= option_label* \\\n\t\t\t\tneedle <= filter_pattern? \\\n\tNo_options $mol_view\n\t\tsub /\n\t\t\t<= no_options_message @ \\No options\n\tplugins /\n\t\t^\n\t\t<= Nav $mol_nav\n\t\t\tkeys_y <= nav_components /$mol_view\n\t\t\tcurrent_y?component <=> option_focused?component null\n\t\t\tcycle? <=> nav_cycle? true\n\thint @ \\Pick..\n\tbubble_content /\n\t\t<= Filter\n\t\t<= Bubble_pane $mol_scroll\n\t\t\tsub /\n\t\t\t\t<= Menu $mol_list\n\t\t\t\t\trows <= menu_content /$mol_view\n\tFilter $mol_search\n\t\tquery? <=> filter_pattern? \\\n\t\thint <= filter_hint @ \\Filter..\n\t\tsubmit?event <=> submit?event null\n\t\tenabled <= enabled true\n\tTrigger_icon $mol_icon_dots_vertical\n","namespace $ {\n\n\texport function $mol_match_text< Variant >( query : string , values : ( variant : Variant )=> string[] ) {\n\t\tconst tags = query.toLowerCase().trim().split( /\\s+/ ).filter( tag => tag )\n\n\t\tif( tags.length === 0 ) return ()=> true\n\t\t\n\t\treturn ( variant : Variant )=> {\n\t\t\tconst vals = values( variant )\n\t\t\treturn tags.every( tag => vals.some( val => val.toLowerCase().indexOf( tag ) >= 0 ) )\n\t\t}\n\t}\n\n}\n","namespace $.$$ {\n\n\t/**\n\t * Allow user to select value from various options and displays current value.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_select_demo_colors\n\t */\n\texport class $mol_select extends $.$mol_select {\n\t\t\n\t\t@ $mol_mem\n\t\tfilter_pattern( next? : string ) {\n\t\t\tthis.focused()\n\t\t\t\n\t\t\treturn next || ''\n\t\t}\n\n\t\topen() {\n\t\t\tthis.showed( true )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\toptions() {\n\t\t\treturn Object.keys( this.dictionary() ) as readonly string[]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\toptions_filtered() {\n\t\t\tlet options = this.options()\n\t\t\toptions = options.filter( $mol_match_text( this.filter_pattern() , ( id : string )=> [ this.option_label( id ) ] ) )\n\n\t\t\tconst index = options.indexOf( this.value() )\n\t\t\tif( index >= 0 ) options = [ ... options.slice( 0 , index ) , ... options.slice( index + 1 ) ]\n\t\t\t\n\t\t\treturn options\n\t\t}\n\t\t\n\t\toption_label( id : string ) {\n\t\t\tconst value = this.dictionary()[ id ]\n\t\t\treturn (value == null ? id : value) || this.option_label_default()\n\t\t}\n\t\t\n\t\toption_rows() {\n\t\t\treturn this.options_filtered().map( ( option : string ) => this.Option_row( option ) )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\toption_focused( component? : $mol_view ) {\n\t\t\tif( component == null ) {\n\t\t\t\tfor( let comp of this.nav_components() ) {\n\t\t\t\t\tif( comp && comp.focused() ) return comp\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn null\n\t\t\t}\n\t\t\t\n\t\t\tif( this.showed() ) {\n\t\t\t\tcomponent.focused( true )\n\t\t\t}\n\t\t\t\n\t\t\treturn component\n\t\t}\n\n\t\tevent_select( id : string , event? : MouseEvent ) {\n\t\t\tthis.value( id )\n\t\t\tthis.showed( false )\n\t\t\tevent?.preventDefault()\n\t\t}\n\t\t\n\t\tnav_components() {\n\t\t\tif( this.options().length > 1 && this.Filter() ) {\n\t\t\t\treturn [ this.Filter() , ... this.option_rows() ]\n\t\t\t} else {\n\t\t\t\treturn this.option_rows()\n\t\t\t}\n\t\t}\n\n\t\ttrigger_content() {\n\t\t\treturn [\n\t\t\t\t... this.option_content( this.value() ),\n\t\t\t\tthis.Trigger_icon(),\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\tmenu_content() {\n\t\t\treturn [\n\t\t\t\t... this.option_rows(),\n\t\t\t\t... ( this.options_filtered().length === 0 ) ? [ this.No_options() ] : []\n\t\t\t]\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/select/select.view.css\",\n \"[mol_select] {\\n\\tdisplay: flex;\\n\\tword-break: normal;\\n\\talign-self: flex-start;\\n}\\n\\n[mol_select_option_row] {\\n\\tmin-width: 100%;\\n\\tpadding: 0;\\n\\tjustify-content: flex-start;\\n}\\n\\n[mol_select_bubble] {\\n\\tmin-width: 100%;\\n}\\n\\n[mol_select_filter] {\\n\\tflex: 1 0 auto;\\n\\talign-self: stretch;\\n}\\n\\n[mol_select_option_label] {\\n\\tpadding: var(--mol_gap_text);\\n\\ttext-align: left;\\n\\tmin-height: 1.5em;\\n\\tdisplay: block;\\n\\twhite-space: nowrap;\\n}\\n\\n[mol_select_clear_option_content] {\\n\\tpadding: .5em 1rem .5rem 0;\\n\\ttext-align: left;\\n\\tbox-shadow: var(--mol_theme_line);\\n\\tflex: 1 0 auto;\\n}\\n\\n[mol_select_no_options] {\\n\\tpadding: var(--mol_gap_text);\\n\\ttext-align: left;\\n\\tdisplay: block;\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\\n[mol_select_trigger] {\\n\\tpadding: 0;\\n\\tflex: 1 1 auto;\\n\\tdisplay: flex;\\n}\\n\\n[mol_select_trigger] > * {\\n\\tmargin-right: -1rem;\\n}\\n\\n[mol_select_trigger] > *:last-child {\\n\\tmargin-right: 0;\\n}\\n\\n[mol_select_menu] {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\\n\"\n) }","$mol_icon_information $mol_icon path \\M13,9H11V7H13M13,17H11V11H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\n","$mol_icon_information_outline $mol_icon path \\M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,17H13V11H11V17Z\n","$mol_icon_plus $mol_icon path \\M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\n","$mol_page $mol_view\n\tdom_name \\article\n\tattr *\n\t\t^\n\t\ttabIndex <= tabindex -1\n\tsub /\n\t\t<= Head $mol_view\n\t\t\tminimal_height 64\n\t\t\tdom_name \\header\n\t\t\tsub <= head /\n\t\t\t\t<= Title $mol_view\n\t\t\t\t\tdom_name \\h1\n\t\t\t\t\tsub <= title_content /\n\t\t\t\t\t\t<= Logo null\n\t\t\t\t\t\t<= title\n\t\t\t\t<= Tools $mol_view\n\t\t\t\t\tsub <= tools /$mol_view_content\n\t\t<= Body $mol_scroll\n\t\t\tscroll_top? => body_scroll_top?\n\t\t\tsub <= body_content /\n\t\t\t\t<= Body_content $mol_view\n\t\t\t\t\tsub <= body /$mol_view\n\t\t<= Foot $mol_view\n\t\t\tdom_name \\footer\n\t\t\tsub <= foot /$mol_view\n","namespace $.$$ {\n\n\tconst { per , rem } = $mol_style_unit\n\tconst { hsla } = $mol_style_func\n\n\t$mol_style_define( $mol_page , {\n\n\t\tdisplay: 'flex' ,\n\t\tflex: {\n\t\t\tbasis: 'auto' ,\n\t\t\tdirection: 'column' ,\n\t\t},\n\t\tposition: 'relative' ,\n\t\talignSelf: 'stretch' ,\n\t\tmaxWidth: per(100) ,\n\t\tmaxHeight: per(100) ,\n\t\tboxSizing: 'border-box' ,\n\t\tcolor: $mol_theme.text ,\n\t\t// zIndex: 0 ,\n\t\t\n\t\t':focus': {\n\t\t\toutline: 'none',\n\t\t} ,\n\n\t\tHead: {\n\t\t\tdisplay: 'flex' ,\n\t\t\tflexWrap: 'wrap' ,\n\t\t\tjustifyContent: 'flex-end' ,\n\t\t\tflex: 'none',\n\t\t\tposition: 'relative' ,\n\t\t\tmargin: 0 ,\n\t\t\tminHeight: rem(4),\n\t\t\tpadding: $mol_gap.block ,\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.card ,\n\t\t\t},\n\t\t\tborder: {\n\t\t\t\tradius: $mol_gap.round,\n\t\t\t},\n\t\t\tbox: {\n\t\t\t\tshadow: [[ 0, `0.5rem`, `0.5rem`, `-0.5rem`, hsla( 0, 0, 0, .25 ) ]],\n\t\t\t},\n\t\t\tzIndex: 2,\n\t\t},\n\n\t\tTitle: {\n\n\t\t\tminHeight: rem(2),\n\t\t\tmargin: 0,\n\t\t\tpadding: $mol_gap.text,\n\t\t\tgap: $mol_gap.text,\n\t\t\twordBreak: 'normal',\n\t\t\ttextShadow: '0 0',\n\n\t\t\tfont: {\n\t\t\t\tsize: 'inherit',\n\t\t\t\tweight: 'normal',\n\t\t\t},\n\t\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t\tshrink: 1,\n\t\t\t\tbasis: 'auto',\n\t\t\t},\n\n\t\t},\n\n\t\tTools: {\n\t\t\t\n\t\t\tflex: {\n\t\t\t\tbasis: 'auto',\n\t\t\t\tgrow: 1000,\n\t\t\t\tshrink: 1,\n\t\t\t},\n\t\t\tdisplay: 'flex',\n\t\t\tjustifyContent: 'flex-end',\n\t\t\talignItems: 'flex-start',\n\t\t\tflexWrap: 'wrap',\n\n\t\t},\n\n\t\tBody: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1000,\n\t\t\t\tshrink: 1,\n\t\t\t\tbasis: per(100),\n\t\t\t},\n\t\t},\n\t\t\n\t\tBody_content: {\n\t\t\tpadding: $mol_gap.block ,\n\t\t\tflex: {\n\t\t\t\tdirection: 'column',\n\t\t\t\tshrink: 1,\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t\tjustify: {\n\t\t\t\tself: 'stretch',\n\t\t\t},\n\t\t},\n\t\t\n\t\tFoot: {\n\t\t\tdisplay: 'flex',\n\t\t\tjustifyContent: 'space-between',\n\t\t\tflex: 'none',\n\t\t\tmargin: 0,\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.card ,\n\t\t\t},\n\t\t\tborder: {\n\t\t\t\tradius: $mol_gap.round,\n\t\t\t},\n\t\t\tbox: {\n\t\t\t\tshadow: [[ 0, `-0.5rem`, `0.5rem`, `-0.5rem`, hsla( 0, 0, 0, .25 ) ]],\n\t\t\t},\n\t\t\tzIndex: 1,\n\t\t\tpadding: $mol_gap.block ,\n\t\t\t':empty': {\n\t\t\t\tdisplay: 'none',\n\t\t\t},\n\t\t},\t\n\n\t} )\n\t\n}\n","$mol_stack $mol_view\n","namespace $ { $mol_style_attach( \"mol/stack/stack.view.css\",\n \"[mol_stack] {\\n\\tdisplay: grid;\\n\\t/* width: max-content; */\\n\\t/* height: max-content; */\\n\\talign-items: flex-start;\\n\\tjustify-items: flex-start;\\n}\\n\\n[mol_stack] > * {\\n\\tgrid-area: 1/1;\\n}\\n\"\n) }","$mol_text_code_token $mol_dimmer\n\tattr *\n\t\t^\n\t\tmol_text_code_token_type <= type \\\n\n$mol_text_code_token_link $mol_text_code_token\n\tdom_name \\a\n\ttype \\code-link\n\tattr *\n\t\t^\n\t\thref <= uri \\\n\t\ttarget \\_blank\n","namespace $.$$ {\n\n\tconst { hsla } = $mol_style_func\n\t\n\t$mol_style_define( $mol_text_code_token, {\n\n\t\tdisplay: 'inline',\n\t\ttextDecoration: 'none',\n\n\t\t'@': {\n\t\t\tmol_text_code_token_type: {\n\n\t\t\t\t'code-keyword': {\n\t\t\t\t\tcolor: hsla( 0, 70, 60, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-field': {\n\t\t\t\t\tcolor: hsla( 300, 70, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-tag': {\n\t\t\t\t\tcolor: hsla( 330, 70, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-global': {\n\t\t\t\t\tcolor: hsla( 30, 80, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-decorator': {\n\t\t\t\t\tcolor: hsla( 180, 40, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-punctuation': {\n\t\t\t\t\tcolor: hsla( 0, 0, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-string': {\n\t\t\t\t\tcolor: hsla( 90, 40, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-number': {\n\t\t\t\t\tcolor: hsla( 55, 65, 45, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-call': {\n\t\t\t\t\tcolor: hsla( 270, 60, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-link': {\n\t\t\t\t\tcolor: hsla( 210, 60, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-comment-inline': {\n\t\t\t\t\topacity: .5,\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-comment-block': {\n\t\t\t\t\topacity: .5,\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-docs': {\n\t\t\t\t\topacity: .75,\n\t\t\t\t},\n\t\t\t\t\n\t\t\t},\n\t\t}\n\n\t} )\n\n}\n","$mol_text_code_row $mol_paragraph\n\ttext \\\n\tminimal_height 24\n\tnumb_showed true\n\tsyntax null\n\turi_resolve* \\\n\tNumb $mol_view\n\t\tsub /\n\t\t\t<= numb 0\n\tToken* $mol_text_code_token\n\t\ttype <= token_type* \\\n\t\thaystack <= token_text* \\\n\t\tneedle <= highlight \\\n\tToken_link* $mol_text_code_token_link\n\t\thaystack <= token_text* \\\n\t\tneedle <= highlight \\\n\t\turi <= token_uri* \\\n\tfind_pos* null\n","namespace $ {\n\n\t/** Creates lexer by dictionary of lexems. Lexem that started first wins. Then lexem that declared earlier wins. Use regexp capture to take parts of token. */\n\texport class $mol_syntax2< Lexems extends { [ name : string ] : RegExp } > {\n\t\t\n\t\tconstructor(\n\t\t\tpublic lexems : Lexems\n\t\t) {\n\n\t\t\tfor( let name in lexems ) {\n\t\t\t\tthis.rules.push({\n\t\t\t\t\tname : name ,\n\t\t\t\t\tregExp : lexems[ name ] ,\n\t\t\t\t\tsize : RegExp( '^$|' + lexems[ name ].source ).exec( '' )!.length - 1 , \n\t\t\t\t})\n\t\t\t}\n\n\t\t\tconst parts = '(' + this.rules.map( rule => rule.regExp.source ).join( ')|(' ) + ')'\n\t\t\tthis.regexp = RegExp( `([\\\\s\\\\S]*?)(?:(${ parts })|$(?![^]))` , 'gmu' ) \n\t\t\t\n\t\t}\n\t\t\n\t\trules = [] as Array<{\n\t\t\tregExp : RegExp ,\n\t\t\tname : string ,\n\t\t\tsize : number\n\t\t}>\n\t\t\n\t\tregexp : RegExp\n\n\t\ttokenize(\n\t\t\ttext : string ,\n\t\t\thandle : ( name : string , found : string , chunks : string[] , offset : number )=> void ,\n\t\t) {\n\t\t\t\n\t\t\tlet end = 0\n\t\t\t\t\n\t\t\tlexing : while( end < text.length ) {\n\n\t\t\t\tconst start = end\n\n\t\t\t\tthis.regexp.lastIndex = start\n\t\t\t\tvar found = this.regexp.exec( text )!\n\t\t\t\t\n\t\t\t\tend = this.regexp.lastIndex\n\t\t\t\tif( start === end ) throw new Error( 'Empty token' )\n\t\t\t\t\n\t\t\t\tvar prefix = found[ 1 ]\n\t\t\t\tif( prefix ) handle( '' , prefix , [ prefix ] , start )\n\t\t\t\t\n\t\t\t\tvar suffix = found[ 2 ]\n\t\t\t\tif( !suffix ) continue\n\n\t\t\t\tlet offset = 4\n\t\t\t\tfor( let rule of this.rules ) {\n\n\t\t\t\t\tif( found[ offset - 1 ] ) {\n\t\t\t\t\t\thandle( rule.name , suffix , found.slice( offset, offset + rule.size ) , start + prefix.length )\n\t\t\t\t\t\tcontinue lexing\n\t\t\t\t\t}\n\n\t\t\t\t\toffset += rule.size + 1\n\t\t\t\t}\n\n\t\t\t\t$mol_fail( new Error( '$mol_syntax2 is broken' ) )\n\n\t\t\t}\n\n\t\t}\n\t\t\n\t\tparse(\n\t\t\ttext : string ,\n\t\t\thandlers : { [ key in keyof Lexems | '' ] : ( found : string , chunks : string[] , offset : number )=> void } ,\n\t\t) : void {\n\t\t\tthis.tokenize( text , ( name , ...args )=> handlers[ name ]( ... args ) )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport var $mol_syntax2_md_flow = new $mol_syntax2({\n\t\t'quote' : /^((?:(?:[>\"] )(?:[^]*?)$(\\r?\\n?))+)([\\n\\r]*)/ ,\n\t\t'spoiler' : /^((?:(?:[\\?] )(?:[^]*?)$(\\r?\\n?))+)([\\n\\r]*)/ ,\n\t\t'header' : /^([#=]+)(\\s+)(.*?)$([\\n\\r]*)/ ,\n\t\t'list' : /^((?:(?: ?([*+-])|(?:\\d+[\\.\\)])+) +(?:[^]*?)$(?:\\r?\\n?)(?: (?:[^]*?)$(?:\\r?\\n?))*)+)((?:\\r?\\n)*)/ ,\n\t\t'code' : /^(```\\s*)([\\w.-]*)[\\r\\n]+([^]*?)^(```)$([\\n\\r]*)/ ,\n\t\t'code-indent' : /^((?:(?: |\\t)(?:[^]*?)$\\r?\\n?)+)([\\n\\r]*)/ ,\n\t\t'table' : /((?:^\\|.+?$\\r?\\n?)+)([\\n\\r]*)/ ,\n\t\t'grid' : /((?:^ *! .*?$\\r?\\n?)+)([\\n\\r]*)/ ,\n\t\t'cut' : /^--+$((?:\\r?\\n)*)/ ,\n\t\t'block' : /^(.*?)$((?:\\r?\\n)*)/ ,\n\t})\n\t\n\texport var $mol_syntax2_md_line = new $mol_syntax2({\n\t\t'strong' : /\\*\\*(.+?)\\*\\*/ ,\n\t\t'emphasis' : /\\*(?!\\s)(.+?)\\*|\\/\\/(?!\\s)(.+?)\\/\\// ,\n\t\t'code' : /```(.+?)```|;;(.+?);;|`(.+?)`/ ,\n\t\t'insert' : /\\+\\+(.+?)\\+\\+/ ,\n\t\t'delete' : /~~(.+?)~~|--(.+?)--/ ,\n\t\t// 'remark' : /(\\()(.+?)(\\))/ ,\n\t\t// 'quote' : /(\")(.+?)(\")/ ,\n\t\t'embed' : /\"\"(?:(.*?)\\\\)?(.*?)\"\"/ ,\n\t\t'link' : /\\\\\\\\(?:(.*?)\\\\)?(.*?)\\\\\\\\/ ,\n\t\t'image-link' : /!\\[([^\\[\\]]*?)\\]\\((.*?)\\)/ ,\n\t\t'text-link' : /\\[(.*?(?:\\[[^\\[\\]]*?\\][^\\[\\]]*?)*)\\]\\((.*?)\\)/ ,\n\t\t'text-link-http' : /\\b(https?:\\/\\/[^\\s,.;:!?\")]+(?:[,.;:!?\")][^\\s,.;:!?\")]+)+)/ ,\n\t})\n\t\n\texport const $mol_syntax2_md_code = new $mol_syntax2({\n\t\t'code-indent' : /\\t+/ ,\n\t\t'code-docs' : /\\/\\/\\/.*?$/ ,\n\t\t'code-comment-block' : /(?:\\/\\*[^]*?\\*\\/|\\/\\+[^]*?\\+\\/|)/ ,\n\t\t'code-link' : /(?:\\w+:\\/\\/|#)\\S+?(?=\\s|\\\\\\\\|\"\"|$)/ ,\n\t\t'code-comment-inline' : /\\/\\/.*?(?:$|\\/\\/)|- \\\\.*/ ,\n\t\t'code-string' : /(?:\".*?\"|'.*?'|`.*?`|\\/.+?\\/[dygimsu]*(?!\\p{Letter})|[ \\t]*\\\\[^\\n]*)/u ,\n\t\t'code-number' : /[+-]?(?:\\d*\\.)?\\d+\\w*/ ,\n\t\t'code-call' : /\\.?\\w+ *(?=\\()/ ,\n\t\t'code-sexpr' : /\\((\\w+ )/ ,\n\t\t'code-field' : /(?:(?:\\.|::|->)\\w+|[\\w-]+\\??\\s*:(?!\\/\\/|:))/ ,\n\t\t'code-keyword' : /\\b(throw|readonly|unknown|keyof|typeof|never|from|class|struct|interface|type|function|extends|implements|module|namespace|import|export|include|require|var|val|let|const|for|do|while|until|in|out|of|new|if|then|else|switch|case|this|return|async|await|yield|try|catch|break|continue|get|set|public|private|protected|string|boolean|number|null|undefined|true|false|void|int|float|ref)\\b/ ,\n\t\t'code-global' : /[$]+\\w*|\\b[A-Z][a-z0-9]+[A-Z]\\w*/ ,\n\t\t'code-word' : /\\w+/ ,\n\t\t'code-decorator' : /@.+/ ,\n\t\t'code-tag' : /<\\/?[\\w-]+\\/?>?|&\\w+;/ ,\n\t\t'code-punctuation' : /[\\-\\[\\]\\{\\}\\(\\)<=>~!\\?@#%&\\*_\\+\\\\\\/\\|;:\\.,\\^]+?/ ,\n\t})\n\t\n}\n","namespace $.$$ {\n\n\texport class $mol_text_code_row extends $.$mol_text_code_row {\n\t\t\n\t\tmaximal_width() {\n\t\t\treturn this.text().length * this.letter_width()\n\t\t}\n\t\t\n\t\tsyntax() {\n\t\t\treturn this.$.$mol_syntax2_md_code\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\ttokens( path: number[] ) {\n\n\t\t\tconst tokens = [] as { name : string , found : string , chunks: string[] }[]\n\t\t\t\n\t\t\tconst text = ( path.length > 0 )\n\t\t\t\t// @FIXME: this logic compatible only with `string`\n\t\t\t\t? this.tokens( path.slice( 0, path.length - 1 ) )[ path[ path.length - 1 ] ].found.slice( 1, -1 )\n\t\t\t\t: this.text()\n\t\t\t\n\t\t\tthis.syntax().tokenize(\n\t\t\t\ttext,\n\t\t\t\t( name , found , chunks )=> {\n\t\t\t\t\tif( name === 'code-sexpr' ) {\n\t\t\t\t\t\ttokens.push({ name: 'code-punctuation', found: '(', chunks: [] })\n\t\t\t\t\t\ttokens.push({ name: 'code-call', found: chunks[0], chunks: [] })\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttokens.push({ name , found , chunks })\t\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t)\n\t\t\t\n\t\t\treturn tokens as Readonly< typeof tokens >\n\t\t}\n\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\t... this.numb_showed() ? [ this.Numb() ] : [],\n\t\t\t\t... this.row_content([])\n\t\t\t]\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\trow_content( path: number[] ) {\n\t\t\treturn this.tokens( path ).map( (t,i)=> this.Token([ ... path, i ]) )\n\t\t}\n\n\t\tToken( path: number[] ) {\n\t\t\treturn this.token_type( path ) === 'code-link' ? this.Token_link( path ) : super.Token( path )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttoken_type( path: number[] ) {\n\t\t\treturn this.tokens( [ ... path.slice( 0, path.length - 1 ) ] )[ path[ path.length - 1 ] ].name\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttoken_content( path: number[] ) {\n\n\t\t\tconst tokens = this.tokens( [ ... path.slice( 0, path.length - 1 ) ] ) \n\t\t\tconst token = tokens[ path[ path.length - 1 ] ]\n\n\t\t\tswitch( token.name ) {\n\t\t\t\t\n\t\t\t\tcase 'code-string': return [\n\t\t\t\t\ttoken.found[0],\n\t\t\t\t\t... this.row_content( path ),\n\t\t\t\t\ttoken.found[ token.found.length - 1 ],\n\t\t\t\t] \n\t\t\t\t\n\t\t\t\tdefault: return [ token.found ]\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttoken_text( path: number[] ) {\n\n\t\t\tconst tokens = this.tokens( [ ... path.slice( 0, path.length - 1 ) ] ) \n\t\t\tconst token = tokens[ path[ path.length - 1 ] ]\n\n\t\t\treturn token.found\n\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttoken_uri( path: number[] ) {\n\t\t\tconst uri = this.token_text( path )\n\t\t\treturn this.uri_resolve( uri )\n\t\t}\n\t\t\n\t\t*view_find(\n\t\t\tcheck: ( path : $mol_view, text?: string )=> boolean,\n\t\t\tpath = [] as $mol_view[],\n\t\t): Generator< $mol_view[] > {\n\n\t\t\tif( check( this, this.text() ) ) {\n\t\t\t\tyield [ ... path, this ]\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tfind_pos( offset: number ) {\n\t\t\treturn this.find_token_pos([ offset ])\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tfind_token_pos( [ offset, ... path ]: number[] ) {\n\t\t\t\n\t\t\tfor( const [ index, token ] of this.tokens( path ).entries() ) {\n\t\t\t\tif( token.found.length >= offset ) {\n\t\t\t\t\tconst token = this.Token([ ... path, index ])\n\t\t\t\t\treturn { token, offset }\n\t\t\t\t} else {\n\t\t\t\t\toffset -= token.found.length\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn null\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $.$$ {\n\t\n\tconst { rem } = $mol_style_unit\n\n\t$mol_style_define( $mol_text_code_row, {\n\n\t\tdisplay: 'block',\n\t\tposition: 'relative',\n\t\t\n\t\tfont: {\n\t\t\tfamily: 'monospace',\n\t\t},\n\t\t\n\t\tNumb: {\n\t\t\ttextAlign: 'right',\n\t\t\tcolor: $mol_theme.shade,\n\t\t\twidth: rem(3),\n\t\t\tmargin: {\n\t\t\t\tleft: rem(-4),\n\t\t\t},\n\t\t\tdisplay: 'inline-block',\n\t\t\twhiteSpace: 'nowrap',\n\t\t\tuserSelect: 'none',\n\t\t\tposition: 'absolute',\n\t\t},\n\n\t} )\n\t\n}\n","namespace $ {\n\n\texport type $mol_blob = Blob\n\n\texport let $mol_blob = ( $node.buffer?.Blob ?? $mol_dom_context.Blob ) as any as {\n\t\tprototype: Blob;\n\t\tnew(blobParts?: readonly BlobPart[], options?: BlobPropertyBag): Blob;\n\t}\n\n}\n","$mol_icon_clipboard $mol_icon path \\M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3\n","$mol_icon_clipboard_outline $mol_icon path \\M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M7,7H17V5H19V19H5V5H7V7Z\n","$mol_button_copy $mol_button_minor\n\tblobs /$mol_blob\n\t\t<= text_blob? $mol_blob /\n\t\t\t/BlobPart <= text <= title\n\t\t\t* type \\text/plain\n\t\t<= html_blob? $mol_blob /\n\t\t\t/BlobPart <= html \\\n\t\t\t* type \\text/html\n\tdata *\n\tsub /\n\t\t<= Icon $mol_icon_clipboard_outline\n\t\t<= title \\\n\n","namespace $ {\n\t\n\tconst mapping = {\n\t\t'<' : '<' ,\n\t\t'>' : '>' ,\n\t\t'\"' : '"' ,\n\t\t'&' : '&' ,\n\t}\n\t\n\texport function $mol_html_encode( text : string ) {\n\t\treturn text.replace( /[&<\">]/gi , str => mapping[ str as keyof typeof mapping ] )\n\t}\n\t\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Button copy text() value to clipboard\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_button_demo\n\t */\n\texport class $mol_button_copy extends $.$mol_button_copy {\n\t\t\n\t\tdata() {\n\t\t\treturn Object.fromEntries(\n\t\t\t\tthis.blobs().map( blob => [ blob.type, blob ] )\n\t\t\t)\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\thtml() {\n\t\t\treturn $mol_html_encode( this.text() )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tattachments() {\n\t\t\treturn [ new ClipboardItem( this.data() ) ]\n\t\t}\n\t\t\n\t\tclick( event?: Event ) {\n\t\t\tconst cb = $mol_wire_sync( this.$.$mol_dom_context.navigator.clipboard )\n\t\t\t\n\t\t\tcb.writeText?.( this.text() )\n\t\t\tcb.write?.( this.attachments() )\n\n\t\t\tif( cb.writeText === undefined && cb.write === undefined ) {\n\t\t\t\tthrow new Error( \"doesn't support copy to clipoard\" )\n\t\t\t}\n\t\t}\n\n\t}\n\t\n}\n","$mol_text_code $mol_stack\n\tattr *\n\t\t^\n\t\tmol_text_code_sidebar_showed <= sidebar_showed false\n\ttext \\\n\ttext_lines /string\n\tfind_pos* null\n\turi_base \\\n\tsub /\n\t\t<= Rows $mol_list\n\t\t\trender_visible_only <= render_visible_only false\n\t\t\trows <= rows /\n\t\t\t\t<= Row*0 $mol_text_code_row\n\t\t\t\t\tnumb_showed <= sidebar_showed\n\t\t\t\t\tnumb <= row_numb* 0\n\t\t\t\t\ttext <= row_text* \\\n\t\t\t\t\tsyntax <= syntax null\n\t\t\t\t\turi_resolve* <= uri_resolve* \\\n\t\t\t\t\thighlight <= highlight \\\n\t\t<= Copy $mol_button_copy\n\t\t\thint @ \\Copy whole code\n\t\t\ttext <= text_export \\\n","namespace $.$$ {\n\n\t/**\n\t * Code visualizer.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_text_code_demo\n\t */\n\texport class $mol_text_code extends $.$mol_text_code {\n\t\t\n\t\trender_visible_only() {\n\t\t\treturn this.$.$mol_support_css_overflow_anchor()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttext_lines() {\n\t\t\treturn ( this.text() ?? '' ).split( '\\n' ) as readonly string[]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\trows() {\n\t\t\treturn this.text_lines().map( ( _ , index )=> this.Row( index + 1 ) )\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\trow_text( index: number ) {\n\t\t\treturn this.text_lines()[ index - 1 ]\n\t\t}\n\t\t\n\t\trow_numb( index: number ) {\n\t\t\treturn index\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tfind_pos( offset: number ) {\n\t\t\t\n\t\t\tfor( const [ index, line ] of this.text_lines().entries() ) {\n\t\t\t\tif( line.length >= offset ) {\n\t\t\t\t\treturn this.Row( index + 1 ).find_pos( offset )\n\t\t\t\t} else {\n\t\t\t\t\toffset -= line.length + 1\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn null\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Rows(),\n\t\t\t\t... this.sidebar_showed() ? [ this.Copy() ] : []\n\t\t\t]\n\t\t}\n\t\t\n\t\tsyntax() {\n\t\t\treturn this.$.$mol_syntax2_md_code\n\t\t}\n\n\t\turi_base() {\n\t\t\treturn $mol_dom_context.document.location.href\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\turi_resolve( uri: string ) {\n\t\t\t\n\t\t\tif( /^(\\w+script+:)+/.test( uri ) ) return null as any as string\n\t\t\t\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tconst url = new URL( uri , this.uri_base() )\n\t\t\t\treturn url.toString()\n\t\t\t\t\n\t\t\t} catch( error ) {\n\t\t\t\t\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn null as any as string\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\ttext_export() {\n\t\t\treturn this.text() + '\\n'\n\t\t}\n\t\t\n\t}\n}\n","namespace $.$$ {\n\t\n\tconst { rem, px } = $mol_style_unit\n\n\t$mol_style_define( $mol_text_code, {\n\n\t\twhiteSpace: 'pre-wrap',\n\t\tfont: {\n\t\t\tfamily: 'monospace',\n\t\t},\n\t\t\n\t\tRows: {\n\t\t\tpadding: $mol_gap.text,\n\t\t},\n\t\t\n\t\tCopy: {\n\t\t\talignSelf: 'flex-start',\n\t\t\tjustifySelf: 'flex-start',\n\t\t},\n\t\t\n\t\t'@': {\n\t\t\t'mol_text_code_sidebar_showed': {\n\t\t\t\ttrue: {\n\t\t\t\t\t$mol_text_code_row: {\n\t\t\t\t\t\tmargin: {\n\t\t\t\t\t\t\tleft: rem(1.75),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t} )\n\t\n}\n","$mol_textarea $mol_stack\n\tattr *\n\t\t^\n\t\tmol_textarea_clickable <= clickable? false\n\t\tmol_textarea_sidebar_showed <= sidebar_showed false\n\tevent *\n\t\tkeydown?event <=> press?event null\n\t\tpointermove?event <=> hover?event null\n\tsub /\n\t\t<= Edit $mol_textarea_edit\n\t\t\tvalue? <=> value? \\\n\t\t\thint <= hint \\ \n\t\t\tenabled <= enabled true\n\t\t\tspellcheck <= spellcheck true\n\t\t\tlength_max <= length_max +Infinity\n\t\t\tselection? <=> selection? /number\n\t\t\tbring => bring\n\t\t\tsubmit? <=> submit? null\n\t\t\tsubmit_with_ctrl <= submit_with_ctrl true\n\t\t<= View $mol_text_code\n\t\t\ttext <= value\n\t\t\trender_visible_only false\n\t\t\trow_numb* <= row_numb* 0\n\t\t\tsidebar_showed <= sidebar_showed\n\t\t\thighlight <= highlight \\\n\tsymbols_alt *string\n\t\tcomma \\<\n\t\tperiod \\>\n\t\tdash \\−\n\t\tequals \\≈\n\t\tgraveAccent \\́\n\t\tforwardSlash \\÷\n\t\tE \\€\n\t\tV \\✔\n\t\tX \\×\n\t\tC \\©\n\t\tP \\§\n\t\tH \\₽\n\t\tkey0 \\°\n\t\tkey8 \\•\n\t\tkey2 \\@\n\t\tkey3 \\#\n\t\tkey4 \\$\n\t\tkey6 \\^\n\t\tkey7 \\&\n\t\tbracketOpen \\[\n\t\tbracketClose \\]\n\t\tslashBack \\|\n\tsymbols_alt_ctrl *string\n\t\tspace \\ \n\tsymbols_alt_shift *string\n\t\tV \\✅\n\t\tX \\❌\n\t\tO \\⭕\n\t\tkey1 \\❗\n\t\tkey4 \\💲\n\t\tkey7 \\❓\n\t\tcomma \\«\n\t\tperiod \\»\n\t\tsemicolon \\“\n\t\tquoteSingle \\”\n\t\tdash \\—\n\t\tequals \\≠\n\t\tgraveAccent \\̱\n\t\tbracketOpen \\{\n\t\tbracketClose \\}\n\n$mol_textarea_edit $mol_string\n\tdom_name \\textarea\n\tenter \\enter\n\tfield *\n\t\t^\n\t\tscrollTop 0\n","namespace $.$$ {\n\n\t/**\n\t * An input field for entering multiline text.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_textarea_demo\n\t */\n\texport class $mol_textarea extends $.$mol_textarea {\n\n\t\tindent_inc() {\n\n\t\t\tlet text = this.value()\n\t\t\tlet [ from, to ] = this.selection()\n\t\t\t\n\t\t\tconst rows = text.split( '\\n' )\n\t\t\tlet start = 0\n\t\t\t\n\t\t\tfor( let i = 0; i < rows.length; ++i ) {\n\t\t\t\tlet end = start + rows[i].length\n\t\t\t\t\n\t\t\t\tif( end >= from && start <= to ) {\n\t\t\t\t\tif( to === from || start !== to ) {\n\t\t\t\t\t\trows[i] = '\\t' + rows[i]\n\t\t\t\t\t\tto += 1\n\t\t\t\t\t\tend += 1\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstart = end + 1\n\t\t\t}\n\n\t\t\tthis.value( rows.join('\\n') )\n\t\t\tthis.selection([ from + 1, to ])\n\t\t\t\n\t\t}\n\n\t\tindent_dec() {\n\n\t\t\tlet text = this.value()\n\t\t\tlet [ from, to ] = this.selection()\n\t\t\t\n\t\t\tconst rows = text.split( '\\n' )\n\t\t\tlet start = 0\n\t\t\t\n\t\t\tfor( let i = 0; i < rows.length; ++i ) {\n\t\t\t\tconst end = start + rows[i].length\n\t\t\t\t\n\t\t\t\tif( end >= from && start <= to && rows[i].startsWith( '\\t' ) ) {\n\t\t\t\t\trows[i] = rows[i].slice( 1 )\n\t\t\t\t\tto -= 1\n\t\t\t\t\tif( start < from ) from -= 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstart = end + 1\n\t\t\t}\n\n\t\t\tthis.value( rows.join('\\n') )\n\t\t\tthis.selection([ from, to ])\n\t\t\t\n\t\t}\n\t\t\n\t\tsymbol_insert( event: KeyboardEvent ) {\n\t\t\t\n\t\t\tconst symbol = event.shiftKey\n\t\t\t\t? this.symbols_alt_shift()[ $mol_keyboard_code[ event.keyCode ] ]\n\t\t\t\t: event.ctrlKey\n\t\t\t\t\t? this.symbols_alt_ctrl()[ $mol_keyboard_code[ event.keyCode ] ]\n\t\t\t\t\t: this.symbols_alt()[ $mol_keyboard_code[ event.keyCode ] ]\n\t\t\t\t\n\t\t\tif( !symbol ) return\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\tdocument.execCommand( 'insertText', false, symbol )\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tclickable( next?: boolean ) {\n\t\t\tif( !this.enabled() ) return true\n\t\t\treturn next ?? false\n\t\t}\n\t\t\n\t\thover( event : PointerEvent ) {\n\t\t\tthis.clickable( event.ctrlKey )\n\t\t}\n\t\t\n\t\tpress( event : KeyboardEvent ) {\n\t\t\t\n\t\t\tif( event.altKey ) {\n\t\t\t\t\n\t\t\t\tthis.symbol_insert( event )\n\t\t\t\t\n\t\t\t} else {\n\n\t\t\t\tswitch( event.keyCode ) {\n\t\t\t\t\tcase !event.shiftKey && $mol_keyboard_code.tab : this.indent_inc() ; break\n\t\t\t\t\tcase event.shiftKey && $mol_keyboard_code.tab : this.indent_dec() ; break\n\t\t\t\t\tdefault : return\n\t\t\t\t}\n\t\t\t\n\t\t\t\tevent.preventDefault()\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\t\t\n\t\trow_numb( index: number ) {\n\t\t\treturn index\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/textarea/textarea.view.css\",\n \"[mol_textarea] {\\n\\tflex: 1 0 auto;\\n\\tflex-direction: column;\\n\\tvertical-align: top;\\n\\tmin-height: max-content;\\n\\twhite-space: pre-wrap;\\n\\tword-break: break-word;\\n\\tborder-radius: var(--mol_gap_round);\\n\\tfont-family: monospace;\\n\\tposition: relative;\\n\\ttab-size: 4;\\n}\\n\\n[mol_textarea_view] {\\n\\tpointer-events: none;\\n\\twhite-space: inherit;\\n\\tfont-family: inherit;\\n\\ttab-size: inherit;\\n\\tuser-select: none;\\n}\\n\\n[mol_textarea_view_copy] {\\n\\tpointer-events: all;\\n}\\n\\n[mol_textarea_clickable] > [mol_textarea_view] {\\n\\tpointer-events: all;\\n\\tuser-select: auto;\\n}\\n\\n[mol_textarea_clickable] > [mol_textarea_edit] {\\n\\tuser-select: none;\\n}\\n\\n[mol_textarea_edit] {\\n\\tfont-family: inherit;\\n\\tpadding: var(--mol_gap_text);\\n\\tcolor: transparent !important;\\n\\tcaret-color: var(--mol_theme_text);\\n\\tresize: none;\\n\\ttext-align: inherit;\\n\\twhite-space: inherit;\\n\\tborder-radius: inherit;\\n\\toverflow-anchor: none;\\n\\tposition: absolute;\\n\\theight: 100%;\\n\\twidth: 100%;\\n\\ttab-size: inherit;\\n}\\n\\n[mol_textarea_sidebar_showed] [mol_textarea_edit] {\\n\\tleft: 1.75rem;\\n\\twidth: calc( 100% - 1.75rem );\\n}\\n\\n[mol_textarea_edit]:hover + [mol_textarea_view] {\\n\\tz-index: var(--mol_layer_hover);\\n}\\n\\n[mol_textarea_edit]:focus + [mol_textarea_view] {\\n\\tz-index: var(--mol_layer_focus);\\n}\\n\"\n) }","$mol_check_list $mol_view\n\tdictionary *\n\tOption* $mol_check\n\t\tchecked? <=> option_checked*? false\n\t\tlabel <= option_label* /\n\t\t\t<= option_title* \\\n\t\tenabled <= option_enabled* <= enabled true\n\t\thint <= option_hint* \\\n\t\tminimal_height 24\n\toptions *\n\tkeys /string\n\tsub <= items /$mol_check\n","namespace $.$$ {\n\t\n\t/**\n\t * List of checkboxes\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_check_list_demo\n\t */\n\texport class $mol_check_list extends $.$mol_check_list {\n\n\t\toptions() : { [ key : string ] : string } {\n\t\t\treturn {}\n\t\t}\n\n\t\toverride dictionary(next?: Record) {\n\t\t\treturn next ?? {}\n\t\t}\n\n\t\toverride option_checked(id: string, next?: boolean | null) {\n\t\t\tconst prev = this.dictionary()\n\t\t\tif (next === undefined) return prev[id] ?? null\n\n\t\t\tconst next_rec = { ... prev, [id]: next } as Record\n\t\t\tif (next === null) delete next_rec[id]\n\n\t\t\treturn this.dictionary(next_rec)[id] ?? null\n\t\t}\n\n\t\t@ $mol_mem\n\t\tkeys(): readonly string[] {\n\t\t\treturn Object.keys( this.options() )\n\t\t}\n\n\t\t@ $mol_mem\n\t\titems() {\n\t\t\treturn this.keys().map( key => this.Option( key ) )\n\t\t}\n\t\t\n\t\toption_title( key : string ) {\n\t\t\treturn this.options()[key] || key\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/check/list/list.view.css\",\n \"[mol_check_list] {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\tflex: 1 1 auto;\\n\\tborder-radius: var(--mol_gap_round);\\n\\tgap: 1px;\\n}\\n\\n[mol_check_list_option] {\\n\\tflex: 0 1 auto;\\n}\\n\\n[mol_check_list_option]:where([mol_check_checked=\\\"true\\\"]) {\\n\\ttext-shadow: 0 0;\\n\\tcolor: var(--mol_theme_current);\\n}\\n\\n[mol_check_list_option]:where([mol_check_checked=\\\"true\\\"][disabled]) {\\n\\tcolor: var(--mol_theme_text);\\n}\\n\"\n) }","$mol_switch $mol_check_list\n\tvalue? \\\n","namespace $ {\n\t\n\texport class $mol_state_session< Value > extends $mol_object {\n\t\t\n\t\tstatic 'native()' : Pick< Storage , 'getItem'|'setItem'|'removeItem' >\n\t\tstatic native() {\n\t\t\tif( this['native()'] ) return this['native()']\n\n\t\t\tcheck : try {\n\t\t\t\tconst native = $mol_dom_context.sessionStorage\n\t\t\t\tif( !native ) break check\n\n\t\t\t\tnative.setItem( '' , '' )\n\t\t\t\tnative.removeItem( '' )\n\t\t\t\treturn this['native()'] = native\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.warn( error )\n\t\t\t}\n\n\t\t\treturn this['native()'] = {\n\t\t\t\tgetItem( key : string ) {\n\t\t\t\t\treturn (this as any)[ ':' + key ]\n\t\t\t\t} ,\n\t\t\t\tsetItem( key : string , value : string ) {\n\t\t\t\t\t(this as any)[ ':' + key ] = value\n\t\t\t\t} ,\n\t\t\t\tremoveItem( key : string ) {\n\t\t\t\t\t(this as any)[ ':' + key ] = void 0\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tstatic value< Value >( key : string , next? : Value ) : Value {\n\t\t\tif( next === void 0 ) return JSON.parse( this.native().getItem( key ) || 'null' )\n\t\t\t\n\t\t\tif( next === null ) this.native().removeItem( key )\n\t\t\telse this.native().setItem( key , JSON.stringify( next ) )\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tprefix() { return '' }\n\t\t\n\t\tvalue( key : string , next? : Value ) {\n\t\t\treturn $mol_state_session.value( this.prefix() + '.' + key , next )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Buttons which switching the state\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_switch_demo\n\t */\n\texport class $mol_switch extends $.$mol_switch {\n\n\t\tvalue( next? : string ) {\n\t\t\treturn $mol_state_session.value( `${ this }.value()` , next ) ?? ''\n\t\t}\n\t\t\n\t\toption_checked( key : string , next? : boolean ) {\n\t\t\tif( next === undefined ) return this.value() == key\n\t\t\tthis.value( next ? key : '' )\n\t\t\treturn next\n\t\t}\n\n\t}\n\n}\n","$mol_deck $mol_list\n\titems /$mol_view\n\trows /$mol_view\n\t\t<= Switch $mol_switch\n\t\t\tvalue? <=> current? \\0\n\t\t\toptions <= switch_options *\n\t\t<= Content $mol_view\n","namespace $.$$ {\n\t\n\t/**\n\t * The component which arrange content in multiple tabs.\n\t * @seehttps://mol.hyoo.ru/#!section=demos/demo=mol_deck_demo\n\t */\n\texport class $mol_deck extends $.$mol_deck {\n\t\t\n\t\tcurrent( next? : string ) {\n\t\t\treturn $mol_state_session.value( `${ this }.current()` , next ) || '0'\n\t\t}\n\t\t\n\t\tswitch_options() {\n\t\t\tlet options : Record< string , string > = {}\n\t\t\tthis.items().forEach( ( item , index ) => {\n\t\t\t\toptions[ String( index ) ] = item.title()\n\t\t\t} )\n\t\t\treturn options\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tContent() {\n\t\t\treturn this.items()[ Number( this.current() ) ]\n\t\t}\n\t\t\n\t}\n}\n","$mol_embed_native $mol_scroll\n\turi? \\\n\tdom_name \\object\n\twindow null\n\tattr *\n\t\t^\n\t\tdata <= uri\n\t\ttype <= mime \\\n\tsub /\n\t\t<= Fallback $mol_link\n\t\t\turi <= uri\n\t\t\tsub /\n\t\t\t\t<= title \\\n\tmessage *\n\t\thashchange? <=> uri_change? null\n","namespace $ {\n\n\texport function $mol_promise< Result = void >() {\n\t\t\n\t\tlet done!: ( res: Result | PromiseLike< Result > )=> void\n\t\tlet fail!: ( error?: any ) => void\n\t\t\n\t\tconst promise = new Promise< Result >( ( d, f ) => {\n\t\t\tdone = d\n\t\t\tfail = f\n\t\t} )\n\t\t\n\t\treturn Object.assign( promise, {\n\t\t\tdone,\n\t\t\tfail,\n\t\t} )\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_wait_timeout_async( this: $, timeout: number ): Promise< void > {\n\t\tconst promise = $mol_promise()\n\t\tconst task = new this.$mol_after_timeout( timeout , ()=> promise.done() )\n\t\treturn Object.assign( promise, {\n\t\t\tdestructor: ()=> task.destructor()\n\t\t} )\n\t}\n\t\n\texport function $mol_wait_timeout( this: $, timeout: number ) {\n\t\treturn this.$mol_wire_sync( this ).$mol_wait_timeout_async( timeout )\n\t}\n\t\n}\n","namespace $.$$ {\n\texport class $mol_embed_native extends $.$mol_embed_native {\n\n\t\t@ $mol_mem\n\t\twindow() {\n\t\t\t$mol_wire_solid()\n\t\t\treturn $mol_wire_sync( this as $mol_embed_native ).load( this.dom_node_actual() as HTMLIFrameElement )\n\t\t}\n\t\t\n\t\tload( frame: HTMLIFrameElement ) {\n\t\t\treturn new Promise< Window >( ( done, fail )=> {\n\t\t\t\t\n\t\t\t\tframe.onload = () => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tif( frame.contentWindow!.location.href === 'about:blank' ) {\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch { }\n\t\t\t\t\tdone( frame.contentWindow! )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tframe.onerror = ( event : Event | string ) => {\n\t\t\t\t\tfail( typeof event === 'string' ? new Error( event ) : ( event as ErrorEvent ).error || event )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\turi_resource() {\n\t\t\treturn this.uri().replace( /#.*/, '' )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tmessage_listener() {\n\t\t\treturn new $mol_dom_listener(\n\t\t\t\t$mol_dom_context,\n\t\t\t\t'message',\n\t\t\t\t$mol_wire_async( this ).message_receive\n\t\t\t)\n\t\t}\n\t\t\n\t\tmessage_receive( event?: MessageEvent<[ string, string ]> ) {\n\t\t\t\n\t\t\tif( !event ) return\n\t\t\tif( event.source !== this.window() ) return\n\t\t\tif( !Array.isArray( event.data ) ) return\n\t\t\t\n\t\t\t(this.message() as any)[ event.data[0] ]?.( event )\n\t\t}\n\n\t\turi_change( event: MessageEvent<[ string, string ]> ) {\n\t\t\tthis.$.$mol_wait_timeout( 1000 )\n\t\t\tthis.uri( event.data[1] )\n\t\t}\n\n\t\tauto() {\n\t\t\treturn [\n\t\t\t\tthis.message_listener(),\n\t\t\t\tthis.window(),\n\t\t\t]\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/embed/native/native.view.css\",\n \"[mol_embed_native] {\\n\\tmax-width: 100%;\\n\\tmax-height: 100vh;\\n\\tobject-fit: cover;\\n\\tdisplay: flex;\\n\\tflex: 1 1 auto;\\n\\tobject-position: top left;\\n\\tborder-radius: var(--mol_gap_round);\\n\\taspect-ratio: 4/3;\\n}\\n\"\n) }","$mol_frame $mol_embed_native\n\tdom_name \\iframe\n\tattr *\n\t\t^\n\t\tdata null\n\t\ttype null\n\t\tallow <= allow \\\n\t\tsrc <= uri? \\about:config\n\t\tsrcdoc <= html null\n\tfullscreen true\n\taccelerometer true\n\tautoplay true\n\tencription true\n\tgyroscope true\n\tpip true\n\tclipboard_read true\n\tclipboard_write true\n","namespace $.$$ {\n\n\t/**\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_frame_demo\n\t */\n\texport class $mol_frame extends $.$mol_frame {\n\t\t\n\t\twindow() {\n\t\t\t// if( this.html() ) return ( this.dom_node() as HTMLIFrameElement ).contentWindow!\n\t\t\treturn super.window()\n\t\t}\n\n\t\tallow() {\n\t\t\treturn [\n\t\t\t\t... this.fullscreen() ? [ 'fullscreen' ] : [] ,\n\t\t\t\t... this.accelerometer() ? [ 'accelerometer' ] : [] ,\n\t\t\t\t... this.autoplay() ? [ 'autoplay' ] : [] ,\n\t\t\t\t... this.encription() ? [ 'encrypted-media' ] : [] ,\n\t\t\t\t... this.gyroscope() ? [ 'gyroscope' ] : [] ,\n\t\t\t\t... this.pip() ? [ 'picture-in-picture' ] : [] ,\n\t\t\t\t... this.clipboard_read() ? [ `clipboard-read ${ this.uri() }` ] : [],\n\t\t\t\t... this.clipboard_write() ? [ `clipboard-write ${ this.uri() }` ] : [],\n\t\t\t].join('; ')\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t$mol_style_define( $mol_frame , {\n\t\tborder: {\n\t\t\tstyle: 'none',\n\t\t},\n\t\tmaxHeight: $mol_style_unit.vh(100),\n\t} )\n}\n","$mol_svg_group $mol_svg\n\tdom_name \\g\n","namespace $ {\n\n\texport class $mol_vector< Value , Length extends number > extends Array< Value > {\n\n\t\tget length() {\n\t\t\treturn super.length as Length\n\t\t}\n\n\t\tconstructor( ... values : Value[] & { length : Length } ) { super( ... values ) }\n\t\t\n\t\tmap< Res >(\n\t\t\tconvert : ( value : Value , index : number , array : this ) => Res ,\n\t\t\tself? : any ,\n\t\t) : $mol_vector< Res , Length > {\n\t\t\treturn super.map( convert as any , self ) as any\n\t\t}\n\n\t\tmerged< Patch >(\n\t\t\tpatches : readonly Patch[] & { length : Length } ,\n\t\t\tcombine : ( value : Value , patch : Patch ) => Value ,\n\t\t) : this {\n\t\t\treturn this.map( ( value , index )=> combine( value , patches[ index ] ) ) as any\n\t\t}\n\n\t\tlimited(\n\t\t\tthis : $mol_vector< number , Length > ,\n\t\t\tlimits : readonly ( readonly [ number , number ] )[] & { length : Length } ,\n\t\t) : this {\n\t\t\treturn this.merged( limits , ( value , [ min , max ] )=> ( value < min ) ? min : ( value > max ) ? max : value ) as any\n\t\t}\n\n\t\tadded0( this : $mol_vector< number , Length > , diff : number ) : this {\n\t\t\treturn this.map( value => value + diff ) as any\n\t\t}\n\n\t\tadded1( this : $mol_vector< number , Length > , diff : readonly number[] & { length : Length } ) : this {\n\t\t\treturn this.merged( diff , ( a , b )=> a + b ) as any\n\t\t}\n\n\t\tmulted0( this : $mol_vector< number , Length > , mult : number ) : this {\n\t\t\treturn this.map( value => value * mult ) as any\n\t\t}\n\n\t\tmulted1(\n\t\t\tthis : $mol_vector< number , Length > ,\n\t\t\tmults : readonly number[] & { length : Length } ,\n\t\t) : this {\n\t\t\treturn this.merged( mults , ( a , b )=> a * b ) as any\n\t\t}\n\n\t\tpowered0( this : $mol_vector< number , Length > , mult : number ) : this {\n\t\t\treturn this.map( value => value ** mult ) as any\n\t\t}\n\n\t\texpanded1(\n\t\t\tthis : $mol_vector< $mol_vector_range< number > , Length > ,\n\t\t\tpoint : readonly number[] & { length : Length } ,\n\t\t) : this {\n\t\t\treturn this.merged( point , ( range , value )=> range.expanded0( value ) ) as any\n\t\t}\n\n\t\texpanded2(\n\t\t\tthis : $mol_vector< $mol_vector_range< number > , Length > ,\n\t\t\tpoint : readonly ( readonly [ number , number ] )[] & { length : Length } ,\n\t\t) : this {\n\t\t\treturn this.merged( point , ( range1 , range2 )=> {\n\t\t\t\tlet next = range1\n\t\t\t\tconst Range = range1.constructor as typeof $mol_vector_range\n\t\t\t\tif (range1[0] > range2[0]) next = new Range(range2[0], next.max);\n\t\t\t\tif (range1[1] < range2[1]) next = new Range(next.min, range2[1])\n\n\t\t\t\treturn next\n\t\t\t}) as any\n\t\t}\n\n\t\tcenter< Item extends $mol_vector< number, number > >(\n\t\t\tthis : $mol_vector< Item , Length > ,\n\t\t) : Item {\n\t\t\tconst Result = this[0].constructor as typeof $mol_vector\n\t\t\treturn new Result( ... this[0].map( (_,i)=> this.reduce( ( sum, point )=> sum + point[i], 0 ) / this.length ) ) as any\n\t\t}\n\n\t\tdistance(\n\t\t\tthis : $mol_vector< $mol_vector< number, number >, Length > ,\n\t\t): number {\n\t\t\tlet distance = 0\n\t\t\t\n\t\t\tfor( let i = 1; i < this.length; ++i ) {\n\t\t\t\tdistance += this[ i - 1 ].reduce( ( sum, min, j )=> sum + ( min - this[i][j] ) ** 2, 0 ) ** ( 1 / this[i].length )\n\t\t\t}\n\t\t\t\n\t\t\treturn distance\n\t\t}\n\n\t\ttransponed(\n\t\t\tthis : $mol_vector< $mol_vector< number, number >, Length > ,\n\t\t): $mol_vector< $mol_vector< number, Length >, typeof this[0]['length'] > {\n\t\t\treturn this[0].map( ( _, i )=> this.map( row => row[i] ) )\n\t\t}\n\n\t\tget x() { return this[0] }\n\t\tset x( next: Value ) { this[0] = next }\n\t\t\n\t\tget y() { return this[1] }\n\t\tset y( next: Value ) { this[1] = next }\n\t\t\n\t\tget z() { return this[2] }\n\t\tset z( next: Value ) { this[2] = next }\n\t\t\n\t}\n\n\texport class $mol_vector_1d< Value > extends $mol_vector< Value , 1 > { }\n\n\texport class $mol_vector_2d< Value > extends $mol_vector< Value , 2 > {}\n\n\texport class $mol_vector_3d< Value > extends $mol_vector< Value , 3 > {}\n\n\texport class $mol_vector_range< Value > extends $mol_vector< Value , 2 > {\n\t\t\n\t\t0: Value\n\t\t1: Value\n\t\t\n\t\tconstructor( min: Value, max = min ) {\n\t\t\tsuper( min, max )\n\t\t\tthis[0] = min\n\t\t\tthis[1] = max\n\t\t}\n\t\t\n\t\tget min() { return this[0] }\n\t\tset min( next: Value ) { this[0] = next }\n\t\t\n\t\tget max() { return this[1] }\n\t\tset max( next: Value ) { this[1] = next }\n\t\t\n\t\tget inversed() {\n\t\t\treturn new ( this.constructor as typeof $mol_vector_range )( this.max , this.min )\n\t\t}\n\n\t\texpanded0( value : Value ) {\n\t\t\tconst Range = this.constructor as typeof $mol_vector_range\n\t\t\tlet range = this as $mol_vector_range< Value >\n\t\t\t\n\t\t\tif( value > range.max ) range = new Range( range.min , value )\n\t\t\tif( value < range.min ) range = new Range( value , range.max )\n\n\t\t\treturn range\n\t\t}\n\n\t}\n\n\texport let $mol_vector_range_full = new $mol_vector_range( Number.NEGATIVE_INFINITY , Number.POSITIVE_INFINITY )\n\n\texport class $mol_vector_matrix<\n\t\tWidth extends number ,\n\t\tHeight extends number ,\n\t> extends $mol_vector< readonly number[] & { length : Width } , Height > {\n\n\t\tadded2(\n\t\t\tdiff : readonly ( readonly number[] & { length : Width } )[] & { length : Height }\n\t\t) : this {\n\t\t\treturn this.merged( diff , ( a , b )=> a.map( ( a2 , index ) => a2 + b[ index ] ) as any ) as any\n\t\t}\n\n\t\tmulted2(\n\t\t\tdiff : readonly ( readonly number[] & { length : Width } )[] & { length : Height }\n\t\t) : this {\n\t\t\treturn this.merged( diff , ( a , b )=> a.map( ( a2 , index ) => a2 * b[ index ] ) as any ) as any\n\t\t}\n\n\t}\n\n}\n","$mol_svg_title $mol_svg\n\tdom_name \\title\n\tsub /\n\t\t<= title\n","$mol_plot_graph $mol_svg_group\n\tseries_x /number\n\tseries_y /number\n\t-\n\tattr *\n\t\t^\n\t\tmol_plot_graph_type <= type \\solid\n\t-\n\tstyle *\n\t\t^\n\t\tcolor <= color \\\n\t-\n\tviewport $mol_vector_2d<$mol_vector_range> /\n\t\t<= viewport_x $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\t\t<= viewport_y $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\tshift /number\n\t\t0\n\t\t0\n\tscale /number\n\t\t1\n\t\t1\n\tcursor_position $mol_vector_2d /\n\t\tNaN\n\t\tNaN\n\tdimensions_pane $mol_vector_2d<$mol_vector_range> /\n\t\t<= dimensions_pane_x $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\t\t<= dimensions_pane_y $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\tdimensions $mol_vector_2d<$mol_vector_range> /\n\t\t<= dimensions_x $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\t\t<= dimensions_y $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\tsize_real $mol_vector_2d /\n\t\t0\n\t\t0\n\tgap $mol_vector_2d<$mol_vector_range> /\n\t\t<= gap_x $mol_vector_range /\n\t\t\t0\n\t\t\t0\n\t\t<= gap_y $mol_vector_range /\n\t\t\t0\n\t\t\t0\n\trepos_x* 0\n\trepos_y* 0\n\tindexes /number\n\tpoints /readonly(number)[]\n\tfront /$mol_svg\n\tback /$mol_svg\n\tHint $mol_svg_title\n\t\ttitle <= hint <= title \\\n\thue? +NaN\n\tSample null\n\n$mol_plot_graph_sample $mol_view\n\tattr *\n\t\t^\n\t\tmol_plot_graph_type <= type \\solid\n\tstyle *\n\t\t^\n\t\tcolor <= color \\black\n","namespace $.$$ {\n\texport class $mol_plot_graph extends $.$mol_plot_graph {\n\t\t\n\t\tviewport() {\n\t\t\tconst size = this.size_real()\n\t\t\treturn new this.$.$mol_vector_2d(\n\t\t\t\tnew this.$.$mol_vector_range(0, size.x),\n\t\t\t\tnew this.$.$mol_vector_range(0, size.y),\n\t\t\t)\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tindexes() {\n\t\t\treturn this.series_x().map( (_,i)=> i ) as readonly number[]\n\t\t}\n\t\t\n\t\trepos_x( val: number ) {\n\t\t\treturn val\n\t\t}\n\n\t\trepos_y( val: number ) {\n\t\t\treturn val\n\t\t}\n\n\t\tpoints() {\n\t\t\tconst [shift_x, shift_y] = this.shift()\n\t\t\tconst [scale_x, scale_y] = this.scale()\n\t\t\tconst series_x = this.series_x()\n\t\t\tconst series_y = this.series_y()\n\n\t\t\treturn this.indexes().map(index => {\n\t\t\t\t\n\t\t\t\tlet point_x = Math.round(shift_x + this.repos_x( series_x[index] ) * scale_x)\n\t\t\t\tlet point_y = Math.round(shift_y + this.repos_y( series_y[index] ) * scale_y)\n\n\t\t\t\tpoint_x = Math.max( Number.MIN_SAFE_INTEGER, Math.min( point_x, Number.MAX_SAFE_INTEGER ) )\n\t\t\t\tpoint_y = Math.max( Number.MIN_SAFE_INTEGER, Math.min( point_y, Number.MAX_SAFE_INTEGER ) )\n\n\t\t\t\treturn [point_x, point_y]\n\t\t\t}) as readonly( readonly number[] )[]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tseries_x() {\n\t\t\treturn this.series_y().map((val, index) => index) as readonly number[]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdimensions() {\n\t\t\tlet next = new this.$.$mol_vector_2d(\n\t\t\t\t$mol_vector_range_full.inversed,\n\t\t\t\t$mol_vector_range_full.inversed\n\t\t\t)\n\n\t\t\tconst series_x = this.series_x()\n\t\t\tconst series_y = this.series_y()\n\t\t\tfor(let i = 0; i < series_x.length; i++) {\n\t\t\t\tif( series_x[i] > next.x.max ) next.x.max = this.repos_x( series_x[i] )\n\t\t\t\tif( series_x[i] < next.x.min ) next.x.min = this.repos_x( series_x[i] )\n\t\t\t\tif( series_y[i] > next.y.max ) next.y.max = this.repos_y( series_y[i] )\n\t\t\t\tif( series_y[i] < next.y.min ) next.y.min = this.repos_y( series_y[i] )\n\t\t\t}\n\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tcolor() {\n\t\t\tconst hue = this.hue()\n\t\t\treturn hue ? `hsl( ${ hue } , 100% , 35% )` : ''\n\t\t}\n\t\t\n\t\tfront() {\n\t\t\treturn [ this ] as unknown as readonly $.$mol_svg[]\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/plot/graph/graph.view.css\",\n \"[mol_plot_graph] {\\n\\tstroke: currentColor;\\n}\\n\\n[mol_plot_graph_sample] {\\n\\tborder-width: 0;\\n\\tborder-style: solid;\\n}\\n\\n[mol_plot_graph_type=\\\"dashed\\\"] {\\n\\tstroke-dasharray: 4 4;\\n\\tborder-style: dashed;\\n}\\n\"\n) }","$mol_plot_bar $mol_plot_graph\n\tstyle *\n\t\t^\n\t\tstroke-width <= stroke_width \\1rem\n\tsub /\n\t\t<= Hint\n\t\t<= Curve $mol_svg_path\n\t\t\tgeometry <= curve \\\n\tSample $mol_plot_graph_sample\n\t\tcolor <= color\n","namespace $.$$ {\n\texport class $mol_plot_bar extends $.$mol_plot_bar {\n\n\t\t@$mol_mem\n\t\tindexes() {\n\t\t\tconst {\n\t\t\t\tx: {min: viewport_left, max: viewport_right},\n\t\t\t\ty: {min: viewport_bottom, max: viewport_top},\n\t\t\t} = this.viewport()\n\n\t\t\tconst [shift_x, shift_y] = this.shift()\n\t\t\tconst [scale_x, scale_y] = this.scale()\n\t\t\tconst indexes = [] as number[]\n\n\t\t\tconst series_x = this.series_x()\n\t\t\tconst series_y = this.series_y()\n\n\t\t\tlet first_x = null as number | null\n\t\t\tlet last_x = null as number | null\n\n\t\t\tfor (let i = 0; i < series_x.length; i++) {\n\t\t\t\tconst scaled = [\n\t\t\t\t\tMath.round( shift_x + series_x[i] * scale_x ),\n\t\t\t\t\tMath.round( shift_y + series_y[i] * scale_y ),\n\t\t\t\t] as const\n\n\t\t\t\tif (scaled[0] < viewport_left) {\n\t\t\t\t\tfirst_x = i\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (scaled[0] > viewport_right) {\n\t\t\t\t\tif (last_x === null) last_x = i\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\tif (scaled[1] < viewport_bottom) continue\n\t\t\t\tif (scaled[1] > viewport_top) continue\n \n\t\t\t\tif (first_x !== null) indexes.push(first_x)\n\n\t\t\t\tindexes.push(i)\n\n\t\t\t\tif (last_x !== null) indexes.push(last_x)\n\n\t\t\t\tfirst_x = last_x = null\n\t\t\t}\n\n\t\t\tif (first_x !== null) indexes.push(first_x)\n\t\t\tif (last_x !== null) indexes.push(last_x)\n\n\t\t\treturn indexes\n\t\t}\n\n\t\tcurve() {\n\t\t\tconst points = this.points()\n\t\t\tif( points.length === 0 ) return ''\n\t\t\tconst [, shift_y] = this.shift()\n\n\t\t\treturn points.map( point => `M ${point[0]} ${shift_y} V ${point[1]}`).join( ' ' )\n\t\t}\n\t\t\n\t\tstroke_width() {\n\t\t\treturn ( 8 / Math.sqrt( this.indexes().length ) ).toPrecision(2) + '%'\n\t\t}\n\t\t\n\t\tcolor() {\n\t\t\treturn `hsl( ${ this.hue() } , 80% , 80% )`\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tdimensions() {\n\t\t\tlet next = new this.$.$mol_vector_2d(\n\t\t\t\t$mol_vector_range_full.inversed,\n\t\t\t\tnew this.$.$mol_vector_range(0 , 0),\n\t\t\t)\n\t\t\t\n\t\t\tconst series_x = this.series_x()\n\t\t\tconst series_y = this.series_y()\n\t\t\tfor (let i = 0; i < series_x.length; i++) {\n\t\t\t\tnext = next.expanded1([series_x[i], series_y[i]] as const)\n\t\t\t}\n\t\t\t\n\t\t\tconst gap = ( next.x.max - next.x.min ) / series_x.length || 0.00000001\n\t\t\tnext[0] = next.x.added1([-gap, gap] as const)\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/plot/bar/bar.view.css\",\n \"[mol_plot_bar] {\\n\\tstroke-linecap: butt;\\n\\tstroke-width: 1rem;\\n}\\n\\n[mol_plot_bar_sample] {\\n\\tbackground: currentColor;\\n\\tposition: absolute;\\n\\ttop:0;\\n\\tbottom: 0;\\n\\tleft: 0;\\n\\tright: 0;\\n}\\n\"\n) }","$mol_svg_rect $mol_svg\n\tdom_name \\rect\n\tpos /\n\tattr *\n\t\t^\n\t\twidth <= width \\0\n\t\theight <= height \\0\n\t\tx <= pos_x \\\n\t\ty <= pos_y \\\n","namespace $.$$ {\n\n\texport class $mol_svg_rect extends $.$mol_svg_rect {\n\t\t\n\t\tpos_x() {\n\t\t\treturn this.pos()[ 0 ]\n\t\t}\n\t\t\n\t\tpos_y() {\n\t\t\treturn this.pos()[ 1 ]\n\t\t}\n\t\t\n\t}\n\t\n}\n","$mol_svg_text $mol_svg\n\tdom_name \\text\n\tpos /\n\tattr *\n\t\t^\n\t\tx <= pos_x \\\n\t\ty <= pos_y \\\n\t\ttext-anchor <= align_hor <= align \\middle\n\t\talignment-baseline <= align_vert \\baseline\n\tsub /\n\t\t<= text \\\n","namespace $.$$ {\n\t\n\texport class $mol_svg_text extends $.$mol_svg_text {\n\t\t\n\t\tpos_x() {\n\t\t\treturn this.pos()[ 0 ]\n\t\t}\n\t\t\n\t\tpos_y() {\n\t\t\treturn this.pos()[ 1 ]\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/svg/text/text.view.css\",\n \"[mol_svg_text] {\\n\\tfill: currentColor;\\n\\tstroke: none;\\n}\\n\"\n) }","$mol_plot_ruler $mol_plot_graph\n\tstep 0\n\tscale_axis 1\n\tscale_step 1\n\tshift_axis 1\n\tdimensions_axis $mol_vector_range /\n\t\tInfinity\n\t\t-Infinity\n\tviewport_axis $mol_vector_range /\n\t\tInfinity\n\t\t-Infinity\n\taxis_points /number\n\tnormalize? 0\n\tprecision 1\n\tsub /\n\t\t<= Background $mol_svg_rect\n\t\t\tpos_x <= background_x \\0\n\t\t\tpos_y <= background_y \\0\n\t\t\twidth <= background_width \\100%\n\t\t\theight <= background_height \\14\n\t\t<= Curve $mol_svg_path\n\t\t\tgeometry <= curve \\\n\t\t<= labels_formatted /\n\t\t<= Title $mol_svg_text\n\t\t\tpos_x <= title_pos_x \\0\n\t\t\tpos_y <= title_pos_y \\100%\n\t\t\talign <= title_align \\start\n\t\t\ttext <= title\n\tLabel* $mol_svg_text\n\t\tpos <= label_pos* /\n\t\t\t<= label_pos_x* \\\n\t\t\t<= label_pos_y* \\\n\t\ttext <= label_text* \\\n\t\talign <= label_align \\\n","namespace $ {\n\t\n\texport function $mol_math_round_expand( val : number , gap = 1 ) {\n\t\tif( val === 0 ) return 0\n\t\t\n\t\tconst val_abs = Math.abs( val )\n\t\tconst val_sign = val ? Math.round( val / val_abs ) : 0\n\t\t\n\t\tconst digits = Math.floor( Math.log( val_abs ) / Math.log( 10 ) )\n\t\tconst precission = Math.pow( 10 , digits - gap )\n\t\tconst val_expanded = precission * Math.ceil( val_abs / precission )\n\t\t\n\t\treturn val_sign * val_expanded\n\t}\n\t\n}\n","namespace $.$$ {\n\texport class $mol_plot_ruler extends $.$mol_plot_ruler {\n\t\tlabels_formatted() {\n\t\t\treturn this.axis_points().map( ( point , index )=> this.Label( index ) )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstep() {\n\t\t\tconst scale = Math.abs( this.scale_step() )\n\t\t\tconst dims = this.dimensions_axis()\n\t\t\tconst range = dims.max - dims.min\n\t\t\tconst min_width = ( Math.abs( Math.log10( range ) ) + 2 ) * 15\n\t\t\tconst size = $mol_math_round_expand( range , -1 )\n\t\t\tconst count = Math.max( 1 , Math.pow( 10 , Math.floor( Math.log( size * scale / min_width ) / Math.log( 10 ) ) ) )\n\t\t\tlet step = size / count\n\t\t\tconst step_max = min_width * 2 / scale\n\t\t\tif( step > step_max ) step /= 2\n\t\t\tif( step > step_max ) step /= 2\n\n\t\t\treturn Math.max( step , Math.abs( dims.min ) / 1e10 , Math.abs( dims.max ) / 1e10 )\n\t\t}\n\n\t\tsnap_to_grid(coord: number) {\n\t\t\tconst viewport = this.viewport_axis()\n\t\t\tconst scale = this.scale_axis()\n\t\t\tconst shift = this.shift_axis()\n\t\t\tconst step = this.step()\n\n\t\t\tconst val = Math.round( coord / step ) * step\n\n\t\t\tif (scale == 0) return val\n\n\t\t\tconst step_scaled = step * scale\n\t\t\tconst scaled = val * scale + shift\n\t\t\tlet count = 0\n\t\t\tif (scaled < viewport.min) count = (scaled - viewport.min) / step_scaled\n\t\t\tif (scaled > viewport.max) count = (scaled - viewport.max) / step_scaled\n\n\t\t\treturn val - Math.floor(count) * step\n\t\t}\n\n\t\t@ $mol_mem\n\t\taxis_points() {\n\t\t\tconst dims = this.dimensions_axis()\n\t\t\tconst start = this.snap_to_grid(dims.min)\n\t\t\tconst end = this.snap_to_grid(dims.max)\n\t\t\tconst step = this.step()\n\n\t\t\tconst next = [] as number[]\n\t\t\tfor( let val = start ; val <= end ; val += step ) {\n\t\t\t\tnext.push(val)\n\t\t\t}\n\n\t\t\treturn next\n\t\t}\n\n\t\t@$mol_mem\n\t\tprecision() {\n\t\t\tconst step = this.step()\n\t\t\treturn Math.max( 0 , Math.min( 15 , ( step - Math.floor( step ) ).toString().length - 2 ) )\n\t\t}\n\n\t\tlabel_text( index : number ) {\n\t\t\tconst point = this.axis_points()[index]\n\t\t\treturn point.toFixed( this.precision() )\n\t\t}\n\n\t\tfont_size() {\n\t\t\treturn this.Background().font_size()\n\t\t}\n\n\t\tback() {\n\t\t\treturn [this.Curve()]\n\t\t}\n\n\t\tfront() {\n\t\t\treturn [\n\t\t\t\t// this.Background(),\n\t\t\t\t...this.labels_formatted(),\n\t\t\t\tthis.Title()\n\t\t\t] as readonly $.$mol_svg[]\n\t\t}\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/plot/ruler/ruler.view.css\",\n \"[mol_plot_ruler_curve] {\\n\\tcolor: var(--mol_theme_line);\\n\\tstroke-width: 1px;\\n\\tstroke: currentColor;\\n}\\n\\n[mol_plot_ruler_label] {\\n\\tcolor: var(--mol_theme_text);\\n\\ttext-shadow: 0 -1px var(--mol_theme_back), 0px 1px var(--mol_theme_back);\\n}\\n\\n[mol_plot_ruler_title] {\\n\\tcolor: var(--mol_theme_shade);\\n\\tbackground-color: var(--mol_theme_back);\\n\\ttext-shadow: 0 -1px var(--mol_theme_back), 0px 1px var(--mol_theme_back);\\n}\\n\\n[mol_plot_ruler_background] {\\n\\tstroke: none;\\n\\tfill: var(--mol_theme_back);\\n\\topacity: 0.8;\\n}\\n\"\n) }","$mol_plot_ruler_vert $mol_plot_ruler\n\ttitle_align \\end\n\tlabel_align \\end\n\ttitle_pos_y \\14\n\tlabel_pos_x* <= title_pos_x\n\tbackground_height \\100%\n\tbackground_width <= title_pos_x\n","namespace $.$$ {\n\texport class $mol_plot_ruler_vert extends $.$mol_plot_ruler_vert {\n\t\tdimensions_axis() {\n\t\t\treturn this.dimensions_pane().y\n\t\t}\n\n\t\tviewport_axis() {\n\t\t\treturn new this.$.$mol_vector_range(0, this.size_real().y)\n\t\t}\n\n\t\tscale_axis() {\n\t\t\treturn this.scale()[1]\n\t\t}\n\n\t\tscale_step() {\n\t\t\treturn -this.scale()[1]\n\t\t}\n\n\t\tshift_axis() {\n\t\t\treturn this.shift()[1]\n\t\t}\n\n\t\tcurve() {\n\t\t\tconst [, shift] = this.shift()\n\t\t\tconst [, scale] = this.scale()\n\n\t\t\treturn this.axis_points().map( point => {\n\t\t\t\tlet scaled = Math.round( point * scale + shift )\n\t\t\t\tscaled = Math.max( Number.MIN_SAFE_INTEGER, Math.min( scaled, Number.MAX_SAFE_INTEGER ) )\n\t\t\t\treturn `M 0 ${ scaled } H 2000`\n\t\t\t}).join( ' ' )\n\t\t}\n\n\t\ttitle_pos_x() {\n\t\t\treturn String(this.gap().x.min)\n\t\t}\n\n\t\tlabel_pos_y( index : number ) {\n\t\t\treturn (this.axis_points()[index] * this.scale()[1] + this.shift()[1]).toFixed(3)\n\t\t}\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/plot/ruler/vert/vert.view.css\",\n \"[mol_plot_ruler_vert_label] {\\n\\ttransform: translateY( 4px );\\n}\\n\"\n) }","$mol_plot_ruler_hor $mol_plot_ruler\n\ttitle_align \\start\n\tlabel_align \\middle\n\ttitle_pos_x \\0\n\ttitle_pos_y \\100%\n\tlabel_pos_y* <= title_pos_y\n\tbackground_width \\100%\n","namespace $.$$ {\n\texport class $mol_plot_ruler_hor extends $.$mol_plot_ruler_hor {\n\t\tdimensions_axis() {\n\t\t\treturn this.dimensions_pane().x\n\t\t}\n\n\t\tviewport_axis() {\n\t\t\treturn new this.$.$mol_vector_range(0, this.size_real().x)\n\t\t}\n\n\t\tscale_axis() {\n\t\t\treturn this.scale()[0]\n\t\t}\n\n\t\tscale_step() {\n\t\t\treturn this.scale()[0]\n\t\t}\n\n\t\tshift_axis() {\n\t\t\treturn this.shift()[0]\n\t\t}\n\t\t\n\t\tcurve() {\n\t\t\tconst [shift] = this.shift()\n\t\t\tconst [scale] = this.scale()\n\n\t\t\treturn this.axis_points().map( point => {\n\t\t\t\tlet scaled = Math.round( point * scale + shift )\n\t\t\t\tscaled = Math.max( Number.MIN_SAFE_INTEGER, Math.min( scaled, Number.MAX_SAFE_INTEGER ) )\n\t\t\t\treturn `M ${ scaled } 1000 V 0`\n\t\t\t}).join( ' ' )\n\t\t}\n\n\t\tlabel_pos_x( index : number ) {\n\t\t\treturn (this.axis_points()[index] * this.scale()[0] + this.shift()[0]).toFixed(3)\n\t\t}\n\n\t\tbackground_y() {\n\t\t\treturn String(this.size_real()[1] - this.font_size())\n\t\t}\n\n\t\ttitle_pos_y() {\n\t\t\treturn String(this.size_real()[1])\n\t\t}\n\n\t\tbackground_height() {\n\t\t\treturn String(this.font_size())\n\t\t}\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/plot/ruler/hor/hor.view.css\",\n \"[mol_plot_ruler_hor_label] {\\n\\ttransform: translateY( -4px );\\n}\\n\\n[mol_plot_ruler_hor_title] {\\n\\ttransform: translateY( -4px );\\n}\\n\"\n) }","$mol_plot_mark_hor $mol_plot_ruler_hor\n\tlabels /string\n","namespace $.$$ {\n\texport class $mol_plot_mark_hor extends $.$mol_plot_mark_hor {\n\t\t@ $mol_mem\n\t\tseries_x(): readonly number[] {\n\t\t\treturn this.labels().map((val, index) => index)\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlabels() {\n\t\t\treturn this.series_x().map(val => String(val)) as readonly string[]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tvisible_indexes() {\n\t\t\tconst series_x = this.series_x()\n\t\t\tconst labels = this.labels()\n\t\t\tconst [shift_x,] = this.shift()\n\t\t\tconst [scale_x,] = this.scale()\n\t\t\tlet step = this.step() * scale_x\n\t\t\tconst [[viewport_left, viewport_right]] = this.viewport()\n\t\t\tconst size_x = viewport_right - viewport_left\n\t\t\tconst font_size = this.font_size()\n\t\t\tlet indexes: number[]\n\t\t\tlet labels_width: number\n\t\t\tdo {\n\t\t\t\tindexes = []\n\t\t\t\tlabels_width = 0\n\t\t\t\tlet last: number = 0\n\t\t\t\tlet current = 0\n\t\t\t\tfor (let i = 0; i < series_x.length; i++) {\n\t\t\t\t\tconst point_x = series_x[i]\n\t\t\t\t\tconst scaled_x = (shift_x + point_x * scale_x)\n\t\t\t\t\tif (scaled_x < viewport_left) continue\n\t\t\t\t\tif (scaled_x > viewport_right) continue\n\t\t\t\t\tif (current === 0) current = scaled_x\n\t\t\t\t\tif (scaled_x < current) {\n\t\t\t\t\t\tlast = i\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tindexes.push(i)\n\t\t\t\t\tcurrent += step\n\t\t\t\t\tlast = 0\n\t\t\t\t\tlabels_width += font_size * (labels[i].length + 1)\n\t\t\t\t\tif (labels_width > size_x) break\n\t\t\t\t}\n\t\t\t\tif (last !== 0) {\n\t\t\t\t\tindexes.push(last)\n\t\t\t\t\tlabels_width += font_size * (labels[last].length + 1)\n\t\t\t\t}\n\n\t\t\t\tstep *= 1.5\n\t\t\t} while (labels_width > size_x && indexes.length > 2)\n\n\t\t\treturn indexes\n\n\t\t}\n\n\t\tcurve() {\n\t\t\tconst [shift] = this.shift()\n\t\t\tconst [scale] = this.scale()\n\t\t\tconst series_x = this.series_x()\n\n\t\t\treturn this.visible_indexes().map( index => {\n\t\t\t\tconst scaled = series_x[index] * scale + shift\n\t\t\t\treturn `M ${ scaled.toFixed(3) } 1000 V 0`\n\t\t\t}).join( ' ' )\n\t\t}\n\n\t\tlabel_text( index : number ) {\n\t\t\treturn this.labels()[index]\n\t\t}\n\n\t\tlabels_formatted() {\n\t\t\treturn this.visible_indexes().map( index => this.Label( index ) )\n\t\t}\n\n\t\tlabel_pos_x( index : number ) {\n\t\t\treturn (this.series_x()[index] * this.scale()[0] + this.shift()[0]).toFixed(3)\n\t\t}\n\n\t\tlabel_pos_y( index : number ) {\n\t\t\treturn this.title_pos_y()\n\t\t}\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/plot/mark/hor/hor.view.css\",\n \"[mol_plot_mark_hor_curve] {\\n\\tcolor: var(--mol_theme_line);\\n\\tstroke-width: .1%;\\n\\tstroke: currentColor;\\n\\tpointer-events: none;\\n}\\n\\n[mol_plot_mark_hor_label] {\\n\\tcolor: var(--mol_theme_text);\\n\\ttransform: translateY( -4px );\\n}\\n\\n[mol_plot_mark_hor_title] {\\n\\tcolor: var(--mol_theme_shade);\\n\\ttransform: translateY( -4px );\\n}\\n\"\n) }","$mol_svg_text_box $mol_svg_group\n\tfont_size 16\n\twidth 0\n\tsub /\n\t\t<= Back $mol_svg_rect\n\t\t\twidth <= box_width \\0.5rem\n\t\t\theight <= box_height \\1rem\n\t\t\tpos /\n\t\t\t\t<= box_pos_x <= pos_x\n\t\t\t\t<= box_pos_y \\0\n\t\t<= Text $mol_svg_text\n\t\t\tpos /\n\t\t\t\t<= pos_x \\0\n\t\t\t\t<= pos_y \\100%\n\t\t\talign <= align \\start\n\t\t\tsub /\n\t\t\t\t<= text \\\n","namespace $ {\n\n\tlet canvas : CanvasRenderingContext2D\n\n\texport function $mol_font_canvas( next = canvas ) {\n\t\tif( !next ) next = $mol_dom_context.document.createElement( 'canvas' ).getContext( '2d' )!\n\t\treturn canvas = next\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_font_measure( font: string, text: string ) {\n\t\tconst canvas = $mol_font_canvas()\n\t\tcanvas.font = font\n\t\treturn canvas.measureText( text ).width\n\t}\n\n}\n","namespace $.$$ {\n\texport class $mol_svg_text_box extends $.$mol_svg_text_box {\n\n\t\tbox_width() {\n\t\t\treturn `${ this.width() }px`\n\t\t}\n\n\t\t@ $mol_mem\n\t\twidth() {\n\t\t\treturn $mol_font_measure(\n\t\t\t\tthis.font_size() + 'px ' + this.font_family(),\n\t\t\t\tthis.text(),\n\t\t\t)\n\t\t}\n\n\t\tbox_pos_x() {\n\t\t\tconst align = this.align()\n\t\t\tif (align === 'end') return `calc(${this.pos_x()} - ${this.width()})`\n\t\t\tif (align === 'middle') return `calc(${this.pos_x()} - ${Math.round(this.width() / 2)})`\n\n\t\t\treturn this.pos_x()\n\t\t}\n\n\t\tbox_pos_y() {\n\t\t\treturn `calc(${this.pos_y()} - ${this.font_size() - 2})`\n\t\t}\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/svg/text/box/box.view.css\",\n \"[mol_svg_text_box_back] {\\n\\tstroke: none;\\n\\tfill: var(--mol_theme_back);\\n\\ttransition: none;\\n}\\n\"\n) }","$mol_plot_mark_cross $mol_plot_graph\n\tlabels /string\n\ttitle_x_gap 4\n\ttitle_y_gap 22\n\tthreshold 16\n\tgraphs /$mol_plot_graph\n\tdimensions $mol_vector_2d<$mol_vector_range> /\n\t\t<= dimensions_x $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\t\t<= dimensions_y $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\tsub /\n\t\t<= Curve $mol_svg_path\n\t\t\tgeometry <= curve \\\n\t\t<= Label_x $mol_svg_text_box\n\t\t\tpos_x <= title_x_pos_x \\0\n\t\t\tpos_y <= title_x_pos_y \\100%\n\t\t\ttext <= title_x \\\n\t\t<= Label_y $mol_svg_text_box\n\t\t\tpos_x <= title_y_pos_x \\0\n\t\t\tpos_y <= title_y_pos_y \\0\n\t\t\ttext <= title_y \\\n","namespace $.$$ {\n\texport class $mol_plot_mark_cross extends $.$mol_plot_mark_cross {\n\n\t\t@$mol_mem\n\t\tnearest() {\n\t\t\tlet delta = this.threshold() ** 2\n\t\t\tconst [cursor_x, cursor_y] = this.cursor_position()\n\t\t\tif (Number.isNaN(cursor_x) || Number.isNaN(cursor_y)) return null\n\t\t\tconst graphs = this.graphs()\n\t\t\tlet index: number = 0\n\t\t\tlet graph: $.$mol_plot_graph = null as any\n\t\t\tconst [shift_x, shift_y] = this.shift()\n\t\t\tconst [scale_x, scale_y] = this.scale()\n\t\t\tfor (let current of graphs) {\n\t\t\t\tconst indexes = current.indexes()\n\t\t\t\tconst series_x = current.series_x()\n\t\t\t\tconst series_y = current.series_y()\n\t\n\t\t\t\tfor (let i of indexes) {\n\t\t\t\t\tconst point_x = shift_x + series_x[i] * scale_x\n\t\t\t\t\tconst point_y = shift_y + series_y[i] * scale_y\n\t\t\t\t\tconst diff = (point_x - cursor_x) ** 2 + (point_y - cursor_y) ** 2\n\t\t\t\t\tif (diff < delta) {\n\t\t\t\t\t\tdelta = diff\n\t\t\t\t\t\tindex = i\n\t\t\t\t\t\tgraph = current\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!graph) return null\n\n\t\t\tconst value = new $mol_vector_2d(graph.series_x()[index], graph.series_y()[index])\n\t\t\tconst scaled = new $mol_vector_2d(shift_x + value.x * scale_x, shift_y + value.y * scale_y)\n\n\t\t\treturn {value, scaled, index}\n\t\t}\n\n\t\tcurve() {\n\t\t\tconst nearest = this.nearest()\n\t\t\tif (!nearest) return ''\n\t\t\treturn `M ${nearest.scaled.x.toFixed(3)} 1000 V 0 M 0 ${nearest.scaled.y.toFixed(3)} H 2000`\n\t\t}\n\n\t\ttitle_x() {\n\t\t\tconst nearest = this.nearest()\n\t\t\tif (!nearest) return ''\n\n\t\t\tconst labels = this.labels()\n\n\t\t\tif (labels.length > nearest.index) return labels[nearest.index]\n\n\t\t\treturn String(nearest.value.x)\n\t\t}\n\n\t\ttitle_x_pos_x() {\n\t\t\tconst nearest = this.nearest()\n\t\t\tif (!nearest) return '0'\n\t\t\tconst width = this.Label_x().width()\n\n\t\t\treturn (nearest.scaled.x - width / 2).toFixed(3)\n\t\t}\n\n\t\ttitle_x_pos_y() {\n\t\t\tconst nearest = this.nearest()\n\t\t\tif (!nearest) return '0'\n\n\t\t\tconst pos = this.size_real().y - this.title_x_gap()\n\n\t\t\treturn pos.toFixed(3)\n\t\t}\n\n\t\ttitle_y() {\n\t\t\tconst nearest = this.nearest()\n\t\t\tif (!nearest) return ''\n\n\t\t\treturn String(nearest.value.y)\n\t\t}\n\n\t\ttitle_y_pos_y() {\n\t\t\tconst nearest = this.nearest()\n\t\t\tif (!nearest) return '0'\n\n\t\t\treturn nearest.scaled.y.toFixed(3)\n\t\t}\n\n\t\ttitle_y_pos_x() {\n\t\t\tconst nearest = this.nearest()\n\t\t\tif (!nearest) return '0'\n\n\t\t\tconst pos = this.title_y_gap()\n\n\t\t\treturn pos.toFixed(3)\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/plot/mark/cross/cross.view.css\",\n \"[mol_plot_mark_cross_curve] {\\n\\tcolor: var(--mol_theme_focus);\\n\\tstroke-width: 1px;\\n\\tstroke: currentColor;\\n\\tpointer-events: none;\\n}\\n\\n[mol_plot_mark_cross_label_x], [mol_plot_mark_cross_label_y] {\\n\\tcolor: var(--mol_theme_focus);\\n\\tpointer-events: none;\\n}\\n\\n[mol_plot_mark_cross_label_y] {\\n\\ttransform: translateY( 4px );\\n}\\n\"\n) }","$mol_gallery $mol_view\n\tsub <= items /$mol_view\n\tSide* $mol_gallery\n\t\tstyle *\n\t\t\tflexGrow <= side_size* \\1\n\t\titems <= side_items* /$mol_view\n","namespace $.$$ {\n\t/**\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_gallery_demo\n\t */\n\texport class $mol_gallery extends $.$mol_gallery {\n\t\t\n\t\t@ $mol_mem\n\t\tsub(): readonly $mol_view[] {\n\t\t\t\n\t\t\tconst items = this.items()\n\t\t\tif( items.length <= 3 ) return items\n\t\t\t\n\t\t\treturn [\n\t\t\t\tthis.Side(0),\n\t\t\t\tthis.Side(1),\n\t\t\t]\n\t\t\t\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tside_items( id: number ) {\n\t\t\tconst items = this.items()\n\t\t\tconst middle = items.length % 2\n\t\t\t\t? Math.ceil( items.length / 3 )\n\t\t\t\t: items.length / 2\n\t\t\treturn id\n\t\t\t\t? items.slice( middle )\n\t\t\t\t: items.slice( 0, middle )\n\t\t}\n\t\t\n\t\tside_size( id: number ) {\n\t\t\treturn String( this.side_items( id ).length )\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/gallery/gallery.view.css\",\n \"[mol_gallery] {\\n\\tflex-wrap: wrap;\\n\\tflex: 1 1 auto;\\n\\talign-items: stretch;\\n align-content: stretch;\\n}\\n\"\n) }","$mol_chart_legend $mol_scroll\n\tgraphs /$mol_plot_graph\n\tgraphs_front /$mol_plot_graph\n\tsub /\n\t\t<= Gallery $mol_gallery items <= graph_legends /$mol_view\n\t-\n\tGraph_legend* $mol_view\n\t\tsub /\n\t\t\t<= Graph_sample_box* $mol_view\n\t\t\t\tsub /\n\t\t\t\t\t<= Graph_sample* null\n\t\t\t<= Graph_title* $mol_view\n\t\t\t\tsub /\n\t\t\t\t\t<= graph_title* \\\n","namespace $.$$ {\n\t\n\texport class $mol_chart_legend extends $.$mol_chart_legend {\n\n\t\t@ $mol_mem\n\t\tgraphs_front() {\n\t\t\treturn this.graphs().filter( graph => graph.Sample()) as readonly $mol_plot_graph[]\n\t\t}\n\t\t\n\t\tgraph_legends() {\n\t\t\treturn this.graphs_front().map( ( graph , index )=> this.Graph_legend( index ) ) as readonly $mol_view[]\n\t\t}\n\t\t\n\t\tgraph_title( index : number ) {\n\t\t\treturn this.graphs_front()[ index ].title()\n\t\t}\n\t\t\n\t\tGraph_sample( index : number ) {\n\t\t\treturn this.graphs_front()[ index ].Sample()\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/chart/legend/legend.view.css\",\n \"[mol_chart_legend] {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\tflex-direction: row;\\n\\tflex: 0 1 auto;\\n}\\n\\n[mol_chart_legend_graph_legend] {\\n\\tdisplay: flex;\\n\\tjustify-content: flex-start;\\n\\tflex: 1 1 8rem;\\n\\tpadding: .5rem;\\n}\\n\\n[mol_chart_legend_graph_title] {\\n\\tmargin: 0 .25rem;\\n\\tflex: 1 1 auto;\\n}\\n\\n[mol_chart_legend_graph_sample_box] {\\n\\tposition: relative;\\n\\twidth: 1.5rem;\\n\\tflex: none;\\n}\\n\"\n) }","$mol_touch $mol_plugin\n\tstart_zoom? 0\n\tstart_distance? 0\n\tzoom? 1\n\tallow_draw true\n\tallow_pan true\n\tallow_zoom true\n\taction_type? \\\n\taction_point? $mol_vector_2d /\n\t\tNaN\n\t\tNaN\n\t-\n\tstart_pan? /\n\t\t0\n\t\t0\n\tpan? $mol_vector_2d /\n\t\t0\n\t\t0\n\tpointer_center $mol_vector_2d /\n\t\tNaN\n\t\tNaN\n\t-\n\tstart_pos? null\n\tswipe_precision 16\n\t-\n\tswipe_right? null\n\tswipe_bottom? null\n\tswipe_left? null\n\tswipe_top? null\n\t-\n\tswipe_from_right? null\n\tswipe_from_bottom? null\n\tswipe_from_left? null\n\tswipe_from_top? null\n\t-\n\tswipe_to_right? null\n\tswipe_to_bottom? null\n\tswipe_to_left? null\n\tswipe_to_top? null\n\t-\n\tdraw_start?event null\n\tdraw?event null\n\tdraw_end?event null\n\t-\n\tstyle *\n\t\t^\n\t\ttouch-action \\none\n\t\toverscroll-behavior \\none\n\t-\n\tevent *\n\t\t^\n\t\tpointerdown?event <=> event_start?event null\n\t\tpointermove?event <=> event_move?event null\n\t\tpointerup?event <=> event_end?event null\n\t\tpointerleave?event <=> event_leave?event null\n\t\twheel?event <=> event_wheel?event null\n","namespace $.$$ {\n\n\t/**\n\t * Plugin for touch gestures.\n\t * @see [mol_plugin](../plugin/readme.md)\n\t */\n\texport class $mol_touch extends $.$mol_touch {\n\t\t\n\t\tauto() {\n\t\t\tthis.pointer_events()\n\t\t\tthis.start_pan()\n\t\t\tthis.start_pos()\n\t\t\tthis.start_distance()\n\t\t\tthis.start_zoom()\n\t\t\tthis.action_type()\n\t\t\tthis.view_rect()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tpointer_events( next = [] as readonly PointerEvent[] ) {\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tpointer_coords() {\n\t\t\t\n\t\t\tconst events = this.pointer_events()\n\t\t\tconst touches = events.filter( e => e.pointerType === 'touch' )\n\t\t\tconst pens = events.filter( e => e.pointerType === 'pen' )\n\t\t\tconst mouses = events.filter( e => !e.pointerType || e.pointerType === 'mouse' )\n\t\t\tconst choosen = touches.length ? touches : pens.length ? pens : mouses\n\t\t\t\n\t\t\treturn new $mol_vector(\n\t\t\t\t... choosen.map( event => this.event_coords( event ) )\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tpointer_center() {\n\t\t\tconst coords = this.pointer_coords()\n\t\t\treturn coords.length ? coords.center() : new $mol_vector_2d( NaN , NaN )\n\t\t}\n\t\t\n\t\tevent_coords( event: PointerEvent | WheelEvent ) {\n\t\t\t\n\t\t\tconst { left, top } = this.view_rect()!\n\t\t\t\n\t\t\treturn new $mol_vector_2d(\n\t\t\t\tMath.round( event.pageX - left ),\n\t\t\t\tMath.round( event.pageY - top ),\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\taction_point() {\n\t\t\t\n\t\t\tconst coord = this.pointer_center()\n\t\t\tif( !coord ) return null!\n\t\t\t\n\t\t\tconst zoom = this.zoom()\n\t\t\tconst pan = this.pan()\n\t\t\t\n\t\t\treturn new $mol_vector_2d(\n\t\t\t\t( coord.x - pan.x ) / zoom,\n\t\t\t\t( coord.y - pan.y ) / zoom,\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\tevent_eat( event: PointerEvent | WheelEvent ) {\n\t\t\t\n\t\t\tif( event instanceof PointerEvent ) {\n\n\t\t\t\tconst events = this.pointer_events()\n\t\t\t\t\t.filter( e => e instanceof PointerEvent )\n\t\t\t\t\t.filter( e => e.pointerId !== event.pointerId )\n\t\t\t\tif( event.type !== 'pointerup' && event.type !== 'pointerleave' ) events.push( event )\n\t\t\t\tthis.pointer_events( events )\n\t\t\t\t\n\t\t\t\tconst touch_count = events.filter( e => e.pointerType === 'touch' ).length\n\t\t\t\t\n\t\t\t\tif( this.allow_zoom() && touch_count === 2 ) {\n\t\t\t\t\treturn this.action_type( 'zoom' )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( this.action_type() === 'zoom' && touch_count === 1 ) {\n\t\t\t\t\treturn this.action_type( 'zoom' )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tenum button {\n\t\t\t\t\tleft = 1,\n\t\t\t\t\tright = 2,\n\t\t\t\t\tmiddle = 4,\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( events.length > 0 ) {\n\t\t\t\t\tif( event.ctrlKey && this.allow_zoom() ) return this.action_type( 'zoom' )\n\t\t\t\t\tif( event.buttons === button.left && this.allow_draw() ) return this.action_type( 'draw' )\n\t\t\t\t\tif( event.buttons && this.allow_pan() ) return this.action_type( 'pan' )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn this.action_type( '' )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( event instanceof WheelEvent ) {\n\t\t\t\tthis.pointer_events([ event as any ])\n\t\t\t\tif( event.shiftKey ) return this.action_type( 'pan' )\n\t\t\t\treturn this.action_type( 'zoom' )\n\t\t\t}\n\t\t\t\n\t\t\treturn this.action_type( '' )\n\t\t}\n\t\t\n\t\tevent_start( event : PointerEvent ) {\n\t\t\tif( event.defaultPrevented ) return\n\t\t\t\n\t\t\tthis.start_pan( this.pan() )\n\n\t\t\tconst action_type = this.event_eat( event )\n\t\t\tif( !action_type ) return\n\t\t\t\n\t\t\tconst coords = this.pointer_coords()\n\t\t\tthis.start_pos( coords.center() )\n\t\t\t\n\t\t\tif( action_type === 'draw' ) {\n\t\t\t\tthis.draw_start( event )\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.start_distance( coords.distance() )\n\t\t\tthis.start_zoom( this.zoom() )\n\n\t\t}\n\n\t\tevent_move( event : PointerEvent ) {\n\t\t\tif( event.defaultPrevented ) return\n\n\t\t\tconst rect = this.view_rect()\n\t\t\tif( !rect ) return\n\t\n\t\t\tconst start_pan = this.start_pan()\n\n\t\t\tconst action_type = this.event_eat( event )\n\t\t\t\n\t\t\tconst start_pos = this.start_pos()\n\t\t\tlet pos = this.pointer_center()!\n\n\t\t\tif( !action_type ) return\n\t\t\tif( !start_pos ) return\n\t\t\t\n\t\t\tif( action_type === 'draw' ) {\n\t\t\t\t\n\t\t\t\tconst distance = new $mol_vector( start_pos, pos ).distance()\n\t\t\t\tif( distance >= 4 ) {\n\t\t\t\t\tthis.draw( event )\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\t\t\t\t\n\t\t\tif( action_type === 'pan' ) {\n\n\t\t\t\tthis.dom_node().setPointerCapture( event.pointerId )\n\t\t\t\t\n\t\t\t\tthis.pan(\n\t\t\t\t\tnew $mol_vector_2d(\n\t\t\t\t\t\tstart_pan[0] + pos[0] - start_pos[0],\n\t\t\t\t\t\tstart_pan[1] + pos[1] - start_pos[1],\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\t\n\t\t\t}\n\n\t\t\tconst precision = this.swipe_precision()\n\t\t\t\n\t\t\tif(\n\t\t\t\t(\n\t\t\t\t\tthis.swipe_right !== $mol_touch.prototype.swipe_right\n\t\t\t\t\t|| this.swipe_from_left !== $mol_touch.prototype.swipe_from_left\n\t\t\t\t\t|| this.swipe_to_right !== $mol_touch.prototype.swipe_to_right\n\t\t\t\t)\n\t\t\t\t&& pos[0] - start_pos[0] > precision * 2\n\t\t\t\t&& Math.abs( pos[1] - start_pos[1] ) < precision\n\t\t\t) {\n\t\t\t\tthis.swipe_right( event )\n\t\t\t}\n\n\t\t\tif(\n\t\t\t\t(\n\t\t\t\t\tthis.swipe_left !== $mol_touch.prototype.swipe_left\n\t\t\t\t\t|| this.swipe_from_right !== $mol_touch.prototype.swipe_from_right\n\t\t\t\t\t|| this.swipe_to_left !== $mol_touch.prototype.swipe_to_left\n\t\t\t\t)\n\t\t\t\t&& start_pos[0] - pos[0] > precision * 2\n\t\t\t\t&& Math.abs( pos[1] - start_pos[1] ) < precision\n\t\t\t) {\n\t\t\t\tthis.swipe_left( event )\n\t\t\t}\n\n\t\t\tif(\n\t\t\t\t(\n\t\t\t\t\tthis.swipe_bottom !== $mol_touch.prototype.swipe_bottom\n\t\t\t\t\t|| this.swipe_from_top !== $mol_touch.prototype.swipe_from_top\n\t\t\t\t\t|| this.swipe_to_bottom !== $mol_touch.prototype.swipe_to_bottom\n\t\t\t\t)\n\t\t\t\t&& pos[1] - start_pos[1] > precision * 2\n\t\t\t\t&& Math.abs( pos[0] - start_pos[0] ) < precision\n\t\t\t) {\n\t\t\t\tthis.swipe_bottom( event )\n\t\t\t}\n\n\t\t\tif(\n\t\t\t\t(\n\t\t\t\t\tthis.swipe_top !== $mol_touch.prototype.swipe_top\n\t\t\t\t\t|| this.swipe_from_bottom !== $mol_touch.prototype.swipe_from_bottom\n\t\t\t\t\t|| this.swipe_to_top !== $mol_touch.prototype.swipe_to_top\n\t\t\t\t)\n\t\t\t\t&& start_pos[1] - pos[1] > precision * 2\n\t\t\t\t&& Math.abs( pos[0] - start_pos[0] ) < precision\n\t\t\t) {\n\t\t\t\tthis.swipe_top( event )\n\t\t\t}\n\n\t\t\tif( action_type === 'zoom' ) {\n\n\t\t\t\tconst coords = this.pointer_coords()\n\t\t\t\tconst distance = coords.distance()\n\t\t\t\tconst start_distance = this.start_distance()\n\t\t\t\tconst center = coords.center()\n\n\t\t\t\tconst start_zoom = this.start_zoom()\n\t\t\t\tlet mult = Math.abs( distance - start_distance ) < 32 ? 1 : distance / start_distance\n\t\t\t\tthis.zoom( start_zoom * mult )\n\n\t\t\t\tconst pan = new $mol_vector_2d(\n\t\t\t\t\t( start_pan[0] - center[0] + pos[0] - start_pos[0] ) * mult + center[0],\n\t\t\t\t\t( start_pan[1] - center[1] + pos[1] - start_pos[1] ) * mult + center[1],\n\t\t\t\t)\n\n\t\t\t\tthis.pan( pan )\n\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tevent_end( event : PointerEvent ) {\n\t\t\t\n\t\t\tconst action = this.action_type()\n\t\t\tif( action ==='draw' ) {\n\t\t\t\tthis.draw_end( event )\n\t\t\t}\n\t\t\t\n\t\t\tthis.event_leave( event )\n\t\t\t\n\t\t}\n\n\t\tevent_leave( event : PointerEvent ) {\n\n\t\t\tthis.event_eat( event )\n\t\t\tthis.dom_node().releasePointerCapture( event.pointerId )\n\t\t\tthis.start_pos( null )\n\t\t\t\n\t\t}\n\n\t\tswipe_left( event : PointerEvent ) {\n\t\t\tif( this.view_rect()!.right - this.start_pos()[0] < this.swipe_precision() * 2 ) this.swipe_from_right( event )\n\t\t\telse this.swipe_to_left( event )\n\t\t\tthis.event_end( event )\n\t\t}\n\t\t\n\t\tswipe_right( event : PointerEvent ) {\n\t\t\tif( this.start_pos()[0] - this.view_rect()!.left < this.swipe_precision() * 2 ) this.swipe_from_left( event )\n\t\t\telse this.swipe_to_right( event )\n\t\t\tthis.event_end( event )\n\t\t}\n\t\t\n\t\tswipe_top( event : PointerEvent ) {\n\t\t\tif( this.view_rect()!.bottom - this.start_pos()[1] < this.swipe_precision() * 2 ) this.swipe_from_bottom( event )\n\t\t\telse this.swipe_to_top( event )\n\t\t\tthis.event_end( event )\n\t\t}\n\t\t\n\t\tswipe_bottom( event : PointerEvent ) {\n\t\t\tif( this.start_pos()[1] - this.view_rect()!.top < this.swipe_precision() * 2 ) this.swipe_from_top( event )\n\t\t\telse this.swipe_to_bottom( event )\n\t\t\tthis.event_end( event )\n\t\t}\n\t\t\n\t\tevent_wheel( event : WheelEvent ) {\n\t\t\t\n\t\t\tif( event.defaultPrevented ) return\n\n\t\t\tif( this.pan === $mol_touch.prototype.pan && this.zoom === $mol_touch.prototype.zoom ) return\n\t\t\t\n\t\t\tif( this.pan !== $mol_touch.prototype.pan ) {\n\t\t\t\tevent.preventDefault()\n\t\t\t}\n\t\t\t\n\t\t\tconst action_type = this.event_eat( event )\n\n\t\t\tif( action_type === 'zoom' ) {\n\t\t\t\t\n\t\t\t\tconst zoom_prev = this.zoom() || 0.001\n\t\t\t\tconst zoom_next = zoom_prev * ( 1 - .001 * Math.min( event.deltaY, 100 ) )\n\t\t\t\tconst mult = zoom_next / zoom_prev\n\t\t\t\tthis.zoom( zoom_next )\n\n\t\t\t\tconst pan_prev = this.pan()\n\t\t\t\tconst center = this.pointer_center()!\n\t\t\t\tconst pan_next = pan_prev.multed0( mult ).added1( center.multed0( 1 - mult ) )\n\n\t\t\t\tthis.pan( pan_next )\n\t\t\t}\n\t\t\t\n\t\t\tif( action_type === 'pan' ) {\n\t\t\t\t\n\t\t\t\tconst pan_prev = this.pan()\n\t\t\t\tconst pan_next = new $mol_vector_2d(\n\t\t\t\t\tpan_prev.x - event.deltaX,\n\t\t\t\t\tpan_prev.y - event.deltaY,\n\t\t\t\t)\n\n\t\t\t\tthis.pan( pan_next )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","$mol_plot_pane $mol_svg_root\n\taspect \\none\n\t-\n\thue_base? +NaN\n\thue_shift? 111\n\t-\n\tgap_hor 48\n\tgap_vert 24\n\tgap_left <= gap_hor\n\tgap_right <= gap_hor\n\tgap_top <= gap_vert\n\tgap_bottom <= gap_vert\n\tgap $mol_vector_2d<$mol_vector_range> /\n\t\t<= gap_x $mol_vector_range /\n\t\t\t<= gap_left\n\t\t\t<= gap_right\n\t\t<= gap_y $mol_vector_range /\n\t\t\t<= gap_bottom\n\t\t\t<= gap_top\n\t-\n\tshift_limit $mol_vector_2d<$mol_vector_range> /\n\t\t<= shift_limit_x $mol_vector_range /\n\t\t\t0\n\t\t\t0\n\t\t<= shift_limit_y $mol_vector_range /\n\t\t\t0\n\t\t\t0\n\tshift_default $mol_vector_2d /\n\t\t0\n\t\t0\n\tshift? $mol_vector_2d /\n\t\t0\n\t\t0\n\tscale_limit $mol_vector_2d<$mol_vector_range> /\n\t\t<= scale_limit_x $mol_vector_range /\n\t\t\t0\n\t\t\tInfinity\n\t\t<= scale_limit_y $mol_vector_range /\n\t\t\t0\n\t\t\t-Infinity\n\tscale_default $mol_vector_2d /\n\t\t0\n\t\t0\n\tscale? $mol_vector_2d /\n\t\t1\n\t\t-1\n\tscale_x? 1\n\tscale_y? -1\n\tsize $mol_vector_2d /\n\t\t0\n\t\t0\n\tsize_real $mol_vector_2d /\n\t\t1\n\t\t1\n\tdimensions $mol_vector_2d<$mol_vector_range> /\n\t\t<= dimensions_x $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\t\t<= dimensions_y $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\tdimensions_viewport $mol_vector_2d<$mol_vector_range> /\n\t\t<= dimensions_viewport_x $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\t\t<= dimensions_viewport_y $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\t-\n\tsub <= graphs_sorted /$mol_svg\n\tgraphs_colored <= graphs_visible <= graphs_positioned <= graphs /$mol_plot_graph\n\t-\n\tplugins /\n\t\t^\n\t\t<= Touch $mol_touch\n\t\t\tzoom? <=> zoom? 1\n\t\t\tpan? <=> shift?\n\t\t\tpointer_center => cursor_position\n\t\t\tallow_draw <= allow_draw true\n\t\t\tallow_pan <= allow_pan true\n\t\t\tallow_zoom <= allow_zoom true\n\t\t\taction_type => action_type\n\t\t\taction_point => action_point\n\t\t\tdraw_start?event <=> draw_start?event null\n\t\t\tdraw?event <=> draw?event null\n\t\t\tdraw_end?event <=> draw_end?event null\n\t- event *\n\t\t^\n\t\tdblclick?event <=> reset?event null\n","namespace $.$$ {\n\n\t/**\n\t * Fastest plot lib for vector graphics.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_plot_demo\n\t */\n\texport class $mol_plot_pane extends $.$mol_plot_pane {\n\t\t\n\t\t@ $mol_mem\n\t\tdimensions() {\n\t\t\tconst graphs = this.graphs()\n\t\t\tlet next = new this.$.$mol_vector_2d(\n\t\t\t\t$mol_vector_range_full.inversed,\n\t\t\t\t$mol_vector_range_full.inversed\n\t\t\t)\n\n\t\t\tfor( let graph of graphs ) {\n\t\t\t\tnext = next.expanded2(graph.dimensions())\n\t\t\t}\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsize() {\n\t\t\tconst dims = this.dimensions()\n\t\t\treturn new this.$.$mol_vector_2d(\n\t\t\t\t( dims.x.max - dims.x.min ) || 1 ,\n\t\t\t\t( dims.y.max - dims.y.min ) || 1 ,\n\t\t\t)\n\t\t}\n\t\t\t\n\t\tgraph_hue( index : number ) {\n\t\t\treturn ( 360 + ( this.hue_base() + this.hue_shift() * index ) % 360 ) % 360\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tgraphs_colored() {\n\t\t\tconst graphs = this.graphs_visible()\n\t\t\tfor (let index = 0; index < graphs.length; index++) {\n\t\t\t\tgraphs[index].hue( this.graph_hue( index ) )\n\t\t\t}\n\t\t\t\n\t\t\treturn graphs\n\t\t}\n\t\t\n\t\tsize_real() {\n\t\t\tconst rect = this.view_rect()\n\t\t\tif( !rect ) return new this.$.$mol_vector_2d( 1, 1 )\n\t\t\treturn new this.$.$mol_vector_2d( rect.width, rect.height )\n\t\t}\n\n\t\tview_box() {\n\t\t\tconst size = this.size_real()\n\t\t\treturn `0 0 ${ size.x } ${ size.y }`\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tscale_limit() {\n\t\t\tconst {\n\t\t\t\tx: {max: right},\n\t\t\t\ty: {max: top}\n\t\t\t} = super.scale_limit()\n\t\t\tconst gap = this.gap()\n\t\t\tconst size = this.size()\n\t\t\tconst real = this.size_real()\n\n\t\t\tconst left = + ( real.x - gap.x.min - gap.x.max ) / size.x\n\t\t\tconst bottom = - ( real.y - gap.y.max - gap.y.min) / size.y\n\n\t\t\treturn new this.$.$mol_vector_2d(\n\t\t\t\tnew this.$.$mol_vector_range(left, right),\n\t\t\t\tnew this.$.$mol_vector_range(top, bottom),\n\t\t\t)\n\t\t}\n\n\t\tscale_default() {\n\t\t\tconst limits = this.scale_limit()\n\t\t\treturn new $mol_vector_2d( limits.x.min, limits.y.max )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tscale(next?: $mol_vector_2d< number >): $mol_vector_2d< number > {\n\t\t\tif (next === undefined) {\n\t\t\t\tif (!this.graph_touched) return this.scale_default()\n\t\t\t\tnext = $mol_mem_cached( ()=> this.scale() ) ?? this.scale_default()\n\t\t\t}\n\t\t\tthis.graph_touched = true\n\n\t\t\treturn next!.limited(this.scale_limit())\n\t\t}\n\n\t\tscale_x(next?: number): number {\n\t\t\treturn this.scale(\n\t\t\t\tnext === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: new $mol_vector_2d( next , this.scale().y )\n\t\t\t).x\n\t\t}\n\n\t\tscale_y(next?: number): number {\n\t\t\treturn this.scale(\n\t\t\t\tnext === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: new $mol_vector_2d( this.scale().x , next )\n\t\t\t).y\n\t\t}\n\n\t\t@ $mol_mem\n\t\tshift_limit() {\n\t\t\tconst dims = this.dimensions()\n\t\t\tconst [scale_x, scale_y] = this.scale()\n\t\t\tconst size = this.size_real()\n\t\t\tconst gap = this.gap()\n\n\t\t\tconst left = gap.x.min - dims.x.min * scale_x\n\t\t\tconst right = size.x - gap.x.max - dims.x.max * scale_x\n\n\t\t\tconst top = gap.y.max - dims.y.max * scale_y\n\t\t\tconst bottom = size.y - gap.y.min - dims.y.min * scale_y\n\n\t\t\treturn new this.$.$mol_vector_2d(\n\t\t\t\tnew this.$.$mol_vector_range(right, left),\n\t\t\t\tnew this.$.$mol_vector_range(bottom, top),\n\t\t\t)\n\t\t}\n\n\t\t@ $mol_mem\n\t\tshift_default() {\n\t\t\tconst limits = this.shift_limit()\n\t\t\treturn new $mol_vector_2d( limits.x.min, limits.y.min )\n\t\t}\n\n\t\tgraph_touched: boolean = false\n\n\t\t@ $mol_mem\n\t\tshift(next?: $mol_vector_2d< number >): $mol_vector_2d< number > {\n\n\t\t\tif (next === undefined) {\n\t\t\t\tif (!this.graph_touched) return this.shift_default()\n\t\t\t\tnext = $mol_mem_cached( ()=> this.shift() ) ?? this.shift_default()\n\t\t\t}\n\n\t\t\tthis.graph_touched = true\n\n\t\t\treturn next!.limited(this.shift_limit())\n\t\t}\n\n\t\treset(event?: Event) {\n\t\t\tthis.graph_touched = false\n\t\t\tthis.scale(this.scale_default())\n\t\t\tthis.shift(this.shift_default())\n\t\t}\n\n\t\t@ $mol_mem\n\t\tgraphs_visible() {\n\t\t\t\n\t\t\tconst viewport = this.dimensions_viewport()\n\t\t\tconst size_real = this.size_real()\n\t\t\t\n\t\t\tconst max_x = ( viewport.x.max - viewport.x.min ) / size_real.x\n\t\t\tconst max_y = ( viewport.y.max - viewport.y.min ) / size_real.y\n\t\t\t\n\t\t\treturn this.graphs_positioned().filter( graph => {\n\t\t\t\t\n\t\t\t\tconst dims = graph.dimensions()\n\t\t\t\t\n\t\t\t\tif( dims.x.min > dims.x.max ) return true\n\t\t\t\tif( dims.y.min > dims.y.max ) return true\n\t\t\t\t\n\t\t\t\tconst size_x = dims.x.max - dims.x.min\n\t\t\t\tconst size_y = dims.y.max - dims.y.min\n\t\t\t\tif( ( size_x || size_y ) && size_x < max_x && size_y < max_y ) return false\n\t\t\t\t\n\t\t\t\tif( dims.x.min > viewport.x.max ) return false\n\t\t\t\tif( dims.x.max < viewport.x.min ) return false\n\t\t\t\t\n\t\t\t\tif( dims.y.min > viewport.y.max ) return false\n\t\t\t\tif( dims.y.max < viewport.y.min ) return false\n\t\t\t\t\n\t\t\t\treturn true\n\t\t\t} )\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tgraphs_positioned() {\n\t\t\tconst graphs = this.graphs()\n\t\t\tfor (let graph of graphs) {\n\t\t\t\tgraph.shift = ()=> this.shift()\n\t\t\t\tgraph.scale = ()=> this.scale()\n\t\t\t\tgraph.dimensions_pane = () => this.dimensions_viewport()\n\t\t\t\tgraph.viewport = () => this.viewport()\n\t\t\t\tgraph.size_real = ()=> this.size_real()\n\t\t\t\tgraph.cursor_position = ()=> this.cursor_position()\n\t\t\t\tgraph.gap = () => this.gap()\n\t\t\t}\n\t\t\t\n\t\t\treturn graphs\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tdimensions_viewport() {\n\t\t\tconst shift = this.shift().multed0(-1)\n\t\t\tconst scale = this.scale().powered0(-1)\n\t\t\treturn this.viewport().map( ( range, i )=> range.added0( shift[i] ).multed0( scale[i] ).sort( (a,b)=>a-b) )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tviewport() {\n\t\t\tconst size = this.size_real()\n\t\t\treturn new this.$.$mol_vector_2d(\n\t\t\t\tnew this.$.$mol_vector_range(0, size.x),\n\t\t\t\tnew this.$.$mol_vector_range(0, size.y),\n\t\t\t)\n\t\t}\n\n\t\t@ $mol_mem\n\t\tgraphs_sorted() {\n\t\t\tconst graphs = this.graphs_colored()\n\t\t\tconst sorted = [] as $.$mol_svg[]\n\t\t\t\n\t\t\tfor( let graph of graphs ) sorted.push(...graph.back())\n\t\t\tfor( let graph of graphs ) sorted.push(...graph.front())\n\t\t\t\n\t\t\treturn sorted\n\t\t}\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/plot/pane/pane.view.css\",\n \"[mol_plot_pane] {\\n\\tcolor: var(--mol_theme_control);\\n\\tflex: 1 1 auto;\\n\\talign-self: stretch;\\n\\tstroke-width: 2px;\\n\\tuser-select: none;\\n}\\n\"\n) }","$mol_chart $mol_view\n\tgap_hor 48\n\tgap_vert 24\n\tgap_left <= gap_hor\n\tgap_right <= gap_hor\n\tgap_bottom <= gap_vert\n\tgap_top <= gap_vert\n\tgraphs /$mol_plot_graph\n\tsub /\n\t\t<= Legend $mol_chart_legend\n\t\t\tgraphs <= graphs_colored\n\t\t<= Plot $mol_plot_pane\n\t\t\tscale_x? => zoom?\n\t\t\tzoom? <=> zoom?\n\t\t\tgap_left <= gap_left\n\t\t\tgap_right <= gap_right\n\t\t\tgap_bottom <= gap_bottom\n\t\t\tgap_top <= gap_top\n\t\t\tgraphs <= graphs\n\t\t\tgraphs_colored => graphs_colored\n\t\t\thue_base <= hue_base 210\n\t\t\thue_shift <= hue_shift 163\n","namespace $ { $mol_style_attach( \"mol/chart/chart.view.css\",\n \"[mol_chart] {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\talign-self: stretch;\\n\\tflex: 1 1 auto;\\n}\\n\\n[mol_chart_plot] {\\n\\tflex: 1 0 50%;\\n\\tmargin: .5rem;\\n}\\n\"\n) }","$mol_icon_chevron $mol_icon path \\M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\n","$mol_check_expand $mol_check\n\tIcon $mol_icon_chevron\n\tlevel 0\n\tstyle *\n\t\t^\n\t\tpaddingLeft <= level_style \\0px\n\tchecked? <=> expanded? false\n\tenabled <= expandable false\n","namespace $.$$ {\n\t\n\t/**\n\t * Expander for trees, lists, etc\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_check_expand_demo\n\t */\n\texport class $mol_check_expand extends $.$mol_check_expand {\n\t\t\n\t\tlevel_style() {\n\t\t\treturn `${ this.level() * 1 - 1 }rem`\n\t\t}\n\t\t\n\t\texpandable() {\n\t\t\treturn this.expanded() !== null\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/check/expand/expand.view.css\",\n \"[mol_check_expand] {\\n\\tmin-width: 20px;\\n}\\n\\n:where([mol_check_expand][disabled]) [mol_check_expand_icon] {\\n\\tvisibility: hidden;\\n}\\n\\n[mol_check_expand_icon] {\\n\\tbox-shadow: none;\\n\\tmargin-left: -0.375rem;\\n}\\n[mol_check_expand_icon] {\\n\\ttransform: rotateZ(0deg);\\n}\\n\\n:where([mol_check_checked]) [mol_check_expand_icon] {\\n\\ttransform: rotateZ(90deg);\\n}\\n\\n[mol_check_expand_icon] {\\n\\tvertical-align: text-top;\\n}\\n\\n[mol_check_expand_label] {\\n\\tmargin-left: 0;\\n}\\n\"\n) }","$mol_dump_list $mol_view\n\tvalues /\n\tsub /\n\t\t<= Dump*0 $mol_dump_value\n\t\t\tvalue <= dump_value* null\n\t\t\texpanded? <=> dump_expanded*? false\n\t\t\tprototypes <= prototypes false\n\t\t\tpreview_show <= preview_show true\n","namespace $.$$ {\n\n\t/**\n\t * Dumps any JS values.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_dump_demo\n\t */\n\texport class $mol_dump_list extends $.$mol_dump_list {\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\treturn this.values().map( (_,index)=> this.Dump( index ) )\n\t\t}\n\t\t\n\t\tdump_value( index: number ) {\n\t\t\treturn this.values()[ index ]\n\t\t}\n\t\t\n\t\texpand_all( event?: Event ) {\n\t\t\tthis.Dump(1).expanded( true )\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/dump/list/list.view.css\",\n \"[mol_dump_list] {\\n\\talign-items: flex-start;\\n\\tgap: var(--mol_gap_space);\\n}\\n\\n[mol_dump_list_dump]:first-child {\\n\\tposition: sticky;\\n\\ttop: 0;\\n}\\n\"\n) }","$mol_expander $mol_list\n\trows /\n\t\t<= Label $mol_view\n\t\t\tsub /\n\t\t\t\t<= Trigger $mol_check_expand\n\t\t\t\t\tchecked? <=> expanded? false\n\t\t\t\t\texpandable <= expandable true\n\t\t\t\t\tlabel <= label /\n\t\t\t\t\t\t<= title\n\t\t\t\t<= Tools null\n\t\t<= Content $mol_list\n\t\t\trows <= content /\n","namespace $.$$ {\n\t/**\n\t * Component which expands any content on title click.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_expander_demo\n\t */\n\texport class $mol_expander extends $.$mol_expander {\n\t\t\n\t\t@ $mol_mem\n\t\trows() {\n\t\t\treturn [\n\t\t\t\tthis.Label(),\n\t\t\t\t... this.expanded() ? [ this.Content() ] : []\n\t\t\t]\n\t\t}\n\t\t\n\t\texpandable() {\n\t\t\treturn this.content().length > 0\n\t\t}\n\t\t\n\t}\n}\n\n","namespace $ { $mol_style_attach( \"mol/expander/expander.view.css\",\n \"[mol_expander] {\\n\\tflex-direction: column;\\n}\\n\\n[mol_expander_label] {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\tborder-radius: var(--mol_gap_round);\\n}\\n\\n[mol_expander_trigger] {\\n\\tflex: auto;\\n\\tposition: relative;\\n}\\n\"\n) }","$mol_dump_value $mol_view\n\tvalue? null\n\tpreview_show? true\n\tsub /\n\t\t<= Simple $mol_text_code\n\t\t\ttext <= simple \\\n\t\t<= Expand $mol_expander\n\t\t\texpanded? <=> expanded? false\n\t\t\tTrigger <= Expand_head $mol_check_expand\n\t\t\t\tminimal_height 24\n\t\t\t\tminimal_width 24\n\t\t\t\texpanded? <=> expanded? false\n\t\t\t\texpandable <= expandable true\n\t\t\t\tclicks? <=> expand_all? null\n\t\t\t\tlabel /\n\t\t\t\t\t<= Expand_title $mol_text_code\n\t\t\t\t\t\ttext <= expand_title \\\n\t\t\tcontent <= expand_content /\n\t\t\t\t<= Preview $mol_view sub /\n\t\t\t\t\t<= Preview_dom $mol_view\n\t\t\t\t\t\tdom_node <= preview_dom null\n\t\t\t\t\t\trender <= preview null\n\t\t\t\t<= Row*0 $mol_dump_list\n\t\t\t\t\tvalues <= row_values* /\n\t\t\t\t\tprototypes <= prototypes false\n\t\t\t\t\tpreview_show <= preview_show\n","namespace $ {\n\t\n\texport function $mol_try< Result >( handler : ()=> Result ) : Result|Error {\n\t\ttry {\n\t\t\treturn handler()\n\t\t} catch( error: any ) {\n\t\t\treturn error\n\t\t}\n\t}\n\t\n} \n","namespace $.$$ {\n\n\t/**\n\t * Dumps any JS values.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_dump_demo\n\t */\n\texport class $mol_dump_value extends $.$mol_dump_value {\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\tconst value = this.value()\n\t\t\tif( !value ) return [ this.Simple() ]\n\t\t\tif( typeof value === 'object' ) return [ this.Expand() ]\n\t\t\tif( typeof value === 'function' ) return [ this.Expand() ]\n\t\t\treturn [ this.Simple() ]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsimple() {\n\t\t\tconst value = this.value()\n\t\t\tif( typeof value === 'number' ) return value.toLocaleString( 'en' ).replaceAll( ',', '_' )\n\t\t\tif( typeof value === 'bigint' ) return value.toLocaleString( 'en' ).replaceAll( ',', '_' )\n\t\t\treturn value ? String( value ) : JSON.stringify( value ) ?? 'undefined'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\texpand_title() {\n\t\t\t\n\t\t\tconst value = this.value()\n\t\t\t\n\t\t\tif( typeof value === 'function' ) {\n\t\t\t\tconst name = Reflect.getOwnPropertyDescriptor( value, 'name' )?.value\n\t\t\t\tconst source = Function.prototype.toString.call( value )\n\t\t\t\tconst args = source.match( /^[^{=>]*?\\(([\\s\\S]*?)\\)/ )?.[1] ?? source.match( /^([$\\w]+)\\s+=>/ )?.[1] ?? ''\n\t\t\t\tif( name ) return name + '(' + args + ')'\n\t\t\t}\n\t\t\t\n\t\t\tif( value instanceof RegExp ) return String( value )\n\t\t\tif( value instanceof Date ) return value.toISOString()\n\t\t\t\n\t\t\tconst kind = Reflect.getOwnPropertyDescriptor( value, Symbol.toStringTag )?.value\n\t\t\t\t?? value.constructor.name\n\t\t\t\t?? 'Object'\n\t\t\t\n\t\t\tif( value instanceof Node ) {\n\t\t\t\ttry {\n\t\t\t\t\tswitch( value.nodeType ) {\n\t\t\t\t\t\tcase value.TEXT_NODE: return kind + ' ' + value.nodeValue?.trim()\n\t\t\t\t\t\tcase value.ELEMENT_NODE: return `<${ ( value as Element ).localName }> ${ ( value as Element ).id }`\n\t\t\t\t\t\tcase value.DOCUMENT_NODE: return kind + ' ' + value.baseURI\n\t\t\t\t\t}\n\t\t\t\t} catch {}\n\t\t\t}\n\t\t\t\n\t\t\treturn kind\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\trows_values() {\n\t\t\t\n\t\t\tlet value = this.value()\n\t\t\t\n\t\t\tconst res = [] as any[][]\n\t\t\t\n\t\t\tif( value instanceof Map ) {\n\t\t\t\tfor( const [ key, val ] of value ) {\n\t\t\t\t\tres.push([ key, '▶', val ])\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tif( value instanceof Set ) {\n\t\t\t\tfor( const val of value ) {\n\t\t\t\t\tres.push([ val ])\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tif( value instanceof Function ) {\n\t\t\t\tlet source = Function.prototype.toString.call( value )\n\t\t\t\t\t.replace( /^.*?\\{\\r?\\n?/, '' )\n\t\t\t\t\t.replace( /}$/, '' )\n\t\t\t\t\t.trimEnd()\n\t\t\t\tconst indent = source.match( /^\\s*/ )![0]\n\t\t\t\tsource = source.replace( new RegExp( `^${indent}`, 'gm' ), '\\t' )\n\t\t\t\tres.push([ source ])\n\t\t\t}\n\t\t\t\n\t\t\tif( value instanceof Element ) {\n\t\t\t\ttry {\n\t\t\t\t\tfor( const kid of value.childNodes ) {\n\t\t\t\t\t\tres.push([ kid ])\n\t\t\t\t\t}\n\t\t\t\t\tfor( const attr of value.attributes ) {\n\t\t\t\t\t\tif( attr.nodeName === 'id' ) continue\n\t\t\t\t\t\tres.push([ attr.nodeName, '=', attr.nodeValue ])\n\t\t\t\t\t}\n\t\t\t\t} catch {}\n\t\t\t}\n\t\t\t\n\t\t\tif( value && ( typeof value === 'object' || typeof value === 'function' ) ) {\n\t\t\t\t\n\t\t\t\tfor( const key of Reflect.ownKeys( value ) ) {\n\t\t\t\t\tconst prefix = String( key ) + '∶'\n\t\t\t\t\tconst descr = Reflect.getOwnPropertyDescriptor( value, key )!\n\t\t\t\t\tif( 'value' in descr ) {\n\t\t\t\t\t\tconst line = [ prefix, descr.value ] as any[]\n\t\t\t\t\t\t// let proto = descr.value\n\t\t\t\t\t\t// while( proto && typeof proto === 'object' ) {\n\t\t\t\t\t\t// \tproto = Reflect.getPrototypeOf( proto )\n\t\t\t\t\t\t// \tif( proto ) line.push( ' - ', proto )\n\t\t\t\t\t\t// }\n\t\t\t\t\t\tres.push( line )\n\t\t\t\t\t} else {\n\t\t\t\t\t\tres.push([ prefix, descr.get, descr.set ])\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( this.prototypes() ) {\n\t\t\t\t\tres.push([ '__proto__:', Reflect.getPrototypeOf( value ) ])\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn res\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tpreview_dom() {\n\t\t\t\n\t\t\tconst value = this.value()\n\t\t\t\n\t\t\tif( value instanceof Element ) {\n\t\t\t\tif( $mol_try( ()=> value.localName ) instanceof Error ) return null\n\t\t\t\tif( value.isConnected ) return null\n\t\t\t\treturn value\n\t\t\t}\n\t\t\t\n\t\t\treturn null\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\texpand_content() {\n\t\t\treturn [\n\t\t\t\t... this.preview_show() && this.preview_dom() ? [ this.Preview() ] : [],\n\t\t\t\t... this.rows_values().map( (_,index)=> this.Row( index ) ),\n\t\t\t]\n\t\t}\n\t\t\n\t\texpandable() {\n\t\t\treturn this.expand_content().length > 0\n\t\t}\n\t\t\n\t\trow_values( index: number ) {\n\t\t\treturn this.rows_values()[ index ]\n\t\t}\n\t\t\n\t\texpand_all( event?: Event ) {\n\t\t\tthis.expanded( true )\n\t\t\tfor( const row of this.expand_content() ) {\n\t\t\t\tif(!( row instanceof $mol_dump_list )) continue\n\t\t\t\tif( row.values()[0] === '__proto__:' ) continue\n\t\t\t\trow.expand_all( event )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/dump/value/value.view.css\",\n \"[mol_dump_value] {\\n\\tmin-height: 2.5rem;\\n\\tmin-width: 2.5rem;\\n}\\n\\n[mol_dump_value_simple] {\\n\\tpadding: 0;\\n}\\n\\n[mol_dump_value_expand_content] {\\n\\tpadding-left: 1.5rem;\\n\\talign-items: flex-start;\\n}\\n\\n[mol_dump_value_expand_title_rows],\\n[mol_dump_value_simple_rows],\\n[mol_dump_value_expand_head] {\\n\\tpadding: 0;\\n\\tgap: 0;\\n}\\n\"\n) }","$mol_icon_key $mol_icon path \\M7 14C5.9 14 5 13.1 5 12S5.9 10 7 10 9 10.9 9 12 8.1 14 7 14M12.6 10C11.8 7.7 9.6 6 7 6C3.7 6 1 8.7 1 12S3.7 18 7 18C9.6 18 11.8 16.3 12.6 14H16V18H20V14H23V10H12.6Z\n","$mol_icon_key_change $mol_icon path \\M7.5 2C9.5 2 11.1 3.2 11.7 5H21V8H18V11H15V8H11.7C11.1 9.8 9.4 11 7.5 11C5 11 3 9 3 6.5S5 2 7.5 2M7.5 5C6.7 5 6 5.7 6 6.5S6.7 8 7.5 8 9 7.3 9 6.5 8.3 5 7.5 5M7.5 13C9.5 13 11.1 14.2 11.7 16H21V19H20V22H18V19H16V22H13V19H11.7C11.1 20.8 9.4 22 7.5 22C5 22 3 20 3 17.5S5 13 7.5 13M7.5 16C6.7 16 6 16.7 6 17.5S6.7 19 7.5 19 9 18.3 9 17.5 8.3 16 7.5 16Z\n","$mol_icon_atom $mol_icon path \\M12,11A1,1 0 0,1 13,12A1,1 0 0,1 12,13A1,1 0 0,1 11,12A1,1 0 0,1 12,11M4.22,4.22C5.65,2.79 8.75,3.43 12,5.56C15.25,3.43 18.35,2.79 19.78,4.22C21.21,5.65 20.57,8.75 18.44,12C20.57,15.25 21.21,18.35 19.78,19.78C18.35,21.21 15.25,20.57 12,18.44C8.75,20.57 5.65,21.21 4.22,19.78C2.79,18.35 3.43,15.25 5.56,12C3.43,8.75 2.79,5.65 4.22,4.22M15.54,8.46C16.15,9.08 16.71,9.71 17.23,10.34C18.61,8.21 19.11,6.38 18.36,5.64C17.62,4.89 15.79,5.39 13.66,6.77C14.29,7.29 14.92,7.85 15.54,8.46M8.46,15.54C7.85,14.92 7.29,14.29 6.77,13.66C5.39,15.79 4.89,17.62 5.64,18.36C6.38,19.11 8.21,18.61 10.34,17.23C9.71,16.71 9.08,16.15 8.46,15.54M5.64,5.64C4.89,6.38 5.39,8.21 6.77,10.34C7.29,9.71 7.85,9.08 8.46,8.46C9.08,7.85 9.71,7.29 10.34,6.77C8.21,5.39 6.38,4.89 5.64,5.64M9.88,14.12C10.58,14.82 11.3,15.46 12,16.03C12.7,15.46 13.42,14.82 14.12,14.12C14.82,13.42 15.46,12.7 16.03,12C15.46,11.3 14.82,10.58 14.12,9.88C13.42,9.18 12.7,8.54 12,7.97C11.3,8.54 10.58,9.18 9.88,9.88C9.18,10.58 8.54,11.3 7.97,12C8.54,12.7 9.18,13.42 9.88,14.12M18.36,18.36C19.11,17.62 18.61,15.79 17.23,13.66C16.71,14.29 16.15,14.92 15.54,15.54C14.92,16.15 14.29,16.71 13.66,17.23C15.79,18.61 17.62,19.11 18.36,18.36Z\n","$mol_icon_atom_variant $mol_icon path \\M18.36,2.64C20,2.64 21.36,4 21.36,5.64C21.36,7.29 20,8.64 18.36,8.64C16.71,8.64 15.36,7.29 15.36,5.64C15.36,5.34 15.41,5.06 15.5,4.8C14.43,4.29 13.25,4 12,4A8,8 0 0,0 4,12L4.04,12.84L2.05,13.05L2,12A10,10 0 0,1 12,2C13.69,2 15.28,2.42 16.67,3.16C17.16,2.83 17.74,2.64 18.36,2.64M18.36,4.64A1,1 0 0,0 17.36,5.64A1,1 0 0,0 18.36,6.64C18.92,6.64 19.36,6.19 19.36,5.64C19.36,5.08 18.92,4.64 18.36,4.64M5.64,15.36C7.29,15.36 8.64,16.71 8.64,18.36C8.64,18.66 8.59,18.94 8.5,19.2C9.57,19.71 10.75,20 12,20A8,8 0 0,0 20,12L19.96,11.16L21.95,10.95L22,12A10,10 0 0,1 12,22C10.31,22 8.72,21.58 7.33,20.84C6.84,21.17 6.26,21.36 5.64,21.36C4,21.36 2.64,20 2.64,18.36C2.64,16.71 4,15.36 5.64,15.36M5.64,17.36C5.08,17.36 4.64,17.81 4.64,18.36C4.64,18.92 5.08,19.36 5.64,19.36A1,1 0 0,0 6.64,18.36A1,1 0 0,0 5.64,17.36M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8Z\n","$mol_icon_language_css3 $mol_icon path \\M5,3L4.35,6.34H17.94L17.5,8.5H3.92L3.26,11.83H16.85L16.09,15.64L10.61,17.45L5.86,15.64L6.19,14H2.85L2.06,18L9.91,21L18.96,18L20.16,11.97L20.4,10.76L21.94,3H5Z\n","$mol_icon_language_javascript $mol_icon path \\M3,3H21V21H3V3M7.73,18.04C8.13,18.89 8.92,19.59 10.27,19.59C11.77,19.59 12.8,18.79 12.8,17.04V11.26H11.1V17C11.1,17.86 10.75,18.08 10.2,18.08C9.62,18.08 9.38,17.68 9.11,17.21L7.73,18.04M13.71,17.86C14.21,18.84 15.22,19.59 16.8,19.59C18.4,19.59 19.6,18.76 19.6,17.23C19.6,15.82 18.79,15.19 17.35,14.57L16.93,14.39C16.2,14.08 15.89,13.87 15.89,13.37C15.89,12.96 16.2,12.64 16.7,12.64C17.18,12.64 17.5,12.85 17.79,13.37L19.1,12.5C18.55,11.54 17.77,11.17 16.7,11.17C15.19,11.17 14.22,12.13 14.22,13.4C14.22,14.78 15.03,15.43 16.25,15.95L16.67,16.13C17.45,16.47 17.91,16.68 17.91,17.26C17.91,17.74 17.46,18.09 16.76,18.09C15.93,18.09 15.45,17.66 15.09,17.06L13.71,17.86Z\n","$mol_ghost $mol_view\n\tSub $mol_view\n","namespace $.$$ {\n\n\t/**\n\t * Mixin view logic to DOM node of another component.\n\t */\n\texport class $mol_ghost extends $.$mol_ghost {\n\t\t\n\t\toverride dom_node_external( next?: Element ) {\n\t\t\treturn this.Sub().dom_node( next )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tdom_node_actual() {\n\t\t\tthis.dom_node()\n\t\t\tconst node = this.Sub().dom_node_actual()\n\n\t\t\tconst attr = this.attr()\n\t\t\tconst style = this.style()\n\t\t\tconst fields = this.field()\n\n\t\t\t$mol_dom_render_attributes( node , attr )\n\t\t\t$mol_dom_render_styles( node , style )\n\t\t\t$mol_dom_render_fields( node , fields )\n\n\t\t\treturn node\n\t\t}\n\t\t\n\t\tdom_tree() {\n\t\t\t\n\t\t\tconst Sub = this.Sub()\n\t\t\tconst node = Sub.dom_tree()\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.dom_node_actual()\n\t\t\t\tthis.auto()\n\t\t\t} catch( error: unknown ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t\t\n\t\t\treturn node\n\t\t}\n\n\t\ttitle() {\n\t\t\treturn this.Sub().title()\n\t\t}\n\t\t\n\t\tminimal_width() {\n\t\t\treturn this.Sub().minimal_width()\n\t\t}\n\n\t\tminimal_height() {\n\t\t\treturn this.Sub().minimal_height()\n\t\t}\n\n\t}\n\n}\n","$mol_icon_arrow_left $mol_icon path \\M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z\n","$mol_icon_arrow_left_right $mol_icon path \\M6.45,17.45L1,12L6.45,6.55L7.86,7.96L4.83,11H19.17L16.14,7.96L17.55,6.55L23,12L17.55,17.45L16.14,16.04L19.17,13H4.83L7.86,16.04L6.45,17.45Z\n","$mol_icon_arrow_left_right_bold $mol_icon path \\M8,14V18L2,12L8,6V10H16V6L22,12L16,18V14H8Z\n","$mol_icon_arrow_left_right_bold_outline $mol_icon path \\M14,16V22L24,12L14,2V8H10V2L0,12L10,22V16H14M8,14V17L3,12L8,7V10H16V7L21,12L16,17V14H8Z\n","$mol_icon_arrow_left_bold $mol_icon path \\M20,9V15H12V19.84L4.16,12L12,4.16V9H20Z\n","$mol_icon_arrow_left_bold_outline $mol_icon path \\M13,22L3,12L13,2V8H21V16H13V22M6,12L11,17V14H19V10H11V7L6,12Z\n","$mol_icon_arrow_right $mol_icon path \\M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z\n","$mol_icon_arrow_right_bold $mol_icon path \\M4,15V9H12V4.16L19.84,12L12,19.84V15H4Z\n","$mol_icon_arrow_right_bold_outline $mol_icon path \\M11,16H3V8H11V2L21,12L11,22V16M13,7V10H5V14H13V17L18,12L13,7Z\n","$mol_icon_trash_can $mol_icon path \\M9,3V4H4V6H5V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V6H20V4H15V3H9M9,8H11V17H9V8M13,8H15V17H13V8Z\n","$mol_icon_trash_can_outline $mol_icon path \\M9,3V4H4V6H5V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V6H20V4H15V3H9M7,6H17V19H7V6M9,8V17H11V8H9M13,8V17H15V8H13Z\n","$hyoo_studio_type $mol_pick\n\ttree?val null $mol_tree2_empty\n\tbelong_to \\\n\ttype? \\\n\ttrigger_content /\n\t\t<= Value $mol_paragraph title <= type_display \\\n\t\t<= Take_put_hack_icon $mol_icon_arrow_left_right_bold_outline\n\t\t<= Take_hack_icon $mol_icon_arrow_left_bold_outline\n\t\t<= Alias_icon $mol_icon_arrow_right_bold_outline\n\tbubble_content /\n\t\t<= Options_content $mol_list rows /\n\t\t\t<= Unit_options $mol_switch\n\t\t\t\tvalue? <=> switch_type? \\\n\t\t\t\toptions <= unit_options *\n\t\t\t\t\tnull \\null\n\t\t\t\t\tboolean_false \\false\n\t\t\t\t\tboolean_true \\true\n\t\t\t\t\tnumber_nan \\NaN\n\t\t\t<= Number_options $mol_switch\n\t\t\t\tvalue? <=> switch_type? \\\n\t\t\t\toptions <= number_options *\n\t\t\t\t\tnumber \\number\n\t\t\t\t\tnumber_infinity_negative \\-Infinity\n\t\t\t\t\tnumber_infinity_positive \\+Infinity\n\t\t\t<= Other_options_group $mol_view\n\t\t\t\tsub <= other_options_group /\n\t\t\t\t\t<= Other_options $mol_switch\n\t\t\t\t\t\tvalue? <=> switch_type? \\\n\t\t\t\t\t\toptions <= other_options *\n\t\t\t\t\t<= List_items_type $mol_textarea\n\t\t\t\t\t\tvalue? <=> list_items_type? \\\n\t\t\t\t\t<= Object_option $mol_check\n\t\t\t\t\t\ttitle \\object\n\t\t\t\t\t\tclick <= show_obj_select null\n\t\t\t\t\t\tchecked? <= obj_checked? false\n\t\t\t<= Bind_options $mol_switch\n\t\t\t\tvalue? <=> switch_type? \\\n\t\t\t\toption_label* <= bind_option_label* /\n\t\t\t\t\t<= Take_put_hack_option $mol_icon_arrow_left_right_bold_outline\n\t\t\t\t\t<= Take_hack_option $mol_icon_arrow_left_bold_outline\n\t\t\t\t\t<= Alias_option $mol_icon_arrow_right_bold_outline\n\t\t\t\toptions <= bind_options *\n\t\t\t<= Control $mol_view sub /\n\t\t\t\t<= Menu_item_delete $mol_button_minor\n\t\t\t\t\tstyle * color \\red\n\t\t\t\t\tclick? <=> drop? null\n\t\t\t\t\tsub /\n\t\t\t\t\t\t<= menu_item_delete_icon $mol_icon_trash_can_outline\n\t\t\t\t\t\t<= menu_item_delete_label \\Drop\n\tObject_select $mol_select\n\t\thint @ \\Class\n\t\talign_hor \\right\n\t\tvalue? <=> selected_class? \\$mol_view\n\t\toptions <= class_list /string\n\t\tTrigger_icon null\n\t\tbubble_content => Obj_bubble_content\n\tobj_select_showed? false\n\tlist_type_showed? false\n","namespace $ {\n\texport class $mol_view_tree2_error extends Error {\n\t\tconstructor(\n\t\t\tmessage: string,\n\t\t\treadonly spans: readonly $mol_span[]\n\t\t) {\n\t\t\tsuper(message)\n\t\t}\n\n\t\ttoJSON() {\n\t\t\treturn {\n\t\t\t\tmessage: this.message,\n\t\t\t\tspans: this.spans\n\t\t\t}\n\t\t}\n\t}\n\n\texport class $mol_view_tree2_error_suggestions {\n\t\tconstructor(\n\t\t\treadonly suggestions: readonly string[]\n\t\t) {}\n\n\t\ttoString() {\n\t\t\treturn this.suggestions.map(suggestion => `\\`${suggestion}\\``).join(', ')\n\t\t}\n\n\t\ttoJSON() {\n\t\t\treturn this.suggestions\n\t\t}\n\t}\n\n\texport function $mol_view_tree2_error_str(\n\t\tstrings: readonly string[],\n\t\t...parts: readonly ($mol_span | readonly $mol_span[] | string | number | $mol_view_tree2_error_suggestions)[]\n\t) {\n\t\tconst spans: $mol_span[] = []\n\n\t\tfor (const part of parts) {\n\t\t\tif (part instanceof $mol_span) spans.push(part)\n\t\t\tif (Array.isArray(part) && part.length > 0 && part[0] instanceof $mol_span) spans.push(...part)\n\t\t}\n\n\t\treturn new $mol_view_tree2_error(join(strings, parts), spans)\n\t}\n\n\tfunction join(strings: readonly string[], objects: readonly unknown[]) {\n\t\tlet result = ''\n\t\tlet obj_pos = 0\n\t\tlet obj_len = objects.length\n\n\t\tfor (const str of strings) {\n\t\t\tresult += str\n\t\t\tif (obj_pos < obj_len) {\n\t\t\t\tconst obj = objects[obj_pos++]\n\t\t\t\tif (Array.isArray(obj)) result += obj.map(item => `\\`${item}\\``).join(', ')\n\t\t\t\telse result += `\\`${String(obj)}\\``\n\t\t\t}\n\t\t}\n\n\t\treturn result\n\t}\n}\n","namespace $ {\n\n\texport function $mol_view_tree2_child(\n\t\tthis: $,\n\t\ttree: $mol_tree2,\n\t) {\n\n\t\tif( tree.kids.length === 0 ) {\n\t\t\treturn this.$mol_fail(\n\t\t\t\t$mol_view_tree2_error_str\n\t\t\t\t`Required one child at ${tree.span}`\n\t\t\t)\n\t\t}\n\n\t\tif( tree.kids.length > 1 ) {\n\t\t\treturn this.$mol_fail(\n\t\t\t\t$mol_view_tree2_error_str\n\t\t\t\t`Should be only one child at ${tree.span}`\n\t\t\t)\n\t\t}\n\n\t\treturn tree.kids[0]\n\t}\n\n}\n","namespace $ {\n\texport function $mol_view_tree2_classes( defs : $mol_tree2 ) {\n\t\treturn defs.clone(defs.hack({\n\t\t\t'-': () => []\n\t\t}))\n\t}\n}\n","namespace $ {\n\t\n\texport function $mol_view_tree2_normalize( this: $, defs : $mol_tree2 ) {\n\t\treturn defs.clone(\n\t\t\t$mol_view_tree2_classes( defs ).kids.map( cl => cl.clone([\n\t\t\t\tthis.$mol_view_tree2_class_super( cl ).clone(\n\t\t\t\t\tthis.$mol_view_tree2_class_props( cl )\n\t\t\t\t)\n\t\t\t]) )\n\t\t)\n\t}\n\t\n}\n","namespace $ {\n\tconst { begin, end, latin_only, or, optional, repeat_greedy } = $mol_regexp\n\n\texport let $mol_view_tree2_prop_signature = $mol_regexp.from([\n\t\tbegin,\n\t\t{ name: repeat_greedy( latin_only, 1 ) },\n\t\t{ key: optional([ '*', repeat_greedy( latin_only, 0 ) ]) },\n\t\t{ next: optional([ '?', repeat_greedy( latin_only, 0 ) ]) },\n\t\tend,\n\t])\n\t\n}\n","namespace $ {\n\texport function $mol_view_tree2_prop_parts(this: $, prop: $mol_tree2 ) {\n\t\tconst groups = [ ...prop.type.matchAll( $mol_view_tree2_prop_signature ) ][0]?.groups\n\n\t\tif (! groups) {\n\t\t\tthis.$mol_fail(\n\t\t\t\t$mol_view_tree2_error_str`Required prop like some*? at ${prop.span}`\n\t\t\t)\n\t\t}\n\n\t\treturn {\n\t\t\tname: groups.name,\n\t\t\tkey: groups.key,\n\t\t\tnext: groups.next ? '?' : ''\n\t\t}\n\t}\n}\n","namespace $ {\n\tconst regular_regex = /^\\w+$/\n\n\texport function $mol_view_tree2_prop_quote(name: $mol_tree2) {\n\t\tif (regular_regex.test(name.value)) return name\n\n\t\treturn name.data(JSON.stringify(name.value))\n\t}\n}\n","namespace $ {\n\tconst class_regex = /^[$A-Z][$\\w<>\\[\\]()\"'?|]+$/\n\n\texport function $mol_view_tree2_class_match(klass?: $mol_tree2) {\n\t\tif (! klass?.type) return false\n\t\tif (klass.type === 'NaN' || klass.type === 'Infinity') return false\n\n\t\treturn class_regex.test(klass.type)\n\t}\n}\n","namespace $ {\n\tconst err = $mol_view_tree2_error_str\n\n\texport function $mol_view_tree2_class_super(\n\t\tthis: $,\n\t\tklass: $mol_tree2\n\t) {\n\t\tif( ! $mol_view_tree2_class_match( klass ) ) return this.$mol_fail(\n\t\t\terr `Wrong class name at ${klass.span}` \n\t\t)\n\n\t\tconst superclass = klass.kids.length === 1 ? klass.kids[0] : undefined\n\n\t\tif (! superclass) return this.$mol_fail(\n\t\t\terr`No super class at ${klass.span}`\n\t\t)\n\n\t\tif( ! $mol_view_tree2_class_match( superclass ) ) return this.$mol_fail(\n\t\t\terr`Wrong super class name ${JSON.stringify(superclass.type).replace(/(^\"|\"$)/g, \"\")} at ${superclass.span}`\n\t\t)\n\n\t\treturn superclass\n\t}\n}\n","namespace $ {\n\tconst err = $mol_view_tree2_error_str\n\ttype Context = { factory?: $mol_tree2 }\n\n\texport function $mol_view_tree2_class_props(\n\t\tthis: $,\n\t\tklass : $mol_tree2,\n\t) {\n\t\tlet props = this.$mol_view_tree2_class_super( klass )\n\t\t\n\t\t// ! syntax to *\n\t\tprops = props.clone(\n\t\t\tprops.hack({\n\t\t\t\t'': ( node, belt )=> {\n\t\t\t\t\tconst normal = node.type.replace( /!\\w+/, '*' )\n\t\t\t\t\tif( node.type === normal ) return [ node.clone( node.hack( belt ) ) ]\n\t\t\t\t\treturn [ node.struct( normal, node.hack( belt ) ) ]\n\t\t\t\t}\n\t\t\t})\n\t\t)\n\n\t\tconst props_inner = {} as Record\n\n\t\tconst add_inner = ( prop: $mol_tree2 ) => {\n\t\t\tconst { name } = this.$mol_view_tree2_prop_parts(prop)\n\t\t\tconst prev = props_inner[name]\n\t\t\tif (prev && prev.kids[0]?.toString() !== prop.kids[0]?.toString()) {\n\t\t\t\tthis.$mol_fail(err`Need an equal default values at ${prev.span} vs ${prop.span}`)\n\t\t\t}\n\t\t\tprops_inner[name] = prop\n\t\t}\n\n\t\tconst upper = (operator: $mol_tree2, belt: $mol_tree2_belt, context: Context) => {\n\t\t\tconst prop = this.$mol_view_tree2_child( operator )\n\t\t\tconst defs = prop.hack( belt, { factory: prop } )\n\t\t\tif( defs.length ) add_inner( prop.clone( defs ) )\n\n\t\t\treturn [ operator.clone([ prop.clone([]) ]) ]\n\t\t}\n\n\t\tconst props_root = props.hack({\n\t\t\t'<=': upper,\n\n\t\t\t'<=>': upper,\n\n\t\t\t'^': ( operator, belt, context) => {\n\t\t\t\tif (operator.kids.length === 0) return [ operator ]\n\t\t\t\treturn upper(operator, belt, context)\n\t\t\t},\n\n\t\t\t'': (left, belt, context) => {\n\t\t\t\tlet right\n\t\t\t\tconst operator = left.kids[0]\n\n\t\t\t\tif (operator?.type === '=>' && context.factory) {\n\t\t\t\t\tright = operator.kids[0]\n\t\t\t\t\tif (! right) this.$mol_fail(err`Need a child ${operator.span}`)\n\t\t\t\t\tif (! context.factory) this.$mol_fail(err`Need a parent ${left.span}`)\n\n\t\t\t\t\tadd_inner(right.clone([\n\t\t\t\t\t\tright.struct('=', [\n\t\t\t\t\t\t\tcontext.factory.struct(\n\t\t\t\t\t\t\tcontext.factory.type.replace( /\\*.*/, '*' ),\n\t\t\t\t\t\t\t\t[ left.clone([]) ],\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t]),\n\t\t\t\t\t]))\n\t\t\t\t}\n\n\t\t\t\tif (right) context = { factory: right.clone([]) }\n\t\t\t\telse if( operator && ! context.factory && $mol_view_tree2_class_match( operator ) ) {\n\t\t\t\t\tcontext = { factory: left.clone([]) }\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst hacked = left.clone( left.hack( belt, context ) )\n\n\t\t\t\treturn [ hacked ]\n\t\t\t}\n\n\t\t}, { factory: undefined } as Context)\n\n\t\tfor (const prop of props_root ) add_inner(prop)\n\t\t\n\t\treturn Object.values(props_inner)\n\t}\n\n}\n","namespace $ {\n\tconst err = $mol_view_tree2_error_str\n\t\n\texport function $mol_view_tree2_value_type( this: $, val : $mol_tree2 ) {\n\t\tswitch( val.type ) {\n\t\t\tcase 'true' : return 'bool'\n\t\t\tcase 'false' : return 'bool'\n\t\t\tcase 'null' : return 'null'\n\t\t\tcase '*' : return 'dict'\n\t\t\tcase '@' : return 'locale'\n\t\t\tcase '' : return 'string'\n\t\t\tcase '<=' : return 'get'\n\t\t\tcase '<=>' : return 'bind'\n\t\t\tcase '=>' : return 'put'\n\t\t}\n\n\t\tconst first_char = val.type && val.type[0]\n\n\t\tif (first_char === '/') return 'list'\n\t\tif( Number( val.type ).toString() == val.type ) return 'number'\n\t\tif (/^[$A-Z]/.test( first_char )) return 'object'\n \n\t\treturn this.$mol_fail(\n\t\t\terr`Unknown value type ${val.type} at ${val.span}`\n\t\t)\n\t}\t\n}\n","namespace $ {\n\n\tconst err = $mol_view_tree2_error_str\n\n\texport function $mol_view_tree2_value(\n\t\tthis: $,\n\t\tvalue: $mol_tree2,\n\t) {\n\t\tconst type = value.type\n\t\tconst kids = value.kids\n\n\t\tif (type === '') {\n\t\t\tif (kids.length === 0) return value.data(JSON.stringify(value.value))\n\n\t\t\treturn value.data(JSON.stringify(kids.map(node => node.value).join('\\n')))\n\t\t}\n\n\t\tif (kids.length !== 0) return this.$mol_fail(\n\t\t\terr`Kids are not allowed at ${value.span}, use ${example}`\n\t\t)\n\n\t\tif (type === 'false' || type === 'true') return value.data(type)\n\n\t\tif (type === 'null') return value.data(type)\n\n\t\tif (Number(type).toString() === type.replace(/^\\+/, '')) return value.data(type)\n\n\t\treturn this.$mol_fail(\n\t\t\terr`Value ${value.toString()} not allowed at ${value.span}, use ${example}`\n\t\t)\n\t}\n\n\tconst example = new $mol_view_tree2_error_suggestions([\n\t\t'false',\n\t\t'true',\n\t\t'123',\n\t\t'null',\n\t\t'\\\\some'\n\t])\n}\n","namespace $ {\n\texport function $mol_view_tree2_value_number(type: string) {\n\t\treturn type.match(/[\\+\\-]*NaN/) || !Number.isNaN( Number( type ) )\n\t}\n}\n","namespace $.$$ {\n\n\texport class $hyoo_studio_type extends $.$hyoo_studio_type {\n\n\t\tbelong_to(): 'prop' | 'subprop' | 'list' | 'dict' | string {\n\t\t\treturn 'prop'\n\t\t}\n\n\t\tbind_options(): Partial<{ bind: '<=>', get: '<=', put: '=>' }> {\n\t\t\tswitch (this.belong_to()) {\n\t\t\t\tcase 'prop': return { bind: '<=>', get: '<=', put: '=>' }\n\t\t\t\tcase 'subprop': return { bind: '<=>', get: '<=', put: '=>' }\n\t\t\t\tcase 'list': return { get: '<='}\n\t\t\t\tcase 'dict': return { get: '<='}\n\t\t\t\tdefault: return { bind: '<=>', get: '<=', put: '=>' }\n\t\t\t}\n\t\t}\n\n\t\tother_options(): Partial<{ text: 'text', dict: 'dict', list: 'list' }> {\n\t\t\treturn { \n\t\t\t\ttext: 'text', dict: 'dict', \n\t\t\t\t...(this.list_type_showed() ? {} : {list: 'list'}) \n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tother_options_group(){\n\t\t\treturn [ \n\t\t\t\tthis.Other_options(),\n\t\t\t\t...(this.list_type_showed() ? [this.List_items_type()] : []),\n\t\t\t\t...(this.belong_to() === 'prop'? [this.Object_option()] : []),\n\t\t\t]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlist_type_showed() {\n\t\t\treturn this.type() === 'list' ? true : false\n\t\t}\n\n\t\tswitch_type(next?: string) {\n\t\t\treturn this.type(next)\n\t\t}\n\n\t\tdrop() {\n\t\t\tthis.type('')\n\t\t}\n\n\t\tbubble_content() {\n\t\t\treturn this.obj_select_showed()? this.Obj_bubble_content() : super.bubble_content()\n\t\t}\n\n\t\tobj_checked( next?: any ): boolean {\n\t\t\treturn this.type() === 'object'? true : false\n\t\t}\n\n\t\tbind_option_label(bind_option: keyof ReturnType<$hyoo_studio_type[\"bind_options\"]>){\n\t\t\tswitch (bind_option) {\n\t\t\t\tcase 'bind': return [ this.Take_put_hack_option() ]\n\t\t\t\tcase 'get': return [ this.Take_hack_option() ]\n\t\t\t\tcase 'put': return [ this.Alias_option() ]\n\t\t\t}\n\t\t\treturn []\n\t\t}\n\n\t\tbind_option_label_display(bind_option: keyof ReturnType<$hyoo_studio_type[\"bind_options\"]>){\n\t\t\tswitch (bind_option) {\n\t\t\t\tcase 'bind': return [ this.Take_put_hack_icon() ]\n\t\t\t\tcase 'get': return [ this.Take_hack_icon() ]\n\t\t\t\tcase 'put': return [ this.Alias_icon() ]\n\t\t\t}\n\t\t\treturn []\n\t\t}\n\n\t\ttrigger_content(){\n\t\t\tconst type = this.type()\n\n\t\t\tconst bind_option = this.bind_options()[type as keyof ReturnType<$hyoo_studio_type[\"bind_options\"]>]\n\n\t\t\treturn bind_option ? \n\t\t\t\tthis.bind_option_label_display(type as keyof ReturnType<$hyoo_studio_type[\"bind_options\"]>) : \n\t\t\t\t[ this.Value() ]\n\t\t}\n\n\t\t@ $mol_mem\n\t\ttype_display(): string {\n\t\t\tconst type = this.type()\n\n\t\t\tif (type === 'list') { \n\t\t\t\treturn `${this.list_items_type() === 'any'? '': this.list_items_type()} list` \n\t\t\t}\n\t\t\tif (type === 'object') { return this.selected_class() }\n\t\t\tif (this.unit_options()[type as keyof ReturnType<$hyoo_studio_type[\"unit_options\"]>]) \n\t\t\t\treturn this.unit_options()[type as keyof ReturnType<$hyoo_studio_type[\"unit_options\"]>]\n\t\t\tif (this.number_options()[type as keyof ReturnType<$hyoo_studio_type[\"number_options\"]>]) \n\t\t\t\treturn this.number_options()[type as keyof ReturnType<$hyoo_studio_type[\"number_options\"]>]\n\t\t\tif (this.other_options()[type as keyof ReturnType<$hyoo_studio_type[\"other_options\"]>]) \n\t\t\t\treturn this.other_options()[type as keyof ReturnType<$hyoo_studio_type[\"other_options\"]>] || ''\n\n\t\t\treturn ''\n\t\t}\n\n\n\n\t\t@ $mol_mem\n\t\ttype( next? : string ) {\n\t\t\tconst tree = this.tree()\n\t\t\tif (! tree) return ''\n\t\t\tif (next === undefined) return $hyoo_studio_type_value(tree)\n\n\t\t\tlet val\n\n\t\t\tswitch( next ) {\n\t\t\t\tcase '' : val = null; break\n\t\t\t\tcase 'null' : val = tree.struct('null'); break\n\t\t\t\tcase 'boolean_true' : val = tree.struct('true'); break\n\t\t\t\tcase 'boolean_false' : val = tree.struct('false'); break\n\t\t\t\tcase 'number': val = tree.struct('0'); break\n\t\t\t\tcase 'number_nan': val = tree.struct('+NaN'); break\n\t\t\t\tcase 'number_infinity_negative': val = tree.struct('-Infinity'); break\n\t\t\t\tcase 'number_infinity_positive': val = tree.struct('+Infinity'); break\n\t\t\t\tcase 'text': val = tree.data(''); break\n\t\t\t\tcase 'list': val = tree.struct( '/' ); break\n\t\t\t\tcase 'dict': val = tree.struct( '*' ); break\n\t\t\t\tcase 'object': val = tree.struct( '$mol_view', [ tree.kids[0] ?? tree.data( '' ) ] ); break\n\t\t\t\tcase 'bind': val = tree.struct( '<=>', [ tree.kids[0] ?? tree.struct( `undefined`, [tree.data('')] ) ] ); break\n\t\t\t\tcase 'get': val = tree.struct( '<=', [ tree.kids[0] ?? tree.struct( `undefined`, [tree.data('')] ) ] ); break\n\t\t\t\tcase 'put': val = tree.struct( '=>', [ tree.kids[0] ?? tree.struct( `undefined`, [tree.data('')] ) ] ); break\n\t\t\t}\n\n\t\t\tif (val === undefined) $mol_fail( new TypeError( `Unsupported type: ${ next }` ) )\n\n\t\t\tconst next_tree = this.tree(val)!\n\t\t\tthis.showed(false)\n\n\t\t\treturn $hyoo_studio_type_value(next_tree)\n\t\t}\n\n\t\tshow_obj_select() {\n\t\t\tthis.obj_select_showed(true)\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tselected_class(next?: string) {\n\n\t\t\tif ( next !== undefined ) {\n\t\t\t\tthis.showed(false)\n\t\t\t\treturn this.tree(this.tree()?.struct( next ))?.type ?? super.selected_class()\n\t\t\t}\n\t\t\t\n\t\t\treturn this.tree()?.type ?? super.selected_class()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tlist_items_type(next?: string) {\n\n\t\t\tif( next && /\\s/.test( next ) ) {\n\t\t\t\t$mol_fail( new SyntaxError( `Item type mustn't have any space chars` ) )\n\t\t\t}\n\t\t\t\n\t\t\tconst from_tree = this.tree(\n\t\t\t\tnext === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: this.tree()?.struct( '/' + next, this.tree()?.kids ?? []) ?? null\n\t\t\t)?.type.slice( 1 )\n\n\t\t\tconst focused = this.List_items_type().focused()\n\n\t\t\treturn (from_tree) || (focused? '' : 'any')\n\t\t}\n\n\t}\n\n\texport function $hyoo_studio_type_value(val: $mol_tree2_empty) {\n\t\tif( !val ) return ''\n\n\t\tswitch( val.type ) {\n\t\t\tcase '=': return '' //todo\n\t\t\tcase '+NaN': return 'number_nan'\n\t\t\tcase '+Infinity': return 'number_infinity_positive'\n\t\t\tcase '-Infinity': return 'number_infinity_negative'\n\t\t}\n\n\t\tconst type = $$.$mol_view_tree2_value_type( val )\n\n\t\tswitch( type ) {\n\t\t\tcase 'bool':\n\t\t\t\treturn val.type === 'true' ? 'boolean_true' : 'boolean_false'\n\t\t\t\n\t\t\tcase 'locale':\n\t\t\tcase 'string':\n\t\t\t\treturn 'text'\n\t\t}\n\t\t\n\t\treturn type\n\t}\n\n}\n","namespace $.$$ {\n\n\tconst { px } = $mol_style_unit\n\n\t$mol_style_define( $.$hyoo_studio_type, {\n\n\t\tflex: {\n\t\t\tgrow: 0,\n\t\t},\n\n\t\tOptions_content: {\n\t\t\tpadding: $mol_gap.space,\n\t\t},\n\n\t\tOther_options: {\n\t\t\tflex: 'none',\n\t\t},\n\n\t\tValue: {\n\t\t\tcolor: $mol_theme.special,\n\t\t},\n\t\tTake_put_hack_icon: {\n\t\t\tcolor: $mol_theme.special,\n\t\t},\n\t\tTake_hack_icon: {\n\t\t\tcolor: $mol_theme.special,\n\t\t},\n\t\tAlias_icon: {\n\t\t\tcolor: $mol_theme.special,\n\t\t},\n\n\t\tList_items_type: {\n\t\t\tflex: {\n\t\t\t\tgrow: 0,\n\t\t\t},\n\t\t\tView: {\n\t\t\t\tRows: {\n\t\t\t\t\tflexDirection: 'row',\n\t\t\t\t\t'::after': {\n\t\t\t\t\t\tcontent: '\"[]\"',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tEdit: {\n\t\t\t\tboxShadow: 'none',\n\t\t\t},\n\t\t\tcolor: $mol_theme.current,\n\t\t},\n\n\t\tControl: {\n\t\t\tborderTop: 'solid 1px var(--mol_theme_line)',\n\t\t}\n\n\t} )\n\n}\n","$hyoo_studio_value $mol_ghost\n\ttree? $mol_tree2_empty\n\tBound $hyoo_studio_value_bound\n\tList $hyoo_studio_value_list\n\tDict $hyoo_studio_value_dict\n\tObject $hyoo_studio_value_object\n\tString $hyoo_studio_value_string\n\tNumber $hyoo_studio_value_number\n\tUnit $hyoo_studio_value_unit\n\tvalue_tools /\n\ttype \\\n\thead /\n\tbelong_to \\prop\n\thide_tools false\n\tprops_of* $mol_tree2_empty\n\tprops_bindable $mol_tree2_empty\n\tclass_list /string\n\tBound_prop* $hyoo_studio_prop\n\n$hyoo_studio_value_unit $mol_view\n\thead /\n\tbelong_to \\prop\n\thide_tools false\n\tprops_of* $mol_tree2_empty\n\tprops_bindable $mol_tree2_empty\n\tclass_list /string\n\tBound_prop* $hyoo_studio_prop\n\tsub /\n\t\t^ head\n\t\t<= Value_tools $mol_view\n\t\t\tsub <= visible_tools <= tools /\n\t\t\t\t<= Type $hyoo_studio_type\n\t\t\t\t\ttree? <=> tree? $mol_tree2_empty\n\t\t\t\t\ttype? => type?\n\t\t\t\t\tbelong_to <= belong_to\n\t\t\t\t\tclass_list <= class_list /string\n\t\t<= Self $mol_view\n\t\t\tsub <= self /\n","namespace $.$$ {\n\t\n\texport class $hyoo_studio_value extends $.$hyoo_studio_value {\n\t\t\n\t\t@ $mol_mem\n\t\tSub() {\n\n\t\t\tlet obj = this.Unit()\n\n\t\t\tswitch( this.$.$hyoo_studio_type_value(this.tree()) ) {\n\t\t\t\tcase 'text': obj = this.String(); break;\n\t\t\t\tcase 'number': obj = this.Number(); break;\n\t\t\t\tcase 'bind': obj = this.Bound(); break;\n\t\t\t\tcase 'object': obj = this.Object(); break;\n\t\t\t\tcase 'get': obj = this.Bound(); break;\n\t\t\t\tcase 'put': obj = this.Bound(); break;\n\t\t\t\tcase 'list': obj = this.List(); break;\n\t\t\t\tcase 'dict': obj = this.Dict(); break;\n\t\t\t}\n\n\t\t\tobj.hide_tools = () => this.hide_tools()\n\t\t\tobj.belong_to = () => this.belong_to()\n\t\t\tobj.tree = (next?: any) => this.tree(next)\n\t\t\tobj.props_of = (id: any) => this.props_of(id)\n\t\t\tobj.props_bindable = () => this.props_bindable()\n\t\t\tobj.class_list = () => this.class_list()\n\t\t\tobj.Bound_prop = (id: any) => this.Bound_prop(id)\n\t\t\tobj.head = () => this.head()\n\n\t\t\treturn obj\n\t\t}\n\n\t\t@ $mol_mem\n\t\tvalue_tools(): readonly any[] {\n\t\t\treturn this.Sub().tools()\n\t\t}\n\n\t\t@ $mol_mem\n\t\ttype(): string {\n\t\t\treturn this.Sub().Type().type()\n\t\t}\n\t\t\n\t}\n\n\n\texport class $hyoo_studio_value_unit extends $.$hyoo_studio_value_unit {\n\t\t\n\t\t@ $mol_mem\n\t\tvisible_tools() {\n\t\t\treturn this.hide_tools() ? [] : this.tools()\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\n\tconst { px, rem } = $mol_style_unit\n\n\t$mol_style_define( $hyoo_studio_value, {\n\t\t\n\t\tflex: {\n\t\t\tgrow: 1,\n\t\t},\n\n\t} )\n\n}\n","$hyoo_studio_value_bound $hyoo_studio_value_unit\n\tself /\n\t\t^ head\n\t\t<= Value_tools\n\t\t<= Bound_prop_name $mol_select\n\t\t\thint @ \\Bound Property\n\t\t\tvalue? <=> bound_prop_name? null\n\t\t\toptions <= prop_name_list /string\n\t\t\tTrigger_icon null\n\t\t<= Bound_prop_expand $mol_check_expand\n\t\t\tchecked? <=> bound_expanded? false\n","namespace $.$$ {\n\t\n\texport class $hyoo_studio_value_bound extends $.$hyoo_studio_value_bound {\n\t\t\n\t\t@ $mol_mem\n\t\tguid() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tself() {\n\t\t\treturn this.bound_expanded() ? [ this.Opened_bound_prop() ] : super.self()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tbound_expanded(next?: any) {\n\t\t\treturn this.Opened_bound_prop().expanded(\n\t\t\t\tnext !== undefined ? \n\t\t\t\t\tnext : \n\t\t\t\t\tundefined\n\t\t\t)\n\t\t}\n\n\t\t@ $mol_mem\n\t\tOpened_bound_prop() {\n\t\t\tconst prop = this.Bound_prop( this.bound_prop_name() + ':' + this.guid() )\n\t\t\tprop.trigger_sub = () => []\n\t\t\tprop.label_sub = () => [\n\t\t\t\t...this.head(), this.Value_tools(), this.Bound_prop_name(), this.Bound_prop_expand(), prop.Prop_tools()\n\t\t\t]\n\t\t\treturn prop\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tprop_name_list() {\n\t\t\treturn this.props_bindable().kids.map( prop => prop.type )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tbound_prop_name( next?: string ) {\n\t\t\t\n\t\t\tconst val = this.tree()\n\t\t\t\n\t\t\tif( next === undefined ) {\n\t\t\t\tconst name = this.$.$mol_view_tree2_prop_parts( val.kids[ 0 ] ).name\n\t\t\t\treturn name == 'undefined' ? '...' : name\n\t\t\t}\n\t\t\t\n\t\t\tthis.tree(\n\t\t\t\tval.insert( val.struct( next ), null )\n\t\t\t)\n\t\t\t\n\t\t\treturn next || '...'\n\t\t}\n\t}\n\t\n}\n","namespace $.$$ {\n\n\tconst { px, rem } = $mol_style_unit\n\n\t$mol_style_define( $hyoo_studio_value_bound, {\n\n\t\tBound_prop_name: {\n\t\t\tOption_label: {\n\t\t\t\tpadding: 0,\n\t\t\t},\n\t\t\tMenu: {\n\t\t\t\tpadding: {\n\t\t\t\t\tleft: $mol_gap.block,\n\t\t\t\t\tright: $mol_gap.block,\n\t\t\t\t},\n\t\t\t},\n\t\t\tTrigger: {\n\t\t\t\tjustifyContent: 'center',\n\t\t\t}\n\t\t},\n\n\t\tSelf: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n","$hyoo_studio_value_list $hyoo_studio_value_unit\n\tself /\n\t\t<= Head $mol_view\n\t\t\tsub /\n\t\t\t\t^ head\n\t\t\t\t<= Value_tools\n\t\t<= List_values $mol_list\n\t\t\trows <= list / \n\t\t\t\t<= List_value*0 $hyoo_studio_value\n\t\t\t\t\ttree? <=> list_value*? $mol_tree2_empty\n\t\t\t\t\tbelong_to \\list\n\t\t\t\t\tprops_of* <= props_of* $mol_tree2_empty\n\t\t\t\t\tprops_bindable <= props_bindable $mol_tree2_empty\n\t\t\t\t\tclass_list <= class_list /string\n\t\t\t\t\tBound_prop* <= Bound_prop* null\n\ttools /\n\t\t<= Type\n\t\t<= List_item_add $mol_button_minor\n\t\t\thint @ \\Add Item\n\t\t\tsub /\n\t\t\t\t<= List_add_icon $mol_icon_plus\n\t\t\tclick? <=> list_item_add? null\n","namespace $.$$ {\n\t\n\texport class $hyoo_studio_value_list extends $.$hyoo_studio_value_list {\n\t\t\n\t\t@ $mol_mem\n\t\tlist() {\n\t\t\treturn this.tree().kids.map( (_,i)=> this.List_value( i ) )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tlist_value( index: number, next?: $mol_tree2 ) {\n\n\t\t\tlet tree = this.tree()\n\t\t\tif( next !== undefined ) {\n\t\t\t\ttree = this.tree( tree.insert( next, index ) )\n\t\t\t}\n\t\t\t\n\t\t\treturn tree.kids[ index ]\n\t\t}\n\t\t\n\t\tlist_item_add() {\n\t\t\tconst tree = this.tree()\n\t\t\tthis.tree(\n\t\t\t\ttree.clone([\n\t\t\t\t\t... tree.kids,\n\t\t\t\t\ttree.struct( 'null' ),\n\t\t\t\t])\n\t\t\t)\n\t\t}\n\n\t}\n\t\n}\n","namespace $.$$ {\n\n\tconst { px, rem } = $mol_style_unit\n\n\t$mol_style_define( $hyoo_studio_value_list, {\n\n\t\tList_values: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t\tgap: $mol_gap.space,\n\t\t\tmargin: {\n\t\t\t\tleft: $mol_gap.block,\n\t\t\t},\n\t\t\tpadding: {\n\t\t\t\tleft: $mol_gap.block,\n\t\t\t},\n\t\t},\n\t\t\n\t\tSelf: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t\tdirection: 'column',\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n","$hyoo_studio_value_dict $hyoo_studio_value_unit\n\tself /\n\t\t<= Head $mol_view\n\t\t\tsub /\n\t\t\t\t^ head\n\t\t\t\t<= Value_tools\n\t\t<= Key_values $mol_list\n\t\t\trows <= list /\n\t\t\t\t<= Item*0 $mol_view\n\t\t\t\t\tsub /\n\t\t\t\t\t\t<= Item_name* $mol_textarea\n\t\t\t\t\t\t\tvalue? <=> item_key*? \\\n\t\t\t\t\t\t<= Value* $hyoo_studio_value\n\t\t\t\t\t\t\ttree? <=> item_value*? $mol_tree2_empty\n\t\t\t\t\t\t\tbelong_to \\dict\n\t\t\t\t\t\t\tprops_of* <= props_of* $mol_tree2_empty\n\t\t\t\t\t\t\tprops_bindable <= props_bindable $mol_tree2_empty\n\t\t\t\t\t\t\tclass_list <= class_list /string\n\t\t\t\t\t\t\tBound_prop* <= Bound_prop* null\n\t\t\t\t\t\t\thead /\n\t\t\t\t\t\t\t\t<= Item_name*\n\ttools /\n\t\t<= Type\n\t\t<= Key_item_add $mol_button_minor\n\t\t\thint @ \\Add Key\n\t\t\tsub /\n\t\t\t\t<= Key_add_icon $mol_icon_plus\n\t\t\tclick? <=> dict_item_add? null\n","namespace $.$$ {\n\t\n\texport class $hyoo_studio_value_dict extends $.$hyoo_studio_value_dict {\n\n\t\t@ $mol_mem\n\t\tlist() {\n\t\t\treturn this.tree().kids.map( (_,i)=> this.Item( i ) )\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\titem_key( index: number, next?: string ) {\n\n\t\t\tif( next && /\\s/.test( next ) ) {\n\t\t\t\t$mol_fail( new SyntaxError( `Item key mustn't have any space chars` ) )\n\t\t\t}\n\n\t\t\tlet tree = this.tree()\n\n\t\t\tif( next !== undefined ) {\n\t\t\t\ttree = this.tree(\n\t\t\t\t\ttree.insert( tree.struct( next, tree.kids[ index ].kids ), index )\n\t\t\t\t)\n\t\t\t}\n\n\t\t\treturn tree.kids[ index ].type\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\titem_value( index: number, next?: $mol_tree2 ) {\n\n\t\t\tlet tree = this.tree()\n\t\t\t\n\t\t\tif( next !== undefined ) {\n\t\t\t\ttree = this.tree(\n\t\t\t\t\ttree.insert( next && tree.kids[ index ].clone( [ next ] ), index )\n\t\t\t\t)\n\t\t\t}\n\n\t\t\treturn tree.kids[ index ]?.kids[ 0 ]\n\t\t}\n\n\t\tdict_item_add() {\n\t\t\tconst tree = this.tree()\n\t\t\tthis.tree(\n\t\t\t\ttree.clone([\n\t\t\t\t\t... tree.kids,\n\t\t\t\t\ttree.struct('key', [tree.struct('null')]),\n\t\t\t\t])\n\t\t\t)\n\t\t}\n\t}\n\t\n}\n","namespace $.$$ {\n\n\tconst { px, rem } = $mol_style_unit\n\n\t$mol_style_define( $hyoo_studio_value_dict, {\n\n\t\tKey_values: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t\tgap: $mol_gap.space,\n\t\t\tpadding: {\n\t\t\t\tleft: $mol_gap.block,\n\t\t\t},\n\t\t},\n\n\t\tItem_name: {\n\t\t\tflex: {\n\t\t\t\tgrow: 0,\n\t\t\t},\n\t\t\tEdit: {\n\t\t\t\tboxShadow: 'none',\n\t\t\t},\n\t\t},\n\n\t\tSelf: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t\tdirection: 'column',\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n","$mol_icon_wrench $mol_icon path \\M22.7,19L13.6,9.9C14.5,7.6 14,4.9 12.1,3C10.1,1 7.1,0.6 4.7,1.7L9,6L6,9L1.6,4.7C0.4,7.1 0.9,10.1 2.9,12.1C4.8,14 7.5,14.5 9.8,13.6L18.9,22.7C19.3,23.1 19.9,23.1 20.3,22.7L22.6,20.4C23.1,20 23.1,19.3 22.7,19Z\n","$mol_icon_wrench_outline $mol_icon path \\M22.61,19L13.53,9.91C14.46,7.57 14,4.81 12.09,2.91C9.79,0.61 6.21,0.4 3.66,2.26L7.5,6.11L6.08,7.5L2.25,3.69C0.39,6.23 0.6,9.82 2.9,12.11C4.76,13.97 7.47,14.46 9.79,13.59L18.9,22.7C19.29,23.09 19.92,23.09 20.31,22.7L22.61,20.4C23,20 23,19.39 22.61,19M19.61,20.59L10.15,11.13C9.54,11.58 8.86,11.85 8.15,11.95C6.79,12.15 5.36,11.74 4.32,10.7C3.37,9.76 2.93,8.5 3,7.26L6.09,10.35L10.33,6.11L7.24,3C8.5,2.95 9.73,3.39 10.68,4.33C11.76,5.41 12.17,6.9 11.92,8.29C11.8,9 11.5,9.66 11.04,10.25L20.5,19.7L19.61,20.59Z\n","$hyoo_studio_value_object $hyoo_studio_value_dict\n\ttools /\n\t\t<= Type\n\t\t<= Over_prop_add $mol_select\n\t\t\thint @ \\Add Override\n\t\t\talign_hor \\left\n\t\t\tTrigger_icon <= Over_add_icon $mol_icon_wrench_outline\n\t\t\tvalue? <=> over_prop_add? \\\n\t\t\toptions <= over_prop_options /string\n\tItem* $mol_view\n\t\tsub /\n\t\t\t<= Over_prop_name* $mol_paragraph\n\t\t\t\ttitle <= item_key*?\n\t\t\t<= Value* $hyoo_studio_value\n\t\t\t\ttree? <=> item_value*?\n\t\t\t\tbelong_to \\subprop\n\t\t\t\tprops_of* <= props_of*\n\t\t\t\tprops_bindable <= props_bindable\n\t\t\t\tclass_list <= class_list\n\t\t\t\tBound_prop* <= Bound_prop*\n\t\t\t\thead /\n\t\t\t\t\t<= Over_prop_name*\n","namespace $.$$ {\n\t\n\texport class $hyoo_studio_value_object extends $.$hyoo_studio_value_object {\n\n\t\tover_prop_add( next: string ) {\n\t\t\t\n\t\t\tif( !next ) return ''\n\t\t\t\n\t\t\tconst tree = this.tree()\n\t\t\t\n\t\t\tthis.tree(\n\t\t\t\ttree.clone( [\n\t\t\t\t\t...tree.kids,\n\t\t\t\t\ttree.struct( next, [\n\t\t\t\t\t\ttree.struct( 'null' ),\n\t\t\t\t\t] ),\n\t\t\t\t] )\n\t\t\t)\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tover_prop_options() {\n\t\t\treturn this.props_of( this.tree().type ).kids.map( prop => prop.type )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tprop_name_list() {\n\t\t\treturn this.props_bindable().kids.map( prop => prop.type )\n\t\t}\n\t}\n\t\n}\n","namespace $.$$ {\n\n\tconst { px, rem } = $mol_style_unit\n\n\t$mol_style_define( $hyoo_studio_value_object, {\n\n\t\tOver_prop_name: {\n\t\t\talignSelf: 'center',\n\t\t\tcolor: $mol_theme.shade,\n\t\t\tpadding: {\n\t\t\t\tleft: $mol_gap.block,\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n","$mol_icon_translate $mol_icon path \\M12.87,15.07L10.33,12.56L10.36,12.53C12.1,10.59 13.34,8.36 14.07,6H17V4H10V2H8V4H1V6H12.17C11.5,7.92 10.44,9.75 9,11.35C8.07,10.32 7.3,9.19 6.69,8H4.69C5.42,9.63 6.42,11.17 7.67,12.56L2.58,17.58L4,19L9,14L12.11,17.11L12.87,15.07M18.5,10H16.5L12,22H14L15.12,19H19.87L21,22H23L18.5,10M15.88,17L17.5,12.67L19.12,17H15.88Z\n","$hyoo_studio_value_string $hyoo_studio_value_unit\n\tself /\n\t\t<= Str $mol_textarea\n\t\t\tvalue? <=> str? \\\n\ttools /\n\t\t<= Type\n\t\t<= Locale $mol_check_icon\n\t\t\thint @ \\Multilingual\n\t\t\tIcon <= Locale_icon $mol_icon_translate\n\t\t\tchecked? <=> locale? false\n","namespace $.$$ {\n\t\n\texport class $hyoo_studio_value_string extends $.$hyoo_studio_value_string {\n\n\t\t@ $mol_mem\n\t\tstr( next?: string ) {\n\t\t\t\n\t\t\tconst val = this.tree()\n\n\t\t\tif (next !== undefined){\n\t\t\t\tthis.tree( val.type == '@' ? val.struct( '@', [ val.data(next) ] ) : val.data(next) )\n\t\t\t\treturn next\n\t\t\t}\n\n\t\t\treturn val.text()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlocale( next?: boolean ) {\n\t\t\t\n\t\t\tconst val = this.tree()\n\t\t\t\n\t\t\tif( next === undefined ) return '@' === val.type\n\t\t\t\n\t\t\tthis.tree(\n\t\t\t\tnext\n\t\t\t\t\t? val.struct( '@', [\n\t\t\t\t\t\tval.data( val.text() || val.type )\n\t\t\t\t\t] )\n\t\t\t\t\t: val.data( val.text() || val.type )\n\t\t\t)\n\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tvisible_tools(){\n\t\t\treturn this.belong_to() === 'prop'? [] : [ this.Type() ]\n\t\t}\n\n\t}\n\t\n}\n","namespace $.$$ {\n\n\tconst { px, rem } = $mol_style_unit\n\n\t$mol_style_define( $hyoo_studio_value_string, {\n\t\t\n\t\tpadding: {\n\t\t\tright: $mol_gap.space,\n\t\t},\n\n\t\tValue_tools: {\n\t\t\tflex: {\n\t\t\t\tgrow: 0,\n\t\t\t},\n\t\t},\n\n\t\tSelf: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t},\n\n\t\tStr: {\n\t\t\tmaxWidth: rem(40),\n\t\t\tEdit: {\n\t\t\t\tboxShadow: 'none',\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n","$mol_icon_minus $mol_icon path \\M19,13H5V11H19V13Z\n","$mol_number $mol_view\n\tprecision_view <= precision 1\n\tprecision_change <= precision 1\n\tvalue_min -Infinity\n\tvalue_max +Infinity\n\tvalue? +NaN\n\tenabled true\n\tsub /\n\t\t<= String $mol_string\n\t\t\t- \\ we don't want native number controls in mobile devices\n\t\t\t- \\ https://stackoverflow.com/questions/3790935/can-i-hide-the-html5-number-input-s-spin-box\n\t\t\ttype <= type \\tel\n\t\t\tvalue? <=> value_string? \\\n\t\t\thint <= hint \\ \n\t\t\tenabled <= string_enabled <= enabled\n\t\t\tsubmit? <=> submit? null\n\t\t<= Dec $mol_button_minor\n\t\t\tevent_click? <=> event_dec? null\n\t\t\tenabled <= dec_enabled <= enabled\n\t\t\tsub / <= dec_icon $mol_icon_minus\n\t\t<= Inc $mol_button_minor\n\t\t\tevent_click? <=> event_inc? null\n\t\t\tenabled <= inc_enabled <= enabled\n\t\t\tsub / <= inc_icon $mol_icon_plus\n","namespace $ { $mol_style_attach( \"mol/number/number.css\",\n \"[mol_number] {\\n\\tdisplay: flex;\\n\\tflex: 0 1 auto;\\n\\tposition: relative;\\n\\talign-items: stretch;\\n\\tmax-width: 100%;\\n}\\n\\n[mol_number_string] {\\n\\tappearance: textfield;\\n\\tflex: 1 1 7rem;\\n\\twidth: 7rem;\\n}\\n\\n[mol_number_string]::-webkit-inner-spin-button {\\n\\tdisplay: none;\\n}\\n\"\n) }","namespace $.$$ {\n\n\t/**\n\t * Component for entering, incrementing and decrementing numeric values.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_number_demo\n\t */\n\texport class $mol_number extends $.$mol_number {\n\t\t\n\t\tvalue_limited( val? : number ) : number {\n\t\t\tif (Number.isNaN( val )) return this.value( val )\n\t\t\tif ( val === undefined ) return this.value()\n\n\t\t\tconst min = this.value_min()\n\t\t\tconst max = this.value_max()\n\n\t\t\tif( val < min ) return this.value( min )\n\t\t\tif( val > max ) return this.value( max )\n\t\t\t\n\t\t\treturn this.value( val )\n\t\t}\n\n\t \toverride event_dec( next? : Event ) {\n\t\t\tthis.value_limited( ( this.value_limited() || 0 ) - this.precision_change() )\n\t\t}\n\n\t\toverride event_inc( next? : Event ) {\n\t\t\tthis.value_limited( ( this.value_limited() || 0 ) + this.precision_change() )\n\t\t}\n\n\t\tround(val: number) {\n\t\t\tif (Number.isNaN(val)) return ''\n\t\t\tif( val === 0 ) return '0'\n\t\t\tif( !val ) return ''\n\n\t\t\tconst precision_view = this.precision_view()\n\n\t\t\tif (! precision_view) return val.toFixed()\n\n\t\t\tif( precision_view >= 1 ) {\n\t\t\t\treturn ( val / precision_view ).toFixed()\n\t\t\t} else {\n\t\t\t\tconst fixed_number = Math.log10( 1 / precision_view )\n\t\t\t\treturn val.toFixed( Math.ceil( fixed_number ) )\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\toverride value_string( next? : string ): string {\n\t\t\t// Вытягиваем value\n\t\t\t// Если кто-то поменяет из вне value, value_string надо обновить\n\t\t\tconst current = this.round( this.value_limited() )\n\t\t\tif (next === undefined) return current\n\n\t\t\tconst precision = this.precision_view()\n\n\t\t\t// Точку в конце поставить нельзя, если precision_view целое число > 0\n\t\t\tif ( precision - Math.floor(precision) === 0 ) next = next.replace(/[.,]/g, '')\n\n\t\t\t// Запятые меняем на точки, удаляем не-цифры и не-точки и лишние ноли в начале целой части.\n\t\t\t// Минус получится ввести только в начале.\n\t\t\tnext = (this.value_min() < 0 && next.startsWith('-') ? '-' : '')\n\t\t\t\t+ next.replace(/,/g, '.').replace(/[^\\d\\.]/g, '').replace(/^0{2,}/, '0')\n\n\t\t\tlet dot_pos = next.indexOf('.')\n\n\t\t\tif (dot_pos !== -1) {\n\t\t\t\tconst prev = $mol_wire_probe(() => this.value_string()) ?? ''\n\t\t\t\tconst dot_pos_prev = prev.indexOf('.')\n\t\t\t\t// Определяем где относительно предыдущей точки юзер поставил новую\n\t\t\t\tif (dot_pos_prev === dot_pos) dot_pos = next.lastIndexOf('.')\n\t\t\t\t\n\t\t\t\t// Из частей до и после новой точки старую точку удаляем\n\t\t\t\tconst frac = next.slice(dot_pos + 1).replace(/\\./g, '')\n\n\t\t\t\t// Если точка идет первой, перед ней пишем 0, что бы форматирование выглядело нормально в mask\n\t\t\t\tnext = (next.slice(0, dot_pos) || '0').replace(/\\./g, '') + '.' + frac\n\t\t\t}\n\n\t\t\t// Оставляем старое значение в value есть сочетание, приводящие к NaN, например -.\n\t\t\tif ( Number.isNaN(Number(next)) ) return next\n\n\t\t\tif ( next.endsWith('.') ) return next\n\t\t\tif ( next.endsWith('-') ) return next\n\n\t\t\t// Если пустая строка - сетим NaN\n\t\t\t// Применяем округления.\n\t\t\tthis.value_limited(Number(next || Number.NaN))\n\n\t\t\t// Возвращаем все-равно не нормализованное значение\n\t\t\t// Иначе нельзя ввести будет 10, если min/max 5..10\n\t\t\treturn next\n\t\t}\n\n\t\t@ $mol_mem\n\t\toverride dec_enabled() : boolean {\n\t\t\treturn this.enabled() && (\n\t\t\t\t!( ( this.value() || 0 ) <= this.value_min() )\n\t\t\t)\n\t\t}\n\n\t\t@ $mol_mem\n\t\toverride inc_enabled() : boolean {\n\t\t\treturn this.enabled() && ( \n\t\t\t\t!( ( this.value() || 0 ) >= this.value_max() )\n\t\t\t)\n\t\t}\n\n\t}\n}\n","$hyoo_studio_value_number $hyoo_studio_value_unit\n\tself /\n\t\t<= Numb $mol_number\n\t\t\tvalue? <=> numb? +NaN\n","namespace $.$$ {\n\t\n\texport class $hyoo_studio_value_number extends $.$hyoo_studio_value_number {\n\n\t\t@ $mol_mem\n\t\tnumb( next?: number ) {\n\t\t\t\n\t\t\treturn Number( this.tree(\n\t\t\t\tnext === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: this.tree().struct( String( next ) )\n\t\t\t).type )\n\t\t\t\n\t\t}\n\n\t}\n\t\n}\n","namespace $.$$ {\n\n\tconst { px, rem } = $mol_style_unit\n\n\t$mol_style_define( $hyoo_studio_value_number, {\n\t\t\n\t\tSelf: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t},\n\t\t\n\t\tNumb: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t\tString: {\n\t\t\t\tboxShadow: 'none',\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n","$hyoo_studio_prop $mol_view\n\ttree?val $mol_tree2_empty\n\tsign? \\\n\tsub /\n\t\t<= Expander $mol_expander\n\t\t\tLabel <= Label $mol_view\n\t\t\t\tsub /\n\t\t\t\t\t<= Label_content $mol_view\n\t\t\t\t\t\tsub <= label_sub /\n\t\t\t\t\t\t\t<= Trigger $mol_check_expand\n\t\t\t\t\t\t\t\tIcon => Trigger_icon\n\t\t\t\t\t\t\t\tsub <= trigger_sub /\n\t\t\t\t\t\t\t\t\t<= Expander_title $mol_paragraph\n\t\t\t\t\t\t\t\t\t\ttitle <= name \\\n\t\t\t\t\t\t\t\t\t<= Trigger_icon\n\t\t\t\t\t\t\t\tchecked? <=> expanded? false\n\t\t\t\t\t\t\t\texpandable <= expandable true\n\t\t\t\t\t\t\t<= Prop_tools\n\t\t\texpanded? <=> expanded?\n\t\t\tTools <= Prop_tools $mol_view\n\t\t\t\tsub <= prop_tools /\n\t\t\t\t\t<= Value_tools $mol_view\n\t\t\t\t\t\tsub <= value_tools\n\t\t\t\t\t<= Key $mol_check_icon\n\t\t\t\t\t\thint @ \\Multiple values by key\n\t\t\t\t\t\tIcon <= Key_icon $mol_icon_key_change\n\t\t\t\t\t\tchecked? <=> multiple? false\n\t\t\t\t\t<= Next $mol_check_icon\n\t\t\t\t\t\thint @ \\Changeable\n\t\t\t\t\t\tIcon <= Next_icon $mol_icon_atom_variant\n\t\t\t\t\t\tchecked? <=> changeable? false\n\t\t\t\t\t<= Styles $mol_check_icon\n\t\t\t\t\t\thint @ \\Styles\n\t\t\t\t\t\tIcon <= Styles_icon $mol_icon_language_css3\n\t\t\t\t\t\tchecked? <=> styles_opened? false\n\t\t\t\t\t<= Behavior $mol_check_icon\n\t\t\t\t\t\thint @ \\Behavior\n\t\t\t\t\t\tIcon <= Behavior_icon $mol_icon_language_javascript\n\t\t\t\t\t\tchecked? <=> behavior_opened? false\n\t\t\tcontent <= prop_content /\n\t\t\t\t<= Value $hyoo_studio_value\n\t\t\t\t\thide_tools true\n\t\t\t\t\tvalue_tools => value_tools\n\t\t\t\t\tbelong_to \\prop\n\t\t\t\t\ttree? <=> value? $mol_tree2_empty\n\t\t\t\t\tprops_of* <= props_of* $mol_tree2_empty\n\t\t\t\t\tprops_bindable <= props_bindable $mol_tree2_empty\n\t\t\t\t\tclass_list <= class_list /string\n\t\t\t\t\tBound_prop* <= Bound_prop* $hyoo_studio_prop\n","namespace $.$$ {\n\t\n\texport class $hyoo_studio_prop extends $.$hyoo_studio_prop {\n\n\t\t@ $mol_mem\n\t\tmultiple( next?: any ): boolean {\n\t\t\t\n\t\t\tconst sign_obj = [ ...this.sign().matchAll( $mol_view_tree2_prop_signature ) ][ 0 ]?.groups ?? {\n\t\t\t\tname: '',\n\t\t\t\tkey: '',\n\t\t\t\tnext: '',\n\t\t\t}\n\t\t\t\n\t\t\tif( next !== undefined ) {\n\t\t\t\tconst new_sign = $mol_view_tree2_prop_signature.generate( { ...sign_obj, key: next ? '*' : '' } )!\n\t\t\t\tthis.sign( new_sign )\n\t\t\t\treturn next\n\t\t\t}\n\t\t\t\n\t\t\treturn Boolean( sign_obj.key )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tchangeable( next?: any ): boolean {\n\n\t\t\tconst sign_obj = [ ...this.sign().matchAll( $mol_view_tree2_prop_signature ) ][ 0 ]?.groups ?? {\n\t\t\t\tname: '',\n\t\t\t\tkey: '',\n\t\t\t\tnext: '',\n\t\t\t}\n\n\t\t\tif( next !== undefined ) {\n\t\t\t\tconst new_sign = $mol_view_tree2_prop_signature.generate( { ...sign_obj, next: next ? '?' : '' } )!\n\t\t\t\tthis.sign( new_sign )\n\t\t\t\treturn next\n\t\t\t}\n\n\t\t\treturn Boolean( sign_obj.next )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstyles_opened( next?: boolean ) {\n\t\t\tif (next !== undefined) {\n\t\t\t\tthis.$.$mol_state_arg.value('raw', next ? '' : null)\n\t\t\t\tthis.$.$mol_state_arg.value('raw_type', next ? 'Styles' : null)\n\t\t\t\tthis.$.$mol_state_arg.value('raw_prop', next ? this.name() : null)\n\t\t\t}\n\n\t\t\treturn this.$.$mol_state_arg.value('raw_prop') === this.name() && this.$.$mol_state_arg.value('raw') === '' && this.$.$mol_state_arg.value('raw_type') === 'styles'\n\t\t}\n\n\t\t@ $mol_mem\n\t\tbehavior_opened( next?: boolean ) {\n\t\t\tif (next !== undefined) {\n\t\t\t\tthis.$.$mol_state_arg.value('raw', next ? '' : null)\n\t\t\t\tthis.$.$mol_state_arg.value('raw_type', next ? 'Behavior' : null)\n\t\t\t\tthis.$.$mol_state_arg.value('raw_prop', next ? this.name() : null)\n\t\t\t}\n\n\t\t\treturn this.$.$mol_state_arg.value('raw_prop') === this.name() && this.$.$mol_state_arg.value('raw') === '' && this.$.$mol_state_arg.value('raw_type') === 'behavior'\n\t\t}\n\n\t\t@ $mol_mem\n\t\tprop_tools() {\n\t\t\treturn [\n\t\t\t\tthis.Value_tools(),\n\t\t\t\t... this.Value().type() === 'object' ? [this.Styles()] : [],\n\t\t\t\tthis.Behavior(),\n\t\t\t\tthis.Key(),\n\t\t\t\tthis.Next(),\n\t\t\t]\n\t\t}\n\t\t\n\t\tprop_content() {\n\t\t\tswitch (this.Value().type()) {\n\t\t\t\tcase 'object':\n\t\t\t\tcase 'text':\n\t\t\t\tcase 'number':\n\t\t\t\tcase 'list':\n\t\t\t\tcase 'dict':\n\t\t\t\tcase 'bind':\n\t\t\t\tcase 'get':\n\t\t\t\tcase 'put': \n\t\t\t\t\treturn [ this.Value() ]\n\t\t\t\tdefault: \n\t\t\t\t\treturn []\n\t\t\t}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\texpandable() {\n\t\t\tswitch (this.Value().type()) {\n\t\t\t\tcase 'object':\n\t\t\t\tcase 'text':\n\t\t\t\tcase 'number':\n\t\t\t\tcase 'list':\n\t\t\t\tcase 'dict': \n\t\t\t\tcase 'bind':\n\t\t\t\tcase 'get':\n\t\t\t\tcase 'put': \n\t\t\t\t\treturn true\n\t\t\t\tdefault: \n\t\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\n\t\t\t\n\t\t@ $mol_mem\n\t\texpanded(next?: boolean): boolean {\n\n\t\t\tif ( next !== undefined ) return next as never\n\n\t\t\tlet expanded: boolean | undefined = $mol_wire_probe( () => this.expanded() )\n\n\t\t\tconst type = this.Value().type()\n\n\t\t\tif ( !expanded ) {\n\t\t\t\tswitch (type) {\n\t\t\t\t\tcase 'object': \n\t\t\t\t\tcase 'list': \n\t\t\t\t\tcase 'dict': \n\t\t\t\t\t\treturn this.value().kids.length > 0 ? false : true\n\t\t\t\t\tcase 'text': \n\t\t\t\t\t\treturn this.value().text().length > 40 ? false : true\n\t\t\t\t\tcase 'null' :\n\t\t\t\t\tcase 'boolean_true' :\n\t\t\t\t\tcase 'boolean_false' :\n\t\t\t\t\tcase 'number' :\n\t\t\t\t\tcase 'number_nan' :\n\t\t\t\t\tcase 'number_infinity_negative' :\n\t\t\t\t\tcase 'number_infinity_positive' :\n\t\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\treturn expanded\n\t\t}\n\n\t\t@ $mol_mem\n\t\tvalue( next?: $mol_tree2 ) {\n\n\t\t\tlet val = this.tree()\n\n\t\t\tif( next !== undefined ) {\n\t\t\t\tval = this.tree( next && val.clone( [ next ] ) )\n\t\t\t\tthis.expanded( true )\n\t\t\t\treturn next\n\t\t\t}\n\t\t\t\n\t\t\treturn val?.kids[ 0 ]\n\t\t}\n\t}\n}\n","namespace $.$$ {\n\n\tconst { px, rem, per } = $mol_style_unit\n\n\t$mol_style_define( $hyoo_studio_prop, {\n\n\t\tflex: {\n\t\t\tgrow: 1,\n\t\t},\n\t\tborder: {\n\t\t\tradius: $mol_gap.round,\n\t\t},\n\t\tbackground: {\n\t\t\tcolor: $mol_theme.card,\n\t\t},\n\n\t\tValue: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t\tpadding: {\n\t\t\t\tbottom: $mol_gap.space,\n\t\t\t\tleft: $mol_gap.space,\n\t\t\t},\n\t\t\tBound: {\n\t\t\t\tSelf: {\n\t\t\t\t\tpadding: {\n\t\t\t\t\t\tleft: $mol_gap.block,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\tObject: {\n\t\t\tflexDirection: 'column',\n\t\t},\n\n\t\tExpander: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t},\n\n\t\tLabel_content: {\n\t\t\tflex: {\n\t\t\t\twrap: 'wrap',\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t},\n\n\t\tTrigger: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t},\n\n\t\tExpander_title: {\n\t\t\tcolor: $mol_theme.control,\n\t\t},\n\n\t\tProp_tools: {\n\t\t\tflex: {\n\t\t\t\tshrink: 1,\n\t\t\t},\n\t\t\tmargin: {\n\t\t\t\tleft: 'auto',\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n","namespace $ {\n\n\texport class $hyoo_studio_component extends $mol_object {\n\n\t\t@ $mol_mem\n\t\tsource(next?: string) {\n\t\t\treturn next ?? ''\n\t\t}\n\n\t\t@ $mol_mem\n\t\ttree(next?: $mol_tree2_empty) {\n\t\t\tconst source = this.source( next && next.toString() ).replace( /\\n?$/, '\\n' )\n\t\t\t\n\t\t\tconst tree = this.$.$mol_view_tree2_normalize(\n\t\t\t\tthis.$.$mol_tree2_from_string( source )\n\t\t\t).kids[0]\n\t\t\t\n\t\t\treturn tree\n\t\t}\n\n\t\t@ $mol_mem\n\t\tname( next?: string ) {\n\t\t\tconst tree = this.tree()\n\t\t\tif( !next ) return tree.type\n\t\t\t\n\t\t\tthis.tree(\n\t\t\t\ttree.struct( next, tree.kids )\n\t\t\t)\n\t\t\t\n\t\t\treturn next\n\t\t}\n\n\t\t@ $mol_mem\n\t\tbase( next?: string ) {\n\t\t\tconst self = this.tree()\n\t\t\tconst base = this.$.$mol_view_tree2_class_super( self )\n\t\t\tif( !next ) return base.type\n\t\t\t\n\t\t\tthis.tree(\n\t\t\t\tself.clone([\n\t\t\t\t\tbase.struct( next, base.kids )\n\t\t\t\t])\n\t\t\t)\n\t\t\t\n\t\t\treturn next\n\t\t}\n\n\t\t@ $mol_mem\n\t\tprop_names() {\n\t\t\treturn this.$.$mol_view_tree2_class_props( this.tree() ).map( tree => this.$.$mol_view_tree2_prop_parts( tree ).name )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tprops_tree() {\n\t\t\treturn this.tree().list( this.$.$mol_view_tree2_class_props( this.tree() ) )\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tprop_fullname( name: string ) {\n\t\t\tif (name.indexOf('*') + name.indexOf('?') + name.indexOf('!') > -3) return name\n\n\t\t\tfor (const tree of this.props_tree().kids) {\n\n\t\t\t\tconst sign = tree?.type ?? ''\n\t\t\t\tconst meta = [ ... sign.matchAll( $mol_view_tree2_prop_signature ) ][0]?.groups ?? { name: '', key: '', next: '' }\n\n\t\t\t\tif (meta.name === name) return `${meta.name}${meta.key || ''}${meta.next || ''}`\n\t\t\t}\n\n\t\t\treturn ''\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tprop_tree( name: string, next?: $mol_tree2 | null ) {\n\t\t\tconst sign = this.prop_fullname(name)\n\n\t\t\tif( next !== undefined ) {\n\t\t\t\tthis.tree( this.tree().insert( next, this.base(), sign ) )\n\t\t\t\treturn next\n\t\t\t}\n\t\t\t\n\t\t\treturn this.props_tree().select( sign ).kids[0] ?? null\n\t\t}\n\n\t\t@ $mol_action\n\t\tprop_add( name: string ) {\n\t\t\tconst tree = this.tree()\n\t\t\t\n\t\t\tthis.tree(\n\t\t\t\ttree.insert(\n\t\t\t\t\ttree.struct( name, [\n\t\t\t\t\t\ttree.struct( 'null' ),\n\t\t\t\t\t] ),\n\t\t\t\t\tnull,\n\t\t\t\t\tname,\n\t\t\t\t)\n\t\t\t)\n\t\t}\n\n\t\t@ $mol_action\n\t\tprop_drop( name: string ) {\n\t\t\tthis.prop_tree( name , null )\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tproperty( name: string ) {\n\t\t\treturn $hyoo_studio_property.make({\n\t\t\t\tname: $mol_const(name),\n\t\t\t\ttree: next => this.prop_tree( name, next )!,\n\t\t\t\tcomponent: $mol_const(this),\n\t\t\t})\n\t\t}\n\n\t}\n\n}\n","$mol_tag_tree $mol_list\n\tpath /string\n\tids_tags *\n\tids /\n\ttags /string\n\tlevels_expanded 0\n\tsub /$mol_view\n\t\t^ tag_list /$mol_view\n\t\t^ item_list /$mol_view\n\ttag_name* \\\n\ttag_list /$mol_view\n\titem_list /$mol_view\n\tItem* $mol_view\n\t\tsub /\n\t\t\t<= item_title* \\\n\tTag* $mol_expander\n\t\texpandable true\n\t\texpanded? <=> tag_expanded*? false\n\t\ttitle <= tag_name* \\\n\t\tcontent / <= Tag_tree* $mol_tag_tree\n\t\t\tids_tags <= ids_tags\n\t\t\tpath <= tag_path* /string\n\t\t\tItem* <= Item*\n\t\t\titem_title* <= item_title*\n\t\t\ttag_expanded*? <=> tag_expanded*?\n\t\t\ttag_name* <= tag_name*\n","namespace $ {\n\n\texport function $mol_compare_text< Item >( item = ( item : Item )=> String( item ) ) {\n\t\t\n\t\treturn ( a : Item , b : Item )=> {\n\n\t\t\tconst text_a = item( a ).trim().toLowerCase()\n\t\t\tconst text_b = item( b ).trim().toLowerCase()\n\n\t\t\tconst parts_a = text_a.split( /(\\d+)/ )\n\t\t\tconst parts_b = text_b.split( /(\\d+)/ )\n\n\t\t\tconst count = Math.max( parts_a.length , parts_b.length )\n\t\t\t\n\t\t\tfor( let i = 0 ; i < count ; ++ i ) {\n\n\t\t\t\tconst part_a = parts_a[i] || ''\n\t\t\t\tconst part_b = parts_b[i] || ''\n\t\t\t\t\n\t\t\t\tconst diff = Number( part_a ) - Number( part_b )\n\t\t\t\tif( diff ) return diff\n\n\t\t\t\tif( part_a > part_b ) return 1\n\t\t\t\tif( part_a < part_b ) return -1\n\n\t\t\t}\n\t\t\t\n\t\t\treturn parts_a.length - parts_b.length\n\t\t}\n\n\t}\n\n}\n","namespace $.$$ {\n\n\t/**\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_tag_tree_demo\n\t */\n\texport class $mol_tag_tree extends $.$mol_tag_tree {\n\n\t\t@ $mol_mem\n\t\toverride ids() {\n\t\t\tconst prefix = this.path().join( '/' )\n\t\t\tconst ids_tags = this.ids_tags()\n\t\t\treturn Object.keys( ids_tags ).filter( id => ids_tags[ id ].some( ( tag: string )=> tag.startsWith( prefix ) ) )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\toverride item_list() {\n\t\t\tconst path = this.path()\n\t\t\tconst grouped = new Set( this.tags().flatMap( tag => this.Tag_tree( tag ).ids() ) )\n\t\t\treturn this.ids()\n\t\t\t\t.filter( id => !grouped.has( id ) )\n\t\t\t\t.sort( $mol_compare_text() )\n\t\t\t\t.map( id => this.Item([ ... path, id ]) )\n\t\t}\n\n\t\t@ $mol_mem\n\t\toverride tags() {\n\t\t\t\n\t\t\tconst stat = new Map< string, number >()\n\t\t\tconst ids_tags = this.ids_tags()\n\t\t\tconst ids = this.ids()\n\t\t\tconst prefix = this.path().join( '/' )\n\t\t\t\n\t\t\tfor( let id of ids ) {\n\t\t\t\tfor( let tag of ids_tags[ id ] ) {\n\t\t\t\t\tif( prefix && !( tag as string ).startsWith( prefix + '/' ) ) continue\n\t\t\t\t\ttag = tag.slice( prefix.length ).replace( /^\\//, '' )\n\t\t\t\t\tstat.set( tag, ( stat.get( tag ) ?? 0 ) + 1 )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tfor( let [ tag, count ] of stat ) {\n\t\t\t\tif( count < 2 ) stat.delete( tag )\n\t\t\t\tif( count > ids.length - 2 ) stat.delete( tag )\n\t\t\t}\n\t\t\t\n\t\t\tconst prefixes = [ ... new Set( [ ... stat.keys() ].map( tag => tag.replace( /\\/.*/, '' ) ) ) ].sort( $mol_compare_text() )\n\t\t\treturn prefixes\n\t\t}\n\n\t\t@ $mol_mem\n\t\toverride tag_list() {\n\t\t\treturn this.tags().map( tag => this.Tag([ tag ]))\n\t\t}\n\t\t\n\t\toverride tag_path( id: string ) {\n\t\t\treturn [ ... this.path(), id ]\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\toverride tag_expanded( id: readonly string[], next?: boolean ) {\n\t\t\treturn next ?? this.tag_expanded_default(id)\n\t\t}\n\n\t\ttag_expanded_default(id: readonly string[]) {\n\t\t\treturn this.levels_expanded() >= id.length\n\t\t}\n\n\t\toverride tag_name( id: string ) {\n\t\t\treturn id\n\t\t}\n\n\t\toverride item_title(id: readonly string[]) {\n\t\t\treturn id.at(-1)!\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/tag/tree/tree.view.css\",\n \"[mol_tag_tree_tag_content] {\\n\\tpadding-left: var(--mol_gap_block);\\n margin-left: var(--mol_gap_block);\\n box-shadow: inset 1px 0 0 0 var(--mol_theme_line);\\n}\\n\\n[mol_tag_tree_item] {\\n\\tpadding: var(--mol_gap_text);\\n\\tpadding-left: 0;\\n}\\n\\n[mol_tag_tree_tag_trigger_icon] {\\n margin-left: -1rem;\\n margin-right: -0.25rem;\\n}\\n\"\n) }","$mol_app_demo_menu $mol_page\n\tnames /string\n\twidget_tags* /string\n\twidget_aspects* /string\n\twidget_title* \\\n\tsearch_start? null\n\tbody /\n\t\t<= Filter $mol_search\n\t\t\tquery? <=> filter? \\\n\t\t\t- suggests <= filter_suggests\n\t\t<= Tree $mol_tag_tree\n\t\t\tItem* <= Option*\n\t\t\tids_tags <= ids_tags *\n\t\t\tlevels_expanded <= levels_expanded <= levels_expanded_default 0\n\tOption* $mol_link\n\t\targ <= option_arg* *\n\t\tsub /\n\t\t\t<= Option_title* $mol_dimmer\n\t\t\t\thaystack <= option_title* \\\n\t\t\t\tneedle <= filter? \\\n","namespace $.$$ {\n\t\n\t/** The component tags should be at the end of the list */\n\tconst compare_names = ( a: string, b: string )=> {\n\t\tif ( a[ 0 ] === '$' && b[ 0 ] !== '$') return 1\n\t\tif ( a[ 0 ] !== '$' && b[ 0 ] === '$' ) return -1\n\t\tif ( a > b ) return 1\n\t\tif ( a < b ) return -1\n\t\treturn 0\n\t}\n\n\texport class $mol_app_demo_menu extends $.$mol_app_demo_menu {\n\n\t\t@ $mol_mem\n\t\toverride filter( next?: string ) {\n\t\t\treturn this.$.$mol_state_session.value( 'filter' , next === '' ? null : next ) ?? super.filter() as string\n\t\t}\n\t\t\n\t\toverride option_arg( id: readonly string[] ) {\n\t\t\treturn { 'demo' : id.at(-1)?.replace(/^\\$*/, '') }\n\t\t}\n\t\t\n\t\toverride option_title( path_id: readonly string[] ) {\n\t\t\tconst id = path_id.at(-1)!\n\n\t\t\treturn id.replace( '_demo_', '/' ).replace( '_demo', '' )\n\t\t}\n\n\t\toverride search_start( event?: Event ) {\n\t\t\tthis.Filter().Query().bring()\n\t\t\tevent?.preventDefault()\n\t\t}\n\t\t\n\t\t/** Filter string not empty and ends with space */\n\t\t@ $mol_mem\n\t\tfilter_last_word_completed() {\n\t\t\treturn /[^\\s]+\\s+$/.test( this.filter() )\n\t\t}\n\n\t\t/** Filter string uniq words */\n\t\t@ $mol_mem\n\t\tfilter_words() {\n\t\t\tconst filter = this.filter().trim()\n\n\t\t\tconst words = filter !== '' ? filter.split( /\\s+/ ) : []\n\n\t\t\treturn [ ... new Set( words ) ].map( word => word.toLowerCase() )\n\t\t}\n\n\t\t@ $mol_mem\n\t\toverride ids_tags() {\n\t\t\tconst result = {} as Record\n\n\t\t\tfor (const name of this.names_filtered()) {\n\t\t\t\tlet aspects = this.widget_aspects( name )\n\t\t\t\tresult[name] = result[name] ?? []\n\n\t\t\t\tfor (const tag of aspects) {\n\t\t\t\t\tresult[name].push(tag)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn result\n\t\t}\n\n\t\t@ $mol_mem\n\t\ttags_filtered() {\n\t\t\treturn [... new Set(\n\t\t\t\tthis.names_filtered().flatMap( name => this.widget_tags( name ) )\n\t\t\t) ]\n\t\t\t\t.map( tag => tag.trim().toLowerCase() )\n\t\t\t\t.filter( tag => tag !== '')\n\t\t\t\t.sort( compare_names )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tfilter_suggests() {\n\t\t\tconst filter_words = this.filter_words()\n\n\t\t\tif( filter_words.length === 0 ) return this.tags_filtered()\n\n\t\t\tconst filtered_names = this.names_filtered()\n\n\t\t\tif( filtered_names.length <= 1 ) return []\n\n\t\t\tconst tags = this.tags_filtered()\n\n\t\t\tconst filter_last_word = filter_words.slice( -1 )[ 0 ]\n\n\t\t\tconst filter_last_word_completed = this.filter_last_word_completed()\n\t\t\t\n\t\t\t/** Tags suggests */\n\t\t\tconst suggests: string[] = []\n\n\t\t\tfor( const tag of tags ) {\n\t\t\t\tif( filter_words.includes( tag ) ) continue\n\n\t\t\t\tif ( filter_last_word_completed ) {\n\t\t\t\t\tsuggests.push(\n\t\t\t\t\t\t`${ filter_words.join( ' ' ) } ${ tag }`\n\t\t\t\t\t)\n\t\t\t\t} else if ( \n\t\t\t\t\ttag.indexOf( filter_last_word ) === 0 &&\n\t\t\t\t\t( filter_last_word.length < tag.length )\n\t\t\t\t) {\n\t\t\t\t\tsuggests.push(\n\t\t\t\t\t\t`${ filter_words.slice( 0, -1 ).join( ' ' ) } ${ tag }`\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn suggests\n\t\t}\n\n\t\tlevels_expanded() {\n\t\t\tif (this.filter_words().length) return 99\n\n\t\t\treturn super.levels_expanded()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tnames_filtered() {\n\t\t\tconst words = this.filter_words()\n\t\t\treturn this.names().filter( $mol_match_text( this.filter(), name => [\n\t\t\t\tname,\n\t\t\t\t... this.widget_aspects( name ),\n\t\t\t\t... this.widget_tags( name ),\n\t\t\t] ) )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/app/demo/menu/menu.view.css\",\n \"[mol_app_demo_menu] {\\n\\tflex: 0 0 18rem;\\n}\\n\\n[mol_app_demo_menu_selector] {\\n\\tdisplay: flex;\\n\\tflex-wrap: nowrap;\\n\\tgap: 0;\\n}\\n\\n[mol_app_demo_menu_tools] {\\n\\tpadding: 0;\\n}\\n\\n[mol_app_demo_menu_themes] {\\n\\tflex: none;\\n}\\n\\n[mol_app_demo_menu_filter] {\\n\\talign-self: stretch;\\n\\tflex-grow: 0;\\n\\tflex-shrink: 0;\\n}\\n\"\n) }","$mol_icon_forum $mol_icon path \\M17,12V3A1,1 0 0,0 16,2H3A1,1 0 0,0 2,3V17L6,13H16A1,1 0 0,0 17,12M21,6H19V15H6V17A1,1 0 0,0 7,18H18L22,22V7A1,1 0 0,0 21,6Z\n","$mol_icon_forum_outline $mol_icon path \\M15,4V11H5.17L4,12.17V4H15M16,2H3A1,1 0 0,0 2,3V17L6,13H16A1,1 0 0,0 17,12V3A1,1 0 0,0 16,2M21,6H19V15H6V17A1,1 0 0,0 7,18H18L22,22V7A1,1 0 0,0 21,6Z\n","$mol_icon_open_in_new $mol_icon path \\M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z\n","$mol_chat $mol_link\n\tseed \\\n\topened false\n\targ * mol_chat \\\n\thint <= title\n\tsub /\n\t\t<= Icon $mol_icon_forum_outline\n\tpages /\n\t\t<= Page $mol_page\n\t\t\ttitle <= title @ \\Discussion\n\t\t\ttools /\n\t\t\t\t<= Esternal $mol_link\n\t\t\t\t\turi <= standalone \\\n\t\t\t\t\tsub /\n\t\t\t\t\t\t<= Standalone_icon $mol_icon_open_in_new\n\t\t\t\t<= Close $mol_link\n\t\t\t\t\targ * mol_chat null\n\t\t\t\t\tsub /\n\t\t\t\t\t\t<= Close_icon $mol_icon_close\n\t\t\tBody <= Embed $mol_frame\n\t\t\t\turi <= embed \\\n","namespace $.$$ {\n\n\t/**\n\t * Button to open embedded chat.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_chat_demo\n\t */\n\texport class $mol_chat extends $.$mol_chat {\n\t\t\n\t\topened() {\n\t\t\treturn this.$.$mol_state_arg.value( 'mol_chat' ) !== null\n\t\t}\n\t\t\n\t\tpages() {\n\t\t\treturn this.opened() ? [ this.Page() ] : []\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstandalone() {\n\t\t\tconst seed = this.seed()\n\t\t\tconst origin = new URL( this.$.$mol_state_arg.href() ).origin\n\t\t\treturn `https://talks.hyoo.ru/#!chat=${ seed }`\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tembed() {\n\t\t\tconst seed = this.seed()\n\t\t\tconst lights = String( this.$.$mol_lights() )\n\t\t\tconst embed = this.$.$mol_state_arg.href()\n\t\t\treturn `https://talks.hyoo.ru/#!chat=${ encodeURIComponent( seed ) }/mol_lights=${ lights }`\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/chat/chat.view.css\",\n \"[mol_chat_page] {\\n\\tflex: 1 0 30rem;\\n}\\n\"\n) }","$mol_icon_settings $mol_icon path \\M12,15.5C10.07,15.5 8.5,13.93 8.5,12C8.5,10.07 10.07,8.5 12,8.5C13.93,8.5 15.5,10.07 15.5,12C15.5,13.93 13.93,15.5 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z\n","$mol_app_demo_detail $mol_page\n\tdescription \\\n\ttools /\n\t\t<= Readme $mol_check_icon\n\t\t\tchecked? <=> readme? false\n\t\t\thint @ \\Readme\n\t\t\tIcon <= readme_icon $mol_icon_information_outline\n\t\t<= Chat $mol_chat\n\t\t\tpages => chat_pages\n\t\t\tseed <= chat_seed \\0_0\n\t\t<= Edit $mol_link\n\t\t\thint <= edit_hint @ \\Edit this demo in studio\n\t\t\tsub /\n\t\t\t\t<= Edit_speck $mol_speck\n\t\t\t\t\tvalue \\β\n\t\t\t\t<= Edit_icon $mol_icon_settings\n\t\t\turi <= edit_uri \\\n\t\t<= Close $mol_link \n\t\t\thint <= close_hint @ \\Close panel\n\t\t\tsub /\n\t\t\t\t<= Close_icon $mol_icon_close\n\t\t\targ <= close_arg *\n\t\t\t\tdemo null\n\tbody /\n\t\t<= Demo $mol_view\n","$mol_example $mol_view\n\ttags /string\n\taspects /string\n","namespace $ { $mol_style_attach( \"mol/example/example.view.css\",\n \"[mol_example] {\\n\\tmax-width: 100%;\\n}\\n\"\n) }","$mol_example_small $mol_example\n","namespace $ { $mol_style_attach( \"mol/example/small/small.view.css\",\n \"[mol_example_small] {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\talign-items: flex-start;\\n\\talign-content: flex-start;\\n\\tjustify-content: flex-start;\\n\\tflex: 0 0 auto;\\n\\tbox-sizing: border-box;\\n\\tmax-width: 100%;\\n\\tgap: var(--mol_gap_block);\\n}\\n\\n[mol_example_small] > * {\\n\\tmax-width: 100%;\\n}\\n\"\n) }","$mol_example_large $mol_example\n","namespace $ { $mol_style_attach( \"mol/example/large/large.view.css\",\n \"[mol_example_large] {\\n\\tflex: 1 1 auto;\\n\\tflex-direction: column;\\n\\tbackground: var(--mol_theme_back);\\n\\tbox-shadow: 0 0 0 1px var(--mol_theme_line);\\n\\tborder-radius: var(--mol_gap_round);\\n\\tmax-width: 100%;\\n\\tmax-height: 100%;\\n\\toverflow: hidden;\\n}\\n\"\n) }","$mol_float $mol_view\n\tstyle *\n\t\t^\n\t\tminHeight \\auto\n","namespace $ { $mol_style_attach( \"mol/float/float.view.css\",\n \"[mol_float] {\\n\\tposition: sticky;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tz-index: var(--mol_layer_float);\\n\\topacity: 1;\\n\\ttransition: opacity .25s ease-in;\\n\\tdisplay: block;\\n\\tbackground: linear-gradient( var(--mol_theme_card), var(--mol_theme_card) ), var(--mol_theme_back);\\n\\tbox-shadow: 0 0 .5rem hsla(0,0%,0%,.25);\\n}\\n\\n\"\n) }","$mol_grid $mol_view\n\trow_height 32\n\trow_ids /string[]\n\trow_id* null\n\tcol_ids /\n\trecords *\n\trecord* null\n\thierarchy null\n\thierarchy_col \\\n\tminimal_width 0\n\t-\n\tsub /\n\t\t<= Head\n\t\t<= Table $mol_grid_table\n\t\t\tsub <= rows /$mol_view\n\tHead $mol_grid_row\n\t\tcells <= head_cells /$mol_view\n\tRow* $mol_grid_row\n\t\tminimal_height <= row_height\n\t\tminimal_width <= minimal_width\n\t\tcells <= cells* /$mol_view\n\t-\n\tCell* $mol_view\n\tcell* null\n\tCell_text* $mol_grid_cell\n\t\tsub <= cell_content_text* <= cell_content* /$mol_view_content\n\tCell_number* $mol_grid_number\n\t\tsub <= cell_content_number* <= cell_content* /$mol_view_content\n\tCol_head* $mol_float\n\t\tdom_name \\th\n\t\tsub <= col_head_content* /$mol_view_content\n\tCell_branch* $mol_check_expand\n\t\tlevel <= cell_level* 0\n\t\tlabel <= cell_content* /$mol_view_content\n\t\texpanded? <=> cell_expanded*? false\n\tCell_content* /\n\t\t<= Cell_dimmer* $mol_dimmer\n\t\t\tneedle <= needle \\\n\t\t\thaystack <= cell_value* \\\n\n$mol_grid_table $mol_list\n\t- dom_name \\table\n\n$mol_grid_row $mol_view\n\t- dom_name \\tr\n\tsub <= cells /$mol_view\n\n$mol_grid_cell $mol_view\n\t- dom_name \\td\n\tminimal_height 40\n\n$mol_grid_number $mol_grid_cell\n","namespace $.$$ {\n\t\n\texport interface $mol_grid_node {\n\t\tid : string\n\t\tparent : $mol_grid_node\n\t\tsub : $mol_grid_node[]\n\t}\n\t\n\texport class $mol_grid extends $.$mol_grid {\n\t\t\n\t\t@ $mol_mem\n\t\thead_cells() {\n\t\t\treturn this.col_ids().map( colId => this.Col_head( colId ) ) as readonly $mol_view[]\n\t\t}\n\t\t\n\t\tcol_head_content( colId : string ) {\n\t\t\treturn [ colId ] as readonly string[]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\trows() {\n\t\t\treturn this.row_ids().map( id => this.Row( id ) ) as readonly $mol_view[]\n\t\t}\n\t\t\n\t\tcells( row_id : string[] ) {\n\t\t\treturn this.col_ids().map( col_id => this.Cell({ row : row_id , col : col_id }) ) as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tcol_type( col_id : string ) {\n\t\t\tif( col_id === this.hierarchy_col() ) return 'branch'\n\t\t\t\n\t\t\tconst rowFirst = this.row_id( 0 )\n\t\t\tconst val = this.record( rowFirst[ rowFirst.length -1 ] )[ col_id ]\n\t\t\tif( typeof val === 'number' ) return 'number'\n\t\t\t\n\t\t\treturn 'text'\n\t\t}\n\t\t\n\t\tCell( id : { row : string[] , col : string } ) : $mol_view {\n\t\t\tswitch( this.col_type( id.col ).valueOf() ) {\n\t\t\t\tcase 'branch' : return this.Cell_branch( id )\n\t\t\t\tcase 'number' : return this.Cell_number( id )\n\t\t\t}\n\t\t\t\n\t\t\treturn this.Cell_text( id )\n\t\t}\n\t\t\n\t\tcell_content( id : { row : string[] , col : string } ) {\n\t\t\treturn [ this.record( id.row[ id.row.length - 1 ] )[ id.col ] ]\n\t\t}\n\t\t\n\t\tcell_content_text( id : { row : string[] , col : string } ) {\n\t\t\treturn this.cell_content( id ).map( val => typeof val === 'object' ? JSON.stringify( val ) : val )\n\t\t}\n\t\t\n\t\trecords() : any {\n\t\t\treturn []\n\t\t}\n\t\t\n\t\trecord( id : string ) {\n\t\t\treturn this.records()[ id ]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\trecord_ids() {\n\t\t\treturn Object.keys( this.records() )\n\t\t}\n\t\t\n\t\trow_id( index : number ) {\n\t\t\treturn ( this.row_ids().slice( index , index + 1 ).valueOf() as string[] )[0]\n\t\t}\n\n\t\tcol_ids() {\n\t\t\tconst rowFirst = this.row_id(0)\n\t\t\tif( rowFirst === void 0 ) return []\n\t\t\t\n\t\t\tconst record = this.record( rowFirst[ rowFirst.length - 1 ] )\n\t\t\tif( !record ) return []\n\t\t\t\n\t\t\treturn Object.keys( record ) as readonly string[]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\thierarchy() {\n\t\t\tconst hierarchy : { [ id : string ] : $mol_grid_node } = {}\n\t\t\tconst root = hierarchy[ '' ] = {\n\t\t\t\tid : '' ,\n\t\t\t\tparent : null as any as $mol_grid_node ,\n\t\t\t\tsub : [] as $mol_grid_node[] ,\n\t\t\t}\n\t\t\tthis.record_ids().map( id => {\n\t\t\t\troot.sub.push( hierarchy[ id ] = {\n\t\t\t\t\tid ,\n\t\t\t\t\tparent : root ,\n\t\t\t\t\tsub : [] ,\n\t\t\t\t} )\n\t\t\t} )\n\t\t\treturn hierarchy\n\t\t}\n\t\t\n\t\trow_sub_ids( row : string[] ) : string[][] {\n\t\t\treturn this.hierarchy()[ row[ row.length - 1 ] ].sub.map( child => row.concat( child.id ) )\n\t\t}\n\t\t\n\t\trow_root_id() : string[] {\n\t\t\treturn [ '' ]\n\t\t}\n\t\t\n\t\tcell_level( id : { row : string[] } ) {\n\t\t\treturn id.row.length - 1\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\trow_ids() {\n\t\t\tconst next : string[][] = []\n\t\t\t\n\t\t\tconst add = ( row : string[] )=> {\n\t\t\t\tnext.push( row )\n\t\t\t\tif( this.row_expanded( row ) ) {\n\t\t\t\t\tthis.row_sub_ids( row ).forEach( child => add( child ) )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tthis.row_sub_ids( this.row_root_id() ).forEach( child => add( child ) )\n\t\t\t\n\t\t\treturn next as readonly string[][]\n\t\t}\n\t\t\n\t\trow_expanded( row_id : string[] , next? : boolean ) {\n\t\t\tif( !this.row_sub_ids( row_id ).length ) return null\n\t\t\t\n\t\t\tconst key = `row_expanded(${ JSON.stringify( row_id ) })`\n\t\t\tconst next2 = $mol_state_session.value( key , next )\n\t\t\t\n\t\t\treturn ( next2 == null ) ? this.row_expanded_default( row_id ) : next2\n\t\t}\n\t\t\n\t\trow_expanded_default( row_id : string[] ) {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\tcell_expanded( id : { row : string[] } , next? : boolean ) {\n\t\t\treturn this.row_expanded( id.row , next )!\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/grid/grid.view.css\",\n \"[mol_grid] {\\n\\tdisplay: block;\\n\\tflex: 0 1 auto;\\n\\tposition: relative;\\n\\toverflow-x: auto;\\n}\\n\\n[mol_grid_gap] {\\n\\tposition: absolute;\\n\\tpadding: .1px;\\n\\ttop: 0;\\n\\ttransform: translateZ(0);\\n}\\n\\n[mol_grid_table] {\\n\\tborder-spacing: 0;\\n\\tdisplay: table-row-group;\\n\\tposition: relative;\\n}\\n\\n[mol_grid_table] > * {\\n\\tdisplay: table-row;\\n\\ttransition: none;\\n}\\n\\n[mol_grid_head] > *,\\n[mol_grid_table] > * > * {\\n\\tdisplay: table-cell;\\n\\tpadding: var(--mol_gap_text);\\n\\twhite-space: nowrap;\\n\\tvertical-align: middle;\\n\\tbox-shadow: inset 1px 1px 0 0 var(--mol_theme_line);\\n}\\n\\n[mol_grid_row]:where(:first-child) > * {\\n\\tbox-shadow: inset 1px 0 0 0 var(--mol_theme_line);\\n}\\n\\n[mol_grid_table] > * > *:where(:first-child) {\\n\\tbox-shadow: inset 0px 1px 0 0 var(--mol_theme_line);\\n}\\n\\n[mol_grid_head] > * {\\n\\tbox-shadow: inset 1px -1px 0 0 var(--mol_theme_line);\\n}\\n\\n[mol_grid_head] > *:where(:first-child) {\\n\\tbox-shadow: inset 0px -1px 0 0 var(--mol_theme_line);\\n}\\n\\n[mol_grid_table] > [mol_grid_row]:where(:first-child) > *:where(:first-child) {\\n\\tbox-shadow: none;\\n}\\t\\n\\n[mol_grid_head] {\\n\\tdisplay: table-row;\\n\\ttransform: none !important;\\n}\\n\\n/* [mol_grid_cell_number] {\\n\\ttext-align: right;\\n} */\\n\\n[mol_grid_col_head] {\\n\\tfont-weight: inherit;\\n\\ttext-align: inherit;\\n\\tdisplay: table-cell;\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\\n[mol_grid_cell_dimmer] {\\n\\tdisplay: inline-block;\\n\\tvertical-align: inherit;\\n}\\n\"\n) }","$mol_image $mol_view\n\tdom_name \\img\n\tfield *any\n\t\t^\n\t\tsrc <= uri \\\n\t\talt <= title\n\t\tloading <= loading \\eager\n\t\tdecoding <= decoding \\async\n\t\tcrossOrigin <= cors null\n\tattr *any\n\t\t^\n\t\twidth <= natural_width 0\n\t\theight <= natural_height 0\n\tevent *any\n\t\tload? <=> load? null\n\tminimal_width 16\n\tminimal_height 16\n","namespace $.$$ {\n\texport class $mol_image extends $.$mol_image {\n\t\t\n\t\t@ $mol_mem\n\t\tnatural_width( next?: null ) {\n\t\t\t\n\t\t\tconst dom = this.dom_node() as HTMLImageElement\n\t\t\tif( dom.naturalWidth ) return dom.naturalWidth\n\t\t\t\n\t\t\tconst found = this.uri().match( /\\bwidth=(\\d+)/ )\n\t\t\treturn found ? Number( found[1] ) : null!\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tnatural_height( next?: null ) {\n\t\t\t\n\t\t\tconst dom = this.dom_node() as HTMLImageElement\n\t\t\tif( dom.naturalHeight ) return dom.naturalHeight\n\t\t\t\n\t\t\tconst found = this.uri().match( /\\bheight=(\\d+)/ )\n\t\t\treturn found ? Number( found[1] ) : null!\n\t\t\t\n\t\t}\n\t\t\n\t\tload() {\n\t\t\tthis.natural_width( null )\n\t\t\tthis.natural_height( null )\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/image/image.view.css\",\n \"[mol_image] {\\n\\tborder-radius: var(--mol_gap_round);\\n\\toverflow: hidden;\\n\\tflex: 0 1 auto;\\n\\tmax-width: 100%;\\n\\tobject-fit: cover;\\n\\theight: fit-content;\\n}\\n\"\n) }","$mol_link_iconed $mol_link\n\tsub /\n\t\t<= Icon $mol_image\n\t\t\turi <= icon \\\n\t\t\ttitle \\\n\tcontent /\n\t\t<= title <= uri\n\thost \\\n","namespace $.$$ {\n\n\texport class $mol_link_iconed extends $.$mol_link_iconed {\n\n\t\t@ $mol_mem\n\t\ticon() {\n\t\t\treturn `https://favicon.yandex.net/favicon/${ this.host() }?color=0,0,0,0&size=32&stub=1`\n\t\t\t// return `https://api.faviconkit.com/${ this.host() }/16`\n\t\t}\n\n\t\t@ $mol_mem\n\t\thost() {\n\t\t\tconst base = this.$.$mol_state_arg.href()\n\t\t\tconst url = new URL( this.uri() , base )\n\t\t\treturn url.hostname\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttitle() {\n\t\t\tconst uri = this.uri()\n\t\t\tconst host = this.host()\n\t\t\tconst suffix = ( host ? uri.split( this.host() , 2 )[1] : uri )?.replace( /^[\\/\\?#!]+/, '' )\n\t\t\treturn decodeURIComponent( suffix || host ).replace( /^\\//, ' ' )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\t... this.host() ? [ this.Icon() ] : [],\n\t\t\t\t... this.content() ? [ ' ', ... this.content() ] : [],\n\t\t\t] as readonly any[]\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/link/iconed/iconed.view.css\",\n \"[mol_link_iconed] {\\n\\talign-items: baseline;\\n\\tdisplay: inline-flex;\\n\\tpadding: var(--mol_gap_text);\\n}\\n\\n[mol_link_iconed_icon] {\\n\\tbox-shadow: none;\\n\\theight: 1.5em;\\n\\twidth: 1em;\\n\\tflex: 0 0 auto;\\n\\tdisplay: inline-block;\\n\\talign-self: normal;\\n\\tvertical-align: top;\\n\\tborder-radius: 0;\\n\\tobject-fit: scale-down;\\n\\topacity: .75;\\n}\\n\\n[mol_theme=\\\"$mol_theme_dark\\\"] [mol_link_iconed_icon] {\\n\\tfilter: var(--mol_theme_image);\\n}\\n\"\n) }","$mol_icon_youtube $mol_icon path \\M10,15L15.19,12L10,9V15M21.56,7.17C21.69,7.64 21.78,8.27 21.84,9.07C21.91,9.87 21.94,10.56 21.94,11.16L22,12C22,14.19 21.84,15.8 21.56,16.83C21.31,17.73 20.73,18.31 19.83,18.56C19.36,18.69 18.5,18.78 17.18,18.84C15.88,18.91 14.69,18.94 13.59,18.94L12,19C7.81,19 5.2,18.84 4.17,18.56C3.27,18.31 2.69,17.73 2.44,16.83C2.31,16.36 2.22,15.73 2.16,14.93C2.09,14.13 2.06,13.44 2.06,12.84L2,12C2,9.81 2.16,8.2 2.44,7.17C2.69,6.27 3.27,5.69 4.17,5.44C4.64,5.31 5.5,5.22 6.82,5.16C8.12,5.09 9.31,5.06 10.41,5.06L12,5C16.19,5 18.8,5.16 19.83,5.44C20.73,5.69 21.31,6.27 21.56,7.17Z\n","$mol_embed_service $mol_check\n\turi \\\n\tvideo_preview \\\n\tvideo_id \\\n\tchecked? <=> active? false\n\tsub /\n\t\t<= Image $mol_image\n\t\t\ttitle <= title \\\n\t\t\turi <= video_preview \\\n\t\t<= Hint $mol_icon_youtube\n\t\t<= Frame $mol_frame\n\t\t\ttitle <= title \\\n\t\t\turi <= video_embed \\\n\n","namespace $.$$ {\n\texport class $mol_embed_service extends $.$mol_embed_service {\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\treturn this.active()\n\t\t\t\t? [ this.Frame() ]\n\t\t\t\t: [ this.Image(), this.Hint() ]\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/embed/service/service.view.css\",\n \"[mol_embed_service] {\\n\\tpadding: 0;\\n\\tmax-width: 100%;\\n}\\n\\n[mol_embed_service_image] {\\n\\tflex: auto 1 1;\\n\\twidth: 100vw;\\n}\\n\\n[mol_embed_service_frame] {\\n\\twidth: 100vw;\\n}\\n\\n[mol_embed_service_hint] {\\n\\tposition: absolute;\\n left: 50%;\\n top: 50%;\\n width: 50%;\\n height: 50%;\\n opacity: 0.3;\\n transform: translate(-50%, -50%);\\n}\\n\\n[mol_embed_service]:hover [mol_embed_service_hint] {\\n\\topacity: .6;\\n}\\n\"\n) }","$mol_embed_youtube $mol_embed_service\n","namespace $.$$ {\n\texport class $mol_embed_youtube extends $.$mol_embed_youtube {\n\t\t\n\t\t@ $mol_mem\n\t\tvideo_embed() {\n\t\t\treturn `https://www.youtube.com/embed/${ encodeURIComponent( this.video_id() ) }?autoplay=1&loop=1`\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tvideo_id() {\n\t\t\treturn this.uri().match( /^https\\:\\/\\/www\\.youtube\\.com\\/(?:embed\\/|shorts\\/|watch\\?v=)([^\\/&?#]+)/ )?.[1]\n\t\t\t\t?? this.uri().match( /^https\\:\\/\\/youtu\\.be\\/([^\\/&?#]+)/ )?.[1]\n\t\t\t\t?? 'about:blank'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tvideo_preview() {\n\t\t\treturn `https://i.ytimg.com/vi/${ this.video_id() }/sddefault.jpg`\n\t\t}\n\t\t\n\t}\n}\n","$mol_embed_rutube $mol_embed_service\n","namespace $.$$ {\n\texport class $mol_embed_rutube extends $.$mol_embed_rutube {\n\t\t\n\t\t@ $mol_mem\n\t\tvideo_embed() {\n\t\t\treturn `https://rutube.ru/play/embed/${ encodeURIComponent( this.video_id() ) }`\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tvideo_id() {\n\t\t\treturn this.uri().match( /^https:\\/\\/rutube.ru\\/video\\/([^\\/&?#]+)/ )?.[1] ?? 'about:blank'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tvideo_preview() {\n\t\t\treturn `https://rutube.ru/api/video/${ this.video_id() }/thumbnail/?redirect=1`\n\t\t}\n\t\t\n\t}\n}\n","$mol_embed_any $mol_view\n\tImage $mol_image\n\t\ttitle <= title \\\n\t\turi <= uri \\\n\tObject $mol_embed_native\n\t\ttitle <= title \\\n\t\turi <= uri \\\n\tYoutube $mol_embed_youtube\n\t\ttitle <= title \\\n\t\turi <= uri \\\n\tRutube $mol_embed_rutube\n\t\ttitle <= title \\\n\t\turi <= uri \\\n","namespace $.$$ {\n\t\n\texport class $mol_embed_any extends $.$mol_embed_any {\n\t\t\n\t\t@ $mol_mem\n\t\ttype() {\n\t\t\t\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tconst uri = this.uri()\n\t\t\t\t\n\t\t\t\tif( /\\b(png|gif|jpg|jpeg|jfif|webp|svg)\\b/.test( uri ) ) return 'image'\n\t\t\t\tif( /^https:\\/\\/www\\.youtube\\.com\\//.test( uri ) ) return 'youtube'\n\t\t\t\tif( /^https:\\/\\/youtu\\.be\\//.test( uri ) ) return 'youtube'\n\t\t\t\tif( /^https:\\/\\/rutube\\.ru\\//.test( uri ) ) return 'rutube'\n\t\t\t\t\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn 'image'\n\t\t\t}\n\t\t\t\n\t\t\treturn 'object'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\tswitch( this.type() ) {\n\t\t\t\tcase 'image': return [ this.Image() ]\n\t\t\t\tcase 'youtube': return [ this.Youtube() ]\n\t\t\t\tcase 'rutube': return [ this.Rutube() ]\n\t\t\t\tdefault: return [ this.Object() ]\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\n}\n","$mol_text $mol_list\n\turi_base \\\n\ttext \\\n\tparam \\\n\tflow_tokens /\n\tblock_text* \\\n\tauto /\n\t\t<= auto_scroll null\n\t- \\Blocks\n\tParagraph* $mol_paragraph\n\t\tsub <= block_content* /\n\tQuote* $mol_text\n\t\turi_resolve* <= uri_resolve* \\\n\t\ttext <= quote_text* \\\n\t\thighlight <= highlight \\\n\t\tauto_scroll null\n\tList* $mol_text_list\n\t\turi_resolve* <= uri_resolve* \\\n\t\ttype <= list_type* \\-\n\t\ttext <= list_text* \\\n\t\thighlight <= highlight \\\n\titem_index* 0\n\tHeader* $mol_text_header\n\t\tminimal_height 40\n\t\tlevel <= header_level* 1\n\t\tcontent <= block_content* /\n\t\targ <= header_arg* *\n\tPre* $mol_text_code\n\t\ttext <= pre_text* \\\n\t\thighlight <= highlight \\\n\t\turi_resolve* <= uri_resolve* \\\n\t\tsidebar_showed <= pre_sidebar_showed <= code_sidebar_showed true\n\tCut* $mol_view dom_name \\hr\n\t- \\Table\n\tTable* $mol_grid\n\t\thead_cells <= table_head_cells* /\n\t\trows <= table_rows* /\n\tTable_row* $mol_grid_row\n\t\tcells <= table_cells* /\n\tTable_cell* $mol_text\n\t\tauto_scroll null\n\t\thighlight <= highlight \\\n\t\turi_resolve* <= uri_resolve* \\\n\t\ttext <= table_cell_text* \\\n\t- \\Grid\n\tGrid* $mol_grid\n\t\trows <= grid_rows* /\n\tGrid_row* $mol_grid_row\n\t\tcells <= grid_cells* /\n\tGrid_cell* $mol_text\n\t\tauto_scroll null\n\t\thighlight <= highlight \\\n\t\turi_resolve* <= uri_resolve* \\\n\t\ttext <= grid_cell_text* \\\n\t- \\Lines\n\tString* $mol_dimmer\n\t\tdom_name \\span\n\t\tneedle <= highlight \\\n\t\thaystack <= line_text* \\\n\tSpan* $mol_text_span\n\t\tdom_name \\span\n\t\ttype <= line_type* \\\n\t\tsub <= line_content* /\n\tCode_line* $mol_text_code_row\n\t\tnumb_showed false\n\t\thighlight <= highlight \\\n\t\ttext <= line_text* \\\n\t\turi_resolve* <= uri_resolve* \\\n\t\tsyntax <= code_syntax null\n\tLink* $mol_link_iconed\n\t\turi <= link_uri* \\\n\t\tcontent <= line_content* /\n\tLink_http* $mol_link_iconed\n\t\turi <= link_uri* \\\n\t\tcontent / <= link_host* \\\n\tEmbed* $mol_embed_any\n\t\turi <= link_uri* \\\n\t\ttitle <= line_text* \\\n\t- \\Spoilers\n\tSpoiler* $mol_expander\n\t\tlabel /\n\t\t\t<= Spoiler_label* $mol_text\n\t\t\t\ttext <= spoiler_label* \\\n\t\tcontent /\n\t\t\t<= Spoiler_content* $mol_text\n\t\t\t\ttext <= spoiler_content* \\\n\n$mol_text_header $mol_paragraph\n\tlevel 1\n\tsub /\n\t\t<= Link $mol_link\n\t\t\targ <= arg *\n\t\t\thint @ \\Permalink to this section\n\t\t\tsub <= content /\n\n$mol_text_span $mol_paragraph\n\tdom_name \\span\n\tattr *\n\t\t^\n\t\tmol_text_type <= type \\\n","namespace $.$$ {\n\t/**\n\t * Markdown visualizer.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_text_demo\n\t */\n\texport class $mol_text extends $.$mol_text {\n\t\t\n\t\t@ $mol_mem\n\t\tflow_tokens() {\n\t\t\tconst tokens = [] as { name : string , found : string , chunks: string[] }[]\n\t\t\tthis.$.$mol_syntax2_md_flow.tokenize(\n\t\t\t\tthis.text(),\n\t\t\t\t( name , found , chunks )=> tokens.push({ name , found , chunks }),\n\t\t\t)\n\t\t\treturn tokens as Readonly< typeof tokens >\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tblock_type( index: number ) {\n\t\t\treturn this.flow_tokens()[ index ].name\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\trows() {\n\t\t\treturn this.flow_tokens().map( ( { name }, index )=> {\n\t\t\t\t\n\t\t\t\tswitch( name ) {\n\t\t\t\t\tcase 'quote': return this.Quote( index )\n\t\t\t\t\tcase 'spoiler': return this.Spoiler( index )\n\t\t\t\t\tcase 'header': return this.Header( index )\n\t\t\t\t\tcase 'list': return this.List( index )\n\t\t\t\t\tcase 'code': return this.Pre( index )\n\t\t\t\t\tcase 'code-indent': return this.Pre( index )\n\t\t\t\t\tcase 'table': return this.Table( index )\n\t\t\t\t\tcase 'grid': return this.Grid( index )\n\t\t\t\t\tcase 'cut': return this.Cut( index )\n\t\t\t\t\tdefault: return this.Paragraph( index )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tparam() {\n\t\t\treturn this.toString().replace( /^.*?[\\)>]\\./, '' ).replace( /[(<>)]/g, '' )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\theader_level( index: number ) {\n\t\t\treturn this.flow_tokens()[ index ].chunks[0].length\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\theader_arg( index: number ) {\n\t\t\treturn {\n\t\t\t\t[ this.param() ]: this.block_text( index )\n\t\t\t}\n\t\t}\n\t\t\n\t\tlist_type( index: number ) {\n\t\t\treturn this.flow_tokens()[ index ].chunks[1] ?? ''\n\t\t}\n\t\t\n\t\titem_index( index: number ) {\n\t\t\treturn this.flow_tokens().slice( 0, index ).filter( token => token.name === 'block' ).length + 1\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tpre_text( index : number ) {\n\t\t\tconst token = this.flow_tokens()[ index ]\n\t\t\treturn ( token.chunks[2] ?? token.chunks[0].replace( /^(\\t| (?:\\+\\+|--|\\*\\*| ) )/gm , '' ) ).replace( /[\\n\\r]*$/ , '' )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tquote_text( index : number ) {\n\t\t\treturn this.flow_tokens()[ index ].chunks[0].replace( /^[>\"] /mg , '' )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tlist_text( index : number ) {\n\t\t\treturn this.flow_tokens()[ index ].chunks[0].replace( /^([-*+]|(?:\\d+[\\.\\)])+) ?/mg , '' ).replace( /^ ?/mg, '' )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tcell_content( indexBlock : number ) {\n\t\t\treturn this.flow_tokens()[ indexBlock ].chunks[ 0 ]\n\t\t\t.split( /\\r?\\n/g )\n\t\t\t.filter( row => row && !/\\|--/.test( row ) )\n\t\t\t.map( ( row , rowId ) => {\n\t\t\t\treturn row.split( /\\|/g )\n\t\t\t\t.filter( cell => cell )\n\t\t\t\t.map( ( cell , cellId )=> cell.trim() )\n\t\t\t} )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttable_rows( blockId : number ) {\n\t\t\treturn this.cell_content( blockId )\n\t\t\t.slice( 1 )\n\t\t\t.map( ( row , rowId )=> this.Table_row({ block : blockId , row : rowId + 1 }) )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttable_head_cells( blockId : number ) {\n\t\t\treturn this.cell_content( blockId )[ 0 ]\n\t\t\t.map( ( cell , cellId )=> this.Table_cell({ block : blockId , row : 0 , cell : cellId }) )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttable_cells( id : { block : number , row : number } ) {\n\t\t\treturn this.cell_content( id.block )[ id.row ]\n\t\t\t.map( ( cell , cellId )=> this.Table_cell({ block : id.block , row : id.row , cell : cellId }) )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttable_cell_text( id : { block : number , row : number , cell : number } ) {\n\t\t\treturn this.cell_content( id.block )[ id.row ][ id.cell ]\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tgrid_content( indexBlock: number ) {\n\t\t\treturn [ ... this.flow_tokens()[ indexBlock ].chunks[ 0 ].match( /(?:^! .*?$\\r?\\n?)+(?:^ +! .*?$\\r?\\n?)*/gm )! ]\n\t\t\t.map( ( row , rowId ) => {\n\t\t\t\tconst cells = [] as string[]\n\t\t\t\tfor( const line of row.trim().split( /\\r?\\n/ ) ) {\n\t\t\t\t\tconst [ _, indent, content ] = /^( *)! (.*)/.exec( line )!\n\t\t\t\t\tconst col = Math.ceil( indent.length / 2 )\n\t\t\t\t\tcells[ col ] = ( cells[ col ] ? cells[ col ] + '\\n' : '' ) + content\n\t\t\t\t}\n\t\t\t\treturn cells\n\t\t\t} )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tgrid_rows( blockId: number ) {\n\t\t\treturn this.grid_content( blockId )\n\t\t\t.map( ( row, rowId )=> this.Grid_row({ block: blockId , row: rowId }) )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tgrid_cells( id: { block: number, row: number } ) {\n\t\t\treturn this.grid_content( id.block )[ id.row ]\n\t\t\t.map( ( cell , cellId )=> this.Grid_cell({ block: id.block, row: id.row, cell: cellId }) )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tgrid_cell_text( id: { block: number, row: number, cell: number } ) {\n\t\t\treturn this.grid_content( id.block )[ id.row ][ id.cell ]\n\t\t}\n\t\t\n\t\turi_base() {\n\t\t\treturn $mol_dom_context.document.location.href\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\turi_base_abs() {\n\t\t\treturn new URL( this.uri_base() , $mol_dom_context.document.location.href )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\turi_resolve( uri: string ) {\n\t\t\t\n\t\t\tif( /^(\\w+script+:)+/.test( uri ) ) return null as any as string\n\t\t\t\n\t\t\tif( /^#\\!/.test( uri ) ) {\n\t\t\t\t\n\t\t\t\tconst params: Record< string, string > = {}\n\t\t\t\n\t\t\t\tfor( const chunk of uri.slice(2).split( this.$.$mol_state_arg.separator ) ) {\n\t\t\t\t\tif( !chunk ) continue\n\t\t\t\t\tconst vals = chunk.split( '=' ).map( decodeURIComponent )\n\t\t\t\t\tparams[ vals.shift()! ] = vals.join( '=' )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn this.$.$mol_state_arg.link( params )\n\t\n\t\t\t}\n\t\t\t\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tconst url = new URL( uri , this.uri_base_abs() )\n\t\t\t\treturn url.toString()\n\t\t\t\t\n\t\t\t} catch( error ) {\n\t\t\t\t\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn null as any as string\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tcode_syntax() {\n\t\t\treturn this.$.$mol_syntax2_md_code\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tblock_text( index: number ) {\n\t\t\t\n\t\t\tconst token = this.flow_tokens()[ index ]\n\t\t\t\n\t\t\tswitch( token.name ) {\n\t\t\t\tcase 'header' : return token.chunks[2]\n\t\t\t\tdefault: return token.chunks[0]\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tblock_content( index: number ) {\n\t\t\treturn this.line_content([ index ])\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_tokens( path: readonly number[] ) {\n\t\t\t\n\t\t\tconst tokens = [] as { name : string , found : string , chunks: string[] }[]\n\t\t\t\n\t\t\tthis.$.$mol_syntax2_md_line.tokenize(\n\t\t\t\tthis.line_text( path ),\n\t\t\t\t( name , found , chunks )=> tokens.push({ name , found , chunks }),\n\t\t\t)\n\t\t\t\n\t\t\treturn tokens as Readonly< typeof tokens >\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_token( path: readonly number[] ) {\n\t\t\tconst tokens = this.line_tokens( path.slice( 0, path.length - 1 ) )\n\t\t\treturn tokens[ path[ path.length - 1 ] ]\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_type( path: readonly number[] ) {\n\t\t\treturn this.line_token( path ).name\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_text( path: readonly number[] ) {\n\t\t\t\n\t\t\tif( path.length === 1 ) return this.block_text( path[0] )\n\t\t\t\n\t\t\tconst { name, found, chunks } = this.line_token( path )\n\t\t\t\n\t\t\tswitch( name ) {\n\t\t\t\tcase 'link': return chunks[0] || chunks[1].replace( /^.*?\\/\\/|\\/.*$/g, '' )\n\t\t\t\tcase 'text-link': return chunks[0] || chunks[1].replace( /^.*?\\/\\/|\\/.*$/g, '' )\n\t\t\t\tdefault: return ( chunks[0] || chunks[1] || chunks[2] ) ?? found\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_content( path: readonly number[] ) {\n\t\t\treturn this.line_tokens( path ).map( ( { name, chunks }, index )=> {\n\t\t\t\t\n\t\t\t\tconst path2 = [ ... path, index ]\n\t\t\t\t\n\t\t\t\tswitch( name ) {\n\t\t\t\t\tcase 'embed': return this.Embed( path2 )\n\t\t\t\t\tcase 'link' : return this.Link( path2 )\n\t\t\t\t\tcase 'text-link-http': return this.Link_http( path2 )\n\t\t\t\t\tcase 'text-link' : return this.Link( path2 )\n\t\t\t\t\tcase 'image-link': return this.Embed( path2 )\n\t\t\t\t\tcase 'code': return this.Code_line( path2 )\n\t\t\t\t\tcase '': return this.String( path2 )\n\t\t\t\t\tdefault: return this.Span( path2 )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tlink_uri( path: readonly number[] ) {\n\t\t\t\n\t\t\tconst token = this.line_token( path )\n\t\t\tconst uri = this.uri_resolve( token.chunks[1] ?? token.found )\n\t\t\t\n\t\t\tif( !uri ) throw new Error( 'Bad link' )\n\t\t\treturn uri\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tlink_host( path: readonly number[] ) {\n\t\t\treturn this.link_uri( path ).replace( /^.*?\\/\\/|\\/.*$/g, '' )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tauto_scroll() {\n\t\t\tfor( const [ index, token ] of this.flow_tokens().entries() ) {\n\t\t\t\t\n\t\t\t\tif( token.name !== 'header' ) continue\n\t\t\t\t\n\t\t\t\tconst header = this.Header( index )\n\t\t\t\tif( !header.Link().current() ) continue\n\t\t\t\t\n\t\t\t\tnew $mol_after_tick(\n\t\t\t\t\t()=> this.ensure_visible( header )\n\t\t\t\t)\n\t\t\t\t\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tspoiler_rows( index: number ): string[] {\n\t\t\treturn this.flow_tokens()[ index ].chunks[0].replace( /^[\\?] /mg , '' ).split('\\n');\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tspoiler_label( index: number ): string {\n\t\t\treturn this.spoiler_rows(index)[0];\n\t\t}\n\t\n\t\t@ $mol_mem_key\n\t\tspoiler_content( index: number): string {\n\t\t\treturn this.spoiler_rows(index).slice(1).join('\\n');\n\t\t}\n\t}\n\t\n\texport class $mol_text_header extends $.$mol_text_header {\n\t\t\n\t\tdom_name() {\n\t\t\treturn 'h' + this.level()\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/text/text/text.view.css\",\n \"[mol_text] {\\n\\tline-height: 1.5em;\\n\\tbox-sizing: border-box;\\n\\tborder-radius: var(--mol_gap_round);\\n\\twhite-space: pre-line;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tflex: 0 0 auto;\\n\\ttab-size: 4;\\n}\\n\\n[mol_text_paragraph] {\\n\\tpadding: var(--mol_gap_text);\\n\\toverflow: auto;\\n\\toverflow-x: overlay;\\n\\tmax-width: 100%;\\n\\tdisplay: block;\\n\\tmax-width: 60rem;\\n}\\n\\n[mol_text_spoiler_label_paragraph] {\\n\\tpadding: 0;\\n}\\n\\n[mol_text_span] {\\n\\tdisplay: inline;\\n}\\n\\n[mol_text_string] {\\n\\tdisplay: inline;\\n\\tflex: 0 1 auto;\\n\\twhite-space: normal;\\n}\\n\\n[mol_text_quote] {\\n\\tmargin: var(--mol_gap_block);\\n\\tpadding: var(--mol_gap_block);\\n\\tbackground: var(--mol_theme_card);\\n\\tbox-shadow: 0 0 0 1px var(--mol_theme_back);\\n}\\n\\n[mol_text_header] {\\n\\tdisplay: block;\\n\\ttext-shadow: 0 0;\\n\\tfont-weight: normal;\\n}\\n\\n* + [mol_text_header] {\\n\\tmargin-top: 0.75rem;\\n}\\n\\nh1[mol_text_header] {\\n\\tfont-size: 1.5rem;\\n}\\n\\nh2[mol_text_header] {\\n\\tfont-size: 1.5rem;\\n\\tfont-style: italic;\\n}\\n\\nh3[mol_text_header] {\\n\\tfont-size: 1.25rem;\\n}\\n\\nh4[mol_text_header] {\\n\\tfont-size: 1.25em;\\n\\tfont-style: italic;\\n}\\n\\nh5[mol_text_header] {\\n\\tfont-size: 1rem;\\n}\\n\\nh6[mol_text_header] {\\n\\tfont-size: 1rem;\\n\\tfont-style: italic;\\n}\\n\\n[mol_text_header_link] {\\n\\tcolor: inherit;\\n}\\n\\n[mol_text_table_cell] {\\n\\twidth: auto;\\n\\tdisplay: table-cell;\\n\\tvertical-align: baseline;\\n\\tpadding: 0;\\n\\tborder-radius: 0;\\n}\\n\\n[mol_text_grid_cell] {\\n\\twidth: auto;\\n\\tdisplay: table-cell;\\n\\tvertical-align: top;\\n\\tpadding: 0;\\n\\tborder-radius: 0;\\n}\\n\\n[mol_text_cut] {\\n\\tborder: none;\\n\\twidth: 100%;\\n\\tbox-shadow: 0 0 0 1px var(--mol_theme_line);\\n}\\n\\n[mol_text_link_http],\\n[mol_text_link] {\\n\\tpadding: 0;\\n\\tdisplay: inline;\\n\\twhite-space: nowrap;\\n}\\n\\n[mol_text_link_icon] + [mol_text_embed] {\\n\\tmargin-left: -1.5rem;\\n}\\n\\n[mol_text_embed_youtube] {\\n\\tdisplay: inline;\\n}\\n\\n[mol_text_embed_youtube_image],\\n[mol_text_embed_youtube_frame],\\n[mol_text_embed_object] {\\n\\tobject-fit: contain;\\n\\tobject-position: center;\\n\\tdisplay: inline;\\n\\twidth: 100vw;\\n\\tmax-height: calc( 100vh - 6rem );\\n\\tvertical-align: top;\\n}\\n[mol_text_embed_object_fallback] {\\n\\tpadding: 0;\\n}\\n[mol_text_embed_image] {\\n\\tobject-fit: contain;\\n\\tobject-position: center;\\n\\tdisplay: inline;\\n\\t/* max-height: calc( 100vh - 6rem ); */\\n\\tvertical-align: top;\\n}\\n\\n[mol_text_pre] {\\n\\twhite-space: pre;\\n\\toverflow-x: auto;\\n\\toverflow-x: overlay;\\n\\ttab-size: 2;\\n}\\n\\n[mol_text_code_line] {\\n\\tdisplay: inline-block;\\n\\twhite-space: nowrap;\\n}\\n\\n[mol_text_type=\\\"strong\\\"] {\\n\\ttext-shadow: 0 0;\\n\\tfilter: contrast(1.5);\\n}\\n\\n[mol_text_type=\\\"emphasis\\\"] {\\n\\tfont-style: italic;\\n}\\n\\n[mol_text_type=\\\"insert\\\"] {\\n\\tcolor: var(--mol_theme_special);\\n}\\n\\n[mol_text_type=\\\"delete\\\"] {\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\\n[mol_text_type=\\\"remark\\\"] {\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\\n[mol_text_type=\\\"quote\\\"] {\\n\\tfont-style: italic;\\n}\\n\"\n) }","$mol_text_list $mol_text\n\tauto_scroll null\n\tattr *\n\t\t^\n\t\tmol_text_list_type <= type \\\n\tParagraph* $mol_text_list_item\n\t\tindex <= item_index*\n\t\tsub <= block_content*\n\n$mol_text_list_item $mol_paragraph\n\tattr *\n\t\t^\n\t\tmol_text_list_item_index <= index 0\n","namespace $ { $mol_style_attach( \"mol/text/list/list.view.css\",\n \"[mol_text_list] {\\r\\n\\tpadding-left: 1.75rem;\\r\\n}\\r\\n\\r\\n[mol_text_list_item] {\\r\\n\\tcontain: none;\\r\\n\\tdisplay: list-item;\\r\\n}\\r\\n\\r\\n[mol_text_list_item]::before {\\r\\n\\tcontent: attr( mol_text_list_item_index ) \\\".\\\";\\r\\n\\twidth: 1.25rem;\\r\\n\\tdisplay: inline-block;\\r\\n\\tposition: absolute;\\r\\n\\tmargin-left: -1.75rem;\\r\\n\\ttext-align: end;\\r\\n}\\r\\n\\r\\n[mol_text_list_type=\\\"-\\\"] > [mol_text_list_item]::before,\\r\\n[mol_text_list_type=\\\"*\\\"] > [mol_text_list_item]::before {\\r\\n\\tcontent: \\\"•\\\";\\r\\n}\\r\\n\"\n) }","$mol_app_demo_readme $mol_page\n\treadme_link_template \\https://raw.githubusercontent.com/{repo}/HEAD/{module}/readme.md\n\tsource_link_template \\https://github.com/{repo}/tree/HEAD/{module}\n\trepo \\\n\tmodule /string\n\ttitle @ \\Readme\n\topened? false\n\ttools /\n\t\t<= Source_link $mol_link_source\n\t\t\turi <= source_link \\\n\t\t\thint <= source_hint @ \\Source code of this demo\n\t\t<= Close $mol_button_minor\n\t\t\thint @ \\Close panel\n\t\t\tsub /\n\t\t\t\t<= Close_icon $mol_icon_close\n\t\t\tclick? <=> close? null\n\t-\n\tReadme $mol_text\n\t\ttext <= readme \\\n\t\turi_base <= uri_base? \\\n\tNot_found $mol_view sub /\n\t\t<= Not_found_caption @ \\Readme not found\n","namespace $ {\n\n\texport function $mol_dom_parse(\n\t\ttext : string ,\n\t\ttype : DOMParserSupportedType = 'application/xhtml+xml' ,\n\t) {\n\n\t\tconst parser = new $mol_dom_context.DOMParser()\n\t\tconst doc = parser.parseFromString( text , type )\n\t\t\n\t\tconst error = doc.getElementsByTagName( 'parsererror' )\n\t\tif( error.length ) throw new Error( error[0].textContent! )\n\n\t\treturn doc\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_fetch_response extends $mol_object2 {\n\n\t\tconstructor( readonly native : Response ) {\n\t\t\tsuper()\n\t\t}\n\n\t\tstatus() {\n\t\t\tconst types = [ 'unknown', 'inform', 'success', 'redirect', 'wrong', 'failed' ] as const\n\t\t\treturn types[ Math.floor( this.native.status / 100 ) ]\n\t\t}\n\t\t\n\t\tcode() {\n\t\t\treturn this.native.status\n\t\t}\n\t\t\n\t\tmessage() {\n\t\t\treturn this.native.statusText || `HTTP Error ${ this.code() }`\n\t\t}\n\n\t\theaders() {\n\t\t\treturn this.native.headers\n\t\t}\n\n\t\tmime() {\n\t\t\treturn this.headers().get( 'content-type' )\n\t\t}\n\n\t\t@ $mol_action\n\t\tstream() {\n\t\t\treturn this.native.body\n\t\t}\n\n\t\t@ $mol_action\n\t\ttext() {\n\n\t\t\tconst buffer = this.buffer()\n\n\t\t\tconst native = this.native\n\t\t\tconst mime = native.headers.get( 'content-type' ) || ''\n\t\t\tconst [,charset] = /charset=(.*)/.exec( mime ) || [, 'utf-8']\n\t\t\t\n\t\t\tconst decoder = new TextDecoder( charset )\n\t\t\treturn decoder.decode( buffer )\n\n\t\t}\t\n\n\t\tjson() {\n\t\t\treturn $mol_wire_sync( this.native ).json() as unknown\n\t\t}\t\n\n\t\tblob() {\n\t\t\treturn $mol_wire_sync( this.native ).blob()\n\t\t}\n\n\n\t\tbuffer() {\n\t\t\treturn $mol_wire_sync( this.native ).arrayBuffer()\n\t\t}\n\n\t\t@ $mol_action\n\t\txml() {\n\t\t\treturn $mol_dom_parse( this.text() , 'application/xml' )\n\t\t}\n\n\t\t@ $mol_action\n\t\txhtml() {\n\t\t\treturn $mol_dom_parse( this.text() , 'application/xhtml+xml' )\n\t\t}\n\n\t\t@ $mol_action\n\t\thtml() {\n\t\t\treturn $mol_dom_parse( this.text() , 'text/html' )\n\t\t}\n\n\t}\n\n\texport class $mol_fetch extends $mol_object2 {\n\t\t\n\t\tstatic request( input : RequestInfo , init : RequestInit = {} ) {\n\t\t\tconst native = globalThis.fetch ?? $node['undici'].fetch\n\t\t\t\n\t\t\tconst controller = new AbortController()\n\t\t\tlet done = false\n\t\t\t\n\t\t\tconst promise = native( input , {\n\t\t\t\t... init,\n\t\t\t\tsignal: controller!.signal,\n\t\t\t} ).finally( ()=> {\n\t\t\t\tdone = true\n\t\t\t} )\n\t\t\t\n\t\t\treturn Object.assign( promise, {\n\t\t\t\tdestructor: ()=> {\n\t\t\t\t\t// Abort of done request breaks response parsing\n\t\t\t\t\tif( !done && !controller.signal.aborted ) controller.abort()\n\t\t\t\t},\n\t\t\t} )\n\t\t\t\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic response( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn new $mol_fetch_response( $mol_wire_sync( this ).request( input , init ) )\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic success( input: RequestInfo, init?: RequestInit ) {\n\n\t\t\tconst response = this.response( input , init )\n\t\t\tif( response.status() === 'success' ) return response\n\t\t\t\n\t\t\tthrow new Error( response.message() )\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic stream( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).stream()\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic text( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).text()\n\t\t}\t\n\n\t\t@ $mol_action\n\t\tstatic json( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).json()\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic blob( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).blob()\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic buffer( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).buffer()\n\t\t}\t\n\n\t\t@ $mol_action\n\t\tstatic xml( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).xml()\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic xhtml( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).xhtml()\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic html( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).html()\n\t\t}\n\n\t}\n\n}\n\n","namespace $.$$ {\n\texport class $mol_app_demo_readme_not_found_error extends Error {\n\t\tconstructor( public module: readonly string[] ) {\n\t\t\tsuper( 'Readme not found' )\n\t\t}\n\t}\n\n\texport class $mol_app_demo_readme extends $.$mol_app_demo_readme {\n\t\t\n\t\tclose() {\n\t\t\tthis.opened( false )\n\t\t}\n\n\t\tlink( template: string, repo: string, module: readonly string[] ) {\n\t\t\treturn template.replace( '{repo}', repo ).replace( '{module}' , module.join('/') )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\turi_base( next = '' ) {\n\t\t\t$mol_wire_solid()\n\t\t\treturn next\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsource_link() {\n\t\t\treturn this.link( this.source_link_template(), this.repo(), this.module() )\n\t\t}\n\n\t\t@ $mol_mem\n\t\toverride readme(): string {\n\t\t\tlet module = this.module()\n\n\t\t\twhile( module.length ) {\n\t\t\t\ttry {\n\t\t\t\t\tconst link = this.link( this.readme_link_template(), this.repo(), module )\n\t\t\t\t\tconst text = this.$.$mol_fetch.text( link )\n\t\t\t\t\tthis.uri_base( this.link( this.source_link_template(), this.repo(), module ) )\n\t\t\t\t\treturn text\n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\tif( error instanceof Promise ) $mol_fail_hidden( error )\n\t\t\t\t\tmodule = module.slice( 0 , -1 )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tthrow new $mol_app_demo_readme_not_found_error( module )\n\t\t}\n\n\t\t@ $mol_mem\n\t\toverride body() {\n\t\t\ttry {\n\t\t\t\tthis.readme()\n\t\t\t\treturn [ this.Readme() ]\n\t\t\t} catch ( err ) {\n\t\t\t\tif( err instanceof Promise ) $mol_fail_hidden( err )\n\t\t\t\treturn [ this.Not_found() ]\n\t\t\t}\n\t\t}\n\t\t\n\t}\n}\n","$mol_status $mol_view\n\tstatus <= title\n\tminimal_height 24\n\tminimal_width 0\n\tsub /\n\t\t<= message \\\n","namespace $.$$ {\n\t\n\texport class $mol_status extends $.$mol_status {\n\t\t\n\t\tmessage() {\n\t\t\ttry {\n\t\t\t\treturn this.status() ?? null\n\t\t\t} catch( error: any ) {\n\t\t\t\tif( error instanceof Promise ) $mol_fail_hidden( error )\n\t\t\t\treturn error.message\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/status/status.view.css\",\n \"[mol_status] {\\n\\tpadding: var(--mol_gap_text);\\n\\tborder-radius: var(--mol_gap_round);\\n\\tdisplay: block;\\n}\\n\\n[mol_status]:not([mol_view_error=\\\"Promise\\\"]) {\\n\\tcolor: var(--mol_theme_focus);\\n}\\n\\n[mol_status]:not([mol_view_error=\\\"Promise\\\"]):empty {\\n\\tdisplay: none;\\n}\\n\"\n) }","$mol_app_demo $mol_book2\n\teditor_title <= detail_title \\$mol\n\tmeta_bundle_base \\\n\trepo_dict *\n\tplugins /\n\t\t<= Theme $mol_theme_auto\n\t\t<= Search_start $mol_hotkey\n\t\t\tkey * F? <=> search_start?\n\t\t\tmod_ctrl true\n\tdemo_block_list /\n\t\t\\$mol_example_small\n\t\t\\$mol_example_large\n\tMenu $mol_app_demo_menu\n\t\ttitle <= menu_title @ \\$mol examples\n\t\tnames <= names /string\n\t\twidget_tags* <= widget_tags* /string\n\t\twidget_aspects* <= widget_aspects* /string\n\t\twidget_title* <= widget_title* \\\n\t\tsearch_start? => search_start?\n\t\ttools <= tools /\n\t\t\t<= Sources $mol_link_source\n\t\t\t\turi <= sources_uri \\https://github.com/hyoo-ru/mam_mol/\n\t\t\t<= Lights $mol_lights_toggle\n\tDetail* $mol_app_demo_detail\n\t\tchat_seed <= chat_seed* \\p9zx0v_nsmx1d\n\t\tchat_pages => chat_pages*\n\t\ttitle <= detail_title\n\t\tdescription <= detail_description \\\n\t\tedit_uri <= edit_uri \\\n\t\treadme? <=> readme_page? false\n\t\tDemo <= Demo $mol_view\n\tReadme_page $mol_app_demo_readme\n\t\trepo <= repo \\\n\t\topened? <=> readme_page? false\n\t\tmodule <= module /string\n\tDetail_empty_message $mol_status\n\t\tsub /\n\t\t\t<= detail_empty_prefix @ \\No one demo with prefix \"\n\t\t\t<= selected \\\n\t\t\t<= detail_empty_postfix @ \\\"\n","namespace $ {\n\n\texport function $mol_func_is_class<\n\t\tFunc extends Function\n\t>(\n\t\tfunc: Func\n\t): func is Func & ( new( ...args: any[] )=> any ) {\n\t\treturn Object.getOwnPropertyDescriptor( func, 'prototype' )?.writable === false\n\t}\n\n}\n","$mol_app_demo_main $mol_page\n\tminimal_width 400\n\ttitle \\$mol libs for web ui\n\ttools /\n\t\t<= Lights $mol_lights_toggle\n\t\t<= Project $mol_link_source\n\t\t\turi <= project_uri \\https://github.com/eigenmethod/mol/tree/master/\n\tbody /\n\t\t<= Description $mol_text\n\t\t\ttext <= description \\\n\t\t\turi_base <= project_uri\n","namespace $.$$ {\n\t\n\texport class $mol_app_demo_main extends $.$mol_app_demo_main {\n\n\t\t@ $mol_mem\n\t\tdescription() {\n\t\t\treturn $mol_file.relative( 'mol/readme.md' ).text() as string\n\t\t}\n\n\t}\n\t\n}\n","namespace $.$$ {\n\t\n\texport class $mol_app_demo extends $.$mol_app_demo {\n\n\t\t@ $mol_mem_key\n\t\tcomponent_name( name: string ) {\n\t\t\treturn name.split( '_demo' )?.[ 0 ] ?? name\n\t\t}\n\t\t\n\t\toverride detail_title() {\n\t\t\tconst selected = this.selected()\n\t\t\t\n\t\t\treturn selected ? this.component_name( selected ) : super.title()\n\t\t}\n\n\t\toverride detail_description() {\n\t\t\treturn this.Demo().title()\n\t\t}\n\n\t\t@ $mol_mem\n\t\toverride names() {\n\t\t\tconst next : string[] = []\n\n\t\t\tfor( const name in this.$ ) {\n\t\t\t\tconst ctor = this.$[name as keyof $]\n\t\t\t\t\n\t\t\t\tif( typeof ctor !== 'function' ) continue\n\n\t\t\t\tif( !$mol_func_is_class( ctor ) ) continue\n\n\t\t\t\tif( !( ctor.prototype instanceof $mol_example ) ) continue\n\n\t\t\t\tif ( this.demo_block_list().includes( name ) ) continue\n\t\t\t\t\n\t\t\t\tnext.push( name )\n\t\t\t}\n\n\t\t\treturn next.sort()\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\toverride widget_tags( name: string ) {\n\t\t\tconst component_name = this.component_name( name )\n\n\t\t\tconst tags = this.Widget( name ).tags().map( tag => tag.toLowerCase() )\n\n\t\t\tif( tags.length === 0 ) {\n\n\t\t\t\tconsole.warn( `Demo widget without tags: ${ name }` )\n\n\t\t\t\treturn [ component_name ]\n\n\t\t\t} else {\n\n\t\t\t\treturn [ ...tags, component_name ]\n\n\t\t\t}\n\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\toverride widget_title( name: string ) {\n\t\t\treturn this.Widget( name ).title()\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\toverride widget_aspects( name: string ) {\n\t\t\treturn this.Widget( name ).aspects()\n\t\t}\n\n\t\toverride selected() {\n\t\t\tlet value = $mol_state_arg.value( 'demo' ) || ''\n\t\t\tif (value && ! value.startsWith('$')) value = '$' + value\n\n\t\t\treturn value\n\t\t}\n\t\t\n\t\treadme_page( next?: boolean ) {\n\t\t\treturn $mol_state_session.value( 'readme', next ) ?? false\n\t\t}\n\n\t\tselected_class_name() {\n\t\t\treturn this.selected()\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tWidget( name : string ) {\n\t\t\treturn new (this.$ as any)[name] as $mol_example\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tnames_demo() {\n\t\t\tconst selected = this.selected()\n\t\t\treturn [ selected ]\n\t\t}\n\t\t\n\t\toverride pages() {\n\t\t\tlet sub : $mol_view[] = []\n\t\t\t\n\t\t\tsub.push( this.Menu() )\n\t\t\t\n\t\t\tconst selected = this.selected()\n\t\t\tif( !selected ) return sub\n\t\t\t\n\t\t\tsub.push( this.Detail( selected ) )\n\t\t\t\n\t\t\tconst readme_page = this.readme_page()\n\t\t\tif ( readme_page ) sub.push( this.Readme_page() )\n\t\t\t\n\t\t\tsub.push( ... this.chat_pages( selected ) )\n\t\t\t\n\t\t\treturn sub\n\t\t}\n\n\t\toverride Demo() {\n\t\t\treturn this.Widget( this.selected() )\n\t\t}\n\t\t\n\t\tlogo_uri() {\n\t\t\treturn $mol_file.relative( '/mol/logo/logo.svg' ).path()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tmeta_bundle_base(){\n\t\t\treturn this.$.$mol_state_arg.make_link({})\n\t\t}\n\n\t\t@ $mol_mem\n\t\trepo_dict() {\n\t\t\tconst meta_uri = new URL( 'web.meta.tree', this.meta_bundle_base() ).toString()\n\t\t\tconst str = this.$.$mol_fetch.text( meta_uri )\n\t\t\tconst tree = this.$.$mol_tree2_from_string( str )\n\t\t\t\n\t\t\tconst dict: Record = {}\n\t\t\ttree.kids.forEach( meta => {\n\t\t\t\tconst packs = meta.select( 'pack' )\n\t\t\t\t\n\t\t\t\tpacks.kids.forEach( pack => {\n\t\t\t\t\tconst module_name = meta.value === '/' ? pack.kids[0]?.type :\n\t\t\t\t\t\t[ ...meta.value.split('/').slice( 1 ), pack.kids[0]?.type ].join('_')\n\t\t\t\t\t\n\t\t\t\t\tconst repo = pack.kids[0]?.kids[0]?.kids[0]?.value\n\t\t\t\t\t\t.split('.git')[0].split('/').slice( -2 ).join('/')\n\t\t\t\t\t\n\t\t\t\t\tif (!repo) throw new Error(`${ this }.repo_dict(): Pack node \"${ pack.toString() }\" does not contain a valid git url`)\n\t\t\t\t\t\n\t\t\t\t\tdict[module_name] = repo\n\t\t\t\t} )\n\t\t\t} )\n\t\t\t\n\t\t\treturn dict\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tname_parse( name: string ) {\n\t\t\tconst split = name.replace( /\\$/, '' ).split('_')\n\t\t\t\n\t\t\tconst repos = this.repo_dict() as Record\n\t\t\tconst keys = split.map( ( _ , index ) => split.slice( 0 , -1-index ).join('_') )\n\t\t\tconst key = keys.find( key => key in repos )\n\t\t\t\n\t\t\tif ( !key ) throw new Error(`${ this }.name_parse(\"${ name }\"): Key \"${ key }\" not found`)\n\n\t\t\tconst repo = repos[ key ]\n\t\t\tconst module = split.slice( key.split('_').length )\n\t\t\t\n\t\t\treturn { repo , module }\n\t\t}\n\t\t\n\t\toverride repo() {\n\t\t\treturn this.name_parse( $mol_state_arg.value( 'demo' )! ).repo\n\t\t}\n\t\t\n\t\toverride module() {\n\t\t\treturn this.name_parse( this.selected() ).module\n\t\t}\n\t\t\n\t\tchat_link() {\n\t\t\treturn $mol_state_arg.make_link({ demo : this.selected() })\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\toverride edit_uri() {\n\t\t\tconst source = encodeURIComponent( `$${''}my_app ${ this.selected() }` )\n\t\t\tconst pack = encodeURIComponent( this.$.$mol_state_arg.make_link({}) )\n\t\t\treturn `https://studio.hyoo.ru/#!pack=${ pack }/source=${ source }/preview`\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/app/demo/demo.view.css\",\n \"\\n[mol_app_demo_main],\\n[mol_app_demo_detail],\\n[mol_app_empty_message] {\\n\\tflex: 1000 0 40rem;\\n}\\n\\n[mol_app_demo_nav_table] {\\n\\twidth: 100%;\\n\\tbox-sizing: border-box;\\n}\\n\\n[mol_app_demo_nav_row] {\\n\\tdisplay: flex;\\n}\\n\\n[mol_app_demo_nav_option] {\\n\\tpadding: 0 .5rem 0 0;\\n\\tdisplay: flex;\\n\\tflex: 1;\\n\\talign-items: center;\\n\\tbox-shadow: none;\\n}\\n\\n[mol_app_demo_nav_expand] {\\n\\talign-self: stretch;\\n\\talign-items: center;\\n\\tpadding-right: .25rem;\\n}\\n\\n[mol_app_demo_nav_content] {\\n\\tflex-grow: 1;\\n}\\n\\n[mol_app_demo_list] {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\talign-content: flex-start;\\n\\talign-items: flex-start;\\n}\\n\\n[mol_app_demo_screen] {\\n\\tmax-height: 45%;\\n}\\n\\n[mol_app_demo_detail_body] {\\n\\tdisplay: flex;\\n\\talign-items: stretch;\\n\\tjustify-content: flex-start;\\n\\tflex-direction: column;\\n}\\n\\n[mol_app_demo_detail_list] {\\n\\tflex: 1 0 100%;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\\n[mol_app_demo_page_close] {\\n\\tcolor: inherit;\\n\\talign-items: center;\\n\\tpadding: 1rem;\\n}\\n\\n[mol_app_demo_welcome] {\\n\\tflex: 1 1 auto;\\n}\\n\\n[mol_app_demo_option_link] {\\n\\tpadding: 0;\\n}\\n\\n[mol_app_demo_sample_large] {\\n\\tbox-sizing: border-box;\\n}\\n\\n[mol_app_demo_detail_empty_message] {\\n\\tmargin: auto;\\n}\\n\\n[mol_app_demo_chat] {\\n\\tflex: none;\\n}\\n\\n[mol_app_demo_readme] {\\n\\tflex: 1 0 40rem;\\n}\\n\\n[mol_app_demo_readme_not_found] {\\n\\tdisplay: flex;\\n\\tflex: 1 0;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\tfont-size: 2rem;\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\"\n) }","$mol_row $mol_view\n","namespace $ { $mol_style_attach( \"mol/row/row.view.css\",\n \"[mol_row] {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\talign-items: flex-start;\\n\\talign-content: flex-start;\\n\\tjustify-content: flex-start;\\n\\tpadding: var(--mol_gap_block);\\n\\tgap: var(--mol_gap_block);\\n\\tflex: 0 0 auto;\\n\\tbox-sizing: border-box;\\n\\tmax-width: 100%;\\n}\\n\\n[mol_row] > * {\\n\\tmax-width: 100%;\\n}\\n\"\n) }","$mol_form $mol_list\n\tsubmit_allowed true\n\tsubmit_blocked false\n\tevent *\n\t\t^\n\t\tkeydown?event <=> keydown?event null\n\tsubmit?event null\n\trows /\n\t\t<= Body $mol_list\n\t\t\tsub <= body <= form_fields /$mol_form_field\n\t\t<= Foot $mol_row\n\t\t\tsub <= foot <= buttons /$mol_view\n","namespace $.$$ {\n\n\t/**\n\t * Form, that contains form fields and action buttons.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_form_demo\n\t */\n\texport class $mol_form extends $.$mol_form {\n\t\t\n\t\t@ $mol_mem\n\t\tform_fields() {\n\t\t\treturn [ ... this.view_find( view => view instanceof $mol_form_field ) ]\n\t\t\t\t.map( path => path[ path.length - 1 ] ) as any as readonly $mol_form_field[]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsubmit_allowed() {\n\t\t\treturn this.form_fields().every( field => !field.bid() )\n\t\t}\n\n\t\tsubmit_blocked( ) {\n\t\t\treturn !this.submit_allowed()\n\t\t}\n\t\t\n\t\tkeydown( next : KeyboardEvent ) {\n\t\t\tif( next.ctrlKey && next.keyCode === $mol_keyboard_code.enter && !this.submit_blocked() ) this.submit( event )\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/form/form.view.css\",\n \"[mol_form] {\\r\\n\\tgap: var(--mol_gap_block);\\r\\n}\\r\\n\\r\\n[mol_form_body] {\\r\\n\\tgap: var(--mol_gap_block);\\r\\n}\"\n) }","namespace $ {\n\n\texport class $hyoo_studio_property extends $mol_object {\n\n\t\tname(): string {\n\t\t\tthrow new Error('Not defined')\n\t\t}\n\n\t\tcomponent(): $hyoo_studio_component {\n\t\t\tthrow new Error('Not defined')\n\t\t}\n\n\t\ttree(next?: $mol_tree2): $mol_tree2 {\n\t\t\tthrow new Error('Not defined')\n\t\t}\n\n\n\t\tas< Prop extends typeof $hyoo_studio_property >( Prop: Prop ) {\n\t\t\treturn Prop.make( {\n\t\t\t\tname: () => this.name(),\n\t\t\t\ttree: next => this.tree(next)\n\t\t\t} as InstanceType< Prop > )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tmeta( next?: {\n\t\t\treadonly name?: string;\n\t\t\treadonly key?: string;\n\t\t\treadonly next?: string;\n\t\t} ) {\n\t\t\t\n\t\t\tconst tree = this.tree()\n\t\t\tconst sign = tree?.type ?? ''\n\t\t\t\n\t\t\tlet meta = [ ... sign.matchAll( $mol_view_tree2_prop_signature ) ][0]?.groups ?? {\n\t\t\t\tname: '',\n\t\t\t\tkey: '',\n\t\t\t\tnext: '',\n\t\t\t}\n\t\t\t\n\t\t\tif( next ) {\n\n\t\t\t\tif (next.name) {\n\t\t\t\t\tthis.name = ()=> next.name!\n\t\t\t\t\tthis.component().prop_drop( meta.name )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tmeta = {\n\t\t\t\t\t... meta,\n\t\t\t\t\t... next,\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t// const sign = $mol_view_tree2_prop_signature.generate( meta )!\n\t\t\t\tconst sign = `${meta.name}${meta.key || ''}${meta.next || ''}`\n\t\t\t\tthis.tree( tree.struct( sign, tree.kids ) )\n\t\t\t\t\n\t\t\t}\n\n\t\t\treturn meta\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttitle( next?: string ) {\n\t\t\t\n\t\t\treturn this.meta(\n\t\t\t\tnext === undefined\n\t\t\t\t? undefined\n\t\t\t\t: { name: next }\n\t\t\t).name\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tkey( next?: boolean ) {\n\t\t\t\n\t\t\treturn Boolean(\n\t\t\t\tthis.meta(\n\t\t\t\t\tnext === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: {\n\t\t\t\t\t\tkey: next ? '*' : '',\n\t\t\t\t\t}\n\t\t\t\t).key\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tnext( next?: boolean ) {\n\t\t\t\n\t\t\treturn Boolean(\n\t\t\t\tthis.meta(\n\t\t\t\t\tnext === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: {\n\t\t\t\t\t\tnext: next ? '?' : '',\n\t\t\t\t\t}\n\t\t\t\t).next\n\t\t\t)\n\t\t\t\n\t\t}\n\n\t}\n\n\texport class $hyoo_studio_property_unit extends $hyoo_studio_property {\n\n\t\t\n\n\t}\n\n}\n","$hyoo_studio $mol_book2\n\tcomp $hyoo_studio_component\n\tplugins /\n\t\t<= Theme $mol_theme_auto\n\tDemo $mol_app_demo\n\t\tReadme_page => Readme_page\n\t\tmeta_bundle_base <= pack\n\tpages /\n\t\t<= Edit $mol_page\n\t\t\ttitle @ \\$mol Studio\n\t\t\ttools /\n\t\t\t\t<= Source_link $mol_link_source\n\t\t\t\t\turi \\https://github.com/hyoo-ru/studio.hyoo.ru\n\t\t\t\t<= Lights $mol_lights_toggle\n\t\t\t\t<= Code_open $mol_check_icon\n\t\t\t\t\thint @ \\Show Editor\n\t\t\t\t\tchecked? <=> code_show? false\n\t\t\t\t\tsub /\n\t\t\t\t\t\t<= Editor_toggle_icon $mol_icon_card_text\n\t\t\t\t<= Inspector_open $mol_check_icon\n\t\t\t\t\thint @ \\Show Inspector\n\t\t\t\t\tchecked? <=> inspector_show? false\n\t\t\t\t\tsub /\n\t\t\t\t\t\t<= Inspect_open_icon $mol_icon_chart_bar\n\t\t\t\t<= Preview_open $mol_check_icon\n\t\t\t\t\thint @ \\Show Preview\n\t\t\t\t\tchecked? <=> preview_show? false\n\t\t\t\t\tsub /\n\t\t\t\t\t\t<= Preview_open_icon $mol_icon_play_circle\n\t\t\tbody /\n\t\t\t\t<= Edit_form $mol_list\n\t\t\t\t\trows <= form_sections /\n\t\t\t\t\t\t<= Pack_field $mol_form_field\n\t\t\t\t\t\t\tname @ \\Components Donor App\n\t\t\t\t\t\t\tContent <= Pack $mol_search\n\t\t\t\t\t\t\t\tquery? <=> pack? \\https://mol.hyoo.ru\n\t\t\t\t\t\t\t\tsuggests <= suggests /\n\t\t\t\t\t\t\t\t\t\\https://mol.hyoo.ru\n\t\t\t\t\t\t<= Config $mol_list\n\t\t\t\t\t\t\trows /\n\t\t\t\t\t\t\t\t<= Classes $mol_view\n\t\t\t\t\t\t\t\t\tsub /\n\t\t\t\t\t\t\t\t\t\t<= Self_field $mol_form_field\n\t\t\t\t\t\t\t\t\t\t\tname @ \\Component Name\n\t\t\t\t\t\t\t\t\t\t\tContent <= Self $mol_string\n\t\t\t\t\t\t\t\t\t\t\t\thint \\$hyoo_studio_example\n\t\t\t\t\t\t\t\t\t\t\t\tvalue? <=> self? \\\n\t\t\t\t\t\t\t\t\t\t<= Base_field $mol_form_field\n\t\t\t\t\t\t\t\t\t\t\tname @ \\Base Class\n\t\t\t\t\t\t\t\t\t\t\tContent <= Base_content $mol_view\n\t\t\t\t\t\t\t\t\t\t\t\tsub /\n\t\t\t\t\t\t\t\t\t\t\t\t\t<= Base $mol_select\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue? <=> base? \\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\toptions <= base_options /string\n\t\t\t\t\t\t\t\t\t\t\t\t\t<= Readme_open $mol_check_icon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thint @ \\Readme\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tchecked? <=> readme_show? false\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsub /\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<= Readme_toggle_icon $mol_icon_information_outline\n\t\t\t\t\t\t\t\t- <= Props_inherited_field $mol_form_field\n\t\t\t\t\t\t\t\t\tname @ \\Display inherited properties\n\t\t\t\t\t\t\t\t\tcontrol <= Props_inherited_control $mol_check_list\n\t\t\t\t\t\t\t\t\t\toption_checked*? <=> props_inherited_checked*? false\n\t\t\t\t\t\t\t\t\t\toptions <= Props_inherited *\n\t\t\t\t\t\t\t\t\t\t\ta \\A\n\t\t\t\t\t\t\t\t\t\t\tb \\B\n\t\t\t\t\t\t\t\t\t\t\tc \\C\n\t\t\t\t\t\t\t\t<= Props_controls $mol_view\n\t\t\t\t\t\t\t\t\tsub <= props_controls /\n\t\t\t\t\t\t\t\t\t\t<= Prop_filter $mol_search\n\t\t\t\t\t\t\t\t\t\t\thint @ \\Search property or Add one..\n\t\t\t\t\t\t\t\t\t\t\tquery? <=> prop_filter? \\\n\t\t\t\t\t\t\t\t\t\t<= Prop_add $mol_button_minor\n\t\t\t\t\t\t\t\t\t\t\thint @ \\Add this property\n\t\t\t\t\t\t\t\t\t\t\tclick? <=> prop_add? null\n\t\t\t\t\t\t\t\t\t\t\tsub /\n\t\t\t\t\t\t\t\t\t\t\t\t<= Prop_add_icon $mol_icon_plus\n\t\t\t\t\t\t\t\t<= Props $mol_list\n\t\t\t\t\t\t\t\t\trows <= props /$hyoo_studio_prop\n\t\t<= Readme_page\n\t\t<= Source_page $mol_page\n\t\t\ttitle @ \\Raw Code\n\t\t\tbody /\n\t\t\t\t<= Source_page_list $mol_list rows <= source_page_body /\n\t\t\t\t\t<= Source_prop_switch $mol_view\n\t\t\t\t\t\tsub /\n\t\t\t\t\t\t\t<= Source_prop_name $mol_paragraph title <= source_prop_name \\The property is editing: {prop_name}\n\t\t\t\t\t\t\t<= Source_prop_exit $mol_button_minor\n\t\t\t\t\t\t\t\ttitle @ \\Show all\n\t\t\t\t\t\t\t\tclick? <=> source_prop_exit? null\n\t\t\t\t\t<= Source_type $mol_deck\n\t\t\t\t\t\tcurrent? <=> soure_type_current? \\0\n\t\t\t\t\t\titems /\n\t\t\t\t\t\t\t<= Source $mol_textarea\n\t\t\t\t\t\t\t\ttitle \\Composition\n\t\t\t\t\t\t\t\thint \\$hyoo_studio_example $mol_view\n\t\t\t\t\t\t\t\tsidebar_showed true\n\t\t\t\t\t\t\t\tvalue? <=> source_tree? \\$hyoo_studio_example $mol_view\n\t\t\t\t\t\t\t<= Source_css $mol_textarea\n\t\t\t\t\t\t\t\ttitle \\Styles\n\t\t\t\t\t\t\t\thint \\\n\t\t\t\t\t\t\t\tsidebar_showed true\n\t\t\t\t\t\t\t\tvalue? <=> source_css_switch? <=> source_css? \\\n\t\t\t\t\t\t\t<= Source_js $mol_textarea\n\t\t\t\t\t\t\t\ttitle \\Behavior\n\t\t\t\t\t\t\t\thint \\\n\t\t\t\t\t\t\t\tsidebar_showed true\n\t\t\t\t\t\t\t\tvalue? <=> source_js_switch? <=> source_js? \\\n\t\t<= Preview $mol_frame\n\t\t\ttitle @ \\Preview\n\t\t\turi <= pack\n\t\t\thtml <= preview_html \\\n\t\t\twindow => preview_window\n\t\t<= Inspect $mol_page\n\t\t\ttitle @ \\Inspect\n\t\t\tbody /\n\t\t\t\t<= Inspect_stat $mol_chart\n\t\t\t\t\tgraphs /\n\t\t\t\t\t\t<= Inspect_depth $mol_plot_bar\n\t\t\t\t\t\t\ttitle @ \\Min Depth\n\t\t\t\t\t\t\tseries_y <= inspect_stat /number\n\t\t\t\t\t\t<= Inspect_stat_vert $mol_plot_ruler_vert\n\t\t\t\t\t\t\ttitle @ \\count\n\t\t\t\t\t\t<= Inspect_stat_hor $mol_plot_mark_hor\n\t\t\t\t\t\t\ttitle @ \\depth\n\t\t\t\t\t\t\tseries_x <= inspect_stat_depth /number\n\t\t\t\t\t\t<= Marker_cross $mol_plot_mark_cross\n\t\t\t\t\t\t\tgraphs /\n\t\t\t\t\t\t\t\t<= Inspect_depth\n\t\t\t\t<= Inspect_graph $mol_dump_value\n\t\t\t\t\tvalue <= inspect_graph null\n\tProp* $hyoo_studio_prop\n\t\tname <= prop_name* \\default\n\t\tsign? <=> prop_sign*? \\\n\t\ttree? <=> prop_tree*? $mol_tree2_empty\n\t\tprops_of* <= props_of* $mol_tree2_empty\n\t\tprops_bindable <= props_all $mol_tree2_empty\n\t\tclass_list <= class_list /string\n\t\tBound_prop* <= Bound_prop* $hyoo_studio_prop\n\tPlaceholder null\n","namespace $ {\n\n\tdeclare function requestIdleCallback( task : ()=> void , options? : { timeout : number } ) : any\n\tdeclare function cancelIdleCallback( id : any ) : void\n\n\texport class $mol_after_work extends $mol_object2 {\n\n\t\tid : any\n\n\t\tconstructor(\n\t\t\tpublic delay : number ,\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis.id = requestIdleCallback( task , { timeout : delay } )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tcancelIdleCallback( this.id )\n\t\t}\n\n\t}\n\t\n\tif( typeof requestIdleCallback !== 'function' ) {\n\t\t$.$mol_after_work = $mol_after_timeout\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_wait_rest_async( this: $ ) {\n\t\treturn new Promise( done => {\n\t\t\tnew this.$mol_after_work( 16 , ()=> done( null ) )\n\t\t} )\n\t}\n\t\n\texport function $mol_wait_rest( this: $ ) {\n\t\treturn this.$mol_wire_sync( this ).$mol_wait_rest_async()\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/**\n\t * # Generic Graph model\n\t * - Supports any type of Nodes and Edges.\n\t * - All links are ordered, but this may be ignored.\n\t * - Multigraph supported using arrays of Edges.\n\t * - Hypergraph supported by reusing same Edge on set of links.\n\t * - Ubergraph supported using Edges as Nodes to.\n\t **/\n\texport class $mol_graph< Node , Edge > {\n\t\t\n\t\t/** All registered Nodes */\n\t\tnodes = new Set< Node >()\n\t\t\n\t\t/** Edges for Nodes pairs (from-to-edge) */\n\t\tedges_out = new Map< Node , Map< Node , Edge > >()\n\t\t/** Edges for Nodes pairs (to-from-edge) */\n\t\tedges_in = new Map< Node , Map< Node , Edge > >()\n\t\t\n\t\t// LINKING NODES\n\t\t\n\t\t/** Full connect two Nodes */\n\t\tlink( from : Node , to : Node , edge : Edge ) {\n\t\t\tthis.link_out( from , to , edge )\n\t\t\tthis.link_in( to , from , edge )\n\t\t}\n\t\t\n\t\t/** Full disconnect two Nodes */\n\t\tunlink( from : Node , to : Node ) {\n\t\t\tthis.edges_in.get( to )?.delete( from )\n\t\t\tthis.edges_out.get( from )?.delete( to )\n\t\t}\n\t\t\n\t\t/** Forward connect two Nodes */\n\t\tlink_out( from : Node , to : Node , edge : Edge ) {\n\t\t\t\n\t\t\tlet pair = this.edges_out.get( from )\n\t\t\t\n\t\t\tif( !pair ) {\n\t\t\t\tpair = new Map< Node , Edge >()\n\t\t\t\tthis.edges_out.set( from , pair )\n\t\t\t\tthis.nodes.add( from )\n\t\t\t}\n\t\t\t\n\t\t\tpair.set( to , edge )\n\t\t\tthis.nodes.add( to )\n\n\t\t}\n\t\t\n\t\t/** Backward connect two Nodes */\n\t\tlink_in( to : Node , from : Node , edge : Edge ) {\n\n\t\t\tlet pair = this.edges_in.get( to )\n\t\t\t\n\t\t\tif( !pair ) {\n\t\t\t\tpair = new Map< Node , Edge >()\n\t\t\t\tthis.edges_in.set( to , pair )\n\t\t\t\tthis.nodes.add( to )\n\t\t\t}\n\t\t\t\n\t\t\tpair.set( from , edge )\n\t\t\tthis.nodes.add( to )\n\n\t\t}\n\t\t\n\t\t// GETTING EDGES\n\t\t\n\t\t/** Return any Edge for two Nodes or null */\n\t\tedge( from : Node , to : Node ) {\n\t\t\treturn this.edge_out( from, to ) ?? this.edge_in( to, from )\n\t\t}\n\t\t\n\t\t/** Return output Edge for two Nodes or null */\n\t\tedge_out( from : Node , to : Node ) {\n\t\t\treturn this.edges_out.get( from )?.get( to ) ?? null\n\t\t}\n\t\t\n\t\t/** Return input Edge for two Nodes or null */\n\t\tedge_in( to : Node , from : Node ) {\n\t\t\treturn this.edges_in.get( to )?.get( from ) ?? null\n\t\t}\n\t\t\n\t\t// MUTATIONS\n\t\t\n\t\t/** Cut cycles at lowest priority of Edges */\n\t\tacyclic( get_weight : ( edge : Edge )=> number ) {\n\t\t\t\n\t\t\tconst checked = [] as Node[]\n\t\t\t\n\t\t\tfor( const start of this.nodes ) {\n\t\t\t\t\n\t\t\t\tconst path = [] as Node[]\n\t\t\t\t\n\t\t\t\tconst visit = ( from : Node ) : number => {\n\n\t\t\t\t\tif( checked.includes( from ) ) return Number.MAX_SAFE_INTEGER\n\n\t\t\t\t\tconst index = path.lastIndexOf( from )\n\t\t\t\t\tif( index > -1 ) {\n\n\t\t\t\t\t\tconst cycle = path.slice( index )\n\n\t\t\t\t\t\treturn cycle.reduce(\n\t\t\t\t\t\t\t( weight , node , index )=> Math.min(\n\t\t\t\t\t\t\t\tweight ,\n\t\t\t\t\t\t\t\tget_weight( this.edge_out( node , cycle[ ( index + 1 ) % cycle.length ] )! ) ,\n\t\t\t\t\t\t\t) ,\n\t\t\t\t\t\t\tNumber.MAX_SAFE_INTEGER ,\n\t\t\t\t\t\t)\n\n\t\t\t\t\t}\n\n\t\t\t\t\tpath.push( from )\n\n\t\t\t\t\tdive: try {\n\n\t\t\t\t\t\tconst deps = this.edges_out.get( from )\n\t\t\t\t\t\tif( !deps ) break dive\n\n\t\t\t\t\t\tfor( const [ to , edge ] of deps ) {\n\n\t\t\t\t\t\t\tif( to === from ) {\n\t\t\t\t\t\t\t\tthis.unlink( from , to )\n\t\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst weight_out = get_weight( edge )\n\t\t\t\t\t\t\tconst min = visit( to )\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif( weight_out > min ) return min\n\t\t\t\t\t\t\tif( weight_out === min ) {\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tthis.unlink( from , to )\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif( path.length > 1 ) {\n\t\t\t\t\t\t\t\t\tconst enter = path[ path.length - 2 ]\n\t\t\t\t\t\t\t\t\tthis.link( enter , to , edge )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tpath.pop()\n\t\t\t\t\t}\n\n\t\t\t\t\tchecked.push( from )\n\n\t\t\t\t\treturn Number.MAX_SAFE_INTEGER\n\t\t\t\t}\n\n\t\t\t\tvisit( start )\n\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t// NODES SELECTION\n\t\t\n\t\t/** Topoligical ordered set of all Nodes for acyclic graph */\n\t\tget sorted() {\n\n\t\t\tconst sorted = new Set< Node >()\n\t\t\t\n\t\t\tconst visit = ( node : Node ) => {\n\t\t\t\t\n\t\t\t\tif( sorted.has( node ) ) return\n\n\t\t\t\tconst deps = this.edges_out.get( node )\n\n\t\t\t\tif( deps ) {\n\t\t\t\t\tfor( const [dep] of deps ) visit( dep )\n\t\t\t\t}\n\n\t\t\t\tsorted.add( node )\n\t\t\t}\n\t\t\t\n\t\t\tfor( const node of this.nodes ) {\n\t\t\t\tvisit( node )\n\t\t\t}\n\t\t\t\n\t\t\treturn sorted\n\t\t}\n\t\t\n\t\t/** All Nodes which don't have input Edges */\n\t\tget roots() {\n\t\t\t\n\t\t\tconst roots = [] as Node[]\n\t\t\tfor( const node of this.nodes ) {\n\t\t\t\t\n\t\t\t\tif( this.edges_in.get( node )?.size ) continue\n\t\t\t\troots.push( node )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn roots\n\t\t}\n\t\t\n\t\t// DEPTH STATS\n\t\t\n\t\t/**\n\t\t * Nodes depth statistics for acyclic graph\n\t\t * @example\n\t\t * graph.depth_stat( Math.min )\n\t\t * graph.depth_stat( Math.max )\n\t\t **/\n\t\tnodes_depth( select: ( left: number, right: number )=> number ) {\n\t\t\t\n\t\t\tconst stat = new Map< Node, number >()\n\t\t\tconst visit = ( node: Node, depth = 0 )=> {\n\t\t\t\t\n\t\t\t\tif( stat.has( node ) ) stat.set( node, select( depth, stat.get( node )! ) )\n\t\t\t\telse stat.set( node, depth )\n\t\t\t\t\n\t\t\t\tfor( const kid of this.edges_out.get( node )?.keys() ?? [] ) visit( kid, depth + 1 )\n\t\t\t\t\n\t\t\t}\n\t\t\tfor( const root of this.roots ) visit( root )\n\t\t\t\n\t\t\treturn stat\n\t\t}\n\t\t\n\t\t/**\n\t\t * Depth's Nodes statistics for acyclic graph\n\t\t * @example\n\t\t * graph.depth_nodes( Math.min )\n\t\t * graph.depth_nodes( Math.max )\n\t\t **/\n\t\tdepth_nodes( select: ( left: number, right: number )=> number ) {\n\t\t\t\n\t\t\tconst groups = [] as Node[][]\n\t\t\tfor( const [ node, depth ] of this.nodes_depth( select ).entries() ) {\n\t\t\t\t\n\t\t\t\tif( groups[ depth ] ) groups[ depth ].push( node )\n\t\t\t\telse groups[ depth ] = [ node ]\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn groups\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_wire_graph( root: $mol_wire_pub_sub ) {\n\t\t\n\t\tconst graph = new $mol_graph< $mol_wire_pub, number >()\n\t\t\n\t\tfunction visit( sub: $mol_wire_pub ) {\n\t\t\t\n\t\t\tif( 'sync' in sub ) {\n\t\t\t\t\n\t\t\t\tconst fiber = sub as $mol_wire_fiber< any, any, any >\n\t\t\t\ttry {\n\t\t\t\t\tfiber.sync()\n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\tif( 'then' in error ) $mol_fail_hidden( error )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tfor( const [ index, pub ] of fiber.pub_list.entries() ) {\n\t\t\t\t\tgraph.link( sub, pub, index )\n\t\t\t\t\tvisit( pub )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\tvisit( root )\n\t\t\n\t\treturn graph\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_tree2_text_to_string( this: $, text: $mol_tree2 ) {\n\n\t\tlet res = ''\n\t\t\n\t\tfunction visit( text: $mol_tree2, prefix: string, inline: boolean ) {\n\n\t\t\tif( text.type === 'indent' ) {\n\n\t\t\t\tif( inline ) res += '\\n'\n\t\t\t\t\n\t\t\t\tfor( let kid of text.kids ) {\n\t\t\t\t\tvisit( kid, prefix + '\\t', false )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( inline ) res += prefix\n\n\t\t\t} else if( text.type === 'line' ) {\n\t\t\t\t\n\t\t\t\tif( !inline ) res += prefix\n\t\t\t\t\n\t\t\t\tfor( let kid of text.kids ) {\n\t\t\t\t\tvisit( kid, prefix, true )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( !inline ) res += '\\n'\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tif( !inline ) res += prefix\n\t\t\t\t\n\t\t\t\tres += text.text()\n\t\t\t\t\n\t\t\t\tif( !inline ) res += '\\n'\n\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tfor( let kid of text.kids ) {\n\t\t\tvisit( kid, '', false )\n\t\t}\n\t\t\n\t\treturn res\n\t}\n\n}\n","namespace $ {\n\n\tconst alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\n\n\texport function $mol_vlq_encode( val: number ): string {\n\n\t\tconst sign = val < 0 ? 1 : 0\n\t\tif( sign ) val = -val\n\n\t\tlet index = sign | ( ( val & 0b1111 ) << 1 )\n\t\tval >>>= 4\n\t\t\n\t\tlet res = ''\n\n\t\twhile( val ) {\n\n\t\t\tindex |= 1 << 5\n\t\t\tres += alphabet[ index ]\n\t\t\t\n\t\t\tif( !val ) break\n\t\t\t\n\t\t\tindex = val & 0b11111\n\t\t\tval >>>= 5\n\t\t\t\n\t\t}\n\n\t\tres += alphabet[ index ]\n\n\t\treturn res\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_tree2_text_to_sourcemap( this: $, tree: $mol_tree2 ) {\n\n\t\tlet col = 1\n\t\tlet prev_span: $mol_span | undefined\n\t\tlet prev_index = 0\n\t\tlet prev_col = 1\n\t\tlet mappings = ''\n\t\tlet line = [] as string[]\n\n\t\tconst file_indexes = new Map< string, number >()\n\t\tconst file_sources = new Map< string, string >()\n\n\t\tfunction span2index( span: $mol_span ) {\n\t\t\tif( file_indexes.has( span.uri ) ) return file_indexes.get( span.uri )!\n\t\t\tconst index = file_indexes.size\n\t\t\tfile_indexes.set( span.uri, index )\n\t\t\tfile_sources.set( span.uri, span.source )\n\t\t\treturn index\n\t\t}\n\t\t\n\t\tfunction next_line() {\n\t\t\tif( !line.length ) return\n\t\t\tmappings += line.join(',') + ';'\n\t\t\tline = []\n\t\t\tcol = 1\n\t\t\tprev_col = 1\n\t\t}\n\t\t\n\t\tfunction visit( text: $mol_tree2, prefix: number, inline: boolean ) {\n\n\t\t\tfunction indent() {\n\t\t\t\tcol += prefix\n\t\t\t}\n\t\n\t\t\tif( inline && text.type === 'indent' ) next_line()\n\t\t\t\n\t\t\tif( prev_span !== text.span || col === 1 ) {\n\n\t\t\t\tconst index = span2index( text.span )\n\t\t\t\t\n\t\t\t\tline.push(\n\t\t\t\t\t$mol_vlq_encode( col - prev_col ) + \n\t\t\t\t\t$mol_vlq_encode( index - prev_index ) +\n\t\t\t\t\t$mol_vlq_encode( text.span.row - ( prev_span?.row ?? 1 ) ) +\n\t\t\t\t\t$mol_vlq_encode( text.span.col - ( prev_span?.col ?? 1 ) )\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tprev_col = col\n\t\t\t\tprev_span = text.span\n\t\t\t\tprev_index = index\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( text.type === 'indent' ) {\n\n\t\t\t\tfor( let kid of text.kids ) {\n\t\t\t\t\tvisit( kid, prefix + 1, false )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( inline ) next_line()\n\n\t\t\t} else if( text.type === 'line' ) {\n\t\t\t\t\n\t\t\t\tif( !inline ) indent()\n\t\t\t\t\n\t\t\t\tfor( let kid of text.kids ) {\n\t\t\t\t\tvisit( kid, prefix, true )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( !inline ) next_line()\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tif( !inline ) indent()\n\t\t\t\t\n\t\t\t\tcol += text.text().length\n\t\t\t\t\n\t\t\t\tif( !inline ) next_line()\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tfor( let kid of tree.kids ) {\n\t\t\tvisit( kid, 0, false )\n\t\t}\n\t\tnext_line()\n\t\t\n\t\tconst map: $mol_sourcemap_raw = {\n\t\t\tversion: 3,\n\t\t\tsources: [ ... file_sources.keys() ],\n\t\t\tsourcesContent: [ ... file_sources.values() ],\n\t\t\tmappings,\n\t\t}\n\n\t\treturn map\n\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_sourcemap_url(this: $, uri: string, type = 'js' as 'js' | 'css') {\n\t\tif (type === 'css') return `\\n/*# sourceMappingURL=${uri}*/`\n\t\treturn `\\n//# sourceMappingURL=${uri}`\n\t}\n\n}\n","namespace $ {\n\n\tconst prefix = '# sourceMappingURL=data:application/json,'\n\tconst end_comment = ' */'\n\n\texport function $mol_sourcemap_dataurl_decode(this: $, data: string) {\n\t\tconst index = data.lastIndexOf(prefix)\n\n\t\tif (index === -1) return undefined\n\n\t\tdata = data.substring(index + prefix.length)\n\n\t\tif (data.endsWith(end_comment)) data = data.substring(0, data.length - end_comment.length)\n\n\t\tconst decoded = this.decodeURIComponent(data)\n\n\t\ttry {\n\t\t\tconst map = JSON.parse(decoded) as $mol_sourcemap_raw | null\n\n\t\t\tif (! map) return undefined\n\n\t\t\tif (typeof map.mappings === 'string' && map.mappings.startsWith(';;')) {\n\t\t\t\tmap.mappings = map.mappings.substring(2)\n\t\t\t}\n\n\t\t\treturn map\n\t\t} catch (e) {\n\t\t\tif (e instanceof Error) e.message += ', origin=' + decoded\n\t\t\t$mol_fail_hidden(e)\n\t\t}\n\t}\n\n\texport function $mol_sourcemap_dataurl_encode(this: $, map: $mol_sourcemap_raw, type = 'js' as 'js' | 'css') {\n\t\tconst str = JSON.stringify( { ...map, mappings: ';;' + map.mappings } )\n\n\t\treturn this.$mol_sourcemap_url('data:application/json,' + this.encodeURIComponent( str ), type)\n\t}\n}\n","namespace $ {\n\n\texport function $mol_tree2_text_to_string_mapped( this: $, text: $mol_tree2, type: 'js' | 'css' ) {\n\t\t\n\t\tconst code = this.$mol_tree2_text_to_string( text )\n\t\tconst map = this.$mol_tree2_text_to_sourcemap( text )\n\n\t\tconst chunk = this.$mol_sourcemap_dataurl_encode( map, type )\n\t\treturn code + chunk\n\t}\n\n\texport function $mol_tree2_text_to_string_mapped_js( this: $, text: $mol_tree2 ) {\n\t\treturn this.$mol_tree2_text_to_string_mapped( text, 'js' )\n\t}\n\t\n\texport function $mol_tree2_text_to_string_mapped_css( this: $, text: $mol_tree2 ) {\n\t\treturn this.$mol_tree2_text_to_string_mapped( text, 'css')\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_tree2_js_to_text( this: $, js: $mol_tree2 ) {\n\n\t\tfunction sequence( open?: string, separator?: string, close?: string ) {\n\t\t\treturn ( input: $mol_tree2, belt: $mol_tree2_belt< never > )=> [\n\t\t\t\tinput.struct( 'line', [\n\t\t\t\t\t... open ? [ input.data( open ) ] : [],\n\t\t\t\t\tinput.struct( separator && input.kids.length > 2 ? 'indent' : 'line',\n\t\t\t\t\t\t( [] as $mol_tree2[] ).concat(\n\t\t\t\t\t\t\t... input.kids.map( ( kid, index ) => [\n\t\t\t\t\t\t\t\tkid.struct( 'line', [\n\t\t\t\t\t\t\t\t\t... kid.list([ kid ]).hack( belt ),\n\t\t\t\t\t\t\t\t\t... ( separator && index < input.kids.length - 1 ) ? [ input.data( separator ) ] : [],\n\t\t\t\t\t\t\t\t] ),\n\t\t\t\t\t\t\t] ),\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\t... close ? [ input.data( close ) ] : [],\n\t\t\t\t] ),\n\t\t\t]\n\t\t}\n\n\t\tfunction block( open?: string, separator?: string, close?: string ) {\n\t\t\treturn ( input: $mol_tree2, belt: $mol_tree2_belt< never > )=> [\n\t\t\t\t... open ? [ input.data( open ) ] : [],\n\t\t\t\t... input.kids.length === 0 ? [] : [ input.struct( 'indent',\n\t\t\t\t\tinput.kids.map( ( kid, index ) =>\n\t\t\t\t\t\tkid.struct( 'line', [\n\t\t\t\t\t\t\t... kid.list([ kid ]).hack( belt ),\n\t\t\t\t\t\t\t... ( separator ) ? [ input.data( separator ) ] : [],\n\t\t\t\t\t\t] ),\n\t\t\t\t\t),\n\t\t\t\t) ],\n\t\t\t\t... close ? [ input.data( close ) ] : [],\n\t\t\t]\n\t\t}\n\n\t\tfunction duplet( open?: string, separator?: string, close?: string ) {\n\t\t\treturn ( input: $mol_tree2, belt: $mol_tree2_belt< never > )=> [\n\t\t\t\tinput.struct( 'line', [\n\t\t\t\t\t... open ? [ input.data( open ) ] : [],\n\t\t\t\t\t... input.list( input.kids.slice( 0, 1 ) ).hack( belt ),\n\t\t\t\t\t... ( separator && input.kids.length > 1 ) ? [ input.data( separator ) ] : [],\n\t\t\t\t\t... input.list( input.kids.slice( 1, 2 ) ).hack( belt ),\n\t\t\t\t\t... close ? [ input.data( close ) ] : [],\n\t\t\t\t] ),\n\t\t\t]\n\t\t}\n\n\t\tfunction triplet( open?: string, separator12?: string, separator23?: string, close?: string ) {\n\t\t\treturn ( input: $mol_tree2, belt: $mol_tree2_belt< never > )=> [\n\t\t\t\tinput.struct( 'line', [\n\t\t\t\t\t... open ? [ input.data( open ) ] : [],\n\t\t\t\t\t... input.list( input.kids.slice( 0, 1 ) ).hack( belt ),\n\t\t\t\t\t... ( separator12 && input.kids.length > 1 ) ? [ input.data( separator12 ) ] : [],\n\t\t\t\t\t... input.list( input.kids.slice( 1, 2 ) ).hack( belt ),\n\t\t\t\t\t... ( separator23 && input.kids.length > 2 ) ? [ input.data( separator23 ) ] : [],\n\t\t\t\t\t... input.list( input.kids.slice( 2, 3 ) ).hack( belt ),\n\t\t\t\t\t... close ? [ input.data( close ) ] : [],\n\t\t\t\t] ),\n\t\t\t]\n\t\t}\n\n\t\treturn js.list( js.hack({\n\n\t\t\t'+': sequence( '+' ),\n\t\t\t'-': sequence( '-' ),\n\t\t\t'!': sequence( '!' ),\n\t\t\t'~': sequence( '~' ),\n\n\t\t\t'return': sequence( 'return ' ),\n\t\t\t'break': sequence( 'break ' ),\n\t\t\t'continue': sequence( 'continue ' ),\n\t\t\t'yield': sequence( 'yield ' ),\n\t\t\t'yield*': sequence( 'yield* ' ),\n\t\t\t'await': sequence( 'await ' ),\n\t\t\t'void': sequence( 'void ' ),\n\t\t\t'delete': sequence( 'delete ' ),\n\t\t\t'typeof': sequence( 'typeof ' ),\n\t\t\t'new': sequence( 'new ' ),\n\t\t\t'...': sequence( '...' ),\n\n\t\t\t'@++': sequence( '', '', '++' ),\n\t\t\t'@--': sequence( '', '', '--' ),\n\t\t\t\n\t\t\t'(in)': sequence( '(', ' in ', ')' ),\n\t\t\t'(instanceof)': sequence( '(', ' instanceof ', ')' ),\n\n\t\t\t'(+)': sequence( '(', ' + ', ')' ),\n\t\t\t'(-)': sequence( '(', ' - ', ')' ),\n\t\t\t'(*)': sequence( '(', ' * ', ')' ),\n\t\t\t'(/)': sequence( '(', ' / ', ')' ),\n\t\t\t'(%)': sequence( '(', ' % ', ')' ),\n\t\t\t'(**)': sequence( '(', ' ** ', ')' ),\n\t\t\t\n\t\t\t'(<)': sequence( '(', ' < ', ')' ),\n\t\t\t'(<=)': sequence( '(', ' <= ', ')' ),\n\t\t\t'(>)': sequence( '(', ' > ', ')' ),\n\t\t\t'(>=)': sequence( '(', ' >= ', ')' ),\n\t\t\t'(==)': sequence( '(', ' == ', ')' ),\n\t\t\t'(!=)': sequence( '(', ' != ', ')' ),\n\t\t\t'(===)': sequence( '(', ' === ', ')' ),\n\t\t\t'(!==)': sequence( '(', ' !== ', ')' ),\n\t\t\t\n\t\t\t'(<<)': sequence( '(', ' << ', ')' ),\n\t\t\t'(>>)': sequence( '(', ' >> ', ')' ),\n\t\t\t'(>>>)': sequence( '(', ' >>> ', ')' ),\n\t\t\t'(&)': sequence( '(', ' & ', ')' ),\n\t\t\t'(|)': sequence( '(', ' | ', ')' ),\n\t\t\t'(^)': sequence( '(', ' ^ ', ')' ),\n\t\t\t\n\t\t\t'(&&)': sequence( '(', ' && ', ')' ),\n\t\t\t'(||)': sequence( '(', ' || ', ')' ),\n\t\t\t'(,)': sequence( '(', ', ', ')' ),\n\t\t\t'{;}': block( '{', ';', '}' ),\n\t\t\t';': block( '', ';', '' ),\n\t\t\t'[,]': sequence( '[', ', ', ']' ),\n\t\t\t'{,}': sequence( '{', ', ', '}' ),\n\n\t\t\t'()': sequence( '(', '', ')' ),\n\t\t\t'{}': block( '{', '', '}' ),\n\t\t\t\n\t\t\t'[]': ( input, belt )=> {\n\t\t\t\tconst first = input.kids[0]\n\t\t\t\tif( first.type ) return sequence( '[', '', ']' )( input, belt )\n\t\t\t\telse return [ input.data( '.' + first.text() ) ]\n\t\t\t},\n\t\t\t\n\t\t\t'?.[]': ( input, belt )=> {\n\t\t\t\tconst first = input.kids[0]\n\t\t\t\tif( first.type ) return sequence( '?.[', '', ']' )( input, belt )\n\t\t\t\telse return [ input.data( '?.' + first.text() ) ]\n\t\t\t},\n\t\t\t\n\t\t\t':': ( input, belt )=> {\n\t\t\t\tconst first = input.kids[0]\n\t\t\t\tif( first.type ) return duplet( '[', ']: ' )( input, belt )\n\t\t\t\telse return duplet( '', ': ' )( input, belt )\n\t\t\t},\n\t\t\t\n\t\t\t'let': duplet( 'let ', ' = ' ),\n\t\t\t'const': duplet( 'const ', ' = ' ),\n\t\t\t'var': duplet( 'var ', ' = ' ),\n\n\t\t\t'=': duplet( '', ' = ' ),\n\t\t\t'+=': duplet( '', ' += ' ),\n\t\t\t'-=': duplet( '', ' -= ' ),\n\t\t\t'*=': duplet( '', ' *= ' ),\n\t\t\t'/=': duplet( '', ' /= ' ),\n\t\t\t'%=': duplet( '', ' %= ' ),\n\t\t\t'**=': duplet( '', ' **= ' ),\n\t\t\t'<<=': duplet( '', ' <<= ' ),\n\t\t\t'>>=': duplet( '', ' >>= ' ),\n\t\t\t'>>>=': duplet( '', ' >>>= ' ),\n\t\t\t'&=': duplet( '', ' &= ' ),\n\t\t\t'|=': duplet( '', ' |= ' ),\n\t\t\t'^=': duplet( '', ' ^= ' ),\n\t\t\t'&&=': duplet( '', ' &&= ' ),\n\t\t\t'||=': duplet( '', ' ||= ' ),\n\n\t\t\t'=>': duplet( '', ' => ' ),\n\t\t\t'async=>': duplet( 'async ', ' => ' ),\n\t\t\t'function': triplet( 'function ' ),\n\t\t\t'function*': triplet( 'function* ' ),\n\t\t\t'async': triplet( 'async function ' ),\n\t\t\t'async*': triplet( 'async function* ' ),\n\n\t\t\t'class': triplet( 'class ', ' ' ),\n\t\t\t'extends': sequence( 'extends ', '', ' ' ),\n\n\t\t\t'if': triplet( 'if', ' ', 'else' ),\n\t\t\t'?:': triplet( '', ' ? ', ' : ' ),\n\n\t\t\t'.': ( input, belt )=> {\n\t\t\t\tconst first = input.kids[0]\n\t\t\t\tif( first.type ) return triplet( '[', ']' )( input, belt )\n\t\t\t\telse return [\n\t\t\t\t\tinput.data( first.text() ),\n\t\t\t\t\t... input.list( input.kids.slice(1) ).hack( belt ),\n\t\t\t\t]\n\t\t\t},\n\n\t\t\t'get': triplet( 'get [', ']' ),\n\t\t\t'set': triplet( 'set [', ']' ),\n\t\t\t'static': triplet( 'static [', ']' ),\n\t\t\t\n\t\t\t'/./': sequence(),\n\t\t\t'.global': sequence( 'g' ),\n\t\t\t'.multiline': sequence( 'm' ),\n\t\t\t'.ignoreCase': sequence( 'i' ),\n\t\t\t'.source': ( input, belt )=> [\n\t\t\t\tinput.data( '/' ),\n\t\t\t\tinput.data( JSON.stringify( input.text() ).slice( 1, -1 ) ),\n\t\t\t\tinput.data( '/' ),\n\t\t\t],\n\n\t\t\t'``': ( input, belt )=> {\n\t\t\t\treturn [\n\t\t\t\t\tinput.struct( 'line', [\n\t\t\t\t\t\tinput.data( '`' ),\n\t\t\t\t\t\t... ( [] as $mol_tree2[] ).concat( ... input.kids.map( kid => {\n\t\t\t\t\t\t\tif( kid.type ) {\n\t\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\t\tkid.data( '${' ),\n\t\t\t\t\t\t\t\t\t... kid.list([ kid ]).hack( belt ),\n\t\t\t\t\t\t\t\t\tkid.data( '}' ),\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\t\tinput.data( JSON.stringify( kid.text() ).slice( 1, -1 ) ),\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} ) ),\n\t\t\t\t\t\tinput.data( '`' ),\n\t\t\t\t\t] ),\n\t\t\t\t]\n\t\t\t},\n\n\t\t\t'': ( input, belt )=> {\n\n\t\t\t\t// string\n\t\t\t\tif( !input.type ) return [\n\t\t\t\t\tinput.data( JSON.stringify( input.text() ) ),\n\t\t\t\t]\n\t\t\t\t\n\t\t\t\t// variable\n\t\t\t\tif( /^[\\w$#][\\w0-9$]*$/i.test( input.type ) ) return [\n\t\t\t\t\tinput.data( input.type ),\n\t\t\t\t\t// ... input.hack( context ),\n\t\t\t\t]\n\t\t\t\t\n\t\t\t\t// number\n\t\t\t\tif( $mol_view_tree2_value_number(input.type) ) return [\n\t\t\t\t\tinput.data( input.type )\n\t\t\t\t]\n\n\t\t\t\t$mol_fail( new SyntaxError( `Wrong node type` ) )\n\n\t\t\t},\n\n\t\t}) )\n\n\t}\n\n}\n","namespace $ {\n\texport function $mol_guard_defined(value: T): value is NonNullable {\n\t\treturn value !== null && value !== undefined\n\t}\n}\n","namespace $ {\n\n\tconst err = $mol_view_tree2_error_str\n\n\tfunction name_of(this: $, prop: $mol_tree2 ) {\n\t\treturn this.$mol_view_tree2_prop_parts(prop).name\n\t}\n\t\n\tfunction params_of( this: $, prop: $mol_tree2, bidi = true ) {\n\t\t\n\t\tconst { key, next } = this.$mol_view_tree2_prop_parts(prop)\n\n\t\treturn prop.struct( '(,)', [\n\t\t\t... key\n\t\t\t\t? [ prop.struct( 'id' ) ]\n\t\t\t\t: [],\n\t\t\t... ( bidi && next ) ? [ prop.struct( 'next' ) ] : [],\n\t\t] )\n\t\t\n\t}\n\t\n\tfunction args_of( this: $, prop: $mol_tree2, bidi = true ) {\n\t\t\n\t\tconst { key, next } = this.$mol_view_tree2_prop_parts(prop)\n\n\t\treturn prop.struct( '(,)', [\n\t\t\t... key\n\t\t\t\t? key.length > 1\n\t\t\t\t\t? [ prop.data( key.slice(1) ) ]\n\t\t\t\t\t: [ prop.struct( 'id' ) ]\n\t\t\t\t: [],\n\t\t\t... ( bidi && next ) ? [ prop.struct( 'next' ) ] : [],\n\t\t] )\n\t\t\n\t}\n\n\tfunction call_method_name(this: $, child: $mol_tree2, optional: boolean) {\n\t\treturn child.struct( optional ? '?.[]' : '[]', [\n\t\t\tchild.data( name_of.call( this, child ) )\n\t\t] )\n\t}\n\n\tfunction call_of(this: $, bind: $mol_tree2, bidi = true) {\n\t\tif( bind.kids.length === 0 ) {\n\t\t\treturn this.$mol_fail(\n\t\t\t\terr`Required one child at ${bind.span}`\n\t\t\t)\n\t\t}\n\n\t\tconst chain = [ bind.struct( 'this' ) ]\n\n\t\tfor (const child of bind.kids) {\n\t\t\tchain.push(\n\t\t\t\tcall_method_name.call(this, child, chain.length > 1),\n\t\t\t\targs_of.call(this, child, bidi),\n\t\t\t)\n\t\t}\n\n\t\treturn bind.struct( '()', chain )\n\t}\n\n\ttype Context = { chain?: string[] }\n\t\n\tconst localized_string = $$.$mol_tree2_from_string(`\n\t\t()\n\t\t\tthis\n\t\t\t[] \\\\$\n\t\t\t[] \\\\$mol_locale\n\t\t\t[] \\\\text\n\t\t\t(,) #key\n\t`, 'localized_string' )\n\n\tfunction klass_body(\n\t\tthis: $,\n\t\tacc: {\n\t\t\tklass: $mol_tree2\n\t\t\taddons: $mol_tree2[]\n\t\t\tmembers: $mol_tree2[]\n\t\t},\n\t\tprop: $mol_tree2\n\t) {\n\t\tconst { klass, members, addons } = acc\n\t\tconst { name, key, next } = this.$mol_view_tree2_prop_parts(prop)\n\n\t\tconst decorate = ()=> {\n\t\t\treturn prop.struct( '()', [\n\t\t\t\tprop.struct( key ? '$mol_mem_key' : '$mol_mem' ),\n\t\t\t\tprop.struct( '(,)', [\n\t\t\t\t\tprop.struct( '()', [\n\t\t\t\t\t\tklass.struct( '$' ),\n\t\t\t\t\t\tprop.struct( '[]', [\n\t\t\t\t\t\t\tklass.data( klass.type ),\n\t\t\t\t\t\t] ),\n\t\t\t\t\t\tprop.struct( '[]', [\n\t\t\t\t\t\t\tprop.data( 'prototype' ),\n\t\t\t\t\t\t] ),\n\t\t\t\t\t] ),\n\t\t\t\t\tprop.data( name ),\n\t\t\t\t] ),\n\t\t\t] )\n\t\t}\n\t\tconst op = prop.kids[0]\n\t\tconst is_delegate = op?.type === '<=>' || op?.type === '='\n\t\tif( ! is_delegate && next ) addons.push( decorate() )\n\t\t\n\t\tconst val = prop.hack({\n\t\t\t\n\t\t\t'@': ( locale, belt, context )=> {\n\t\t\t\tconst chain = context.chain?.join('_')\n\n\t\t\t\treturn localized_string.hack({\n\t\t\t\t\t'#key': key => [ locale.data( `${ klass.type }_${ name }${ chain ? `_${chain}` : '' }` ) ],\n\t\t\t\t})\n\t\t\t},\n\t\t\t\n\t\t\t'<=': bind => [ call_of.call(this, bind, false) ],\n\n\t\t\t'<=>': bind => [ call_of.call(this, bind, true) ],\n\t\t\t\n\t\t\t'=>': bind => [],\n\t\t\t\n\t\t\t'^': ( ref )=> [\n\t\t\t\tref.struct( '...', [\n\t\t\t\t\tref.struct( '()', [\n\t\t\t\t\t\tref.struct( ref.kids[0]?.type ? 'this' : 'super' ),\n\t\t\t\t\t\tref.struct( '[]', [\n\t\t\t\t\t\t\tref.data( ref.kids[0]?.type ? name_of.call(this, ref.kids[0]) : name ),\n\t\t\t\t\t\t] ),\n\t\t\t\t\t\tref.kids[0]?.type ? args_of.call(this, ref.kids[0]) : ref.struct( '(,)' )\n\t\t\t\t\t]),\n\t\t\t\t] ),\n\t\t\t],\n\n\t\t\t'=': bind => [ bind.struct( '()', [\n\t\t\t\tbind.struct( 'this' ),\n\t\t\t\t... bind.hack({ '': ( method, belt, ctx )=> [\n\t\t\t\t\tcall_method_name.call( this, method, (ctx.item_index++) > 0 ),\n\t\t\t\t\targs_of.call( this, method ),\n\t\t\t\t\t... method.hack( belt ),\n\t\t\t\t] }, { item_index: 0 }),\n\t\t\t] ) ],\n\t\t\t\t\n\t\t\t'': ( input, belt, context )=> {\n\n\t\t\t\tif( input.type[0] === '*' ) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\tinput.struct('{,}',\n\t\t\t\t\t\t\tinput.kids.map( field => {\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif( field.type === '^' ) return field.list([ field ]).hack( belt )[0]\n\t\t\t\t\t\t\t\tconst field_name = (field.type || field.value).replace(/\\?\\w*$/, '')\n\n\t\t\t\t\t\t\t\treturn field.struct( ':', [\n\t\t\t\t\t\t\t\t\tfield.data( field_name ),\n\t\t\t\t\t\t\t\t\tfield.kids[0].type === '<=>'\n\t\t\t\t\t\t\t\t\t\t? field.struct( '=>', [\n\t\t\t\t\t\t\t\t\t\t\tparams_of.call(this, field ),\n\t\t\t\t\t\t\t\t\t\t\t... field.hack( belt ),\n\t\t\t\t\t\t\t\t\t\t] )\n\t\t\t\t\t\t\t\t\t\t: field.hack( belt, {... context, chain: [...context.chain ?? [], field_name] })[0],\n\t\t\t\t\t\t\t\t] )\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t} ).filter( this.$mol_guard_defined )\n\t\t\t\t\t\t)\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( input.type[0] === '/' ) return [\n\t\t\t\t\tinput.struct( '[,]', input.hack( belt ) ),\n\t\t\t\t]\n\t\t\t\tif( input.type && $mol_view_tree2_value_number(input.type) ) return [\n\t\t\t\t\tinput\n\t\t\t\t]\n\n\t\t\t\tif( $mol_view_tree2_class_match( input ) ) {\n\t\t\t\t\tif( ! next ) addons.push( decorate() )\n\t\t\t\t\t\n\t\t\t\t\tconst overrides = [] as $mol_tree2[]\n\t\t\t\t\t\n\t\t\t\t\tfor( const over of input.kids ) {\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( over.type[0] === '/' ) continue\n\t\t\t\t\t\tconst bind = over.kids[0]\n\t\t\t\t\t\tif( bind.type === '=>' ) continue\n\n\t\t\t\t\t\tconst over_name = name_of.call(this, over )\n\n\t\t\t\t\t\tconst body = [\n\t\t\t\t\t\t\targs_of.call(this, over ),\n\t\t\t\t\t\t\tover.struct( '()', over.hack( belt, { chain: [ over.type ] } )),\n\t\t\t\t\t\t]\n\n\t\t\t\t\t\toverrides.push(\n\t\t\t\t\t\t\tover.struct( '=', [\n\t\t\t\t\t\t\t\tover.struct( '()', [\n\t\t\t\t\t\t\t\t\tover.struct( 'obj' ),\n\t\t\t\t\t\t\t\t\tover.struct( '[]', [\n\t\t\t\t\t\t\t\t\t\tover.data( over_name ),\n\t\t\t\t\t\t\t\t\t] ),\n\t\t\t\t\t\t\t\t] ),\n\t\t\t\t\t\t\t\tover.struct( '=>', body ),\n\t\t\t\t\t\t\t] ),\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\treturn [\n\t\t\t\t\t\tinput.struct( 'const', [\n\t\t\t\t\t\t\tinput.struct( 'obj' ),\n\t\t\t\t\t\t\tinput.struct( 'new', [\n\t\t\t\t\t\t\t\tinput.struct( 'this' ),\n\t\t\t\t\t\t\t\tinput.struct('[]', [\n\t\t\t\t\t\t\t\t\tinput.data( '$' ),\n\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t\tinput.struct('[]', [\n\t\t\t\t\t\t\t\t\tinput.data( input.type.replace(/<.+>/g, '') ),\n\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t\tinput.struct( '(,)', input.select( '/', null ).hack( belt ) ),\n\t\t\t\t\t\t\t] ),\n\t\t\t\t\t\t] ),\n\t\t\t\t\t\t... overrides,\n\t\t\t\t\t\tinput.struct( 'obj' ),\n\t\t\t\t\t]\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn [ input ]\n\t\t\t\t\n\t\t\t},\n\t\t\t\n\t\t})\n\n\t\tmembers.push(\n\t\t\tprop.struct( '.', [\n\t\t\t\tprop.data( name ),\n\t\t\t\tparams_of.call(this, prop ),\n\t\t\t\tprop.struct( '{;}', [\n\t\t\t\t\t... next && ! is_delegate ? [\n\t\t\t\t\t\tprop.struct( 'if', [\n\t\t\t\t\t\t\tprop.struct( '(!==)', [\n\t\t\t\t\t\t\t\tprop.struct( 'next' ),\n\t\t\t\t\t\t\t\tprop.struct( 'undefined' ),\n\t\t\t\t\t\t\t] ),\n\t\t\t\t\t\t\tprop.struct( 'return', [\n\t\t\t\t\t\t\t\tprop.struct( 'next' ),\n\t\t\t\t\t\t\t] ),\n\t\t\t\t\t\t] ),\n\t\t\t\t\t] : [],\n\t\t\t\t\t... val.slice( 0, -1 ),\n\t\t\t\t\tprop.struct( 'return', val.slice( -1 ) ),\n\t\t\t\t] ),\n\t\t\t] )\n\t\t)\n\n\t\treturn acc\n\t}\n\n\texport function $mol_view_tree2_to_js( this: $, descr: $mol_tree2 ) {\n\t\t\n\t\tdescr = $mol_view_tree2_classes( descr )\n\t\t\n\t\tconst definitions = [] as $mol_tree2[]\n\t\t\n\t\tfor( const klass of descr.kids ) {\n\n\t\t\tconst parent = klass.kids[0]\n\t\t\tconst props = this.$mol_view_tree2_class_props( klass )\n\t\t\tconst addons = [] as $mol_tree2[]\n\t\t\tconst members = [] as $mol_tree2[]\n\t\t\tconst acc = { klass, addons, members }\n\n\t\t\tfor( const prop of props ) {\n\t\t\t\ttry {\n\t\t\t\t\tklass_body.call( this, acc, prop )\n\t\t\t\t} catch (e: any) {\n\t\t\t\t\te.message += ` at ${prop.span}`\n\t\t\t\t\t$mol_fail_hidden(e)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tdefinitions.push(\n\t\t\t\tklass.struct( '=', [\n\t\t\t\t\tklass.struct( '()', [\n\t\t\t\t\t\tklass.struct( '$' ),\n\t\t\t\t\t\tklass.struct( '[]', [\n\t\t\t\t\t\t\tklass.data( klass.type ),\n\t\t\t\t\t\t] ),\n\t\t\t\t\t] ),\n\t\t\t\t\tklass.struct( 'class', [\n\t\t\t\t\t\tklass.struct( klass.type ),\n\t\t\t\t\t\tparent.struct( 'extends', [\n\t\t\t\t\t\t\tparent.struct( '()', [\n\t\t\t\t\t\t\t\tparent.struct( '$' ),\n\t\t\t\t\t\t\t\tparent.struct( '[]', [\n\t\t\t\t\t\t\t\t\tparent.data( parent.type ),\n\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t] ),\n\t\t\t\t\t\t] ),\n\t\t\t\t\t\tklass.struct( '{}', members ),\n\t\t\t\t\t] ),\n\t\t\t\t] ),\n\t\t\t\t... addons,\n\t\t\t)\n\t\t\t\n\t\t}\n\n\t\treturn descr.list([\n\t\t\tdescr.struct( ';', definitions )\n\t\t])\n\t\t\n\t}\n}\n","namespace $ {\n\n\texport function $mol_offline( ) {}\n\n}\n","namespace $ {\n\ttry {\n\t\t$mol_offline()\n\t} catch( error ) {\n\t\tconsole.error( error )\n\t}\n}\n","namespace $.$$ {\n\t\n\texport class $hyoo_studio extends $.$hyoo_studio {\n\t\t\n\t\tpreview_show( next?: boolean ) {\n\t\t\treturn this.$.$mol_state_arg.value( 'preview', next?.valueOf && ( next ? '' : null ) ) !== null\n\t\t}\n\t\t\n\t\tinspector_show( next?: boolean ) {\n\t\t\treturn this.$.$mol_state_arg.value( 'inspect', next?.valueOf && ( next ? '' : null ) ) !== null\n\t\t}\n\n\t\tcode_show( next?: boolean ) {\n\t\t\treturn this.$.$mol_state_arg.value( 'raw', next?.valueOf && ( next ? '' : null ) ) !== null\n\t\t}\n\n\t\treadme_show( next?: boolean ) {\n\t\t\tif ( next ) this.readme_selected( this.base() )\n\t\t\treturn this.Demo().readme_page( next )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tpages() {\n\t\t\treturn [\n\t\t\t\tthis.Edit(),\n\t\t\t\t... this.readme_show() ? [ this.Readme_page() ] : [],\n\t\t\t\t... this.code_show() ? [ this.Source_page() ] : [],\n\t\t\t\t... this.inspector_show() ? [ this.Inspect() ] : [],\n\t\t\t\t... this.preview_show() ? [ this.Preview() ] : [],\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tpack( next?: string ) {\n\t\t\treturn this.$.$mol_state_arg.value( 'pack', next ) ?? super.pack()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsource_tree( next?: string ): string {\n\t\t\treturn this.$.$mol_state_arg.value( 'source', next ) ?? super.source_tree()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsource_css( next?: string ): string {\n\t\t\treturn this.$.$mol_state_arg.value( 'source_css', next ) ?? super.source_css()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsource_js( next?: string ): string {\n\t\t\treturn this.$.$mol_state_arg.value( 'source_js', next ) ?? super.source_js()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tpreview_html() {\n\t\t\t\n\t\t\tconst self = this.self()\n\t\t\tconst script = new URL( 'web.js', this.pack() ).toString()\n\t\t\tconst theme = this.Theme().theme()\n\t\t\t\n\t\t\treturn `\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t`\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tpreview_window() {\n\t\t\tthis.$.$mol_wait_rest()\n\t\t\tthis.preview_html()\n\t\t\tthis.preview_show()\n\t\t\treturn super.preview_window()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tinspect_graph() {\n\t\t\t\n\t\t\tconst win = this.preview_window()\n\t\t\t\n\t\t\ttry {\n\t\t\t\twin['$mol_view'].autobind()\n\t\t\t\treturn $mol_wire_graph( win['$mol_view']['autobind()'] )\n\t\t\t} catch( error: any ) {\n\t\t\t\tif( 'then' in error ) return $mol_fail_hidden( new Promise( ( done, fail )=> error.then( done, fail ) ) )\n\t\t\t\t$mol_fail_hidden( new Error( error.message ) )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tinspect_stat() {\n\t\t\treturn this.inspect_graph().depth_nodes( Math.min ).map( nodes => nodes.length )\n\t\t}\n\t\t\n\t\tinspect_stat_depth() {\n\t\t\treturn Object.keys( this.inspect_stat() ).map( Number )\n\t\t}\n\t\t\n\t\treadme_selected( next?: string ) {\n\t\t\treturn $mol_state_arg.value( 'demo', next ) ?? ''\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlibrary() {\n\t\t\tconst uri = new URL( 'web.view.tree', this.pack() ).toString()\n\t\t\tconst str = this.$.$mol_fetch.text( uri )\n\t\t\tconst predef = '$mol_view $mol_object\\n\\tdom_name \\\\\\n\\tstyle *\\n\\tevent *\\n\\tfield *\\n\\tattr *\\n\\tsub /\\n\\ttitle \\\\\\n'\n\t\t\tconst tree = this.$.$mol_tree2_from_string( predef + str )\n\t\t\tconst norm = this.$.$mol_view_tree2_normalize( tree )\n\t\t\treturn norm\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttree( next?: $mol_tree2 ) {\n\t\t\t\n\t\t\tconst source = this.source_tree( next && next.toString() ).replace( /\\n?$/, '\\n' )\n\t\t\t\n\t\t\tconst tree = this.$.$mol_view_tree2_normalize(\n\t\t\t\tthis.$.$mol_tree2_from_string( source )\n\t\t\t).kids[0]\n\t\t\t\n\t\t\treturn tree\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tunited() {\n\t\t\tconst lib = this.library()\n\t\t\treturn lib.clone([\n\t\t\t\t... lib.kids,\n\t\t\t\tthis.tree(),\n\t\t\t])\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tself( next?: string ) {\n\t\t\t\n\t\t\tconst tree = this.tree()\n\t\t\tif( !next ) return tree.type\n\t\t\t\n\t\t\tthis.tree(\n\t\t\t\ttree.struct( next, tree.kids )\n\t\t\t)\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tbase( next?: string ) {\n\t\t\t\n\t\t\tconst self = this.tree()\n\t\t\tconst base = this.$.$mol_view_tree2_class_super( self )\n\t\t\t\n\t\t\tif( !next ) return base.type\n\t\t\t\n\t\t\tthis.tree(\n\t\t\t\tself.clone([\n\t\t\t\t\tself.struct( next )\n\t\t\t\t])\n\t\t\t)\n\t\t\t\n\t\t\treturn this.readme_selected( next )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tself_code() {\n\t\t\t\n\t\t\tconst tree = this.tree()\n\t\t\t\n\t\t\tconst code = this.$.$mol_tree2_text_to_string_mapped_js(\n\t\t\t\tthis.$.$mol_tree2_js_to_text(\n\t\t\t\t\tthis.$.$mol_view_tree2_to_js(\n\t\t\t\t\t\ttree.list([ tree ])\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t)\n\t\t\t\n\t\t\tconst class_name = this.self()\n\t\t\treturn `\n\t\t\t\t$.$mol_wire_auto = parent.$mol_wire_auto\n\t\t\t\t$.${ class_name } = ${ code }\n\n\t\t\t\t$.${ class_name } = class ${ class_name } extends $.${ class_name } {\n\t\t\t\t\t${ this.source_js() }\n\t\t\t\t}\n\n\t\t\t\t;${ this.source_js_decorators() };\n\t\t\t\t$.$mol_style_attach(${ class_name }, ${ this.source_css() })\n\t\t\t`\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tbase_options() {\n\t\t\treturn this.library().kids.map( cl => cl.type ).reverse()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tclass_list() {\n\t\t\treturn this.library().kids.map( cl => cl.type )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tprop_sign( prop_name: string, next?: string ) {\n\t\t\tif( next !== undefined ) {\n\t\t\t\tconst tree = this.prop_tree( prop_name )\n\t\t\t\tthis.prop_tree( prop_name, tree.struct( next, tree.kids ) )\n\t\t\t\treturn next\n\t\t\t}\n\t\t\treturn this.props_map( this.self() ).get( prop_name )?.type || ''\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tprops_map( base: string ) {\n\t\t\t\n\t\t\tconst lib = this.united()\n\t\t\tconst all = new Map< string, $mol_tree2 >()\n\t\t\t\n\t\t\tconst add = ( prop: $mol_tree2 )=> {\n\t\t\t\tconst name = this.$.$mol_view_tree2_prop_parts( prop ).name\n\t\t\t\tall.set( name, prop )\n\t\t\t}\n\n\t\t\tconst collect = ( cl: string )=> {\n\t\t\t\t\n\t\t\t\tconst sup = lib.select( cl, null ).kids[0]\n\t\t\t\tif( !sup ) return\n\t\t\t\t\n\t\t\t\tcollect( sup.type )\n\t\t\t\t\n\t\t\t\tfor( const prop of sup.kids ) add( prop )\n\t\t\t\t\n\t\t\t}\n\n\t\t\tcollect( base )\n\n\t\t\treturn all\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tprops_of( base: string ) {\n\t\t\tconst lib = this.united()\n\t\t\treturn lib.list( [ ...this.props_map( base ).values() ].reverse() )\n\t\t}\n\t\t\n\t\tprops_all() {\n\t\t\treturn this.props_of( this.self() )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tprop_filtered() {\n\t\t\treturn this.props_all().kids.filter(\n\t\t\t\t$mol_match_text(\n\t\t\t\t\tthis.prop_filter(),\n\t\t\t\t\tprop => [ prop.type ],\n\t\t\t\t)\n\t\t\t)\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tprop_name( prop_name: string ) {\n\t\t\treturn prop_name\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tprops() {\n\t\t\tconst props = this.prop_filtered().flatMap( prop => {\n\t\t\t\tconst name = this.$.$mol_view_tree2_prop_parts( prop ).name\n\t\t\t\treturn name == 'undefined' ? [] : [this.Prop( name )]\n\t\t\t} )\n\t\t\treturn props\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tprop_add_allow() {\n\t\t\t\n\t\t\tconst query = this.prop_filter()\n\t\t\tif( !query.trim() ) return false\n\t\t\t\n\t\t\tconst all = this.props_all()\n\t\t\treturn all.kids.every( prop => prop.type !== query )\n\t\t\t\n\t\t}\n\t\t\n\t\tprop_add() {\n\t\t\t\n\t\t\tconst query = this.prop_filter()\n\t\t\tconst tree = this.tree()\n\t\t\t\n\t\t\tthis.tree(\n\t\t\t\ttree.insert(\n\t\t\t\t\ttree.struct( query, [\n\t\t\t\t\t\ttree.struct( 'null' ),\n\t\t\t\t\t] ),\n\t\t\t\t\tnull,\n\t\t\t\t\tquery,\n\t\t\t\t)\n\t\t\t)\n\t\t\t\n\t\t\tthis.prop_filter( '' )\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tprops_controls() {\n\t\t\treturn [\n\t\t\t\tthis.Prop_filter(),\n\t\t\t\t... this.prop_add_allow() ? [ this.Prop_add() ] : [],\n\t\t\t]\n\t\t}\n\t\t\n\t\t@$mol_mem_key\n\t\tBound_prop( id: string ) {\n\t\t\tconst name = id.split( ':' )[ 0 ]\n\t\t\tconst obj = new this.$.$hyoo_studio_prop()\n\t\t\tobj.name = () => this.prop_name( name )\n\t\t\tobj.sign = ( next?: string ) => this.prop_sign( name, next )\n\t\t\tobj.tree = ( next?: any ) => this.prop_tree( name, next )\n\t\t\tobj.props_of = ( klass: any ) => this.props_of( klass )\n\t\t\tobj.props_bindable = () => this.props_all()\n\t\t\tobj.class_list = () => this.class_list()\n\t\t\tobj.Bound_prop = ( id: any ) => this.Bound_prop( id )\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tprop_tree( prop_name: string, next?: $mol_tree2 ) {\n\t\t\t\n\t\t\tconst sign = this.prop_sign( prop_name ) || prop_name\n\t\t\t\n\t\t\tif( next !== undefined ) {\n\t\t\t\tthis.tree( this.tree().insert( next, this.base(), sign ) )\n\t\t\t\treturn next\n\t\t\t}\n\t\t\t\n\t\t\treturn this.props_all().select( sign ).kids[0] ?? null\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsoure_type_current( next?: string ) {\n\t\t\tconst options = Object.entries(this.Source_type().switch_options())\n\t\t\tif (next === undefined) {\n\t\t\t\tconst title = this.$.$mol_state_arg.value('raw_type')\n\t\t\t\tconst [value] = options.find(([value, label]) => label === title) ?? ['0']\n\t\t\t\treturn value\n\t\t\t}\n\n\t\t\tconst next_title = options[Number(next)]?.[1]\n\t\t\tthis.$.$mol_state_arg.value('raw_type', next_title ?? options[0][1])\n\t\t\treturn next\n\t\t}\n\n\t\tprops_css( class_body: string ) {\n\t\t\tconst props: Map< string/*prop name*/, string/*code*/ > = new Map\n\t\t\t\n\t\t\tlet code_start = 0\n\t\t\tlet body_start = 0\n\t\t\tlet brace_count = 0\n\t\t\tconst class_name = this.self().slice(1)\n\t\t\tfor( let i = 0; i < class_body.length; i++ ) {\n\t\t\t\tconst char = class_body[ i ]\n\n\t\t\t\tif( char == '}' ) {\n\t\t\t\t\tbrace_count--\n\t\t\t\t\tif( brace_count !== 0 ) continue\n\n\t\t\t\t\tconst attr = class_body.slice( code_start, body_start ).match( /\\[([\\w]+)\\]/ )?.[1]\n\t\t\t\t\tconst name = attr?.replace( class_name + '_', '' )\n\t\t\t\t\tif( !name ) continue\n\n\t\t\t\t\tprops.set( name, class_body.slice( code_start, i + 1 ).trim()! )\n\t\t\t\t\tcode_start = i + 1\n\t\t\t\t}\n\n\t\t\t\telse if( char == '{' ) {\n\t\t\t\t\tif( brace_count === 0 ) body_start = i\n\t\t\t\t\tbrace_count++\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tconsole.log('props', props)\n\t\t\tconsole.log('brace_count', brace_count)\n\t\t\tif( brace_count !== 0 ) throw new Error('Curly braces is not balanced')\n\t\t\treturn props\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tsource_css_prop_default( prop_name: string ) {\n\t\t\tconst class_name = this.self().slice(1)\n\t\t\treturn `[${class_name}_${prop_name.toLowerCase()}] {\\n\\t\\n}`\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tsource_css_prop( prop_name: string, next?: string ) {\n\t\t\tconst prop_name_lower = prop_name.toLowerCase()\n\t\t\ttry {\n\t\t\t\tconst props = this.props_css( this.source_css() )\n\n\t\t\t\tif( next === undefined ) {\n\t\t\t\t\tif( props.get( prop_name_lower ) ) return props.get( prop_name_lower )!\n\t\t\t\t\treturn this.source_css_prop_default( prop_name_lower )\n\t\t\t\t}\n\t\n\t\t\t\tprops.set( prop_name_lower, next )\n\t\t\t\tthis.source_css( [...props.values()].join('\\n\\n') )\n\t\t\t\t\n\t\t\t\treturn next\n\t\t\t\t\n\t\t\t} catch (error) {\n\t\t\t\tif( !this.$.$mol_promise_like( error ) ) {\n\t\t\t\t\tthis.$.$mol_fail_log( error )\n\t\t\t\t}\n\n\t\t\t\treturn this.source_css_prop_default( prop_name_lower )\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsource_css_switch( next?: string ) {\n\t\t\tconst prop_name = this.$.$mol_state_arg.value('raw_prop')\n\n\t\t\tif (!prop_name) return this.source_css(next)\n\n\t\t\treturn this.source_css_prop(prop_name, next)\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsource_js_decorators() {\n\t\t\tconst list = new Array()\n\n\t\t\tconst add = (prop_name: string, key: boolean, next: boolean) => {\n\t\t\t\tif (!key && !next) return\n\t\t\t\tif (this.source_js().includes(`/*${prop_name}*/`))\n\t\t\t\tlist.push(`($mol_mem${key ? '_key' : ''}(($.${ this.self() }.prototype), \"${ prop_name }\"));`)\n\t\t\t}\n\n\t\t\tthis.props().forEach(prop => add(prop.name(), prop.multiple(), prop.changeable()))\n\n\t\t\treturn list.join('\\n')\n\t\t}\n\n\t\tprops_js( class_body: string ) {\n\t\t\tconst props: Map< string/*prop name*/, string/*code*/ > = new Map\n\n\t\t\tlet code_start = 0\n\t\t\tlet body_start = 0\n\t\t\tlet brace_count = 0\n\t\t\tfor( let i = 0; i < class_body.length; i++ ) {\n\t\t\t\tconst char = class_body[ i ]\n\n\t\t\t\tif( char == '}' ) {\n\t\t\t\t\tbrace_count--\n\t\t\t\t\tif( brace_count !== 0 ) continue\n\n\t\t\t\t\tconst name = class_body.slice( code_start, body_start ).match( /([\\w]+)[\\s]*\\(/ )?.[1]\n\t\t\t\t\tif( !name ) continue\n\n\t\t\t\t\tprops.set( name, class_body.slice( code_start, i + 1 ).trim()! )\n\t\t\t\t\tcode_start = i + 1\n\t\t\t\t}\n\n\t\t\t\telse if( char == '{' ) {\n\t\t\t\t\tif( brace_count === 0 ) body_start = i\n\t\t\t\t\tbrace_count++\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tif( brace_count !== 0 ) throw new Error('Curly braces is not balanced')\n\t\t\treturn props\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tsource_js_prop_default( prop_name: string ) {\n\t\t\tconst multiple = this.Prop(prop_name).multiple()\n\t\t\tconst changeable = this.Prop(prop_name).changeable()\n\t\t\tconst params = [...multiple ? ['key'] : [], ...changeable ? ['next'] : []].join(', ')\n\t\t\treturn `${prop_name}( ${params} ) {\\n\\t\\n}`\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tsource_js_prop( prop_name: string, next?: string ) {\n\t\t\ttry {\n\t\t\t\tconst props = this.props_js( this.source_js() )\n\n\t\t\t\tif( next === undefined ) {\n\t\t\t\t\tif( props.get( prop_name ) ) return props.get( prop_name )!\n\t\t\t\t\treturn this.source_js_prop_default( prop_name )\n\t\t\t\t}\n\t\n\t\t\t\tprops.set( prop_name, next )\n\t\t\t\tthis.source_js( [...props.values()].join('\\n\\n') )\n\t\t\t\t\n\t\t\t\treturn next\n\t\t\t\t\n\t\t\t} catch (error) {\n\t\t\t\tif( !this.$.$mol_promise_like( error ) ) {\n\t\t\t\t\tthis.$.$mol_fail_log( error )\n\t\t\t\t}\n\n\t\t\t\treturn this.source_js_prop_default( prop_name )\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsource_js_switch( next?: string ) {\n\t\t\tconst prop_name = this.$.$mol_state_arg.value('raw_prop')\n\n\t\t\tif (!prop_name) return this.source_js(next)\n\n\t\t\treturn this.source_js_prop(prop_name, next)\n\t\t}\n\n\t\tsource_prop_name() {\n\t\t\treturn super.source_prop_name().replaceAll('{prop_name}', this.$.$mol_state_arg.value('raw_prop')!)\n\t\t}\n\n\t\t@ $mol_action\n\t\tsource_prop_exit() {\n\t\t\tthis.$.$mol_state_arg.value('raw_prop', null)\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsource_page_body() {\n\t\t\tconst show = this.$.$mol_state_arg.value('raw_prop') !== null && this.$.$mol_state_arg.value('raw_type') !== 'view.tree'\n\t\t\treturn [\n\t\t\t\t... show ? [this.Source_prop_switch()] : [],\n\t\t\t\tthis.Source_type(),\n\t\t\t]\n\t\t}\n\t}\n}\n","namespace $.$$ {\n\n\tconst { rem, per, px } = $mol_style_unit\n\n\t$mol_style_define( $hyoo_studio, {\n\n\t\tEdit: {\n\n\t\t\tflex: {\n\t\t\t\tgrow: 0,\n\t\t\t\tshrink: 0,\n\t\t\t},\n\n\t\t\tBody: {\n\t\t\t\tpadding: 0,\n\t\t\t},\n\n\t\t},\n\n\t\tEdit_form: {\n\t\t\tgap: $mol_gap.block,\n\t\t\tdisplay: 'flex',\n\t\t},\n\n\t\t$mol_form_field: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t},\n\n\t\tPack: {\n\t\t\twidth: per (100),\n\t\t},\n\n\t\tReadme_open: {\n\t\t\tmarginLeft: 'auto',\n\t\t},\n\n\t\tConfig: {\n\t\t\tgap: $mol_gap.block,\n\t\t},\n\n\t\tProps: {\n\t\t\tgap: $mol_gap.block,\n\t\t},\n\n\t\tProps_controls: {\n\t\t\tpadding: {\n\t\t\t\ttop: $mol_gap.block,\n\t\t\t\tbottom: $mol_gap.block,\n\t\t\t},\n\t\t},\n\n\t\tSource_type: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t\tSwitch: {\n\t\t\t\tflex: {\n\t\t\t\t\tgrow: 0,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\tSource_page: {\n\t\t\tflex: {\n\t\t\t\tbasis: rem( 40 ),\n\t\t\t},\n\t\t\tBody: {\n\t\t\t\tflexDirection: 'row',\n\t\t\t},\n\t\t},\n\n\t\tSource_page_list: {\n\t\t\twidth: '100%',\n\t\t},\n\n\t\tSource_prop_name: {\n\t\t\tpadding: $mol_gap.block,\n\t\t},\n\n\t\tPreview: {\n\t\t\tflex: {\n\t\t\t\tbasis: rem( 40 ),\n\t\t\t\tshrink: 0,\n\t\t\t\tgrow: 10000,\n\t\t\t},\n\t\t\tminWidth: per( 50 ),\n\t\t\tzIndex: 2,\n\t\t\tbox: {\n\t\t\t\tshadow: [ {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\tblur: 0,\n\t\t\t\t\tspread: px( 1 ),\n\t\t\t\t\tcolor: $mol_theme.line,\n\t\t\t\t} ],\n\t\t\t}\n\t\t},\n\n\t\tInspect: {\n\t\t\tflex: {\n\t\t\t\tbasis: rem( 30 ),\n\t\t\t\tshrink: 0,\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n"]} \ No newline at end of file +{"version":3,"sources":["-","../../../mam.ts","../../../mol/ambient/ambient.ts","../../../mol/delegate/delegate.ts","../../../mol/owning/owning.ts","../../../mol/fail/fail.ts","../../../mol/fail/hidden/hidden.ts","../../../mol/func/name/name.ts","../../../mol/object2/object2.ts","../../../mol/object/object.ts","../../../mol/window/window.node.ts","../../../mol/wire/cursor/cursor.ts","../../../mol/wire/pub/pub.ts","../../../mol/wire/wire.ts","../../../mol/dev/format/format.ts","../../../mol/wire/pub/sub/sub.ts","../../../mol/after/tick/tick.ts","../../../mol/promise/like/like.ts","../../../mol/wire/fiber/fiber.ts","../../../mol/guid/guid.ts","../../../mol/key/key.ts","../../../mol/after/timeout/timeout.ts","../../../mol/after/frame/frame.node.ts","../../../mol/compare/deep/deep.ts","../../../mol/log3/log3.ts","../../../mol/span/span.ts","../../../mol/tree2/to/string/string.ts","../../../mol/tree2/tree2.ts","../../../mol/error/syntax/syntax.ts","../../../mol/tree2/from/string/string.ts","../../../mol/tree2/from/json/json.ts","../../../mol/term/color/color.ts","../../../mol/log3/log3.node.ts","../../../mol/wire/task/task.ts","../../../mol/wire/method/method.ts","../../../mol/fail/catch/catch.ts","../../../mol/fail/log/log.ts","../../../mol/wire/atom/atom.ts","../../../mol/wire/solo/solo.ts","../../../mol/wire/plex/plex.ts","../../../mol/mem/mem.ts","../../../mol/dom/context/context.ts","../../../node/node.node.ts","../../../mol/error/mix/mix.ts","../../../mol/env/env.ts","../../../mol/env/env.node.ts","../../../mol/wire/sync/sync.ts","../../../mol/run/run.node.ts","../../../mol/exec/exec.node.ts","../../../mol/dom/context/context.node.ts","../../../mol/view/selection/selection.ts","../../../mol/wrapper/wrapper.ts","../../../mol/memo/memo.ts","../../../mol/dom/qname/qname.ts","../../../mol/wire/probe/probe.ts","../../../mol/wire/watch/watch.ts","../../../mol/const/const.ts","../../../mol/wire/solid/solid.ts","../../../mol/dom/render/attributes/attributes.ts","../../../mol/dom/render/events/events.ts","../../../mol/dom/render/styles/styles.ts","../../../mol/dom/render/children/children.ts","../../../mol/dom/render/fields/fields.ts","../../../mol/wire/async/async.ts","../../../mol/style/attach/attach.ts","../../../mol/decor/decor.ts","../../../mol/style/unit/unit.ts","../../../mol/style/func/func.ts","../../../mol/style/prop/prop.ts","../../../mol/theme/theme.ts","../../../mol/theme/-css/theme.css.ts","../../../mol/gap/gap.ts","../../../mol/gap/-css/gap.css.ts","../../../mol/view/view/view.ts","../../../mol/view/view/-css/view.css.ts","../../../mol/plugin/plugin.ts","../../../mol/scroll/scroll.view.tree","../../../mol/dom/listener/listener.ts","../../../mol/print/print.ts","../../../mol/style/sheet/sheet.ts","../../../mol/style/define/define.ts","../../../mol/scroll/scroll.view.ts","../../../mol/scroll/scroll.view.css.ts","../../../mol/book2/book2.view.tree","../../../mol/mem/cached/cached.ts","../../../mol/layer/layer.ts","../../../mol/layer/-css/layer.css.ts","../../../mol/book2/book2.view.ts","../../../mol/book2/-css/book2.view.css.ts","../../../mol/theme/auto/auto.view.tree","../../../mol/action/action.ts","../../../mol/state/arg/arg.node.ts","../../../mol/media/media.ts","../../../mol/mem/persist/persist.ts","../../../mol/storage/storage.ts","../../../mol/state/local/local.ts","../../../mol/charset/decode/decode.ts","../../../mol/charset/encode/encode.ts","../../../mol/file/file.ts","../../../mol/compare/array/array.ts","../../../mol/file/file.node.ts","../../../mol/state/local/local.node.ts","../../../mol/lights/lights.ts","../../../mol/theme/auto/auto.view.ts","../../../mol/link/link.view.tree","../../../mol/link/link.view.ts","../../../mol/link/link.view.css.ts","../../../mol/svg/svg.view.tree","../../../mol/state/time/time.ts","../../../mol/svg/svg.view.ts","../../../mol/svg/root/root.view.tree","../../../mol/svg/root/-css/root.view.css.ts","../../../mol/svg/path/path.view.tree","../../../mol/icon/icon.view.tree","../../../mol/icon/-css/icon.view.css.ts","../../../mol/icon/script/script.view.tree","../../../mol/icon/script/text/text.view.tree","../../../mol/locale/locale.ts","../../../mol/link/source/source.view.tree","../../../localized_string","../../../mol/speck/speck.view.tree","../../../mol/speck/-css/speck.view.css.ts","../../../mol/button/button.view.tree","../../../mol/keyboard/code/code.ts","../../../mol/button/button.view.ts","../../../mol/button/-css/button.view.css.ts","../../../mol/button/typed/typed.view.tree","../../../mol/button/typed/-css/typed.view.css.ts","../../../mol/button/minor/minor.view.tree","../../../mol/button/minor/-css/minor.view.css.ts","../../../mol/check/check.view.tree","../../../mol/maybe/maybe.ts","../../../mol/check/-css/check.css.ts","../../../mol/check/check.view.ts","../../../mol/check/icon/icon.view.tree","../../../mol/check/icon/-css/icon.view.css.ts","../../../mol/icon/brightness/6/6.view.tree","../../../mol/lights/toggle/toggle.view.tree","../../../mol/lights/toggle/toggle.view.ts","../../../mol/icon/card/card.view.tree","../../../mol/icon/card/text/text.view.tree","../../../mol/icon/chart/bar/bar.view.tree","../../../mol/icon/play/play.view.tree","../../../mol/icon/play/circle/circle.view.tree","../../../mol/pop/pop.view.tree","../../../mol/pop/pop.view.ts","../../../mol/pop/-css/pop.view.css.ts","../../../mol/hotkey/hotkey.view.tree","../../../mol/hotkey/hotkey.view.ts","../../../mol/nav/nav.view.tree","../../../mol/nav/nav.view.ts","../../../mol/string/string.view.tree","../../../mol/string/string.view.ts","../../../mol/string/-css/string.view.css.ts","../../../mol/icon/close/close.view.tree","../../../mol/list/list.view.tree","../../../mol/support/css/css.ts","../../../mol/list/list.view.ts","../../../mol/list/-css/list.view.css.ts","../../../mol/paragraph/paragraph.view.tree","../../../mol/paragraph/paragraph.view.ts","../../../mol/paragraph/-css/paragraph.view.css.ts","../../../mol/dimmer/dimmer.view.tree","../../../mol/regexp/regexp.ts","../../../mol/dimmer/dimmer.view.ts","../../../mol/dimmer/-css/dimmer.view.css.ts","../../../mol/search/search.view.tree","../../../mol/search/search.view.ts","../../../mol/search/-css/search.view.css.ts","../../../mol/labeler/labeler.view.tree","../../../mol/labeler/-css/labeler.view.css.ts","../../../mol/form/field/field.view.tree","../../../mol/form/field/field.view.ts","../../../mol/form/field/-css/field.view.css.ts","../../../mol/pick/pick.view.tree","../../../mol/pick/pick.view.ts","../../../mol/pick/-css/pick.view.css.ts","../../../mol/icon/dots/vertical/vertical.view.tree","../../../mol/select/select.view.tree","../../../mol/match/text.ts","../../../mol/select/select.view.ts","../../../mol/select/-css/select.view.css.ts","../../../mol/icon/information/information.view.tree","../../../mol/icon/information/outline/outline.view.tree","../../../mol/icon/plus/plus.view.tree","../../../mol/page/page.view.tree","../../../mol/page/page.view.css.ts","../../../mol/stack/stack.view.tree","../../../mol/stack/-css/stack.view.css.ts","../../../mol/text/code/token/token.view.tree","../../../mol/text/code/token/token.view.css.ts","../../../mol/text/code/row/row.view.tree","../../../mol/syntax2/syntax2.ts","../../../mol/syntax2/md/md.ts","../../../mol/text/code/row/row.view.ts","../../../mol/text/code/row/row.view.css.ts","../../../mol/blob/blob.ts","../../../mol/icon/clipboard/clipboard.view.tree","../../../mol/icon/clipboard/outline/outline.view.tree","../../../mol/button/copy/copy.view.tree","../../../mol/html/encode/encode.ts","../../../mol/button/copy/copy.view.ts","../../../mol/text/code/code.view.tree","../../../mol/text/code/code.view.ts","../../../mol/text/code/code.view.css.ts","../../../mol/textarea/textarea.view.tree","../../../mol/textarea/textarea.view.ts","../../../mol/textarea/-css/textarea.view.css.ts","../../../mol/check/list/list.view.tree","../../../mol/check/list/list.view.ts","../../../mol/check/list/-css/list.view.css.ts","../../../mol/switch/switch.view.tree","../../../mol/state/session/session.ts","../../../mol/switch/switch.view.ts","../../../mol/deck/deck.view.tree","../../../mol/deck/deck.view.ts","../../../mol/embed/native/native.view.tree","../../../mol/promise/promise/promise.ts","../../../mol/wait/timeout/timeout.ts","../../../mol/embed/native/native.view.ts","../../../mol/embed/native/-css/native.view.css.ts","../../../mol/frame/frame.view.tree","../../../mol/frame/frame.view.ts","../../../mol/frame/frame.view.css.ts","../../../mol/svg/group/group.view.tree","../../../mol/vector/vector.ts","../../../mol/svg/title/title.view.tree","../../../mol/plot/graph/graph.view.tree","../../../mol/plot/graph/graph.view.ts","../../../mol/plot/graph/-css/graph.view.css.ts","../../../mol/plot/bar/bar.view.tree","../../../mol/plot/bar/bar.view.ts","../../../mol/plot/bar/-css/bar.view.css.ts","../../../mol/svg/rect/rect.view.tree","../../../mol/svg/rect/rect.view.ts","../../../mol/svg/text/text.view.tree","../../../mol/svg/text/text.view.ts","../../../mol/svg/text/-css/text.view.css.ts","../../../mol/plot/ruler/ruler.view.tree","../../../mol/math/round/expand/expand.ts","../../../mol/plot/ruler/ruler.view.ts","../../../mol/plot/ruler/-css/ruler.view.css.ts","../../../mol/plot/ruler/vert/vert.view.tree","../../../mol/plot/ruler/vert/vert.view.ts","../../../mol/plot/ruler/vert/-css/vert.view.css.ts","../../../mol/plot/ruler/hor/hor.view.tree","../../../mol/plot/ruler/hor/hor.view.ts","../../../mol/plot/ruler/hor/-css/hor.view.css.ts","../../../mol/plot/mark/hor/hor.view.tree","../../../mol/plot/mark/hor/hor.view.ts","../../../mol/plot/mark/hor/-css/hor.view.css.ts","../../../mol/svg/text/box/box.view.tree","../../../mol/font/canvas/canvas.ts","../../../mol/font/measure/measure.ts","../../../mol/svg/text/box/box.view.ts","../../../mol/svg/text/box/-css/box.view.css.ts","../../../mol/plot/mark/cross/cross.view.tree","../../../mol/plot/mark/cross/cross.view.ts","../../../mol/plot/mark/cross/-css/cross.view.css.ts","../../../mol/gallery/gallery.view.tree","../../../mol/gallery/gallery.view.ts","../../../mol/gallery/-css/gallery.view.css.ts","../../../mol/chart/legend/legend.view.tree","../../../mol/chart/legend/legend.view.ts","../../../mol/chart/legend/-css/legend.view.css.ts","../../../mol/touch/touch.view.tree","../../../mol/touch/touch.view.ts","../../../mol/plot/pane/pane.view.tree","../../../mol/plot/pane/pane.view.ts","../../../mol/plot/pane/-css/pane.view.css.ts","../../../mol/chart/chart.view.tree","../../../mol/chart/-css/chart.view.css.ts","../../../mol/icon/chevron/chevron.view.tree","../../../mol/check/expand/expand.view.tree","../../../mol/check/expand/expand.view.ts","../../../mol/check/expand/-css/expand.view.css.ts","../../../mol/dump/list/list.view.tree","../../../mol/dump/list/list.view.ts","../../../mol/dump/list/-css/list.view.css.ts","../../../mol/expander/expander.view.tree","../../../mol/expander/expander.view.ts","../../../mol/expander/-css/expander.view.css.ts","../../../mol/dump/value/value.view.tree","../../../mol/try/try.node.ts","../../../mol/dump/value/value.view.ts","../../../mol/dump/value/-css/value.view.css.ts","../../../mol/icon/key/key.view.tree","../../../mol/icon/key/change/change.view.tree","../../../mol/icon/atom/atom.view.tree","../../../mol/icon/atom/variant/variant.view.tree","../../../mol/icon/language/css3/css3.view.tree","../../../mol/icon/language/javascript/javascript.view.tree","../../../mol/ghost/ghost.view.tree","../../../mol/ghost/ghost.view.ts","../../../mol/icon/arrow/left/left.view.tree","../../../mol/icon/arrow/left/right/right.view.tree","../../../mol/icon/arrow/left/right/bold/bold.view.tree","../../../mol/icon/arrow/left/right/bold/outline/outline.view.tree","../../../mol/icon/arrow/left/bold/bold.view.tree","../../../mol/icon/arrow/left/bold/outline/outline.view.tree","../../../mol/icon/arrow/right/right.view.tree","../../../mol/icon/arrow/right/bold/bold.view.tree","../../../mol/icon/arrow/right/bold/outline/outline.view.tree","../../../mol/icon/trash/can/can.view.tree","../../../mol/icon/trash/can/outline/outline.view.tree","../../../hyoo/studio/type/type.view.tree","../../../mol/view/tree2/error.ts","../../../mol/view/tree2/child.ts","../../../mol/view/tree2/classes.ts","../../../mol/view/tree2/normalize.ts","../../../mol/view/tree2/prop/signature.ts","../../../mol/view/tree2/prop/parts.ts","../../../mol/view/tree2/prop/quote.ts","../../../mol/view/tree2/class/match.ts","../../../mol/view/tree2/class/super.ts","../../../mol/view/tree2/class/props.ts","../../../mol/view/tree2/value/type.ts","../../../mol/view/tree2/value/value.ts","../../../mol/view/tree2/value/number.ts","../../../hyoo/studio/type/type.view.ts","../../../hyoo/studio/type/type.view.css.ts","../../../hyoo/studio/value/value.view.tree","../../../hyoo/studio/value/value.view.ts","../../../hyoo/studio/value/value.view.css.ts","../../../hyoo/studio/value/bound/bound.view.tree","../../../hyoo/studio/value/bound/bound.view.ts","../../../hyoo/studio/value/bound/bound.view.css.ts","../../../hyoo/studio/value/list/list.view.tree","../../../hyoo/studio/value/list/list.view.ts","../../../hyoo/studio/value/list/list.view.css.ts","../../../hyoo/studio/value/dict/dict.view.tree","../../../hyoo/studio/value/dict/dict.view.ts","../../../hyoo/studio/value/dict/dict.view.css.ts","../../../mol/icon/wrench/wrench.view.tree","../../../mol/icon/wrench/outline/outline.view.tree","../../../hyoo/studio/value/object/object.view.tree","../../../hyoo/studio/value/object/object.view.ts","../../../hyoo/studio/value/object/object.view.css.ts","../../../mol/icon/translate/translate.view.tree","../../../hyoo/studio/value/string/string.view.tree","../../../hyoo/studio/value/string/string.view.ts","../../../hyoo/studio/value/string/string.view.css.ts","../../../mol/icon/minus/minus.view.tree","../../../mol/number/number.view.tree","../../../mol/number/-css/number.css.ts","../../../mol/number/number.view.ts","../../../hyoo/studio/value/number/number.view.tree","../../../hyoo/studio/value/number/number.view.ts","../../../hyoo/studio/value/number/number.view.css.ts","../../../hyoo/studio/prop/prop.view.tree","../../../hyoo/studio/prop/prop.view.ts","../../../hyoo/studio/prop/prop.view.css.ts","../../../hyoo/studio/component/component.ts","../../../mol/tag/tree/tree.view.tree","../../../mol/compare/text/text.ts","../../../mol/tag/tree/tree.view.ts","../../../mol/tag/tree/-css/tree.view.css.ts","../../../mol/app/demo/menu/menu.view.tree","../../../mol/app/demo/menu/menu.view.ts","../../../mol/app/demo/menu/-css/menu.view.css.ts","../../../mol/icon/forum/forum.view.tree","../../../mol/icon/forum/outline/outline.view.tree","../../../mol/icon/open/in/new/new.view.tree","../../../mol/chat/chat.view.tree","../../../mol/chat/chat.view.ts","../../../mol/chat/-css/chat.view.css.ts","../../../mol/icon/settings/settings.view.tree","../../../mol/app/demo/detail/detail.view.tree","../../../mol/example/example.view.tree","../../../mol/example/-css/example.view.css.ts","../../../mol/example/small/small.view.tree","../../../mol/example/small/-css/small.view.css.ts","../../../mol/example/large/large.view.tree","../../../mol/example/large/-css/large.view.css.ts","../../../mol/float/float.view.tree","../../../mol/float/-css/float.view.css.ts","../../../mol/grid/grid.view.tree","../../../mol/grid/grid.view.ts","../../../mol/grid/-css/grid.view.css.ts","../../../mol/image/image.view.tree","../../../mol/image/image.view.ts","../../../mol/image/-css/image.view.css.ts","../../../mol/link/iconed/iconed.view.tree","../../../mol/link/iconed/iconed.view.ts","../../../mol/link/iconed/-css/iconed.view.css.ts","../../../mol/icon/youtube/youtube.view.tree","../../../mol/embed/service/service.view.tree","../../../mol/embed/service/service.view.ts","../../../mol/embed/service/-css/service.view.css.ts","../../../mol/embed/youtube/youtube.view.tree","../../../mol/embed/youtube/youtube.view.ts","../../../mol/embed/rutube/rutube.view.tree","../../../mol/embed/rutube/rutube.view.ts","../../../mol/embed/any/any.view.tree","../../../mol/embed/any/any.view.ts","../../../mol/text/text/text.view.tree","../../../mol/text/text/text.view.ts","../../../mol/text/text/-css/text.view.css.ts","../../../mol/text/list/list.view.tree","../../../mol/text/list/-css/list.view.css.ts","../../../mol/app/demo/readme/readme.view.tree","../../../mol/dom/parse/parse.ts","../../../mol/fetch/fetch.ts","../../../mol/app/demo/readme/readme.view.ts","../../../mol/status/status.view.tree","../../../mol/status/status.view.ts","../../../mol/status/-css/status.view.css.ts","../../../mol/app/demo/demo.view.tree","../../../mol/func/is/class/class.ts","../../../mol/app/demo/main/main.view.tree","../../../mol/app/demo/main/main.view.ts","../../../mol/app/demo/demo.view.ts","../../../mol/app/demo/-css/demo.view.css.ts","../../../mol/row/row.view.tree","../../../mol/row/-css/row.view.css.ts","../../../mol/form/form.view.tree","../../../mol/form/form.view.ts","../../../mol/form/-css/form.view.css.ts","../../../hyoo/studio/property/property.ts","../../../hyoo/studio/studio.view.tree","../../../mol/after/work/work.ts","../../../mol/wait/rest/rest.ts","../../../mol/graph/graph.ts","../../../mol/wire/graph/graph.ts","../../../mol/tree2/text/to/string/string.ts","../../../mol/vlq/vlq.ts","../../../mol/tree2/text/to/sourcemap/sourcemap.ts","../../../mol/sourcemap/url/url.ts","../../../mol/sourcemap/dataurl/dataurl.ts","../../../mol/tree2/text/to/string/mapped/mapped.ts","../../../mol/tree2/js/to/text/text.ts","../../../mol/guard/defined.ts","../../../mol/view/tree2/to/js/js.ts","../../../mol/offline/offline.ts","../../../mol/offline/install/install.ts","../../../hyoo/studio/studio.view.ts","../../../hyoo/studio/studio.view.css.ts"],"names":[],"mappings":"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","sourcesContent":[null,"Error.stackTraceLimit = 50;\n\ndeclare let _$_: { new(): {} } & typeof globalThis\ndeclare class $ extends _$_ {}\n\nnamespace $ {\n\texport type $ = typeof $$\n\texport declare class $$ extends $ {}\n\tnamespace $$ {\n\t\texport type $$ = $\n\t}\n}\n\nmodule.exports = $\n","namespace $ {\n\n\texport const $mol_ambient_ref : unique symbol = Symbol( '$mol_ambient_ref' )\n\n\t/** @deprecated use $ instead */\n\texport type $mol_ambient_context = $\n\n\texport function $mol_ambient( this : $ | void , overrides : Partial< $ > ) : $ {\n\t\treturn Object.setPrototypeOf( overrides , this || $ )\n\t}\n\n}\n","namespace $ {\n\n\tconst instances = new WeakSet< any >()\n\n\t/**\n\t * Proxy that delegates all to lazy returned target.\n\t * \n\t * \t$mol_delegate( Array.prototype , ()=> fetch_array() )\n\t */\n export function $mol_delegate< Value extends object >(\n\t\tproto : Value ,\n\t\ttarget : ()=> Value ,\n\t) {\n\n\t\tconst proxy = new Proxy( proto , {\n\n\t\t\tget: ( _ , field )=> {\n\t\t\t\tconst obj = target()\n\t\t\t\tlet val = Reflect.get( obj , field )\n\t\t\t\tif( typeof val === 'function' ) {\n\t\t\t\t\tval = val.bind( obj )\n\t\t\t\t} \n\t\t\t\treturn val\n\t\t\t},\n\t\t\thas: ( _ , field )=> Reflect.has( target(), field ),\n\t\t\tset: ( _ , field , value )=> Reflect.set( target() , field , value ),\n\t\t\t\n\t\t\tgetOwnPropertyDescriptor: ( _ , field )=> Reflect.getOwnPropertyDescriptor( target() , field ),\n\t\t\townKeys: ()=> Reflect.ownKeys( target() ),\n\t\t\t\n\t\t\tgetPrototypeOf: ()=> Reflect.getPrototypeOf( target() ),\n\t\t\tsetPrototypeOf: ( _ , donor )=> Reflect.setPrototypeOf( target() , donor ),\n\t\t\t\n\t\t\tisExtensible: ()=> Reflect.isExtensible( target() ),\n\t\t\tpreventExtensions: ()=> Reflect.preventExtensions( target() ),\n\t\t\t\n\t\t\tapply: ( _ , self , args )=> Reflect.apply( target() as Function , self , args ),\n\t\t\tconstruct: ( _ , args , retarget )=> Reflect.construct( target() as Function , args , retarget ),\n\t\t\t\n\t\t\tdefineProperty: ( _ , field , descr )=> Reflect.defineProperty( target() , field , descr ),\n\t\t\tdeleteProperty: ( _ , field )=> Reflect.deleteProperty( target() , field ),\n\n\t\t} )\n\n\t\tinstances.add( proxy )\n\n\t\treturn proxy\n\n\t}\n\n\tReflect.defineProperty(\n\t\t$mol_delegate ,\n\t\tSymbol.hasInstance ,\n\t\t{\n\t\t\tvalue : ( obj : object )=> instances.has( obj ),\n\t\t},\n\t)\n\n}\n","namespace $ {\n\n\texport const $mol_owning_map = new WeakMap< any , any >()\n\n\texport function $mol_owning_allow< Having >(\n\t\thaving : Having ,\n\t) : having is Having & {\n\t\tdestructor() : void\n\t} {\n\t\ttry {\n\t\t\tif( !having ) return false\n\t\t\tif( typeof having !== 'object' && typeof having !== 'function' ) return false\n\t\t\tif( having instanceof $mol_delegate ) return false\n\t\t\tif( typeof (having as any)['destructor'] !== 'function' ) return false\n\t\t\treturn true\n\t\t} catch {\n\t\t\treturn false\n\t\t}\n\t}\n\n\texport function $mol_owning_get< Having , Owner extends object >( having : Having , Owner? : { new() : Owner } ) : Owner | null {\n\t\n\t\tif( !$mol_owning_allow( having ) ) return null\n\n\t\twhile( true ) {\n\n\t\t\tconst owner = $mol_owning_map.get( having )\n\t\t\tif( !owner ) return owner\n\t\t\tif( !Owner ) return owner\n\t\t\t\n\t\t\tif( owner instanceof Owner ) return owner\n\n\t\t\thaving = owner\n\t\t}\n\n\t}\n\t\n\texport function $mol_owning_check< Owner , Having >(\n\t\towner : Owner ,\n\t\thaving : Having ,\n\t) : having is Having & { destructor() : void } {\n\t\tif( !$mol_owning_allow( having ) ) return false\n\t\tif( $mol_owning_map.get( having ) !== owner ) return false\n\t\treturn true\n\t}\n\t\n\texport function $mol_owning_catch< Owner , Having >(\n\t\towner : Owner ,\n\t\thaving : Having ,\n\t) {\n\t\tif( !$mol_owning_allow( having ) ) return false\n\t\tif( $mol_owning_map.get( having ) ) return false\n\n\t\t$mol_owning_map.set( having , owner )\n\t\treturn true\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_fail( error : any ) : never {\n\t\tthrow error\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_fail_hidden( error : any ) : never {\n\t\tthrow error /// Use 'Never Pause Here' breakpoint in DevTools or simply blackbox this script\n\t}\n\n}\n","namespace $ {\n\t\n\tconst named = new WeakSet< Function >()\n\t\n\texport function $mol_func_name( this : $ , func : Function ) : string {\n\t\t\n\t\tlet name = func.name\n\t\tif( name?.length > 1 ) return name\n\t\tif( named.has( func ) ) return name\n\n\t\tfor( let key in this ) {\n\t\t\ttry {\n\t\t\t\tif( (this as any)[ key ] !== func ) continue\n\t\t\t\tname = key\n\t\t\t\tObject.defineProperty( func , 'name' , { value : name } )\n\t\t\t\tbreak\n\t\t\t} catch {}\n\t\t}\n\n\t\tnamed.add( func )\n\t\treturn name\n\t\t\n\t}\n\n\texport function $mol_func_name_from< Target extends Function >( target : Target , source : Function ) {\n\t\tObject.defineProperty( target , 'name' , { value : source.name } )\n\t\treturn target\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_object2 {\n\t\t\n\t\tstatic $ = $ as any as $\n\t\t\n\t\t[Symbol.toStringTag]!: string\n\n\t\t[ $mol_ambient_ref ] = null as any as $\n\t\tget $() {\n\t\t\tif( this[ $mol_ambient_ref ] ) return this[ $mol_ambient_ref ]\n\t\t\tconst owner = $mol_owning_get( this ) as any\n\t\t\treturn this[ $mol_ambient_ref ] = owner?.$ || $mol_object2.$ as $\n\t\t}\n\t\tset $( next : $ ) {\n\t\t\tif( this[ $mol_ambient_ref ] ) $mol_fail_hidden( new Error( 'Context already defined' ) )\n\t\t\tthis[ $mol_ambient_ref ] = next\n\t\t}\n\n\t\tpublic static create< Instance >(\n\t\t\tthis : new( init? : ( instance : any )=> void )=> Instance ,\n\t\t\tinit? : ( instance : $mol_type_writable )=> void\n\t\t) : Instance {\n\t\t\tconst obj = new this\n\t\t\tif( init ) init( obj )\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\tstatic [ Symbol.toPrimitive ]() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tstatic toString() {\n\t\t\treturn ( this as any )[ Symbol.toStringTag ] || this.$.$mol_func_name( this )\n\t\t}\n\t\t\n\t\tstatic toJSON() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tdestructor() { }\n\t\tstatic destructor() { }\n\t\t\n\t\t//[ Symbol.toPrimitive ]( hint: string ) {\n\t\t//\treturn hint === 'number' ? this.valueOf() : this.toString()\n\t\t//}\n\t\t\n\t\ttoString(): string {\n\t\t\treturn this[ Symbol.toStringTag ] || this.constructor.name + '<>'\n\t\t}\n\t\t\n\t\t// toJSON(): any {\n\t\t// \treturn this.toString()\n\t\t// }\n\n\t}\n}\n","namespace $ {\n\n\texport namespace $$ { let $ }\n\n\texport const $mol_object_field = Symbol( '$mol_object_field' )\n\t\n\texport class $mol_object extends $mol_object2 {\n\t\t\n\t\tpublic static make< This extends typeof $mol_object >(\n\t\t\tthis: This,\n\t\t\tconfig: Partial< InstanceType< This > >,\n\t\t) {\n\t\t\treturn super.create( obj => {\n\t\t\t\tfor( let key in config ) ( obj as any )[ key ] = config[ key ]!\n\t\t\t} ) as InstanceType< This >\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\texport class $mol_window extends $mol_object {\n\t\t\n\t\tstatic size() {\n\t\t\treturn {\n\t\t\t\twidth: 1024,\n\t\t\t\theight: 768,\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/** Special status statuses. */\n\texport enum $mol_wire_cursor {\n\t\t\n\t\t/** Update required. */\n\t\tstale = -1,\n\t\t\n\t\t/** Some of (transitive) pub update required. */\n\t\tdoubt = -2,\n\t\t\n\t\t/** Actual state but may be dropped. */\n\t\tfresh = -3,\n\t\t\n\t\t/** State will never be changed. */\n\t\tfinal = -4,\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/**\n\t * Collects subscribers in compact array. 28B\n\t */\n\texport class $mol_wire_pub extends Object {\n\t\t\n\t\tdata = [] as unknown[]\n\t\t\n\t\t// Derived objects should be Arrays.\n\t\tstatic get [ Symbol.species ]() {\n\t\t\treturn Array\n\t\t}\n\t\t\n\t\t/**\n\t\t * Index of first subscriber.\n\t\t */\n\t\tprotected sub_from = 0 // 4B\n\t\t\n\t\t/**\n\t\t * All current subscribers.\n\t\t */\n\t\tget sub_list() {\n\t\t\tconst res = [] as $mol_wire_sub[]\n\t\t\tfor( let i = this.sub_from; i < this.data.length; i += 2 ) {\n\t\t\t\tres.push( this.data[i] as $mol_wire_sub )\n\t\t\t}\n\t\t\treturn res as readonly $mol_wire_sub[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * Has any subscribers or not.\n\t\t */\n\t\tget sub_empty() {\n\t\t\treturn this.sub_from === this.data.length\n\t\t}\n\t\t\n\t\t/**\n\t\t * Subscribe subscriber to this publisher events and return position of subscriber that required to unsubscribe.\n\t\t */\n\t\tsub_on( sub: $mol_wire_pub, pub_pos: number ) {\n\t\t\tconst pos = this.data.length\n\t\t\tthis.data.push( sub, pub_pos )\n\t\t\treturn pos\n\t\t}\n\t\t\n\t\t/**\n\t\t * Unsubscribe subscriber from this publisher events by subscriber position provided by `on(pub)`.\n\t\t */\n\t\tsub_off( sub_pos: number ) {\n\t\t\t\n\t\t\tif(!( sub_pos < this.data.length )) {\n\t\t\t\t$mol_fail( new Error( `Wrong pos ${ sub_pos }` ) )\n\t\t\t}\n\t\t\t\n\t\t\tconst end = this.data.length - 2\n\t\t\tif( sub_pos !== end ) {\n\t\t\t\tthis.peer_move( end, sub_pos )\n\t\t\t}\n\t\t\t\n\t\t\tthis.data.pop()\n\t\t\tthis.data.pop()\n\t\t\t\n\t\t\tif( this.data.length === this.sub_from ) this.reap()\n\t\t\t\n\t\t}\n\t\t\n\t\t/**\n\t\t * Called when last sub was unsubscribed.\n\t\t **/\n\t\treap() { }\n\t\t\n\t\t/**\n\t\t * Autowire this publisher with current subscriber.\n\t\t **/\n\t\tpromote() {\n\t\t\t$mol_wire_auto()?.track_next( this )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Enforce actualization. Should not throw errors.\n\t\t */\n\t\tfresh() {}\n\t\t\n\t\t/**\n\t\t * Allow to put data to caches in the subtree.\n\t\t */\n\t\tcomplete() {}\n\t\t\n\t\tget incompleted() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * Notify subscribers about self changes.\n\t\t */\n\t\temit( quant = $mol_wire_cursor.stale ) {\n\t\t\tfor( let i = this.sub_from; i < this.data.length; i += 2 ) {\n\t\t\t\t;( this.data[i] as $mol_wire_sub ).absorb( quant )\n\t\t\t}\n\t\t}\n\t\t\n\t\t/**\n\t\t * Moves peer from one position to another. Doesn't clear data at old position!\n\t\t */\n\t\tpeer_move( from_pos: number, to_pos: number ) {\n\t\t\t\n\t\t\tconst peer = this.data[ from_pos ] as $mol_wire_pub\n\t\t\tconst self_pos = this.data[ from_pos + 1 ] as number\n\t\t\t\n\t\t\tthis.data[ to_pos ] = peer\n\t\t\tthis.data[ to_pos + 1 ] = self_pos\n\t\t\t\n\t\t\tpeer.peer_repos( self_pos, to_pos )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Updates self position in the peer.\n\t\t */\n\t\tpeer_repos( peer_pos: number, self_pos: number ) {\n\t\t\tthis.data[ peer_pos + 1 ] = self_pos\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport let $mol_wire_auto_sub: $mol_wire_sub | null = null\n\t\n\t/**\n\t * When fulfilled, all publishers are promoted to this subscriber on access to its.\n\t */\n\texport function $mol_wire_auto( next = $mol_wire_auto_sub ) {\n\t\treturn $mol_wire_auto_sub = next\n\t}\n\t\n\t/**\n\t * Affection queue. Used to prevent accidental stack overflow on emit.\n\t */\n\texport const $mol_wire_affected = [] as ( $mol_wire_sub | number )[]\n\t\n}\n","namespace $ {\n\n\t// https://docs.google.com/document/d/1FTascZXT9cxfetuPRT2eXPQKXui4nWFivUnS_335T3U/preview#\n\t($ as any)['devtoolsFormatters'] ||= []\n\n\texport function $mol_dev_format_register( config : {\n\t\theader : ( val : any , config : any )=> any\n\t\thasBody : ( val : any , config : any )=> false\n\t} | {\n\t\theader : ( val : any , config : any )=> any\n\t\thasBody : ( val : any , config : any )=> boolean\n\t\tbody : ( val : any , config : any )=> any\n\t} ) {\n\t\t($ as any)['devtoolsFormatters'].push( config )\n\t}\n\n\texport let $mol_dev_format_head = Symbol( '$mol_dev_format_head' )\n\texport let $mol_dev_format_body = Symbol( '$mol_dev_format_body' )\n\n\t$mol_dev_format_register({\n\n\t\theader : ( val : any , config = false ) => {\n\t\t\t\n\t\t\tif( config ) return null\n\n\t\t\tif( !val ) return null\n\t\t\t\n\t\t\tif( $mol_dev_format_head in val ) {\n\t\t\t\ttry {\n\t\t\t\t\treturn val[ $mol_dev_format_head ]()\n\t\t\t\t} catch( error ) {\n\t\t\t\t\treturn $mol_dev_format_accent( $mol_dev_format_native( val ), '💨', $mol_dev_format_native( error ), '' )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tif( typeof val === 'function' ) {\n\t\t\t\treturn $mol_dev_format_native( val )\n\t\t\t}\n\t\t\t\n\t\t\tif( Symbol.toStringTag in val ) {\n\t\t\t\treturn $mol_dev_format_native( val )\n\t\t\t}\n\t\t\t\n\t\t\treturn null\n\t\t\t\n\t\t} ,\n\t\t\n\t\thasBody : val => val[ $mol_dev_format_body ] ,\n\n\t\tbody : val => val[ $mol_dev_format_body ]() ,\n\n\t})\n\n\texport function $mol_dev_format_native( obj : any ) {\n\t\t\n\t\tif( typeof obj === 'undefined' ) return $mol_dev_format_shade( 'undefined' )\n\t\t\n\t\t// if( ![ 'object', 'function', 'symbol' ].includes( typeof obj ) ) return obj\n\n\t\treturn [\n\t\t\t'object' ,\n\t\t\t{\n\t\t\t\tobject : obj ,\n\t\t\t\tconfig : true ,\n\t\t\t} ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_auto( obj : any ) {\n\t\t\n\t\tif( obj == null ) return $mol_dev_format_shade( String( obj ) )\n\n\t\treturn [\n\t\t\t'object' ,\n\t\t\t{\n\t\t\t\tobject : obj ,\n\t\t\t\tconfig : false ,\n\t\t\t} ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_element( element : string , style : object , ...content : any[] ) {\n\t\t\t\n\t\tconst styles = [] as string[]\n\t\t\n\t\tfor( let key in style ) styles.push( `${ key } : ${ (style as any)[key] }` )\n\t\t\n\t\treturn [\n\t\t\telement ,\n\t\t\t{\n\t\t\t\tstyle : styles.join( ' ; ' ) ,\n\t\t\t} ,\n\t\t\t... content ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_span( style : object , ...content : any[] ) {\n\t\treturn $mol_dev_format_element(\n\t\t\t'span' ,\n\t\t\t{\n\t\t\t\t// 'vertical-align' : '8%',\n\t\t\t\t... style ,\n\t\t\t} ,\n\t\t\t... content ,\n\t\t)\n\t}\n\n\texport let $mol_dev_format_div = $mol_dev_format_element.bind( null , 'div' )\n\texport let $mol_dev_format_ol = $mol_dev_format_element.bind( null , 'ol' )\n\texport let $mol_dev_format_li = $mol_dev_format_element.bind( null , 'li' )\n\texport let $mol_dev_format_table = $mol_dev_format_element.bind( null , 'table' )\n\texport let $mol_dev_format_tr = $mol_dev_format_element.bind( null , 'tr' )\n\texport let $mol_dev_format_td = $mol_dev_format_element.bind( null , 'td' )\n\n\texport let $mol_dev_format_accent = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'magenta' ,\n\t} )\n\n\texport let $mol_dev_format_strong = $mol_dev_format_span.bind( null , {\n\t\t'font-weight' : 'bold' ,\n\t} )\n\n\texport let $mol_dev_format_string = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'green',\n\t} )\n\n\texport let $mol_dev_format_shade = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'gray',\n\t} )\n\n\texport let $mol_dev_format_indent = $mol_dev_format_div.bind( null , {\n\t\t'margin-left': '13px'\n\t} )\n\n}\n","namespace $ {\n\t\n\t/**\n\t * Publisher that can auto collect other publishers. 32B\n\t * \n\t * \tP1 P2 P3 P4 S1 S2 S3\n\t * \t^ ^\n\t * \tpubs_from subs_from\n\t */\n\texport class $mol_wire_pub_sub extends $mol_wire_pub implements $mol_wire_sub {\n\t\t\n\t\tprotected pub_from = 0 // 4B\n\t\tprotected cursor = $mol_wire_cursor.stale // 4B\n\t\t\n\t\tget temp() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\tget pub_list() {\n\t\t\tconst res = [] as $mol_wire_pub[]\n\t\t\tconst max = this.cursor >=0 ? this.cursor : this.sub_from\n\t\t\tfor( let i = this.pub_from; i < max; i += 2 ) {\n\t\t\t\tif( this.data[i] ) res.push( this.data[i] as $mol_wire_pub )\n\t\t\t}\n\t\t\treturn res\n\t\t}\n\t\t\n\t\ttrack_on() {\n\t\t\tthis.cursor = this.pub_from\n\t\t\tconst sub = $mol_wire_auto()\n\t\t\t$mol_wire_auto( this )\n\t\t\treturn sub\n\t\t}\n\t\t\n\t\tpromote() {\n\t\t\t\n\t\t\tif( this.cursor >= this.pub_from ) {\n\t\t\t\t$mol_fail( new Error( 'Circular subscription' ) )\n\t\t\t}\n\t\t\t\n\t\t\tsuper.promote()\n\t\t}\n\t\t\n\t\ttrack_next( pub?: $mol_wire_pub ): $mol_wire_pub | null {\n\t\t\t\n\t\t\tif( this.cursor < 0 ) $mol_fail( new Error( 'Promo to non begun sub' ) )\n\t\t\t\n\t\t\tif( this.cursor < this.sub_from ) {\n\t\t\t\n \t\t\t\tconst next = this.data[ this.cursor ] as $mol_wire_pub | undefined\n\t\t\t\tif( pub === undefined ) return next ?? null\n\t\t\t\t\n\t\t\t\tif( next === pub ) {\n\t\t\t\t\tthis.cursor += 2\n\t\t\t\t\treturn next\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( next ) {\n\t\t\t\t\t\n\t\t\t\t\tif( this.sub_from < this.data.length ) {\n\t\t\t\t\t\tthis.peer_move( this.sub_from, this.data.length )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tthis.peer_move( this.cursor, this.sub_from )\n\t\t\t\t\tthis.sub_from += 2\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tif( pub === undefined ) return null\n\t\t\t\t\n\t\t\t\tif( this.sub_from < this.data.length ) {\n\t\t\t\t\tthis.peer_move( this.sub_from, this.data.length )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis.sub_from += 2\n\t\t\t\t\n\t\t\t}\t\t\t\n\t\t\t\n\t\t\tthis.data[ this.cursor ] = pub\n\t\t\tthis.data[ this.cursor + 1 ] = pub.sub_on( this, this.cursor )\n\t\t\t\n\t\t\tthis.cursor += 2\n\t\t\t\n\t\t\treturn pub\n\t\t}\n\t\t\n\t\ttrack_off( sub: $mol_wire_sub | null ) {\n\t\t\t\n\t\t\t$mol_wire_auto( sub )\n\t\t\t\n\t\t\tif( this.cursor < 0 ) {\n\t\t\t\t$mol_fail( new Error( 'End of non begun sub' ) )\n\t\t\t}\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\tcursor < this.cursor;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub\n\t\t\t\tpub.fresh()\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\n\t\t}\n\t\t\n\t\tpub_off( sub_pos: number ) {\n\t\t\tthis.data[ sub_pos ] = undefined as any\n\t\t\tthis.data[ sub_pos + 1 ] = undefined as any \n\t\t}\n\t\t\n\t\tdestructor() {\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.data.length - 2;\n\t\t\t\tcursor >= this.sub_from;\n\t\t\t\tcursor -= 2\n\t\t\t) {\n\t\t\t\tconst sub = this.data[ cursor ] as $mol_wire_sub\n\t\t\t\tconst pos = this.data[ cursor + 1 ] as number\n\t\t\t\tsub.pub_off( pos )\n\t\t\t\tthis.data.pop()\n\t\t\t\tthis.data.pop()\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = this.pub_from\n\t\t\tthis.track_cut()\n\t\t\tthis.cursor = $mol_wire_cursor.final\n\t\t\t\n\t\t}\n\t\t\n\t\ttrack_cut() {\n\t\t\t\n\t\t\tif( this.cursor < this.pub_from ) {\n\t\t\t\t$mol_fail( new Error( 'Cut of non begun sub' ) )\n\t\t\t}\n\t\t\t\n\t\t\tlet tail = 0\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.cursor;\n\t\t\t\tcursor < this.sub_from;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\t\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub | undefined\n\t\t\t\tpub?.sub_off( this.data[ cursor + 1 ] as number )\n\t\t\t\t\n\t\t\t\tif( this.sub_from < this.data.length ) {\n\t\t\t\t\tthis.peer_move( this.data.length - 2, cursor )\n\t\t\t\t\tthis.data.pop()\n\t\t\t\t\tthis.data.pop()\n\t\t\t\t} else {\n\t\t\t\t\t++ tail\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tfor(; tail; -- tail ) {\n\t\t\t\tthis.data.pop()\n\t\t\t\tthis.data.pop()\n\t\t\t}\n\t\t\t\n\t\t\tthis.sub_from = this.cursor\n\t\t\t\n\t\t}\n\t\t\n\t\tcomplete() { }\n\t\t\n\t\tcomplete_pubs() {\n\t\t\t\n\t\t\tconst limit = this.cursor < 0 ? this.sub_from : this.cursor \n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\tcursor < limit;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub\n\t\t\t\tif( pub?.incompleted ) return \n\t\t\t}\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\tcursor < limit;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub\n\t\t\t\tpub?.complete()\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tabsorb( quant = $mol_wire_cursor.stale ) {\n\t\t\t\n\t\t\tif( this.cursor === $mol_wire_cursor.final ) return\n\t\t\tif( this.cursor >= quant ) return\n\t\t\t\n\t\t\tthis.cursor = quant\n\t\t\tthis.emit( $mol_wire_cursor.doubt )\n\t\t\t\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_native( this )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Is subscribed to any publisher or not.\n\t\t */\n\t\tget pub_empty() {\n\t\t\treturn this.sub_from === this.pub_from\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_after_tick extends $mol_object2 {\n\n\t\tstatic promise = null as Promise | null\n\t\tcancelled = false\n\n\t\tconstructor(\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper()\n\t\t\t\n\t\t\tif( !$mol_after_tick.promise ) $mol_after_tick.promise = Promise.resolve().then( ()=> {\n\t\t\t\t$mol_after_tick.promise = null\n\t\t\t} )\n\t\t\t\n\t\t\t$mol_after_tick.promise.then( ()=> {\n\t\t\t\tif( this.cancelled ) return\n\t\t\t\ttask()\n\t\t\t} )\n\t\t\t\n\t\t}\n\n\t\tdestructor() {\n\t\t\tthis.cancelled = true\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_promise_like( val: any ): val is Promise {\n\t\ttry {\n\t\t\treturn val && typeof val === 'object' && 'then' in val && typeof val.then === 'function'\n\t\t} catch {\n\t\t\treturn false\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\tconst handled = new WeakSet< Promise< unknown > >()\n\t\n\t/**\n\t * Suspendable task with support both sync/async api.\n\t * \n\t * \tA1 A2 A3 A4 P1 P2 P3 P4 S1 S2 S3\n\t * \t^ ^ ^\n\t * \targs_from pubs_from subs_from\n\t **/\n\texport abstract class $mol_wire_fiber<\n\t\tHost,\n\t\tArgs extends readonly unknown[],\n\t\tResult,\n\t> extends $mol_wire_pub_sub {\n\t\n\t\tstatic warm = true\n\t\t\n\t\tstatic planning = new Set< $mol_wire_fiber< any, any, any > >()\n\t\tstatic reaping = new Set< $mol_wire_fiber< any, any, any > >()\n\t\t\n\t\tstatic plan_task: $mol_after_tick | null = null\n\t\tstatic plan() {\n\t\t\t\n\t\t\tif( this.plan_task ) return\n\t\t\t\n\t\t\tthis.plan_task = new $mol_after_tick( ()=> {\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tthis.sync()\n\t\t\t\t} finally {\n\t\t\t\t\t$mol_wire_fiber.plan_task = null\n\t\t\t\t}\n\n\t\t\t} )\n\t\t\t\n\t\t}\n\t\t\n\t\tstatic sync() {\n\t\t\t\n\t\t\t// Sync whole fiber graph\n\t\t\twhile( this.planning.size ) {\n\t\t\t\tfor( const fiber of this.planning ) {\n\t\t\t\t\tthis.planning.delete( fiber )\n\t\t\t\t\tif( fiber.cursor >= 0 ) continue\n\t\t\t\t\tif( fiber.cursor === $mol_wire_cursor.final ) continue\n\t\t\t\t\tfiber.fresh()\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t// Collect garbage\n\t\t\twhile( this.reaping.size ) {\n\t\t\t\t\n\t\t\t\tconst fibers = this.reaping\n\t\t\t\tthis.reaping = new Set\n\t\t\t\t\n\t\t\t\tfor( const fiber of fibers ) {\n\t\t\t\t\tif( !fiber.sub_empty ) continue\n\t\t\t\t\tfiber.destructor()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t[Symbol.toStringTag]!: string\n\n\t\tpublic cache: Result | Error | Promise< Result | Error > = undefined as any\n\t\t\n\t\tget args() {\n\t\t\treturn this.data.slice( 0 , this.pub_from ) as any as Args\n\t\t}\n\t\t\n\t\tresult() {\n\t\t\tif( $mol_promise_like( this.cache ) ) return\n\t\t\tif( this.cache instanceof Error ) return\n\t\t\treturn this.cache\n\t\t}\n\t\t\n\t\tget incompleted() {\n\t\t\treturn $mol_promise_like( this.cache )\n\t\t}\n\t\t\n\t\tfield() {\n\t\t\treturn this.task.name + '<>'\n\t\t}\n\t\t\n\t\tconstructor(\n\t\t\tid: string,\n\t\t\treadonly task: ( this : Host , ... args : Args )=> Result,\n\t\t\treadonly host?: Host,\n\t\t\targs?: Args\n\t\t) {\n\t\t\t\n\t\t\tsuper()\n\t\t\tif( args ) this.data.push( ... args )\n\t\t\tthis.pub_from = this.sub_from = args?.length ?? 0\n\t\t\tthis[ Symbol.toStringTag ] = id\n\t\t\t\n\t\t}\n\t\t\n\t\tplan() {\n\t\t\t$mol_wire_fiber.planning.add( this )\n\t\t\t$mol_wire_fiber.plan()\n\t\t\treturn this\n\t\t}\n\t\t\n\t\treap() {\n\t\t\t$mol_wire_fiber.reaping.add( this )\n\t\t\t$mol_wire_fiber.plan()\n\t\t}\n\t\t\n\t\ttoString() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\t\t\n\t\ttoJSON() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\n\t\t[ $mol_dev_format_head ]() {\n\t\t\t\n\t\t\tconst cursor = {\n\t\t\t\t[ $mol_wire_cursor.stale ]: '🔴',\n\t\t\t\t[ $mol_wire_cursor.doubt ]: '🟡',\n\t\t\t\t[ $mol_wire_cursor.fresh ]: '🟢',\n\t\t\t\t[ $mol_wire_cursor.final ]: '🔵',\n\t\t\t}[ this.cursor ] ?? this.cursor.toString()\n\t\t\t\n\t\t\treturn $mol_dev_format_div( {},\n\t\t\t\t$mol_owning_check( this, this.cache )\n\t\t\t\t\t? $mol_dev_format_auto({\n\t\t\t\t\t\t[ $mol_dev_format_head ]: ()=> $mol_dev_format_shade( cursor ),\n\t\t\t\t\t\t[ $mol_dev_format_body ]: ()=> $mol_dev_format_native( this ),\n\t\t\t\t\t})\n\t\t\t\t\t: $mol_dev_format_shade( $mol_dev_format_native( this ), cursor ),\n\t\t\t\t$mol_dev_format_auto( this.cache ),\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\tget $() {\n\t\t\treturn ( this.host ?? this.task as any )['$']\n\t\t}\n\t\t\n\t\temit( quant = $mol_wire_cursor.stale ) {\n\t\t\tif( this.sub_empty ) this.plan()\n\t\t\telse super.emit( quant )\n\t\t}\n\t\t\n\t\tfresh() {\n\n\t\t\ttype Result = typeof this.cache\n\t\t\t\n\t\t\tif( this.cursor === $mol_wire_cursor.fresh ) return\n\t\t\tif( this.cursor === $mol_wire_cursor.final ) return\n\t\t\t\n\t\t\tcheck: if( this.cursor === $mol_wire_cursor.doubt ) {\n\t\t\t\t\n\t\t\t\tfor( let i = this.pub_from ; i < this.sub_from; i += 2 ) {\n\t\t\t\t\t;( this.data[i] as $mol_wire_pub )?.fresh()\n\t\t\t\t\tif( this.cursor !== $mol_wire_cursor.doubt ) break check\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\treturn\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst bu = this.track_on()\n\t\t\tlet result: typeof this.cache\n\n\t\t\ttry {\n\n\t\t\t\tswitch( this.pub_from ) {\n\t\t\t\t\tcase 0: result = (this.task as any).call( this.host! ); break\n\t\t\t\t\tcase 1: result = (this.task as any).call( this.host!, this.data[0] ); break\n\t\t\t\t\tdefault: result = (this.task as any).call( this.host!, ... this.args ); break\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( $mol_promise_like( result ) && !handled.has( result ) ) {\n\t\t\t\t\t\n\t\t\t\t\tconst put = ( res: Result )=> {\n\t\t\t\t\t\tif( this.cache === result ) this.put( res )\n\t\t\t\t\t\treturn res\n\t\t\t\t\t}\n\t\t\t\t\tresult = result.then( put, put )\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t\n\t\t\t\tif( error instanceof Error || $mol_promise_like( error ) ) {\n\t\t\t\t\tresult = error\n\t\t\t\t} else {\n\t\t\t\t\tresult = new Error( String( error ), { cause: error } )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( $mol_promise_like( result ) && !handled.has( result ) ) {\n\t\t\t\t\t\n\t\t\t\t\tresult = result.finally( ()=> {\n\t\t\t\t\t\tif( this.cache === result ) this.absorb()\n\t\t\t\t\t} )\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( $mol_promise_like( result ) && !handled.has( result ) ) {\n\t\t\t\t\t\n\t\t\t\tresult = Object.assign( result, {\n\t\t\t\t\tdestructor: (result as any)['destructor'] ?? (()=> {})\n\t\t\t\t} )\n\t\t\t\thandled.add( result )\n\t\t\t\t\n\t\t\t\tconst error = new Error( `Promise in ${ this }` )\n\t\t\t\tObject.defineProperty( result, 'stack', { get: ()=> error.stack } )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( ! $mol_promise_like( result ) ) {\n\t\t\t\tthis.track_cut()\n\t\t\t}\n\t\t\t\n\t\t\tthis.track_off( bu )\n\t\t\tthis.put( result )\n\t\t\t\n\t\t\treturn this\n\t\t}\n\t\t\n\t\trefresh() {\n\t\t\tthis.cursor = $mol_wire_cursor.stale\n\t\t\tthis.fresh()\n\t\t}\n\t\t\n\t\tabstract put( next: Result | Error | Promise< Result | Error > ): Result | Error | Promise< Result | Error >\n\t\t\n\t\t/**\n\t\t * Synchronous execution. Throws Promise when waits async task (SuspenseAPI provider).\n\t\t * Should be called inside SuspenseAPI consumer (ie fiber).\n\t\t */\n\t\tsync() {\n\t\t\t\n\t\t\tif( !$mol_wire_fiber.warm ) {\n\t\t\t\treturn this.result() as Awaited< Result >\n\t\t\t}\n\t\t\t\n\t\t\tthis.promote()\n\t\t\tthis.fresh()\n\t\t\t\n\t\t\tif( this.cache instanceof Error ) {\n\t\t\t\treturn $mol_fail_hidden( this.cache )\n\t\t\t}\n\t\t\t\n\t\t\tif( $mol_promise_like( this.cache ) ) {\n\t\t\t\treturn $mol_fail_hidden( this.cache )\n\t\t\t}\n\t\t\t\n\t\t\treturn this.cache as Awaited< Result >\n\t\t}\n\n\t\t/**\n\t\t * Asynchronous execution.\n\t\t * It's SuspenseAPI consumer. So SuspenseAPI providers can be called inside.\n\t\t */\n\t\tasync async() {\n\t\t\t\n\t\t\twhile( true ) {\n\t\t\t\t\n\t\t\t\tthis.fresh()\n\t\t\t\t\n\t\t\t\tif( this.cache instanceof Error ) {\n\t\t\t\t\t$mol_fail_hidden( this.cache )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( ! $mol_promise_like( this.cache ) ) return this.cache\n\t\t\t\t\t\n\t\t\t\tawait Promise.race([ this.cache, this.step() ])\n\t\t\t\tif( ! $mol_promise_like( this.cache ) ) return this.cache\n\t\t\t\t\t\n\t\t\t\tif( this.cursor === $mol_wire_cursor.final ) {\n\t\t\t\t\t// never ends on destructed fiber\n\t\t\t\t\tawait new Promise( ()=> {} )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tstep() {\n\t\t\treturn new Promise< null >( done => {\n\t\t\t\tconst sub = new $mol_wire_pub_sub\n\t\t\t\tconst prev = sub.track_on()\n\t\t\t\tsub.track_next( this )\n\t\t\t\tsub.track_off( prev )\n\t\t\t\tsub.absorb = ()=> {\n\t\t\t\t\tdone( null )\n\t\t\t\t\tsetTimeout( ()=> sub.destructor() )\n\t\t\t\t}\n\t\t\t} )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Generates unique identifier. */\n\texport function $mol_guid(\n\t\tlength = 8,\n\t\texists: ( id: string )=> boolean = ()=> false,\n\t) {\n\n\t\tfor(;;) {\n\n\t\t\tlet id = Math.random().toString( 36 ).substring( 2, length + 2 ).toUpperCase()\n\t\t\tif( exists( id ) ) continue\n\t\t\t\n\t\t\treturn id\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\texport const $mol_key_store = new WeakMap< object, string >()\n\n\t/** Returns string key for any value. */\n\texport function $mol_key< Value >( value : Value ) : string {\n\t\t\n\t\tif( typeof value === 'bigint' ) return value.toString() + 'n'\n\t\tif( typeof value === 'symbol' ) return value.description!\n\t\tif( !value ) return JSON.stringify( value )\n\t\tif( typeof value !== 'object' && typeof value !== 'function' ) return JSON.stringify( value )\n\t\t\n\t\treturn JSON.stringify( value, ( field, value )=> {\n\t\t\t\n\t\t\tif( typeof value === 'bigint' ) return value.toString() + 'n'\n\t\t\tif( typeof value === 'symbol' ) return value.description\n\t\t\tif( !value ) return value\n\t\t\tif( typeof value !== 'object' && typeof value !== 'function' ) return value\n\t\t\tif( Array.isArray( value ) ) return value\n\t\t\t\n\t\t\tconst proto = Reflect.getPrototypeOf( value )\n\t\t\tif( !proto ) return value\n\t\t\tif( Reflect.getPrototypeOf( proto ) === null ) return value\n\t\t\t\n\t\t\tif( 'toJSON' in value ) return value\n\t\t\tif( value instanceof RegExp ) return value.toString()\n\t\t\tif( value instanceof Uint8Array ) return [ ... value ]\n\t\t\t\n\t\t\tlet key = $mol_key_store.get( value )\n\t\t\tif( key ) return key\n\t\t\t\n\t\t\tkey = $mol_guid()\n\t\t\t$mol_key_store.set( value, key )\n\t\t\t\n\t\t\treturn key\n\t\t} )\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_after_timeout extends $mol_object2 {\n\n\t\tid : any\n\n\t\tconstructor(\n\t\t\tpublic delay : number ,\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis.id = setTimeout( task , delay )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tclearTimeout( this.id )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_after_frame extends $mol_after_timeout {\n\n\t\tconstructor(\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper( 16 , task )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport let $mol_compare_deep_cache = new WeakMap< any , WeakMap< any , boolean > >()\n\t\n\t/**\n\t * Deeply compares two values. Returns true if equal.\n\t * Define `Symbol.toPrimitive` to customize.\n\t */\n\texport function $mol_compare_deep< Value >( left: Value, right: Value ): boolean {\n\n\t\tif( Object.is( left , right ) ) return true\n\n\t\tif( left === null ) return false\n\t\tif( right === null ) return false\n\n\t\tif( typeof left !== 'object' ) return false\n\t\tif( typeof right !== 'object' ) return false\n\n\t\tconst left_proto = Reflect.getPrototypeOf( left as any )\n\t\tconst right_proto = Reflect.getPrototypeOf( right as any )\n\t\t\n\t\tif( left_proto !== right_proto ) return false\n\n\t\tif( left instanceof Boolean ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof Number ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof String ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof Date ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof RegExp ) return left.source === (right as any).source && left.flags === (right as any).flags\n\t\tif( left instanceof Error ) return left.message === (right as any).message && left.stack === (right as any).stack\n\n\t\tlet left_cache = $mol_compare_deep_cache.get( left )\n\t\tif( left_cache ) {\n\n\t\t\tconst right_cache = left_cache.get( right )\n\t\t\tif( typeof right_cache === 'boolean' ) return right_cache\n\n\t\t} else {\n\t\t\t\n\t\t\tleft_cache = new WeakMap< any , boolean >()\n\t\t\t$mol_compare_deep_cache.set( left , left_cache )\n\n\t\t}\n\n\t\tleft_cache.set(right, true);\n\n\t\tlet result!: boolean\n\n\t\ttry {\n\t\t\t\n\t\t\tif( !left_proto ) result = compare_pojo( left, right as any )\n\t\t\telse if( !Reflect.getPrototypeOf( left_proto ) ) result = compare_pojo( left, right as any )\n\t\t\telse if( Symbol.toPrimitive in left ) result = compare_primitive( left, right )\n\t\t\telse if( Array.isArray( left ) ) result = compare_array( left, right as any )\n\t\t\telse if( left instanceof Set ) result = compare_set( left, right as any )\n\t\t\telse if( left instanceof Map ) result = compare_map( left, right as any )\n\t\t\telse if( ArrayBuffer.isView( left ) ) result = compare_buffer( left, right as any )\n\t\t\telse if( Symbol.iterator in left ) result = compare_iterator( ( left as any )[ Symbol.iterator ](), ( right as any )[ Symbol.iterator ]() )\n\t\t\telse result = false\n\n\t\t} finally {\n\t\t\tleft_cache.set( right , result )\n\t\t}\n\t\t\n\t\treturn result\n\t}\n\n\tfunction compare_array< Value extends any[] >( left: Value, right: Value ): boolean {\n\t\t\n\t\tconst len = left.length\n\t\tif( len !== right.length ) return false\n\t\t\n\t\tfor( let i = 0; i < len; ++i ) {\n\t\t\tif( !$mol_compare_deep( left[i] , right[i] ) ) return false\n\t\t}\n\t\t\n\t\treturn true\n\t}\n\t\n\tfunction compare_buffer( left: ArrayBufferView, right: ArrayBufferView ): boolean {\n\t\t\n\t\tconst len = left.byteLength\n\t\tif( len !== right.byteLength ) return false\n\t\t\n\t\tif( left instanceof DataView ) return compare_buffer(\n\t\t\tnew Uint8Array( left.buffer, left.byteOffset, left.byteLength ),\n\t\t\tnew Uint8Array( right.buffer, left.byteOffset, left.byteLength ),\n\t\t)\n\t\t\n\t\tfor( let i = 0; i < len; ++i ) {\n\t\t\tif( (left as any)[i] !== (right as any)[i] ) return false\n\t\t}\n\t\t\n\t\treturn true\n\t}\n\t\n\tfunction compare_iterator< Value extends IterableIterator >(\n\t\tleft: Value,\n\t\tright: Value,\n\t): boolean {\n\t\t\n\t\twhile( true ) {\n\n\t\t\tconst left_next = left.next()\n\t\t\tconst right_next = right.next()\n\n\t\t\tif( left_next.done !== right_next.done ) return false\n\t\t\tif( left_next.done ) break\n\n\t\t\tif( !$mol_compare_deep( left_next.value , right_next.value ) ) return false\n\n\t\t}\n\n\t\treturn true\n\n\t}\n\t\n\tfunction compare_set< Value extends Set >( left: Value, right: Value ): boolean {\n\t\tif( left.size !== right.size ) return false\n\t\treturn compare_iterator( left.values(), right.values() )\n\t}\n\t\n\tfunction compare_map< Key, Value >( left: Map< Key, Value > , right: Map< Key, Value > ): boolean {\n\t\tif( left.size !== right.size ) return false\n\t\treturn compare_iterator( left.keys(), right.keys() )\n\t\t\t&& compare_iterator( left.values(), right.values() )\n\t}\n\t\n\tfunction compare_pojo( left: {}, right: {} ): boolean {\n\t\t\n\t\tconst left_keys = Object.getOwnPropertyNames( left )\n\t\tconst right_keys = Object.getOwnPropertyNames( right )\n\t\t\n\t\tif( !compare_array( left_keys, right_keys ) ) return false\n\n\t\tfor( let key of left_keys ) {\n\t\t\tif( !$mol_compare_deep( ( left as any )[ key ], ( right as any )[ key ] ) ) return false\n\t\t}\n\n\t\tconst left_syms = Object.getOwnPropertySymbols( left )\n\t\tconst right_syms = Object.getOwnPropertySymbols( right )\n\t\t\n\t\tif( !compare_array( left_syms, right_syms ) ) return false\n\n\t\tfor( let key of left_syms ) {\n\t\t\tif( !$mol_compare_deep( ( left as any )[ key ], ( right as any )[ key ] ) ) return false\n\t\t}\n\n\t\treturn true\n\t}\n\t\n\tfunction compare_primitive( left: {}, right: {} ): boolean {\n\t\treturn Object.is(\n\t\t\t(left as any)[ Symbol.toPrimitive ]( 'default' ),\n\t\t\t(right as any)[ Symbol.toPrimitive ]( 'default' ),\n\t\t)\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Logger event data */\n\texport type $mol_log3_event< Fields > = {\n\t\t[ key in string ] : unknown\n\t} & {\n\t\t\n\t\t/** Time of event creation */\n\t\ttime? : string\n\n\t\t/** Place of event creation */\n\t\tplace : unknown\n\n\t\t/** Short description of event */\n\t\tmessage : string\n\n\t} & Fields\n\n\t/** Logger function */\n\texport type $mol_log3_logger< Fields , Res = void > = (\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event< Fields > ,\n\t)=> Res\n\n\t/** Log begin of some task */\n\texport declare let $mol_log3_come : $mol_log3_logger<{}>\n\t\n\t/** Log end of some task */\n\texport declare let $mol_log3_done : $mol_log3_logger<{}>\n\t\n\t/** Log error */\n\texport declare let $mol_log3_fail : $mol_log3_logger<{}>\n\t\n\t/** Log warning message */\n\texport declare let $mol_log3_warn : $mol_log3_logger<{ hint : string }>\n\t\n\t/** Log some generic event */\n\texport declare let $mol_log3_rise : $mol_log3_logger<{}>\n\n\t/** Log begin of log group, returns func to close group */\n\texport declare let $mol_log3_area : $mol_log3_logger< {} , ()=> void >\n\n\t/** Log begin of collapsed group only when some logged inside, returns func to close group */\n\texport function $mol_log3_area_lazy(\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event<{}> ,\n\t) {\n\n\t\tconst self = this\n\t\tconst stack = self.$mol_log3_stack\n\n\t\tconst deep = stack.length\n\t\tlet logged = false\n\n\t\tstack.push( ()=> {\n\t\t\tlogged = true\n\t\t\tself.$mol_log3_area.call( self , event )\n\t\t} )\n\n\t\treturn ()=> {\n\t\t\tif( logged ) self.console.groupEnd()\n\t\t\tif( stack.length > deep ) stack.length = deep\n\t\t}\n\n\t}\n\n\texport let $mol_log3_stack = [] as ( ()=> void )[]\n\n}\n","namespace $ {\n\n\t/** Position in any resource. */\n\texport class $mol_span extends $mol_object2 {\n\n\t\tconstructor(\n\t\t\treadonly uri: string ,\n\t\t\treadonly source: string ,\n\t\t\treadonly row: number ,\n\t\t\treadonly col: number ,\n\t\t\treadonly length: number ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis[ Symbol.toStringTag ] = this.uri + ( '#' + this.row + ':' + this.col + '/' + this.length )\n\t\t}\n\n\t\t/** Span for begin of unknown resource */\n\t\tstatic unknown = $mol_span.begin('?')\n\n\t\t/** Makes new span for begin of resource. */\n\t\tstatic begin( uri: string, source = '' ) {\n\t\t\treturn new $mol_span( uri , source, 1 , 1 , 0 )\n\t\t}\n\n\t\t/** Makes new span for end of resource. */\n\t\tstatic end( uri: string , source: string ) {\n\t\t\treturn new $mol_span( uri , source, 1 , source.length + 1 , 0 )\n\t\t}\n\n\t\t/** Makes new span for entire resource. */\n\t\tstatic entire( uri: string , source: string ) {\n\t\t\treturn new $mol_span( uri , source, 1 , 1 , source.length )\n\t\t}\n\n\t\ttoString() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\n\t\ttoJSON() {\n\t\t\treturn {\n\t\t\t\turi: this.uri,\n\t\t\t\trow: this.row,\n\t\t\t\tcol: this.col,\n\t\t\t\tlength: this.length\n\t\t\t}\n\t\t}\n\n\t\t/** Makes new error for this span. */\n\t\terror( message : string , Class = Error ) {\n\t\t\treturn new Class( `${message} (${this})` )\n\t\t}\n\n\t\t/** Makes new span for same uri. */\n\t\tspan( row : number , col : number , length : number ) {\n\t\t\treturn new $mol_span( this.uri , this.source, row , col , length )\n\t\t}\n\n\t\t/** Makes new span after end of this. */\n\t\tafter( length = 0 ) {\n\t\t\treturn new $mol_span( this.uri , this.source, this.row , this.col + this.length , length )\n\t\t}\n\n\t\t/** Makes new span between begin and end. */\n\t\tslice( begin: number, end = -1 ) {\n\t\t\tlet len = this.length\n\t\t\t\n\t\t\tif( begin < 0 ) begin += len\n\t\t\tif( end < 0 ) end += len\n\n\t\t\tif (begin < 0 || begin > len) this.$.$mol_fail( this.error( `Begin value '${begin}' out of range`, RangeError ) )\n\t\t\tif (end < 0 || end > len) this.$.$mol_fail( this.error( `End value '${end}' out of range`, RangeError ) )\n\t\t\tif (end < begin) this.$.$mol_fail( this.error( `End value '${end}' can't be less than begin value`, RangeError ) )\n\n\t\t\treturn this.span( this.row , this.col + begin , end - begin )\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\t/** Serializes tree to string in tree format. */\n\texport function $mol_tree2_to_string(\n\t\tthis: $,\n\t\ttree: $mol_tree2,\n\t) : string {\n\n\t\tlet output = [] as string[]\n\t\t\n\t\tfunction dump(\n\t\t\ttree: $mol_tree2,\n\t\t\tprefix = '',\n\t\t) {\n\n\t\t\tif( tree.type.length ) {\n\t\t\t\t\n\t\t\t\tif( !prefix.length ) {\n\t\t\t\t\tprefix = \"\\t\";\n\t\t\t\t}\n\n\t\t\t\toutput.push( tree.type )\n\n\t\t\t\tif( tree.kids.length == 1 ) {\n\t\t\t\t\toutput.push( ' ' )\n\t\t\t\t\tdump( tree.kids[ 0 ], prefix )\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\toutput.push( \"\\n\" )\n\n\t\t\t} else if( tree.value.length || prefix.length ) {\n\n\t\t\t\toutput.push( \"\\\\\" + tree.value + \"\\n\" )\n\n\t\t\t}\n\n\t\t\tfor( const kid of tree.kids ) {\n\t\t\t\toutput.push( prefix )\n\t\t\t\tdump( kid, prefix + \"\\t\" )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tdump( tree )\n\n\t\treturn output.join('')\n\t}\n\t\t\n}\n","namespace $ {\n\n\t/** Path by types in tree. */\n\texport type $mol_tree2_path =\n\t\tArray< string | number | null >\n\t\n\t/** Hask tool for processing node. */\n\texport type $mol_tree2_hack< Context > =\n\t\t(\n\t\t\tinput : $mol_tree2 ,\n\t\t\tbelt : $mol_tree2_belt< Context > ,\n\t\t\tcontext : Context ,\n\t\t)=> readonly $mol_tree2[]\n\n\t/** Collection of hask tools for processing tree. */\n\texport type $mol_tree2_belt< Context > =\n\t\tRecord< string , $mol_tree2_hack< Context > >\n\n\t/**\n\t * Abstract Syntax Tree with human readable serialization.\n\t * Avoid direct instantiation. Use static factories instead.\n\t * @see https://github.com/nin-jin/tree.d\n\t */\n\texport class $mol_tree2 extends Object {\n\t\t\n\t\tconstructor(\n\n\t\t\t/** Type of structural node, `value` should be empty */\n\t\t\treadonly type : string,\n\t\t\t\n\t\t\t/** Content of data node, `type` should be empty */\n\t\t\treadonly value : string,\n\n\t\t\t/** Child nodes */\n\t\t\treadonly kids : readonly $mol_tree2[],\n\t\t\t\n\t\t\t/** Position in most far source resource */\n\t\t\treadonly span : $mol_span,\n\n\t\t) {\n\t\t\tsuper()\n\t\t\t;(this as any)[ Symbol.toStringTag ] = type || '\\\\' + value\n\t\t}\n\n\t\t/** Makes collection node. */\n\t\tstatic list(\n\t\t\tkids : readonly $mol_tree2[] ,\n\t\t\tspan = $mol_span.unknown ,\n\t\t) {\n\t\t\treturn new $mol_tree2( '' , '' , kids , span )\n\t\t}\n\t\t\n\t\t/** Makes new derived collection node. */\n\t\tlist(\n\t\t\tkids : readonly $mol_tree2[] ,\n\t\t) {\n\t\t\treturn $mol_tree2.list( kids , this.span )\n\t\t}\n\n\t\t/** Makes data node for any string. */\n\t\tstatic data(\n\t\t\tvalue : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t\tspan = $mol_span.unknown ,\n\t\t) {\n\n\t\t\tconst chunks = value.split( '\\n' )\n\n\t\t\tif( chunks.length > 1 ) {\n\t\t\t\n\t\t\t\tlet kid_span = span.span( span.row , span.col , 0 )\n\n\t\t\t\tconst data = chunks.map( chunk => {\n\t\t\t\t\tkid_span = kid_span.after( chunk.length )\n\t\t\t\t\treturn new $mol_tree2( '' , chunk , [] , kid_span )\n\t\t\t\t} )\n\n\t\t\t\tkids = [ ... data , ... kids ]\n\n\t\t\t\tvalue = ''\n\n\t\t\t}\n\n\t\t\treturn new $mol_tree2( '' , value , kids , span )\n\n\t\t}\n\t\t\n\t\t/** Makes new derived data node. */\n\t\tdata(\n\t\t\tvalue : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t) {\n\t\t\treturn $mol_tree2.data( value , kids , this.span )\n\t\t}\n\t\t\n\t\t/** Makes struct node. */\n\t\tstatic struct(\n\t\t\ttype : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t\tspan = $mol_span.unknown ,\n\t\t) {\n\n\t\t\tif( /[ \\n\\t\\\\]/.test( type ) ) {\n\t\t\t\t$$.$mol_fail( span.error( `Wrong type ${ JSON.stringify( type ) }` ) )\n\t\t\t}\n\n\t\t\treturn new $mol_tree2( type , '' , kids , span )\n\n\t\t}\n\t\t\n\t\t/** Makes new derived structural node. */\n\t\tstruct(\n\t\t\ttype : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t) {\n\t\t\treturn $mol_tree2.struct( type , kids , this.span )\n\t\t}\n\n\t\t/** Makes new derived node with different kids id defined. */\n\t\tclone( kids : readonly $mol_tree2[], span = this.span ) {\n\t\t\treturn new $mol_tree2( this.type , this.value , kids , span )\n\t\t}\n\n\t\t/** Returns multiline text content. */\n\t\ttext() {\n\n\t\t\tvar values : string[] = []\n\t\t\t\n\t\t\tfor( var kid of this.kids ) {\n\t\t\t\tif( kid.type ) continue\n\t\t\t\tvalues.push( kid.value )\n\t\t\t}\n\t\t\t\n\t\t\treturn this.value + values.join( '\\n' )\n\n\t\t}\n\t\t\n\t\t/** Parses tree format. */\n\t\t/** @deprecated Use $mol_tree2_from_string */\n\t\tstatic fromString( str : string , uri = 'unknown' ) {\n\t\t\treturn $$.$mol_tree2_from_string( str, uri )\n\t\t}\n\n\t\t/** Serializes to tree format. */\n\t\ttoString() : string {\n\t\t\treturn $$.$mol_tree2_to_string( this )\n\t\t}\n\t\t\n\t\t/** Makes new tree with node overrided by path. */\n\t\tinsert( value : $mol_tree2 | null , ...path : $mol_tree2_path ) : $mol_tree2 {\n\n\t\t\tif( path.length === 0 ) return value!\n\t\t\t\n\t\t\tconst type = path[0]\n\t\t\tif( typeof type === 'string' ) {\n\n\t\t\t\tlet replaced = false\n\t\t\t\tconst sub = this.kids.map( ( item , index )=> {\n\t\t\t\t\tif( item.type !== type ) return item\n\t\t\t\t\treplaced = true\n\t\t\t\t\treturn item.insert( value , ... path.slice( 1 ) )\n\t\t\t\t} ).filter( Boolean )\n\t\t\t\t\n\t\t\t\tif( !replaced && value ) {\n\t\t\t\t\tsub.push( this.struct( type , [] ).insert( value , ... path.slice( 1 ) ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn this.clone( sub )\n\n\t\t\t} else if( typeof type === 'number' ) {\n\t\t\t\t\n\t\t\t\tconst sub = this.kids.slice()\n\t\t\t\tsub[ type ] = ( sub[ type ] || this.list([]) )\n\t\t\t\t\t.insert( value , ... path.slice( 1 ) )\n\t\t\t\t\n\t\t\t\treturn this.clone( sub.filter( Boolean ) )\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tconst kids = ( ( this.kids.length === 0 ) ? [ this.list([]) ] : this.kids )\n\t\t\t\t.map( item => item.insert( value , ... path.slice( 1 ) ) )\n\t\t\t\t.filter( Boolean )\n\n\t\t\t\treturn this.clone( kids )\n\n\t\t\t}\n\n\t\t}\n\n\t\t/** Query nodes by path. */\n\t\tselect( ...path : $mol_tree2_path ) {\n\n\t\t\tlet next = [ this as $mol_tree2 ]\n\n\t\t\tfor( const type of path ) {\n\n\t\t\t\tif( !next.length ) break\n\t\t\t\t\n\t\t\t\tconst prev = next\n\t\t\t\tnext = []\n\n\t\t\t\tfor( var item of prev ) {\n\n\t\t\t\t\tswitch( typeof( type ) ) {\n\n\t\t\t\t\t\tcase 'string' :\n\n\t\t\t\t\t\t\tfor( var child of item.kids ) {\n\t\t\t\t\t\t\t\tif( child.type == type ) {\n\t\t\t\t\t\t\t\t\tnext.push( child )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\n\t\t\t\t\t\tcase 'number' :\n\n\t\t\t\t\t\t\tif( type < item.kids.length ) next.push( item.kids[ type ] )\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\n\t\t\t\t\t\tdefault : next.push( ... item.kids )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this.list( next )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Filter kids by path or value. */\n\t\tfilter( path : string[] , value? : string ) {\n\n\t\t\tconst sub = this.kids.filter( item => {\n\t\t\t\t\t\n\t\t\t\tvar found = item.select( ...path )\n\t\t\t\t\n\t\t\t\tif( value === undefined ) {\n\t\t\t\t\treturn Boolean( found.kids.length )\n\t\t\t\t} else {\n\t\t\t\t\treturn found.kids.some( child => child.value == value )\n\t\t\t\t}\n\t\t\t\n\t\t\t} )\n\t\t\t\n\t\t\treturn this.clone( sub )\n\n\t\t}\n\n\t\thack_self< Context extends { span?: $mol_span; [ key: string ]: unknown } = {} >(\n\t\t\tbelt: $mol_tree2_belt< Context >,\n\t\t\tcontext = {} as Context,\n\t\t) {\n\t\t\tlet handle = belt[ this.type ] || belt[ '' ]\n\t\t\t\t\n\t\t\tif( !handle || handle === Object.prototype[ this.type as keyof Object ] ) {\n\t\t\t\thandle = ( input, belt, context )=> [\n\t\t\t\t\tinput.clone( input.hack( belt, context ), context.span )\n\t\t\t\t]\n\t\t\t}\n\t\t\t\n\t\t\ttry {\n\t\t\t\treturn handle( this , belt , context! )\n\t\t\t} catch( error: any ) {\n\t\t\t\terror.message += `\\n${ this.clone([]) }${ this.span }`\n\t\t\t\t$mol_fail_hidden( error )\n\t\t\t}\n\t\t}\n\n\t\t/** Transform tree through context with transformers */\n\t\thack< Context extends { span?: $mol_span; [ key: string ]: unknown } = {} >(\n\t\t\tbelt: $mol_tree2_belt< Context >,\n\t\t\tcontext = {} as Context,\n\t\t) {\n\t\t\treturn ( [] as readonly $mol_tree2[] ).concat(\n\t\t\t\t... this.kids.map( child => child.hack_self(belt, context) )\n\t\t\t)\n\n\t\t}\n\n\t\t/** Makes Error with node coordinates. */\n\t\terror( message : string , Class = Error ) {\n\t\t\treturn this.span.error( `${ message }\\n${ this.clone([]) }` , Class )\n\t\t}\n\n\t}\n\n\texport class $mol_tree2_empty extends $mol_tree2 {\n\t\tconstructor() {\n\t\t\tsuper( '' , '' , [] , $mol_span.unknown )\n\t\t}\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Syntax error with cordinates and source line snippet. */\n\texport class $mol_error_syntax extends SyntaxError {\n\t\tconstructor (\n\t\t\tpublic reason: string,\n\t\t\tpublic line: string,\n\t\t\tpublic span: $mol_span,\n\t\t) {\n\t\t\tsuper(`${ reason }\\n${ span }\\n${ line.substring( 0 , span.col - 1 ).replace( /\\S/g, ' ' ) }${ ''.padEnd( span.length, '!' ) }\\n${ line }`)\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\t/** Parses tree format from string. */\n\texport function $mol_tree2_from_string(\n\t\tthis: $,\n\t\tstr: string,\n\t\turi = '?',\n\t) : $mol_tree2 {\n\n\t\tconst span = $mol_span.entire( uri, str )\n\n\t\tvar root = $mol_tree2.list( [], span )\n\t\tvar stack = [ root ]\n\n\t\tvar pos = 0, row = 0, min_indent = 0\n\t\t\n\t\twhile( str.length > pos ) {\n\n\t\t\tvar indent = 0\n\t\t\tvar line_start = pos\n\n\t\t\trow++\n\n\t\t\t// read indent\n\t\t\twhile( str.length > pos && str[ pos ] == '\\t' ) {\n\t\t\t\tindent++\n\t\t\t\tpos++\n\t\t\t}\n\n\t\t\tif( ! root.kids.length ) {\n\t\t\t\tmin_indent = indent\n\t\t\t}\n\n\t\t\tindent -= min_indent\n\n\t\t\t// invalid tab size\n\t\t\tif( indent < 0 || indent >= stack.length ) {\n\n\t\t\t\tconst sp = span.span( row, 1, pos - line_start )\n\n\t\t\t\t// skip error line\n\t\t\t\twhile( str.length > pos && str[ pos ] != '\\n' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\n\t\t\t\tif( indent < 0 ) {\n\t\t\t\t\tif( str.length > pos ) {\n\t\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t\t`Too few tabs`,\n\t\t\t\t\t\t\tstr.substring( line_start, pos ),\n\t\t\t\t\t\t\tsp,\n\t\t\t\t\t\t) )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t`Too many tabs`,\n\t\t\t\t\t\tstr.substring( line_start, pos ),\n\t\t\t\t\t\tsp,\n\t\t\t\t\t) )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tstack.length = indent + 1\n\t\t\tvar parent = stack[ indent ]\n\n\t\t\t// parse types\n\t\t\twhile( str.length > pos && str[ pos ] != '\\\\' && str[ pos ] != '\\n' ) {\n\n\t\t\t\t// type can not contain space and tab\n\t\t\t\tvar error_start = pos\n\t\t\t\twhile( str.length > pos && ( str[ pos ] == ' ' || str[ pos ] == '\\t' ) ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\n\t\t\t\tif( pos > error_start ) {\n\t\t\t\t\tlet line_end = str.indexOf( '\\n' , pos )\n\t\t\t\t\tif( line_end === -1 ) line_end = str.length\n\t\t\t\t\tconst sp = span.span( row, error_start - line_start + 1, pos - error_start )\n\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t`Wrong nodes separator`,\n\t\t\t\t\t\tstr.substring( line_start, line_end ),\n\t\t\t\t\t\tsp,\n\t\t\t\t\t) )\n\t\t\t\t}\n\n\t\t\t\t// read type\n\t\t\t\tvar type_start = pos\n\t\t\t\twhile( \n\t\t\t\t\tstr.length > pos && \n\t\t\t\t\tstr[ pos ] != '\\\\' && \n\t\t\t\t\tstr[ pos ] != ' ' && \n\t\t\t\t\tstr[ pos ] != '\\t' && \n\t\t\t\t\tstr[ pos ] != '\\n'\n\t\t\t\t) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t\tif( pos > type_start ) {\n\t\t\t\t\tlet next = new $mol_tree2(\n\t\t\t\t\t\tstr.slice( type_start , pos ),\n\t\t\t\t\t\t'',\n\t\t\t\t\t\t[],\n\t\t\t\t\t\tspan.span( row, type_start - line_start + 1, pos - type_start ),\n\t\t\t\t\t)\n\t\t\t\t\tconst parent_kids = parent.kids as $mol_tree2[]\n\t\t\t\t\tparent_kids.push( next )\n\t\t\t\t\tparent = next\n\t\t\t\t}\n\n\t\t\t\t// read one space if exists\n\t\t\t\tif( str.length > pos && str[ pos ] == ' ' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// read data\n\t\t\tif( str.length > pos && str[ pos ] == '\\\\' ) {\n\t\t\t\tvar data_start = pos\n\t\t\t\twhile( str.length > pos && str[ pos ] != '\\n' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t\tlet next = new $mol_tree2(\n\t\t\t\t\t'',\n\t\t\t\t\tstr.slice( data_start + 1 , pos ),\n\t\t\t\t\t[],\n\t\t\t\t\tspan.span( row, data_start - line_start + 2, pos - data_start - 1 ),\n\t\t\t\t)\n\t\t\t\tconst parent_kids = parent.kids as $mol_tree2[]\n\t\t\t\tparent_kids.push( next )\n\t\t\t\tparent = next\n\t\t\t}\n\n\t\t\t// now must be end of text\n\t\t\tif( str.length === pos && stack.length > 0 ) {\n\t\t\t\tconst sp = span.span( row, pos - line_start + 1, 1 )\n\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t`Unexpected EOF, LF required`,\n\t\t\t\t\tstr.substring( line_start, str.length ),\n\t\t\t\t\tsp,\n\t\t\t\t) )\n\t\t\t}\n\n\t\t\tstack.push( parent )\n\t\t\tpos++\n\t\t}\n\n\t\treturn root\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_tree2_from_json( json: any, span = $mol_span.unknown ): $mol_tree2 {\n\n\t\tif( typeof json === 'boolean' || typeof json === 'number' || json === null ) {\n\t\t\treturn new $mol_tree2( String( json ) , '' , [] , span )\n\t\t}\n\t\t\n\t\tif( typeof json === 'string' ) {\n\t\t\treturn $mol_tree2.data( json , [], span )\n\t\t}\n\n\t\tif( typeof json.toJSON === 'function' ) {\n\t\t\treturn $mol_tree2_from_json( json.toJSON() )\n\t\t}\n\n\t\tif( Array.isArray( json ) ) {\n\t\t\tconst sub = json.map( json => $mol_tree2_from_json( json , span ) )\n\t\t\treturn new $mol_tree2( '/' , '', sub, span )\n\t\t}\n\t\t\n\t\tif( ArrayBuffer.isView( json ) ) {\n\t\t\tconst buf = new Uint8Array( json.buffer, json.byteOffset, json.byteLength )\n\t\t\treturn $mol_tree2.data( String.fromCharCode( ... buf ) , [], span )\n\t\t}\n\t\t\t\n\t\tif( json instanceof Date ) {\n\t\t\treturn new $mol_tree2( '', json.toISOString() , [] , span )\n\t\t}\n\n\t\tif( json.toString !== Object.prototype.toString ) {\n\t\t\treturn $mol_tree2.data( json.toString() , [], span )\n\t\t}\n\n\t\tif( json instanceof Error ) {\n\t\t\tconst { name , message , stack } = json\n\t\t\tjson = { ... json, name, message, stack }\n\t\t}\n\n\t\tconst sub = [] as $mol_tree2[]\n\t\t\n\t\tfor( var key in json ) {\n\n\t\t\tconst val = json[ key ]\n\n\t\t\tif( val === undefined ) continue\n\n\t\t\tconst subsub = $mol_tree2_from_json( val, span )\n\t\t\t\n\t\t\tif( /^[^\\n\\t\\\\ ]+$/.test( key ) ) {\n\t\t\t\tsub.push( new $mol_tree2( key, '', [ subsub ], span ) )\n\t\t\t} else {\n\t\t\t\tsub.push( $mol_tree2.data( key, [ subsub ], span ) )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\treturn new $mol_tree2( '*' , '', sub , span )\n\t\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Module for working with terminal. Text coloring when output in terminal */\n\texport class $mol_term_color {\n\t\t\n\t\tstatic reset = this.ansi( 0, 0 )\n\t\tstatic bold = this.ansi( 1, 22 )\n\t\tstatic italic = this.ansi( 3, 23 )\n\t\tstatic underline = this.ansi( 4, 24 )\n\t\tstatic inverse = this.ansi( 7, 27 )\n\t\tstatic hidden = this.ansi( 8, 28 )\n\t\tstatic strike = this.ansi( 9, 29 )\n\t\t\n\t\tstatic gray = this.ansi( 90, 39 )\n\t\tstatic red = this.ansi( 91, 39 )\n\t\tstatic green = this.ansi( 92, 39 )\n\t\tstatic yellow = this.ansi( 93, 39 )\n\t\tstatic blue = this.ansi( 94, 39 )\n\t\tstatic magenta = this.ansi( 95, 39 )\n\t\tstatic cyan = this.ansi( 96, 39 )\n\t\t\n\t\tstatic Gray = ( str: string )=> this.inverse( this.gray( str ) )\n\t\tstatic Red = ( str: string )=> this.inverse( this.red( str ) )\n\t\tstatic Green = ( str: string )=> this.inverse( this.green( str ) )\n\t\tstatic Yellow = ( str: string )=> this.inverse( this.yellow( str ) )\n\t\tstatic Blue = ( str: string )=> this.inverse( this.blue( str ) )\n\t\tstatic Magenta = ( str: string )=> this.inverse( this.magenta( str ) )\n\t\tstatic Cyan = ( str: string )=> this.inverse( this.cyan( str ) )\n\t\t\n\t\tstatic ansi( open: number, close: number ) {\n\t\n\t\t\tif( typeof process === 'undefined' ) return String\n\t\t\tif( !process.stdout.isTTY ) return String\n\t\t\n\t\t\tconst prefix = `\\x1b[${open}m`\n\t\t\tconst postfix = `\\x1b[${close}m`\n\t\t\t\n\t\t\tconst suffix_regexp = new RegExp( postfix.replace( '[', '\\\\[' ), 'g' )\n\t\t\n\t\t\treturn function colorer( str: string ) {\n\t\t\n\t\t\t\tstr = String( str )\n\t\t\t\tif( str === '' ) return str\n\t\t\n\t\t\t\tconst suffix = str.replace( suffix_regexp, prefix )\n\t\t\t\treturn prefix + suffix + postfix\n\t\t\n\t\t\t}\n\t\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_log3_node_make(\n\t\tlevel : keyof Console ,\n\t\toutput : 'stdout' | 'stderr',\n\t\ttype : string ,\n\t\tcolor: ( str: string )=> string ,\n\t) {\n\n\t\treturn function $mol_log3_logger(\n\t\t\tthis : $ ,\n\t\t\tevent : $mol_log3_event<{}> ,\n\t\t) {\n\n\t\t\tif( !event.time ) event = { time : new Date().toISOString() , ... event }\n\n\t\t\tlet tree = this.$mol_tree2_from_json( event )\n\t\t\ttree = tree.struct( type, tree.kids )\n\t\t\t\n\t\t\tlet str = color( tree.toString() )\n\t\t\t;( this.console[ level ] as any )( str )\n\t\n\t\t\tconst self = this\n\t\t\treturn ()=> self.console.groupEnd()\n\n\t\t}\n\n\t}\n\n\t$.$mol_log3_come = $mol_log3_node_make( 'info' , 'stdout' , 'come' , $mol_term_color.blue )\n\t$.$mol_log3_done = $mol_log3_node_make( 'info' , 'stdout' , 'done' , $mol_term_color.green )\n\t$.$mol_log3_fail = $mol_log3_node_make( 'error' , 'stderr' , 'fail' , $mol_term_color.red )\n\t$.$mol_log3_warn = $mol_log3_node_make( 'warn' , 'stderr' , 'warn' , $mol_term_color.yellow )\n\t$.$mol_log3_rise = $mol_log3_node_make( 'log' , 'stdout' , 'rise' , $mol_term_color.magenta )\n\t$.$mol_log3_area = $mol_log3_node_make( 'log' , 'stdout' , 'area' , $mol_term_color.cyan )\n\n}\n","namespace $ {\n\t\n\t/** One-shot fiber */\n\texport class $mol_wire_task<\n\t\tHost,\n\t\tArgs extends readonly unknown[],\n\t\tResult,\n\t> extends $mol_wire_fiber< Host, Args, Result > {\n\t\t\n\t\tstatic getter<\n\t\t\tHost,\n\t\t\tArgs extends readonly unknown[],\n\t\t\tResult,\n\t\t>(\n\t\t\ttask: ( this : Host , ... args : Args )=> Result,\n\t\t): ( host: Host, args: Args )=> $mol_wire_task< Host, Args, Result > {\n\t\t\t\n\t\t\treturn function $mol_wire_task_get( host: Host, args: Args ) {\n\t\t\t\t\n\t\t\t\tconst sub = $mol_wire_auto()\n\t\t\t\tconst existen = sub?.track_next() as $mol_wire_task< Host, Args, Result > | undefined\n\t\t\t\t\n\t\t\t\treuse: if( existen ) {\n\t\t\t\t\t\n\t\t\t\t\tif( !existen.temp ) break reuse\n\t\t\t\t\t\n\t\t\t\t\tif( existen.host !== host ) break reuse\n\t\t\t\t\tif( existen.task !== task ) break reuse\n\t\t\t\t\tif( !$mol_compare_deep( existen.args, args ) ) break reuse\n\t\t\t\t\t\n\t\t\t\t\treturn existen\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst key = ( (host as any)?.[ Symbol.toStringTag ] ?? host ) + ( '.' + task.name + '<#>' )\n\t\t\t\tconst next = new $mol_wire_task( key, task, host, args )\n\t\t\t\t\n\t\t\t\t// Disabled because non-idempotency is required for try-catch\n\t\t\t\tif( existen?.temp ) {\n\t\t\t\t\t$$.$mol_log3_warn({\n\t\t\t\t\t\tplace: '$mol_wire_task',\n\t\t\t\t\t\tmessage: `Non idempotency`,\n\t\t\t\t\t\texisten,\n\t\t\t\t\t\tnext,\n\t\t\t\t\t\thint: 'Ignore it',\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn next\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tget temp() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\tcomplete() {\n\t\t\tif( $mol_promise_like( this.cache ) ) return\n\t\t\tthis.destructor()\n\t\t}\n\t\t\n\t\tput( next: Result | Error | Promise< Result | Error > ) {\n\t\t\t\n\t\t\tconst prev = this.cache\n\t\t\tthis.cache = next\n\t\t\t\n\t\t\tif( $mol_promise_like( next ) ) {\n\t\t\t\t\n\t\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\tif( next !== prev ) this.emit()\n\t\t\t\t\n\t\t\t\treturn next\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = $mol_wire_cursor.final\n\t\t\t\n\t\t\tif( this.sub_empty ) this.destructor()\n\t\t\telse if( next !== prev ) this.emit()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\t/**\n\t * Decorates method to fiber to ensure it is executed only once inside other fiber.\n\t */\n\texport function $mol_wire_method<\n\t\tHost extends object,\n\t\tArgs extends readonly any[],\n\t>(\n\t\thost : Host,\n\t\tfield : PropertyKey,\n\t\tdescr? : TypedPropertyDescriptor< ( ... args: Args )=> any >,\n\t) {\n\t\t\n\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field ) as any\n\t\tconst orig = descr?.value! ?? (host as any)[ field ]\n\t\t\n\t\tconst sup = Reflect.getPrototypeOf( host )!\t\n\t\tif( typeof (sup as any)[ field ] === 'function' ) {\n\t\t\tObject.defineProperty( orig , 'name' , { value : (sup as any)[ field ].name } )\n\t\t}\n\t\t\n\t\tconst temp = $mol_wire_task.getter( orig )\n\t\tconst value = function( this: Host, ... args: Args ) {\n\t\t\tconst fiber = temp( this ?? null as any, args )\n\t\t\treturn fiber.sync()\n\t\t}\n\t\t\n\t\tObject.defineProperty( value , 'name' , { value : orig.name + ' ' } )\n\t\t\n\t\tObject.assign( value, { orig } )\n\t\tconst descr2 = { ... descr, value }\n\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\n\t\treturn descr2\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\tconst catched = new WeakMap< any , boolean >()\n\n\texport function $mol_fail_catch( error: unknown ) {\n\t\t\n\t\tif( typeof error !== 'object' ) return false\n\t\tif( $mol_promise_like( error ) ) $mol_fail_hidden( error )\n\t\tif( catched.get( error ) ) return false\n\t\t\n\t\tcatched.set( error , true )\n\t\treturn true\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_fail_log( error: unknown ) {\n\t\t\n\t\tif( $mol_promise_like( error ) ) return false\n\t\tif( !$mol_fail_catch( error ) ) return false\n\t\t\n\t\tconsole.error( error )\n\t\t\n\t\treturn true\n\t\t\n\t}\n\n}\n","namespace $ {\n\n\t/** Long-living fiber. */\n\texport class $mol_wire_atom<\n\t\tHost,\n\t\tArgs extends readonly unknown[],\n\t\tResult,\n\t> extends $mol_wire_fiber< Host, Args, Result > {\n\n\t\tstatic solo<\n\t\t\tHost,\n\t\t\tArgs extends readonly unknown[],\n\t\t\tResult,\n\t\t>(\n\t\t\thost: Host,\n\t\t\ttask: ( this: Host, ... args: Args )=> Result,\n\t\t): $mol_wire_atom< Host, Args, Result > {\n\t\t\t\n\t\t\tconst field = task.name + '<>'\n\t\t\t\n\t\t\tconst existen = Object.getOwnPropertyDescriptor( host ?? task, field )?.value\n\t\t\tif( existen ) return existen\n\t\t\t\n\t\t\tconst prefix = (host as any)?.[ Symbol.toStringTag ] ?? ( host instanceof Function ? $$.$mol_func_name( host ) : host )\n\t\t\tconst key = prefix + ( '.' + field )\n\t\t\t\n\t\t\tconst fiber = new $mol_wire_atom( key, task, host, [] as any as Args )\n\t\t\t;( host as any ?? task )[ field ] = fiber\n\t\t\t\n\t\t\treturn fiber\n\t\t}\n\t\t\n\t\tstatic plex<\n\t\t\tHost,\n\t\t\tArgs extends readonly unknown[],\n\t\t\tResult,\n\t\t>(\n\t\t\thost: Host,\n\t\t\ttask: ( this: Host , ... args: Args )=> Result,\n\t\t\tkey: Args[0],\n\t\t): $mol_wire_atom< Host, Args, Result > {\n\t\t\t\n\t\t\tconst field = task.name + '<>'\n\t\t\tlet dict = Object.getOwnPropertyDescriptor( host ?? task, field )?.value\n\t\t\tconst prefix = (host as any)?.[ Symbol.toStringTag ] ?? ( host instanceof Function ? $$.$mol_func_name( host ) : host )\n\t\t\tconst key_str = $mol_key( key )\n\t\t\t\n\t\t\tif( dict ) {\n\t\t\t\tconst existen = dict.get( key_str )\n\t\t\t\tif( existen ) return existen\n\t\t\t} else {\n\t\t\t\tdict = ( host as any ?? task )[ field ] = new Map()\n\t\t\t}\n\t\t\t\n\t\t\tconst id = prefix + ( '.' + task.name ) + ( '<' + key_str.replace( /^\"|\"$/g, \"'\" ) + '>' )\n\t\t\tconst fiber = new $mol_wire_atom( id, task, host, [ key ] as any as Args )\n\t\t\tdict.set( key_str, fiber )\n\t\t\t\n\t\t\treturn fiber\n\t\t}\n\t\t\n\t\tstatic watching = new Set< $mol_wire_atom< any, any, any > >()\n\t\tstatic watcher = null as $mol_after_frame | null\n\t\t\n\t\tstatic watch() {\n\t\t\n\t\t\t$mol_wire_atom.watcher = new $mol_after_frame( $mol_wire_atom.watch )\n\t\t\t\n\t\t\tfor( const atom of $mol_wire_atom.watching ) {\n\t\t\t\t\n\t\t\t\tif( atom.cursor === $mol_wire_cursor.final ) {\n\t\t\t\t\t$mol_wire_atom.watching.delete( atom )\n\t\t\t\t} else {\n\t\t\t\t\tatom.cursor = $mol_wire_cursor.stale\n\t\t\t\t\tatom.fresh()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\twatch() {\n\t\t\t\n\t\t\tif( !$mol_wire_atom.watcher ) {\n\t\t\t\t$mol_wire_atom.watcher = new $mol_after_frame( $mol_wire_atom.watch )\n\t\t\t}\n\t\t\t\n\t\t\t$mol_wire_atom.watching.add( this )\n\t\t\t\n\t\t}\n\t\t\n\t\t/**\n\t\t * Update fiber value through another temp fiber.\n\t\t */\n\t\t@ $mol_wire_method\n\t\tresync( args: Args ) {\n\t\t\treturn this.put( this.task.call( this.host!, ... args ) )\n\t\t}\n\t\t\n\t\t@ $mol_wire_method\n\t\tonce() {\n\t\t\treturn this.sync()\n\t\t}\n\t\t\n\t\tchannel() {\n\t\t\treturn Object.assign( ( next?: $mol_type_foot< Args > )=> {\n\t\t\t\t\t\n\t\t\t\tif( next !== undefined ) return this.resync( [ ... this.args, next ] as any ) as never\n\t\t\t\tif( !$mol_wire_fiber.warm ) return this.result() as never\n\t\t\t\t\n\t\t\t\tif( $mol_wire_auto()?.temp ) {\n\t\t\t\t\treturn this.once()\n\t\t\t\t} else {\n\t\t\t\t\treturn this.sync()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}, { atom: this as $mol_wire_atom< Host, Args, Result > } )\n\t\t}\n\t\t\n\t\tdestructor() {\n\t\t\t\n\t\t\tsuper.destructor()\n\t\t\t\n\t\t\tconst prev = this.cache\n\t\t\tif( $mol_owning_check( this, prev ) ) {\n\t\t\t\tprev.destructor()\n\t\t\t}\n\t\t\t\n\t\t\tif( this.pub_from === 0 ) {\n\t\t\t\t;( this.host as any ?? this.task )[ this.field() ] = null\n\t\t\t} else {\n\t\t\t\t;( this.host as any ?? this.task )[ this.field() ].delete( $mol_key( this.args[0] ) )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tput( next: Result | Error | Promise< Result | Error > ) {\n\t\t\t\n\t\t\tconst prev = this.cache\n\t\t\t\n\t\t\tupdate: if( next !== prev ) {\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tif( $mol_compare_deep( prev, next ) ) break update\n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\t$mol_fail_log( error )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( $mol_owning_check( this, prev ) ) {\n\t\t\t\t\tprev.destructor()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( $mol_owning_catch( this, next ) ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\t(next as any)[ Symbol.toStringTag ] = (this as any)[ Symbol.toStringTag ]\n\t\t\t\t\t} catch { // Promises throw in strict mode\n\t\t\t\t\t\tObject.defineProperty( next, Symbol.toStringTag, { value: (this as any)[ Symbol.toStringTag ] } )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( !this.sub_empty ) this.emit()\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tthis.cache = next\n\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\n\t\t\tif( $mol_promise_like( next ) ) return next\n\t\t\t\n\t\t\tthis.complete_pubs()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t\n\t/** Decorates solo object channel to [mol_wire_atom](../atom/atom.ts). */\n\texport function $mol_wire_solo< Args extends any[] >(\n\t\thost: object,\n\t\tfield: string,\n\t\tdescr?: TypedPropertyDescriptor< ( ... args: Args )=> any >\n\t) {\n\n\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field )\n\t\tconst orig = descr?.value! ?? (host as any)[ field ]\n\t\t\n\t\tconst sup = Reflect.getPrototypeOf( host )!\n\t\tif( typeof (sup as any)[ field ] === 'function' ) {\n\t\t\tObject.defineProperty( orig , 'name' , { value : (sup as any)[ field ].name } )\n\t\t}\n\t\t\n\t\tconst descr2 = {\n\t\t\t... descr,\n\t\t\tvalue: function( this: typeof host, ... args: Args ){\n\t\t\t\n\t\t\t\tlet atom = $mol_wire_atom.solo( this, orig )\n\t\t\t\t\n\t\t\t\tif(( args.length === 0 )||( args[0] === undefined )) {\n\t\t\t\t\t\n\t\t\t\t\tif( !$mol_wire_fiber.warm ) return atom.result()\n\t\t\t\t\t\n\t\t\t\t\tif( $mol_wire_auto()?.temp ) {\n\t\t\t\t\t\treturn atom.once()\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn atom.sync()\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn atom.resync( args )\t\n\t\t\t}\n\t\t}\n\t\t\n\t\tReflect.defineProperty( descr2.value , 'name' , { value : orig.name + ' ' } )\n\t\tReflect.defineProperty( descr2.value , 'length' , { value : orig.length } )\n\t\tObject.assign( descr2.value, { orig } )\n\t\t\n\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\n\t\treturn descr2 as any as TypedPropertyDescriptor< ( ... args: First_optional< Args > )=> any >\n\t}\n\n\ttype First_optional< Args extends any[] > = Args extends []\n\t\t? []\n\t\t: [ Args[0] | undefined, ... $mol_type_tail< Args > ]\n\n}\n","namespace $ {\n\t\n\t/** Reactive memoizing multiplexed property decorator. */\n\texport function $mol_wire_plex< Args extends [ any, ... any[] ] >(\n\t\thost: object,\n\t\tfield: string,\n\t\tdescr?: TypedPropertyDescriptor< ( ... args: Args )=> any >\n\t) {\n\n\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field )\n\t\tconst orig = descr?.value! ?? (host as any)[ field ]\n\t\t\n\t\tconst sup = Reflect.getPrototypeOf( host )!\n\t\tif( typeof (sup as any)[ field ] === 'function' ) {\n\t\t\tObject.defineProperty( orig , 'name' , { value : (sup as any)[ field ].name } )\n\t\t}\n\t\t\n\t\tconst descr2 = {\n\t\t\t... descr,\n\t\t\tvalue: function( this: typeof host, ... args: Args ) {\n\t\t\t\n\t\t\t\tlet atom = $mol_wire_atom.plex( this, orig, args[0] )\n\t\t\t\t\n\t\t\t\tif(( args.length === 1 )||( args[1] === undefined )) {\n\t\t\t\t\t\n\t\t\t\t\tif( !$mol_wire_fiber.warm ) return atom.result()\n\t\t\t\t\t\n\t\t\t\t\tif( $mol_wire_auto()?.temp ) {\n\t\t\t\t\t\treturn atom.once()\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn atom.sync()\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn atom.resync( args )\t\n\t\t\t}\n\t\t}\n\t\t\n\t\tReflect.defineProperty( descr2.value , 'name' , { value : orig.name + ' ' } )\n\t\tReflect.defineProperty( descr2.value , 'length' , { value : orig.length } )\n\t\tObject.assign( descr2.value, { orig } )\n\t\t\n\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\n\t\treturn descr2\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Reactive memoizing solo property decorator from [mol_wire](../wire/README.md)\n\t * @example\n\t * '@' $mol_mem\n\t * name(next?: string) {\n\t * \treturn next ?? 'default'\n\t * }\n\t * @see https://mol.hyoo.ru/#!section=docs/=qxmh6t_sinbmb\n\t */\n\texport let $mol_mem = $mol_wire_solo\n\n\t/**\n\t * Reactive memoizing multiplexed property decorator [mol_wire](../wire/README.md)\n\t * @example\n\t * '@' $mol_mem_key\n\t * name(id: number, next?: string) {\n\t * return next ?? 'default'\n\t * }\n\t * @see https://mol.hyoo.ru/#!section=docs/=qxmh6t_sinbmb\n\t */\n\texport let $mol_mem_key = $mol_wire_plex\n}\n","namespace $ {\n\t\n\texport var $mol_dom_context : typeof globalThis\n\t\n}\n","interface $node {\n\t[key:string]: any\n}\n\nvar $node = new Proxy( { require } as any , {\n\t\n\tget( target , name : string , wrapper ) {\n\n\t\tif( target[ name ] ) return target[ name ]\n\n\t\tconst mod = target.require( 'module' ) as typeof import( 'module' )\n\t\t\n\t\tif( mod.builtinModules.indexOf( name ) >= 0 ) return target.require( name )\n\t\tif( name[0] === '.' ) return target.require( name )\n\n\t\ttry {\n\t\t\ttarget.require.resolve( name )\n\t\t} catch {\n\t\t\n\t\t\tconst $$ = ( $ as any )\n\t\t\t$$.$mol_exec( '.' , 'npm' , 'install' , '--omit=dev', name )\n\t\t\t\n\t\t\ttry {\n\t\t\t\t$$.$mol_exec( '.' , 'npm' , 'install' , '--omit=dev', '@types/' + name )\n\t\t\t} catch (e) {\n\t\t\t\tif ($$.$mol_fail_catch(e)) {\n\t\t\t\t\t$$.$mol_fail_log(e)\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t\t\n\t\ttry {\n\t\t\treturn target.require( name )\n\t\t} catch( error ) {\n\n\t\t\tif($.$mol_fail_catch(error) && ( error as any ).code === 'ERR_REQUIRE_ESM' ) {\n\t\t\t\tconst module = cache.get( name )\n\t\t\t\tif( module ) return module\n\t\t\t\tthrow import( name ).then( module => cache.set( name, module ) )\n\t\t\t}\n\t\t\t\n\t\t\t$.$mol_fail_log( error )\n\n\t\t\treturn null\n\t\t}\n\n\t},\n\n\tset( target , name : string , value ) {\n\t\ttarget[ name ] = value\n\t\treturn true\n\t},\n\n} ) as $node\n\nconst cache = new Map< string, any >()\n\nrequire = ( req =>\n\tObject.assign( function require( name : string ) {\n\t\treturn $node[ name ]\n\t} , req )\n)( require )\n\n","namespace $ {\n\n\texport class $mol_error_mix< Cause extends {} = {} > extends AggregateError {\n\t\t\n\t\tname = $$.$mol_func_name( this.constructor ).replace( /^\\$/, '' ) + '_Error'\n\n\t\tconstructor(\n\t\t\tmessage: string,\n\t\t\treadonly cause = {} as Cause,\n\t\t\t... errors: Error[]\n\t\t) {\n\t\t\t\n\t\t\tsuper( errors, message, { cause } )\n\t\t\t\n\t\t\tconst stack_get = Object.getOwnPropertyDescriptor( this, 'stack' )?.get ?? ( ()=> super.stack )\n\t\t\t\n\t\t\tObject.defineProperty( this, 'stack', {\n\t\t\t\tget: ()=> ( stack_get.call( this ) ?? this.message ) + '\\n' + [ JSON.stringify( this.cause, null, ' ' ) ?? 'no cause', ... this.errors.map( e => e.stack ) ].map(\n\t\t\t\t\te => e.trim()\n\t\t\t\t\t\t.replace( /at /gm, ' at ' )\n\t\t\t\t\t\t.replace( /^(?! +at )(.*)/gm, ' at | $1 (#)' )\n\t\t\t\t).join('\\n')\n\t\t\t} )\n\t\t\t\n\t\t}\n\n\t\tstatic [ Symbol.toPrimitive ]() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tstatic toString() {\n\t\t\treturn $$.$mol_func_name( this )\n\t\t}\n\n\t\tstatic make(\n\t\t\t...params: ConstructorParameters\n\t\t) {\n\t\t\treturn new this(...params)\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\texport function $mol_env() {\n\t\treturn {} as Record< string, string | undefined >\n\t}\n}\n","namespace $ {\n\t$.$mol_env = function $mol_env() {\n\t\treturn this.process.env\n\t}\n}\n","namespace $ {\n\tconst factories = new WeakMap()\n\n\tfunction factory(\n\t\tval: new (...args: Args) => Result\n\t) {\n\t\tlet make = factories.get(val) as null | ((...args: Args) => Result)\n\n\t\tif ( make ) return make\n\n\t\tmake = $mol_func_name_from((...args: Args) => new val(...args), val)\n\t\tfactories.set(val, make)\n\n\t\treturn make\n\t}\n\n\t/**\n\t * Convert asynchronous (promise-based) API to synchronous by wrapping function and method calls in a fiber.\n\t * @see https://mol.hyoo.ru/#!section=docs/=1fcpsq_1wh0h2\n\t */\n\texport function $mol_wire_sync< Host extends object >( obj: Host ) {\n\t\treturn new Proxy( obj, {\n\t\t\t\n\t\t\tget( obj, field ) {\n\t\t\t\t\n\t\t\t\tlet val = (obj as any)[ field ]\n\t\t\t\tif( typeof val !== 'function' ) return val\n\t\t\t\tconst temp = $mol_wire_task.getter(val)\n\n\t\t\t\treturn function $mol_wire_sync( this: Host, ... args: unknown[] ) {\n\t\t\t\t\tconst fiber = temp( obj, args )\n\t\t\t\t\treturn fiber.sync()\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tconstruct(obj, args) {\n\t\t\t\tconst temp = $mol_wire_task.getter(factory(obj as (new ( ... args: unknown[] )=> unknown)))\n\t\t\t\treturn temp( obj, args ).sync() as object\n\t\t\t},\n\n\t\t\tapply( obj, self, args ) {\n\t\t\t\tconst temp = $mol_wire_task.getter(obj as ( ... args: any[] )=> any)\n\t\t\t\treturn temp(self, args).sync()\n\t\t\t},\n\t\t\t\n\t\t} ) as unknown as ObjectOrFunctionResultAwaited\n\t}\n\n\ttype FunctionResultAwaited = Some extends (...args: infer Args) => infer Res\n\t\t? (...args: Args) => Awaited\n\t\t: Some\n\n\ttype ConstructorResultAwaited = Some extends new (...args: infer Args) => infer Res\n\t\t? new (...args: Args) => Res\n\t\t: {}\n\n\ttype MethodsResultAwaited = {\n\t\t[K in keyof Host]: FunctionResultAwaited\n\t}\n\n\ttype ObjectOrFunctionResultAwaited = (\n\t\tSome extends (...args: any) => unknown ? FunctionResultAwaited : {}\n\t) & ( Some extends Object ? MethodsResultAwaited & ConstructorResultAwaited : Some )\n\n}\n","namespace $ {\n\n\texport type $mol_run_error_context = {\n\t\tpid?: number\n\t\tstdout: Buffer\n\t\tstderr: Buffer\n\t\tstatus?: number | null\n\t\tsignal: NodeJS.Signals | null,\n\t}\n\n\texport class $mol_run_error extends $mol_error_mix<{ timeout?: boolean, signal?: NodeJS.Signals | null}> {}\n\n\tconst child_process = $node['child_process']\n\texport const $mol_run_spawn = child_process.spawn.bind(child_process)\n\texport const $mol_run_spawn_sync = child_process.spawnSync.bind(child_process)\n\n\texport type $mol_run_options = {\n\t\tcommand : readonly string[] | string,\n\t\tdir : string\n\t\ttimeout?: number\n\t\tenv?: Record\n\t}\n\n\texport function $mol_run_async(\n\t\tthis : $ ,\n\t\t{ dir, timeout, command, env }: $mol_run_options\n\t) {\n\t\tconst args_raw = typeof command === 'string' ? command.split( ' ' ) : command\n\t\tconst [ app, ...args ] = args_raw\n\n\t\tif (! env?.MOL_RUN_ASYNC) {\n\t\t\tthis.$mol_log3_come({\n\t\t\t\tplace: '$mol_run_sync' ,\n\t\t\t\tmessage: 'Run',\n\t\t\t\tcommand: args_raw.join(' ') ,\n\t\t\t\tdir: $node.path.relative( '' , dir ) ,\n\t\t\t})\n\t\t\tconst res = this.$mol_run_spawn_sync(app, args, { shell: true, cwd: dir, env });\n\t\t\tif( res.status ) $mol_fail( new Error( res.stderr.toString() || 'Exit(' + res.status + ')' ) )\n\t\t\treturn res\n\t\t}\n\n\t\tconst sub = this.$mol_run_spawn(app, args, {\n\t\t\tshell: true,\n\t\t\tcwd: dir,\n\t\t\tenv\n\t\t})\n\n\t\tthis.$mol_log3_come({\n\t\t\tplace: '$mol_run_async' ,\n\t\t\tpid: sub.pid,\n\t\t\tmessage: 'Run',\n\t\t\tcommand: args_raw.join(' ') ,\n\t\t\tdir: $node.path.relative( '' , dir ) ,\n\t\t})\n\n\t\tlet killed = false\n\t\tlet timer: undefined | ReturnType\n\n\t\tconst std_data = [] as Buffer[]\n\t\tconst error_data = [] as Buffer[]\n\n\t\tconst add = (std_chunk?: Buffer, error_chunk?: Buffer) => {\n\t\t\tif (std_chunk) std_data.push(std_chunk)\n\t\t\tif (error_chunk) error_data.push(error_chunk)\n\t\t\tif (! timeout) return\n\n\t\t\tclearTimeout(timer)\n\n\t\t\ttimer = setTimeout(() => {\n\t\t\t\tconst signal = killed ? 'SIGKILL' : 'SIGTERM'\n\t\t\t\tkilled = true\n\t\t\t\tadd()\n\t\t\t\tsub.kill(signal)\n\t\t\t}, timeout)\n\t\t}\n\n\t\tadd()\n\n\t\tsub.stdout?.on('data', data => add(data) )\n\t\tsub.stderr?.on('data', data => add(undefined, data) )\n\n\t\tconst promise = new Promise<$mol_run_error_context>((done, fail) => {\n\t\t\tconst close = (error: Error | null, status: number | null = null, signal: NodeJS.Signals | null = null) => {\n\t\t\t\tif (! timer && timeout) return\n\n\t\t\t\tclearTimeout(timer)\n\t\t\t\ttimer = undefined\n\n\t\t\t\tconst res = {\n\t\t\t\t\tpid: sub.pid,\n\t\t\t\t\tstatus,\n\t\t\t\t\tsignal,\n\t\t\t\t\tget stdout() { return Buffer.concat(std_data) },\n\t\t\t\t\tget stderr() { return Buffer.concat(error_data) }\n\t\t\t\t}\n\n\t\t\t\tthis.$mol_log3_done({\n\t\t\t\t\tplace: '$mol_run_async' ,\n\t\t\t\t\tpid: sub.pid,\n\t\t\t\t\tmessage: 'Run',\n\t\t\t\t\tstatus,\n\t\t\t\t\tcommand: args_raw.join(' ') ,\n\t\t\t\t\tdir: $node.path.relative( '' , dir ) ,\n\t\t\t\t})\n\t\t\n\t\t\t\tif (error || status || killed) return fail( new $mol_run_error(\n\t\t\t\t\t(res.stderr.toString() || res.stdout.toString() || 'Run error') + (killed ? ', timeout' : ''),\n\t\t\t\t\t{ signal, timeout: killed },\n\t\t\t\t\t...error ? [ error ] : []\n\t\t\t\t) )\n\n\t\t\t\tdone(res)\n\t\t\t}\n\t\n\t\t\tsub.on('disconnect', () => close(new Error('Disconnected')) )\n\t\t\tsub.on('error', err => close(err) )\n\t\t\tsub.on('exit', (status, signal) => close(null, status, signal) )\n\t\t})\n\n\t\treturn Object.assign(promise, { destructor: () => {\n\t\t\tclearTimeout(timer)\n\t\t\tsub.kill('SIGKILL')\n\t\t} })\n\t}\n\n\texport function $mol_run(\n\t\tthis : $ ,\n\t\toptions: $mol_run_options\n\t) {\n\t\tif (! options.env) options = { ...options, env: this.$mol_env() }\n\t\treturn $mol_wire_sync(this).$mol_run_async( options )\n\t}\n}\n","namespace $ {\n\n\texport function $mol_exec(\n\t\tthis : $ ,\n\t\tdir : string ,\n\t\tcommand : string ,\n\t\t...args : readonly string[]\n\t) {\n\t\treturn this.$mol_run( { command: [ command, ...args ], dir } )\n\t}\n}\n","namespace $ {\n\t\n\t$.$mol_dom_context = new $node.jsdom.JSDOM( '' , { url : 'https://localhost/' } ).window as any\n\t\n}\n","namespace $ {\n\t\n\texport class $mol_view_selection extends $mol_object {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic focused( next? : Element[], notify?: 'notify' ) : Element[] {\n\t\t\t\n\t\t\tconst parents : Element[] = []\n\t\t\tlet element = next?.[0] ?? $mol_dom_context.document.activeElement\n\t\t\t\n\t\t\twhile( element ) {\n\t\t\t\tparents.push( element )\n\t\t\t\telement = element.parentNode as HTMLElement\n\t\t\t}\n\t\t\t\n\t\t\tif( !next || notify ) return parents\n\t\t\t\n\t\t\tnew $mol_after_tick( ()=> {\n\t\t\t\t\n\t\t\t\tconst element = this.focused()![0] as HTMLElement\n\t\t\t\t\n\t\t\t\tif( element ) element.focus()\n\t\t\t\telse $mol_dom_context.blur()\n\t\t\t\t\n\t\t\t} )\n\n\t\t\treturn parents\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_wrapper extends $mol_object2 {\n\n\t\tstatic wrap : ( task : ( ... ags : any[] )=> any )=> ( ... ags : any[] )=> any\n\t\t\n\t\tstatic run< Result >( task : ()=> Result ) : Result {\n\t\t\treturn this.func( task )()\n\t\t}\n\t\n\t\tstatic func< Args extends any[] , Result , Host = void >(\n\t\t\tfunc : ( this : Host , ... args : Args )=> Result\n\t\t) : ( this : Host , ... args : Args )=> Result {\n\t\t\treturn this.wrap( func )\n\t\t}\n\n\t\tstatic get class() {\n\n\t\t\treturn < Class extends new ( ... args : any[] )=> any >(\n\t\t\t\tClass : Class\n\t\t\t) => {\n\n\t\t\t\ttype Args = ConstructorParameters< Class >\n\t\t\t\ttype Result = InstanceType< Class >\n\n\t\t\t\tconst construct = ( target : Class , args : Args )=> new Class( ... args )\n\n\t\t\t\tconst handler: ProxyHandler = {\n\t\t\t\t\tconstruct : this.func( construct )\n\t\t\t\t} \n\n\t\t\t\t;(handler as any)[ Symbol.toStringTag ] = Class.name + '#'\n\n\t\t\t\treturn new Proxy( Class , handler )\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tstatic get method() {\n\t\t\t\n\t\t\treturn (\n\t\t\t\tobj : object,\n\t\t\t\tname : PropertyKey,\n\t\t\t\tdescr : PropertyDescriptor,\n\t\t\t) => {\n\t\t\t\tdescr.value = this.func( descr.value! )\n\t\t\t\treturn descr\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tstatic get field() {\n\t\t\t\n\t\t\treturn <\n\t\t\t\tHost ,\n\t\t\t\tField extends keyof Host ,\n\t\t\t\tArgs extends any[] ,\n\t\t\t\tResult ,\n\t\t\t>(\n\t\t\t\tobj : Host ,\n\t\t\t\tname : Field ,\n\t\t\t\tdescr : TypedPropertyDescriptor< Result >\n\t\t\t) => {\n\t\t\t\tdescr.get = descr.set = this.func( descr.get! )\n\t\t\t\treturn descr\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_memo extends $mol_wrapper {\n\t\t\n\t\tstatic wrap< This extends object , Value >( task : ( this : This , next? : Value )=> Value ) {\n\n\t\t\tconst store = new WeakMap< This , Value >()\n\n\t\t\treturn function( this : This , next? : Value ) {\n\n\t\t\t\tif( next === undefined && store.has( this ) ) return store.get( this )\n\t\t\t\t\n\t\t\t\tconst val = task.call( this , next ) ?? next\n\t\t\t\t\n\t\t\t\tstore.set( this , val! )\n\t\t\t\t\n\t\t\t\treturn val\n\n\t\t\t}\n\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_dom_qname( name : string ) {\n\t\treturn name.replace( /\\W/g , '' ).replace( /^(?=\\d+)/ , '_' )\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Run code without state changes */\n\texport function $mol_wire_probe< Value >(\n\t\ttask : ()=> Value, def?: Value\n\t) : Value | undefined {\n\t\t\n\t\tconst warm = $mol_wire_fiber.warm\n\t\t\n\t\ttry {\n\t\t\t$mol_wire_fiber.warm = false\n\t\t\tconst res = task()\n\t\t\tif( res === undefined ) return def\n\t\t\treturn res\n\t\t} finally {\n\t\t\t$mol_wire_fiber.warm = warm\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/**\n\t * Real-time refresh current atom.\n\t * Don't use if possible. May reduce performance.\n\t */\n\texport function $mol_wire_watch() {\n\t\tconst atom = $mol_wire_auto()\n\t\tif( atom instanceof $mol_wire_atom ) {\n\t\t\tatom.watch()\n\t\t} else {\n\t\t\t$mol_fail( new Error( 'Atom is required for watching' ) )\n\t\t}\n\t}\n\t\n}\n","namespace $ { \n\t/**\n\t * Returns closure that returns constant value.\n\t * @example\n\t * const rnd = $mol_const( Math.random() )\n\t */\n\texport function $mol_const< Value >( value : Value ) {\n\t\tconst getter = <{ () : Value , '()' : Value }> ( () => value )\n\t\tgetter['()'] = value\n\t\t;(getter as any)[ Symbol.toStringTag ] = value\n\t\t;(getter as any )[ $mol_dev_format_head ] = ()=> $mol_dev_format_span( {} , '()=> ', $mol_dev_format_auto( value ) )\n\t\treturn getter\n\t}\n}\n","namespace $ {\n\t\n\t/**\n\t * Disable reaping of current subscriber\n\t */\n\texport function $mol_wire_solid() {\n\t\tlet current = $mol_wire_auto() as $mol_wire_fiber< any, any, any >\n\t\tif( current!.temp ) current = current!.host\n\t\tif( current!.reap !== nothing ) {\n\t\t\tcurrent?.sub_on( sub, sub.data.length )\n\t\t}\n\t\tcurrent!.reap = nothing\n\t}\n\t\n\tconst nothing = ()=> {}\n\tconst sub = new $mol_wire_pub_sub\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_attributes (\n\t\tel : Element ,\n\t\tattrs : { [ key : string ] : string|number|boolean|null }\n\t) {\n\n\t\tfor( let name in attrs ) {\n\n\t\t\tlet val = attrs[ name ] as any\n\n\t\t\tif( val === undefined ) {\n\t\t\t\t\n\t\t\t\tcontinue\n\t\t\t\t\n\t\t\t} else if( val === null || val === false ) {\n\n\t\t\t\tif( !el.hasAttribute( name ) ) continue\n\t\t\t\t\n\t\t\t\tel.removeAttribute( name )\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tconst str = String( val )\n\t\t\t\tif( el.getAttribute( name ) === str ) continue\n\t\t\t\t\n\t\t\t\tel.setAttribute( name , str )\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_events (\n\t\tel : Element ,\n\t\tevents : { [ key : string ] : ( event : Event )=> any },\n\t\tpassive = false\n\t) {\n\t\tfor( let name in events ) {\n\t\t\tel.addEventListener( name , events[ name ] , { passive } )\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_styles (\n\t\tel : Element ,\n\t\tstyles : { [ key : string ] : string|number }\n\t) {\n\t\tfor( let name in styles ) {\n\t\t\tlet val = styles[ name ]\n\t\t\t\n\t\t\tconst style = ( el as HTMLElement ).style as any\n\t\t\tconst kebab = ( name : string )=> name.replace( /[A-Z]/g , letter => '-' + letter.toLowerCase() )\n\t\t\t\n\t\t\tif( typeof val === 'number' ) {\n\t\t\t\tstyle.setProperty(kebab(name), `${ val }px`);\n\t\t\t} else {\n\t\t\t\tstyle.setProperty(kebab(name), val);\n\t\t\t}\n\t\t\t\n\t\t}\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_dom_render_children (\n\t\tel : Element | DocumentFragment ,\n\t\tchildNodes : NodeList | Array< Node | string | null >\n\t) {\n\t\tconst node_set = new Set< Node | string | null >( childNodes )\n\t\t\n\t\tlet nextNode : Node | null = el.firstChild\n\t\tfor( let view of childNodes ) {\n\n\t\t\tif( view == null ) continue\n\n\t\t\tif( view instanceof $mol_dom_context.Node ) {\n\t\t\t\t\n\t\t\t\twhile( true ) {\n\t\t\t\t\tif( !nextNode ) {\n\t\t\t\t\t\tel.appendChild( view )\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tif( nextNode == view ) {\n\t\t\t\t\t\tnextNode = nextNode.nextSibling\n\t\t\t\t\t\tbreak\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif( node_set.has( nextNode ) ) {\n\t\t\t\t\t\t\tel.insertBefore( view , nextNode )\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst nn = nextNode.nextSibling\n\t\t\t\t\t\t\tel.removeChild( nextNode )\n\t\t\t\t\t\t\tnextNode = nn\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\tif( nextNode && nextNode.nodeName === '#text' ) {\n\t\t\t\t\tconst str = String( view )\n\t\t\t\t\tif( nextNode.nodeValue !== str ) nextNode.nodeValue = str\n\t\t\t\t\tnextNode = nextNode.nextSibling\n\t\t\t\t} else {\n\t\t\t\t\tconst textNode = $mol_dom_context.document.createTextNode( String( view ) )\n\t\t\t\t\tel.insertBefore( textNode , nextNode )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\twhile( nextNode ) {\n\t\t\tconst currNode = nextNode\n\t\t\tnextNode = currNode.nextSibling\n\t\t\tel.removeChild( currNode )\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_fields (\n\t\tel : Element ,\n\t\tfields : { [ key : string ] : any }\n\t) {\n\t\tfor( let key in fields ) {\n\t\t\t\n\t\t\tconst val : any = fields[ key ]\n\t\t\t\n\t\t\tif( val === undefined ) continue\n\t\t\tif( val === (el as any)[ key ] ) continue\n\t\t\t\n\t\t\t(el as any)[ key ] = val\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Convert a pseudo-synchronous (Suspense API) API to an explicit asynchronous one (for integrating with external systems). */\n\texport function $mol_wire_async< Host extends object >( obj: Host ) {\n\t\t\n\t\tlet fiber: $mol_wire_fiber< any, any, any >\n\t\tconst temp = $mol_wire_task.getter( obj as ( ... args: any[] )=> any )\n\t\t\n\t\treturn new Proxy( obj, {\n\t\t\t\n\t\t\tget( obj, field ) {\n\t\t\t\t\n\t\t\t\tconst val = (obj as any)[ field ]\n\t\t\t\tif( typeof val !== 'function' ) return val\n\t\t\t\t\n\t\t\t\tlet fiber: $mol_wire_fiber< any, any, any >\n\t\t\t\tconst temp = $mol_wire_task.getter( val ) \n\t\t\t\t\n\t\t\t\treturn function $mol_wire_async( this: Host, ... args: any[] ) {\n\t\t\t\t\tfiber?.destructor()\n\t\t\t\t\tfiber = temp( obj, args )\n\t\t\t\t\treturn fiber.async()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t},\n\t\t\t\n\t\t\tapply( obj, self, args ) {\n\t\t\t\tfiber?.destructor()\n\t\t\t\tfiber = temp( self, args )\n\t\t\t\treturn fiber.async()\n\t\t\t},\n\t\t\t\n\t\t} ) as unknown as ObjectOrFunctionResultPromisify\n\t\t\n\t}\n\n\ttype FunctionResultPromisify = Some extends (...args: infer Args) => infer Res\n\t\t? Res extends PromiseLike ? Some : (...args: Args) => Promise\n\t\t: Some\n\n\ttype MethodsResultPromisify = {\n\t\t[K in keyof Host]: FunctionResultPromisify\n\t}\n\n\ttype ObjectOrFunctionResultPromisify = (\n\t\tSome extends (...args: any) => unknown ? FunctionResultPromisify : {}\n\t) & ( Some extends Object ? MethodsResultPromisify : Some )\n\n}\n","namespace $ {\n\n\texport function $mol_style_attach(\n\t\tid : string ,\n\t\ttext : string ,\n\t) {\n\n\t\tconst doc = $mol_dom_context.document\n\t\tif( !doc ) return null\n\t\t\n\t\tconst elid = `$mol_style_attach:${id}`\n\t\t\n\t\tlet el = doc.getElementById( elid ) as HTMLStyleElement\n\t\tif( !el ) {\n\t\t\tel = doc.createElement('style')\n\t\t\tel.id = elid\n\t\t\tdoc.head.appendChild( el )\n\t\t}\n\t\tif( el.innerHTML != text ) el.innerHTML = text\n\t\t\n\t\treturn el\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_decor< Value > {\n\t\t\n\t\tconstructor(\n\t\t\treadonly value : Value\n\t\t) {}\n\n\t\tprefix() { return '' }\n\t\tvalueOf() { return this.value }\n\t\tpostfix() { return '' }\n\n\t\ttoString(){\n\t\t\treturn `${ this.prefix() }${ this.valueOf() }${ this.postfix() }`\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\texport type $mol_style_unit_length =\n\t| '%'\n\t| 'px' | 'cm' | 'mm' | 'Q' | 'in' | 'pc' | 'pt'\n\t| 'cap' | 'ch' | 'em' | 'rem' | 'ex' | 'ic' | 'lh' | 'rlh'\n\t| 'vh' | 'vw' | 'vi' | 'vb' | 'vmin' | 'vmax'\n\t\n\texport type $mol_style_unit_angle = 'deg' | 'rad' | 'grad' | 'turn'\n\t\n\texport type $mol_style_unit_time = 's' | 'ms'\n\n\texport type $mol_style_unit_any = $mol_style_unit_length | $mol_style_unit_angle | $mol_style_unit_time\n\n\texport type $mol_style_unit_str< Quanity extends $mol_style_unit_any = $mol_style_unit_any> = `${number}${Quanity}`\n\n\t/**\n\t * CSS Units\n\t * @see https://mol.hyoo.ru/#!section=docs/=xwq9q5_f966fg\n\t */\n\texport class $mol_style_unit<\n\t\tLiteral extends $mol_style_unit_any\n\t> extends $mol_decor< number > {\n\n\t\tconstructor(\n\t\t\tvalue : number,\n\t\t\treadonly literal : Literal,\n\t\t) {\n\t\t\tsuper( value )\n\t\t}\n\n\t\tpostfix() {\n\t\t\treturn this.literal\n\t\t}\n\n\t\tstatic per( value : number ) { return `${value}%` as const }\n\t\tstatic px( value : number ) { return `${ value }px` as const }\n\t\tstatic mm( value : number ) { return `${value}mm` as const }\n\t\tstatic cm( value : number ) { return `${value}cm` as const }\n\t\tstatic Q( value : number ) { return `${value}Q` as const }\n\t\tstatic in( value : number ) { return `${value}in` as const }\n\t\tstatic pc( value : number ) { return `${value}pc` as const }\n\t\tstatic pt( value : number ) { return `${value}pt` as const }\n\t\tstatic cap( value : number ) { return `${value}cap` as const }\n\t\tstatic ch( value : number ) { return `${value}ch` as const }\n\t\tstatic em( value : number ) { return `${value}em` as const }\n\t\tstatic rem( value : number ) { return `${value}rem` as const }\n\t\tstatic ex( value : number ) { return `${value}ex` as const }\n\t\tstatic ic( value : number ) { return `${value}ic` as const }\n\t\tstatic lh( value : number ) { return `${value}lh` as const }\n\t\tstatic rlh( value : number ) { return `${value}rlh` as const }\n\t\tstatic vh( value : number ) { return `${value}vh` as const }\n\t\tstatic vw( value : number ) { return `${value}vw` as const }\n\t\tstatic vi( value : number ) { return `${value}vi` as const }\n\t\tstatic vb( value : number ) { return `${value}vb` as const }\n\t\tstatic vmin( value : number ) { return `${value}vmin` as const }\n\t\tstatic vmax( value : number ) { return `${value}vmax` as const }\n\t\t\n\t\tstatic deg( value : number ) { return `${value}deg` as const }\n\t\tstatic rad( value : number ) { return `${value}rad` as const }\n\t\tstatic grad( value : number ) { return `${value}grad` as const }\n\t\tstatic turn( value : number ) { return `${value}turn` as const }\n\n\t\tstatic s( value : number ) { return `${value}s` as const }\n\t\tstatic ms( value : number ) { return `${value}ms` as const }\n\t\n\t}\n\n}\n","namespace $ {\n\n\texport type $mol_style_func_name =\n\t| 'calc'\n\t| 'hsla'\n\t| 'rgba'\n\t| 'var'\n\t| 'clamp'\n\t| 'scale'\n\t| 'cubic-bezier'\n\t| 'linear'\n\t| 'steps'\n\t| $mol_style_func_image\n\t| $mol_style_func_filter\n\t\n\texport type $mol_style_func_image =\n\t| 'url'\n\t| 'linear-gradient'\n\t| 'radial-gradient'\n\t| 'conic-gradient'\n\t\n\texport type $mol_style_func_filter =\n\t| 'blur'\n\t| 'brightness'\n\t| 'contrast'\n\t| 'drop-shadow'\n\t| 'grayscale'\n\t| 'hue-rotate'\n\t| 'invert'\n\t| 'opacity'\n\t| 'sepia'\n\t| 'saturate'\n\n\tconst { per } = $mol_style_unit\n\t\n\t/**\n\t * CSS Functions\n\t * @see https://mol.hyoo.ru/#!section=docs/=xwq9q5_f966fg\n\t */\n\texport class $mol_style_func<\n\t\tName extends $mol_style_func_name ,\n\t\tValue = unknown,\n\t> extends $mol_decor< Value > {\n\n\t\tconstructor(\n\t\t\treadonly name : Name,\n\t\t\tvalue : Value,\n\t\t) {\n\t\t\tsuper( value )\n\t\t}\n\n\t\tprefix() { return this.name + '(' }\n\t\tpostfix() { return ')' }\n\n\t\tstatic linear_gradient< Value >( value : Value ) {\n\t\t\treturn new $mol_style_func( 'linear-gradient' , value )\n\t\t}\n\n\t\tstatic calc< Value >( value : Value ) {\n\t\t\treturn new $mol_style_func( 'calc' , value )\n\t\t}\n\n\t\tstatic vary< Name extends string, Value extends string >( name : Name, defaultValue? : Value ) {\n\t\t\treturn new $mol_style_func( 'var' , defaultValue ? [name, defaultValue] : name )\n\t\t}\n\n\t\tstatic url< Href extends string >( href : Href ) {\n\t\t\treturn new $mol_style_func( 'url' , JSON.stringify( href ) )\n\t\t}\n\n\t\tstatic hsla(\n\t\t\thue: number,\n\t\t\tsaturation: number,\n\t\t\tlightness: number,\n\t\t\talpha: number,\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t'hsla',\n\t\t\t\t[ hue , per( saturation ) , per( lightness ) , alpha ],\n\t\t\t)\n\t\t}\n\t\n\t\tstatic clamp(\n\t\t\tmin: $mol_style_unit_str< any >,\n\t\t\tmid: $mol_style_unit_str< any >,\n\t\t\tmax: $mol_style_unit_str< any >,\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t'clamp',\n\t\t\t\t[ min, mid, max ],\n\t\t\t)\n\t\t}\n\t\n\t\tstatic rgba(\n\t\t\tred: number,\n\t\t\tgreen: number,\n\t\t\tblue: number,\n\t\t\talpha: number,\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t'rgba',\n\t\t\t\t[ red , green , blue , alpha ],\n\t\t\t)\n\t\t}\n\t\n\t\tstatic scale(\n\t\t\tzoom: number,\n\t\t) {\n\t\t\treturn new $mol_style_func( 'scale', [ zoom ] )\n\t\t}\n\t\t\n\t\tstatic linear(\n\t\t\t...breakpoints : Array]>\n\t\t){\n\t\t\treturn new $mol_style_func(\n\t\t\t\t\"linear\",\n\t\t\t\tbreakpoints.map((e) =>\n\t\t\t\t\tArray.isArray(e)\n\t\t\t\t\t\t? String(e[0]) +\n\t\t\t\t\t\t \" \" +\n\t\t\t\t\t\t (typeof e[1] === \"number\" ? e[1] + \"%\" : e[1].toString())\n\t\t\t\t\t\t: String(e)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t\t\n\t\tstatic cubic_bezier(\n\t\t\tx1: number,\n\t\t\ty1: number,\n\t\t\tx2: number,\n\t\t\ty2: number\n\t\t){\n\t\t\treturn new $mol_style_func( 'cubic-bezier', [ x1, y1, x2, y2 ]);\n\t\t}\n\t\t\n\t\tstatic steps(value: number, step_position: 'jump-start' | 'jump-end' | 'jump-none' | 'jump-both' | 'start' | 'end'){\n\t\t\treturn new $mol_style_func( 'steps', [ value, step_position ] )\n\t\t}\n\t\t\n\t\tstatic blur(value?: $mol_style_unit_str<$mol_style_unit_length>){\n\t\t\treturn new $mol_style_func( 'blur', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic brightness(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'brightness', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic contrast(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'contrast', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic drop_shadow(\n\t\t\tcolor: $mol_style_properties_color,\n\t\t\tx_offset: $mol_style_unit_str<$mol_style_unit_length>,\n\t\t\ty_offset: $mol_style_unit_str<$mol_style_unit_length>,\n\t\t\tblur_radius?: $mol_style_unit_str<$mol_style_unit_length>\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t\"drop-shadow\",\n\t\t\t\tblur_radius\n\t\t\t\t\t? [color, x_offset, y_offset, blur_radius]\n\t\t\t\t\t: [color, x_offset, y_offset]\n\t\t\t);\n\t\t}\n\t\t\n\t\tstatic grayscale(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'grayscale', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic hue_rotate(value?: 0 | $mol_style_unit_str<$mol_style_unit_angle>){\n\t\t\treturn new $mol_style_func( 'hue-rotate', value ?? \"\")\n\t\t}\n\t\t\n\t\tstatic invert(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'invert', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic opacity(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'opacity', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic sepia(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'sepia', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic saturate(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'saturate', value ?? \"\" );\n\t\t}\n\t\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Create record of CSS variables. */\n\texport function $mol_style_prop< Keys extends string[] >(\n\t\tprefix: string ,\n\t\tkeys: Keys\n\t) {\n\t\t\n\t\tconst record = keys.reduce( ( rec , key: Keys[number] )=> {\n\t\t\t\n\t\t\trec[ key ] = $mol_style_func.vary( `--${ prefix }_${ key }` )\n\t\t\treturn rec\n\t\t\t\n\t\t}, {} as Record< Keys[number], $mol_style_func< 'var' > > )\n\t\t\n\t\treturn record\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Theme css variables\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_textarea_demo\n\t */\t\n\texport const $mol_theme = $mol_style_prop(\n\t\t'mol_theme',\n\t\t[\n\t\t\t'back',\n\t\t\t'hover',\n\t\t\t'card',\n\t\t\t'current',\n\t\t\t'special',\n\t\t\t'text',\n\t\t\t'control',\n\t\t\t'shade',\n\t\t\t'line',\n\t\t\t'focus',\n\t\t\t'field',\n\t\t\t'image',\n\t\t] as const\n\t)\n\n}\n","namespace $ { $mol_style_attach( \"mol/theme/theme.css\",\n \":root {\\n\\t--mol_theme_hue: 210deg;\\n\\t--mol_theme_hue_spread: 90deg;\\n}\\n\\n:where([mol_theme]) {\\n\\tcolor: var(--mol_theme_text);\\n\\tfill: var(--mol_theme_text);\\n\\tbackground-color: var(--mol_theme_back);\\n}\\n\\t\\n:root, [mol_theme=\\\"$mol_theme_dark\\\"], :where([mol_theme=\\\"$mol_theme_dark\\\"]) [mol_theme] {\\n\\n\\t--mol_theme_luma: -1;\\n\\t--mol_theme_image: invert(1) hue-rotate( 180deg );\\n\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 10% );\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 20%, .25 );\\n\\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 8%, .25 );\\n\\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\\n\\t\\n\\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 80% );\\n\\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 60%, 1 );\\n\\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .25 );\\n\\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 65% );\\n\\t\\n\\t--mol_theme_control: hsl( var(--mol_theme_hue), 60%, 65% );\\n\\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 60%, 65% );\\n\\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 60%, 65% );\\n\\n\\t/* --mol_theme_back: oklch( 20% .03 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 35% .05 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_field: oklch( 0% 0 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\\n\\t\\n\\t--mol_theme_text: oklch( 80% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_line: oklch( 50% 0 var(--mol_theme_hue) / .2 );\\n\\t--mol_theme_focus: oklch( 80% .2 calc( var(--mol_theme_hue) + 120deg ) );\\n\\t\\n\\t--mol_theme_control: oklch( 70% .1 var(--mol_theme_hue) );\\n\\t--mol_theme_current: oklch( 80% .2 calc( var(--mol_theme_hue) - 60deg ) );\\n\\t--mol_theme_special: oklch( 80% .3 calc( var(--mol_theme_hue) + 60deg ) ); */\\n\\n}\\n\\n[mol_theme=\\\"$mol_theme_light\\\"], :where([mol_theme=\\\"$mol_theme_light\\\"]) [mol_theme] {\\n\\t\\n\\t--mol_theme_luma: 1;\\n\\t--mol_theme_image: none;\\n\\t\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 92% );\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 100%, .5 );\\n\\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 100%, .75 );\\n\\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\\n\\t\\n\\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 0% );\\n\\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 40%, 1 );\\n\\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .25 );\\n\\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 40% );\\n\\t\\n\\t--mol_theme_control: hsl( var(--mol_theme_hue), 80%, 30% );\\n\\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 80%, 30% );\\n\\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 80%, 30% );\\n\\t\\n\\t/* --mol_theme_back: oklch( 93% .01 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 100% .02 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_field: oklch( 100% 0 var(--mol_theme_hue) / .5 );\\n\\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\\n\\t\\n\\t--mol_theme_text: oklch( 20% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_line: oklch( 70% 0 var(--mol_theme_hue) / .2 );\\n\\t--mol_theme_focus: oklch( 20% .8 calc( var(--mol_theme_hue) + 120deg ) );\\n\\t\\n\\t--mol_theme_control: oklch( 45% .25 var(--mol_theme_hue) );\\n\\t--mol_theme_current: oklch( 45% .5 calc( var(--mol_theme_hue) - 60deg ) );\\n\\t--mol_theme_special: oklch( 45% .5 calc( var(--mol_theme_hue) + 60deg ) ); */\\n\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_base\\\"] {\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 50%, 30% );\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), 40%, 20%, .25 );\\n\\t/* --mol_theme_back: oklch( 25% .05 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 35% .1 var(--mol_theme_hue) / .25 ); */\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_base\\\"] {\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 50%, 80% );\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), 80%, 95%, .25 );\\n\\t/* --mol_theme_back: oklch( 95% .02 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 80% .05 var(--mol_theme_hue) / .25 ); */\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_accent\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + 180deg ), 90%, 30% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + 180deg ), 80%, 20%, .25 );\\n\\t/* --mol_theme_back: oklch( 40% .2 calc( var(--mol_theme_hue) + 120deg ) );\\n\\t--mol_theme_card: oklch( 50% .3 calc( var(--mol_theme_hue) + 120deg ) / .25 ); */\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_accent\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + 180deg ), 90%, 75% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + 180deg ), 80%, 90%, .25 );\\n\\t/* --mol_theme_back: oklch( 90% .03 calc( var(--mol_theme_hue) + 120deg ) );\\n\\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) + 120deg ) / .25 ); */\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_current\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 50%, 30% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 40%, 20%, .25 );\\n\\t/* --mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) - 60deg ) );\\n\\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) - 60deg ) / .25 ); */\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_current\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 50%, 92% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 80%, 100%, .5 );\\n\\t/* --mol_theme_back: oklch( 95% .02 calc( var(--mol_theme_hue) - 60deg ) );\\n\\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) - 60deg ) / .25 ); */\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_special\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 50%, 30% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 40%, 20%, .25 );\\n\\t/* --mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) + 60deg ) );\\n\\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) + 60deg ) / .25 ); */\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_special\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 50%, 92% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 80%, 100%, .5 );\\n\\t/* --mol_theme_back: oklch( 95% .02 calc( var(--mol_theme_hue) + 60deg ) );\\n\\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) + 60deg ) / .25 ); */\\n}\\n\"\n) }","namespace $ {\n\n\t/**\n\t * Gap in CSS\n\t * @see https://page.hyoo.ru/#!=msdb74_bm7nsq\n\t */\n\texport let $mol_gap = $mol_style_prop(\n\t\t'mol_gap',\n\t\t[\n\t\t\t'block',\n\t\t\t'text',\n\t\t\t'round',\n\t\t\t'space',\n\t\t\t'blur',\n\t\t] as const\n\t)\n\n}\n","namespace $ { $mol_style_attach( \"mol/gap/gap.css\",\n \":root {\\n\\t--mol_gap_block: .75rem;\\n\\t--mol_gap_text: .5rem .75rem;\\n\\t--mol_gap_round: .25rem;\\n\\t--mol_gap_space: .25rem;\\n\\t--mol_gap_blur: .5rem;\\n}\\n\"\n) }","namespace $ {\n\n\texport type $mol_view_content = $mol_view|Node|string|number|boolean|null\n\t\n\texport function $mol_view_visible_width() {\n\t\treturn $mol_window.size().width\n\t}\n\t\n\texport function $mol_view_visible_height() {\n\t\treturn $mol_window.size().height\n\t}\n\t\n\texport function $mol_view_state_key( suffix : string ) {\n\t\treturn suffix\n\t}\n\t\n\t/**\n\t * The base class for all visual components. It provides the infrastructure for reactive lazy rendering, handling exceptions.\n\t * @see https://mol.hyoo.ru/#!section=docs/=vv2nig_s5zr0f\n\t */\n\t/// Reactive statefull lazy ViewModel\n\texport class $mol_view extends $mol_object {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic Root< This extends typeof $mol_view >( this : This , id: number ) {\n\t\t\treturn new this as InstanceType< This >\n\t\t}\n\n\t\t@ $mol_mem\n\t\tautorun() {\n\t\t\ttry {\n\t\t\t\tthis.dom_tree()\n\t\t\t\tdocument.title = this.title()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic autobind() {\n\t\t\t\n\t\t\tconst nodes = $mol_dom_context.document.querySelectorAll( '[mol_view_root]:not([mol_view_root=\"\"])' )\n\t\t\t\n\t\t\tfor( let i = nodes.length - 1 ; i >= 0 ; --i ) {\n\n\t\t\t\tconst name = nodes.item( i ).getAttribute( 'mol_view_root' )!\n\t\t\t\t\n\t\t\t\tconst View = ($ as any)[ name ] as typeof $mol_view\n\t\t\t\tif( !View ) {\n\t\t\t\t\tconsole.error( `Can not attach view. Class not found: ${ name }` )\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst view = View.Root( i )\n\t\t\t\tview.dom_node( nodes.item( i ) )\n\t\t\t\tview.autorun()\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttitle() {\n\t\t\treturn this.toString().match( /.*\\.(\\w+)/ )?.[1] ?? this.toString()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tfocused( next?: boolean ) {\n\t\t\tlet node = this.dom_node()\n\t\t\tconst value = $mol_view_selection.focused( next === undefined ? undefined : ( next ? [ node ] : [] ) )\n\t\t\treturn value.indexOf( node ) !== -1\n\t\t}\n\t\t\n\t\tstate_key( suffix = '' ) {\n\t\t\treturn this.$.$mol_view_state_key( suffix )\n\t\t}\n\t\t\n\t\t/// Name of element that created when element not found in DOM\n\t\t@ $mol_memo.method\n\t\tdom_name() {\n\t\t\treturn $mol_dom_qname( this.constructor.toString() ) || 'div'\n\t\t}\n\t\t\n\t\t/// NameSpace of element that created when element not found in DOM\n\t\tdom_name_space() { return 'http://www.w3.org/1999/xhtml' }\n\t\t\n\t\t/// Raw child views\n\t\tsub() {\n\t\t\treturn [] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/// Visible sub views with defined ambient context\n\t\t/// Render all by default\n\t\tsub_visible() {\n\t\t\treturn this.sub()\n\t\t}\n\t\t\n\t\t/// Minimal width that used for lazy rendering\n\t\t@ $mol_mem\n\t\tminimal_width() {\n\t\t\t\n\t\t\tlet min = 0\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tconst sub = this.sub()\n\t\t\t\tif( !sub ) return 0\n\t\t\t\t\n\t\t\t\tsub.forEach( view => {\n\t\t\t\t\tif( view instanceof $mol_view ) {\n\t\t\t\t\t\tmin = Math.max( min , view.minimal_width() )\n\t\t\t\t\t}\n\t\t\t\t} )\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn 24\n\t\t\t}\n\t\t\n\t\t\treturn min\n\t\t}\n\t\t\n\t\tmaximal_width() {\n\t\t\treturn this.minimal_width()\n\t\t}\n\t\t\n\t\t/// Minimal height that used for lazy rendering\n\t\t@ $mol_mem\n\t\tminimal_height() {\n\t\t\t\n\t\t\tlet min = 0\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tfor( const view of this.sub() ?? [] ) {\n\n\t\t\t\t\tif( view instanceof $mol_view ) {\n\t\t\t\t\t\tmin = Math.max( min , view.minimal_height() )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t \n\t\t\t} catch( error: any ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn 24\n\t\t\t}\n\n\t\t\treturn min\n\t\t}\n\n\t\tstatic watchers = new Set< $mol_view >()\n\n\t\t@ $mol_mem\n\t\tview_rect() {\n\t\t\tif( $mol_wire_probe( ()=> this.view_rect() ) === undefined ) {\n\t\t\t\t$mol_wire_watch()\n\t\t\t\treturn null // don't touch DOM to prevent instant reflow\n\t\t\t} else {\n\t\t\t\tconst { width, height, left, right, top, bottom } = this.dom_node().getBoundingClientRect()\n\t\t\t\treturn { width, height, left, right, top, bottom } // pick to optimize compare\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_memo.method\n\t\tdom_id() {\n\t\t\treturn this.toString().replace( //g, ')' ).replaceAll( /\"/g, \"'\" )\n\t\t}\n\t\n\t\tdom_node_external( next?: Element) {\n\t\t\tconst node = next ?? $mol_dom_context.document.createElementNS( this.dom_name_space() , this.dom_name() )\n\n\t\t\tconst id = this.dom_id()\n\t\t\tnode.setAttribute( 'id' , id )\n\t\t\tnode.toString = $mol_const( '<#' + id + '>' )\n\n\t\t\treturn node\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdom_node( next? : Element ) {\n\t\t\t$mol_wire_solid()\n\t\t\tconst node = this.dom_node_external( next )\n\t\t\t$mol_dom_render_attributes( node , this.attr_static() )\n\t\t\t\n\t\t\tconst events = this.event_async()\n\t\t\t$mol_dom_render_events(node, events)\n\n\t\t\treturn node\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdom_final() {\n\t\t\t\n\t\t\tthis.render()\n\t\t\t\n\t\t\tconst sub = this.sub_visible()\n\t\t\tif( !sub ) return\n\t\t\t\n\t\t\tfor( const el of sub ) {\n\t\t\t\tif( el && typeof el === 'object' && 'dom_final' in el ) {\n\t\t\t\t\tel['dom_final']()\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn this.dom_node()\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tdom_tree( next? : Element ) : Element {\n\t\t\tconst node = this.dom_node( next )\n\t\t\t\n\t\t\trender: try {\n\n\t\t\t\t$mol_dom_render_attributes( node , { mol_view_error : null } )\n\n\t\t\t\ttry {\n\t\t\t\t\n\t\t\t\t\tthis.render()\n\t\t\t\t\t\n\t\t\t\t} finally {\n\t\t\t\t\t\n\t\t\t\t\tfor( let plugin of this.plugins() ) {\n\t\t\t\t\t\tif( plugin instanceof $mol_plugin ) {\n\t\t\t\t\t\t\tplugin.dom_tree()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\tconst mol_view_error = $mol_promise_like(error) ? 'Promise' : error.name || error.constructor.name\n\t\t\t\t$mol_dom_render_attributes( node , { mol_view_error } )\n\t\t\t\t\n\t\t\t\tif( $mol_promise_like( error ) ) break render\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tconst message = error.message || error\n\t\t\t\t\t;( node as HTMLElement ).innerText = message.replace( /^|$/mg, '\\xA0\\xA0' )\n\t\t\t\t} catch {}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.auto()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t\t\t\n\t\t\treturn node\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdom_node_actual() {\n\t\t\tconst node = this.dom_node()\n\n\t\t\t$mol_dom_render_styles( node, this.style_size() )\n\n\t\t\tconst attr = this.attr()\n\t\t\tconst style = this.style()\n\n\t\t\t$mol_dom_render_attributes( node , attr )\n\t\t\t$mol_dom_render_styles( node , style )\n\n\t\t\treturn node\n\t\t}\n\t\t\n\t\tauto() {\n\t\t\treturn null as any\n\t\t}\n\n\t\t@ $mol_mem\n\t\trender() {\n\n\t\t\tconst node = this.dom_node_actual()\n\n\t\t\tconst sub = this.sub_visible()\n\t\t\tif( !sub ) return\n\t\t\t\n\t\t\tconst nodes = sub.map( child => {\n\t\t\t\tif( child == null ) return null\n\t\t\t\treturn ( child instanceof $mol_view )\n\t\t\t\t\t? child.dom_node()\n\t\t\t\t\t: child instanceof $mol_dom_context.Node\n\t\t\t\t\t? child\n\t\t\t\t\t: String( child )\n\t\t\t})\n\t\t\t\n\t\t\t$mol_dom_render_children( node , nodes )\n\n\t\t\tfor( const el of sub ) if( el && typeof el === 'object' && 'dom_tree' in el ) el['dom_tree']()\n\n\t\t\t$mol_dom_render_fields( node , this.field() )\n\t\t\t\n\t\t}\n\n\t\t@ $mol_memo.method\n\t\tstatic view_classes() {\n\t\t\tconst proto = this.prototype\n\t\t\t\n\t\t\tlet current = proto\n\t\t\tconst classes = [] as ( typeof $mol_view )[]\n\t\t\t\n\t\t\twhile( current ) {\n\t\t\t\tif( current.constructor.name !== classes.at(-1)?.name ) {\n\t\t\t\t\tclasses.push( current.constructor as typeof $mol_view )\n\t\t\t\t}\n\t\t\t\tif(!( current instanceof $mol_view )) break\n\t\t\t\tcurrent = Object.getPrototypeOf( current )\n\t\t\t}\n\t\t\t\n\t\t\treturn classes\n\t\t}\n\t\t\n\t\tstatic _view_names?: Map< string, string[] >\n\t\tstatic view_names( suffix: string ) {\n\t\t\t\n\t\t\tlet cache = Reflect.getOwnPropertyDescriptor( this, '_view_names' )?.value\n\t\t\tif( !cache ) cache = this._view_names = new Map\n\t\t\t\n\t\t\tconst cached = cache.get( suffix )\n\t\t\tif( cached ) return cached\n\t\t\t\n\t\t\tconst names = [] as string[]\n\t\t\tconst suffix2 = '_' + suffix[0].toLowerCase() + suffix.substring(1)\n\t\t\t\n\t\t\tfor( const Class of this.view_classes() ) {\n\t\t\t\tif( suffix in Class.prototype ) names.push( this.$.$mol_func_name( Class ) + suffix2 )\n\t\t\t\telse break\n\t\t\t}\n\t\t\t\n\t\t\tcache.set( suffix, names )\n\t\t\treturn names\n\t\t}\n\t\t\n\t\t@ $mol_memo.method\n\t\tview_names_owned() {\n\t\t\tconst names = [] as string[]\n\t\t\tlet owner = $mol_owning_get( this ) as $mol_wire_fiber< any, any[], any >\n\n\t\t\tif(!( owner?.host instanceof $mol_view )) return names\n\n\t\t\tconst suffix = owner.task.name.trim()\n\t\t\tconst suffix2 = '_' + suffix[0].toLowerCase() + suffix.substring(1)\n\t\t\t\n\t\t\tnames.push( ... ( owner.host.constructor as typeof $mol_view ).view_names( suffix ) )\n\t\t\t\n\t\t\tfor( let prefix of owner.host.view_names_owned() ) {\n\t\t\t\tnames.push( prefix + suffix2 )\n\t\t\t}\n\t\t\t\n\t\t\treturn names\n\t\t}\n\n\t\t@ $mol_memo.method\n\t\tview_names() {\n\t\t\tconst names = new Set< string >()\n\t\t\t\n\t\t\tfor( let name of this.view_names_owned() ) names.add( name )\n\n\t\t\tfor( let Class of ( this.constructor as typeof $mol_view ).view_classes() ) {\n\t\t\t\tconst name = this.$.$mol_func_name( Class )\n\t\t\t\tif( name ) names.add( name )\n\t\t\t}\n\n\t\t\treturn names\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttheme( next = null as null | string ) {\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tattr_static() : { [ key : string ] : string|number|boolean|null } {\n\t\t\tlet attrs : any = {}\n\t\t\t\n\t\t\tfor( let name of this.view_names() ) attrs[ name.replace( /\\$/g , '' ).replace( /^(?=\\d)/ , '_' ).toLowerCase() ] = ''\n\t\t\t\n\t\t\treturn attrs\n\t\t}\n\t\t\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\tmol_theme: this.theme() ?? undefined,\n\t\t\t} as {}\n\t\t}\n\t\t\n\t\tstyle_size() {\n\t\t\treturn {\n\t\t\t\tminHeight: this.minimal_height(),\n\t\t\t\tminWidth: this.minimal_width(),\n\t\t\t} as {\n\t\t\t\t[key: string]: string | number;\n\t\t\t}\n\t\t}\n\t\t\n\t\tstyle() : { [ key : string ] : string|number } {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\tfield() : { [ key : string ] : any } {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\tevent() : { [ key : string ] : ( event : Event )=> void } {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tevent_async() {\n\t\t\treturn { ... $mol_wire_async(this.event()) }\n\t\t}\n\n\t\tplugins() {\n\t\t\treturn [] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_span( {} ,\n\t\t\t\t$mol_dev_format_native( this ) ,\n\t\t\t\t// $mol_dev_format_shade( '/' ) ,\n\t\t\t\t// $mol_dev_format_auto( $mol_wire_cache( this ).sub().cache ) ,\n\t\t\t)\n\t\t}\n\n\t\t/** Deep search view by predicate. */\n\t\t*view_find(\n\t\t\tcheck: ( path : $mol_view, text?: string )=> boolean,\n\t\t\tpath = [] as $mol_view[],\n\t\t): Generator< $mol_view[] > {\n\n\t\t\tif( check( this ) ) return yield [ ... path, this ]\n\t\t\t\n\t\t\ttry {\n\t\t\t\tfor( const item of this.sub() ) {\n\t\t\t\t\tif( item instanceof $mol_view ) {\n\t\t\t\t\t\tyield* item.view_find( check, [ ... path, this ] )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch( error: unknown ) {\n\t\t\t\tif( $mol_promise_like( error ) ) $mol_fail_hidden( error )\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t/** Renders path of views to DOM. */\n\t\tforce_render(\n\t\t\tpath : Set< $mol_view >,\n\t\t) {\n\n\t\t\tconst kids = this.sub()\n\n\t\t\tconst index = kids.findIndex( item => {\n\t\t\t\tif( item instanceof $mol_view ) {\n\t\t\t\t\treturn path.has( item )\n\t\t\t\t} else {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tif( index >= 0 ) {\n\t\t\t\t( kids[ index ] as $mol_view ).force_render( path )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t/** Renders view to DOM and scroll to it. */\n\t\tensure_visible( view: $mol_view, align: ScrollLogicalPosition = \"start\" ) {\n\t\t\t\n\t\t\tconst path = this.view_find( v => v === view ).next().value\n\t\t\tthis.force_render( new Set( path ) )\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.dom_final()\n\t\t\t} catch(err) {\n\t\t\t\t$mol_fail_log(err)\n\t\t\t}\n\n\t\t\tview.dom_node().scrollIntoView({ block: align })\n\n\t\t}\n\t\t\n\t\tbring() {\n\t\t\t\n\t\t\tconst win = this.$.$mol_dom_context\n\t\t\tif( win.parent !== win.self && !win.document.hasFocus() ) return\n\t\t\t\n\t\t\t// new this.$.$mol_after_frame( ()=> {\n\t\t\t// \tthis.dom_node().scrollIntoView({ block: 'start', inline: 'nearest' })\n\t\t\t// } )\n\t\t\t\n\t\t\t// new this.$.$mol_after_timeout( 1000, ()=> {\n\t\t\t\tthis.focused( true )\n\t\t\t// } )\n\t\t\t\n\t\t}\n\n\t\toverride destructor() {\n\t\t\tconst node = $mol_wire_probe(() => this.dom_node())\n\t\t\tif (! node) return\n\n\t\t\tconst events = $mol_wire_probe(() => this.event_async())\n\t\t\tif (! events) return\n\n\t\t\tfor( let event_name in events ) {\n\t\t\t\tnode.removeEventListener(\n\t\t\t\t\tevent_name ,\n\t\t\t\t\tevents[ event_name ]\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t}\n\n\texport type $mol_view_all = $mol_type_pick< $ , typeof $mol_view >\n\n}\n","namespace $ { $mol_style_attach( \"mol/view/view/view.css\",\n \"[mol_view] {\\n\\ttransition-property: height, width, min-height, min-width, max-width, max-height, transform;\\n\\ttransition-duration: .2s;\\n\\ttransition-timing-function: ease-out;\\n\\t-webkit-appearance: none;\\n\\tbox-sizing: border-box;\\n\\tdisplay: flex;\\n\\tflex-shrink: 0;\\n\\tcontain: style;\\n\\tscrollbar-color: var(--mol_theme_line) transparent;\\n\\tscrollbar-width: thin;\\n}\\t\\n\\n[mol_view]::selection {\\n\\tbackground: var(--mol_theme_line);\\n}\\t\\n\\n[mol_view]::-webkit-scrollbar {\\n\\twidth: .25rem;\\n\\theight: .25rem;\\n}\\n\\n[mol_view]::-webkit-scrollbar-corner {\\n\\tbackground-color: var(--mol_theme_line);\\n}\\n\\n[mol_view]::-webkit-scrollbar-track {\\n\\tbackground-color: transparent;\\n}\\n\\n[mol_view]::-webkit-scrollbar-thumb {\\n\\tbackground-color: var(--mol_theme_line);\\n\\tborder-radius: var(--mol_gap_round);\\n}\\n\\n[mol_view] > * {\\n\\tword-break: inherit;\\n}\\n\\n[mol_view_root] {\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\tbox-sizing: border-box;\\n\\tfont-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\\n\\tfont-size: 1rem;\\n\\tline-height: 1.5rem;\\n\\tbackground: var(--mol_theme_back);\\n\\tcolor: var(--mol_theme_text);\\n\\tcontain: unset; /** Fixes bg ignoring when applied to body on Chrome */\\n\\ttab-size: 4;\\n\\toverscroll-behavior: contain; /** Disable navigation gestures **/\\n}\\n\\n@media print {\\n\\t[mol_view_root] {\\n\\t\\theight: auto;\\n\\t}\\n}\\n\\n[mol_view][mol_view_error]:not([mol_view_error=\\\"Promise\\\"]) {\\n\\tbackground-image: repeating-linear-gradient(\\n\\t\\t-45deg,\\n\\t\\t#f92323,\\n\\t\\t#f92323 .5rem,\\n\\t\\t#ff3d3d .5rem,\\n\\t\\t#ff3d3d 1.5rem\\n\\t);\\n\\tcolor: black;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\\n@keyframes mol_view_wait {\\n\\tfrom {\\n\\t\\topacity: .25;\\n\\t}\\n\\t20% {\\n\\t\\topacity: .75;\\n\\t}\\n\\tto {\\n\\t\\topacity: .25;\\n\\t}\\n}\\n\\n:where([mol_view][mol_view_error=\\\"Promise\\\"]) {\\n\\tbackground: var(--mol_theme_hover);\\n}\\n\\n[mol_view][mol_view_error=\\\"Promise\\\"] {\\n\\tanimation: mol_view_wait 1s steps(20,end) infinite;\\n}\\n\"\n) }","namespace $ {\n\t/** Plugin is component without its own DOM element, but instead uses the owner DOM element */\n\texport class $mol_plugin extends $mol_view {\n\n\t\toverride dom_node_external( next? : Element ) {\n\t\t\treturn next ?? $mol_owning_get>( this )!.host!.dom_node()\n\t\t}\n\n\t\toverride render() {\n\t\t\tthis.dom_node_actual()\n\t\t}\n\n\t}\n\n}\n","$mol_scroll $mol_view\n\tscroll_top? 0\n\tscroll_left? 0\n\tfield *\n\t\t^\n\t\ttabIndex <= tabindex -1\n\tevent *\n\t\t^\n\t\tscroll?event <=> event_scroll?event null\n","namespace $ {\n\n\texport class $mol_dom_listener extends $mol_object {\n\n\t\tconstructor(\n\t\t\tpublic _node : any ,\n\t\t\tpublic _event : string ,\n\t\t\tpublic _handler : ( event : any )=> any ,\n\t\t\tpublic _config : boolean|{ passive : boolean } = { passive : true }\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis._node.addEventListener( this._event , this._handler , this._config )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tthis._node.removeEventListener( this._event , this._handler , this._config )\n\t\t\tsuper.destructor()\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_print extends $mol_object {\n\n\t\t@ $mol_mem\n\t\tstatic before() {\n\t\t\treturn new $mol_dom_listener( this.$.$mol_dom_context , 'beforeprint' , ()=> {\n\t\t\t\tthis.active( true )\n\t\t\t} )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstatic after() {\n\t\t\treturn new $mol_dom_listener( this.$.$mol_dom_context , 'afterprint' , ()=> {\n\t\t\t\tthis.active( false )\n\t\t\t} )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstatic active( next? : boolean ) {\n\t\t\tthis.before()\n\t\t\tthis.after()\n\t\t\treturn next || false\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_style_sheet<\n\t\tComponent extends $mol_view,\n\t\tConfig extends $mol_style_guard< Component , Config >,\n\t>(\n\t\tComponent : new()=> Component,\n\t\tconfig0 : Config ,\n\t) {\n\n\t\tlet rules = [] as string[]\n\n\t\tconst block = $mol_dom_qname( $mol_ambient({}).$mol_func_name( Component ) )\n\t\tconst kebab = ( name : string )=> name.replace( /[A-Z]/g , letter => '-' + letter.toLowerCase() )\n\n\t\tconst make_class = ( prefix : string , path : string[] , config : typeof config0 )=> {\n\n\t\t\tconst props = [] as string[]\n\n\t\t\tconst selector = ( prefix : string , path : string[] )=> {\n\t\t\t\tif( path.length === 0 ) return prefix || `[${ block }]`\n\t\t\t\tlet res = `[${ block }_${ path.join('_') }]`\n\t\t\t\tif( prefix ) res = prefix + ' :where(' + res + ')'\n\t\t\t\treturn res\n\t\t\t}\n\t\t\t\n\t\t\tfor( const key of Object.keys( config ).reverse() ) {\n\n\t\t\t\tif( /^(--)?[a-z]/.test(key) ) {\n\t\t\t\t\t\n\t\t\t\t\tconst addProp = ( keys : string[] , val : any )=> {\n\n\t\t\t\t\t\tif( Array.isArray( val ) ) {\n\n\t\t\t\t\t\t\tif( val[0] && [ Array , Object ].includes( val[0].constructor ) ) {\n\t\t\t\t\t\t\t\tval = val.map( v => {\n\t\t\t\t\t\t\t\t\treturn Object.entries( v ).map( ([ n , a ])=> {\n\t\t\t\t\t\t\t\t\t\tif( a === true ) return kebab( n )\n\t\t\t\t\t\t\t\t\t\tif( a === false ) return null\n\t\t\t\t\t\t\t\t\t\treturn String( a )\n\t\t\t\t\t\t\t\t\t} ).filter( Boolean ).join(' ')\n\t\t\t\t\t\t\t\t}).join( ',' )\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tval = val.join(' ')\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tprops.push(`\\t${ keys.join('-') }: ${ val };\\n`)\n\n\t\t\t\t\t\t} else if( val.constructor === Object ) {\n\n\t\t\t\t\t\t\tfor( let suffix in val ) {\n\t\t\t\t\t\t\t\taddProp( [ ... keys , kebab( suffix ) ] , val[ suffix ] )\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\tprops.push(`\\t${ keys.join('-') }: ${ val };\\n`)\n\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\n\t\t\t\t\taddProp( [ kebab(key) ] , (config as any)[key] )\n\n\t\t\t\t} else if( /^[A-Z]/.test(key) ) {\n\n\t\t\t\t\tmake_class( prefix , [ ... path , key.toLowerCase() ] , (config as any)[key] )\n\n\t\t\t\t} else if( key[0] === '$' ) {\n\n\t\t\t\t\tmake_class( selector( prefix , path ) + ' :where([' + $mol_dom_qname( key ) + '])' , [] , (config as any)[key] )\n\n\t\t\t\t} else if( key === '>' ) {\n\n\t\t\t\t\tconst types = config[key] as any\n\n\t\t\t\t\tfor( let type in types ) {\n\t\t\t\t\t\tmake_class( selector( prefix , path ) + ' > :where([' + $mol_dom_qname( type ) + '])' , [] , types[type] )\n\t\t\t\t\t}\n\n\t\t\t\t} else if( key === '@' ) {\n\n\t\t\t\t\tconst attrs = config[key] as any\n\n\t\t\t\t\tfor( let name in attrs ) {\n\t\t\t\t\t\tfor( let val in attrs[name] ) {\n\t\t\t\t\t\t\tmake_class( selector( prefix , path ) + ':where([' + name + '=' + JSON.stringify( val ) + '])' , [] , attrs[name][val] )\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t} else if( key === '@media' ) {\n\n\t\t\t\t\tconst media = (config as any)[key] as any\n\n\t\t\t\t\tfor( let query in media ) {\n\n\t\t\t\t\t\trules.push('}\\n')\n\t\t\t\t\t\t\n\t\t\t\t\t\tmake_class( prefix , path , media[query] )\n\t\t\t\t\t\t\n\t\t\t\t\t\trules.push( `${ key } ${ query } {\\n` )\n\n\t\t\t\t\t}\n\n\t\t\t\t} else if( key[0] === '[' && key[key.length-1] === ']' ) {\n\n\t\t\t\t\tconst attr = key.slice( 1, -1 )\n\t\t\t\t\tconst vals = config[ key as any ] as any as Record< string, any >\n\t\t\t\t\t\n\t\t\t\t\tfor( let val in vals ) {\n\t\t\t\t\t\tmake_class( selector( prefix , path ) + ':where([' + attr + '=' + JSON.stringify( val ) + '])' , [] , vals[val] )\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\t} else {\n\n\t\t\t\t\tmake_class( selector( prefix , path ) + key , [] , (config as any)[key] )\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\tif( props.length ) {\n\t\t\t\trules.push( `${ selector( prefix , path ) } {\\n${ props.reverse().join('') }}\\n` )\n\t\t\t}\n\n\t\t}\n\n\t\tmake_class( '' , [] , config0 )\n\n\t\treturn rules.reverse().join('')\n\n\t}\n\n}\n","namespace $ {\n\n\t/**\n\t * CSS in TS.\n\t * Statically typed CSS style sheets. Following samples show which CSS code are generated from TS code.\n\t * @see https://mol.hyoo.ru/#!section=docs/=xwq9q5_f966fg\n\t */\n\texport function $mol_style_define<\n\t\tComponent extends $mol_view,\n\t\tConfig extends $mol_style_guard< Component , Config >,\n\t>(\n\t\tComponent : new()=> Component,\n\t\tconfig : Config ,\n\t) {\n\n\t\treturn $mol_style_attach(\n\t\t\tComponent.name,\n\t\t\t$mol_style_sheet( Component , config ),\n\t\t)\n\n\t}\n\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Scrolling pane.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_scroll_demo\n\t */\n\texport class $mol_scroll extends $.$mol_scroll {\n\n\t\t@ $mol_mem\n\t\tscroll_top( next? : number, cache?: 'cache' ): number {\n\t\t\t\n\t\t\tconst el = this.dom_node()\n\t\t\tif( next !== undefined && !cache ) el.scrollTop = next\n\t\t\t\n\t\t\treturn el.scrollTop\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tscroll_left( next? : number, cache?: 'cache' ): number {\n\t\t\t\n\t\t\tconst el = this.dom_node()\n\t\t\tif( next !== undefined && !cache ) el.scrollLeft = next\n\t\t\t\n\t\t\treturn el.scrollLeft\n\t\t}\n\t\t\n\t\tevent_scroll( next? : Event ) {\n\t\t\t\n\t\t\tconst el = this.dom_node() as HTMLElement\n\t\t\t\n\t\t\tthis.scroll_left( el.scrollLeft, 'cache' )\n\t\t\tthis.scroll_top( el.scrollTop, 'cache' )\n\t\t\t\n\t\t}\n\n\t\tminimal_height() {\n\t\t\treturn this.$.$mol_print.active() ? null! : 0\n\t\t}\n\t\t\n\t\tminimal_width() {\n\t\t\treturn this.$.$mol_print.active() ? null! : 0\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $.$$ {\n\n\tconst { per , rem , px } = $mol_style_unit\n\n\t$mol_style_define( $mol_scroll , {\n\n\t\tdisplay: 'grid',\n\t\toverflow: 'auto',\n\t\tflex: {\n\t\t\tdirection: 'column',\n\t\t\tgrow: 1,\n\t\t\tshrink: 1,\n\t\t\t// basis: 0,\n\t\t},\n\t\toutline: 'none',\n\t\talign: {\n\t\t\tself: 'stretch',\n\t\t\titems: 'flex-start',\n\t\t},\n\t\tboxSizing: 'border-box',\n\t\twillChange: 'scroll-position',\n\t\tscroll: {\n\t\t\tpadding: [ rem(.75), 0 ],\n\t\t},\n\t\tmaxHeight: per(100),\n\t\tmaxWidth: per(100),\n\t\twebkitOverflowScrolling: 'touch',\n\t\tcontain: 'content',\n\n\t\t'>': {\n\t\t\t$mol_view: {\n\t\t\t\t// transform: 'translateZ(0)', // enforce gpu scroll in all agents\n\t\t\t\tgridArea: '1/1',\n\t\t\t},\n\t\t},\n\n\t\t'::before': {\n\t\t\tdisplay: 'none',\n\t\t},\n\t\t'::after': {\n\t\t\tdisplay: 'none',\n\t\t},\n\t\t\n\t\t'::-webkit-scrollbar': {\n\t\t\twidth: rem(.25),\n\t\t\theight: rem(.25),\n\t\t},\n\t\t\n\t\t'@media' : {\n\t\t\t'print' : {\n\t\t\t\toverflow: 'visible',\n\t\t\t\tcontain: 'none',\n\t\t\t\tmaxHeight: 'unset',\n\t\t\t},\n\t\t},\n\n\t})\n\n}\n","$mol_book2 $mol_scroll\n\tmenu_title \\\n\tsub <= pages /$mol_view\n\tminimal_width 0\n\tPlaceholder $mol_view\n\tGap* $mol_view title \\\n","namespace $ {\n\texport let $mol_mem_cached = $mol_wire_probe\n}\n","namespace $ {\n\n\t/**\n\t * Z-index values for layers\n\t * https://page.hyoo.ru/#!=xthcpx_wqmiba\n\t */\n\texport let $mol_layer = $mol_style_prop(\n\t\t'mol_layer',\n\t\t[\n\t\t\t'hover',\n\t\t\t'focus',\n\t\t\t'speck',\n\t\t\t'float',\n\t\t\t'popup',\n\t\t] as const\n\t)\n\n}\n","namespace $ { $mol_style_attach( \"mol/layer/layer.css\",\n \":root {\\n\\t--mol_layer_hover: 1;\\n\\t--mol_layer_focus: 2;\\n\\t--mol_layer_speck: 3;\\n\\t--mol_layer_float: 4;\\n\\t--mol_layer_popup: 5;\\n}\\n\"\n) }","namespace $.$$ {\n\n\t/**\n\t * Root component for adaptivity to various screen sizes. Implements booklet UX.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_book2_demo\n\t */\n\texport class $mol_book2 extends $.$mol_book2 {\n\t\t\n\t\ttitle() {\n\t\t\treturn this.pages().map( page => {\n\t\t\t\ttry {\n\t\t\t\t\treturn page?.title()\n\t\t\t\t} catch( error ) {\n\t\t\t\t\t$mol_fail_log( error )\n\t\t\t\t}\n\t\t\t} ).reverse().filter( Boolean ).join( ' | ' )\n\t\t}\n\t\t\n\t\tmenu_title() {\n\t\t\treturn this.pages()[0]?.title() || this.title()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\t\n\t\t\tconst placeholder = this.Placeholder()\n\t\t\tconst next = [ ... this.pages(), placeholder ]\n\t\t\t\n\t\t\tconst prev = $mol_mem_cached( ()=> this.sub() ) ?? []\n\t\t\t\n\t\t\tfor( let i = 1 ; i++ ; ) {\n\t\t\t\t\n\t\t\t\tconst p = prev[ prev.length - i ]\n\t\t\t\tconst n = next[ next.length - i ]\n\t\t\t\t\n\t\t\t\tif( !n ) break\n\n\t\t\t\tif( p === n ) continue\n\t\t\t\tif( n === placeholder ) continue\n\n\t\t\t\tnew this.$.$mol_after_tick( ()=> {\n\t\t\t\t\tconst b = this.dom_node() as HTMLElement\n\t\t\t\t\tconst p = n.dom_node() as HTMLElement\n\t\t\t\t\tb.scroll({\n\t\t\t\t\t\tleft: p.offsetLeft + p.offsetWidth - b.offsetWidth,\n\t\t\t\t\t\tbehavior: 'smooth',\n\t\t\t\t\t})\n\t\t\t\t\tnew this.$.$mol_after_timeout( 1000, ()=> n.bring() )\n\t\t\t\t} )\n\t\t\t\t\n\t\t\t\tbreak\n\n\t\t\t}\n\n\t\t\treturn next as readonly $mol_view[]\n\t\t}\n\t\t\n\t\tbring() {\n\t\t\t\n\t\t\tconst pages = this.pages()\n\t\t\t\n\t\t\tif( pages.length ) pages[ pages.length - 1 ].bring()\n\t\t\telse super.bring()\n\t\t\t\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/book2/book2.view.css\",\n \"[mol_book2] {\\n\\tdisplay: flex;\\n\\tflex-flow: row nowrap;\\n\\talign-items: stretch;\\n\\tflex: 1 1 auto;\\n\\talign-self: stretch;\\n\\tmargin: 0;\\n\\t/* box-shadow: 0 0 0 1px var(--mol_theme_line); */\\n\\t/* transform: translateZ(0); */\\n\\ttransition: none;\\n\\toverflow: overlay;\\n\\tscroll-snap-type: x mandatory;\\n\\t/* padding: 0 1px;\\n\\tscroll-padding: 0 1px;\\n\\tgap: 1px; */\\n}\\n\\n[mol_book2] > * {\\n/* \\tflex: none; */\\n\\tscroll-snap-stop: always;\\n\\tscroll-snap-align: end;\\n\\tposition: relative;\\n\\tmin-height: 100%;\\n\\tmax-height: 100%;\\n\\tmax-width: 100%;\\n\\tflex-shrink: 0;\\n\\tbox-shadow: inset 0 0 0 1px var(--mol_theme_field);\\n}\\n\\n[mol_book2] > *:not(:first-of-type):before,\\n[mol_book2] > *:not(:last-of-type)::after {\\n\\tcontent: '';\\n\\tposition: absolute;\\n\\ttop: 1.5rem;\\n\\twidth: 3px;\\n\\theight: 1rem;\\n\\tbackground: linear-gradient(\\n\\t\\tto bottom,\\n\\t\\tvar(--mol_theme_focus) 0%,\\n\\t\\tvar(--mol_theme_focus) 14%,\\n\\t\\ttransparent 15%,\\n\\t\\ttransparent 42%,\\n\\t\\tvar(--mol_theme_focus) 43%,\\n\\t\\tvar(--mol_theme_focus) 57%,\\n\\t\\ttransparent 58%,\\n\\t\\ttransparent 85%,\\n\\t\\tvar(--mol_theme_focus) 86%,\\n\\t\\tvar(--mol_theme_focus) 100%\\n\\t);\\n\\topacity: .5;\\n\\tz-index: var(--mol_layer_speck);\\n}\\n[mol_book2] > *:not(:first-of-type):before {\\n\\tleft: -1px;\\n}\\n[mol_book2] > *:not(:last-of-type)::after {\\n\\tright: -1px;\\n}\\n\\n:where([mol_book2]) > * {\\n\\tbackground-color: var(--mol_theme_card);\\n\\t/* box-shadow: 0 0 0 1px var(--mol_theme_back); */\\n}\\n\\n[mol_book2] > [mol_book2] {\\n\\tdisplay: contents;\\n}\\n\\n[mol_book2] > *:first-child {\\n\\tscroll-snap-align: start;\\n}\\n\\n[mol_book2] > [mol_view] {\\n\\ttransform: none; /* prevent content clipping */\\n}\\n\\n[mol_book2_placeholder] {\\n\\tflex: 1 1 0;\\n\\tbackground: none;\\n}\\n\\n[mol_book2_gap] {\\n\\tbackground: none;\\n\\tflex-grow: 1;\\n\\tscroll-snap-align: none;\\n\\tmargin-right: -1px;\\n\\tbox-shadow: none;\\n}\\n\\n[mol_book2_gap]::before,\\n[mol_book2_gap]::after {\\n\\tdisplay: none;\\n}\\n\"\n) }","$mol_theme_auto $mol_plugin\n\tattr * mol_theme <= theme \\\n","namespace $ {\n\t/**\n\t * Decorates method to fiber to ensure it is executed only once inside other fiber from [mol_wire](../wire/README.md)\n\t * @see https://mol.hyoo.ru/#!section=docs/=1fcpsq_1wh0h2\n\t */\n\texport let $mol_action = $mol_wire_method\n}\n","namespace $ {\n\n\t/** State of arguments like `foo=bar xxx` */\n\texport class $mol_state_arg extends $mol_object {\n\t\t\n\t\tstatic prolog = ''\n\t\tstatic separator = ' '\n\t\t\n\t\t@ $mol_mem\n\t\tstatic href( next? : string ) {\n\t\t\treturn next || process.argv.slice( 2 ).join( ' ' )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic href_normal() {\n\t\t\treturn this.link({})\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic dict( next? : { [ key : string ] : string | null } ) {\n\t\t\tif( next !== void 0 ) this.href( this.make_link( next ) )\n\t\t\t\n\t\t\tvar href = this.href()\n\t\t\tvar chunks = href.split( ' ' )\n\t\t\t\n\t\t\tvar params : { [ key : string ] : string } = {}\n\t\t\tchunks.forEach(\n\t\t\t\tchunk => {\n\t\t\t\t\tif( !chunk ) return\n\t\t\t\t\tvar vals = chunk.split( '=' ).map( decodeURIComponent )\n\t\t\t\t\tparams[ vals.shift()! ] = vals.join('=')\n\t\t\t\t}\n\t\t\t)\n\t\t\t\n\t\t\treturn params as Readonly< typeof params >\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic value( key : string , next? : string | null ) {\n\t\t\tif( next === void 0 ) return this.dict()[ key ] ?? null\n\t\t\tthis.href( this.link( { [ key ] : next } ) )\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tstatic link( next : Record ) {\n\t\t\tconst params : Record = {}\n\t\t\t\n\t\t\tvar prev = this.dict()\n\t\t\tfor( var key in prev ) {\n\t\t\t\tparams[ key ] = prev[ key ]\n\t\t\t}\n\t\t\t\n\t\t\tfor( var key in next ) {\n\t\t\t\tparams[ key ] = next[ key ]\n\t\t\t}\n\t\t\t\n\t\t\treturn this.make_link( params )\n\t\t}\n\t\t\n\t\tstatic make_link( next : Record) {\n\t\t\tconst chunks : string[] = []\n\t\t\tfor( const key in next ) {\n\t\t\t\tif( next[ key ] !== null ) {\n\t\t\t\t\tchunks.push([key, next[key]!].map(encodeURIComponent).join('='))\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn chunks.join( ' ' )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tstatic go( next : { [ key : string ] : string | null } ) {\n\t\t\tthis.href( this.link( next ) )\n\t\t}\n\t\t\n\t\tconstructor( public prefix = '' ) {\n\t\t\tsuper()\n\t\t}\n\t\t\n\t\tvalue( key : string , next? : string ) {\n\t\t\treturn ( this.constructor as typeof $mol_state_arg ).value( this.prefix + key , next )\n\t\t}\n\t\t\n\t\tsub( postfix : string ) {\n\t\t\treturn new ( this.constructor as typeof $mol_state_arg )( this.prefix + postfix + '.' )\n\t\t}\n\t\t\n\t\tlink( next : Record ) {\n\t\t\tconst prefix = this.prefix\n\t\t\tconst dict : Record = {}\n\t\t\tfor( var key in next ) {\n\t\t\t\tdict[ prefix + key ] = next[ key ]\n\t\t\t}\n\t\t\treturn ( this.constructor as typeof $mol_state_arg ).link( dict )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport class $mol_media extends $mol_object2 {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic match( query: string, next?: boolean ) {\n\t\t\t\n\t\t\tif( next !== undefined ) return next\n\t\t\t\n\t\t\tconst res = this.$.$mol_dom_context.matchMedia?.( query ) ?? {}\n\t\t\tres.onchange = ()=> this.match( query, res.matches )\n\t\t\t\n\t\t\treturn res.matches\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\texport let $mol_mem_persist = $mol_wire_solid\n}\n","namespace $ {\n\texport class $mol_storage extends $mol_object2 {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic native() {\n\t\t\treturn this.$.$mol_dom_context.navigator.storage ?? { // exists only in secure context\n\t\t\t\tpersisted: async ()=> false,\n\t\t\t\tpersist: async ()=> false,\n\t\t\t\testimate: async ()=> ({}),\n\t\t\t\tgetDirectory: async ()=> null! as FileSystemHandle,\n\t\t\t} as StorageManager\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic persisted( next?: boolean, cache?: 'cache' ): boolean {\n\t\t\t\n\t\t\t$mol_mem_persist()\n\t\t\t\n\t\t\tif( cache ) return Boolean( next )\n\t\t\t\n\t\t\tconst native = this.native()\n\t\t\tif( next && !$mol_mem_cached( ()=> this.persisted() ) ) {\n\t\t\t\tnative.persist().then( actual => {\n\t\t\t\t\t\n\t\t\t\t\tsetTimeout( ()=> this.persisted( actual, 'cache' ), 5000 )\n\t\t\t\t\t\n\t\t\t\t\tif( actual ) this.$.$mol_log3_done({ place: `$mol_storage`, message: `Persist: Yes` })\n\t\t\t\t\telse this.$.$mol_log3_fail({ place: `$mol_storage`, message: `Persist: No` })\n\t\t\t\t\t\n\t\t\t\t} )\n\t\t\t}\n\t\t\t\n\t\t\treturn next ?? $mol_wire_sync( native ).persisted()\n\t\t}\n\t\t\n\t\tstatic estimate() {\n\t\t\treturn $mol_wire_sync( this.native() ?? {} ).estimate()\n\t\t}\n\t\t\n\t\tstatic dir() {\n\t\t\treturn $mol_wire_sync( this.native() ).getDirectory()\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t\n\texport class $mol_state_local< Value > extends $mol_object {\n\t\t\n\t\tstatic 'native()' : Pick< Storage , 'getItem'|'setItem'|'removeItem' >\n\t\tstatic native() {\n\t\t\tif( this['native()'] ) return this['native()']\n\n\t\t\tcheck : try {\n\t\t\t\tconst native = $mol_dom_context.localStorage\n\t\t\t\tif( !native ) break check\n\t\t\t\t\n\t\t\t\tnative.setItem( '' , '' )\n\t\t\t\tnative.removeItem( '' )\n\t\t\t\treturn this['native()'] = native\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.warn( error )\n\t\t\t}\n\n\t\t\treturn this['native()'] = {\n\t\t\t\tgetItem( key : string ) {\n\t\t\t\t\treturn (this as any)[ ':' + key ]\n\t\t\t\t} ,\n\t\t\t\tsetItem( key : string , value : string ) {\n\t\t\t\t\t(this as any)[ ':' + key ] = value\n\t\t\t\t} ,\n\t\t\t\tremoveItem( key : string ) {\n\t\t\t\t\t(this as any)[ ':' + key ] = void 0\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic changes( next?: StorageEvent ) { return next }\n\n\t\t@ $mol_mem_key\n\t\tstatic value< Value >(\n\t\t\tkey : string ,\n\t\t\tnext? : Value | null ,\n\t\t) : Value | null {\n\t\t\t\n\t\t\tthis.changes()\n\t\t\t\n\t\t\tif( next === void 0 ) return JSON.parse( this.native().getItem( key ) || 'null' )\n\t\t\t\n\t\t\tif( next === null ) {\n\t\t\t\tthis.native().removeItem( key )\n\t\t\t} else {\n\t\t\t\tthis.native().setItem( key , JSON.stringify( next ) )\n\t\t\t\tthis.$.$mol_storage.persisted( true )\n\t\t\t}\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tprefix() { return '' }\n\t\t\n\t\tvalue( key : string , next? : Value ) {\n\t\t\treturn $mol_state_local.value( this.prefix() + '.' + key , next )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\tconst decoders = {} as { [ key in $mol_charset_encoding ]?: TextDecoder }\n\n\texport function $mol_charset_decode(\n\t\tbuffer: BufferSource,\n\t\tencoding: $mol_charset_encoding = 'utf8',\n\t) {\n\t\t\n\t\tlet decoder = decoders[ encoding ]\n\t\tif( !decoder ) decoder = decoders[ encoding ] = new TextDecoder( encoding )\n\t\t\n\t\treturn decoder.decode( buffer )\n\t}\n\n}\n","namespace $ {\n\tconst TextEncoder = globalThis.TextEncoder ?? $node.util.TextEncoder\n\n\tconst encoder = new TextEncoder()\n\n\texport function $mol_charset_encode(value: string) {\n\t\treturn encoder.encode(value)\n\t}\n\n}\n","namespace $ {\n\n\texport type $mol_file_type = 'file' | 'dir' | 'link'\n\n\texport interface $mol_file_stat {\n\t\ttype: $mol_file_type\n\t\tsize: number\n\t\tatime: Date\n\t\tmtime: Date\n\t\tctime: Date\n\t}\n\n\texport class $mol_file_not_found extends Error {}\n\n\texport abstract class $mol_file extends $mol_object {\n\t\t\t\n\t\t@ $mol_mem_key\n\t\tstatic absolute( path : string ): $mol_file {\n\t\t\tthrow new Error( 'Not implemented yet' )\n\t\t}\n\n\t\tstatic relative( path : string ) : $mol_file {\n\t\t\tthrow new Error( 'Not implemented yet' )\n\t\t}\n\t\t\n\t\tstatic base = ''\n\t\t\n\t\tpath() {\n\t\t\treturn '.'\n\t\t}\n\t\t\n\t\tparent() {\n\t\t\treturn this.resolve( '..' )\n\t\t}\n\n\t\tabstract stat( next? : $mol_file_stat | null, virt?: 'virt' ): $mol_file_stat | null\n\n\t\treset(): void {\n\t\t\ttry {\n\t\t\t\tthis.stat( null )\n\t\t\t} catch( error: any ) {\n\t\t\t\tif (error instanceof $mol_file_not_found) return\n\t\t\t\treturn $mol_fail_hidden(error)\n\t\t\t}\n\t\t}\n\t\t\n\t\tversion() {\n\t\t\treturn this.stat()?.mtime.getTime().toString( 36 ).toUpperCase() ?? ''\n\t\t}\n\n\t\tabstract ensure(): void\n\t\tabstract drop(): void\n\n\t\twatcher() {\n\t\t\tconsole.warn('$mol_file_web.watcher() not implemented')\n\n\t\t\treturn {\n\t\t\t\tdestructor() {}\n\t\t\t}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\texists( next? : boolean ) {\n\t\t\t\n\t\t\tlet exists = Boolean( this.stat() )\n\n\t\t\tif( next === undefined ) return exists\n\t\t\tif( next === exists ) return exists\n\n\t\t\tif( next ) {\n\t\t\t\tthis.parent().exists( true )\n\t\t\t\tthis.ensure()\n\t\t\t} else {\n\t\t\t\tthis.drop()\n\t\t\t}\n\t\t\tthis.reset()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\ttype() {\n\t\t\treturn this.stat()?.type ?? ''\n\t\t}\n\t\t\n\t\tname() {\n\t\t\treturn this.path().replace( /^.*\\//, '' )\n\t\t}\n\t\t\n\t\text() {\n\t\t\tconst match = /((?:\\.\\w+)+)$/.exec( this.path() )\n\t\t\treturn match ? match[ 1 ].substring( 1 ) : ''\n\t\t}\n\n\t\tabstract buffer( next? : Uint8Array ): Uint8Array\n\n\t\t@ $mol_mem\n\t\ttext(next?: string, virt?: 'virt') {\n\t\t\tif( virt ) {\n\t\t\t\tconst now = new Date\n\t\t\t\tthis.stat( {\n\t\t\t\t\ttype: 'file',\n\t\t\t\t\tsize: 0,\n\t\t\t\t\tatime: now,\n\t\t\t\t\tmtime: now,\n\t\t\t\t\tctime: now,\t\t\t\n\t\t\t\t}, 'virt' )\n\t\t\t\treturn next!\n\t\t\t}\n\t\t\tif( next === undefined ) {\n\t\t\t\treturn $mol_charset_decode( this.buffer( undefined ) )\t\n\t\t\t} else {\n\t\t\t\tconst buffer = next === undefined ? undefined : $mol_charset_encode( next )\n\t\t\t\tthis.buffer( buffer )\n\t\t\t\treturn next\n\t\t\t}\n\t\t}\n\n\t\tabstract sub(): $mol_file[]\n\n\t\tabstract resolve(path: string): $mol_file\n\n\t\tabstract relate( base?: $mol_file ): string\n\t\t\n\t\tabstract append( next : Uint8Array | string ): void\n\t\t\n\t\tfind(\n\t\t\tinclude? : RegExp ,\n\t\t\texclude? : RegExp\n\t\t) {\n\t\t\tconst found = [] as $mol_file[]\n\t\t\tconst sub = this.sub()\n\n\t\t\tfor (const child of sub) {\n\t\t\t\tconst child_path = child.path()\n\n\t\t\t\tif( exclude && child_path.match( exclude ) ) continue\n\n\t\t\t\tif( !include || child_path.match( include ) ) found.push( child )\n\n\t\t\t\tif( child.type() === 'dir' ) {\n\t\t\t\t\tconst sub_child = child.find( include , exclude )\n\t\t\t\t\tfor (const child of sub_child) found.push(child)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn found\n\t\t}\n\n\t\tsize() {\n\t\t\tswitch( this.type() ) {\n\t\t\t\tcase 'file': return this.stat()?.size ?? 0\n\t\t\t\tdefault: return 0\n\t\t\t}\n\t\t}\n\t\t\n\t\topen( ... modes: readonly ( 'create' | 'exists_truncate' | 'exists_fail' | 'read_only' | 'write_only' | 'read_write' | 'append' )[] ) {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\ttoJSON() {\n\t\t\treturn this.path()\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n export function $mol_compare_array>(a: Value, b: Value): boolean {\n\t\tif (a === b) return true\n\t\tif (Object.getPrototypeOf(a) !== Object.getPrototypeOf(b)) return false\n\t\tif (a.length !== b.length) return false\n\n\t\tfor (let i = 0; i < a.length; i++)\n\t\t\tif (a[i] !== b[i]) return false\n\n\t\treturn true\n\t}\n}\n","namespace $ {\n\n\tfunction stat_convert(stat: ReturnType): null | $mol_file_stat {\n\t\t\n\t\tif( !stat ) return null\n\t\t\n\t\tlet type: $mol_file_type | undefined\n\t\tif (stat.isDirectory()) type = 'dir'\n\t\tif (stat.isFile()) type = 'file'\n\t\tif (stat.isSymbolicLink()) type = 'link'\n\n\t\tif (! type) return $mol_fail( new Error(`Unsupported file type`) )\n\n\t\treturn {\n\t\t\ttype, \n\t\t\tsize: Number(stat.size),\n\t\t\tatime: stat.atime,\n\t\t\tmtime: stat.mtime,\n\t\t\tctime: stat.ctime\n\t\t}\n\t}\n\n\tfunction buffer_normalize(buf: Buffer): Uint8Array {\n\t\treturn new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength)\n\t}\n\t\n\texport enum $mol_file_mode_open {\n\t\t/** create if it doesn't already exist */\n\t\tcreate = $node.fs.constants.O_CREAT,\n\t\t/** truncate to zero size if it already exists */\n\t\texists_truncate = $node.fs.constants.O_TRUNC,\n\t\t/** throw exception if it already exists */\n\t\texists_fail = $node.fs.constants.O_EXCL,\n\t\tread_only = $node.fs.constants.O_RDONLY,\n\t\twrite_only = $node.fs.constants.O_WRONLY,\n\t\tread_write = $node.fs.constants.O_RDWR,\n\t\t/** data will be appended to the end */\n\t\tappend = $node.fs.constants.O_APPEND,\n\t}\n\n\texport class $mol_file_node extends $mol_file {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic absolute( path : string ) {\n\t\t\treturn this.make({\n\t\t\t\tpath : $mol_const( path )\n\t\t\t})\n\t\t}\n\n\t\tstatic relative( path : string ) {\n\t\t\treturn this.absolute( $node.path.resolve( this.base, path ).replace( /\\\\/g , '/' ) )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\twatcher() {\n\n\t\t\tif( /\\/\\./.test( this.path() ) ) return { destructor(){} }\n\t\t\t\n\t\t\tconst watcher = $node.chokidar.watch( this.path() , {\n\t\t\t\tpersistent : true ,\n\t\t\t\tignored: path => /([\\/\\\\]\\.|___$)/.test( path ) ,\n\t\t\t\tdepth : 0 ,\n\t\t\t\tignoreInitial : true ,\n\t\t\t\tawaitWriteFinish: {\n\t\t\t\t\tstabilityThreshold: 100,\n\t\t\t\t},\n\t\t\t} )\n\n\t\t\twatcher\n\t\t\t.on( 'all' , ( type , path )=> {\n\t\t\t\t\n\t\t\t\tconst file = $mol_file.relative( path.replace( /\\\\/g , '/' ) )\n\n\t\t\t\tfile.reset()\n\t\t\t\t\n\t\t\t\tif( type === 'change' ) {\n\t\t\t\t\tthis.stat( null )\n\t\t\t\t} else {\n\t\t\t\t\tfile.parent().reset()\n\t\t\t\t}\n\n\t\t\t} )\n\t\t\t.on( 'error' , $mol_fail_log )\n\t\t\t\n\t\t\treturn {\n\t\t\t\tdestructor() {\n\t\t\t\t\twatcher.close()\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstat( next? : $mol_file_stat | null, virt?: 'virt' ) {\n\t\t\t\n\t\t\tlet stat = next\n\t\t\tconst path = this.path()\n\n\t\t\tthis.parent().watcher()\n\t\t\t\n\t\t\tif( virt ) return next!\n\t\t\t\n\t\t\ttry {\n\t\t\t\tstat = next ?? stat_convert($node.fs.statSync( path, { throwIfNoEntry: false } ))\n\t\t\t} catch( error: any ) {\n\t\t\t\tif (error.code === 'ENOENT') error = new $mol_file_not_found(`File not found`)\n\t\t\t\terror.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden(error)\n\t\t\t}\n\n\t\t\treturn stat\n\t\t}\n\n\t\t@ $mol_mem\n\t\tensure() {\n\t\t\tconst path = this.path()\n\n\t\t\ttry {\n\t\t\t\t$node.fs.mkdirSync( path )\n\t\t\t} catch( e: any ) {\n\t\t\t\te.message += '\\n' + path\n\t\t\t\tthis.$.$mol_fail_hidden(e)\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tdrop() {\n\t\t\t$node.fs.unlinkSync( this.path() )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tbuffer( next? : Uint8Array ) {\n\n\t\t\tconst path = this.path()\n\t\t\tif( next === undefined ) {\n\n\t\t\t\tif( !this.stat() ) return new Uint8Array\n\t\t\t\t\n\t\t\t\ttry {\n\n\t\t\t\t\tconst prev = $mol_mem_cached( ()=> this.buffer() )\n\t\t\t\t\t\n\t\t\t\t\tnext = buffer_normalize( $node.fs.readFileSync( path ) )\n\n\t\t\t\t\tif( prev !== undefined && !$mol_compare_array( prev, next ) ) {\n\t\t\t\t\t\tthis.$.$mol_log3_rise({\n\t\t\t\t\t\t\tplace: `$mol_file_node..buffer()`,\n\t\t\t\t\t\t\tmessage: 'Changed' ,\n\t\t\t\t\t\t\tpath: this.relate() ,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\n\t\t\t\t\treturn next\n\n\t\t\t\t} catch( error: any ) {\n\n\t\t\t\t\terror.message += '\\n' + path\n\t\t\t\t\treturn this.$.$mol_fail_hidden( error )\n\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tthis.parent().exists( true )\n\t\t\t\n\t\t\tconst now = new Date\n\t\t\tthis.stat( {\n\t\t\t\ttype: 'file',\n\t\t\t\tsize: next.length,\n\t\t\t\tatime: now,\n\t\t\t\tmtime: now,\n\t\t\t\tctime: now,\n\t\t\t}, 'virt' )\n\n\t\t\ttry {\n\n\t\t\t\t$node.fs.writeFileSync( path, next )\n\n\t\t\t} catch( error: any ) {\n\n\t\t\t\terror.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden( error )\n\n\t\t\t}\n\t\t\t\n\t\t\treturn next\n\n\t\t}\n\t\t@ $mol_mem\n\t\tsub() : $mol_file[] {\n\t\t\tif (! this.exists() ) return []\n\t\t\tif ( this.type() !== 'dir') return []\n\n\t\t\tconst path = this.path()\n\t\t\tthis.stat()\n\n\t\t\ttry {\n\t\t\t\treturn $node.fs.readdirSync( path )\n\t\t\t\t\t.filter( name => !/^\\.+$/.test( name ) )\n\t\t\t\t\t.map( name => this.resolve( name ) )\n\t\t\t} catch( e: any ) {\n\t\t\t\te.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden(e)\n\t\t\t}\n\t\t}\n\t\t\n\t\tresolve( path : string ) {\n\t\t\treturn ( this.constructor as typeof $mol_file ).relative( $node.path.join( this.path() , path ) )\n\t\t}\n\t\t\n\t\trelate( base = ( this.constructor as typeof $mol_file ).relative( '.' )) {\n\t\t\treturn $node.path.relative( base.path() , this.path() ).replace( /\\\\/g , '/' )\n\t\t}\n\t\t\n\t\tappend( next : Uint8Array | string ) {\n\t\t\tconst path = this.path()\n\t\t\ttry {\n\t\t\t\t$node.fs.appendFileSync( path , next )\n\t\t\t} catch( e: any ) {\n\t\t\t\te.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden(e)\n\t\t\t}\n\t\t}\n\t\t\n\t\topen( ... modes: readonly ( keyof typeof $mol_file_mode_open )[] ) {\n\t\t\treturn $node.fs.openSync(\n\t\t\t\tthis.path(),\n\t\t\t\tmodes.reduce( ( res, mode )=> res | $mol_file_mode_open[ mode ], 0 ),\n\t\t\t)\n\t\t}\n\n\t}\n\n\t$.$mol_file = $mol_file_node\n}\n","namespace $ {\n\texport class $mol_state_local_node< Value > extends $mol_state_local< Value > {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic dir() {\n\t\t\tconst base = process.env.XDG_DATA_HOME || ( $node.os.homedir() + '/.local/share' )\n\t\t\treturn $mol_file.absolute( base ).resolve( './mol_state_local' )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic value< Value >(\n\t\t\tkey : string ,\n\t\t\tnext? : Value | null ,\n\t\t) : Value | null {\n\t\t\t\n\t\t\tconst file = this.dir().resolve( encodeURIComponent( key ) + '.json' )\n\t\t\t\n\t\t\tif( next === null ) {\n\t\t\t\tfile.exists( false )\n\t\t\t\treturn null\n\t\t\t}\n\t\t\t\n\t\t\tconst arg = next === undefined ? undefined : JSON.stringify( next )\n\t\t\treturn JSON.parse( file.text( arg ) || 'null' )\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t$.$mol_state_local = $mol_state_local_node\n}\n","namespace $ {\n\t\n\tfunction parse( theme: string | null ) {\n\t\tif( theme === 'true' ) return true\n\t\tif( theme === 'false' ) return false\n\t\treturn null\n\t}\n\t\n\t/**\n\t * Switcher between light/dark themes (usually for `mol_theme_auto` plugin).\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_lights_demo\n\t */\n\texport function $mol_lights( this : $ , next? : boolean ) {\n\t\t\n\t\tconst arg = parse( this.$mol_state_arg.value( 'mol_lights' ) )\n\t\t\n\t\tconst base = this.$mol_media.match( '(prefers-color-scheme: light)' )\n\t\t\n\t\tif( next === undefined ) {\n\t\t\treturn arg ?? this.$mol_state_local.value< boolean >( '$mol_lights' ) ?? base\n\t\t} else {\n\t\t\tif( arg === null ) {\n\t\t\t\tthis.$mol_state_local.value( '$mol_lights' , next === base ? null : next )\n\t\t\t} else {\n\t\t\t\tthis.$mol_state_arg.value( 'mol_lights' , String( next ) )\n\t\t\t}\n\t\t\treturn next\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\n\t/**\n\t * The [plugin](../../plugin/readme.md) which defines theme based on [mol_lights](../../lights/readme.md).\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_lights_demo\n\t */\n\texport class $mol_theme_auto extends $.$mol_theme_auto {\n\n\t\ttheme() {\n\t\t\treturn this.$.$mol_lights() ? '$mol_theme_light' : '$mol_theme_dark'\n\t\t}\n\n\t}\n}\n","$mol_link $mol_view\n\turi \\\n\tdom_name \\a\n\turi_off \\\n\turi_native null\n\texternal false\n\tattr *\n\t\t^\n\t\thref <= uri_toggle \\\n\t\ttitle <= hint_safe <= hint \\\n\t\ttarget <= target \\_self\n\t\tdownload <= file_name \\\n\t\tmol_link_current <= current false\n\t\trel <= relation \\\n\tsub /$mol_view_content\n\t\t<= title\n\targ *\n\tevent *\n\t\t^\n\t\tclick?event <=> click?event <=> event_click?event null\n","namespace $.$$ {\n\t\n\t/**\n\t * Dynamic hyperlink. It can add, change or remove parameters. A link that leads to the current page has [mol_link_current] attribute set to true.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_link_demo\n\t */\n\texport class $mol_link extends $.$mol_link {\n\t\t\n\t\t@ $mol_mem\n\t\turi_toggle() {\n\t\t\treturn this.current() ? this.uri_off() : this.uri()\n\t\t}\n\n\t\t@ $mol_mem\n\t\turi() {\n\t\t\treturn new this.$.$mol_state_arg( this.state_key() ).link( this.arg() )\n\t\t}\n\n\t\t@ $mol_mem\n\t\turi_off() {\n\t\t\tconst arg2: Record = {}\n\t\t\tfor( let i in this.arg() ) arg2[i] = null\n\t\t\t\n\t\t\treturn new this.$.$mol_state_arg( this.state_key() ).link( arg2 )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\turi_native() {\n\t\t\tconst base = this.$.$mol_state_arg.href()\n\t\t\treturn new URL( this.uri() , base )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tcurrent() {\n\n\t\t\tconst base = this.$.$mol_state_arg.href_normal()\n\t\t\tconst target = this.uri_native().toString()\n\n\t\t\tif( base === target ) return true\n\t\t\t\n\t\t\tconst args = this.arg() as Record\n\t\t\t\n\t\t\tconst keys = Object.keys( args ).filter( key => args[ key ] != null )\n\t\t\tif( keys.length === 0 ) return false\n\n\t\t\tfor( const key of keys ) {\n\t\t\t\tif( this.$.$mol_state_arg.value( key ) != args[ key ] ) return false\n\t\t\t}\n\n\t\t\treturn true\n\t\t}\n\n\t\tfile_name() {\n\t\t\treturn null as unknown as string\n\t\t}\n\n\t\tminimal_height() {\n\t\t\treturn Math.max( super.minimal_height(), 24 )\n\t\t}\n\t\t\n\t\texternal() {\n\t\t\treturn this.uri_native().origin !== $mol_dom_context.location.origin\n\t\t}\n\t\t\n\t\ttarget(): '_self' | '_blank' | '_top' | '_parent' | string {\n\t\t\treturn this.external() ? '_blank' : '_self'\n\t\t}\n\n\t\thint_safe() {\n\t\t\ttry {\n\t\t\t\treturn this.hint()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn ''\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\tconst { rem } = $mol_style_unit\n\n\t$mol_style_define( $mol_link , {\n\t\t\n\t\ttextDecoration: 'none',\n\t\tcolor: $mol_theme.control,\n\t\tstroke: 'currentcolor',\n\t\tcursor: 'pointer',\n\t\tpadding: $mol_gap.text,\n\t\tboxSizing: 'border-box',\n\t\tposition: 'relative',\n\t\tminWidth: rem(2.5),\n\t\tgap: $mol_gap.space,\n\t\t\n\t\tborder: {\n\t\t\tradius: $mol_gap.round,\n\t\t},\n\n\t\t':hover': {\n\t\t\t\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.hover,\n\t\t\t},\n\t\t\t\n\t\t},\n\n\t\t':focus-visible': {\n\t\t\t\n\t\t\toutline: 'none',\n\t\t\t\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.hover,\n\t\t\t},\n\t\t\t\n\t\t},\n\n\t\t// ':has(:focus-visible)': {\n\t\t// \toutline: 'none',\n\t\t// \tbackground: {\n\t\t// \t\tcolor: $mol_theme.hover,\n\t\t// \t}\n\t\t// },\n\t\t\n\t\t':active': {\n\t\t\tcolor: $mol_theme.focus,\n\t\t},\n\n\t\t'@': {\n\t\t\tmol_link_current: {\n\t\t\t\t'true': {\n\t\t\t\t\tcolor: $mol_theme.current,\n\t\t\t\t\ttextShadow: '0 0',\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\n\t} )\n\n}\n","$mol_svg $mol_view\n\tdom_name \\svg\n\tdom_name_space \\http://www.w3.org/2000/svg\n\tfont_size 16\n\tfont_family \\\n\tstyle_size *\n","namespace $ {\n\t\n\t/** State of time moment */\n\texport class $mol_state_time extends $mol_object {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic task( precision: number, reset?: null ): $mol_after_timeout | $mol_after_frame {\n\t\t\t\n\t\t\tif( precision ) {\n\t\t\t\treturn new $mol_after_timeout( precision, ()=> this.task( precision, null ) )\n\t\t\t} else {\n\t\t\t\treturn new $mol_after_frame( ()=> this.task( precision, null ) )\n\t\t\t}\n\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic now( precision: number ) {\n\t\t\tthis.task( precision )\n\t\t\treturn Date.now()\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\t/** Base SVG component to display SVG images or icons. */\n\texport class $mol_svg extends $.$mol_svg {\n\t\t@$mol_mem\n\t\tcomputed_style() {\n\t\t\tconst win = this.$.$mol_dom_context\n\t\t\tconst style = win.getComputedStyle(this.dom_node()) as Record\n\n\t\t\tif(!style['font-size']) $mol_state_time.now( 0 )\n\n\t\t\treturn style\n\t\t}\n\n\t\t@$mol_mem\n\t\tfont_size(): number {\n\t\t\treturn parseInt(this.computed_style()['font-size']) || 16\n\t\t}\n\n\t\t@$mol_mem\n\t\tfont_family() {\n\t\t\treturn this.computed_style()['font-family']\n\t\t}\n\n\t}\n}\n","$mol_svg_root $mol_svg\n\tdom_name \\svg\n\tattr *\n\t\t^\n\t\tviewBox <= view_box \\0 0 100 100\n\t\tpreserveAspectRatio <= aspect \\xMidYMid\n","namespace $ { $mol_style_attach( \"mol/svg/root/root.view.css\",\n \"[mol_svg_root] {\\n\\toverflow: hidden;\\n}\\n\"\n) }","$mol_svg_path $mol_svg\n\tdom_name \\path\n\tattr *\n\t\t^\n\t\td <= geometry \\\n\n","$mol_icon $mol_svg_root\n\tview_box \\0 0 24 24\n\tminimal_width 16\n\tminimal_height 16\n\tsub /\n\t\t<= Path $mol_svg_path\n\t\t\tgeometry <= path \\\n","namespace $ { $mol_style_attach( \"mol/icon/icon.view.css\",\n \"[mol_icon] {\\n\\tfill: currentColor;\\n\\tstroke: none;\\n\\twidth: 1em;\\n\\theight: 1.5em;\\n\\tflex: 0 0 auto;\\n\\tvertical-align: top;\\n\\tdisplay: inline-block;\\n\\tfilter: drop-shadow(0px 1px 1px var(--mol_theme_back));\\n\\ttransform-origin: center;\\n}\\n\\n[mol_icon_path] {\\n\\ttransform-origin: center;\\n}\\n\"\n) }","$mol_icon_script $mol_icon path \\M17.8,20C17.4,21.2 16.3,22 15,22H5C3.3,22 2,20.7 2,19V18H5L14.2,18C14.6,19.2 15.7,20 17,20H17.8M19,2H8C6.3,2 5,3.3 5,5V16H16V17C16,17.6 16.4,18 17,18H18V5C18,4.4 18.4,4 19,4C19.6,4 20,4.4 20,5V6H22V5C22,3.3 20.7,2 19,2Z\n","$mol_icon_script_text $mol_icon path \\M17.8,20C17.4,21.2 16.3,22 15,22H5C3.3,22 2,20.7 2,19V18H5L14.2,18C14.6,19.2 15.7,20 17,20H17.8M19,2C20.7,2 22,3.3 22,5V6H20V5C20,4.4 19.6,4 19,4C18.4,4 18,4.4 18,5V18H17C16.4,18 16,17.6 16,17V16H5V5C5,3.3 6.3,2 8,2H19M8,6V8H15V6H8M8,10V12H14V10H8Z\n","namespace $ {\n\t\n\texport interface $mol_locale_dict {\n\t\t[ key : string ] : string\n\t}\n\t\n\t/**\n\t * Localisation in $mol framework\n\t * @see https://mol.hyoo.ru/#!section=docs/=s5aqnb_odub8l\n\t */\n\texport class $mol_locale extends $mol_object {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic lang_default() {\n\t\t\treturn 'en'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic lang( next? : string ) {\n\t\t\treturn this.$.$mol_state_local.value( 'locale' , next ) || $mol_dom_context.navigator.language.replace( /-.*/ , '' ) || this.lang_default()\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic source( lang : string ) {\n\t\t\treturn JSON.parse( this.$.$mol_file.relative( `web.locale=${ lang }.json` ).text().toString() )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic texts( lang : string , next? : $mol_locale_dict ) : $mol_locale_dict {\n\t\t\tif( next ) return next\n\t\t\t\n\t\t\ttry {\n\t\t\t\treturn this.source( lang ).valueOf()\n\t\t\t} catch( error: any ) {\n\t\t\t\tif( $mol_fail_catch( error ) ) {\n\t\t\t\t\tconst def = this.lang_default()\n\t\t\t\t\tif( lang === def ) throw error\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic text( key : string ): string {\n\t\t\t\n\t\t\tconst lang = this.lang()\n\n\t\t\tconst target = this.texts( lang )[ key ]\n\t\t\tif( target ) return target\n\t\t\t\n\t\t\tthis.warn( key )\n\t\t\t\n\t\t\tconst en = this.texts( 'en' )[ key ]\n\t\t\tif( !en ) return key\n\t\t\t\n\t\t\t// try {\n\t\t\t// \treturn $mol_wire_sync( $hyoo_lingua_translate ).call( this.$, lang, en )\n\t\t\t// } catch( error ) {\n\t\t\t// \t$mol_fail_log( error )\n\t\t\t// }\n\t\t\t\n\t\t\treturn en\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic warn( key : string ) {\n\t\t\tconsole.warn( `Not translated to \"${ this.lang() }\": ${ key }` )\n\t\t\treturn null\n\t\t}\n\t\t\n\t}\n\t\n}\n","$mol_link_source $mol_link\n\thint @ \\Source code\n\tsub /\n\t\t<= Icon $mol_icon_script_text\n","\n\t\t()\n\t\t\tthis\n\t\t\t[] \\$\n\t\t\t[] \\$mol_locale\n\t\t\t[] \\text\n\t\t\t(,) #key\n\t","$mol_speck $mol_view\n\tattr *\n\t\t^\n\t\tmol_theme <= theme \\$mol_theme_accent\n\tstyle *\n\t\t^\n\t\tminHeight \\1em\n\tsub /\n\t\t<= value null\n","namespace $ { $mol_style_attach( \"mol/speck/speck.view.css\",\n \"[mol_speck] {\\n\\tfont-size: .625rem;\\n\\tborder-radius: 1rem;\\n\\tmargin: -0.5rem -0.25rem;\\n\\talign-self: flex-start;\\n\\tmin-height: 1em;\\n\\tmin-width: .5em;\\n\\tvertical-align: sub;\\n\\tpadding: .25em .5em;\\n\\tposition: absolute;\\n\\tz-index: var(--mol_layer_speck);\\n\\ttext-align: center;\\n\\tline-height: 1;\\n\\tdisplay: inline-block;\\n\\twhite-space: nowrap;\\n\\ttext-overflow: ellipsis;\\n\\tuser-select: none;\\n}\\n\"\n) }","$mol_button $mol_view\n\tenabled true\n\tclick?event null\n\tevent_click?event null\n\tevent *\n\t\t^\n\t\tclick?event <=> event_activate?event null\n\t\tdblclick?event <=> clicks?event null\n\t\tkeydown?event <=> event_key_press?event null \n\tattr *\n\t\t^\n\t\tdisabled <= disabled false\n\t\trole \\button\n\t\ttabindex <= tab_index 0\n\t\ttitle <= hint_safe <= hint \\\n\tsub /$mol_view_content\n\t\t<= title\n\tSpeck $mol_speck\n\t\tvalue <= error \\\n","namespace $ {\n\t/**\n\t* Key names code for hotkey\n\t* @see [mol_hotkey](../../hotkey/hotkey.view.ts)\n\t*/\n\texport enum $mol_keyboard_code {\n\t\tbackspace = 8,\n\t\ttab = 9,\n\t\tenter = 13,\n\t\tshift = 16,\n\t\tctrl = 17,\n\t\talt = 18,\n\t\tpause = 19,\n\t\tcapsLock = 20,\n\t\tescape = 27,\n\t\tspace = 32,\n\t\tpageUp = 33,\n\t\tpageDown = 34,\n\t\tend = 35,\n\t\thome = 36,\n\t\tleft = 37,\n\t\tup = 38,\n\t\tright = 39,\n\t\tdown = 40,\n\t\tinsert = 45,\n\t\tdelete = 46,\n\t\tkey0 = 48,\n\t\tkey1 = 49,\n\t\tkey2 = 50,\n\t\tkey3 = 51,\n\t\tkey4 = 52,\n\t\tkey5 = 53,\n\t\tkey6 = 54,\n\t\tkey7 = 55,\n\t\tkey8 = 56,\n\t\tkey9 = 57,\n\t\tA = 65,\n\t\tB = 66,\n\t\tC = 67,\n\t\tD = 68,\n\t\tE = 69,\n\t\tF = 70,\n\t\tG = 71,\n\t\tH = 72,\n\t\tI = 73,\n\t\tJ = 74,\n\t\tK = 75,\n\t\tL = 76,\n\t\tM = 77,\n\t\tN = 78,\n\t\tO = 79,\n\t\tP = 80,\n\t\tQ = 81,\n\t\tR = 82,\n\t\tS = 83,\n\t\tT = 84,\n\t\tU = 85,\n\t\tV = 86,\n\t\tW = 87,\n\t\tX = 88,\n\t\tY = 89,\n\t\tZ = 90,\n\t\tmetaLeft = 91,\n\t\tmetaRight = 92,\n\t\tselect = 93,\n\t\tnumpad0 = 96,\n\t\tnumpad1 = 97,\n\t\tnumpad2 = 98,\n\t\tnumpad3 = 99,\n\t\tnumpad4 = 100,\n\t\tnumpad5 = 101,\n\t\tnumpad6 = 102,\n\t\tnumpad7 = 103,\n\t\tnumpad8 = 104,\n\t\tnumpad9 = 105,\n\t\tmultiply = 106,\n\t\tadd = 107,\n\t\tsubtract = 109,\n\t\tdecimal = 110,\n\t\tdivide = 111,\n\t\tF1 = 112,\n\t\tF2 = 113,\n\t\tF3 = 114,\n\t\tF4 = 115,\n\t\tF5 = 116,\n\t\tF6 = 117,\n\t\tF7 = 118,\n\t\tF8 = 119,\n\t\tF9 = 120,\n\t\tF10 = 121,\n\t\tF11 = 122,\n\t\tF12 = 123,\n\t\tnumLock = 144,\n\t\tscrollLock = 145,\n\t\tsemicolon = 186,\n\t\tequals = 187,\n\t\tcomma = 188,\n\t\tdash = 189,\n\t\tperiod = 190,\n\t\tforwardSlash = 191,\n\t\tgraveAccent = 192,\n\t\tbracketOpen = 219,\n\t\tslashBack = 220,\n\t\tslashBackLeft = 226,\n\t\tbracketClose = 221,\n\t\tquoteSingle = 222\n\t}\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Simple button.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_button_demo\n\t */\n\texport class $mol_button extends $.$mol_button {\n\n\t\t@ $mol_mem\n\t\tstatus( next = [ null as any ] ) { return next }\n\t\t\n\t\tdisabled() {\n\t\t\treturn !this.enabled()\n\t\t}\n\t\t\n\t\tevent_activate( next : Event ) {\n\t\t\t\n\t\t\tif( !next ) return\n\t\t\tif( !this.enabled() ) return\n\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tthis.event_click( next )\n\t\t\t\tthis.click( next )\n\t\t\t\tthis.status([ null ])\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t\n\t\t\t\tPromise.resolve().then( ()=> this.status([ error ]) )\n\t\t\t\t$mol_fail_hidden( error )\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\t\t\n\t\tevent_key_press ( event: KeyboardEvent ) { \n\t\t\tif( event.keyCode === $mol_keyboard_code.enter ) {\n\t\t\t\treturn this.event_activate( event )\n\t\t\t}\n\t\t} \n\t\t\n\t\ttab_index() {\n\t\t\treturn this.enabled() ? super.tab_index() : -1\n\t\t}\n\n\t\terror() {\n\n\t\t\tconst [ error ] = this.status()\n\t\t\tif( !error ) return ''\n\n\t\t\tif( error instanceof Promise ) {\n\t\t\t\treturn $mol_fail_hidden( error )\n\t\t\t}\n\t\t\t\n\t\t\treturn String( error.message ?? error )\n\n\t\t}\n\t\t\n\t\thint_safe() {\n\t\t\ttry {\n\t\t\t\treturn this.hint()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn ''\n\t\t\t}\n\t\t}\n\n\t\tsub_visible() {\n\t\t\treturn [\n\t\t\t\t... this.error() ? [ this.Speck() ] : [] ,\n\t\t\t\t... this.sub() ,\n\t\t\t]\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/button/button.view.css\",\n \"[mol_button] {\\n\\tborder: none;\\n\\tfont: inherit;\\n\\tdisplay: inline-flex;\\n\\tflex-shrink: 0;\\n\\ttext-decoration: inherit;\\n\\tcursor: inherit;\\n\\tposition: relative;\\n\\tbox-sizing: border-box;\\n\\tword-break: normal;\\n\\tcursor: default;\\n\\tuser-select: none;\\n\\tborder-radius: var(--mol_gap_round);\\n\\tbackground: transparent;\\n\\tcolor: inherit;\\n}\\n\\n[mol_button]:where(:not(:disabled)):hover {\\n\\tz-index: var(--mol_layer_hover);\\n}\\n\\n[mol_button]:focus-visible {\\n\\toutline: none;\\n\\tz-index: var(--mol_layer_focus);\\n}\\n\"\n) }","$mol_button_typed $mol_button\n\tminimal_height 40\n\tminimal_width 40\n","namespace $ { $mol_style_attach( \"mol/button/typed/typed.view.css\",\n \"[mol_button_typed] {\\n\\talign-content: center;\\n\\talign-items: center;\\n\\tpadding: var(--mol_gap_text);\\n\\tborder-radius: var(--mol_gap_round);\\n\\tgap: var(--mol_gap_space);\\n\\tuser-select: none;\\n\\tcursor: pointer;\\n}\\n\\n[mol_button_typed][disabled] {\\n\\tpointer-events: none;\\n}\\n\\n[mol_button_typed]:hover ,\\n[mol_button_typed]:focus-visible {\\n\\tbox-shadow: inset 0 0 0 10rem var(--mol_theme_hover);\\n}\\n\\n[mol_button_typed]:active {\\n\\tcolor: var(--mol_theme_focus);\\n}\\n\\n\"\n) }","$mol_button_minor $mol_button_typed\n","namespace $ { $mol_style_attach( \"mol/button/minor/minor.view.css\",\n \"[mol_button_minor] {\\n\\tcolor: var(--mol_theme_control);\\n}\\n\\n[mol_button_minor][disabled] {\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\"\n) }","$mol_check $mol_button_minor\n\tattr *\n\t\t^\n\t\tmol_check_checked <= checked? false\n\t\taria-checked <= aria_checked \\false\n\t\trole <= aria_role \\checkbox\n\tsub /$mol_view_content\n\t\t<= Icon null\n\t\t<= label /\n\t\t\t<= Title $mol_view\n\t\t\t\tsub /\n\t\t\t\t\t<= title \\\n","namespace $ {\n\t\n\texport function $mol_maybe< Value >( value : Value | null | undefined ) : Value[] {\n\t\treturn ( value == null ) ? [] : [ value ]\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/check/check.css\",\n \"[mol_check] {\\n\\tflex: 0 0 auto;\\n\\tjustify-content: flex-start;\\n\\talign-content: center;\\n\\t/* align-items: flex-start; */\\n\\tborder: none;\\n\\tfont-weight: inherit;\\n\\tbox-shadow: none;\\n\\ttext-align: left;\\n\\tdisplay: inline-flex;\\n\\tflex-wrap: nowrap;\\n}\\n\\n[mol_check_title] {\\n\\tflex-shrink: 1;\\n}\\n\"\n) }","namespace $.$$ {\n\n\t/**\n\t * Checkbox UI component. See Variants for more concrete implementations.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_check_box_demo\n\t */\n\texport class $mol_check extends $.$mol_check {\n\n\t\tclick( next? : Event ) {\n\t\t\tif( next?.defaultPrevented ) return\n\t\t\tthis.checked( !this.checked() )\n\t\t\tif( next ) next.preventDefault()\n\t\t}\n\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\t... $mol_maybe( this.Icon() ) ,\n\t\t\t\t... this.label() ,\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\n\t\tlabel() {\n\t\t\treturn this.title() ? super.label() : []\n\t\t}\n\t\t\n\t\taria_checked() {\n\t\t\treturn String( this.checked() )\n\t\t}\n\n\t}\n}\n","$mol_check_icon $mol_check\n","namespace $ { $mol_style_attach( \"mol/check/icon/icon.view.css\",\n \"[mol_check_icon]:where([mol_check_checked]) {\\n\\tcolor: var(--mol_theme_current);\\n}\\n\"\n) }","$mol_icon_brightness_6 $mol_icon path \\M12,18V6A6,6 0 0,1 18,12A6,6 0 0,1 12,18M20,15.31L23.31,12L20,8.69V4H15.31L12,0.69L8.69,4H4V8.69L0.69,12L4,15.31V20H8.69L12,23.31L15.31,20H20V15.31Z\n","$mol_lights_toggle $mol_check_icon\n\tIcon <= Lights_icon $mol_icon_brightness_6\n\thint @ \\Toggle lights\n\tchecked? <=> lights? false\n","namespace $.$$ {\n\t/**\n\t * Toggle for Switcher between light/dark themes (usually for `mol_theme_auto` plugin).\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_lights_demo\n\t */\n\texport class $mol_lights_toggle extends $.$mol_lights_toggle {\n\t\tlights( next? : boolean ) {\n\t\t\treturn this.$.$mol_lights( next )\n\t\t}\n\t}\n}\n","$mol_icon_card $mol_icon path \\M20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20Z\n","$mol_icon_card_text $mol_icon path \\M20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20M5,13V15H16V13H5M5,9V11H19V9H5Z\n","$mol_icon_chart_bar $mol_icon path \\M22,21H2V3H4V19H6V10H10V19H12V6H16V19H18V14H22V21Z\n","$mol_icon_play $mol_icon path \\M8,5.14V19.14L19,12.14L8,5.14Z\n","$mol_icon_play_circle $mol_icon path \\M10,16.5V7.5L16,12M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\n","$mol_pop $mol_view\n\tshowed? false\n\talign_vert \\\n\talign_hor \\\n\tprefer \\vert\n\tsub /\n\t\t<= Anchor null\n\tsub_visible /\n\t\t<= Anchor\n\t\t<= Bubble $mol_pop_bubble\n\t\t\talign <= align \\bottom_center\n\t\t\tcontent <= bubble_content /$mol_view_content\n\t\t\theight_max <= height_max 9999\n\n$mol_pop_bubble $mol_view\n\tsub <= content /$mol_view_content\n\tstyle *\n\t\t^\n\t\tmaxHeight <= height_max 9999\n\tattr *\n\t\t^\n\t\tmol_pop_align <= align \\\n\t\ttabindex 0\n","namespace $.$$ {\n\n\t/**\n\t * `Bubble` that can be shown anchored to `Anchor` element.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_pop_demo\n\t */\n\texport class $mol_pop extends $.$mol_pop {\n\t\t\n\t\t@ $mol_mem\n\t\tshowed( next = false ) {\n\t\t\tthis.focused()\n\t\t\treturn next\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsub_visible() {\n\t\t\treturn [\n\t\t\t\tthis.Anchor() ,\n\t\t\t\t... this.showed() ? [ this.Bubble() ] : [] ,\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\theight_max() {\n\t\t\t\n\t\t\tconst viewport = this.$.$mol_window.size()\n\t\t\tconst rect_bubble = this.view_rect()!\n\t\t\tconst align = this.align_vert()\n\t\t\t\n\t\t\tif( align === 'bottom' ) return ( viewport.height - rect_bubble.bottom ) * .66\n\t\t\tif( align === 'top' ) return rect_bubble.top * .66\n\t\t\t\n\t\t\treturn 0\n\t\t}\n\n\t\t@ $mol_mem\n\t\talign() {\n\t\t\tswitch( this.prefer() ) {\n\t\t\t\tcase 'hor': return `${ this.align_hor() }_${ this.align_vert() }`\n\t\t\t\tcase 'vert': return `${ this.align_vert() }_${ this.align_hor() }`\n\t\t\t\tdefault: return this.prefer()\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\talign_vert() {\n\t\t\tconst viewport = this.view_port()\n\t\t\t\n\t\t\tconst rect_pop = this.view_rect()\n\t\t\tif( !rect_pop ) return 'suspense'\n\t\t\t\n\t\t\treturn rect_pop.top > ( viewport.top + viewport.height / 2 ) ? 'top' : 'bottom'\n\t\t}\n\n\t\t@ $mol_mem\n\t\talign_hor() {\n\t\t\tconst viewport = this.view_port()\n\t\t\t\n\t\t\tconst rect_pop = this.view_rect()\n\t\t\tif( !rect_pop ) return 'suspense'\n\t\t\t\n\t\t\treturn rect_pop.left > ( viewport.left + viewport.width / 2 ) ? 'left' : 'right'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tView_port() {\n\t\t\tconst view = new $mol_view\n\t\t\tview.dom_node = ()=> {\n\t\t\t\tlet node = this.dom_node() as HTMLElement\n\t\t\t\twhile( node = node.offsetParent! as HTMLElement ) {\n\t\t\t\t\tif( this.$.$mol_dom_context.getComputedStyle( node ).overflow !== 'visible' ) return node\n\t\t\t\t}\n\t\t\t\treturn this.$.$mol_dom_context.document.documentElement\n\t\t\t}\n\t\t\treturn view\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tview_port() {\n\t\t\treturn this.View_port().view_rect() ?? { ... this.$.$mol_window.size(), left: 0, top: 0 }\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/pop/pop.view.css\",\n \"[mol_pop] {\\n\\tposition: relative;\\n\\tdisplay: inline-flex;\\n}\\n\\n[mol_pop_bubble] {\\n\\tbox-shadow: 0 0 1rem hsla(0,0%,0%,.5);\\n\\tborder-radius: var(--mol_gap_round);\\n\\tposition: absolute;\\n\\tz-index: var(--mol_layer_popup);\\n\\tbackground: var(--mol_theme_back);\\n\\tmax-width: none;\\n\\tmax-height: none;\\n\\t/* overflow: hidden;\\n\\toverflow-y: scroll;\\n\\toverflow-y: overlay; */\\n\\tword-break: normal;\\n\\twidth: max-content;\\n\\theight: max-content;\\n\\tflex-direction: column;\\n\\tmax-width: 80vw;\\n\\tmax-height: 80vw;\\n\\tcontain: paint;\\n\\ttransition-property: opacity;\\n}\\n\\n:where( [mol_pop_bubble] > * ) {\\n\\tbackground: var(--mol_theme_card);\\n}\\n\\n[mol_pop_bubble][mol_scroll] {\\n\\tbackground: var(--mol_theme_back);\\n}\\n\\n[mol_pop_bubble]:focus {\\n\\toutline: none;\\n}\\n\\n[mol_pop_align=\\\"suspense_suspense\\\"] {\\n\\topacity: 0;\\n}\\n\\n[mol_pop_align=\\\"left_top\\\"] {\\n\\ttransform: translate(-100%);\\n\\tleft: 0;\\n\\tbottom: 0;\\n}\\n\\n[mol_pop_align=\\\"left_center\\\"] {\\n\\ttransform: translate(-100%, -50%);\\n\\tleft: 0;\\n\\ttop: 50%;\\n}\\n\\n[mol_pop_align=\\\"left_bottom\\\"] {\\n\\ttransform: translate(-100%);\\n\\tleft: 0;\\n\\ttop: 0;\\n}\\n\\n[mol_pop_align=\\\"right_top\\\"] {\\n\\ttransform: translate(100%);\\n\\tright: 0;\\n\\tbottom: 0;\\n}\\n\\n[mol_pop_align=\\\"right_center\\\"] {\\n\\ttransform: translate(100%, -50%);\\n\\tright: 0;\\n\\ttop: 50%;\\n}\\n\\n[mol_pop_align=\\\"right_bottom\\\"] {\\n\\ttransform: translate(100%);\\n\\tright: 0;\\n\\ttop: 0;\\n}\\n\\n[mol_pop_align=\\\"center\\\"] {\\n\\tleft: 50%;\\n\\ttop: 50%;\\n\\ttransform: translate(-50%, -50%);\\n}\\n\\n[mol_pop_align=\\\"top_left\\\"] {\\n\\tright: 0;\\n\\tbottom: 100%;\\n}\\n\\n[mol_pop_align=\\\"top_center\\\"] {\\n\\ttransform: translate(-50%);\\n\\tleft: 50%;\\n\\tbottom: 100%;\\n}\\n\\n[mol_pop_align=\\\"top_right\\\"] {\\n\\tleft: 0;\\n\\tbottom: 100%;\\n}\\n\\n[mol_pop_align=\\\"bottom_left\\\"] {\\n\\tright: 0;\\n\\ttop: 100%;\\n}\\n\\n[mol_pop_align=\\\"bottom_center\\\"] {\\n\\ttransform: translate(-50%);\\n\\tleft: 50%;\\n\\ttop: 100%;\\n}\\n\\n[mol_pop_align=\\\"bottom_right\\\"] {\\n\\tleft: 0;\\n\\ttop: 100%;\\n}\\n\"\n) }","$mol_hotkey $mol_plugin\n\tevent *\n\t\t^\n\t\tkeydown?event <=> keydown?event null\n\tkey *\n\tmod_ctrl false\n\tmod_alt false\n\tmod_shift false\n","namespace $.$$ {\n\t/**\n\t * Plugin which adds handlers for keyboard keys.\n\t * @see [mol_keyboard_code](../keyboard/code/code.ts)\n\t */\n\texport class $mol_hotkey extends $.$mol_hotkey {\n\n\t\tkey() {\n\t\t\treturn super.key() as {\n\t\t\t\t[ key in keyof typeof $mol_keyboard_code ]? : ( event : KeyboardEvent )=> void\n\t\t\t}\n\t\t}\n\t\t\n\t\tkeydown( event? : KeyboardEvent ) {\n\n\t\t\tif( !event ) return\n\t\t\tif( event.defaultPrevented ) return\n\n\t\t\tlet name = $mol_keyboard_code[ event.keyCode ] as keyof typeof $mol_keyboard_code\n\t\t\t\n\t\t\tif( this.mod_ctrl() !== ( event.ctrlKey || event.metaKey ) ) return\n\t\t\tif( this.mod_alt() !== event.altKey ) return\n\t\t\tif( this.mod_shift() !== event.shiftKey ) return\n\t\t\t\n\t\t\tconst handle = this.key()[ name ]\n\t\t\tif( handle ) handle( event )\n\n\t\t}\n\t\t\n\t}\n}\n","$mol_nav $mol_plugin\n\tcycle? false\n\t-\n\tmod_ctrl false\n\tmod_shift false\n\tmod_alt false\n\t-\n\tkeys_x? /\n\tkeys_y? /\n\t-\n\tcurrent_x? null\n\tcurrent_y? null\n\t-\n\tevent_up?event null\n\tevent_down?event null\n\tevent_left?event null\n\tevent_right?event null\n\tevent *\n\t\t^\n\t\tkeydown?event <=> event_key?event null\n","namespace $.$$ {\n\t\n\t/**\n\t * Plugin which can navigate in list of items\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_nav_demo\n\t */\n\texport class $mol_nav extends $.$mol_nav {\n\t\t\n\t\tevent_key( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\t\t\tif( event.defaultPrevented ) return\n\t\t\t\n\t\t\tif( this.mod_ctrl() && !event.ctrlKey ) return\n\t\t\tif( this.mod_shift() && !event.shiftKey ) return\n\t\t\tif( this.mod_alt() && !event.altKey ) return\n\t\t\t\n\t\t\tswitch( event.keyCode ) {\n\t\t\t\tcase $mol_keyboard_code.up : return this.event_up( event )\n\t\t\t\tcase $mol_keyboard_code.down : return this.event_down( event )\n\t\t\t\tcase $mol_keyboard_code.left : return this.event_left( event )\n\t\t\t\tcase $mol_keyboard_code.right : return this.event_right( event )\n\t\t\t\tcase $mol_keyboard_code.pageUp : return this.event_up( event )\n\t\t\t\tcase $mol_keyboard_code.pageDown : return this.event_down( event )\n\t\t\t}\n\t\t}\n\t\t\n\t\tevent_up( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\n\t\t\tconst keys = this.keys_y()\n\t\t\tif( keys.length < 1 ) return\n\t\t\t\n\t\t\tconst index_y = this.index_y();\n\t\t\t\n\t\t\tconst index_old = index_y === null ? 0 : index_y\n\t\t\tconst index_new = ( index_old + keys.length - 1 ) % keys.length\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tif( index_old === 0 && !this.cycle() ) return\n\t\t\t\n\t\t\tthis.current_y( this.keys_y()[ index_new ] )\n\t\t}\n\t\t\n\t\tevent_down( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\n\t\t\tconst keys = this.keys_y()\n\t\t\tif( keys.length < 1 ) return\n\t\t\t\n\t\t\tconst index_y = this.index_y();\n\t\t\t\n\t\t\tconst index_old = index_y === null ? keys.length - 1 : index_y;\n\t\t\tconst index_new = ( index_old + 1 ) % keys.length\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tif( index_new === 0 && !this.cycle() ) return\n\t\t\t\n\t\t\tthis.current_y( this.keys_y()[ index_new ] )\n\t\t}\n\t\t\n\t\tevent_left( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\n\t\t\tconst keys = this.keys_x()\n\t\t\tif( keys.length < 1 ) return\n\t\t\t\n\t\t\tconst index_x = this.index_x();\n\t\t\t\n\t\t\tconst index_old = index_x === null ? 0 : index_x\n\t\t\tconst index_new = ( index_old + keys.length - 1 ) % keys.length\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tif( index_old === 0 && !this.cycle() ) return\n\t\t\t\n\t\t\tthis.current_x( this.keys_x()[ index_new ] )\n\t\t}\n\t\t\n\t\tevent_right( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\n\t\t\tconst keys = this.keys_x()\n\t\t\tif( keys.length < 1 ) return\n\t\t\t\n\t\t\tconst index_x = this.index_x();\n\t\t\t\n\t\t\tconst index_old = index_x === null ? keys.length - 1 : index_x\n\t\t\tconst index_new = ( index_old + 1 ) % keys.length\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tif( index_new === 0 && !this.cycle() ) return\n\t\t\t\n\t\t\tthis.current_x( this.keys_x()[ index_new ] )\n\t\t}\n\t\t\n\t\tindex_y() {\n\t\t\tlet index = this.keys_y().indexOf( this.current_y() )\n\t\t\tif( index < 0 ) return null\n\t\t\t\n\t\t\treturn index\n\t\t}\n\t\t\n\t\tindex_x() {\n\t\t\tlet index = this.keys_x().indexOf( this.current_x() )\n\t\t\tif( index < 0 ) return null\n\t\t\t\n\t\t\treturn index\n\t\t}\n\t\t\n\t}\n}\n","$mol_string $mol_view\n\tdom_name \\input\n\tenabled true\n\tminimal_height 40\n\tautocomplete false\n\tselection? /number\n\t\t0\n\t\t0\n\tauto /\n\t\t<= selection_watcher null\n\t\t<= error_report null\n\tfield *\n\t\t^\n\t\tdisabled <= disabled false\n\t\tvalue <= value_changed? <=> value? \\\n\t\tplaceholder <= hint_visible <= hint \\\n\t\tspellcheck <= spellcheck true\n\t\tautocomplete <= autocomplete_native \\\n\t\tselectionEnd <= selection_end 0\n\t\tselectionStart <= selection_start 0\n\t\tinputMode <= keyboard \\text\n\t\tenterkeyhint <= enter \\go\n\tattr *\n\t\t^\n\t\tmaxlength <= length_max +Infinity\n\t\ttype <= type? \\text\n\tevent *\n\t\t^\n\t\tinput?event <=> event_change?event null\n\tplugins /\n\t\t<= Submit $mol_hotkey\n\t\t\tmod_ctrl <= submit_with_ctrl false\n\t\t\tkey * enter?event <=> submit?event null\n","namespace $.$$ {\n\t/**\n\t * An input field for entering single line text.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_string_demo\n\t */\n\texport class $mol_string extends $.$mol_string {\n\t\t\n\t\t@ $mol_action\n\t\tevent_change( next? : Event ) {\n\t\t\tif( !next ) return\n\t\t\tconst el = next.target as HTMLInputElement\n\t\t\tconst from = el.selectionStart\n\t\t\tconst to = el.selectionEnd\n\t\t\ttry {\n\t\t\t\tel.value = this.value_changed( el.value )\n\t\t\t} catch( error ) {\n\t\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\t\tif( error instanceof Error ) {\n\t\t\t\t\tel.setCustomValidity( error.message )\n\t\t\t\t\tel.reportValidity()\n\t\t\t\t}\n\t\t\t\t$mol_fail_hidden( error )\n\t\t\t}\n\t\t\tif( to === null ) return \n\t\t\tel.selectionEnd = to\n\t\t\tel.selectionStart = from\n\t\t\tthis.selection_change( next )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\terror_report() {\n\t\t\ttry {\n\t\t\t\tif( this.focused() ) this.value()\n\t\t\t} catch( error ) {\n\t\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\t\tif( error instanceof Error ) {\n\t\t\t\t\tel.setCustomValidity( error.message )\n\t\t\t\t\tel.reportValidity()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\thint_visible() {\n\t\t\treturn ( this.enabled() ? this.hint() : '' ) || ' '\n\t\t}\n\n\t\tdisabled() {\n\t\t\treturn !this.enabled()\n\t\t}\n\n\t\tautocomplete_native() {\n\t\t\treturn this.autocomplete() ? 'on' : 'off'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tselection_watcher() {\n\t\t\treturn new $mol_dom_listener(\n\t\t\t\tthis.$.$mol_dom_context.document,\n\t\t\t\t'selectionchange',\n\t\t\t\t$mol_wire_async( event => this.selection_change( event ) ),\n\t\t\t)\n\t\t}\n\t\t\n\t\tselection_change( event: Event ) {\n\t\t\t\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tif( el !== this.$.$mol_dom_context.document.activeElement ) return\n\t\t\t\n\t\t\tconst [ from, to ] = this.selection([\n\t\t\t\tel.selectionStart!,\n\t\t\t\tel.selectionEnd!,\n\t\t\t])\n\t\t\t\n\t\t\tel.selectionEnd = to\n\t\t\tel.selectionStart = from\n\n\t\t\tif( to !== from && el.selectionEnd === el.selectionStart ) {\n\t\t\t\tel.selectionEnd = to\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tselection_start() {\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tif( el.selectionStart === null ) return undefined as any as number\n\t\t\treturn this.selection()[0]\n\t\t}\n\n\t\tselection_end() {\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tif( el.selectionEnd === null ) return undefined as any as number\n\t\t\treturn this.selection()[1]\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/string/string.view.css\",\n \"[mol_string] {\\n\\tbox-sizing: border-box;\\n\\toutline-offset: 0;\\n\\tborder: none;\\n\\tborder-radius: var(--mol_gap_round);\\n\\twhite-space: pre-line;\\n\\toverflow: hidden;\\n\\ttext-overflow: ellipsis;\\n\\tpadding: var(--mol_gap_text);\\n\\ttext-align: left;\\n\\tposition: relative;\\n\\tfont: inherit;\\n\\tflex: 1 1 auto;\\n\\tbackground: transparent;\\n\\tmin-width: 0;\\n\\tcolor: inherit;\\n\\tbackground: var(--mol_theme_field);\\n}\\n\\n[mol_string]:disabled:not(:placeholder-shown) {\\n\\tbackground-color: transparent;\\n\\tcolor: var(--mol_theme_text);\\n}\\n\\n[mol_string]:where(:not(:disabled)) {\\n\\tbox-shadow: inset 0 0 0 1px var(--mol_theme_line);\\n}\\n\\n[mol_string]:where(:not(:disabled)):hover {\\n\\tbox-shadow: inset 0 0 0 2px var(--mol_theme_line);\\n\\tz-index: var(--mol_layer_hover);\\n}\\n\\n[mol_string]:focus {\\n\\toutline: none;\\n\\tz-index: var(--mol_layer_focus);\\n\\tcolor: var(--mol_theme_text);\\n\\tbox-shadow: inset 0 0 0 1px var(--mol_theme_focus);\\n}\\n\\n[mol_string]::placeholder {\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\\n[mol_string]::-ms-clear {\\n\\tdisplay: none;\\n}\\n\"\n) }","$mol_icon_close $mol_icon path \\M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\n","$mol_list $mol_view\n\trender_visible_only true\n\trender_over 0\n\tsub <= rows /$mol_view\n\tEmpty $mol_view\n\tGap_before $mol_view style * paddingTop <= gap_before 0\n\tGap_after $mol_view style * paddingTop <= gap_after 0\n\tview_window /\n\t\t0\n\t\t0\n","namespace $ {\n\n\tlet cache = null as null | boolean\n\texport function $mol_support_css_overflow_anchor( this: $ ) {\n\t\treturn cache ?? (\n\t\t\tcache = this.$mol_dom_context.CSS?.supports( 'overflow-anchor:auto' ) ?? false\n\t\t)\n\t}\n\n}\n","namespace $.$$ {\n\n\t/**\n\t * The list of rows with lazy/virtual rendering support based on `minimal_height` of rows.\n\t * `mol_list` should contain only components that inherits `mol_view`. You should not place raw strings or numbers in list.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_list_demo\n\t */\n\texport class $mol_list extends $.$mol_list {\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\tconst rows = this.rows()\n\t\t\treturn ( rows.length === 0 ) ? [ this.Empty() ] : rows\n\t\t}\n\n\t\trender_visible_only() {\n\t\t\treturn this.$.$mol_support_css_overflow_anchor()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tview_window( next?: [ number , number ] ) : [ number , number ] {\n\t\t\t\n\t\t\tconst kids = this.sub()\n\t\t\t\n\t\t\tif( kids.length < 3 ) return [ 0 , kids.length ]\n\t\t\tif( this.$.$mol_print.active() ) return [ 0 , kids.length ]\n\t\t\t\n\t\t\tconst rect = this.view_rect()\n\t\t\tif( next ) return next\n\t\t\t\n\t\t\tlet [ min , max ] = $mol_mem_cached( ()=> this.view_window() ) ?? [ 0 , 0 ]\n\n\t\t\tlet max2 = max = Math.min( max , kids.length )\n\t\t\tlet min2 = min = Math.max( 0 , Math.min( min , max - 1 ) )\n\t\t\t\n\t\t\tconst anchoring = this.render_visible_only()\n\t\t\tconst window_height = this.$.$mol_window.size().height + 40\n\t\t\tconst over = Math.ceil( window_height * this.render_over() )\n\t\t\tconst limit_top = -over\n\t\t\tconst limit_bottom = window_height + over\n\n\t\t\tconst gap_before = $mol_mem_cached( ()=> this.gap_before() ) ?? 0\n\t\t\tconst gap_after = $mol_mem_cached( ()=> this.gap_after() ) ?? 0\n\n\t\t\tlet top = Math.ceil( rect?.top ?? 0 ) + gap_before\n\t\t\tlet bottom = Math.ceil( rect?.bottom ?? 0 ) - gap_after\n\n\t\t\t// change nothing when already covers all limits\n\t\t\tif( top <= limit_top && bottom >= limit_bottom ) {\n\t\t\t\treturn [ min2 , max2 ]\n\t\t\t}\n\n\t\t\t// jumps when fully over limits\n\t\t\tif( anchoring && (( bottom < limit_top )||( top > limit_bottom )) ) {\n\t\t\t\t\n\t\t\t\tmin = 0\n\t\t\t\ttop = Math.ceil( rect?.top ?? 0 )\n\t\t\t\t\n\t\t\t\twhile( min < ( kids.length - 1 ) ) {\n\t\t\t\t\t\n\t\t\t\t\tconst height = kids[ min ].minimal_height()\n\t\t\t\t\tif( top + height >= limit_top ) break\n\t\t\t\t\t\n\t\t\t\t\ttop += height\n\t\t\t\t\t++ min\n\n\t\t\t\t}\n\n\t\t\t\tmin2 = min\n\t\t\t\tmax2 = max = min\n\t\t\t\tbottom = top\n\n\t\t\t}\n\n\t\t\tlet top2 = top\n\t\t\tlet bottom2 = bottom\n\t\t\t\n\t\t\t// force recalc min when overlapse top limit\n\t\t\tif( anchoring && ( top < limit_top ) && ( bottom < limit_bottom ) && ( max < kids.length ) ) {\n\t\t\t\tmin2 = max\n\t\t\t\ttop2 = bottom\n\t\t\t}\n\n\t\t\t// force recalc max when overlapse bottom limit\n\t\t\tif( ( bottom > limit_bottom ) && ( top > limit_top ) && ( min > 0 ) ) {\n\t\t\t\tmax2 = min\n\t\t\t\tbottom2 = top\n\t\t\t}\n\n\t\t\t// extend min to cover top limit\n\t\t\twhile( anchoring && (( top2 > limit_top )&&( min2 > 0 )) ) {\n\t\t\t\t-- min2\n\t\t\t\ttop2 -= kids[ min2 ].minimal_height()\n\t\t\t}\n\t\t\t\n\t\t\t// extend max to cover bottom limit\n\t\t\twhile( bottom2 < limit_bottom && max2 < kids.length ) {\n\t\t\t\tbottom2 += kids[ max2 ].minimal_height()\n\t\t\t\t++ max2\n\t\t\t}\n\t\t\t\n\t\t\treturn [ min2 , max2 ]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tgap_before() {\n\t\t\tconst skipped = this.sub().slice( 0 , this.view_window()[0] )\n\t\t\treturn Math.max( 0 , skipped.reduce( ( sum , view )=> sum + view.minimal_height() , 0 ) )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tgap_after() {\n\t\t\tconst skipped = this.sub().slice( this.view_window()[1] )\n\t\t\treturn Math.max( 0 , skipped.reduce( ( sum , view )=> sum + view.minimal_height() , 0 ) )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsub_visible() {\n\t\t\treturn [\n\t\t\t\t... this.gap_before() ? [ this.Gap_before() ] : [],\n\t\t\t\t... this.sub().slice( ... this.view_window() ),\n\t\t\t\t... this.gap_after() ? [ this.Gap_after() ] : [],\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tminimal_height() {\n\n\t\t\treturn this.sub().reduce( ( sum , view )=> {\n\n\t\t\t\ttry {\n\t\t\t\t\treturn sum + view.minimal_height() \n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\t$mol_fail_log( error )\n\t\t\t\t\treturn sum\n\t\t\t\t}\n\n\t\t\t} , 0 )\n\n\t\t}\n\n\t\tforce_render(\n\t\t\tpath : Set< $mol_view >,\n\t\t) {\n\n\t\t\tconst kids = this.rows()\n\n\t\t\tconst index = kids.findIndex( item => path.has( item ) )\n\n\t\t\tif( index >= 0 ) {\n\t\t\t\tconst win = this.view_window()\n\t\t\t\tif( index < win[0] || index >= win[1] ) {\n\t\t\t\t\tthis.view_window([ this.render_visible_only() ? index : 0, index + 1 ])\n\t\t\t\t}\n\t\t\t\t( kids[ index ] as $mol_view ).force_render( path )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/list/list.view.css\",\n \"[mol_list] {\\n\\twill-change: contents;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tflex-shrink: 0;\\n\\tmax-width: 100%;\\n\\t/* display: flex;\\n\\talign-items: stretch;\\n\\talign-content: stretch; */\\n\\ttransition: none;\\n\\tmin-height: 1.5rem;\\n}\\n\\n[mol_list_gap_before] ,\\n[mol_list_gap_after] {\\n\\tdisplay: block !important;\\n\\tflex: none;\\n\\ttransition: none;\\n\\toverflow-anchor: none;\\n}\\n\"\n) }","$mol_paragraph $mol_view\n\tline_height 24\n\tletter_width 7\n\twidth_limit +Infinity\n\trow_width 0\n\tsub / <= title\n","namespace $.$$ {\n\n\texport class $mol_paragraph extends $.$mol_paragraph {\n\n\t\t@ $mol_mem\n\t\tmaximal_width() {\n\n\t\t\tlet width = 0\n\t\t\tconst letter = this.letter_width()\n\t\t\t\n\t\t\tfor( const kid of this.sub() ) {\n\t\t\t\t\n\t\t\t\tif( !kid ) continue\n\t\t\t\t\n\t\t\t\tif( kid instanceof $mol_view ) {\n\t\t\t\t\twidth += kid.maximal_width()\n\t\t\t\t} else if( typeof kid !== 'object' ) {\n\t\t\t\t\twidth += String( kid ).length * letter\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\treturn width\n\n\t\t}\n\n\t\twidth_limit() {\n\t\t\treturn this.$.$mol_window.size().width\n\t\t}\n\t\t\n\t\tminimal_width() {\n\t\t\treturn this.letter_width()\n\t\t}\n\n\t\t@ $mol_mem\n\t\trow_width() {\n\t\t\treturn Math.max( Math.min( this.width_limit() , this.maximal_width() ) , this.letter_width() )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tminimal_height() {\n\t\t\treturn Math.max( 1 , Math.ceil( this.maximal_width() / this.row_width() ) ) * this.line_height()\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/paragraph/paragraph.view.css\",\n \":where([mol_paragraph]) {\\n\\tmargin: 0;\\n\\tmax-width: 100%;\\n}\\n\"\n) }","$mol_dimmer $mol_paragraph\n\thaystack \\\n\tneedle \\\n\tsub <= parts /$mol_view_content\n\tLow* $mol_paragraph\n\t\tsub /\n\t\t\t<= string* \\\n\tHigh* $mol_paragraph\n\t\tsub /\n\t\t\t<= string* \\\n","interface String {\n\t\n\tmatch< RE extends RegExp >( regexp: RE ): ReturnType<\n\t\tRE[ typeof Symbol.match ]\n\t>\n\t\n matchAll< RE extends RegExp >( regexp: RE ): ReturnType<\n\t\tRE[ typeof Symbol.matchAll ]\n\t>\n\t\n}\n\nnamespace $ {\n\t\n\ttype Groups_to_params = {\n\t\t[P in keyof T]?: T[P] | boolean | undefined;\n\t};\t\n\n\texport type $mol_regexp_source =\n\t| number\n\t| string\n\t| RegExp\n\t| { [ key in string ] : $mol_regexp_source }\n\t| readonly[ $mol_regexp_source , ... $mol_regexp_source[] ]\n\n\texport type $mol_regexp_groups< Source extends $mol_regexp_source >\n\t\n\t\t= Source extends number\n\t\t? {}\n\t\t\n\t\t: Source extends string\n\t\t? {}\n\t\t\n\t\t: Source extends $mol_regexp_source[]\n\t\t? $mol_type_merge< $mol_type_intersect< {\n\t\t\t[ key in Extract< keyof Source , number > ] : $mol_regexp_groups< Source[ key ] >\n\t\t}[ Extract< keyof Source , number > ] > >\n\t\t\n\t\t: Source extends RegExp\n\t\t? Record< string, string > extends NonNullable< NonNullable< ReturnType< Source['exec'] > >[ 'groups' ] >\n\t\t\t? {}\n\t\t\t: NonNullable< NonNullable< ReturnType< Source['exec'] > >[ 'groups' ] >\n\t\t\n\t\t: Source extends { readonly [ key in string ] : $mol_regexp_source }\n\t\t? $mol_type_merge< $mol_type_intersect< {\n\t\t\t[ key in keyof Source ] :\n\t\t\t\t$mol_type_merge<\n\t\t\t\t\t& $mol_type_override<\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treadonly [ k in Extract< keyof Source , string > ]: string\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treadonly [ k in key ]:\n\t\t\t\t\t\t\t\tSource[ key ] extends string\n\t\t\t\t\t\t\t\t\t? Source[ key ]\n\t\t\t\t\t\t\t\t\t: string\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t& $mol_regexp_groups< Source[ key ] >\n\t\t\t\t>\n\t\t}[ keyof Source ] > >\n\n\t\t: never\n\t\t\n\t/** Type safe reguar expression builder */\n\texport class $mol_regexp< Groups extends Record< string , string > > extends RegExp {\n\t\t\n\t\t/** Prefer to use $mol_regexp.from */\n\t\tconstructor( source : string , flags : string = 'gsu' , readonly groups : ( Extract< keyof Groups , string > )[] = [] ) {\n\t\t\tsuper( source , flags )\n\t\t}\n\t\t\n\t\t*[Symbol.matchAll] (str:string): RegExpStringIterator< RegExpMatchArray & $mol_type_override< RegExpMatchArray, { groups?: { [ key in keyof Groups ] : string } } > > {\n\t\t\tconst index = this.lastIndex\n\t\t\tthis.lastIndex = 0\n\t\t\ttry {\n\t\t\t\twhile ( this.lastIndex < str.length ) {\n\t\t\t\t\tconst found = this.exec(str)\n\t\t\t\t\tif( !found ) break\n\t\t\t\t\tyield found\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tthis.lastIndex = index\n\t\t\t}\n\t\t}\n\t\t\n\t\t/** Parses input and returns found capture groups or null */\n\t\t[ Symbol.match ]( str : string ): null | RegExpMatchArray {\n\t\t\tconst res = [ ... this[Symbol.matchAll]( str ) ].filter( r => r.groups ).map( r => r[0] )\n\t\t\tif( !res.length ) return null\n\t\t\treturn res as RegExpMatchArray\n\t\t}\n\t\t\n\t\t/** Splits string by regexp edges */\n\t\t[ Symbol.split ]( str : string ): string[] {\n\t\t\t\n\t\t\tconst res = [] as string[]\n\t\t\tlet token_last = null\n\t\t\t\n\t\t\tfor( let token of this[Symbol.matchAll]( str ) ) {\n\t\t\t\tif( token.groups && ( token_last ? token_last.groups : true ) ) res.push( '' )\n\t\t\t\tres.push( token[0] )\n\t\t\t\ttoken_last = token\n\t\t\t}\n\t\t\t\n\t\t\tif( !res.length ) res.push( '' )\n\t\t\t\n\t\t\treturn res\n\t\t}\n\t\t\n\t\ttest( str : string ): boolean {\n\t\t\treturn Boolean( str.match( this) )\n\t\t}\n\t\t\n\t\texec( str : string ): RegExpExecArray & $mol_type_override< RegExpExecArray , { groups?: { [ key in keyof Groups ] : string } } > | null {\n\t\t\t\n\t\t\tconst from = this.lastIndex\n\t\t\tif( from >= str.length ) return null\n\t\t\t\n\t\t\tconst res = super.exec( str )\n\t\t\tif( res === null ) {\n\t\t\t\tthis.lastIndex = str.length\n\t\t\t\tif( !str ) return null\n\t\t\t\treturn Object.assign( [ str.slice( from ) ], {\n\t\t\t\t\tindex: from,\n\t\t\t\t\tinput: str,\n\t\t\t\t} ) as any\n\t\t\t}\n\n\t\t\tif( from === this.lastIndex ) {\n\t\t\t\t$mol_fail( new Error( 'Captured empty substring' ) )\n\t\t\t}\n\n\t\t\ttype Token = { [ key in keyof Groups ] : string } & { [ key : number ] : string }\n\t\t\tconst groups = {} as Token\n\t\t\t\n\t\t\tconst skipped = str.slice( from , this.lastIndex - res[0].length )\n\t\t\tif( skipped ) {\n\t\t\t\tthis.lastIndex = this.lastIndex - res[0].length\n\t\t\t\treturn Object.assign( [ skipped ], {\n\t\t\t\t\tindex: from,\n\t\t\t\t\tinput: res.input,\n\t\t\t\t} ) as any\n\t\t\t}\n\t\t\t\n\t\t\tfor( let i = 0 ; i < this.groups.length ; ++i ) {\n\t\t\t\tconst group = this.groups[ i ]\n\t\t\t\tgroups[ group ] = groups[ group ] || res[ i + 1 ] || '' as any\n\t\t\t}\n\n\t\t\treturn Object.assign( res, { groups } )\n\t\t}\n\t\t\n\t\tgenerate(\n\t\t\tparams: Groups_to_params< Groups >\n\t\t): string | null {\n\t\t\treturn null\n\t\t}\n\t\t\n\t\tget native() {\n\t\t\treturn new RegExp( this.source, this.flags )\n\t\t}\n\n\t\t/** Makes regexp that non-greedy repeats this pattern from min to max count */\n\t\tstatic repeat<\n\t\t\tSource extends $mol_regexp_source\n\t\t>(\n\t\t\tsource : Source ,\n\t\t\tmin = 0 ,\n\t\t\tmax = Number.POSITIVE_INFINITY ,\n\t\t) : $mol_regexp< $mol_regexp_groups< Source > > {\n\t\n\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\tconst upper = Number.isFinite( max ) ? max : ''\n\t\t\t\n\t\t\tconst str = `(?:${ regexp.source }){${ min },${ upper }}?`\n\t\t\tconst regexp2 = new $mol_regexp( str , regexp.flags , regexp.groups )\n\t\t\t\n\t\t\tregexp2.generate = params => {\n\t\t\t\tconst res = regexp.generate( params )\n\t\t\t\tif( res ) return res\n\t\t\t\tif( min > 0 ) return res\n\t\t\t\treturn ''\n\t\t\t}\n\t\n\t\t\treturn regexp2\n\t\n\t\t}\n\n\t\t/** Makes regexp that greedy repeats this pattern from min to max count */\n\t\tstatic repeat_greedy<\n\t\t\tSource extends $mol_regexp_source\n\t\t>(\n\t\t\tsource : Source ,\n\t\t\tmin = 0 ,\n\t\t\tmax = Number.POSITIVE_INFINITY ,\n\t\t) : $mol_regexp< $mol_regexp_groups< Source > > {\n\t\n\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\tconst upper = Number.isFinite( max ) ? max : ''\n\t\t\t\n\t\t\tconst str = `(?:${ regexp.source }){${ min },${ upper }}`\n\t\t\tconst regexp2 = new $mol_regexp( str , regexp.flags , regexp.groups )\n\t\t\t\n\t\t\tregexp2.generate = params => {\n\t\t\t\tconst res = regexp.generate( params )\n\t\t\t\tif( res ) return res\n\t\t\t\tif( min > 0 ) return res\n\t\t\t\treturn ''\n\t\t\t}\n\t\n\t\t\treturn regexp2\n\t\t}\n\n\t\t/** Makes regexp that match any of options */\n\t\tstatic vary<\n\t\t\tSources extends readonly $mol_regexp_source[]\n\t\t>(\n\t\t\tsources : Sources ,\n\t\t) {\n\t\t\t\n\t\t\tconst groups = [] as string[]\n\t\t\t\n\t\t\tconst chunks = sources.map( source => {\n\n\t\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\t\tgroups.push( ... regexp.groups )\n\t\t\t\t\n\t\t\t\treturn regexp.source\n\n\t\t\t} ) as any as readonly[ $mol_regexp_source , ... $mol_regexp_source[] ]\n\t\t\t\n\t\t\treturn new $mol_regexp< $mol_regexp_groups< Sources[number] > >(\n\t\t\t\t`(?:${ chunks.join('|') })` ,\n\t\t\t\t'' ,\n\t\t\t\tgroups as any[] ,\n\t\t\t)\n\t\t\t\n\t\t}\n\n\t\t/** Makes regexp that allow absent of this pattern */\n\t\tstatic optional<\n\t\t\tSource extends $mol_regexp_source\n\t\t>( source : Source ) {\n\t\t\treturn $mol_regexp.repeat_greedy( source , 0 , 1 )\n\t\t}\n\n\t\t/** Makes regexp that look ahead for pattern */\n\t\tstatic force_after( source : $mol_regexp_source ) {\n\n\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\t\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`(?=${ regexp.source })` ,\n\t\t\t\tregexp.flags ,\n\t\t\t\tregexp.groups ,\n\t\t\t)\n\n\t\t}\n\n\t\t/** Makes regexp that look ahead for pattern */\n\t\tstatic forbid_after( source : $mol_regexp_source ) {\n\n\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\t\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`(?!${ regexp.source })` ,\n\t\t\t\tregexp.flags ,\n\t\t\t\tregexp.groups ,\n\t\t\t)\n\n\t\t}\n\n\t\t/** Converts some js values to regexp */\n\t\tstatic from<\n\t\t\tSource extends $mol_regexp_source\n\t\t>(\n\t\t\tsource : Source ,\n\t\t\t{ ignoreCase , multiline } : Partial< Pick< RegExp , 'ignoreCase' | 'multiline' > > = {\n\t\t\t\tignoreCase : false ,\n\t\t\t\tmultiline : false ,\n\t\t\t} ,\n\t\t) : $mol_regexp< $mol_regexp_groups< Source > > {\n\n\t\t\tlet flags = 'gsu'\n\t\t\tif( multiline ) flags += 'm'\n\t\t\tif( ignoreCase ) flags += 'i'\n\n\t\t\tif( typeof source === 'number' ) {\n\n\t\t\t\tconst src = `\\\\u{${ source.toString(16) }}`\n\t\t\t\tconst regexp = new $mol_regexp< $mol_regexp_groups< Source > >( src , flags )\n\t\t\t\tregexp.generate = ()=> src\n\t\t\t\treturn regexp\n\n\t\t\t} if( typeof source === 'string' ) {\n\n\t\t\t\tconst src = source.replace( /[.*+?^${}()|[\\]\\\\]/g , '\\\\$&' ) \n\t\t\t\tconst regexp = new $mol_regexp< $mol_regexp_groups< Source > >( src , flags )\n\t\t\t\tregexp.generate = ()=> source\n\t\t\t\treturn regexp\n\n\t\t\t} else if( source instanceof $mol_regexp ) {\n\t\t\t\t\n\t\t\t\tconst regexp = new $mol_regexp( source.source, flags, source.groups )\n\t\t\t\tregexp.generate = params => source.generate( params )\n\t\t\t\treturn regexp\n\t\t\t\t\n\t\t\t} if( source instanceof RegExp ) {\n\n\n\t\t\t\tconst test = new RegExp( '|' + source.source )\n\t\t\t\tconst groups = Array.from(\n\t\t\t\t\t{ length : test.exec('')!.length - 1 } ,\n\t\t\t\t\t( _ , i )=> String( i + 1 ) ,\n\t\t\t\t)\n\n\t\t\t\tconst regexp = new $mol_regexp< $mol_regexp_groups< Source > >(\n\t\t\t\t\tsource.source ,\n\t\t\t\t\tsource.flags ,\n\t\t\t\t\tgroups as any ,\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tregexp.generate = ()=> ''\n\n\t\t\t\treturn regexp\n\n\t\t\t} if( Array.isArray( source ) ) {\n\n\t\t\t\tconst patterns = source.map( src => Array.isArray( src )\n\t\t\t\t\t? $mol_regexp.optional( src as any )\n\t\t\t\t\t: $mol_regexp.from( src )\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tconst chunks = patterns.map( pattern => pattern.source )\n\t\t\t\t\n\t\t\t\tconst groups = [] as ( Extract< keyof $mol_regexp_groups< Source > , string > )[]\n\n\t\t\t\tlet index = 0\n\t\t\n\t\t\t\tfor( const pattern of patterns ) {\n\t\t\t\t\t\n\t\t\t\t\tfor( let group of pattern.groups ) {\n\t\t\t\t\t\tif( Number( group ) >= 0 ) {\n\t\t\t\t\t\t\tgroups.push( String( index ++ ) as any )\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tgroups.push( group )\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst regexp = new $mol_regexp( chunks.join( '' ) , flags , groups )\n\t\t\t\t\n\t\t\t\tregexp.generate = params => {\n\t\t\t\t\tlet res = ''\n\t\t\t\t\tfor( const pattern of patterns ) {\n\t\t\t\t\t\tlet sub = pattern.generate( params )\n\t\t\t\t\t\tif( sub === null ) return ''\n\t\t\t\t\t\tres += sub\n\t\t\t\t\t}\n\t\t\t\t\treturn res\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn regexp\n\t\t\n\t\t\t} else {\n\n\t\t\t\tconst groups = [] as string[]\n\n\t\t\t\tconst chunks = Object.keys( source ).map( name => {\n\n\t\t\t\t\tgroups.push( name )\n\n\t\t\t\t\tconst regexp = $mol_regexp.from( (source as any)[ name ] )\n\t\t\t\t\tgroups.push( ... regexp.groups )\n\t\t\t\t\t\n\t\t\t\t\treturn `(${regexp.source})`\n\n\t\t\t\t} ) as any as readonly[ $mol_regexp_source , ... $mol_regexp_source[] ]\n\n\t\t\t\tconst regexp = new $mol_regexp< $mol_regexp_groups< Source > >(\n\t\t\t\t\t`(?:${ chunks.join('|') })` ,\n\t\t\t\t\tflags ,\n\t\t\t\t\tgroups as any[] ,\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tconst validator = new RegExp( '^' + regexp.source + '$', flags )\n\t\t\t\tregexp.generate = (params: any) => {\n\t\t\t\t\t\n\t\t\t\t\tfor( let option in source ) {\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( option in params ) {\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif( typeof params[ option ] === 'boolean' ) {\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif( !params[ option as any ] ) continue\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tconst str = String( params[ option ] )\n\t\t\t\t\t\t\t\tif( str.match( validator ) ) return str\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t$mol_fail( new Error( `Wrong param: ${option}=${str}` ) )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif( typeof (source as any)[ option ] !== 'object' ) continue\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst res = $mol_regexp.from( (source as any)[ option ] ).generate( params )\n\t\t\t\t\t\tif( res ) return res\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn regexp\n\n\t\t\t}\n\t\n\t\t}\n\n\t\t/** Makes regexp which includes only unicode category */\n\t\tstatic unicode_only( ... category: $mol_unicode_category ) {\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`\\\\p{${ category.join( '=' ) }}`\n\t\t\t)\n\t\t}\n\n\t\t/** Makes regexp which excludes unicode category */\n\t\tstatic unicode_except( ... category: $mol_unicode_category ) {\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`\\\\P{${ category.join( '=' ) }}`\n\t\t\t)\n\t\t}\n\n\t\tstatic char_range(\n\t\t\tfrom: number,\n\t\t\tto: number,\n\t\t): $mol_regexp<{}> {\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`${ $mol_regexp.from( from ).source }-${ $mol_regexp.from( to ).source }`\n\t\t\t)\n\t\t}\n\n\t\tstatic char_only(\n\t\t\t... allowed: readonly [ $mol_regexp_source, ... $mol_regexp_source[] ]\n\t\t): $mol_regexp<{}> {\n\t\t\tconst regexp = allowed.map( f => $mol_regexp.from( f ).source ).join('')\n\t\t\treturn new $mol_regexp( `[${ regexp }]` )\n\t\t}\n\n\t\tstatic char_except(\n\t\t\t... forbidden: readonly [ $mol_regexp_source, ... $mol_regexp_source[] ]\n\t\t): $mol_regexp<{}> {\n\t\t\tconst regexp = forbidden.map( f => $mol_regexp.from( f ).source ).join('')\n\t\t\treturn new $mol_regexp( `[^${ regexp }]` )\n\t\t}\n\t\t\n\t\tstatic decimal_only = $mol_regexp.from( /\\d/gsu )\n\t\tstatic decimal_except = $mol_regexp.from( /\\D/gsu )\n\t\t\n\t\tstatic latin_only = $mol_regexp.from( /\\w/gsu )\n\t\tstatic latin_except = $mol_regexp.from( /\\W/gsu )\n\t\t\n\t\tstatic space_only = $mol_regexp.from( /\\s/gsu )\n\t\tstatic space_except = $mol_regexp.from( /\\S/gsu )\n\t\t\n\t\tstatic word_break_only = $mol_regexp.from( /\\b/gsu )\n\t\tstatic word_break_except = $mol_regexp.from( /\\B/gsu )\n\t\t\n\t\tstatic tab = $mol_regexp.from( /\\t/gsu )\n\t\tstatic slash_back = $mol_regexp.from( /\\\\/gsu )\n\t\tstatic nul = $mol_regexp.from( /\\0/gsu )\n\t\t\n\t\tstatic char_any = $mol_regexp.from( /./gsu )\n\t\tstatic begin = $mol_regexp.from( /^/gsu )\n\t\tstatic end = $mol_regexp.from( /$/gsu )\n\t\tstatic or = $mol_regexp.from( /|/gsu )\n\t\t\n\t\tstatic line_end = $mol_regexp.from({\n\t\t\twin_end: [ [ '\\r' ], '\\n' ],\n\t\t\tmac_end: '\\r',\n\t\t})\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\n\t/**\n\t * Output text with dimmed mismatched substrings.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_dimmer_demo\n\t */\n\texport class $mol_dimmer extends $.$mol_dimmer {\n\t\t\n\t\tparts() {\n\t\t\tconst needle = this.needle()\n\t\t\tif( needle.length < 2 ) return [ this.haystack() ]\n\t\t\t\n\t\t\tlet chunks : any[] = []\n\t\t\tlet strings = this.strings()\n\t\t\t\n\t\t\tfor( let index = 0 ; index < strings.length ; index++ ) {\n\t\t\t\tif( strings[ index ] === '' ) continue\n\t\t\t\t\n\t\t\t\tchunks.push( ( index % 2 ) ? this.High( index ) : this.Low( index ) )\n\t\t\t}\n\t\t\t\n\t\t\treturn chunks\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstrings() {\n\t\t\t\n\t\t\tconst options = this.needle().split( /\\s+/g ).filter( Boolean )\n\t\t\tif( !options.length ) return [ this.haystack() ]\n\t\t\t\n\t\t\tconst variants = { ... options } as Record< number, string >\n\t\t\tconst regexp = $mol_regexp.from( { needle: variants } , { ignoreCase: true } )\n\t\t\t\n\t\t\treturn this.haystack().split( regexp )\n\t\t}\n\t\t\n\t\tstring( index: number ) {\n\t\t\treturn this.strings()[ index ]\n\t\t}\n\t\t\n\t\t*view_find(\n\t\t\tcheck: ( path : $mol_view, text?: string )=> boolean,\n\t\t\tpath = [] as $mol_view[],\n\t\t): Generator< $mol_view[] > {\n\n\t\t\tif( check( this, this.haystack() ) ) {\n\t\t\t\tyield [ ... path, this ]\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/dimmer/dimmer.view.css\",\n \"[mol_dimmer] {\\n\\tdisplay: block;\\n\\tmax-width: 100%;\\n}\\n\\n[mol_dimmer_low] {\\n\\tdisplay: inline;\\n\\topacity: 0.8;\\n}\\n\\n[mol_dimmer_high] {\\n\\tdisplay: inline;\\n\\tcolor: var(--mol_theme_focus);\\n\\ttext-shadow: 0 0;\\n}\\n\"\n) }","$mol_search $mol_pop\n\tquery? \\\n\tsuggests /string\n\tplugins /$mol_plugin\n\t\t^\n\t\t<= Hotkey $mol_hotkey\n\t\t\tkey * escape? <=> clear? null\n\t\t<= Nav $mol_nav\n\t\t\tkeys_y <= nav_components /$mol_view\n\t\t\tcurrent_y?component <=> nav_focused?component null\n\tshowed? <=> suggests_showed? false\n\talign_hor \\right\n\tAnchor $mol_view\n\t\tsub <= anchor_content /\n\t\t\t<= Query $mol_string\n\t\t\t\tvalue? <=> query? \\\n\t\t\t\thint <= hint @ \\Search...\n\t\t\t\tsubmit?event <=> submit?event null\n\t\t\t\tenabled <= enabled true\n\t\t\t\tkeyboard <= keyboard \\search\n\t\t\t\tenter <= enter \\search\n\t\t\t\tbring => bring\n\t\t\t<= Clear $mol_button_minor\n\t\t\t\thint @ \\Clear\n\t\t\t\tclick?event <=> clear?event null\n\t\t\t\tsub /\n\t\t\t\t\t<= Clear_icon $mol_icon_close\n\tbubble_content /$mol_view_content\n\t\t<= Menu $mol_list\n\t\t\trows <= menu_items /$mol_view\n\tSuggest* $mol_button_minor\n\t\tclick?event <=> suggest_select*?event null\n\t\tsub <= suggest_content* /$mol_view_content\n\t\t\t<= Suggest_label* $mol_dimmer\n\t\t\t\thaystack <= suggest_label* \\\n\t\t\t\tneedle <= query? \\\n","namespace $.$$ {\n\t\n\t/**\n\t * Search input with suggest and clear button.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_search_demo\n\t */\n\texport class $mol_search extends $.$mol_search {\n\t\t\n\t\t@ $mol_mem\n\t\tanchor_content() {\n\t\t\treturn [\n\t\t\t\tthis.Query(),\n\t\t\t\t... this.query() ? [ this.Clear() ] : [],\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsuggests_showed( next = true ) {\n\t\t\t\n\t\t\tthis.query()\n\t\t\t\n\t\t\tif( !this.focused() ) return false\n\n\t\t\treturn next\n\t\t}\n\n\t\tsuggest_selected( next? : string ) {\n\t\t\t\n\t\t\tif( next === undefined ) return\n\t\t\t\n\t\t\tthis.query( next )\n\t\t\tthis.Query().focused( true )\n\t\t\t\n\t\t}\n\t\t\n\t\tnav_components() {\n\t\t\treturn [\n\t\t\t\tthis.Query(),\n\t\t\t\t... this.menu_items(),\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tnav_focused( component? : $mol_view ) {\n\t\t\t\n\t\t\tif( !this.focused() ) return null\n\t\t\t\n\t\t\tif( component == null ) {\n\t\t\t\t\n\t\t\t\tfor( let comp of this.nav_components() ) {\n\t\t\t\t\tif( comp && comp.focused() ) return comp\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn null\n\t\t\t}\n\t\t\t\n\t\t\tif( this.suggests_showed() ) {\n\t\t\t\tthis.ensure_visible( component, \"center\" )\n\t\t\t\tcomponent.focused( true )\n\t\t\t}\n\t\t\t\n\t\t\treturn component\n\t\t}\n\t\t\n\t\tsuggest_label( key: string ) {\n\t\t\treturn key\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tmenu_items() {\n\t\t\treturn this.suggests().map( ( suggest : string ) => this.Suggest( suggest ) )\n\t\t}\n\t\t\n\t\tsuggest_select( id : string , event? : MouseEvent ) {\n\t\t\tthis.query( id )\n\t\t\tthis.Query().selection([ id.length, id.length ])\n\t\t\tthis.Query().focused( true )\n\t\t}\n\t\t\n\t\tclear( event? : Event ) {\n\t\t\tthis.query( '' )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/search/search.view.css\",\n \"[mol_search] {\\n\\talign-self: flex-start;\\n\\tflex: auto;\\n}\\n\\n[mol_search_anchor] {\\n\\tflex: 1 1 auto;\\n}\\n\\n[mol_search_query] {\\n\\tflex-grow: 1;\\n}\\n\\n[mol_search_menu] {\\n\\tmin-height: .75rem;\\n\\tdisplay: flex;\\n}\\n\\n[mol_search_suggest] {\\n\\ttext-align: left;\\n}\\n\\n[mol_search_suggest_label_high] {\\n\\tcolor: var(--mol_theme_shade);\\n\\ttext-shadow: none;\\n}\\n\"\n) }","$mol_labeler $mol_list\n\trows /\n\t\t<= Label $mol_view\n\t\t\tminimal_height 32\n\t\t\tsub <= label /$mol_view_content\n\t\t\t\t<= title\n\t\t<= Content $mol_view\n\t\t\tminimal_height 24\n\t\t\tsub <= content /\n","namespace $ { $mol_style_attach( \"mol/labeler/labeler.view.css\",\n \"[mol_labeler] {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\talign-items: stretch;\\n\\tcursor: inherit;\\n}\\n\\n[mol_labeler_label] {\\n\\tmin-height: 2rem;\\n\\tcolor: var(--mol_theme_shade);\\n\\tpadding: .5rem .75rem 0;\\n\\tgap: 0 var(--mol_gap_block);\\n\\tflex-wrap: wrap;\\n}\\n\\n[mol_labeler_content] {\\n\\tdisplay: flex;\\n\\tpadding: var(--mol_gap_text);\\n}\\n\"\n) }","$mol_form_field $mol_labeler\n\tbids /string\n\tlabel /\n\t\t<= name \\\n\t\t<= Bid $mol_view\n\t\t\tsub / <= bid \\\n\tcontent / <= control null\n","namespace $.$$ {\n\t/**\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_form_demo\n\t */\n\texport class $mol_form_field extends $.$mol_form_field {\n\t\t\n\t\t@ $mol_mem\n\t\tbid() {\n\t\t\treturn this.bids().filter( Boolean )[ 0 ] ?? ''\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/form/field/field.view.css\",\n \"[mol_form_field] {\\n\\talign-items: stretch;\\n}\\n\\n[mol_form_field_bid] {\\n\\tcolor: var(--mol_theme_focus);\\n\\tdisplay: inline-block;\\n\\ttext-shadow: 0 0;\\n}\\n\\n[mol_form_field_content] {\\n\\tborder-radius: var(--mol_gap_round);\\n}\\n\"\n) }","$mol_pick $mol_pop\n\tevent *\n\t\t^\n\t\tkeydown?event <=> keydown?event null\n\tAnchor <= Trigger $mol_check\n\t\tminimal_width 40\n\t\tminimal_height 40\n\t\tenabled <= trigger_enabled true\n\t\tchecked? <=> showed?\n\t\tclicks? <=> clicks? null\n\t\tsub <= trigger_content /$mol_view_content\n\t\t\t<= title\n\t\thint <= hint \\\n","namespace $.$$ {\n\n\t/**\n\t * Pop-up display and hide by mouse click, also hide by unfocus.\n\t * Based on [mol_pop](https://mol.hyoo.ru/#!section=demos/demo=mol_pop_demo) component.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_pick_demo\n\t */\n\texport class $mol_pick extends $.$mol_pick {\n\t\t\n\t\tkeydown( event : KeyboardEvent ) {\n\t\t\t\n\t\t\tif( !this.trigger_enabled() ) return\n\n\t\t\tif( event.defaultPrevented ) return \n\t\t\t\n\t\t\tif( event.keyCode === $mol_keyboard_code.escape ) {\n\t\t\t\tif( !this.showed() ) return\n\t\t\t\tevent.preventDefault()\n\t\t\t\tthis.showed( false )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/pick/pick.view.css\",\n \"[mol_pick_trigger] {\\n\\talign-items: center;\\n\\tflex-grow: 1;\\n}\\n\"\n) }","$mol_icon_dots_vertical $mol_icon path \\M12,16A2,2 0 0,1 14,18A2,2 0 0,1 12,20A2,2 0 0,1 10,18A2,2 0 0,1 12,16M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M12,4A2,2 0 0,1 14,6A2,2 0 0,1 12,8A2,2 0 0,1 10,6A2,2 0 0,1 12,4Z\n","$mol_select $mol_pick\n\tdictionary? *\n\toptions /string\n\tvalue? \\\n\toption_label_default \\\n\tOption_row* $mol_button_minor\n\t\tevent_click?event <=> event_select*?event null\n\t\tsub <= option_content* /\n\t\t\t<= Option_label* $mol_dimmer\n\t\t\t\thaystack <= option_label* \\\n\t\t\t\tneedle <= filter_pattern? \\\n\tNo_options $mol_view\n\t\tsub /\n\t\t\t<= no_options_message @ \\No options\n\tplugins /\n\t\t^\n\t\t<= Nav $mol_nav\n\t\t\tkeys_y <= nav_components /$mol_view\n\t\t\tcurrent_y?component <=> option_focused?component null\n\t\t\tcycle? <=> nav_cycle? true\n\thint @ \\Pick..\n\tbubble_content /\n\t\t<= Filter\n\t\t<= Bubble_pane $mol_scroll\n\t\t\tsub /\n\t\t\t\t<= Menu $mol_list\n\t\t\t\t\trows <= menu_content /$mol_view\n\tFilter $mol_search\n\t\tquery? <=> filter_pattern? \\\n\t\thint <= filter_hint @ \\Filter..\n\t\tsubmit?event <=> submit?event null\n\t\tenabled <= enabled true\n\tTrigger_icon $mol_icon_dots_vertical\n","namespace $ {\n\n\texport function $mol_match_text< Variant >( query : string , values : ( variant : Variant )=> string[] ) {\n\t\tconst tags = query.toLowerCase().trim().split( /\\s+/ ).filter( tag => tag )\n\n\t\tif( tags.length === 0 ) return ()=> true\n\t\t\n\t\treturn ( variant : Variant )=> {\n\t\t\tconst vals = values( variant )\n\t\t\treturn tags.every( tag => vals.some( val => val.toLowerCase().indexOf( tag ) >= 0 ) )\n\t\t}\n\t}\n\n}\n","namespace $.$$ {\n\n\t/**\n\t * Allow user to select value from various options and displays current value.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_select_demo_colors\n\t */\n\texport class $mol_select extends $.$mol_select {\n\t\t\n\t\t@ $mol_mem\n\t\tfilter_pattern( next? : string ) {\n\t\t\tthis.focused()\n\t\t\t\n\t\t\treturn next || ''\n\t\t}\n\n\t\topen() {\n\t\t\tthis.showed( true )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\toptions() {\n\t\t\treturn Object.keys( this.dictionary() ) as readonly string[]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\toptions_filtered() {\n\t\t\tlet options = this.options()\n\t\t\toptions = options.filter( $mol_match_text( this.filter_pattern() , ( id : string )=> [ this.option_label( id ) ] ) )\n\n\t\t\tconst index = options.indexOf( this.value() )\n\t\t\tif( index >= 0 ) options = [ ... options.slice( 0 , index ) , ... options.slice( index + 1 ) ]\n\t\t\t\n\t\t\treturn options\n\t\t}\n\t\t\n\t\toption_label( id : string ) {\n\t\t\tconst value = this.dictionary()[ id ]\n\t\t\treturn (value == null ? id : value) || this.option_label_default()\n\t\t}\n\t\t\n\t\toption_rows() {\n\t\t\treturn this.options_filtered().map( ( option : string ) => this.Option_row( option ) )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\toption_focused( component? : $mol_view ) {\n\t\t\tif( component == null ) {\n\t\t\t\tfor( let comp of this.nav_components() ) {\n\t\t\t\t\tif( comp && comp.focused() ) return comp\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn null\n\t\t\t}\n\t\t\t\n\t\t\tif( this.showed() ) {\n\t\t\t\tcomponent.focused( true )\n\t\t\t}\n\t\t\t\n\t\t\treturn component\n\t\t}\n\n\t\tevent_select( id : string , event? : MouseEvent ) {\n\t\t\tthis.value( id )\n\t\t\tthis.showed( false )\n\t\t\tevent?.preventDefault()\n\t\t}\n\t\t\n\t\tnav_components() {\n\t\t\tif( this.options().length > 1 && this.Filter() ) {\n\t\t\t\treturn [ this.Filter() , ... this.option_rows() ]\n\t\t\t} else {\n\t\t\t\treturn this.option_rows()\n\t\t\t}\n\t\t}\n\n\t\ttrigger_content() {\n\t\t\treturn [\n\t\t\t\t... this.option_content( this.value() ),\n\t\t\t\tthis.Trigger_icon(),\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\tmenu_content() {\n\t\t\treturn [\n\t\t\t\t... this.option_rows(),\n\t\t\t\t... ( this.options_filtered().length === 0 ) ? [ this.No_options() ] : []\n\t\t\t]\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/select/select.view.css\",\n \"[mol_select] {\\n\\tdisplay: flex;\\n\\tword-break: normal;\\n\\talign-self: flex-start;\\n}\\n\\n[mol_select_option_row] {\\n\\tmin-width: 100%;\\n\\tpadding: 0;\\n\\tjustify-content: flex-start;\\n}\\n\\n[mol_select_bubble] {\\n\\tmin-width: 100%;\\n}\\n\\n[mol_select_filter] {\\n\\tflex: 1 0 auto;\\n\\talign-self: stretch;\\n}\\n\\n[mol_select_option_label] {\\n\\tpadding: var(--mol_gap_text);\\n\\ttext-align: left;\\n\\tmin-height: 1.5em;\\n\\tdisplay: block;\\n\\twhite-space: nowrap;\\n}\\n\\n[mol_select_clear_option_content] {\\n\\tpadding: .5em 1rem .5rem 0;\\n\\ttext-align: left;\\n\\tbox-shadow: var(--mol_theme_line);\\n\\tflex: 1 0 auto;\\n}\\n\\n[mol_select_no_options] {\\n\\tpadding: var(--mol_gap_text);\\n\\ttext-align: left;\\n\\tdisplay: block;\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\\n[mol_select_trigger] {\\n\\tpadding: 0;\\n\\tflex: 1 1 auto;\\n\\tdisplay: flex;\\n}\\n\\n[mol_select_trigger] > * {\\n\\tmargin-right: -1rem;\\n}\\n\\n[mol_select_trigger] > *:last-child {\\n\\tmargin-right: 0;\\n}\\n\\n[mol_select_menu] {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\\n\"\n) }","$mol_icon_information $mol_icon path \\M13,9H11V7H13M13,17H11V11H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\n","$mol_icon_information_outline $mol_icon path \\M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,17H13V11H11V17Z\n","$mol_icon_plus $mol_icon path \\M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\n","$mol_page $mol_view\n\tdom_name \\article\n\tattr *\n\t\t^\n\t\ttabIndex <= tabindex -1\n\tsub /\n\t\t<= Head $mol_view\n\t\t\tminimal_height 64\n\t\t\tdom_name \\header\n\t\t\tsub <= head /\n\t\t\t\t<= Title $mol_view\n\t\t\t\t\tdom_name \\h1\n\t\t\t\t\tsub <= title_content /\n\t\t\t\t\t\t<= Logo null\n\t\t\t\t\t\t<= title\n\t\t\t\t<= Tools $mol_view\n\t\t\t\t\tsub <= tools /$mol_view_content\n\t\t<= Body $mol_scroll\n\t\t\tscroll_top? => body_scroll_top?\n\t\t\tsub <= body_content /\n\t\t\t\t<= Body_content $mol_view\n\t\t\t\t\tsub <= body /$mol_view\n\t\t<= Foot $mol_view\n\t\t\tdom_name \\footer\n\t\t\tsub <= foot /$mol_view\n","namespace $.$$ {\n\n\tconst { per , rem } = $mol_style_unit\n\tconst { hsla } = $mol_style_func\n\n\t$mol_style_define( $mol_page , {\n\n\t\tdisplay: 'flex' ,\n\t\tflex: {\n\t\t\tbasis: 'auto' ,\n\t\t\tdirection: 'column' ,\n\t\t},\n\t\tposition: 'relative' ,\n\t\talignSelf: 'stretch' ,\n\t\tmaxWidth: per(100) ,\n\t\tmaxHeight: per(100) ,\n\t\tboxSizing: 'border-box' ,\n\t\tcolor: $mol_theme.text ,\n\t\t// zIndex: 0 ,\n\t\t\n\t\t':focus': {\n\t\t\toutline: 'none',\n\t\t} ,\n\n\t\tHead: {\n\t\t\tdisplay: 'flex' ,\n\t\t\tflexWrap: 'wrap' ,\n\t\t\tjustifyContent: 'flex-end' ,\n\t\t\tflex: 'none',\n\t\t\tposition: 'relative' ,\n\t\t\tmargin: 0 ,\n\t\t\tminHeight: rem(4),\n\t\t\tpadding: $mol_gap.block ,\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.card ,\n\t\t\t},\n\t\t\tborder: {\n\t\t\t\tradius: $mol_gap.round,\n\t\t\t},\n\t\t\tbox: {\n\t\t\t\tshadow: [[ 0, `0.5rem`, `0.5rem`, `-0.5rem`, hsla( 0, 0, 0, .25 ) ]],\n\t\t\t},\n\t\t\tzIndex: 2,\n\t\t},\n\n\t\tTitle: {\n\n\t\t\tminHeight: rem(2),\n\t\t\tmargin: 0,\n\t\t\tpadding: $mol_gap.text,\n\t\t\tgap: $mol_gap.text,\n\t\t\twordBreak: 'normal',\n\t\t\ttextShadow: '0 0',\n\n\t\t\tfont: {\n\t\t\t\tsize: 'inherit',\n\t\t\t\tweight: 'normal',\n\t\t\t},\n\t\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t\tshrink: 1,\n\t\t\t\tbasis: 'auto',\n\t\t\t},\n\n\t\t},\n\n\t\tTools: {\n\t\t\t\n\t\t\tflex: {\n\t\t\t\tbasis: 'auto',\n\t\t\t\tgrow: 1000,\n\t\t\t\tshrink: 1,\n\t\t\t},\n\t\t\tdisplay: 'flex',\n\t\t\tjustifyContent: 'flex-end',\n\t\t\talignItems: 'flex-start',\n\t\t\tflexWrap: 'wrap',\n\n\t\t},\n\n\t\tBody: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1000,\n\t\t\t\tshrink: 1,\n\t\t\t\tbasis: per(100),\n\t\t\t},\n\t\t},\n\t\t\n\t\tBody_content: {\n\t\t\tpadding: $mol_gap.block ,\n\t\t\tflex: {\n\t\t\t\tdirection: 'column',\n\t\t\t\tshrink: 1,\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t\tjustify: {\n\t\t\t\tself: 'stretch',\n\t\t\t},\n\t\t},\n\t\t\n\t\tFoot: {\n\t\t\tdisplay: 'flex',\n\t\t\tjustifyContent: 'space-between',\n\t\t\tflex: 'none',\n\t\t\tmargin: 0,\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.card ,\n\t\t\t},\n\t\t\tborder: {\n\t\t\t\tradius: $mol_gap.round,\n\t\t\t},\n\t\t\tbox: {\n\t\t\t\tshadow: [[ 0, `-0.5rem`, `0.5rem`, `-0.5rem`, hsla( 0, 0, 0, .25 ) ]],\n\t\t\t},\n\t\t\tzIndex: 1,\n\t\t\tpadding: $mol_gap.block ,\n\t\t\t':empty': {\n\t\t\t\tdisplay: 'none',\n\t\t\t},\n\t\t},\t\n\n\t} )\n\t\n}\n","$mol_stack $mol_view\n","namespace $ { $mol_style_attach( \"mol/stack/stack.view.css\",\n \"[mol_stack] {\\n\\tdisplay: grid;\\n\\t/* width: max-content; */\\n\\t/* height: max-content; */\\n\\talign-items: flex-start;\\n\\tjustify-items: flex-start;\\n}\\n\\n[mol_stack] > * {\\n\\tgrid-area: 1/1;\\n}\\n\"\n) }","$mol_text_code_token $mol_dimmer\n\tattr *\n\t\t^\n\t\tmol_text_code_token_type <= type \\\n\n$mol_text_code_token_link $mol_text_code_token\n\tdom_name \\a\n\ttype \\code-link\n\tattr *\n\t\t^\n\t\thref <= uri \\\n\t\ttarget \\_blank\n","namespace $.$$ {\n\n\tconst { hsla } = $mol_style_func\n\t\n\t$mol_style_define( $mol_text_code_token, {\n\n\t\tdisplay: 'inline',\n\t\ttextDecoration: 'none',\n\n\t\t'@': {\n\t\t\tmol_text_code_token_type: {\n\n\t\t\t\t'code-keyword': {\n\t\t\t\t\tcolor: hsla( 0, 70, 60, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-field': {\n\t\t\t\t\tcolor: hsla( 300, 70, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-tag': {\n\t\t\t\t\tcolor: hsla( 330, 70, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-global': {\n\t\t\t\t\tcolor: hsla( 30, 80, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-decorator': {\n\t\t\t\t\tcolor: hsla( 180, 40, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-punctuation': {\n\t\t\t\t\tcolor: hsla( 0, 0, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-string': {\n\t\t\t\t\tcolor: hsla( 90, 40, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-number': {\n\t\t\t\t\tcolor: hsla( 55, 65, 45, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-call': {\n\t\t\t\t\tcolor: hsla( 270, 60, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-link': {\n\t\t\t\t\tcolor: hsla( 210, 60, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-comment-inline': {\n\t\t\t\t\topacity: .5,\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-comment-block': {\n\t\t\t\t\topacity: .5,\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-docs': {\n\t\t\t\t\topacity: .75,\n\t\t\t\t},\n\t\t\t\t\n\t\t\t},\n\t\t}\n\n\t} )\n\n}\n","$mol_text_code_row $mol_paragraph\n\ttext \\\n\tminimal_height 24\n\tnumb_showed true\n\tsyntax null\n\turi_resolve* \\\n\tNumb $mol_view\n\t\tsub /\n\t\t\t<= numb 0\n\tToken* $mol_text_code_token\n\t\ttype <= token_type* \\\n\t\thaystack <= token_text* \\\n\t\tneedle <= highlight \\\n\tToken_link* $mol_text_code_token_link\n\t\thaystack <= token_text* \\\n\t\tneedle <= highlight \\\n\t\turi <= token_uri* \\\n\tfind_pos* null\n","namespace $ {\n\n\t/** Creates lexer by dictionary of lexems. Lexem that started first wins. Then lexem that declared earlier wins. Use regexp capture to take parts of token. */\n\texport class $mol_syntax2< Lexems extends { [ name : string ] : RegExp } > {\n\t\t\n\t\tconstructor(\n\t\t\tpublic lexems : Lexems\n\t\t) {\n\n\t\t\tfor( let name in lexems ) {\n\t\t\t\tthis.rules.push({\n\t\t\t\t\tname : name ,\n\t\t\t\t\tregExp : lexems[ name ] ,\n\t\t\t\t\tsize : RegExp( '^$|' + lexems[ name ].source ).exec( '' )!.length - 1 , \n\t\t\t\t})\n\t\t\t}\n\n\t\t\tconst parts = '(' + this.rules.map( rule => rule.regExp.source ).join( ')|(' ) + ')'\n\t\t\tthis.regexp = RegExp( `([\\\\s\\\\S]*?)(?:(${ parts })|$(?![^]))` , 'gmu' ) \n\t\t\t\n\t\t}\n\t\t\n\t\trules = [] as Array<{\n\t\t\tregExp : RegExp ,\n\t\t\tname : string ,\n\t\t\tsize : number\n\t\t}>\n\t\t\n\t\tregexp : RegExp\n\n\t\ttokenize(\n\t\t\ttext : string ,\n\t\t\thandle : ( name : string , found : string , chunks : string[] , offset : number )=> void ,\n\t\t) {\n\t\t\t\n\t\t\tlet end = 0\n\t\t\t\t\n\t\t\tlexing : while( end < text.length ) {\n\n\t\t\t\tconst start = end\n\n\t\t\t\tthis.regexp.lastIndex = start\n\t\t\t\tvar found = this.regexp.exec( text )!\n\t\t\t\t\n\t\t\t\tend = this.regexp.lastIndex\n\t\t\t\tif( start === end ) throw new Error( 'Empty token' )\n\t\t\t\t\n\t\t\t\tvar prefix = found[ 1 ]\n\t\t\t\tif( prefix ) handle( '' , prefix , [ prefix ] , start )\n\t\t\t\t\n\t\t\t\tvar suffix = found[ 2 ]\n\t\t\t\tif( !suffix ) continue\n\n\t\t\t\tlet offset = 4\n\t\t\t\tfor( let rule of this.rules ) {\n\n\t\t\t\t\tif( found[ offset - 1 ] ) {\n\t\t\t\t\t\thandle( rule.name , suffix , found.slice( offset, offset + rule.size ) , start + prefix.length )\n\t\t\t\t\t\tcontinue lexing\n\t\t\t\t\t}\n\n\t\t\t\t\toffset += rule.size + 1\n\t\t\t\t}\n\n\t\t\t\t$mol_fail( new Error( '$mol_syntax2 is broken' ) )\n\n\t\t\t}\n\n\t\t}\n\t\t\n\t\tparse(\n\t\t\ttext : string ,\n\t\t\thandlers : { [ key in keyof Lexems | '' ] : ( found : string , chunks : string[] , offset : number )=> void } ,\n\t\t) : void {\n\t\t\tthis.tokenize( text , ( name , ...args )=> handlers[ name ]( ... args ) )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport var $mol_syntax2_md_flow = new $mol_syntax2({\n\t\t'quote' : /^((?:(?:[>\"] )(?:[^]*?)$(\\r?\\n?))+)([\\n\\r]*)/ ,\n\t\t'spoiler' : /^((?:(?:[\\?] )(?:[^]*?)$(\\r?\\n?))+)([\\n\\r]*)/ ,\n\t\t'header' : /^([#=]+)(\\s+)(.*?)$([\\n\\r]*)/ ,\n\t\t'list' : /^((?:(?: ?([*+-])|(?:\\d+[\\.\\)])+) +(?:[^]*?)$(?:\\r?\\n?)(?: (?:[^]*?)$(?:\\r?\\n?))*)+)((?:\\r?\\n)*)/ ,\n\t\t'code' : /^(```\\s*)([\\w.-]*)[\\r\\n]+([^]*?)^(```)$([\\n\\r]*)/ ,\n\t\t'code-indent' : /^((?:(?: |\\t)(?:[^]*?)$\\r?\\n?)+)([\\n\\r]*)/ ,\n\t\t'table' : /((?:^\\|.+?$\\r?\\n?)+)([\\n\\r]*)/ ,\n\t\t'grid' : /((?:^ *! .*?$\\r?\\n?)+)([\\n\\r]*)/ ,\n\t\t'cut' : /^--+$((?:\\r?\\n)*)/ ,\n\t\t'block' : /^(.*?)$((?:\\r?\\n)*)/ ,\n\t})\n\t\n\texport var $mol_syntax2_md_line = new $mol_syntax2({\n\t\t'strong' : /\\*\\*(.+?)\\*\\*/ ,\n\t\t'emphasis' : /\\*(?!\\s)(.+?)\\*|\\/\\/(?!\\s)(.+?)\\/\\// ,\n\t\t'code' : /```(.+?)```|;;(.+?);;|`(.+?)`/ ,\n\t\t'insert' : /\\+\\+(.+?)\\+\\+/ ,\n\t\t'delete' : /~~(.+?)~~|--(.+?)--/ ,\n\t\t// 'remark' : /(\\()(.+?)(\\))/ ,\n\t\t// 'quote' : /(\")(.+?)(\")/ ,\n\t\t'embed' : /\"\"(?:(.*?)\\\\)?(.*?)\"\"/ ,\n\t\t'link' : /\\\\\\\\(?:(.*?)\\\\)?(.*?)\\\\\\\\/ ,\n\t\t'image-link' : /!\\[([^\\[\\]]*?)\\]\\((.*?)\\)/ ,\n\t\t'text-link' : /\\[(.*?(?:\\[[^\\[\\]]*?\\][^\\[\\]]*?)*)\\]\\((.*?)\\)/ ,\n\t\t'text-link-http' : /\\b(https?:\\/\\/[^\\s,.;:!?\")]+(?:[,.;:!?\")][^\\s,.;:!?\")]+)+)/ ,\n\t})\n\t\n\texport const $mol_syntax2_md_code = new $mol_syntax2({\n\t\t'code-indent' : /\\t+/ ,\n\t\t'code-docs' : /\\/\\/\\/.*?$/ ,\n\t\t'code-comment-block' : /(?:\\/\\*[^]*?\\*\\/|\\/\\+[^]*?\\+\\/|)/ ,\n\t\t'code-link' : /(?:\\w+:\\/\\/|#)\\S+?(?=\\s|\\\\\\\\|\"\"|$)/ ,\n\t\t'code-comment-inline' : /\\/\\/.*?(?:$|\\/\\/)|- \\\\.*/ ,\n\t\t'code-string' : /(?:\".*?\"|'.*?'|`.*?`| ?\\\\\\\\.+?\\\\\\\\|\\/.+?\\/[dygimsu]*(?!\\p{Letter})|[ \\t]*\\\\[^\\n]*)/u ,\n\t\t'code-number' : /[+-]?(?:\\d*\\.)?\\d+\\w*/ ,\n\t\t'code-call' : /\\.?\\w+ *(?=\\()/ ,\n\t\t'code-sexpr' : /\\((\\w+ )/ ,\n\t\t'code-field' : /(?:(?:\\.|::|->)\\w+|[\\w-]+\\??\\s*:(?!\\/\\/|:))/ ,\n\t\t'code-keyword' : /\\b(throw|readonly|unknown|keyof|typeof|never|from|class|struct|interface|type|function|extends|implements|module|namespace|import|export|include|require|var|val|let|const|for|do|while|until|in|out|of|new|if|then|else|switch|case|this|return|async|await|yield|try|catch|break|continue|get|set|public|private|protected|string|boolean|number|null|undefined|true|false|void|int|float|ref)\\b/ ,\n\t\t'code-global' : /[$]+\\w*|\\b[A-Z][a-z0-9]+[A-Z]\\w*/ ,\n\t\t'code-word' : /\\w+/ ,\n\t\t'code-decorator' : /@.+/ ,\n\t\t'code-tag' : /<\\/?[\\w-]+\\/?>?|&\\w+;/ ,\n\t\t'code-punctuation' : /[\\-\\[\\]\\{\\}\\(\\)<=>~!\\?@#%&\\*_\\+\\\\\\/\\|;:\\.,\\^]+?/ ,\n\t})\n\t\n}\n","namespace $.$$ {\n\n\texport class $mol_text_code_row extends $.$mol_text_code_row {\n\t\t\n\t\tmaximal_width() {\n\t\t\treturn this.text().length * this.letter_width()\n\t\t}\n\t\t\n\t\tsyntax() {\n\t\t\treturn this.$.$mol_syntax2_md_code\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\ttokens( path: number[] ) {\n\n\t\t\tconst tokens = [] as { name : string , found : string , chunks: string[] }[]\n\t\t\t\n\t\t\tconst text = ( path.length > 0 )\n\t\t\t\t// @FIXME: this logic compatible only with `string`\n\t\t\t\t? this.tokens( path.slice( 0, path.length - 1 ) )[ path[ path.length - 1 ] ].found.slice( 1, -1 )\n\t\t\t\t: this.text()\n\t\t\t\n\t\t\tthis.syntax().tokenize(\n\t\t\t\ttext,\n\t\t\t\t( name , found , chunks )=> {\n\t\t\t\t\tif( name === 'code-sexpr' ) {\n\t\t\t\t\t\ttokens.push({ name: 'code-punctuation', found: '(', chunks: [] })\n\t\t\t\t\t\ttokens.push({ name: 'code-call', found: chunks[0], chunks: [] })\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttokens.push({ name , found , chunks })\t\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t)\n\t\t\t\n\t\t\treturn tokens as Readonly< typeof tokens >\n\t\t}\n\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\t... this.numb_showed() ? [ this.Numb() ] : [],\n\t\t\t\t... this.row_content([])\n\t\t\t]\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\trow_content( path: number[] ) {\n\t\t\treturn this.tokens( path ).map( (t,i)=> this.Token([ ... path, i ]) )\n\t\t}\n\n\t\tToken( path: number[] ) {\n\t\t\treturn this.token_type( path ) === 'code-link' ? this.Token_link( path ) : super.Token( path )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttoken_type( path: number[] ) {\n\t\t\treturn this.tokens( [ ... path.slice( 0, path.length - 1 ) ] )[ path[ path.length - 1 ] ].name\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttoken_content( path: number[] ) {\n\n\t\t\tconst tokens = this.tokens( [ ... path.slice( 0, path.length - 1 ) ] ) \n\t\t\tconst token = tokens[ path[ path.length - 1 ] ]\n\n\t\t\tswitch( token.name ) {\n\t\t\t\t\n\t\t\t\tcase 'code-string': return [\n\t\t\t\t\ttoken.found[0],\n\t\t\t\t\t... this.row_content( path ),\n\t\t\t\t\ttoken.found[ token.found.length - 1 ],\n\t\t\t\t] \n\t\t\t\t\n\t\t\t\tdefault: return [ token.found ]\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttoken_text( path: number[] ) {\n\n\t\t\tconst tokens = this.tokens( [ ... path.slice( 0, path.length - 1 ) ] ) \n\t\t\tconst token = tokens[ path[ path.length - 1 ] ]\n\n\t\t\treturn token.found\n\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttoken_uri( path: number[] ) {\n\t\t\tconst uri = this.token_text( path )\n\t\t\treturn this.uri_resolve( uri )\n\t\t}\n\t\t\n\t\t*view_find(\n\t\t\tcheck: ( path : $mol_view, text?: string )=> boolean,\n\t\t\tpath = [] as $mol_view[],\n\t\t): Generator< $mol_view[] > {\n\n\t\t\tif( check( this, this.text() ) ) {\n\t\t\t\tyield [ ... path, this ]\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tfind_pos( offset: number ) {\n\t\t\treturn this.find_token_pos([ offset ])\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tfind_token_pos( [ offset, ... path ]: number[] ) {\n\t\t\t\n\t\t\tfor( const [ index, token ] of this.tokens( path ).entries() ) {\n\t\t\t\tif( token.found.length >= offset ) {\n\t\t\t\t\tconst token = this.Token([ ... path, index ])\n\t\t\t\t\treturn { token, offset }\n\t\t\t\t} else {\n\t\t\t\t\toffset -= token.found.length\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn null\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $.$$ {\n\t\n\tconst { rem } = $mol_style_unit\n\n\t$mol_style_define( $mol_text_code_row, {\n\n\t\tdisplay: 'block',\n\t\tposition: 'relative',\n\t\t\n\t\tfont: {\n\t\t\tfamily: 'monospace',\n\t\t},\n\t\t\n\t\tNumb: {\n\t\t\ttextAlign: 'right',\n\t\t\tcolor: $mol_theme.shade,\n\t\t\twidth: rem(3),\n\t\t\tmargin: {\n\t\t\t\tleft: rem(-4),\n\t\t\t},\n\t\t\tdisplay: 'inline-block',\n\t\t\twhiteSpace: 'nowrap',\n\t\t\tuserSelect: 'none',\n\t\t\tposition: 'absolute',\n\t\t},\n\n\t} )\n\t\n}\n","namespace $ {\n\n\texport type $mol_blob = Blob\n\n\texport let $mol_blob = ( $node.buffer?.Blob ?? $mol_dom_context.Blob ) as any as {\n\t\tprototype: Blob;\n\t\tnew(blobParts?: readonly BlobPart[], options?: BlobPropertyBag): Blob;\n\t}\n\n}\n","$mol_icon_clipboard $mol_icon path \\M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3\n","$mol_icon_clipboard_outline $mol_icon path \\M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M7,7H17V5H19V19H5V5H7V7Z\n","$mol_button_copy $mol_button_minor\n\tblobs /$mol_blob\n\t\t<= text_blob? $mol_blob /\n\t\t\t/BlobPart <= text <= title\n\t\t\t* type \\text/plain\n\t\t<= html_blob? $mol_blob /\n\t\t\t/BlobPart <= html \\\n\t\t\t* type \\text/html\n\tdata *\n\tsub /\n\t\t<= Icon $mol_icon_clipboard_outline\n\t\t<= title \\\n\n","namespace $ {\n\t\n\tconst mapping = {\n\t\t'<' : '<' ,\n\t\t'>' : '>' ,\n\t\t'\"' : '"' ,\n\t\t'&' : '&' ,\n\t}\n\t\n\texport function $mol_html_encode( text : string ) {\n\t\treturn text.replace( /[&<\">]/gi , str => mapping[ str as keyof typeof mapping ] )\n\t}\n\t\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Button copy text() value to clipboard\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_button_demo\n\t */\n\texport class $mol_button_copy extends $.$mol_button_copy {\n\t\t\n\t\tdata() {\n\t\t\treturn Object.fromEntries(\n\t\t\t\tthis.blobs().map( blob => [ blob.type, blob ] )\n\t\t\t)\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\thtml() {\n\t\t\treturn $mol_html_encode( this.text() )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tattachments() {\n\t\t\treturn [ new ClipboardItem( this.data() ) ]\n\t\t}\n\t\t\n\t\tclick( event?: Event ) {\n\t\t\tconst cb = $mol_wire_sync( this.$.$mol_dom_context.navigator.clipboard )\n\t\t\t\n\t\t\tcb.writeText?.( this.text() )\n\t\t\tcb.write?.( this.attachments() )\n\n\t\t\tif( cb.writeText === undefined && cb.write === undefined ) {\n\t\t\t\tthrow new Error( \"doesn't support copy to clipoard\" )\n\t\t\t}\n\t\t}\n\n\t}\n\t\n}\n","$mol_text_code $mol_stack\n\tattr *\n\t\t^\n\t\tmol_text_code_sidebar_showed <= sidebar_showed false\n\ttext \\\n\ttext_lines /string\n\tfind_pos* null\n\turi_base \\\n\tsub /\n\t\t<= Rows $mol_list\n\t\t\trender_visible_only <= render_visible_only false\n\t\t\trows <= rows /\n\t\t\t\t<= Row*0 $mol_text_code_row\n\t\t\t\t\tnumb_showed <= sidebar_showed\n\t\t\t\t\tnumb <= row_numb* 0\n\t\t\t\t\ttext <= row_text* \\\n\t\t\t\t\tsyntax <= syntax null\n\t\t\t\t\turi_resolve* <= uri_resolve* \\\n\t\t\t\t\thighlight <= highlight \\\n\t\t<= Copy $mol_button_copy\n\t\t\thint @ \\Copy whole code\n\t\t\ttext <= text_export \\\n","namespace $.$$ {\n\n\t/**\n\t * Code visualizer.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_text_code_demo\n\t */\n\texport class $mol_text_code extends $.$mol_text_code {\n\t\t\n\t\trender_visible_only() {\n\t\t\treturn this.$.$mol_support_css_overflow_anchor()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttext_lines() {\n\t\t\treturn ( this.text() ?? '' ).split( '\\n' ) as readonly string[]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\trows() {\n\t\t\treturn this.text_lines().map( ( _ , index )=> this.Row( index + 1 ) )\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\trow_text( index: number ) {\n\t\t\treturn this.text_lines()[ index - 1 ]\n\t\t}\n\t\t\n\t\trow_numb( index: number ) {\n\t\t\treturn index\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tfind_pos( offset: number ) {\n\t\t\t\n\t\t\tfor( const [ index, line ] of this.text_lines().entries() ) {\n\t\t\t\tif( line.length >= offset ) {\n\t\t\t\t\treturn this.Row( index + 1 ).find_pos( offset )\n\t\t\t\t} else {\n\t\t\t\t\toffset -= line.length + 1\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn null\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Rows(),\n\t\t\t\t... this.sidebar_showed() ? [ this.Copy() ] : []\n\t\t\t]\n\t\t}\n\t\t\n\t\tsyntax() {\n\t\t\treturn this.$.$mol_syntax2_md_code\n\t\t}\n\n\t\turi_base() {\n\t\t\treturn $mol_dom_context.document.location.href\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\turi_resolve( uri: string ) {\n\t\t\t\n\t\t\tif( /^(\\w+script+:)+/.test( uri ) ) return null as any as string\n\t\t\t\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tconst url = new URL( uri , this.uri_base() )\n\t\t\t\treturn url.toString()\n\t\t\t\t\n\t\t\t} catch( error ) {\n\t\t\t\t\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn null as any as string\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\ttext_export() {\n\t\t\treturn this.text() + '\\n'\n\t\t}\n\t\t\n\t}\n}\n","namespace $.$$ {\n\t\n\tconst { rem, px } = $mol_style_unit\n\n\t$mol_style_define( $mol_text_code, {\n\n\t\twhiteSpace: 'pre-wrap',\n\t\tfont: {\n\t\t\tfamily: 'monospace',\n\t\t},\n\t\t\n\t\tRows: {\n\t\t\tpadding: $mol_gap.text,\n\t\t},\n\t\t\n\t\tCopy: {\n\t\t\talignSelf: 'flex-start',\n\t\t\tjustifySelf: 'flex-start',\n\t\t},\n\t\t\n\t\t'@': {\n\t\t\t'mol_text_code_sidebar_showed': {\n\t\t\t\ttrue: {\n\t\t\t\t\t$mol_text_code_row: {\n\t\t\t\t\t\tmargin: {\n\t\t\t\t\t\t\tleft: rem(1.75),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t} )\n\t\n}\n","$mol_textarea $mol_stack\n\tattr *\n\t\t^\n\t\tmol_textarea_clickable <= clickable? false\n\t\tmol_textarea_sidebar_showed <= sidebar_showed false\n\tevent *\n\t\tkeydown?event <=> press?event null\n\t\tpointermove?event <=> hover?event null\n\tsub /\n\t\t<= Edit $mol_textarea_edit\n\t\t\tvalue? <=> value? \\\n\t\t\thint <= hint \\ \n\t\t\tenabled <= enabled true\n\t\t\tspellcheck <= spellcheck true\n\t\t\tlength_max <= length_max +Infinity\n\t\t\tselection? <=> selection? /number\n\t\t\tbring => bring\n\t\t\tsubmit? <=> submit? null\n\t\t\tsubmit_with_ctrl <= submit_with_ctrl true\n\t\t<= View $mol_text_code\n\t\t\ttext <= value\n\t\t\trender_visible_only false\n\t\t\trow_numb* <= row_numb* 0\n\t\t\tsidebar_showed <= sidebar_showed\n\t\t\thighlight <= highlight \\\n\tsymbols_alt *string\n\t\tcomma \\<\n\t\tperiod \\>\n\t\tdash \\−\n\t\tequals \\≈\n\t\tgraveAccent \\́\n\t\tforwardSlash \\÷\n\t\tE \\€\n\t\tV \\✔\n\t\tX \\×\n\t\tC \\©\n\t\tP \\§\n\t\tH \\₽\n\t\tkey0 \\°\n\t\tkey8 \\•\n\t\tkey2 \\@\n\t\tkey3 \\#\n\t\tkey4 \\$\n\t\tkey6 \\^\n\t\tkey7 \\&\n\t\tbracketOpen \\[\n\t\tbracketClose \\]\n\t\tslashBack \\|\n\tsymbols_alt_ctrl *string\n\t\tspace \\ \n\tsymbols_alt_shift *string\n\t\tV \\✅\n\t\tX \\❌\n\t\tO \\⭕\n\t\tkey1 \\❗\n\t\tkey4 \\💲\n\t\tkey7 \\❓\n\t\tcomma \\«\n\t\tperiod \\»\n\t\tsemicolon \\“\n\t\tquoteSingle \\”\n\t\tdash \\—\n\t\tequals \\≠\n\t\tgraveAccent \\̱\n\t\tbracketOpen \\{\n\t\tbracketClose \\}\n\n$mol_textarea_edit $mol_string\n\tdom_name \\textarea\n\tenter \\enter\n\tfield *\n\t\t^\n\t\tscrollTop 0\n","namespace $.$$ {\n\n\t/**\n\t * An input field for entering multiline text.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_textarea_demo\n\t */\n\texport class $mol_textarea extends $.$mol_textarea {\n\n\t\tindent_inc() {\n\n\t\t\tlet text = this.value()\n\t\t\tlet [ from, to ] = this.selection()\n\t\t\t\n\t\t\tconst rows = text.split( '\\n' )\n\t\t\tlet start = 0\n\t\t\t\n\t\t\tfor( let i = 0; i < rows.length; ++i ) {\n\t\t\t\tlet end = start + rows[i].length\n\t\t\t\t\n\t\t\t\tif( end >= from && start <= to ) {\n\t\t\t\t\tif( to === from || start !== to ) {\n\t\t\t\t\t\trows[i] = '\\t' + rows[i]\n\t\t\t\t\t\tto += 1\n\t\t\t\t\t\tend += 1\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstart = end + 1\n\t\t\t}\n\n\t\t\tthis.value( rows.join('\\n') )\n\t\t\tthis.selection([ from + 1, to ])\n\t\t\t\n\t\t}\n\n\t\tindent_dec() {\n\n\t\t\tlet text = this.value()\n\t\t\tlet [ from, to ] = this.selection()\n\t\t\t\n\t\t\tconst rows = text.split( '\\n' )\n\t\t\tlet start = 0\n\t\t\t\n\t\t\tfor( let i = 0; i < rows.length; ++i ) {\n\t\t\t\tconst end = start + rows[i].length\n\t\t\t\t\n\t\t\t\tif( end >= from && start <= to && rows[i].startsWith( '\\t' ) ) {\n\t\t\t\t\trows[i] = rows[i].slice( 1 )\n\t\t\t\t\tto -= 1\n\t\t\t\t\tif( start < from ) from -= 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstart = end + 1\n\t\t\t}\n\n\t\t\tthis.value( rows.join('\\n') )\n\t\t\tthis.selection([ from, to ])\n\t\t\t\n\t\t}\n\t\t\n\t\tsymbol_insert( event: KeyboardEvent ) {\n\t\t\t\n\t\t\tconst symbol = event.shiftKey\n\t\t\t\t? this.symbols_alt_shift()[ $mol_keyboard_code[ event.keyCode ] ]\n\t\t\t\t: event.ctrlKey\n\t\t\t\t\t? this.symbols_alt_ctrl()[ $mol_keyboard_code[ event.keyCode ] ]\n\t\t\t\t\t: this.symbols_alt()[ $mol_keyboard_code[ event.keyCode ] ]\n\t\t\t\t\n\t\t\tif( !symbol ) return\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\tdocument.execCommand( 'insertText', false, symbol )\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tclickable( next?: boolean ) {\n\t\t\tif( !this.enabled() ) return true\n\t\t\treturn next ?? false\n\t\t}\n\t\t\n\t\thover( event : PointerEvent ) {\n\t\t\tthis.clickable( event.ctrlKey )\n\t\t}\n\t\t\n\t\tpress( event : KeyboardEvent ) {\n\t\t\t\n\t\t\tif( event.altKey ) {\n\t\t\t\t\n\t\t\t\tthis.symbol_insert( event )\n\t\t\t\t\n\t\t\t} else {\n\n\t\t\t\tswitch( event.keyCode ) {\n\t\t\t\t\tcase !event.shiftKey && $mol_keyboard_code.tab : this.indent_inc() ; break\n\t\t\t\t\tcase event.shiftKey && $mol_keyboard_code.tab : this.indent_dec() ; break\n\t\t\t\t\tdefault : return\n\t\t\t\t}\n\t\t\t\n\t\t\t\tevent.preventDefault()\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\t\t\n\t\trow_numb( index: number ) {\n\t\t\treturn index\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/textarea/textarea.view.css\",\n \"[mol_textarea] {\\n\\tflex: 1 0 auto;\\n\\tflex-direction: column;\\n\\tvertical-align: top;\\n\\tmin-height: max-content;\\n\\twhite-space: pre-wrap;\\n\\tword-break: break-word;\\n\\tborder-radius: var(--mol_gap_round);\\n\\tfont-family: monospace;\\n\\tposition: relative;\\n\\ttab-size: 4;\\n}\\n\\n[mol_textarea_view] {\\n\\tpointer-events: none;\\n\\twhite-space: inherit;\\n\\tfont-family: inherit;\\n\\ttab-size: inherit;\\n\\tuser-select: none;\\n}\\n\\n[mol_textarea_view_copy] {\\n\\tpointer-events: all;\\n}\\n\\n[mol_textarea_clickable] > [mol_textarea_view] {\\n\\tpointer-events: all;\\n\\tuser-select: auto;\\n}\\n\\n[mol_textarea_clickable] > [mol_textarea_edit] {\\n\\tuser-select: none;\\n}\\n\\n[mol_textarea_edit] {\\n\\tfont-family: inherit;\\n\\tpadding: var(--mol_gap_text);\\n\\tcolor: transparent !important;\\n\\tcaret-color: var(--mol_theme_text);\\n\\tresize: none;\\n\\ttext-align: inherit;\\n\\twhite-space: inherit;\\n\\tborder-radius: inherit;\\n\\toverflow-anchor: none;\\n\\tposition: absolute;\\n\\theight: 100%;\\n\\twidth: 100%;\\n\\ttab-size: inherit;\\n}\\n\\n[mol_textarea_sidebar_showed] [mol_textarea_edit] {\\n\\tleft: 1.75rem;\\n\\twidth: calc( 100% - 1.75rem );\\n}\\n\\n[mol_textarea_edit]:hover + [mol_textarea_view] {\\n\\tz-index: var(--mol_layer_hover);\\n}\\n\\n[mol_textarea_edit]:focus + [mol_textarea_view] {\\n\\tz-index: var(--mol_layer_focus);\\n}\\n\"\n) }","$mol_check_list $mol_view\n\tdictionary *\n\tOption* $mol_check\n\t\tchecked? <=> option_checked*? false\n\t\tlabel <= option_label* /\n\t\t\t<= option_title* \\\n\t\tenabled <= option_enabled* <= enabled true\n\t\thint <= option_hint* \\\n\t\tminimal_height 24\n\toptions *\n\tkeys /string\n\tsub <= items /$mol_check\n","namespace $.$$ {\n\t\n\t/**\n\t * List of checkboxes\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_check_list_demo\n\t */\n\texport class $mol_check_list extends $.$mol_check_list {\n\n\t\toptions() : { [ key : string ] : string } {\n\t\t\treturn {}\n\t\t}\n\n\t\toverride dictionary(next?: Record) {\n\t\t\treturn next ?? {}\n\t\t}\n\n\t\toverride option_checked(id: string, next?: boolean | null) {\n\t\t\tconst prev = this.dictionary()\n\t\t\tif (next === undefined) return prev[id] ?? null\n\n\t\t\tconst next_rec = { ... prev, [id]: next } as Record\n\t\t\tif (next === null) delete next_rec[id]\n\n\t\t\treturn this.dictionary(next_rec)[id] ?? null\n\t\t}\n\n\t\t@ $mol_mem\n\t\tkeys(): readonly string[] {\n\t\t\treturn Object.keys( this.options() )\n\t\t}\n\n\t\t@ $mol_mem\n\t\titems() {\n\t\t\treturn this.keys().map( key => this.Option( key ) )\n\t\t}\n\t\t\n\t\toption_title( key : string ) {\n\t\t\treturn this.options()[key] || key\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/check/list/list.view.css\",\n \"[mol_check_list] {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\tflex: 1 1 auto;\\n\\tborder-radius: var(--mol_gap_round);\\n\\tgap: 1px;\\n}\\n\\n[mol_check_list_option] {\\n\\tflex: 0 1 auto;\\n}\\n\\n[mol_check_list_option]:where([mol_check_checked=\\\"true\\\"]) {\\n\\ttext-shadow: 0 0;\\n\\tcolor: var(--mol_theme_current);\\n}\\n\\n[mol_check_list_option]:where([mol_check_checked=\\\"true\\\"][disabled]) {\\n\\tcolor: var(--mol_theme_text);\\n}\\n\"\n) }","$mol_switch $mol_check_list\n\tvalue? \\\n","namespace $ {\n\t\n\texport class $mol_state_session< Value > extends $mol_object {\n\t\t\n\t\tstatic 'native()' : Pick< Storage , 'getItem'|'setItem'|'removeItem' >\n\t\tstatic native() {\n\t\t\tif( this['native()'] ) return this['native()']\n\n\t\t\tcheck : try {\n\t\t\t\tconst native = $mol_dom_context.sessionStorage\n\t\t\t\tif( !native ) break check\n\n\t\t\t\tnative.setItem( '' , '' )\n\t\t\t\tnative.removeItem( '' )\n\t\t\t\treturn this['native()'] = native\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.warn( error )\n\t\t\t}\n\n\t\t\treturn this['native()'] = {\n\t\t\t\tgetItem( key : string ) {\n\t\t\t\t\treturn (this as any)[ ':' + key ]\n\t\t\t\t} ,\n\t\t\t\tsetItem( key : string , value : string ) {\n\t\t\t\t\t(this as any)[ ':' + key ] = value\n\t\t\t\t} ,\n\t\t\t\tremoveItem( key : string ) {\n\t\t\t\t\t(this as any)[ ':' + key ] = void 0\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tstatic value< Value >( key : string , next? : Value ) : Value {\n\t\t\tif( next === void 0 ) return JSON.parse( this.native().getItem( key ) || 'null' )\n\t\t\t\n\t\t\tif( next === null ) this.native().removeItem( key )\n\t\t\telse this.native().setItem( key , JSON.stringify( next ) )\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tprefix() { return '' }\n\t\t\n\t\tvalue( key : string , next? : Value ) {\n\t\t\treturn $mol_state_session.value( this.prefix() + '.' + key , next )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Buttons which switching the state\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_switch_demo\n\t */\n\texport class $mol_switch extends $.$mol_switch {\n\n\t\tvalue( next? : string ) {\n\t\t\treturn $mol_state_session.value( `${ this }.value()` , next ) ?? ''\n\t\t}\n\t\t\n\t\toption_checked( key : string , next? : boolean ) {\n\t\t\tif( next === undefined ) return this.value() == key\n\t\t\tthis.value( next ? key : '' )\n\t\t\treturn next\n\t\t}\n\n\t}\n\n}\n","$mol_deck $mol_list\n\titems /$mol_view\n\trows /$mol_view\n\t\t<= Switch $mol_switch\n\t\t\tvalue? <=> current? \\0\n\t\t\toptions <= switch_options *\n\t\t<= Content $mol_view\n","namespace $.$$ {\n\t\n\t/**\n\t * The component which arrange content in multiple tabs.\n\t * @seehttps://mol.hyoo.ru/#!section=demos/demo=mol_deck_demo\n\t */\n\texport class $mol_deck extends $.$mol_deck {\n\t\t\n\t\tcurrent( next? : string ) {\n\t\t\treturn $mol_state_session.value( `${ this }.current()` , next ) || '0'\n\t\t}\n\t\t\n\t\tswitch_options() {\n\t\t\tlet options : Record< string , string > = {}\n\t\t\tthis.items().forEach( ( item , index ) => {\n\t\t\t\toptions[ String( index ) ] = item.title()\n\t\t\t} )\n\t\t\treturn options\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tContent() {\n\t\t\treturn this.items()[ Number( this.current() ) ]\n\t\t}\n\t\t\n\t}\n}\n","$mol_embed_native $mol_scroll\n\turi? \\\n\tdom_name \\object\n\twindow null\n\tattr *\n\t\t^\n\t\tdata <= uri\n\t\ttype <= mime \\\n\tsub /\n\t\t<= Fallback $mol_link\n\t\t\turi <= uri\n\t\t\tsub /\n\t\t\t\t<= title \\\n\tmessage *\n\t\thashchange? <=> uri_change? null\n","namespace $ {\n\n\texport function $mol_promise< Result = void >() {\n\t\t\n\t\tlet done!: ( res: Result | PromiseLike< Result > )=> void\n\t\tlet fail!: ( error?: any ) => void\n\t\t\n\t\tconst promise = new Promise< Result >( ( d, f ) => {\n\t\t\tdone = d\n\t\t\tfail = f\n\t\t} )\n\t\t\n\t\treturn Object.assign( promise, {\n\t\t\tdone,\n\t\t\tfail,\n\t\t} )\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_wait_timeout_async( this: $, timeout: number ): Promise< void > {\n\t\tconst promise = $mol_promise()\n\t\tconst task = new this.$mol_after_timeout( timeout , ()=> promise.done() )\n\t\treturn Object.assign( promise, {\n\t\t\tdestructor: ()=> task.destructor()\n\t\t} )\n\t}\n\t\n\texport function $mol_wait_timeout( this: $, timeout: number ) {\n\t\treturn this.$mol_wire_sync( this ).$mol_wait_timeout_async( timeout )\n\t}\n\t\n}\n","namespace $.$$ {\n\texport class $mol_embed_native extends $.$mol_embed_native {\n\n\t\t@ $mol_mem\n\t\twindow() {\n\t\t\t$mol_wire_solid()\n\t\t\treturn $mol_wire_sync( this as $mol_embed_native ).load( this.dom_node_actual() as HTMLIFrameElement )\n\t\t}\n\t\t\n\t\tload( frame: HTMLIFrameElement ) {\n\t\t\treturn new Promise< Window >( ( done, fail )=> {\n\t\t\t\t\n\t\t\t\tframe.onload = () => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tif( frame.contentWindow!.location.href === 'about:blank' ) {\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch { }\n\t\t\t\t\tdone( frame.contentWindow! )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tframe.onerror = ( event : Event | string ) => {\n\t\t\t\t\tfail( typeof event === 'string' ? new Error( event ) : ( event as ErrorEvent ).error || event )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\turi_resource() {\n\t\t\treturn this.uri().replace( /#.*/, '' )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tmessage_listener() {\n\t\t\treturn new $mol_dom_listener(\n\t\t\t\t$mol_dom_context,\n\t\t\t\t'message',\n\t\t\t\t$mol_wire_async( this ).message_receive\n\t\t\t)\n\t\t}\n\t\t\n\t\tmessage_receive( event?: MessageEvent<[ string, string ]> ) {\n\t\t\t\n\t\t\tif( !event ) return\n\t\t\tif( event.source !== this.window() ) return\n\t\t\tif( !Array.isArray( event.data ) ) return\n\t\t\t\n\t\t\t(this.message() as any)[ event.data[0] ]?.( event )\n\t\t}\n\n\t\turi_change( event: MessageEvent<[ string, string ]> ) {\n\t\t\tthis.$.$mol_wait_timeout( 1000 )\n\t\t\tthis.uri( event.data[1] )\n\t\t}\n\n\t\tauto() {\n\t\t\treturn [\n\t\t\t\tthis.message_listener(),\n\t\t\t\tthis.window(),\n\t\t\t]\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/embed/native/native.view.css\",\n \"[mol_embed_native] {\\n\\tmax-width: 100%;\\n\\tmax-height: 100vh;\\n\\tobject-fit: cover;\\n\\tdisplay: flex;\\n\\tflex: 1 1 auto;\\n\\tobject-position: top left;\\n\\tborder-radius: var(--mol_gap_round);\\n\\taspect-ratio: 4/3;\\n}\\n\"\n) }","$mol_frame $mol_embed_native\n\tdom_name \\iframe\n\tattr *\n\t\t^\n\t\tdata null\n\t\ttype null\n\t\tallow <= allow \\\n\t\tsrc <= uri? \\about:config\n\t\tsrcdoc <= html null\n\tfullscreen true\n\taccelerometer true\n\tautoplay true\n\tencription true\n\tgyroscope true\n\tpip true\n\tclipboard_read true\n\tclipboard_write true\n","namespace $.$$ {\n\n\t/**\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_frame_demo\n\t */\n\texport class $mol_frame extends $.$mol_frame {\n\t\t\n\t\twindow() {\n\t\t\t// if( this.html() ) return ( this.dom_node() as HTMLIFrameElement ).contentWindow!\n\t\t\treturn super.window()\n\t\t}\n\n\t\tallow() {\n\t\t\treturn [\n\t\t\t\t... this.fullscreen() ? [ 'fullscreen' ] : [] ,\n\t\t\t\t... this.accelerometer() ? [ 'accelerometer' ] : [] ,\n\t\t\t\t... this.autoplay() ? [ 'autoplay' ] : [] ,\n\t\t\t\t... this.encription() ? [ 'encrypted-media' ] : [] ,\n\t\t\t\t... this.gyroscope() ? [ 'gyroscope' ] : [] ,\n\t\t\t\t... this.pip() ? [ 'picture-in-picture' ] : [] ,\n\t\t\t\t... this.clipboard_read() ? [ `clipboard-read ${ this.uri() }` ] : [],\n\t\t\t\t... this.clipboard_write() ? [ `clipboard-write ${ this.uri() }` ] : [],\n\t\t\t].join('; ')\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t$mol_style_define( $mol_frame , {\n\t\tborder: {\n\t\t\tstyle: 'none',\n\t\t},\n\t\tmaxHeight: $mol_style_unit.vh(100),\n\t} )\n}\n","$mol_svg_group $mol_svg\n\tdom_name \\g\n","namespace $ {\n\n\texport class $mol_vector< Value , Length extends number > extends Array< Value > {\n\n\t\tget length() {\n\t\t\treturn super.length as Length\n\t\t}\n\n\t\tconstructor( ... values : Value[] & { length : Length } ) { super( ... values ) }\n\t\t\n\t\tmap< Res >(\n\t\t\tconvert : ( value : Value , index : number , array : this ) => Res ,\n\t\t\tself? : any ,\n\t\t) : $mol_vector< Res , Length > {\n\t\t\treturn super.map( convert as any , self ) as any\n\t\t}\n\n\t\tmerged< Patch >(\n\t\t\tpatches : readonly Patch[] & { length : Length } ,\n\t\t\tcombine : ( value : Value , patch : Patch ) => Value ,\n\t\t) : this {\n\t\t\treturn this.map( ( value , index )=> combine( value , patches[ index ] ) ) as any\n\t\t}\n\n\t\tlimited(\n\t\t\tthis : $mol_vector< number , Length > ,\n\t\t\tlimits : readonly ( readonly [ number , number ] )[] & { length : Length } ,\n\t\t) : this {\n\t\t\treturn this.merged( limits , ( value , [ min , max ] )=> ( value < min ) ? min : ( value > max ) ? max : value ) as any\n\t\t}\n\n\t\tadded0( this : $mol_vector< number , Length > , diff : number ) : this {\n\t\t\treturn this.map( value => value + diff ) as any\n\t\t}\n\n\t\tadded1( this : $mol_vector< number , Length > , diff : readonly number[] & { length : Length } ) : this {\n\t\t\treturn this.merged( diff , ( a , b )=> a + b ) as any\n\t\t}\n\n\t\tmulted0( this : $mol_vector< number , Length > , mult : number ) : this {\n\t\t\treturn this.map( value => value * mult ) as any\n\t\t}\n\n\t\tmulted1(\n\t\t\tthis : $mol_vector< number , Length > ,\n\t\t\tmults : readonly number[] & { length : Length } ,\n\t\t) : this {\n\t\t\treturn this.merged( mults , ( a , b )=> a * b ) as any\n\t\t}\n\n\t\tpowered0( this : $mol_vector< number , Length > , mult : number ) : this {\n\t\t\treturn this.map( value => value ** mult ) as any\n\t\t}\n\n\t\texpanded1(\n\t\t\tthis : $mol_vector< $mol_vector_range< number > , Length > ,\n\t\t\tpoint : readonly number[] & { length : Length } ,\n\t\t) : this {\n\t\t\treturn this.merged( point , ( range , value )=> range.expanded0( value ) ) as any\n\t\t}\n\n\t\texpanded2(\n\t\t\tthis : $mol_vector< $mol_vector_range< number > , Length > ,\n\t\t\tpoint : readonly ( readonly [ number , number ] )[] & { length : Length } ,\n\t\t) : this {\n\t\t\treturn this.merged( point , ( range1 , range2 )=> {\n\t\t\t\tlet next = range1\n\t\t\t\tconst Range = range1.constructor as typeof $mol_vector_range\n\t\t\t\tif (range1[0] > range2[0]) next = new Range(range2[0], next.max);\n\t\t\t\tif (range1[1] < range2[1]) next = new Range(next.min, range2[1])\n\n\t\t\t\treturn next\n\t\t\t}) as any\n\t\t}\n\n\t\tcenter< Item extends $mol_vector< number, number > >(\n\t\t\tthis : $mol_vector< Item , Length > ,\n\t\t) : Item {\n\t\t\tconst Result = this[0].constructor as typeof $mol_vector\n\t\t\treturn new Result( ... this[0].map( (_,i)=> this.reduce( ( sum, point )=> sum + point[i], 0 ) / this.length ) ) as any\n\t\t}\n\n\t\tdistance(\n\t\t\tthis : $mol_vector< $mol_vector< number, number >, Length > ,\n\t\t): number {\n\t\t\tlet distance = 0\n\t\t\t\n\t\t\tfor( let i = 1; i < this.length; ++i ) {\n\t\t\t\tdistance += this[ i - 1 ].reduce( ( sum, min, j )=> sum + ( min - this[i][j] ) ** 2, 0 ) ** ( 1 / this[i].length )\n\t\t\t}\n\t\t\t\n\t\t\treturn distance\n\t\t}\n\n\t\ttransponed(\n\t\t\tthis : $mol_vector< $mol_vector< number, number >, Length > ,\n\t\t): $mol_vector< $mol_vector< number, Length >, typeof this[0]['length'] > {\n\t\t\treturn this[0].map( ( _, i )=> this.map( row => row[i] ) )\n\t\t}\n\n\t\tget x() { return this[0] }\n\t\tset x( next: Value ) { this[0] = next }\n\t\t\n\t\tget y() { return this[1] }\n\t\tset y( next: Value ) { this[1] = next }\n\t\t\n\t\tget z() { return this[2] }\n\t\tset z( next: Value ) { this[2] = next }\n\t\t\n\t}\n\n\texport class $mol_vector_1d< Value > extends $mol_vector< Value , 1 > { }\n\n\texport class $mol_vector_2d< Value > extends $mol_vector< Value , 2 > {}\n\n\texport class $mol_vector_3d< Value > extends $mol_vector< Value , 3 > {}\n\n\texport class $mol_vector_range< Value > extends $mol_vector< Value , 2 > {\n\t\t\n\t\t0: Value\n\t\t1: Value\n\t\t\n\t\tconstructor( min: Value, max = min ) {\n\t\t\tsuper( min, max )\n\t\t\tthis[0] = min\n\t\t\tthis[1] = max\n\t\t}\n\t\t\n\t\tget min() { return this[0] }\n\t\tset min( next: Value ) { this[0] = next }\n\t\t\n\t\tget max() { return this[1] }\n\t\tset max( next: Value ) { this[1] = next }\n\t\t\n\t\tget inversed() {\n\t\t\treturn new ( this.constructor as typeof $mol_vector_range )( this.max , this.min )\n\t\t}\n\n\t\texpanded0( value : Value ) {\n\t\t\tconst Range = this.constructor as typeof $mol_vector_range\n\t\t\tlet range = this as $mol_vector_range< Value >\n\t\t\t\n\t\t\tif( value > range.max ) range = new Range( range.min , value )\n\t\t\tif( value < range.min ) range = new Range( value , range.max )\n\n\t\t\treturn range\n\t\t}\n\n\t}\n\n\texport let $mol_vector_range_full = new $mol_vector_range( Number.NEGATIVE_INFINITY , Number.POSITIVE_INFINITY )\n\n\texport class $mol_vector_matrix<\n\t\tWidth extends number ,\n\t\tHeight extends number ,\n\t> extends $mol_vector< readonly number[] & { length : Width } , Height > {\n\n\t\tadded2(\n\t\t\tdiff : readonly ( readonly number[] & { length : Width } )[] & { length : Height }\n\t\t) : this {\n\t\t\treturn this.merged( diff , ( a , b )=> a.map( ( a2 , index ) => a2 + b[ index ] ) as any ) as any\n\t\t}\n\n\t\tmulted2(\n\t\t\tdiff : readonly ( readonly number[] & { length : Width } )[] & { length : Height }\n\t\t) : this {\n\t\t\treturn this.merged( diff , ( a , b )=> a.map( ( a2 , index ) => a2 * b[ index ] ) as any ) as any\n\t\t}\n\n\t}\n\n}\n","$mol_svg_title $mol_svg\n\tdom_name \\title\n\tsub /\n\t\t<= title\n","$mol_plot_graph $mol_svg_group\n\tseries_x /number\n\tseries_y /number\n\t-\n\tattr *\n\t\t^\n\t\tmol_plot_graph_type <= type \\solid\n\t-\n\tstyle *\n\t\t^\n\t\tcolor <= color \\\n\t-\n\tviewport $mol_vector_2d<$mol_vector_range> /\n\t\t<= viewport_x $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\t\t<= viewport_y $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\tshift /number\n\t\t0\n\t\t0\n\tscale /number\n\t\t1\n\t\t1\n\tcursor_position $mol_vector_2d /\n\t\tNaN\n\t\tNaN\n\tdimensions_pane $mol_vector_2d<$mol_vector_range> /\n\t\t<= dimensions_pane_x $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\t\t<= dimensions_pane_y $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\tdimensions $mol_vector_2d<$mol_vector_range> /\n\t\t<= dimensions_x $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\t\t<= dimensions_y $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\tsize_real $mol_vector_2d /\n\t\t0\n\t\t0\n\tgap $mol_vector_2d<$mol_vector_range> /\n\t\t<= gap_x $mol_vector_range /\n\t\t\t0\n\t\t\t0\n\t\t<= gap_y $mol_vector_range /\n\t\t\t0\n\t\t\t0\n\trepos_x* 0\n\trepos_y* 0\n\tindexes /number\n\tpoints /readonly(number)[]\n\tfront /$mol_svg\n\tback /$mol_svg\n\tHint $mol_svg_title\n\t\ttitle <= hint <= title \\\n\thue? +NaN\n\tSample null\n\n$mol_plot_graph_sample $mol_view\n\tattr *\n\t\t^\n\t\tmol_plot_graph_type <= type \\solid\n\tstyle *\n\t\t^\n\t\tcolor <= color \\black\n","namespace $.$$ {\n\texport class $mol_plot_graph extends $.$mol_plot_graph {\n\t\t\n\t\tviewport() {\n\t\t\tconst size = this.size_real()\n\t\t\treturn new this.$.$mol_vector_2d(\n\t\t\t\tnew this.$.$mol_vector_range(0, size.x),\n\t\t\t\tnew this.$.$mol_vector_range(0, size.y),\n\t\t\t)\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tindexes() {\n\t\t\treturn this.series_x().map( (_,i)=> i ) as readonly number[]\n\t\t}\n\t\t\n\t\trepos_x( val: number ) {\n\t\t\treturn val\n\t\t}\n\n\t\trepos_y( val: number ) {\n\t\t\treturn val\n\t\t}\n\n\t\tpoints() {\n\t\t\tconst [shift_x, shift_y] = this.shift()\n\t\t\tconst [scale_x, scale_y] = this.scale()\n\t\t\tconst series_x = this.series_x()\n\t\t\tconst series_y = this.series_y()\n\n\t\t\treturn this.indexes().map(index => {\n\t\t\t\t\n\t\t\t\tlet point_x = Math.round(shift_x + this.repos_x( series_x[index] ) * scale_x)\n\t\t\t\tlet point_y = Math.round(shift_y + this.repos_y( series_y[index] ) * scale_y)\n\n\t\t\t\tpoint_x = Math.max( Number.MIN_SAFE_INTEGER, Math.min( point_x, Number.MAX_SAFE_INTEGER ) )\n\t\t\t\tpoint_y = Math.max( Number.MIN_SAFE_INTEGER, Math.min( point_y, Number.MAX_SAFE_INTEGER ) )\n\n\t\t\t\treturn [point_x, point_y]\n\t\t\t}) as readonly( readonly number[] )[]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tseries_x() {\n\t\t\treturn this.series_y().map((val, index) => index) as readonly number[]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdimensions() {\n\t\t\tlet next = new this.$.$mol_vector_2d(\n\t\t\t\t$mol_vector_range_full.inversed,\n\t\t\t\t$mol_vector_range_full.inversed\n\t\t\t)\n\n\t\t\tconst series_x = this.series_x()\n\t\t\tconst series_y = this.series_y()\n\t\t\tfor(let i = 0; i < series_x.length; i++) {\n\t\t\t\tif( series_x[i] > next.x.max ) next.x.max = this.repos_x( series_x[i] )\n\t\t\t\tif( series_x[i] < next.x.min ) next.x.min = this.repos_x( series_x[i] )\n\t\t\t\tif( series_y[i] > next.y.max ) next.y.max = this.repos_y( series_y[i] )\n\t\t\t\tif( series_y[i] < next.y.min ) next.y.min = this.repos_y( series_y[i] )\n\t\t\t}\n\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tcolor() {\n\t\t\tconst hue = this.hue()\n\t\t\treturn hue ? `hsl( ${ hue } , 100% , 35% )` : ''\n\t\t}\n\t\t\n\t\tfront() {\n\t\t\treturn [ this ] as unknown as readonly $.$mol_svg[]\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/plot/graph/graph.view.css\",\n \"[mol_plot_graph] {\\n\\tstroke: currentColor;\\n}\\n\\n[mol_plot_graph_sample] {\\n\\tborder-width: 0;\\n\\tborder-style: solid;\\n}\\n\\n[mol_plot_graph_type=\\\"dashed\\\"] {\\n\\tstroke-dasharray: 4 4;\\n\\tborder-style: dashed;\\n}\\n\"\n) }","$mol_plot_bar $mol_plot_graph\n\tstyle *\n\t\t^\n\t\tstroke-width <= stroke_width \\1rem\n\tsub /\n\t\t<= Hint\n\t\t<= Curve $mol_svg_path\n\t\t\tgeometry <= curve \\\n\tSample $mol_plot_graph_sample\n\t\tcolor <= color\n","namespace $.$$ {\n\texport class $mol_plot_bar extends $.$mol_plot_bar {\n\n\t\t@$mol_mem\n\t\tindexes() {\n\t\t\tconst {\n\t\t\t\tx: {min: viewport_left, max: viewport_right},\n\t\t\t\ty: {min: viewport_bottom, max: viewport_top},\n\t\t\t} = this.viewport()\n\n\t\t\tconst [shift_x, shift_y] = this.shift()\n\t\t\tconst [scale_x, scale_y] = this.scale()\n\t\t\tconst indexes = [] as number[]\n\n\t\t\tconst series_x = this.series_x()\n\t\t\tconst series_y = this.series_y()\n\n\t\t\tlet first_x = null as number | null\n\t\t\tlet last_x = null as number | null\n\n\t\t\tfor (let i = 0; i < series_x.length; i++) {\n\t\t\t\tconst scaled = [\n\t\t\t\t\tMath.round( shift_x + series_x[i] * scale_x ),\n\t\t\t\t\tMath.round( shift_y + series_y[i] * scale_y ),\n\t\t\t\t] as const\n\n\t\t\t\tif (scaled[0] < viewport_left) {\n\t\t\t\t\tfirst_x = i\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (scaled[0] > viewport_right) {\n\t\t\t\t\tif (last_x === null) last_x = i\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\tif (scaled[1] < viewport_bottom) continue\n\t\t\t\tif (scaled[1] > viewport_top) continue\n \n\t\t\t\tif (first_x !== null) indexes.push(first_x)\n\n\t\t\t\tindexes.push(i)\n\n\t\t\t\tif (last_x !== null) indexes.push(last_x)\n\n\t\t\t\tfirst_x = last_x = null\n\t\t\t}\n\n\t\t\tif (first_x !== null) indexes.push(first_x)\n\t\t\tif (last_x !== null) indexes.push(last_x)\n\n\t\t\treturn indexes\n\t\t}\n\n\t\tcurve() {\n\t\t\tconst points = this.points()\n\t\t\tif( points.length === 0 ) return ''\n\t\t\tconst [, shift_y] = this.shift()\n\n\t\t\treturn points.map( point => `M ${point[0]} ${shift_y} V ${point[1]}`).join( ' ' )\n\t\t}\n\t\t\n\t\tstroke_width() {\n\t\t\treturn ( 8 / Math.sqrt( this.indexes().length ) ).toPrecision(2) + '%'\n\t\t}\n\t\t\n\t\tcolor() {\n\t\t\treturn `hsl( ${ this.hue() } , 80% , 80% )`\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tdimensions() {\n\t\t\tlet next = new this.$.$mol_vector_2d(\n\t\t\t\t$mol_vector_range_full.inversed,\n\t\t\t\tnew this.$.$mol_vector_range(0 , 0),\n\t\t\t)\n\t\t\t\n\t\t\tconst series_x = this.series_x()\n\t\t\tconst series_y = this.series_y()\n\t\t\tfor (let i = 0; i < series_x.length; i++) {\n\t\t\t\tnext = next.expanded1([series_x[i], series_y[i]] as const)\n\t\t\t}\n\t\t\t\n\t\t\tconst gap = ( next.x.max - next.x.min ) / series_x.length || 0.00000001\n\t\t\tnext[0] = next.x.added1([-gap, gap] as const)\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/plot/bar/bar.view.css\",\n \"[mol_plot_bar] {\\n\\tstroke-linecap: butt;\\n\\tstroke-width: 1rem;\\n}\\n\\n[mol_plot_bar_sample] {\\n\\tbackground: currentColor;\\n\\tposition: absolute;\\n\\ttop:0;\\n\\tbottom: 0;\\n\\tleft: 0;\\n\\tright: 0;\\n}\\n\"\n) }","$mol_svg_rect $mol_svg\n\tdom_name \\rect\n\tpos /\n\tattr *\n\t\t^\n\t\twidth <= width \\0\n\t\theight <= height \\0\n\t\tx <= pos_x \\\n\t\ty <= pos_y \\\n","namespace $.$$ {\n\n\texport class $mol_svg_rect extends $.$mol_svg_rect {\n\t\t\n\t\tpos_x() {\n\t\t\treturn this.pos()[ 0 ]\n\t\t}\n\t\t\n\t\tpos_y() {\n\t\t\treturn this.pos()[ 1 ]\n\t\t}\n\t\t\n\t}\n\t\n}\n","$mol_svg_text $mol_svg\n\tdom_name \\text\n\tpos /\n\tattr *\n\t\t^\n\t\tx <= pos_x \\\n\t\ty <= pos_y \\\n\t\ttext-anchor <= align_hor <= align \\middle\n\t\talignment-baseline <= align_vert \\baseline\n\tsub /\n\t\t<= text \\\n","namespace $.$$ {\n\t\n\texport class $mol_svg_text extends $.$mol_svg_text {\n\t\t\n\t\tpos_x() {\n\t\t\treturn this.pos()[ 0 ]\n\t\t}\n\t\t\n\t\tpos_y() {\n\t\t\treturn this.pos()[ 1 ]\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/svg/text/text.view.css\",\n \"[mol_svg_text] {\\n\\tfill: currentColor;\\n\\tstroke: none;\\n}\\n\"\n) }","$mol_plot_ruler $mol_plot_graph\n\tstep 0\n\tscale_axis 1\n\tscale_step 1\n\tshift_axis 1\n\tdimensions_axis $mol_vector_range /\n\t\tInfinity\n\t\t-Infinity\n\tviewport_axis $mol_vector_range /\n\t\tInfinity\n\t\t-Infinity\n\taxis_points /number\n\tnormalize? 0\n\tprecision 1\n\tsub /\n\t\t<= Background $mol_svg_rect\n\t\t\tpos_x <= background_x \\0\n\t\t\tpos_y <= background_y \\0\n\t\t\twidth <= background_width \\100%\n\t\t\theight <= background_height \\14\n\t\t<= Curve $mol_svg_path\n\t\t\tgeometry <= curve \\\n\t\t<= labels_formatted /\n\t\t<= Title $mol_svg_text\n\t\t\tpos_x <= title_pos_x \\0\n\t\t\tpos_y <= title_pos_y \\100%\n\t\t\talign <= title_align \\start\n\t\t\ttext <= title\n\tLabel* $mol_svg_text\n\t\tpos <= label_pos* /\n\t\t\t<= label_pos_x* \\\n\t\t\t<= label_pos_y* \\\n\t\ttext <= label_text* \\\n\t\talign <= label_align \\\n","namespace $ {\n\t\n\texport function $mol_math_round_expand( val : number , gap = 1 ) {\n\t\tif( val === 0 ) return 0\n\t\t\n\t\tconst val_abs = Math.abs( val )\n\t\tconst val_sign = val ? Math.round( val / val_abs ) : 0\n\t\t\n\t\tconst digits = Math.floor( Math.log( val_abs ) / Math.log( 10 ) )\n\t\tconst precission = Math.pow( 10 , digits - gap )\n\t\tconst val_expanded = precission * Math.ceil( val_abs / precission )\n\t\t\n\t\treturn val_sign * val_expanded\n\t}\n\t\n}\n","namespace $.$$ {\n\texport class $mol_plot_ruler extends $.$mol_plot_ruler {\n\t\tlabels_formatted() {\n\t\t\treturn this.axis_points().map( ( point , index )=> this.Label( index ) )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstep() {\n\t\t\tconst scale = Math.abs( this.scale_step() )\n\t\t\tconst dims = this.dimensions_axis()\n\t\t\tconst range = dims.max - dims.min\n\t\t\tconst min_width = ( Math.abs( Math.log10( range ) ) + 2 ) * 15\n\t\t\tconst size = $mol_math_round_expand( range , -1 )\n\t\t\tconst count = Math.max( 1 , Math.pow( 10 , Math.floor( Math.log( size * scale / min_width ) / Math.log( 10 ) ) ) )\n\t\t\tlet step = size / count\n\t\t\tconst step_max = min_width * 2 / scale\n\t\t\tif( step > step_max ) step /= 2\n\t\t\tif( step > step_max ) step /= 2\n\n\t\t\treturn Math.max( step , Math.abs( dims.min ) / 1e10 , Math.abs( dims.max ) / 1e10 )\n\t\t}\n\n\t\tsnap_to_grid(coord: number) {\n\t\t\tconst viewport = this.viewport_axis()\n\t\t\tconst scale = this.scale_axis()\n\t\t\tconst shift = this.shift_axis()\n\t\t\tconst step = this.step()\n\n\t\t\tconst val = Math.round( coord / step ) * step\n\n\t\t\tif (scale == 0) return val\n\n\t\t\tconst step_scaled = step * scale\n\t\t\tconst scaled = val * scale + shift\n\t\t\tlet count = 0\n\t\t\tif (scaled < viewport.min) count = (scaled - viewport.min) / step_scaled\n\t\t\tif (scaled > viewport.max) count = (scaled - viewport.max) / step_scaled\n\n\t\t\treturn val - Math.floor(count) * step\n\t\t}\n\n\t\t@ $mol_mem\n\t\taxis_points() {\n\t\t\tconst dims = this.dimensions_axis()\n\t\t\tconst start = this.snap_to_grid(dims.min)\n\t\t\tconst end = this.snap_to_grid(dims.max)\n\t\t\tconst step = this.step()\n\n\t\t\tconst next = [] as number[]\n\t\t\tfor( let val = start ; val <= end ; val += step ) {\n\t\t\t\tnext.push(val)\n\t\t\t}\n\n\t\t\treturn next\n\t\t}\n\n\t\t@$mol_mem\n\t\tprecision() {\n\t\t\tconst step = this.step()\n\t\t\treturn Math.max( 0 , Math.min( 15 , ( step - Math.floor( step ) ).toString().length - 2 ) )\n\t\t}\n\n\t\tlabel_text( index : number ) {\n\t\t\tconst point = this.axis_points()[index]\n\t\t\treturn point.toFixed( this.precision() )\n\t\t}\n\n\t\tfont_size() {\n\t\t\treturn this.Background().font_size()\n\t\t}\n\n\t\tback() {\n\t\t\treturn [this.Curve()]\n\t\t}\n\n\t\tfront() {\n\t\t\treturn [\n\t\t\t\t// this.Background(),\n\t\t\t\t...this.labels_formatted(),\n\t\t\t\tthis.Title()\n\t\t\t] as readonly $.$mol_svg[]\n\t\t}\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/plot/ruler/ruler.view.css\",\n \"[mol_plot_ruler_curve] {\\n\\tcolor: var(--mol_theme_line);\\n\\tstroke-width: 1px;\\n\\tstroke: currentColor;\\n}\\n\\n[mol_plot_ruler_label] {\\n\\tcolor: var(--mol_theme_text);\\n\\ttext-shadow: 0 -1px var(--mol_theme_back), 0px 1px var(--mol_theme_back);\\n}\\n\\n[mol_plot_ruler_title] {\\n\\tcolor: var(--mol_theme_shade);\\n\\tbackground-color: var(--mol_theme_back);\\n\\ttext-shadow: 0 -1px var(--mol_theme_back), 0px 1px var(--mol_theme_back);\\n}\\n\\n[mol_plot_ruler_background] {\\n\\tstroke: none;\\n\\tfill: var(--mol_theme_back);\\n\\topacity: 0.8;\\n}\\n\"\n) }","$mol_plot_ruler_vert $mol_plot_ruler\n\ttitle_align \\end\n\tlabel_align \\end\n\ttitle_pos_y \\14\n\tlabel_pos_x* <= title_pos_x\n\tbackground_height \\100%\n\tbackground_width <= title_pos_x\n","namespace $.$$ {\n\texport class $mol_plot_ruler_vert extends $.$mol_plot_ruler_vert {\n\t\tdimensions_axis() {\n\t\t\treturn this.dimensions_pane().y\n\t\t}\n\n\t\tviewport_axis() {\n\t\t\treturn new this.$.$mol_vector_range(0, this.size_real().y)\n\t\t}\n\n\t\tscale_axis() {\n\t\t\treturn this.scale()[1]\n\t\t}\n\n\t\tscale_step() {\n\t\t\treturn -this.scale()[1]\n\t\t}\n\n\t\tshift_axis() {\n\t\t\treturn this.shift()[1]\n\t\t}\n\n\t\tcurve() {\n\t\t\tconst [, shift] = this.shift()\n\t\t\tconst [, scale] = this.scale()\n\n\t\t\treturn this.axis_points().map( point => {\n\t\t\t\tlet scaled = Math.round( point * scale + shift )\n\t\t\t\tscaled = Math.max( Number.MIN_SAFE_INTEGER, Math.min( scaled, Number.MAX_SAFE_INTEGER ) )\n\t\t\t\treturn `M 0 ${ scaled } H 2000`\n\t\t\t}).join( ' ' )\n\t\t}\n\n\t\ttitle_pos_x() {\n\t\t\treturn String(this.gap().x.min)\n\t\t}\n\n\t\tlabel_pos_y( index : number ) {\n\t\t\treturn (this.axis_points()[index] * this.scale()[1] + this.shift()[1]).toFixed(3)\n\t\t}\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/plot/ruler/vert/vert.view.css\",\n \"[mol_plot_ruler_vert_label] {\\n\\ttransform: translateY( 4px );\\n}\\n\"\n) }","$mol_plot_ruler_hor $mol_plot_ruler\n\ttitle_align \\start\n\tlabel_align \\middle\n\ttitle_pos_x \\0\n\ttitle_pos_y \\100%\n\tlabel_pos_y* <= title_pos_y\n\tbackground_width \\100%\n","namespace $.$$ {\n\texport class $mol_plot_ruler_hor extends $.$mol_plot_ruler_hor {\n\t\tdimensions_axis() {\n\t\t\treturn this.dimensions_pane().x\n\t\t}\n\n\t\tviewport_axis() {\n\t\t\treturn new this.$.$mol_vector_range(0, this.size_real().x)\n\t\t}\n\n\t\tscale_axis() {\n\t\t\treturn this.scale()[0]\n\t\t}\n\n\t\tscale_step() {\n\t\t\treturn this.scale()[0]\n\t\t}\n\n\t\tshift_axis() {\n\t\t\treturn this.shift()[0]\n\t\t}\n\t\t\n\t\tcurve() {\n\t\t\tconst [shift] = this.shift()\n\t\t\tconst [scale] = this.scale()\n\n\t\t\treturn this.axis_points().map( point => {\n\t\t\t\tlet scaled = Math.round( point * scale + shift )\n\t\t\t\tscaled = Math.max( Number.MIN_SAFE_INTEGER, Math.min( scaled, Number.MAX_SAFE_INTEGER ) )\n\t\t\t\treturn `M ${ scaled } 1000 V 0`\n\t\t\t}).join( ' ' )\n\t\t}\n\n\t\tlabel_pos_x( index : number ) {\n\t\t\treturn (this.axis_points()[index] * this.scale()[0] + this.shift()[0]).toFixed(3)\n\t\t}\n\n\t\tbackground_y() {\n\t\t\treturn String(this.size_real()[1] - this.font_size())\n\t\t}\n\n\t\ttitle_pos_y() {\n\t\t\treturn String(this.size_real()[1])\n\t\t}\n\n\t\tbackground_height() {\n\t\t\treturn String(this.font_size())\n\t\t}\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/plot/ruler/hor/hor.view.css\",\n \"[mol_plot_ruler_hor_label] {\\n\\ttransform: translateY( -4px );\\n}\\n\\n[mol_plot_ruler_hor_title] {\\n\\ttransform: translateY( -4px );\\n}\\n\"\n) }","$mol_plot_mark_hor $mol_plot_ruler_hor\n\tlabels /string\n","namespace $.$$ {\n\texport class $mol_plot_mark_hor extends $.$mol_plot_mark_hor {\n\t\t@ $mol_mem\n\t\tseries_x(): readonly number[] {\n\t\t\treturn this.labels().map((val, index) => index)\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlabels() {\n\t\t\treturn this.series_x().map(val => String(val)) as readonly string[]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tvisible_indexes() {\n\t\t\tconst series_x = this.series_x()\n\t\t\tconst labels = this.labels()\n\t\t\tconst [shift_x,] = this.shift()\n\t\t\tconst [scale_x,] = this.scale()\n\t\t\tlet step = this.step() * scale_x\n\t\t\tconst [[viewport_left, viewport_right]] = this.viewport()\n\t\t\tconst size_x = viewport_right - viewport_left\n\t\t\tconst font_size = this.font_size()\n\t\t\tlet indexes: number[]\n\t\t\tlet labels_width: number\n\t\t\tdo {\n\t\t\t\tindexes = []\n\t\t\t\tlabels_width = 0\n\t\t\t\tlet last: number = 0\n\t\t\t\tlet current = 0\n\t\t\t\tfor (let i = 0; i < series_x.length; i++) {\n\t\t\t\t\tconst point_x = series_x[i]\n\t\t\t\t\tconst scaled_x = (shift_x + point_x * scale_x)\n\t\t\t\t\tif (scaled_x < viewport_left) continue\n\t\t\t\t\tif (scaled_x > viewport_right) continue\n\t\t\t\t\tif (current === 0) current = scaled_x\n\t\t\t\t\tif (scaled_x < current) {\n\t\t\t\t\t\tlast = i\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tindexes.push(i)\n\t\t\t\t\tcurrent += step\n\t\t\t\t\tlast = 0\n\t\t\t\t\tlabels_width += font_size * (labels[i].length + 1)\n\t\t\t\t\tif (labels_width > size_x) break\n\t\t\t\t}\n\t\t\t\tif (last !== 0) {\n\t\t\t\t\tindexes.push(last)\n\t\t\t\t\tlabels_width += font_size * (labels[last].length + 1)\n\t\t\t\t}\n\n\t\t\t\tstep *= 1.5\n\t\t\t} while (labels_width > size_x && indexes.length > 2)\n\n\t\t\treturn indexes\n\n\t\t}\n\n\t\tcurve() {\n\t\t\tconst [shift] = this.shift()\n\t\t\tconst [scale] = this.scale()\n\t\t\tconst series_x = this.series_x()\n\n\t\t\treturn this.visible_indexes().map( index => {\n\t\t\t\tconst scaled = series_x[index] * scale + shift\n\t\t\t\treturn `M ${ scaled.toFixed(3) } 1000 V 0`\n\t\t\t}).join( ' ' )\n\t\t}\n\n\t\tlabel_text( index : number ) {\n\t\t\treturn this.labels()[index]\n\t\t}\n\n\t\tlabels_formatted() {\n\t\t\treturn this.visible_indexes().map( index => this.Label( index ) )\n\t\t}\n\n\t\tlabel_pos_x( index : number ) {\n\t\t\treturn (this.series_x()[index] * this.scale()[0] + this.shift()[0]).toFixed(3)\n\t\t}\n\n\t\tlabel_pos_y( index : number ) {\n\t\t\treturn this.title_pos_y()\n\t\t}\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/plot/mark/hor/hor.view.css\",\n \"[mol_plot_mark_hor_curve] {\\n\\tcolor: var(--mol_theme_line);\\n\\tstroke-width: .1%;\\n\\tstroke: currentColor;\\n\\tpointer-events: none;\\n}\\n\\n[mol_plot_mark_hor_label] {\\n\\tcolor: var(--mol_theme_text);\\n\\ttransform: translateY( -4px );\\n}\\n\\n[mol_plot_mark_hor_title] {\\n\\tcolor: var(--mol_theme_shade);\\n\\ttransform: translateY( -4px );\\n}\\n\"\n) }","$mol_svg_text_box $mol_svg_group\n\tfont_size 16\n\twidth 0\n\tsub /\n\t\t<= Back $mol_svg_rect\n\t\t\twidth <= box_width \\0.5rem\n\t\t\theight <= box_height \\1rem\n\t\t\tpos /\n\t\t\t\t<= box_pos_x <= pos_x\n\t\t\t\t<= box_pos_y \\0\n\t\t<= Text $mol_svg_text\n\t\t\tpos /\n\t\t\t\t<= pos_x \\0\n\t\t\t\t<= pos_y \\100%\n\t\t\talign <= align \\start\n\t\t\tsub /\n\t\t\t\t<= text \\\n","namespace $ {\n\n\tlet canvas : CanvasRenderingContext2D\n\n\texport function $mol_font_canvas( next = canvas ) {\n\t\tif( !next ) next = $mol_dom_context.document.createElement( 'canvas' ).getContext( '2d' )!\n\t\treturn canvas = next\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_font_measure( font: string, text: string ) {\n\t\tconst canvas = $mol_font_canvas()\n\t\tcanvas.font = font\n\t\treturn canvas.measureText( text ).width\n\t}\n\n}\n","namespace $.$$ {\n\texport class $mol_svg_text_box extends $.$mol_svg_text_box {\n\n\t\tbox_width() {\n\t\t\treturn `${ this.width() }px`\n\t\t}\n\n\t\t@ $mol_mem\n\t\twidth() {\n\t\t\treturn $mol_font_measure(\n\t\t\t\tthis.font_size() + 'px ' + this.font_family(),\n\t\t\t\tthis.text(),\n\t\t\t)\n\t\t}\n\n\t\tbox_pos_x() {\n\t\t\tconst align = this.align()\n\t\t\tif (align === 'end') return `calc(${this.pos_x()} - ${this.width()})`\n\t\t\tif (align === 'middle') return `calc(${this.pos_x()} - ${Math.round(this.width() / 2)})`\n\n\t\t\treturn this.pos_x()\n\t\t}\n\n\t\tbox_pos_y() {\n\t\t\treturn `calc(${this.pos_y()} - ${this.font_size() - 2})`\n\t\t}\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/svg/text/box/box.view.css\",\n \"[mol_svg_text_box_back] {\\n\\tstroke: none;\\n\\tfill: var(--mol_theme_back);\\n\\ttransition: none;\\n}\\n\"\n) }","$mol_plot_mark_cross $mol_plot_graph\n\tlabels /string\n\ttitle_x_gap 4\n\ttitle_y_gap 22\n\tthreshold 16\n\tgraphs /$mol_plot_graph\n\tdimensions $mol_vector_2d<$mol_vector_range> /\n\t\t<= dimensions_x $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\t\t<= dimensions_y $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\tsub /\n\t\t<= Curve $mol_svg_path\n\t\t\tgeometry <= curve \\\n\t\t<= Label_x $mol_svg_text_box\n\t\t\tpos_x <= title_x_pos_x \\0\n\t\t\tpos_y <= title_x_pos_y \\100%\n\t\t\ttext <= title_x \\\n\t\t<= Label_y $mol_svg_text_box\n\t\t\tpos_x <= title_y_pos_x \\0\n\t\t\tpos_y <= title_y_pos_y \\0\n\t\t\ttext <= title_y \\\n","namespace $.$$ {\n\texport class $mol_plot_mark_cross extends $.$mol_plot_mark_cross {\n\n\t\t@$mol_mem\n\t\tnearest() {\n\t\t\tlet delta = this.threshold() ** 2\n\t\t\tconst [cursor_x, cursor_y] = this.cursor_position()\n\t\t\tif (Number.isNaN(cursor_x) || Number.isNaN(cursor_y)) return null\n\t\t\tconst graphs = this.graphs()\n\t\t\tlet index: number = 0\n\t\t\tlet graph: $.$mol_plot_graph = null as any\n\t\t\tconst [shift_x, shift_y] = this.shift()\n\t\t\tconst [scale_x, scale_y] = this.scale()\n\t\t\tfor (let current of graphs) {\n\t\t\t\tconst indexes = current.indexes()\n\t\t\t\tconst series_x = current.series_x()\n\t\t\t\tconst series_y = current.series_y()\n\t\n\t\t\t\tfor (let i of indexes) {\n\t\t\t\t\tconst point_x = shift_x + series_x[i] * scale_x\n\t\t\t\t\tconst point_y = shift_y + series_y[i] * scale_y\n\t\t\t\t\tconst diff = (point_x - cursor_x) ** 2 + (point_y - cursor_y) ** 2\n\t\t\t\t\tif (diff < delta) {\n\t\t\t\t\t\tdelta = diff\n\t\t\t\t\t\tindex = i\n\t\t\t\t\t\tgraph = current\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!graph) return null\n\n\t\t\tconst value = new $mol_vector_2d(graph.series_x()[index], graph.series_y()[index])\n\t\t\tconst scaled = new $mol_vector_2d(shift_x + value.x * scale_x, shift_y + value.y * scale_y)\n\n\t\t\treturn {value, scaled, index}\n\t\t}\n\n\t\tcurve() {\n\t\t\tconst nearest = this.nearest()\n\t\t\tif (!nearest) return ''\n\t\t\treturn `M ${nearest.scaled.x.toFixed(3)} 1000 V 0 M 0 ${nearest.scaled.y.toFixed(3)} H 2000`\n\t\t}\n\n\t\ttitle_x() {\n\t\t\tconst nearest = this.nearest()\n\t\t\tif (!nearest) return ''\n\n\t\t\tconst labels = this.labels()\n\n\t\t\tif (labels.length > nearest.index) return labels[nearest.index]\n\n\t\t\treturn String(nearest.value.x)\n\t\t}\n\n\t\ttitle_x_pos_x() {\n\t\t\tconst nearest = this.nearest()\n\t\t\tif (!nearest) return '0'\n\t\t\tconst width = this.Label_x().width()\n\n\t\t\treturn (nearest.scaled.x - width / 2).toFixed(3)\n\t\t}\n\n\t\ttitle_x_pos_y() {\n\t\t\tconst nearest = this.nearest()\n\t\t\tif (!nearest) return '0'\n\n\t\t\tconst pos = this.size_real().y - this.title_x_gap()\n\n\t\t\treturn pos.toFixed(3)\n\t\t}\n\n\t\ttitle_y() {\n\t\t\tconst nearest = this.nearest()\n\t\t\tif (!nearest) return ''\n\n\t\t\treturn String(nearest.value.y)\n\t\t}\n\n\t\ttitle_y_pos_y() {\n\t\t\tconst nearest = this.nearest()\n\t\t\tif (!nearest) return '0'\n\n\t\t\treturn nearest.scaled.y.toFixed(3)\n\t\t}\n\n\t\ttitle_y_pos_x() {\n\t\t\tconst nearest = this.nearest()\n\t\t\tif (!nearest) return '0'\n\n\t\t\tconst pos = this.title_y_gap()\n\n\t\t\treturn pos.toFixed(3)\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/plot/mark/cross/cross.view.css\",\n \"[mol_plot_mark_cross_curve] {\\n\\tcolor: var(--mol_theme_focus);\\n\\tstroke-width: 1px;\\n\\tstroke: currentColor;\\n\\tpointer-events: none;\\n}\\n\\n[mol_plot_mark_cross_label_x], [mol_plot_mark_cross_label_y] {\\n\\tcolor: var(--mol_theme_focus);\\n\\tpointer-events: none;\\n}\\n\\n[mol_plot_mark_cross_label_y] {\\n\\ttransform: translateY( 4px );\\n}\\n\"\n) }","$mol_gallery $mol_view\n\tsub <= items /$mol_view\n\tSide* $mol_gallery\n\t\tstyle *\n\t\t\tflexGrow <= side_size* \\1\n\t\titems <= side_items* /$mol_view\n","namespace $.$$ {\n\t/**\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_gallery_demo\n\t */\n\texport class $mol_gallery extends $.$mol_gallery {\n\t\t\n\t\t@ $mol_mem\n\t\tsub(): readonly $mol_view[] {\n\t\t\t\n\t\t\tconst items = this.items()\n\t\t\tif( items.length <= 3 ) return items\n\t\t\t\n\t\t\treturn [\n\t\t\t\tthis.Side(0),\n\t\t\t\tthis.Side(1),\n\t\t\t]\n\t\t\t\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tside_items( id: number ) {\n\t\t\tconst items = this.items()\n\t\t\tconst middle = items.length % 2\n\t\t\t\t? Math.ceil( items.length / 3 )\n\t\t\t\t: items.length / 2\n\t\t\treturn id\n\t\t\t\t? items.slice( middle )\n\t\t\t\t: items.slice( 0, middle )\n\t\t}\n\t\t\n\t\tside_size( id: number ) {\n\t\t\treturn String( this.side_items( id ).length )\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/gallery/gallery.view.css\",\n \"[mol_gallery] {\\n\\tflex-wrap: wrap;\\n\\tflex: 1 1 auto;\\n\\talign-items: stretch;\\n align-content: stretch;\\n}\\n\"\n) }","$mol_chart_legend $mol_scroll\n\tgraphs /$mol_plot_graph\n\tgraphs_front /$mol_plot_graph\n\tsub /\n\t\t<= Gallery $mol_gallery items <= graph_legends /$mol_view\n\t-\n\tGraph_legend* $mol_view\n\t\tsub /\n\t\t\t<= Graph_sample_box* $mol_view\n\t\t\t\tsub /\n\t\t\t\t\t<= Graph_sample* null\n\t\t\t<= Graph_title* $mol_view\n\t\t\t\tsub /\n\t\t\t\t\t<= graph_title* \\\n","namespace $.$$ {\n\t\n\texport class $mol_chart_legend extends $.$mol_chart_legend {\n\n\t\t@ $mol_mem\n\t\tgraphs_front() {\n\t\t\treturn this.graphs().filter( graph => graph.Sample()) as readonly $mol_plot_graph[]\n\t\t}\n\t\t\n\t\tgraph_legends() {\n\t\t\treturn this.graphs_front().map( ( graph , index )=> this.Graph_legend( index ) ) as readonly $mol_view[]\n\t\t}\n\t\t\n\t\tgraph_title( index : number ) {\n\t\t\treturn this.graphs_front()[ index ].title()\n\t\t}\n\t\t\n\t\tGraph_sample( index : number ) {\n\t\t\treturn this.graphs_front()[ index ].Sample()\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/chart/legend/legend.view.css\",\n \"[mol_chart_legend] {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\tflex-direction: row;\\n\\tflex: 0 1 auto;\\n}\\n\\n[mol_chart_legend_graph_legend] {\\n\\tdisplay: flex;\\n\\tjustify-content: flex-start;\\n\\tflex: 1 1 8rem;\\n\\tpadding: .5rem;\\n}\\n\\n[mol_chart_legend_graph_title] {\\n\\tmargin: 0 .25rem;\\n\\tflex: 1 1 auto;\\n}\\n\\n[mol_chart_legend_graph_sample_box] {\\n\\tposition: relative;\\n\\twidth: 1.5rem;\\n\\tflex: none;\\n}\\n\"\n) }","$mol_touch $mol_plugin\n\tstart_zoom? 0\n\tstart_distance? 0\n\tzoom? 1\n\tallow_draw true\n\tallow_pan true\n\tallow_zoom true\n\taction_type? \\\n\taction_point? $mol_vector_2d /\n\t\tNaN\n\t\tNaN\n\t-\n\tstart_pan? /\n\t\t0\n\t\t0\n\tpan? $mol_vector_2d /\n\t\t0\n\t\t0\n\tpointer_center $mol_vector_2d /\n\t\tNaN\n\t\tNaN\n\t-\n\tstart_pos? null\n\tswipe_precision 16\n\t-\n\tswipe_right? null\n\tswipe_bottom? null\n\tswipe_left? null\n\tswipe_top? null\n\t-\n\tswipe_from_right? null\n\tswipe_from_bottom? null\n\tswipe_from_left? null\n\tswipe_from_top? null\n\t-\n\tswipe_to_right? null\n\tswipe_to_bottom? null\n\tswipe_to_left? null\n\tswipe_to_top? null\n\t-\n\tdraw_start?event null\n\tdraw?event null\n\tdraw_end?event null\n\t-\n\tstyle *\n\t\t^\n\t\ttouch-action \\none\n\t\toverscroll-behavior \\none\n\t-\n\tevent *\n\t\t^\n\t\tpointerdown?event <=> event_start?event null\n\t\tpointermove?event <=> event_move?event null\n\t\tpointerup?event <=> event_end?event null\n\t\tpointerleave?event <=> event_leave?event null\n\t\twheel?event <=> event_wheel?event null\n","namespace $.$$ {\n\n\t/**\n\t * Plugin for touch gestures.\n\t * @see [mol_plugin](../plugin/readme.md)\n\t */\n\texport class $mol_touch extends $.$mol_touch {\n\t\t\n\t\tauto() {\n\t\t\tthis.pointer_events()\n\t\t\tthis.start_pan()\n\t\t\tthis.start_pos()\n\t\t\tthis.start_distance()\n\t\t\tthis.start_zoom()\n\t\t\tthis.action_type()\n\t\t\tthis.view_rect()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tpointer_events( next = [] as readonly PointerEvent[] ) {\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tpointer_coords() {\n\t\t\t\n\t\t\tconst events = this.pointer_events()\n\t\t\tconst touches = events.filter( e => e.pointerType === 'touch' )\n\t\t\tconst pens = events.filter( e => e.pointerType === 'pen' )\n\t\t\tconst mouses = events.filter( e => !e.pointerType || e.pointerType === 'mouse' )\n\t\t\tconst choosen = touches.length ? touches : pens.length ? pens : mouses\n\t\t\t\n\t\t\treturn new $mol_vector(\n\t\t\t\t... choosen.map( event => this.event_coords( event ) )\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tpointer_center() {\n\t\t\tconst coords = this.pointer_coords()\n\t\t\treturn coords.length ? coords.center() : new $mol_vector_2d( NaN , NaN )\n\t\t}\n\t\t\n\t\tevent_coords( event: PointerEvent | WheelEvent ) {\n\t\t\t\n\t\t\tconst { left, top } = this.view_rect()!\n\t\t\t\n\t\t\treturn new $mol_vector_2d(\n\t\t\t\tMath.round( event.pageX - left ),\n\t\t\t\tMath.round( event.pageY - top ),\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\taction_point() {\n\t\t\t\n\t\t\tconst coord = this.pointer_center()\n\t\t\tif( !coord ) return null!\n\t\t\t\n\t\t\tconst zoom = this.zoom()\n\t\t\tconst pan = this.pan()\n\t\t\t\n\t\t\treturn new $mol_vector_2d(\n\t\t\t\t( coord.x - pan.x ) / zoom,\n\t\t\t\t( coord.y - pan.y ) / zoom,\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\tevent_eat( event: PointerEvent | WheelEvent ) {\n\t\t\t\n\t\t\tif( event instanceof PointerEvent ) {\n\n\t\t\t\tconst events = this.pointer_events()\n\t\t\t\t\t.filter( e => e instanceof PointerEvent )\n\t\t\t\t\t.filter( e => e.pointerId !== event.pointerId )\n\t\t\t\tif( event.type !== 'pointerup' && event.type !== 'pointerleave' ) events.push( event )\n\t\t\t\tthis.pointer_events( events )\n\t\t\t\t\n\t\t\t\tconst touch_count = events.filter( e => e.pointerType === 'touch' ).length\n\t\t\t\t\n\t\t\t\tif( this.allow_zoom() && touch_count === 2 ) {\n\t\t\t\t\treturn this.action_type( 'zoom' )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( this.action_type() === 'zoom' && touch_count === 1 ) {\n\t\t\t\t\treturn this.action_type( 'zoom' )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tenum button {\n\t\t\t\t\tleft = 1,\n\t\t\t\t\tright = 2,\n\t\t\t\t\tmiddle = 4,\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( events.length > 0 ) {\n\t\t\t\t\tif( event.ctrlKey && this.allow_zoom() ) return this.action_type( 'zoom' )\n\t\t\t\t\tif( event.buttons === button.left && this.allow_draw() ) return this.action_type( 'draw' )\n\t\t\t\t\tif( event.buttons && this.allow_pan() ) return this.action_type( 'pan' )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn this.action_type( '' )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( event instanceof WheelEvent ) {\n\t\t\t\tthis.pointer_events([ event as any ])\n\t\t\t\tif( event.shiftKey ) return this.action_type( 'pan' )\n\t\t\t\treturn this.action_type( 'zoom' )\n\t\t\t}\n\t\t\t\n\t\t\treturn this.action_type( '' )\n\t\t}\n\t\t\n\t\tevent_start( event : PointerEvent ) {\n\t\t\tif( event.defaultPrevented ) return\n\t\t\t\n\t\t\tthis.start_pan( this.pan() )\n\n\t\t\tconst action_type = this.event_eat( event )\n\t\t\tif( !action_type ) return\n\t\t\t\n\t\t\tconst coords = this.pointer_coords()\n\t\t\tthis.start_pos( coords.center() )\n\t\t\t\n\t\t\tif( action_type === 'draw' ) {\n\t\t\t\tthis.draw_start( event )\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.start_distance( coords.distance() )\n\t\t\tthis.start_zoom( this.zoom() )\n\n\t\t}\n\n\t\tevent_move( event : PointerEvent ) {\n\t\t\tif( event.defaultPrevented ) return\n\n\t\t\tconst rect = this.view_rect()\n\t\t\tif( !rect ) return\n\t\n\t\t\tconst start_pan = this.start_pan()\n\n\t\t\tconst action_type = this.event_eat( event )\n\t\t\t\n\t\t\tconst start_pos = this.start_pos()\n\t\t\tlet pos = this.pointer_center()!\n\n\t\t\tif( !action_type ) return\n\t\t\tif( !start_pos ) return\n\t\t\t\n\t\t\tif( action_type === 'draw' ) {\n\t\t\t\t\n\t\t\t\tconst distance = new $mol_vector( start_pos, pos ).distance()\n\t\t\t\tif( distance >= 4 ) {\n\t\t\t\t\tthis.draw( event )\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\t\t\t\t\n\t\t\tif( action_type === 'pan' ) {\n\n\t\t\t\tthis.dom_node().setPointerCapture( event.pointerId )\n\t\t\t\t\n\t\t\t\tthis.pan(\n\t\t\t\t\tnew $mol_vector_2d(\n\t\t\t\t\t\tstart_pan[0] + pos[0] - start_pos[0],\n\t\t\t\t\t\tstart_pan[1] + pos[1] - start_pos[1],\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\t\n\t\t\t}\n\n\t\t\tconst precision = this.swipe_precision()\n\t\t\t\n\t\t\tif(\n\t\t\t\t(\n\t\t\t\t\tthis.swipe_right !== $mol_touch.prototype.swipe_right\n\t\t\t\t\t|| this.swipe_from_left !== $mol_touch.prototype.swipe_from_left\n\t\t\t\t\t|| this.swipe_to_right !== $mol_touch.prototype.swipe_to_right\n\t\t\t\t)\n\t\t\t\t&& pos[0] - start_pos[0] > precision * 2\n\t\t\t\t&& Math.abs( pos[1] - start_pos[1] ) < precision\n\t\t\t) {\n\t\t\t\tthis.swipe_right( event )\n\t\t\t}\n\n\t\t\tif(\n\t\t\t\t(\n\t\t\t\t\tthis.swipe_left !== $mol_touch.prototype.swipe_left\n\t\t\t\t\t|| this.swipe_from_right !== $mol_touch.prototype.swipe_from_right\n\t\t\t\t\t|| this.swipe_to_left !== $mol_touch.prototype.swipe_to_left\n\t\t\t\t)\n\t\t\t\t&& start_pos[0] - pos[0] > precision * 2\n\t\t\t\t&& Math.abs( pos[1] - start_pos[1] ) < precision\n\t\t\t) {\n\t\t\t\tthis.swipe_left( event )\n\t\t\t}\n\n\t\t\tif(\n\t\t\t\t(\n\t\t\t\t\tthis.swipe_bottom !== $mol_touch.prototype.swipe_bottom\n\t\t\t\t\t|| this.swipe_from_top !== $mol_touch.prototype.swipe_from_top\n\t\t\t\t\t|| this.swipe_to_bottom !== $mol_touch.prototype.swipe_to_bottom\n\t\t\t\t)\n\t\t\t\t&& pos[1] - start_pos[1] > precision * 2\n\t\t\t\t&& Math.abs( pos[0] - start_pos[0] ) < precision\n\t\t\t) {\n\t\t\t\tthis.swipe_bottom( event )\n\t\t\t}\n\n\t\t\tif(\n\t\t\t\t(\n\t\t\t\t\tthis.swipe_top !== $mol_touch.prototype.swipe_top\n\t\t\t\t\t|| this.swipe_from_bottom !== $mol_touch.prototype.swipe_from_bottom\n\t\t\t\t\t|| this.swipe_to_top !== $mol_touch.prototype.swipe_to_top\n\t\t\t\t)\n\t\t\t\t&& start_pos[1] - pos[1] > precision * 2\n\t\t\t\t&& Math.abs( pos[0] - start_pos[0] ) < precision\n\t\t\t) {\n\t\t\t\tthis.swipe_top( event )\n\t\t\t}\n\n\t\t\tif( action_type === 'zoom' ) {\n\n\t\t\t\tconst coords = this.pointer_coords()\n\t\t\t\tconst distance = coords.distance()\n\t\t\t\tconst start_distance = this.start_distance()\n\t\t\t\tconst center = coords.center()\n\n\t\t\t\tconst start_zoom = this.start_zoom()\n\t\t\t\tlet mult = Math.abs( distance - start_distance ) < 32 ? 1 : distance / start_distance\n\t\t\t\tthis.zoom( start_zoom * mult )\n\n\t\t\t\tconst pan = new $mol_vector_2d(\n\t\t\t\t\t( start_pan[0] - center[0] + pos[0] - start_pos[0] ) * mult + center[0],\n\t\t\t\t\t( start_pan[1] - center[1] + pos[1] - start_pos[1] ) * mult + center[1],\n\t\t\t\t)\n\n\t\t\t\tthis.pan( pan )\n\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tevent_end( event : PointerEvent ) {\n\t\t\t\n\t\t\tconst action = this.action_type()\n\t\t\tif( action ==='draw' ) {\n\t\t\t\tthis.draw_end( event )\n\t\t\t}\n\t\t\t\n\t\t\tthis.event_leave( event )\n\t\t\t\n\t\t}\n\n\t\tevent_leave( event : PointerEvent ) {\n\n\t\t\tthis.event_eat( event )\n\t\t\tthis.dom_node().releasePointerCapture( event.pointerId )\n\t\t\tthis.start_pos( null )\n\t\t\t\n\t\t}\n\n\t\tswipe_left( event : PointerEvent ) {\n\t\t\tif( this.view_rect()!.right - this.start_pos()[0] < this.swipe_precision() * 2 ) this.swipe_from_right( event )\n\t\t\telse this.swipe_to_left( event )\n\t\t\tthis.event_end( event )\n\t\t}\n\t\t\n\t\tswipe_right( event : PointerEvent ) {\n\t\t\tif( this.start_pos()[0] - this.view_rect()!.left < this.swipe_precision() * 2 ) this.swipe_from_left( event )\n\t\t\telse this.swipe_to_right( event )\n\t\t\tthis.event_end( event )\n\t\t}\n\t\t\n\t\tswipe_top( event : PointerEvent ) {\n\t\t\tif( this.view_rect()!.bottom - this.start_pos()[1] < this.swipe_precision() * 2 ) this.swipe_from_bottom( event )\n\t\t\telse this.swipe_to_top( event )\n\t\t\tthis.event_end( event )\n\t\t}\n\t\t\n\t\tswipe_bottom( event : PointerEvent ) {\n\t\t\tif( this.start_pos()[1] - this.view_rect()!.top < this.swipe_precision() * 2 ) this.swipe_from_top( event )\n\t\t\telse this.swipe_to_bottom( event )\n\t\t\tthis.event_end( event )\n\t\t}\n\t\t\n\t\tevent_wheel( event : WheelEvent ) {\n\t\t\t\n\t\t\tif( event.defaultPrevented ) return\n\n\t\t\tif( this.pan === $mol_touch.prototype.pan && this.zoom === $mol_touch.prototype.zoom ) return\n\t\t\t\n\t\t\tif( this.pan !== $mol_touch.prototype.pan ) {\n\t\t\t\tevent.preventDefault()\n\t\t\t}\n\t\t\t\n\t\t\tconst action_type = this.event_eat( event )\n\n\t\t\tif( action_type === 'zoom' ) {\n\t\t\t\t\n\t\t\t\tconst zoom_prev = this.zoom() || 0.001\n\t\t\t\tconst zoom_next = zoom_prev * ( 1 - .001 * Math.min( event.deltaY, 100 ) )\n\t\t\t\tconst mult = zoom_next / zoom_prev\n\t\t\t\tthis.zoom( zoom_next )\n\n\t\t\t\tconst pan_prev = this.pan()\n\t\t\t\tconst center = this.pointer_center()!\n\t\t\t\tconst pan_next = pan_prev.multed0( mult ).added1( center.multed0( 1 - mult ) )\n\n\t\t\t\tthis.pan( pan_next )\n\t\t\t}\n\t\t\t\n\t\t\tif( action_type === 'pan' ) {\n\t\t\t\t\n\t\t\t\tconst pan_prev = this.pan()\n\t\t\t\tconst pan_next = new $mol_vector_2d(\n\t\t\t\t\tpan_prev.x - event.deltaX,\n\t\t\t\t\tpan_prev.y - event.deltaY,\n\t\t\t\t)\n\n\t\t\t\tthis.pan( pan_next )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","$mol_plot_pane $mol_svg_root\n\taspect \\none\n\t-\n\thue_base? +NaN\n\thue_shift? 111\n\t-\n\tgap_hor 48\n\tgap_vert 24\n\tgap_left <= gap_hor\n\tgap_right <= gap_hor\n\tgap_top <= gap_vert\n\tgap_bottom <= gap_vert\n\tgap $mol_vector_2d<$mol_vector_range> /\n\t\t<= gap_x $mol_vector_range /\n\t\t\t<= gap_left\n\t\t\t<= gap_right\n\t\t<= gap_y $mol_vector_range /\n\t\t\t<= gap_bottom\n\t\t\t<= gap_top\n\t-\n\tshift_limit $mol_vector_2d<$mol_vector_range> /\n\t\t<= shift_limit_x $mol_vector_range /\n\t\t\t0\n\t\t\t0\n\t\t<= shift_limit_y $mol_vector_range /\n\t\t\t0\n\t\t\t0\n\tshift_default $mol_vector_2d /\n\t\t0\n\t\t0\n\tshift? $mol_vector_2d /\n\t\t0\n\t\t0\n\tscale_limit $mol_vector_2d<$mol_vector_range> /\n\t\t<= scale_limit_x $mol_vector_range /\n\t\t\t0\n\t\t\tInfinity\n\t\t<= scale_limit_y $mol_vector_range /\n\t\t\t0\n\t\t\t-Infinity\n\tscale_default $mol_vector_2d /\n\t\t0\n\t\t0\n\tscale? $mol_vector_2d /\n\t\t1\n\t\t-1\n\tscale_x? 1\n\tscale_y? -1\n\tsize $mol_vector_2d /\n\t\t0\n\t\t0\n\tsize_real $mol_vector_2d /\n\t\t1\n\t\t1\n\tdimensions $mol_vector_2d<$mol_vector_range> /\n\t\t<= dimensions_x $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\t\t<= dimensions_y $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\tdimensions_viewport $mol_vector_2d<$mol_vector_range> /\n\t\t<= dimensions_viewport_x $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\t\t<= dimensions_viewport_y $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\t-\n\tsub <= graphs_sorted /$mol_svg\n\tgraphs_colored <= graphs_visible <= graphs_positioned <= graphs /$mol_plot_graph\n\t-\n\tplugins /\n\t\t^\n\t\t<= Touch $mol_touch\n\t\t\tzoom? <=> zoom? 1\n\t\t\tpan? <=> shift?\n\t\t\tpointer_center => cursor_position\n\t\t\tallow_draw <= allow_draw true\n\t\t\tallow_pan <= allow_pan true\n\t\t\tallow_zoom <= allow_zoom true\n\t\t\taction_type => action_type\n\t\t\taction_point => action_point\n\t\t\tdraw_start?event <=> draw_start?event null\n\t\t\tdraw?event <=> draw?event null\n\t\t\tdraw_end?event <=> draw_end?event null\n\t- event *\n\t\t^\n\t\tdblclick?event <=> reset?event null\n","namespace $.$$ {\n\n\t/**\n\t * Fastest plot lib for vector graphics.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_plot_demo\n\t */\n\texport class $mol_plot_pane extends $.$mol_plot_pane {\n\t\t\n\t\t@ $mol_mem\n\t\tdimensions() {\n\t\t\tconst graphs = this.graphs()\n\t\t\tlet next = new this.$.$mol_vector_2d(\n\t\t\t\t$mol_vector_range_full.inversed,\n\t\t\t\t$mol_vector_range_full.inversed\n\t\t\t)\n\n\t\t\tfor( let graph of graphs ) {\n\t\t\t\tnext = next.expanded2(graph.dimensions())\n\t\t\t}\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsize() {\n\t\t\tconst dims = this.dimensions()\n\t\t\treturn new this.$.$mol_vector_2d(\n\t\t\t\t( dims.x.max - dims.x.min ) || 1 ,\n\t\t\t\t( dims.y.max - dims.y.min ) || 1 ,\n\t\t\t)\n\t\t}\n\t\t\t\n\t\tgraph_hue( index : number ) {\n\t\t\treturn ( 360 + ( this.hue_base() + this.hue_shift() * index ) % 360 ) % 360\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tgraphs_colored() {\n\t\t\tconst graphs = this.graphs_visible()\n\t\t\tfor (let index = 0; index < graphs.length; index++) {\n\t\t\t\tgraphs[index].hue( this.graph_hue( index ) )\n\t\t\t}\n\t\t\t\n\t\t\treturn graphs\n\t\t}\n\t\t\n\t\tsize_real() {\n\t\t\tconst rect = this.view_rect()\n\t\t\tif( !rect ) return new this.$.$mol_vector_2d( 1, 1 )\n\t\t\treturn new this.$.$mol_vector_2d( rect.width, rect.height )\n\t\t}\n\n\t\tview_box() {\n\t\t\tconst size = this.size_real()\n\t\t\treturn `0 0 ${ size.x } ${ size.y }`\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tscale_limit() {\n\t\t\tconst {\n\t\t\t\tx: {max: right},\n\t\t\t\ty: {max: top}\n\t\t\t} = super.scale_limit()\n\t\t\tconst gap = this.gap()\n\t\t\tconst size = this.size()\n\t\t\tconst real = this.size_real()\n\n\t\t\tconst left = + ( real.x - gap.x.min - gap.x.max ) / size.x\n\t\t\tconst bottom = - ( real.y - gap.y.max - gap.y.min) / size.y\n\n\t\t\treturn new this.$.$mol_vector_2d(\n\t\t\t\tnew this.$.$mol_vector_range(left, right),\n\t\t\t\tnew this.$.$mol_vector_range(top, bottom),\n\t\t\t)\n\t\t}\n\n\t\tscale_default() {\n\t\t\tconst limits = this.scale_limit()\n\t\t\treturn new $mol_vector_2d( limits.x.min, limits.y.max )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tscale(next?: $mol_vector_2d< number >): $mol_vector_2d< number > {\n\t\t\tif (next === undefined) {\n\t\t\t\tif (!this.graph_touched) return this.scale_default()\n\t\t\t\tnext = $mol_mem_cached( ()=> this.scale() ) ?? this.scale_default()\n\t\t\t}\n\t\t\tthis.graph_touched = true\n\n\t\t\treturn next!.limited(this.scale_limit())\n\t\t}\n\n\t\tscale_x(next?: number): number {\n\t\t\treturn this.scale(\n\t\t\t\tnext === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: new $mol_vector_2d( next , this.scale().y )\n\t\t\t).x\n\t\t}\n\n\t\tscale_y(next?: number): number {\n\t\t\treturn this.scale(\n\t\t\t\tnext === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: new $mol_vector_2d( this.scale().x , next )\n\t\t\t).y\n\t\t}\n\n\t\t@ $mol_mem\n\t\tshift_limit() {\n\t\t\tconst dims = this.dimensions()\n\t\t\tconst [scale_x, scale_y] = this.scale()\n\t\t\tconst size = this.size_real()\n\t\t\tconst gap = this.gap()\n\n\t\t\tconst left = gap.x.min - dims.x.min * scale_x\n\t\t\tconst right = size.x - gap.x.max - dims.x.max * scale_x\n\n\t\t\tconst top = gap.y.max - dims.y.max * scale_y\n\t\t\tconst bottom = size.y - gap.y.min - dims.y.min * scale_y\n\n\t\t\treturn new this.$.$mol_vector_2d(\n\t\t\t\tnew this.$.$mol_vector_range(right, left),\n\t\t\t\tnew this.$.$mol_vector_range(bottom, top),\n\t\t\t)\n\t\t}\n\n\t\t@ $mol_mem\n\t\tshift_default() {\n\t\t\tconst limits = this.shift_limit()\n\t\t\treturn new $mol_vector_2d( limits.x.min, limits.y.min )\n\t\t}\n\n\t\tgraph_touched: boolean = false\n\n\t\t@ $mol_mem\n\t\tshift(next?: $mol_vector_2d< number >): $mol_vector_2d< number > {\n\n\t\t\tif (next === undefined) {\n\t\t\t\tif (!this.graph_touched) return this.shift_default()\n\t\t\t\tnext = $mol_mem_cached( ()=> this.shift() ) ?? this.shift_default()\n\t\t\t}\n\n\t\t\tthis.graph_touched = true\n\n\t\t\treturn next!.limited(this.shift_limit())\n\t\t}\n\n\t\treset(event?: Event) {\n\t\t\tthis.graph_touched = false\n\t\t\tthis.scale(this.scale_default())\n\t\t\tthis.shift(this.shift_default())\n\t\t}\n\n\t\t@ $mol_mem\n\t\tgraphs_visible() {\n\t\t\t\n\t\t\tconst viewport = this.dimensions_viewport()\n\t\t\tconst size_real = this.size_real()\n\t\t\t\n\t\t\tconst max_x = ( viewport.x.max - viewport.x.min ) / size_real.x\n\t\t\tconst max_y = ( viewport.y.max - viewport.y.min ) / size_real.y\n\t\t\t\n\t\t\treturn this.graphs_positioned().filter( graph => {\n\t\t\t\t\n\t\t\t\tconst dims = graph.dimensions()\n\t\t\t\t\n\t\t\t\tif( dims.x.min > dims.x.max ) return true\n\t\t\t\tif( dims.y.min > dims.y.max ) return true\n\t\t\t\t\n\t\t\t\tconst size_x = dims.x.max - dims.x.min\n\t\t\t\tconst size_y = dims.y.max - dims.y.min\n\t\t\t\tif( ( size_x || size_y ) && size_x < max_x && size_y < max_y ) return false\n\t\t\t\t\n\t\t\t\tif( dims.x.min > viewport.x.max ) return false\n\t\t\t\tif( dims.x.max < viewport.x.min ) return false\n\t\t\t\t\n\t\t\t\tif( dims.y.min > viewport.y.max ) return false\n\t\t\t\tif( dims.y.max < viewport.y.min ) return false\n\t\t\t\t\n\t\t\t\treturn true\n\t\t\t} )\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tgraphs_positioned() {\n\t\t\tconst graphs = this.graphs()\n\t\t\tfor (let graph of graphs) {\n\t\t\t\tgraph.shift = ()=> this.shift()\n\t\t\t\tgraph.scale = ()=> this.scale()\n\t\t\t\tgraph.dimensions_pane = () => this.dimensions_viewport()\n\t\t\t\tgraph.viewport = () => this.viewport()\n\t\t\t\tgraph.size_real = ()=> this.size_real()\n\t\t\t\tgraph.cursor_position = ()=> this.cursor_position()\n\t\t\t\tgraph.gap = () => this.gap()\n\t\t\t}\n\t\t\t\n\t\t\treturn graphs\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tdimensions_viewport() {\n\t\t\tconst shift = this.shift().multed0(-1)\n\t\t\tconst scale = this.scale().powered0(-1)\n\t\t\treturn this.viewport().map( ( range, i )=> range.added0( shift[i] ).multed0( scale[i] ).sort( (a,b)=>a-b) )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tviewport() {\n\t\t\tconst size = this.size_real()\n\t\t\treturn new this.$.$mol_vector_2d(\n\t\t\t\tnew this.$.$mol_vector_range(0, size.x),\n\t\t\t\tnew this.$.$mol_vector_range(0, size.y),\n\t\t\t)\n\t\t}\n\n\t\t@ $mol_mem\n\t\tgraphs_sorted() {\n\t\t\tconst graphs = this.graphs_colored()\n\t\t\tconst sorted = [] as $.$mol_svg[]\n\t\t\t\n\t\t\tfor( let graph of graphs ) sorted.push(...graph.back())\n\t\t\tfor( let graph of graphs ) sorted.push(...graph.front())\n\t\t\t\n\t\t\treturn sorted\n\t\t}\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/plot/pane/pane.view.css\",\n \"[mol_plot_pane] {\\n\\tcolor: var(--mol_theme_control);\\n\\tflex: 1 1 auto;\\n\\talign-self: stretch;\\n\\tstroke-width: 2px;\\n\\tuser-select: none;\\n}\\n\"\n) }","$mol_chart $mol_view\n\tgap_hor 48\n\tgap_vert 24\n\tgap_left <= gap_hor\n\tgap_right <= gap_hor\n\tgap_bottom <= gap_vert\n\tgap_top <= gap_vert\n\tgraphs /$mol_plot_graph\n\tsub /\n\t\t<= Legend $mol_chart_legend\n\t\t\tgraphs <= graphs_colored\n\t\t<= Plot $mol_plot_pane\n\t\t\tscale_x? => zoom?\n\t\t\tzoom? <=> zoom?\n\t\t\tgap_left <= gap_left\n\t\t\tgap_right <= gap_right\n\t\t\tgap_bottom <= gap_bottom\n\t\t\tgap_top <= gap_top\n\t\t\tgraphs <= graphs\n\t\t\tgraphs_colored => graphs_colored\n\t\t\thue_base <= hue_base 210\n\t\t\thue_shift <= hue_shift 163\n","namespace $ { $mol_style_attach( \"mol/chart/chart.view.css\",\n \"[mol_chart] {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\talign-self: stretch;\\n\\tflex: 1 1 auto;\\n}\\n\\n[mol_chart_plot] {\\n\\tflex: 1 0 50%;\\n\\tmargin: .5rem;\\n}\\n\"\n) }","$mol_icon_chevron $mol_icon path \\M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\n","$mol_check_expand $mol_check\n\tIcon $mol_icon_chevron\n\tlevel 0\n\tstyle *\n\t\t^\n\t\tpaddingLeft <= level_style \\0px\n\tchecked? <=> expanded? false\n\tenabled <= expandable false\n","namespace $.$$ {\n\t\n\t/**\n\t * Expander for trees, lists, etc\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_check_expand_demo\n\t */\n\texport class $mol_check_expand extends $.$mol_check_expand {\n\t\t\n\t\tlevel_style() {\n\t\t\treturn `${ this.level() * 1 - 1 }rem`\n\t\t}\n\t\t\n\t\texpandable() {\n\t\t\treturn this.expanded() !== null\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/check/expand/expand.view.css\",\n \"[mol_check_expand] {\\n\\tmin-width: 20px;\\n}\\n\\n:where([mol_check_expand][disabled]) [mol_check_expand_icon] {\\n\\tvisibility: hidden;\\n}\\n\\n[mol_check_expand_icon] {\\n\\tbox-shadow: none;\\n\\tmargin-left: -0.375rem;\\n}\\n[mol_check_expand_icon] {\\n\\ttransform: rotateZ(0deg);\\n}\\n\\n:where([mol_check_checked]) [mol_check_expand_icon] {\\n\\ttransform: rotateZ(90deg);\\n}\\n\\n[mol_check_expand_icon] {\\n\\tvertical-align: text-top;\\n}\\n\\n[mol_check_expand_label] {\\n\\tmargin-left: 0;\\n}\\n\"\n) }","$mol_dump_list $mol_view\n\tvalues /\n\tsub /\n\t\t<= Dump*0 $mol_dump_value\n\t\t\tvalue <= dump_value* null\n\t\t\texpanded? <=> dump_expanded*? false\n\t\t\tprototypes <= prototypes false\n\t\t\tpreview_show <= preview_show true\n","namespace $.$$ {\n\n\t/**\n\t * Dumps any JS values.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_dump_demo\n\t */\n\texport class $mol_dump_list extends $.$mol_dump_list {\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\treturn this.values().map( (_,index)=> this.Dump( index ) )\n\t\t}\n\t\t\n\t\tdump_value( index: number ) {\n\t\t\treturn this.values()[ index ]\n\t\t}\n\t\t\n\t\texpand_all( event?: Event ) {\n\t\t\tthis.Dump(1).expanded( true )\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/dump/list/list.view.css\",\n \"[mol_dump_list] {\\n\\talign-items: flex-start;\\n\\tgap: var(--mol_gap_space);\\n}\\n\\n[mol_dump_list_dump]:first-child {\\n\\tposition: sticky;\\n\\ttop: 0;\\n}\\n\"\n) }","$mol_expander $mol_list\n\trows /\n\t\t<= Label $mol_view\n\t\t\tsub /\n\t\t\t\t<= Trigger $mol_check_expand\n\t\t\t\t\tchecked? <=> expanded? false\n\t\t\t\t\texpandable <= expandable true\n\t\t\t\t\tlabel <= label /\n\t\t\t\t\t\t<= title\n\t\t\t\t<= Tools null\n\t\t<= Content $mol_list\n\t\t\trows <= content /\n","namespace $.$$ {\n\t/**\n\t * Component which expands any content on title click.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_expander_demo\n\t */\n\texport class $mol_expander extends $.$mol_expander {\n\t\t\n\t\t@ $mol_mem\n\t\trows() {\n\t\t\treturn [\n\t\t\t\tthis.Label(),\n\t\t\t\t... this.expanded() ? [ this.Content() ] : []\n\t\t\t]\n\t\t}\n\t\t\n\t\texpandable() {\n\t\t\treturn this.content().length > 0\n\t\t}\n\t\t\n\t}\n}\n\n","namespace $ { $mol_style_attach( \"mol/expander/expander.view.css\",\n \"[mol_expander] {\\n\\tflex-direction: column;\\n}\\n\\n[mol_expander_label] {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\tborder-radius: var(--mol_gap_round);\\n}\\n\\n[mol_expander_trigger] {\\n\\tflex: auto;\\n\\tposition: relative;\\n}\\n\"\n) }","$mol_dump_value $mol_view\n\tvalue? null\n\tpreview_show? true\n\tsub /\n\t\t<= Simple $mol_text_code\n\t\t\ttext <= simple \\\n\t\t<= Expand $mol_expander\n\t\t\texpanded? <=> expanded? false\n\t\t\tTrigger <= Expand_head $mol_check_expand\n\t\t\t\tminimal_height 24\n\t\t\t\tminimal_width 24\n\t\t\t\texpanded? <=> expanded? false\n\t\t\t\texpandable <= expandable true\n\t\t\t\tclicks? <=> expand_all? null\n\t\t\t\tlabel /\n\t\t\t\t\t<= Expand_title $mol_text_code\n\t\t\t\t\t\ttext <= expand_title \\\n\t\t\tcontent <= expand_content /\n\t\t\t\t<= Preview $mol_view sub /\n\t\t\t\t\t<= Preview_dom $mol_view\n\t\t\t\t\t\tdom_node <= preview_dom null\n\t\t\t\t\t\trender <= preview null\n\t\t\t\t<= Row*0 $mol_dump_list\n\t\t\t\t\tvalues <= row_values* /\n\t\t\t\t\tprototypes <= prototypes false\n\t\t\t\t\tpreview_show <= preview_show\n","namespace $ {\n\t\n\texport function $mol_try< Result >( handler : ()=> Result ) : Result|Error {\n\t\ttry {\n\t\t\treturn handler()\n\t\t} catch( error: any ) {\n\t\t\treturn error\n\t\t}\n\t}\n\t\n} \n","namespace $.$$ {\n\n\t/**\n\t * Dumps any JS values.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_dump_demo\n\t */\n\texport class $mol_dump_value extends $.$mol_dump_value {\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\tconst value = this.value()\n\t\t\tif( !value ) return [ this.Simple() ]\n\t\t\tif( typeof value === 'object' ) return [ this.Expand() ]\n\t\t\tif( typeof value === 'function' ) return [ this.Expand() ]\n\t\t\treturn [ this.Simple() ]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsimple() {\n\t\t\tconst value = this.value()\n\t\t\tif( typeof value === 'number' ) return value.toLocaleString( 'en' ).replaceAll( ',', '_' )\n\t\t\tif( typeof value === 'bigint' ) return value.toLocaleString( 'en' ).replaceAll( ',', '_' )\n\t\t\treturn value ? String( value ) : JSON.stringify( value ) ?? 'undefined'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\texpand_title() {\n\t\t\t\n\t\t\tconst value = this.value()\n\t\t\t\n\t\t\tif( typeof value === 'function' ) {\n\t\t\t\tconst name = Reflect.getOwnPropertyDescriptor( value, 'name' )?.value\n\t\t\t\tconst source = Function.prototype.toString.call( value )\n\t\t\t\tconst args = source.match( /^[^{=>]*?\\(([\\s\\S]*?)\\)/ )?.[1] ?? source.match( /^([$\\w]+)\\s+=>/ )?.[1] ?? ''\n\t\t\t\tif( name ) return name + '(' + args + ')'\n\t\t\t}\n\t\t\t\n\t\t\tif( value instanceof RegExp ) return String( value )\n\t\t\tif( value instanceof Date ) return value.toISOString()\n\t\t\t\n\t\t\tconst kind = Reflect.getOwnPropertyDescriptor( value, Symbol.toStringTag )?.value\n\t\t\t\t?? value.constructor.name\n\t\t\t\t?? 'Object'\n\t\t\t\n\t\t\tif( value instanceof Node ) {\n\t\t\t\ttry {\n\t\t\t\t\tswitch( value.nodeType ) {\n\t\t\t\t\t\tcase value.TEXT_NODE: return kind + ' ' + value.nodeValue?.trim()\n\t\t\t\t\t\tcase value.ELEMENT_NODE: return `<${ ( value as Element ).localName }> ${ ( value as Element ).id }`\n\t\t\t\t\t\tcase value.DOCUMENT_NODE: return kind + ' ' + value.baseURI\n\t\t\t\t\t}\n\t\t\t\t} catch {}\n\t\t\t}\n\t\t\t\n\t\t\treturn kind\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\trows_values() {\n\t\t\t\n\t\t\tlet value = this.value()\n\t\t\t\n\t\t\tconst res = [] as any[][]\n\t\t\t\n\t\t\tif( value instanceof Map ) {\n\t\t\t\tfor( const [ key, val ] of value ) {\n\t\t\t\t\tres.push([ key, '▶', val ])\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tif( value instanceof Set ) {\n\t\t\t\tfor( const val of value ) {\n\t\t\t\t\tres.push([ val ])\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tif( value instanceof Function ) {\n\t\t\t\tlet source = Function.prototype.toString.call( value )\n\t\t\t\t\t.replace( /^.*?\\{\\r?\\n?/, '' )\n\t\t\t\t\t.replace( /}$/, '' )\n\t\t\t\t\t.trimEnd()\n\t\t\t\tconst indent = source.match( /^\\s*/ )![0]\n\t\t\t\tsource = source.replace( new RegExp( `^${indent}`, 'gm' ), '\\t' )\n\t\t\t\tres.push([ source ])\n\t\t\t}\n\t\t\t\n\t\t\tif( value instanceof Element ) {\n\t\t\t\ttry {\n\t\t\t\t\tfor( const kid of value.childNodes ) {\n\t\t\t\t\t\tres.push([ kid ])\n\t\t\t\t\t}\n\t\t\t\t\tfor( const attr of value.attributes ) {\n\t\t\t\t\t\tif( attr.nodeName === 'id' ) continue\n\t\t\t\t\t\tres.push([ attr.nodeName, '=', attr.nodeValue ])\n\t\t\t\t\t}\n\t\t\t\t} catch {}\n\t\t\t}\n\t\t\t\n\t\t\tif( value && ( typeof value === 'object' || typeof value === 'function' ) ) {\n\t\t\t\t\n\t\t\t\tfor( const key of Reflect.ownKeys( value ) ) {\n\t\t\t\t\tconst prefix = String( key ) + '∶'\n\t\t\t\t\tconst descr = Reflect.getOwnPropertyDescriptor( value, key )!\n\t\t\t\t\tif( 'value' in descr ) {\n\t\t\t\t\t\tconst line = [ prefix, descr.value ] as any[]\n\t\t\t\t\t\t// let proto = descr.value\n\t\t\t\t\t\t// while( proto && typeof proto === 'object' ) {\n\t\t\t\t\t\t// \tproto = Reflect.getPrototypeOf( proto )\n\t\t\t\t\t\t// \tif( proto ) line.push( ' - ', proto )\n\t\t\t\t\t\t// }\n\t\t\t\t\t\tres.push( line )\n\t\t\t\t\t} else {\n\t\t\t\t\t\tres.push([ prefix, descr.get, descr.set ])\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( this.prototypes() ) {\n\t\t\t\t\tres.push([ '__proto__:', Reflect.getPrototypeOf( value ) ])\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn res\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tpreview_dom() {\n\t\t\t\n\t\t\tconst value = this.value()\n\t\t\t\n\t\t\tif( value instanceof Element ) {\n\t\t\t\tif( $mol_try( ()=> value.localName ) instanceof Error ) return null\n\t\t\t\tif( value.isConnected ) return null\n\t\t\t\treturn value\n\t\t\t}\n\t\t\t\n\t\t\treturn null\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\texpand_content() {\n\t\t\treturn [\n\t\t\t\t... this.preview_show() && this.preview_dom() ? [ this.Preview() ] : [],\n\t\t\t\t... this.rows_values().map( (_,index)=> this.Row( index ) ),\n\t\t\t]\n\t\t}\n\t\t\n\t\texpandable() {\n\t\t\treturn this.expand_content().length > 0\n\t\t}\n\t\t\n\t\trow_values( index: number ) {\n\t\t\treturn this.rows_values()[ index ]\n\t\t}\n\t\t\n\t\texpand_all( event?: Event ) {\n\t\t\tthis.expanded( true )\n\t\t\tfor( const row of this.expand_content() ) {\n\t\t\t\tif(!( row instanceof $mol_dump_list )) continue\n\t\t\t\tif( row.values()[0] === '__proto__:' ) continue\n\t\t\t\trow.expand_all( event )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/dump/value/value.view.css\",\n \"[mol_dump_value] {\\n\\tmin-height: 2.5rem;\\n\\tmin-width: 2.5rem;\\n}\\n\\n[mol_dump_value_simple] {\\n\\tpadding: 0;\\n}\\n\\n[mol_dump_value_expand_content] {\\n\\tpadding-left: 1.5rem;\\n\\talign-items: flex-start;\\n}\\n\\n[mol_dump_value_expand_title_rows],\\n[mol_dump_value_simple_rows],\\n[mol_dump_value_expand_head] {\\n\\tpadding: 0;\\n\\tgap: 0;\\n}\\n\"\n) }","$mol_icon_key $mol_icon path \\M7 14C5.9 14 5 13.1 5 12S5.9 10 7 10 9 10.9 9 12 8.1 14 7 14M12.6 10C11.8 7.7 9.6 6 7 6C3.7 6 1 8.7 1 12S3.7 18 7 18C9.6 18 11.8 16.3 12.6 14H16V18H20V14H23V10H12.6Z\n","$mol_icon_key_change $mol_icon path \\M7.5 2C9.5 2 11.1 3.2 11.7 5H21V8H18V11H15V8H11.7C11.1 9.8 9.4 11 7.5 11C5 11 3 9 3 6.5S5 2 7.5 2M7.5 5C6.7 5 6 5.7 6 6.5S6.7 8 7.5 8 9 7.3 9 6.5 8.3 5 7.5 5M7.5 13C9.5 13 11.1 14.2 11.7 16H21V19H20V22H18V19H16V22H13V19H11.7C11.1 20.8 9.4 22 7.5 22C5 22 3 20 3 17.5S5 13 7.5 13M7.5 16C6.7 16 6 16.7 6 17.5S6.7 19 7.5 19 9 18.3 9 17.5 8.3 16 7.5 16Z\n","$mol_icon_atom $mol_icon path \\M12,11A1,1 0 0,1 13,12A1,1 0 0,1 12,13A1,1 0 0,1 11,12A1,1 0 0,1 12,11M4.22,4.22C5.65,2.79 8.75,3.43 12,5.56C15.25,3.43 18.35,2.79 19.78,4.22C21.21,5.65 20.57,8.75 18.44,12C20.57,15.25 21.21,18.35 19.78,19.78C18.35,21.21 15.25,20.57 12,18.44C8.75,20.57 5.65,21.21 4.22,19.78C2.79,18.35 3.43,15.25 5.56,12C3.43,8.75 2.79,5.65 4.22,4.22M15.54,8.46C16.15,9.08 16.71,9.71 17.23,10.34C18.61,8.21 19.11,6.38 18.36,5.64C17.62,4.89 15.79,5.39 13.66,6.77C14.29,7.29 14.92,7.85 15.54,8.46M8.46,15.54C7.85,14.92 7.29,14.29 6.77,13.66C5.39,15.79 4.89,17.62 5.64,18.36C6.38,19.11 8.21,18.61 10.34,17.23C9.71,16.71 9.08,16.15 8.46,15.54M5.64,5.64C4.89,6.38 5.39,8.21 6.77,10.34C7.29,9.71 7.85,9.08 8.46,8.46C9.08,7.85 9.71,7.29 10.34,6.77C8.21,5.39 6.38,4.89 5.64,5.64M9.88,14.12C10.58,14.82 11.3,15.46 12,16.03C12.7,15.46 13.42,14.82 14.12,14.12C14.82,13.42 15.46,12.7 16.03,12C15.46,11.3 14.82,10.58 14.12,9.88C13.42,9.18 12.7,8.54 12,7.97C11.3,8.54 10.58,9.18 9.88,9.88C9.18,10.58 8.54,11.3 7.97,12C8.54,12.7 9.18,13.42 9.88,14.12M18.36,18.36C19.11,17.62 18.61,15.79 17.23,13.66C16.71,14.29 16.15,14.92 15.54,15.54C14.92,16.15 14.29,16.71 13.66,17.23C15.79,18.61 17.62,19.11 18.36,18.36Z\n","$mol_icon_atom_variant $mol_icon path \\M18.36,2.64C20,2.64 21.36,4 21.36,5.64C21.36,7.29 20,8.64 18.36,8.64C16.71,8.64 15.36,7.29 15.36,5.64C15.36,5.34 15.41,5.06 15.5,4.8C14.43,4.29 13.25,4 12,4A8,8 0 0,0 4,12L4.04,12.84L2.05,13.05L2,12A10,10 0 0,1 12,2C13.69,2 15.28,2.42 16.67,3.16C17.16,2.83 17.74,2.64 18.36,2.64M18.36,4.64A1,1 0 0,0 17.36,5.64A1,1 0 0,0 18.36,6.64C18.92,6.64 19.36,6.19 19.36,5.64C19.36,5.08 18.92,4.64 18.36,4.64M5.64,15.36C7.29,15.36 8.64,16.71 8.64,18.36C8.64,18.66 8.59,18.94 8.5,19.2C9.57,19.71 10.75,20 12,20A8,8 0 0,0 20,12L19.96,11.16L21.95,10.95L22,12A10,10 0 0,1 12,22C10.31,22 8.72,21.58 7.33,20.84C6.84,21.17 6.26,21.36 5.64,21.36C4,21.36 2.64,20 2.64,18.36C2.64,16.71 4,15.36 5.64,15.36M5.64,17.36C5.08,17.36 4.64,17.81 4.64,18.36C4.64,18.92 5.08,19.36 5.64,19.36A1,1 0 0,0 6.64,18.36A1,1 0 0,0 5.64,17.36M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8Z\n","$mol_icon_language_css3 $mol_icon path \\M5,3L4.35,6.34H17.94L17.5,8.5H3.92L3.26,11.83H16.85L16.09,15.64L10.61,17.45L5.86,15.64L6.19,14H2.85L2.06,18L9.91,21L18.96,18L20.16,11.97L20.4,10.76L21.94,3H5Z\n","$mol_icon_language_javascript $mol_icon path \\M3,3H21V21H3V3M7.73,18.04C8.13,18.89 8.92,19.59 10.27,19.59C11.77,19.59 12.8,18.79 12.8,17.04V11.26H11.1V17C11.1,17.86 10.75,18.08 10.2,18.08C9.62,18.08 9.38,17.68 9.11,17.21L7.73,18.04M13.71,17.86C14.21,18.84 15.22,19.59 16.8,19.59C18.4,19.59 19.6,18.76 19.6,17.23C19.6,15.82 18.79,15.19 17.35,14.57L16.93,14.39C16.2,14.08 15.89,13.87 15.89,13.37C15.89,12.96 16.2,12.64 16.7,12.64C17.18,12.64 17.5,12.85 17.79,13.37L19.1,12.5C18.55,11.54 17.77,11.17 16.7,11.17C15.19,11.17 14.22,12.13 14.22,13.4C14.22,14.78 15.03,15.43 16.25,15.95L16.67,16.13C17.45,16.47 17.91,16.68 17.91,17.26C17.91,17.74 17.46,18.09 16.76,18.09C15.93,18.09 15.45,17.66 15.09,17.06L13.71,17.86Z\n","$mol_ghost $mol_view\n\tSub $mol_view\n","namespace $.$$ {\n\n\t/**\n\t * Mixin view logic to DOM node of another component.\n\t */\n\texport class $mol_ghost extends $.$mol_ghost {\n\t\t\n\t\toverride dom_node_external( next?: Element ) {\n\t\t\treturn this.Sub().dom_node( next )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tdom_node_actual() {\n\t\t\tthis.dom_node()\n\t\t\tconst node = this.Sub().dom_node_actual()\n\n\t\t\tconst attr = this.attr()\n\t\t\tconst style = this.style()\n\t\t\tconst fields = this.field()\n\n\t\t\t$mol_dom_render_attributes( node , attr )\n\t\t\t$mol_dom_render_styles( node , style )\n\t\t\t$mol_dom_render_fields( node , fields )\n\n\t\t\treturn node\n\t\t}\n\t\t\n\t\tdom_tree() {\n\t\t\t\n\t\t\tconst Sub = this.Sub()\n\t\t\tconst node = Sub.dom_tree()\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.dom_node_actual()\n\t\t\t\tthis.auto()\n\t\t\t} catch( error: unknown ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t\t\n\t\t\treturn node\n\t\t}\n\n\t\ttitle() {\n\t\t\treturn this.Sub().title()\n\t\t}\n\t\t\n\t\tminimal_width() {\n\t\t\treturn this.Sub().minimal_width()\n\t\t}\n\n\t\tminimal_height() {\n\t\t\treturn this.Sub().minimal_height()\n\t\t}\n\n\t}\n\n}\n","$mol_icon_arrow_left $mol_icon path \\M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z\n","$mol_icon_arrow_left_right $mol_icon path \\M6.45,17.45L1,12L6.45,6.55L7.86,7.96L4.83,11H19.17L16.14,7.96L17.55,6.55L23,12L17.55,17.45L16.14,16.04L19.17,13H4.83L7.86,16.04L6.45,17.45Z\n","$mol_icon_arrow_left_right_bold $mol_icon path \\M8,14V18L2,12L8,6V10H16V6L22,12L16,18V14H8Z\n","$mol_icon_arrow_left_right_bold_outline $mol_icon path \\M14,16V22L24,12L14,2V8H10V2L0,12L10,22V16H14M8,14V17L3,12L8,7V10H16V7L21,12L16,17V14H8Z\n","$mol_icon_arrow_left_bold $mol_icon path \\M20,9V15H12V19.84L4.16,12L12,4.16V9H20Z\n","$mol_icon_arrow_left_bold_outline $mol_icon path \\M13,22L3,12L13,2V8H21V16H13V22M6,12L11,17V14H19V10H11V7L6,12Z\n","$mol_icon_arrow_right $mol_icon path \\M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z\n","$mol_icon_arrow_right_bold $mol_icon path \\M4,15V9H12V4.16L19.84,12L12,19.84V15H4Z\n","$mol_icon_arrow_right_bold_outline $mol_icon path \\M11,16H3V8H11V2L21,12L11,22V16M13,7V10H5V14H13V17L18,12L13,7Z\n","$mol_icon_trash_can $mol_icon path \\M9,3V4H4V6H5V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V6H20V4H15V3H9M9,8H11V17H9V8M13,8H15V17H13V8Z\n","$mol_icon_trash_can_outline $mol_icon path \\M9,3V4H4V6H5V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V6H20V4H15V3H9M7,6H17V19H7V6M9,8V17H11V8H9M13,8V17H15V8H13Z\n","$hyoo_studio_type $mol_pick\n\ttree?val null $mol_tree2_empty\n\tbelong_to \\\n\ttype? \\\n\ttrigger_content /\n\t\t<= Value $mol_paragraph title <= type_display \\\n\t\t<= Take_put_hack_icon $mol_icon_arrow_left_right_bold_outline\n\t\t<= Take_hack_icon $mol_icon_arrow_left_bold_outline\n\t\t<= Alias_icon $mol_icon_arrow_right_bold_outline\n\tbubble_content /\n\t\t<= Options_content $mol_list rows /\n\t\t\t<= Unit_options $mol_switch\n\t\t\t\tvalue? <=> switch_type? \\\n\t\t\t\toptions <= unit_options *\n\t\t\t\t\tnull \\null\n\t\t\t\t\tboolean_false \\false\n\t\t\t\t\tboolean_true \\true\n\t\t\t\t\tnumber_nan \\NaN\n\t\t\t<= Number_options $mol_switch\n\t\t\t\tvalue? <=> switch_type? \\\n\t\t\t\toptions <= number_options *\n\t\t\t\t\tnumber \\number\n\t\t\t\t\tnumber_infinity_negative \\-Infinity\n\t\t\t\t\tnumber_infinity_positive \\+Infinity\n\t\t\t<= Other_options_group $mol_view\n\t\t\t\tsub <= other_options_group /\n\t\t\t\t\t<= Other_options $mol_switch\n\t\t\t\t\t\tvalue? <=> switch_type? \\\n\t\t\t\t\t\toptions <= other_options *\n\t\t\t\t\t<= List_items_type $mol_textarea\n\t\t\t\t\t\tvalue? <=> list_items_type? \\\n\t\t\t\t\t<= Object_option $mol_check\n\t\t\t\t\t\ttitle \\object\n\t\t\t\t\t\tclick <= show_obj_select null\n\t\t\t\t\t\tchecked? <= obj_checked? false\n\t\t\t<= Bind_options $mol_switch\n\t\t\t\tvalue? <=> switch_type? \\\n\t\t\t\toption_label* <= bind_option_label* /\n\t\t\t\t\t<= Take_put_hack_option $mol_icon_arrow_left_right_bold_outline\n\t\t\t\t\t<= Take_hack_option $mol_icon_arrow_left_bold_outline\n\t\t\t\t\t<= Alias_option $mol_icon_arrow_right_bold_outline\n\t\t\t\toptions <= bind_options *\n\t\t\t<= Control $mol_view sub /\n\t\t\t\t<= Menu_item_delete $mol_button_minor\n\t\t\t\t\tstyle * color \\red\n\t\t\t\t\tclick? <=> drop? null\n\t\t\t\t\tsub /\n\t\t\t\t\t\t<= menu_item_delete_icon $mol_icon_trash_can_outline\n\t\t\t\t\t\t<= menu_item_delete_label \\Drop\n\tObject_select $mol_select\n\t\thint @ \\Class\n\t\talign_hor \\right\n\t\tvalue? <=> selected_class? \\$mol_view\n\t\toptions <= class_list /string\n\t\tTrigger_icon null\n\t\tbubble_content => Obj_bubble_content\n\tobj_select_showed? false\n\tlist_type_showed? false\n","namespace $ {\n\texport class $mol_view_tree2_error extends Error {\n\t\tconstructor(\n\t\t\tmessage: string,\n\t\t\treadonly spans: readonly $mol_span[]\n\t\t) {\n\t\t\tsuper(message)\n\t\t}\n\n\t\ttoJSON() {\n\t\t\treturn {\n\t\t\t\tmessage: this.message,\n\t\t\t\tspans: this.spans\n\t\t\t}\n\t\t}\n\t}\n\n\texport class $mol_view_tree2_error_suggestions {\n\t\tconstructor(\n\t\t\treadonly suggestions: readonly string[]\n\t\t) {}\n\n\t\ttoString() {\n\t\t\treturn this.suggestions.map(suggestion => `\\`${suggestion}\\``).join(', ')\n\t\t}\n\n\t\ttoJSON() {\n\t\t\treturn this.suggestions\n\t\t}\n\t}\n\n\texport function $mol_view_tree2_error_str(\n\t\tstrings: readonly string[],\n\t\t...parts: readonly ($mol_span | readonly $mol_span[] | string | number | $mol_view_tree2_error_suggestions)[]\n\t) {\n\t\tconst spans: $mol_span[] = []\n\n\t\tfor (const part of parts) {\n\t\t\tif (part instanceof $mol_span) spans.push(part)\n\t\t\tif (Array.isArray(part) && part.length > 0 && part[0] instanceof $mol_span) spans.push(...part)\n\t\t}\n\n\t\treturn new $mol_view_tree2_error(join(strings, parts), spans)\n\t}\n\n\tfunction join(strings: readonly string[], objects: readonly unknown[]) {\n\t\tlet result = ''\n\t\tlet obj_pos = 0\n\t\tlet obj_len = objects.length\n\n\t\tfor (const str of strings) {\n\t\t\tresult += str\n\t\t\tif (obj_pos < obj_len) {\n\t\t\t\tconst obj = objects[obj_pos++]\n\t\t\t\tif (Array.isArray(obj)) result += obj.map(item => `\\`${item}\\``).join(', ')\n\t\t\t\telse result += `\\`${String(obj)}\\``\n\t\t\t}\n\t\t}\n\n\t\treturn result\n\t}\n}\n","namespace $ {\n\n\texport function $mol_view_tree2_child(\n\t\tthis: $,\n\t\ttree: $mol_tree2,\n\t) {\n\n\t\tif( tree.kids.length === 0 ) {\n\t\t\treturn this.$mol_fail(\n\t\t\t\t$mol_view_tree2_error_str\n\t\t\t\t`Required one child at ${tree.span}`\n\t\t\t)\n\t\t}\n\n\t\tif( tree.kids.length > 1 ) {\n\t\t\treturn this.$mol_fail(\n\t\t\t\t$mol_view_tree2_error_str\n\t\t\t\t`Should be only one child at ${tree.span}`\n\t\t\t)\n\t\t}\n\n\t\treturn tree.kids[0]\n\t}\n\n}\n","namespace $ {\n\texport function $mol_view_tree2_classes( defs : $mol_tree2 ) {\n\t\treturn defs.clone(defs.hack({\n\t\t\t'-': () => []\n\t\t}))\n\t}\n}\n","namespace $ {\n\t\n\texport function $mol_view_tree2_normalize( this: $, defs : $mol_tree2 ) {\n\t\treturn defs.clone(\n\t\t\t$mol_view_tree2_classes( defs ).kids.map( cl => cl.clone([\n\t\t\t\tthis.$mol_view_tree2_class_super( cl ).clone(\n\t\t\t\t\tthis.$mol_view_tree2_class_props( cl )\n\t\t\t\t)\n\t\t\t]) )\n\t\t)\n\t}\n\t\n}\n","namespace $ {\n\tconst { begin, end, latin_only, or, optional, repeat_greedy } = $mol_regexp\n\n\texport let $mol_view_tree2_prop_signature = $mol_regexp.from([\n\t\tbegin,\n\t\t{ name: repeat_greedy( latin_only, 1 ) },\n\t\t{ key: optional([ '*', repeat_greedy( latin_only, 0 ) ]) },\n\t\t{ next: optional([ '?', repeat_greedy( latin_only, 0 ) ]) },\n\t\tend,\n\t])\n\t\n}\n","namespace $ {\n\texport function $mol_view_tree2_prop_parts(this: $, prop: $mol_tree2 ) {\n\t\tconst groups = [ ...prop.type.matchAll( $mol_view_tree2_prop_signature ) ][0]?.groups\n\n\t\tif (! groups) {\n\t\t\tthis.$mol_fail(\n\t\t\t\t$mol_view_tree2_error_str`Required prop like some*? at ${prop.span}`\n\t\t\t)\n\t\t}\n\n\t\treturn {\n\t\t\tname: groups.name,\n\t\t\tkey: groups.key,\n\t\t\tnext: groups.next ? '?' : ''\n\t\t}\n\t}\n}\n","namespace $ {\n\tconst regular_regex = /^\\w+$/\n\n\texport function $mol_view_tree2_prop_quote(name: $mol_tree2) {\n\t\tif (regular_regex.test(name.value)) return name\n\n\t\treturn name.data(JSON.stringify(name.value))\n\t}\n}\n","namespace $ {\n\tconst class_regex = /^[$A-Z][$\\w<>\\[\\]()\"'?|]+$/\n\n\texport function $mol_view_tree2_class_match(klass?: $mol_tree2) {\n\t\tif (! klass?.type) return false\n\t\tif (klass.type === 'NaN' || klass.type === 'Infinity') return false\n\n\t\treturn class_regex.test(klass.type)\n\t}\n}\n","namespace $ {\n\tconst err = $mol_view_tree2_error_str\n\n\texport function $mol_view_tree2_class_super(\n\t\tthis: $,\n\t\tklass: $mol_tree2\n\t) {\n\t\tif( ! $mol_view_tree2_class_match( klass ) ) return this.$mol_fail(\n\t\t\terr `Wrong class name at ${klass.span}` \n\t\t)\n\n\t\tconst superclass = klass.kids.length === 1 ? klass.kids[0] : undefined\n\n\t\tif (! superclass) return this.$mol_fail(\n\t\t\terr`No super class at ${klass.span}`\n\t\t)\n\n\t\tif( ! $mol_view_tree2_class_match( superclass ) ) return this.$mol_fail(\n\t\t\terr`Wrong super class name ${JSON.stringify(superclass.type).replace(/(^\"|\"$)/g, \"\")} at ${superclass.span}`\n\t\t)\n\n\t\treturn superclass\n\t}\n}\n","namespace $ {\n\tconst err = $mol_view_tree2_error_str\n\ttype Context = { factory?: $mol_tree2 }\n\n\texport function $mol_view_tree2_class_props(\n\t\tthis: $,\n\t\tklass : $mol_tree2,\n\t) {\n\t\tlet props = this.$mol_view_tree2_class_super( klass )\n\t\t\n\t\t// ! syntax to *\n\t\tprops = props.clone(\n\t\t\tprops.hack({\n\t\t\t\t'': ( node, belt )=> {\n\t\t\t\t\tconst normal = node.type.replace( /!\\w+/, '*' )\n\t\t\t\t\tif( node.type === normal ) return [ node.clone( node.hack( belt ) ) ]\n\t\t\t\t\treturn [ node.struct( normal, node.hack( belt ) ) ]\n\t\t\t\t}\n\t\t\t})\n\t\t)\n\n\t\tconst props_inner = {} as Record\n\n\t\tconst add_inner = ( prop: $mol_tree2 ) => {\n\t\t\tconst { name } = this.$mol_view_tree2_prop_parts(prop)\n\t\t\tconst prev = props_inner[name]\n\t\t\tif (prev && prev.kids[0]?.toString() !== prop.kids[0]?.toString()) {\n\t\t\t\tthis.$mol_fail(err`Need an equal default values at ${prev.span} vs ${prop.span}`)\n\t\t\t}\n\t\t\tprops_inner[name] = prop\n\t\t}\n\n\t\tconst upper = (operator: $mol_tree2, belt: $mol_tree2_belt, context: Context) => {\n\t\t\tconst prop = this.$mol_view_tree2_child( operator )\n\t\t\tconst defs = prop.hack( belt, { factory: prop } )\n\t\t\tif( defs.length ) add_inner( prop.clone( defs ) )\n\n\t\t\treturn [ operator.clone([ prop.clone([]) ]) ]\n\t\t}\n\n\t\tconst props_root = props.hack({\n\t\t\t'<=': upper,\n\n\t\t\t'<=>': upper,\n\n\t\t\t'^': ( operator, belt, context) => {\n\t\t\t\tif (operator.kids.length === 0) return [ operator ]\n\t\t\t\treturn upper(operator, belt, context)\n\t\t\t},\n\n\t\t\t'': (left, belt, context) => {\n\t\t\t\tlet right\n\t\t\t\tconst operator = left.kids[0]\n\n\t\t\t\tif (operator?.type === '=>' && context.factory) {\n\t\t\t\t\tright = operator.kids[0]\n\t\t\t\t\tif (! right) this.$mol_fail(err`Need a child ${operator.span}`)\n\t\t\t\t\tif (! context.factory) this.$mol_fail(err`Need a parent ${left.span}`)\n\n\t\t\t\t\tadd_inner(right.clone([\n\t\t\t\t\t\tright.struct('=', [\n\t\t\t\t\t\t\tcontext.factory.struct(\n\t\t\t\t\t\t\tcontext.factory.type.replace( /\\*.*/, '*' ),\n\t\t\t\t\t\t\t\t[ left.clone([]) ],\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t]),\n\t\t\t\t\t]))\n\t\t\t\t}\n\n\t\t\t\tif (right) context = { factory: right.clone([]) }\n\t\t\t\telse if( operator && ! context.factory && $mol_view_tree2_class_match( operator ) ) {\n\t\t\t\t\tcontext = { factory: left.clone([]) }\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst hacked = left.clone( left.hack( belt, context ) )\n\n\t\t\t\treturn [ hacked ]\n\t\t\t}\n\n\t\t}, { factory: undefined } as Context)\n\n\t\tfor (const prop of props_root ) add_inner(prop)\n\t\t\n\t\treturn Object.values(props_inner)\n\t}\n\n}\n","namespace $ {\n\tconst err = $mol_view_tree2_error_str\n\t\n\texport function $mol_view_tree2_value_type( this: $, val : $mol_tree2 ) {\n\t\tswitch( val.type ) {\n\t\t\tcase 'true' : return 'bool'\n\t\t\tcase 'false' : return 'bool'\n\t\t\tcase 'null' : return 'null'\n\t\t\tcase '*' : return 'dict'\n\t\t\tcase '@' : return 'locale'\n\t\t\tcase '' : return 'string'\n\t\t\tcase '<=' : return 'get'\n\t\t\tcase '<=>' : return 'bind'\n\t\t\tcase '=>' : return 'put'\n\t\t}\n\n\t\tconst first_char = val.type && val.type[0]\n\n\t\tif (first_char === '/') return 'list'\n\t\tif( Number( val.type ).toString() == val.type ) return 'number'\n\t\tif (/^[$A-Z]/.test( first_char )) return 'object'\n \n\t\treturn this.$mol_fail(\n\t\t\terr`Unknown value type ${val.type} at ${val.span}`\n\t\t)\n\t}\t\n}\n","namespace $ {\n\n\tconst err = $mol_view_tree2_error_str\n\n\texport function $mol_view_tree2_value(\n\t\tthis: $,\n\t\tvalue: $mol_tree2,\n\t) {\n\t\tconst type = value.type\n\t\tconst kids = value.kids\n\n\t\tif (type === '') {\n\t\t\tif (kids.length === 0) return value.data(JSON.stringify(value.value))\n\n\t\t\treturn value.data(JSON.stringify(kids.map(node => node.value).join('\\n')))\n\t\t}\n\n\t\tif (kids.length !== 0) return this.$mol_fail(\n\t\t\terr`Kids are not allowed at ${value.span}, use ${example}`\n\t\t)\n\n\t\tif (type === 'false' || type === 'true') return value.data(type)\n\n\t\tif (type === 'null') return value.data(type)\n\n\t\tif (Number(type).toString() === type.replace(/^\\+/, '')) return value.data(type)\n\n\t\treturn this.$mol_fail(\n\t\t\terr`Value ${value.toString()} not allowed at ${value.span}, use ${example}`\n\t\t)\n\t}\n\n\tconst example = new $mol_view_tree2_error_suggestions([\n\t\t'false',\n\t\t'true',\n\t\t'123',\n\t\t'null',\n\t\t'\\\\some'\n\t])\n}\n","namespace $ {\n\texport function $mol_view_tree2_value_number(type: string) {\n\t\treturn type.match(/[\\+\\-]*NaN/) || !Number.isNaN( Number( type ) )\n\t}\n}\n","namespace $.$$ {\n\n\texport class $hyoo_studio_type extends $.$hyoo_studio_type {\n\n\t\tbelong_to(): 'prop' | 'subprop' | 'list' | 'dict' | string {\n\t\t\treturn 'prop'\n\t\t}\n\n\t\tbind_options(): Partial<{ bind: '<=>', get: '<=', put: '=>' }> {\n\t\t\tswitch (this.belong_to()) {\n\t\t\t\tcase 'prop': return { bind: '<=>', get: '<=', put: '=>' }\n\t\t\t\tcase 'subprop': return { bind: '<=>', get: '<=', put: '=>' }\n\t\t\t\tcase 'list': return { get: '<='}\n\t\t\t\tcase 'dict': return { get: '<='}\n\t\t\t\tdefault: return { bind: '<=>', get: '<=', put: '=>' }\n\t\t\t}\n\t\t}\n\n\t\tother_options(): Partial<{ text: 'text', dict: 'dict', list: 'list' }> {\n\t\t\treturn { \n\t\t\t\ttext: 'text', dict: 'dict', \n\t\t\t\t...(this.list_type_showed() ? {} : {list: 'list'}) \n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tother_options_group(){\n\t\t\treturn [ \n\t\t\t\tthis.Other_options(),\n\t\t\t\t...(this.list_type_showed() ? [this.List_items_type()] : []),\n\t\t\t\t...(this.belong_to() === 'prop'? [this.Object_option()] : []),\n\t\t\t]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlist_type_showed() {\n\t\t\treturn this.type() === 'list' ? true : false\n\t\t}\n\n\t\tswitch_type(next?: string) {\n\t\t\treturn this.type(next)\n\t\t}\n\n\t\tdrop() {\n\t\t\tthis.type('')\n\t\t}\n\n\t\tbubble_content() {\n\t\t\treturn this.obj_select_showed()? this.Obj_bubble_content() : super.bubble_content()\n\t\t}\n\n\t\tobj_checked( next?: any ): boolean {\n\t\t\treturn this.type() === 'object'? true : false\n\t\t}\n\n\t\tbind_option_label(bind_option: keyof ReturnType<$hyoo_studio_type[\"bind_options\"]>){\n\t\t\tswitch (bind_option) {\n\t\t\t\tcase 'bind': return [ this.Take_put_hack_option() ]\n\t\t\t\tcase 'get': return [ this.Take_hack_option() ]\n\t\t\t\tcase 'put': return [ this.Alias_option() ]\n\t\t\t}\n\t\t\treturn []\n\t\t}\n\n\t\tbind_option_label_display(bind_option: keyof ReturnType<$hyoo_studio_type[\"bind_options\"]>){\n\t\t\tswitch (bind_option) {\n\t\t\t\tcase 'bind': return [ this.Take_put_hack_icon() ]\n\t\t\t\tcase 'get': return [ this.Take_hack_icon() ]\n\t\t\t\tcase 'put': return [ this.Alias_icon() ]\n\t\t\t}\n\t\t\treturn []\n\t\t}\n\n\t\ttrigger_content(){\n\t\t\tconst type = this.type()\n\n\t\t\tconst bind_option = this.bind_options()[type as keyof ReturnType<$hyoo_studio_type[\"bind_options\"]>]\n\n\t\t\treturn bind_option ? \n\t\t\t\tthis.bind_option_label_display(type as keyof ReturnType<$hyoo_studio_type[\"bind_options\"]>) : \n\t\t\t\t[ this.Value() ]\n\t\t}\n\n\t\t@ $mol_mem\n\t\ttype_display(): string {\n\t\t\tconst type = this.type()\n\n\t\t\tif (type === 'list') { \n\t\t\t\treturn `${this.list_items_type() === 'any'? '': this.list_items_type()} list` \n\t\t\t}\n\t\t\tif (type === 'object') { return this.selected_class() }\n\t\t\tif (this.unit_options()[type as keyof ReturnType<$hyoo_studio_type[\"unit_options\"]>]) \n\t\t\t\treturn this.unit_options()[type as keyof ReturnType<$hyoo_studio_type[\"unit_options\"]>]\n\t\t\tif (this.number_options()[type as keyof ReturnType<$hyoo_studio_type[\"number_options\"]>]) \n\t\t\t\treturn this.number_options()[type as keyof ReturnType<$hyoo_studio_type[\"number_options\"]>]\n\t\t\tif (this.other_options()[type as keyof ReturnType<$hyoo_studio_type[\"other_options\"]>]) \n\t\t\t\treturn this.other_options()[type as keyof ReturnType<$hyoo_studio_type[\"other_options\"]>] || ''\n\n\t\t\treturn ''\n\t\t}\n\n\n\n\t\t@ $mol_mem\n\t\ttype( next? : string ) {\n\t\t\tconst tree = this.tree()\n\t\t\tif (! tree) return ''\n\t\t\tif (next === undefined) return $hyoo_studio_type_value(tree)\n\n\t\t\tlet val\n\n\t\t\tswitch( next ) {\n\t\t\t\tcase '' : val = null; break\n\t\t\t\tcase 'null' : val = tree.struct('null'); break\n\t\t\t\tcase 'boolean_true' : val = tree.struct('true'); break\n\t\t\t\tcase 'boolean_false' : val = tree.struct('false'); break\n\t\t\t\tcase 'number': val = tree.struct('0'); break\n\t\t\t\tcase 'number_nan': val = tree.struct('+NaN'); break\n\t\t\t\tcase 'number_infinity_negative': val = tree.struct('-Infinity'); break\n\t\t\t\tcase 'number_infinity_positive': val = tree.struct('+Infinity'); break\n\t\t\t\tcase 'text': val = tree.data(''); break\n\t\t\t\tcase 'list': val = tree.struct( '/' ); break\n\t\t\t\tcase 'dict': val = tree.struct( '*' ); break\n\t\t\t\tcase 'object': val = tree.struct( '$mol_view', [ tree.kids[0] ?? tree.data( '' ) ] ); break\n\t\t\t\tcase 'bind': val = tree.struct( '<=>', [ tree.kids[0] ?? tree.struct( `undefined`, [tree.data('')] ) ] ); break\n\t\t\t\tcase 'get': val = tree.struct( '<=', [ tree.kids[0] ?? tree.struct( `undefined`, [tree.data('')] ) ] ); break\n\t\t\t\tcase 'put': val = tree.struct( '=>', [ tree.kids[0] ?? tree.struct( `undefined`, [tree.data('')] ) ] ); break\n\t\t\t}\n\n\t\t\tif (val === undefined) $mol_fail( new TypeError( `Unsupported type: ${ next }` ) )\n\n\t\t\tconst next_tree = this.tree(val)!\n\t\t\tthis.showed(false)\n\n\t\t\treturn $hyoo_studio_type_value(next_tree)\n\t\t}\n\n\t\tshow_obj_select() {\n\t\t\tthis.obj_select_showed(true)\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tselected_class(next?: string) {\n\n\t\t\tif ( next !== undefined ) {\n\t\t\t\tthis.showed(false)\n\t\t\t\treturn this.tree(this.tree()?.struct( next ))?.type ?? super.selected_class()\n\t\t\t}\n\t\t\t\n\t\t\treturn this.tree()?.type ?? super.selected_class()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tlist_items_type(next?: string) {\n\n\t\t\tif( next && /\\s/.test( next ) ) {\n\t\t\t\t$mol_fail( new SyntaxError( `Item type mustn't have any space chars` ) )\n\t\t\t}\n\t\t\t\n\t\t\tconst from_tree = this.tree(\n\t\t\t\tnext === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: this.tree()?.struct( '/' + next, this.tree()?.kids ?? []) ?? null\n\t\t\t)?.type.slice( 1 )\n\n\t\t\tconst focused = this.List_items_type().focused()\n\n\t\t\treturn (from_tree) || (focused? '' : 'any')\n\t\t}\n\n\t}\n\n\texport function $hyoo_studio_type_value(val: $mol_tree2_empty) {\n\t\tif( !val ) return ''\n\n\t\tswitch( val.type ) {\n\t\t\tcase '=': return '' //todo\n\t\t\tcase '+NaN': return 'number_nan'\n\t\t\tcase '+Infinity': return 'number_infinity_positive'\n\t\t\tcase '-Infinity': return 'number_infinity_negative'\n\t\t}\n\n\t\tconst type = $$.$mol_view_tree2_value_type( val )\n\n\t\tswitch( type ) {\n\t\t\tcase 'bool':\n\t\t\t\treturn val.type === 'true' ? 'boolean_true' : 'boolean_false'\n\t\t\t\n\t\t\tcase 'locale':\n\t\t\tcase 'string':\n\t\t\t\treturn 'text'\n\t\t}\n\t\t\n\t\treturn type\n\t}\n\n}\n","namespace $.$$ {\n\n\tconst { px } = $mol_style_unit\n\n\t$mol_style_define( $.$hyoo_studio_type, {\n\n\t\tflex: {\n\t\t\tgrow: 0,\n\t\t},\n\n\t\tOptions_content: {\n\t\t\tpadding: $mol_gap.space,\n\t\t},\n\n\t\tOther_options: {\n\t\t\tflex: 'none',\n\t\t},\n\n\t\tValue: {\n\t\t\tcolor: $mol_theme.special,\n\t\t},\n\t\tTake_put_hack_icon: {\n\t\t\tcolor: $mol_theme.special,\n\t\t},\n\t\tTake_hack_icon: {\n\t\t\tcolor: $mol_theme.special,\n\t\t},\n\t\tAlias_icon: {\n\t\t\tcolor: $mol_theme.special,\n\t\t},\n\n\t\tList_items_type: {\n\t\t\tflex: {\n\t\t\t\tgrow: 0,\n\t\t\t},\n\t\t\tView: {\n\t\t\t\tRows: {\n\t\t\t\t\tflexDirection: 'row',\n\t\t\t\t\t'::after': {\n\t\t\t\t\t\tcontent: '\"[]\"',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tEdit: {\n\t\t\t\tboxShadow: 'none',\n\t\t\t},\n\t\t\tcolor: $mol_theme.current,\n\t\t},\n\n\t\tControl: {\n\t\t\tborderTop: 'solid 1px var(--mol_theme_line)',\n\t\t}\n\n\t} )\n\n}\n","$hyoo_studio_value $mol_ghost\n\ttree? $mol_tree2_empty\n\tBound $hyoo_studio_value_bound\n\tList $hyoo_studio_value_list\n\tDict $hyoo_studio_value_dict\n\tObject $hyoo_studio_value_object\n\tString $hyoo_studio_value_string\n\tNumber $hyoo_studio_value_number\n\tUnit $hyoo_studio_value_unit\n\tvalue_tools /\n\ttype \\\n\thead /\n\tbelong_to \\prop\n\thide_tools false\n\tprops_of* $mol_tree2_empty\n\tprops_bindable $mol_tree2_empty\n\tclass_list /string\n\tBound_prop* $hyoo_studio_prop\n\n$hyoo_studio_value_unit $mol_view\n\thead /\n\tbelong_to \\prop\n\thide_tools false\n\tprops_of* $mol_tree2_empty\n\tprops_bindable $mol_tree2_empty\n\tclass_list /string\n\tBound_prop* $hyoo_studio_prop\n\tsub /\n\t\t^ head\n\t\t<= Value_tools $mol_view\n\t\t\tsub <= visible_tools <= tools /\n\t\t\t\t<= Type $hyoo_studio_type\n\t\t\t\t\ttree? <=> tree? $mol_tree2_empty\n\t\t\t\t\ttype? => type?\n\t\t\t\t\tbelong_to <= belong_to\n\t\t\t\t\tclass_list <= class_list /string\n\t\t<= Self $mol_view\n\t\t\tsub <= self /\n","namespace $.$$ {\n\t\n\texport class $hyoo_studio_value extends $.$hyoo_studio_value {\n\t\t\n\t\t@ $mol_mem\n\t\tSub() {\n\n\t\t\tlet obj = this.Unit()\n\n\t\t\tswitch( this.$.$hyoo_studio_type_value(this.tree()) ) {\n\t\t\t\tcase 'text': obj = this.String(); break;\n\t\t\t\tcase 'number': obj = this.Number(); break;\n\t\t\t\tcase 'bind': obj = this.Bound(); break;\n\t\t\t\tcase 'object': obj = this.Object(); break;\n\t\t\t\tcase 'get': obj = this.Bound(); break;\n\t\t\t\tcase 'put': obj = this.Bound(); break;\n\t\t\t\tcase 'list': obj = this.List(); break;\n\t\t\t\tcase 'dict': obj = this.Dict(); break;\n\t\t\t}\n\n\t\t\tobj.hide_tools = () => this.hide_tools()\n\t\t\tobj.belong_to = () => this.belong_to()\n\t\t\tobj.tree = (next?: any) => this.tree(next)\n\t\t\tobj.props_of = (id: any) => this.props_of(id)\n\t\t\tobj.props_bindable = () => this.props_bindable()\n\t\t\tobj.class_list = () => this.class_list()\n\t\t\tobj.Bound_prop = (id: any) => this.Bound_prop(id)\n\t\t\tobj.head = () => this.head()\n\n\t\t\treturn obj\n\t\t}\n\n\t\t@ $mol_mem\n\t\tvalue_tools(): readonly any[] {\n\t\t\treturn this.Sub().tools()\n\t\t}\n\n\t\t@ $mol_mem\n\t\ttype(): string {\n\t\t\treturn this.Sub().Type().type()\n\t\t}\n\t\t\n\t}\n\n\n\texport class $hyoo_studio_value_unit extends $.$hyoo_studio_value_unit {\n\t\t\n\t\t@ $mol_mem\n\t\tvisible_tools() {\n\t\t\treturn this.hide_tools() ? [] : this.tools()\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\n\tconst { px, rem } = $mol_style_unit\n\n\t$mol_style_define( $hyoo_studio_value, {\n\t\t\n\t\tflex: {\n\t\t\tgrow: 1,\n\t\t},\n\n\t} )\n\n}\n","$hyoo_studio_value_bound $hyoo_studio_value_unit\n\tself /\n\t\t^ head\n\t\t<= Value_tools\n\t\t<= Bound_prop_name $mol_select\n\t\t\thint @ \\Bound Property\n\t\t\tvalue? <=> bound_prop_name? null\n\t\t\toptions <= prop_name_list /string\n\t\t\tTrigger_icon null\n\t\t<= Bound_prop_expand $mol_check_expand\n\t\t\tchecked? <=> bound_expanded? false\n","namespace $.$$ {\n\t\n\texport class $hyoo_studio_value_bound extends $.$hyoo_studio_value_bound {\n\t\t\n\t\t@ $mol_mem\n\t\tguid() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tself() {\n\t\t\treturn this.bound_expanded() ? [ this.Opened_bound_prop() ] : super.self()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tbound_expanded(next?: any) {\n\t\t\treturn this.Opened_bound_prop().expanded(\n\t\t\t\tnext !== undefined ? \n\t\t\t\t\tnext : \n\t\t\t\t\tundefined\n\t\t\t)\n\t\t}\n\n\t\t@ $mol_mem\n\t\tOpened_bound_prop() {\n\t\t\tconst prop = this.Bound_prop( this.bound_prop_name() + ':' + this.guid() )\n\t\t\tprop.trigger_sub = () => []\n\t\t\tprop.label_sub = () => [\n\t\t\t\t...this.head(), this.Value_tools(), this.Bound_prop_name(), this.Bound_prop_expand(), prop.Prop_tools()\n\t\t\t]\n\t\t\treturn prop\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tprop_name_list() {\n\t\t\treturn this.props_bindable().kids.map( prop => prop.type )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tbound_prop_name( next?: string ) {\n\t\t\t\n\t\t\tconst val = this.tree()\n\t\t\t\n\t\t\tif( next === undefined ) {\n\t\t\t\tconst name = this.$.$mol_view_tree2_prop_parts( val.kids[ 0 ] ).name\n\t\t\t\treturn name == 'undefined' ? '...' : name\n\t\t\t}\n\t\t\t\n\t\t\tthis.tree(\n\t\t\t\tval.insert( val.struct( next ), null )\n\t\t\t)\n\t\t\t\n\t\t\treturn next || '...'\n\t\t}\n\t}\n\t\n}\n","namespace $.$$ {\n\n\tconst { px, rem } = $mol_style_unit\n\n\t$mol_style_define( $hyoo_studio_value_bound, {\n\n\t\tBound_prop_name: {\n\t\t\tOption_label: {\n\t\t\t\tpadding: 0,\n\t\t\t},\n\t\t\tMenu: {\n\t\t\t\tpadding: {\n\t\t\t\t\tleft: $mol_gap.block,\n\t\t\t\t\tright: $mol_gap.block,\n\t\t\t\t},\n\t\t\t},\n\t\t\tTrigger: {\n\t\t\t\tjustifyContent: 'center',\n\t\t\t}\n\t\t},\n\n\t\tSelf: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n","$hyoo_studio_value_list $hyoo_studio_value_unit\n\tself /\n\t\t<= Head $mol_view\n\t\t\tsub /\n\t\t\t\t^ head\n\t\t\t\t<= Value_tools\n\t\t<= List_values $mol_list\n\t\t\trows <= list / \n\t\t\t\t<= List_value*0 $hyoo_studio_value\n\t\t\t\t\ttree? <=> list_value*? $mol_tree2_empty\n\t\t\t\t\tbelong_to \\list\n\t\t\t\t\tprops_of* <= props_of* $mol_tree2_empty\n\t\t\t\t\tprops_bindable <= props_bindable $mol_tree2_empty\n\t\t\t\t\tclass_list <= class_list /string\n\t\t\t\t\tBound_prop* <= Bound_prop* null\n\ttools /\n\t\t<= Type\n\t\t<= List_item_add $mol_button_minor\n\t\t\thint @ \\Add Item\n\t\t\tsub /\n\t\t\t\t<= List_add_icon $mol_icon_plus\n\t\t\tclick? <=> list_item_add? null\n","namespace $.$$ {\n\t\n\texport class $hyoo_studio_value_list extends $.$hyoo_studio_value_list {\n\t\t\n\t\t@ $mol_mem\n\t\tlist() {\n\t\t\treturn this.tree().kids.map( (_,i)=> this.List_value( i ) )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tlist_value( index: number, next?: $mol_tree2 ) {\n\n\t\t\tlet tree = this.tree()\n\t\t\tif( next !== undefined ) {\n\t\t\t\ttree = this.tree( tree.insert( next, index ) )\n\t\t\t}\n\t\t\t\n\t\t\treturn tree.kids[ index ]\n\t\t}\n\t\t\n\t\tlist_item_add() {\n\t\t\tconst tree = this.tree()\n\t\t\tthis.tree(\n\t\t\t\ttree.clone([\n\t\t\t\t\t... tree.kids,\n\t\t\t\t\ttree.struct( 'null' ),\n\t\t\t\t])\n\t\t\t)\n\t\t}\n\n\t}\n\t\n}\n","namespace $.$$ {\n\n\tconst { px, rem } = $mol_style_unit\n\n\t$mol_style_define( $hyoo_studio_value_list, {\n\n\t\tList_values: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t\tgap: $mol_gap.space,\n\t\t\tmargin: {\n\t\t\t\tleft: $mol_gap.block,\n\t\t\t},\n\t\t\tpadding: {\n\t\t\t\tleft: $mol_gap.block,\n\t\t\t},\n\t\t},\n\t\t\n\t\tSelf: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t\tdirection: 'column',\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n","$hyoo_studio_value_dict $hyoo_studio_value_unit\n\tself /\n\t\t<= Head $mol_view\n\t\t\tsub /\n\t\t\t\t^ head\n\t\t\t\t<= Value_tools\n\t\t<= Key_values $mol_list\n\t\t\trows <= list /\n\t\t\t\t<= Item*0 $mol_view\n\t\t\t\t\tsub /\n\t\t\t\t\t\t<= Item_name* $mol_textarea\n\t\t\t\t\t\t\tvalue? <=> item_key*? \\\n\t\t\t\t\t\t<= Value* $hyoo_studio_value\n\t\t\t\t\t\t\ttree? <=> item_value*? $mol_tree2_empty\n\t\t\t\t\t\t\tbelong_to \\dict\n\t\t\t\t\t\t\tprops_of* <= props_of* $mol_tree2_empty\n\t\t\t\t\t\t\tprops_bindable <= props_bindable $mol_tree2_empty\n\t\t\t\t\t\t\tclass_list <= class_list /string\n\t\t\t\t\t\t\tBound_prop* <= Bound_prop* null\n\t\t\t\t\t\t\thead /\n\t\t\t\t\t\t\t\t<= Item_name*\n\ttools /\n\t\t<= Type\n\t\t<= Key_item_add $mol_button_minor\n\t\t\thint @ \\Add Key\n\t\t\tsub /\n\t\t\t\t<= Key_add_icon $mol_icon_plus\n\t\t\tclick? <=> dict_item_add? null\n","namespace $.$$ {\n\t\n\texport class $hyoo_studio_value_dict extends $.$hyoo_studio_value_dict {\n\n\t\t@ $mol_mem\n\t\tlist() {\n\t\t\treturn this.tree().kids.map( (_,i)=> this.Item( i ) )\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\titem_key( index: number, next?: string ) {\n\n\t\t\tif( next && /\\s/.test( next ) ) {\n\t\t\t\t$mol_fail( new SyntaxError( `Item key mustn't have any space chars` ) )\n\t\t\t}\n\n\t\t\tlet tree = this.tree()\n\n\t\t\tif( next !== undefined ) {\n\t\t\t\ttree = this.tree(\n\t\t\t\t\ttree.insert( tree.struct( next, tree.kids[ index ].kids ), index )\n\t\t\t\t)\n\t\t\t}\n\n\t\t\treturn tree.kids[ index ].type\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\titem_value( index: number, next?: $mol_tree2 ) {\n\n\t\t\tlet tree = this.tree()\n\t\t\t\n\t\t\tif( next !== undefined ) {\n\t\t\t\ttree = this.tree(\n\t\t\t\t\ttree.insert( next && tree.kids[ index ].clone( [ next ] ), index )\n\t\t\t\t)\n\t\t\t}\n\n\t\t\treturn tree.kids[ index ]?.kids[ 0 ]\n\t\t}\n\n\t\tdict_item_add() {\n\t\t\tconst tree = this.tree()\n\t\t\tthis.tree(\n\t\t\t\ttree.clone([\n\t\t\t\t\t... tree.kids,\n\t\t\t\t\ttree.struct('key', [tree.struct('null')]),\n\t\t\t\t])\n\t\t\t)\n\t\t}\n\t}\n\t\n}\n","namespace $.$$ {\n\n\tconst { px, rem } = $mol_style_unit\n\n\t$mol_style_define( $hyoo_studio_value_dict, {\n\n\t\tKey_values: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t\tgap: $mol_gap.space,\n\t\t\tpadding: {\n\t\t\t\tleft: $mol_gap.block,\n\t\t\t},\n\t\t},\n\n\t\tItem_name: {\n\t\t\tflex: {\n\t\t\t\tgrow: 0,\n\t\t\t},\n\t\t\tEdit: {\n\t\t\t\tboxShadow: 'none',\n\t\t\t},\n\t\t},\n\n\t\tSelf: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t\tdirection: 'column',\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n","$mol_icon_wrench $mol_icon path \\M22.7,19L13.6,9.9C14.5,7.6 14,4.9 12.1,3C10.1,1 7.1,0.6 4.7,1.7L9,6L6,9L1.6,4.7C0.4,7.1 0.9,10.1 2.9,12.1C4.8,14 7.5,14.5 9.8,13.6L18.9,22.7C19.3,23.1 19.9,23.1 20.3,22.7L22.6,20.4C23.1,20 23.1,19.3 22.7,19Z\n","$mol_icon_wrench_outline $mol_icon path \\M22.61,19L13.53,9.91C14.46,7.57 14,4.81 12.09,2.91C9.79,0.61 6.21,0.4 3.66,2.26L7.5,6.11L6.08,7.5L2.25,3.69C0.39,6.23 0.6,9.82 2.9,12.11C4.76,13.97 7.47,14.46 9.79,13.59L18.9,22.7C19.29,23.09 19.92,23.09 20.31,22.7L22.61,20.4C23,20 23,19.39 22.61,19M19.61,20.59L10.15,11.13C9.54,11.58 8.86,11.85 8.15,11.95C6.79,12.15 5.36,11.74 4.32,10.7C3.37,9.76 2.93,8.5 3,7.26L6.09,10.35L10.33,6.11L7.24,3C8.5,2.95 9.73,3.39 10.68,4.33C11.76,5.41 12.17,6.9 11.92,8.29C11.8,9 11.5,9.66 11.04,10.25L20.5,19.7L19.61,20.59Z\n","$hyoo_studio_value_object $hyoo_studio_value_dict\n\ttools /\n\t\t<= Type\n\t\t<= Over_prop_add $mol_select\n\t\t\thint @ \\Add Override\n\t\t\talign_hor \\left\n\t\t\tTrigger_icon <= Over_add_icon $mol_icon_wrench_outline\n\t\t\tvalue? <=> over_prop_add? \\\n\t\t\toptions <= over_prop_options /string\n\tItem* $mol_view\n\t\tsub /\n\t\t\t<= Over_prop_name* $mol_paragraph\n\t\t\t\ttitle <= item_key*?\n\t\t\t<= Value* $hyoo_studio_value\n\t\t\t\ttree? <=> item_value*?\n\t\t\t\tbelong_to \\subprop\n\t\t\t\tprops_of* <= props_of*\n\t\t\t\tprops_bindable <= props_bindable\n\t\t\t\tclass_list <= class_list\n\t\t\t\tBound_prop* <= Bound_prop*\n\t\t\t\thead /\n\t\t\t\t\t<= Over_prop_name*\n","namespace $.$$ {\n\t\n\texport class $hyoo_studio_value_object extends $.$hyoo_studio_value_object {\n\n\t\tover_prop_add( next: string ) {\n\t\t\t\n\t\t\tif( !next ) return ''\n\t\t\t\n\t\t\tconst tree = this.tree()\n\t\t\t\n\t\t\tthis.tree(\n\t\t\t\ttree.clone( [\n\t\t\t\t\t...tree.kids,\n\t\t\t\t\ttree.struct( next, [\n\t\t\t\t\t\ttree.struct( 'null' ),\n\t\t\t\t\t] ),\n\t\t\t\t] )\n\t\t\t)\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tover_prop_options() {\n\t\t\treturn this.props_of( this.tree().type ).kids.map( prop => prop.type )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tprop_name_list() {\n\t\t\treturn this.props_bindable().kids.map( prop => prop.type )\n\t\t}\n\t}\n\t\n}\n","namespace $.$$ {\n\n\tconst { px, rem } = $mol_style_unit\n\n\t$mol_style_define( $hyoo_studio_value_object, {\n\n\t\tOver_prop_name: {\n\t\t\talignSelf: 'center',\n\t\t\tcolor: $mol_theme.shade,\n\t\t\tpadding: {\n\t\t\t\tleft: $mol_gap.block,\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n","$mol_icon_translate $mol_icon path \\M12.87,15.07L10.33,12.56L10.36,12.53C12.1,10.59 13.34,8.36 14.07,6H17V4H10V2H8V4H1V6H12.17C11.5,7.92 10.44,9.75 9,11.35C8.07,10.32 7.3,9.19 6.69,8H4.69C5.42,9.63 6.42,11.17 7.67,12.56L2.58,17.58L4,19L9,14L12.11,17.11L12.87,15.07M18.5,10H16.5L12,22H14L15.12,19H19.87L21,22H23L18.5,10M15.88,17L17.5,12.67L19.12,17H15.88Z\n","$hyoo_studio_value_string $hyoo_studio_value_unit\n\tself /\n\t\t<= Str $mol_textarea\n\t\t\tvalue? <=> str? \\\n\ttools /\n\t\t<= Type\n\t\t<= Locale $mol_check_icon\n\t\t\thint @ \\Multilingual\n\t\t\tIcon <= Locale_icon $mol_icon_translate\n\t\t\tchecked? <=> locale? false\n","namespace $.$$ {\n\t\n\texport class $hyoo_studio_value_string extends $.$hyoo_studio_value_string {\n\n\t\t@ $mol_mem\n\t\tstr( next?: string ) {\n\t\t\t\n\t\t\tconst val = this.tree()\n\n\t\t\tif (next !== undefined){\n\t\t\t\tthis.tree( val.type == '@' ? val.struct( '@', [ val.data(next) ] ) : val.data(next) )\n\t\t\t\treturn next\n\t\t\t}\n\n\t\t\treturn val.text()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlocale( next?: boolean ) {\n\t\t\t\n\t\t\tconst val = this.tree()\n\t\t\t\n\t\t\tif( next === undefined ) return '@' === val.type\n\t\t\t\n\t\t\tthis.tree(\n\t\t\t\tnext\n\t\t\t\t\t? val.struct( '@', [\n\t\t\t\t\t\tval.data( val.text() || val.type )\n\t\t\t\t\t] )\n\t\t\t\t\t: val.data( val.text() || val.type )\n\t\t\t)\n\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tvisible_tools(){\n\t\t\treturn this.belong_to() === 'prop'? [] : [ this.Type() ]\n\t\t}\n\n\t}\n\t\n}\n","namespace $.$$ {\n\n\tconst { px, rem } = $mol_style_unit\n\n\t$mol_style_define( $hyoo_studio_value_string, {\n\t\t\n\t\tpadding: {\n\t\t\tright: $mol_gap.space,\n\t\t},\n\n\t\tValue_tools: {\n\t\t\tflex: {\n\t\t\t\tgrow: 0,\n\t\t\t},\n\t\t},\n\n\t\tSelf: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t},\n\n\t\tStr: {\n\t\t\tmaxWidth: rem(40),\n\t\t\tEdit: {\n\t\t\t\tboxShadow: 'none',\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n","$mol_icon_minus $mol_icon path \\M19,13H5V11H19V13Z\n","$mol_number $mol_view\n\tprecision_view <= precision 1\n\tprecision_change <= precision 1\n\tvalue_min -Infinity\n\tvalue_max +Infinity\n\tvalue? +NaN\n\tenabled true\n\tsub /\n\t\t<= String $mol_string\n\t\t\t- \\ we don't want native number controls in mobile devices\n\t\t\t- \\ https://stackoverflow.com/questions/3790935/can-i-hide-the-html5-number-input-s-spin-box\n\t\t\ttype <= type \\tel\n\t\t\tvalue? <=> value_string? \\\n\t\t\thint <= hint \\ \n\t\t\tenabled <= string_enabled <= enabled\n\t\t\tsubmit? <=> submit? null\n\t\t<= Dec $mol_button_minor\n\t\t\tevent_click? <=> event_dec? null\n\t\t\tenabled <= dec_enabled <= enabled\n\t\t\tsub / <= dec_icon $mol_icon_minus\n\t\t<= Inc $mol_button_minor\n\t\t\tevent_click? <=> event_inc? null\n\t\t\tenabled <= inc_enabled <= enabled\n\t\t\tsub / <= inc_icon $mol_icon_plus\n","namespace $ { $mol_style_attach( \"mol/number/number.css\",\n \"[mol_number] {\\n\\tdisplay: flex;\\n\\tflex: 0 1 auto;\\n\\tposition: relative;\\n\\talign-items: stretch;\\n\\tmax-width: 100%;\\n}\\n\\n[mol_number_string] {\\n\\tappearance: textfield;\\n\\tflex: 1 1 7rem;\\n\\twidth: 7rem;\\n}\\n\\n[mol_number_string]::-webkit-inner-spin-button {\\n\\tdisplay: none;\\n}\\n\"\n) }","namespace $.$$ {\n\n\t/**\n\t * Component for entering, incrementing and decrementing numeric values.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_number_demo\n\t */\n\texport class $mol_number extends $.$mol_number {\n\t\t\n\t\tvalue_limited( val? : number ) : number {\n\t\t\tif (Number.isNaN( val )) return this.value( val )\n\t\t\tif ( val === undefined ) return this.value()\n\n\t\t\tconst min = this.value_min()\n\t\t\tconst max = this.value_max()\n\n\t\t\tif( val < min ) return this.value( min )\n\t\t\tif( val > max ) return this.value( max )\n\t\t\t\n\t\t\treturn this.value( val )\n\t\t}\n\n\t \toverride event_dec( next? : Event ) {\n\t\t\tthis.value_limited( ( this.value_limited() || 0 ) - this.precision_change() )\n\t\t}\n\n\t\toverride event_inc( next? : Event ) {\n\t\t\tthis.value_limited( ( this.value_limited() || 0 ) + this.precision_change() )\n\t\t}\n\n\t\tround(val: number) {\n\t\t\tif (Number.isNaN(val)) return ''\n\t\t\tif( val === 0 ) return '0'\n\t\t\tif( !val ) return ''\n\n\t\t\tconst precision_view = this.precision_view()\n\n\t\t\tif (! precision_view) return val.toFixed()\n\n\t\t\tif( precision_view >= 1 ) {\n\t\t\t\treturn ( val / precision_view ).toFixed()\n\t\t\t} else {\n\t\t\t\tconst fixed_number = Math.log10( 1 / precision_view )\n\t\t\t\treturn val.toFixed( Math.ceil( fixed_number ) )\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\toverride value_string( next? : string ): string {\n\t\t\t// Вытягиваем value\n\t\t\t// Если кто-то поменяет из вне value, value_string надо обновить\n\t\t\tconst current = this.round( this.value_limited() )\n\t\t\tif (next === undefined) return current\n\n\t\t\tconst precision = this.precision_view()\n\n\t\t\t// Точку в конце поставить нельзя, если precision_view целое число > 0\n\t\t\tif ( precision - Math.floor(precision) === 0 ) next = next.replace(/[.,]/g, '')\n\n\t\t\t// Запятые меняем на точки, удаляем не-цифры и не-точки и лишние ноли в начале целой части.\n\t\t\t// Минус получится ввести только в начале.\n\t\t\tnext = (this.value_min() < 0 && next.startsWith('-') ? '-' : '')\n\t\t\t\t+ next.replace(/,/g, '.').replace(/[^\\d\\.]/g, '').replace(/^0{2,}/, '0')\n\n\t\t\tlet dot_pos = next.indexOf('.')\n\n\t\t\tif (dot_pos !== -1) {\n\t\t\t\tconst prev = $mol_wire_probe(() => this.value_string()) ?? ''\n\t\t\t\tconst dot_pos_prev = prev.indexOf('.')\n\t\t\t\t// Определяем где относительно предыдущей точки юзер поставил новую\n\t\t\t\tif (dot_pos_prev === dot_pos) dot_pos = next.lastIndexOf('.')\n\t\t\t\t\n\t\t\t\t// Из частей до и после новой точки старую точку удаляем\n\t\t\t\tconst frac = next.slice(dot_pos + 1).replace(/\\./g, '')\n\n\t\t\t\t// Если точка идет первой, перед ней пишем 0, что бы форматирование выглядело нормально в mask\n\t\t\t\tnext = (next.slice(0, dot_pos) || '0').replace(/\\./g, '') + '.' + frac\n\t\t\t}\n\n\t\t\t// Оставляем старое значение в value есть сочетание, приводящие к NaN, например -.\n\t\t\tif ( Number.isNaN(Number(next)) ) return next\n\n\t\t\tif ( next.endsWith('.') ) return next\n\t\t\tif ( next.endsWith('-') ) return next\n\n\t\t\t// Если пустая строка - сетим NaN\n\t\t\t// Применяем округления.\n\t\t\tthis.value_limited(Number(next || Number.NaN))\n\n\t\t\t// Возвращаем все-равно не нормализованное значение\n\t\t\t// Иначе нельзя ввести будет 10, если min/max 5..10\n\t\t\treturn next\n\t\t}\n\n\t\t@ $mol_mem\n\t\toverride dec_enabled() : boolean {\n\t\t\treturn this.enabled() && (\n\t\t\t\t!( ( this.value() || 0 ) <= this.value_min() )\n\t\t\t)\n\t\t}\n\n\t\t@ $mol_mem\n\t\toverride inc_enabled() : boolean {\n\t\t\treturn this.enabled() && ( \n\t\t\t\t!( ( this.value() || 0 ) >= this.value_max() )\n\t\t\t)\n\t\t}\n\n\t}\n}\n","$hyoo_studio_value_number $hyoo_studio_value_unit\n\tself /\n\t\t<= Numb $mol_number\n\t\t\tvalue? <=> numb? +NaN\n","namespace $.$$ {\n\t\n\texport class $hyoo_studio_value_number extends $.$hyoo_studio_value_number {\n\n\t\t@ $mol_mem\n\t\tnumb( next?: number ) {\n\t\t\t\n\t\t\treturn Number( this.tree(\n\t\t\t\tnext === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: this.tree().struct( String( next ) )\n\t\t\t).type )\n\t\t\t\n\t\t}\n\n\t}\n\t\n}\n","namespace $.$$ {\n\n\tconst { px, rem } = $mol_style_unit\n\n\t$mol_style_define( $hyoo_studio_value_number, {\n\t\t\n\t\tSelf: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t},\n\t\t\n\t\tNumb: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t\tString: {\n\t\t\t\tboxShadow: 'none',\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n","$hyoo_studio_prop $mol_view\n\ttree?val $mol_tree2_empty\n\tsign? \\\n\tsub /\n\t\t<= Expander $mol_expander\n\t\t\tLabel <= Label $mol_view\n\t\t\t\tsub /\n\t\t\t\t\t<= Label_content $mol_view\n\t\t\t\t\t\tsub <= label_sub /\n\t\t\t\t\t\t\t<= Trigger $mol_check_expand\n\t\t\t\t\t\t\t\tIcon => Trigger_icon\n\t\t\t\t\t\t\t\tsub <= trigger_sub /\n\t\t\t\t\t\t\t\t\t<= Expander_title $mol_paragraph\n\t\t\t\t\t\t\t\t\t\ttitle <= name \\\n\t\t\t\t\t\t\t\t\t<= Trigger_icon\n\t\t\t\t\t\t\t\tchecked? <=> expanded? false\n\t\t\t\t\t\t\t\texpandable <= expandable true\n\t\t\t\t\t\t\t<= Prop_tools\n\t\t\texpanded? <=> expanded?\n\t\t\tTools <= Prop_tools $mol_view\n\t\t\t\tsub <= prop_tools /\n\t\t\t\t\t<= Value_tools $mol_view\n\t\t\t\t\t\tsub <= value_tools\n\t\t\t\t\t<= Key $mol_check_icon\n\t\t\t\t\t\thint @ \\Multiple values by key\n\t\t\t\t\t\tIcon <= Key_icon $mol_icon_key_change\n\t\t\t\t\t\tchecked? <=> multiple? false\n\t\t\t\t\t<= Next $mol_check_icon\n\t\t\t\t\t\thint @ \\Changeable\n\t\t\t\t\t\tIcon <= Next_icon $mol_icon_atom_variant\n\t\t\t\t\t\tchecked? <=> changeable? false\n\t\t\t\t\t<= Styles $mol_check_icon\n\t\t\t\t\t\thint @ \\Styles\n\t\t\t\t\t\tIcon <= Styles_icon $mol_icon_language_css3\n\t\t\t\t\t\tchecked? <=> styles_opened? false\n\t\t\t\t\t<= Behavior $mol_check_icon\n\t\t\t\t\t\thint @ \\Behavior\n\t\t\t\t\t\tIcon <= Behavior_icon $mol_icon_language_javascript\n\t\t\t\t\t\tchecked? <=> behavior_opened? false\n\t\t\tcontent <= prop_content /\n\t\t\t\t<= Value $hyoo_studio_value\n\t\t\t\t\thide_tools true\n\t\t\t\t\tvalue_tools => value_tools\n\t\t\t\t\tbelong_to \\prop\n\t\t\t\t\ttree? <=> value? $mol_tree2_empty\n\t\t\t\t\tprops_of* <= props_of* $mol_tree2_empty\n\t\t\t\t\tprops_bindable <= props_bindable $mol_tree2_empty\n\t\t\t\t\tclass_list <= class_list /string\n\t\t\t\t\tBound_prop* <= Bound_prop* $hyoo_studio_prop\n","namespace $.$$ {\n\t\n\texport class $hyoo_studio_prop extends $.$hyoo_studio_prop {\n\n\t\t@ $mol_mem\n\t\tmultiple( next?: any ): boolean {\n\t\t\t\n\t\t\tconst sign_obj = [ ...this.sign().matchAll( $mol_view_tree2_prop_signature ) ][ 0 ]?.groups ?? {\n\t\t\t\tname: '',\n\t\t\t\tkey: '',\n\t\t\t\tnext: '',\n\t\t\t}\n\t\t\t\n\t\t\tif( next !== undefined ) {\n\t\t\t\tconst new_sign = $mol_view_tree2_prop_signature.generate( { ...sign_obj, key: next ? '*' : '' } )!\n\t\t\t\tthis.sign( new_sign )\n\t\t\t\treturn next\n\t\t\t}\n\t\t\t\n\t\t\treturn Boolean( sign_obj.key )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tchangeable( next?: any ): boolean {\n\n\t\t\tconst sign_obj = [ ...this.sign().matchAll( $mol_view_tree2_prop_signature ) ][ 0 ]?.groups ?? {\n\t\t\t\tname: '',\n\t\t\t\tkey: '',\n\t\t\t\tnext: '',\n\t\t\t}\n\n\t\t\tif( next !== undefined ) {\n\t\t\t\tconst new_sign = $mol_view_tree2_prop_signature.generate( { ...sign_obj, next: next ? '?' : '' } )!\n\t\t\t\tthis.sign( new_sign )\n\t\t\t\treturn next\n\t\t\t}\n\n\t\t\treturn Boolean( sign_obj.next )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstyles_opened( next?: boolean ) {\n\t\t\tif (next !== undefined) {\n\t\t\t\tthis.$.$mol_state_arg.value('raw', next ? '' : null)\n\t\t\t\tthis.$.$mol_state_arg.value('raw_type', next ? 'Styles' : null)\n\t\t\t\tthis.$.$mol_state_arg.value('raw_prop', next ? this.name() : null)\n\t\t\t}\n\n\t\t\treturn this.$.$mol_state_arg.value('raw_prop') === this.name() && this.$.$mol_state_arg.value('raw') === '' && this.$.$mol_state_arg.value('raw_type') === 'styles'\n\t\t}\n\n\t\t@ $mol_mem\n\t\tbehavior_opened( next?: boolean ) {\n\t\t\tif (next !== undefined) {\n\t\t\t\tthis.$.$mol_state_arg.value('raw', next ? '' : null)\n\t\t\t\tthis.$.$mol_state_arg.value('raw_type', next ? 'Behavior' : null)\n\t\t\t\tthis.$.$mol_state_arg.value('raw_prop', next ? this.name() : null)\n\t\t\t}\n\n\t\t\treturn this.$.$mol_state_arg.value('raw_prop') === this.name() && this.$.$mol_state_arg.value('raw') === '' && this.$.$mol_state_arg.value('raw_type') === 'behavior'\n\t\t}\n\n\t\t@ $mol_mem\n\t\tprop_tools() {\n\t\t\treturn [\n\t\t\t\tthis.Value_tools(),\n\t\t\t\t... this.Value().type() === 'object' ? [this.Styles()] : [],\n\t\t\t\tthis.Behavior(),\n\t\t\t\tthis.Key(),\n\t\t\t\tthis.Next(),\n\t\t\t]\n\t\t}\n\t\t\n\t\tprop_content() {\n\t\t\tswitch (this.Value().type()) {\n\t\t\t\tcase 'object':\n\t\t\t\tcase 'text':\n\t\t\t\tcase 'number':\n\t\t\t\tcase 'list':\n\t\t\t\tcase 'dict':\n\t\t\t\tcase 'bind':\n\t\t\t\tcase 'get':\n\t\t\t\tcase 'put': \n\t\t\t\t\treturn [ this.Value() ]\n\t\t\t\tdefault: \n\t\t\t\t\treturn []\n\t\t\t}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\texpandable() {\n\t\t\tswitch (this.Value().type()) {\n\t\t\t\tcase 'object':\n\t\t\t\tcase 'text':\n\t\t\t\tcase 'number':\n\t\t\t\tcase 'list':\n\t\t\t\tcase 'dict': \n\t\t\t\tcase 'bind':\n\t\t\t\tcase 'get':\n\t\t\t\tcase 'put': \n\t\t\t\t\treturn true\n\t\t\t\tdefault: \n\t\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\n\t\t\t\n\t\t@ $mol_mem\n\t\texpanded(next?: boolean): boolean {\n\n\t\t\tif ( next !== undefined ) return next as never\n\n\t\t\tlet expanded: boolean | undefined = $mol_wire_probe( () => this.expanded() )\n\n\t\t\tconst type = this.Value().type()\n\n\t\t\tif ( !expanded ) {\n\t\t\t\tswitch (type) {\n\t\t\t\t\tcase 'object': \n\t\t\t\t\tcase 'list': \n\t\t\t\t\tcase 'dict': \n\t\t\t\t\t\treturn this.value().kids.length > 0 ? false : true\n\t\t\t\t\tcase 'text': \n\t\t\t\t\t\treturn this.value().text().length > 40 ? false : true\n\t\t\t\t\tcase 'null' :\n\t\t\t\t\tcase 'boolean_true' :\n\t\t\t\t\tcase 'boolean_false' :\n\t\t\t\t\tcase 'number' :\n\t\t\t\t\tcase 'number_nan' :\n\t\t\t\t\tcase 'number_infinity_negative' :\n\t\t\t\t\tcase 'number_infinity_positive' :\n\t\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\treturn expanded\n\t\t}\n\n\t\t@ $mol_mem\n\t\tvalue( next?: $mol_tree2 ) {\n\n\t\t\tlet val = this.tree()\n\n\t\t\tif( next !== undefined ) {\n\t\t\t\tval = this.tree( next && val.clone( [ next ] ) )\n\t\t\t\tthis.expanded( true )\n\t\t\t\treturn next\n\t\t\t}\n\t\t\t\n\t\t\treturn val?.kids[ 0 ]\n\t\t}\n\t}\n}\n","namespace $.$$ {\n\n\tconst { px, rem, per } = $mol_style_unit\n\n\t$mol_style_define( $hyoo_studio_prop, {\n\n\t\tflex: {\n\t\t\tgrow: 1,\n\t\t},\n\t\tborder: {\n\t\t\tradius: $mol_gap.round,\n\t\t},\n\t\tbackground: {\n\t\t\tcolor: $mol_theme.card,\n\t\t},\n\n\t\tValue: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t\tpadding: {\n\t\t\t\tbottom: $mol_gap.space,\n\t\t\t\tleft: $mol_gap.space,\n\t\t\t},\n\t\t\tBound: {\n\t\t\t\tSelf: {\n\t\t\t\t\tpadding: {\n\t\t\t\t\t\tleft: $mol_gap.block,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\tObject: {\n\t\t\tflexDirection: 'column',\n\t\t},\n\n\t\tExpander: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t},\n\n\t\tLabel_content: {\n\t\t\tflex: {\n\t\t\t\twrap: 'wrap',\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t},\n\n\t\tTrigger: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t},\n\n\t\tExpander_title: {\n\t\t\tcolor: $mol_theme.control,\n\t\t},\n\n\t\tProp_tools: {\n\t\t\tflex: {\n\t\t\t\tshrink: 1,\n\t\t\t},\n\t\t\tmargin: {\n\t\t\t\tleft: 'auto',\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n","namespace $ {\n\n\texport class $hyoo_studio_component extends $mol_object {\n\n\t\t@ $mol_mem\n\t\tsource(next?: string) {\n\t\t\treturn next ?? ''\n\t\t}\n\n\t\t@ $mol_mem\n\t\ttree(next?: $mol_tree2_empty) {\n\t\t\tconst source = this.source( next && next.toString() ).replace( /\\n?$/, '\\n' )\n\t\t\t\n\t\t\tconst tree = this.$.$mol_view_tree2_normalize(\n\t\t\t\tthis.$.$mol_tree2_from_string( source )\n\t\t\t).kids[0]\n\t\t\t\n\t\t\treturn tree\n\t\t}\n\n\t\t@ $mol_mem\n\t\tname( next?: string ) {\n\t\t\tconst tree = this.tree()\n\t\t\tif( !next ) return tree.type\n\t\t\t\n\t\t\tthis.tree(\n\t\t\t\ttree.struct( next, tree.kids )\n\t\t\t)\n\t\t\t\n\t\t\treturn next\n\t\t}\n\n\t\t@ $mol_mem\n\t\tbase( next?: string ) {\n\t\t\tconst self = this.tree()\n\t\t\tconst base = this.$.$mol_view_tree2_class_super( self )\n\t\t\tif( !next ) return base.type\n\t\t\t\n\t\t\tthis.tree(\n\t\t\t\tself.clone([\n\t\t\t\t\tbase.struct( next, base.kids )\n\t\t\t\t])\n\t\t\t)\n\t\t\t\n\t\t\treturn next\n\t\t}\n\n\t\t@ $mol_mem\n\t\tprop_names() {\n\t\t\treturn this.$.$mol_view_tree2_class_props( this.tree() ).map( tree => this.$.$mol_view_tree2_prop_parts( tree ).name )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tprops_tree() {\n\t\t\treturn this.tree().list( this.$.$mol_view_tree2_class_props( this.tree() ) )\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tprop_fullname( name: string ) {\n\t\t\tif (name.indexOf('*') + name.indexOf('?') + name.indexOf('!') > -3) return name\n\n\t\t\tfor (const tree of this.props_tree().kids) {\n\n\t\t\t\tconst sign = tree?.type ?? ''\n\t\t\t\tconst meta = [ ... sign.matchAll( $mol_view_tree2_prop_signature ) ][0]?.groups ?? { name: '', key: '', next: '' }\n\n\t\t\t\tif (meta.name === name) return `${meta.name}${meta.key || ''}${meta.next || ''}`\n\t\t\t}\n\n\t\t\treturn ''\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tprop_tree( name: string, next?: $mol_tree2 | null ) {\n\t\t\tconst sign = this.prop_fullname(name)\n\n\t\t\tif( next !== undefined ) {\n\t\t\t\tthis.tree( this.tree().insert( next, this.base(), sign ) )\n\t\t\t\treturn next\n\t\t\t}\n\t\t\t\n\t\t\treturn this.props_tree().select( sign ).kids[0] ?? null\n\t\t}\n\n\t\t@ $mol_action\n\t\tprop_add( name: string ) {\n\t\t\tconst tree = this.tree()\n\t\t\t\n\t\t\tthis.tree(\n\t\t\t\ttree.insert(\n\t\t\t\t\ttree.struct( name, [\n\t\t\t\t\t\ttree.struct( 'null' ),\n\t\t\t\t\t] ),\n\t\t\t\t\tnull,\n\t\t\t\t\tname,\n\t\t\t\t)\n\t\t\t)\n\t\t}\n\n\t\t@ $mol_action\n\t\tprop_drop( name: string ) {\n\t\t\tthis.prop_tree( name , null )\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tproperty( name: string ) {\n\t\t\treturn $hyoo_studio_property.make({\n\t\t\t\tname: $mol_const(name),\n\t\t\t\ttree: next => this.prop_tree( name, next )!,\n\t\t\t\tcomponent: $mol_const(this),\n\t\t\t})\n\t\t}\n\n\t}\n\n}\n","$mol_tag_tree $mol_list\n\tpath /string\n\tids_tags *\n\tids /\n\ttags /string\n\tlevels_expanded 0\n\tsub /$mol_view\n\t\t^ tag_list /$mol_view\n\t\t^ item_list /$mol_view\n\ttag_name* \\\n\ttag_list /$mol_view\n\titem_list /$mol_view\n\tItem* $mol_view\n\t\tsub /\n\t\t\t<= item_title* \\\n\tTag* $mol_expander\n\t\texpandable true\n\t\texpanded? <=> tag_expanded*? false\n\t\ttitle <= tag_name* \\\n\t\tcontent / <= Tag_tree* $mol_tag_tree\n\t\t\tids_tags <= ids_tags\n\t\t\tpath <= tag_path* /string\n\t\t\tItem* <= Item*\n\t\t\titem_title* <= item_title*\n\t\t\ttag_expanded*? <=> tag_expanded*?\n\t\t\ttag_name* <= tag_name*\n","namespace $ {\n\n\texport function $mol_compare_text< Item >( item = ( item : Item )=> String( item ) ) {\n\t\t\n\t\treturn ( a : Item , b : Item )=> {\n\n\t\t\tconst text_a = item( a ).trim().toLowerCase()\n\t\t\tconst text_b = item( b ).trim().toLowerCase()\n\n\t\t\tconst parts_a = text_a.split( /(\\d+)/ )\n\t\t\tconst parts_b = text_b.split( /(\\d+)/ )\n\n\t\t\tconst count = Math.max( parts_a.length , parts_b.length )\n\t\t\t\n\t\t\tfor( let i = 0 ; i < count ; ++ i ) {\n\n\t\t\t\tconst part_a = parts_a[i] || ''\n\t\t\t\tconst part_b = parts_b[i] || ''\n\t\t\t\t\n\t\t\t\tconst diff = Number( part_a ) - Number( part_b )\n\t\t\t\tif( diff ) return diff\n\n\t\t\t\tif( part_a > part_b ) return 1\n\t\t\t\tif( part_a < part_b ) return -1\n\n\t\t\t}\n\t\t\t\n\t\t\treturn parts_a.length - parts_b.length\n\t\t}\n\n\t}\n\n}\n","namespace $.$$ {\n\n\t/**\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_tag_tree_demo\n\t */\n\texport class $mol_tag_tree extends $.$mol_tag_tree {\n\n\t\t@ $mol_mem\n\t\toverride ids() {\n\t\t\tconst prefix = this.path().join( '/' )\n\t\t\tconst ids_tags = this.ids_tags()\n\t\t\treturn Object.keys( ids_tags ).filter( id => ids_tags[ id ].some( ( tag: string )=> tag.startsWith( prefix ) ) )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\toverride item_list() {\n\t\t\tconst path = this.path()\n\t\t\tconst grouped = new Set( this.tags().flatMap( tag => this.Tag_tree( tag ).ids() ) )\n\t\t\treturn this.ids()\n\t\t\t\t.filter( id => !grouped.has( id ) )\n\t\t\t\t.sort( $mol_compare_text() )\n\t\t\t\t.map( id => this.Item([ ... path, id ]) )\n\t\t}\n\n\t\t@ $mol_mem\n\t\toverride tags() {\n\t\t\t\n\t\t\tconst stat = new Map< string, number >()\n\t\t\tconst ids_tags = this.ids_tags()\n\t\t\tconst ids = this.ids()\n\t\t\tconst prefix = this.path().join( '/' )\n\t\t\t\n\t\t\tfor( let id of ids ) {\n\t\t\t\tfor( let tag of ids_tags[ id ] ) {\n\t\t\t\t\tif( prefix && !( tag as string ).startsWith( prefix + '/' ) ) continue\n\t\t\t\t\ttag = tag.slice( prefix.length ).replace( /^\\//, '' )\n\t\t\t\t\tstat.set( tag, ( stat.get( tag ) ?? 0 ) + 1 )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tfor( let [ tag, count ] of stat ) {\n\t\t\t\tif( count < 2 ) stat.delete( tag )\n\t\t\t\tif( count > ids.length - 2 ) stat.delete( tag )\n\t\t\t}\n\t\t\t\n\t\t\tconst prefixes = [ ... new Set( [ ... stat.keys() ].map( tag => tag.replace( /\\/.*/, '' ) ) ) ].sort( $mol_compare_text() )\n\t\t\treturn prefixes\n\t\t}\n\n\t\t@ $mol_mem\n\t\toverride tag_list() {\n\t\t\treturn this.tags().map( tag => this.Tag([ tag ]))\n\t\t}\n\t\t\n\t\toverride tag_path( id: string ) {\n\t\t\treturn [ ... this.path(), id ]\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\toverride tag_expanded( id: readonly string[], next?: boolean ) {\n\t\t\treturn next ?? this.tag_expanded_default(id)\n\t\t}\n\n\t\ttag_expanded_default(id: readonly string[]) {\n\t\t\treturn this.levels_expanded() >= id.length\n\t\t}\n\n\t\toverride tag_name( id: string ) {\n\t\t\treturn id\n\t\t}\n\n\t\toverride item_title(id: readonly string[]) {\n\t\t\treturn id.at(-1)!\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/tag/tree/tree.view.css\",\n \"[mol_tag_tree_tag_content] {\\n\\tpadding-left: var(--mol_gap_block);\\n margin-left: var(--mol_gap_block);\\n box-shadow: inset 1px 0 0 0 var(--mol_theme_line);\\n}\\n\\n[mol_tag_tree_item] {\\n\\tpadding: var(--mol_gap_text);\\n\\tpadding-left: 0;\\n}\\n\\n[mol_tag_tree_tag_trigger_icon] {\\n margin-left: -1rem;\\n margin-right: -0.25rem;\\n}\\n\"\n) }","$mol_app_demo_menu $mol_page\n\tnames /string\n\twidget_tags* /string\n\twidget_aspects* /string\n\twidget_title* \\\n\tsearch_start? null\n\tbody /\n\t\t<= Filter $mol_search\n\t\t\tquery? <=> filter? \\\n\t\t\t- suggests <= filter_suggests\n\t\t<= Tree $mol_tag_tree\n\t\t\tItem* <= Option*\n\t\t\tids_tags <= ids_tags *\n\t\t\tlevels_expanded <= levels_expanded <= levels_expanded_default 0\n\tOption* $mol_link\n\t\targ <= option_arg* *\n\t\tsub /\n\t\t\t<= Option_title* $mol_dimmer\n\t\t\t\thaystack <= option_title* \\\n\t\t\t\tneedle <= filter? \\\n","namespace $.$$ {\n\t\n\t/** The component tags should be at the end of the list */\n\tconst compare_names = ( a: string, b: string )=> {\n\t\tif ( a[ 0 ] === '$' && b[ 0 ] !== '$') return 1\n\t\tif ( a[ 0 ] !== '$' && b[ 0 ] === '$' ) return -1\n\t\tif ( a > b ) return 1\n\t\tif ( a < b ) return -1\n\t\treturn 0\n\t}\n\n\texport class $mol_app_demo_menu extends $.$mol_app_demo_menu {\n\n\t\t@ $mol_mem\n\t\toverride filter( next?: string ) {\n\t\t\treturn this.$.$mol_state_session.value( 'filter' , next === '' ? null : next ) ?? super.filter() as string\n\t\t}\n\t\t\n\t\toverride option_arg( id: readonly string[] ) {\n\t\t\treturn { 'demo' : id.at(-1)?.replace(/^\\$*/, '') }\n\t\t}\n\t\t\n\t\toverride option_title( path_id: readonly string[] ) {\n\t\t\tconst id = path_id.at(-1)!\n\n\t\t\treturn id.replace( '_demo_', '/' ).replace( '_demo', '' )\n\t\t}\n\n\t\toverride search_start( event?: Event ) {\n\t\t\tthis.Filter().Query().bring()\n\t\t\tevent?.preventDefault()\n\t\t}\n\t\t\n\t\t/** Filter string not empty and ends with space */\n\t\t@ $mol_mem\n\t\tfilter_last_word_completed() {\n\t\t\treturn /[^\\s]+\\s+$/.test( this.filter() )\n\t\t}\n\n\t\t/** Filter string uniq words */\n\t\t@ $mol_mem\n\t\tfilter_words() {\n\t\t\tconst filter = this.filter().trim()\n\n\t\t\tconst words = filter !== '' ? filter.split( /\\s+/ ) : []\n\n\t\t\treturn [ ... new Set( words ) ].map( word => word.toLowerCase() )\n\t\t}\n\n\t\t@ $mol_mem\n\t\toverride ids_tags() {\n\t\t\tconst result = {} as Record\n\n\t\t\tfor (const name of this.names_filtered()) {\n\t\t\t\tlet aspects = this.widget_aspects( name )\n\t\t\t\tresult[name] = result[name] ?? []\n\n\t\t\t\tfor (const tag of aspects) {\n\t\t\t\t\tresult[name].push(tag)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn result\n\t\t}\n\n\t\t@ $mol_mem\n\t\ttags_filtered() {\n\t\t\treturn [... new Set(\n\t\t\t\tthis.names_filtered().flatMap( name => this.widget_tags( name ) )\n\t\t\t) ]\n\t\t\t\t.map( tag => tag.trim().toLowerCase() )\n\t\t\t\t.filter( tag => tag !== '')\n\t\t\t\t.sort( compare_names )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tfilter_suggests() {\n\t\t\tconst filter_words = this.filter_words()\n\n\t\t\tif( filter_words.length === 0 ) return this.tags_filtered()\n\n\t\t\tconst filtered_names = this.names_filtered()\n\n\t\t\tif( filtered_names.length <= 1 ) return []\n\n\t\t\tconst tags = this.tags_filtered()\n\n\t\t\tconst filter_last_word = filter_words.slice( -1 )[ 0 ]\n\n\t\t\tconst filter_last_word_completed = this.filter_last_word_completed()\n\t\t\t\n\t\t\t/** Tags suggests */\n\t\t\tconst suggests: string[] = []\n\n\t\t\tfor( const tag of tags ) {\n\t\t\t\tif( filter_words.includes( tag ) ) continue\n\n\t\t\t\tif ( filter_last_word_completed ) {\n\t\t\t\t\tsuggests.push(\n\t\t\t\t\t\t`${ filter_words.join( ' ' ) } ${ tag }`\n\t\t\t\t\t)\n\t\t\t\t} else if ( \n\t\t\t\t\ttag.indexOf( filter_last_word ) === 0 &&\n\t\t\t\t\t( filter_last_word.length < tag.length )\n\t\t\t\t) {\n\t\t\t\t\tsuggests.push(\n\t\t\t\t\t\t`${ filter_words.slice( 0, -1 ).join( ' ' ) } ${ tag }`\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn suggests\n\t\t}\n\n\t\tlevels_expanded() {\n\t\t\tif (this.filter_words().length) return 99\n\n\t\t\treturn super.levels_expanded()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tnames_filtered() {\n\t\t\tconst words = this.filter_words()\n\t\t\treturn this.names().filter( $mol_match_text( this.filter(), name => [\n\t\t\t\tname,\n\t\t\t\t... this.widget_aspects( name ),\n\t\t\t\t... this.widget_tags( name ),\n\t\t\t] ) )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/app/demo/menu/menu.view.css\",\n \"[mol_app_demo_menu] {\\n\\tflex: 0 0 18rem;\\n}\\n\\n[mol_app_demo_menu_selector] {\\n\\tdisplay: flex;\\n\\tflex-wrap: nowrap;\\n\\tgap: 0;\\n}\\n\\n[mol_app_demo_menu_tools] {\\n\\tpadding: 0;\\n}\\n\\n[mol_app_demo_menu_themes] {\\n\\tflex: none;\\n}\\n\\n[mol_app_demo_menu_filter] {\\n\\talign-self: stretch;\\n\\tflex-grow: 0;\\n\\tflex-shrink: 0;\\n}\\n\"\n) }","$mol_icon_forum $mol_icon path \\M17,12V3A1,1 0 0,0 16,2H3A1,1 0 0,0 2,3V17L6,13H16A1,1 0 0,0 17,12M21,6H19V15H6V17A1,1 0 0,0 7,18H18L22,22V7A1,1 0 0,0 21,6Z\n","$mol_icon_forum_outline $mol_icon path \\M15,4V11H5.17L4,12.17V4H15M16,2H3A1,1 0 0,0 2,3V17L6,13H16A1,1 0 0,0 17,12V3A1,1 0 0,0 16,2M21,6H19V15H6V17A1,1 0 0,0 7,18H18L22,22V7A1,1 0 0,0 21,6Z\n","$mol_icon_open_in_new $mol_icon path \\M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z\n","$mol_chat $mol_link\n\tseed \\\n\topened false\n\targ * mol_chat \\\n\thint <= title\n\tsub /\n\t\t<= Icon $mol_icon_forum_outline\n\tpages /\n\t\t<= Page $mol_page\n\t\t\ttitle <= title @ \\Discussion\n\t\t\ttools /\n\t\t\t\t<= Esternal $mol_link\n\t\t\t\t\turi <= standalone \\\n\t\t\t\t\tsub /\n\t\t\t\t\t\t<= Standalone_icon $mol_icon_open_in_new\n\t\t\t\t<= Close $mol_link\n\t\t\t\t\targ * mol_chat null\n\t\t\t\t\tsub /\n\t\t\t\t\t\t<= Close_icon $mol_icon_close\n\t\t\tBody <= Embed $mol_frame\n\t\t\t\turi <= embed \\\n","namespace $.$$ {\n\n\t/**\n\t * Button to open embedded chat.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_chat_demo\n\t */\n\texport class $mol_chat extends $.$mol_chat {\n\t\t\n\t\topened() {\n\t\t\treturn this.$.$mol_state_arg.value( 'mol_chat' ) !== null\n\t\t}\n\t\t\n\t\tpages() {\n\t\t\treturn this.opened() ? [ this.Page() ] : []\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstandalone() {\n\t\t\tconst seed = this.seed()\n\t\t\tconst origin = new URL( this.$.$mol_state_arg.href() ).origin\n\t\t\treturn `https://talks.hyoo.ru/#!chat=${ seed }`\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tembed() {\n\t\t\tconst seed = this.seed()\n\t\t\tconst lights = String( this.$.$mol_lights() )\n\t\t\tconst embed = this.$.$mol_state_arg.href()\n\t\t\treturn `https://talks.hyoo.ru/#!chat=${ encodeURIComponent( seed ) }/mol_lights=${ lights }`\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/chat/chat.view.css\",\n \"[mol_chat_page] {\\n\\tflex: 1 0 30rem;\\n}\\n\"\n) }","$mol_icon_settings $mol_icon path \\M12,15.5C10.07,15.5 8.5,13.93 8.5,12C8.5,10.07 10.07,8.5 12,8.5C13.93,8.5 15.5,10.07 15.5,12C15.5,13.93 13.93,15.5 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z\n","$mol_app_demo_detail $mol_page\n\tdescription \\\n\ttools /\n\t\t<= Readme $mol_check_icon\n\t\t\tchecked? <=> readme? false\n\t\t\thint @ \\Readme\n\t\t\tIcon <= readme_icon $mol_icon_information_outline\n\t\t<= Chat $mol_chat\n\t\t\tpages => chat_pages\n\t\t\tseed <= chat_seed \\0_0\n\t\t<= Edit $mol_link\n\t\t\thint <= edit_hint @ \\Edit this demo in studio\n\t\t\tsub /\n\t\t\t\t<= Edit_speck $mol_speck\n\t\t\t\t\tvalue \\β\n\t\t\t\t<= Edit_icon $mol_icon_settings\n\t\t\turi <= edit_uri \\\n\t\t<= Close $mol_link \n\t\t\thint <= close_hint @ \\Close panel\n\t\t\tsub /\n\t\t\t\t<= Close_icon $mol_icon_close\n\t\t\targ <= close_arg *\n\t\t\t\tdemo null\n\tbody /\n\t\t<= Demo $mol_view\n","$mol_example $mol_view\n\ttags /string\n\taspects /string\n","namespace $ { $mol_style_attach( \"mol/example/example.view.css\",\n \"[mol_example] {\\n\\tmax-width: 100%;\\n}\\n\"\n) }","$mol_example_small $mol_example\n","namespace $ { $mol_style_attach( \"mol/example/small/small.view.css\",\n \"[mol_example_small] {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\talign-items: flex-start;\\n\\talign-content: flex-start;\\n\\tjustify-content: flex-start;\\n\\tflex: 0 0 auto;\\n\\tbox-sizing: border-box;\\n\\tmax-width: 100%;\\n\\tgap: var(--mol_gap_block);\\n}\\n\\n[mol_example_small] > * {\\n\\tmax-width: 100%;\\n}\\n\"\n) }","$mol_example_large $mol_example\n","namespace $ { $mol_style_attach( \"mol/example/large/large.view.css\",\n \"[mol_example_large] {\\n\\tflex: 1 1 auto;\\n\\tflex-direction: column;\\n\\tbackground: var(--mol_theme_back);\\n\\tbox-shadow: 0 0 0 1px var(--mol_theme_line);\\n\\tborder-radius: var(--mol_gap_round);\\n\\tmax-width: 100%;\\n\\tmax-height: 100%;\\n\\toverflow: hidden;\\n}\\n\"\n) }","$mol_float $mol_view\n\tstyle *\n\t\t^\n\t\tminHeight \\auto\n","namespace $ { $mol_style_attach( \"mol/float/float.view.css\",\n \"[mol_float] {\\n\\tposition: sticky;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tz-index: var(--mol_layer_float);\\n\\topacity: 1;\\n\\ttransition: opacity .25s ease-in;\\n\\tdisplay: block;\\n\\tbackground: linear-gradient( var(--mol_theme_card), var(--mol_theme_card) ), var(--mol_theme_back);\\n\\tbox-shadow: 0 0 .5rem hsla(0,0%,0%,.25);\\n}\\n\\n\"\n) }","$mol_grid $mol_view\n\trow_height 32\n\trow_ids /string[]\n\trow_id* null\n\tcol_ids /\n\trecords *\n\trecord* null\n\thierarchy null\n\thierarchy_col \\\n\tminimal_width 0\n\t-\n\tsub /\n\t\t<= Head\n\t\t<= Table $mol_grid_table\n\t\t\tsub <= rows /$mol_view\n\tHead $mol_grid_row\n\t\tcells <= head_cells /$mol_view\n\tRow* $mol_grid_row\n\t\tminimal_height <= row_height\n\t\tminimal_width <= minimal_width\n\t\tcells <= cells* /$mol_view\n\t-\n\tCell* $mol_view\n\tcell* null\n\tCell_text* $mol_grid_cell\n\t\tsub <= cell_content_text* <= cell_content* /$mol_view_content\n\tCell_number* $mol_grid_number\n\t\tsub <= cell_content_number* <= cell_content* /$mol_view_content\n\tCol_head* $mol_float\n\t\tdom_name \\th\n\t\tsub <= col_head_content* /$mol_view_content\n\tCell_branch* $mol_check_expand\n\t\tlevel <= cell_level* 0\n\t\tlabel <= cell_content* /$mol_view_content\n\t\texpanded? <=> cell_expanded*? false\n\tCell_content* /\n\t\t<= Cell_dimmer* $mol_dimmer\n\t\t\tneedle <= needle \\\n\t\t\thaystack <= cell_value* \\\n\n$mol_grid_table $mol_list\n\t- dom_name \\table\n\n$mol_grid_row $mol_view\n\t- dom_name \\tr\n\tsub <= cells /$mol_view\n\n$mol_grid_cell $mol_view\n\t- dom_name \\td\n\tminimal_height 40\n\n$mol_grid_number $mol_grid_cell\n","namespace $.$$ {\n\t\n\texport interface $mol_grid_node {\n\t\tid : string\n\t\tparent : $mol_grid_node\n\t\tsub : $mol_grid_node[]\n\t}\n\t\n\texport class $mol_grid extends $.$mol_grid {\n\t\t\n\t\t@ $mol_mem\n\t\thead_cells() {\n\t\t\treturn this.col_ids().map( colId => this.Col_head( colId ) ) as readonly $mol_view[]\n\t\t}\n\t\t\n\t\tcol_head_content( colId : string ) {\n\t\t\treturn [ colId ] as readonly string[]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\trows() {\n\t\t\treturn this.row_ids().map( id => this.Row( id ) ) as readonly $mol_view[]\n\t\t}\n\t\t\n\t\tcells( row_id : string[] ) {\n\t\t\treturn this.col_ids().map( col_id => this.Cell({ row : row_id , col : col_id }) ) as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tcol_type( col_id : string ) {\n\t\t\tif( col_id === this.hierarchy_col() ) return 'branch'\n\t\t\t\n\t\t\tconst rowFirst = this.row_id( 0 )\n\t\t\tconst val = this.record( rowFirst[ rowFirst.length -1 ] )[ col_id ]\n\t\t\tif( typeof val === 'number' ) return 'number'\n\t\t\t\n\t\t\treturn 'text'\n\t\t}\n\t\t\n\t\tCell( id : { row : string[] , col : string } ) : $mol_view {\n\t\t\tswitch( this.col_type( id.col ).valueOf() ) {\n\t\t\t\tcase 'branch' : return this.Cell_branch( id )\n\t\t\t\tcase 'number' : return this.Cell_number( id )\n\t\t\t}\n\t\t\t\n\t\t\treturn this.Cell_text( id )\n\t\t}\n\t\t\n\t\tcell_content( id : { row : string[] , col : string } ) {\n\t\t\treturn [ this.record( id.row[ id.row.length - 1 ] )[ id.col ] ]\n\t\t}\n\t\t\n\t\tcell_content_text( id : { row : string[] , col : string } ) {\n\t\t\treturn this.cell_content( id ).map( val => typeof val === 'object' ? JSON.stringify( val ) : val )\n\t\t}\n\t\t\n\t\trecords() : any {\n\t\t\treturn []\n\t\t}\n\t\t\n\t\trecord( id : string ) {\n\t\t\treturn this.records()[ id ]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\trecord_ids() {\n\t\t\treturn Object.keys( this.records() )\n\t\t}\n\t\t\n\t\trow_id( index : number ) {\n\t\t\treturn ( this.row_ids().slice( index , index + 1 ).valueOf() as string[] )[0]\n\t\t}\n\n\t\tcol_ids() {\n\t\t\tconst rowFirst = this.row_id(0)\n\t\t\tif( rowFirst === void 0 ) return []\n\t\t\t\n\t\t\tconst record = this.record( rowFirst[ rowFirst.length - 1 ] )\n\t\t\tif( !record ) return []\n\t\t\t\n\t\t\treturn Object.keys( record ) as readonly string[]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\thierarchy() {\n\t\t\tconst hierarchy : { [ id : string ] : $mol_grid_node } = {}\n\t\t\tconst root = hierarchy[ '' ] = {\n\t\t\t\tid : '' ,\n\t\t\t\tparent : null as any as $mol_grid_node ,\n\t\t\t\tsub : [] as $mol_grid_node[] ,\n\t\t\t}\n\t\t\tthis.record_ids().map( id => {\n\t\t\t\troot.sub.push( hierarchy[ id ] = {\n\t\t\t\t\tid ,\n\t\t\t\t\tparent : root ,\n\t\t\t\t\tsub : [] ,\n\t\t\t\t} )\n\t\t\t} )\n\t\t\treturn hierarchy\n\t\t}\n\t\t\n\t\trow_sub_ids( row : string[] ) : string[][] {\n\t\t\treturn this.hierarchy()[ row[ row.length - 1 ] ].sub.map( child => row.concat( child.id ) )\n\t\t}\n\t\t\n\t\trow_root_id() : string[] {\n\t\t\treturn [ '' ]\n\t\t}\n\t\t\n\t\tcell_level( id : { row : string[] } ) {\n\t\t\treturn id.row.length - 1\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\trow_ids() {\n\t\t\tconst next : string[][] = []\n\t\t\t\n\t\t\tconst add = ( row : string[] )=> {\n\t\t\t\tnext.push( row )\n\t\t\t\tif( this.row_expanded( row ) ) {\n\t\t\t\t\tthis.row_sub_ids( row ).forEach( child => add( child ) )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tthis.row_sub_ids( this.row_root_id() ).forEach( child => add( child ) )\n\t\t\t\n\t\t\treturn next as readonly string[][]\n\t\t}\n\t\t\n\t\trow_expanded( row_id : string[] , next? : boolean ) {\n\t\t\tif( !this.row_sub_ids( row_id ).length ) return null\n\t\t\t\n\t\t\tconst key = `row_expanded(${ JSON.stringify( row_id ) })`\n\t\t\tconst next2 = $mol_state_session.value( key , next )\n\t\t\t\n\t\t\treturn ( next2 == null ) ? this.row_expanded_default( row_id ) : next2\n\t\t}\n\t\t\n\t\trow_expanded_default( row_id : string[] ) {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\tcell_expanded( id : { row : string[] } , next? : boolean ) {\n\t\t\treturn this.row_expanded( id.row , next )!\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/grid/grid.view.css\",\n \"[mol_grid] {\\n\\tdisplay: block;\\n\\tflex: 0 1 auto;\\n\\tposition: relative;\\n\\toverflow-x: auto;\\n}\\n\\n[mol_grid_gap] {\\n\\tposition: absolute;\\n\\tpadding: .1px;\\n\\ttop: 0;\\n\\ttransform: translateZ(0);\\n}\\n\\n[mol_grid_table] {\\n\\tborder-spacing: 0;\\n\\tdisplay: table-row-group;\\n\\tposition: relative;\\n}\\n\\n[mol_grid_table] > * {\\n\\tdisplay: table-row;\\n\\ttransition: none;\\n}\\n\\n[mol_grid_head] > *,\\n[mol_grid_table] > * > * {\\n\\tdisplay: table-cell;\\n\\tpadding: var(--mol_gap_text);\\n\\twhite-space: nowrap;\\n\\tvertical-align: middle;\\n\\tbox-shadow: inset 1px 1px 0 0 var(--mol_theme_line);\\n}\\n\\n[mol_grid_row]:where(:first-child) > * {\\n\\tbox-shadow: inset 1px 0 0 0 var(--mol_theme_line);\\n}\\n\\n[mol_grid_table] > * > *:where(:first-child) {\\n\\tbox-shadow: inset 0px 1px 0 0 var(--mol_theme_line);\\n}\\n\\n[mol_grid_head] > * {\\n\\tbox-shadow: inset 1px -1px 0 0 var(--mol_theme_line);\\n}\\n\\n[mol_grid_head] > *:where(:first-child) {\\n\\tbox-shadow: inset 0px -1px 0 0 var(--mol_theme_line);\\n}\\n\\n[mol_grid_table] > [mol_grid_row]:where(:first-child) > *:where(:first-child) {\\n\\tbox-shadow: none;\\n}\\t\\n\\n[mol_grid_head] {\\n\\tdisplay: table-row;\\n\\ttransform: none !important;\\n}\\n\\n/* [mol_grid_cell_number] {\\n\\ttext-align: right;\\n} */\\n\\n[mol_grid_col_head] {\\n\\tfont-weight: inherit;\\n\\ttext-align: inherit;\\n\\tdisplay: table-cell;\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\\n[mol_grid_cell_dimmer] {\\n\\tdisplay: inline-block;\\n\\tvertical-align: inherit;\\n}\\n\"\n) }","$mol_image $mol_view\n\tdom_name \\img\n\tfield *any\n\t\t^\n\t\tsrc <= uri \\\n\t\talt <= title\n\t\tloading <= loading \\eager\n\t\tdecoding <= decoding \\async\n\t\tcrossOrigin <= cors null\n\tattr *any\n\t\t^\n\t\twidth <= natural_width 0\n\t\theight <= natural_height 0\n\tevent *any\n\t\tload? <=> load? null\n\tminimal_width 16\n\tminimal_height 16\n","namespace $.$$ {\n\texport class $mol_image extends $.$mol_image {\n\t\t\n\t\t@ $mol_mem\n\t\tnatural_width( next?: null ) {\n\t\t\t\n\t\t\tconst dom = this.dom_node() as HTMLImageElement\n\t\t\tif( dom.naturalWidth ) return dom.naturalWidth\n\t\t\t\n\t\t\tconst found = this.uri().match( /\\bwidth=(\\d+)/ )\n\t\t\treturn found ? Number( found[1] ) : null!\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tnatural_height( next?: null ) {\n\t\t\t\n\t\t\tconst dom = this.dom_node() as HTMLImageElement\n\t\t\tif( dom.naturalHeight ) return dom.naturalHeight\n\t\t\t\n\t\t\tconst found = this.uri().match( /\\bheight=(\\d+)/ )\n\t\t\treturn found ? Number( found[1] ) : null!\n\t\t\t\n\t\t}\n\t\t\n\t\tload() {\n\t\t\tthis.natural_width( null )\n\t\t\tthis.natural_height( null )\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/image/image.view.css\",\n \"[mol_image] {\\n\\tborder-radius: var(--mol_gap_round);\\n\\toverflow: hidden;\\n\\tflex: 0 1 auto;\\n\\tmax-width: 100%;\\n\\tobject-fit: cover;\\n\\theight: fit-content;\\n}\\n\"\n) }","$mol_link_iconed $mol_link\n\tsub /\n\t\t<= Icon $mol_image\n\t\t\turi <= icon \\\n\t\t\ttitle \\\n\tcontent /\n\t\t<= title <= uri\n\thost \\\n","namespace $.$$ {\n\n\texport class $mol_link_iconed extends $.$mol_link_iconed {\n\n\t\t@ $mol_mem\n\t\ticon() {\n\t\t\treturn `https://favicon.yandex.net/favicon/${ this.host() }?color=0,0,0,0&size=32&stub=1`\n\t\t\t// return `https://api.faviconkit.com/${ this.host() }/16`\n\t\t}\n\n\t\t@ $mol_mem\n\t\thost() {\n\t\t\tconst base = this.$.$mol_state_arg.href()\n\t\t\tconst url = new URL( this.uri() , base )\n\t\t\treturn url.hostname\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttitle() {\n\t\t\tconst uri = this.uri()\n\t\t\tconst host = this.host()\n\t\t\tconst suffix = ( host ? uri.split( this.host() , 2 )[1] : uri )?.replace( /^[\\/\\?#!]+/, '' )\n\t\t\treturn decodeURIComponent( suffix || host ).replace( /^\\//, ' ' )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\t... this.host() ? [ this.Icon() ] : [],\n\t\t\t\t... this.content() ? [ ' ', ... this.content() ] : [],\n\t\t\t] as readonly any[]\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/link/iconed/iconed.view.css\",\n \"[mol_link_iconed] {\\n\\talign-items: baseline;\\n\\tdisplay: inline-flex;\\n\\tpadding: var(--mol_gap_text);\\n}\\n\\n[mol_link_iconed_icon] {\\n\\tbox-shadow: none;\\n\\theight: 1.5em;\\n\\twidth: 1em;\\n\\tflex: 0 0 auto;\\n\\tdisplay: inline-block;\\n\\talign-self: normal;\\n\\tvertical-align: top;\\n\\tborder-radius: 0;\\n\\tobject-fit: scale-down;\\n\\topacity: .75;\\n}\\n\\n[mol_theme=\\\"$mol_theme_dark\\\"] [mol_link_iconed_icon] {\\n\\tfilter: var(--mol_theme_image);\\n}\\n\"\n) }","$mol_icon_youtube $mol_icon path \\M10,15L15.19,12L10,9V15M21.56,7.17C21.69,7.64 21.78,8.27 21.84,9.07C21.91,9.87 21.94,10.56 21.94,11.16L22,12C22,14.19 21.84,15.8 21.56,16.83C21.31,17.73 20.73,18.31 19.83,18.56C19.36,18.69 18.5,18.78 17.18,18.84C15.88,18.91 14.69,18.94 13.59,18.94L12,19C7.81,19 5.2,18.84 4.17,18.56C3.27,18.31 2.69,17.73 2.44,16.83C2.31,16.36 2.22,15.73 2.16,14.93C2.09,14.13 2.06,13.44 2.06,12.84L2,12C2,9.81 2.16,8.2 2.44,7.17C2.69,6.27 3.27,5.69 4.17,5.44C4.64,5.31 5.5,5.22 6.82,5.16C8.12,5.09 9.31,5.06 10.41,5.06L12,5C16.19,5 18.8,5.16 19.83,5.44C20.73,5.69 21.31,6.27 21.56,7.17Z\n","$mol_embed_service $mol_check\n\turi \\\n\tvideo_preview \\\n\tvideo_id \\\n\tchecked? <=> active? false\n\tsub /\n\t\t<= Image $mol_image\n\t\t\ttitle <= title \\\n\t\t\turi <= video_preview \\\n\t\t<= Hint $mol_icon_youtube\n\t\t<= Frame $mol_frame\n\t\t\ttitle <= title \\\n\t\t\turi <= video_embed \\\n\n","namespace $.$$ {\n\texport class $mol_embed_service extends $.$mol_embed_service {\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\treturn this.active()\n\t\t\t\t? [ this.Frame() ]\n\t\t\t\t: [ this.Image(), this.Hint() ]\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/embed/service/service.view.css\",\n \"[mol_embed_service] {\\n\\tpadding: 0;\\n\\tmax-width: 100%;\\n}\\n\\n[mol_embed_service_image] {\\n\\tflex: auto 1 1;\\n\\twidth: 100vw;\\n}\\n\\n[mol_embed_service_frame] {\\n\\twidth: 100vw;\\n}\\n\\n[mol_embed_service_hint] {\\n\\tposition: absolute;\\n left: 50%;\\n top: 50%;\\n width: 50%;\\n height: 50%;\\n opacity: 0.3;\\n transform: translate(-50%, -50%);\\n}\\n\\n[mol_embed_service]:hover [mol_embed_service_hint] {\\n\\topacity: .6;\\n}\\n\"\n) }","$mol_embed_youtube $mol_embed_service\n","namespace $.$$ {\n\texport class $mol_embed_youtube extends $.$mol_embed_youtube {\n\t\t\n\t\t@ $mol_mem\n\t\tvideo_embed() {\n\t\t\treturn `https://www.youtube.com/embed/${ encodeURIComponent( this.video_id() ) }?autoplay=1&loop=1`\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tvideo_id() {\n\t\t\treturn this.uri().match( /^https\\:\\/\\/www\\.youtube\\.com\\/(?:embed\\/|shorts\\/|watch\\?v=)([^\\/&?#]+)/ )?.[1]\n\t\t\t\t?? this.uri().match( /^https\\:\\/\\/youtu\\.be\\/([^\\/&?#]+)/ )?.[1]\n\t\t\t\t?? 'about:blank'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tvideo_preview() {\n\t\t\treturn `https://i.ytimg.com/vi/${ this.video_id() }/sddefault.jpg`\n\t\t}\n\t\t\n\t}\n}\n","$mol_embed_rutube $mol_embed_service\n","namespace $.$$ {\n\texport class $mol_embed_rutube extends $.$mol_embed_rutube {\n\t\t\n\t\t@ $mol_mem\n\t\tvideo_embed() {\n\t\t\treturn `https://rutube.ru/play/embed/${ encodeURIComponent( this.video_id() ) }`\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tvideo_id() {\n\t\t\treturn this.uri().match( /^https:\\/\\/rutube.ru\\/video\\/([^\\/&?#]+)/ )?.[1] ?? 'about:blank'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tvideo_preview() {\n\t\t\treturn `https://rutube.ru/api/video/${ this.video_id() }/thumbnail/?redirect=1`\n\t\t}\n\t\t\n\t}\n}\n","$mol_embed_any $mol_view\n\tImage $mol_image\n\t\ttitle <= title \\\n\t\turi <= uri \\\n\tObject $mol_embed_native\n\t\ttitle <= title \\\n\t\turi <= uri \\\n\tYoutube $mol_embed_youtube\n\t\ttitle <= title \\\n\t\turi <= uri \\\n\tRutube $mol_embed_rutube\n\t\ttitle <= title \\\n\t\turi <= uri \\\n","namespace $.$$ {\n\t\n\texport class $mol_embed_any extends $.$mol_embed_any {\n\t\t\n\t\t@ $mol_mem\n\t\ttype() {\n\t\t\t\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tconst uri = this.uri()\n\t\t\t\t\n\t\t\t\tif( /\\b(png|gif|jpg|jpeg|jfif|webp|svg)\\b/.test( uri ) ) return 'image'\n\t\t\t\tif( /^https:\\/\\/www\\.youtube\\.com\\//.test( uri ) ) return 'youtube'\n\t\t\t\tif( /^https:\\/\\/youtu\\.be\\//.test( uri ) ) return 'youtube'\n\t\t\t\tif( /^https:\\/\\/rutube\\.ru\\//.test( uri ) ) return 'rutube'\n\t\t\t\t\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn 'image'\n\t\t\t}\n\t\t\t\n\t\t\treturn 'object'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\tswitch( this.type() ) {\n\t\t\t\tcase 'image': return [ this.Image() ]\n\t\t\t\tcase 'youtube': return [ this.Youtube() ]\n\t\t\t\tcase 'rutube': return [ this.Rutube() ]\n\t\t\t\tdefault: return [ this.Object() ]\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\n}\n","$mol_text $mol_list\n\turi_base \\\n\ttext \\\n\tparam \\\n\tflow_tokens /\n\tblock_text* \\\n\tauto /\n\t\t<= auto_scroll null\n\t- \\Blocks\n\tParagraph* $mol_paragraph\n\t\tsub <= block_content* /\n\tQuote* $mol_text\n\t\turi_resolve* <= uri_resolve* \\\n\t\ttext <= quote_text* \\\n\t\thighlight <= highlight \\\n\t\tauto_scroll null\n\tList* $mol_text_list\n\t\turi_resolve* <= uri_resolve* \\\n\t\ttype <= list_type* \\-\n\t\ttext <= list_text* \\\n\t\thighlight <= highlight \\\n\titem_index* 0\n\tHeader* $mol_text_header\n\t\tminimal_height 40\n\t\tlevel <= header_level* 1\n\t\tcontent <= block_content* /\n\t\targ <= header_arg* *\n\tPre* $mol_text_code\n\t\ttext <= pre_text* \\\n\t\thighlight <= highlight \\\n\t\turi_resolve* <= uri_resolve* \\\n\t\tsidebar_showed <= pre_sidebar_showed <= code_sidebar_showed true\n\tCut* $mol_view dom_name \\hr\n\t- \\Table\n\tTable* $mol_grid\n\t\thead_cells <= table_head_cells* /\n\t\trows <= table_rows* /\n\tTable_row* $mol_grid_row\n\t\tcells <= table_cells* /\n\tTable_cell* $mol_text\n\t\tauto_scroll null\n\t\thighlight <= highlight \\\n\t\turi_resolve* <= uri_resolve* \\\n\t\ttext <= table_cell_text* \\\n\t- \\Grid\n\tGrid* $mol_grid\n\t\trows <= grid_rows* /\n\tGrid_row* $mol_grid_row\n\t\tcells <= grid_cells* /\n\tGrid_cell* $mol_text\n\t\tauto_scroll null\n\t\thighlight <= highlight \\\n\t\turi_resolve* <= uri_resolve* \\\n\t\ttext <= grid_cell_text* \\\n\t- \\Lines\n\tString* $mol_dimmer\n\t\tdom_name \\span\n\t\tneedle <= highlight \\\n\t\thaystack <= line_text* \\\n\tSpan* $mol_text_span\n\t\tdom_name \\span\n\t\ttype <= line_type* \\\n\t\tsub <= line_content* /\n\tCode_line* $mol_text_code_row\n\t\tnumb_showed false\n\t\thighlight <= highlight \\\n\t\ttext <= line_text* \\\n\t\turi_resolve* <= uri_resolve* \\\n\t\tsyntax <= code_syntax null\n\tLink* $mol_link_iconed\n\t\turi <= link_uri* \\\n\t\tcontent <= line_content* /\n\tLink_http* $mol_link_iconed\n\t\turi <= link_uri* \\\n\t\tcontent / <= link_host* \\\n\tEmbed* $mol_embed_any\n\t\turi <= link_uri* \\\n\t\ttitle <= line_text* \\\n\t- \\Spoilers\n\tSpoiler* $mol_expander\n\t\tlabel /\n\t\t\t<= Spoiler_label* $mol_text\n\t\t\t\ttext <= spoiler_label* \\\n\t\tcontent /\n\t\t\t<= Spoiler_content* $mol_text\n\t\t\t\ttext <= spoiler_content* \\\n\n$mol_text_header $mol_paragraph\n\tlevel 1\n\tsub /\n\t\t<= Link $mol_link\n\t\t\targ <= arg *\n\t\t\thint @ \\Permalink to this section\n\t\t\tsub <= content /\n\n$mol_text_span $mol_paragraph\n\tdom_name \\span\n\tattr *\n\t\t^\n\t\tmol_text_type <= type \\\n","namespace $.$$ {\n\t/**\n\t * Markdown visualizer.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_text_demo\n\t */\n\texport class $mol_text extends $.$mol_text {\n\t\t\n\t\t@ $mol_mem\n\t\tflow_tokens() {\n\t\t\tconst tokens = [] as { name : string , found : string , chunks: string[] }[]\n\t\t\tthis.$.$mol_syntax2_md_flow.tokenize(\n\t\t\t\tthis.text(),\n\t\t\t\t( name , found , chunks )=> tokens.push({ name , found , chunks }),\n\t\t\t)\n\t\t\treturn tokens as Readonly< typeof tokens >\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tblock_type( index: number ) {\n\t\t\treturn this.flow_tokens()[ index ].name\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\trows() {\n\t\t\treturn this.flow_tokens().map( ( { name }, index )=> {\n\t\t\t\t\n\t\t\t\tswitch( name ) {\n\t\t\t\t\tcase 'quote': return this.Quote( index )\n\t\t\t\t\tcase 'spoiler': return this.Spoiler( index )\n\t\t\t\t\tcase 'header': return this.Header( index )\n\t\t\t\t\tcase 'list': return this.List( index )\n\t\t\t\t\tcase 'code': return this.Pre( index )\n\t\t\t\t\tcase 'code-indent': return this.Pre( index )\n\t\t\t\t\tcase 'table': return this.Table( index )\n\t\t\t\t\tcase 'grid': return this.Grid( index )\n\t\t\t\t\tcase 'cut': return this.Cut( index )\n\t\t\t\t\tdefault: return this.Paragraph( index )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tparam() {\n\t\t\treturn this.toString().replace( /^.*?[\\)>]\\./, '' ).replace( /[(<>)]/g, '' )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\theader_level( index: number ) {\n\t\t\treturn this.flow_tokens()[ index ].chunks[0].length\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\theader_arg( index: number ) {\n\t\t\treturn {\n\t\t\t\t[ this.param() ]: this.block_text( index )\n\t\t\t}\n\t\t}\n\t\t\n\t\tlist_type( index: number ) {\n\t\t\treturn this.flow_tokens()[ index ].chunks[1] ?? ''\n\t\t}\n\t\t\n\t\titem_index( index: number ) {\n\t\t\treturn this.flow_tokens().slice( 0, index ).filter( token => token.name === 'block' ).length + 1\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tpre_text( index : number ) {\n\t\t\tconst token = this.flow_tokens()[ index ]\n\t\t\treturn ( token.chunks[2] ?? token.chunks[0].replace( /^(\\t| (?:\\+\\+|--|\\*\\*| ) )/gm , '' ) ).replace( /[\\n\\r]*$/ , '' )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tquote_text( index : number ) {\n\t\t\treturn this.flow_tokens()[ index ].chunks[0].replace( /^[>\"] /mg , '' )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tlist_text( index : number ) {\n\t\t\treturn this.flow_tokens()[ index ].chunks[0].replace( /^([-*+]|(?:\\d+[\\.\\)])+) ?/mg , '' ).replace( /^ ?/mg, '' )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tcell_content( indexBlock : number ) {\n\t\t\treturn this.flow_tokens()[ indexBlock ].chunks[ 0 ]\n\t\t\t.split( /\\r?\\n/g )\n\t\t\t.filter( row => row && !/\\|--/.test( row ) )\n\t\t\t.map( ( row , rowId ) => {\n\t\t\t\treturn row.split( /\\|/g )\n\t\t\t\t.filter( cell => cell )\n\t\t\t\t.map( ( cell , cellId )=> cell.trim() )\n\t\t\t} )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttable_rows( blockId : number ) {\n\t\t\treturn this.cell_content( blockId )\n\t\t\t.slice( 1 )\n\t\t\t.map( ( row , rowId )=> this.Table_row({ block : blockId , row : rowId + 1 }) )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttable_head_cells( blockId : number ) {\n\t\t\treturn this.cell_content( blockId )[ 0 ]\n\t\t\t.map( ( cell , cellId )=> this.Table_cell({ block : blockId , row : 0 , cell : cellId }) )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttable_cells( id : { block : number , row : number } ) {\n\t\t\treturn this.cell_content( id.block )[ id.row ]\n\t\t\t.map( ( cell , cellId )=> this.Table_cell({ block : id.block , row : id.row , cell : cellId }) )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttable_cell_text( id : { block : number , row : number , cell : number } ) {\n\t\t\treturn this.cell_content( id.block )[ id.row ][ id.cell ]\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tgrid_content( indexBlock: number ) {\n\t\t\treturn [ ... this.flow_tokens()[ indexBlock ].chunks[ 0 ].match( /(?:^! .*?$\\r?\\n?)+(?:^ +! .*?$\\r?\\n?)*/gm )! ]\n\t\t\t.map( ( row , rowId ) => {\n\t\t\t\tconst cells = [] as string[]\n\t\t\t\tfor( const line of row.trim().split( /\\r?\\n/ ) ) {\n\t\t\t\t\tconst [ _, indent, content ] = /^( *)! (.*)/.exec( line )!\n\t\t\t\t\tconst col = Math.ceil( indent.length / 2 )\n\t\t\t\t\tcells[ col ] = ( cells[ col ] ? cells[ col ] + '\\n' : '' ) + content\n\t\t\t\t}\n\t\t\t\treturn cells\n\t\t\t} )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tgrid_rows( blockId: number ) {\n\t\t\treturn this.grid_content( blockId )\n\t\t\t.map( ( row, rowId )=> this.Grid_row({ block: blockId , row: rowId }) )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tgrid_cells( id: { block: number, row: number } ) {\n\t\t\treturn this.grid_content( id.block )[ id.row ]\n\t\t\t.map( ( cell , cellId )=> this.Grid_cell({ block: id.block, row: id.row, cell: cellId }) )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tgrid_cell_text( id: { block: number, row: number, cell: number } ) {\n\t\t\treturn this.grid_content( id.block )[ id.row ][ id.cell ]\n\t\t}\n\t\t\n\t\turi_base() {\n\t\t\treturn $mol_dom_context.document.location.href\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\turi_base_abs() {\n\t\t\treturn new URL( this.uri_base() , $mol_dom_context.document.location.href )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\turi_resolve( uri: string ) {\n\t\t\t\n\t\t\tif( /^(\\w+script+:)+/.test( uri ) ) return null as any as string\n\t\t\t\n\t\t\tif( /^#\\!/.test( uri ) ) {\n\t\t\t\t\n\t\t\t\tconst params: Record< string, string > = {}\n\t\t\t\n\t\t\t\tfor( const chunk of uri.slice(2).split( this.$.$mol_state_arg.separator ) ) {\n\t\t\t\t\tif( !chunk ) continue\n\t\t\t\t\tconst vals = chunk.split( '=' ).map( decodeURIComponent )\n\t\t\t\t\tparams[ vals.shift()! ] = vals.join( '=' )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn this.$.$mol_state_arg.link( params )\n\t\n\t\t\t}\n\t\t\t\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tconst url = new URL( uri , this.uri_base_abs() )\n\t\t\t\treturn url.toString()\n\t\t\t\t\n\t\t\t} catch( error ) {\n\t\t\t\t\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn null as any as string\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tcode_syntax() {\n\t\t\treturn this.$.$mol_syntax2_md_code\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tblock_text( index: number ) {\n\t\t\t\n\t\t\tconst token = this.flow_tokens()[ index ]\n\t\t\t\n\t\t\tswitch( token.name ) {\n\t\t\t\tcase 'header' : return token.chunks[2]\n\t\t\t\tdefault: return token.chunks[0]\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tblock_content( index: number ) {\n\t\t\treturn this.line_content([ index ])\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_tokens( path: readonly number[] ) {\n\t\t\t\n\t\t\tconst tokens = [] as { name : string , found : string , chunks: string[] }[]\n\t\t\t\n\t\t\tthis.$.$mol_syntax2_md_line.tokenize(\n\t\t\t\tthis.line_text( path ),\n\t\t\t\t( name , found , chunks )=> tokens.push({ name , found , chunks }),\n\t\t\t)\n\t\t\t\n\t\t\treturn tokens as Readonly< typeof tokens >\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_token( path: readonly number[] ) {\n\t\t\tconst tokens = this.line_tokens( path.slice( 0, path.length - 1 ) )\n\t\t\treturn tokens[ path[ path.length - 1 ] ]\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_type( path: readonly number[] ) {\n\t\t\treturn this.line_token( path ).name\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_text( path: readonly number[] ) {\n\t\t\t\n\t\t\tif( path.length === 1 ) return this.block_text( path[0] )\n\t\t\t\n\t\t\tconst { name, found, chunks } = this.line_token( path )\n\t\t\t\n\t\t\tswitch( name ) {\n\t\t\t\tcase 'link': return chunks[0] || chunks[1].replace( /^.*?\\/\\/|\\/.*$/g, '' )\n\t\t\t\tcase 'text-link': return chunks[0] || chunks[1].replace( /^.*?\\/\\/|\\/.*$/g, '' )\n\t\t\t\tdefault: return ( chunks[0] || chunks[1] || chunks[2] ) ?? found\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_content( path: readonly number[] ) {\n\t\t\treturn this.line_tokens( path ).map( ( { name, chunks }, index )=> {\n\t\t\t\t\n\t\t\t\tconst path2 = [ ... path, index ]\n\t\t\t\t\n\t\t\t\tswitch( name ) {\n\t\t\t\t\tcase 'embed': return this.Embed( path2 )\n\t\t\t\t\tcase 'link' : return this.Link( path2 )\n\t\t\t\t\tcase 'text-link-http': return this.Link_http( path2 )\n\t\t\t\t\tcase 'text-link' : return this.Link( path2 )\n\t\t\t\t\tcase 'image-link': return this.Embed( path2 )\n\t\t\t\t\tcase 'code': return this.Code_line( path2 )\n\t\t\t\t\tcase '': return this.String( path2 )\n\t\t\t\t\tdefault: return this.Span( path2 )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tlink_uri( path: readonly number[] ) {\n\t\t\t\n\t\t\tconst token = this.line_token( path )\n\t\t\tconst uri = this.uri_resolve( token.chunks[1] ?? token.found )\n\t\t\t\n\t\t\tif( !uri ) throw new Error( 'Bad link' )\n\t\t\treturn uri\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tlink_host( path: readonly number[] ) {\n\t\t\treturn this.link_uri( path ).replace( /^.*?\\/\\/|\\/.*$/g, '' )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tauto_scroll() {\n\t\t\tfor( const [ index, token ] of this.flow_tokens().entries() ) {\n\t\t\t\t\n\t\t\t\tif( token.name !== 'header' ) continue\n\t\t\t\t\n\t\t\t\tconst header = this.Header( index )\n\t\t\t\tif( !header.Link().current() ) continue\n\t\t\t\t\n\t\t\t\tnew $mol_after_tick(\n\t\t\t\t\t()=> this.ensure_visible( header )\n\t\t\t\t)\n\t\t\t\t\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tspoiler_rows( index: number ): string[] {\n\t\t\treturn this.flow_tokens()[ index ].chunks[0].replace( /^[\\?] /mg , '' ).split('\\n');\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tspoiler_label( index: number ): string {\n\t\t\treturn this.spoiler_rows(index)[0];\n\t\t}\n\t\n\t\t@ $mol_mem_key\n\t\tspoiler_content( index: number): string {\n\t\t\treturn this.spoiler_rows(index).slice(1).join('\\n');\n\t\t}\n\t}\n\t\n\texport class $mol_text_header extends $.$mol_text_header {\n\t\t\n\t\tdom_name() {\n\t\t\treturn 'h' + this.level()\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/text/text/text.view.css\",\n \"[mol_text] {\\n\\tline-height: 1.5em;\\n\\tbox-sizing: border-box;\\n\\tborder-radius: var(--mol_gap_round);\\n\\twhite-space: pre-line;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tflex: 0 0 auto;\\n\\ttab-size: 4;\\n}\\n\\n[mol_text_paragraph] {\\n\\tpadding: var(--mol_gap_text);\\n\\toverflow: auto;\\n\\toverflow-x: overlay;\\n\\tmax-width: 100%;\\n\\tdisplay: block;\\n\\tmax-width: 60rem;\\n}\\n\\n[mol_text_spoiler_label_paragraph] {\\n\\tpadding: 0;\\n}\\n\\n[mol_text_span] {\\n\\tdisplay: inline;\\n}\\n\\n[mol_text_string] {\\n\\tdisplay: inline;\\n\\tflex: 0 1 auto;\\n\\twhite-space: normal;\\n}\\n\\n[mol_text_quote] {\\n\\tmargin: var(--mol_gap_block);\\n\\tpadding: var(--mol_gap_block);\\n\\tbackground: var(--mol_theme_card);\\n\\tbox-shadow: 0 0 0 1px var(--mol_theme_back);\\n}\\n\\n[mol_text_header] {\\n\\tdisplay: block;\\n\\ttext-shadow: 0 0;\\n\\tfont-weight: normal;\\n}\\n\\n* + [mol_text_header] {\\n\\tmargin-top: 0.75rem;\\n}\\n\\nh1[mol_text_header] {\\n\\tfont-size: 1.5rem;\\n}\\n\\nh2[mol_text_header] {\\n\\tfont-size: 1.5rem;\\n\\tfont-style: italic;\\n}\\n\\nh3[mol_text_header] {\\n\\tfont-size: 1.25rem;\\n}\\n\\nh4[mol_text_header] {\\n\\tfont-size: 1.25em;\\n\\tfont-style: italic;\\n}\\n\\nh5[mol_text_header] {\\n\\tfont-size: 1rem;\\n}\\n\\nh6[mol_text_header] {\\n\\tfont-size: 1rem;\\n\\tfont-style: italic;\\n}\\n\\n[mol_text_header_link] {\\n\\tcolor: inherit;\\n}\\n\\n[mol_text_table_cell] {\\n\\twidth: auto;\\n\\tdisplay: table-cell;\\n\\tvertical-align: baseline;\\n\\tpadding: 0;\\n\\tborder-radius: 0;\\n}\\n\\n[mol_text_grid_cell] {\\n\\twidth: auto;\\n\\tdisplay: table-cell;\\n\\tvertical-align: top;\\n\\tpadding: 0;\\n\\tborder-radius: 0;\\n}\\n\\n[mol_text_cut] {\\n\\tborder: none;\\n\\twidth: 100%;\\n\\tbox-shadow: 0 0 0 1px var(--mol_theme_line);\\n}\\n\\n[mol_text_link_http],\\n[mol_text_link] {\\n\\tpadding: 0;\\n\\tdisplay: inline;\\n\\twhite-space: nowrap;\\n}\\n\\n[mol_text_link_icon] + [mol_text_embed] {\\n\\tmargin-left: -1.5rem;\\n}\\n\\n[mol_text_embed_youtube] {\\n\\tdisplay: inline;\\n}\\n\\n[mol_text_embed_youtube_image],\\n[mol_text_embed_youtube_frame],\\n[mol_text_embed_object] {\\n\\tobject-fit: contain;\\n\\tobject-position: center;\\n\\tdisplay: inline;\\n\\twidth: 100vw;\\n\\tmax-height: calc( 100vh - 6rem );\\n\\tvertical-align: top;\\n}\\n[mol_text_embed_object_fallback] {\\n\\tpadding: 0;\\n}\\n[mol_text_embed_image] {\\n\\tobject-fit: contain;\\n\\tobject-position: center;\\n\\tdisplay: inline;\\n\\t/* max-height: calc( 100vh - 6rem ); */\\n\\tvertical-align: top;\\n}\\n\\n[mol_text_pre] {\\n\\twhite-space: pre;\\n\\toverflow-x: auto;\\n\\toverflow-x: overlay;\\n\\ttab-size: 2;\\n}\\n\\n[mol_text_code_line] {\\n\\tdisplay: inline-block;\\n\\twhite-space: nowrap;\\n}\\n\\n[mol_text_type=\\\"strong\\\"] {\\n\\ttext-shadow: 0 0;\\n\\tfilter: contrast(1.5);\\n}\\n\\n[mol_text_type=\\\"emphasis\\\"] {\\n\\tfont-style: italic;\\n}\\n\\n[mol_text_type=\\\"insert\\\"] {\\n\\tcolor: var(--mol_theme_special);\\n}\\n\\n[mol_text_type=\\\"delete\\\"] {\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\\n[mol_text_type=\\\"remark\\\"] {\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\\n[mol_text_type=\\\"quote\\\"] {\\n\\tfont-style: italic;\\n}\\n\"\n) }","$mol_text_list $mol_text\n\tauto_scroll null\n\tattr *\n\t\t^\n\t\tmol_text_list_type <= type \\\n\tParagraph* $mol_text_list_item\n\t\tindex <= item_index*\n\t\tsub <= block_content*\n\n$mol_text_list_item $mol_paragraph\n\tattr *\n\t\t^\n\t\tmol_text_list_item_index <= index 0\n","namespace $ { $mol_style_attach( \"mol/text/list/list.view.css\",\n \"[mol_text_list] {\\r\\n\\tpadding-left: 1.75rem;\\r\\n}\\r\\n\\r\\n[mol_text_list_item] {\\r\\n\\tcontain: none;\\r\\n\\tdisplay: list-item;\\r\\n}\\r\\n\\r\\n[mol_text_list_item]::before {\\r\\n\\tcontent: attr( mol_text_list_item_index ) \\\".\\\";\\r\\n\\twidth: 1.25rem;\\r\\n\\tdisplay: inline-block;\\r\\n\\tposition: absolute;\\r\\n\\tmargin-left: -1.75rem;\\r\\n\\ttext-align: end;\\r\\n}\\r\\n\\r\\n[mol_text_list_type=\\\"-\\\"] > [mol_text_list_item]::before,\\r\\n[mol_text_list_type=\\\"*\\\"] > [mol_text_list_item]::before {\\r\\n\\tcontent: \\\"•\\\";\\r\\n}\\r\\n\"\n) }","$mol_app_demo_readme $mol_page\n\treadme_link_template \\https://raw.githubusercontent.com/{repo}/HEAD/{module}/readme.md\n\tsource_link_template \\https://github.com/{repo}/tree/HEAD/{module}\n\trepo \\\n\tmodule /string\n\ttitle @ \\Readme\n\topened? false\n\ttools /\n\t\t<= Source_link $mol_link_source\n\t\t\turi <= source_link \\\n\t\t\thint <= source_hint @ \\Source code of this demo\n\t\t<= Close $mol_button_minor\n\t\t\thint @ \\Close panel\n\t\t\tsub /\n\t\t\t\t<= Close_icon $mol_icon_close\n\t\t\tclick? <=> close? null\n\t-\n\tReadme $mol_text\n\t\ttext <= readme \\\n\t\turi_base <= uri_base? \\\n\tNot_found $mol_view sub /\n\t\t<= Not_found_caption @ \\Readme not found\n","namespace $ {\n\n\texport function $mol_dom_parse(\n\t\ttext : string ,\n\t\ttype : DOMParserSupportedType = 'application/xhtml+xml' ,\n\t) {\n\n\t\tconst parser = new $mol_dom_context.DOMParser()\n\t\tconst doc = parser.parseFromString( text , type )\n\t\t\n\t\tconst error = doc.getElementsByTagName( 'parsererror' )\n\t\tif( error.length ) throw new Error( error[0].textContent! )\n\n\t\treturn doc\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_fetch_response extends $mol_object2 {\n\n\t\tconstructor( readonly native : Response ) {\n\t\t\tsuper()\n\t\t}\n\n\t\tstatus() {\n\t\t\tconst types = [ 'unknown', 'inform', 'success', 'redirect', 'wrong', 'failed' ] as const\n\t\t\treturn types[ Math.floor( this.native.status / 100 ) ]\n\t\t}\n\t\t\n\t\tcode() {\n\t\t\treturn this.native.status\n\t\t}\n\t\t\n\t\tmessage() {\n\t\t\treturn this.native.statusText || `HTTP Error ${ this.code() }`\n\t\t}\n\n\t\theaders() {\n\t\t\treturn this.native.headers\n\t\t}\n\n\t\tmime() {\n\t\t\treturn this.headers().get( 'content-type' )\n\t\t}\n\n\t\t@ $mol_action\n\t\tstream() {\n\t\t\treturn this.native.body\n\t\t}\n\n\t\t@ $mol_action\n\t\ttext() {\n\n\t\t\tconst buffer = this.buffer()\n\n\t\t\tconst native = this.native\n\t\t\tconst mime = native.headers.get( 'content-type' ) || ''\n\t\t\tconst [,charset] = /charset=(.*)/.exec( mime ) || [, 'utf-8']\n\t\t\t\n\t\t\tconst decoder = new TextDecoder( charset )\n\t\t\treturn decoder.decode( buffer )\n\n\t\t}\t\n\n\t\tjson() {\n\t\t\treturn $mol_wire_sync( this.native ).json() as unknown\n\t\t}\t\n\n\t\tblob() {\n\t\t\treturn $mol_wire_sync( this.native ).blob()\n\t\t}\n\n\n\t\tbuffer() {\n\t\t\treturn $mol_wire_sync( this.native ).arrayBuffer()\n\t\t}\n\n\t\t@ $mol_action\n\t\txml() {\n\t\t\treturn $mol_dom_parse( this.text() , 'application/xml' )\n\t\t}\n\n\t\t@ $mol_action\n\t\txhtml() {\n\t\t\treturn $mol_dom_parse( this.text() , 'application/xhtml+xml' )\n\t\t}\n\n\t\t@ $mol_action\n\t\thtml() {\n\t\t\treturn $mol_dom_parse( this.text() , 'text/html' )\n\t\t}\n\n\t}\n\n\texport class $mol_fetch extends $mol_object2 {\n\t\t\n\t\tstatic request( input : RequestInfo , init : RequestInit = {} ) {\n\t\t\tconst native = globalThis.fetch ?? $node['undici'].fetch\n\t\t\t\n\t\t\tconst controller = new AbortController()\n\t\t\tlet done = false\n\t\t\t\n\t\t\tconst promise = native( input , {\n\t\t\t\t... init,\n\t\t\t\tsignal: controller!.signal,\n\t\t\t} ).finally( ()=> {\n\t\t\t\tdone = true\n\t\t\t} )\n\t\t\t\n\t\t\treturn Object.assign( promise, {\n\t\t\t\tdestructor: ()=> {\n\t\t\t\t\t// Abort of done request breaks response parsing\n\t\t\t\t\tif( !done && !controller.signal.aborted ) controller.abort()\n\t\t\t\t},\n\t\t\t} )\n\t\t\t\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic response( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn new $mol_fetch_response( $mol_wire_sync( this ).request( input , init ) )\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic success( input: RequestInfo, init?: RequestInit ) {\n\n\t\t\tconst response = this.response( input , init )\n\t\t\tif( response.status() === 'success' ) return response\n\t\t\t\n\t\t\tthrow new Error( response.message() )\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic stream( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).stream()\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic text( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).text()\n\t\t}\t\n\n\t\t@ $mol_action\n\t\tstatic json( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).json()\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic blob( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).blob()\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic buffer( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).buffer()\n\t\t}\t\n\n\t\t@ $mol_action\n\t\tstatic xml( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).xml()\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic xhtml( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).xhtml()\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic html( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).html()\n\t\t}\n\n\t}\n\n}\n\n","namespace $.$$ {\n\texport class $mol_app_demo_readme_not_found_error extends Error {\n\t\tconstructor( public module: readonly string[] ) {\n\t\t\tsuper( 'Readme not found' )\n\t\t}\n\t}\n\n\texport class $mol_app_demo_readme extends $.$mol_app_demo_readme {\n\t\t\n\t\tclose() {\n\t\t\tthis.opened( false )\n\t\t}\n\n\t\tlink( template: string, repo: string, module: readonly string[] ) {\n\t\t\treturn template.replace( '{repo}', repo ).replace( '{module}' , module.join('/') )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\turi_base( next = '' ) {\n\t\t\t$mol_wire_solid()\n\t\t\treturn next\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsource_link() {\n\t\t\treturn this.link( this.source_link_template(), this.repo(), this.module() )\n\t\t}\n\n\t\t@ $mol_mem\n\t\toverride readme(): string {\n\t\t\tlet module = this.module()\n\n\t\t\twhile( module.length ) {\n\t\t\t\ttry {\n\t\t\t\t\tconst link = this.link( this.readme_link_template(), this.repo(), module )\n\t\t\t\t\tconst text = this.$.$mol_fetch.text( link )\n\t\t\t\t\tthis.uri_base( this.link( this.source_link_template(), this.repo(), module ) )\n\t\t\t\t\treturn text\n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\tif( error instanceof Promise ) $mol_fail_hidden( error )\n\t\t\t\t\tmodule = module.slice( 0 , -1 )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tthrow new $mol_app_demo_readme_not_found_error( module )\n\t\t}\n\n\t\t@ $mol_mem\n\t\toverride body() {\n\t\t\ttry {\n\t\t\t\tthis.readme()\n\t\t\t\treturn [ this.Readme() ]\n\t\t\t} catch ( err ) {\n\t\t\t\tif( err instanceof Promise ) $mol_fail_hidden( err )\n\t\t\t\treturn [ this.Not_found() ]\n\t\t\t}\n\t\t}\n\t\t\n\t}\n}\n","$mol_status $mol_view\n\tstatus <= title\n\tminimal_height 24\n\tminimal_width 0\n\tsub /\n\t\t<= message \\\n","namespace $.$$ {\n\t\n\texport class $mol_status extends $.$mol_status {\n\t\t\n\t\tmessage() {\n\t\t\ttry {\n\t\t\t\treturn this.status() ?? null\n\t\t\t} catch( error: any ) {\n\t\t\t\tif( error instanceof Promise ) $mol_fail_hidden( error )\n\t\t\t\treturn error.message\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/status/status.view.css\",\n \"[mol_status] {\\n\\tpadding: var(--mol_gap_text);\\n\\tborder-radius: var(--mol_gap_round);\\n\\tdisplay: block;\\n}\\n\\n[mol_status]:not([mol_view_error=\\\"Promise\\\"]) {\\n\\tcolor: var(--mol_theme_focus);\\n}\\n\\n[mol_status]:not([mol_view_error=\\\"Promise\\\"]):empty {\\n\\tdisplay: none;\\n}\\n\"\n) }","$mol_app_demo $mol_book2\n\teditor_title <= detail_title \\$mol\n\tmeta_bundle_base \\\n\trepo_dict *\n\tplugins /\n\t\t<= Theme $mol_theme_auto\n\t\t<= Search_start $mol_hotkey\n\t\t\tkey * F? <=> search_start?\n\t\t\tmod_ctrl true\n\tdemo_block_list /\n\t\t\\$mol_example_small\n\t\t\\$mol_example_large\n\tMenu $mol_app_demo_menu\n\t\ttitle <= menu_title @ \\$mol examples\n\t\tnames <= names /string\n\t\twidget_tags* <= widget_tags* /string\n\t\twidget_aspects* <= widget_aspects* /string\n\t\twidget_title* <= widget_title* \\\n\t\tsearch_start? => search_start?\n\t\ttools <= tools /\n\t\t\t<= Sources $mol_link_source\n\t\t\t\turi <= sources_uri \\https://github.com/hyoo-ru/mam_mol/\n\t\t\t<= Lights $mol_lights_toggle\n\tDetail* $mol_app_demo_detail\n\t\tchat_seed <= chat_seed* \\p9zx0v_nsmx1d\n\t\tchat_pages => chat_pages*\n\t\ttitle <= detail_title\n\t\tdescription <= detail_description \\\n\t\tedit_uri <= edit_uri \\\n\t\treadme? <=> readme_page? false\n\t\tDemo <= Demo $mol_view\n\tReadme_page $mol_app_demo_readme\n\t\trepo <= repo \\\n\t\topened? <=> readme_page? false\n\t\tmodule <= module /string\n\tDetail_empty_message $mol_status\n\t\tsub /\n\t\t\t<= detail_empty_prefix @ \\No one demo with prefix \"\n\t\t\t<= selected \\\n\t\t\t<= detail_empty_postfix @ \\\"\n","namespace $ {\n\n\texport function $mol_func_is_class<\n\t\tFunc extends Function\n\t>(\n\t\tfunc: Func\n\t): func is Func & ( new( ...args: any[] )=> any ) {\n\t\treturn Object.getOwnPropertyDescriptor( func, 'prototype' )?.writable === false\n\t}\n\n}\n","$mol_app_demo_main $mol_page\n\tminimal_width 400\n\ttitle \\$mol libs for web ui\n\ttools /\n\t\t<= Lights $mol_lights_toggle\n\t\t<= Project $mol_link_source\n\t\t\turi <= project_uri \\https://github.com/eigenmethod/mol/tree/master/\n\tbody /\n\t\t<= Description $mol_text\n\t\t\ttext <= description \\\n\t\t\turi_base <= project_uri\n","namespace $.$$ {\n\t\n\texport class $mol_app_demo_main extends $.$mol_app_demo_main {\n\n\t\t@ $mol_mem\n\t\tdescription() {\n\t\t\treturn $mol_file.relative( 'mol/readme.md' ).text() as string\n\t\t}\n\n\t}\n\t\n}\n","namespace $.$$ {\n\t\n\texport class $mol_app_demo extends $.$mol_app_demo {\n\n\t\t@ $mol_mem_key\n\t\tcomponent_name( name: string ) {\n\t\t\treturn name.split( '_demo' )?.[ 0 ] ?? name\n\t\t}\n\t\t\n\t\toverride detail_title() {\n\t\t\tconst selected = this.selected()\n\t\t\t\n\t\t\treturn selected ? this.component_name( selected ) : super.title()\n\t\t}\n\n\t\toverride detail_description() {\n\t\t\treturn this.Demo().title()\n\t\t}\n\n\t\t@ $mol_mem\n\t\toverride names() {\n\t\t\tconst next : string[] = []\n\n\t\t\tfor( const name in this.$ ) {\n\t\t\t\tconst ctor = this.$[name as keyof $]\n\t\t\t\t\n\t\t\t\tif( typeof ctor !== 'function' ) continue\n\n\t\t\t\tif( !$mol_func_is_class( ctor ) ) continue\n\n\t\t\t\tif( !( ctor.prototype instanceof $mol_example ) ) continue\n\n\t\t\t\tif ( this.demo_block_list().includes( name ) ) continue\n\t\t\t\t\n\t\t\t\tnext.push( name )\n\t\t\t}\n\n\t\t\treturn next.sort()\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\toverride widget_tags( name: string ) {\n\t\t\tconst component_name = this.component_name( name )\n\n\t\t\tconst tags = this.Widget( name ).tags().map( tag => tag.toLowerCase() )\n\n\t\t\tif( tags.length === 0 ) {\n\n\t\t\t\tconsole.warn( `Demo widget without tags: ${ name }` )\n\n\t\t\t\treturn [ component_name ]\n\n\t\t\t} else {\n\n\t\t\t\treturn [ ...tags, component_name ]\n\n\t\t\t}\n\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\toverride widget_title( name: string ) {\n\t\t\treturn this.Widget( name ).title()\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\toverride widget_aspects( name: string ) {\n\t\t\treturn this.Widget( name ).aspects()\n\t\t}\n\n\t\toverride selected() {\n\t\t\tlet value = $mol_state_arg.value( 'demo' ) || ''\n\t\t\tif (value && ! value.startsWith('$')) value = '$' + value\n\n\t\t\treturn value\n\t\t}\n\t\t\n\t\treadme_page( next?: boolean ) {\n\t\t\treturn $mol_state_session.value( 'readme', next ) ?? false\n\t\t}\n\n\t\tselected_class_name() {\n\t\t\treturn this.selected()\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tWidget( name : string ) {\n\t\t\treturn new (this.$ as any)[name] as $mol_example\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tnames_demo() {\n\t\t\tconst selected = this.selected()\n\t\t\treturn [ selected ]\n\t\t}\n\t\t\n\t\toverride pages() {\n\t\t\tlet sub : $mol_view[] = []\n\t\t\t\n\t\t\tsub.push( this.Menu() )\n\t\t\t\n\t\t\tconst selected = this.selected()\n\t\t\tif( !selected ) return sub\n\t\t\t\n\t\t\tsub.push( this.Detail( selected ) )\n\t\t\t\n\t\t\tconst readme_page = this.readme_page()\n\t\t\tif ( readme_page ) sub.push( this.Readme_page() )\n\t\t\t\n\t\t\tsub.push( ... this.chat_pages( selected ) )\n\t\t\t\n\t\t\treturn sub\n\t\t}\n\n\t\toverride Demo() {\n\t\t\treturn this.Widget( this.selected() )\n\t\t}\n\t\t\n\t\tlogo_uri() {\n\t\t\treturn $mol_file.relative( '/mol/logo/logo.svg' ).path()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tmeta_bundle_base(){\n\t\t\treturn this.$.$mol_state_arg.make_link({})\n\t\t}\n\n\t\t@ $mol_mem\n\t\trepo_dict() {\n\t\t\tconst meta_uri = new URL( 'web.meta.tree', this.meta_bundle_base() ).toString()\n\t\t\tconst str = this.$.$mol_fetch.text( meta_uri )\n\t\t\tconst tree = this.$.$mol_tree2_from_string( str )\n\t\t\t\n\t\t\tconst dict: Record = {}\n\t\t\ttree.kids.forEach( meta => {\n\t\t\t\tconst packs = meta.select( 'pack' )\n\t\t\t\t\n\t\t\t\tpacks.kids.forEach( pack => {\n\t\t\t\t\tconst module_name = meta.value === '/' ? pack.kids[0]?.type :\n\t\t\t\t\t\t[ ...meta.value.split('/').slice( 1 ), pack.kids[0]?.type ].join('_')\n\t\t\t\t\t\n\t\t\t\t\tconst repo = pack.kids[0]?.kids[0]?.kids[0]?.value\n\t\t\t\t\t\t.split('.git')[0].split('/').slice( -2 ).join('/')\n\t\t\t\t\t\n\t\t\t\t\tif (!repo) throw new Error(`${ this }.repo_dict(): Pack node \"${ pack.toString() }\" does not contain a valid git url`)\n\t\t\t\t\t\n\t\t\t\t\tdict[module_name] = repo\n\t\t\t\t} )\n\t\t\t} )\n\t\t\t\n\t\t\treturn dict\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tname_parse( name: string ) {\n\t\t\tconst split = name.replace( /\\$/, '' ).split('_')\n\t\t\t\n\t\t\tconst repos = this.repo_dict() as Record\n\t\t\tconst keys = split.map( ( _ , index ) => split.slice( 0 , -1-index ).join('_') )\n\t\t\tconst key = keys.find( key => key in repos )\n\t\t\t\n\t\t\tif ( !key ) throw new Error(`${ this }.name_parse(\"${ name }\"): Key \"${ key }\" not found`)\n\n\t\t\tconst repo = repos[ key ]\n\t\t\tconst module = split.slice( key.split('_').length )\n\t\t\t\n\t\t\treturn { repo , module }\n\t\t}\n\t\t\n\t\toverride repo() {\n\t\t\treturn this.name_parse( $mol_state_arg.value( 'demo' )! ).repo\n\t\t}\n\t\t\n\t\toverride module() {\n\t\t\treturn this.name_parse( this.selected() ).module\n\t\t}\n\t\t\n\t\tchat_link() {\n\t\t\treturn $mol_state_arg.make_link({ demo : this.selected() })\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\toverride edit_uri() {\n\t\t\tconst source = encodeURIComponent( `$${''}my_app ${ this.selected() }` )\n\t\t\tconst pack = encodeURIComponent( this.$.$mol_state_arg.make_link({}) )\n\t\t\treturn `https://studio.hyoo.ru/#!pack=${ pack }/source=${ source }/preview`\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/app/demo/demo.view.css\",\n \"\\n[mol_app_demo_main],\\n[mol_app_demo_detail],\\n[mol_app_empty_message] {\\n\\tflex: 1000 0 40rem;\\n}\\n\\n[mol_app_demo_nav_table] {\\n\\twidth: 100%;\\n\\tbox-sizing: border-box;\\n}\\n\\n[mol_app_demo_nav_row] {\\n\\tdisplay: flex;\\n}\\n\\n[mol_app_demo_nav_option] {\\n\\tpadding: 0 .5rem 0 0;\\n\\tdisplay: flex;\\n\\tflex: 1;\\n\\talign-items: center;\\n\\tbox-shadow: none;\\n}\\n\\n[mol_app_demo_nav_expand] {\\n\\talign-self: stretch;\\n\\talign-items: center;\\n\\tpadding-right: .25rem;\\n}\\n\\n[mol_app_demo_nav_content] {\\n\\tflex-grow: 1;\\n}\\n\\n[mol_app_demo_list] {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\talign-content: flex-start;\\n\\talign-items: flex-start;\\n}\\n\\n[mol_app_demo_screen] {\\n\\tmax-height: 45%;\\n}\\n\\n[mol_app_demo_detail_body] {\\n\\tdisplay: flex;\\n\\talign-items: stretch;\\n\\tjustify-content: flex-start;\\n\\tflex-direction: column;\\n}\\n\\n[mol_app_demo_detail_list] {\\n\\tflex: 1 0 100%;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\\n[mol_app_demo_page_close] {\\n\\tcolor: inherit;\\n\\talign-items: center;\\n\\tpadding: 1rem;\\n}\\n\\n[mol_app_demo_welcome] {\\n\\tflex: 1 1 auto;\\n}\\n\\n[mol_app_demo_option_link] {\\n\\tpadding: 0;\\n}\\n\\n[mol_app_demo_sample_large] {\\n\\tbox-sizing: border-box;\\n}\\n\\n[mol_app_demo_detail_empty_message] {\\n\\tmargin: auto;\\n}\\n\\n[mol_app_demo_chat] {\\n\\tflex: none;\\n}\\n\\n[mol_app_demo_readme] {\\n\\tflex: 1 0 40rem;\\n}\\n\\n[mol_app_demo_readme_not_found] {\\n\\tdisplay: flex;\\n\\tflex: 1 0;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\tfont-size: 2rem;\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\"\n) }","$mol_row $mol_view\n","namespace $ { $mol_style_attach( \"mol/row/row.view.css\",\n \"[mol_row] {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\talign-items: flex-start;\\n\\talign-content: flex-start;\\n\\tjustify-content: flex-start;\\n\\tpadding: var(--mol_gap_block);\\n\\tgap: var(--mol_gap_block);\\n\\tflex: 0 0 auto;\\n\\tbox-sizing: border-box;\\n\\tmax-width: 100%;\\n}\\n\\n[mol_row] > * {\\n\\tmax-width: 100%;\\n}\\n\"\n) }","$mol_form $mol_list\n\tsubmit_allowed true\n\tsubmit_blocked false\n\tevent *\n\t\t^\n\t\tkeydown?event <=> keydown?event null\n\tsubmit?event null\n\trows /\n\t\t<= Body $mol_list\n\t\t\tsub <= body <= form_fields /$mol_form_field\n\t\t<= Foot $mol_row\n\t\t\tsub <= foot <= buttons /$mol_view\n","namespace $.$$ {\n\n\t/**\n\t * Form, that contains form fields and action buttons.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_form_demo\n\t */\n\texport class $mol_form extends $.$mol_form {\n\t\t\n\t\t@ $mol_mem\n\t\tform_fields() {\n\t\t\treturn [ ... this.view_find( view => view instanceof $mol_form_field ) ]\n\t\t\t\t.map( path => path[ path.length - 1 ] ) as any as readonly $mol_form_field[]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsubmit_allowed() {\n\t\t\treturn this.form_fields().every( field => !field.bid() )\n\t\t}\n\n\t\tsubmit_blocked( ) {\n\t\t\treturn !this.submit_allowed()\n\t\t}\n\t\t\n\t\tkeydown( next : KeyboardEvent ) {\n\t\t\tif( next.ctrlKey && next.keyCode === $mol_keyboard_code.enter && !this.submit_blocked() ) this.submit( event )\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/form/form.view.css\",\n \"[mol_form] {\\r\\n\\tgap: var(--mol_gap_block);\\r\\n}\\r\\n\\r\\n[mol_form_body] {\\r\\n\\tgap: var(--mol_gap_block);\\r\\n}\"\n) }","namespace $ {\n\n\texport class $hyoo_studio_property extends $mol_object {\n\n\t\tname(): string {\n\t\t\tthrow new Error('Not defined')\n\t\t}\n\n\t\tcomponent(): $hyoo_studio_component {\n\t\t\tthrow new Error('Not defined')\n\t\t}\n\n\t\ttree(next?: $mol_tree2): $mol_tree2 {\n\t\t\tthrow new Error('Not defined')\n\t\t}\n\n\n\t\tas< Prop extends typeof $hyoo_studio_property >( Prop: Prop ) {\n\t\t\treturn Prop.make( {\n\t\t\t\tname: () => this.name(),\n\t\t\t\ttree: next => this.tree(next)\n\t\t\t} as InstanceType< Prop > )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tmeta( next?: {\n\t\t\treadonly name?: string;\n\t\t\treadonly key?: string;\n\t\t\treadonly next?: string;\n\t\t} ) {\n\t\t\t\n\t\t\tconst tree = this.tree()\n\t\t\tconst sign = tree?.type ?? ''\n\t\t\t\n\t\t\tlet meta = [ ... sign.matchAll( $mol_view_tree2_prop_signature ) ][0]?.groups ?? {\n\t\t\t\tname: '',\n\t\t\t\tkey: '',\n\t\t\t\tnext: '',\n\t\t\t}\n\t\t\t\n\t\t\tif( next ) {\n\n\t\t\t\tif (next.name) {\n\t\t\t\t\tthis.name = ()=> next.name!\n\t\t\t\t\tthis.component().prop_drop( meta.name )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tmeta = {\n\t\t\t\t\t... meta,\n\t\t\t\t\t... next,\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t// const sign = $mol_view_tree2_prop_signature.generate( meta )!\n\t\t\t\tconst sign = `${meta.name}${meta.key || ''}${meta.next || ''}`\n\t\t\t\tthis.tree( tree.struct( sign, tree.kids ) )\n\t\t\t\t\n\t\t\t}\n\n\t\t\treturn meta\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttitle( next?: string ) {\n\t\t\t\n\t\t\treturn this.meta(\n\t\t\t\tnext === undefined\n\t\t\t\t? undefined\n\t\t\t\t: { name: next }\n\t\t\t).name\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tkey( next?: boolean ) {\n\t\t\t\n\t\t\treturn Boolean(\n\t\t\t\tthis.meta(\n\t\t\t\t\tnext === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: {\n\t\t\t\t\t\tkey: next ? '*' : '',\n\t\t\t\t\t}\n\t\t\t\t).key\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tnext( next?: boolean ) {\n\t\t\t\n\t\t\treturn Boolean(\n\t\t\t\tthis.meta(\n\t\t\t\t\tnext === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: {\n\t\t\t\t\t\tnext: next ? '?' : '',\n\t\t\t\t\t}\n\t\t\t\t).next\n\t\t\t)\n\t\t\t\n\t\t}\n\n\t}\n\n\texport class $hyoo_studio_property_unit extends $hyoo_studio_property {\n\n\t\t\n\n\t}\n\n}\n","$hyoo_studio $mol_book2\n\tcomp $hyoo_studio_component\n\tplugins /\n\t\t<= Theme $mol_theme_auto\n\tDemo $mol_app_demo\n\t\tReadme_page => Readme_page\n\t\tmeta_bundle_base <= pack\n\tpages /\n\t\t<= Edit $mol_page\n\t\t\ttitle @ \\$mol Studio\n\t\t\ttools /\n\t\t\t\t<= Source_link $mol_link_source\n\t\t\t\t\turi \\https://github.com/hyoo-ru/studio.hyoo.ru\n\t\t\t\t<= Lights $mol_lights_toggle\n\t\t\t\t<= Code_open $mol_check_icon\n\t\t\t\t\thint @ \\Show Editor\n\t\t\t\t\tchecked? <=> code_show? false\n\t\t\t\t\tsub /\n\t\t\t\t\t\t<= Editor_toggle_icon $mol_icon_card_text\n\t\t\t\t<= Inspector_open $mol_check_icon\n\t\t\t\t\thint @ \\Show Inspector\n\t\t\t\t\tchecked? <=> inspector_show? false\n\t\t\t\t\tsub /\n\t\t\t\t\t\t<= Inspect_open_icon $mol_icon_chart_bar\n\t\t\t\t<= Preview_open $mol_check_icon\n\t\t\t\t\thint @ \\Show Preview\n\t\t\t\t\tchecked? <=> preview_show? false\n\t\t\t\t\tsub /\n\t\t\t\t\t\t<= Preview_open_icon $mol_icon_play_circle\n\t\t\tbody /\n\t\t\t\t<= Edit_form $mol_list\n\t\t\t\t\trows <= form_sections /\n\t\t\t\t\t\t<= Pack_field $mol_form_field\n\t\t\t\t\t\t\tname @ \\Components Donor App\n\t\t\t\t\t\t\tContent <= Pack $mol_search\n\t\t\t\t\t\t\t\tquery? <=> pack? \\https://mol.hyoo.ru\n\t\t\t\t\t\t\t\tsuggests <= suggests /\n\t\t\t\t\t\t\t\t\t\\https://mol.hyoo.ru\n\t\t\t\t\t\t<= Config $mol_list\n\t\t\t\t\t\t\trows /\n\t\t\t\t\t\t\t\t<= Classes $mol_view\n\t\t\t\t\t\t\t\t\tsub /\n\t\t\t\t\t\t\t\t\t\t<= Self_field $mol_form_field\n\t\t\t\t\t\t\t\t\t\t\tname @ \\Component Name\n\t\t\t\t\t\t\t\t\t\t\tContent <= Self $mol_string\n\t\t\t\t\t\t\t\t\t\t\t\thint \\$hyoo_studio_example\n\t\t\t\t\t\t\t\t\t\t\t\tvalue? <=> self? \\\n\t\t\t\t\t\t\t\t\t\t<= Base_field $mol_form_field\n\t\t\t\t\t\t\t\t\t\t\tname @ \\Base Class\n\t\t\t\t\t\t\t\t\t\t\tContent <= Base_content $mol_view\n\t\t\t\t\t\t\t\t\t\t\t\tsub /\n\t\t\t\t\t\t\t\t\t\t\t\t\t<= Base $mol_select\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue? <=> base? \\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\toptions <= base_options /string\n\t\t\t\t\t\t\t\t\t\t\t\t\t<= Readme_open $mol_check_icon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thint @ \\Readme\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tchecked? <=> readme_show? false\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsub /\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<= Readme_toggle_icon $mol_icon_information_outline\n\t\t\t\t\t\t\t\t- <= Props_inherited_field $mol_form_field\n\t\t\t\t\t\t\t\t\tname @ \\Display inherited properties\n\t\t\t\t\t\t\t\t\tcontrol <= Props_inherited_control $mol_check_list\n\t\t\t\t\t\t\t\t\t\toption_checked*? <=> props_inherited_checked*? false\n\t\t\t\t\t\t\t\t\t\toptions <= Props_inherited *\n\t\t\t\t\t\t\t\t\t\t\ta \\A\n\t\t\t\t\t\t\t\t\t\t\tb \\B\n\t\t\t\t\t\t\t\t\t\t\tc \\C\n\t\t\t\t\t\t\t\t<= Props_controls $mol_view\n\t\t\t\t\t\t\t\t\tsub <= props_controls /\n\t\t\t\t\t\t\t\t\t\t<= Prop_filter $mol_search\n\t\t\t\t\t\t\t\t\t\t\thint @ \\Search property or Add one..\n\t\t\t\t\t\t\t\t\t\t\tquery? <=> prop_filter? \\\n\t\t\t\t\t\t\t\t\t\t<= Prop_add $mol_button_minor\n\t\t\t\t\t\t\t\t\t\t\thint @ \\Add this property\n\t\t\t\t\t\t\t\t\t\t\tclick? <=> prop_add? null\n\t\t\t\t\t\t\t\t\t\t\tsub /\n\t\t\t\t\t\t\t\t\t\t\t\t<= Prop_add_icon $mol_icon_plus\n\t\t\t\t\t\t\t\t<= Props $mol_list\n\t\t\t\t\t\t\t\t\trows <= props /$hyoo_studio_prop\n\t\t<= Readme_page\n\t\t<= Source_page $mol_page\n\t\t\ttitle @ \\Raw Code\n\t\t\tbody /\n\t\t\t\t<= Source_page_list $mol_list rows <= source_page_body /\n\t\t\t\t\t<= Source_prop_switch $mol_view\n\t\t\t\t\t\tsub /\n\t\t\t\t\t\t\t<= Source_prop_name $mol_paragraph title <= source_prop_name \\The property is editing: {prop_name}\n\t\t\t\t\t\t\t<= Source_prop_exit $mol_button_minor\n\t\t\t\t\t\t\t\ttitle @ \\Show all\n\t\t\t\t\t\t\t\tclick? <=> source_prop_exit? null\n\t\t\t\t\t<= Source_type $mol_deck\n\t\t\t\t\t\tcurrent? <=> soure_type_current? \\0\n\t\t\t\t\t\titems /\n\t\t\t\t\t\t\t<= Source $mol_textarea\n\t\t\t\t\t\t\t\ttitle \\Composition\n\t\t\t\t\t\t\t\thint \\$hyoo_studio_example $mol_view\n\t\t\t\t\t\t\t\tsidebar_showed true\n\t\t\t\t\t\t\t\tvalue? <=> source_tree? \\$hyoo_studio_example $mol_view\n\t\t\t\t\t\t\t<= Source_css $mol_textarea\n\t\t\t\t\t\t\t\ttitle \\Styles\n\t\t\t\t\t\t\t\thint \\\n\t\t\t\t\t\t\t\tsidebar_showed true\n\t\t\t\t\t\t\t\tvalue? <=> source_css_switch? <=> source_css? \\\n\t\t\t\t\t\t\t<= Source_js $mol_textarea\n\t\t\t\t\t\t\t\ttitle \\Behavior\n\t\t\t\t\t\t\t\thint \\\n\t\t\t\t\t\t\t\tsidebar_showed true\n\t\t\t\t\t\t\t\tvalue? <=> source_js_switch? <=> source_js? \\\n\t\t<= Preview $mol_frame\n\t\t\ttitle @ \\Preview\n\t\t\turi <= pack\n\t\t\thtml <= preview_html \\\n\t\t\twindow => preview_window\n\t\t<= Inspect $mol_page\n\t\t\ttitle @ \\Inspect\n\t\t\tbody /\n\t\t\t\t<= Inspect_stat $mol_chart\n\t\t\t\t\tgraphs /\n\t\t\t\t\t\t<= Inspect_depth $mol_plot_bar\n\t\t\t\t\t\t\ttitle @ \\Min Depth\n\t\t\t\t\t\t\tseries_y <= inspect_stat /number\n\t\t\t\t\t\t<= Inspect_stat_vert $mol_plot_ruler_vert\n\t\t\t\t\t\t\ttitle @ \\count\n\t\t\t\t\t\t<= Inspect_stat_hor $mol_plot_mark_hor\n\t\t\t\t\t\t\ttitle @ \\depth\n\t\t\t\t\t\t\tseries_x <= inspect_stat_depth /number\n\t\t\t\t\t\t<= Marker_cross $mol_plot_mark_cross\n\t\t\t\t\t\t\tgraphs /\n\t\t\t\t\t\t\t\t<= Inspect_depth\n\t\t\t\t<= Inspect_graph $mol_dump_value\n\t\t\t\t\tvalue <= inspect_graph null\n\tProp* $hyoo_studio_prop\n\t\tname <= prop_name* \\default\n\t\tsign? <=> prop_sign*? \\\n\t\ttree? <=> prop_tree*? $mol_tree2_empty\n\t\tprops_of* <= props_of* $mol_tree2_empty\n\t\tprops_bindable <= props_all $mol_tree2_empty\n\t\tclass_list <= class_list /string\n\t\tBound_prop* <= Bound_prop* $hyoo_studio_prop\n\tPlaceholder null\n","namespace $ {\n\n\tdeclare function requestIdleCallback( task : ()=> void , options? : { timeout : number } ) : any\n\tdeclare function cancelIdleCallback( id : any ) : void\n\n\texport class $mol_after_work extends $mol_object2 {\n\n\t\tid : any\n\n\t\tconstructor(\n\t\t\tpublic delay : number ,\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis.id = requestIdleCallback( task , { timeout : delay } )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tcancelIdleCallback( this.id )\n\t\t}\n\n\t}\n\t\n\tif( typeof requestIdleCallback !== 'function' ) {\n\t\t$.$mol_after_work = $mol_after_timeout\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_wait_rest_async( this: $ ) {\n\t\treturn new Promise( done => {\n\t\t\tnew this.$mol_after_work( 16 , ()=> done( null ) )\n\t\t} )\n\t}\n\t\n\texport function $mol_wait_rest( this: $ ) {\n\t\treturn this.$mol_wire_sync( this ).$mol_wait_rest_async()\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/**\n\t * # Generic Graph model\n\t * - Supports any type of Nodes and Edges.\n\t * - All links are ordered, but this may be ignored.\n\t * - Multigraph supported using arrays of Edges.\n\t * - Hypergraph supported by reusing same Edge on set of links.\n\t * - Ubergraph supported using Edges as Nodes to.\n\t **/\n\texport class $mol_graph< Node , Edge > {\n\t\t\n\t\t/** All registered Nodes */\n\t\tnodes = new Set< Node >()\n\t\t\n\t\t/** Edges for Nodes pairs (from-to-edge) */\n\t\tedges_out = new Map< Node , Map< Node , Edge > >()\n\t\t/** Edges for Nodes pairs (to-from-edge) */\n\t\tedges_in = new Map< Node , Map< Node , Edge > >()\n\t\t\n\t\t// LINKING NODES\n\t\t\n\t\t/** Full connect two Nodes */\n\t\tlink( from : Node , to : Node , edge : Edge ) {\n\t\t\tthis.link_out( from , to , edge )\n\t\t\tthis.link_in( to , from , edge )\n\t\t}\n\t\t\n\t\t/** Full disconnect two Nodes */\n\t\tunlink( from : Node , to : Node ) {\n\t\t\tthis.edges_in.get( to )?.delete( from )\n\t\t\tthis.edges_out.get( from )?.delete( to )\n\t\t}\n\t\t\n\t\t/** Forward connect two Nodes */\n\t\tlink_out( from : Node , to : Node , edge : Edge ) {\n\t\t\t\n\t\t\tlet pair = this.edges_out.get( from )\n\t\t\t\n\t\t\tif( !pair ) {\n\t\t\t\tpair = new Map< Node , Edge >()\n\t\t\t\tthis.edges_out.set( from , pair )\n\t\t\t\tthis.nodes.add( from )\n\t\t\t}\n\t\t\t\n\t\t\tpair.set( to , edge )\n\t\t\tthis.nodes.add( to )\n\n\t\t}\n\t\t\n\t\t/** Backward connect two Nodes */\n\t\tlink_in( to : Node , from : Node , edge : Edge ) {\n\n\t\t\tlet pair = this.edges_in.get( to )\n\t\t\t\n\t\t\tif( !pair ) {\n\t\t\t\tpair = new Map< Node , Edge >()\n\t\t\t\tthis.edges_in.set( to , pair )\n\t\t\t\tthis.nodes.add( to )\n\t\t\t}\n\t\t\t\n\t\t\tpair.set( from , edge )\n\t\t\tthis.nodes.add( to )\n\n\t\t}\n\t\t\n\t\t// GETTING EDGES\n\t\t\n\t\t/** Return any Edge for two Nodes or null */\n\t\tedge( from : Node , to : Node ) {\n\t\t\treturn this.edge_out( from, to ) ?? this.edge_in( to, from )\n\t\t}\n\t\t\n\t\t/** Return output Edge for two Nodes or null */\n\t\tedge_out( from : Node , to : Node ) {\n\t\t\treturn this.edges_out.get( from )?.get( to ) ?? null\n\t\t}\n\t\t\n\t\t/** Return input Edge for two Nodes or null */\n\t\tedge_in( to : Node , from : Node ) {\n\t\t\treturn this.edges_in.get( to )?.get( from ) ?? null\n\t\t}\n\t\t\n\t\t// MUTATIONS\n\t\t\n\t\t/** Cut cycles at lowest priority of Edges */\n\t\tacyclic( get_weight : ( edge : Edge )=> number ) {\n\t\t\t\n\t\t\tconst checked = [] as Node[]\n\t\t\t\n\t\t\tfor( const start of this.nodes ) {\n\t\t\t\t\n\t\t\t\tconst path = [] as Node[]\n\t\t\t\t\n\t\t\t\tconst visit = ( from : Node ) : number => {\n\n\t\t\t\t\tif( checked.includes( from ) ) return Number.MAX_SAFE_INTEGER\n\n\t\t\t\t\tconst index = path.lastIndexOf( from )\n\t\t\t\t\tif( index > -1 ) {\n\n\t\t\t\t\t\tconst cycle = path.slice( index )\n\n\t\t\t\t\t\treturn cycle.reduce(\n\t\t\t\t\t\t\t( weight , node , index )=> Math.min(\n\t\t\t\t\t\t\t\tweight ,\n\t\t\t\t\t\t\t\tget_weight( this.edge_out( node , cycle[ ( index + 1 ) % cycle.length ] )! ) ,\n\t\t\t\t\t\t\t) ,\n\t\t\t\t\t\t\tNumber.MAX_SAFE_INTEGER ,\n\t\t\t\t\t\t)\n\n\t\t\t\t\t}\n\n\t\t\t\t\tpath.push( from )\n\n\t\t\t\t\tdive: try {\n\n\t\t\t\t\t\tconst deps = this.edges_out.get( from )\n\t\t\t\t\t\tif( !deps ) break dive\n\n\t\t\t\t\t\tfor( const [ to , edge ] of deps ) {\n\n\t\t\t\t\t\t\tif( to === from ) {\n\t\t\t\t\t\t\t\tthis.unlink( from , to )\n\t\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst weight_out = get_weight( edge )\n\t\t\t\t\t\t\tconst min = visit( to )\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif( weight_out > min ) return min\n\t\t\t\t\t\t\tif( weight_out === min ) {\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tthis.unlink( from , to )\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif( path.length > 1 ) {\n\t\t\t\t\t\t\t\t\tconst enter = path[ path.length - 2 ]\n\t\t\t\t\t\t\t\t\tthis.link( enter , to , edge )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tpath.pop()\n\t\t\t\t\t}\n\n\t\t\t\t\tchecked.push( from )\n\n\t\t\t\t\treturn Number.MAX_SAFE_INTEGER\n\t\t\t\t}\n\n\t\t\t\tvisit( start )\n\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t// NODES SELECTION\n\t\t\n\t\t/** Topoligical ordered set of all Nodes for acyclic graph */\n\t\tget sorted() {\n\n\t\t\tconst sorted = new Set< Node >()\n\t\t\t\n\t\t\tconst visit = ( node : Node ) => {\n\t\t\t\t\n\t\t\t\tif( sorted.has( node ) ) return\n\n\t\t\t\tconst deps = this.edges_out.get( node )\n\n\t\t\t\tif( deps ) {\n\t\t\t\t\tfor( const [dep] of deps ) visit( dep )\n\t\t\t\t}\n\n\t\t\t\tsorted.add( node )\n\t\t\t}\n\t\t\t\n\t\t\tfor( const node of this.nodes ) {\n\t\t\t\tvisit( node )\n\t\t\t}\n\t\t\t\n\t\t\treturn sorted\n\t\t}\n\t\t\n\t\t/** All Nodes which don't have input Edges */\n\t\tget roots() {\n\t\t\t\n\t\t\tconst roots = [] as Node[]\n\t\t\tfor( const node of this.nodes ) {\n\t\t\t\t\n\t\t\t\tif( this.edges_in.get( node )?.size ) continue\n\t\t\t\troots.push( node )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn roots\n\t\t}\n\t\t\n\t\t// DEPTH STATS\n\t\t\n\t\t/**\n\t\t * Nodes depth statistics for acyclic graph\n\t\t * @example\n\t\t * graph.depth_stat( Math.min )\n\t\t * graph.depth_stat( Math.max )\n\t\t **/\n\t\tnodes_depth( select: ( left: number, right: number )=> number ) {\n\t\t\t\n\t\t\tconst stat = new Map< Node, number >()\n\t\t\tconst visit = ( node: Node, depth = 0 )=> {\n\t\t\t\t\n\t\t\t\tif( stat.has( node ) ) stat.set( node, select( depth, stat.get( node )! ) )\n\t\t\t\telse stat.set( node, depth )\n\t\t\t\t\n\t\t\t\tfor( const kid of this.edges_out.get( node )?.keys() ?? [] ) visit( kid, depth + 1 )\n\t\t\t\t\n\t\t\t}\n\t\t\tfor( const root of this.roots ) visit( root )\n\t\t\t\n\t\t\treturn stat\n\t\t}\n\t\t\n\t\t/**\n\t\t * Depth's Nodes statistics for acyclic graph\n\t\t * @example\n\t\t * graph.depth_nodes( Math.min )\n\t\t * graph.depth_nodes( Math.max )\n\t\t **/\n\t\tdepth_nodes( select: ( left: number, right: number )=> number ) {\n\t\t\t\n\t\t\tconst groups = [] as Node[][]\n\t\t\tfor( const [ node, depth ] of this.nodes_depth( select ).entries() ) {\n\t\t\t\t\n\t\t\t\tif( groups[ depth ] ) groups[ depth ].push( node )\n\t\t\t\telse groups[ depth ] = [ node ]\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn groups\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_wire_graph( root: $mol_wire_pub_sub ) {\n\t\t\n\t\tconst graph = new $mol_graph< $mol_wire_pub, number >()\n\t\t\n\t\tfunction visit( sub: $mol_wire_pub ) {\n\t\t\t\n\t\t\tif( 'sync' in sub ) {\n\t\t\t\t\n\t\t\t\tconst fiber = sub as $mol_wire_fiber< any, any, any >\n\t\t\t\ttry {\n\t\t\t\t\tfiber.sync()\n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\tif( 'then' in error ) $mol_fail_hidden( error )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tfor( const [ index, pub ] of fiber.pub_list.entries() ) {\n\t\t\t\t\tgraph.link( sub, pub, index )\n\t\t\t\t\tvisit( pub )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\tvisit( root )\n\t\t\n\t\treturn graph\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_tree2_text_to_string( this: $, text: $mol_tree2 ) {\n\n\t\tlet res = ''\n\t\t\n\t\tfunction visit( text: $mol_tree2, prefix: string, inline: boolean ) {\n\n\t\t\tif( text.type === 'indent' ) {\n\n\t\t\t\tif( inline ) res += '\\n'\n\t\t\t\t\n\t\t\t\tfor( let kid of text.kids ) {\n\t\t\t\t\tvisit( kid, prefix + '\\t', false )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( inline ) res += prefix\n\n\t\t\t} else if( text.type === 'line' ) {\n\t\t\t\t\n\t\t\t\tif( !inline ) res += prefix\n\t\t\t\t\n\t\t\t\tfor( let kid of text.kids ) {\n\t\t\t\t\tvisit( kid, prefix, true )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( !inline ) res += '\\n'\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tif( !inline ) res += prefix\n\t\t\t\t\n\t\t\t\tres += text.text()\n\t\t\t\t\n\t\t\t\tif( !inline ) res += '\\n'\n\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tfor( let kid of text.kids ) {\n\t\t\tvisit( kid, '', false )\n\t\t}\n\t\t\n\t\treturn res\n\t}\n\n}\n","namespace $ {\n\n\tconst alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\n\n\texport function $mol_vlq_encode( val: number ): string {\n\n\t\tconst sign = val < 0 ? 1 : 0\n\t\tif( sign ) val = -val\n\n\t\tlet index = sign | ( ( val & 0b1111 ) << 1 )\n\t\tval >>>= 4\n\t\t\n\t\tlet res = ''\n\n\t\twhile( val ) {\n\n\t\t\tindex |= 1 << 5\n\t\t\tres += alphabet[ index ]\n\t\t\t\n\t\t\tif( !val ) break\n\t\t\t\n\t\t\tindex = val & 0b11111\n\t\t\tval >>>= 5\n\t\t\t\n\t\t}\n\n\t\tres += alphabet[ index ]\n\n\t\treturn res\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_tree2_text_to_sourcemap( this: $, tree: $mol_tree2 ) {\n\n\t\tlet col = 1\n\t\tlet prev_span: $mol_span | undefined\n\t\tlet prev_index = 0\n\t\tlet prev_col = 1\n\t\tlet mappings = ''\n\t\tlet line = [] as string[]\n\n\t\tconst file_indexes = new Map< string, number >()\n\t\tconst file_sources = new Map< string, string >()\n\n\t\tfunction span2index( span: $mol_span ) {\n\t\t\tif( file_indexes.has( span.uri ) ) return file_indexes.get( span.uri )!\n\t\t\tconst index = file_indexes.size\n\t\t\tfile_indexes.set( span.uri, index )\n\t\t\tfile_sources.set( span.uri, span.source )\n\t\t\treturn index\n\t\t}\n\t\t\n\t\tfunction next_line() {\n\t\t\tif( !line.length ) return\n\t\t\tmappings += line.join(',') + ';'\n\t\t\tline = []\n\t\t\tcol = 1\n\t\t\tprev_col = 1\n\t\t}\n\t\t\n\t\tfunction visit( text: $mol_tree2, prefix: number, inline: boolean ) {\n\n\t\t\tfunction indent() {\n\t\t\t\tcol += prefix\n\t\t\t}\n\t\n\t\t\tif( inline && text.type === 'indent' ) next_line()\n\t\t\t\n\t\t\tif( prev_span !== text.span || col === 1 ) {\n\n\t\t\t\tconst index = span2index( text.span )\n\t\t\t\t\n\t\t\t\tline.push(\n\t\t\t\t\t$mol_vlq_encode( col - prev_col ) + \n\t\t\t\t\t$mol_vlq_encode( index - prev_index ) +\n\t\t\t\t\t$mol_vlq_encode( text.span.row - ( prev_span?.row ?? 1 ) ) +\n\t\t\t\t\t$mol_vlq_encode( text.span.col - ( prev_span?.col ?? 1 ) )\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tprev_col = col\n\t\t\t\tprev_span = text.span\n\t\t\t\tprev_index = index\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( text.type === 'indent' ) {\n\n\t\t\t\tfor( let kid of text.kids ) {\n\t\t\t\t\tvisit( kid, prefix + 1, false )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( inline ) next_line()\n\n\t\t\t} else if( text.type === 'line' ) {\n\t\t\t\t\n\t\t\t\tif( !inline ) indent()\n\t\t\t\t\n\t\t\t\tfor( let kid of text.kids ) {\n\t\t\t\t\tvisit( kid, prefix, true )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( !inline ) next_line()\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tif( !inline ) indent()\n\t\t\t\t\n\t\t\t\tcol += text.text().length\n\t\t\t\t\n\t\t\t\tif( !inline ) next_line()\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tfor( let kid of tree.kids ) {\n\t\t\tvisit( kid, 0, false )\n\t\t}\n\t\tnext_line()\n\t\t\n\t\tconst map: $mol_sourcemap_raw = {\n\t\t\tversion: 3,\n\t\t\tsources: [ ... file_sources.keys() ],\n\t\t\tsourcesContent: [ ... file_sources.values() ],\n\t\t\tmappings,\n\t\t}\n\n\t\treturn map\n\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_sourcemap_url(this: $, uri: string, type = 'js' as 'js' | 'css') {\n\t\tif (type === 'css') return `\\n/*# sourceMappingURL=${uri}*/`\n\t\treturn `\\n//# sourceMappingURL=${uri}`\n\t}\n\n}\n","namespace $ {\n\n\tconst prefix = '# sourceMappingURL=data:application/json,'\n\tconst end_comment = ' */'\n\n\texport function $mol_sourcemap_dataurl_decode(this: $, data: string) {\n\t\tconst index = data.lastIndexOf(prefix)\n\n\t\tif (index === -1) return undefined\n\n\t\tdata = data.substring(index + prefix.length)\n\n\t\tif (data.endsWith(end_comment)) data = data.substring(0, data.length - end_comment.length)\n\n\t\tconst decoded = this.decodeURIComponent(data)\n\n\t\ttry {\n\t\t\tconst map = JSON.parse(decoded) as $mol_sourcemap_raw | null\n\n\t\t\tif (! map) return undefined\n\n\t\t\tif (typeof map.mappings === 'string' && map.mappings.startsWith(';;')) {\n\t\t\t\tmap.mappings = map.mappings.substring(2)\n\t\t\t}\n\n\t\t\treturn map\n\t\t} catch (e) {\n\t\t\tif (e instanceof Error) e.message += ', origin=' + decoded\n\t\t\t$mol_fail_hidden(e)\n\t\t}\n\t}\n\n\texport function $mol_sourcemap_dataurl_encode(this: $, map: $mol_sourcemap_raw, type = 'js' as 'js' | 'css') {\n\t\tconst str = JSON.stringify( { ...map, mappings: ';;' + map.mappings } )\n\n\t\treturn this.$mol_sourcemap_url('data:application/json,' + this.encodeURIComponent( str ), type)\n\t}\n}\n","namespace $ {\n\n\texport function $mol_tree2_text_to_string_mapped( this: $, text: $mol_tree2, type: 'js' | 'css' ) {\n\t\t\n\t\tconst code = this.$mol_tree2_text_to_string( text )\n\t\tconst map = this.$mol_tree2_text_to_sourcemap( text )\n\n\t\tconst chunk = this.$mol_sourcemap_dataurl_encode( map, type )\n\t\treturn code + chunk\n\t}\n\n\texport function $mol_tree2_text_to_string_mapped_js( this: $, text: $mol_tree2 ) {\n\t\treturn this.$mol_tree2_text_to_string_mapped( text, 'js' )\n\t}\n\t\n\texport function $mol_tree2_text_to_string_mapped_css( this: $, text: $mol_tree2 ) {\n\t\treturn this.$mol_tree2_text_to_string_mapped( text, 'css')\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_tree2_js_to_text( this: $, js: $mol_tree2 ) {\n\n\t\tfunction sequence( open?: string, separator?: string, close?: string ) {\n\t\t\treturn ( input: $mol_tree2, belt: $mol_tree2_belt< never > )=> [\n\t\t\t\tinput.struct( 'line', [\n\t\t\t\t\t... open ? [ input.data( open ) ] : [],\n\t\t\t\t\tinput.struct( separator && input.kids.length > 2 ? 'indent' : 'line',\n\t\t\t\t\t\t( [] as $mol_tree2[] ).concat(\n\t\t\t\t\t\t\t... input.kids.map( ( kid, index ) => [\n\t\t\t\t\t\t\t\tkid.struct( 'line', [\n\t\t\t\t\t\t\t\t\t... kid.list([ kid ]).hack( belt ),\n\t\t\t\t\t\t\t\t\t... ( separator && index < input.kids.length - 1 ) ? [ input.data( separator ) ] : [],\n\t\t\t\t\t\t\t\t] ),\n\t\t\t\t\t\t\t] ),\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\t... close ? [ input.data( close ) ] : [],\n\t\t\t\t] ),\n\t\t\t]\n\t\t}\n\n\t\tfunction block( open?: string, separator?: string, close?: string ) {\n\t\t\treturn ( input: $mol_tree2, belt: $mol_tree2_belt< never > )=> [\n\t\t\t\t... open ? [ input.data( open ) ] : [],\n\t\t\t\t... input.kids.length === 0 ? [] : [ input.struct( 'indent',\n\t\t\t\t\tinput.kids.map( ( kid, index ) =>\n\t\t\t\t\t\tkid.struct( 'line', [\n\t\t\t\t\t\t\t... kid.list([ kid ]).hack( belt ),\n\t\t\t\t\t\t\t... ( separator ) ? [ input.data( separator ) ] : [],\n\t\t\t\t\t\t] ),\n\t\t\t\t\t),\n\t\t\t\t) ],\n\t\t\t\t... close ? [ input.data( close ) ] : [],\n\t\t\t]\n\t\t}\n\n\t\tfunction duplet( open?: string, separator?: string, close?: string ) {\n\t\t\treturn ( input: $mol_tree2, belt: $mol_tree2_belt< never > )=> [\n\t\t\t\tinput.struct( 'line', [\n\t\t\t\t\t... open ? [ input.data( open ) ] : [],\n\t\t\t\t\t... input.list( input.kids.slice( 0, 1 ) ).hack( belt ),\n\t\t\t\t\t... ( separator && input.kids.length > 1 ) ? [ input.data( separator ) ] : [],\n\t\t\t\t\t... input.list( input.kids.slice( 1, 2 ) ).hack( belt ),\n\t\t\t\t\t... close ? [ input.data( close ) ] : [],\n\t\t\t\t] ),\n\t\t\t]\n\t\t}\n\n\t\tfunction triplet( open?: string, separator12?: string, separator23?: string, close?: string ) {\n\t\t\treturn ( input: $mol_tree2, belt: $mol_tree2_belt< never > )=> [\n\t\t\t\tinput.struct( 'line', [\n\t\t\t\t\t... open ? [ input.data( open ) ] : [],\n\t\t\t\t\t... input.list( input.kids.slice( 0, 1 ) ).hack( belt ),\n\t\t\t\t\t... ( separator12 && input.kids.length > 1 ) ? [ input.data( separator12 ) ] : [],\n\t\t\t\t\t... input.list( input.kids.slice( 1, 2 ) ).hack( belt ),\n\t\t\t\t\t... ( separator23 && input.kids.length > 2 ) ? [ input.data( separator23 ) ] : [],\n\t\t\t\t\t... input.list( input.kids.slice( 2, 3 ) ).hack( belt ),\n\t\t\t\t\t... close ? [ input.data( close ) ] : [],\n\t\t\t\t] ),\n\t\t\t]\n\t\t}\n\n\t\treturn js.list( js.hack({\n\n\t\t\t'+': sequence( '+' ),\n\t\t\t'-': sequence( '-' ),\n\t\t\t'!': sequence( '!' ),\n\t\t\t'~': sequence( '~' ),\n\n\t\t\t'return': sequence( 'return ' ),\n\t\t\t'break': sequence( 'break ' ),\n\t\t\t'continue': sequence( 'continue ' ),\n\t\t\t'yield': sequence( 'yield ' ),\n\t\t\t'yield*': sequence( 'yield* ' ),\n\t\t\t'await': sequence( 'await ' ),\n\t\t\t'void': sequence( 'void ' ),\n\t\t\t'delete': sequence( 'delete ' ),\n\t\t\t'typeof': sequence( 'typeof ' ),\n\t\t\t'new': sequence( 'new ' ),\n\t\t\t'...': sequence( '...' ),\n\n\t\t\t'@++': sequence( '', '', '++' ),\n\t\t\t'@--': sequence( '', '', '--' ),\n\t\t\t\n\t\t\t'(in)': sequence( '(', ' in ', ')' ),\n\t\t\t'(instanceof)': sequence( '(', ' instanceof ', ')' ),\n\n\t\t\t'(+)': sequence( '(', ' + ', ')' ),\n\t\t\t'(-)': sequence( '(', ' - ', ')' ),\n\t\t\t'(*)': sequence( '(', ' * ', ')' ),\n\t\t\t'(/)': sequence( '(', ' / ', ')' ),\n\t\t\t'(%)': sequence( '(', ' % ', ')' ),\n\t\t\t'(**)': sequence( '(', ' ** ', ')' ),\n\t\t\t\n\t\t\t'(<)': sequence( '(', ' < ', ')' ),\n\t\t\t'(<=)': sequence( '(', ' <= ', ')' ),\n\t\t\t'(>)': sequence( '(', ' > ', ')' ),\n\t\t\t'(>=)': sequence( '(', ' >= ', ')' ),\n\t\t\t'(==)': sequence( '(', ' == ', ')' ),\n\t\t\t'(!=)': sequence( '(', ' != ', ')' ),\n\t\t\t'(===)': sequence( '(', ' === ', ')' ),\n\t\t\t'(!==)': sequence( '(', ' !== ', ')' ),\n\t\t\t\n\t\t\t'(<<)': sequence( '(', ' << ', ')' ),\n\t\t\t'(>>)': sequence( '(', ' >> ', ')' ),\n\t\t\t'(>>>)': sequence( '(', ' >>> ', ')' ),\n\t\t\t'(&)': sequence( '(', ' & ', ')' ),\n\t\t\t'(|)': sequence( '(', ' | ', ')' ),\n\t\t\t'(^)': sequence( '(', ' ^ ', ')' ),\n\t\t\t\n\t\t\t'(&&)': sequence( '(', ' && ', ')' ),\n\t\t\t'(||)': sequence( '(', ' || ', ')' ),\n\t\t\t'(,)': sequence( '(', ', ', ')' ),\n\t\t\t'{;}': block( '{', ';', '}' ),\n\t\t\t';': block( '', ';', '' ),\n\t\t\t'[,]': sequence( '[', ', ', ']' ),\n\t\t\t'{,}': sequence( '{', ', ', '}' ),\n\n\t\t\t'()': sequence( '(', '', ')' ),\n\t\t\t'{}': block( '{', '', '}' ),\n\t\t\t\n\t\t\t'[]': ( input, belt )=> {\n\t\t\t\tconst first = input.kids[0]\n\t\t\t\tif( first.type ) return sequence( '[', '', ']' )( input, belt )\n\t\t\t\telse return [ input.data( '.' + first.text() ) ]\n\t\t\t},\n\t\t\t\n\t\t\t'?.[]': ( input, belt )=> {\n\t\t\t\tconst first = input.kids[0]\n\t\t\t\tif( first.type ) return sequence( '?.[', '', ']' )( input, belt )\n\t\t\t\telse return [ input.data( '?.' + first.text() ) ]\n\t\t\t},\n\t\t\t\n\t\t\t':': ( input, belt )=> {\n\t\t\t\tconst first = input.kids[0]\n\t\t\t\tif( first.type ) return duplet( '[', ']: ' )( input, belt )\n\t\t\t\telse return duplet( '', ': ' )( input, belt )\n\t\t\t},\n\t\t\t\n\t\t\t'let': duplet( 'let ', ' = ' ),\n\t\t\t'const': duplet( 'const ', ' = ' ),\n\t\t\t'var': duplet( 'var ', ' = ' ),\n\n\t\t\t'=': duplet( '', ' = ' ),\n\t\t\t'+=': duplet( '', ' += ' ),\n\t\t\t'-=': duplet( '', ' -= ' ),\n\t\t\t'*=': duplet( '', ' *= ' ),\n\t\t\t'/=': duplet( '', ' /= ' ),\n\t\t\t'%=': duplet( '', ' %= ' ),\n\t\t\t'**=': duplet( '', ' **= ' ),\n\t\t\t'<<=': duplet( '', ' <<= ' ),\n\t\t\t'>>=': duplet( '', ' >>= ' ),\n\t\t\t'>>>=': duplet( '', ' >>>= ' ),\n\t\t\t'&=': duplet( '', ' &= ' ),\n\t\t\t'|=': duplet( '', ' |= ' ),\n\t\t\t'^=': duplet( '', ' ^= ' ),\n\t\t\t'&&=': duplet( '', ' &&= ' ),\n\t\t\t'||=': duplet( '', ' ||= ' ),\n\n\t\t\t'=>': duplet( '', ' => ' ),\n\t\t\t'async=>': duplet( 'async ', ' => ' ),\n\t\t\t'function': triplet( 'function ' ),\n\t\t\t'function*': triplet( 'function* ' ),\n\t\t\t'async': triplet( 'async function ' ),\n\t\t\t'async*': triplet( 'async function* ' ),\n\n\t\t\t'class': triplet( 'class ', ' ' ),\n\t\t\t'extends': sequence( 'extends ', '', ' ' ),\n\n\t\t\t'if': triplet( 'if', ' ', 'else' ),\n\t\t\t'?:': triplet( '', ' ? ', ' : ' ),\n\n\t\t\t'.': ( input, belt )=> {\n\t\t\t\tconst first = input.kids[0]\n\t\t\t\tif( first.type ) return triplet( '[', ']' )( input, belt )\n\t\t\t\telse return [\n\t\t\t\t\tinput.data( first.text() ),\n\t\t\t\t\t... input.list( input.kids.slice(1) ).hack( belt ),\n\t\t\t\t]\n\t\t\t},\n\n\t\t\t'get': triplet( 'get [', ']' ),\n\t\t\t'set': triplet( 'set [', ']' ),\n\t\t\t'static': triplet( 'static [', ']' ),\n\t\t\t\n\t\t\t'/./': sequence(),\n\t\t\t'.global': sequence( 'g' ),\n\t\t\t'.multiline': sequence( 'm' ),\n\t\t\t'.ignoreCase': sequence( 'i' ),\n\t\t\t'.source': ( input, belt )=> [\n\t\t\t\tinput.data( '/' ),\n\t\t\t\tinput.data( JSON.stringify( input.text() ).slice( 1, -1 ) ),\n\t\t\t\tinput.data( '/' ),\n\t\t\t],\n\n\t\t\t'``': ( input, belt )=> {\n\t\t\t\treturn [\n\t\t\t\t\tinput.struct( 'line', [\n\t\t\t\t\t\tinput.data( '`' ),\n\t\t\t\t\t\t... ( [] as $mol_tree2[] ).concat( ... input.kids.map( kid => {\n\t\t\t\t\t\t\tif( kid.type ) {\n\t\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\t\tkid.data( '${' ),\n\t\t\t\t\t\t\t\t\t... kid.list([ kid ]).hack( belt ),\n\t\t\t\t\t\t\t\t\tkid.data( '}' ),\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\t\tinput.data( JSON.stringify( kid.text() ).slice( 1, -1 ) ),\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} ) ),\n\t\t\t\t\t\tinput.data( '`' ),\n\t\t\t\t\t] ),\n\t\t\t\t]\n\t\t\t},\n\n\t\t\t'': ( input, belt )=> {\n\n\t\t\t\t// string\n\t\t\t\tif( !input.type ) return [\n\t\t\t\t\tinput.data( JSON.stringify( input.text() ) ),\n\t\t\t\t]\n\t\t\t\t\n\t\t\t\t// variable\n\t\t\t\tif( /^[\\w$#][\\w0-9$]*$/i.test( input.type ) ) return [\n\t\t\t\t\tinput.data( input.type ),\n\t\t\t\t\t// ... input.hack( context ),\n\t\t\t\t]\n\t\t\t\t\n\t\t\t\t// number\n\t\t\t\tif( $mol_view_tree2_value_number(input.type) ) return [\n\t\t\t\t\tinput.data( input.type )\n\t\t\t\t]\n\n\t\t\t\t$mol_fail( new SyntaxError( `Wrong node type` ) )\n\n\t\t\t},\n\n\t\t}) )\n\n\t}\n\n}\n","namespace $ {\n\texport function $mol_guard_defined(value: T): value is NonNullable {\n\t\treturn value !== null && value !== undefined\n\t}\n}\n","namespace $ {\n\n\tconst err = $mol_view_tree2_error_str\n\n\tfunction name_of(this: $, prop: $mol_tree2 ) {\n\t\treturn this.$mol_view_tree2_prop_parts(prop).name\n\t}\n\t\n\tfunction params_of( this: $, prop: $mol_tree2, bidi = true ) {\n\t\t\n\t\tconst { key, next } = this.$mol_view_tree2_prop_parts(prop)\n\n\t\treturn prop.struct( '(,)', [\n\t\t\t... key\n\t\t\t\t? [ prop.struct( 'id' ) ]\n\t\t\t\t: [],\n\t\t\t... ( bidi && next ) ? [ prop.struct( 'next' ) ] : [],\n\t\t] )\n\t\t\n\t}\n\t\n\tfunction args_of( this: $, prop: $mol_tree2, bidi = true ) {\n\t\t\n\t\tconst { key, next } = this.$mol_view_tree2_prop_parts(prop)\n\n\t\treturn prop.struct( '(,)', [\n\t\t\t... key\n\t\t\t\t? key.length > 1\n\t\t\t\t\t? [ prop.data( key.slice(1) ) ]\n\t\t\t\t\t: [ prop.struct( 'id' ) ]\n\t\t\t\t: [],\n\t\t\t... ( bidi && next ) ? [ prop.struct( 'next' ) ] : [],\n\t\t] )\n\t\t\n\t}\n\n\tfunction call_method_name(this: $, child: $mol_tree2, optional: boolean) {\n\t\treturn child.struct( optional ? '?.[]' : '[]', [\n\t\t\tchild.data( name_of.call( this, child ) )\n\t\t] )\n\t}\n\n\tfunction call_of(this: $, bind: $mol_tree2, bidi = true) {\n\t\tif( bind.kids.length === 0 ) {\n\t\t\treturn this.$mol_fail(\n\t\t\t\terr`Required one child at ${bind.span}`\n\t\t\t)\n\t\t}\n\n\t\tconst chain = [ bind.struct( 'this' ) ]\n\n\t\tfor (const child of bind.kids) {\n\t\t\tchain.push(\n\t\t\t\tcall_method_name.call(this, child, chain.length > 1),\n\t\t\t\targs_of.call(this, child, bidi),\n\t\t\t)\n\t\t}\n\n\t\treturn bind.struct( '()', chain )\n\t}\n\n\ttype Context = { chain?: string[] }\n\t\n\tconst localized_string = $$.$mol_tree2_from_string(`\n\t\t()\n\t\t\tthis\n\t\t\t[] \\\\$\n\t\t\t[] \\\\$mol_locale\n\t\t\t[] \\\\text\n\t\t\t(,) #key\n\t`, 'localized_string' )\n\n\tfunction klass_body(\n\t\tthis: $,\n\t\tacc: {\n\t\t\tklass: $mol_tree2\n\t\t\taddons: $mol_tree2[]\n\t\t\tmembers: $mol_tree2[]\n\t\t},\n\t\tprop: $mol_tree2\n\t) {\n\t\tconst { klass, members, addons } = acc\n\t\tconst { name, key, next } = this.$mol_view_tree2_prop_parts(prop)\n\n\t\tconst decorate = ()=> {\n\t\t\treturn prop.struct( '()', [\n\t\t\t\tprop.struct( key ? '$mol_mem_key' : '$mol_mem' ),\n\t\t\t\tprop.struct( '(,)', [\n\t\t\t\t\tprop.struct( '()', [\n\t\t\t\t\t\tklass.struct( '$' ),\n\t\t\t\t\t\tprop.struct( '[]', [\n\t\t\t\t\t\t\tklass.data( klass.type ),\n\t\t\t\t\t\t] ),\n\t\t\t\t\t\tprop.struct( '[]', [\n\t\t\t\t\t\t\tprop.data( 'prototype' ),\n\t\t\t\t\t\t] ),\n\t\t\t\t\t] ),\n\t\t\t\t\tprop.data( name ),\n\t\t\t\t] ),\n\t\t\t] )\n\t\t}\n\t\tconst op = prop.kids[0]\n\t\tconst is_delegate = op?.type === '<=>' || op?.type === '='\n\t\tif( ! is_delegate && next ) addons.push( decorate() )\n\t\t\n\t\tconst val = prop.hack({\n\t\t\t\n\t\t\t'@': ( locale, belt, context )=> {\n\t\t\t\tconst chain = context.chain?.join('_')\n\n\t\t\t\treturn localized_string.hack({\n\t\t\t\t\t'#key': key => [ locale.data( `${ klass.type }_${ name }${ chain ? `_${chain}` : '' }` ) ],\n\t\t\t\t})\n\t\t\t},\n\t\t\t\n\t\t\t'<=': bind => [ call_of.call(this, bind, false) ],\n\n\t\t\t'<=>': bind => [ call_of.call(this, bind, true) ],\n\t\t\t\n\t\t\t'=>': bind => [],\n\t\t\t\n\t\t\t'^': ( ref )=> [\n\t\t\t\tref.struct( '...', [\n\t\t\t\t\tref.struct( '()', [\n\t\t\t\t\t\tref.struct( ref.kids[0]?.type ? 'this' : 'super' ),\n\t\t\t\t\t\tref.struct( '[]', [\n\t\t\t\t\t\t\tref.data( ref.kids[0]?.type ? name_of.call(this, ref.kids[0]) : name ),\n\t\t\t\t\t\t] ),\n\t\t\t\t\t\tref.kids[0]?.type ? args_of.call(this, ref.kids[0]) : ref.struct( '(,)' )\n\t\t\t\t\t]),\n\t\t\t\t] ),\n\t\t\t],\n\n\t\t\t'=': bind => [ bind.struct( '()', [\n\t\t\t\tbind.struct( 'this' ),\n\t\t\t\t... bind.hack({ '': ( method, belt, ctx )=> [\n\t\t\t\t\tcall_method_name.call( this, method, (ctx.item_index++) > 0 ),\n\t\t\t\t\targs_of.call( this, method ),\n\t\t\t\t\t... method.hack( belt ),\n\t\t\t\t] }, { item_index: 0 }),\n\t\t\t] ) ],\n\t\t\t\t\n\t\t\t'': ( input, belt, context )=> {\n\n\t\t\t\tif( input.type[0] === '*' ) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\tinput.struct('{,}',\n\t\t\t\t\t\t\tinput.kids.map( field => {\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif( field.type === '^' ) return field.list([ field ]).hack( belt )[0]\n\t\t\t\t\t\t\t\tconst field_name = (field.type || field.value).replace(/\\?\\w*$/, '')\n\n\t\t\t\t\t\t\t\treturn field.struct( ':', [\n\t\t\t\t\t\t\t\t\tfield.data( field_name ),\n\t\t\t\t\t\t\t\t\tfield.kids[0].type === '<=>'\n\t\t\t\t\t\t\t\t\t\t? field.struct( '=>', [\n\t\t\t\t\t\t\t\t\t\t\tparams_of.call(this, field ),\n\t\t\t\t\t\t\t\t\t\t\t... field.hack( belt ),\n\t\t\t\t\t\t\t\t\t\t] )\n\t\t\t\t\t\t\t\t\t\t: field.hack( belt, {... context, chain: [...context.chain ?? [], field_name] })[0],\n\t\t\t\t\t\t\t\t] )\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t} ).filter( this.$mol_guard_defined )\n\t\t\t\t\t\t)\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( input.type[0] === '/' ) return [\n\t\t\t\t\tinput.struct( '[,]', input.hack( belt ) ),\n\t\t\t\t]\n\t\t\t\tif( input.type && $mol_view_tree2_value_number(input.type) ) return [\n\t\t\t\t\tinput\n\t\t\t\t]\n\n\t\t\t\tif( $mol_view_tree2_class_match( input ) ) {\n\t\t\t\t\tif( ! next ) addons.push( decorate() )\n\t\t\t\t\t\n\t\t\t\t\tconst overrides = [] as $mol_tree2[]\n\t\t\t\t\t\n\t\t\t\t\tfor( const over of input.kids ) {\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( over.type[0] === '/' ) continue\n\t\t\t\t\t\tconst bind = over.kids[0]\n\t\t\t\t\t\tif( bind.type === '=>' ) continue\n\n\t\t\t\t\t\tconst over_name = name_of.call(this, over )\n\n\t\t\t\t\t\tconst body = [\n\t\t\t\t\t\t\targs_of.call(this, over ),\n\t\t\t\t\t\t\tover.struct( '()', over.hack( belt, { chain: [ over.type ] } )),\n\t\t\t\t\t\t]\n\n\t\t\t\t\t\toverrides.push(\n\t\t\t\t\t\t\tover.struct( '=', [\n\t\t\t\t\t\t\t\tover.struct( '()', [\n\t\t\t\t\t\t\t\t\tover.struct( 'obj' ),\n\t\t\t\t\t\t\t\t\tover.struct( '[]', [\n\t\t\t\t\t\t\t\t\t\tover.data( over_name ),\n\t\t\t\t\t\t\t\t\t] ),\n\t\t\t\t\t\t\t\t] ),\n\t\t\t\t\t\t\t\tover.struct( '=>', body ),\n\t\t\t\t\t\t\t] ),\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\treturn [\n\t\t\t\t\t\tinput.struct( 'const', [\n\t\t\t\t\t\t\tinput.struct( 'obj' ),\n\t\t\t\t\t\t\tinput.struct( 'new', [\n\t\t\t\t\t\t\t\tinput.struct( 'this' ),\n\t\t\t\t\t\t\t\tinput.struct('[]', [\n\t\t\t\t\t\t\t\t\tinput.data( '$' ),\n\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t\tinput.struct('[]', [\n\t\t\t\t\t\t\t\t\tinput.data( input.type.replace(/<.+>/g, '') ),\n\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t\tinput.struct( '(,)', input.select( '/', null ).hack( belt ) ),\n\t\t\t\t\t\t\t] ),\n\t\t\t\t\t\t] ),\n\t\t\t\t\t\t... overrides,\n\t\t\t\t\t\tinput.struct( 'obj' ),\n\t\t\t\t\t]\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn [ input ]\n\t\t\t\t\n\t\t\t},\n\t\t\t\n\t\t})\n\n\t\tmembers.push(\n\t\t\tprop.struct( '.', [\n\t\t\t\tprop.data( name ),\n\t\t\t\tparams_of.call(this, prop ),\n\t\t\t\tprop.struct( '{;}', [\n\t\t\t\t\t... next && ! is_delegate ? [\n\t\t\t\t\t\tprop.struct( 'if', [\n\t\t\t\t\t\t\tprop.struct( '(!==)', [\n\t\t\t\t\t\t\t\tprop.struct( 'next' ),\n\t\t\t\t\t\t\t\tprop.struct( 'undefined' ),\n\t\t\t\t\t\t\t] ),\n\t\t\t\t\t\t\tprop.struct( 'return', [\n\t\t\t\t\t\t\t\tprop.struct( 'next' ),\n\t\t\t\t\t\t\t] ),\n\t\t\t\t\t\t] ),\n\t\t\t\t\t] : [],\n\t\t\t\t\t... val.slice( 0, -1 ),\n\t\t\t\t\tprop.struct( 'return', val.slice( -1 ) ),\n\t\t\t\t] ),\n\t\t\t] )\n\t\t)\n\n\t\treturn acc\n\t}\n\n\texport function $mol_view_tree2_to_js( this: $, descr: $mol_tree2 ) {\n\t\t\n\t\tdescr = $mol_view_tree2_classes( descr )\n\t\t\n\t\tconst definitions = [] as $mol_tree2[]\n\t\t\n\t\tfor( const klass of descr.kids ) {\n\n\t\t\tconst parent = klass.kids[0]\n\t\t\tconst props = this.$mol_view_tree2_class_props( klass )\n\t\t\tconst addons = [] as $mol_tree2[]\n\t\t\tconst members = [] as $mol_tree2[]\n\t\t\tconst acc = { klass, addons, members }\n\n\t\t\tfor( const prop of props ) {\n\t\t\t\ttry {\n\t\t\t\t\tklass_body.call( this, acc, prop )\n\t\t\t\t} catch (e: any) {\n\t\t\t\t\te.message += ` at ${prop.span}`\n\t\t\t\t\t$mol_fail_hidden(e)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tdefinitions.push(\n\t\t\t\tklass.struct( '=', [\n\t\t\t\t\tklass.struct( '()', [\n\t\t\t\t\t\tklass.struct( '$' ),\n\t\t\t\t\t\tklass.struct( '[]', [\n\t\t\t\t\t\t\tklass.data( klass.type ),\n\t\t\t\t\t\t] ),\n\t\t\t\t\t] ),\n\t\t\t\t\tklass.struct( 'class', [\n\t\t\t\t\t\tklass.struct( klass.type ),\n\t\t\t\t\t\tparent.struct( 'extends', [\n\t\t\t\t\t\t\tparent.struct( '()', [\n\t\t\t\t\t\t\t\tparent.struct( '$' ),\n\t\t\t\t\t\t\t\tparent.struct( '[]', [\n\t\t\t\t\t\t\t\t\tparent.data( parent.type ),\n\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t] ),\n\t\t\t\t\t\t] ),\n\t\t\t\t\t\tklass.struct( '{}', members ),\n\t\t\t\t\t] ),\n\t\t\t\t] ),\n\t\t\t\t... addons,\n\t\t\t)\n\t\t\t\n\t\t}\n\n\t\treturn descr.list([\n\t\t\tdescr.struct( ';', definitions )\n\t\t])\n\t\t\n\t}\n}\n","namespace $ {\n\n\texport function $mol_offline( ) {}\n\n}\n","namespace $ {\n\ttry {\n\t\t$mol_offline()\n\t} catch( error ) {\n\t\tconsole.error( error )\n\t}\n}\n","namespace $.$$ {\n\t\n\texport class $hyoo_studio extends $.$hyoo_studio {\n\t\t\n\t\tpreview_show( next?: boolean ) {\n\t\t\treturn this.$.$mol_state_arg.value( 'preview', next?.valueOf && ( next ? '' : null ) ) !== null\n\t\t}\n\t\t\n\t\tinspector_show( next?: boolean ) {\n\t\t\treturn this.$.$mol_state_arg.value( 'inspect', next?.valueOf && ( next ? '' : null ) ) !== null\n\t\t}\n\n\t\tcode_show( next?: boolean ) {\n\t\t\treturn this.$.$mol_state_arg.value( 'raw', next?.valueOf && ( next ? '' : null ) ) !== null\n\t\t}\n\n\t\treadme_show( next?: boolean ) {\n\t\t\tif ( next ) this.readme_selected( this.base() )\n\t\t\treturn this.Demo().readme_page( next )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tpages() {\n\t\t\treturn [\n\t\t\t\tthis.Edit(),\n\t\t\t\t... this.readme_show() ? [ this.Readme_page() ] : [],\n\t\t\t\t... this.code_show() ? [ this.Source_page() ] : [],\n\t\t\t\t... this.inspector_show() ? [ this.Inspect() ] : [],\n\t\t\t\t... this.preview_show() ? [ this.Preview() ] : [],\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tpack( next?: string ) {\n\t\t\treturn this.$.$mol_state_arg.value( 'pack', next ) ?? super.pack()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsource_tree( next?: string ): string {\n\t\t\treturn this.$.$mol_state_arg.value( 'source', next ) ?? super.source_tree()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsource_css( next?: string ): string {\n\t\t\treturn this.$.$mol_state_arg.value( 'source_css', next ) ?? super.source_css()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsource_js( next?: string ): string {\n\t\t\treturn this.$.$mol_state_arg.value( 'source_js', next ) ?? super.source_js()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tpreview_html() {\n\t\t\t\n\t\t\tconst self = this.self()\n\t\t\tconst script = new URL( 'web.js', this.pack() ).toString()\n\t\t\tconst theme = this.Theme().theme()\n\t\t\t\n\t\t\treturn `\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t`\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tpreview_window() {\n\t\t\tthis.$.$mol_wait_rest()\n\t\t\tthis.preview_html()\n\t\t\tthis.preview_show()\n\t\t\treturn super.preview_window()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tinspect_graph() {\n\t\t\t\n\t\t\tconst win = this.preview_window()\n\t\t\t\n\t\t\ttry {\n\t\t\t\twin['$mol_view'].autobind()\n\t\t\t\treturn $mol_wire_graph( win['$mol_view']['autobind()'] )\n\t\t\t} catch( error: any ) {\n\t\t\t\tif( 'then' in error ) return $mol_fail_hidden( new Promise( ( done, fail )=> error.then( done, fail ) ) )\n\t\t\t\t$mol_fail_hidden( new Error( error.message ) )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tinspect_stat() {\n\t\t\treturn this.inspect_graph().depth_nodes( Math.min ).map( nodes => nodes.length )\n\t\t}\n\t\t\n\t\tinspect_stat_depth() {\n\t\t\treturn Object.keys( this.inspect_stat() ).map( Number )\n\t\t}\n\t\t\n\t\treadme_selected( next?: string ) {\n\t\t\treturn $mol_state_arg.value( 'demo', next ) ?? ''\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlibrary() {\n\t\t\tconst uri = new URL( 'web.view.tree', this.pack() ).toString()\n\t\t\tconst str = this.$.$mol_fetch.text( uri )\n\t\t\tconst predef = '$mol_view $mol_object\\n\\tdom_name \\\\\\n\\tstyle *\\n\\tevent *\\n\\tfield *\\n\\tattr *\\n\\tsub /\\n\\ttitle \\\\\\n'\n\t\t\tconst tree = this.$.$mol_tree2_from_string( predef + str )\n\t\t\tconst norm = this.$.$mol_view_tree2_normalize( tree )\n\t\t\treturn norm\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttree( next?: $mol_tree2 ) {\n\t\t\t\n\t\t\tconst source = this.source_tree( next && next.toString() ).replace( /\\n?$/, '\\n' )\n\t\t\t\n\t\t\tconst tree = this.$.$mol_view_tree2_normalize(\n\t\t\t\tthis.$.$mol_tree2_from_string( source )\n\t\t\t).kids[0]\n\t\t\t\n\t\t\treturn tree\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tunited() {\n\t\t\tconst lib = this.library()\n\t\t\treturn lib.clone([\n\t\t\t\t... lib.kids,\n\t\t\t\tthis.tree(),\n\t\t\t])\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tself( next?: string ) {\n\t\t\t\n\t\t\tconst tree = this.tree()\n\t\t\tif( !next ) return tree.type\n\t\t\t\n\t\t\tthis.tree(\n\t\t\t\ttree.struct( next, tree.kids )\n\t\t\t)\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tbase( next?: string ) {\n\t\t\t\n\t\t\tconst self = this.tree()\n\t\t\tconst base = this.$.$mol_view_tree2_class_super( self )\n\t\t\t\n\t\t\tif( !next ) return base.type\n\t\t\t\n\t\t\tthis.tree(\n\t\t\t\tself.clone([\n\t\t\t\t\tself.struct( next )\n\t\t\t\t])\n\t\t\t)\n\t\t\t\n\t\t\treturn this.readme_selected( next )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tself_code() {\n\t\t\t\n\t\t\tconst tree = this.tree()\n\t\t\t\n\t\t\tconst code = this.$.$mol_tree2_text_to_string_mapped_js(\n\t\t\t\tthis.$.$mol_tree2_js_to_text(\n\t\t\t\t\tthis.$.$mol_view_tree2_to_js(\n\t\t\t\t\t\ttree.list([ tree ])\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t)\n\t\t\t\n\t\t\tconst class_name = this.self()\n\t\t\treturn `\n\t\t\t\t$.$mol_wire_auto = parent.$mol_wire_auto\n\t\t\t\t$.${ class_name } = ${ code }\n\n\t\t\t\t$.${ class_name } = class ${ class_name } extends $.${ class_name } {\n\t\t\t\t\t${ this.source_js() }\n\t\t\t\t}\n\n\t\t\t\t;${ this.source_js_decorators() };\n\t\t\t\t$.$mol_style_attach(${ class_name }, ${ this.source_css() })\n\t\t\t`\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tbase_options() {\n\t\t\treturn this.library().kids.map( cl => cl.type ).reverse()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tclass_list() {\n\t\t\treturn this.library().kids.map( cl => cl.type )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tprop_sign( prop_name: string, next?: string ) {\n\t\t\tif( next !== undefined ) {\n\t\t\t\tconst tree = this.prop_tree( prop_name )\n\t\t\t\tthis.prop_tree( prop_name, tree.struct( next, tree.kids ) )\n\t\t\t\treturn next\n\t\t\t}\n\t\t\treturn this.props_map( this.self() ).get( prop_name )?.type || ''\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tprops_map( base: string ) {\n\t\t\t\n\t\t\tconst lib = this.united()\n\t\t\tconst all = new Map< string, $mol_tree2 >()\n\t\t\t\n\t\t\tconst add = ( prop: $mol_tree2 )=> {\n\t\t\t\tconst name = this.$.$mol_view_tree2_prop_parts( prop ).name\n\t\t\t\tall.set( name, prop )\n\t\t\t}\n\n\t\t\tconst collect = ( cl: string )=> {\n\t\t\t\t\n\t\t\t\tconst sup = lib.select( cl, null ).kids[0]\n\t\t\t\tif( !sup ) return\n\t\t\t\t\n\t\t\t\tcollect( sup.type )\n\t\t\t\t\n\t\t\t\tfor( const prop of sup.kids ) add( prop )\n\t\t\t\t\n\t\t\t}\n\n\t\t\tcollect( base )\n\n\t\t\treturn all\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tprops_of( base: string ) {\n\t\t\tconst lib = this.united()\n\t\t\treturn lib.list( [ ...this.props_map( base ).values() ].reverse() )\n\t\t}\n\t\t\n\t\tprops_all() {\n\t\t\treturn this.props_of( this.self() )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tprop_filtered() {\n\t\t\treturn this.props_all().kids.filter(\n\t\t\t\t$mol_match_text(\n\t\t\t\t\tthis.prop_filter(),\n\t\t\t\t\tprop => [ prop.type ],\n\t\t\t\t)\n\t\t\t)\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tprop_name( prop_name: string ) {\n\t\t\treturn prop_name\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tprops() {\n\t\t\tconst props = this.prop_filtered().flatMap( prop => {\n\t\t\t\tconst name = this.$.$mol_view_tree2_prop_parts( prop ).name\n\t\t\t\treturn name == 'undefined' ? [] : [this.Prop( name )]\n\t\t\t} )\n\t\t\treturn props\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tprop_add_allow() {\n\t\t\t\n\t\t\tconst query = this.prop_filter()\n\t\t\tif( !query.trim() ) return false\n\t\t\t\n\t\t\tconst all = this.props_all()\n\t\t\treturn all.kids.every( prop => prop.type !== query )\n\t\t\t\n\t\t}\n\t\t\n\t\tprop_add() {\n\t\t\t\n\t\t\tconst query = this.prop_filter()\n\t\t\tconst tree = this.tree()\n\t\t\t\n\t\t\tthis.tree(\n\t\t\t\ttree.insert(\n\t\t\t\t\ttree.struct( query, [\n\t\t\t\t\t\ttree.struct( 'null' ),\n\t\t\t\t\t] ),\n\t\t\t\t\tnull,\n\t\t\t\t\tquery,\n\t\t\t\t)\n\t\t\t)\n\t\t\t\n\t\t\tthis.prop_filter( '' )\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tprops_controls() {\n\t\t\treturn [\n\t\t\t\tthis.Prop_filter(),\n\t\t\t\t... this.prop_add_allow() ? [ this.Prop_add() ] : [],\n\t\t\t]\n\t\t}\n\t\t\n\t\t@$mol_mem_key\n\t\tBound_prop( id: string ) {\n\t\t\tconst name = id.split( ':' )[ 0 ]\n\t\t\tconst obj = new this.$.$hyoo_studio_prop()\n\t\t\tobj.name = () => this.prop_name( name )\n\t\t\tobj.sign = ( next?: string ) => this.prop_sign( name, next )\n\t\t\tobj.tree = ( next?: any ) => this.prop_tree( name, next )\n\t\t\tobj.props_of = ( klass: any ) => this.props_of( klass )\n\t\t\tobj.props_bindable = () => this.props_all()\n\t\t\tobj.class_list = () => this.class_list()\n\t\t\tobj.Bound_prop = ( id: any ) => this.Bound_prop( id )\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tprop_tree( prop_name: string, next?: $mol_tree2 ) {\n\t\t\t\n\t\t\tconst sign = this.prop_sign( prop_name ) || prop_name\n\t\t\t\n\t\t\tif( next !== undefined ) {\n\t\t\t\tthis.tree( this.tree().insert( next, this.base(), sign ) )\n\t\t\t\treturn next\n\t\t\t}\n\t\t\t\n\t\t\treturn this.props_all().select( sign ).kids[0] ?? null\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsoure_type_current( next?: string ) {\n\t\t\tconst options = Object.entries(this.Source_type().switch_options())\n\t\t\tif (next === undefined) {\n\t\t\t\tconst title = this.$.$mol_state_arg.value('raw_type')\n\t\t\t\tconst [value] = options.find(([value, label]) => label === title) ?? ['0']\n\t\t\t\treturn value\n\t\t\t}\n\n\t\t\tconst next_title = options[Number(next)]?.[1]\n\t\t\tthis.$.$mol_state_arg.value('raw_type', next_title ?? options[0][1])\n\t\t\treturn next\n\t\t}\n\n\t\tprops_css( class_body: string ) {\n\t\t\tconst props: Map< string/*prop name*/, string/*code*/ > = new Map\n\t\t\t\n\t\t\tlet code_start = 0\n\t\t\tlet body_start = 0\n\t\t\tlet brace_count = 0\n\t\t\tconst class_name = this.self().slice(1)\n\t\t\tfor( let i = 0; i < class_body.length; i++ ) {\n\t\t\t\tconst char = class_body[ i ]\n\n\t\t\t\tif( char == '}' ) {\n\t\t\t\t\tbrace_count--\n\t\t\t\t\tif( brace_count !== 0 ) continue\n\n\t\t\t\t\tconst attr = class_body.slice( code_start, body_start ).match( /\\[([\\w]+)\\]/ )?.[1]\n\t\t\t\t\tconst name = attr?.replace( class_name + '_', '' )\n\t\t\t\t\tif( !name ) continue\n\n\t\t\t\t\tprops.set( name, class_body.slice( code_start, i + 1 ).trim()! )\n\t\t\t\t\tcode_start = i + 1\n\t\t\t\t}\n\n\t\t\t\telse if( char == '{' ) {\n\t\t\t\t\tif( brace_count === 0 ) body_start = i\n\t\t\t\t\tbrace_count++\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tconsole.log('props', props)\n\t\t\tconsole.log('brace_count', brace_count)\n\t\t\tif( brace_count !== 0 ) throw new Error('Curly braces is not balanced')\n\t\t\treturn props\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tsource_css_prop_default( prop_name: string ) {\n\t\t\tconst class_name = this.self().slice(1)\n\t\t\treturn `[${class_name}_${prop_name.toLowerCase()}] {\\n\\t\\n}`\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tsource_css_prop( prop_name: string, next?: string ) {\n\t\t\tconst prop_name_lower = prop_name.toLowerCase()\n\t\t\ttry {\n\t\t\t\tconst props = this.props_css( this.source_css() )\n\n\t\t\t\tif( next === undefined ) {\n\t\t\t\t\tif( props.get( prop_name_lower ) ) return props.get( prop_name_lower )!\n\t\t\t\t\treturn this.source_css_prop_default( prop_name_lower )\n\t\t\t\t}\n\t\n\t\t\t\tprops.set( prop_name_lower, next )\n\t\t\t\tthis.source_css( [...props.values()].join('\\n\\n') )\n\t\t\t\t\n\t\t\t\treturn next\n\t\t\t\t\n\t\t\t} catch (error) {\n\t\t\t\tif( !this.$.$mol_promise_like( error ) ) {\n\t\t\t\t\tthis.$.$mol_fail_log( error )\n\t\t\t\t}\n\n\t\t\t\treturn this.source_css_prop_default( prop_name_lower )\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsource_css_switch( next?: string ) {\n\t\t\tconst prop_name = this.$.$mol_state_arg.value('raw_prop')\n\n\t\t\tif (!prop_name) return this.source_css(next)\n\n\t\t\treturn this.source_css_prop(prop_name, next)\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsource_js_decorators() {\n\t\t\tconst list = new Array()\n\n\t\t\tconst add = (prop_name: string, key: boolean, next: boolean) => {\n\t\t\t\tif (!key && !next) return\n\t\t\t\tif (this.source_js().includes(`/*${prop_name}*/`))\n\t\t\t\tlist.push(`($mol_mem${key ? '_key' : ''}(($.${ this.self() }.prototype), \"${ prop_name }\"));`)\n\t\t\t}\n\n\t\t\tthis.props().forEach(prop => add(prop.name(), prop.multiple(), prop.changeable()))\n\n\t\t\treturn list.join('\\n')\n\t\t}\n\n\t\tprops_js( class_body: string ) {\n\t\t\tconst props: Map< string/*prop name*/, string/*code*/ > = new Map\n\n\t\t\tlet code_start = 0\n\t\t\tlet body_start = 0\n\t\t\tlet brace_count = 0\n\t\t\tfor( let i = 0; i < class_body.length; i++ ) {\n\t\t\t\tconst char = class_body[ i ]\n\n\t\t\t\tif( char == '}' ) {\n\t\t\t\t\tbrace_count--\n\t\t\t\t\tif( brace_count !== 0 ) continue\n\n\t\t\t\t\tconst name = class_body.slice( code_start, body_start ).match( /([\\w]+)[\\s]*\\(/ )?.[1]\n\t\t\t\t\tif( !name ) continue\n\n\t\t\t\t\tprops.set( name, class_body.slice( code_start, i + 1 ).trim()! )\n\t\t\t\t\tcode_start = i + 1\n\t\t\t\t}\n\n\t\t\t\telse if( char == '{' ) {\n\t\t\t\t\tif( brace_count === 0 ) body_start = i\n\t\t\t\t\tbrace_count++\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tif( brace_count !== 0 ) throw new Error('Curly braces is not balanced')\n\t\t\treturn props\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tsource_js_prop_default( prop_name: string ) {\n\t\t\tconst multiple = this.Prop(prop_name).multiple()\n\t\t\tconst changeable = this.Prop(prop_name).changeable()\n\t\t\tconst params = [...multiple ? ['key'] : [], ...changeable ? ['next'] : []].join(', ')\n\t\t\treturn `${prop_name}( ${params} ) {\\n\\t\\n}`\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tsource_js_prop( prop_name: string, next?: string ) {\n\t\t\ttry {\n\t\t\t\tconst props = this.props_js( this.source_js() )\n\n\t\t\t\tif( next === undefined ) {\n\t\t\t\t\tif( props.get( prop_name ) ) return props.get( prop_name )!\n\t\t\t\t\treturn this.source_js_prop_default( prop_name )\n\t\t\t\t}\n\t\n\t\t\t\tprops.set( prop_name, next )\n\t\t\t\tthis.source_js( [...props.values()].join('\\n\\n') )\n\t\t\t\t\n\t\t\t\treturn next\n\t\t\t\t\n\t\t\t} catch (error) {\n\t\t\t\tif( !this.$.$mol_promise_like( error ) ) {\n\t\t\t\t\tthis.$.$mol_fail_log( error )\n\t\t\t\t}\n\n\t\t\t\treturn this.source_js_prop_default( prop_name )\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsource_js_switch( next?: string ) {\n\t\t\tconst prop_name = this.$.$mol_state_arg.value('raw_prop')\n\n\t\t\tif (!prop_name) return this.source_js(next)\n\n\t\t\treturn this.source_js_prop(prop_name, next)\n\t\t}\n\n\t\tsource_prop_name() {\n\t\t\treturn super.source_prop_name().replaceAll('{prop_name}', this.$.$mol_state_arg.value('raw_prop')!)\n\t\t}\n\n\t\t@ $mol_action\n\t\tsource_prop_exit() {\n\t\t\tthis.$.$mol_state_arg.value('raw_prop', null)\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsource_page_body() {\n\t\t\tconst show = this.$.$mol_state_arg.value('raw_prop') !== null && this.$.$mol_state_arg.value('raw_type') !== 'view.tree'\n\t\t\treturn [\n\t\t\t\t... show ? [this.Source_prop_switch()] : [],\n\t\t\t\tthis.Source_type(),\n\t\t\t]\n\t\t}\n\t}\n}\n","namespace $.$$ {\n\n\tconst { rem, per, px } = $mol_style_unit\n\n\t$mol_style_define( $hyoo_studio, {\n\n\t\tEdit: {\n\n\t\t\tflex: {\n\t\t\t\tgrow: 0,\n\t\t\t\tshrink: 0,\n\t\t\t},\n\n\t\t\tBody: {\n\t\t\t\tpadding: 0,\n\t\t\t},\n\n\t\t},\n\n\t\tEdit_form: {\n\t\t\tgap: $mol_gap.block,\n\t\t\tdisplay: 'flex',\n\t\t},\n\n\t\t$mol_form_field: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t},\n\n\t\tPack: {\n\t\t\twidth: per (100),\n\t\t},\n\n\t\tReadme_open: {\n\t\t\tmarginLeft: 'auto',\n\t\t},\n\n\t\tConfig: {\n\t\t\tgap: $mol_gap.block,\n\t\t},\n\n\t\tProps: {\n\t\t\tgap: $mol_gap.block,\n\t\t},\n\n\t\tProps_controls: {\n\t\t\tpadding: {\n\t\t\t\ttop: $mol_gap.block,\n\t\t\t\tbottom: $mol_gap.block,\n\t\t\t},\n\t\t},\n\n\t\tSource_type: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t\tSwitch: {\n\t\t\t\tflex: {\n\t\t\t\t\tgrow: 0,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\tSource_page: {\n\t\t\tflex: {\n\t\t\t\tbasis: rem( 40 ),\n\t\t\t},\n\t\t\tBody: {\n\t\t\t\tflexDirection: 'row',\n\t\t\t},\n\t\t},\n\n\t\tSource_page_list: {\n\t\t\twidth: '100%',\n\t\t},\n\n\t\tSource_prop_name: {\n\t\t\tpadding: $mol_gap.block,\n\t\t},\n\n\t\tPreview: {\n\t\t\tflex: {\n\t\t\t\tbasis: rem( 40 ),\n\t\t\t\tshrink: 0,\n\t\t\t\tgrow: 10000,\n\t\t\t},\n\t\t\tminWidth: per( 50 ),\n\t\t\tzIndex: 2,\n\t\t\tbox: {\n\t\t\t\tshadow: [ {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\tblur: 0,\n\t\t\t\t\tspread: px( 1 ),\n\t\t\t\t\tcolor: $mol_theme.line,\n\t\t\t\t} ],\n\t\t\t}\n\t\t},\n\n\t\tInspect: {\n\t\t\tflex: {\n\t\t\t\tbasis: rem( 30 ),\n\t\t\t\tshrink: 0,\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n"]} \ No newline at end of file diff --git a/node.mjs b/node.mjs index 1ba040c..e2c63f0 100644 --- a/node.mjs +++ b/node.mjs @@ -7835,7 +7835,7 @@ var $; 'code-comment-block': /(?:\/\*[^]*?\*\/|\/\+[^]*?\+\/|)/, 'code-link': /(?:\w+:\/\/|#)\S+?(?=\s|\\\\|""|$)/, 'code-comment-inline': /\/\/.*?(?:$|\/\/)|- \\.*/, - 'code-string': /(?:".*?"|'.*?'|`.*?`|\/.+?\/[dygimsu]*(?!\p{Letter})|[ \t]*\\[^\n]*)/u, + 'code-string': /(?:".*?"|'.*?'|`.*?`| ?\\\\.+?\\\\|\/.+?\/[dygimsu]*(?!\p{Letter})|[ \t]*\\[^\n]*)/u, 'code-number': /[+-]?(?:\d*\.)?\d+\w*/, 'code-call': /\.?\w+ *(?=\()/, 'code-sexpr': /\((\w+ )/, diff --git a/node.test.js b/node.test.js index 5e16671..0e4259e 100644 --- a/node.test.js +++ b/node.test.js @@ -7826,7 +7826,7 @@ var $; 'code-comment-block': /(?:\/\*[^]*?\*\/|\/\+[^]*?\+\/|)/, 'code-link': /(?:\w+:\/\/|#)\S+?(?=\s|\\\\|""|$)/, 'code-comment-inline': /\/\/.*?(?:$|\/\/)|- \\.*/, - 'code-string': /(?:".*?"|'.*?'|`.*?`|\/.+?\/[dygimsu]*(?!\p{Letter})|[ \t]*\\[^\n]*)/u, + 'code-string': /(?:".*?"|'.*?'|`.*?`| ?\\\\.+?\\\\|\/.+?\/[dygimsu]*(?!\p{Letter})|[ \t]*\\[^\n]*)/u, 'code-number': /[+-]?(?:\d*\.)?\d+\w*/, 'code-call': /\.?\w+ *(?=\()/, 'code-sexpr': /\((\w+ )/, @@ -22924,6 +22924,28 @@ var $; ; "use strict"; +; +"use strict"; +var $; +(function ($) { + $mol_test_mocks.push(context => { + class $mol_state_arg_mock extends $mol_state_arg { + static $ = context; + static href(next) { return next || ''; } + static go(next) { + this.href(this.link(next)); + } + } + __decorate([ + $mol_mem + ], $mol_state_arg_mock, "href", null); + __decorate([ + $mol_action + ], $mol_state_arg_mock, "go", null); + context.$mol_state_arg = $mol_state_arg_mock; + }); +})($ || ($ = {})); + ; "use strict"; var $; diff --git a/node.test.js.map b/node.test.js.map index 5a82b17..301f0dc 100644 --- a/node.test.js.map +++ b/node.test.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../../mam.ts","../../../mol/ambient/ambient.ts","../../../mol/delegate/delegate.ts","../../../mol/owning/owning.ts","../../../mol/fail/fail.ts","../../../mol/fail/hidden/hidden.ts","../../../mol/func/name/name.ts","../../../mol/object2/object2.ts","../../../mol/object/object.ts","../../../mol/window/window.node.ts","../../../mol/wire/cursor/cursor.ts","../../../mol/wire/pub/pub.ts","../../../mol/wire/wire.ts","../../../mol/dev/format/format.ts","../../../mol/wire/pub/sub/sub.ts","../../../mol/after/tick/tick.ts","../../../mol/promise/like/like.ts","../../../mol/wire/fiber/fiber.ts","../../../mol/guid/guid.ts","../../../mol/key/key.ts","../../../mol/after/timeout/timeout.ts","../../../mol/after/frame/frame.node.ts","../../../mol/compare/deep/deep.ts","../../../mol/log3/log3.ts","../../../mol/span/span.ts","../../../mol/tree2/to/string/string.ts","../../../mol/tree2/tree2.ts","../../../mol/error/syntax/syntax.ts","../../../mol/tree2/from/string/string.ts","../../../mol/tree2/from/json/json.ts","../../../mol/term/color/color.ts","../../../mol/log3/log3.node.ts","../../../mol/wire/task/task.ts","../../../mol/wire/method/method.ts","../../../mol/fail/catch/catch.ts","../../../mol/fail/log/log.ts","../../../mol/wire/atom/atom.ts","../../../mol/wire/solo/solo.ts","../../../mol/wire/plex/plex.ts","../../../mol/mem/mem.ts","../../../mol/dom/context/context.ts","../../../node/node.node.ts","../../../mol/error/mix/mix.ts","../../../mol/env/env.ts","../../../mol/env/env.node.ts","../../../mol/wire/sync/sync.ts","../../../mol/run/run.node.ts","../../../mol/exec/exec.node.ts","../../../mol/dom/context/context.node.ts","../../../mol/view/selection/selection.ts","../../../mol/wrapper/wrapper.ts","../../../mol/memo/memo.ts","../../../mol/dom/qname/qname.ts","../../../mol/wire/probe/probe.ts","../../../mol/wire/watch/watch.ts","../../../mol/const/const.ts","../../../mol/wire/solid/solid.ts","../../../mol/dom/render/attributes/attributes.ts","../../../mol/dom/render/events/events.ts","../../../mol/dom/render/styles/styles.ts","../../../mol/dom/render/children/children.ts","../../../mol/dom/render/fields/fields.ts","../../../mol/wire/async/async.ts","../../../mol/style/attach/attach.ts","../../../mol/decor/decor.ts","../../../mol/style/unit/unit.ts","../../../mol/style/func/func.ts","../../../mol/style/prop/prop.ts","../../../mol/theme/theme.ts","../../../mol/theme/-css/theme.css.ts","../../../mol/gap/gap.ts","../../../mol/gap/-css/gap.css.ts","../../../mol/view/view/view.ts","../../../mol/view/view/-css/view.css.ts","../../../mol/plugin/plugin.ts","../../../mol/scroll/scroll.view.tree","../../../mol/dom/listener/listener.ts","../../../mol/print/print.ts","../../../mol/style/sheet/sheet.ts","../../../mol/style/define/define.ts","../../../mol/scroll/scroll.view.ts","../../../mol/scroll/scroll.view.css.ts","../../../mol/book2/book2.view.tree","../../../mol/mem/cached/cached.ts","../../../mol/layer/layer.ts","../../../mol/layer/-css/layer.css.ts","../../../mol/book2/book2.view.ts","../../../mol/book2/-css/book2.view.css.ts","../../../mol/theme/auto/auto.view.tree","../../../mol/action/action.ts","../../../mol/state/arg/arg.node.ts","../../../mol/media/media.ts","../../../mol/mem/persist/persist.ts","../../../mol/storage/storage.ts","../../../mol/state/local/local.ts","../../../mol/charset/decode/decode.ts","../../../mol/charset/encode/encode.ts","../../../mol/file/file.ts","../../../mol/compare/array/array.ts","../../../mol/file/file.node.ts","../../../mol/state/local/local.node.ts","../../../mol/lights/lights.ts","../../../mol/theme/auto/auto.view.ts","../../../mol/link/link.view.tree","../../../mol/link/link.view.ts","../../../mol/link/link.view.css.ts","../../../mol/svg/svg.view.tree","../../../mol/state/time/time.ts","../../../mol/svg/svg.view.ts","../../../mol/svg/root/root.view.tree","../../../mol/svg/root/-css/root.view.css.ts","../../../mol/svg/path/path.view.tree","../../../mol/icon/icon.view.tree","../../../mol/icon/-css/icon.view.css.ts","../../../mol/icon/script/script.view.tree","../../../mol/icon/script/text/text.view.tree","../../../mol/locale/locale.ts","../../../mol/link/source/source.view.tree","../../../localized_string","../../../mol/speck/speck.view.tree","../../../mol/speck/-css/speck.view.css.ts","../../../mol/button/button.view.tree","../../../mol/keyboard/code/code.ts","../../../mol/button/button.view.ts","../../../mol/button/-css/button.view.css.ts","../../../mol/button/typed/typed.view.tree","../../../mol/button/typed/-css/typed.view.css.ts","../../../mol/button/minor/minor.view.tree","../../../mol/button/minor/-css/minor.view.css.ts","../../../mol/check/check.view.tree","../../../mol/maybe/maybe.ts","../../../mol/check/-css/check.css.ts","../../../mol/check/check.view.ts","../../../mol/check/icon/icon.view.tree","../../../mol/check/icon/-css/icon.view.css.ts","../../../mol/icon/brightness/6/6.view.tree","../../../mol/lights/toggle/toggle.view.tree","../../../mol/lights/toggle/toggle.view.ts","../../../mol/icon/card/card.view.tree","../../../mol/icon/card/text/text.view.tree","../../../mol/icon/chart/bar/bar.view.tree","../../../mol/icon/play/play.view.tree","../../../mol/icon/play/circle/circle.view.tree","../../../mol/pop/pop.view.tree","../../../mol/pop/pop.view.ts","../../../mol/pop/-css/pop.view.css.ts","../../../mol/hotkey/hotkey.view.tree","../../../mol/hotkey/hotkey.view.ts","../../../mol/nav/nav.view.tree","../../../mol/nav/nav.view.ts","../../../mol/string/string.view.tree","../../../mol/string/string.view.ts","../../../mol/string/-css/string.view.css.ts","../../../mol/icon/close/close.view.tree","../../../mol/list/list.view.tree","../../../mol/support/css/css.ts","../../../mol/list/list.view.ts","../../../mol/list/-css/list.view.css.ts","../../../mol/paragraph/paragraph.view.tree","../../../mol/paragraph/paragraph.view.ts","../../../mol/paragraph/-css/paragraph.view.css.ts","../../../mol/dimmer/dimmer.view.tree","../../../mol/regexp/regexp.ts","../../../mol/dimmer/dimmer.view.ts","../../../mol/dimmer/-css/dimmer.view.css.ts","../../../mol/search/search.view.tree","../../../mol/search/search.view.ts","../../../mol/search/-css/search.view.css.ts","../../../mol/labeler/labeler.view.tree","../../../mol/labeler/-css/labeler.view.css.ts","../../../mol/form/field/field.view.tree","../../../mol/form/field/field.view.ts","../../../mol/form/field/-css/field.view.css.ts","../../../mol/pick/pick.view.tree","../../../mol/pick/pick.view.ts","../../../mol/pick/-css/pick.view.css.ts","../../../mol/icon/dots/vertical/vertical.view.tree","../../../mol/select/select.view.tree","../../../mol/match/text.ts","../../../mol/select/select.view.ts","../../../mol/select/-css/select.view.css.ts","../../../mol/icon/information/information.view.tree","../../../mol/icon/information/outline/outline.view.tree","../../../mol/icon/plus/plus.view.tree","../../../mol/page/page.view.tree","../../../mol/page/page.view.css.ts","../../../mol/stack/stack.view.tree","../../../mol/stack/-css/stack.view.css.ts","../../../mol/text/code/token/token.view.tree","../../../mol/text/code/token/token.view.css.ts","../../../mol/text/code/row/row.view.tree","../../../mol/syntax2/syntax2.ts","../../../mol/syntax2/md/md.ts","../../../mol/text/code/row/row.view.ts","../../../mol/text/code/row/row.view.css.ts","../../../mol/blob/blob.ts","../../../mol/icon/clipboard/clipboard.view.tree","../../../mol/icon/clipboard/outline/outline.view.tree","../../../mol/button/copy/copy.view.tree","../../../mol/html/encode/encode.ts","../../../mol/button/copy/copy.view.ts","../../../mol/text/code/code.view.tree","../../../mol/text/code/code.view.ts","../../../mol/text/code/code.view.css.ts","../../../mol/textarea/textarea.view.tree","../../../mol/textarea/textarea.view.ts","../../../mol/textarea/-css/textarea.view.css.ts","../../../mol/check/list/list.view.tree","../../../mol/check/list/list.view.ts","../../../mol/check/list/-css/list.view.css.ts","../../../mol/switch/switch.view.tree","../../../mol/state/session/session.ts","../../../mol/switch/switch.view.ts","../../../mol/deck/deck.view.tree","../../../mol/deck/deck.view.ts","../../../mol/embed/native/native.view.tree","../../../mol/promise/promise/promise.ts","../../../mol/wait/timeout/timeout.ts","../../../mol/embed/native/native.view.ts","../../../mol/embed/native/-css/native.view.css.ts","../../../mol/frame/frame.view.tree","../../../mol/frame/frame.view.ts","../../../mol/frame/frame.view.css.ts","../../../mol/svg/group/group.view.tree","../../../mol/vector/vector.ts","../../../mol/svg/title/title.view.tree","../../../mol/plot/graph/graph.view.tree","../../../mol/plot/graph/graph.view.ts","../../../mol/plot/graph/-css/graph.view.css.ts","../../../mol/plot/bar/bar.view.tree","../../../mol/plot/bar/bar.view.ts","../../../mol/plot/bar/-css/bar.view.css.ts","../../../mol/svg/rect/rect.view.tree","../../../mol/svg/rect/rect.view.ts","../../../mol/svg/text/text.view.tree","../../../mol/svg/text/text.view.ts","../../../mol/svg/text/-css/text.view.css.ts","../../../mol/plot/ruler/ruler.view.tree","../../../mol/math/round/expand/expand.ts","../../../mol/plot/ruler/ruler.view.ts","../../../mol/plot/ruler/-css/ruler.view.css.ts","../../../mol/plot/ruler/vert/vert.view.tree","../../../mol/plot/ruler/vert/vert.view.ts","../../../mol/plot/ruler/vert/-css/vert.view.css.ts","../../../mol/plot/ruler/hor/hor.view.tree","../../../mol/plot/ruler/hor/hor.view.ts","../../../mol/plot/ruler/hor/-css/hor.view.css.ts","../../../mol/plot/mark/hor/hor.view.tree","../../../mol/plot/mark/hor/hor.view.ts","../../../mol/plot/mark/hor/-css/hor.view.css.ts","../../../mol/svg/text/box/box.view.tree","../../../mol/font/canvas/canvas.ts","../../../mol/font/measure/measure.ts","../../../mol/svg/text/box/box.view.ts","../../../mol/svg/text/box/-css/box.view.css.ts","../../../mol/plot/mark/cross/cross.view.tree","../../../mol/plot/mark/cross/cross.view.ts","../../../mol/plot/mark/cross/-css/cross.view.css.ts","../../../mol/gallery/gallery.view.tree","../../../mol/gallery/gallery.view.ts","../../../mol/gallery/-css/gallery.view.css.ts","../../../mol/chart/legend/legend.view.tree","../../../mol/chart/legend/legend.view.ts","../../../mol/chart/legend/-css/legend.view.css.ts","../../../mol/touch/touch.view.tree","../../../mol/touch/touch.view.ts","../../../mol/plot/pane/pane.view.tree","../../../mol/plot/pane/pane.view.ts","../../../mol/plot/pane/-css/pane.view.css.ts","../../../mol/chart/chart.view.tree","../../../mol/chart/-css/chart.view.css.ts","../../../mol/icon/chevron/chevron.view.tree","../../../mol/check/expand/expand.view.tree","../../../mol/check/expand/expand.view.ts","../../../mol/check/expand/-css/expand.view.css.ts","../../../mol/dump/list/list.view.tree","../../../mol/dump/list/list.view.ts","../../../mol/dump/list/-css/list.view.css.ts","../../../mol/expander/expander.view.tree","../../../mol/expander/expander.view.ts","../../../mol/expander/-css/expander.view.css.ts","../../../mol/dump/value/value.view.tree","../../../mol/try/try.node.ts","../../../mol/dump/value/value.view.ts","../../../mol/dump/value/-css/value.view.css.ts","../../../mol/icon/key/key.view.tree","../../../mol/icon/key/change/change.view.tree","../../../mol/icon/atom/atom.view.tree","../../../mol/icon/atom/variant/variant.view.tree","../../../mol/icon/language/css3/css3.view.tree","../../../mol/icon/language/javascript/javascript.view.tree","../../../mol/ghost/ghost.view.tree","../../../mol/ghost/ghost.view.ts","../../../mol/icon/arrow/left/left.view.tree","../../../mol/icon/arrow/left/right/right.view.tree","../../../mol/icon/arrow/left/right/bold/bold.view.tree","../../../mol/icon/arrow/left/right/bold/outline/outline.view.tree","../../../mol/icon/arrow/left/bold/bold.view.tree","../../../mol/icon/arrow/left/bold/outline/outline.view.tree","../../../mol/icon/arrow/right/right.view.tree","../../../mol/icon/arrow/right/bold/bold.view.tree","../../../mol/icon/arrow/right/bold/outline/outline.view.tree","../../../mol/icon/trash/can/can.view.tree","../../../mol/icon/trash/can/outline/outline.view.tree","../../../hyoo/studio/type/type.view.tree","../../../mol/view/tree2/error.ts","../../../mol/view/tree2/child.ts","../../../mol/view/tree2/classes.ts","../../../mol/view/tree2/normalize.ts","../../../mol/view/tree2/prop/signature.ts","../../../mol/view/tree2/prop/parts.ts","../../../mol/view/tree2/prop/quote.ts","../../../mol/view/tree2/class/match.ts","../../../mol/view/tree2/class/super.ts","../../../mol/view/tree2/class/props.ts","../../../mol/view/tree2/value/type.ts","../../../mol/view/tree2/value/value.ts","../../../mol/view/tree2/value/number.ts","../../../hyoo/studio/type/type.view.ts","../../../hyoo/studio/type/type.view.css.ts","../../../hyoo/studio/value/value.view.tree","../../../hyoo/studio/value/value.view.ts","../../../hyoo/studio/value/value.view.css.ts","../../../hyoo/studio/value/bound/bound.view.tree","../../../hyoo/studio/value/bound/bound.view.ts","../../../hyoo/studio/value/bound/bound.view.css.ts","../../../hyoo/studio/value/list/list.view.tree","../../../hyoo/studio/value/list/list.view.ts","../../../hyoo/studio/value/list/list.view.css.ts","../../../hyoo/studio/value/dict/dict.view.tree","../../../hyoo/studio/value/dict/dict.view.ts","../../../hyoo/studio/value/dict/dict.view.css.ts","../../../mol/icon/wrench/wrench.view.tree","../../../mol/icon/wrench/outline/outline.view.tree","../../../hyoo/studio/value/object/object.view.tree","../../../hyoo/studio/value/object/object.view.ts","../../../hyoo/studio/value/object/object.view.css.ts","../../../mol/icon/translate/translate.view.tree","../../../hyoo/studio/value/string/string.view.tree","../../../hyoo/studio/value/string/string.view.ts","../../../hyoo/studio/value/string/string.view.css.ts","../../../mol/icon/minus/minus.view.tree","../../../mol/number/number.view.tree","../../../mol/number/-css/number.css.ts","../../../mol/number/number.view.ts","../../../hyoo/studio/value/number/number.view.tree","../../../hyoo/studio/value/number/number.view.ts","../../../hyoo/studio/value/number/number.view.css.ts","../../../hyoo/studio/prop/prop.view.tree","../../../hyoo/studio/prop/prop.view.ts","../../../hyoo/studio/prop/prop.view.css.ts","../../../hyoo/studio/component/component.ts","../../../mol/tag/tree/tree.view.tree","../../../mol/compare/text/text.ts","../../../mol/tag/tree/tree.view.ts","../../../mol/tag/tree/-css/tree.view.css.ts","../../../mol/app/demo/menu/menu.view.tree","../../../mol/app/demo/menu/menu.view.ts","../../../mol/app/demo/menu/-css/menu.view.css.ts","../../../mol/icon/forum/forum.view.tree","../../../mol/icon/forum/outline/outline.view.tree","../../../mol/icon/open/in/new/new.view.tree","../../../mol/chat/chat.view.tree","../../../mol/chat/chat.view.ts","../../../mol/chat/-css/chat.view.css.ts","../../../mol/icon/settings/settings.view.tree","../../../mol/app/demo/detail/detail.view.tree","../../../mol/example/example.view.tree","../../../mol/example/-css/example.view.css.ts","../../../mol/example/small/small.view.tree","../../../mol/example/small/-css/small.view.css.ts","../../../mol/example/large/large.view.tree","../../../mol/example/large/-css/large.view.css.ts","../../../mol/float/float.view.tree","../../../mol/float/-css/float.view.css.ts","../../../mol/grid/grid.view.tree","../../../mol/grid/grid.view.ts","../../../mol/grid/-css/grid.view.css.ts","../../../mol/image/image.view.tree","../../../mol/image/image.view.ts","../../../mol/image/-css/image.view.css.ts","../../../mol/link/iconed/iconed.view.tree","../../../mol/link/iconed/iconed.view.ts","../../../mol/link/iconed/-css/iconed.view.css.ts","../../../mol/icon/youtube/youtube.view.tree","../../../mol/embed/service/service.view.tree","../../../mol/embed/service/service.view.ts","../../../mol/embed/service/-css/service.view.css.ts","../../../mol/embed/youtube/youtube.view.tree","../../../mol/embed/youtube/youtube.view.ts","../../../mol/embed/rutube/rutube.view.tree","../../../mol/embed/rutube/rutube.view.ts","../../../mol/embed/any/any.view.tree","../../../mol/embed/any/any.view.ts","../../../mol/text/text/text.view.tree","../../../mol/text/text/text.view.ts","../../../mol/text/text/-css/text.view.css.ts","../../../mol/text/list/list.view.tree","../../../mol/text/list/-css/list.view.css.ts","../../../mol/app/demo/readme/readme.view.tree","../../../mol/dom/parse/parse.ts","../../../mol/fetch/fetch.ts","../../../mol/app/demo/readme/readme.view.ts","../../../mol/status/status.view.tree","../../../mol/status/status.view.ts","../../../mol/status/-css/status.view.css.ts","../../../mol/app/demo/demo.view.tree","../../../mol/func/is/class/class.ts","../../../mol/app/demo/main/main.view.tree","../../../mol/app/demo/main/main.view.ts","../../../mol/app/demo/demo.view.ts","../../../mol/app/demo/-css/demo.view.css.ts","../../../mol/row/row.view.tree","../../../mol/row/-css/row.view.css.ts","../../../mol/form/form.view.tree","../../../mol/form/form.view.ts","../../../mol/form/-css/form.view.css.ts","../../../hyoo/studio/property/property.ts","../../../hyoo/studio/studio.view.tree","../../../mol/after/work/work.ts","../../../mol/wait/rest/rest.ts","../../../mol/graph/graph.ts","../../../mol/wire/graph/graph.ts","../../../mol/tree2/text/to/string/string.ts","../../../mol/vlq/vlq.ts","../../../mol/tree2/text/to/sourcemap/sourcemap.ts","../../../mol/sourcemap/url/url.ts","../../../mol/sourcemap/dataurl/dataurl.ts","../../../mol/tree2/text/to/string/mapped/mapped.ts","../../../mol/tree2/js/to/text/text.ts","../../../mol/guard/defined.ts","../../../mol/view/tree2/to/js/js.ts","../../../mol/offline/offline.ts","../../../mol/offline/install/install.ts","../../../hyoo/studio/studio.view.ts","../../../hyoo/studio/studio.view.css.ts","../../../mol/test/test.test.ts","../../../mol/test/test.node.test.ts","../../../mol/fail/log/log.test.ts","../../../mol/func/name/name.test.ts","../../../mol/error/mix/mix.test.ts","../../../mol/log3/log3.test.ts","../../../mol/wire/sync/sync.test.ts","../../../mol/run/run.node.test.ts","../../../mol/jsx/jsx.ts","../../../mol/jsx/jsx.test.tsx","../../../mol/range2/range2.ts","../../../mol/range2/range2.test.ts","../../../mol/compare/deep/deep.test.tsx","../../../mol/assert/assert.ts","../../../mol/assert/assert.test.ts","../../../mol/delegate/delegate.test.ts","../../../mol/span/span.test.ts","../../../mol/tree2/tree2.test.ts","../../../mol/tree2/from/string/string.test.ts","../../../mol/tree2/from/json/json.test.ts","../../../mol/wire/pub/sub/sub.test.ts","../../../mol/after/mock/mock.test.ts","../../../mol/after/tick/tick.test.ts","../../../mol/wire/fiber/fiber.test.ts","../../../mol/after/timeout/timeout.test.ts","../../../mol/after/work/work.test.ts","../../../mol/wait/rest/rest.test.ts","../../../mol/wait/timeout/timeout.test.ts","../../../mol/wire/async/async.test.ts","../../../mol/object/object.test.ts","../../../mol/wire/solo/solo.test.ts","../../../mol/wire/plex/plex.test.ts","../../../mol/wire/probe/probe.test.ts","../../../mol/wrapper/wrapper.test.ts","../../../mol/memo/memo.test.ts","../../../mol/key/key.test.tsx","../../../mol/after/frame/frame.test.ts","../../../mol/wire/log/log.ts","../../../mol/wire/atom/atom.test.ts","../../../mol/const/const.test.ts","../../../mol/view/view/view.test.ts","../../../mol/style/sheet/sheet.test.ts","../../../mol/charset/decode/decode.test.ts","../../../mol/charset/encode/encode.test.ts","../../../mol/compare/array/array.test.ts","../../../mol/state/local/local.test.ts","../../../mol/state/local/local.mock.test.ts","../../../mol/locale/locale.test.ts","../../../mol/button/button.test.ts","../../../mol/maybe/maybe.test.ts","../../../mol/regexp/regexp.test.ts","../../../mol/dimmer/dimmer.test.ts","../../../mol/syntax2/md/md.test.ts","../../../mol/state/session/session.test.ts","../../../mol/vector/vector.test.ts","../../../mol/try/try.test.ts","../../../mol/view/tree2/prop/parts.test.ts","../../../mol/view/tree2/class/props.test.ts","../../../hyoo/studio/component/component.test.ts","../../../mol/compare/text/text.test.ts","../../../mol/func/is/class/class.test.ts","../../../hyoo/studio/property/property.test.ts","../../../mol/graph/graph.test.ts","../../../mol/vlq/vlq.test.ts","../../../mol/tree2/text/to/sourcemap/sourcemap.test.ts","../../../mol/data/setup/setup.ts","../../../mol/data/setup/setup.test.ts","../../../mol/data/pipe/pipe.ts","../../../mol/data/pipe/pipe.test.ts","../../../mol/tree2/js/to/text/text.test.ts","../../../mol/view/tree2/to/js/test/ex/array_slot.view.tree","../../../mol/view/tree2/to/js/test/ex/simple_nan.view.tree","../../../mol/view/tree2/to/js/test/ex/structural.view.tree","../../../mol/view/tree2/to/js/test/ex/array_union.view.tree","../../../mol/view/tree2/to/js/test/ex/array_number.view.tree","../../../mol/view/tree2/to/js/test/ex/bidi_indexed.view.tree","../../../mol/view/tree2/to/js/test/ex/array_boolean.view.tree","../../../mol/view/tree2/to/js/test/ex/array_indexed.view.tree","../../../mol/view/tree2/to/js/test/ex/bidi_chaining.view.tree","../../../mol/view/tree2/to/js/test/ex/bidi_fallback.view.tree","../../../mol/view/tree2/to/js/test/ex/left_chaining.view.tree","../../../mol/view/tree2/to/js/test/ex/right_indexed.view.tree","../../../mol/view/tree2/to/js/test/ex/simple_string.view.tree","../../../mol/view/tree2/to/js/test/ex/left_read_only.view.tree","../../../mol/view/tree2/to/js/test/ex/right_hierarchy.view.tree","../../../mol/view/tree2/to/js/test/ex/right_read_only.view.tree","../../../mol/view/tree2/to/js/test/ex/structural_dict.view.tree","../../../mol/view/tree2/to/js/test/ex/array_with_types.view.tree","../../../mol/view/tree2/to/js/test/ex/array_inheritance.view.tree","../../../mol/view/tree2/to/js/test/ex/bidi_legacy_value.view.tree","../../../mol/view/tree2/to/js/test/ex/simple_typed_null.view.tree","../../../mol/view/tree2/to/js/test/ex/bidi_in_dictionary.view.tree","../../../mol/view/tree2/to/js/test/ex/right_in_left_bind.view.tree","../../../mol/view/tree2/to/js/test/ex/simple_empty_class.view.tree","../../../mol/view/tree2/to/js/test/ex/simple_two_classes.view.tree","../../../mol/view/tree2/to/js/test/ex/simple_factory_props.view.tree","../../../mol/view/tree2/to/js/test/ex/simple_default_indexed.view.tree","../../../mol/view/tree2/to/js/test/ex/structural_complex_key.view.tree","../../../mol/view/tree2/to/js/test/ex/array_constructor_tuple.view.tree","../../../mol/view/tree2/to/js/test/ex/left_second_level_index.view.tree","../../../mol/view/tree2/to/js/test/ex/structural_quoted_props.view.tree","../../../mol/view/tree2/to/js/test/ex/structural_spread_other.view.tree","../../../mol/view/tree2/to/js/test/ex/array_of_array_or_object.view.tree","../../../mol/view/tree2/to/js/test/ex/bidi_localized_in_object.view.tree","../../../mol/view/tree2/to/js/test/ex/bidi_with_default_object.view.tree","../../../mol/view/tree2/to/js/test/ex/left_in_array_and_object.view.tree","../../../mol/view/tree2/to/js/test/ex/bidi_indexed_second_level.view.tree","../../../mol/view/tree2/to/js/test/ex/array_spread_other_channel.view.tree","../../../mol/view/tree2/to/js/test/ex/structural_with_inheritance.view.tree","../../../mol/view/tree2/to/js/test/ex/bidi_localized_default_value.view.tree","../../../mol/view/tree2/to/js/test/ex/simple_mutable_and_read_only.view.tree","../../../mol/view/tree2/to/js/test/ex/structural_localized_prop_value.view.tree","../../../mol/view/tree2/to/js/test/ex/left_with_separate_default_and_comment.view.tree","../../../mol/view/tree2/to/js/test/ex/bidi_with_separate_default_in_right_part.view.tree","../../../mol/view/tree2/to/js/test/ex/bidi_doubing_right_part_with_same_default.view.tree","../../../mol/view/tree2/to/js/test/ex/klass.ts","../../../mol/view/tree2/to/js/test/ex/right_hierarchy_bar.ts","../../../mol/view/tree2/to/js/test/run.test.ts","../../../mol/view/tree2/to/js/test/js.bidi.test.ts","../../../mol/view/tree2/to/js/test/js.left.test.ts","../../../mol/view/tree2/to/js/test/js.array.test.ts","../../../mol/view/tree2/to/js/test/js.right.test.ts","../../../mol/view/tree2/to/js/test/js.simple.test.ts","../../../mol/view/tree2/to/js/test/js.structural.test.ts"],"names":[],"mappings":"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","sourcesContent":["Error.stackTraceLimit = 50;\n\ndeclare let _$_: { new(): {} } & typeof globalThis\ndeclare class $ extends _$_ {}\n\nnamespace $ {\n\texport type $ = typeof $$\n\texport declare class $$ extends $ {}\n\tnamespace $$ {\n\t\texport type $$ = $\n\t}\n}\n\nmodule.exports = $\n","namespace $ {\n\n\texport const $mol_ambient_ref : unique symbol = Symbol( '$mol_ambient_ref' )\n\n\t/** @deprecated use $ instead */\n\texport type $mol_ambient_context = $\n\n\texport function $mol_ambient( this : $ | void , overrides : Partial< $ > ) : $ {\n\t\treturn Object.setPrototypeOf( overrides , this || $ )\n\t}\n\n}\n","namespace $ {\n\n\tconst instances = new WeakSet< any >()\n\n\t/**\n\t * Proxy that delegates all to lazy returned target.\n\t * \n\t * \t$mol_delegate( Array.prototype , ()=> fetch_array() )\n\t */\n export function $mol_delegate< Value extends object >(\n\t\tproto : Value ,\n\t\ttarget : ()=> Value ,\n\t) {\n\n\t\tconst proxy = new Proxy( proto , {\n\n\t\t\tget: ( _ , field )=> {\n\t\t\t\tconst obj = target()\n\t\t\t\tlet val = Reflect.get( obj , field )\n\t\t\t\tif( typeof val === 'function' ) {\n\t\t\t\t\tval = val.bind( obj )\n\t\t\t\t} \n\t\t\t\treturn val\n\t\t\t},\n\t\t\thas: ( _ , field )=> Reflect.has( target(), field ),\n\t\t\tset: ( _ , field , value )=> Reflect.set( target() , field , value ),\n\t\t\t\n\t\t\tgetOwnPropertyDescriptor: ( _ , field )=> Reflect.getOwnPropertyDescriptor( target() , field ),\n\t\t\townKeys: ()=> Reflect.ownKeys( target() ),\n\t\t\t\n\t\t\tgetPrototypeOf: ()=> Reflect.getPrototypeOf( target() ),\n\t\t\tsetPrototypeOf: ( _ , donor )=> Reflect.setPrototypeOf( target() , donor ),\n\t\t\t\n\t\t\tisExtensible: ()=> Reflect.isExtensible( target() ),\n\t\t\tpreventExtensions: ()=> Reflect.preventExtensions( target() ),\n\t\t\t\n\t\t\tapply: ( _ , self , args )=> Reflect.apply( target() as Function , self , args ),\n\t\t\tconstruct: ( _ , args , retarget )=> Reflect.construct( target() as Function , args , retarget ),\n\t\t\t\n\t\t\tdefineProperty: ( _ , field , descr )=> Reflect.defineProperty( target() , field , descr ),\n\t\t\tdeleteProperty: ( _ , field )=> Reflect.deleteProperty( target() , field ),\n\n\t\t} )\n\n\t\tinstances.add( proxy )\n\n\t\treturn proxy\n\n\t}\n\n\tReflect.defineProperty(\n\t\t$mol_delegate ,\n\t\tSymbol.hasInstance ,\n\t\t{\n\t\t\tvalue : ( obj : object )=> instances.has( obj ),\n\t\t},\n\t)\n\n}\n","namespace $ {\n\n\texport const $mol_owning_map = new WeakMap< any , any >()\n\n\texport function $mol_owning_allow< Having >(\n\t\thaving : Having ,\n\t) : having is Having & {\n\t\tdestructor() : void\n\t} {\n\t\ttry {\n\t\t\tif( !having ) return false\n\t\t\tif( typeof having !== 'object' && typeof having !== 'function' ) return false\n\t\t\tif( having instanceof $mol_delegate ) return false\n\t\t\tif( typeof (having as any)['destructor'] !== 'function' ) return false\n\t\t\treturn true\n\t\t} catch {\n\t\t\treturn false\n\t\t}\n\t}\n\n\texport function $mol_owning_get< Having , Owner extends object >( having : Having , Owner? : { new() : Owner } ) : Owner | null {\n\t\n\t\tif( !$mol_owning_allow( having ) ) return null\n\n\t\twhile( true ) {\n\n\t\t\tconst owner = $mol_owning_map.get( having )\n\t\t\tif( !owner ) return owner\n\t\t\tif( !Owner ) return owner\n\t\t\t\n\t\t\tif( owner instanceof Owner ) return owner\n\n\t\t\thaving = owner\n\t\t}\n\n\t}\n\t\n\texport function $mol_owning_check< Owner , Having >(\n\t\towner : Owner ,\n\t\thaving : Having ,\n\t) : having is Having & { destructor() : void } {\n\t\tif( !$mol_owning_allow( having ) ) return false\n\t\tif( $mol_owning_map.get( having ) !== owner ) return false\n\t\treturn true\n\t}\n\t\n\texport function $mol_owning_catch< Owner , Having >(\n\t\towner : Owner ,\n\t\thaving : Having ,\n\t) {\n\t\tif( !$mol_owning_allow( having ) ) return false\n\t\tif( $mol_owning_map.get( having ) ) return false\n\n\t\t$mol_owning_map.set( having , owner )\n\t\treturn true\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_fail( error : any ) : never {\n\t\tthrow error\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_fail_hidden( error : any ) : never {\n\t\tthrow error /// Use 'Never Pause Here' breakpoint in DevTools or simply blackbox this script\n\t}\n\n}\n","namespace $ {\n\t\n\tconst named = new WeakSet< Function >()\n\t\n\texport function $mol_func_name( this : $ , func : Function ) : string {\n\t\t\n\t\tlet name = func.name\n\t\tif( name?.length > 1 ) return name\n\t\tif( named.has( func ) ) return name\n\n\t\tfor( let key in this ) {\n\t\t\ttry {\n\t\t\t\tif( (this as any)[ key ] !== func ) continue\n\t\t\t\tname = key\n\t\t\t\tObject.defineProperty( func , 'name' , { value : name } )\n\t\t\t\tbreak\n\t\t\t} catch {}\n\t\t}\n\n\t\tnamed.add( func )\n\t\treturn name\n\t\t\n\t}\n\n\texport function $mol_func_name_from< Target extends Function >( target : Target , source : Function ) {\n\t\tObject.defineProperty( target , 'name' , { value : source.name } )\n\t\treturn target\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_object2 {\n\t\t\n\t\tstatic $ = $ as any as $\n\t\t\n\t\t[Symbol.toStringTag]!: string\n\n\t\t[ $mol_ambient_ref ] = null as any as $\n\t\tget $() {\n\t\t\tif( this[ $mol_ambient_ref ] ) return this[ $mol_ambient_ref ]\n\t\t\tconst owner = $mol_owning_get( this ) as any\n\t\t\treturn this[ $mol_ambient_ref ] = owner?.$ || $mol_object2.$ as $\n\t\t}\n\t\tset $( next : $ ) {\n\t\t\tif( this[ $mol_ambient_ref ] ) $mol_fail_hidden( new Error( 'Context already defined' ) )\n\t\t\tthis[ $mol_ambient_ref ] = next\n\t\t}\n\n\t\tpublic static create< Instance >(\n\t\t\tthis : new( init? : ( instance : any )=> void )=> Instance ,\n\t\t\tinit? : ( instance : $mol_type_writable )=> void\n\t\t) : Instance {\n\t\t\tconst obj = new this\n\t\t\tif( init ) init( obj )\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\tstatic [ Symbol.toPrimitive ]() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tstatic toString() {\n\t\t\treturn ( this as any )[ Symbol.toStringTag ] || this.$.$mol_func_name( this )\n\t\t}\n\t\t\n\t\tstatic toJSON() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tdestructor() { }\n\t\tstatic destructor() { }\n\t\t\n\t\t//[ Symbol.toPrimitive ]( hint: string ) {\n\t\t//\treturn hint === 'number' ? this.valueOf() : this.toString()\n\t\t//}\n\t\t\n\t\ttoString(): string {\n\t\t\treturn this[ Symbol.toStringTag ] || this.constructor.name + '<>'\n\t\t}\n\t\t\n\t\t// toJSON(): any {\n\t\t// \treturn this.toString()\n\t\t// }\n\n\t}\n}\n","namespace $ {\n\n\texport namespace $$ { let $ }\n\n\texport const $mol_object_field = Symbol( '$mol_object_field' )\n\t\n\texport class $mol_object extends $mol_object2 {\n\t\t\n\t\tpublic static make< This extends typeof $mol_object >(\n\t\t\tthis: This,\n\t\t\tconfig: Partial< InstanceType< This > >,\n\t\t) {\n\t\t\treturn super.create( obj => {\n\t\t\t\tfor( let key in config ) ( obj as any )[ key ] = config[ key ]!\n\t\t\t} ) as InstanceType< This >\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\texport class $mol_window extends $mol_object {\n\t\t\n\t\tstatic size() {\n\t\t\treturn {\n\t\t\t\twidth: 1024,\n\t\t\t\theight: 768,\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/** Special status statuses. */\n\texport enum $mol_wire_cursor {\n\t\t\n\t\t/** Update required. */\n\t\tstale = -1,\n\t\t\n\t\t/** Some of (transitive) pub update required. */\n\t\tdoubt = -2,\n\t\t\n\t\t/** Actual state but may be dropped. */\n\t\tfresh = -3,\n\t\t\n\t\t/** State will never be changed. */\n\t\tfinal = -4,\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/**\n\t * Collects subscribers in compact array. 28B\n\t */\n\texport class $mol_wire_pub extends Object {\n\t\t\n\t\tdata = [] as unknown[]\n\t\t\n\t\t// Derived objects should be Arrays.\n\t\tstatic get [ Symbol.species ]() {\n\t\t\treturn Array\n\t\t}\n\t\t\n\t\t/**\n\t\t * Index of first subscriber.\n\t\t */\n\t\tprotected sub_from = 0 // 4B\n\t\t\n\t\t/**\n\t\t * All current subscribers.\n\t\t */\n\t\tget sub_list() {\n\t\t\tconst res = [] as $mol_wire_sub[]\n\t\t\tfor( let i = this.sub_from; i < this.data.length; i += 2 ) {\n\t\t\t\tres.push( this.data[i] as $mol_wire_sub )\n\t\t\t}\n\t\t\treturn res as readonly $mol_wire_sub[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * Has any subscribers or not.\n\t\t */\n\t\tget sub_empty() {\n\t\t\treturn this.sub_from === this.data.length\n\t\t}\n\t\t\n\t\t/**\n\t\t * Subscribe subscriber to this publisher events and return position of subscriber that required to unsubscribe.\n\t\t */\n\t\tsub_on( sub: $mol_wire_pub, pub_pos: number ) {\n\t\t\tconst pos = this.data.length\n\t\t\tthis.data.push( sub, pub_pos )\n\t\t\treturn pos\n\t\t}\n\t\t\n\t\t/**\n\t\t * Unsubscribe subscriber from this publisher events by subscriber position provided by `on(pub)`.\n\t\t */\n\t\tsub_off( sub_pos: number ) {\n\t\t\t\n\t\t\tif(!( sub_pos < this.data.length )) {\n\t\t\t\t$mol_fail( new Error( `Wrong pos ${ sub_pos }` ) )\n\t\t\t}\n\t\t\t\n\t\t\tconst end = this.data.length - 2\n\t\t\tif( sub_pos !== end ) {\n\t\t\t\tthis.peer_move( end, sub_pos )\n\t\t\t}\n\t\t\t\n\t\t\tthis.data.pop()\n\t\t\tthis.data.pop()\n\t\t\t\n\t\t\tif( this.data.length === this.sub_from ) this.reap()\n\t\t\t\n\t\t}\n\t\t\n\t\t/**\n\t\t * Called when last sub was unsubscribed.\n\t\t **/\n\t\treap() { }\n\t\t\n\t\t/**\n\t\t * Autowire this publisher with current subscriber.\n\t\t **/\n\t\tpromote() {\n\t\t\t$mol_wire_auto()?.track_next( this )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Enforce actualization. Should not throw errors.\n\t\t */\n\t\tfresh() {}\n\t\t\n\t\t/**\n\t\t * Allow to put data to caches in the subtree.\n\t\t */\n\t\tcomplete() {}\n\t\t\n\t\tget incompleted() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * Notify subscribers about self changes.\n\t\t */\n\t\temit( quant = $mol_wire_cursor.stale ) {\n\t\t\tfor( let i = this.sub_from; i < this.data.length; i += 2 ) {\n\t\t\t\t;( this.data[i] as $mol_wire_sub ).absorb( quant )\n\t\t\t}\n\t\t}\n\t\t\n\t\t/**\n\t\t * Moves peer from one position to another. Doesn't clear data at old position!\n\t\t */\n\t\tpeer_move( from_pos: number, to_pos: number ) {\n\t\t\t\n\t\t\tconst peer = this.data[ from_pos ] as $mol_wire_pub\n\t\t\tconst self_pos = this.data[ from_pos + 1 ] as number\n\t\t\t\n\t\t\tthis.data[ to_pos ] = peer\n\t\t\tthis.data[ to_pos + 1 ] = self_pos\n\t\t\t\n\t\t\tpeer.peer_repos( self_pos, to_pos )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Updates self position in the peer.\n\t\t */\n\t\tpeer_repos( peer_pos: number, self_pos: number ) {\n\t\t\tthis.data[ peer_pos + 1 ] = self_pos\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport let $mol_wire_auto_sub: $mol_wire_sub | null = null\n\t\n\t/**\n\t * When fulfilled, all publishers are promoted to this subscriber on access to its.\n\t */\n\texport function $mol_wire_auto( next = $mol_wire_auto_sub ) {\n\t\treturn $mol_wire_auto_sub = next\n\t}\n\t\n\t/**\n\t * Affection queue. Used to prevent accidental stack overflow on emit.\n\t */\n\texport const $mol_wire_affected = [] as ( $mol_wire_sub | number )[]\n\t\n}\n","namespace $ {\n\n\t// https://docs.google.com/document/d/1FTascZXT9cxfetuPRT2eXPQKXui4nWFivUnS_335T3U/preview#\n\t($ as any)['devtoolsFormatters'] ||= []\n\n\texport function $mol_dev_format_register( config : {\n\t\theader : ( val : any , config : any )=> any\n\t\thasBody : ( val : any , config : any )=> false\n\t} | {\n\t\theader : ( val : any , config : any )=> any\n\t\thasBody : ( val : any , config : any )=> boolean\n\t\tbody : ( val : any , config : any )=> any\n\t} ) {\n\t\t($ as any)['devtoolsFormatters'].push( config )\n\t}\n\n\texport let $mol_dev_format_head = Symbol( '$mol_dev_format_head' )\n\texport let $mol_dev_format_body = Symbol( '$mol_dev_format_body' )\n\n\t$mol_dev_format_register({\n\n\t\theader : ( val : any , config = false ) => {\n\t\t\t\n\t\t\tif( config ) return null\n\n\t\t\tif( !val ) return null\n\t\t\t\n\t\t\tif( $mol_dev_format_head in val ) {\n\t\t\t\ttry {\n\t\t\t\t\treturn val[ $mol_dev_format_head ]()\n\t\t\t\t} catch( error ) {\n\t\t\t\t\treturn $mol_dev_format_accent( $mol_dev_format_native( val ), '💨', $mol_dev_format_native( error ), '' )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tif( typeof val === 'function' ) {\n\t\t\t\treturn $mol_dev_format_native( val )\n\t\t\t}\n\t\t\t\n\t\t\tif( Symbol.toStringTag in val ) {\n\t\t\t\treturn $mol_dev_format_native( val )\n\t\t\t}\n\t\t\t\n\t\t\treturn null\n\t\t\t\n\t\t} ,\n\t\t\n\t\thasBody : val => val[ $mol_dev_format_body ] ,\n\n\t\tbody : val => val[ $mol_dev_format_body ]() ,\n\n\t})\n\n\texport function $mol_dev_format_native( obj : any ) {\n\t\t\n\t\tif( typeof obj === 'undefined' ) return $mol_dev_format_shade( 'undefined' )\n\t\t\n\t\t// if( ![ 'object', 'function', 'symbol' ].includes( typeof obj ) ) return obj\n\n\t\treturn [\n\t\t\t'object' ,\n\t\t\t{\n\t\t\t\tobject : obj ,\n\t\t\t\tconfig : true ,\n\t\t\t} ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_auto( obj : any ) {\n\t\t\n\t\tif( obj == null ) return $mol_dev_format_shade( String( obj ) )\n\n\t\treturn [\n\t\t\t'object' ,\n\t\t\t{\n\t\t\t\tobject : obj ,\n\t\t\t\tconfig : false ,\n\t\t\t} ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_element( element : string , style : object , ...content : any[] ) {\n\t\t\t\n\t\tconst styles = [] as string[]\n\t\t\n\t\tfor( let key in style ) styles.push( `${ key } : ${ (style as any)[key] }` )\n\t\t\n\t\treturn [\n\t\t\telement ,\n\t\t\t{\n\t\t\t\tstyle : styles.join( ' ; ' ) ,\n\t\t\t} ,\n\t\t\t... content ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_span( style : object , ...content : any[] ) {\n\t\treturn $mol_dev_format_element(\n\t\t\t'span' ,\n\t\t\t{\n\t\t\t\t// 'vertical-align' : '8%',\n\t\t\t\t... style ,\n\t\t\t} ,\n\t\t\t... content ,\n\t\t)\n\t}\n\n\texport let $mol_dev_format_div = $mol_dev_format_element.bind( null , 'div' )\n\texport let $mol_dev_format_ol = $mol_dev_format_element.bind( null , 'ol' )\n\texport let $mol_dev_format_li = $mol_dev_format_element.bind( null , 'li' )\n\texport let $mol_dev_format_table = $mol_dev_format_element.bind( null , 'table' )\n\texport let $mol_dev_format_tr = $mol_dev_format_element.bind( null , 'tr' )\n\texport let $mol_dev_format_td = $mol_dev_format_element.bind( null , 'td' )\n\n\texport let $mol_dev_format_accent = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'magenta' ,\n\t} )\n\n\texport let $mol_dev_format_strong = $mol_dev_format_span.bind( null , {\n\t\t'font-weight' : 'bold' ,\n\t} )\n\n\texport let $mol_dev_format_string = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'green',\n\t} )\n\n\texport let $mol_dev_format_shade = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'gray',\n\t} )\n\n\texport let $mol_dev_format_indent = $mol_dev_format_div.bind( null , {\n\t\t'margin-left': '13px'\n\t} )\n\n}\n","namespace $ {\n\t\n\t/**\n\t * Publisher that can auto collect other publishers. 32B\n\t * \n\t * \tP1 P2 P3 P4 S1 S2 S3\n\t * \t^ ^\n\t * \tpubs_from subs_from\n\t */\n\texport class $mol_wire_pub_sub extends $mol_wire_pub implements $mol_wire_sub {\n\t\t\n\t\tprotected pub_from = 0 // 4B\n\t\tprotected cursor = $mol_wire_cursor.stale // 4B\n\t\t\n\t\tget temp() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\tget pub_list() {\n\t\t\tconst res = [] as $mol_wire_pub[]\n\t\t\tconst max = this.cursor >=0 ? this.cursor : this.sub_from\n\t\t\tfor( let i = this.pub_from; i < max; i += 2 ) {\n\t\t\t\tif( this.data[i] ) res.push( this.data[i] as $mol_wire_pub )\n\t\t\t}\n\t\t\treturn res\n\t\t}\n\t\t\n\t\ttrack_on() {\n\t\t\tthis.cursor = this.pub_from\n\t\t\tconst sub = $mol_wire_auto()\n\t\t\t$mol_wire_auto( this )\n\t\t\treturn sub\n\t\t}\n\t\t\n\t\tpromote() {\n\t\t\t\n\t\t\tif( this.cursor >= this.pub_from ) {\n\t\t\t\t$mol_fail( new Error( 'Circular subscription' ) )\n\t\t\t}\n\t\t\t\n\t\t\tsuper.promote()\n\t\t}\n\t\t\n\t\ttrack_next( pub?: $mol_wire_pub ): $mol_wire_pub | null {\n\t\t\t\n\t\t\tif( this.cursor < 0 ) $mol_fail( new Error( 'Promo to non begun sub' ) )\n\t\t\t\n\t\t\tif( this.cursor < this.sub_from ) {\n\t\t\t\n \t\t\t\tconst next = this.data[ this.cursor ] as $mol_wire_pub | undefined\n\t\t\t\tif( pub === undefined ) return next ?? null\n\t\t\t\t\n\t\t\t\tif( next === pub ) {\n\t\t\t\t\tthis.cursor += 2\n\t\t\t\t\treturn next\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( next ) {\n\t\t\t\t\t\n\t\t\t\t\tif( this.sub_from < this.data.length ) {\n\t\t\t\t\t\tthis.peer_move( this.sub_from, this.data.length )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tthis.peer_move( this.cursor, this.sub_from )\n\t\t\t\t\tthis.sub_from += 2\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tif( pub === undefined ) return null\n\t\t\t\t\n\t\t\t\tif( this.sub_from < this.data.length ) {\n\t\t\t\t\tthis.peer_move( this.sub_from, this.data.length )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis.sub_from += 2\n\t\t\t\t\n\t\t\t}\t\t\t\n\t\t\t\n\t\t\tthis.data[ this.cursor ] = pub\n\t\t\tthis.data[ this.cursor + 1 ] = pub.sub_on( this, this.cursor )\n\t\t\t\n\t\t\tthis.cursor += 2\n\t\t\t\n\t\t\treturn pub\n\t\t}\n\t\t\n\t\ttrack_off( sub: $mol_wire_sub | null ) {\n\t\t\t\n\t\t\t$mol_wire_auto( sub )\n\t\t\t\n\t\t\tif( this.cursor < 0 ) {\n\t\t\t\t$mol_fail( new Error( 'End of non begun sub' ) )\n\t\t\t}\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\tcursor < this.cursor;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub\n\t\t\t\tpub.fresh()\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\n\t\t}\n\t\t\n\t\tpub_off( sub_pos: number ) {\n\t\t\tthis.data[ sub_pos ] = undefined as any\n\t\t\tthis.data[ sub_pos + 1 ] = undefined as any \n\t\t}\n\t\t\n\t\tdestructor() {\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.data.length - 2;\n\t\t\t\tcursor >= this.sub_from;\n\t\t\t\tcursor -= 2\n\t\t\t) {\n\t\t\t\tconst sub = this.data[ cursor ] as $mol_wire_sub\n\t\t\t\tconst pos = this.data[ cursor + 1 ] as number\n\t\t\t\tsub.pub_off( pos )\n\t\t\t\tthis.data.pop()\n\t\t\t\tthis.data.pop()\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = this.pub_from\n\t\t\tthis.track_cut()\n\t\t\tthis.cursor = $mol_wire_cursor.final\n\t\t\t\n\t\t}\n\t\t\n\t\ttrack_cut() {\n\t\t\t\n\t\t\tif( this.cursor < this.pub_from ) {\n\t\t\t\t$mol_fail( new Error( 'Cut of non begun sub' ) )\n\t\t\t}\n\t\t\t\n\t\t\tlet tail = 0\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.cursor;\n\t\t\t\tcursor < this.sub_from;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\t\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub | undefined\n\t\t\t\tpub?.sub_off( this.data[ cursor + 1 ] as number )\n\t\t\t\t\n\t\t\t\tif( this.sub_from < this.data.length ) {\n\t\t\t\t\tthis.peer_move( this.data.length - 2, cursor )\n\t\t\t\t\tthis.data.pop()\n\t\t\t\t\tthis.data.pop()\n\t\t\t\t} else {\n\t\t\t\t\t++ tail\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tfor(; tail; -- tail ) {\n\t\t\t\tthis.data.pop()\n\t\t\t\tthis.data.pop()\n\t\t\t}\n\t\t\t\n\t\t\tthis.sub_from = this.cursor\n\t\t\t\n\t\t}\n\t\t\n\t\tcomplete() { }\n\t\t\n\t\tcomplete_pubs() {\n\t\t\t\n\t\t\tconst limit = this.cursor < 0 ? this.sub_from : this.cursor \n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\tcursor < limit;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub\n\t\t\t\tif( pub?.incompleted ) return \n\t\t\t}\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\tcursor < limit;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub\n\t\t\t\tpub?.complete()\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tabsorb( quant = $mol_wire_cursor.stale ) {\n\t\t\t\n\t\t\tif( this.cursor === $mol_wire_cursor.final ) return\n\t\t\tif( this.cursor >= quant ) return\n\t\t\t\n\t\t\tthis.cursor = quant\n\t\t\tthis.emit( $mol_wire_cursor.doubt )\n\t\t\t\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_native( this )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Is subscribed to any publisher or not.\n\t\t */\n\t\tget pub_empty() {\n\t\t\treturn this.sub_from === this.pub_from\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_after_tick extends $mol_object2 {\n\n\t\tstatic promise = null as Promise | null\n\t\tcancelled = false\n\n\t\tconstructor(\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper()\n\t\t\t\n\t\t\tif( !$mol_after_tick.promise ) $mol_after_tick.promise = Promise.resolve().then( ()=> {\n\t\t\t\t$mol_after_tick.promise = null\n\t\t\t} )\n\t\t\t\n\t\t\t$mol_after_tick.promise.then( ()=> {\n\t\t\t\tif( this.cancelled ) return\n\t\t\t\ttask()\n\t\t\t} )\n\t\t\t\n\t\t}\n\n\t\tdestructor() {\n\t\t\tthis.cancelled = true\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_promise_like( val: any ): val is Promise {\n\t\ttry {\n\t\t\treturn val && typeof val === 'object' && 'then' in val && typeof val.then === 'function'\n\t\t} catch {\n\t\t\treturn false\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\tconst handled = new WeakSet< Promise< unknown > >()\n\t\n\t/**\n\t * Suspendable task with support both sync/async api.\n\t * \n\t * \tA1 A2 A3 A4 P1 P2 P3 P4 S1 S2 S3\n\t * \t^ ^ ^\n\t * \targs_from pubs_from subs_from\n\t **/\n\texport abstract class $mol_wire_fiber<\n\t\tHost,\n\t\tArgs extends readonly unknown[],\n\t\tResult,\n\t> extends $mol_wire_pub_sub {\n\t\n\t\tstatic warm = true\n\t\t\n\t\tstatic planning = new Set< $mol_wire_fiber< any, any, any > >()\n\t\tstatic reaping = new Set< $mol_wire_fiber< any, any, any > >()\n\t\t\n\t\tstatic plan_task: $mol_after_tick | null = null\n\t\tstatic plan() {\n\t\t\t\n\t\t\tif( this.plan_task ) return\n\t\t\t\n\t\t\tthis.plan_task = new $mol_after_tick( ()=> {\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tthis.sync()\n\t\t\t\t} finally {\n\t\t\t\t\t$mol_wire_fiber.plan_task = null\n\t\t\t\t}\n\n\t\t\t} )\n\t\t\t\n\t\t}\n\t\t\n\t\tstatic sync() {\n\t\t\t\n\t\t\t// Sync whole fiber graph\n\t\t\twhile( this.planning.size ) {\n\t\t\t\tfor( const fiber of this.planning ) {\n\t\t\t\t\tthis.planning.delete( fiber )\n\t\t\t\t\tif( fiber.cursor >= 0 ) continue\n\t\t\t\t\tif( fiber.cursor === $mol_wire_cursor.final ) continue\n\t\t\t\t\tfiber.fresh()\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t// Collect garbage\n\t\t\twhile( this.reaping.size ) {\n\t\t\t\t\n\t\t\t\tconst fibers = this.reaping\n\t\t\t\tthis.reaping = new Set\n\t\t\t\t\n\t\t\t\tfor( const fiber of fibers ) {\n\t\t\t\t\tif( !fiber.sub_empty ) continue\n\t\t\t\t\tfiber.destructor()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t[Symbol.toStringTag]!: string\n\n\t\tpublic cache: Result | Error | Promise< Result | Error > = undefined as any\n\t\t\n\t\tget args() {\n\t\t\treturn this.data.slice( 0 , this.pub_from ) as any as Args\n\t\t}\n\t\t\n\t\tresult() {\n\t\t\tif( $mol_promise_like( this.cache ) ) return\n\t\t\tif( this.cache instanceof Error ) return\n\t\t\treturn this.cache\n\t\t}\n\t\t\n\t\tget incompleted() {\n\t\t\treturn $mol_promise_like( this.cache )\n\t\t}\n\t\t\n\t\tfield() {\n\t\t\treturn this.task.name + '<>'\n\t\t}\n\t\t\n\t\tconstructor(\n\t\t\tid: string,\n\t\t\treadonly task: ( this : Host , ... args : Args )=> Result,\n\t\t\treadonly host?: Host,\n\t\t\targs?: Args\n\t\t) {\n\t\t\t\n\t\t\tsuper()\n\t\t\tif( args ) this.data.push( ... args )\n\t\t\tthis.pub_from = this.sub_from = args?.length ?? 0\n\t\t\tthis[ Symbol.toStringTag ] = id\n\t\t\t\n\t\t}\n\t\t\n\t\tplan() {\n\t\t\t$mol_wire_fiber.planning.add( this )\n\t\t\t$mol_wire_fiber.plan()\n\t\t\treturn this\n\t\t}\n\t\t\n\t\treap() {\n\t\t\t$mol_wire_fiber.reaping.add( this )\n\t\t\t$mol_wire_fiber.plan()\n\t\t}\n\t\t\n\t\ttoString() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\t\t\n\t\ttoJSON() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\n\t\t[ $mol_dev_format_head ]() {\n\t\t\t\n\t\t\tconst cursor = {\n\t\t\t\t[ $mol_wire_cursor.stale ]: '🔴',\n\t\t\t\t[ $mol_wire_cursor.doubt ]: '🟡',\n\t\t\t\t[ $mol_wire_cursor.fresh ]: '🟢',\n\t\t\t\t[ $mol_wire_cursor.final ]: '🔵',\n\t\t\t}[ this.cursor ] ?? this.cursor.toString()\n\t\t\t\n\t\t\treturn $mol_dev_format_div( {},\n\t\t\t\t$mol_owning_check( this, this.cache )\n\t\t\t\t\t? $mol_dev_format_auto({\n\t\t\t\t\t\t[ $mol_dev_format_head ]: ()=> $mol_dev_format_shade( cursor ),\n\t\t\t\t\t\t[ $mol_dev_format_body ]: ()=> $mol_dev_format_native( this ),\n\t\t\t\t\t})\n\t\t\t\t\t: $mol_dev_format_shade( $mol_dev_format_native( this ), cursor ),\n\t\t\t\t$mol_dev_format_auto( this.cache ),\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\tget $() {\n\t\t\treturn ( this.host ?? this.task as any )['$']\n\t\t}\n\t\t\n\t\temit( quant = $mol_wire_cursor.stale ) {\n\t\t\tif( this.sub_empty ) this.plan()\n\t\t\telse super.emit( quant )\n\t\t}\n\t\t\n\t\tfresh() {\n\n\t\t\ttype Result = typeof this.cache\n\t\t\t\n\t\t\tif( this.cursor === $mol_wire_cursor.fresh ) return\n\t\t\tif( this.cursor === $mol_wire_cursor.final ) return\n\t\t\t\n\t\t\tcheck: if( this.cursor === $mol_wire_cursor.doubt ) {\n\t\t\t\t\n\t\t\t\tfor( let i = this.pub_from ; i < this.sub_from; i += 2 ) {\n\t\t\t\t\t;( this.data[i] as $mol_wire_pub )?.fresh()\n\t\t\t\t\tif( this.cursor !== $mol_wire_cursor.doubt ) break check\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\treturn\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst bu = this.track_on()\n\t\t\tlet result: typeof this.cache\n\n\t\t\ttry {\n\n\t\t\t\tswitch( this.pub_from ) {\n\t\t\t\t\tcase 0: result = (this.task as any).call( this.host! ); break\n\t\t\t\t\tcase 1: result = (this.task as any).call( this.host!, this.data[0] ); break\n\t\t\t\t\tdefault: result = (this.task as any).call( this.host!, ... this.args ); break\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( $mol_promise_like( result ) && !handled.has( result ) ) {\n\t\t\t\t\t\n\t\t\t\t\tconst put = ( res: Result )=> {\n\t\t\t\t\t\tif( this.cache === result ) this.put( res )\n\t\t\t\t\t\treturn res\n\t\t\t\t\t}\n\t\t\t\t\tresult = result.then( put, put )\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t\n\t\t\t\tif( error instanceof Error || $mol_promise_like( error ) ) {\n\t\t\t\t\tresult = error\n\t\t\t\t} else {\n\t\t\t\t\tresult = new Error( String( error ), { cause: error } )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( $mol_promise_like( result ) && !handled.has( result ) ) {\n\t\t\t\t\t\n\t\t\t\t\tresult = result.finally( ()=> {\n\t\t\t\t\t\tif( this.cache === result ) this.absorb()\n\t\t\t\t\t} )\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( $mol_promise_like( result ) && !handled.has( result ) ) {\n\t\t\t\t\t\n\t\t\t\tresult = Object.assign( result, {\n\t\t\t\t\tdestructor: (result as any)['destructor'] ?? (()=> {})\n\t\t\t\t} )\n\t\t\t\thandled.add( result )\n\t\t\t\t\n\t\t\t\tconst error = new Error( `Promise in ${ this }` )\n\t\t\t\tObject.defineProperty( result, 'stack', { get: ()=> error.stack } )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( ! $mol_promise_like( result ) ) {\n\t\t\t\tthis.track_cut()\n\t\t\t}\n\t\t\t\n\t\t\tthis.track_off( bu )\n\t\t\tthis.put( result )\n\t\t\t\n\t\t\treturn this\n\t\t}\n\t\t\n\t\trefresh() {\n\t\t\tthis.cursor = $mol_wire_cursor.stale\n\t\t\tthis.fresh()\n\t\t}\n\t\t\n\t\tabstract put( next: Result | Error | Promise< Result | Error > ): Result | Error | Promise< Result | Error >\n\t\t\n\t\t/**\n\t\t * Synchronous execution. Throws Promise when waits async task (SuspenseAPI provider).\n\t\t * Should be called inside SuspenseAPI consumer (ie fiber).\n\t\t */\n\t\tsync() {\n\t\t\t\n\t\t\tif( !$mol_wire_fiber.warm ) {\n\t\t\t\treturn this.result() as Awaited< Result >\n\t\t\t}\n\t\t\t\n\t\t\tthis.promote()\n\t\t\tthis.fresh()\n\t\t\t\n\t\t\tif( this.cache instanceof Error ) {\n\t\t\t\treturn $mol_fail_hidden( this.cache )\n\t\t\t}\n\t\t\t\n\t\t\tif( $mol_promise_like( this.cache ) ) {\n\t\t\t\treturn $mol_fail_hidden( this.cache )\n\t\t\t}\n\t\t\t\n\t\t\treturn this.cache as Awaited< Result >\n\t\t}\n\n\t\t/**\n\t\t * Asynchronous execution.\n\t\t * It's SuspenseAPI consumer. So SuspenseAPI providers can be called inside.\n\t\t */\n\t\tasync async() {\n\t\t\t\n\t\t\twhile( true ) {\n\t\t\t\t\n\t\t\t\tthis.fresh()\n\t\t\t\t\n\t\t\t\tif( this.cache instanceof Error ) {\n\t\t\t\t\t$mol_fail_hidden( this.cache )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( ! $mol_promise_like( this.cache ) ) return this.cache\n\t\t\t\t\t\n\t\t\t\tawait Promise.race([ this.cache, this.step() ])\n\t\t\t\tif( ! $mol_promise_like( this.cache ) ) return this.cache\n\t\t\t\t\t\n\t\t\t\tif( this.cursor === $mol_wire_cursor.final ) {\n\t\t\t\t\t// never ends on destructed fiber\n\t\t\t\t\tawait new Promise( ()=> {} )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tstep() {\n\t\t\treturn new Promise< null >( done => {\n\t\t\t\tconst sub = new $mol_wire_pub_sub\n\t\t\t\tconst prev = sub.track_on()\n\t\t\t\tsub.track_next( this )\n\t\t\t\tsub.track_off( prev )\n\t\t\t\tsub.absorb = ()=> {\n\t\t\t\t\tdone( null )\n\t\t\t\t\tsetTimeout( ()=> sub.destructor() )\n\t\t\t\t}\n\t\t\t} )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Generates unique identifier. */\n\texport function $mol_guid(\n\t\tlength = 8,\n\t\texists: ( id: string )=> boolean = ()=> false,\n\t) {\n\n\t\tfor(;;) {\n\n\t\t\tlet id = Math.random().toString( 36 ).substring( 2, length + 2 ).toUpperCase()\n\t\t\tif( exists( id ) ) continue\n\t\t\t\n\t\t\treturn id\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\texport const $mol_key_store = new WeakMap< object, string >()\n\n\t/** Returns string key for any value. */\n\texport function $mol_key< Value >( value : Value ) : string {\n\t\t\n\t\tif( typeof value === 'bigint' ) return value.toString() + 'n'\n\t\tif( typeof value === 'symbol' ) return value.description!\n\t\tif( !value ) return JSON.stringify( value )\n\t\tif( typeof value !== 'object' && typeof value !== 'function' ) return JSON.stringify( value )\n\t\t\n\t\treturn JSON.stringify( value, ( field, value )=> {\n\t\t\t\n\t\t\tif( typeof value === 'bigint' ) return value.toString() + 'n'\n\t\t\tif( typeof value === 'symbol' ) return value.description\n\t\t\tif( !value ) return value\n\t\t\tif( typeof value !== 'object' && typeof value !== 'function' ) return value\n\t\t\tif( Array.isArray( value ) ) return value\n\t\t\t\n\t\t\tconst proto = Reflect.getPrototypeOf( value )\n\t\t\tif( !proto ) return value\n\t\t\tif( Reflect.getPrototypeOf( proto ) === null ) return value\n\t\t\t\n\t\t\tif( 'toJSON' in value ) return value\n\t\t\tif( value instanceof RegExp ) return value.toString()\n\t\t\tif( value instanceof Uint8Array ) return [ ... value ]\n\t\t\t\n\t\t\tlet key = $mol_key_store.get( value )\n\t\t\tif( key ) return key\n\t\t\t\n\t\t\tkey = $mol_guid()\n\t\t\t$mol_key_store.set( value, key )\n\t\t\t\n\t\t\treturn key\n\t\t} )\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_after_timeout extends $mol_object2 {\n\n\t\tid : any\n\n\t\tconstructor(\n\t\t\tpublic delay : number ,\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis.id = setTimeout( task , delay )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tclearTimeout( this.id )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_after_frame extends $mol_after_timeout {\n\n\t\tconstructor(\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper( 16 , task )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport let $mol_compare_deep_cache = new WeakMap< any , WeakMap< any , boolean > >()\n\t\n\t/**\n\t * Deeply compares two values. Returns true if equal.\n\t * Define `Symbol.toPrimitive` to customize.\n\t */\n\texport function $mol_compare_deep< Value >( left: Value, right: Value ): boolean {\n\n\t\tif( Object.is( left , right ) ) return true\n\n\t\tif( left === null ) return false\n\t\tif( right === null ) return false\n\n\t\tif( typeof left !== 'object' ) return false\n\t\tif( typeof right !== 'object' ) return false\n\n\t\tconst left_proto = Reflect.getPrototypeOf( left as any )\n\t\tconst right_proto = Reflect.getPrototypeOf( right as any )\n\t\t\n\t\tif( left_proto !== right_proto ) return false\n\n\t\tif( left instanceof Boolean ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof Number ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof String ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof Date ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof RegExp ) return left.source === (right as any).source && left.flags === (right as any).flags\n\t\tif( left instanceof Error ) return left.message === (right as any).message && left.stack === (right as any).stack\n\n\t\tlet left_cache = $mol_compare_deep_cache.get( left )\n\t\tif( left_cache ) {\n\n\t\t\tconst right_cache = left_cache.get( right )\n\t\t\tif( typeof right_cache === 'boolean' ) return right_cache\n\n\t\t} else {\n\t\t\t\n\t\t\tleft_cache = new WeakMap< any , boolean >()\n\t\t\t$mol_compare_deep_cache.set( left , left_cache )\n\n\t\t}\n\n\t\tleft_cache.set(right, true);\n\n\t\tlet result!: boolean\n\n\t\ttry {\n\t\t\t\n\t\t\tif( !left_proto ) result = compare_pojo( left, right as any )\n\t\t\telse if( !Reflect.getPrototypeOf( left_proto ) ) result = compare_pojo( left, right as any )\n\t\t\telse if( Symbol.toPrimitive in left ) result = compare_primitive( left, right )\n\t\t\telse if( Array.isArray( left ) ) result = compare_array( left, right as any )\n\t\t\telse if( left instanceof Set ) result = compare_set( left, right as any )\n\t\t\telse if( left instanceof Map ) result = compare_map( left, right as any )\n\t\t\telse if( ArrayBuffer.isView( left ) ) result = compare_buffer( left, right as any )\n\t\t\telse if( Symbol.iterator in left ) result = compare_iterator( ( left as any )[ Symbol.iterator ](), ( right as any )[ Symbol.iterator ]() )\n\t\t\telse result = false\n\n\t\t} finally {\n\t\t\tleft_cache.set( right , result )\n\t\t}\n\t\t\n\t\treturn result\n\t}\n\n\tfunction compare_array< Value extends any[] >( left: Value, right: Value ): boolean {\n\t\t\n\t\tconst len = left.length\n\t\tif( len !== right.length ) return false\n\t\t\n\t\tfor( let i = 0; i < len; ++i ) {\n\t\t\tif( !$mol_compare_deep( left[i] , right[i] ) ) return false\n\t\t}\n\t\t\n\t\treturn true\n\t}\n\t\n\tfunction compare_buffer( left: ArrayBufferView, right: ArrayBufferView ): boolean {\n\t\t\n\t\tconst len = left.byteLength\n\t\tif( len !== right.byteLength ) return false\n\t\t\n\t\tif( left instanceof DataView ) return compare_buffer(\n\t\t\tnew Uint8Array( left.buffer, left.byteOffset, left.byteLength ),\n\t\t\tnew Uint8Array( right.buffer, left.byteOffset, left.byteLength ),\n\t\t)\n\t\t\n\t\tfor( let i = 0; i < len; ++i ) {\n\t\t\tif( (left as any)[i] !== (right as any)[i] ) return false\n\t\t}\n\t\t\n\t\treturn true\n\t}\n\t\n\tfunction compare_iterator< Value extends IterableIterator >(\n\t\tleft: Value,\n\t\tright: Value,\n\t): boolean {\n\t\t\n\t\twhile( true ) {\n\n\t\t\tconst left_next = left.next()\n\t\t\tconst right_next = right.next()\n\n\t\t\tif( left_next.done !== right_next.done ) return false\n\t\t\tif( left_next.done ) break\n\n\t\t\tif( !$mol_compare_deep( left_next.value , right_next.value ) ) return false\n\n\t\t}\n\n\t\treturn true\n\n\t}\n\t\n\tfunction compare_set< Value extends Set >( left: Value, right: Value ): boolean {\n\t\tif( left.size !== right.size ) return false\n\t\treturn compare_iterator( left.values(), right.values() )\n\t}\n\t\n\tfunction compare_map< Key, Value >( left: Map< Key, Value > , right: Map< Key, Value > ): boolean {\n\t\tif( left.size !== right.size ) return false\n\t\treturn compare_iterator( left.keys(), right.keys() )\n\t\t\t&& compare_iterator( left.values(), right.values() )\n\t}\n\t\n\tfunction compare_pojo( left: {}, right: {} ): boolean {\n\t\t\n\t\tconst left_keys = Object.getOwnPropertyNames( left )\n\t\tconst right_keys = Object.getOwnPropertyNames( right )\n\t\t\n\t\tif( !compare_array( left_keys, right_keys ) ) return false\n\n\t\tfor( let key of left_keys ) {\n\t\t\tif( !$mol_compare_deep( ( left as any )[ key ], ( right as any )[ key ] ) ) return false\n\t\t}\n\n\t\tconst left_syms = Object.getOwnPropertySymbols( left )\n\t\tconst right_syms = Object.getOwnPropertySymbols( right )\n\t\t\n\t\tif( !compare_array( left_syms, right_syms ) ) return false\n\n\t\tfor( let key of left_syms ) {\n\t\t\tif( !$mol_compare_deep( ( left as any )[ key ], ( right as any )[ key ] ) ) return false\n\t\t}\n\n\t\treturn true\n\t}\n\t\n\tfunction compare_primitive( left: {}, right: {} ): boolean {\n\t\treturn Object.is(\n\t\t\t(left as any)[ Symbol.toPrimitive ]( 'default' ),\n\t\t\t(right as any)[ Symbol.toPrimitive ]( 'default' ),\n\t\t)\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Logger event data */\n\texport type $mol_log3_event< Fields > = {\n\t\t[ key in string ] : unknown\n\t} & {\n\t\t\n\t\t/** Time of event creation */\n\t\ttime? : string\n\n\t\t/** Place of event creation */\n\t\tplace : unknown\n\n\t\t/** Short description of event */\n\t\tmessage : string\n\n\t} & Fields\n\n\t/** Logger function */\n\texport type $mol_log3_logger< Fields , Res = void > = (\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event< Fields > ,\n\t)=> Res\n\n\t/** Log begin of some task */\n\texport declare let $mol_log3_come : $mol_log3_logger<{}>\n\t\n\t/** Log end of some task */\n\texport declare let $mol_log3_done : $mol_log3_logger<{}>\n\t\n\t/** Log error */\n\texport declare let $mol_log3_fail : $mol_log3_logger<{}>\n\t\n\t/** Log warning message */\n\texport declare let $mol_log3_warn : $mol_log3_logger<{ hint : string }>\n\t\n\t/** Log some generic event */\n\texport declare let $mol_log3_rise : $mol_log3_logger<{}>\n\n\t/** Log begin of log group, returns func to close group */\n\texport declare let $mol_log3_area : $mol_log3_logger< {} , ()=> void >\n\n\t/** Log begin of collapsed group only when some logged inside, returns func to close group */\n\texport function $mol_log3_area_lazy(\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event<{}> ,\n\t) {\n\n\t\tconst self = this\n\t\tconst stack = self.$mol_log3_stack\n\n\t\tconst deep = stack.length\n\t\tlet logged = false\n\n\t\tstack.push( ()=> {\n\t\t\tlogged = true\n\t\t\tself.$mol_log3_area.call( self , event )\n\t\t} )\n\n\t\treturn ()=> {\n\t\t\tif( logged ) self.console.groupEnd()\n\t\t\tif( stack.length > deep ) stack.length = deep\n\t\t}\n\n\t}\n\n\texport let $mol_log3_stack = [] as ( ()=> void )[]\n\n}\n","namespace $ {\n\n\t/** Position in any resource. */\n\texport class $mol_span extends $mol_object2 {\n\n\t\tconstructor(\n\t\t\treadonly uri: string ,\n\t\t\treadonly source: string ,\n\t\t\treadonly row: number ,\n\t\t\treadonly col: number ,\n\t\t\treadonly length: number ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis[ Symbol.toStringTag ] = this.uri + ( '#' + this.row + ':' + this.col + '/' + this.length )\n\t\t}\n\n\t\t/** Span for begin of unknown resource */\n\t\tstatic unknown = $mol_span.begin('?')\n\n\t\t/** Makes new span for begin of resource. */\n\t\tstatic begin( uri: string, source = '' ) {\n\t\t\treturn new $mol_span( uri , source, 1 , 1 , 0 )\n\t\t}\n\n\t\t/** Makes new span for end of resource. */\n\t\tstatic end( uri: string , source: string ) {\n\t\t\treturn new $mol_span( uri , source, 1 , source.length + 1 , 0 )\n\t\t}\n\n\t\t/** Makes new span for entire resource. */\n\t\tstatic entire( uri: string , source: string ) {\n\t\t\treturn new $mol_span( uri , source, 1 , 1 , source.length )\n\t\t}\n\n\t\ttoString() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\n\t\ttoJSON() {\n\t\t\treturn {\n\t\t\t\turi: this.uri,\n\t\t\t\trow: this.row,\n\t\t\t\tcol: this.col,\n\t\t\t\tlength: this.length\n\t\t\t}\n\t\t}\n\n\t\t/** Makes new error for this span. */\n\t\terror( message : string , Class = Error ) {\n\t\t\treturn new Class( `${message} (${this})` )\n\t\t}\n\n\t\t/** Makes new span for same uri. */\n\t\tspan( row : number , col : number , length : number ) {\n\t\t\treturn new $mol_span( this.uri , this.source, row , col , length )\n\t\t}\n\n\t\t/** Makes new span after end of this. */\n\t\tafter( length = 0 ) {\n\t\t\treturn new $mol_span( this.uri , this.source, this.row , this.col + this.length , length )\n\t\t}\n\n\t\t/** Makes new span between begin and end. */\n\t\tslice( begin: number, end = -1 ) {\n\t\t\tlet len = this.length\n\t\t\t\n\t\t\tif( begin < 0 ) begin += len\n\t\t\tif( end < 0 ) end += len\n\n\t\t\tif (begin < 0 || begin > len) this.$.$mol_fail( this.error( `Begin value '${begin}' out of range`, RangeError ) )\n\t\t\tif (end < 0 || end > len) this.$.$mol_fail( this.error( `End value '${end}' out of range`, RangeError ) )\n\t\t\tif (end < begin) this.$.$mol_fail( this.error( `End value '${end}' can't be less than begin value`, RangeError ) )\n\n\t\t\treturn this.span( this.row , this.col + begin , end - begin )\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\t/** Serializes tree to string in tree format. */\n\texport function $mol_tree2_to_string(\n\t\tthis: $,\n\t\ttree: $mol_tree2,\n\t) : string {\n\n\t\tlet output = [] as string[]\n\t\t\n\t\tfunction dump(\n\t\t\ttree: $mol_tree2,\n\t\t\tprefix = '',\n\t\t) {\n\n\t\t\tif( tree.type.length ) {\n\t\t\t\t\n\t\t\t\tif( !prefix.length ) {\n\t\t\t\t\tprefix = \"\\t\";\n\t\t\t\t}\n\n\t\t\t\toutput.push( tree.type )\n\n\t\t\t\tif( tree.kids.length == 1 ) {\n\t\t\t\t\toutput.push( ' ' )\n\t\t\t\t\tdump( tree.kids[ 0 ], prefix )\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\toutput.push( \"\\n\" )\n\n\t\t\t} else if( tree.value.length || prefix.length ) {\n\n\t\t\t\toutput.push( \"\\\\\" + tree.value + \"\\n\" )\n\n\t\t\t}\n\n\t\t\tfor( const kid of tree.kids ) {\n\t\t\t\toutput.push( prefix )\n\t\t\t\tdump( kid, prefix + \"\\t\" )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tdump( tree )\n\n\t\treturn output.join('')\n\t}\n\t\t\n}\n","namespace $ {\n\n\t/** Path by types in tree. */\n\texport type $mol_tree2_path =\n\t\tArray< string | number | null >\n\t\n\t/** Hask tool for processing node. */\n\texport type $mol_tree2_hack< Context > =\n\t\t(\n\t\t\tinput : $mol_tree2 ,\n\t\t\tbelt : $mol_tree2_belt< Context > ,\n\t\t\tcontext : Context ,\n\t\t)=> readonly $mol_tree2[]\n\n\t/** Collection of hask tools for processing tree. */\n\texport type $mol_tree2_belt< Context > =\n\t\tRecord< string , $mol_tree2_hack< Context > >\n\n\t/**\n\t * Abstract Syntax Tree with human readable serialization.\n\t * Avoid direct instantiation. Use static factories instead.\n\t * @see https://github.com/nin-jin/tree.d\n\t */\n\texport class $mol_tree2 extends Object {\n\t\t\n\t\tconstructor(\n\n\t\t\t/** Type of structural node, `value` should be empty */\n\t\t\treadonly type : string,\n\t\t\t\n\t\t\t/** Content of data node, `type` should be empty */\n\t\t\treadonly value : string,\n\n\t\t\t/** Child nodes */\n\t\t\treadonly kids : readonly $mol_tree2[],\n\t\t\t\n\t\t\t/** Position in most far source resource */\n\t\t\treadonly span : $mol_span,\n\n\t\t) {\n\t\t\tsuper()\n\t\t\t;(this as any)[ Symbol.toStringTag ] = type || '\\\\' + value\n\t\t}\n\n\t\t/** Makes collection node. */\n\t\tstatic list(\n\t\t\tkids : readonly $mol_tree2[] ,\n\t\t\tspan = $mol_span.unknown ,\n\t\t) {\n\t\t\treturn new $mol_tree2( '' , '' , kids , span )\n\t\t}\n\t\t\n\t\t/** Makes new derived collection node. */\n\t\tlist(\n\t\t\tkids : readonly $mol_tree2[] ,\n\t\t) {\n\t\t\treturn $mol_tree2.list( kids , this.span )\n\t\t}\n\n\t\t/** Makes data node for any string. */\n\t\tstatic data(\n\t\t\tvalue : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t\tspan = $mol_span.unknown ,\n\t\t) {\n\n\t\t\tconst chunks = value.split( '\\n' )\n\n\t\t\tif( chunks.length > 1 ) {\n\t\t\t\n\t\t\t\tlet kid_span = span.span( span.row , span.col , 0 )\n\n\t\t\t\tconst data = chunks.map( chunk => {\n\t\t\t\t\tkid_span = kid_span.after( chunk.length )\n\t\t\t\t\treturn new $mol_tree2( '' , chunk , [] , kid_span )\n\t\t\t\t} )\n\n\t\t\t\tkids = [ ... data , ... kids ]\n\n\t\t\t\tvalue = ''\n\n\t\t\t}\n\n\t\t\treturn new $mol_tree2( '' , value , kids , span )\n\n\t\t}\n\t\t\n\t\t/** Makes new derived data node. */\n\t\tdata(\n\t\t\tvalue : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t) {\n\t\t\treturn $mol_tree2.data( value , kids , this.span )\n\t\t}\n\t\t\n\t\t/** Makes struct node. */\n\t\tstatic struct(\n\t\t\ttype : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t\tspan = $mol_span.unknown ,\n\t\t) {\n\n\t\t\tif( /[ \\n\\t\\\\]/.test( type ) ) {\n\t\t\t\t$$.$mol_fail( span.error( `Wrong type ${ JSON.stringify( type ) }` ) )\n\t\t\t}\n\n\t\t\treturn new $mol_tree2( type , '' , kids , span )\n\n\t\t}\n\t\t\n\t\t/** Makes new derived structural node. */\n\t\tstruct(\n\t\t\ttype : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t) {\n\t\t\treturn $mol_tree2.struct( type , kids , this.span )\n\t\t}\n\n\t\t/** Makes new derived node with different kids id defined. */\n\t\tclone( kids : readonly $mol_tree2[], span = this.span ) {\n\t\t\treturn new $mol_tree2( this.type , this.value , kids , span )\n\t\t}\n\n\t\t/** Returns multiline text content. */\n\t\ttext() {\n\n\t\t\tvar values : string[] = []\n\t\t\t\n\t\t\tfor( var kid of this.kids ) {\n\t\t\t\tif( kid.type ) continue\n\t\t\t\tvalues.push( kid.value )\n\t\t\t}\n\t\t\t\n\t\t\treturn this.value + values.join( '\\n' )\n\n\t\t}\n\t\t\n\t\t/** Parses tree format. */\n\t\t/** @deprecated Use $mol_tree2_from_string */\n\t\tstatic fromString( str : string , uri = 'unknown' ) {\n\t\t\treturn $$.$mol_tree2_from_string( str, uri )\n\t\t}\n\n\t\t/** Serializes to tree format. */\n\t\ttoString() : string {\n\t\t\treturn $$.$mol_tree2_to_string( this )\n\t\t}\n\t\t\n\t\t/** Makes new tree with node overrided by path. */\n\t\tinsert( value : $mol_tree2 | null , ...path : $mol_tree2_path ) : $mol_tree2 {\n\n\t\t\tif( path.length === 0 ) return value!\n\t\t\t\n\t\t\tconst type = path[0]\n\t\t\tif( typeof type === 'string' ) {\n\n\t\t\t\tlet replaced = false\n\t\t\t\tconst sub = this.kids.map( ( item , index )=> {\n\t\t\t\t\tif( item.type !== type ) return item\n\t\t\t\t\treplaced = true\n\t\t\t\t\treturn item.insert( value , ... path.slice( 1 ) )\n\t\t\t\t} ).filter( Boolean )\n\t\t\t\t\n\t\t\t\tif( !replaced && value ) {\n\t\t\t\t\tsub.push( this.struct( type , [] ).insert( value , ... path.slice( 1 ) ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn this.clone( sub )\n\n\t\t\t} else if( typeof type === 'number' ) {\n\t\t\t\t\n\t\t\t\tconst sub = this.kids.slice()\n\t\t\t\tsub[ type ] = ( sub[ type ] || this.list([]) )\n\t\t\t\t\t.insert( value , ... path.slice( 1 ) )\n\t\t\t\t\n\t\t\t\treturn this.clone( sub.filter( Boolean ) )\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tconst kids = ( ( this.kids.length === 0 ) ? [ this.list([]) ] : this.kids )\n\t\t\t\t.map( item => item.insert( value , ... path.slice( 1 ) ) )\n\t\t\t\t.filter( Boolean )\n\n\t\t\t\treturn this.clone( kids )\n\n\t\t\t}\n\n\t\t}\n\n\t\t/** Query nodes by path. */\n\t\tselect( ...path : $mol_tree2_path ) {\n\n\t\t\tlet next = [ this as $mol_tree2 ]\n\n\t\t\tfor( const type of path ) {\n\n\t\t\t\tif( !next.length ) break\n\t\t\t\t\n\t\t\t\tconst prev = next\n\t\t\t\tnext = []\n\n\t\t\t\tfor( var item of prev ) {\n\n\t\t\t\t\tswitch( typeof( type ) ) {\n\n\t\t\t\t\t\tcase 'string' :\n\n\t\t\t\t\t\t\tfor( var child of item.kids ) {\n\t\t\t\t\t\t\t\tif( child.type == type ) {\n\t\t\t\t\t\t\t\t\tnext.push( child )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\n\t\t\t\t\t\tcase 'number' :\n\n\t\t\t\t\t\t\tif( type < item.kids.length ) next.push( item.kids[ type ] )\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\n\t\t\t\t\t\tdefault : next.push( ... item.kids )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this.list( next )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Filter kids by path or value. */\n\t\tfilter( path : string[] , value? : string ) {\n\n\t\t\tconst sub = this.kids.filter( item => {\n\t\t\t\t\t\n\t\t\t\tvar found = item.select( ...path )\n\t\t\t\t\n\t\t\t\tif( value === undefined ) {\n\t\t\t\t\treturn Boolean( found.kids.length )\n\t\t\t\t} else {\n\t\t\t\t\treturn found.kids.some( child => child.value == value )\n\t\t\t\t}\n\t\t\t\n\t\t\t} )\n\t\t\t\n\t\t\treturn this.clone( sub )\n\n\t\t}\n\n\t\thack_self< Context extends { span?: $mol_span; [ key: string ]: unknown } = {} >(\n\t\t\tbelt: $mol_tree2_belt< Context >,\n\t\t\tcontext = {} as Context,\n\t\t) {\n\t\t\tlet handle = belt[ this.type ] || belt[ '' ]\n\t\t\t\t\n\t\t\tif( !handle || handle === Object.prototype[ this.type as keyof Object ] ) {\n\t\t\t\thandle = ( input, belt, context )=> [\n\t\t\t\t\tinput.clone( input.hack( belt, context ), context.span )\n\t\t\t\t]\n\t\t\t}\n\t\t\t\n\t\t\ttry {\n\t\t\t\treturn handle( this , belt , context! )\n\t\t\t} catch( error: any ) {\n\t\t\t\terror.message += `\\n${ this.clone([]) }${ this.span }`\n\t\t\t\t$mol_fail_hidden( error )\n\t\t\t}\n\t\t}\n\n\t\t/** Transform tree through context with transformers */\n\t\thack< Context extends { span?: $mol_span; [ key: string ]: unknown } = {} >(\n\t\t\tbelt: $mol_tree2_belt< Context >,\n\t\t\tcontext = {} as Context,\n\t\t) {\n\t\t\treturn ( [] as readonly $mol_tree2[] ).concat(\n\t\t\t\t... this.kids.map( child => child.hack_self(belt, context) )\n\t\t\t)\n\n\t\t}\n\n\t\t/** Makes Error with node coordinates. */\n\t\terror( message : string , Class = Error ) {\n\t\t\treturn this.span.error( `${ message }\\n${ this.clone([]) }` , Class )\n\t\t}\n\n\t}\n\n\texport class $mol_tree2_empty extends $mol_tree2 {\n\t\tconstructor() {\n\t\t\tsuper( '' , '' , [] , $mol_span.unknown )\n\t\t}\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Syntax error with cordinates and source line snippet. */\n\texport class $mol_error_syntax extends SyntaxError {\n\t\tconstructor (\n\t\t\tpublic reason: string,\n\t\t\tpublic line: string,\n\t\t\tpublic span: $mol_span,\n\t\t) {\n\t\t\tsuper(`${ reason }\\n${ span }\\n${ line.substring( 0 , span.col - 1 ).replace( /\\S/g, ' ' ) }${ ''.padEnd( span.length, '!' ) }\\n${ line }`)\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\t/** Parses tree format from string. */\n\texport function $mol_tree2_from_string(\n\t\tthis: $,\n\t\tstr: string,\n\t\turi = '?',\n\t) : $mol_tree2 {\n\n\t\tconst span = $mol_span.entire( uri, str )\n\n\t\tvar root = $mol_tree2.list( [], span )\n\t\tvar stack = [ root ]\n\n\t\tvar pos = 0, row = 0, min_indent = 0\n\t\t\n\t\twhile( str.length > pos ) {\n\n\t\t\tvar indent = 0\n\t\t\tvar line_start = pos\n\n\t\t\trow++\n\n\t\t\t// read indent\n\t\t\twhile( str.length > pos && str[ pos ] == '\\t' ) {\n\t\t\t\tindent++\n\t\t\t\tpos++\n\t\t\t}\n\n\t\t\tif( ! root.kids.length ) {\n\t\t\t\tmin_indent = indent\n\t\t\t}\n\n\t\t\tindent -= min_indent\n\n\t\t\t// invalid tab size\n\t\t\tif( indent < 0 || indent >= stack.length ) {\n\n\t\t\t\tconst sp = span.span( row, 1, pos - line_start )\n\n\t\t\t\t// skip error line\n\t\t\t\twhile( str.length > pos && str[ pos ] != '\\n' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\n\t\t\t\tif( indent < 0 ) {\n\t\t\t\t\tif( str.length > pos ) {\n\t\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t\t`Too few tabs`,\n\t\t\t\t\t\t\tstr.substring( line_start, pos ),\n\t\t\t\t\t\t\tsp,\n\t\t\t\t\t\t) )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t`Too many tabs`,\n\t\t\t\t\t\tstr.substring( line_start, pos ),\n\t\t\t\t\t\tsp,\n\t\t\t\t\t) )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tstack.length = indent + 1\n\t\t\tvar parent = stack[ indent ]\n\n\t\t\t// parse types\n\t\t\twhile( str.length > pos && str[ pos ] != '\\\\' && str[ pos ] != '\\n' ) {\n\n\t\t\t\t// type can not contain space and tab\n\t\t\t\tvar error_start = pos\n\t\t\t\twhile( str.length > pos && ( str[ pos ] == ' ' || str[ pos ] == '\\t' ) ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\n\t\t\t\tif( pos > error_start ) {\n\t\t\t\t\tlet line_end = str.indexOf( '\\n' , pos )\n\t\t\t\t\tif( line_end === -1 ) line_end = str.length\n\t\t\t\t\tconst sp = span.span( row, error_start - line_start + 1, pos - error_start )\n\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t`Wrong nodes separator`,\n\t\t\t\t\t\tstr.substring( line_start, line_end ),\n\t\t\t\t\t\tsp,\n\t\t\t\t\t) )\n\t\t\t\t}\n\n\t\t\t\t// read type\n\t\t\t\tvar type_start = pos\n\t\t\t\twhile( \n\t\t\t\t\tstr.length > pos && \n\t\t\t\t\tstr[ pos ] != '\\\\' && \n\t\t\t\t\tstr[ pos ] != ' ' && \n\t\t\t\t\tstr[ pos ] != '\\t' && \n\t\t\t\t\tstr[ pos ] != '\\n'\n\t\t\t\t) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t\tif( pos > type_start ) {\n\t\t\t\t\tlet next = new $mol_tree2(\n\t\t\t\t\t\tstr.slice( type_start , pos ),\n\t\t\t\t\t\t'',\n\t\t\t\t\t\t[],\n\t\t\t\t\t\tspan.span( row, type_start - line_start + 1, pos - type_start ),\n\t\t\t\t\t)\n\t\t\t\t\tconst parent_kids = parent.kids as $mol_tree2[]\n\t\t\t\t\tparent_kids.push( next )\n\t\t\t\t\tparent = next\n\t\t\t\t}\n\n\t\t\t\t// read one space if exists\n\t\t\t\tif( str.length > pos && str[ pos ] == ' ' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// read data\n\t\t\tif( str.length > pos && str[ pos ] == '\\\\' ) {\n\t\t\t\tvar data_start = pos\n\t\t\t\twhile( str.length > pos && str[ pos ] != '\\n' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t\tlet next = new $mol_tree2(\n\t\t\t\t\t'',\n\t\t\t\t\tstr.slice( data_start + 1 , pos ),\n\t\t\t\t\t[],\n\t\t\t\t\tspan.span( row, data_start - line_start + 2, pos - data_start - 1 ),\n\t\t\t\t)\n\t\t\t\tconst parent_kids = parent.kids as $mol_tree2[]\n\t\t\t\tparent_kids.push( next )\n\t\t\t\tparent = next\n\t\t\t}\n\n\t\t\t// now must be end of text\n\t\t\tif( str.length === pos && stack.length > 0 ) {\n\t\t\t\tconst sp = span.span( row, pos - line_start + 1, 1 )\n\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t`Unexpected EOF, LF required`,\n\t\t\t\t\tstr.substring( line_start, str.length ),\n\t\t\t\t\tsp,\n\t\t\t\t) )\n\t\t\t}\n\n\t\t\tstack.push( parent )\n\t\t\tpos++\n\t\t}\n\n\t\treturn root\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_tree2_from_json( json: any, span = $mol_span.unknown ): $mol_tree2 {\n\n\t\tif( typeof json === 'boolean' || typeof json === 'number' || json === null ) {\n\t\t\treturn new $mol_tree2( String( json ) , '' , [] , span )\n\t\t}\n\t\t\n\t\tif( typeof json === 'string' ) {\n\t\t\treturn $mol_tree2.data( json , [], span )\n\t\t}\n\n\t\tif( typeof json.toJSON === 'function' ) {\n\t\t\treturn $mol_tree2_from_json( json.toJSON() )\n\t\t}\n\n\t\tif( Array.isArray( json ) ) {\n\t\t\tconst sub = json.map( json => $mol_tree2_from_json( json , span ) )\n\t\t\treturn new $mol_tree2( '/' , '', sub, span )\n\t\t}\n\t\t\n\t\tif( ArrayBuffer.isView( json ) ) {\n\t\t\tconst buf = new Uint8Array( json.buffer, json.byteOffset, json.byteLength )\n\t\t\treturn $mol_tree2.data( String.fromCharCode( ... buf ) , [], span )\n\t\t}\n\t\t\t\n\t\tif( json instanceof Date ) {\n\t\t\treturn new $mol_tree2( '', json.toISOString() , [] , span )\n\t\t}\n\n\t\tif( json.toString !== Object.prototype.toString ) {\n\t\t\treturn $mol_tree2.data( json.toString() , [], span )\n\t\t}\n\n\t\tif( json instanceof Error ) {\n\t\t\tconst { name , message , stack } = json\n\t\t\tjson = { ... json, name, message, stack }\n\t\t}\n\n\t\tconst sub = [] as $mol_tree2[]\n\t\t\n\t\tfor( var key in json ) {\n\n\t\t\tconst val = json[ key ]\n\n\t\t\tif( val === undefined ) continue\n\n\t\t\tconst subsub = $mol_tree2_from_json( val, span )\n\t\t\t\n\t\t\tif( /^[^\\n\\t\\\\ ]+$/.test( key ) ) {\n\t\t\t\tsub.push( new $mol_tree2( key, '', [ subsub ], span ) )\n\t\t\t} else {\n\t\t\t\tsub.push( $mol_tree2.data( key, [ subsub ], span ) )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\treturn new $mol_tree2( '*' , '', sub , span )\n\t\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Module for working with terminal. Text coloring when output in terminal */\n\texport class $mol_term_color {\n\t\t\n\t\tstatic reset = this.ansi( 0, 0 )\n\t\tstatic bold = this.ansi( 1, 22 )\n\t\tstatic italic = this.ansi( 3, 23 )\n\t\tstatic underline = this.ansi( 4, 24 )\n\t\tstatic inverse = this.ansi( 7, 27 )\n\t\tstatic hidden = this.ansi( 8, 28 )\n\t\tstatic strike = this.ansi( 9, 29 )\n\t\t\n\t\tstatic gray = this.ansi( 90, 39 )\n\t\tstatic red = this.ansi( 91, 39 )\n\t\tstatic green = this.ansi( 92, 39 )\n\t\tstatic yellow = this.ansi( 93, 39 )\n\t\tstatic blue = this.ansi( 94, 39 )\n\t\tstatic magenta = this.ansi( 95, 39 )\n\t\tstatic cyan = this.ansi( 96, 39 )\n\t\t\n\t\tstatic Gray = ( str: string )=> this.inverse( this.gray( str ) )\n\t\tstatic Red = ( str: string )=> this.inverse( this.red( str ) )\n\t\tstatic Green = ( str: string )=> this.inverse( this.green( str ) )\n\t\tstatic Yellow = ( str: string )=> this.inverse( this.yellow( str ) )\n\t\tstatic Blue = ( str: string )=> this.inverse( this.blue( str ) )\n\t\tstatic Magenta = ( str: string )=> this.inverse( this.magenta( str ) )\n\t\tstatic Cyan = ( str: string )=> this.inverse( this.cyan( str ) )\n\t\t\n\t\tstatic ansi( open: number, close: number ) {\n\t\n\t\t\tif( typeof process === 'undefined' ) return String\n\t\t\tif( !process.stdout.isTTY ) return String\n\t\t\n\t\t\tconst prefix = `\\x1b[${open}m`\n\t\t\tconst postfix = `\\x1b[${close}m`\n\t\t\t\n\t\t\tconst suffix_regexp = new RegExp( postfix.replace( '[', '\\\\[' ), 'g' )\n\t\t\n\t\t\treturn function colorer( str: string ) {\n\t\t\n\t\t\t\tstr = String( str )\n\t\t\t\tif( str === '' ) return str\n\t\t\n\t\t\t\tconst suffix = str.replace( suffix_regexp, prefix )\n\t\t\t\treturn prefix + suffix + postfix\n\t\t\n\t\t\t}\n\t\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_log3_node_make(\n\t\tlevel : keyof Console ,\n\t\toutput : 'stdout' | 'stderr',\n\t\ttype : string ,\n\t\tcolor: ( str: string )=> string ,\n\t) {\n\n\t\treturn function $mol_log3_logger(\n\t\t\tthis : $ ,\n\t\t\tevent : $mol_log3_event<{}> ,\n\t\t) {\n\n\t\t\tif( !event.time ) event = { time : new Date().toISOString() , ... event }\n\n\t\t\tlet tree = this.$mol_tree2_from_json( event )\n\t\t\ttree = tree.struct( type, tree.kids )\n\t\t\t\n\t\t\tlet str = color( tree.toString() )\n\t\t\t;( this.console[ level ] as any )( str )\n\t\n\t\t\tconst self = this\n\t\t\treturn ()=> self.console.groupEnd()\n\n\t\t}\n\n\t}\n\n\t$.$mol_log3_come = $mol_log3_node_make( 'info' , 'stdout' , 'come' , $mol_term_color.blue )\n\t$.$mol_log3_done = $mol_log3_node_make( 'info' , 'stdout' , 'done' , $mol_term_color.green )\n\t$.$mol_log3_fail = $mol_log3_node_make( 'error' , 'stderr' , 'fail' , $mol_term_color.red )\n\t$.$mol_log3_warn = $mol_log3_node_make( 'warn' , 'stderr' , 'warn' , $mol_term_color.yellow )\n\t$.$mol_log3_rise = $mol_log3_node_make( 'log' , 'stdout' , 'rise' , $mol_term_color.magenta )\n\t$.$mol_log3_area = $mol_log3_node_make( 'log' , 'stdout' , 'area' , $mol_term_color.cyan )\n\n}\n","namespace $ {\n\t\n\t/** One-shot fiber */\n\texport class $mol_wire_task<\n\t\tHost,\n\t\tArgs extends readonly unknown[],\n\t\tResult,\n\t> extends $mol_wire_fiber< Host, Args, Result > {\n\t\t\n\t\tstatic getter<\n\t\t\tHost,\n\t\t\tArgs extends readonly unknown[],\n\t\t\tResult,\n\t\t>(\n\t\t\ttask: ( this : Host , ... args : Args )=> Result,\n\t\t): ( host: Host, args: Args )=> $mol_wire_task< Host, Args, Result > {\n\t\t\t\n\t\t\treturn function $mol_wire_task_get( host: Host, args: Args ) {\n\t\t\t\t\n\t\t\t\tconst sub = $mol_wire_auto()\n\t\t\t\tconst existen = sub?.track_next() as $mol_wire_task< Host, Args, Result > | undefined\n\t\t\t\t\n\t\t\t\treuse: if( existen ) {\n\t\t\t\t\t\n\t\t\t\t\tif( !existen.temp ) break reuse\n\t\t\t\t\t\n\t\t\t\t\tif( existen.host !== host ) break reuse\n\t\t\t\t\tif( existen.task !== task ) break reuse\n\t\t\t\t\tif( !$mol_compare_deep( existen.args, args ) ) break reuse\n\t\t\t\t\t\n\t\t\t\t\treturn existen\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst key = ( (host as any)?.[ Symbol.toStringTag ] ?? host ) + ( '.' + task.name + '<#>' )\n\t\t\t\tconst next = new $mol_wire_task( key, task, host, args )\n\t\t\t\t\n\t\t\t\t// Disabled because non-idempotency is required for try-catch\n\t\t\t\tif( existen?.temp ) {\n\t\t\t\t\t$$.$mol_log3_warn({\n\t\t\t\t\t\tplace: '$mol_wire_task',\n\t\t\t\t\t\tmessage: `Non idempotency`,\n\t\t\t\t\t\texisten,\n\t\t\t\t\t\tnext,\n\t\t\t\t\t\thint: 'Ignore it',\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn next\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tget temp() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\tcomplete() {\n\t\t\tif( $mol_promise_like( this.cache ) ) return\n\t\t\tthis.destructor()\n\t\t}\n\t\t\n\t\tput( next: Result | Error | Promise< Result | Error > ) {\n\t\t\t\n\t\t\tconst prev = this.cache\n\t\t\tthis.cache = next\n\t\t\t\n\t\t\tif( $mol_promise_like( next ) ) {\n\t\t\t\t\n\t\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\tif( next !== prev ) this.emit()\n\t\t\t\t\n\t\t\t\treturn next\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = $mol_wire_cursor.final\n\t\t\t\n\t\t\tif( this.sub_empty ) this.destructor()\n\t\t\telse if( next !== prev ) this.emit()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\t/**\n\t * Decorates method to fiber to ensure it is executed only once inside other fiber.\n\t */\n\texport function $mol_wire_method<\n\t\tHost extends object,\n\t\tArgs extends readonly any[],\n\t>(\n\t\thost : Host,\n\t\tfield : PropertyKey,\n\t\tdescr? : TypedPropertyDescriptor< ( ... args: Args )=> any >,\n\t) {\n\t\t\n\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field ) as any\n\t\tconst orig = descr?.value! ?? (host as any)[ field ]\n\t\t\n\t\tconst sup = Reflect.getPrototypeOf( host )!\t\n\t\tif( typeof (sup as any)[ field ] === 'function' ) {\n\t\t\tObject.defineProperty( orig , 'name' , { value : (sup as any)[ field ].name } )\n\t\t}\n\t\t\n\t\tconst temp = $mol_wire_task.getter( orig )\n\t\tconst value = function( this: Host, ... args: Args ) {\n\t\t\tconst fiber = temp( this ?? null as any, args )\n\t\t\treturn fiber.sync()\n\t\t}\n\t\t\n\t\tObject.defineProperty( value , 'name' , { value : orig.name + ' ' } )\n\t\t\n\t\tObject.assign( value, { orig } )\n\t\tconst descr2 = { ... descr, value }\n\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\n\t\treturn descr2\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\tconst catched = new WeakMap< any , boolean >()\n\n\texport function $mol_fail_catch( error: unknown ) {\n\t\t\n\t\tif( typeof error !== 'object' ) return false\n\t\tif( $mol_promise_like( error ) ) $mol_fail_hidden( error )\n\t\tif( catched.get( error ) ) return false\n\t\t\n\t\tcatched.set( error , true )\n\t\treturn true\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_fail_log( error: unknown ) {\n\t\t\n\t\tif( $mol_promise_like( error ) ) return false\n\t\tif( !$mol_fail_catch( error ) ) return false\n\t\t\n\t\tconsole.error( error )\n\t\t\n\t\treturn true\n\t\t\n\t}\n\n}\n","namespace $ {\n\n\t/** Long-living fiber. */\n\texport class $mol_wire_atom<\n\t\tHost,\n\t\tArgs extends readonly unknown[],\n\t\tResult,\n\t> extends $mol_wire_fiber< Host, Args, Result > {\n\n\t\tstatic solo<\n\t\t\tHost,\n\t\t\tArgs extends readonly unknown[],\n\t\t\tResult,\n\t\t>(\n\t\t\thost: Host,\n\t\t\ttask: ( this: Host, ... args: Args )=> Result,\n\t\t): $mol_wire_atom< Host, Args, Result > {\n\t\t\t\n\t\t\tconst field = task.name + '<>'\n\t\t\t\n\t\t\tconst existen = Object.getOwnPropertyDescriptor( host ?? task, field )?.value\n\t\t\tif( existen ) return existen\n\t\t\t\n\t\t\tconst prefix = (host as any)?.[ Symbol.toStringTag ] ?? ( host instanceof Function ? $$.$mol_func_name( host ) : host )\n\t\t\tconst key = prefix + ( '.' + field )\n\t\t\t\n\t\t\tconst fiber = new $mol_wire_atom( key, task, host, [] as any as Args )\n\t\t\t;( host as any ?? task )[ field ] = fiber\n\t\t\t\n\t\t\treturn fiber\n\t\t}\n\t\t\n\t\tstatic plex<\n\t\t\tHost,\n\t\t\tArgs extends readonly unknown[],\n\t\t\tResult,\n\t\t>(\n\t\t\thost: Host,\n\t\t\ttask: ( this: Host , ... args: Args )=> Result,\n\t\t\tkey: Args[0],\n\t\t): $mol_wire_atom< Host, Args, Result > {\n\t\t\t\n\t\t\tconst field = task.name + '<>'\n\t\t\tlet dict = Object.getOwnPropertyDescriptor( host ?? task, field )?.value\n\t\t\tconst prefix = (host as any)?.[ Symbol.toStringTag ] ?? ( host instanceof Function ? $$.$mol_func_name( host ) : host )\n\t\t\tconst key_str = $mol_key( key )\n\t\t\t\n\t\t\tif( dict ) {\n\t\t\t\tconst existen = dict.get( key_str )\n\t\t\t\tif( existen ) return existen\n\t\t\t} else {\n\t\t\t\tdict = ( host as any ?? task )[ field ] = new Map()\n\t\t\t}\n\t\t\t\n\t\t\tconst id = prefix + ( '.' + task.name ) + ( '<' + key_str.replace( /^\"|\"$/g, \"'\" ) + '>' )\n\t\t\tconst fiber = new $mol_wire_atom( id, task, host, [ key ] as any as Args )\n\t\t\tdict.set( key_str, fiber )\n\t\t\t\n\t\t\treturn fiber\n\t\t}\n\t\t\n\t\tstatic watching = new Set< $mol_wire_atom< any, any, any > >()\n\t\tstatic watcher = null as $mol_after_frame | null\n\t\t\n\t\tstatic watch() {\n\t\t\n\t\t\t$mol_wire_atom.watcher = new $mol_after_frame( $mol_wire_atom.watch )\n\t\t\t\n\t\t\tfor( const atom of $mol_wire_atom.watching ) {\n\t\t\t\t\n\t\t\t\tif( atom.cursor === $mol_wire_cursor.final ) {\n\t\t\t\t\t$mol_wire_atom.watching.delete( atom )\n\t\t\t\t} else {\n\t\t\t\t\tatom.cursor = $mol_wire_cursor.stale\n\t\t\t\t\tatom.fresh()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\twatch() {\n\t\t\t\n\t\t\tif( !$mol_wire_atom.watcher ) {\n\t\t\t\t$mol_wire_atom.watcher = new $mol_after_frame( $mol_wire_atom.watch )\n\t\t\t}\n\t\t\t\n\t\t\t$mol_wire_atom.watching.add( this )\n\t\t\t\n\t\t}\n\t\t\n\t\t/**\n\t\t * Update fiber value through another temp fiber.\n\t\t */\n\t\t@ $mol_wire_method\n\t\tresync( args: Args ) {\n\t\t\treturn this.put( this.task.call( this.host!, ... args ) )\n\t\t}\n\t\t\n\t\t@ $mol_wire_method\n\t\tonce() {\n\t\t\treturn this.sync()\n\t\t}\n\t\t\n\t\tchannel() {\n\t\t\treturn Object.assign( ( next?: $mol_type_foot< Args > )=> {\n\t\t\t\t\t\n\t\t\t\tif( next !== undefined ) return this.resync( [ ... this.args, next ] as any ) as never\n\t\t\t\tif( !$mol_wire_fiber.warm ) return this.result() as never\n\t\t\t\t\n\t\t\t\tif( $mol_wire_auto()?.temp ) {\n\t\t\t\t\treturn this.once()\n\t\t\t\t} else {\n\t\t\t\t\treturn this.sync()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}, { atom: this as $mol_wire_atom< Host, Args, Result > } )\n\t\t}\n\t\t\n\t\tdestructor() {\n\t\t\t\n\t\t\tsuper.destructor()\n\t\t\t\n\t\t\tconst prev = this.cache\n\t\t\tif( $mol_owning_check( this, prev ) ) {\n\t\t\t\tprev.destructor()\n\t\t\t}\n\t\t\t\n\t\t\tif( this.pub_from === 0 ) {\n\t\t\t\t;( this.host as any ?? this.task )[ this.field() ] = null\n\t\t\t} else {\n\t\t\t\t;( this.host as any ?? this.task )[ this.field() ].delete( $mol_key( this.args[0] ) )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tput( next: Result | Error | Promise< Result | Error > ) {\n\t\t\t\n\t\t\tconst prev = this.cache\n\t\t\t\n\t\t\tupdate: if( next !== prev ) {\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tif( $mol_compare_deep( prev, next ) ) break update\n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\t$mol_fail_log( error )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( $mol_owning_check( this, prev ) ) {\n\t\t\t\t\tprev.destructor()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( $mol_owning_catch( this, next ) ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\t(next as any)[ Symbol.toStringTag ] = (this as any)[ Symbol.toStringTag ]\n\t\t\t\t\t} catch { // Promises throw in strict mode\n\t\t\t\t\t\tObject.defineProperty( next, Symbol.toStringTag, { value: (this as any)[ Symbol.toStringTag ] } )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( !this.sub_empty ) this.emit()\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tthis.cache = next\n\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\n\t\t\tif( $mol_promise_like( next ) ) return next\n\t\t\t\n\t\t\tthis.complete_pubs()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t\n\t/** Decorates solo object channel to [mol_wire_atom](../atom/atom.ts). */\n\texport function $mol_wire_solo< Args extends any[] >(\n\t\thost: object,\n\t\tfield: string,\n\t\tdescr?: TypedPropertyDescriptor< ( ... args: Args )=> any >\n\t) {\n\n\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field )\n\t\tconst orig = descr?.value! ?? (host as any)[ field ]\n\t\t\n\t\tconst sup = Reflect.getPrototypeOf( host )!\n\t\tif( typeof (sup as any)[ field ] === 'function' ) {\n\t\t\tObject.defineProperty( orig , 'name' , { value : (sup as any)[ field ].name } )\n\t\t}\n\t\t\n\t\tconst descr2 = {\n\t\t\t... descr,\n\t\t\tvalue: function( this: typeof host, ... args: Args ){\n\t\t\t\n\t\t\t\tlet atom = $mol_wire_atom.solo( this, orig )\n\t\t\t\t\n\t\t\t\tif(( args.length === 0 )||( args[0] === undefined )) {\n\t\t\t\t\t\n\t\t\t\t\tif( !$mol_wire_fiber.warm ) return atom.result()\n\t\t\t\t\t\n\t\t\t\t\tif( $mol_wire_auto()?.temp ) {\n\t\t\t\t\t\treturn atom.once()\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn atom.sync()\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn atom.resync( args )\t\n\t\t\t}\n\t\t}\n\t\t\n\t\tReflect.defineProperty( descr2.value , 'name' , { value : orig.name + ' ' } )\n\t\tReflect.defineProperty( descr2.value , 'length' , { value : orig.length } )\n\t\tObject.assign( descr2.value, { orig } )\n\t\t\n\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\n\t\treturn descr2 as any as TypedPropertyDescriptor< ( ... args: First_optional< Args > )=> any >\n\t}\n\n\ttype First_optional< Args extends any[] > = Args extends []\n\t\t? []\n\t\t: [ Args[0] | undefined, ... $mol_type_tail< Args > ]\n\n}\n","namespace $ {\n\t\n\t/** Reactive memoizing multiplexed property decorator. */\n\texport function $mol_wire_plex< Args extends [ any, ... any[] ] >(\n\t\thost: object,\n\t\tfield: string,\n\t\tdescr?: TypedPropertyDescriptor< ( ... args: Args )=> any >\n\t) {\n\n\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field )\n\t\tconst orig = descr?.value! ?? (host as any)[ field ]\n\t\t\n\t\tconst sup = Reflect.getPrototypeOf( host )!\n\t\tif( typeof (sup as any)[ field ] === 'function' ) {\n\t\t\tObject.defineProperty( orig , 'name' , { value : (sup as any)[ field ].name } )\n\t\t}\n\t\t\n\t\tconst descr2 = {\n\t\t\t... descr,\n\t\t\tvalue: function( this: typeof host, ... args: Args ) {\n\t\t\t\n\t\t\t\tlet atom = $mol_wire_atom.plex( this, orig, args[0] )\n\t\t\t\t\n\t\t\t\tif(( args.length === 1 )||( args[1] === undefined )) {\n\t\t\t\t\t\n\t\t\t\t\tif( !$mol_wire_fiber.warm ) return atom.result()\n\t\t\t\t\t\n\t\t\t\t\tif( $mol_wire_auto()?.temp ) {\n\t\t\t\t\t\treturn atom.once()\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn atom.sync()\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn atom.resync( args )\t\n\t\t\t}\n\t\t}\n\t\t\n\t\tReflect.defineProperty( descr2.value , 'name' , { value : orig.name + ' ' } )\n\t\tReflect.defineProperty( descr2.value , 'length' , { value : orig.length } )\n\t\tObject.assign( descr2.value, { orig } )\n\t\t\n\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\n\t\treturn descr2\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Reactive memoizing solo property decorator from [mol_wire](../wire/README.md)\n\t * @example\n\t * '@' $mol_mem\n\t * name(next?: string) {\n\t * \treturn next ?? 'default'\n\t * }\n\t * @see https://mol.hyoo.ru/#!section=docs/=qxmh6t_sinbmb\n\t */\n\texport let $mol_mem = $mol_wire_solo\n\n\t/**\n\t * Reactive memoizing multiplexed property decorator [mol_wire](../wire/README.md)\n\t * @example\n\t * '@' $mol_mem_key\n\t * name(id: number, next?: string) {\n\t * return next ?? 'default'\n\t * }\n\t * @see https://mol.hyoo.ru/#!section=docs/=qxmh6t_sinbmb\n\t */\n\texport let $mol_mem_key = $mol_wire_plex\n}\n","namespace $ {\n\t\n\texport var $mol_dom_context : typeof globalThis\n\t\n}\n","interface $node {\n\t[key:string]: any\n}\n\nvar $node = new Proxy( { require } as any , {\n\t\n\tget( target , name : string , wrapper ) {\n\n\t\tif( target[ name ] ) return target[ name ]\n\n\t\tconst mod = target.require( 'module' ) as typeof import( 'module' )\n\t\t\n\t\tif( mod.builtinModules.indexOf( name ) >= 0 ) return target.require( name )\n\t\tif( name[0] === '.' ) return target.require( name )\n\n\t\ttry {\n\t\t\ttarget.require.resolve( name )\n\t\t} catch {\n\t\t\n\t\t\tconst $$ = ( $ as any )\n\t\t\t$$.$mol_exec( '.' , 'npm' , 'install' , '--omit=dev', name )\n\t\t\t\n\t\t\ttry {\n\t\t\t\t$$.$mol_exec( '.' , 'npm' , 'install' , '--omit=dev', '@types/' + name )\n\t\t\t} catch (e) {\n\t\t\t\tif ($$.$mol_fail_catch(e)) {\n\t\t\t\t\t$$.$mol_fail_log(e)\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t\t\n\t\ttry {\n\t\t\treturn target.require( name )\n\t\t} catch( error ) {\n\n\t\t\tif($.$mol_fail_catch(error) && ( error as any ).code === 'ERR_REQUIRE_ESM' ) {\n\t\t\t\tconst module = cache.get( name )\n\t\t\t\tif( module ) return module\n\t\t\t\tthrow import( name ).then( module => cache.set( name, module ) )\n\t\t\t}\n\t\t\t\n\t\t\t$.$mol_fail_log( error )\n\n\t\t\treturn null\n\t\t}\n\n\t},\n\n\tset( target , name : string , value ) {\n\t\ttarget[ name ] = value\n\t\treturn true\n\t},\n\n} ) as $node\n\nconst cache = new Map< string, any >()\n\nrequire = ( req =>\n\tObject.assign( function require( name : string ) {\n\t\treturn $node[ name ]\n\t} , req )\n)( require )\n\n","namespace $ {\n\n\texport class $mol_error_mix< Cause extends {} = {} > extends AggregateError {\n\t\t\n\t\tname = $$.$mol_func_name( this.constructor ).replace( /^\\$/, '' ) + '_Error'\n\n\t\tconstructor(\n\t\t\tmessage: string,\n\t\t\treadonly cause = {} as Cause,\n\t\t\t... errors: Error[]\n\t\t) {\n\t\t\t\n\t\t\tsuper( errors, message, { cause } )\n\t\t\t\n\t\t\tconst stack_get = Object.getOwnPropertyDescriptor( this, 'stack' )?.get ?? ( ()=> super.stack )\n\t\t\t\n\t\t\tObject.defineProperty( this, 'stack', {\n\t\t\t\tget: ()=> ( stack_get.call( this ) ?? this.message ) + '\\n' + [ JSON.stringify( this.cause, null, ' ' ) ?? 'no cause', ... this.errors.map( e => e.stack ) ].map(\n\t\t\t\t\te => e.trim()\n\t\t\t\t\t\t.replace( /at /gm, ' at ' )\n\t\t\t\t\t\t.replace( /^(?! +at )(.*)/gm, ' at | $1 (#)' )\n\t\t\t\t).join('\\n')\n\t\t\t} )\n\t\t\t\n\t\t}\n\n\t\tstatic [ Symbol.toPrimitive ]() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tstatic toString() {\n\t\t\treturn $$.$mol_func_name( this )\n\t\t}\n\n\t\tstatic make(\n\t\t\t...params: ConstructorParameters\n\t\t) {\n\t\t\treturn new this(...params)\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\texport function $mol_env() {\n\t\treturn {} as Record< string, string | undefined >\n\t}\n}\n","namespace $ {\n\t$.$mol_env = function $mol_env() {\n\t\treturn this.process.env\n\t}\n}\n","namespace $ {\n\tconst factories = new WeakMap()\n\n\tfunction factory(\n\t\tval: new (...args: Args) => Result\n\t) {\n\t\tlet make = factories.get(val) as null | ((...args: Args) => Result)\n\n\t\tif ( make ) return make\n\n\t\tmake = $mol_func_name_from((...args: Args) => new val(...args), val)\n\t\tfactories.set(val, make)\n\n\t\treturn make\n\t}\n\n\t/**\n\t * Convert asynchronous (promise-based) API to synchronous by wrapping function and method calls in a fiber.\n\t * @see https://mol.hyoo.ru/#!section=docs/=1fcpsq_1wh0h2\n\t */\n\texport function $mol_wire_sync< Host extends object >( obj: Host ) {\n\t\treturn new Proxy( obj, {\n\t\t\t\n\t\t\tget( obj, field ) {\n\t\t\t\t\n\t\t\t\tlet val = (obj as any)[ field ]\n\t\t\t\tif( typeof val !== 'function' ) return val\n\t\t\t\tconst temp = $mol_wire_task.getter(val)\n\n\t\t\t\treturn function $mol_wire_sync( this: Host, ... args: unknown[] ) {\n\t\t\t\t\tconst fiber = temp( obj, args )\n\t\t\t\t\treturn fiber.sync()\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tconstruct(obj, args) {\n\t\t\t\tconst temp = $mol_wire_task.getter(factory(obj as (new ( ... args: unknown[] )=> unknown)))\n\t\t\t\treturn temp( obj, args ).sync() as object\n\t\t\t},\n\n\t\t\tapply( obj, self, args ) {\n\t\t\t\tconst temp = $mol_wire_task.getter(obj as ( ... args: any[] )=> any)\n\t\t\t\treturn temp(self, args).sync()\n\t\t\t},\n\t\t\t\n\t\t} ) as unknown as ObjectOrFunctionResultAwaited\n\t}\n\n\ttype FunctionResultAwaited = Some extends (...args: infer Args) => infer Res\n\t\t? (...args: Args) => Awaited\n\t\t: Some\n\n\ttype ConstructorResultAwaited = Some extends new (...args: infer Args) => infer Res\n\t\t? new (...args: Args) => Res\n\t\t: {}\n\n\ttype MethodsResultAwaited = {\n\t\t[K in keyof Host]: FunctionResultAwaited\n\t}\n\n\ttype ObjectOrFunctionResultAwaited = (\n\t\tSome extends (...args: any) => unknown ? FunctionResultAwaited : {}\n\t) & ( Some extends Object ? MethodsResultAwaited & ConstructorResultAwaited : Some )\n\n}\n","namespace $ {\n\n\texport type $mol_run_error_context = {\n\t\tpid?: number\n\t\tstdout: Buffer\n\t\tstderr: Buffer\n\t\tstatus?: number | null\n\t\tsignal: NodeJS.Signals | null,\n\t}\n\n\texport class $mol_run_error extends $mol_error_mix<{ timeout?: boolean, signal?: NodeJS.Signals | null}> {}\n\n\tconst child_process = $node['child_process']\n\texport const $mol_run_spawn = child_process.spawn.bind(child_process)\n\texport const $mol_run_spawn_sync = child_process.spawnSync.bind(child_process)\n\n\texport type $mol_run_options = {\n\t\tcommand : readonly string[] | string,\n\t\tdir : string\n\t\ttimeout?: number\n\t\tenv?: Record\n\t}\n\n\texport function $mol_run_async(\n\t\tthis : $ ,\n\t\t{ dir, timeout, command, env }: $mol_run_options\n\t) {\n\t\tconst args_raw = typeof command === 'string' ? command.split( ' ' ) : command\n\t\tconst [ app, ...args ] = args_raw\n\n\t\tif (! env?.MOL_RUN_ASYNC) {\n\t\t\tthis.$mol_log3_come({\n\t\t\t\tplace: '$mol_run_sync' ,\n\t\t\t\tmessage: 'Run',\n\t\t\t\tcommand: args_raw.join(' ') ,\n\t\t\t\tdir: $node.path.relative( '' , dir ) ,\n\t\t\t})\n\t\t\tconst res = this.$mol_run_spawn_sync(app, args, { shell: true, cwd: dir, env });\n\t\t\tif( res.status ) $mol_fail( new Error( res.stderr.toString() || 'Exit(' + res.status + ')' ) )\n\t\t\treturn res\n\t\t}\n\n\t\tconst sub = this.$mol_run_spawn(app, args, {\n\t\t\tshell: true,\n\t\t\tcwd: dir,\n\t\t\tenv\n\t\t})\n\n\t\tthis.$mol_log3_come({\n\t\t\tplace: '$mol_run_async' ,\n\t\t\tpid: sub.pid,\n\t\t\tmessage: 'Run',\n\t\t\tcommand: args_raw.join(' ') ,\n\t\t\tdir: $node.path.relative( '' , dir ) ,\n\t\t})\n\n\t\tlet killed = false\n\t\tlet timer: undefined | ReturnType\n\n\t\tconst std_data = [] as Buffer[]\n\t\tconst error_data = [] as Buffer[]\n\n\t\tconst add = (std_chunk?: Buffer, error_chunk?: Buffer) => {\n\t\t\tif (std_chunk) std_data.push(std_chunk)\n\t\t\tif (error_chunk) error_data.push(error_chunk)\n\t\t\tif (! timeout) return\n\n\t\t\tclearTimeout(timer)\n\n\t\t\ttimer = setTimeout(() => {\n\t\t\t\tconst signal = killed ? 'SIGKILL' : 'SIGTERM'\n\t\t\t\tkilled = true\n\t\t\t\tadd()\n\t\t\t\tsub.kill(signal)\n\t\t\t}, timeout)\n\t\t}\n\n\t\tadd()\n\n\t\tsub.stdout?.on('data', data => add(data) )\n\t\tsub.stderr?.on('data', data => add(undefined, data) )\n\n\t\tconst promise = new Promise<$mol_run_error_context>((done, fail) => {\n\t\t\tconst close = (error: Error | null, status: number | null = null, signal: NodeJS.Signals | null = null) => {\n\t\t\t\tif (! timer && timeout) return\n\n\t\t\t\tclearTimeout(timer)\n\t\t\t\ttimer = undefined\n\n\t\t\t\tconst res = {\n\t\t\t\t\tpid: sub.pid,\n\t\t\t\t\tstatus,\n\t\t\t\t\tsignal,\n\t\t\t\t\tget stdout() { return Buffer.concat(std_data) },\n\t\t\t\t\tget stderr() { return Buffer.concat(error_data) }\n\t\t\t\t}\n\n\t\t\t\tthis.$mol_log3_done({\n\t\t\t\t\tplace: '$mol_run_async' ,\n\t\t\t\t\tpid: sub.pid,\n\t\t\t\t\tmessage: 'Run',\n\t\t\t\t\tstatus,\n\t\t\t\t\tcommand: args_raw.join(' ') ,\n\t\t\t\t\tdir: $node.path.relative( '' , dir ) ,\n\t\t\t\t})\n\t\t\n\t\t\t\tif (error || status || killed) return fail( new $mol_run_error(\n\t\t\t\t\t(res.stderr.toString() || res.stdout.toString() || 'Run error') + (killed ? ', timeout' : ''),\n\t\t\t\t\t{ signal, timeout: killed },\n\t\t\t\t\t...error ? [ error ] : []\n\t\t\t\t) )\n\n\t\t\t\tdone(res)\n\t\t\t}\n\t\n\t\t\tsub.on('disconnect', () => close(new Error('Disconnected')) )\n\t\t\tsub.on('error', err => close(err) )\n\t\t\tsub.on('exit', (status, signal) => close(null, status, signal) )\n\t\t})\n\n\t\treturn Object.assign(promise, { destructor: () => {\n\t\t\tclearTimeout(timer)\n\t\t\tsub.kill('SIGKILL')\n\t\t} })\n\t}\n\n\texport function $mol_run(\n\t\tthis : $ ,\n\t\toptions: $mol_run_options\n\t) {\n\t\tif (! options.env) options = { ...options, env: this.$mol_env() }\n\t\treturn $mol_wire_sync(this).$mol_run_async( options )\n\t}\n}\n","namespace $ {\n\n\texport function $mol_exec(\n\t\tthis : $ ,\n\t\tdir : string ,\n\t\tcommand : string ,\n\t\t...args : readonly string[]\n\t) {\n\t\treturn this.$mol_run( { command: [ command, ...args ], dir } )\n\t}\n}\n","namespace $ {\n\t\n\t$.$mol_dom_context = new $node.jsdom.JSDOM( '' , { url : 'https://localhost/' } ).window as any\n\t\n}\n","namespace $ {\n\t\n\texport class $mol_view_selection extends $mol_object {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic focused( next? : Element[], notify?: 'notify' ) : Element[] {\n\t\t\t\n\t\t\tconst parents : Element[] = []\n\t\t\tlet element = next?.[0] ?? $mol_dom_context.document.activeElement\n\t\t\t\n\t\t\twhile( element ) {\n\t\t\t\tparents.push( element )\n\t\t\t\telement = element.parentNode as HTMLElement\n\t\t\t}\n\t\t\t\n\t\t\tif( !next || notify ) return parents\n\t\t\t\n\t\t\tnew $mol_after_tick( ()=> {\n\t\t\t\t\n\t\t\t\tconst element = this.focused()![0] as HTMLElement\n\t\t\t\t\n\t\t\t\tif( element ) element.focus()\n\t\t\t\telse $mol_dom_context.blur()\n\t\t\t\t\n\t\t\t} )\n\n\t\t\treturn parents\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_wrapper extends $mol_object2 {\n\n\t\tstatic wrap : ( task : ( ... ags : any[] )=> any )=> ( ... ags : any[] )=> any\n\t\t\n\t\tstatic run< Result >( task : ()=> Result ) : Result {\n\t\t\treturn this.func( task )()\n\t\t}\n\t\n\t\tstatic func< Args extends any[] , Result , Host = void >(\n\t\t\tfunc : ( this : Host , ... args : Args )=> Result\n\t\t) : ( this : Host , ... args : Args )=> Result {\n\t\t\treturn this.wrap( func )\n\t\t}\n\n\t\tstatic get class() {\n\n\t\t\treturn < Class extends new ( ... args : any[] )=> any >(\n\t\t\t\tClass : Class\n\t\t\t) => {\n\n\t\t\t\ttype Args = ConstructorParameters< Class >\n\t\t\t\ttype Result = InstanceType< Class >\n\n\t\t\t\tconst construct = ( target : Class , args : Args )=> new Class( ... args )\n\n\t\t\t\tconst handler: ProxyHandler = {\n\t\t\t\t\tconstruct : this.func( construct )\n\t\t\t\t} \n\n\t\t\t\t;(handler as any)[ Symbol.toStringTag ] = Class.name + '#'\n\n\t\t\t\treturn new Proxy( Class , handler )\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tstatic get method() {\n\t\t\t\n\t\t\treturn (\n\t\t\t\tobj : object,\n\t\t\t\tname : PropertyKey,\n\t\t\t\tdescr : PropertyDescriptor,\n\t\t\t) => {\n\t\t\t\tdescr.value = this.func( descr.value! )\n\t\t\t\treturn descr\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tstatic get field() {\n\t\t\t\n\t\t\treturn <\n\t\t\t\tHost ,\n\t\t\t\tField extends keyof Host ,\n\t\t\t\tArgs extends any[] ,\n\t\t\t\tResult ,\n\t\t\t>(\n\t\t\t\tobj : Host ,\n\t\t\t\tname : Field ,\n\t\t\t\tdescr : TypedPropertyDescriptor< Result >\n\t\t\t) => {\n\t\t\t\tdescr.get = descr.set = this.func( descr.get! )\n\t\t\t\treturn descr\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_memo extends $mol_wrapper {\n\t\t\n\t\tstatic wrap< This extends object , Value >( task : ( this : This , next? : Value )=> Value ) {\n\n\t\t\tconst store = new WeakMap< This , Value >()\n\n\t\t\treturn function( this : This , next? : Value ) {\n\n\t\t\t\tif( next === undefined && store.has( this ) ) return store.get( this )\n\t\t\t\t\n\t\t\t\tconst val = task.call( this , next ) ?? next\n\t\t\t\t\n\t\t\t\tstore.set( this , val! )\n\t\t\t\t\n\t\t\t\treturn val\n\n\t\t\t}\n\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_dom_qname( name : string ) {\n\t\treturn name.replace( /\\W/g , '' ).replace( /^(?=\\d+)/ , '_' )\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Run code without state changes */\n\texport function $mol_wire_probe< Value >(\n\t\ttask : ()=> Value, def?: Value\n\t) : Value | undefined {\n\t\t\n\t\tconst warm = $mol_wire_fiber.warm\n\t\t\n\t\ttry {\n\t\t\t$mol_wire_fiber.warm = false\n\t\t\tconst res = task()\n\t\t\tif( res === undefined ) return def\n\t\t\treturn res\n\t\t} finally {\n\t\t\t$mol_wire_fiber.warm = warm\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/**\n\t * Real-time refresh current atom.\n\t * Don't use if possible. May reduce performance.\n\t */\n\texport function $mol_wire_watch() {\n\t\tconst atom = $mol_wire_auto()\n\t\tif( atom instanceof $mol_wire_atom ) {\n\t\t\tatom.watch()\n\t\t} else {\n\t\t\t$mol_fail( new Error( 'Atom is required for watching' ) )\n\t\t}\n\t}\n\t\n}\n","namespace $ { \n\t/**\n\t * Returns closure that returns constant value.\n\t * @example\n\t * const rnd = $mol_const( Math.random() )\n\t */\n\texport function $mol_const< Value >( value : Value ) {\n\t\tconst getter = <{ () : Value , '()' : Value }> ( () => value )\n\t\tgetter['()'] = value\n\t\t;(getter as any)[ Symbol.toStringTag ] = value\n\t\t;(getter as any )[ $mol_dev_format_head ] = ()=> $mol_dev_format_span( {} , '()=> ', $mol_dev_format_auto( value ) )\n\t\treturn getter\n\t}\n}\n","namespace $ {\n\t\n\t/**\n\t * Disable reaping of current subscriber\n\t */\n\texport function $mol_wire_solid() {\n\t\tlet current = $mol_wire_auto() as $mol_wire_fiber< any, any, any >\n\t\tif( current!.temp ) current = current!.host\n\t\tif( current!.reap !== nothing ) {\n\t\t\tcurrent?.sub_on( sub, sub.data.length )\n\t\t}\n\t\tcurrent!.reap = nothing\n\t}\n\t\n\tconst nothing = ()=> {}\n\tconst sub = new $mol_wire_pub_sub\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_attributes (\n\t\tel : Element ,\n\t\tattrs : { [ key : string ] : string|number|boolean|null }\n\t) {\n\n\t\tfor( let name in attrs ) {\n\n\t\t\tlet val = attrs[ name ] as any\n\n\t\t\tif( val === undefined ) {\n\t\t\t\t\n\t\t\t\tcontinue\n\t\t\t\t\n\t\t\t} else if( val === null || val === false ) {\n\n\t\t\t\tif( !el.hasAttribute( name ) ) continue\n\t\t\t\t\n\t\t\t\tel.removeAttribute( name )\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tconst str = String( val )\n\t\t\t\tif( el.getAttribute( name ) === str ) continue\n\t\t\t\t\n\t\t\t\tel.setAttribute( name , str )\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_events (\n\t\tel : Element ,\n\t\tevents : { [ key : string ] : ( event : Event )=> any },\n\t\tpassive = false\n\t) {\n\t\tfor( let name in events ) {\n\t\t\tel.addEventListener( name , events[ name ] , { passive } )\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_styles (\n\t\tel : Element ,\n\t\tstyles : { [ key : string ] : string|number }\n\t) {\n\t\tfor( let name in styles ) {\n\t\t\tlet val = styles[ name ]\n\t\t\t\n\t\t\tconst style = ( el as HTMLElement ).style as any\n\t\t\tconst kebab = ( name : string )=> name.replace( /[A-Z]/g , letter => '-' + letter.toLowerCase() )\n\t\t\t\n\t\t\tif( typeof val === 'number' ) {\n\t\t\t\tstyle.setProperty(kebab(name), `${ val }px`);\n\t\t\t} else {\n\t\t\t\tstyle.setProperty(kebab(name), val);\n\t\t\t}\n\t\t\t\n\t\t}\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_dom_render_children (\n\t\tel : Element | DocumentFragment ,\n\t\tchildNodes : NodeList | Array< Node | string | null >\n\t) {\n\t\tconst node_set = new Set< Node | string | null >( childNodes )\n\t\t\n\t\tlet nextNode : Node | null = el.firstChild\n\t\tfor( let view of childNodes ) {\n\n\t\t\tif( view == null ) continue\n\n\t\t\tif( view instanceof $mol_dom_context.Node ) {\n\t\t\t\t\n\t\t\t\twhile( true ) {\n\t\t\t\t\tif( !nextNode ) {\n\t\t\t\t\t\tel.appendChild( view )\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tif( nextNode == view ) {\n\t\t\t\t\t\tnextNode = nextNode.nextSibling\n\t\t\t\t\t\tbreak\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif( node_set.has( nextNode ) ) {\n\t\t\t\t\t\t\tel.insertBefore( view , nextNode )\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst nn = nextNode.nextSibling\n\t\t\t\t\t\t\tel.removeChild( nextNode )\n\t\t\t\t\t\t\tnextNode = nn\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\tif( nextNode && nextNode.nodeName === '#text' ) {\n\t\t\t\t\tconst str = String( view )\n\t\t\t\t\tif( nextNode.nodeValue !== str ) nextNode.nodeValue = str\n\t\t\t\t\tnextNode = nextNode.nextSibling\n\t\t\t\t} else {\n\t\t\t\t\tconst textNode = $mol_dom_context.document.createTextNode( String( view ) )\n\t\t\t\t\tel.insertBefore( textNode , nextNode )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\twhile( nextNode ) {\n\t\t\tconst currNode = nextNode\n\t\t\tnextNode = currNode.nextSibling\n\t\t\tel.removeChild( currNode )\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_fields (\n\t\tel : Element ,\n\t\tfields : { [ key : string ] : any }\n\t) {\n\t\tfor( let key in fields ) {\n\t\t\t\n\t\t\tconst val : any = fields[ key ]\n\t\t\t\n\t\t\tif( val === undefined ) continue\n\t\t\tif( val === (el as any)[ key ] ) continue\n\t\t\t\n\t\t\t(el as any)[ key ] = val\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Convert a pseudo-synchronous (Suspense API) API to an explicit asynchronous one (for integrating with external systems). */\n\texport function $mol_wire_async< Host extends object >( obj: Host ) {\n\t\t\n\t\tlet fiber: $mol_wire_fiber< any, any, any >\n\t\tconst temp = $mol_wire_task.getter( obj as ( ... args: any[] )=> any )\n\t\t\n\t\treturn new Proxy( obj, {\n\t\t\t\n\t\t\tget( obj, field ) {\n\t\t\t\t\n\t\t\t\tconst val = (obj as any)[ field ]\n\t\t\t\tif( typeof val !== 'function' ) return val\n\t\t\t\t\n\t\t\t\tlet fiber: $mol_wire_fiber< any, any, any >\n\t\t\t\tconst temp = $mol_wire_task.getter( val ) \n\t\t\t\t\n\t\t\t\treturn function $mol_wire_async( this: Host, ... args: any[] ) {\n\t\t\t\t\tfiber?.destructor()\n\t\t\t\t\tfiber = temp( obj, args )\n\t\t\t\t\treturn fiber.async()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t},\n\t\t\t\n\t\t\tapply( obj, self, args ) {\n\t\t\t\tfiber?.destructor()\n\t\t\t\tfiber = temp( self, args )\n\t\t\t\treturn fiber.async()\n\t\t\t},\n\t\t\t\n\t\t} ) as unknown as ObjectOrFunctionResultPromisify\n\t\t\n\t}\n\n\ttype FunctionResultPromisify = Some extends (...args: infer Args) => infer Res\n\t\t? Res extends PromiseLike ? Some : (...args: Args) => Promise\n\t\t: Some\n\n\ttype MethodsResultPromisify = {\n\t\t[K in keyof Host]: FunctionResultPromisify\n\t}\n\n\ttype ObjectOrFunctionResultPromisify = (\n\t\tSome extends (...args: any) => unknown ? FunctionResultPromisify : {}\n\t) & ( Some extends Object ? MethodsResultPromisify : Some )\n\n}\n","namespace $ {\n\n\texport function $mol_style_attach(\n\t\tid : string ,\n\t\ttext : string ,\n\t) {\n\n\t\tconst doc = $mol_dom_context.document\n\t\tif( !doc ) return null\n\t\t\n\t\tconst elid = `$mol_style_attach:${id}`\n\t\t\n\t\tlet el = doc.getElementById( elid ) as HTMLStyleElement\n\t\tif( !el ) {\n\t\t\tel = doc.createElement('style')\n\t\t\tel.id = elid\n\t\t\tdoc.head.appendChild( el )\n\t\t}\n\t\tif( el.innerHTML != text ) el.innerHTML = text\n\t\t\n\t\treturn el\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_decor< Value > {\n\t\t\n\t\tconstructor(\n\t\t\treadonly value : Value\n\t\t) {}\n\n\t\tprefix() { return '' }\n\t\tvalueOf() { return this.value }\n\t\tpostfix() { return '' }\n\n\t\ttoString(){\n\t\t\treturn `${ this.prefix() }${ this.valueOf() }${ this.postfix() }`\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\texport type $mol_style_unit_length =\n\t| '%'\n\t| 'px' | 'cm' | 'mm' | 'Q' | 'in' | 'pc' | 'pt'\n\t| 'cap' | 'ch' | 'em' | 'rem' | 'ex' | 'ic' | 'lh' | 'rlh'\n\t| 'vh' | 'vw' | 'vi' | 'vb' | 'vmin' | 'vmax'\n\t\n\texport type $mol_style_unit_angle = 'deg' | 'rad' | 'grad' | 'turn'\n\t\n\texport type $mol_style_unit_time = 's' | 'ms'\n\n\texport type $mol_style_unit_any = $mol_style_unit_length | $mol_style_unit_angle | $mol_style_unit_time\n\n\texport type $mol_style_unit_str< Quanity extends $mol_style_unit_any = $mol_style_unit_any> = `${number}${Quanity}`\n\n\t/**\n\t * CSS Units\n\t * @see https://mol.hyoo.ru/#!section=docs/=xwq9q5_f966fg\n\t */\n\texport class $mol_style_unit<\n\t\tLiteral extends $mol_style_unit_any\n\t> extends $mol_decor< number > {\n\n\t\tconstructor(\n\t\t\tvalue : number,\n\t\t\treadonly literal : Literal,\n\t\t) {\n\t\t\tsuper( value )\n\t\t}\n\n\t\tpostfix() {\n\t\t\treturn this.literal\n\t\t}\n\n\t\tstatic per( value : number ) { return `${value}%` as const }\n\t\tstatic px( value : number ) { return `${ value }px` as const }\n\t\tstatic mm( value : number ) { return `${value}mm` as const }\n\t\tstatic cm( value : number ) { return `${value}cm` as const }\n\t\tstatic Q( value : number ) { return `${value}Q` as const }\n\t\tstatic in( value : number ) { return `${value}in` as const }\n\t\tstatic pc( value : number ) { return `${value}pc` as const }\n\t\tstatic pt( value : number ) { return `${value}pt` as const }\n\t\tstatic cap( value : number ) { return `${value}cap` as const }\n\t\tstatic ch( value : number ) { return `${value}ch` as const }\n\t\tstatic em( value : number ) { return `${value}em` as const }\n\t\tstatic rem( value : number ) { return `${value}rem` as const }\n\t\tstatic ex( value : number ) { return `${value}ex` as const }\n\t\tstatic ic( value : number ) { return `${value}ic` as const }\n\t\tstatic lh( value : number ) { return `${value}lh` as const }\n\t\tstatic rlh( value : number ) { return `${value}rlh` as const }\n\t\tstatic vh( value : number ) { return `${value}vh` as const }\n\t\tstatic vw( value : number ) { return `${value}vw` as const }\n\t\tstatic vi( value : number ) { return `${value}vi` as const }\n\t\tstatic vb( value : number ) { return `${value}vb` as const }\n\t\tstatic vmin( value : number ) { return `${value}vmin` as const }\n\t\tstatic vmax( value : number ) { return `${value}vmax` as const }\n\t\t\n\t\tstatic deg( value : number ) { return `${value}deg` as const }\n\t\tstatic rad( value : number ) { return `${value}rad` as const }\n\t\tstatic grad( value : number ) { return `${value}grad` as const }\n\t\tstatic turn( value : number ) { return `${value}turn` as const }\n\n\t\tstatic s( value : number ) { return `${value}s` as const }\n\t\tstatic ms( value : number ) { return `${value}ms` as const }\n\t\n\t}\n\n}\n","namespace $ {\n\n\texport type $mol_style_func_name =\n\t| 'calc'\n\t| 'hsla'\n\t| 'rgba'\n\t| 'var'\n\t| 'clamp'\n\t| 'scale'\n\t| 'cubic-bezier'\n\t| 'linear'\n\t| 'steps'\n\t| $mol_style_func_image\n\t| $mol_style_func_filter\n\t\n\texport type $mol_style_func_image =\n\t| 'url'\n\t| 'linear-gradient'\n\t| 'radial-gradient'\n\t| 'conic-gradient'\n\t\n\texport type $mol_style_func_filter =\n\t| 'blur'\n\t| 'brightness'\n\t| 'contrast'\n\t| 'drop-shadow'\n\t| 'grayscale'\n\t| 'hue-rotate'\n\t| 'invert'\n\t| 'opacity'\n\t| 'sepia'\n\t| 'saturate'\n\n\tconst { per } = $mol_style_unit\n\t\n\t/**\n\t * CSS Functions\n\t * @see https://mol.hyoo.ru/#!section=docs/=xwq9q5_f966fg\n\t */\n\texport class $mol_style_func<\n\t\tName extends $mol_style_func_name ,\n\t\tValue = unknown,\n\t> extends $mol_decor< Value > {\n\n\t\tconstructor(\n\t\t\treadonly name : Name,\n\t\t\tvalue : Value,\n\t\t) {\n\t\t\tsuper( value )\n\t\t}\n\n\t\tprefix() { return this.name + '(' }\n\t\tpostfix() { return ')' }\n\n\t\tstatic linear_gradient< Value >( value : Value ) {\n\t\t\treturn new $mol_style_func( 'linear-gradient' , value )\n\t\t}\n\n\t\tstatic calc< Value >( value : Value ) {\n\t\t\treturn new $mol_style_func( 'calc' , value )\n\t\t}\n\n\t\tstatic vary< Name extends string, Value extends string >( name : Name, defaultValue? : Value ) {\n\t\t\treturn new $mol_style_func( 'var' , defaultValue ? [name, defaultValue] : name )\n\t\t}\n\n\t\tstatic url< Href extends string >( href : Href ) {\n\t\t\treturn new $mol_style_func( 'url' , JSON.stringify( href ) )\n\t\t}\n\n\t\tstatic hsla(\n\t\t\thue: number,\n\t\t\tsaturation: number,\n\t\t\tlightness: number,\n\t\t\talpha: number,\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t'hsla',\n\t\t\t\t[ hue , per( saturation ) , per( lightness ) , alpha ],\n\t\t\t)\n\t\t}\n\t\n\t\tstatic clamp(\n\t\t\tmin: $mol_style_unit_str< any >,\n\t\t\tmid: $mol_style_unit_str< any >,\n\t\t\tmax: $mol_style_unit_str< any >,\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t'clamp',\n\t\t\t\t[ min, mid, max ],\n\t\t\t)\n\t\t}\n\t\n\t\tstatic rgba(\n\t\t\tred: number,\n\t\t\tgreen: number,\n\t\t\tblue: number,\n\t\t\talpha: number,\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t'rgba',\n\t\t\t\t[ red , green , blue , alpha ],\n\t\t\t)\n\t\t}\n\t\n\t\tstatic scale(\n\t\t\tzoom: number,\n\t\t) {\n\t\t\treturn new $mol_style_func( 'scale', [ zoom ] )\n\t\t}\n\t\t\n\t\tstatic linear(\n\t\t\t...breakpoints : Array]>\n\t\t){\n\t\t\treturn new $mol_style_func(\n\t\t\t\t\"linear\",\n\t\t\t\tbreakpoints.map((e) =>\n\t\t\t\t\tArray.isArray(e)\n\t\t\t\t\t\t? String(e[0]) +\n\t\t\t\t\t\t \" \" +\n\t\t\t\t\t\t (typeof e[1] === \"number\" ? e[1] + \"%\" : e[1].toString())\n\t\t\t\t\t\t: String(e)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t\t\n\t\tstatic cubic_bezier(\n\t\t\tx1: number,\n\t\t\ty1: number,\n\t\t\tx2: number,\n\t\t\ty2: number\n\t\t){\n\t\t\treturn new $mol_style_func( 'cubic-bezier', [ x1, y1, x2, y2 ]);\n\t\t}\n\t\t\n\t\tstatic steps(value: number, step_position: 'jump-start' | 'jump-end' | 'jump-none' | 'jump-both' | 'start' | 'end'){\n\t\t\treturn new $mol_style_func( 'steps', [ value, step_position ] )\n\t\t}\n\t\t\n\t\tstatic blur(value?: $mol_style_unit_str<$mol_style_unit_length>){\n\t\t\treturn new $mol_style_func( 'blur', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic brightness(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'brightness', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic contrast(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'contrast', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic drop_shadow(\n\t\t\tcolor: $mol_style_properties_color,\n\t\t\tx_offset: $mol_style_unit_str<$mol_style_unit_length>,\n\t\t\ty_offset: $mol_style_unit_str<$mol_style_unit_length>,\n\t\t\tblur_radius?: $mol_style_unit_str<$mol_style_unit_length>\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t\"drop-shadow\",\n\t\t\t\tblur_radius\n\t\t\t\t\t? [color, x_offset, y_offset, blur_radius]\n\t\t\t\t\t: [color, x_offset, y_offset]\n\t\t\t);\n\t\t}\n\t\t\n\t\tstatic grayscale(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'grayscale', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic hue_rotate(value?: 0 | $mol_style_unit_str<$mol_style_unit_angle>){\n\t\t\treturn new $mol_style_func( 'hue-rotate', value ?? \"\")\n\t\t}\n\t\t\n\t\tstatic invert(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'invert', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic opacity(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'opacity', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic sepia(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'sepia', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic saturate(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'saturate', value ?? \"\" );\n\t\t}\n\t\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Create record of CSS variables. */\n\texport function $mol_style_prop< Keys extends string[] >(\n\t\tprefix: string ,\n\t\tkeys: Keys\n\t) {\n\t\t\n\t\tconst record = keys.reduce( ( rec , key: Keys[number] )=> {\n\t\t\t\n\t\t\trec[ key ] = $mol_style_func.vary( `--${ prefix }_${ key }` )\n\t\t\treturn rec\n\t\t\t\n\t\t}, {} as Record< Keys[number], $mol_style_func< 'var' > > )\n\t\t\n\t\treturn record\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Theme css variables\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_textarea_demo\n\t */\t\n\texport const $mol_theme = $mol_style_prop(\n\t\t'mol_theme',\n\t\t[\n\t\t\t'back',\n\t\t\t'hover',\n\t\t\t'card',\n\t\t\t'current',\n\t\t\t'special',\n\t\t\t'text',\n\t\t\t'control',\n\t\t\t'shade',\n\t\t\t'line',\n\t\t\t'focus',\n\t\t\t'field',\n\t\t\t'image',\n\t\t] as const\n\t)\n\n}\n","namespace $ { $mol_style_attach( \"mol/theme/theme.css\",\n \":root {\\n\\t--mol_theme_hue: 210deg;\\n\\t--mol_theme_hue_spread: 90deg;\\n}\\n\\n:where([mol_theme]) {\\n\\tcolor: var(--mol_theme_text);\\n\\tfill: var(--mol_theme_text);\\n\\tbackground-color: var(--mol_theme_back);\\n}\\n\\t\\n:root, [mol_theme=\\\"$mol_theme_dark\\\"], :where([mol_theme=\\\"$mol_theme_dark\\\"]) [mol_theme] {\\n\\n\\t--mol_theme_luma: -1;\\n\\t--mol_theme_image: invert(1) hue-rotate( 180deg );\\n\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 10% );\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 20%, .25 );\\n\\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 8%, .25 );\\n\\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\\n\\t\\n\\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 80% );\\n\\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 60%, 1 );\\n\\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .25 );\\n\\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 65% );\\n\\t\\n\\t--mol_theme_control: hsl( var(--mol_theme_hue), 60%, 65% );\\n\\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 60%, 65% );\\n\\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 60%, 65% );\\n\\n\\t/* --mol_theme_back: oklch( 20% .03 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 35% .05 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_field: oklch( 0% 0 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\\n\\t\\n\\t--mol_theme_text: oklch( 80% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_line: oklch( 50% 0 var(--mol_theme_hue) / .2 );\\n\\t--mol_theme_focus: oklch( 80% .2 calc( var(--mol_theme_hue) + 120deg ) );\\n\\t\\n\\t--mol_theme_control: oklch( 70% .1 var(--mol_theme_hue) );\\n\\t--mol_theme_current: oklch( 80% .2 calc( var(--mol_theme_hue) - 60deg ) );\\n\\t--mol_theme_special: oklch( 80% .3 calc( var(--mol_theme_hue) + 60deg ) ); */\\n\\n}\\n\\n[mol_theme=\\\"$mol_theme_light\\\"], :where([mol_theme=\\\"$mol_theme_light\\\"]) [mol_theme] {\\n\\t\\n\\t--mol_theme_luma: 1;\\n\\t--mol_theme_image: none;\\n\\t\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 92% );\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 100%, .5 );\\n\\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 100%, .75 );\\n\\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\\n\\t\\n\\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 0% );\\n\\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 40%, 1 );\\n\\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .25 );\\n\\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 40% );\\n\\t\\n\\t--mol_theme_control: hsl( var(--mol_theme_hue), 80%, 30% );\\n\\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 80%, 30% );\\n\\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 80%, 30% );\\n\\t\\n\\t/* --mol_theme_back: oklch( 93% .01 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 100% .02 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_field: oklch( 100% 0 var(--mol_theme_hue) / .5 );\\n\\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\\n\\t\\n\\t--mol_theme_text: oklch( 20% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_line: oklch( 70% 0 var(--mol_theme_hue) / .2 );\\n\\t--mol_theme_focus: oklch( 20% .8 calc( var(--mol_theme_hue) + 120deg ) );\\n\\t\\n\\t--mol_theme_control: oklch( 45% .25 var(--mol_theme_hue) );\\n\\t--mol_theme_current: oklch( 45% .5 calc( var(--mol_theme_hue) - 60deg ) );\\n\\t--mol_theme_special: oklch( 45% .5 calc( var(--mol_theme_hue) + 60deg ) ); */\\n\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_base\\\"] {\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 50%, 30% );\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), 40%, 20%, .25 );\\n\\t/* --mol_theme_back: oklch( 25% .05 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 35% .1 var(--mol_theme_hue) / .25 ); */\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_base\\\"] {\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 50%, 80% );\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), 80%, 95%, .25 );\\n\\t/* --mol_theme_back: oklch( 95% .02 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 80% .05 var(--mol_theme_hue) / .25 ); */\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_accent\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + 180deg ), 90%, 30% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + 180deg ), 80%, 20%, .25 );\\n\\t/* --mol_theme_back: oklch( 40% .2 calc( var(--mol_theme_hue) + 120deg ) );\\n\\t--mol_theme_card: oklch( 50% .3 calc( var(--mol_theme_hue) + 120deg ) / .25 ); */\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_accent\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + 180deg ), 90%, 75% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + 180deg ), 80%, 90%, .25 );\\n\\t/* --mol_theme_back: oklch( 90% .03 calc( var(--mol_theme_hue) + 120deg ) );\\n\\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) + 120deg ) / .25 ); */\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_current\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 50%, 30% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 40%, 20%, .25 );\\n\\t/* --mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) - 60deg ) );\\n\\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) - 60deg ) / .25 ); */\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_current\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 50%, 92% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 80%, 100%, .5 );\\n\\t/* --mol_theme_back: oklch( 95% .02 calc( var(--mol_theme_hue) - 60deg ) );\\n\\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) - 60deg ) / .25 ); */\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_special\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 50%, 30% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 40%, 20%, .25 );\\n\\t/* --mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) + 60deg ) );\\n\\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) + 60deg ) / .25 ); */\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_special\\\"] {\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 50%, 92% );\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 80%, 100%, .5 );\\n\\t/* --mol_theme_back: oklch( 95% .02 calc( var(--mol_theme_hue) + 60deg ) );\\n\\t--mol_theme_card: oklch( 80% .05 calc( var(--mol_theme_hue) + 60deg ) / .25 ); */\\n}\\n\"\n) }","namespace $ {\n\n\t/**\n\t * Gap in CSS\n\t * @see https://page.hyoo.ru/#!=msdb74_bm7nsq\n\t */\n\texport let $mol_gap = $mol_style_prop(\n\t\t'mol_gap',\n\t\t[\n\t\t\t'block',\n\t\t\t'text',\n\t\t\t'round',\n\t\t\t'space',\n\t\t\t'blur',\n\t\t] as const\n\t)\n\n}\n","namespace $ { $mol_style_attach( \"mol/gap/gap.css\",\n \":root {\\n\\t--mol_gap_block: .75rem;\\n\\t--mol_gap_text: .5rem .75rem;\\n\\t--mol_gap_round: .25rem;\\n\\t--mol_gap_space: .25rem;\\n\\t--mol_gap_blur: .5rem;\\n}\\n\"\n) }","namespace $ {\n\n\texport type $mol_view_content = $mol_view|Node|string|number|boolean\n\t\n\texport function $mol_view_visible_width() {\n\t\treturn $mol_window.size().width\n\t}\n\t\n\texport function $mol_view_visible_height() {\n\t\treturn $mol_window.size().height\n\t}\n\t\n\texport function $mol_view_state_key( suffix : string ) {\n\t\treturn suffix\n\t}\n\t\n\t/**\n\t * The base class for all visual components. It provides the infrastructure for reactive lazy rendering, handling exceptions.\n\t * @see https://mol.hyoo.ru/#!section=docs/=vv2nig_s5zr0f\n\t */\n\t/// Reactive statefull lazy ViewModel\n\texport class $mol_view extends $mol_object {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic Root< This extends typeof $mol_view >( this : This , id: number ) {\n\t\t\treturn new this as InstanceType< This >\n\t\t}\n\n\t\t@ $mol_mem\n\t\tautorun() {\n\t\t\ttry {\n\t\t\t\tthis.dom_tree()\n\t\t\t\tdocument.title = this.title()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic autobind() {\n\t\t\t\n\t\t\tconst nodes = $mol_dom_context.document.querySelectorAll( '[mol_view_root]:not([mol_view_root=\"\"])' )\n\t\t\t\n\t\t\tfor( let i = nodes.length - 1 ; i >= 0 ; --i ) {\n\n\t\t\t\tconst name = nodes.item( i ).getAttribute( 'mol_view_root' )!\n\t\t\t\t\n\t\t\t\tconst View = ($ as any)[ name ] as typeof $mol_view\n\t\t\t\tif( !View ) {\n\t\t\t\t\tconsole.error( `Can not attach view. Class not found: ${ name }` )\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst view = View.Root( i )\n\t\t\t\tview.dom_node( nodes.item( i ) )\n\t\t\t\tview.autorun()\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttitle() {\n\t\t\treturn this.toString().match( /.*\\.(\\w+)/ )?.[1] ?? this.toString()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tfocused( next?: boolean ) {\n\t\t\tlet node = this.dom_node()\n\t\t\tconst value = $mol_view_selection.focused( next === undefined ? undefined : ( next ? [ node ] : [] ) )\n\t\t\treturn value.indexOf( node ) !== -1\n\t\t}\n\t\t\n\t\tstate_key( suffix = '' ) {\n\t\t\treturn this.$.$mol_view_state_key( suffix )\n\t\t}\n\t\t\n\t\t/// Name of element that created when element not found in DOM\n\t\t@ $mol_memo.method\n\t\tdom_name() {\n\t\t\treturn $mol_dom_qname( this.constructor.toString() ) || 'div'\n\t\t}\n\t\t\n\t\t/// NameSpace of element that created when element not found in DOM\n\t\tdom_name_space() { return 'http://www.w3.org/1999/xhtml' }\n\t\t\n\t\t/// Raw child views\n\t\tsub() {\n\t\t\treturn [] as readonly ($mol_view|Node|string|number|boolean)[]\n\t\t}\n\t\t\n\t\t/// Visible sub views with defined ambient context\n\t\t/// Render all by default\n\t\tsub_visible() {\n\t\t\treturn this.sub()\n\t\t}\n\t\t\n\t\t/// Minimal width that used for lazy rendering\n\t\t@ $mol_mem\n\t\tminimal_width() {\n\t\t\t\n\t\t\tlet min = 0\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tconst sub = this.sub()\n\t\t\t\tif( !sub ) return 0\n\t\t\t\t\n\t\t\t\tsub.forEach( view => {\n\t\t\t\t\tif( view instanceof $mol_view ) {\n\t\t\t\t\t\tmin = Math.max( min , view.minimal_width() )\n\t\t\t\t\t}\n\t\t\t\t} )\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn 24\n\t\t\t}\n\t\t\n\t\t\treturn min\n\t\t}\n\t\t\n\t\tmaximal_width() {\n\t\t\treturn this.minimal_width()\n\t\t}\n\t\t\n\t\t/// Minimal height that used for lazy rendering\n\t\t@ $mol_mem\n\t\tminimal_height() {\n\t\t\t\n\t\t\tlet min = 0\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tfor( const view of this.sub() ?? [] ) {\n\n\t\t\t\t\tif( view instanceof $mol_view ) {\n\t\t\t\t\t\tmin = Math.max( min , view.minimal_height() )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t \n\t\t\t} catch( error: any ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn 24\n\t\t\t}\n\n\t\t\treturn min\n\t\t}\n\n\t\tstatic watchers = new Set< $mol_view >()\n\n\t\t@ $mol_mem\n\t\tview_rect() {\n\t\t\tif( $mol_wire_probe( ()=> this.view_rect() ) === undefined ) {\n\t\t\t\t$mol_wire_watch()\n\t\t\t\treturn null // don't touch DOM to prevent instant reflow\n\t\t\t} else {\n\t\t\t\tconst { width, height, left, right, top, bottom } = this.dom_node().getBoundingClientRect()\n\t\t\t\treturn { width, height, left, right, top, bottom } // pick to optimize compare\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_memo.method\n\t\tdom_id() {\n\t\t\treturn this.toString().replace( //g, ')' ).replaceAll( /\"/g, \"'\" )\n\t\t}\n\t\n\t\tdom_node_external( next?: Element) {\n\t\t\tconst node = next ?? $mol_dom_context.document.createElementNS( this.dom_name_space() , this.dom_name() )\n\n\t\t\tconst id = this.dom_id()\n\t\t\tnode.setAttribute( 'id' , id )\n\t\t\tnode.toString = $mol_const( '<#' + id + '>' )\n\n\t\t\treturn node\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdom_node( next? : Element ) {\n\t\t\t$mol_wire_solid()\n\t\t\tconst node = this.dom_node_external( next )\n\t\t\t$mol_dom_render_attributes( node , this.attr_static() )\n\t\t\t\n\t\t\tconst events = this.event_async()\n\t\t\t$mol_dom_render_events(node, events)\n\n\t\t\treturn node\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdom_final() {\n\t\t\t\n\t\t\tthis.render()\n\t\t\t\n\t\t\tconst sub = this.sub_visible()\n\t\t\tif( !sub ) return\n\t\t\t\n\t\t\tfor( const el of sub ) {\n\t\t\t\tif( el && typeof el === 'object' && 'dom_final' in el ) {\n\t\t\t\t\tel['dom_final']()\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn this.dom_node()\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tdom_tree( next? : Element ) : Element {\n\t\t\tconst node = this.dom_node( next )\n\t\t\t\n\t\t\trender: try {\n\n\t\t\t\t$mol_dom_render_attributes( node , { mol_view_error : null } )\n\n\t\t\t\ttry {\n\t\t\t\t\n\t\t\t\t\tthis.render()\n\t\t\t\t\t\n\t\t\t\t} finally {\n\t\t\t\t\t\n\t\t\t\t\tfor( let plugin of this.plugins() ) {\n\t\t\t\t\t\tif( plugin instanceof $mol_plugin ) {\n\t\t\t\t\t\t\tplugin.dom_tree()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\tconst mol_view_error = $mol_promise_like(error) ? 'Promise' : error.name || error.constructor.name\n\t\t\t\t$mol_dom_render_attributes( node , { mol_view_error } )\n\t\t\t\t\n\t\t\t\tif( $mol_promise_like( error ) ) break render\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tconst message = error.message || error\n\t\t\t\t\t;( node as HTMLElement ).innerText = message.replace( /^|$/mg, '\\xA0\\xA0' )\n\t\t\t\t} catch {}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.auto()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t\t\t\n\t\t\treturn node\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdom_node_actual() {\n\t\t\tconst node = this.dom_node()\n\n\t\t\t$mol_dom_render_styles( node, this.style_size() )\n\n\t\t\tconst attr = this.attr()\n\t\t\tconst style = this.style()\n\n\t\t\t$mol_dom_render_attributes( node , attr )\n\t\t\t$mol_dom_render_styles( node , style )\n\n\t\t\treturn node\n\t\t}\n\t\t\n\t\tauto() {\n\t\t\treturn null as any\n\t\t}\n\n\t\t@ $mol_mem\n\t\trender() {\n\n\t\t\tconst node = this.dom_node_actual()\n\n\t\t\tconst sub = this.sub_visible()\n\t\t\tif( !sub ) return\n\t\t\t\n\t\t\tconst nodes = sub.map( child => {\n\t\t\t\tif( child == null ) return null\n\t\t\t\treturn ( child instanceof $mol_view )\n\t\t\t\t\t? child.dom_node()\n\t\t\t\t\t: child instanceof $mol_dom_context.Node\n\t\t\t\t\t? child\n\t\t\t\t\t: String( child )\n\t\t\t})\n\t\t\t\n\t\t\t$mol_dom_render_children( node , nodes )\n\n\t\t\tfor( const el of sub ) if( el && typeof el === 'object' && 'dom_tree' in el ) el['dom_tree']()\n\n\t\t\t$mol_dom_render_fields( node , this.field() )\n\t\t\t\n\t\t}\n\n\t\t@ $mol_memo.method\n\t\tstatic view_classes() {\n\t\t\tconst proto = this.prototype\n\t\t\t\n\t\t\tlet current = proto\n\t\t\tconst classes = [] as ( typeof $mol_view )[]\n\t\t\t\n\t\t\twhile( current ) {\n\t\t\t\tif( current.constructor.name !== classes.at(-1)?.name ) {\n\t\t\t\t\tclasses.push( current.constructor as typeof $mol_view )\n\t\t\t\t}\n\t\t\t\tif(!( current instanceof $mol_view )) break\n\t\t\t\tcurrent = Object.getPrototypeOf( current )\n\t\t\t}\n\t\t\t\n\t\t\treturn classes\n\t\t}\n\t\t\n\t\tstatic _view_names?: Map< string, string[] >\n\t\tstatic view_names( suffix: string ) {\n\t\t\t\n\t\t\tlet cache = Reflect.getOwnPropertyDescriptor( this, '_view_names' )?.value\n\t\t\tif( !cache ) cache = this._view_names = new Map\n\t\t\t\n\t\t\tconst cached = cache.get( suffix )\n\t\t\tif( cached ) return cached\n\t\t\t\n\t\t\tconst names = [] as string[]\n\t\t\tconst suffix2 = '_' + suffix[0].toLowerCase() + suffix.substring(1)\n\t\t\t\n\t\t\tfor( const Class of this.view_classes() ) {\n\t\t\t\tif( suffix in Class.prototype ) names.push( this.$.$mol_func_name( Class ) + suffix2 )\n\t\t\t\telse break\n\t\t\t}\n\t\t\t\n\t\t\tcache.set( suffix, names )\n\t\t\treturn names\n\t\t}\n\t\t\n\t\t@ $mol_memo.method\n\t\tview_names_owned() {\n\t\t\tconst names = [] as string[]\n\t\t\tlet owner = $mol_owning_get( this ) as $mol_wire_fiber< any, any[], any >\n\n\t\t\tif(!( owner?.host instanceof $mol_view )) return names\n\n\t\t\tconst suffix = owner.task.name.trim()\n\t\t\tconst suffix2 = '_' + suffix[0].toLowerCase() + suffix.substring(1)\n\t\t\t\n\t\t\tnames.push( ... ( owner.host.constructor as typeof $mol_view ).view_names( suffix ) )\n\t\t\t\n\t\t\tfor( let prefix of owner.host.view_names_owned() ) {\n\t\t\t\tnames.push( prefix + suffix2 )\n\t\t\t}\n\t\t\t\n\t\t\treturn names\n\t\t}\n\n\t\t@ $mol_memo.method\n\t\tview_names() {\n\t\t\tconst names = new Set< string >()\n\t\t\t\n\t\t\tfor( let name of this.view_names_owned() ) names.add( name )\n\n\t\t\tfor( let Class of ( this.constructor as typeof $mol_view ).view_classes() ) {\n\t\t\t\tconst name = this.$.$mol_func_name( Class )\n\t\t\t\tif( name ) names.add( name )\n\t\t\t}\n\n\t\t\treturn names\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttheme( next = null as null | string ) {\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tattr_static() : { [ key : string ] : string|number|boolean|null } {\n\t\t\tlet attrs : any = {}\n\t\t\t\n\t\t\tfor( let name of this.view_names() ) attrs[ name.replace( /\\$/g , '' ).replace( /^(?=\\d)/ , '_' ).toLowerCase() ] = ''\n\t\t\t\n\t\t\treturn attrs\n\t\t}\n\t\t\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\tmol_theme: this.theme() ?? undefined,\n\t\t\t} as {}\n\t\t}\n\t\t\n\t\tstyle_size() {\n\t\t\treturn {\n\t\t\t\tminHeight: this.minimal_height(),\n\t\t\t\tminWidth: this.minimal_width(),\n\t\t\t} as {\n\t\t\t\t[key: string]: string | number;\n\t\t\t}\n\t\t}\n\t\t\n\t\tstyle() : { [ key : string ] : string|number } {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\tfield() : { [ key : string ] : any } {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\tevent() : { [ key : string ] : ( event : Event )=> void } {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tevent_async() {\n\t\t\treturn { ... $mol_wire_async(this.event()) }\n\t\t}\n\n\t\tplugins() {\n\t\t\treturn [] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_span( {} ,\n\t\t\t\t$mol_dev_format_native( this ) ,\n\t\t\t\t// $mol_dev_format_shade( '/' ) ,\n\t\t\t\t// $mol_dev_format_auto( $mol_wire_cache( this ).sub().cache ) ,\n\t\t\t)\n\t\t}\n\n\t\t/** Deep search view by predicate. */\n\t\t*view_find(\n\t\t\tcheck: ( path : $mol_view, text?: string )=> boolean,\n\t\t\tpath = [] as $mol_view[],\n\t\t): Generator< $mol_view[] > {\n\n\t\t\tif( check( this ) ) return yield [ ... path, this ]\n\t\t\t\n\t\t\ttry {\n\t\t\t\tfor( const item of this.sub() ) {\n\t\t\t\t\tif( item instanceof $mol_view ) {\n\t\t\t\t\t\tyield* item.view_find( check, [ ... path, this ] )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch( error: unknown ) {\n\t\t\t\tif( $mol_promise_like( error ) ) $mol_fail_hidden( error )\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t/** Renders path of views to DOM. */\n\t\tforce_render(\n\t\t\tpath : Set< $mol_view >,\n\t\t) {\n\n\t\t\tconst kids = this.sub()\n\n\t\t\tconst index = kids.findIndex( item => {\n\t\t\t\tif( item instanceof $mol_view ) {\n\t\t\t\t\treturn path.has( item )\n\t\t\t\t} else {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tif( index >= 0 ) {\n\t\t\t\t( kids[ index ] as $mol_view ).force_render( path )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t/** Renders view to DOM and scroll to it. */\n\t\tensure_visible( view: $mol_view, align: ScrollLogicalPosition = \"start\" ) {\n\t\t\t\n\t\t\tconst path = this.view_find( v => v === view ).next().value\n\t\t\tthis.force_render( new Set( path ) )\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.dom_final()\n\t\t\t} catch(err) {\n\t\t\t\t$mol_fail_log(err)\n\t\t\t}\n\n\t\t\tview.dom_node().scrollIntoView({ block: align })\n\n\t\t}\n\t\t\n\t\tbring() {\n\t\t\t\n\t\t\tconst win = this.$.$mol_dom_context\n\t\t\tif( win.parent !== win.self && !win.document.hasFocus() ) return\n\t\t\t\n\t\t\t// new this.$.$mol_after_frame( ()=> {\n\t\t\t// \tthis.dom_node().scrollIntoView({ block: 'start', inline: 'nearest' })\n\t\t\t// } )\n\t\t\t\n\t\t\t// new this.$.$mol_after_timeout( 1000, ()=> {\n\t\t\t\tthis.focused( true )\n\t\t\t// } )\n\t\t\t\n\t\t}\n\n\t\toverride destructor() {\n\t\t\tconst node = $mol_wire_probe(() => this.dom_node())\n\t\t\tif (! node) return\n\n\t\t\tconst events = $mol_wire_probe(() => this.event_async())\n\t\t\tif (! events) return\n\n\t\t\tfor( let event_name in events ) {\n\t\t\t\tnode.removeEventListener(\n\t\t\t\t\tevent_name ,\n\t\t\t\t\tevents[ event_name ]\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t}\n\n\texport type $mol_view_all = $mol_type_pick< $ , typeof $mol_view >\n\n}\n","namespace $ { $mol_style_attach( \"mol/view/view/view.css\",\n \"[mol_view] {\\n\\ttransition-property: height, width, min-height, min-width, max-width, max-height, transform;\\n\\ttransition-duration: .2s;\\n\\ttransition-timing-function: ease-out;\\n\\t-webkit-appearance: none;\\n\\tbox-sizing: border-box;\\n\\tdisplay: flex;\\n\\tflex-shrink: 0;\\n\\tcontain: style;\\n\\tscrollbar-color: var(--mol_theme_line) transparent;\\n\\tscrollbar-width: thin;\\n}\\t\\n\\n[mol_view]::selection {\\n\\tbackground: var(--mol_theme_line);\\n}\\t\\n\\n[mol_view]::-webkit-scrollbar {\\n\\twidth: .25rem;\\n\\theight: .25rem;\\n}\\n\\n[mol_view]::-webkit-scrollbar-corner {\\n\\tbackground-color: var(--mol_theme_line);\\n}\\n\\n[mol_view]::-webkit-scrollbar-track {\\n\\tbackground-color: transparent;\\n}\\n\\n[mol_view]::-webkit-scrollbar-thumb {\\n\\tbackground-color: var(--mol_theme_line);\\n\\tborder-radius: var(--mol_gap_round);\\n}\\n\\n[mol_view] > * {\\n\\tword-break: inherit;\\n}\\n\\n[mol_view_root] {\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\tbox-sizing: border-box;\\n\\tfont-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\\n\\tfont-size: 1rem;\\n\\tline-height: 1.5rem;\\n\\tbackground: var(--mol_theme_back);\\n\\tcolor: var(--mol_theme_text);\\n\\tcontain: unset; /** Fixes bg ignoring when applied to body on Chrome */\\n\\ttab-size: 4;\\n\\toverscroll-behavior: contain; /** Disable navigation gestures **/\\n}\\n\\n@media print {\\n\\t[mol_view_root] {\\n\\t\\theight: auto;\\n\\t}\\n}\\n\\n[mol_view][mol_view_error]:not([mol_view_error=\\\"Promise\\\"]) {\\n\\tbackground-image: repeating-linear-gradient(\\n\\t\\t-45deg,\\n\\t\\t#f92323,\\n\\t\\t#f92323 .5rem,\\n\\t\\t#ff3d3d .5rem,\\n\\t\\t#ff3d3d 1.5rem\\n\\t);\\n\\tcolor: black;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\\n@keyframes mol_view_wait {\\n\\tfrom {\\n\\t\\topacity: .25;\\n\\t}\\n\\t20% {\\n\\t\\topacity: .75;\\n\\t}\\n\\tto {\\n\\t\\topacity: .25;\\n\\t}\\n}\\n\\n:where([mol_view][mol_view_error=\\\"Promise\\\"]) {\\n\\tbackground: var(--mol_theme_hover);\\n}\\n\\n[mol_view][mol_view_error=\\\"Promise\\\"] {\\n\\tanimation: mol_view_wait 1s steps(20,end) infinite;\\n}\\n\"\n) }","namespace $ {\n\t/** Plugin is component without its own DOM element, but instead uses the owner DOM element */\n\texport class $mol_plugin extends $mol_view {\n\n\t\toverride dom_node_external( next? : Element ) {\n\t\t\treturn next ?? $mol_owning_get>( this )!.host!.dom_node()\n\t\t}\n\n\t\toverride render() {\n\t\t\tthis.dom_node_actual()\n\t\t}\n\n\t}\n\n}\n","$mol_scroll $mol_view\n\tscroll_top? 0\n\tscroll_left? 0\n\tfield *\n\t\t^\n\t\ttabIndex <= tabindex -1\n\tevent *\n\t\t^\n\t\tscroll?event <=> event_scroll?event null\n","namespace $ {\n\n\texport class $mol_dom_listener extends $mol_object {\n\n\t\tconstructor(\n\t\t\tpublic _node : any ,\n\t\t\tpublic _event : string ,\n\t\t\tpublic _handler : ( event : any )=> any ,\n\t\t\tpublic _config : boolean|{ passive : boolean } = { passive : true }\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis._node.addEventListener( this._event , this._handler , this._config )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tthis._node.removeEventListener( this._event , this._handler , this._config )\n\t\t\tsuper.destructor()\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_print extends $mol_object {\n\n\t\t@ $mol_mem\n\t\tstatic before() {\n\t\t\treturn new $mol_dom_listener( this.$.$mol_dom_context , 'beforeprint' , ()=> {\n\t\t\t\tthis.active( true )\n\t\t\t} )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstatic after() {\n\t\t\treturn new $mol_dom_listener( this.$.$mol_dom_context , 'afterprint' , ()=> {\n\t\t\t\tthis.active( false )\n\t\t\t} )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstatic active( next? : boolean ) {\n\t\t\tthis.before()\n\t\t\tthis.after()\n\t\t\treturn next || false\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_style_sheet<\n\t\tComponent extends $mol_view,\n\t\tConfig extends $mol_style_guard< Component , Config >,\n\t>(\n\t\tComponent : new()=> Component,\n\t\tconfig0 : Config ,\n\t) {\n\n\t\tlet rules = [] as string[]\n\n\t\tconst block = $mol_dom_qname( $mol_ambient({}).$mol_func_name( Component ) )\n\t\tconst kebab = ( name : string )=> name.replace( /[A-Z]/g , letter => '-' + letter.toLowerCase() )\n\n\t\tconst make_class = ( prefix : string , path : string[] , config : typeof config0 )=> {\n\n\t\t\tconst props = [] as string[]\n\n\t\t\tconst selector = ( prefix : string , path : string[] )=> {\n\t\t\t\tif( path.length === 0 ) return prefix || `[${ block }]`\n\t\t\t\tlet res = `[${ block }_${ path.join('_') }]`\n\t\t\t\tif( prefix ) res = prefix + ' :where(' + res + ')'\n\t\t\t\treturn res\n\t\t\t}\n\t\t\t\n\t\t\tfor( const key of Object.keys( config ).reverse() ) {\n\n\t\t\t\tif( /^(--)?[a-z]/.test(key) ) {\n\t\t\t\t\t\n\t\t\t\t\tconst addProp = ( keys : string[] , val : any )=> {\n\n\t\t\t\t\t\tif( Array.isArray( val ) ) {\n\n\t\t\t\t\t\t\tif( val[0] && [ Array , Object ].includes( val[0].constructor ) ) {\n\t\t\t\t\t\t\t\tval = val.map( v => {\n\t\t\t\t\t\t\t\t\treturn Object.entries( v ).map( ([ n , a ])=> {\n\t\t\t\t\t\t\t\t\t\tif( a === true ) return kebab( n )\n\t\t\t\t\t\t\t\t\t\tif( a === false ) return null\n\t\t\t\t\t\t\t\t\t\treturn String( a )\n\t\t\t\t\t\t\t\t\t} ).filter( Boolean ).join(' ')\n\t\t\t\t\t\t\t\t}).join( ',' )\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tval = val.join(' ')\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tprops.push(`\\t${ keys.join('-') }: ${ val };\\n`)\n\n\t\t\t\t\t\t} else if( val.constructor === Object ) {\n\n\t\t\t\t\t\t\tfor( let suffix in val ) {\n\t\t\t\t\t\t\t\taddProp( [ ... keys , kebab( suffix ) ] , val[ suffix ] )\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\tprops.push(`\\t${ keys.join('-') }: ${ val };\\n`)\n\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\n\t\t\t\t\taddProp( [ kebab(key) ] , (config as any)[key] )\n\n\t\t\t\t} else if( /^[A-Z]/.test(key) ) {\n\n\t\t\t\t\tmake_class( prefix , [ ... path , key.toLowerCase() ] , (config as any)[key] )\n\n\t\t\t\t} else if( key[0] === '$' ) {\n\n\t\t\t\t\tmake_class( selector( prefix , path ) + ' :where([' + $mol_dom_qname( key ) + '])' , [] , (config as any)[key] )\n\n\t\t\t\t} else if( key === '>' ) {\n\n\t\t\t\t\tconst types = config[key] as any\n\n\t\t\t\t\tfor( let type in types ) {\n\t\t\t\t\t\tmake_class( selector( prefix , path ) + ' > :where([' + $mol_dom_qname( type ) + '])' , [] , types[type] )\n\t\t\t\t\t}\n\n\t\t\t\t} else if( key === '@' ) {\n\n\t\t\t\t\tconst attrs = config[key] as any\n\n\t\t\t\t\tfor( let name in attrs ) {\n\t\t\t\t\t\tfor( let val in attrs[name] ) {\n\t\t\t\t\t\t\tmake_class( selector( prefix , path ) + ':where([' + name + '=' + JSON.stringify( val ) + '])' , [] , attrs[name][val] )\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t} else if( key === '@media' ) {\n\n\t\t\t\t\tconst media = (config as any)[key] as any\n\n\t\t\t\t\tfor( let query in media ) {\n\n\t\t\t\t\t\trules.push('}\\n')\n\t\t\t\t\t\t\n\t\t\t\t\t\tmake_class( prefix , path , media[query] )\n\t\t\t\t\t\t\n\t\t\t\t\t\trules.push( `${ key } ${ query } {\\n` )\n\n\t\t\t\t\t}\n\n\t\t\t\t} else if( key[0] === '[' && key[key.length-1] === ']' ) {\n\n\t\t\t\t\tconst attr = key.slice( 1, -1 )\n\t\t\t\t\tconst vals = config[ key as any ] as any as Record< string, any >\n\t\t\t\t\t\n\t\t\t\t\tfor( let val in vals ) {\n\t\t\t\t\t\tmake_class( selector( prefix , path ) + ':where([' + attr + '=' + JSON.stringify( val ) + '])' , [] , vals[val] )\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\t} else {\n\n\t\t\t\t\tmake_class( selector( prefix , path ) + key , [] , (config as any)[key] )\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\tif( props.length ) {\n\t\t\t\trules.push( `${ selector( prefix , path ) } {\\n${ props.reverse().join('') }}\\n` )\n\t\t\t}\n\n\t\t}\n\n\t\tmake_class( '' , [] , config0 )\n\n\t\treturn rules.reverse().join('')\n\n\t}\n\n}\n","namespace $ {\n\n\t/**\n\t * CSS in TS.\n\t * Statically typed CSS style sheets. Following samples show which CSS code are generated from TS code.\n\t * @see https://mol.hyoo.ru/#!section=docs/=xwq9q5_f966fg\n\t */\n\texport function $mol_style_define<\n\t\tComponent extends $mol_view,\n\t\tConfig extends $mol_style_guard< Component , Config >,\n\t>(\n\t\tComponent : new()=> Component,\n\t\tconfig : Config ,\n\t) {\n\n\t\treturn $mol_style_attach(\n\t\t\tComponent.name,\n\t\t\t$mol_style_sheet( Component , config ),\n\t\t)\n\n\t}\n\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Scrolling pane.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_scroll_demo\n\t */\n\texport class $mol_scroll extends $.$mol_scroll {\n\n\t\t@ $mol_mem\n\t\tscroll_top( next? : number, cache?: 'cache' ): number {\n\t\t\t\n\t\t\tconst el = this.dom_node()\n\t\t\tif( next !== undefined && !cache ) el.scrollTop = next\n\t\t\t\n\t\t\treturn el.scrollTop\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tscroll_left( next? : number, cache?: 'cache' ): number {\n\t\t\t\n\t\t\tconst el = this.dom_node()\n\t\t\tif( next !== undefined && !cache ) el.scrollLeft = next\n\t\t\t\n\t\t\treturn el.scrollLeft\n\t\t}\n\t\t\n\t\tevent_scroll( next? : Event ) {\n\t\t\t\n\t\t\tconst el = this.dom_node() as HTMLElement\n\t\t\t\n\t\t\tthis.scroll_left( el.scrollLeft, 'cache' )\n\t\t\tthis.scroll_top( el.scrollTop, 'cache' )\n\t\t\t\n\t\t}\n\n\t\tminimal_height() {\n\t\t\treturn this.$.$mol_print.active() ? null! : 0\n\t\t}\n\t\t\n\t\tminimal_width() {\n\t\t\treturn this.$.$mol_print.active() ? null! : 0\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $.$$ {\n\n\tconst { per , rem , px } = $mol_style_unit\n\n\t$mol_style_define( $mol_scroll , {\n\n\t\tdisplay: 'grid',\n\t\toverflow: 'auto',\n\t\tflex: {\n\t\t\tdirection: 'column',\n\t\t\tgrow: 1,\n\t\t\tshrink: 1,\n\t\t\t// basis: 0,\n\t\t},\n\t\toutline: 'none',\n\t\talign: {\n\t\t\tself: 'stretch',\n\t\t\titems: 'flex-start',\n\t\t},\n\t\tboxSizing: 'border-box',\n\t\twillChange: 'scroll-position',\n\t\tscroll: {\n\t\t\tpadding: [ rem(.75), 0 ],\n\t\t},\n\t\tmaxHeight: per(100),\n\t\tmaxWidth: per(100),\n\t\twebkitOverflowScrolling: 'touch',\n\t\tcontain: 'content',\n\n\t\t'>': {\n\t\t\t$mol_view: {\n\t\t\t\t// transform: 'translateZ(0)', // enforce gpu scroll in all agents\n\t\t\t\tgridArea: '1/1',\n\t\t\t},\n\t\t},\n\n\t\t'::before': {\n\t\t\tdisplay: 'none',\n\t\t},\n\t\t'::after': {\n\t\t\tdisplay: 'none',\n\t\t},\n\t\t\n\t\t'::-webkit-scrollbar': {\n\t\t\twidth: rem(.25),\n\t\t\theight: rem(.25),\n\t\t},\n\t\t\n\t\t'@media' : {\n\t\t\t'print' : {\n\t\t\t\toverflow: 'visible',\n\t\t\t\tcontain: 'none',\n\t\t\t\tmaxHeight: 'unset',\n\t\t\t},\n\t\t},\n\n\t})\n\n}\n","$mol_book2 $mol_scroll\n\tmenu_title \\\n\tsub <= pages /$mol_view\n\tminimal_width 0\n\tPlaceholder $mol_view\n\tGap* $mol_view title \\\n","namespace $ {\n\texport let $mol_mem_cached = $mol_wire_probe\n}\n","namespace $ {\n\n\t/**\n\t * Z-index values for layers\n\t * https://page.hyoo.ru/#!=xthcpx_wqmiba\n\t */\n\texport let $mol_layer = $mol_style_prop(\n\t\t'mol_layer',\n\t\t[\n\t\t\t'hover',\n\t\t\t'focus',\n\t\t\t'speck',\n\t\t\t'float',\n\t\t\t'popup',\n\t\t] as const\n\t)\n\n}\n","namespace $ { $mol_style_attach( \"mol/layer/layer.css\",\n \":root {\\n\\t--mol_layer_hover: 1;\\n\\t--mol_layer_focus: 2;\\n\\t--mol_layer_speck: 3;\\n\\t--mol_layer_float: 4;\\n\\t--mol_layer_popup: 5;\\n}\\n\"\n) }","namespace $.$$ {\n\n\t/**\n\t * Root component for adaptivity to various screen sizes. Implements booklet UX.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_book2_demo\n\t */\n\texport class $mol_book2 extends $.$mol_book2 {\n\t\t\n\t\ttitle() {\n\t\t\treturn this.pages().map( page => {\n\t\t\t\ttry {\n\t\t\t\t\treturn page?.title()\n\t\t\t\t} catch( error ) {\n\t\t\t\t\t$mol_fail_log( error )\n\t\t\t\t}\n\t\t\t} ).reverse().filter( Boolean ).join( ' | ' )\n\t\t}\n\t\t\n\t\tmenu_title() {\n\t\t\treturn this.pages()[0]?.title() || this.title()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\t\n\t\t\tconst placeholder = this.Placeholder()\n\t\t\tconst next = [ ... this.pages(), placeholder ]\n\t\t\t\n\t\t\tconst prev = $mol_mem_cached( ()=> this.sub() ) ?? []\n\t\t\t\n\t\t\tfor( let i = 1 ; i++ ; ) {\n\t\t\t\t\n\t\t\t\tconst p = prev[ prev.length - i ]\n\t\t\t\tconst n = next[ next.length - i ]\n\t\t\t\t\n\t\t\t\tif( !n ) break\n\n\t\t\t\tif( p === n ) continue\n\t\t\t\tif( n === placeholder ) continue\n\n\t\t\t\tnew this.$.$mol_after_tick( ()=> {\n\t\t\t\t\tconst b = this.dom_node() as HTMLElement\n\t\t\t\t\tconst p = n.dom_node() as HTMLElement\n\t\t\t\t\tb.scroll({\n\t\t\t\t\t\tleft: p.offsetLeft + p.offsetWidth - b.offsetWidth,\n\t\t\t\t\t\tbehavior: 'smooth',\n\t\t\t\t\t})\n\t\t\t\t\tnew this.$.$mol_after_timeout( 1000, ()=> n.bring() )\n\t\t\t\t} )\n\t\t\t\t\n\t\t\t\tbreak\n\n\t\t\t}\n\n\t\t\treturn next as readonly $mol_view[]\n\t\t}\n\t\t\n\t\tbring() {\n\t\t\t\n\t\t\tconst pages = this.pages()\n\t\t\t\n\t\t\tif( pages.length ) pages[ pages.length - 1 ].bring()\n\t\t\telse super.bring()\n\t\t\t\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/book2/book2.view.css\",\n \"[mol_book2] {\\n\\tdisplay: flex;\\n\\tflex-flow: row nowrap;\\n\\talign-items: stretch;\\n\\tflex: 1 1 auto;\\n\\talign-self: stretch;\\n\\tmargin: 0;\\n\\t/* box-shadow: 0 0 0 1px var(--mol_theme_line); */\\n\\t/* transform: translateZ(0); */\\n\\ttransition: none;\\n\\toverflow: overlay;\\n\\tscroll-snap-type: x mandatory;\\n\\t/* padding: 0 1px;\\n\\tscroll-padding: 0 1px;\\n\\tgap: 1px; */\\n}\\n\\n[mol_book2] > * {\\n/* \\tflex: none; */\\n\\tscroll-snap-stop: always;\\n\\tscroll-snap-align: end;\\n\\tposition: relative;\\n\\tmin-height: 100%;\\n\\tmax-height: 100%;\\n\\tmax-width: 100%;\\n\\tflex-shrink: 0;\\n\\tbox-shadow: inset 0 0 0 1px var(--mol_theme_field);\\n}\\n\\n[mol_book2] > *:not(:first-of-type):before,\\n[mol_book2] > *:not(:last-of-type)::after {\\n\\tcontent: '';\\n\\tposition: absolute;\\n\\ttop: 1.5rem;\\n\\twidth: 3px;\\n\\theight: 1rem;\\n\\tbackground: linear-gradient(\\n\\t\\tto bottom,\\n\\t\\tvar(--mol_theme_focus) 0%,\\n\\t\\tvar(--mol_theme_focus) 14%,\\n\\t\\ttransparent 15%,\\n\\t\\ttransparent 42%,\\n\\t\\tvar(--mol_theme_focus) 43%,\\n\\t\\tvar(--mol_theme_focus) 57%,\\n\\t\\ttransparent 58%,\\n\\t\\ttransparent 85%,\\n\\t\\tvar(--mol_theme_focus) 86%,\\n\\t\\tvar(--mol_theme_focus) 100%\\n\\t);\\n\\topacity: .5;\\n\\tz-index: var(--mol_layer_speck);\\n}\\n[mol_book2] > *:not(:first-of-type):before {\\n\\tleft: -1px;\\n}\\n[mol_book2] > *:not(:last-of-type)::after {\\n\\tright: -1px;\\n}\\n\\n:where([mol_book2]) > * {\\n\\tbackground-color: var(--mol_theme_card);\\n\\t/* box-shadow: 0 0 0 1px var(--mol_theme_back); */\\n}\\n\\n[mol_book2] > [mol_book2] {\\n\\tdisplay: contents;\\n}\\n\\n[mol_book2] > *:first-child {\\n\\tscroll-snap-align: start;\\n}\\n\\n[mol_book2] > [mol_view] {\\n\\ttransform: none; /* prevent content clipping */\\n}\\n\\n[mol_book2_placeholder] {\\n\\tflex: 1 1 0;\\n\\tbackground: none;\\n}\\n\\n[mol_book2_gap] {\\n\\tbackground: none;\\n\\tflex-grow: 1;\\n\\tscroll-snap-align: none;\\n\\tmargin-right: -1px;\\n\\tbox-shadow: none;\\n}\\n\\n[mol_book2_gap]::before,\\n[mol_book2_gap]::after {\\n\\tdisplay: none;\\n}\\n\"\n) }","$mol_theme_auto $mol_plugin\n\tattr * mol_theme <= theme \\\n","namespace $ {\n\t/**\n\t * Decorates method to fiber to ensure it is executed only once inside other fiber from [mol_wire](../wire/README.md)\n\t * @see https://mol.hyoo.ru/#!section=docs/=1fcpsq_1wh0h2\n\t */\n\texport let $mol_action = $mol_wire_method\n}\n","namespace $ {\n\n\t/** State of arguments like `foo=bar xxx` */\n\texport class $mol_state_arg extends $mol_object {\n\t\t\n\t\tstatic prolog = ''\n\t\tstatic separator = ' '\n\t\t\n\t\t@ $mol_mem\n\t\tstatic href( next? : string ) {\n\t\t\treturn next || process.argv.slice( 2 ).join( ' ' )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic href_normal() {\n\t\t\treturn this.link({})\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic dict( next? : { [ key : string ] : string | null } ) {\n\t\t\tif( next !== void 0 ) this.href( this.make_link( next ) )\n\t\t\t\n\t\t\tvar href = this.href()\n\t\t\tvar chunks = href.split( ' ' )\n\t\t\t\n\t\t\tvar params : { [ key : string ] : string } = {}\n\t\t\tchunks.forEach(\n\t\t\t\tchunk => {\n\t\t\t\t\tif( !chunk ) return\n\t\t\t\t\tvar vals = chunk.split( '=' ).map( decodeURIComponent )\n\t\t\t\t\tparams[ vals.shift()! ] = vals.join('=')\n\t\t\t\t}\n\t\t\t)\n\t\t\t\n\t\t\treturn params as Readonly< typeof params >\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic value( key : string , next? : string | null ) {\n\t\t\tif( next === void 0 ) return this.dict()[ key ] ?? null\n\t\t\tthis.href( this.link( { [ key ] : next } ) )\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tstatic link( next : Record ) {\n\t\t\tconst params : Record = {}\n\t\t\t\n\t\t\tvar prev = this.dict()\n\t\t\tfor( var key in prev ) {\n\t\t\t\tparams[ key ] = prev[ key ]\n\t\t\t}\n\t\t\t\n\t\t\tfor( var key in next ) {\n\t\t\t\tparams[ key ] = next[ key ]\n\t\t\t}\n\t\t\t\n\t\t\treturn this.make_link( params )\n\t\t}\n\t\t\n\t\tstatic make_link( next : Record) {\n\t\t\tconst chunks : string[] = []\n\t\t\tfor( const key in next ) {\n\t\t\t\tif( next[ key ] !== null ) {\n\t\t\t\t\tchunks.push([key, next[key]!].map(encodeURIComponent).join('='))\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn chunks.join( ' ' )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tstatic go( next : { [ key : string ] : string | null } ) {\n\t\t\tthis.href( this.link( next ) )\n\t\t}\n\t\t\n\t\tconstructor( public prefix = '' ) {\n\t\t\tsuper()\n\t\t}\n\t\t\n\t\tvalue( key : string , next? : string ) {\n\t\t\treturn ( this.constructor as typeof $mol_state_arg ).value( this.prefix + key , next )\n\t\t}\n\t\t\n\t\tsub( postfix : string ) {\n\t\t\treturn new ( this.constructor as typeof $mol_state_arg )( this.prefix + postfix + '.' )\n\t\t}\n\t\t\n\t\tlink( next : Record ) {\n\t\t\tconst prefix = this.prefix\n\t\t\tconst dict : Record = {}\n\t\t\tfor( var key in next ) {\n\t\t\t\tdict[ prefix + key ] = next[ key ]\n\t\t\t}\n\t\t\treturn ( this.constructor as typeof $mol_state_arg ).link( dict )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport class $mol_media extends $mol_object2 {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic match( query: string, next?: boolean ) {\n\t\t\t\n\t\t\tif( next !== undefined ) return next\n\t\t\t\n\t\t\tconst res = this.$.$mol_dom_context.matchMedia?.( query ) ?? {}\n\t\t\tres.onchange = ()=> this.match( query, res.matches )\n\t\t\t\n\t\t\treturn res.matches\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\texport let $mol_mem_persist = $mol_wire_solid\n}\n","namespace $ {\n\texport class $mol_storage extends $mol_object2 {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic native() {\n\t\t\treturn this.$.$mol_dom_context.navigator.storage ?? { // exists only in secure context\n\t\t\t\tpersisted: async ()=> false,\n\t\t\t\tpersist: async ()=> false,\n\t\t\t\testimate: async ()=> ({}),\n\t\t\t\tgetDirectory: async ()=> null! as FileSystemHandle,\n\t\t\t} as StorageManager\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic persisted( next?: boolean, cache?: 'cache' ): boolean {\n\t\t\t\n\t\t\t$mol_mem_persist()\n\t\t\t\n\t\t\tif( cache ) return Boolean( next )\n\t\t\t\n\t\t\tconst native = this.native()\n\t\t\tif( next && !$mol_mem_cached( ()=> this.persisted() ) ) {\n\t\t\t\tnative.persist().then( actual => {\n\t\t\t\t\t\n\t\t\t\t\tsetTimeout( ()=> this.persisted( actual, 'cache' ), 5000 )\n\t\t\t\t\t\n\t\t\t\t\tif( actual ) this.$.$mol_log3_done({ place: `$mol_storage`, message: `Persist: Yes` })\n\t\t\t\t\telse this.$.$mol_log3_fail({ place: `$mol_storage`, message: `Persist: No` })\n\t\t\t\t\t\n\t\t\t\t} )\n\t\t\t}\n\t\t\t\n\t\t\treturn next ?? $mol_wire_sync( native ).persisted()\n\t\t}\n\t\t\n\t\tstatic estimate() {\n\t\t\treturn $mol_wire_sync( this.native() ?? {} ).estimate()\n\t\t}\n\t\t\n\t\tstatic dir() {\n\t\t\treturn $mol_wire_sync( this.native() ).getDirectory()\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t\n\texport class $mol_state_local< Value > extends $mol_object {\n\t\t\n\t\tstatic 'native()' : Pick< Storage , 'getItem'|'setItem'|'removeItem' >\n\t\tstatic native() {\n\t\t\tif( this['native()'] ) return this['native()']\n\n\t\t\tcheck : try {\n\t\t\t\tconst native = $mol_dom_context.localStorage\n\t\t\t\tif( !native ) break check\n\t\t\t\t\n\t\t\t\tnative.setItem( '' , '' )\n\t\t\t\tnative.removeItem( '' )\n\t\t\t\treturn this['native()'] = native\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.warn( error )\n\t\t\t}\n\n\t\t\treturn this['native()'] = {\n\t\t\t\tgetItem( key : string ) {\n\t\t\t\t\treturn (this as any)[ ':' + key ]\n\t\t\t\t} ,\n\t\t\t\tsetItem( key : string , value : string ) {\n\t\t\t\t\t(this as any)[ ':' + key ] = value\n\t\t\t\t} ,\n\t\t\t\tremoveItem( key : string ) {\n\t\t\t\t\t(this as any)[ ':' + key ] = void 0\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic changes( next?: StorageEvent ) { return next }\n\n\t\t@ $mol_mem_key\n\t\tstatic value< Value >(\n\t\t\tkey : string ,\n\t\t\tnext? : Value | null ,\n\t\t) : Value | null {\n\t\t\t\n\t\t\tthis.changes()\n\t\t\t\n\t\t\tif( next === void 0 ) return JSON.parse( this.native().getItem( key ) || 'null' )\n\t\t\t\n\t\t\tif( next === null ) {\n\t\t\t\tthis.native().removeItem( key )\n\t\t\t} else {\n\t\t\t\tthis.native().setItem( key , JSON.stringify( next ) )\n\t\t\t\tthis.$.$mol_storage.persisted( true )\n\t\t\t}\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tprefix() { return '' }\n\t\t\n\t\tvalue( key : string , next? : Value ) {\n\t\t\treturn $mol_state_local.value( this.prefix() + '.' + key , next )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\tconst decoders = {} as { [ key in $mol_charset_encoding ]?: TextDecoder }\n\n\texport function $mol_charset_decode(\n\t\tbuffer: BufferSource,\n\t\tencoding: $mol_charset_encoding = 'utf8',\n\t) {\n\t\t\n\t\tlet decoder = decoders[ encoding ]\n\t\tif( !decoder ) decoder = decoders[ encoding ] = new TextDecoder( encoding )\n\t\t\n\t\treturn decoder.decode( buffer )\n\t}\n\n}\n","namespace $ {\n\tconst TextEncoder = globalThis.TextEncoder ?? $node.util.TextEncoder\n\n\tconst encoder = new TextEncoder()\n\n\texport function $mol_charset_encode(value: string) {\n\t\treturn encoder.encode(value)\n\t}\n\n}\n","namespace $ {\n\n\texport type $mol_file_type = 'file' | 'dir' | 'link'\n\n\texport interface $mol_file_stat {\n\t\ttype: $mol_file_type\n\t\tsize: number\n\t\tatime: Date\n\t\tmtime: Date\n\t\tctime: Date\n\t}\n\n\texport class $mol_file_not_found extends Error {}\n\n\texport abstract class $mol_file extends $mol_object {\n\t\t\t\n\t\t@ $mol_mem_key\n\t\tstatic absolute( path : string ): $mol_file {\n\t\t\tthrow new Error( 'Not implemented yet' )\n\t\t}\n\n\t\tstatic relative( path : string ) : $mol_file {\n\t\t\tthrow new Error( 'Not implemented yet' )\n\t\t}\n\t\t\n\t\tstatic base = ''\n\t\t\n\t\tpath() {\n\t\t\treturn '.'\n\t\t}\n\t\t\n\t\tparent() {\n\t\t\treturn this.resolve( '..' )\n\t\t}\n\n\t\tabstract stat( next? : $mol_file_stat | null, virt?: 'virt' ): $mol_file_stat | null\n\n\t\treset(): void {\n\t\t\ttry {\n\t\t\t\tthis.stat( null )\n\t\t\t} catch( error: any ) {\n\t\t\t\tif (error instanceof $mol_file_not_found) return\n\t\t\t\treturn $mol_fail_hidden(error)\n\t\t\t}\n\t\t}\n\t\t\n\t\tversion() {\n\t\t\treturn this.stat()?.mtime.getTime().toString( 36 ).toUpperCase() ?? ''\n\t\t}\n\n\t\tabstract ensure(): void\n\t\tabstract drop(): void\n\n\t\twatcher() {\n\t\t\tconsole.warn('$mol_file_web.watcher() not implemented')\n\n\t\t\treturn {\n\t\t\t\tdestructor() {}\n\t\t\t}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\texists( next? : boolean ) {\n\t\t\t\n\t\t\tlet exists = Boolean( this.stat() )\n\n\t\t\tif( next === undefined ) return exists\n\t\t\tif( next === exists ) return exists\n\n\t\t\tif( next ) {\n\t\t\t\tthis.parent().exists( true )\n\t\t\t\tthis.ensure()\n\t\t\t} else {\n\t\t\t\tthis.drop()\n\t\t\t}\n\t\t\tthis.reset()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\ttype() {\n\t\t\treturn this.stat()?.type ?? ''\n\t\t}\n\t\t\n\t\tname() {\n\t\t\treturn this.path().replace( /^.*\\//, '' )\n\t\t}\n\t\t\n\t\text() {\n\t\t\tconst match = /((?:\\.\\w+)+)$/.exec( this.path() )\n\t\t\treturn match ? match[ 1 ].substring( 1 ) : ''\n\t\t}\n\n\t\tabstract buffer( next? : Uint8Array ): Uint8Array\n\n\t\t@ $mol_mem\n\t\ttext(next?: string, virt?: 'virt') {\n\t\t\tif( virt ) {\n\t\t\t\tconst now = new Date\n\t\t\t\tthis.stat( {\n\t\t\t\t\ttype: 'file',\n\t\t\t\t\tsize: 0,\n\t\t\t\t\tatime: now,\n\t\t\t\t\tmtime: now,\n\t\t\t\t\tctime: now,\t\t\t\n\t\t\t\t}, 'virt' )\n\t\t\t\treturn next!\n\t\t\t}\n\t\t\tif( next === undefined ) {\n\t\t\t\treturn $mol_charset_decode( this.buffer( undefined ) )\t\n\t\t\t} else {\n\t\t\t\tconst buffer = next === undefined ? undefined : $mol_charset_encode( next )\n\t\t\t\tthis.buffer( buffer )\n\t\t\t\treturn next\n\t\t\t}\n\t\t}\n\n\t\tabstract sub(): $mol_file[]\n\n\t\tabstract resolve(path: string): $mol_file\n\n\t\tabstract relate( base?: $mol_file ): string\n\t\t\n\t\tabstract append( next : Uint8Array | string ): void\n\t\t\n\t\tfind(\n\t\t\tinclude? : RegExp ,\n\t\t\texclude? : RegExp\n\t\t) {\n\t\t\tconst found = [] as $mol_file[]\n\t\t\tconst sub = this.sub()\n\n\t\t\tfor (const child of sub) {\n\t\t\t\tconst child_path = child.path()\n\n\t\t\t\tif( exclude && child_path.match( exclude ) ) continue\n\n\t\t\t\tif( !include || child_path.match( include ) ) found.push( child )\n\n\t\t\t\tif( child.type() === 'dir' ) {\n\t\t\t\t\tconst sub_child = child.find( include , exclude )\n\t\t\t\t\tfor (const child of sub_child) found.push(child)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn found\n\t\t}\n\n\t\tsize() {\n\t\t\tswitch( this.type() ) {\n\t\t\t\tcase 'file': return this.stat()?.size ?? 0\n\t\t\t\tdefault: return 0\n\t\t\t}\n\t\t}\n\t\t\n\t\topen( ... modes: readonly ( 'create' | 'exists_truncate' | 'exists_fail' | 'read_only' | 'write_only' | 'read_write' | 'append' )[] ) {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\ttoJSON() {\n\t\t\treturn this.path()\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n export function $mol_compare_array>(a: Value, b: Value): boolean {\n\t\tif (a === b) return true\n\t\tif (Object.getPrototypeOf(a) !== Object.getPrototypeOf(b)) return false\n\t\tif (a.length !== b.length) return false\n\n\t\tfor (let i = 0; i < a.length; i++)\n\t\t\tif (a[i] !== b[i]) return false\n\n\t\treturn true\n\t}\n}\n","namespace $ {\n\n\tfunction stat_convert(stat: ReturnType): null | $mol_file_stat {\n\t\t\n\t\tif( !stat ) return null\n\t\t\n\t\tlet type: $mol_file_type | undefined\n\t\tif (stat.isDirectory()) type = 'dir'\n\t\tif (stat.isFile()) type = 'file'\n\t\tif (stat.isSymbolicLink()) type = 'link'\n\n\t\tif (! type) return $mol_fail( new Error(`Unsupported file type`) )\n\n\t\treturn {\n\t\t\ttype, \n\t\t\tsize: Number(stat.size),\n\t\t\tatime: stat.atime,\n\t\t\tmtime: stat.mtime,\n\t\t\tctime: stat.ctime\n\t\t}\n\t}\n\n\tfunction buffer_normalize(buf: Buffer): Uint8Array {\n\t\treturn new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength)\n\t}\n\t\n\texport enum $mol_file_mode_open {\n\t\t/** create if it doesn't already exist */\n\t\tcreate = $node.fs.constants.O_CREAT,\n\t\t/** truncate to zero size if it already exists */\n\t\texists_truncate = $node.fs.constants.O_TRUNC,\n\t\t/** throw exception if it already exists */\n\t\texists_fail = $node.fs.constants.O_EXCL,\n\t\tread_only = $node.fs.constants.O_RDONLY,\n\t\twrite_only = $node.fs.constants.O_WRONLY,\n\t\tread_write = $node.fs.constants.O_RDWR,\n\t\t/** data will be appended to the end */\n\t\tappend = $node.fs.constants.O_APPEND,\n\t}\n\n\texport class $mol_file_node extends $mol_file {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic absolute( path : string ) {\n\t\t\treturn this.make({\n\t\t\t\tpath : $mol_const( path )\n\t\t\t})\n\t\t}\n\n\t\tstatic relative( path : string ) {\n\t\t\treturn this.absolute( $node.path.resolve( this.base, path ).replace( /\\\\/g , '/' ) )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\twatcher() {\n\n\t\t\tif( /\\/\\./.test( this.path() ) ) return { destructor(){} }\n\t\t\t\n\t\t\tconst watcher = $node.chokidar.watch( this.path() , {\n\t\t\t\tpersistent : true ,\n\t\t\t\tignored: path => /([\\/\\\\]\\.|___$)/.test( path ) ,\n\t\t\t\tdepth : 0 ,\n\t\t\t\tignoreInitial : true ,\n\t\t\t\tawaitWriteFinish: {\n\t\t\t\t\tstabilityThreshold: 100,\n\t\t\t\t},\n\t\t\t} )\n\n\t\t\twatcher\n\t\t\t.on( 'all' , ( type , path )=> {\n\t\t\t\t\n\t\t\t\tconst file = $mol_file.relative( path.replace( /\\\\/g , '/' ) )\n\n\t\t\t\tfile.reset()\n\t\t\t\t\n\t\t\t\tif( type === 'change' ) {\n\t\t\t\t\tthis.stat( null )\n\t\t\t\t} else {\n\t\t\t\t\tfile.parent().reset()\n\t\t\t\t}\n\n\t\t\t} )\n\t\t\t.on( 'error' , $mol_fail_log )\n\t\t\t\n\t\t\treturn {\n\t\t\t\tdestructor() {\n\t\t\t\t\twatcher.close()\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstat( next? : $mol_file_stat | null, virt?: 'virt' ) {\n\t\t\t\n\t\t\tlet stat = next\n\t\t\tconst path = this.path()\n\n\t\t\tthis.parent().watcher()\n\t\t\t\n\t\t\tif( virt ) return next!\n\t\t\t\n\t\t\ttry {\n\t\t\t\tstat = next ?? stat_convert($node.fs.statSync( path, { throwIfNoEntry: false } ))\n\t\t\t} catch( error: any ) {\n\t\t\t\tif (error.code === 'ENOENT') error = new $mol_file_not_found(`File not found`)\n\t\t\t\terror.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden(error)\n\t\t\t}\n\n\t\t\treturn stat\n\t\t}\n\n\t\t@ $mol_mem\n\t\tensure() {\n\t\t\tconst path = this.path()\n\n\t\t\ttry {\n\t\t\t\t$node.fs.mkdirSync( path )\n\t\t\t} catch( e: any ) {\n\t\t\t\te.message += '\\n' + path\n\t\t\t\tthis.$.$mol_fail_hidden(e)\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tdrop() {\n\t\t\t$node.fs.unlinkSync( this.path() )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tbuffer( next? : Uint8Array ) {\n\n\t\t\tconst path = this.path()\n\t\t\tif( next === undefined ) {\n\n\t\t\t\tif( !this.stat() ) return new Uint8Array\n\t\t\t\t\n\t\t\t\ttry {\n\n\t\t\t\t\tconst prev = $mol_mem_cached( ()=> this.buffer() )\n\t\t\t\t\t\n\t\t\t\t\tnext = buffer_normalize( $node.fs.readFileSync( path ) )\n\n\t\t\t\t\tif( prev !== undefined && !$mol_compare_array( prev, next ) ) {\n\t\t\t\t\t\tthis.$.$mol_log3_rise({\n\t\t\t\t\t\t\tplace: `$mol_file_node..buffer()`,\n\t\t\t\t\t\t\tmessage: 'Changed' ,\n\t\t\t\t\t\t\tpath: this.relate() ,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\n\t\t\t\t\treturn next\n\n\t\t\t\t} catch( error: any ) {\n\n\t\t\t\t\terror.message += '\\n' + path\n\t\t\t\t\treturn this.$.$mol_fail_hidden( error )\n\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tthis.parent().exists( true )\n\t\t\t\n\t\t\tconst now = new Date\n\t\t\tthis.stat( {\n\t\t\t\ttype: 'file',\n\t\t\t\tsize: next.length,\n\t\t\t\tatime: now,\n\t\t\t\tmtime: now,\n\t\t\t\tctime: now,\n\t\t\t}, 'virt' )\n\n\t\t\ttry {\n\n\t\t\t\t$node.fs.writeFileSync( path, next )\n\n\t\t\t} catch( error: any ) {\n\n\t\t\t\terror.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden( error )\n\n\t\t\t}\n\t\t\t\n\t\t\treturn next\n\n\t\t}\n\t\t@ $mol_mem\n\t\tsub() : $mol_file[] {\n\t\t\tif (! this.exists() ) return []\n\t\t\tif ( this.type() !== 'dir') return []\n\n\t\t\tconst path = this.path()\n\t\t\tthis.stat()\n\n\t\t\ttry {\n\t\t\t\treturn $node.fs.readdirSync( path )\n\t\t\t\t\t.filter( name => !/^\\.+$/.test( name ) )\n\t\t\t\t\t.map( name => this.resolve( name ) )\n\t\t\t} catch( e: any ) {\n\t\t\t\te.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden(e)\n\t\t\t}\n\t\t}\n\t\t\n\t\tresolve( path : string ) {\n\t\t\treturn ( this.constructor as typeof $mol_file ).relative( $node.path.join( this.path() , path ) )\n\t\t}\n\t\t\n\t\trelate( base = ( this.constructor as typeof $mol_file ).relative( '.' )) {\n\t\t\treturn $node.path.relative( base.path() , this.path() ).replace( /\\\\/g , '/' )\n\t\t}\n\t\t\n\t\tappend( next : Uint8Array | string ) {\n\t\t\tconst path = this.path()\n\t\t\ttry {\n\t\t\t\t$node.fs.appendFileSync( path , next )\n\t\t\t} catch( e: any ) {\n\t\t\t\te.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden(e)\n\t\t\t}\n\t\t}\n\t\t\n\t\topen( ... modes: readonly ( keyof typeof $mol_file_mode_open )[] ) {\n\t\t\treturn $node.fs.openSync(\n\t\t\t\tthis.path(),\n\t\t\t\tmodes.reduce( ( res, mode )=> res | $mol_file_mode_open[ mode ], 0 ),\n\t\t\t)\n\t\t}\n\n\t}\n\n\t$.$mol_file = $mol_file_node\n}\n","namespace $ {\n\texport class $mol_state_local_node< Value > extends $mol_state_local< Value > {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic dir() {\n\t\t\tconst base = process.env.XDG_DATA_HOME || ( $node.os.homedir() + '/.local/share' )\n\t\t\treturn $mol_file.absolute( base ).resolve( './mol_state_local' )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic value< Value >(\n\t\t\tkey : string ,\n\t\t\tnext? : Value | null ,\n\t\t) : Value | null {\n\t\t\t\n\t\t\tconst file = this.dir().resolve( encodeURIComponent( key ) + '.json' )\n\t\t\t\n\t\t\tif( next === null ) {\n\t\t\t\tfile.exists( false )\n\t\t\t\treturn null\n\t\t\t}\n\t\t\t\n\t\t\tconst arg = next === undefined ? undefined : JSON.stringify( next )\n\t\t\treturn JSON.parse( file.text( arg ) || 'null' )\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t$.$mol_state_local = $mol_state_local_node\n}\n","namespace $ {\n\t\n\tfunction parse( theme: string | null ) {\n\t\tif( theme === 'true' ) return true\n\t\tif( theme === 'false' ) return false\n\t\treturn null\n\t}\n\t\n\t/**\n\t * Switcher between light/dark themes (usually for `mol_theme_auto` plugin).\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_lights_demo\n\t */\n\texport function $mol_lights( this : $ , next? : boolean ) {\n\t\t\n\t\tconst arg = parse( this.$mol_state_arg.value( 'mol_lights' ) )\n\t\t\n\t\tconst base = this.$mol_media.match( '(prefers-color-scheme: light)' )\n\t\t\n\t\tif( next === undefined ) {\n\t\t\treturn arg ?? this.$mol_state_local.value< boolean >( '$mol_lights' ) ?? base\n\t\t} else {\n\t\t\tif( arg === null ) {\n\t\t\t\tthis.$mol_state_local.value( '$mol_lights' , next === base ? null : next )\n\t\t\t} else {\n\t\t\t\tthis.$mol_state_arg.value( 'mol_lights' , String( next ) )\n\t\t\t}\n\t\t\treturn next\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\n\t/**\n\t * The [plugin](../../plugin/readme.md) which defines theme based on [mol_lights](../../lights/readme.md).\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_lights_demo\n\t */\n\texport class $mol_theme_auto extends $.$mol_theme_auto {\n\n\t\ttheme() {\n\t\t\treturn this.$.$mol_lights() ? '$mol_theme_light' : '$mol_theme_dark'\n\t\t}\n\n\t}\n}\n","$mol_link $mol_view\n\turi \\\n\tdom_name \\a\n\turi_off \\\n\turi_native null\n\texternal false\n\tattr *\n\t\t^\n\t\thref <= uri_toggle \\\n\t\ttitle <= hint_safe <= hint \\\n\t\ttarget <= target \\_self\n\t\tdownload <= file_name \\\n\t\tmol_link_current <= current false\n\t\trel <= relation \\\n\tsub /$mol_view_content\n\t\t<= title\n\targ *\n\tevent *\n\t\t^\n\t\tclick?event <=> click?event <=> event_click?event null\n","namespace $.$$ {\n\t\n\t/**\n\t * Dynamic hyperlink. It can add, change or remove parameters. A link that leads to the current page has [mol_link_current] attribute set to true.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_link_demo\n\t */\n\texport class $mol_link extends $.$mol_link {\n\t\t\n\t\t@ $mol_mem\n\t\turi_toggle() {\n\t\t\treturn this.current() ? this.uri_off() : this.uri()\n\t\t}\n\n\t\t@ $mol_mem\n\t\turi() {\n\t\t\treturn new this.$.$mol_state_arg( this.state_key() ).link( this.arg() )\n\t\t}\n\n\t\t@ $mol_mem\n\t\turi_off() {\n\t\t\tconst arg2: Record = {}\n\t\t\tfor( let i in this.arg() ) arg2[i] = null\n\t\t\t\n\t\t\treturn new this.$.$mol_state_arg( this.state_key() ).link( arg2 )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\turi_native() {\n\t\t\tconst base = this.$.$mol_state_arg.href()\n\t\t\treturn new URL( this.uri() , base )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tcurrent() {\n\n\t\t\tconst base = this.$.$mol_state_arg.href_normal()\n\t\t\tconst target = this.uri_native().toString()\n\n\t\t\tif( base === target ) return true\n\t\t\t\n\t\t\tconst args = this.arg() as Record\n\t\t\t\n\t\t\tconst keys = Object.keys( args ).filter( key => args[ key ] != null )\n\t\t\tif( keys.length === 0 ) return false\n\n\t\t\tfor( const key of keys ) {\n\t\t\t\tif( this.$.$mol_state_arg.value( key ) != args[ key ] ) return false\n\t\t\t}\n\n\t\t\treturn true\n\t\t}\n\n\t\tfile_name() {\n\t\t\treturn null as unknown as string\n\t\t}\n\n\t\tminimal_height() {\n\t\t\treturn Math.max( super.minimal_height(), 24 )\n\t\t}\n\t\t\n\t\texternal() {\n\t\t\treturn this.uri_native().origin !== $mol_dom_context.location.origin\n\t\t}\n\t\t\n\t\ttarget(): '_self' | '_blank' | '_top' | '_parent' | string {\n\t\t\treturn this.external() ? '_blank' : '_self'\n\t\t}\n\n\t\thint_safe() {\n\t\t\ttry {\n\t\t\t\treturn this.hint()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn ''\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\tconst { rem } = $mol_style_unit\n\n\t$mol_style_define( $mol_link , {\n\t\t\n\t\ttextDecoration: 'none',\n\t\tcolor: $mol_theme.control,\n\t\tstroke: 'currentcolor',\n\t\tcursor: 'pointer',\n\t\tpadding: $mol_gap.text,\n\t\tboxSizing: 'border-box',\n\t\tposition: 'relative',\n\t\tminWidth: rem(2.5),\n\t\tgap: $mol_gap.space,\n\t\t\n\t\tborder: {\n\t\t\tradius: $mol_gap.round,\n\t\t},\n\n\t\t':hover': {\n\t\t\t\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.hover,\n\t\t\t},\n\t\t\t\n\t\t},\n\n\t\t':focus-visible': {\n\t\t\t\n\t\t\toutline: 'none',\n\t\t\t\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.hover,\n\t\t\t},\n\t\t\t\n\t\t},\n\n\t\t// ':has(:focus-visible)': {\n\t\t// \toutline: 'none',\n\t\t// \tbackground: {\n\t\t// \t\tcolor: $mol_theme.hover,\n\t\t// \t}\n\t\t// },\n\t\t\n\t\t':active': {\n\t\t\tcolor: $mol_theme.focus,\n\t\t},\n\n\t\t'@': {\n\t\t\tmol_link_current: {\n\t\t\t\t'true': {\n\t\t\t\t\tcolor: $mol_theme.current,\n\t\t\t\t\ttextShadow: '0 0',\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\n\t} )\n\n}\n","$mol_svg $mol_view\n\tdom_name \\svg\n\tdom_name_space \\http://www.w3.org/2000/svg\n\tfont_size 16\n\tfont_family \\\n\tstyle_size *\n","namespace $ {\n\t\n\t/** State of time moment */\n\texport class $mol_state_time extends $mol_object {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic task( precision: number, reset?: null ): $mol_after_timeout | $mol_after_frame {\n\t\t\t\n\t\t\tif( precision ) {\n\t\t\t\treturn new $mol_after_timeout( precision, ()=> this.task( precision, null ) )\n\t\t\t} else {\n\t\t\t\treturn new $mol_after_frame( ()=> this.task( precision, null ) )\n\t\t\t}\n\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic now( precision: number ) {\n\t\t\tthis.task( precision )\n\t\t\treturn Date.now()\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\t/** Base SVG component to display SVG images or icons. */\n\texport class $mol_svg extends $.$mol_svg {\n\t\t@$mol_mem\n\t\tcomputed_style() {\n\t\t\tconst win = this.$.$mol_dom_context\n\t\t\tconst style = win.getComputedStyle(this.dom_node()) as Record\n\n\t\t\tif(!style['font-size']) $mol_state_time.now( 0 )\n\n\t\t\treturn style\n\t\t}\n\n\t\t@$mol_mem\n\t\tfont_size(): number {\n\t\t\treturn parseInt(this.computed_style()['font-size']) || 16\n\t\t}\n\n\t\t@$mol_mem\n\t\tfont_family() {\n\t\t\treturn this.computed_style()['font-family']\n\t\t}\n\n\t}\n}\n","$mol_svg_root $mol_svg\n\tdom_name \\svg\n\tattr *\n\t\t^\n\t\tviewBox <= view_box \\0 0 100 100\n\t\tpreserveAspectRatio <= aspect \\xMidYMid\n","namespace $ { $mol_style_attach( \"mol/svg/root/root.view.css\",\n \"[mol_svg_root] {\\n\\toverflow: hidden;\\n}\\n\"\n) }","$mol_svg_path $mol_svg\n\tdom_name \\path\n\tattr *\n\t\t^\n\t\td <= geometry \\\n\n","$mol_icon $mol_svg_root\n\tview_box \\0 0 24 24\n\tminimal_width 16\n\tminimal_height 16\n\tsub /\n\t\t<= Path $mol_svg_path\n\t\t\tgeometry <= path \\\n","namespace $ { $mol_style_attach( \"mol/icon/icon.view.css\",\n \"[mol_icon] {\\n\\tfill: currentColor;\\n\\tstroke: none;\\n\\twidth: 1em;\\n\\theight: 1.5em;\\n\\tflex: 0 0 auto;\\n\\tvertical-align: top;\\n\\tdisplay: inline-block;\\n\\tfilter: drop-shadow(0px 1px 1px var(--mol_theme_back));\\n\\ttransform-origin: center;\\n}\\n\\n[mol_icon_path] {\\n\\ttransform-origin: center;\\n}\\n\"\n) }","$mol_icon_script $mol_icon path \\M17.8,20C17.4,21.2 16.3,22 15,22H5C3.3,22 2,20.7 2,19V18H5L14.2,18C14.6,19.2 15.7,20 17,20H17.8M19,2H8C6.3,2 5,3.3 5,5V16H16V17C16,17.6 16.4,18 17,18H18V5C18,4.4 18.4,4 19,4C19.6,4 20,4.4 20,5V6H22V5C22,3.3 20.7,2 19,2Z\n","$mol_icon_script_text $mol_icon path \\M17.8,20C17.4,21.2 16.3,22 15,22H5C3.3,22 2,20.7 2,19V18H5L14.2,18C14.6,19.2 15.7,20 17,20H17.8M19,2C20.7,2 22,3.3 22,5V6H20V5C20,4.4 19.6,4 19,4C18.4,4 18,4.4 18,5V18H17C16.4,18 16,17.6 16,17V16H5V5C5,3.3 6.3,2 8,2H19M8,6V8H15V6H8M8,10V12H14V10H8Z\n","namespace $ {\n\t\n\texport interface $mol_locale_dict {\n\t\t[ key : string ] : string\n\t}\n\t\n\t/**\n\t * Localisation in $mol framework\n\t * @see https://mol.hyoo.ru/#!section=docs/=s5aqnb_odub8l\n\t */\n\texport class $mol_locale extends $mol_object {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic lang_default() {\n\t\t\treturn 'en'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic lang( next? : string ) {\n\t\t\treturn this.$.$mol_state_local.value( 'locale' , next ) || $mol_dom_context.navigator.language.replace( /-.*/ , '' ) || this.lang_default()\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic source( lang : string ) {\n\t\t\treturn JSON.parse( this.$.$mol_file.relative( `web.locale=${ lang }.json` ).text().toString() )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic texts( lang : string , next? : $mol_locale_dict ) : $mol_locale_dict {\n\t\t\tif( next ) return next\n\t\t\t\n\t\t\ttry {\n\t\t\t\treturn this.source( lang ).valueOf()\n\t\t\t} catch( error: any ) {\n\t\t\t\tif( $mol_fail_catch( error ) ) {\n\t\t\t\t\tconst def = this.lang_default()\n\t\t\t\t\tif( lang === def ) throw error\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic text( key : string ): string {\n\t\t\t\n\t\t\tconst lang = this.lang()\n\n\t\t\tconst target = this.texts( lang )[ key ]\n\t\t\tif( target ) return target\n\t\t\t\n\t\t\tthis.warn( key )\n\t\t\t\n\t\t\tconst en = this.texts( 'en' )[ key ]\n\t\t\tif( !en ) return key\n\t\t\t\n\t\t\t// try {\n\t\t\t// \treturn $mol_wire_sync( $hyoo_lingua_translate ).call( this.$, lang, en )\n\t\t\t// } catch( error ) {\n\t\t\t// \t$mol_fail_log( error )\n\t\t\t// }\n\t\t\t\n\t\t\treturn en\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic warn( key : string ) {\n\t\t\tconsole.warn( `Not translated to \"${ this.lang() }\": ${ key }` )\n\t\t\treturn null\n\t\t}\n\t\t\n\t}\n\t\n}\n","$mol_link_source $mol_link\n\thint @ \\Source code\n\tsub /\n\t\t<= Icon $mol_icon_script_text\n","\n\t\t()\n\t\t\tthis\n\t\t\t[] \\$\n\t\t\t[] \\$mol_locale\n\t\t\t[] \\text\n\t\t\t(,) #key\n\t","$mol_speck $mol_view\n\tattr *\n\t\t^\n\t\tmol_theme <= theme \\$mol_theme_accent\n\tstyle *\n\t\t^\n\t\tminHeight \\1em\n\tsub /\n\t\t<= value null\n","namespace $ { $mol_style_attach( \"mol/speck/speck.view.css\",\n \"[mol_speck] {\\n\\tfont-size: .625rem;\\n\\tborder-radius: 1rem;\\n\\tmargin: -0.5rem -0.25rem;\\n\\talign-self: flex-start;\\n\\tmin-height: 1em;\\n\\tmin-width: .5em;\\n\\tvertical-align: sub;\\n\\tpadding: .25em .5em;\\n\\tposition: absolute;\\n\\tz-index: var(--mol_layer_speck);\\n\\ttext-align: center;\\n\\tline-height: 1;\\n\\tdisplay: inline-block;\\n\\twhite-space: nowrap;\\n\\ttext-overflow: ellipsis;\\n\\tuser-select: none;\\n}\\n\"\n) }","$mol_button $mol_view\n\tenabled true\n\tclick?event null\n\tevent_click?event null\n\tevent *\n\t\t^\n\t\tclick?event <=> event_activate?event null\n\t\tdblclick?event <=> clicks?event null\n\t\tkeydown?event <=> event_key_press?event null \n\tattr *\n\t\t^\n\t\tdisabled <= disabled false\n\t\trole \\button\n\t\ttabindex <= tab_index 0\n\t\ttitle <= hint_safe <= hint \\\n\tsub /$mol_view_content\n\t\t<= title\n\tSpeck $mol_speck\n\t\tvalue <= error \\\n","namespace $ {\n\t/**\n\t* Key names code for hotkey\n\t* @see [mol_hotkey](../../hotkey/hotkey.view.ts)\n\t*/\n\texport enum $mol_keyboard_code {\n\t\tbackspace = 8,\n\t\ttab = 9,\n\t\tenter = 13,\n\t\tshift = 16,\n\t\tctrl = 17,\n\t\talt = 18,\n\t\tpause = 19,\n\t\tcapsLock = 20,\n\t\tescape = 27,\n\t\tspace = 32,\n\t\tpageUp = 33,\n\t\tpageDown = 34,\n\t\tend = 35,\n\t\thome = 36,\n\t\tleft = 37,\n\t\tup = 38,\n\t\tright = 39,\n\t\tdown = 40,\n\t\tinsert = 45,\n\t\tdelete = 46,\n\t\tkey0 = 48,\n\t\tkey1 = 49,\n\t\tkey2 = 50,\n\t\tkey3 = 51,\n\t\tkey4 = 52,\n\t\tkey5 = 53,\n\t\tkey6 = 54,\n\t\tkey7 = 55,\n\t\tkey8 = 56,\n\t\tkey9 = 57,\n\t\tA = 65,\n\t\tB = 66,\n\t\tC = 67,\n\t\tD = 68,\n\t\tE = 69,\n\t\tF = 70,\n\t\tG = 71,\n\t\tH = 72,\n\t\tI = 73,\n\t\tJ = 74,\n\t\tK = 75,\n\t\tL = 76,\n\t\tM = 77,\n\t\tN = 78,\n\t\tO = 79,\n\t\tP = 80,\n\t\tQ = 81,\n\t\tR = 82,\n\t\tS = 83,\n\t\tT = 84,\n\t\tU = 85,\n\t\tV = 86,\n\t\tW = 87,\n\t\tX = 88,\n\t\tY = 89,\n\t\tZ = 90,\n\t\tmetaLeft = 91,\n\t\tmetaRight = 92,\n\t\tselect = 93,\n\t\tnumpad0 = 96,\n\t\tnumpad1 = 97,\n\t\tnumpad2 = 98,\n\t\tnumpad3 = 99,\n\t\tnumpad4 = 100,\n\t\tnumpad5 = 101,\n\t\tnumpad6 = 102,\n\t\tnumpad7 = 103,\n\t\tnumpad8 = 104,\n\t\tnumpad9 = 105,\n\t\tmultiply = 106,\n\t\tadd = 107,\n\t\tsubtract = 109,\n\t\tdecimal = 110,\n\t\tdivide = 111,\n\t\tF1 = 112,\n\t\tF2 = 113,\n\t\tF3 = 114,\n\t\tF4 = 115,\n\t\tF5 = 116,\n\t\tF6 = 117,\n\t\tF7 = 118,\n\t\tF8 = 119,\n\t\tF9 = 120,\n\t\tF10 = 121,\n\t\tF11 = 122,\n\t\tF12 = 123,\n\t\tnumLock = 144,\n\t\tscrollLock = 145,\n\t\tsemicolon = 186,\n\t\tequals = 187,\n\t\tcomma = 188,\n\t\tdash = 189,\n\t\tperiod = 190,\n\t\tforwardSlash = 191,\n\t\tgraveAccent = 192,\n\t\tbracketOpen = 219,\n\t\tslashBack = 220,\n\t\tslashBackLeft = 226,\n\t\tbracketClose = 221,\n\t\tquoteSingle = 222\n\t}\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Simple button.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_button_demo\n\t */\n\texport class $mol_button extends $.$mol_button {\n\n\t\t@ $mol_mem\n\t\tstatus( next = [ null as any ] ) { return next }\n\t\t\n\t\tdisabled() {\n\t\t\treturn !this.enabled()\n\t\t}\n\t\t\n\t\tevent_activate( next : Event ) {\n\t\t\t\n\t\t\tif( !next ) return\n\t\t\tif( !this.enabled() ) return\n\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tthis.event_click( next )\n\t\t\t\tthis.click( next )\n\t\t\t\tthis.status([ null ])\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t\n\t\t\t\tPromise.resolve().then( ()=> this.status([ error ]) )\n\t\t\t\t$mol_fail_hidden( error )\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\t\t\n\t\tevent_key_press ( event: KeyboardEvent ) { \n\t\t\tif( event.keyCode === $mol_keyboard_code.enter ) {\n\t\t\t\treturn this.event_activate( event )\n\t\t\t}\n\t\t} \n\t\t\n\t\ttab_index() {\n\t\t\treturn this.enabled() ? super.tab_index() : -1\n\t\t}\n\n\t\terror() {\n\n\t\t\tconst [ error ] = this.status()\n\t\t\tif( !error ) return ''\n\n\t\t\tif( error instanceof Promise ) {\n\t\t\t\treturn $mol_fail_hidden( error )\n\t\t\t}\n\t\t\t\n\t\t\treturn String( error.message ?? error )\n\n\t\t}\n\t\t\n\t\thint_safe() {\n\t\t\ttry {\n\t\t\t\treturn this.hint()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn ''\n\t\t\t}\n\t\t}\n\n\t\tsub_visible() {\n\t\t\treturn [\n\t\t\t\t... this.error() ? [ this.Speck() ] : [] ,\n\t\t\t\t... this.sub() ,\n\t\t\t]\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/button/button.view.css\",\n \"[mol_button] {\\n\\tborder: none;\\n\\tfont: inherit;\\n\\tdisplay: inline-flex;\\n\\tflex-shrink: 0;\\n\\ttext-decoration: inherit;\\n\\tcursor: inherit;\\n\\tposition: relative;\\n\\tbox-sizing: border-box;\\n\\tword-break: normal;\\n\\tcursor: default;\\n\\tuser-select: none;\\n\\tborder-radius: var(--mol_gap_round);\\n\\tbackground: transparent;\\n\\tcolor: inherit;\\n}\\n\\n[mol_button]:where(:not(:disabled)):hover {\\n\\tz-index: var(--mol_layer_hover);\\n}\\n\\n[mol_button]:focus-visible {\\n\\toutline: none;\\n\\tz-index: var(--mol_layer_focus);\\n}\\n\"\n) }","$mol_button_typed $mol_button\n\tminimal_height 40\n\tminimal_width 40\n","namespace $ { $mol_style_attach( \"mol/button/typed/typed.view.css\",\n \"[mol_button_typed] {\\n\\talign-content: center;\\n\\talign-items: center;\\n\\tpadding: var(--mol_gap_text);\\n\\tborder-radius: var(--mol_gap_round);\\n\\tgap: var(--mol_gap_space);\\n\\tuser-select: none;\\n\\tcursor: pointer;\\n}\\n\\n[mol_button_typed][disabled] {\\n\\tpointer-events: none;\\n}\\n\\n[mol_button_typed]:hover ,\\n[mol_button_typed]:focus-visible {\\n\\tbox-shadow: inset 0 0 0 10rem var(--mol_theme_hover);\\n}\\n\\n[mol_button_typed]:active {\\n\\tcolor: var(--mol_theme_focus);\\n}\\n\\n\"\n) }","$mol_button_minor $mol_button_typed\n","namespace $ { $mol_style_attach( \"mol/button/minor/minor.view.css\",\n \"[mol_button_minor] {\\n\\tcolor: var(--mol_theme_control);\\n}\\n\\n[mol_button_minor][disabled] {\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\"\n) }","$mol_check $mol_button_minor\n\tattr *\n\t\t^\n\t\tmol_check_checked <= checked? false\n\t\taria-checked <= aria_checked \\false\n\t\trole <= aria_role \\checkbox\n\tsub /$mol_view_content\n\t\t<= Icon null\n\t\t<= label /\n\t\t\t<= Title $mol_view\n\t\t\t\tsub /\n\t\t\t\t\t<= title \\\n","namespace $ {\n\t\n\texport function $mol_maybe< Value >( value : Value | null | undefined ) : Value[] {\n\t\treturn ( value == null ) ? [] : [ value ]\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/check/check.css\",\n \"[mol_check] {\\n\\tflex: 0 0 auto;\\n\\tjustify-content: flex-start;\\n\\talign-content: center;\\n\\t/* align-items: flex-start; */\\n\\tborder: none;\\n\\tfont-weight: inherit;\\n\\tbox-shadow: none;\\n\\ttext-align: left;\\n\\tdisplay: inline-flex;\\n\\tflex-wrap: nowrap;\\n}\\n\\n[mol_check_title] {\\n\\tflex-shrink: 1;\\n}\\n\"\n) }","namespace $.$$ {\n\n\t/**\n\t * Checkbox UI component. See Variants for more concrete implementations.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_check_box_demo\n\t */\n\texport class $mol_check extends $.$mol_check {\n\n\t\tclick( next? : Event ) {\n\t\t\tif( next?.defaultPrevented ) return\n\t\t\tthis.checked( !this.checked() )\n\t\t\tif( next ) next.preventDefault()\n\t\t}\n\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\t... $mol_maybe( this.Icon() ) ,\n\t\t\t\t... this.label() ,\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\n\t\tlabel() {\n\t\t\treturn this.title() ? super.label() : []\n\t\t}\n\t\t\n\t\taria_checked() {\n\t\t\treturn String( this.checked() )\n\t\t}\n\n\t}\n}\n","$mol_check_icon $mol_check\n","namespace $ { $mol_style_attach( \"mol/check/icon/icon.view.css\",\n \"[mol_check_icon]:where([mol_check_checked]) {\\n\\tcolor: var(--mol_theme_current);\\n}\\n\"\n) }","$mol_icon_brightness_6 $mol_icon path \\M12,18V6A6,6 0 0,1 18,12A6,6 0 0,1 12,18M20,15.31L23.31,12L20,8.69V4H15.31L12,0.69L8.69,4H4V8.69L0.69,12L4,15.31V20H8.69L12,23.31L15.31,20H20V15.31Z\n","$mol_lights_toggle $mol_check_icon\n\tIcon <= Lights_icon $mol_icon_brightness_6\n\thint @ \\Toggle lights\n\tchecked? <=> lights? false\n","namespace $.$$ {\n\t/**\n\t * Toggle for Switcher between light/dark themes (usually for `mol_theme_auto` plugin).\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_lights_demo\n\t */\n\texport class $mol_lights_toggle extends $.$mol_lights_toggle {\n\t\tlights( next? : boolean ) {\n\t\t\treturn this.$.$mol_lights( next )\n\t\t}\n\t}\n}\n","$mol_icon_card $mol_icon path \\M20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20Z\n","$mol_icon_card_text $mol_icon path \\M20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20M5,13V15H16V13H5M5,9V11H19V9H5Z\n","$mol_icon_chart_bar $mol_icon path \\M22,21H2V3H4V19H6V10H10V19H12V6H16V19H18V14H22V21Z\n","$mol_icon_play $mol_icon path \\M8,5.14V19.14L19,12.14L8,5.14Z\n","$mol_icon_play_circle $mol_icon path \\M10,16.5V7.5L16,12M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\n","$mol_pop $mol_view\n\tshowed? false\n\talign_vert \\\n\talign_hor \\\n\tprefer \\vert\n\tsub /\n\t\t<= Anchor null\n\tsub_visible /\n\t\t<= Anchor\n\t\t<= Bubble $mol_pop_bubble\n\t\t\talign <= align \\bottom_center\n\t\t\tcontent <= bubble_content /$mol_view_content\n\t\t\theight_max <= height_max 9999\n\n$mol_pop_bubble $mol_view\n\tsub <= content /$mol_view_content\n\tstyle *\n\t\t^\n\t\tmaxHeight <= height_max 9999\n\tattr *\n\t\t^\n\t\tmol_pop_align <= align \\\n\t\ttabindex 0\n","namespace $.$$ {\n\n\t/**\n\t * `Bubble` that can be shown anchored to `Anchor` element.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_pop_demo\n\t */\n\texport class $mol_pop extends $.$mol_pop {\n\t\t\n\t\t@ $mol_mem\n\t\tshowed( next = false ) {\n\t\t\tthis.focused()\n\t\t\treturn next\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsub_visible() {\n\t\t\treturn [\n\t\t\t\tthis.Anchor() ,\n\t\t\t\t... this.showed() ? [ this.Bubble() ] : [] ,\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\theight_max() {\n\t\t\t\n\t\t\tconst viewport = this.$.$mol_window.size()\n\t\t\tconst rect_bubble = this.view_rect()!\n\t\t\tconst align = this.align_vert()\n\t\t\t\n\t\t\tif( align === 'bottom' ) return ( viewport.height - rect_bubble.bottom ) * .66\n\t\t\tif( align === 'top' ) return rect_bubble.top * .66\n\t\t\t\n\t\t\treturn 0\n\t\t}\n\n\t\t@ $mol_mem\n\t\talign() {\n\t\t\tswitch( this.prefer() ) {\n\t\t\t\tcase 'hor': return `${ this.align_hor() }_${ this.align_vert() }`\n\t\t\t\tcase 'vert': return `${ this.align_vert() }_${ this.align_hor() }`\n\t\t\t\tdefault: return this.prefer()\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\talign_vert() {\n\t\t\tconst viewport = this.view_port()\n\t\t\t\n\t\t\tconst rect_pop = this.view_rect()\n\t\t\tif( !rect_pop ) return 'suspense'\n\t\t\t\n\t\t\treturn rect_pop.top > ( viewport.top + viewport.height / 2 ) ? 'top' : 'bottom'\n\t\t}\n\n\t\t@ $mol_mem\n\t\talign_hor() {\n\t\t\tconst viewport = this.view_port()\n\t\t\t\n\t\t\tconst rect_pop = this.view_rect()\n\t\t\tif( !rect_pop ) return 'suspense'\n\t\t\t\n\t\t\treturn rect_pop.left > ( viewport.left + viewport.width / 2 ) ? 'left' : 'right'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tView_port() {\n\t\t\tconst view = new $mol_view\n\t\t\tview.dom_node = ()=> {\n\t\t\t\tlet node = this.dom_node() as HTMLElement\n\t\t\t\twhile( node = node.offsetParent! as HTMLElement ) {\n\t\t\t\t\tif( this.$.$mol_dom_context.getComputedStyle( node ).overflow !== 'visible' ) return node\n\t\t\t\t}\n\t\t\t\treturn this.$.$mol_dom_context.document.documentElement\n\t\t\t}\n\t\t\treturn view\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tview_port() {\n\t\t\treturn this.View_port().view_rect() ?? { ... this.$.$mol_window.size(), left: 0, top: 0 }\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/pop/pop.view.css\",\n \"[mol_pop] {\\n\\tposition: relative;\\n\\tdisplay: inline-flex;\\n}\\n\\n[mol_pop_bubble] {\\n\\tbox-shadow: 0 0 1rem hsla(0,0%,0%,.5);\\n\\tborder-radius: var(--mol_gap_round);\\n\\tposition: absolute;\\n\\tz-index: var(--mol_layer_popup);\\n\\tbackground: var(--mol_theme_back);\\n\\tmax-width: none;\\n\\tmax-height: none;\\n\\t/* overflow: hidden;\\n\\toverflow-y: scroll;\\n\\toverflow-y: overlay; */\\n\\tword-break: normal;\\n\\twidth: max-content;\\n\\theight: max-content;\\n\\tflex-direction: column;\\n\\tmax-width: 80vw;\\n\\tmax-height: 80vw;\\n\\tcontain: paint;\\n\\ttransition-property: opacity;\\n}\\n\\n:where( [mol_pop_bubble] > * ) {\\n\\tbackground: var(--mol_theme_card);\\n}\\n\\n[mol_pop_bubble][mol_scroll] {\\n\\tbackground: var(--mol_theme_back);\\n}\\n\\n[mol_pop_bubble]:focus {\\n\\toutline: none;\\n}\\n\\n[mol_pop_align=\\\"suspense_suspense\\\"] {\\n\\topacity: 0;\\n}\\n\\n[mol_pop_align=\\\"left_top\\\"] {\\n\\ttransform: translate(-100%);\\n\\tleft: 0;\\n\\tbottom: 0;\\n}\\n\\n[mol_pop_align=\\\"left_center\\\"] {\\n\\ttransform: translate(-100%, -50%);\\n\\tleft: 0;\\n\\ttop: 50%;\\n}\\n\\n[mol_pop_align=\\\"left_bottom\\\"] {\\n\\ttransform: translate(-100%);\\n\\tleft: 0;\\n\\ttop: 0;\\n}\\n\\n[mol_pop_align=\\\"right_top\\\"] {\\n\\ttransform: translate(100%);\\n\\tright: 0;\\n\\tbottom: 0;\\n}\\n\\n[mol_pop_align=\\\"right_center\\\"] {\\n\\ttransform: translate(100%, -50%);\\n\\tright: 0;\\n\\ttop: 50%;\\n}\\n\\n[mol_pop_align=\\\"right_bottom\\\"] {\\n\\ttransform: translate(100%);\\n\\tright: 0;\\n\\ttop: 0;\\n}\\n\\n[mol_pop_align=\\\"center\\\"] {\\n\\tleft: 50%;\\n\\ttop: 50%;\\n\\ttransform: translate(-50%, -50%);\\n}\\n\\n[mol_pop_align=\\\"top_left\\\"] {\\n\\tright: 0;\\n\\tbottom: 100%;\\n}\\n\\n[mol_pop_align=\\\"top_center\\\"] {\\n\\ttransform: translate(-50%);\\n\\tleft: 50%;\\n\\tbottom: 100%;\\n}\\n\\n[mol_pop_align=\\\"top_right\\\"] {\\n\\tleft: 0;\\n\\tbottom: 100%;\\n}\\n\\n[mol_pop_align=\\\"bottom_left\\\"] {\\n\\tright: 0;\\n\\ttop: 100%;\\n}\\n\\n[mol_pop_align=\\\"bottom_center\\\"] {\\n\\ttransform: translate(-50%);\\n\\tleft: 50%;\\n\\ttop: 100%;\\n}\\n\\n[mol_pop_align=\\\"bottom_right\\\"] {\\n\\tleft: 0;\\n\\ttop: 100%;\\n}\\n\"\n) }","$mol_hotkey $mol_plugin\n\tevent *\n\t\t^\n\t\tkeydown?event <=> keydown?event null\n\tkey *\n\tmod_ctrl false\n\tmod_alt false\n\tmod_shift false\n","namespace $.$$ {\n\t/**\n\t * Plugin which adds handlers for keyboard keys.\n\t * @see [mol_keyboard_code](../keyboard/code/code.ts)\n\t */\n\texport class $mol_hotkey extends $.$mol_hotkey {\n\n\t\tkey() {\n\t\t\treturn super.key() as {\n\t\t\t\t[ key in keyof typeof $mol_keyboard_code ]? : ( event : KeyboardEvent )=> void\n\t\t\t}\n\t\t}\n\t\t\n\t\tkeydown( event? : KeyboardEvent ) {\n\n\t\t\tif( !event ) return\n\t\t\tif( event.defaultPrevented ) return\n\n\t\t\tlet name = $mol_keyboard_code[ event.keyCode ] as keyof typeof $mol_keyboard_code\n\t\t\t\n\t\t\tif( this.mod_ctrl() !== ( event.ctrlKey || event.metaKey ) ) return\n\t\t\tif( this.mod_alt() !== event.altKey ) return\n\t\t\tif( this.mod_shift() !== event.shiftKey ) return\n\t\t\t\n\t\t\tconst handle = this.key()[ name ]\n\t\t\tif( handle ) handle( event )\n\n\t\t}\n\t\t\n\t}\n}\n","$mol_nav $mol_plugin\n\tcycle? false\n\t-\n\tmod_ctrl false\n\tmod_shift false\n\tmod_alt false\n\t-\n\tkeys_x? /\n\tkeys_y? /\n\t-\n\tcurrent_x? null\n\tcurrent_y? null\n\t-\n\tevent_up?event null\n\tevent_down?event null\n\tevent_left?event null\n\tevent_right?event null\n\tevent *\n\t\t^\n\t\tkeydown?event <=> event_key?event null\n","namespace $.$$ {\n\t\n\t/**\n\t * Plugin which can navigate in list of items\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_nav_demo\n\t */\n\texport class $mol_nav extends $.$mol_nav {\n\t\t\n\t\tevent_key( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\t\t\tif( event.defaultPrevented ) return\n\t\t\t\n\t\t\tif( this.mod_ctrl() && !event.ctrlKey ) return\n\t\t\tif( this.mod_shift() && !event.shiftKey ) return\n\t\t\tif( this.mod_alt() && !event.altKey ) return\n\t\t\t\n\t\t\tswitch( event.keyCode ) {\n\t\t\t\tcase $mol_keyboard_code.up : return this.event_up( event )\n\t\t\t\tcase $mol_keyboard_code.down : return this.event_down( event )\n\t\t\t\tcase $mol_keyboard_code.left : return this.event_left( event )\n\t\t\t\tcase $mol_keyboard_code.right : return this.event_right( event )\n\t\t\t\tcase $mol_keyboard_code.pageUp : return this.event_up( event )\n\t\t\t\tcase $mol_keyboard_code.pageDown : return this.event_down( event )\n\t\t\t}\n\t\t}\n\t\t\n\t\tevent_up( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\n\t\t\tconst keys = this.keys_y()\n\t\t\tif( keys.length < 1 ) return\n\t\t\t\n\t\t\tconst index_y = this.index_y();\n\t\t\t\n\t\t\tconst index_old = index_y === null ? 0 : index_y\n\t\t\tconst index_new = ( index_old + keys.length - 1 ) % keys.length\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tif( index_old === 0 && !this.cycle() ) return\n\t\t\t\n\t\t\tthis.current_y( this.keys_y()[ index_new ] )\n\t\t}\n\t\t\n\t\tevent_down( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\n\t\t\tconst keys = this.keys_y()\n\t\t\tif( keys.length < 1 ) return\n\t\t\t\n\t\t\tconst index_y = this.index_y();\n\t\t\t\n\t\t\tconst index_old = index_y === null ? keys.length - 1 : index_y;\n\t\t\tconst index_new = ( index_old + 1 ) % keys.length\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tif( index_new === 0 && !this.cycle() ) return\n\t\t\t\n\t\t\tthis.current_y( this.keys_y()[ index_new ] )\n\t\t}\n\t\t\n\t\tevent_left( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\n\t\t\tconst keys = this.keys_x()\n\t\t\tif( keys.length < 1 ) return\n\t\t\t\n\t\t\tconst index_x = this.index_x();\n\t\t\t\n\t\t\tconst index_old = index_x === null ? 0 : index_x\n\t\t\tconst index_new = ( index_old + keys.length - 1 ) % keys.length\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tif( index_old === 0 && !this.cycle() ) return\n\t\t\t\n\t\t\tthis.current_x( this.keys_x()[ index_new ] )\n\t\t}\n\t\t\n\t\tevent_right( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\n\t\t\tconst keys = this.keys_x()\n\t\t\tif( keys.length < 1 ) return\n\t\t\t\n\t\t\tconst index_x = this.index_x();\n\t\t\t\n\t\t\tconst index_old = index_x === null ? keys.length - 1 : index_x\n\t\t\tconst index_new = ( index_old + 1 ) % keys.length\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tif( index_new === 0 && !this.cycle() ) return\n\t\t\t\n\t\t\tthis.current_x( this.keys_x()[ index_new ] )\n\t\t}\n\t\t\n\t\tindex_y() {\n\t\t\tlet index = this.keys_y().indexOf( this.current_y() )\n\t\t\tif( index < 0 ) return null\n\t\t\t\n\t\t\treturn index\n\t\t}\n\t\t\n\t\tindex_x() {\n\t\t\tlet index = this.keys_x().indexOf( this.current_x() )\n\t\t\tif( index < 0 ) return null\n\t\t\t\n\t\t\treturn index\n\t\t}\n\t\t\n\t}\n}\n","$mol_string $mol_view\n\tdom_name \\input\n\tenabled true\n\tminimal_height 40\n\tautocomplete false\n\tselection? /number\n\t\t0\n\t\t0\n\tauto /\n\t\t<= selection_watcher null\n\t\t<= error_report null\n\tfield *\n\t\t^\n\t\tdisabled <= disabled false\n\t\tvalue <= value_changed? <=> value? \\\n\t\tplaceholder <= hint_visible <= hint \\\n\t\tspellcheck <= spellcheck true\n\t\tautocomplete <= autocomplete_native \\\n\t\tselectionEnd <= selection_end 0\n\t\tselectionStart <= selection_start 0\n\t\tinputMode <= keyboard \\text\n\t\tenterkeyhint <= enter \\go\n\tattr *\n\t\t^\n\t\tmaxlength <= length_max +Infinity\n\t\ttype <= type? \\text\n\tevent *\n\t\t^\n\t\tinput?event <=> event_change?event null\n\tplugins /\n\t\t<= Submit $mol_hotkey\n\t\t\tmod_ctrl <= submit_with_ctrl false\n\t\t\tkey * enter?event <=> submit?event null\n","namespace $.$$ {\n\t/**\n\t * An input field for entering single line text.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_string_demo\n\t */\n\texport class $mol_string extends $.$mol_string {\n\t\t\n\t\t@ $mol_action\n\t\tevent_change( next? : Event ) {\n\t\t\tif( !next ) return\n\t\t\tconst el = next.target as HTMLInputElement\n\t\t\tconst from = el.selectionStart\n\t\t\tconst to = el.selectionEnd\n\t\t\ttry {\n\t\t\t\tel.value = this.value_changed( el.value )\n\t\t\t} catch( error ) {\n\t\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\t\tif( error instanceof Error ) {\n\t\t\t\t\tel.setCustomValidity( error.message )\n\t\t\t\t\tel.reportValidity()\n\t\t\t\t}\n\t\t\t\t$mol_fail_hidden( error )\n\t\t\t}\n\t\t\tif( to === null ) return \n\t\t\tel.selectionEnd = to\n\t\t\tel.selectionStart = from\n\t\t\tthis.selection_change( next )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\terror_report() {\n\t\t\ttry {\n\t\t\t\tif( this.focused() ) this.value()\n\t\t\t} catch( error ) {\n\t\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\t\tif( error instanceof Error ) {\n\t\t\t\t\tel.setCustomValidity( error.message )\n\t\t\t\t\tel.reportValidity()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\thint_visible() {\n\t\t\treturn ( this.enabled() ? this.hint() : '' ) || ' '\n\t\t}\n\n\t\tdisabled() {\n\t\t\treturn !this.enabled()\n\t\t}\n\n\t\tautocomplete_native() {\n\t\t\treturn this.autocomplete() ? 'on' : 'off'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tselection_watcher() {\n\t\t\treturn new $mol_dom_listener(\n\t\t\t\tthis.$.$mol_dom_context.document,\n\t\t\t\t'selectionchange',\n\t\t\t\t$mol_wire_async( event => this.selection_change( event ) ),\n\t\t\t)\n\t\t}\n\t\t\n\t\tselection_change( event: Event ) {\n\t\t\t\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tif( el !== this.$.$mol_dom_context.document.activeElement ) return\n\t\t\t\n\t\t\tconst [ from, to ] = this.selection([\n\t\t\t\tel.selectionStart!,\n\t\t\t\tel.selectionEnd!,\n\t\t\t])\n\t\t\t\n\t\t\tel.selectionEnd = to\n\t\t\tel.selectionStart = from\n\n\t\t\tif( to !== from && el.selectionEnd === el.selectionStart ) {\n\t\t\t\tel.selectionEnd = to\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tselection_start() {\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tif( el.selectionStart === null ) return undefined as any as number\n\t\t\treturn this.selection()[0]\n\t\t}\n\n\t\tselection_end() {\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tif( el.selectionEnd === null ) return undefined as any as number\n\t\t\treturn this.selection()[1]\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/string/string.view.css\",\n \"[mol_string] {\\n\\tbox-sizing: border-box;\\n\\toutline-offset: 0;\\n\\tborder: none;\\n\\tborder-radius: var(--mol_gap_round);\\n\\twhite-space: pre-line;\\n\\toverflow: hidden;\\n\\ttext-overflow: ellipsis;\\n\\tpadding: var(--mol_gap_text);\\n\\ttext-align: left;\\n\\tposition: relative;\\n\\tfont: inherit;\\n\\tflex: 1 1 auto;\\n\\tbackground: transparent;\\n\\tmin-width: 0;\\n\\tcolor: inherit;\\n\\tbackground: var(--mol_theme_field);\\n}\\n\\n[mol_string]:disabled:not(:placeholder-shown) {\\n\\tbackground-color: transparent;\\n\\tcolor: var(--mol_theme_text);\\n}\\n\\n[mol_string]:where(:not(:disabled)) {\\n\\tbox-shadow: inset 0 0 0 1px var(--mol_theme_line);\\n}\\n\\n[mol_string]:where(:not(:disabled)):hover {\\n\\tbox-shadow: inset 0 0 0 2px var(--mol_theme_line);\\n\\tz-index: var(--mol_layer_hover);\\n}\\n\\n[mol_string]:focus {\\n\\toutline: none;\\n\\tz-index: var(--mol_layer_focus);\\n\\tcolor: var(--mol_theme_text);\\n\\tbox-shadow: inset 0 0 0 1px var(--mol_theme_focus);\\n}\\n\\n[mol_string]::placeholder {\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\\n[mol_string]::-ms-clear {\\n\\tdisplay: none;\\n}\\n\"\n) }","$mol_icon_close $mol_icon path \\M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\n","$mol_list $mol_view\n\trender_visible_only true\n\trender_over 0\n\tsub <= rows /$mol_view\n\tEmpty $mol_view\n\tGap_before $mol_view style * paddingTop <= gap_before 0\n\tGap_after $mol_view style * paddingTop <= gap_after 0\n\tview_window /\n\t\t0\n\t\t0\n","namespace $ {\n\n\tlet cache = null as null | boolean\n\texport function $mol_support_css_overflow_anchor( this: $ ) {\n\t\treturn cache ?? (\n\t\t\tcache = this.$mol_dom_context.CSS?.supports( 'overflow-anchor:auto' ) ?? false\n\t\t)\n\t}\n\n}\n","namespace $.$$ {\n\n\t/**\n\t * The list of rows with lazy/virtual rendering support based on `minimal_height` of rows.\n\t * `mol_list` should contain only components that inherits `mol_view`. You should not place raw strings or numbers in list.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_list_demo\n\t */\n\texport class $mol_list extends $.$mol_list {\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\tconst rows = this.rows()\n\t\t\treturn ( rows.length === 0 ) ? [ this.Empty() ] : rows\n\t\t}\n\n\t\trender_visible_only() {\n\t\t\treturn this.$.$mol_support_css_overflow_anchor()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tview_window( next?: [ number , number ] ) : [ number , number ] {\n\t\t\t\n\t\t\tconst kids = this.sub()\n\t\t\t\n\t\t\tif( kids.length < 3 ) return [ 0 , kids.length ]\n\t\t\tif( this.$.$mol_print.active() ) return [ 0 , kids.length ]\n\t\t\t\n\t\t\tconst rect = this.view_rect()\n\t\t\tif( next ) return next\n\t\t\t\n\t\t\tlet [ min , max ] = $mol_mem_cached( ()=> this.view_window() ) ?? [ 0 , 0 ]\n\n\t\t\tlet max2 = max = Math.min( max , kids.length )\n\t\t\tlet min2 = min = Math.max( 0 , Math.min( min , max - 1 ) )\n\t\t\t\n\t\t\tconst anchoring = this.render_visible_only()\n\t\t\tconst window_height = this.$.$mol_window.size().height + 40\n\t\t\tconst over = Math.ceil( window_height * this.render_over() )\n\t\t\tconst limit_top = -over\n\t\t\tconst limit_bottom = window_height + over\n\n\t\t\tconst gap_before = $mol_mem_cached( ()=> this.gap_before() ) ?? 0\n\t\t\tconst gap_after = $mol_mem_cached( ()=> this.gap_after() ) ?? 0\n\n\t\t\tlet top = Math.ceil( rect?.top ?? 0 ) + gap_before\n\t\t\tlet bottom = Math.ceil( rect?.bottom ?? 0 ) - gap_after\n\n\t\t\t// change nothing when already covers all limits\n\t\t\tif( top <= limit_top && bottom >= limit_bottom ) {\n\t\t\t\treturn [ min2 , max2 ]\n\t\t\t}\n\n\t\t\t// jumps when fully over limits\n\t\t\tif( anchoring && (( bottom < limit_top )||( top > limit_bottom )) ) {\n\t\t\t\t\n\t\t\t\tmin = 0\n\t\t\t\ttop = Math.ceil( rect?.top ?? 0 )\n\t\t\t\t\n\t\t\t\twhile( min < ( kids.length - 1 ) ) {\n\t\t\t\t\t\n\t\t\t\t\tconst height = kids[ min ].minimal_height()\n\t\t\t\t\tif( top + height >= limit_top ) break\n\t\t\t\t\t\n\t\t\t\t\ttop += height\n\t\t\t\t\t++ min\n\n\t\t\t\t}\n\n\t\t\t\tmin2 = min\n\t\t\t\tmax2 = max = min\n\t\t\t\tbottom = top\n\n\t\t\t}\n\n\t\t\tlet top2 = top\n\t\t\tlet bottom2 = bottom\n\t\t\t\n\t\t\t// force recalc min when overlapse top limit\n\t\t\tif( anchoring && ( top < limit_top ) && ( bottom < limit_bottom ) && ( max < kids.length ) ) {\n\t\t\t\tmin2 = max\n\t\t\t\ttop2 = bottom\n\t\t\t}\n\n\t\t\t// force recalc max when overlapse bottom limit\n\t\t\tif( ( bottom > limit_bottom ) && ( top > limit_top ) && ( min > 0 ) ) {\n\t\t\t\tmax2 = min\n\t\t\t\tbottom2 = top\n\t\t\t}\n\n\t\t\t// extend min to cover top limit\n\t\t\twhile( anchoring && (( top2 > limit_top )&&( min2 > 0 )) ) {\n\t\t\t\t-- min2\n\t\t\t\ttop2 -= kids[ min2 ].minimal_height()\n\t\t\t}\n\t\t\t\n\t\t\t// extend max to cover bottom limit\n\t\t\twhile( bottom2 < limit_bottom && max2 < kids.length ) {\n\t\t\t\tbottom2 += kids[ max2 ].minimal_height()\n\t\t\t\t++ max2\n\t\t\t}\n\t\t\t\n\t\t\treturn [ min2 , max2 ]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tgap_before() {\n\t\t\tconst skipped = this.sub().slice( 0 , this.view_window()[0] )\n\t\t\treturn Math.max( 0 , skipped.reduce( ( sum , view )=> sum + view.minimal_height() , 0 ) )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tgap_after() {\n\t\t\tconst skipped = this.sub().slice( this.view_window()[1] )\n\t\t\treturn Math.max( 0 , skipped.reduce( ( sum , view )=> sum + view.minimal_height() , 0 ) )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsub_visible() {\n\t\t\treturn [\n\t\t\t\t... this.gap_before() ? [ this.Gap_before() ] : [],\n\t\t\t\t... this.sub().slice( ... this.view_window() ),\n\t\t\t\t... this.gap_after() ? [ this.Gap_after() ] : [],\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tminimal_height() {\n\n\t\t\treturn this.sub().reduce( ( sum , view )=> {\n\n\t\t\t\ttry {\n\t\t\t\t\treturn sum + view.minimal_height() \n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\t$mol_fail_log( error )\n\t\t\t\t\treturn sum\n\t\t\t\t}\n\n\t\t\t} , 0 )\n\n\t\t}\n\n\t\tforce_render(\n\t\t\tpath : Set< $mol_view >,\n\t\t) {\n\n\t\t\tconst kids = this.rows()\n\n\t\t\tconst index = kids.findIndex( item => path.has( item ) )\n\n\t\t\tif( index >= 0 ) {\n\t\t\t\tconst win = this.view_window()\n\t\t\t\tif( index < win[0] || index >= win[1] ) {\n\t\t\t\t\tthis.view_window([ this.render_visible_only() ? index : 0, index + 1 ])\n\t\t\t\t}\n\t\t\t\t( kids[ index ] as $mol_view ).force_render( path )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/list/list.view.css\",\n \"[mol_list] {\\n\\twill-change: contents;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tflex-shrink: 0;\\n\\tmax-width: 100%;\\n\\t/* display: flex;\\n\\talign-items: stretch;\\n\\talign-content: stretch; */\\n\\ttransition: none;\\n\\tmin-height: 1.5rem;\\n}\\n\\n[mol_list_gap_before] ,\\n[mol_list_gap_after] {\\n\\tdisplay: block !important;\\n\\tflex: none;\\n\\ttransition: none;\\n\\toverflow-anchor: none;\\n}\\n\"\n) }","$mol_paragraph $mol_view\n\tline_height 24\n\tletter_width 7\n\twidth_limit +Infinity\n\trow_width 0\n\tsub / <= title\n","namespace $.$$ {\n\n\texport class $mol_paragraph extends $.$mol_paragraph {\n\n\t\t@ $mol_mem\n\t\tmaximal_width() {\n\n\t\t\tlet width = 0\n\t\t\tconst letter = this.letter_width()\n\t\t\t\n\t\t\tfor( const kid of this.sub() ) {\n\t\t\t\t\n\t\t\t\tif( !kid ) continue\n\t\t\t\t\n\t\t\t\tif( kid instanceof $mol_view ) {\n\t\t\t\t\twidth += kid.maximal_width()\n\t\t\t\t} else if( typeof kid !== 'object' ) {\n\t\t\t\t\twidth += String( kid ).length * letter\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\treturn width\n\n\t\t}\n\n\t\twidth_limit() {\n\t\t\treturn this.$.$mol_window.size().width\n\t\t}\n\t\t\n\t\tminimal_width() {\n\t\t\treturn this.letter_width()\n\t\t}\n\n\t\t@ $mol_mem\n\t\trow_width() {\n\t\t\treturn Math.max( Math.min( this.width_limit() , this.maximal_width() ) , this.letter_width() )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tminimal_height() {\n\t\t\treturn Math.max( 1 , Math.ceil( this.maximal_width() / this.row_width() ) ) * this.line_height()\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/paragraph/paragraph.view.css\",\n \":where([mol_paragraph]) {\\n\\tmargin: 0;\\n\\tmax-width: 100%;\\n}\\n\"\n) }","$mol_dimmer $mol_paragraph\n\thaystack \\\n\tneedle \\\n\tsub <= parts /$mol_view_content\n\tLow* $mol_paragraph\n\t\tsub /\n\t\t\t<= string* \\\n\tHigh* $mol_paragraph\n\t\tsub /\n\t\t\t<= string* \\\n","interface String {\n\t\n\tmatch< RE extends RegExp >( regexp: RE ): ReturnType<\n\t\tRE[ typeof Symbol.match ]\n\t>\n\t\n matchAll< RE extends RegExp >( regexp: RE ): ReturnType<\n\t\tRE[ typeof Symbol.matchAll ]\n\t>\n\t\n}\n\nnamespace $ {\n\t\n\ttype Groups_to_params = {\n\t\t[P in keyof T]?: T[P] | boolean | undefined;\n\t};\t\n\n\texport type $mol_regexp_source =\n\t| number\n\t| string\n\t| RegExp\n\t| { [ key in string ] : $mol_regexp_source }\n\t| readonly[ $mol_regexp_source , ... $mol_regexp_source[] ]\n\n\texport type $mol_regexp_groups< Source extends $mol_regexp_source >\n\t\n\t\t= Source extends number\n\t\t? {}\n\t\t\n\t\t: Source extends string\n\t\t? {}\n\t\t\n\t\t: Source extends $mol_regexp_source[]\n\t\t? $mol_type_merge< $mol_type_intersect< {\n\t\t\t[ key in Extract< keyof Source , number > ] : $mol_regexp_groups< Source[ key ] >\n\t\t}[ Extract< keyof Source , number > ] > >\n\t\t\n\t\t: Source extends RegExp\n\t\t? Record< string, string > extends NonNullable< NonNullable< ReturnType< Source['exec'] > >[ 'groups' ] >\n\t\t\t? {}\n\t\t\t: NonNullable< NonNullable< ReturnType< Source['exec'] > >[ 'groups' ] >\n\t\t\n\t\t: Source extends { readonly [ key in string ] : $mol_regexp_source }\n\t\t? $mol_type_merge< $mol_type_intersect< {\n\t\t\t[ key in keyof Source ] :\n\t\t\t\t$mol_type_merge<\n\t\t\t\t\t& $mol_type_override<\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treadonly [ k in Extract< keyof Source , string > ]: string\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treadonly [ k in key ]:\n\t\t\t\t\t\t\t\tSource[ key ] extends string\n\t\t\t\t\t\t\t\t\t? Source[ key ]\n\t\t\t\t\t\t\t\t\t: string\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t& $mol_regexp_groups< Source[ key ] >\n\t\t\t\t>\n\t\t}[ keyof Source ] > >\n\n\t\t: never\n\t\t\n\t/** Type safe reguar expression builder */\n\texport class $mol_regexp< Groups extends Record< string , string > > extends RegExp {\n\t\t\n\t\t/** Prefer to use $mol_regexp.from */\n\t\tconstructor( source : string , flags : string = 'gsu' , readonly groups : ( Extract< keyof Groups , string > )[] = [] ) {\n\t\t\tsuper( source , flags )\n\t\t}\n\t\t\n\t\t*[Symbol.matchAll] (str:string): RegExpStringIterator< RegExpMatchArray & $mol_type_override< RegExpMatchArray, { groups?: { [ key in keyof Groups ] : string } } > > {\n\t\t\tconst index = this.lastIndex\n\t\t\tthis.lastIndex = 0\n\t\t\ttry {\n\t\t\t\twhile ( this.lastIndex < str.length ) {\n\t\t\t\t\tconst found = this.exec(str)\n\t\t\t\t\tif( !found ) break\n\t\t\t\t\tyield found\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tthis.lastIndex = index\n\t\t\t}\n\t\t}\n\t\t\n\t\t/** Parses input and returns found capture groups or null */\n\t\t[ Symbol.match ]( str : string ): null | RegExpMatchArray {\n\t\t\tconst res = [ ... this[Symbol.matchAll]( str ) ].filter( r => r.groups ).map( r => r[0] )\n\t\t\tif( !res.length ) return null\n\t\t\treturn res as RegExpMatchArray\n\t\t}\n\t\t\n\t\t/** Splits string by regexp edges */\n\t\t[ Symbol.split ]( str : string ): string[] {\n\t\t\t\n\t\t\tconst res = [] as string[]\n\t\t\tlet token_last = null\n\t\t\t\n\t\t\tfor( let token of this[Symbol.matchAll]( str ) ) {\n\t\t\t\tif( token.groups && ( token_last ? token_last.groups : true ) ) res.push( '' )\n\t\t\t\tres.push( token[0] )\n\t\t\t\ttoken_last = token\n\t\t\t}\n\t\t\t\n\t\t\tif( !res.length ) res.push( '' )\n\t\t\t\n\t\t\treturn res\n\t\t}\n\t\t\n\t\ttest( str : string ): boolean {\n\t\t\treturn Boolean( str.match( this) )\n\t\t}\n\t\t\n\t\texec( str : string ): RegExpExecArray & $mol_type_override< RegExpExecArray , { groups?: { [ key in keyof Groups ] : string } } > | null {\n\t\t\t\n\t\t\tconst from = this.lastIndex\n\t\t\tif( from >= str.length ) return null\n\t\t\t\n\t\t\tconst res = super.exec( str )\n\t\t\tif( res === null ) {\n\t\t\t\tthis.lastIndex = str.length\n\t\t\t\tif( !str ) return null\n\t\t\t\treturn Object.assign( [ str.slice( from ) ], {\n\t\t\t\t\tindex: from,\n\t\t\t\t\tinput: str,\n\t\t\t\t} ) as any\n\t\t\t}\n\n\t\t\tif( from === this.lastIndex ) {\n\t\t\t\t$mol_fail( new Error( 'Captured empty substring' ) )\n\t\t\t}\n\n\t\t\ttype Token = { [ key in keyof Groups ] : string } & { [ key : number ] : string }\n\t\t\tconst groups = {} as Token\n\t\t\t\n\t\t\tconst skipped = str.slice( from , this.lastIndex - res[0].length )\n\t\t\tif( skipped ) {\n\t\t\t\tthis.lastIndex = this.lastIndex - res[0].length\n\t\t\t\treturn Object.assign( [ skipped ], {\n\t\t\t\t\tindex: from,\n\t\t\t\t\tinput: res.input,\n\t\t\t\t} ) as any\n\t\t\t}\n\t\t\t\n\t\t\tfor( let i = 0 ; i < this.groups.length ; ++i ) {\n\t\t\t\tconst group = this.groups[ i ]\n\t\t\t\tgroups[ group ] = groups[ group ] || res[ i + 1 ] || '' as any\n\t\t\t}\n\n\t\t\treturn Object.assign( res, { groups } )\n\t\t}\n\t\t\n\t\tgenerate(\n\t\t\tparams: Groups_to_params< Groups >\n\t\t): string | null {\n\t\t\treturn null\n\t\t}\n\t\t\n\t\tget native() {\n\t\t\treturn new RegExp( this.source, this.flags )\n\t\t}\n\n\t\t/** Makes regexp that non-greedy repeats this pattern from min to max count */\n\t\tstatic repeat<\n\t\t\tSource extends $mol_regexp_source\n\t\t>(\n\t\t\tsource : Source ,\n\t\t\tmin = 0 ,\n\t\t\tmax = Number.POSITIVE_INFINITY ,\n\t\t) : $mol_regexp< $mol_regexp_groups< Source > > {\n\t\n\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\tconst upper = Number.isFinite( max ) ? max : ''\n\t\t\t\n\t\t\tconst str = `(?:${ regexp.source }){${ min },${ upper }}?`\n\t\t\tconst regexp2 = new $mol_regexp( str , regexp.flags , regexp.groups )\n\t\t\t\n\t\t\tregexp2.generate = params => {\n\t\t\t\tconst res = regexp.generate( params )\n\t\t\t\tif( res ) return res\n\t\t\t\tif( min > 0 ) return res\n\t\t\t\treturn ''\n\t\t\t}\n\t\n\t\t\treturn regexp2\n\t\n\t\t}\n\n\t\t/** Makes regexp that greedy repeats this pattern from min to max count */\n\t\tstatic repeat_greedy<\n\t\t\tSource extends $mol_regexp_source\n\t\t>(\n\t\t\tsource : Source ,\n\t\t\tmin = 0 ,\n\t\t\tmax = Number.POSITIVE_INFINITY ,\n\t\t) : $mol_regexp< $mol_regexp_groups< Source > > {\n\t\n\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\tconst upper = Number.isFinite( max ) ? max : ''\n\t\t\t\n\t\t\tconst str = `(?:${ regexp.source }){${ min },${ upper }}`\n\t\t\tconst regexp2 = new $mol_regexp( str , regexp.flags , regexp.groups )\n\t\t\t\n\t\t\tregexp2.generate = params => {\n\t\t\t\tconst res = regexp.generate( params )\n\t\t\t\tif( res ) return res\n\t\t\t\tif( min > 0 ) return res\n\t\t\t\treturn ''\n\t\t\t}\n\t\n\t\t\treturn regexp2\n\t\t}\n\n\t\t/** Makes regexp that match any of options */\n\t\tstatic vary<\n\t\t\tSources extends readonly $mol_regexp_source[]\n\t\t>(\n\t\t\tsources : Sources ,\n\t\t) {\n\t\t\t\n\t\t\tconst groups = [] as string[]\n\t\t\t\n\t\t\tconst chunks = sources.map( source => {\n\n\t\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\t\tgroups.push( ... regexp.groups )\n\t\t\t\t\n\t\t\t\treturn regexp.source\n\n\t\t\t} ) as any as readonly[ $mol_regexp_source , ... $mol_regexp_source[] ]\n\t\t\t\n\t\t\treturn new $mol_regexp< $mol_regexp_groups< Sources[number] > >(\n\t\t\t\t`(?:${ chunks.join('|') })` ,\n\t\t\t\t'' ,\n\t\t\t\tgroups as any[] ,\n\t\t\t)\n\t\t\t\n\t\t}\n\n\t\t/** Makes regexp that allow absent of this pattern */\n\t\tstatic optional<\n\t\t\tSource extends $mol_regexp_source\n\t\t>( source : Source ) {\n\t\t\treturn $mol_regexp.repeat_greedy( source , 0 , 1 )\n\t\t}\n\n\t\t/** Makes regexp that look ahead for pattern */\n\t\tstatic force_after( source : $mol_regexp_source ) {\n\n\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\t\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`(?=${ regexp.source })` ,\n\t\t\t\tregexp.flags ,\n\t\t\t\tregexp.groups ,\n\t\t\t)\n\n\t\t}\n\n\t\t/** Makes regexp that look ahead for pattern */\n\t\tstatic forbid_after( source : $mol_regexp_source ) {\n\n\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\t\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`(?!${ regexp.source })` ,\n\t\t\t\tregexp.flags ,\n\t\t\t\tregexp.groups ,\n\t\t\t)\n\n\t\t}\n\n\t\t/** Converts some js values to regexp */\n\t\tstatic from<\n\t\t\tSource extends $mol_regexp_source\n\t\t>(\n\t\t\tsource : Source ,\n\t\t\t{ ignoreCase , multiline } : Partial< Pick< RegExp , 'ignoreCase' | 'multiline' > > = {\n\t\t\t\tignoreCase : false ,\n\t\t\t\tmultiline : false ,\n\t\t\t} ,\n\t\t) : $mol_regexp< $mol_regexp_groups< Source > > {\n\n\t\t\tlet flags = 'gsu'\n\t\t\tif( multiline ) flags += 'm'\n\t\t\tif( ignoreCase ) flags += 'i'\n\n\t\t\tif( typeof source === 'number' ) {\n\n\t\t\t\tconst src = `\\\\u{${ source.toString(16) }}`\n\t\t\t\tconst regexp = new $mol_regexp< $mol_regexp_groups< Source > >( src , flags )\n\t\t\t\tregexp.generate = ()=> src\n\t\t\t\treturn regexp\n\n\t\t\t} if( typeof source === 'string' ) {\n\n\t\t\t\tconst src = source.replace( /[.*+?^${}()|[\\]\\\\]/g , '\\\\$&' ) \n\t\t\t\tconst regexp = new $mol_regexp< $mol_regexp_groups< Source > >( src , flags )\n\t\t\t\tregexp.generate = ()=> source\n\t\t\t\treturn regexp\n\n\t\t\t} else if( source instanceof $mol_regexp ) {\n\t\t\t\t\n\t\t\t\tconst regexp = new $mol_regexp( source.source, flags, source.groups )\n\t\t\t\tregexp.generate = params => source.generate( params )\n\t\t\t\treturn regexp\n\t\t\t\t\n\t\t\t} if( source instanceof RegExp ) {\n\n\n\t\t\t\tconst test = new RegExp( '|' + source.source )\n\t\t\t\tconst groups = Array.from(\n\t\t\t\t\t{ length : test.exec('')!.length - 1 } ,\n\t\t\t\t\t( _ , i )=> String( i + 1 ) ,\n\t\t\t\t)\n\n\t\t\t\tconst regexp = new $mol_regexp< $mol_regexp_groups< Source > >(\n\t\t\t\t\tsource.source ,\n\t\t\t\t\tsource.flags ,\n\t\t\t\t\tgroups as any ,\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tregexp.generate = ()=> ''\n\n\t\t\t\treturn regexp\n\n\t\t\t} if( Array.isArray( source ) ) {\n\n\t\t\t\tconst patterns = source.map( src => Array.isArray( src )\n\t\t\t\t\t? $mol_regexp.optional( src as any )\n\t\t\t\t\t: $mol_regexp.from( src )\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tconst chunks = patterns.map( pattern => pattern.source )\n\t\t\t\t\n\t\t\t\tconst groups = [] as ( Extract< keyof $mol_regexp_groups< Source > , string > )[]\n\n\t\t\t\tlet index = 0\n\t\t\n\t\t\t\tfor( const pattern of patterns ) {\n\t\t\t\t\t\n\t\t\t\t\tfor( let group of pattern.groups ) {\n\t\t\t\t\t\tif( Number( group ) >= 0 ) {\n\t\t\t\t\t\t\tgroups.push( String( index ++ ) as any )\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tgroups.push( group )\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst regexp = new $mol_regexp( chunks.join( '' ) , flags , groups )\n\t\t\t\t\n\t\t\t\tregexp.generate = params => {\n\t\t\t\t\tlet res = ''\n\t\t\t\t\tfor( const pattern of patterns ) {\n\t\t\t\t\t\tlet sub = pattern.generate( params )\n\t\t\t\t\t\tif( sub === null ) return ''\n\t\t\t\t\t\tres += sub\n\t\t\t\t\t}\n\t\t\t\t\treturn res\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn regexp\n\t\t\n\t\t\t} else {\n\n\t\t\t\tconst groups = [] as string[]\n\n\t\t\t\tconst chunks = Object.keys( source ).map( name => {\n\n\t\t\t\t\tgroups.push( name )\n\n\t\t\t\t\tconst regexp = $mol_regexp.from( (source as any)[ name ] )\n\t\t\t\t\tgroups.push( ... regexp.groups )\n\t\t\t\t\t\n\t\t\t\t\treturn `(${regexp.source})`\n\n\t\t\t\t} ) as any as readonly[ $mol_regexp_source , ... $mol_regexp_source[] ]\n\n\t\t\t\tconst regexp = new $mol_regexp< $mol_regexp_groups< Source > >(\n\t\t\t\t\t`(?:${ chunks.join('|') })` ,\n\t\t\t\t\tflags ,\n\t\t\t\t\tgroups as any[] ,\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tconst validator = new RegExp( '^' + regexp.source + '$', flags )\n\t\t\t\tregexp.generate = (params: any) => {\n\t\t\t\t\t\n\t\t\t\t\tfor( let option in source ) {\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( option in params ) {\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif( typeof params[ option ] === 'boolean' ) {\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif( !params[ option as any ] ) continue\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tconst str = String( params[ option ] )\n\t\t\t\t\t\t\t\tif( str.match( validator ) ) return str\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t$mol_fail( new Error( `Wrong param: ${option}=${str}` ) )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif( typeof (source as any)[ option ] !== 'object' ) continue\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst res = $mol_regexp.from( (source as any)[ option ] ).generate( params )\n\t\t\t\t\t\tif( res ) return res\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn regexp\n\n\t\t\t}\n\t\n\t\t}\n\n\t\t/** Makes regexp which includes only unicode category */\n\t\tstatic unicode_only( ... category: $mol_unicode_category ) {\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`\\\\p{${ category.join( '=' ) }}`\n\t\t\t)\n\t\t}\n\n\t\t/** Makes regexp which excludes unicode category */\n\t\tstatic unicode_except( ... category: $mol_unicode_category ) {\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`\\\\P{${ category.join( '=' ) }}`\n\t\t\t)\n\t\t}\n\n\t\tstatic char_range(\n\t\t\tfrom: number,\n\t\t\tto: number,\n\t\t): $mol_regexp<{}> {\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`${ $mol_regexp.from( from ).source }-${ $mol_regexp.from( to ).source }`\n\t\t\t)\n\t\t}\n\n\t\tstatic char_only(\n\t\t\t... allowed: readonly [ $mol_regexp_source, ... $mol_regexp_source[] ]\n\t\t): $mol_regexp<{}> {\n\t\t\tconst regexp = allowed.map( f => $mol_regexp.from( f ).source ).join('')\n\t\t\treturn new $mol_regexp( `[${ regexp }]` )\n\t\t}\n\n\t\tstatic char_except(\n\t\t\t... forbidden: readonly [ $mol_regexp_source, ... $mol_regexp_source[] ]\n\t\t): $mol_regexp<{}> {\n\t\t\tconst regexp = forbidden.map( f => $mol_regexp.from( f ).source ).join('')\n\t\t\treturn new $mol_regexp( `[^${ regexp }]` )\n\t\t}\n\t\t\n\t\tstatic decimal_only = $mol_regexp.from( /\\d/gsu )\n\t\tstatic decimal_except = $mol_regexp.from( /\\D/gsu )\n\t\t\n\t\tstatic latin_only = $mol_regexp.from( /\\w/gsu )\n\t\tstatic latin_except = $mol_regexp.from( /\\W/gsu )\n\t\t\n\t\tstatic space_only = $mol_regexp.from( /\\s/gsu )\n\t\tstatic space_except = $mol_regexp.from( /\\S/gsu )\n\t\t\n\t\tstatic word_break_only = $mol_regexp.from( /\\b/gsu )\n\t\tstatic word_break_except = $mol_regexp.from( /\\B/gsu )\n\t\t\n\t\tstatic tab = $mol_regexp.from( /\\t/gsu )\n\t\tstatic slash_back = $mol_regexp.from( /\\\\/gsu )\n\t\tstatic nul = $mol_regexp.from( /\\0/gsu )\n\t\t\n\t\tstatic char_any = $mol_regexp.from( /./gsu )\n\t\tstatic begin = $mol_regexp.from( /^/gsu )\n\t\tstatic end = $mol_regexp.from( /$/gsu )\n\t\tstatic or = $mol_regexp.from( /|/gsu )\n\t\t\n\t\tstatic line_end = $mol_regexp.from({\n\t\t\twin_end: [ [ '\\r' ], '\\n' ],\n\t\t\tmac_end: '\\r',\n\t\t})\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\n\t/**\n\t * Output text with dimmed mismatched substrings.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_dimmer_demo\n\t */\n\texport class $mol_dimmer extends $.$mol_dimmer {\n\t\t\n\t\tparts() {\n\t\t\tconst needle = this.needle()\n\t\t\tif( needle.length < 2 ) return [ this.haystack() ]\n\t\t\t\n\t\t\tlet chunks : any[] = []\n\t\t\tlet strings = this.strings()\n\t\t\t\n\t\t\tfor( let index = 0 ; index < strings.length ; index++ ) {\n\t\t\t\tif( strings[ index ] === '' ) continue\n\t\t\t\t\n\t\t\t\tchunks.push( ( index % 2 ) ? this.High( index ) : this.Low( index ) )\n\t\t\t}\n\t\t\t\n\t\t\treturn chunks\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstrings() {\n\t\t\t\n\t\t\tconst options = this.needle().split( /\\s+/g ).filter( Boolean )\n\t\t\tif( !options.length ) return [ this.haystack() ]\n\t\t\t\n\t\t\tconst variants = { ... options } as Record< number, string >\n\t\t\tconst regexp = $mol_regexp.from( { needle: variants } , { ignoreCase: true } )\n\t\t\t\n\t\t\treturn this.haystack().split( regexp )\n\t\t}\n\t\t\n\t\tstring( index: number ) {\n\t\t\treturn this.strings()[ index ]\n\t\t}\n\t\t\n\t\t*view_find(\n\t\t\tcheck: ( path : $mol_view, text?: string )=> boolean,\n\t\t\tpath = [] as $mol_view[],\n\t\t): Generator< $mol_view[] > {\n\n\t\t\tif( check( this, this.haystack() ) ) {\n\t\t\t\tyield [ ... path, this ]\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/dimmer/dimmer.view.css\",\n \"[mol_dimmer] {\\n\\tdisplay: block;\\n\\tmax-width: 100%;\\n}\\n\\n[mol_dimmer_low] {\\n\\tdisplay: inline;\\n\\topacity: 0.8;\\n}\\n\\n[mol_dimmer_high] {\\n\\tdisplay: inline;\\n\\tcolor: var(--mol_theme_focus);\\n\\ttext-shadow: 0 0;\\n}\\n\"\n) }","$mol_search $mol_pop\n\tquery? \\\n\tsuggests /string\n\tplugins /$mol_plugin\n\t\t^\n\t\t<= Hotkey $mol_hotkey\n\t\t\tkey * escape? <=> clear? null\n\t\t<= Nav $mol_nav\n\t\t\tkeys_y <= nav_components /$mol_view\n\t\t\tcurrent_y?component <=> nav_focused?component null\n\tshowed? <=> suggests_showed? false\n\talign_hor \\right\n\tAnchor $mol_view\n\t\tsub <= anchor_content /\n\t\t\t<= Query $mol_string\n\t\t\t\tvalue? <=> query? \\\n\t\t\t\thint <= hint @ \\Search...\n\t\t\t\tsubmit?event <=> submit?event null\n\t\t\t\tenabled <= enabled true\n\t\t\t\tkeyboard <= keyboard \\search\n\t\t\t\tenter <= enter \\search\n\t\t\t\tbring => bring\n\t\t\t<= Clear $mol_button_minor\n\t\t\t\thint @ \\Clear\n\t\t\t\tclick?event <=> clear?event null\n\t\t\t\tsub /\n\t\t\t\t\t<= Clear_icon $mol_icon_close\n\tbubble_content /$mol_view_content\n\t\t<= Menu $mol_list\n\t\t\trows <= menu_items /$mol_view\n\tSuggest* $mol_button_minor\n\t\tclick?event <=> suggest_select*?event null\n\t\tsub <= suggest_content* /$mol_view_content\n\t\t\t<= Suggest_label* $mol_dimmer\n\t\t\t\thaystack <= suggest_label* \\\n\t\t\t\tneedle <= query? \\\n","namespace $.$$ {\n\t\n\t/**\n\t * Search input with suggest and clear button.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_search_demo\n\t */\n\texport class $mol_search extends $.$mol_search {\n\t\t\n\t\t@ $mol_mem\n\t\tanchor_content() {\n\t\t\treturn [\n\t\t\t\tthis.Query(),\n\t\t\t\t... this.query() ? [ this.Clear() ] : [],\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsuggests_showed( next = true ) {\n\t\t\t\n\t\t\tthis.query()\n\t\t\t\n\t\t\tif( !this.focused() ) return false\n\n\t\t\treturn next\n\t\t}\n\n\t\tsuggest_selected( next? : string ) {\n\t\t\t\n\t\t\tif( next === undefined ) return\n\t\t\t\n\t\t\tthis.query( next )\n\t\t\tthis.Query().focused( true )\n\t\t\t\n\t\t}\n\t\t\n\t\tnav_components() {\n\t\t\treturn [\n\t\t\t\tthis.Query(),\n\t\t\t\t... this.menu_items(),\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tnav_focused( component? : $mol_view ) {\n\t\t\t\n\t\t\tif( !this.focused() ) return null\n\t\t\t\n\t\t\tif( component == null ) {\n\t\t\t\t\n\t\t\t\tfor( let comp of this.nav_components() ) {\n\t\t\t\t\tif( comp && comp.focused() ) return comp\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn null\n\t\t\t}\n\t\t\t\n\t\t\tif( this.suggests_showed() ) {\n\t\t\t\tthis.ensure_visible( component, \"center\" )\n\t\t\t\tcomponent.focused( true )\n\t\t\t}\n\t\t\t\n\t\t\treturn component\n\t\t}\n\t\t\n\t\tsuggest_label( key: string ) {\n\t\t\treturn key\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tmenu_items() {\n\t\t\treturn this.suggests().map( ( suggest : string ) => this.Suggest( suggest ) )\n\t\t}\n\t\t\n\t\tsuggest_select( id : string , event? : MouseEvent ) {\n\t\t\tthis.query( id )\n\t\t\tthis.Query().selection([ id.length, id.length ])\n\t\t\tthis.Query().focused( true )\n\t\t}\n\t\t\n\t\tclear( event? : Event ) {\n\t\t\tthis.query( '' )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/search/search.view.css\",\n \"[mol_search] {\\n\\talign-self: flex-start;\\n\\tflex: auto;\\n}\\n\\n[mol_search_anchor] {\\n\\tflex: 1 1 auto;\\n}\\n\\n[mol_search_query] {\\n\\tflex-grow: 1;\\n}\\n\\n[mol_search_menu] {\\n\\tmin-height: .75rem;\\n\\tdisplay: flex;\\n}\\n\\n[mol_search_suggest] {\\n\\ttext-align: left;\\n}\\n\\n[mol_search_suggest_label_high] {\\n\\tcolor: var(--mol_theme_shade);\\n\\ttext-shadow: none;\\n}\\n\"\n) }","$mol_labeler $mol_list\n\trows /\n\t\t<= Label $mol_view\n\t\t\tminimal_height 32\n\t\t\tsub <= label /$mol_view_content\n\t\t\t\t<= title\n\t\t<= Content $mol_view\n\t\t\tminimal_height 24\n\t\t\tsub <= content /\n","namespace $ { $mol_style_attach( \"mol/labeler/labeler.view.css\",\n \"[mol_labeler] {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\talign-items: stretch;\\n\\tcursor: inherit;\\n}\\n\\n[mol_labeler_label] {\\n\\tmin-height: 2rem;\\n\\tcolor: var(--mol_theme_shade);\\n\\tpadding: .5rem .75rem 0;\\n\\tgap: 0 var(--mol_gap_block);\\n\\tflex-wrap: wrap;\\n}\\n\\n[mol_labeler_content] {\\n\\tdisplay: flex;\\n\\tpadding: var(--mol_gap_text);\\n}\\n\"\n) }","$mol_form_field $mol_labeler\n\tbids /string\n\tlabel /\n\t\t<= name \\\n\t\t<= Bid $mol_view\n\t\t\tsub / <= bid \\\n\tcontent / <= control null\n","namespace $.$$ {\n\t/**\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_form_demo\n\t */\n\texport class $mol_form_field extends $.$mol_form_field {\n\t\t\n\t\t@ $mol_mem\n\t\tbid() {\n\t\t\treturn this.bids().filter( Boolean )[ 0 ] ?? ''\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/form/field/field.view.css\",\n \"[mol_form_field] {\\n\\talign-items: stretch;\\n}\\n\\n[mol_form_field_bid] {\\n\\tcolor: var(--mol_theme_focus);\\n\\tdisplay: inline-block;\\n\\ttext-shadow: 0 0;\\n}\\n\\n[mol_form_field_content] {\\n\\tborder-radius: var(--mol_gap_round);\\n}\\n\"\n) }","$mol_pick $mol_pop\n\tevent *\n\t\t^\n\t\tkeydown?event <=> keydown?event null\n\tAnchor <= Trigger $mol_check\n\t\tminimal_width 40\n\t\tminimal_height 40\n\t\tenabled <= trigger_enabled true\n\t\tchecked? <=> showed?\n\t\tclicks? <=> clicks? null\n\t\tsub <= trigger_content /$mol_view_content\n\t\t\t<= title\n\t\thint <= hint \\\n","namespace $.$$ {\n\n\t/**\n\t * Pop-up display and hide by mouse click, also hide by unfocus.\n\t * Based on [mol_pop](https://mol.hyoo.ru/#!section=demos/demo=mol_pop_demo) component.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_pick_demo\n\t */\n\texport class $mol_pick extends $.$mol_pick {\n\t\t\n\t\tkeydown( event : KeyboardEvent ) {\n\t\t\t\n\t\t\tif( !this.trigger_enabled() ) return\n\n\t\t\tif( event.defaultPrevented ) return \n\t\t\t\n\t\t\tif( event.keyCode === $mol_keyboard_code.escape ) {\n\t\t\t\tif( !this.showed() ) return\n\t\t\t\tevent.preventDefault()\n\t\t\t\tthis.showed( false )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/pick/pick.view.css\",\n \"[mol_pick_trigger] {\\n\\talign-items: center;\\n\\tflex-grow: 1;\\n}\\n\"\n) }","$mol_icon_dots_vertical $mol_icon path \\M12,16A2,2 0 0,1 14,18A2,2 0 0,1 12,20A2,2 0 0,1 10,18A2,2 0 0,1 12,16M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M12,4A2,2 0 0,1 14,6A2,2 0 0,1 12,8A2,2 0 0,1 10,6A2,2 0 0,1 12,4Z\n","$mol_select $mol_pick\n\tdictionary? *\n\toptions /string\n\tvalue? \\\n\toption_label_default \\\n\tOption_row* $mol_button_minor\n\t\tevent_click?event <=> event_select*?event null\n\t\tsub <= option_content* /\n\t\t\t<= Option_label* $mol_dimmer\n\t\t\t\thaystack <= option_label* \\\n\t\t\t\tneedle <= filter_pattern? \\\n\tNo_options $mol_view\n\t\tsub /\n\t\t\t<= no_options_message @ \\No options\n\tplugins /\n\t\t^\n\t\t<= Nav $mol_nav\n\t\t\tkeys_y <= nav_components /$mol_view\n\t\t\tcurrent_y?component <=> option_focused?component null\n\t\t\tcycle? <=> nav_cycle? true\n\thint @ \\Pick..\n\tbubble_content /\n\t\t<= Filter\n\t\t<= Bubble_pane $mol_scroll\n\t\t\tsub /\n\t\t\t\t<= Menu $mol_list\n\t\t\t\t\trows <= menu_content /$mol_view\n\tFilter $mol_search\n\t\tquery? <=> filter_pattern? \\\n\t\thint <= filter_hint @ \\Filter..\n\t\tsubmit?event <=> submit?event null\n\t\tenabled <= enabled true\n\tTrigger_icon $mol_icon_dots_vertical\n","namespace $ {\n\n\texport function $mol_match_text< Variant >( query : string , values : ( variant : Variant )=> string[] ) {\n\t\tconst tags = query.toLowerCase().trim().split( /\\s+/ ).filter( tag => tag )\n\n\t\tif( tags.length === 0 ) return ()=> true\n\t\t\n\t\treturn ( variant : Variant )=> {\n\t\t\tconst vals = values( variant )\n\t\t\treturn tags.every( tag => vals.some( val => val.toLowerCase().indexOf( tag ) >= 0 ) )\n\t\t}\n\t}\n\n}\n","namespace $.$$ {\n\n\t/**\n\t * Allow user to select value from various options and displays current value.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_select_demo_colors\n\t */\n\texport class $mol_select extends $.$mol_select {\n\t\t\n\t\t@ $mol_mem\n\t\tfilter_pattern( next? : string ) {\n\t\t\tthis.focused()\n\t\t\t\n\t\t\treturn next || ''\n\t\t}\n\n\t\topen() {\n\t\t\tthis.showed( true )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\toptions() {\n\t\t\treturn Object.keys( this.dictionary() ) as readonly string[]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\toptions_filtered() {\n\t\t\tlet options = this.options()\n\t\t\toptions = options.filter( $mol_match_text( this.filter_pattern() , ( id : string )=> [ this.option_label( id ) ] ) )\n\n\t\t\tconst index = options.indexOf( this.value() )\n\t\t\tif( index >= 0 ) options = [ ... options.slice( 0 , index ) , ... options.slice( index + 1 ) ]\n\t\t\t\n\t\t\treturn options\n\t\t}\n\t\t\n\t\toption_label( id : string ) {\n\t\t\tconst value = this.dictionary()[ id ]\n\t\t\treturn (value == null ? id : value) || this.option_label_default()\n\t\t}\n\t\t\n\t\toption_rows() {\n\t\t\treturn this.options_filtered().map( ( option : string ) => this.Option_row( option ) )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\toption_focused( component? : $mol_view ) {\n\t\t\tif( component == null ) {\n\t\t\t\tfor( let comp of this.nav_components() ) {\n\t\t\t\t\tif( comp && comp.focused() ) return comp\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn null\n\t\t\t}\n\t\t\t\n\t\t\tif( this.showed() ) {\n\t\t\t\tcomponent.focused( true )\n\t\t\t}\n\t\t\t\n\t\t\treturn component\n\t\t}\n\n\t\tevent_select( id : string , event? : MouseEvent ) {\n\t\t\tthis.value( id )\n\t\t\tthis.showed( false )\n\t\t\tevent?.preventDefault()\n\t\t}\n\t\t\n\t\tnav_components() {\n\t\t\tif( this.options().length > 1 && this.Filter() ) {\n\t\t\t\treturn [ this.Filter() , ... this.option_rows() ]\n\t\t\t} else {\n\t\t\t\treturn this.option_rows()\n\t\t\t}\n\t\t}\n\n\t\ttrigger_content() {\n\t\t\treturn [\n\t\t\t\t... this.option_content( this.value() ),\n\t\t\t\tthis.Trigger_icon(),\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\tmenu_content() {\n\t\t\treturn [\n\t\t\t\t... this.option_rows(),\n\t\t\t\t... ( this.options_filtered().length === 0 ) ? [ this.No_options() ] : []\n\t\t\t]\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/select/select.view.css\",\n \"[mol_select] {\\n\\tdisplay: flex;\\n\\tword-break: normal;\\n\\talign-self: flex-start;\\n}\\n\\n[mol_select_option_row] {\\n\\tmin-width: 100%;\\n\\tpadding: 0;\\n\\tjustify-content: flex-start;\\n}\\n\\n[mol_select_bubble] {\\n\\tmin-width: 100%;\\n}\\n\\n[mol_select_filter] {\\n\\tflex: 1 0 auto;\\n\\talign-self: stretch;\\n}\\n\\n[mol_select_option_label] {\\n\\tpadding: var(--mol_gap_text);\\n\\ttext-align: left;\\n\\tmin-height: 1.5em;\\n\\tdisplay: block;\\n\\twhite-space: nowrap;\\n}\\n\\n[mol_select_clear_option_content] {\\n\\tpadding: .5em 1rem .5rem 0;\\n\\ttext-align: left;\\n\\tbox-shadow: var(--mol_theme_line);\\n\\tflex: 1 0 auto;\\n}\\n\\n[mol_select_no_options] {\\n\\tpadding: var(--mol_gap_text);\\n\\ttext-align: left;\\n\\tdisplay: block;\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\\n[mol_select_trigger] {\\n\\tpadding: 0;\\n\\tflex: 1 1 auto;\\n\\tdisplay: flex;\\n}\\n\\n[mol_select_trigger] > * {\\n\\tmargin-right: -1rem;\\n}\\n\\n[mol_select_trigger] > *:last-child {\\n\\tmargin-right: 0;\\n}\\n\\n[mol_select_menu] {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\\n\"\n) }","$mol_icon_information $mol_icon path \\M13,9H11V7H13M13,17H11V11H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\n","$mol_icon_information_outline $mol_icon path \\M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,17H13V11H11V17Z\n","$mol_icon_plus $mol_icon path \\M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\n","$mol_page $mol_view\n\tdom_name \\article\n\tattr *\n\t\t^\n\t\ttabIndex <= tabindex -1\n\tsub /\n\t\t<= Head $mol_view\n\t\t\tminimal_height 64\n\t\t\tdom_name \\header\n\t\t\tsub <= head /\n\t\t\t\t<= Title $mol_view\n\t\t\t\t\tdom_name \\h1\n\t\t\t\t\tsub <= title_content /\n\t\t\t\t\t\t<= Logo null\n\t\t\t\t\t\t<= title\n\t\t\t\t<= Tools $mol_view\n\t\t\t\t\tsub <= tools /$mol_view_content\n\t\t<= Body $mol_scroll\n\t\t\tscroll_top? => body_scroll_top?\n\t\t\tsub <= body_content /\n\t\t\t\t<= Body_content $mol_view\n\t\t\t\t\tsub <= body /$mol_view\n\t\t<= Foot $mol_view\n\t\t\tdom_name \\footer\n\t\t\tsub <= foot /$mol_view\n","namespace $.$$ {\n\n\tconst { per , rem } = $mol_style_unit\n\tconst { hsla } = $mol_style_func\n\n\t$mol_style_define( $mol_page , {\n\n\t\tdisplay: 'flex' ,\n\t\tflex: {\n\t\t\tbasis: 'auto' ,\n\t\t\tdirection: 'column' ,\n\t\t},\n\t\tposition: 'relative' ,\n\t\talignSelf: 'stretch' ,\n\t\tmaxWidth: per(100) ,\n\t\tmaxHeight: per(100) ,\n\t\tboxSizing: 'border-box' ,\n\t\tcolor: $mol_theme.text ,\n\t\t// zIndex: 0 ,\n\t\t\n\t\t':focus': {\n\t\t\toutline: 'none',\n\t\t} ,\n\n\t\tHead: {\n\t\t\tdisplay: 'flex' ,\n\t\t\tflexWrap: 'wrap' ,\n\t\t\tjustifyContent: 'flex-end' ,\n\t\t\tflex: 'none',\n\t\t\tposition: 'relative' ,\n\t\t\tmargin: 0 ,\n\t\t\tminHeight: rem(4),\n\t\t\tpadding: $mol_gap.block ,\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.card ,\n\t\t\t},\n\t\t\tborder: {\n\t\t\t\tradius: $mol_gap.round,\n\t\t\t},\n\t\t\tbox: {\n\t\t\t\tshadow: [[ 0, `0.5rem`, `0.5rem`, `-0.5rem`, hsla( 0, 0, 0, .25 ) ]],\n\t\t\t},\n\t\t\tzIndex: 2,\n\t\t},\n\n\t\tTitle: {\n\n\t\t\tminHeight: rem(2),\n\t\t\tmargin: 0,\n\t\t\tpadding: $mol_gap.text,\n\t\t\tgap: $mol_gap.text,\n\t\t\twordBreak: 'normal',\n\t\t\ttextShadow: '0 0',\n\n\t\t\tfont: {\n\t\t\t\tsize: 'inherit',\n\t\t\t\tweight: 'normal',\n\t\t\t},\n\t\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t\tshrink: 1,\n\t\t\t\tbasis: 'auto',\n\t\t\t},\n\n\t\t},\n\n\t\tTools: {\n\t\t\t\n\t\t\tflex: {\n\t\t\t\tbasis: 'auto',\n\t\t\t\tgrow: 1000,\n\t\t\t\tshrink: 1,\n\t\t\t},\n\t\t\tdisplay: 'flex',\n\t\t\tjustifyContent: 'flex-end',\n\t\t\talignItems: 'flex-start',\n\t\t\tflexWrap: 'wrap',\n\n\t\t},\n\n\t\tBody: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1000,\n\t\t\t\tshrink: 1,\n\t\t\t\tbasis: per(100),\n\t\t\t},\n\t\t},\n\t\t\n\t\tBody_content: {\n\t\t\tpadding: $mol_gap.block ,\n\t\t\tflex: {\n\t\t\t\tdirection: 'column',\n\t\t\t\tshrink: 1,\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t\tjustify: {\n\t\t\t\tself: 'stretch',\n\t\t\t},\n\t\t},\n\t\t\n\t\tFoot: {\n\t\t\tdisplay: 'flex',\n\t\t\tjustifyContent: 'space-between',\n\t\t\tflex: 'none',\n\t\t\tmargin: 0,\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.card ,\n\t\t\t},\n\t\t\tborder: {\n\t\t\t\tradius: $mol_gap.round,\n\t\t\t},\n\t\t\tbox: {\n\t\t\t\tshadow: [[ 0, `-0.5rem`, `0.5rem`, `-0.5rem`, hsla( 0, 0, 0, .25 ) ]],\n\t\t\t},\n\t\t\tzIndex: 1,\n\t\t\tpadding: $mol_gap.block ,\n\t\t\t':empty': {\n\t\t\t\tdisplay: 'none',\n\t\t\t},\n\t\t},\t\n\n\t} )\n\t\n}\n","$mol_stack $mol_view\n","namespace $ { $mol_style_attach( \"mol/stack/stack.view.css\",\n \"[mol_stack] {\\n\\tdisplay: grid;\\n\\t/* width: max-content; */\\n\\t/* height: max-content; */\\n\\talign-items: flex-start;\\n\\tjustify-items: flex-start;\\n}\\n\\n[mol_stack] > * {\\n\\tgrid-area: 1/1;\\n}\\n\"\n) }","$mol_text_code_token $mol_dimmer\n\tattr *\n\t\t^\n\t\tmol_text_code_token_type <= type \\\n\n$mol_text_code_token_link $mol_text_code_token\n\tdom_name \\a\n\ttype \\code-link\n\tattr *\n\t\t^\n\t\thref <= uri \\\n\t\ttarget \\_blank\n","namespace $.$$ {\n\n\tconst { hsla } = $mol_style_func\n\t\n\t$mol_style_define( $mol_text_code_token, {\n\n\t\tdisplay: 'inline',\n\t\ttextDecoration: 'none',\n\n\t\t'@': {\n\t\t\tmol_text_code_token_type: {\n\n\t\t\t\t'code-keyword': {\n\t\t\t\t\tcolor: hsla( 0, 70, 60, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-field': {\n\t\t\t\t\tcolor: hsla( 300, 70, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-tag': {\n\t\t\t\t\tcolor: hsla( 330, 70, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-global': {\n\t\t\t\t\tcolor: hsla( 30, 80, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-decorator': {\n\t\t\t\t\tcolor: hsla( 180, 40, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-punctuation': {\n\t\t\t\t\tcolor: hsla( 0, 0, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-string': {\n\t\t\t\t\tcolor: hsla( 90, 40, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-number': {\n\t\t\t\t\tcolor: hsla( 55, 65, 45, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-call': {\n\t\t\t\t\tcolor: hsla( 270, 60, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-link': {\n\t\t\t\t\tcolor: hsla( 210, 60, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-comment-inline': {\n\t\t\t\t\topacity: .5,\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-comment-block': {\n\t\t\t\t\topacity: .5,\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-docs': {\n\t\t\t\t\topacity: .75,\n\t\t\t\t},\n\t\t\t\t\n\t\t\t},\n\t\t}\n\n\t} )\n\n}\n","$mol_text_code_row $mol_paragraph\n\ttext \\\n\tminimal_height 24\n\tnumb_showed true\n\tsyntax null\n\turi_resolve* \\\n\tNumb $mol_view\n\t\tsub /\n\t\t\t<= numb 0\n\tToken* $mol_text_code_token\n\t\ttype <= token_type* \\\n\t\thaystack <= token_text* \\\n\t\tneedle <= highlight \\\n\tToken_link* $mol_text_code_token_link\n\t\thaystack <= token_text* \\\n\t\tneedle <= highlight \\\n\t\turi <= token_uri* \\\n\tfind_pos* null\n","namespace $ {\n\n\t/** Creates lexer by dictionary of lexems. Lexem that started first wins. Then lexem that declared earlier wins. Use regexp capture to take parts of token. */\n\texport class $mol_syntax2< Lexems extends { [ name : string ] : RegExp } > {\n\t\t\n\t\tconstructor(\n\t\t\tpublic lexems : Lexems\n\t\t) {\n\n\t\t\tfor( let name in lexems ) {\n\t\t\t\tthis.rules.push({\n\t\t\t\t\tname : name ,\n\t\t\t\t\tregExp : lexems[ name ] ,\n\t\t\t\t\tsize : RegExp( '^$|' + lexems[ name ].source ).exec( '' )!.length - 1 , \n\t\t\t\t})\n\t\t\t}\n\n\t\t\tconst parts = '(' + this.rules.map( rule => rule.regExp.source ).join( ')|(' ) + ')'\n\t\t\tthis.regexp = RegExp( `([\\\\s\\\\S]*?)(?:(${ parts })|$(?![^]))` , 'gmu' ) \n\t\t\t\n\t\t}\n\t\t\n\t\trules = [] as Array<{\n\t\t\tregExp : RegExp ,\n\t\t\tname : string ,\n\t\t\tsize : number\n\t\t}>\n\t\t\n\t\tregexp : RegExp\n\n\t\ttokenize(\n\t\t\ttext : string ,\n\t\t\thandle : ( name : string , found : string , chunks : string[] , offset : number )=> void ,\n\t\t) {\n\t\t\t\n\t\t\tlet end = 0\n\t\t\t\t\n\t\t\tlexing : while( end < text.length ) {\n\n\t\t\t\tconst start = end\n\n\t\t\t\tthis.regexp.lastIndex = start\n\t\t\t\tvar found = this.regexp.exec( text )!\n\t\t\t\t\n\t\t\t\tend = this.regexp.lastIndex\n\t\t\t\tif( start === end ) throw new Error( 'Empty token' )\n\t\t\t\t\n\t\t\t\tvar prefix = found[ 1 ]\n\t\t\t\tif( prefix ) handle( '' , prefix , [ prefix ] , start )\n\t\t\t\t\n\t\t\t\tvar suffix = found[ 2 ]\n\t\t\t\tif( !suffix ) continue\n\n\t\t\t\tlet offset = 4\n\t\t\t\tfor( let rule of this.rules ) {\n\n\t\t\t\t\tif( found[ offset - 1 ] ) {\n\t\t\t\t\t\thandle( rule.name , suffix , found.slice( offset, offset + rule.size ) , start + prefix.length )\n\t\t\t\t\t\tcontinue lexing\n\t\t\t\t\t}\n\n\t\t\t\t\toffset += rule.size + 1\n\t\t\t\t}\n\n\t\t\t\t$mol_fail( new Error( '$mol_syntax2 is broken' ) )\n\n\t\t\t}\n\n\t\t}\n\t\t\n\t\tparse(\n\t\t\ttext : string ,\n\t\t\thandlers : { [ key in keyof Lexems | '' ] : ( found : string , chunks : string[] , offset : number )=> void } ,\n\t\t) : void {\n\t\t\tthis.tokenize( text , ( name , ...args )=> handlers[ name ]( ... args ) )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport var $mol_syntax2_md_flow = new $mol_syntax2({\n\t\t'quote' : /^((?:(?:[>\"] )(?:[^]*?)$(\\r?\\n?))+)([\\n\\r]*)/ ,\n\t\t'spoiler' : /^((?:(?:[\\?] )(?:[^]*?)$(\\r?\\n?))+)([\\n\\r]*)/ ,\n\t\t'header' : /^([#=]+)(\\s+)(.*?)$([\\n\\r]*)/ ,\n\t\t'list' : /^((?:(?: ?([*+-])|(?:\\d+[\\.\\)])+) +(?:[^]*?)$(?:\\r?\\n?)(?: (?:[^]*?)$(?:\\r?\\n?))*)+)((?:\\r?\\n)*)/ ,\n\t\t'code' : /^(```\\s*)([\\w.-]*)[\\r\\n]+([^]*?)^(```)$([\\n\\r]*)/ ,\n\t\t'code-indent' : /^((?:(?: |\\t)(?:[^]*?)$\\r?\\n?)+)([\\n\\r]*)/ ,\n\t\t'table' : /((?:^\\|.+?$\\r?\\n?)+)([\\n\\r]*)/ ,\n\t\t'grid' : /((?:^ *! .*?$\\r?\\n?)+)([\\n\\r]*)/ ,\n\t\t'cut' : /^--+$((?:\\r?\\n)*)/ ,\n\t\t'block' : /^(.*?)$((?:\\r?\\n)*)/ ,\n\t})\n\t\n\texport var $mol_syntax2_md_line = new $mol_syntax2({\n\t\t'strong' : /\\*\\*(.+?)\\*\\*/ ,\n\t\t'emphasis' : /\\*(?!\\s)(.+?)\\*|\\/\\/(?!\\s)(.+?)\\/\\// ,\n\t\t'code' : /```(.+?)```|;;(.+?);;|`(.+?)`/ ,\n\t\t'insert' : /\\+\\+(.+?)\\+\\+/ ,\n\t\t'delete' : /~~(.+?)~~|--(.+?)--/ ,\n\t\t// 'remark' : /(\\()(.+?)(\\))/ ,\n\t\t// 'quote' : /(\")(.+?)(\")/ ,\n\t\t'embed' : /\"\"(?:(.*?)\\\\)?(.*?)\"\"/ ,\n\t\t'link' : /\\\\\\\\(?:(.*?)\\\\)?(.*?)\\\\\\\\/ ,\n\t\t'image-link' : /!\\[([^\\[\\]]*?)\\]\\((.*?)\\)/ ,\n\t\t'text-link' : /\\[(.*?(?:\\[[^\\[\\]]*?\\][^\\[\\]]*?)*)\\]\\((.*?)\\)/ ,\n\t\t'text-link-http' : /\\b(https?:\\/\\/[^\\s,.;:!?\")]+(?:[,.;:!?\")][^\\s,.;:!?\")]+)+)/ ,\n\t})\n\t\n\texport const $mol_syntax2_md_code = new $mol_syntax2({\n\t\t'code-indent' : /\\t+/ ,\n\t\t'code-docs' : /\\/\\/\\/.*?$/ ,\n\t\t'code-comment-block' : /(?:\\/\\*[^]*?\\*\\/|\\/\\+[^]*?\\+\\/|)/ ,\n\t\t'code-link' : /(?:\\w+:\\/\\/|#)\\S+?(?=\\s|\\\\\\\\|\"\"|$)/ ,\n\t\t'code-comment-inline' : /\\/\\/.*?(?:$|\\/\\/)|- \\\\.*/ ,\n\t\t'code-string' : /(?:\".*?\"|'.*?'|`.*?`|\\/.+?\\/[dygimsu]*(?!\\p{Letter})|[ \\t]*\\\\[^\\n]*)/u ,\n\t\t'code-number' : /[+-]?(?:\\d*\\.)?\\d+\\w*/ ,\n\t\t'code-call' : /\\.?\\w+ *(?=\\()/ ,\n\t\t'code-sexpr' : /\\((\\w+ )/ ,\n\t\t'code-field' : /(?:(?:\\.|::|->)\\w+|[\\w-]+\\??\\s*:(?!\\/\\/|:))/ ,\n\t\t'code-keyword' : /\\b(throw|readonly|unknown|keyof|typeof|never|from|class|struct|interface|type|function|extends|implements|module|namespace|import|export|include|require|var|val|let|const|for|do|while|until|in|out|of|new|if|then|else|switch|case|this|return|async|await|yield|try|catch|break|continue|get|set|public|private|protected|string|boolean|number|null|undefined|true|false|void|int|float|ref)\\b/ ,\n\t\t'code-global' : /[$]+\\w*|\\b[A-Z][a-z0-9]+[A-Z]\\w*/ ,\n\t\t'code-word' : /\\w+/ ,\n\t\t'code-decorator' : /@.+/ ,\n\t\t'code-tag' : /<\\/?[\\w-]+\\/?>?|&\\w+;/ ,\n\t\t'code-punctuation' : /[\\-\\[\\]\\{\\}\\(\\)<=>~!\\?@#%&\\*_\\+\\\\\\/\\|;:\\.,\\^]+?/ ,\n\t})\n\t\n}\n","namespace $.$$ {\n\n\texport class $mol_text_code_row extends $.$mol_text_code_row {\n\t\t\n\t\tmaximal_width() {\n\t\t\treturn this.text().length * this.letter_width()\n\t\t}\n\t\t\n\t\tsyntax() {\n\t\t\treturn this.$.$mol_syntax2_md_code\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\ttokens( path: number[] ) {\n\n\t\t\tconst tokens = [] as { name : string , found : string , chunks: string[] }[]\n\t\t\t\n\t\t\tconst text = ( path.length > 0 )\n\t\t\t\t// @FIXME: this logic compatible only with `string`\n\t\t\t\t? this.tokens( path.slice( 0, path.length - 1 ) )[ path[ path.length - 1 ] ].found.slice( 1, -1 )\n\t\t\t\t: this.text()\n\t\t\t\n\t\t\tthis.syntax().tokenize(\n\t\t\t\ttext,\n\t\t\t\t( name , found , chunks )=> {\n\t\t\t\t\tif( name === 'code-sexpr' ) {\n\t\t\t\t\t\ttokens.push({ name: 'code-punctuation', found: '(', chunks: [] })\n\t\t\t\t\t\ttokens.push({ name: 'code-call', found: chunks[0], chunks: [] })\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttokens.push({ name , found , chunks })\t\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t)\n\t\t\t\n\t\t\treturn tokens as Readonly< typeof tokens >\n\t\t}\n\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\t... this.numb_showed() ? [ this.Numb() ] : [],\n\t\t\t\t... this.row_content([])\n\t\t\t]\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\trow_content( path: number[] ) {\n\t\t\treturn this.tokens( path ).map( (t,i)=> this.Token([ ... path, i ]) )\n\t\t}\n\n\t\tToken( path: number[] ) {\n\t\t\treturn this.token_type( path ) === 'code-link' ? this.Token_link( path ) : super.Token( path )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttoken_type( path: number[] ) {\n\t\t\treturn this.tokens( [ ... path.slice( 0, path.length - 1 ) ] )[ path[ path.length - 1 ] ].name\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttoken_content( path: number[] ) {\n\n\t\t\tconst tokens = this.tokens( [ ... path.slice( 0, path.length - 1 ) ] ) \n\t\t\tconst token = tokens[ path[ path.length - 1 ] ]\n\n\t\t\tswitch( token.name ) {\n\t\t\t\t\n\t\t\t\tcase 'code-string': return [\n\t\t\t\t\ttoken.found[0],\n\t\t\t\t\t... this.row_content( path ),\n\t\t\t\t\ttoken.found[ token.found.length - 1 ],\n\t\t\t\t] \n\t\t\t\t\n\t\t\t\tdefault: return [ token.found ]\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttoken_text( path: number[] ) {\n\n\t\t\tconst tokens = this.tokens( [ ... path.slice( 0, path.length - 1 ) ] ) \n\t\t\tconst token = tokens[ path[ path.length - 1 ] ]\n\n\t\t\treturn token.found\n\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttoken_uri( path: number[] ) {\n\t\t\tconst uri = this.token_text( path )\n\t\t\treturn this.uri_resolve( uri )\n\t\t}\n\t\t\n\t\t*view_find(\n\t\t\tcheck: ( path : $mol_view, text?: string )=> boolean,\n\t\t\tpath = [] as $mol_view[],\n\t\t): Generator< $mol_view[] > {\n\n\t\t\tif( check( this, this.text() ) ) {\n\t\t\t\tyield [ ... path, this ]\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tfind_pos( offset: number ) {\n\t\t\treturn this.find_token_pos([ offset ])\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tfind_token_pos( [ offset, ... path ]: number[] ) {\n\t\t\t\n\t\t\tfor( const [ index, token ] of this.tokens( path ).entries() ) {\n\t\t\t\tif( token.found.length >= offset ) {\n\t\t\t\t\tconst token = this.Token([ ... path, index ])\n\t\t\t\t\treturn { token, offset }\n\t\t\t\t} else {\n\t\t\t\t\toffset -= token.found.length\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn null\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $.$$ {\n\t\n\tconst { rem } = $mol_style_unit\n\n\t$mol_style_define( $mol_text_code_row, {\n\n\t\tdisplay: 'block',\n\t\tposition: 'relative',\n\t\t\n\t\tfont: {\n\t\t\tfamily: 'monospace',\n\t\t},\n\t\t\n\t\tNumb: {\n\t\t\ttextAlign: 'right',\n\t\t\tcolor: $mol_theme.shade,\n\t\t\twidth: rem(3),\n\t\t\tmargin: {\n\t\t\t\tleft: rem(-4),\n\t\t\t},\n\t\t\tdisplay: 'inline-block',\n\t\t\twhiteSpace: 'nowrap',\n\t\t\tuserSelect: 'none',\n\t\t\tposition: 'absolute',\n\t\t},\n\n\t} )\n\t\n}\n","namespace $ {\n\n\texport type $mol_blob = Blob\n\n\texport let $mol_blob = ( $node.buffer?.Blob ?? $mol_dom_context.Blob ) as any as {\n\t\tprototype: Blob;\n\t\tnew(blobParts?: readonly BlobPart[], options?: BlobPropertyBag): Blob;\n\t}\n\n}\n","$mol_icon_clipboard $mol_icon path \\M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3\n","$mol_icon_clipboard_outline $mol_icon path \\M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M7,7H17V5H19V19H5V5H7V7Z\n","$mol_button_copy $mol_button_minor\n\tblobs /$mol_blob\n\t\t<= text_blob? $mol_blob /\n\t\t\t/BlobPart <= text <= title\n\t\t\t* type \\text/plain\n\t\t<= html_blob? $mol_blob /\n\t\t\t/BlobPart <= html \\\n\t\t\t* type \\text/html\n\tdata *\n\tsub /\n\t\t<= Icon $mol_icon_clipboard_outline\n\t\t<= title \\\n\n","namespace $ {\n\t\n\tconst mapping = {\n\t\t'<' : '<' ,\n\t\t'>' : '>' ,\n\t\t'\"' : '"' ,\n\t\t'&' : '&' ,\n\t}\n\t\n\texport function $mol_html_encode( text : string ) {\n\t\treturn text.replace( /[&<\">]/gi , str => mapping[ str as keyof typeof mapping ] )\n\t}\n\t\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Button copy text() value to clipboard\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_button_demo\n\t */\n\texport class $mol_button_copy extends $.$mol_button_copy {\n\t\t\n\t\tdata() {\n\t\t\treturn Object.fromEntries(\n\t\t\t\tthis.blobs().map( blob => [ blob.type, blob ] )\n\t\t\t)\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\thtml() {\n\t\t\treturn $mol_html_encode( this.text() )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tattachments() {\n\t\t\treturn [ new ClipboardItem( this.data() ) ]\n\t\t}\n\t\t\n\t\tclick( event?: Event ) {\n\t\t\tconst cb = $mol_wire_sync( this.$.$mol_dom_context.navigator.clipboard )\n\t\t\t\n\t\t\tcb.writeText?.( this.text() )\n\t\t\tcb.write?.( this.attachments() )\n\n\t\t\tif( cb.writeText === undefined && cb.write === undefined ) {\n\t\t\t\tthrow new Error( \"doesn't support copy to clipoard\" )\n\t\t\t}\n\t\t}\n\n\t}\n\t\n}\n","$mol_text_code $mol_stack\n\tattr *\n\t\t^\n\t\tmol_text_code_sidebar_showed <= sidebar_showed false\n\ttext \\\n\ttext_lines /string\n\tfind_pos* null\n\turi_base \\\n\tsub /\n\t\t<= Rows $mol_list\n\t\t\trender_visible_only <= render_visible_only false\n\t\t\trows <= rows /\n\t\t\t\t<= Row*0 $mol_text_code_row\n\t\t\t\t\tnumb_showed <= sidebar_showed\n\t\t\t\t\tnumb <= row_numb* 0\n\t\t\t\t\ttext <= row_text* \\\n\t\t\t\t\tsyntax <= syntax null\n\t\t\t\t\turi_resolve* <= uri_resolve* \\\n\t\t\t\t\thighlight <= highlight \\\n\t\t<= Copy $mol_button_copy\n\t\t\thint @ \\Copy whole code\n\t\t\ttext <= text_export \\\n","namespace $.$$ {\n\n\t/**\n\t * Code visualizer.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_text_code_demo\n\t */\n\texport class $mol_text_code extends $.$mol_text_code {\n\t\t\n\t\trender_visible_only() {\n\t\t\treturn this.$.$mol_support_css_overflow_anchor()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttext_lines() {\n\t\t\treturn ( this.text() ?? '' ).split( '\\n' ) as readonly string[]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\trows() {\n\t\t\treturn this.text_lines().map( ( _ , index )=> this.Row( index + 1 ) )\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\trow_text( index: number ) {\n\t\t\treturn this.text_lines()[ index - 1 ]\n\t\t}\n\t\t\n\t\trow_numb( index: number ) {\n\t\t\treturn index\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tfind_pos( offset: number ) {\n\t\t\t\n\t\t\tfor( const [ index, line ] of this.text_lines().entries() ) {\n\t\t\t\tif( line.length >= offset ) {\n\t\t\t\t\treturn this.Row( index + 1 ).find_pos( offset )\n\t\t\t\t} else {\n\t\t\t\t\toffset -= line.length + 1\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn null\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Rows(),\n\t\t\t\t... this.sidebar_showed() ? [ this.Copy() ] : []\n\t\t\t]\n\t\t}\n\t\t\n\t\tsyntax() {\n\t\t\treturn this.$.$mol_syntax2_md_code\n\t\t}\n\n\t\turi_base() {\n\t\t\treturn $mol_dom_context.document.location.href\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\turi_resolve( uri: string ) {\n\t\t\t\n\t\t\tif( /^(\\w+script+:)+/.test( uri ) ) return null as any as string\n\t\t\t\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tconst url = new URL( uri , this.uri_base() )\n\t\t\t\treturn url.toString()\n\t\t\t\t\n\t\t\t} catch( error ) {\n\t\t\t\t\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn null as any as string\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\ttext_export() {\n\t\t\treturn this.text() + '\\n'\n\t\t}\n\t\t\n\t}\n}\n","namespace $.$$ {\n\t\n\tconst { rem, px } = $mol_style_unit\n\n\t$mol_style_define( $mol_text_code, {\n\n\t\twhiteSpace: 'pre-wrap',\n\t\tfont: {\n\t\t\tfamily: 'monospace',\n\t\t},\n\t\t\n\t\tRows: {\n\t\t\tpadding: $mol_gap.text,\n\t\t},\n\t\t\n\t\tCopy: {\n\t\t\talignSelf: 'flex-start',\n\t\t\tjustifySelf: 'flex-start',\n\t\t},\n\t\t\n\t\t'@': {\n\t\t\t'mol_text_code_sidebar_showed': {\n\t\t\t\ttrue: {\n\t\t\t\t\t$mol_text_code_row: {\n\t\t\t\t\t\tmargin: {\n\t\t\t\t\t\t\tleft: rem(1.75),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t} )\n\t\n}\n","$mol_textarea $mol_stack\n\tattr *\n\t\t^\n\t\tmol_textarea_clickable <= clickable? false\n\t\tmol_textarea_sidebar_showed <= sidebar_showed false\n\tevent *\n\t\tkeydown?event <=> press?event null\n\t\tpointermove?event <=> hover?event null\n\tsub /\n\t\t<= Edit $mol_textarea_edit\n\t\t\tvalue? <=> value? \\\n\t\t\thint <= hint \\ \n\t\t\tenabled <= enabled true\n\t\t\tspellcheck <= spellcheck true\n\t\t\tlength_max <= length_max +Infinity\n\t\t\tselection? <=> selection? /number\n\t\t\tbring => bring\n\t\t\tsubmit? <=> submit? null\n\t\t\tsubmit_with_ctrl <= submit_with_ctrl true\n\t\t<= View $mol_text_code\n\t\t\ttext <= value\n\t\t\trender_visible_only false\n\t\t\trow_numb* <= row_numb* 0\n\t\t\tsidebar_showed <= sidebar_showed\n\t\t\thighlight <= highlight \\\n\tsymbols_alt *string\n\t\tcomma \\<\n\t\tperiod \\>\n\t\tdash \\−\n\t\tequals \\≈\n\t\tgraveAccent \\́\n\t\tforwardSlash \\÷\n\t\tE \\€\n\t\tV \\✔\n\t\tX \\×\n\t\tC \\©\n\t\tP \\§\n\t\tH \\₽\n\t\tkey0 \\°\n\t\tkey8 \\•\n\t\tkey2 \\@\n\t\tkey3 \\#\n\t\tkey4 \\$\n\t\tkey6 \\^\n\t\tkey7 \\&\n\t\tbracketOpen \\[\n\t\tbracketClose \\]\n\t\tslashBack \\|\n\tsymbols_alt_ctrl *string\n\t\tspace \\ \n\tsymbols_alt_shift *string\n\t\tV \\✅\n\t\tX \\❌\n\t\tO \\⭕\n\t\tkey1 \\❗\n\t\tkey4 \\💲\n\t\tkey7 \\❓\n\t\tcomma \\«\n\t\tperiod \\»\n\t\tsemicolon \\“\n\t\tquoteSingle \\”\n\t\tdash \\—\n\t\tequals \\≠\n\t\tgraveAccent \\̱\n\t\tbracketOpen \\{\n\t\tbracketClose \\}\n\n$mol_textarea_edit $mol_string\n\tdom_name \\textarea\n\tenter \\enter\n\tfield *\n\t\t^\n\t\tscrollTop 0\n","namespace $.$$ {\n\n\t/**\n\t * An input field for entering multiline text.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_textarea_demo\n\t */\n\texport class $mol_textarea extends $.$mol_textarea {\n\n\t\tindent_inc() {\n\n\t\t\tlet text = this.value()\n\t\t\tlet [ from, to ] = this.selection()\n\t\t\t\n\t\t\tconst rows = text.split( '\\n' )\n\t\t\tlet start = 0\n\t\t\t\n\t\t\tfor( let i = 0; i < rows.length; ++i ) {\n\t\t\t\tlet end = start + rows[i].length\n\t\t\t\t\n\t\t\t\tif( end >= from && start <= to ) {\n\t\t\t\t\tif( to === from || start !== to ) {\n\t\t\t\t\t\trows[i] = '\\t' + rows[i]\n\t\t\t\t\t\tto += 1\n\t\t\t\t\t\tend += 1\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstart = end + 1\n\t\t\t}\n\n\t\t\tthis.value( rows.join('\\n') )\n\t\t\tthis.selection([ from + 1, to ])\n\t\t\t\n\t\t}\n\n\t\tindent_dec() {\n\n\t\t\tlet text = this.value()\n\t\t\tlet [ from, to ] = this.selection()\n\t\t\t\n\t\t\tconst rows = text.split( '\\n' )\n\t\t\tlet start = 0\n\t\t\t\n\t\t\tfor( let i = 0; i < rows.length; ++i ) {\n\t\t\t\tconst end = start + rows[i].length\n\t\t\t\t\n\t\t\t\tif( end >= from && start <= to && rows[i].startsWith( '\\t' ) ) {\n\t\t\t\t\trows[i] = rows[i].slice( 1 )\n\t\t\t\t\tto -= 1\n\t\t\t\t\tif( start < from ) from -= 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstart = end + 1\n\t\t\t}\n\n\t\t\tthis.value( rows.join('\\n') )\n\t\t\tthis.selection([ from, to ])\n\t\t\t\n\t\t}\n\t\t\n\t\tsymbol_insert( event: KeyboardEvent ) {\n\t\t\t\n\t\t\tconst symbol = event.shiftKey\n\t\t\t\t? this.symbols_alt_shift()[ $mol_keyboard_code[ event.keyCode ] ]\n\t\t\t\t: event.ctrlKey\n\t\t\t\t\t? this.symbols_alt_ctrl()[ $mol_keyboard_code[ event.keyCode ] ]\n\t\t\t\t\t: this.symbols_alt()[ $mol_keyboard_code[ event.keyCode ] ]\n\t\t\t\t\n\t\t\tif( !symbol ) return\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\tdocument.execCommand( 'insertText', false, symbol )\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tclickable( next?: boolean ) {\n\t\t\tif( !this.enabled() ) return true\n\t\t\treturn next ?? false\n\t\t}\n\t\t\n\t\thover( event : PointerEvent ) {\n\t\t\tthis.clickable( event.ctrlKey )\n\t\t}\n\t\t\n\t\tpress( event : KeyboardEvent ) {\n\t\t\t\n\t\t\tif( event.altKey ) {\n\t\t\t\t\n\t\t\t\tthis.symbol_insert( event )\n\t\t\t\t\n\t\t\t} else {\n\n\t\t\t\tswitch( event.keyCode ) {\n\t\t\t\t\tcase !event.shiftKey && $mol_keyboard_code.tab : this.indent_inc() ; break\n\t\t\t\t\tcase event.shiftKey && $mol_keyboard_code.tab : this.indent_dec() ; break\n\t\t\t\t\tdefault : return\n\t\t\t\t}\n\t\t\t\n\t\t\t\tevent.preventDefault()\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\t\t\n\t\trow_numb( index: number ) {\n\t\t\treturn index\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/textarea/textarea.view.css\",\n \"[mol_textarea] {\\n\\tflex: 1 0 auto;\\n\\tflex-direction: column;\\n\\tvertical-align: top;\\n\\tmin-height: max-content;\\n\\twhite-space: pre-wrap;\\n\\tword-break: break-word;\\n\\tborder-radius: var(--mol_gap_round);\\n\\tfont-family: monospace;\\n\\tposition: relative;\\n\\ttab-size: 4;\\n}\\n\\n[mol_textarea_view] {\\n\\tpointer-events: none;\\n\\twhite-space: inherit;\\n\\tfont-family: inherit;\\n\\ttab-size: inherit;\\n\\tuser-select: none;\\n}\\n\\n[mol_textarea_view_copy] {\\n\\tpointer-events: all;\\n}\\n\\n[mol_textarea_clickable] > [mol_textarea_view] {\\n\\tpointer-events: all;\\n\\tuser-select: auto;\\n}\\n\\n[mol_textarea_clickable] > [mol_textarea_edit] {\\n\\tuser-select: none;\\n}\\n\\n[mol_textarea_edit] {\\n\\tfont-family: inherit;\\n\\tpadding: var(--mol_gap_text);\\n\\tcolor: transparent !important;\\n\\tcaret-color: var(--mol_theme_text);\\n\\tresize: none;\\n\\ttext-align: inherit;\\n\\twhite-space: inherit;\\n\\tborder-radius: inherit;\\n\\toverflow-anchor: none;\\n\\tposition: absolute;\\n\\theight: 100%;\\n\\twidth: 100%;\\n\\ttab-size: inherit;\\n}\\n\\n[mol_textarea_sidebar_showed] [mol_textarea_edit] {\\n\\tleft: 1.75rem;\\n\\twidth: calc( 100% - 1.75rem );\\n}\\n\\n[mol_textarea_edit]:hover + [mol_textarea_view] {\\n\\tz-index: var(--mol_layer_hover);\\n}\\n\\n[mol_textarea_edit]:focus + [mol_textarea_view] {\\n\\tz-index: var(--mol_layer_focus);\\n}\\n\"\n) }","$mol_check_list $mol_view\n\tdictionary *\n\tOption* $mol_check\n\t\tchecked? <=> option_checked*? false\n\t\tlabel <= option_label* /\n\t\t\t<= option_title* \\\n\t\tenabled <= option_enabled* <= enabled true\n\t\thint <= option_hint* \\\n\t\tminimal_height 24\n\toptions *\n\tkeys /string\n\tsub <= items /$mol_check\n","namespace $.$$ {\n\t\n\t/**\n\t * List of checkboxes\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_check_list_demo\n\t */\n\texport class $mol_check_list extends $.$mol_check_list {\n\n\t\toptions() : { [ key : string ] : string } {\n\t\t\treturn {}\n\t\t}\n\n\t\toverride dictionary(next?: Record) {\n\t\t\treturn next ?? {}\n\t\t}\n\n\t\toverride option_checked(id: string, next?: boolean | null) {\n\t\t\tconst prev = this.dictionary()\n\t\t\tif (next === undefined) return prev[id] ?? null\n\n\t\t\tconst next_rec = { ... prev, [id]: next } as Record\n\t\t\tif (next === null) delete next_rec[id]\n\n\t\t\treturn this.dictionary(next_rec)[id] ?? null\n\t\t}\n\n\t\t@ $mol_mem\n\t\tkeys(): readonly string[] {\n\t\t\treturn Object.keys( this.options() )\n\t\t}\n\n\t\t@ $mol_mem\n\t\titems() {\n\t\t\treturn this.keys().map( key => this.Option( key ) )\n\t\t}\n\t\t\n\t\toption_title( key : string ) {\n\t\t\treturn this.options()[key] || key\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/check/list/list.view.css\",\n \"[mol_check_list] {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\tflex: 1 1 auto;\\n\\tborder-radius: var(--mol_gap_round);\\n\\tgap: 1px;\\n}\\n\\n[mol_check_list_option] {\\n\\tflex: 0 1 auto;\\n}\\n\\n[mol_check_list_option]:where([mol_check_checked=\\\"true\\\"]) {\\n\\ttext-shadow: 0 0;\\n\\tcolor: var(--mol_theme_current);\\n}\\n\\n[mol_check_list_option]:where([mol_check_checked=\\\"true\\\"][disabled]) {\\n\\tcolor: var(--mol_theme_text);\\n}\\n\"\n) }","$mol_switch $mol_check_list\n\tvalue? \\\n","namespace $ {\n\t\n\texport class $mol_state_session< Value > extends $mol_object {\n\t\t\n\t\tstatic 'native()' : Pick< Storage , 'getItem'|'setItem'|'removeItem' >\n\t\tstatic native() {\n\t\t\tif( this['native()'] ) return this['native()']\n\n\t\t\tcheck : try {\n\t\t\t\tconst native = $mol_dom_context.sessionStorage\n\t\t\t\tif( !native ) break check\n\n\t\t\t\tnative.setItem( '' , '' )\n\t\t\t\tnative.removeItem( '' )\n\t\t\t\treturn this['native()'] = native\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.warn( error )\n\t\t\t}\n\n\t\t\treturn this['native()'] = {\n\t\t\t\tgetItem( key : string ) {\n\t\t\t\t\treturn (this as any)[ ':' + key ]\n\t\t\t\t} ,\n\t\t\t\tsetItem( key : string , value : string ) {\n\t\t\t\t\t(this as any)[ ':' + key ] = value\n\t\t\t\t} ,\n\t\t\t\tremoveItem( key : string ) {\n\t\t\t\t\t(this as any)[ ':' + key ] = void 0\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tstatic value< Value >( key : string , next? : Value ) : Value {\n\t\t\tif( next === void 0 ) return JSON.parse( this.native().getItem( key ) || 'null' )\n\t\t\t\n\t\t\tif( next === null ) this.native().removeItem( key )\n\t\t\telse this.native().setItem( key , JSON.stringify( next ) )\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tprefix() { return '' }\n\t\t\n\t\tvalue( key : string , next? : Value ) {\n\t\t\treturn $mol_state_session.value( this.prefix() + '.' + key , next )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Buttons which switching the state\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_switch_demo\n\t */\n\texport class $mol_switch extends $.$mol_switch {\n\n\t\tvalue( next? : string ) {\n\t\t\treturn $mol_state_session.value( `${ this }.value()` , next ) ?? ''\n\t\t}\n\t\t\n\t\toption_checked( key : string , next? : boolean ) {\n\t\t\tif( next === undefined ) return this.value() == key\n\t\t\tthis.value( next ? key : '' )\n\t\t\treturn next\n\t\t}\n\n\t}\n\n}\n","$mol_deck $mol_list\n\titems /$mol_view\n\trows /$mol_view\n\t\t<= Switch $mol_switch\n\t\t\tvalue? <=> current? \\0\n\t\t\toptions <= switch_options *\n\t\t<= Content $mol_view\n","namespace $.$$ {\n\t\n\t/**\n\t * The component which arrange content in multiple tabs.\n\t * @seehttps://mol.hyoo.ru/#!section=demos/demo=mol_deck_demo\n\t */\n\texport class $mol_deck extends $.$mol_deck {\n\t\t\n\t\tcurrent( next? : string ) {\n\t\t\treturn $mol_state_session.value( `${ this }.current()` , next ) || '0'\n\t\t}\n\t\t\n\t\tswitch_options() {\n\t\t\tlet options : Record< string , string > = {}\n\t\t\tthis.items().forEach( ( item , index ) => {\n\t\t\t\toptions[ String( index ) ] = item.title()\n\t\t\t} )\n\t\t\treturn options\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tContent() {\n\t\t\treturn this.items()[ Number( this.current() ) ]\n\t\t}\n\t\t\n\t}\n}\n","$mol_embed_native $mol_scroll\n\turi? \\\n\tdom_name \\object\n\twindow null\n\tattr *\n\t\t^\n\t\tdata <= uri\n\t\ttype <= mime \\\n\tsub /\n\t\t<= Fallback $mol_link\n\t\t\turi <= uri\n\t\t\tsub /\n\t\t\t\t<= title \\\n\tmessage *\n\t\thashchange? <=> uri_change? null\n","namespace $ {\n\n\texport function $mol_promise< Result = void >() {\n\t\t\n\t\tlet done!: ( res: Result | PromiseLike< Result > )=> void\n\t\tlet fail!: ( error?: any ) => void\n\t\t\n\t\tconst promise = new Promise< Result >( ( d, f ) => {\n\t\t\tdone = d\n\t\t\tfail = f\n\t\t} )\n\t\t\n\t\treturn Object.assign( promise, {\n\t\t\tdone,\n\t\t\tfail,\n\t\t} )\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_wait_timeout_async( this: $, timeout: number ): Promise< void > {\n\t\tconst promise = $mol_promise()\n\t\tconst task = new this.$mol_after_timeout( timeout , ()=> promise.done() )\n\t\treturn Object.assign( promise, {\n\t\t\tdestructor: ()=> task.destructor()\n\t\t} )\n\t}\n\t\n\texport function $mol_wait_timeout( this: $, timeout: number ) {\n\t\treturn this.$mol_wire_sync( this ).$mol_wait_timeout_async( timeout )\n\t}\n\t\n}\n","namespace $.$$ {\n\texport class $mol_embed_native extends $.$mol_embed_native {\n\n\t\t@ $mol_mem\n\t\twindow() {\n\t\t\t$mol_wire_solid()\n\t\t\treturn $mol_wire_sync( this as $mol_embed_native ).load( this.dom_node_actual() as HTMLIFrameElement )\n\t\t}\n\t\t\n\t\tload( frame: HTMLIFrameElement ) {\n\t\t\treturn new Promise< Window >( ( done, fail )=> {\n\t\t\t\t\n\t\t\t\tframe.onload = () => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tif( frame.contentWindow!.location.href === 'about:blank' ) {\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch { }\n\t\t\t\t\tdone( frame.contentWindow! )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tframe.onerror = ( event : Event | string ) => {\n\t\t\t\t\tfail( typeof event === 'string' ? new Error( event ) : ( event as ErrorEvent ).error || event )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\turi_resource() {\n\t\t\treturn this.uri().replace( /#.*/, '' )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tmessage_listener() {\n\t\t\treturn new $mol_dom_listener(\n\t\t\t\t$mol_dom_context,\n\t\t\t\t'message',\n\t\t\t\t$mol_wire_async( this ).message_receive\n\t\t\t)\n\t\t}\n\t\t\n\t\tmessage_receive( event?: MessageEvent<[ string, string ]> ) {\n\t\t\t\n\t\t\tif( !event ) return\n\t\t\tif( event.source !== this.window() ) return\n\t\t\tif( !Array.isArray( event.data ) ) return\n\t\t\t\n\t\t\t(this.message() as any)[ event.data[0] ]?.( event )\n\t\t}\n\n\t\turi_change( event: MessageEvent<[ string, string ]> ) {\n\t\t\tthis.$.$mol_wait_timeout( 1000 )\n\t\t\tthis.uri( event.data[1] )\n\t\t}\n\n\t\tauto() {\n\t\t\treturn [\n\t\t\t\tthis.message_listener(),\n\t\t\t\tthis.window(),\n\t\t\t]\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/embed/native/native.view.css\",\n \"[mol_embed_native] {\\n\\tmax-width: 100%;\\n\\tmax-height: 100vh;\\n\\tobject-fit: cover;\\n\\tdisplay: flex;\\n\\tflex: 1 1 auto;\\n\\tobject-position: top left;\\n\\tborder-radius: var(--mol_gap_round);\\n\\taspect-ratio: 4/3;\\n}\\n\"\n) }","$mol_frame $mol_embed_native\n\tdom_name \\iframe\n\tattr *\n\t\t^\n\t\tdata null\n\t\ttype null\n\t\tallow <= allow \\\n\t\tsrc <= uri? \\about:config\n\t\tsrcdoc <= html null\n\tfullscreen true\n\taccelerometer true\n\tautoplay true\n\tencription true\n\tgyroscope true\n\tpip true\n\tclipboard_read true\n\tclipboard_write true\n","namespace $.$$ {\n\n\t/**\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_frame_demo\n\t */\n\texport class $mol_frame extends $.$mol_frame {\n\t\t\n\t\twindow() {\n\t\t\t// if( this.html() ) return ( this.dom_node() as HTMLIFrameElement ).contentWindow!\n\t\t\treturn super.window()\n\t\t}\n\n\t\tallow() {\n\t\t\treturn [\n\t\t\t\t... this.fullscreen() ? [ 'fullscreen' ] : [] ,\n\t\t\t\t... this.accelerometer() ? [ 'accelerometer' ] : [] ,\n\t\t\t\t... this.autoplay() ? [ 'autoplay' ] : [] ,\n\t\t\t\t... this.encription() ? [ 'encrypted-media' ] : [] ,\n\t\t\t\t... this.gyroscope() ? [ 'gyroscope' ] : [] ,\n\t\t\t\t... this.pip() ? [ 'picture-in-picture' ] : [] ,\n\t\t\t\t... this.clipboard_read() ? [ `clipboard-read ${ this.uri() }` ] : [],\n\t\t\t\t... this.clipboard_write() ? [ `clipboard-write ${ this.uri() }` ] : [],\n\t\t\t].join('; ')\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t$mol_style_define( $mol_frame , {\n\t\tborder: {\n\t\t\tstyle: 'none',\n\t\t},\n\t\tmaxHeight: $mol_style_unit.vh(100),\n\t} )\n}\n","$mol_svg_group $mol_svg\n\tdom_name \\g\n","namespace $ {\n\n\texport class $mol_vector< Value , Length extends number > extends Array< Value > {\n\n\t\tget length() {\n\t\t\treturn super.length as Length\n\t\t}\n\n\t\tconstructor( ... values : Value[] & { length : Length } ) { super( ... values ) }\n\t\t\n\t\tmap< Res >(\n\t\t\tconvert : ( value : Value , index : number , array : this ) => Res ,\n\t\t\tself? : any ,\n\t\t) : $mol_vector< Res , Length > {\n\t\t\treturn super.map( convert as any , self ) as any\n\t\t}\n\n\t\tmerged< Patch >(\n\t\t\tpatches : readonly Patch[] & { length : Length } ,\n\t\t\tcombine : ( value : Value , patch : Patch ) => Value ,\n\t\t) : this {\n\t\t\treturn this.map( ( value , index )=> combine( value , patches[ index ] ) ) as any\n\t\t}\n\n\t\tlimited(\n\t\t\tthis : $mol_vector< number , Length > ,\n\t\t\tlimits : readonly ( readonly [ number , number ] )[] & { length : Length } ,\n\t\t) : this {\n\t\t\treturn this.merged( limits , ( value , [ min , max ] )=> ( value < min ) ? min : ( value > max ) ? max : value ) as any\n\t\t}\n\n\t\tadded0( this : $mol_vector< number , Length > , diff : number ) : this {\n\t\t\treturn this.map( value => value + diff ) as any\n\t\t}\n\n\t\tadded1( this : $mol_vector< number , Length > , diff : readonly number[] & { length : Length } ) : this {\n\t\t\treturn this.merged( diff , ( a , b )=> a + b ) as any\n\t\t}\n\n\t\tmulted0( this : $mol_vector< number , Length > , mult : number ) : this {\n\t\t\treturn this.map( value => value * mult ) as any\n\t\t}\n\n\t\tmulted1(\n\t\t\tthis : $mol_vector< number , Length > ,\n\t\t\tmults : readonly number[] & { length : Length } ,\n\t\t) : this {\n\t\t\treturn this.merged( mults , ( a , b )=> a * b ) as any\n\t\t}\n\n\t\tpowered0( this : $mol_vector< number , Length > , mult : number ) : this {\n\t\t\treturn this.map( value => value ** mult ) as any\n\t\t}\n\n\t\texpanded1(\n\t\t\tthis : $mol_vector< $mol_vector_range< number > , Length > ,\n\t\t\tpoint : readonly number[] & { length : Length } ,\n\t\t) : this {\n\t\t\treturn this.merged( point , ( range , value )=> range.expanded0( value ) ) as any\n\t\t}\n\n\t\texpanded2(\n\t\t\tthis : $mol_vector< $mol_vector_range< number > , Length > ,\n\t\t\tpoint : readonly ( readonly [ number , number ] )[] & { length : Length } ,\n\t\t) : this {\n\t\t\treturn this.merged( point , ( range1 , range2 )=> {\n\t\t\t\tlet next = range1\n\t\t\t\tconst Range = range1.constructor as typeof $mol_vector_range\n\t\t\t\tif (range1[0] > range2[0]) next = new Range(range2[0], next.max);\n\t\t\t\tif (range1[1] < range2[1]) next = new Range(next.min, range2[1])\n\n\t\t\t\treturn next\n\t\t\t}) as any\n\t\t}\n\n\t\tcenter< Item extends $mol_vector< number, number > >(\n\t\t\tthis : $mol_vector< Item , Length > ,\n\t\t) : Item {\n\t\t\tconst Result = this[0].constructor as typeof $mol_vector\n\t\t\treturn new Result( ... this[0].map( (_,i)=> this.reduce( ( sum, point )=> sum + point[i], 0 ) / this.length ) ) as any\n\t\t}\n\n\t\tdistance(\n\t\t\tthis : $mol_vector< $mol_vector< number, number >, Length > ,\n\t\t): number {\n\t\t\tlet distance = 0\n\t\t\t\n\t\t\tfor( let i = 1; i < this.length; ++i ) {\n\t\t\t\tdistance += this[ i - 1 ].reduce( ( sum, min, j )=> sum + ( min - this[i][j] ) ** 2, 0 ) ** ( 1 / this[i].length )\n\t\t\t}\n\t\t\t\n\t\t\treturn distance\n\t\t}\n\n\t\ttransponed(\n\t\t\tthis : $mol_vector< $mol_vector< number, number >, Length > ,\n\t\t): $mol_vector< $mol_vector< number, Length >, typeof this[0]['length'] > {\n\t\t\treturn this[0].map( ( _, i )=> this.map( row => row[i] ) )\n\t\t}\n\n\t\tget x() { return this[0] }\n\t\tset x( next: Value ) { this[0] = next }\n\t\t\n\t\tget y() { return this[1] }\n\t\tset y( next: Value ) { this[1] = next }\n\t\t\n\t\tget z() { return this[2] }\n\t\tset z( next: Value ) { this[2] = next }\n\t\t\n\t}\n\n\texport class $mol_vector_1d< Value > extends $mol_vector< Value , 1 > { }\n\n\texport class $mol_vector_2d< Value > extends $mol_vector< Value , 2 > {}\n\n\texport class $mol_vector_3d< Value > extends $mol_vector< Value , 3 > {}\n\n\texport class $mol_vector_range< Value > extends $mol_vector< Value , 2 > {\n\t\t\n\t\t0: Value\n\t\t1: Value\n\t\t\n\t\tconstructor( min: Value, max = min ) {\n\t\t\tsuper( min, max )\n\t\t\tthis[0] = min\n\t\t\tthis[1] = max\n\t\t}\n\t\t\n\t\tget min() { return this[0] }\n\t\tset min( next: Value ) { this[0] = next }\n\t\t\n\t\tget max() { return this[1] }\n\t\tset max( next: Value ) { this[1] = next }\n\t\t\n\t\tget inversed() {\n\t\t\treturn new ( this.constructor as typeof $mol_vector_range )( this.max , this.min )\n\t\t}\n\n\t\texpanded0( value : Value ) {\n\t\t\tconst Range = this.constructor as typeof $mol_vector_range\n\t\t\tlet range = this as $mol_vector_range< Value >\n\t\t\t\n\t\t\tif( value > range.max ) range = new Range( range.min , value )\n\t\t\tif( value < range.min ) range = new Range( value , range.max )\n\n\t\t\treturn range\n\t\t}\n\n\t}\n\n\texport let $mol_vector_range_full = new $mol_vector_range( Number.NEGATIVE_INFINITY , Number.POSITIVE_INFINITY )\n\n\texport class $mol_vector_matrix<\n\t\tWidth extends number ,\n\t\tHeight extends number ,\n\t> extends $mol_vector< readonly number[] & { length : Width } , Height > {\n\n\t\tadded2(\n\t\t\tdiff : readonly ( readonly number[] & { length : Width } )[] & { length : Height }\n\t\t) : this {\n\t\t\treturn this.merged( diff , ( a , b )=> a.map( ( a2 , index ) => a2 + b[ index ] ) as any ) as any\n\t\t}\n\n\t\tmulted2(\n\t\t\tdiff : readonly ( readonly number[] & { length : Width } )[] & { length : Height }\n\t\t) : this {\n\t\t\treturn this.merged( diff , ( a , b )=> a.map( ( a2 , index ) => a2 * b[ index ] ) as any ) as any\n\t\t}\n\n\t}\n\n}\n","$mol_svg_title $mol_svg\n\tdom_name \\title\n\tsub /\n\t\t<= title\n","$mol_plot_graph $mol_svg_group\n\tseries_x /number\n\tseries_y /number\n\t-\n\tattr *\n\t\t^\n\t\tmol_plot_graph_type <= type \\solid\n\t-\n\tstyle *\n\t\t^\n\t\tcolor <= color \\\n\t-\n\tviewport $mol_vector_2d<$mol_vector_range> /\n\t\t<= viewport_x $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\t\t<= viewport_y $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\tshift /number\n\t\t0\n\t\t0\n\tscale /number\n\t\t1\n\t\t1\n\tcursor_position $mol_vector_2d /\n\t\tNaN\n\t\tNaN\n\tdimensions_pane $mol_vector_2d<$mol_vector_range> /\n\t\t<= dimensions_pane_x $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\t\t<= dimensions_pane_y $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\tdimensions $mol_vector_2d<$mol_vector_range> /\n\t\t<= dimensions_x $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\t\t<= dimensions_y $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\tsize_real $mol_vector_2d /\n\t\t0\n\t\t0\n\tgap $mol_vector_2d<$mol_vector_range> /\n\t\t<= gap_x $mol_vector_range /\n\t\t\t0\n\t\t\t0\n\t\t<= gap_y $mol_vector_range /\n\t\t\t0\n\t\t\t0\n\trepos_x* 0\n\trepos_y* 0\n\tindexes /number\n\tpoints /readonly(number)[]\n\tfront /$mol_svg\n\tback /$mol_svg\n\tHint $mol_svg_title\n\t\ttitle <= hint <= title \\\n\thue? +NaN\n\tSample null\n\n$mol_plot_graph_sample $mol_view\n\tattr *\n\t\t^\n\t\tmol_plot_graph_type <= type \\solid\n\tstyle *\n\t\t^\n\t\tcolor <= color \\black\n","namespace $.$$ {\n\texport class $mol_plot_graph extends $.$mol_plot_graph {\n\t\t\n\t\tviewport() {\n\t\t\tconst size = this.size_real()\n\t\t\treturn new this.$.$mol_vector_2d(\n\t\t\t\tnew this.$.$mol_vector_range(0, size.x),\n\t\t\t\tnew this.$.$mol_vector_range(0, size.y),\n\t\t\t)\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tindexes() {\n\t\t\treturn this.series_x().map( (_,i)=> i ) as readonly number[]\n\t\t}\n\t\t\n\t\trepos_x( val: number ) {\n\t\t\treturn val\n\t\t}\n\n\t\trepos_y( val: number ) {\n\t\t\treturn val\n\t\t}\n\n\t\tpoints() {\n\t\t\tconst [shift_x, shift_y] = this.shift()\n\t\t\tconst [scale_x, scale_y] = this.scale()\n\t\t\tconst series_x = this.series_x()\n\t\t\tconst series_y = this.series_y()\n\n\t\t\treturn this.indexes().map(index => {\n\t\t\t\t\n\t\t\t\tlet point_x = Math.round(shift_x + this.repos_x( series_x[index] ) * scale_x)\n\t\t\t\tlet point_y = Math.round(shift_y + this.repos_y( series_y[index] ) * scale_y)\n\n\t\t\t\tpoint_x = Math.max( Number.MIN_SAFE_INTEGER, Math.min( point_x, Number.MAX_SAFE_INTEGER ) )\n\t\t\t\tpoint_y = Math.max( Number.MIN_SAFE_INTEGER, Math.min( point_y, Number.MAX_SAFE_INTEGER ) )\n\n\t\t\t\treturn [point_x, point_y]\n\t\t\t}) as readonly( readonly number[] )[]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tseries_x() {\n\t\t\treturn this.series_y().map((val, index) => index) as readonly number[]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdimensions() {\n\t\t\tlet next = new this.$.$mol_vector_2d(\n\t\t\t\t$mol_vector_range_full.inversed,\n\t\t\t\t$mol_vector_range_full.inversed\n\t\t\t)\n\n\t\t\tconst series_x = this.series_x()\n\t\t\tconst series_y = this.series_y()\n\t\t\tfor(let i = 0; i < series_x.length; i++) {\n\t\t\t\tif( series_x[i] > next.x.max ) next.x.max = this.repos_x( series_x[i] )\n\t\t\t\tif( series_x[i] < next.x.min ) next.x.min = this.repos_x( series_x[i] )\n\t\t\t\tif( series_y[i] > next.y.max ) next.y.max = this.repos_y( series_y[i] )\n\t\t\t\tif( series_y[i] < next.y.min ) next.y.min = this.repos_y( series_y[i] )\n\t\t\t}\n\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tcolor() {\n\t\t\tconst hue = this.hue()\n\t\t\treturn hue ? `hsl( ${ hue } , 100% , 35% )` : ''\n\t\t}\n\t\t\n\t\tfront() {\n\t\t\treturn [ this ] as unknown as readonly $.$mol_svg[]\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/plot/graph/graph.view.css\",\n \"[mol_plot_graph] {\\n\\tstroke: currentColor;\\n}\\n\\n[mol_plot_graph_sample] {\\n\\tborder-width: 0;\\n\\tborder-style: solid;\\n}\\n\\n[mol_plot_graph_type=\\\"dashed\\\"] {\\n\\tstroke-dasharray: 4 4;\\n\\tborder-style: dashed;\\n}\\n\"\n) }","$mol_plot_bar $mol_plot_graph\n\tstyle *\n\t\t^\n\t\tstroke-width <= stroke_width \\1rem\n\tsub /\n\t\t<= Hint\n\t\t<= Curve $mol_svg_path\n\t\t\tgeometry <= curve \\\n\tSample $mol_plot_graph_sample\n\t\tcolor <= color\n","namespace $.$$ {\n\texport class $mol_plot_bar extends $.$mol_plot_bar {\n\n\t\t@$mol_mem\n\t\tindexes() {\n\t\t\tconst {\n\t\t\t\tx: {min: viewport_left, max: viewport_right},\n\t\t\t\ty: {min: viewport_bottom, max: viewport_top},\n\t\t\t} = this.viewport()\n\n\t\t\tconst [shift_x, shift_y] = this.shift()\n\t\t\tconst [scale_x, scale_y] = this.scale()\n\t\t\tconst indexes = [] as number[]\n\n\t\t\tconst series_x = this.series_x()\n\t\t\tconst series_y = this.series_y()\n\n\t\t\tlet first_x = null as number | null\n\t\t\tlet last_x = null as number | null\n\n\t\t\tfor (let i = 0; i < series_x.length; i++) {\n\t\t\t\tconst scaled = [\n\t\t\t\t\tMath.round( shift_x + series_x[i] * scale_x ),\n\t\t\t\t\tMath.round( shift_y + series_y[i] * scale_y ),\n\t\t\t\t] as const\n\n\t\t\t\tif (scaled[0] < viewport_left) {\n\t\t\t\t\tfirst_x = i\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (scaled[0] > viewport_right) {\n\t\t\t\t\tif (last_x === null) last_x = i\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\tif (scaled[1] < viewport_bottom) continue\n\t\t\t\tif (scaled[1] > viewport_top) continue\n \n\t\t\t\tif (first_x !== null) indexes.push(first_x)\n\n\t\t\t\tindexes.push(i)\n\n\t\t\t\tif (last_x !== null) indexes.push(last_x)\n\n\t\t\t\tfirst_x = last_x = null\n\t\t\t}\n\n\t\t\tif (first_x !== null) indexes.push(first_x)\n\t\t\tif (last_x !== null) indexes.push(last_x)\n\n\t\t\treturn indexes\n\t\t}\n\n\t\tcurve() {\n\t\t\tconst points = this.points()\n\t\t\tif( points.length === 0 ) return ''\n\t\t\tconst [, shift_y] = this.shift()\n\n\t\t\treturn points.map( point => `M ${point[0]} ${shift_y} V ${point[1]}`).join( ' ' )\n\t\t}\n\t\t\n\t\tstroke_width() {\n\t\t\treturn ( 8 / Math.sqrt( this.indexes().length ) ).toPrecision(2) + '%'\n\t\t}\n\t\t\n\t\tcolor() {\n\t\t\treturn `hsl( ${ this.hue() } , 80% , 80% )`\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tdimensions() {\n\t\t\tlet next = new this.$.$mol_vector_2d(\n\t\t\t\t$mol_vector_range_full.inversed,\n\t\t\t\tnew this.$.$mol_vector_range(0 , 0),\n\t\t\t)\n\t\t\t\n\t\t\tconst series_x = this.series_x()\n\t\t\tconst series_y = this.series_y()\n\t\t\tfor (let i = 0; i < series_x.length; i++) {\n\t\t\t\tnext = next.expanded1([series_x[i], series_y[i]] as const)\n\t\t\t}\n\t\t\t\n\t\t\tconst gap = ( next.x.max - next.x.min ) / series_x.length || 0.00000001\n\t\t\tnext[0] = next.x.added1([-gap, gap] as const)\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/plot/bar/bar.view.css\",\n \"[mol_plot_bar] {\\n\\tstroke-linecap: butt;\\n\\tstroke-width: 1rem;\\n}\\n\\n[mol_plot_bar_sample] {\\n\\tbackground: currentColor;\\n\\tposition: absolute;\\n\\ttop:0;\\n\\tbottom: 0;\\n\\tleft: 0;\\n\\tright: 0;\\n}\\n\"\n) }","$mol_svg_rect $mol_svg\n\tdom_name \\rect\n\tpos /\n\tattr *\n\t\t^\n\t\twidth <= width \\0\n\t\theight <= height \\0\n\t\tx <= pos_x \\\n\t\ty <= pos_y \\\n","namespace $.$$ {\n\n\texport class $mol_svg_rect extends $.$mol_svg_rect {\n\t\t\n\t\tpos_x() {\n\t\t\treturn this.pos()[ 0 ]\n\t\t}\n\t\t\n\t\tpos_y() {\n\t\t\treturn this.pos()[ 1 ]\n\t\t}\n\t\t\n\t}\n\t\n}\n","$mol_svg_text $mol_svg\n\tdom_name \\text\n\tpos /\n\tattr *\n\t\t^\n\t\tx <= pos_x \\\n\t\ty <= pos_y \\\n\t\ttext-anchor <= align_hor <= align \\middle\n\t\talignment-baseline <= align_vert \\baseline\n\tsub /\n\t\t<= text \\\n","namespace $.$$ {\n\t\n\texport class $mol_svg_text extends $.$mol_svg_text {\n\t\t\n\t\tpos_x() {\n\t\t\treturn this.pos()[ 0 ]\n\t\t}\n\t\t\n\t\tpos_y() {\n\t\t\treturn this.pos()[ 1 ]\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/svg/text/text.view.css\",\n \"[mol_svg_text] {\\n\\tfill: currentColor;\\n\\tstroke: none;\\n}\\n\"\n) }","$mol_plot_ruler $mol_plot_graph\n\tstep 0\n\tscale_axis 1\n\tscale_step 1\n\tshift_axis 1\n\tdimensions_axis $mol_vector_range /\n\t\tInfinity\n\t\t-Infinity\n\tviewport_axis $mol_vector_range /\n\t\tInfinity\n\t\t-Infinity\n\taxis_points /number\n\tnormalize? 0\n\tprecision 1\n\tsub /\n\t\t<= Background $mol_svg_rect\n\t\t\tpos_x <= background_x \\0\n\t\t\tpos_y <= background_y \\0\n\t\t\twidth <= background_width \\100%\n\t\t\theight <= background_height \\14\n\t\t<= Curve $mol_svg_path\n\t\t\tgeometry <= curve \\\n\t\t<= labels_formatted /\n\t\t<= Title $mol_svg_text\n\t\t\tpos_x <= title_pos_x \\0\n\t\t\tpos_y <= title_pos_y \\100%\n\t\t\talign <= title_align \\start\n\t\t\ttext <= title\n\tLabel* $mol_svg_text\n\t\tpos <= label_pos* /\n\t\t\t<= label_pos_x* \\\n\t\t\t<= label_pos_y* \\\n\t\ttext <= label_text* \\\n\t\talign <= label_align \\\n","namespace $ {\n\t\n\texport function $mol_math_round_expand( val : number , gap = 1 ) {\n\t\tif( val === 0 ) return 0\n\t\t\n\t\tconst val_abs = Math.abs( val )\n\t\tconst val_sign = val ? Math.round( val / val_abs ) : 0\n\t\t\n\t\tconst digits = Math.floor( Math.log( val_abs ) / Math.log( 10 ) )\n\t\tconst precission = Math.pow( 10 , digits - gap )\n\t\tconst val_expanded = precission * Math.ceil( val_abs / precission )\n\t\t\n\t\treturn val_sign * val_expanded\n\t}\n\t\n}\n","namespace $.$$ {\n\texport class $mol_plot_ruler extends $.$mol_plot_ruler {\n\t\tlabels_formatted() {\n\t\t\treturn this.axis_points().map( ( point , index )=> this.Label( index ) )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstep() {\n\t\t\tconst scale = Math.abs( this.scale_step() )\n\t\t\tconst dims = this.dimensions_axis()\n\t\t\tconst range = dims.max - dims.min\n\t\t\tconst min_width = ( Math.abs( Math.log10( range ) ) + 2 ) * 15\n\t\t\tconst size = $mol_math_round_expand( range , -1 )\n\t\t\tconst count = Math.max( 1 , Math.pow( 10 , Math.floor( Math.log( size * scale / min_width ) / Math.log( 10 ) ) ) )\n\t\t\tlet step = size / count\n\t\t\tconst step_max = min_width * 2 / scale\n\t\t\tif( step > step_max ) step /= 2\n\t\t\tif( step > step_max ) step /= 2\n\n\t\t\treturn Math.max( step , Math.abs( dims.min ) / 1e10 , Math.abs( dims.max ) / 1e10 )\n\t\t}\n\n\t\tsnap_to_grid(coord: number) {\n\t\t\tconst viewport = this.viewport_axis()\n\t\t\tconst scale = this.scale_axis()\n\t\t\tconst shift = this.shift_axis()\n\t\t\tconst step = this.step()\n\n\t\t\tconst val = Math.round( coord / step ) * step\n\n\t\t\tif (scale == 0) return val\n\n\t\t\tconst step_scaled = step * scale\n\t\t\tconst scaled = val * scale + shift\n\t\t\tlet count = 0\n\t\t\tif (scaled < viewport.min) count = (scaled - viewport.min) / step_scaled\n\t\t\tif (scaled > viewport.max) count = (scaled - viewport.max) / step_scaled\n\n\t\t\treturn val - Math.floor(count) * step\n\t\t}\n\n\t\t@ $mol_mem\n\t\taxis_points() {\n\t\t\tconst dims = this.dimensions_axis()\n\t\t\tconst start = this.snap_to_grid(dims.min)\n\t\t\tconst end = this.snap_to_grid(dims.max)\n\t\t\tconst step = this.step()\n\n\t\t\tconst next = [] as number[]\n\t\t\tfor( let val = start ; val <= end ; val += step ) {\n\t\t\t\tnext.push(val)\n\t\t\t}\n\n\t\t\treturn next\n\t\t}\n\n\t\t@$mol_mem\n\t\tprecision() {\n\t\t\tconst step = this.step()\n\t\t\treturn Math.max( 0 , Math.min( 15 , ( step - Math.floor( step ) ).toString().length - 2 ) )\n\t\t}\n\n\t\tlabel_text( index : number ) {\n\t\t\tconst point = this.axis_points()[index]\n\t\t\treturn point.toFixed( this.precision() )\n\t\t}\n\n\t\tfont_size() {\n\t\t\treturn this.Background().font_size()\n\t\t}\n\n\t\tback() {\n\t\t\treturn [this.Curve()]\n\t\t}\n\n\t\tfront() {\n\t\t\treturn [\n\t\t\t\t// this.Background(),\n\t\t\t\t...this.labels_formatted(),\n\t\t\t\tthis.Title()\n\t\t\t] as readonly $.$mol_svg[]\n\t\t}\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/plot/ruler/ruler.view.css\",\n \"[mol_plot_ruler_curve] {\\n\\tcolor: var(--mol_theme_line);\\n\\tstroke-width: 1px;\\n\\tstroke: currentColor;\\n}\\n\\n[mol_plot_ruler_label] {\\n\\tcolor: var(--mol_theme_text);\\n\\ttext-shadow: 0 -1px var(--mol_theme_back), 0px 1px var(--mol_theme_back);\\n}\\n\\n[mol_plot_ruler_title] {\\n\\tcolor: var(--mol_theme_shade);\\n\\tbackground-color: var(--mol_theme_back);\\n\\ttext-shadow: 0 -1px var(--mol_theme_back), 0px 1px var(--mol_theme_back);\\n}\\n\\n[mol_plot_ruler_background] {\\n\\tstroke: none;\\n\\tfill: var(--mol_theme_back);\\n\\topacity: 0.8;\\n}\\n\"\n) }","$mol_plot_ruler_vert $mol_plot_ruler\n\ttitle_align \\end\n\tlabel_align \\end\n\ttitle_pos_y \\14\n\tlabel_pos_x* <= title_pos_x\n\tbackground_height \\100%\n\tbackground_width <= title_pos_x\n","namespace $.$$ {\n\texport class $mol_plot_ruler_vert extends $.$mol_plot_ruler_vert {\n\t\tdimensions_axis() {\n\t\t\treturn this.dimensions_pane().y\n\t\t}\n\n\t\tviewport_axis() {\n\t\t\treturn new this.$.$mol_vector_range(0, this.size_real().y)\n\t\t}\n\n\t\tscale_axis() {\n\t\t\treturn this.scale()[1]\n\t\t}\n\n\t\tscale_step() {\n\t\t\treturn -this.scale()[1]\n\t\t}\n\n\t\tshift_axis() {\n\t\t\treturn this.shift()[1]\n\t\t}\n\n\t\tcurve() {\n\t\t\tconst [, shift] = this.shift()\n\t\t\tconst [, scale] = this.scale()\n\n\t\t\treturn this.axis_points().map( point => {\n\t\t\t\tlet scaled = Math.round( point * scale + shift )\n\t\t\t\tscaled = Math.max( Number.MIN_SAFE_INTEGER, Math.min( scaled, Number.MAX_SAFE_INTEGER ) )\n\t\t\t\treturn `M 0 ${ scaled } H 2000`\n\t\t\t}).join( ' ' )\n\t\t}\n\n\t\ttitle_pos_x() {\n\t\t\treturn String(this.gap().x.min)\n\t\t}\n\n\t\tlabel_pos_y( index : number ) {\n\t\t\treturn (this.axis_points()[index] * this.scale()[1] + this.shift()[1]).toFixed(3)\n\t\t}\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/plot/ruler/vert/vert.view.css\",\n \"[mol_plot_ruler_vert_label] {\\n\\ttransform: translateY( 4px );\\n}\\n\"\n) }","$mol_plot_ruler_hor $mol_plot_ruler\n\ttitle_align \\start\n\tlabel_align \\middle\n\ttitle_pos_x \\0\n\ttitle_pos_y \\100%\n\tlabel_pos_y* <= title_pos_y\n\tbackground_width \\100%\n","namespace $.$$ {\n\texport class $mol_plot_ruler_hor extends $.$mol_plot_ruler_hor {\n\t\tdimensions_axis() {\n\t\t\treturn this.dimensions_pane().x\n\t\t}\n\n\t\tviewport_axis() {\n\t\t\treturn new this.$.$mol_vector_range(0, this.size_real().x)\n\t\t}\n\n\t\tscale_axis() {\n\t\t\treturn this.scale()[0]\n\t\t}\n\n\t\tscale_step() {\n\t\t\treturn this.scale()[0]\n\t\t}\n\n\t\tshift_axis() {\n\t\t\treturn this.shift()[0]\n\t\t}\n\t\t\n\t\tcurve() {\n\t\t\tconst [shift] = this.shift()\n\t\t\tconst [scale] = this.scale()\n\n\t\t\treturn this.axis_points().map( point => {\n\t\t\t\tlet scaled = Math.round( point * scale + shift )\n\t\t\t\tscaled = Math.max( Number.MIN_SAFE_INTEGER, Math.min( scaled, Number.MAX_SAFE_INTEGER ) )\n\t\t\t\treturn `M ${ scaled } 1000 V 0`\n\t\t\t}).join( ' ' )\n\t\t}\n\n\t\tlabel_pos_x( index : number ) {\n\t\t\treturn (this.axis_points()[index] * this.scale()[0] + this.shift()[0]).toFixed(3)\n\t\t}\n\n\t\tbackground_y() {\n\t\t\treturn String(this.size_real()[1] - this.font_size())\n\t\t}\n\n\t\ttitle_pos_y() {\n\t\t\treturn String(this.size_real()[1])\n\t\t}\n\n\t\tbackground_height() {\n\t\t\treturn String(this.font_size())\n\t\t}\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/plot/ruler/hor/hor.view.css\",\n \"[mol_plot_ruler_hor_label] {\\n\\ttransform: translateY( -4px );\\n}\\n\\n[mol_plot_ruler_hor_title] {\\n\\ttransform: translateY( -4px );\\n}\\n\"\n) }","$mol_plot_mark_hor $mol_plot_ruler_hor\n\tlabels /string\n","namespace $.$$ {\n\texport class $mol_plot_mark_hor extends $.$mol_plot_mark_hor {\n\t\t@ $mol_mem\n\t\tseries_x(): readonly number[] {\n\t\t\treturn this.labels().map((val, index) => index)\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlabels() {\n\t\t\treturn this.series_x().map(val => String(val)) as readonly string[]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tvisible_indexes() {\n\t\t\tconst series_x = this.series_x()\n\t\t\tconst labels = this.labels()\n\t\t\tconst [shift_x,] = this.shift()\n\t\t\tconst [scale_x,] = this.scale()\n\t\t\tlet step = this.step() * scale_x\n\t\t\tconst [[viewport_left, viewport_right]] = this.viewport()\n\t\t\tconst size_x = viewport_right - viewport_left\n\t\t\tconst font_size = this.font_size()\n\t\t\tlet indexes: number[]\n\t\t\tlet labels_width: number\n\t\t\tdo {\n\t\t\t\tindexes = []\n\t\t\t\tlabels_width = 0\n\t\t\t\tlet last: number = 0\n\t\t\t\tlet current = 0\n\t\t\t\tfor (let i = 0; i < series_x.length; i++) {\n\t\t\t\t\tconst point_x = series_x[i]\n\t\t\t\t\tconst scaled_x = (shift_x + point_x * scale_x)\n\t\t\t\t\tif (scaled_x < viewport_left) continue\n\t\t\t\t\tif (scaled_x > viewport_right) continue\n\t\t\t\t\tif (current === 0) current = scaled_x\n\t\t\t\t\tif (scaled_x < current) {\n\t\t\t\t\t\tlast = i\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tindexes.push(i)\n\t\t\t\t\tcurrent += step\n\t\t\t\t\tlast = 0\n\t\t\t\t\tlabels_width += font_size * (labels[i].length + 1)\n\t\t\t\t\tif (labels_width > size_x) break\n\t\t\t\t}\n\t\t\t\tif (last !== 0) {\n\t\t\t\t\tindexes.push(last)\n\t\t\t\t\tlabels_width += font_size * (labels[last].length + 1)\n\t\t\t\t}\n\n\t\t\t\tstep *= 1.5\n\t\t\t} while (labels_width > size_x && indexes.length > 2)\n\n\t\t\treturn indexes\n\n\t\t}\n\n\t\tcurve() {\n\t\t\tconst [shift] = this.shift()\n\t\t\tconst [scale] = this.scale()\n\t\t\tconst series_x = this.series_x()\n\n\t\t\treturn this.visible_indexes().map( index => {\n\t\t\t\tconst scaled = series_x[index] * scale + shift\n\t\t\t\treturn `M ${ scaled.toFixed(3) } 1000 V 0`\n\t\t\t}).join( ' ' )\n\t\t}\n\n\t\tlabel_text( index : number ) {\n\t\t\treturn this.labels()[index]\n\t\t}\n\n\t\tlabels_formatted() {\n\t\t\treturn this.visible_indexes().map( index => this.Label( index ) )\n\t\t}\n\n\t\tlabel_pos_x( index : number ) {\n\t\t\treturn (this.series_x()[index] * this.scale()[0] + this.shift()[0]).toFixed(3)\n\t\t}\n\n\t\tlabel_pos_y( index : number ) {\n\t\t\treturn this.title_pos_y()\n\t\t}\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/plot/mark/hor/hor.view.css\",\n \"[mol_plot_mark_hor_curve] {\\n\\tcolor: var(--mol_theme_line);\\n\\tstroke-width: .1%;\\n\\tstroke: currentColor;\\n\\tpointer-events: none;\\n}\\n\\n[mol_plot_mark_hor_label] {\\n\\tcolor: var(--mol_theme_text);\\n\\ttransform: translateY( -4px );\\n}\\n\\n[mol_plot_mark_hor_title] {\\n\\tcolor: var(--mol_theme_shade);\\n\\ttransform: translateY( -4px );\\n}\\n\"\n) }","$mol_svg_text_box $mol_svg_group\n\tfont_size 16\n\twidth 0\n\tsub /\n\t\t<= Back $mol_svg_rect\n\t\t\twidth <= box_width \\0.5rem\n\t\t\theight <= box_height \\1rem\n\t\t\tpos /\n\t\t\t\t<= box_pos_x <= pos_x\n\t\t\t\t<= box_pos_y \\0\n\t\t<= Text $mol_svg_text\n\t\t\tpos /\n\t\t\t\t<= pos_x \\0\n\t\t\t\t<= pos_y \\100%\n\t\t\talign <= align \\start\n\t\t\tsub /\n\t\t\t\t<= text \\\n","namespace $ {\n\n\tlet canvas : CanvasRenderingContext2D\n\n\texport function $mol_font_canvas( next = canvas ) {\n\t\tif( !next ) next = $mol_dom_context.document.createElement( 'canvas' ).getContext( '2d' )!\n\t\treturn canvas = next\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_font_measure( font: string, text: string ) {\n\t\tconst canvas = $mol_font_canvas()\n\t\tcanvas.font = font\n\t\treturn canvas.measureText( text ).width\n\t}\n\n}\n","namespace $.$$ {\n\texport class $mol_svg_text_box extends $.$mol_svg_text_box {\n\n\t\tbox_width() {\n\t\t\treturn `${ this.width() }px`\n\t\t}\n\n\t\t@ $mol_mem\n\t\twidth() {\n\t\t\treturn $mol_font_measure(\n\t\t\t\tthis.font_size() + 'px ' + this.font_family(),\n\t\t\t\tthis.text(),\n\t\t\t)\n\t\t}\n\n\t\tbox_pos_x() {\n\t\t\tconst align = this.align()\n\t\t\tif (align === 'end') return `calc(${this.pos_x()} - ${this.width()})`\n\t\t\tif (align === 'middle') return `calc(${this.pos_x()} - ${Math.round(this.width() / 2)})`\n\n\t\t\treturn this.pos_x()\n\t\t}\n\n\t\tbox_pos_y() {\n\t\t\treturn `calc(${this.pos_y()} - ${this.font_size() - 2})`\n\t\t}\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/svg/text/box/box.view.css\",\n \"[mol_svg_text_box_back] {\\n\\tstroke: none;\\n\\tfill: var(--mol_theme_back);\\n\\ttransition: none;\\n}\\n\"\n) }","$mol_plot_mark_cross $mol_plot_graph\n\tlabels /string\n\ttitle_x_gap 4\n\ttitle_y_gap 22\n\tthreshold 16\n\tgraphs /$mol_plot_graph\n\tdimensions $mol_vector_2d<$mol_vector_range> /\n\t\t<= dimensions_x $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\t\t<= dimensions_y $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\tsub /\n\t\t<= Curve $mol_svg_path\n\t\t\tgeometry <= curve \\\n\t\t<= Label_x $mol_svg_text_box\n\t\t\tpos_x <= title_x_pos_x \\0\n\t\t\tpos_y <= title_x_pos_y \\100%\n\t\t\ttext <= title_x \\\n\t\t<= Label_y $mol_svg_text_box\n\t\t\tpos_x <= title_y_pos_x \\0\n\t\t\tpos_y <= title_y_pos_y \\0\n\t\t\ttext <= title_y \\\n","namespace $.$$ {\n\texport class $mol_plot_mark_cross extends $.$mol_plot_mark_cross {\n\n\t\t@$mol_mem\n\t\tnearest() {\n\t\t\tlet delta = this.threshold() ** 2\n\t\t\tconst [cursor_x, cursor_y] = this.cursor_position()\n\t\t\tif (Number.isNaN(cursor_x) || Number.isNaN(cursor_y)) return null\n\t\t\tconst graphs = this.graphs()\n\t\t\tlet index: number = 0\n\t\t\tlet graph: $.$mol_plot_graph = null as any\n\t\t\tconst [shift_x, shift_y] = this.shift()\n\t\t\tconst [scale_x, scale_y] = this.scale()\n\t\t\tfor (let current of graphs) {\n\t\t\t\tconst indexes = current.indexes()\n\t\t\t\tconst series_x = current.series_x()\n\t\t\t\tconst series_y = current.series_y()\n\t\n\t\t\t\tfor (let i of indexes) {\n\t\t\t\t\tconst point_x = shift_x + series_x[i] * scale_x\n\t\t\t\t\tconst point_y = shift_y + series_y[i] * scale_y\n\t\t\t\t\tconst diff = (point_x - cursor_x) ** 2 + (point_y - cursor_y) ** 2\n\t\t\t\t\tif (diff < delta) {\n\t\t\t\t\t\tdelta = diff\n\t\t\t\t\t\tindex = i\n\t\t\t\t\t\tgraph = current\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!graph) return null\n\n\t\t\tconst value = new $mol_vector_2d(graph.series_x()[index], graph.series_y()[index])\n\t\t\tconst scaled = new $mol_vector_2d(shift_x + value.x * scale_x, shift_y + value.y * scale_y)\n\n\t\t\treturn {value, scaled, index}\n\t\t}\n\n\t\tcurve() {\n\t\t\tconst nearest = this.nearest()\n\t\t\tif (!nearest) return ''\n\t\t\treturn `M ${nearest.scaled.x.toFixed(3)} 1000 V 0 M 0 ${nearest.scaled.y.toFixed(3)} H 2000`\n\t\t}\n\n\t\ttitle_x() {\n\t\t\tconst nearest = this.nearest()\n\t\t\tif (!nearest) return ''\n\n\t\t\tconst labels = this.labels()\n\n\t\t\tif (labels.length > nearest.index) return labels[nearest.index]\n\n\t\t\treturn String(nearest.value.x)\n\t\t}\n\n\t\ttitle_x_pos_x() {\n\t\t\tconst nearest = this.nearest()\n\t\t\tif (!nearest) return '0'\n\t\t\tconst width = this.Label_x().width()\n\n\t\t\treturn (nearest.scaled.x - width / 2).toFixed(3)\n\t\t}\n\n\t\ttitle_x_pos_y() {\n\t\t\tconst nearest = this.nearest()\n\t\t\tif (!nearest) return '0'\n\n\t\t\tconst pos = this.size_real().y - this.title_x_gap()\n\n\t\t\treturn pos.toFixed(3)\n\t\t}\n\n\t\ttitle_y() {\n\t\t\tconst nearest = this.nearest()\n\t\t\tif (!nearest) return ''\n\n\t\t\treturn String(nearest.value.y)\n\t\t}\n\n\t\ttitle_y_pos_y() {\n\t\t\tconst nearest = this.nearest()\n\t\t\tif (!nearest) return '0'\n\n\t\t\treturn nearest.scaled.y.toFixed(3)\n\t\t}\n\n\t\ttitle_y_pos_x() {\n\t\t\tconst nearest = this.nearest()\n\t\t\tif (!nearest) return '0'\n\n\t\t\tconst pos = this.title_y_gap()\n\n\t\t\treturn pos.toFixed(3)\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/plot/mark/cross/cross.view.css\",\n \"[mol_plot_mark_cross_curve] {\\n\\tcolor: var(--mol_theme_focus);\\n\\tstroke-width: 1px;\\n\\tstroke: currentColor;\\n\\tpointer-events: none;\\n}\\n\\n[mol_plot_mark_cross_label_x], [mol_plot_mark_cross_label_y] {\\n\\tcolor: var(--mol_theme_focus);\\n\\tpointer-events: none;\\n}\\n\\n[mol_plot_mark_cross_label_y] {\\n\\ttransform: translateY( 4px );\\n}\\n\"\n) }","$mol_gallery $mol_view\n\tsub <= items /$mol_view\n\tSide* $mol_gallery\n\t\tstyle *\n\t\t\tflexGrow <= side_size* \\1\n\t\titems <= side_items* /$mol_view\n","namespace $.$$ {\n\t/**\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_gallery_demo\n\t */\n\texport class $mol_gallery extends $.$mol_gallery {\n\t\t\n\t\t@ $mol_mem\n\t\tsub(): readonly $mol_view[] {\n\t\t\t\n\t\t\tconst items = this.items()\n\t\t\tif( items.length <= 3 ) return items\n\t\t\t\n\t\t\treturn [\n\t\t\t\tthis.Side(0),\n\t\t\t\tthis.Side(1),\n\t\t\t]\n\t\t\t\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tside_items( id: number ) {\n\t\t\tconst items = this.items()\n\t\t\tconst middle = items.length % 2\n\t\t\t\t? Math.ceil( items.length / 3 )\n\t\t\t\t: items.length / 2\n\t\t\treturn id\n\t\t\t\t? items.slice( middle )\n\t\t\t\t: items.slice( 0, middle )\n\t\t}\n\t\t\n\t\tside_size( id: number ) {\n\t\t\treturn String( this.side_items( id ).length )\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/gallery/gallery.view.css\",\n \"[mol_gallery] {\\n\\tflex-wrap: wrap;\\n\\tflex: 1 1 auto;\\n\\talign-items: stretch;\\n align-content: stretch;\\n}\\n\"\n) }","$mol_chart_legend $mol_scroll\n\tgraphs /$mol_plot_graph\n\tgraphs_front /$mol_plot_graph\n\tsub /\n\t\t<= Gallery $mol_gallery items <= graph_legends /$mol_view\n\t-\n\tGraph_legend* $mol_view\n\t\tsub /\n\t\t\t<= Graph_sample_box* $mol_view\n\t\t\t\tsub /\n\t\t\t\t\t<= Graph_sample* null\n\t\t\t<= Graph_title* $mol_view\n\t\t\t\tsub /\n\t\t\t\t\t<= graph_title* \\\n","namespace $.$$ {\n\t\n\texport class $mol_chart_legend extends $.$mol_chart_legend {\n\n\t\t@ $mol_mem\n\t\tgraphs_front() {\n\t\t\treturn this.graphs().filter( graph => graph.Sample()) as readonly $mol_plot_graph[]\n\t\t}\n\t\t\n\t\tgraph_legends() {\n\t\t\treturn this.graphs_front().map( ( graph , index )=> this.Graph_legend( index ) ) as readonly $mol_view[]\n\t\t}\n\t\t\n\t\tgraph_title( index : number ) {\n\t\t\treturn this.graphs_front()[ index ].title()\n\t\t}\n\t\t\n\t\tGraph_sample( index : number ) {\n\t\t\treturn this.graphs_front()[ index ].Sample()\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/chart/legend/legend.view.css\",\n \"[mol_chart_legend] {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\tflex-direction: row;\\n\\tflex: 0 1 auto;\\n}\\n\\n[mol_chart_legend_graph_legend] {\\n\\tdisplay: flex;\\n\\tjustify-content: flex-start;\\n\\tflex: 1 1 8rem;\\n\\tpadding: .5rem;\\n}\\n\\n[mol_chart_legend_graph_title] {\\n\\tmargin: 0 .25rem;\\n\\tflex: 1 1 auto;\\n}\\n\\n[mol_chart_legend_graph_sample_box] {\\n\\tposition: relative;\\n\\twidth: 1.5rem;\\n\\tflex: none;\\n}\\n\"\n) }","$mol_touch $mol_plugin\n\tstart_zoom? 0\n\tstart_distance? 0\n\tzoom? 1\n\tallow_draw true\n\tallow_pan true\n\tallow_zoom true\n\taction_type? \\\n\taction_point? $mol_vector_2d /\n\t\tNaN\n\t\tNaN\n\t-\n\tstart_pan? /\n\t\t0\n\t\t0\n\tpan? $mol_vector_2d /\n\t\t0\n\t\t0\n\tpointer_center $mol_vector_2d /\n\t\tNaN\n\t\tNaN\n\t-\n\tstart_pos? null\n\tswipe_precision 16\n\t-\n\tswipe_right? null\n\tswipe_bottom? null\n\tswipe_left? null\n\tswipe_top? null\n\t-\n\tswipe_from_right? null\n\tswipe_from_bottom? null\n\tswipe_from_left? null\n\tswipe_from_top? null\n\t-\n\tswipe_to_right? null\n\tswipe_to_bottom? null\n\tswipe_to_left? null\n\tswipe_to_top? null\n\t-\n\tdraw_start?event null\n\tdraw?event null\n\tdraw_end?event null\n\t-\n\tstyle *\n\t\t^\n\t\ttouch-action \\none\n\t\toverscroll-behavior \\none\n\t-\n\tevent *\n\t\t^\n\t\tpointerdown?event <=> event_start?event null\n\t\tpointermove?event <=> event_move?event null\n\t\tpointerup?event <=> event_end?event null\n\t\tpointerleave?event <=> event_leave?event null\n\t\twheel?event <=> event_wheel?event null\n","namespace $.$$ {\n\n\t/**\n\t * Plugin for touch gestures.\n\t * @see [mol_plugin](../plugin/readme.md)\n\t */\n\texport class $mol_touch extends $.$mol_touch {\n\t\t\n\t\tauto() {\n\t\t\tthis.pointer_events()\n\t\t\tthis.start_pan()\n\t\t\tthis.start_pos()\n\t\t\tthis.start_distance()\n\t\t\tthis.start_zoom()\n\t\t\tthis.action_type()\n\t\t\tthis.view_rect()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tpointer_events( next = [] as readonly PointerEvent[] ) {\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tpointer_coords() {\n\t\t\t\n\t\t\tconst events = this.pointer_events()\n\t\t\tconst touches = events.filter( e => e.pointerType === 'touch' )\n\t\t\tconst pens = events.filter( e => e.pointerType === 'pen' )\n\t\t\tconst mouses = events.filter( e => !e.pointerType || e.pointerType === 'mouse' )\n\t\t\tconst choosen = touches.length ? touches : pens.length ? pens : mouses\n\t\t\t\n\t\t\treturn new $mol_vector(\n\t\t\t\t... choosen.map( event => this.event_coords( event ) )\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tpointer_center() {\n\t\t\tconst coords = this.pointer_coords()\n\t\t\treturn coords.length ? coords.center() : new $mol_vector_2d( NaN , NaN )\n\t\t}\n\t\t\n\t\tevent_coords( event: PointerEvent | WheelEvent ) {\n\t\t\t\n\t\t\tconst { left, top } = this.view_rect()!\n\t\t\t\n\t\t\treturn new $mol_vector_2d(\n\t\t\t\tMath.round( event.pageX - left ),\n\t\t\t\tMath.round( event.pageY - top ),\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\taction_point() {\n\t\t\t\n\t\t\tconst coord = this.pointer_center()\n\t\t\tif( !coord ) return null!\n\t\t\t\n\t\t\tconst zoom = this.zoom()\n\t\t\tconst pan = this.pan()\n\t\t\t\n\t\t\treturn new $mol_vector_2d(\n\t\t\t\t( coord.x - pan.x ) / zoom,\n\t\t\t\t( coord.y - pan.y ) / zoom,\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\tevent_eat( event: PointerEvent | WheelEvent ) {\n\t\t\t\n\t\t\tif( event instanceof PointerEvent ) {\n\n\t\t\t\tconst events = this.pointer_events()\n\t\t\t\t\t.filter( e => e instanceof PointerEvent )\n\t\t\t\t\t.filter( e => e.pointerId !== event.pointerId )\n\t\t\t\tif( event.type !== 'pointerup' && event.type !== 'pointerleave' ) events.push( event )\n\t\t\t\tthis.pointer_events( events )\n\t\t\t\t\n\t\t\t\tconst touch_count = events.filter( e => e.pointerType === 'touch' ).length\n\t\t\t\t\n\t\t\t\tif( this.allow_zoom() && touch_count === 2 ) {\n\t\t\t\t\treturn this.action_type( 'zoom' )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( this.action_type() === 'zoom' && touch_count === 1 ) {\n\t\t\t\t\treturn this.action_type( 'zoom' )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tenum button {\n\t\t\t\t\tleft = 1,\n\t\t\t\t\tright = 2,\n\t\t\t\t\tmiddle = 4,\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( events.length > 0 ) {\n\t\t\t\t\tif( event.ctrlKey && this.allow_zoom() ) return this.action_type( 'zoom' )\n\t\t\t\t\tif( event.buttons === button.left && this.allow_draw() ) return this.action_type( 'draw' )\n\t\t\t\t\tif( event.buttons && this.allow_pan() ) return this.action_type( 'pan' )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn this.action_type( '' )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( event instanceof WheelEvent ) {\n\t\t\t\tthis.pointer_events([ event as any ])\n\t\t\t\tif( event.shiftKey ) return this.action_type( 'pan' )\n\t\t\t\treturn this.action_type( 'zoom' )\n\t\t\t}\n\t\t\t\n\t\t\treturn this.action_type( '' )\n\t\t}\n\t\t\n\t\tevent_start( event : PointerEvent ) {\n\t\t\tif( event.defaultPrevented ) return\n\t\t\t\n\t\t\tthis.start_pan( this.pan() )\n\n\t\t\tconst action_type = this.event_eat( event )\n\t\t\tif( !action_type ) return\n\t\t\t\n\t\t\tconst coords = this.pointer_coords()\n\t\t\tthis.start_pos( coords.center() )\n\t\t\t\n\t\t\tif( action_type === 'draw' ) {\n\t\t\t\tthis.draw_start( event )\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.start_distance( coords.distance() )\n\t\t\tthis.start_zoom( this.zoom() )\n\n\t\t}\n\n\t\tevent_move( event : PointerEvent ) {\n\t\t\tif( event.defaultPrevented ) return\n\n\t\t\tconst rect = this.view_rect()\n\t\t\tif( !rect ) return\n\t\n\t\t\tconst start_pan = this.start_pan()\n\n\t\t\tconst action_type = this.event_eat( event )\n\t\t\t\n\t\t\tconst start_pos = this.start_pos()\n\t\t\tlet pos = this.pointer_center()!\n\n\t\t\tif( !action_type ) return\n\t\t\tif( !start_pos ) return\n\t\t\t\n\t\t\tif( action_type === 'draw' ) {\n\t\t\t\t\n\t\t\t\tconst distance = new $mol_vector( start_pos, pos ).distance()\n\t\t\t\tif( distance >= 4 ) {\n\t\t\t\t\tthis.draw( event )\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\t\t\t\t\n\t\t\tif( action_type === 'pan' ) {\n\n\t\t\t\tthis.dom_node().setPointerCapture( event.pointerId )\n\t\t\t\t\n\t\t\t\tthis.pan(\n\t\t\t\t\tnew $mol_vector_2d(\n\t\t\t\t\t\tstart_pan[0] + pos[0] - start_pos[0],\n\t\t\t\t\t\tstart_pan[1] + pos[1] - start_pos[1],\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\t\n\t\t\t}\n\n\t\t\tconst precision = this.swipe_precision()\n\t\t\t\n\t\t\tif(\n\t\t\t\t(\n\t\t\t\t\tthis.swipe_right !== $mol_touch.prototype.swipe_right\n\t\t\t\t\t|| this.swipe_from_left !== $mol_touch.prototype.swipe_from_left\n\t\t\t\t\t|| this.swipe_to_right !== $mol_touch.prototype.swipe_to_right\n\t\t\t\t)\n\t\t\t\t&& pos[0] - start_pos[0] > precision * 2\n\t\t\t\t&& Math.abs( pos[1] - start_pos[1] ) < precision\n\t\t\t) {\n\t\t\t\tthis.swipe_right( event )\n\t\t\t}\n\n\t\t\tif(\n\t\t\t\t(\n\t\t\t\t\tthis.swipe_left !== $mol_touch.prototype.swipe_left\n\t\t\t\t\t|| this.swipe_from_right !== $mol_touch.prototype.swipe_from_right\n\t\t\t\t\t|| this.swipe_to_left !== $mol_touch.prototype.swipe_to_left\n\t\t\t\t)\n\t\t\t\t&& start_pos[0] - pos[0] > precision * 2\n\t\t\t\t&& Math.abs( pos[1] - start_pos[1] ) < precision\n\t\t\t) {\n\t\t\t\tthis.swipe_left( event )\n\t\t\t}\n\n\t\t\tif(\n\t\t\t\t(\n\t\t\t\t\tthis.swipe_bottom !== $mol_touch.prototype.swipe_bottom\n\t\t\t\t\t|| this.swipe_from_top !== $mol_touch.prototype.swipe_from_top\n\t\t\t\t\t|| this.swipe_to_bottom !== $mol_touch.prototype.swipe_to_bottom\n\t\t\t\t)\n\t\t\t\t&& pos[1] - start_pos[1] > precision * 2\n\t\t\t\t&& Math.abs( pos[0] - start_pos[0] ) < precision\n\t\t\t) {\n\t\t\t\tthis.swipe_bottom( event )\n\t\t\t}\n\n\t\t\tif(\n\t\t\t\t(\n\t\t\t\t\tthis.swipe_top !== $mol_touch.prototype.swipe_top\n\t\t\t\t\t|| this.swipe_from_bottom !== $mol_touch.prototype.swipe_from_bottom\n\t\t\t\t\t|| this.swipe_to_top !== $mol_touch.prototype.swipe_to_top\n\t\t\t\t)\n\t\t\t\t&& start_pos[1] - pos[1] > precision * 2\n\t\t\t\t&& Math.abs( pos[0] - start_pos[0] ) < precision\n\t\t\t) {\n\t\t\t\tthis.swipe_top( event )\n\t\t\t}\n\n\t\t\tif( action_type === 'zoom' ) {\n\n\t\t\t\tconst coords = this.pointer_coords()\n\t\t\t\tconst distance = coords.distance()\n\t\t\t\tconst start_distance = this.start_distance()\n\t\t\t\tconst center = coords.center()\n\n\t\t\t\tconst start_zoom = this.start_zoom()\n\t\t\t\tlet mult = Math.abs( distance - start_distance ) < 32 ? 1 : distance / start_distance\n\t\t\t\tthis.zoom( start_zoom * mult )\n\n\t\t\t\tconst pan = new $mol_vector_2d(\n\t\t\t\t\t( start_pan[0] - center[0] + pos[0] - start_pos[0] ) * mult + center[0],\n\t\t\t\t\t( start_pan[1] - center[1] + pos[1] - start_pos[1] ) * mult + center[1],\n\t\t\t\t)\n\n\t\t\t\tthis.pan( pan )\n\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tevent_end( event : PointerEvent ) {\n\t\t\t\n\t\t\tconst action = this.action_type()\n\t\t\tif( action ==='draw' ) {\n\t\t\t\tthis.draw_end( event )\n\t\t\t}\n\t\t\t\n\t\t\tthis.event_leave( event )\n\t\t\t\n\t\t}\n\n\t\tevent_leave( event : PointerEvent ) {\n\n\t\t\tthis.event_eat( event )\n\t\t\tthis.dom_node().releasePointerCapture( event.pointerId )\n\t\t\tthis.start_pos( null )\n\t\t\t\n\t\t}\n\n\t\tswipe_left( event : PointerEvent ) {\n\t\t\tif( this.view_rect()!.right - this.start_pos()[0] < this.swipe_precision() * 2 ) this.swipe_from_right( event )\n\t\t\telse this.swipe_to_left( event )\n\t\t\tthis.event_end( event )\n\t\t}\n\t\t\n\t\tswipe_right( event : PointerEvent ) {\n\t\t\tif( this.start_pos()[0] - this.view_rect()!.left < this.swipe_precision() * 2 ) this.swipe_from_left( event )\n\t\t\telse this.swipe_to_right( event )\n\t\t\tthis.event_end( event )\n\t\t}\n\t\t\n\t\tswipe_top( event : PointerEvent ) {\n\t\t\tif( this.view_rect()!.bottom - this.start_pos()[1] < this.swipe_precision() * 2 ) this.swipe_from_bottom( event )\n\t\t\telse this.swipe_to_top( event )\n\t\t\tthis.event_end( event )\n\t\t}\n\t\t\n\t\tswipe_bottom( event : PointerEvent ) {\n\t\t\tif( this.start_pos()[1] - this.view_rect()!.top < this.swipe_precision() * 2 ) this.swipe_from_top( event )\n\t\t\telse this.swipe_to_bottom( event )\n\t\t\tthis.event_end( event )\n\t\t}\n\t\t\n\t\tevent_wheel( event : WheelEvent ) {\n\t\t\t\n\t\t\tif( event.defaultPrevented ) return\n\n\t\t\tif( this.pan === $mol_touch.prototype.pan && this.zoom === $mol_touch.prototype.zoom ) return\n\t\t\t\n\t\t\tif( this.pan !== $mol_touch.prototype.pan ) {\n\t\t\t\tevent.preventDefault()\n\t\t\t}\n\t\t\t\n\t\t\tconst action_type = this.event_eat( event )\n\n\t\t\tif( action_type === 'zoom' ) {\n\t\t\t\t\n\t\t\t\tconst zoom_prev = this.zoom() || 0.001\n\t\t\t\tconst zoom_next = zoom_prev * ( 1 - .001 * Math.min( event.deltaY, 100 ) )\n\t\t\t\tconst mult = zoom_next / zoom_prev\n\t\t\t\tthis.zoom( zoom_next )\n\n\t\t\t\tconst pan_prev = this.pan()\n\t\t\t\tconst center = this.pointer_center()!\n\t\t\t\tconst pan_next = pan_prev.multed0( mult ).added1( center.multed0( 1 - mult ) )\n\n\t\t\t\tthis.pan( pan_next )\n\t\t\t}\n\t\t\t\n\t\t\tif( action_type === 'pan' ) {\n\t\t\t\t\n\t\t\t\tconst pan_prev = this.pan()\n\t\t\t\tconst pan_next = new $mol_vector_2d(\n\t\t\t\t\tpan_prev.x - event.deltaX,\n\t\t\t\t\tpan_prev.y - event.deltaY,\n\t\t\t\t)\n\n\t\t\t\tthis.pan( pan_next )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","$mol_plot_pane $mol_svg_root\n\taspect \\none\n\t-\n\thue_base? +NaN\n\thue_shift? 111\n\t-\n\tgap_hor 48\n\tgap_vert 24\n\tgap_left <= gap_hor\n\tgap_right <= gap_hor\n\tgap_top <= gap_vert\n\tgap_bottom <= gap_vert\n\tgap $mol_vector_2d<$mol_vector_range> /\n\t\t<= gap_x $mol_vector_range /\n\t\t\t<= gap_left\n\t\t\t<= gap_right\n\t\t<= gap_y $mol_vector_range /\n\t\t\t<= gap_bottom\n\t\t\t<= gap_top\n\t-\n\tshift_limit $mol_vector_2d<$mol_vector_range> /\n\t\t<= shift_limit_x $mol_vector_range /\n\t\t\t0\n\t\t\t0\n\t\t<= shift_limit_y $mol_vector_range /\n\t\t\t0\n\t\t\t0\n\tshift_default $mol_vector_2d /\n\t\t0\n\t\t0\n\tshift? $mol_vector_2d /\n\t\t0\n\t\t0\n\tscale_limit $mol_vector_2d<$mol_vector_range> /\n\t\t<= scale_limit_x $mol_vector_range /\n\t\t\t0\n\t\t\tInfinity\n\t\t<= scale_limit_y $mol_vector_range /\n\t\t\t0\n\t\t\t-Infinity\n\tscale_default $mol_vector_2d /\n\t\t0\n\t\t0\n\tscale? $mol_vector_2d /\n\t\t1\n\t\t-1\n\tscale_x? 1\n\tscale_y? -1\n\tsize $mol_vector_2d /\n\t\t0\n\t\t0\n\tsize_real $mol_vector_2d /\n\t\t1\n\t\t1\n\tdimensions $mol_vector_2d<$mol_vector_range> /\n\t\t<= dimensions_x $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\t\t<= dimensions_y $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\tdimensions_viewport $mol_vector_2d<$mol_vector_range> /\n\t\t<= dimensions_viewport_x $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\t\t<= dimensions_viewport_y $mol_vector_range /\n\t\t\tInfinity\n\t\t\t-Infinity\n\t-\n\tsub <= graphs_sorted /$mol_svg\n\tgraphs_colored <= graphs_visible <= graphs_positioned <= graphs /$mol_plot_graph\n\t-\n\tplugins /\n\t\t^\n\t\t<= Touch $mol_touch\n\t\t\tzoom? <=> zoom? 1\n\t\t\tpan? <=> shift?\n\t\t\tpointer_center => cursor_position\n\t\t\tallow_draw <= allow_draw true\n\t\t\tallow_pan <= allow_pan true\n\t\t\tallow_zoom <= allow_zoom true\n\t\t\taction_type => action_type\n\t\t\taction_point => action_point\n\t\t\tdraw_start?event <=> draw_start?event null\n\t\t\tdraw?event <=> draw?event null\n\t\t\tdraw_end?event <=> draw_end?event null\n\t- event *\n\t\t^\n\t\tdblclick?event <=> reset?event null\n","namespace $.$$ {\n\n\t/**\n\t * Fastest plot lib for vector graphics.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_plot_demo\n\t */\n\texport class $mol_plot_pane extends $.$mol_plot_pane {\n\t\t\n\t\t@ $mol_mem\n\t\tdimensions() {\n\t\t\tconst graphs = this.graphs()\n\t\t\tlet next = new this.$.$mol_vector_2d(\n\t\t\t\t$mol_vector_range_full.inversed,\n\t\t\t\t$mol_vector_range_full.inversed\n\t\t\t)\n\n\t\t\tfor( let graph of graphs ) {\n\t\t\t\tnext = next.expanded2(graph.dimensions())\n\t\t\t}\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsize() {\n\t\t\tconst dims = this.dimensions()\n\t\t\treturn new this.$.$mol_vector_2d(\n\t\t\t\t( dims.x.max - dims.x.min ) || 1 ,\n\t\t\t\t( dims.y.max - dims.y.min ) || 1 ,\n\t\t\t)\n\t\t}\n\t\t\t\n\t\tgraph_hue( index : number ) {\n\t\t\treturn ( 360 + ( this.hue_base() + this.hue_shift() * index ) % 360 ) % 360\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tgraphs_colored() {\n\t\t\tconst graphs = this.graphs_visible()\n\t\t\tfor (let index = 0; index < graphs.length; index++) {\n\t\t\t\tgraphs[index].hue( this.graph_hue( index ) )\n\t\t\t}\n\t\t\t\n\t\t\treturn graphs\n\t\t}\n\t\t\n\t\tsize_real() {\n\t\t\tconst rect = this.view_rect()\n\t\t\tif( !rect ) return new this.$.$mol_vector_2d( 1, 1 )\n\t\t\treturn new this.$.$mol_vector_2d( rect.width, rect.height )\n\t\t}\n\n\t\tview_box() {\n\t\t\tconst size = this.size_real()\n\t\t\treturn `0 0 ${ size.x } ${ size.y }`\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tscale_limit() {\n\t\t\tconst {\n\t\t\t\tx: {max: right},\n\t\t\t\ty: {max: top}\n\t\t\t} = super.scale_limit()\n\t\t\tconst gap = this.gap()\n\t\t\tconst size = this.size()\n\t\t\tconst real = this.size_real()\n\n\t\t\tconst left = + ( real.x - gap.x.min - gap.x.max ) / size.x\n\t\t\tconst bottom = - ( real.y - gap.y.max - gap.y.min) / size.y\n\n\t\t\treturn new this.$.$mol_vector_2d(\n\t\t\t\tnew this.$.$mol_vector_range(left, right),\n\t\t\t\tnew this.$.$mol_vector_range(top, bottom),\n\t\t\t)\n\t\t}\n\n\t\tscale_default() {\n\t\t\tconst limits = this.scale_limit()\n\t\t\treturn new $mol_vector_2d( limits.x.min, limits.y.max )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tscale(next?: $mol_vector_2d< number >): $mol_vector_2d< number > {\n\t\t\tif (next === undefined) {\n\t\t\t\tif (!this.graph_touched) return this.scale_default()\n\t\t\t\tnext = $mol_mem_cached( ()=> this.scale() ) ?? this.scale_default()\n\t\t\t}\n\t\t\tthis.graph_touched = true\n\n\t\t\treturn next!.limited(this.scale_limit())\n\t\t}\n\n\t\tscale_x(next?: number): number {\n\t\t\treturn this.scale(\n\t\t\t\tnext === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: new $mol_vector_2d( next , this.scale().y )\n\t\t\t).x\n\t\t}\n\n\t\tscale_y(next?: number): number {\n\t\t\treturn this.scale(\n\t\t\t\tnext === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: new $mol_vector_2d( this.scale().x , next )\n\t\t\t).y\n\t\t}\n\n\t\t@ $mol_mem\n\t\tshift_limit() {\n\t\t\tconst dims = this.dimensions()\n\t\t\tconst [scale_x, scale_y] = this.scale()\n\t\t\tconst size = this.size_real()\n\t\t\tconst gap = this.gap()\n\n\t\t\tconst left = gap.x.min - dims.x.min * scale_x\n\t\t\tconst right = size.x - gap.x.max - dims.x.max * scale_x\n\n\t\t\tconst top = gap.y.max - dims.y.max * scale_y\n\t\t\tconst bottom = size.y - gap.y.min - dims.y.min * scale_y\n\n\t\t\treturn new this.$.$mol_vector_2d(\n\t\t\t\tnew this.$.$mol_vector_range(right, left),\n\t\t\t\tnew this.$.$mol_vector_range(bottom, top),\n\t\t\t)\n\t\t}\n\n\t\t@ $mol_mem\n\t\tshift_default() {\n\t\t\tconst limits = this.shift_limit()\n\t\t\treturn new $mol_vector_2d( limits.x.min, limits.y.min )\n\t\t}\n\n\t\tgraph_touched: boolean = false\n\n\t\t@ $mol_mem\n\t\tshift(next?: $mol_vector_2d< number >): $mol_vector_2d< number > {\n\n\t\t\tif (next === undefined) {\n\t\t\t\tif (!this.graph_touched) return this.shift_default()\n\t\t\t\tnext = $mol_mem_cached( ()=> this.shift() ) ?? this.shift_default()\n\t\t\t}\n\n\t\t\tthis.graph_touched = true\n\n\t\t\treturn next!.limited(this.shift_limit())\n\t\t}\n\n\t\treset(event?: Event) {\n\t\t\tthis.graph_touched = false\n\t\t\tthis.scale(this.scale_default())\n\t\t\tthis.shift(this.shift_default())\n\t\t}\n\n\t\t@ $mol_mem\n\t\tgraphs_visible() {\n\t\t\t\n\t\t\tconst viewport = this.dimensions_viewport()\n\t\t\tconst size_real = this.size_real()\n\t\t\t\n\t\t\tconst max_x = ( viewport.x.max - viewport.x.min ) / size_real.x\n\t\t\tconst max_y = ( viewport.y.max - viewport.y.min ) / size_real.y\n\t\t\t\n\t\t\treturn this.graphs_positioned().filter( graph => {\n\t\t\t\t\n\t\t\t\tconst dims = graph.dimensions()\n\t\t\t\t\n\t\t\t\tif( dims.x.min > dims.x.max ) return true\n\t\t\t\tif( dims.y.min > dims.y.max ) return true\n\t\t\t\t\n\t\t\t\tconst size_x = dims.x.max - dims.x.min\n\t\t\t\tconst size_y = dims.y.max - dims.y.min\n\t\t\t\tif( ( size_x || size_y ) && size_x < max_x && size_y < max_y ) return false\n\t\t\t\t\n\t\t\t\tif( dims.x.min > viewport.x.max ) return false\n\t\t\t\tif( dims.x.max < viewport.x.min ) return false\n\t\t\t\t\n\t\t\t\tif( dims.y.min > viewport.y.max ) return false\n\t\t\t\tif( dims.y.max < viewport.y.min ) return false\n\t\t\t\t\n\t\t\t\treturn true\n\t\t\t} )\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tgraphs_positioned() {\n\t\t\tconst graphs = this.graphs()\n\t\t\tfor (let graph of graphs) {\n\t\t\t\tgraph.shift = ()=> this.shift()\n\t\t\t\tgraph.scale = ()=> this.scale()\n\t\t\t\tgraph.dimensions_pane = () => this.dimensions_viewport()\n\t\t\t\tgraph.viewport = () => this.viewport()\n\t\t\t\tgraph.size_real = ()=> this.size_real()\n\t\t\t\tgraph.cursor_position = ()=> this.cursor_position()\n\t\t\t\tgraph.gap = () => this.gap()\n\t\t\t}\n\t\t\t\n\t\t\treturn graphs\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tdimensions_viewport() {\n\t\t\tconst shift = this.shift().multed0(-1)\n\t\t\tconst scale = this.scale().powered0(-1)\n\t\t\treturn this.viewport().map( ( range, i )=> range.added0( shift[i] ).multed0( scale[i] ).sort( (a,b)=>a-b) )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tviewport() {\n\t\t\tconst size = this.size_real()\n\t\t\treturn new this.$.$mol_vector_2d(\n\t\t\t\tnew this.$.$mol_vector_range(0, size.x),\n\t\t\t\tnew this.$.$mol_vector_range(0, size.y),\n\t\t\t)\n\t\t}\n\n\t\t@ $mol_mem\n\t\tgraphs_sorted() {\n\t\t\tconst graphs = this.graphs_colored()\n\t\t\tconst sorted = [] as $.$mol_svg[]\n\t\t\t\n\t\t\tfor( let graph of graphs ) sorted.push(...graph.back())\n\t\t\tfor( let graph of graphs ) sorted.push(...graph.front())\n\t\t\t\n\t\t\treturn sorted\n\t\t}\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/plot/pane/pane.view.css\",\n \"[mol_plot_pane] {\\n\\tcolor: var(--mol_theme_control);\\n\\tflex: 1 1 auto;\\n\\talign-self: stretch;\\n\\tstroke-width: 2px;\\n\\tuser-select: none;\\n}\\n\"\n) }","$mol_chart $mol_view\n\tgap_hor 48\n\tgap_vert 24\n\tgap_left <= gap_hor\n\tgap_right <= gap_hor\n\tgap_bottom <= gap_vert\n\tgap_top <= gap_vert\n\tgraphs /$mol_plot_graph\n\tsub /\n\t\t<= Legend $mol_chart_legend\n\t\t\tgraphs <= graphs_colored\n\t\t<= Plot $mol_plot_pane\n\t\t\tscale_x? => zoom?\n\t\t\tzoom? <=> zoom?\n\t\t\tgap_left <= gap_left\n\t\t\tgap_right <= gap_right\n\t\t\tgap_bottom <= gap_bottom\n\t\t\tgap_top <= gap_top\n\t\t\tgraphs <= graphs\n\t\t\tgraphs_colored => graphs_colored\n\t\t\thue_base <= hue_base 210\n\t\t\thue_shift <= hue_shift 163\n","namespace $ { $mol_style_attach( \"mol/chart/chart.view.css\",\n \"[mol_chart] {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\talign-self: stretch;\\n\\tflex: 1 1 auto;\\n}\\n\\n[mol_chart_plot] {\\n\\tflex: 1 0 50%;\\n\\tmargin: .5rem;\\n}\\n\"\n) }","$mol_icon_chevron $mol_icon path \\M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\n","$mol_check_expand $mol_check\n\tIcon $mol_icon_chevron\n\tlevel 0\n\tstyle *\n\t\t^\n\t\tpaddingLeft <= level_style \\0px\n\tchecked? <=> expanded? false\n\tenabled <= expandable false\n","namespace $.$$ {\n\t\n\t/**\n\t * Expander for trees, lists, etc\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_check_expand_demo\n\t */\n\texport class $mol_check_expand extends $.$mol_check_expand {\n\t\t\n\t\tlevel_style() {\n\t\t\treturn `${ this.level() * 1 - 1 }rem`\n\t\t}\n\t\t\n\t\texpandable() {\n\t\t\treturn this.expanded() !== null\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/check/expand/expand.view.css\",\n \"[mol_check_expand] {\\n\\tmin-width: 20px;\\n}\\n\\n:where([mol_check_expand][disabled]) [mol_check_expand_icon] {\\n\\tvisibility: hidden;\\n}\\n\\n[mol_check_expand_icon] {\\n\\tbox-shadow: none;\\n\\tmargin-left: -0.375rem;\\n}\\n[mol_check_expand_icon] {\\n\\ttransform: rotateZ(0deg);\\n}\\n\\n:where([mol_check_checked]) [mol_check_expand_icon] {\\n\\ttransform: rotateZ(90deg);\\n}\\n\\n[mol_check_expand_icon] {\\n\\tvertical-align: text-top;\\n}\\n\\n[mol_check_expand_label] {\\n\\tmargin-left: 0;\\n}\\n\"\n) }","$mol_dump_list $mol_view\n\tvalues /\n\tsub /\n\t\t<= Dump*0 $mol_dump_value\n\t\t\tvalue <= dump_value* null\n\t\t\texpanded? <=> dump_expanded*? false\n\t\t\tprototypes <= prototypes false\n\t\t\tpreview_show <= preview_show true\n","namespace $.$$ {\n\n\t/**\n\t * Dumps any JS values.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_dump_demo\n\t */\n\texport class $mol_dump_list extends $.$mol_dump_list {\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\treturn this.values().map( (_,index)=> this.Dump( index ) )\n\t\t}\n\t\t\n\t\tdump_value( index: number ) {\n\t\t\treturn this.values()[ index ]\n\t\t}\n\t\t\n\t\texpand_all( event?: Event ) {\n\t\t\tthis.Dump(1).expanded( true )\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/dump/list/list.view.css\",\n \"[mol_dump_list] {\\n\\talign-items: flex-start;\\n\\tgap: var(--mol_gap_space);\\n}\\n\\n[mol_dump_list_dump]:first-child {\\n\\tposition: sticky;\\n\\ttop: 0;\\n}\\n\"\n) }","$mol_expander $mol_list\n\trows /\n\t\t<= Label $mol_view\n\t\t\tsub /\n\t\t\t\t<= Trigger $mol_check_expand\n\t\t\t\t\tchecked? <=> expanded? false\n\t\t\t\t\texpandable <= expandable true\n\t\t\t\t\tlabel <= label /\n\t\t\t\t\t\t<= title\n\t\t\t\t<= Tools null\n\t\t<= Content $mol_list\n\t\t\trows <= content /\n","namespace $.$$ {\n\t/**\n\t * Component which expands any content on title click.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_expander_demo\n\t */\n\texport class $mol_expander extends $.$mol_expander {\n\t\t\n\t\t@ $mol_mem\n\t\trows() {\n\t\t\treturn [\n\t\t\t\tthis.Label(),\n\t\t\t\t... this.expanded() ? [ this.Content() ] : []\n\t\t\t]\n\t\t}\n\t\t\n\t\texpandable() {\n\t\t\treturn this.content().length > 0\n\t\t}\n\t\t\n\t}\n}\n\n","namespace $ { $mol_style_attach( \"mol/expander/expander.view.css\",\n \"[mol_expander] {\\n\\tflex-direction: column;\\n}\\n\\n[mol_expander_label] {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\tborder-radius: var(--mol_gap_round);\\n}\\n\\n[mol_expander_trigger] {\\n\\tflex: auto;\\n\\tposition: relative;\\n}\\n\"\n) }","$mol_dump_value $mol_view\n\tvalue? null\n\tpreview_show? true\n\tsub /\n\t\t<= Simple $mol_text_code\n\t\t\ttext <= simple \\\n\t\t<= Expand $mol_expander\n\t\t\texpanded? <=> expanded? false\n\t\t\tTrigger <= Expand_head $mol_check_expand\n\t\t\t\tminimal_height 24\n\t\t\t\tminimal_width 24\n\t\t\t\texpanded? <=> expanded? false\n\t\t\t\texpandable <= expandable true\n\t\t\t\tclicks? <=> expand_all? null\n\t\t\t\tlabel /\n\t\t\t\t\t<= Expand_title $mol_text_code\n\t\t\t\t\t\ttext <= expand_title \\\n\t\t\tcontent <= expand_content /\n\t\t\t\t<= Preview $mol_view sub /\n\t\t\t\t\t<= Preview_dom $mol_view\n\t\t\t\t\t\tdom_node <= preview_dom null\n\t\t\t\t\t\trender <= preview null\n\t\t\t\t<= Row*0 $mol_dump_list\n\t\t\t\t\tvalues <= row_values* /\n\t\t\t\t\tprototypes <= prototypes false\n\t\t\t\t\tpreview_show <= preview_show\n","namespace $ {\n\t\n\texport function $mol_try< Result >( handler : ()=> Result ) : Result|Error {\n\t\ttry {\n\t\t\treturn handler()\n\t\t} catch( error: any ) {\n\t\t\treturn error\n\t\t}\n\t}\n\t\n} \n","namespace $.$$ {\n\n\t/**\n\t * Dumps any JS values.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_dump_demo\n\t */\n\texport class $mol_dump_value extends $.$mol_dump_value {\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\tconst value = this.value()\n\t\t\tif( !value ) return [ this.Simple() ]\n\t\t\tif( typeof value === 'object' ) return [ this.Expand() ]\n\t\t\tif( typeof value === 'function' ) return [ this.Expand() ]\n\t\t\treturn [ this.Simple() ]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsimple() {\n\t\t\tconst value = this.value()\n\t\t\tif( typeof value === 'number' ) return value.toLocaleString( 'en' ).replaceAll( ',', '_' )\n\t\t\tif( typeof value === 'bigint' ) return value.toLocaleString( 'en' ).replaceAll( ',', '_' )\n\t\t\treturn value ? String( value ) : JSON.stringify( value ) ?? 'undefined'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\texpand_title() {\n\t\t\t\n\t\t\tconst value = this.value()\n\t\t\t\n\t\t\tif( typeof value === 'function' ) {\n\t\t\t\tconst name = Reflect.getOwnPropertyDescriptor( value, 'name' )?.value\n\t\t\t\tconst source = Function.prototype.toString.call( value )\n\t\t\t\tconst args = source.match( /^[^{=>]*?\\(([\\s\\S]*?)\\)/ )?.[1] ?? source.match( /^([$\\w]+)\\s+=>/ )?.[1] ?? ''\n\t\t\t\tif( name ) return name + '(' + args + ')'\n\t\t\t}\n\t\t\t\n\t\t\tif( value instanceof RegExp ) return String( value )\n\t\t\tif( value instanceof Date ) return value.toISOString()\n\t\t\t\n\t\t\tconst kind = Reflect.getOwnPropertyDescriptor( value, Symbol.toStringTag )?.value\n\t\t\t\t?? value.constructor.name\n\t\t\t\t?? 'Object'\n\t\t\t\n\t\t\tif( value instanceof Node ) {\n\t\t\t\ttry {\n\t\t\t\t\tswitch( value.nodeType ) {\n\t\t\t\t\t\tcase value.TEXT_NODE: return kind + ' ' + value.nodeValue?.trim()\n\t\t\t\t\t\tcase value.ELEMENT_NODE: return `<${ ( value as Element ).localName }> ${ ( value as Element ).id }`\n\t\t\t\t\t\tcase value.DOCUMENT_NODE: return kind + ' ' + value.baseURI\n\t\t\t\t\t}\n\t\t\t\t} catch {}\n\t\t\t}\n\t\t\t\n\t\t\treturn kind\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\trows_values() {\n\t\t\t\n\t\t\tlet value = this.value()\n\t\t\t\n\t\t\tconst res = [] as any[][]\n\t\t\t\n\t\t\tif( value instanceof Map ) {\n\t\t\t\tfor( const [ key, val ] of value ) {\n\t\t\t\t\tres.push([ key, '▶', val ])\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tif( value instanceof Set ) {\n\t\t\t\tfor( const val of value ) {\n\t\t\t\t\tres.push([ val ])\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tif( value instanceof Function ) {\n\t\t\t\tlet source = Function.prototype.toString.call( value )\n\t\t\t\t\t.replace( /^.*?\\{\\r?\\n?/, '' )\n\t\t\t\t\t.replace( /}$/, '' )\n\t\t\t\t\t.trimEnd()\n\t\t\t\tconst indent = source.match( /^\\s*/ )![0]\n\t\t\t\tsource = source.replace( new RegExp( `^${indent}`, 'gm' ), '\\t' )\n\t\t\t\tres.push([ source ])\n\t\t\t}\n\t\t\t\n\t\t\tif( value instanceof Element ) {\n\t\t\t\ttry {\n\t\t\t\t\tfor( const kid of value.childNodes ) {\n\t\t\t\t\t\tres.push([ kid ])\n\t\t\t\t\t}\n\t\t\t\t\tfor( const attr of value.attributes ) {\n\t\t\t\t\t\tif( attr.nodeName === 'id' ) continue\n\t\t\t\t\t\tres.push([ attr.nodeName, '=', attr.nodeValue ])\n\t\t\t\t\t}\n\t\t\t\t} catch {}\n\t\t\t}\n\t\t\t\n\t\t\tif( value && ( typeof value === 'object' || typeof value === 'function' ) ) {\n\t\t\t\t\n\t\t\t\tfor( const key of Reflect.ownKeys( value ) ) {\n\t\t\t\t\tconst prefix = String( key ) + '∶'\n\t\t\t\t\tconst descr = Reflect.getOwnPropertyDescriptor( value, key )!\n\t\t\t\t\tif( 'value' in descr ) {\n\t\t\t\t\t\tconst line = [ prefix, descr.value ] as any[]\n\t\t\t\t\t\t// let proto = descr.value\n\t\t\t\t\t\t// while( proto && typeof proto === 'object' ) {\n\t\t\t\t\t\t// \tproto = Reflect.getPrototypeOf( proto )\n\t\t\t\t\t\t// \tif( proto ) line.push( ' - ', proto )\n\t\t\t\t\t\t// }\n\t\t\t\t\t\tres.push( line )\n\t\t\t\t\t} else {\n\t\t\t\t\t\tres.push([ prefix, descr.get, descr.set ])\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( this.prototypes() ) {\n\t\t\t\t\tres.push([ '__proto__:', Reflect.getPrototypeOf( value ) ])\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn res\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tpreview_dom() {\n\t\t\t\n\t\t\tconst value = this.value()\n\t\t\t\n\t\t\tif( value instanceof Element ) {\n\t\t\t\tif( $mol_try( ()=> value.localName ) instanceof Error ) return null\n\t\t\t\tif( value.isConnected ) return null\n\t\t\t\treturn value\n\t\t\t}\n\t\t\t\n\t\t\treturn null\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\texpand_content() {\n\t\t\treturn [\n\t\t\t\t... this.preview_show() && this.preview_dom() ? [ this.Preview() ] : [],\n\t\t\t\t... this.rows_values().map( (_,index)=> this.Row( index ) ),\n\t\t\t]\n\t\t}\n\t\t\n\t\texpandable() {\n\t\t\treturn this.expand_content().length > 0\n\t\t}\n\t\t\n\t\trow_values( index: number ) {\n\t\t\treturn this.rows_values()[ index ]\n\t\t}\n\t\t\n\t\texpand_all( event?: Event ) {\n\t\t\tthis.expanded( true )\n\t\t\tfor( const row of this.expand_content() ) {\n\t\t\t\tif(!( row instanceof $mol_dump_list )) continue\n\t\t\t\tif( row.values()[0] === '__proto__:' ) continue\n\t\t\t\trow.expand_all( event )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/dump/value/value.view.css\",\n \"[mol_dump_value] {\\n\\tmin-height: 2.5rem;\\n\\tmin-width: 2.5rem;\\n}\\n\\n[mol_dump_value_simple] {\\n\\tpadding: 0;\\n}\\n\\n[mol_dump_value_expand_content] {\\n\\tpadding-left: 1.5rem;\\n\\talign-items: flex-start;\\n}\\n\\n[mol_dump_value_expand_title_rows],\\n[mol_dump_value_simple_rows],\\n[mol_dump_value_expand_head] {\\n\\tpadding: 0;\\n\\tgap: 0;\\n}\\n\"\n) }","$mol_icon_key $mol_icon path \\M7 14C5.9 14 5 13.1 5 12S5.9 10 7 10 9 10.9 9 12 8.1 14 7 14M12.6 10C11.8 7.7 9.6 6 7 6C3.7 6 1 8.7 1 12S3.7 18 7 18C9.6 18 11.8 16.3 12.6 14H16V18H20V14H23V10H12.6Z\n","$mol_icon_key_change $mol_icon path \\M7.5 2C9.5 2 11.1 3.2 11.7 5H21V8H18V11H15V8H11.7C11.1 9.8 9.4 11 7.5 11C5 11 3 9 3 6.5S5 2 7.5 2M7.5 5C6.7 5 6 5.7 6 6.5S6.7 8 7.5 8 9 7.3 9 6.5 8.3 5 7.5 5M7.5 13C9.5 13 11.1 14.2 11.7 16H21V19H20V22H18V19H16V22H13V19H11.7C11.1 20.8 9.4 22 7.5 22C5 22 3 20 3 17.5S5 13 7.5 13M7.5 16C6.7 16 6 16.7 6 17.5S6.7 19 7.5 19 9 18.3 9 17.5 8.3 16 7.5 16Z\n","$mol_icon_atom $mol_icon path \\M12,11A1,1 0 0,1 13,12A1,1 0 0,1 12,13A1,1 0 0,1 11,12A1,1 0 0,1 12,11M4.22,4.22C5.65,2.79 8.75,3.43 12,5.56C15.25,3.43 18.35,2.79 19.78,4.22C21.21,5.65 20.57,8.75 18.44,12C20.57,15.25 21.21,18.35 19.78,19.78C18.35,21.21 15.25,20.57 12,18.44C8.75,20.57 5.65,21.21 4.22,19.78C2.79,18.35 3.43,15.25 5.56,12C3.43,8.75 2.79,5.65 4.22,4.22M15.54,8.46C16.15,9.08 16.71,9.71 17.23,10.34C18.61,8.21 19.11,6.38 18.36,5.64C17.62,4.89 15.79,5.39 13.66,6.77C14.29,7.29 14.92,7.85 15.54,8.46M8.46,15.54C7.85,14.92 7.29,14.29 6.77,13.66C5.39,15.79 4.89,17.62 5.64,18.36C6.38,19.11 8.21,18.61 10.34,17.23C9.71,16.71 9.08,16.15 8.46,15.54M5.64,5.64C4.89,6.38 5.39,8.21 6.77,10.34C7.29,9.71 7.85,9.08 8.46,8.46C9.08,7.85 9.71,7.29 10.34,6.77C8.21,5.39 6.38,4.89 5.64,5.64M9.88,14.12C10.58,14.82 11.3,15.46 12,16.03C12.7,15.46 13.42,14.82 14.12,14.12C14.82,13.42 15.46,12.7 16.03,12C15.46,11.3 14.82,10.58 14.12,9.88C13.42,9.18 12.7,8.54 12,7.97C11.3,8.54 10.58,9.18 9.88,9.88C9.18,10.58 8.54,11.3 7.97,12C8.54,12.7 9.18,13.42 9.88,14.12M18.36,18.36C19.11,17.62 18.61,15.79 17.23,13.66C16.71,14.29 16.15,14.92 15.54,15.54C14.92,16.15 14.29,16.71 13.66,17.23C15.79,18.61 17.62,19.11 18.36,18.36Z\n","$mol_icon_atom_variant $mol_icon path \\M18.36,2.64C20,2.64 21.36,4 21.36,5.64C21.36,7.29 20,8.64 18.36,8.64C16.71,8.64 15.36,7.29 15.36,5.64C15.36,5.34 15.41,5.06 15.5,4.8C14.43,4.29 13.25,4 12,4A8,8 0 0,0 4,12L4.04,12.84L2.05,13.05L2,12A10,10 0 0,1 12,2C13.69,2 15.28,2.42 16.67,3.16C17.16,2.83 17.74,2.64 18.36,2.64M18.36,4.64A1,1 0 0,0 17.36,5.64A1,1 0 0,0 18.36,6.64C18.92,6.64 19.36,6.19 19.36,5.64C19.36,5.08 18.92,4.64 18.36,4.64M5.64,15.36C7.29,15.36 8.64,16.71 8.64,18.36C8.64,18.66 8.59,18.94 8.5,19.2C9.57,19.71 10.75,20 12,20A8,8 0 0,0 20,12L19.96,11.16L21.95,10.95L22,12A10,10 0 0,1 12,22C10.31,22 8.72,21.58 7.33,20.84C6.84,21.17 6.26,21.36 5.64,21.36C4,21.36 2.64,20 2.64,18.36C2.64,16.71 4,15.36 5.64,15.36M5.64,17.36C5.08,17.36 4.64,17.81 4.64,18.36C4.64,18.92 5.08,19.36 5.64,19.36A1,1 0 0,0 6.64,18.36A1,1 0 0,0 5.64,17.36M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8Z\n","$mol_icon_language_css3 $mol_icon path \\M5,3L4.35,6.34H17.94L17.5,8.5H3.92L3.26,11.83H16.85L16.09,15.64L10.61,17.45L5.86,15.64L6.19,14H2.85L2.06,18L9.91,21L18.96,18L20.16,11.97L20.4,10.76L21.94,3H5Z\n","$mol_icon_language_javascript $mol_icon path \\M3,3H21V21H3V3M7.73,18.04C8.13,18.89 8.92,19.59 10.27,19.59C11.77,19.59 12.8,18.79 12.8,17.04V11.26H11.1V17C11.1,17.86 10.75,18.08 10.2,18.08C9.62,18.08 9.38,17.68 9.11,17.21L7.73,18.04M13.71,17.86C14.21,18.84 15.22,19.59 16.8,19.59C18.4,19.59 19.6,18.76 19.6,17.23C19.6,15.82 18.79,15.19 17.35,14.57L16.93,14.39C16.2,14.08 15.89,13.87 15.89,13.37C15.89,12.96 16.2,12.64 16.7,12.64C17.18,12.64 17.5,12.85 17.79,13.37L19.1,12.5C18.55,11.54 17.77,11.17 16.7,11.17C15.19,11.17 14.22,12.13 14.22,13.4C14.22,14.78 15.03,15.43 16.25,15.95L16.67,16.13C17.45,16.47 17.91,16.68 17.91,17.26C17.91,17.74 17.46,18.09 16.76,18.09C15.93,18.09 15.45,17.66 15.09,17.06L13.71,17.86Z\n","$mol_ghost $mol_view\n\tSub $mol_view\n","namespace $.$$ {\n\n\t/**\n\t * Mixin view logic to DOM node of another component.\n\t */\n\texport class $mol_ghost extends $.$mol_ghost {\n\t\t\n\t\toverride dom_node_external( next?: Element ) {\n\t\t\treturn this.Sub().dom_node( next )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tdom_node_actual() {\n\t\t\tthis.dom_node()\n\t\t\tconst node = this.Sub().dom_node_actual()\n\n\t\t\tconst attr = this.attr()\n\t\t\tconst style = this.style()\n\t\t\tconst fields = this.field()\n\n\t\t\t$mol_dom_render_attributes( node , attr )\n\t\t\t$mol_dom_render_styles( node , style )\n\t\t\t$mol_dom_render_fields( node , fields )\n\n\t\t\treturn node\n\t\t}\n\t\t\n\t\tdom_tree() {\n\t\t\t\n\t\t\tconst Sub = this.Sub()\n\t\t\tconst node = Sub.dom_tree()\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.dom_node_actual()\n\t\t\t\tthis.auto()\n\t\t\t} catch( error: unknown ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t\t\n\t\t\treturn node\n\t\t}\n\n\t\ttitle() {\n\t\t\treturn this.Sub().title()\n\t\t}\n\t\t\n\t\tminimal_width() {\n\t\t\treturn this.Sub().minimal_width()\n\t\t}\n\n\t\tminimal_height() {\n\t\t\treturn this.Sub().minimal_height()\n\t\t}\n\n\t}\n\n}\n","$mol_icon_arrow_left $mol_icon path \\M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z\n","$mol_icon_arrow_left_right $mol_icon path \\M6.45,17.45L1,12L6.45,6.55L7.86,7.96L4.83,11H19.17L16.14,7.96L17.55,6.55L23,12L17.55,17.45L16.14,16.04L19.17,13H4.83L7.86,16.04L6.45,17.45Z\n","$mol_icon_arrow_left_right_bold $mol_icon path \\M8,14V18L2,12L8,6V10H16V6L22,12L16,18V14H8Z\n","$mol_icon_arrow_left_right_bold_outline $mol_icon path \\M14,16V22L24,12L14,2V8H10V2L0,12L10,22V16H14M8,14V17L3,12L8,7V10H16V7L21,12L16,17V14H8Z\n","$mol_icon_arrow_left_bold $mol_icon path \\M20,9V15H12V19.84L4.16,12L12,4.16V9H20Z\n","$mol_icon_arrow_left_bold_outline $mol_icon path \\M13,22L3,12L13,2V8H21V16H13V22M6,12L11,17V14H19V10H11V7L6,12Z\n","$mol_icon_arrow_right $mol_icon path \\M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z\n","$mol_icon_arrow_right_bold $mol_icon path \\M4,15V9H12V4.16L19.84,12L12,19.84V15H4Z\n","$mol_icon_arrow_right_bold_outline $mol_icon path \\M11,16H3V8H11V2L21,12L11,22V16M13,7V10H5V14H13V17L18,12L13,7Z\n","$mol_icon_trash_can $mol_icon path \\M9,3V4H4V6H5V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V6H20V4H15V3H9M9,8H11V17H9V8M13,8H15V17H13V8Z\n","$mol_icon_trash_can_outline $mol_icon path \\M9,3V4H4V6H5V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V6H20V4H15V3H9M7,6H17V19H7V6M9,8V17H11V8H9M13,8V17H15V8H13Z\n","$hyoo_studio_type $mol_pick\n\ttree?val null $mol_tree2_empty\n\tbelong_to \\\n\ttype? \\\n\ttrigger_content /\n\t\t<= Value $mol_paragraph title <= type_display \\\n\t\t<= Take_put_hack_icon $mol_icon_arrow_left_right_bold_outline\n\t\t<= Take_hack_icon $mol_icon_arrow_left_bold_outline\n\t\t<= Alias_icon $mol_icon_arrow_right_bold_outline\n\tbubble_content /\n\t\t<= Options_content $mol_list rows /\n\t\t\t<= Unit_options $mol_switch\n\t\t\t\tvalue? <=> switch_type? \\\n\t\t\t\toptions <= unit_options *\n\t\t\t\t\tnull \\null\n\t\t\t\t\tboolean_false \\false\n\t\t\t\t\tboolean_true \\true\n\t\t\t\t\tnumber_nan \\NaN\n\t\t\t<= Number_options $mol_switch\n\t\t\t\tvalue? <=> switch_type? \\\n\t\t\t\toptions <= number_options *\n\t\t\t\t\tnumber \\number\n\t\t\t\t\tnumber_infinity_negative \\-Infinity\n\t\t\t\t\tnumber_infinity_positive \\+Infinity\n\t\t\t<= Other_options_group $mol_view\n\t\t\t\tsub <= other_options_group /\n\t\t\t\t\t<= Other_options $mol_switch\n\t\t\t\t\t\tvalue? <=> switch_type? \\\n\t\t\t\t\t\toptions <= other_options *\n\t\t\t\t\t<= List_items_type $mol_textarea\n\t\t\t\t\t\tvalue? <=> list_items_type? \\\n\t\t\t\t\t<= Object_option $mol_check\n\t\t\t\t\t\ttitle \\object\n\t\t\t\t\t\tclick <= show_obj_select null\n\t\t\t\t\t\tchecked? <= obj_checked? false\n\t\t\t<= Bind_options $mol_switch\n\t\t\t\tvalue? <=> switch_type? \\\n\t\t\t\toption_label* <= bind_option_label* /\n\t\t\t\t\t<= Take_put_hack_option $mol_icon_arrow_left_right_bold_outline\n\t\t\t\t\t<= Take_hack_option $mol_icon_arrow_left_bold_outline\n\t\t\t\t\t<= Alias_option $mol_icon_arrow_right_bold_outline\n\t\t\t\toptions <= bind_options *\n\t\t\t<= Control $mol_view sub /\n\t\t\t\t<= Menu_item_delete $mol_button_minor\n\t\t\t\t\tstyle * color \\red\n\t\t\t\t\tclick? <=> drop? null\n\t\t\t\t\tsub /\n\t\t\t\t\t\t<= menu_item_delete_icon $mol_icon_trash_can_outline\n\t\t\t\t\t\t<= menu_item_delete_label \\Drop\n\tObject_select $mol_select\n\t\thint @ \\Class\n\t\talign_hor \\right\n\t\tvalue? <=> selected_class? \\$mol_view\n\t\toptions <= class_list /string\n\t\tTrigger_icon null\n\t\tbubble_content => Obj_bubble_content\n\tobj_select_showed? false\n\tlist_type_showed? false\n","namespace $ {\n\texport class $mol_view_tree2_error extends Error {\n\t\tconstructor(\n\t\t\tmessage: string,\n\t\t\treadonly spans: readonly $mol_span[]\n\t\t) {\n\t\t\tsuper(message)\n\t\t}\n\n\t\ttoJSON() {\n\t\t\treturn {\n\t\t\t\tmessage: this.message,\n\t\t\t\tspans: this.spans\n\t\t\t}\n\t\t}\n\t}\n\n\texport class $mol_view_tree2_error_suggestions {\n\t\tconstructor(\n\t\t\treadonly suggestions: readonly string[]\n\t\t) {}\n\n\t\ttoString() {\n\t\t\treturn this.suggestions.map(suggestion => `\\`${suggestion}\\``).join(', ')\n\t\t}\n\n\t\ttoJSON() {\n\t\t\treturn this.suggestions\n\t\t}\n\t}\n\n\texport function $mol_view_tree2_error_str(\n\t\tstrings: readonly string[],\n\t\t...parts: readonly ($mol_span | readonly $mol_span[] | string | number | $mol_view_tree2_error_suggestions)[]\n\t) {\n\t\tconst spans: $mol_span[] = []\n\n\t\tfor (const part of parts) {\n\t\t\tif (part instanceof $mol_span) spans.push(part)\n\t\t\tif (Array.isArray(part) && part.length > 0 && part[0] instanceof $mol_span) spans.push(...part)\n\t\t}\n\n\t\treturn new $mol_view_tree2_error(join(strings, parts), spans)\n\t}\n\n\tfunction join(strings: readonly string[], objects: readonly unknown[]) {\n\t\tlet result = ''\n\t\tlet obj_pos = 0\n\t\tlet obj_len = objects.length\n\n\t\tfor (const str of strings) {\n\t\t\tresult += str\n\t\t\tif (obj_pos < obj_len) {\n\t\t\t\tconst obj = objects[obj_pos++]\n\t\t\t\tif (Array.isArray(obj)) result += obj.map(item => `\\`${item}\\``).join(', ')\n\t\t\t\telse result += `\\`${String(obj)}\\``\n\t\t\t}\n\t\t}\n\n\t\treturn result\n\t}\n}\n","namespace $ {\n\n\texport function $mol_view_tree2_child(\n\t\tthis: $,\n\t\ttree: $mol_tree2,\n\t) {\n\n\t\tif( tree.kids.length === 0 ) {\n\t\t\treturn this.$mol_fail(\n\t\t\t\t$mol_view_tree2_error_str\n\t\t\t\t`Required one child at ${tree.span}`\n\t\t\t)\n\t\t}\n\n\t\tif( tree.kids.length > 1 ) {\n\t\t\treturn this.$mol_fail(\n\t\t\t\t$mol_view_tree2_error_str\n\t\t\t\t`Should be only one child at ${tree.span}`\n\t\t\t)\n\t\t}\n\n\t\treturn tree.kids[0]\n\t}\n\n}\n","namespace $ {\n\texport function $mol_view_tree2_classes( defs : $mol_tree2 ) {\n\t\treturn defs.clone(defs.hack({\n\t\t\t'-': () => []\n\t\t}))\n\t}\n}\n","namespace $ {\n\t\n\texport function $mol_view_tree2_normalize( this: $, defs : $mol_tree2 ) {\n\t\treturn defs.clone(\n\t\t\t$mol_view_tree2_classes( defs ).kids.map( cl => cl.clone([\n\t\t\t\tthis.$mol_view_tree2_class_super( cl ).clone(\n\t\t\t\t\tthis.$mol_view_tree2_class_props( cl )\n\t\t\t\t)\n\t\t\t]) )\n\t\t)\n\t}\n\t\n}\n","namespace $ {\n\tconst { begin, end, latin_only, or, optional, repeat_greedy } = $mol_regexp\n\n\texport let $mol_view_tree2_prop_signature = $mol_regexp.from([\n\t\tbegin,\n\t\t{ name: repeat_greedy( latin_only, 1 ) },\n\t\t{ key: optional([ '*', repeat_greedy( latin_only, 0 ) ]) },\n\t\t{ next: optional([ '?', repeat_greedy( latin_only, 0 ) ]) },\n\t\tend,\n\t])\n\t\n}\n","namespace $ {\n\texport function $mol_view_tree2_prop_parts(this: $, prop: $mol_tree2 ) {\n\t\tconst groups = [ ...prop.type.matchAll( $mol_view_tree2_prop_signature ) ][0]?.groups\n\n\t\tif (! groups) {\n\t\t\tthis.$mol_fail(\n\t\t\t\t$mol_view_tree2_error_str`Required prop like some*? at ${prop.span}`\n\t\t\t)\n\t\t}\n\n\t\treturn {\n\t\t\tname: groups.name,\n\t\t\tkey: groups.key,\n\t\t\tnext: groups.next ? '?' : ''\n\t\t}\n\t}\n}\n","namespace $ {\n\tconst regular_regex = /^\\w+$/\n\n\texport function $mol_view_tree2_prop_quote(name: $mol_tree2) {\n\t\tif (regular_regex.test(name.value)) return name\n\n\t\treturn name.data(JSON.stringify(name.value))\n\t}\n}\n","namespace $ {\n\tconst class_regex = /^[$A-Z][$\\w<>\\[\\]()\"'?|]+$/\n\n\texport function $mol_view_tree2_class_match(klass?: $mol_tree2) {\n\t\tif (! klass?.type) return false\n\t\tif (klass.type === 'NaN' || klass.type === 'Infinity') return false\n\n\t\treturn class_regex.test(klass.type)\n\t}\n}\n","namespace $ {\n\tconst err = $mol_view_tree2_error_str\n\n\texport function $mol_view_tree2_class_super(\n\t\tthis: $,\n\t\tklass: $mol_tree2\n\t) {\n\t\tif( ! $mol_view_tree2_class_match( klass ) ) return this.$mol_fail(\n\t\t\terr `Wrong class name at ${klass.span}` \n\t\t)\n\n\t\tconst superclass = klass.kids.length === 1 ? klass.kids[0] : undefined\n\n\t\tif (! superclass) return this.$mol_fail(\n\t\t\terr`No super class at ${klass.span}`\n\t\t)\n\n\t\tif( ! $mol_view_tree2_class_match( superclass ) ) return this.$mol_fail(\n\t\t\terr`Wrong super class name ${JSON.stringify(superclass.type).replace(/(^\"|\"$)/g, \"\")} at ${superclass.span}`\n\t\t)\n\n\t\treturn superclass\n\t}\n}\n","namespace $ {\n\tconst err = $mol_view_tree2_error_str\n\ttype Context = { factory?: $mol_tree2 }\n\n\texport function $mol_view_tree2_class_props(\n\t\tthis: $,\n\t\tklass : $mol_tree2,\n\t) {\n\t\tlet props = this.$mol_view_tree2_class_super( klass )\n\t\t\n\t\t// ! syntax to *\n\t\tprops = props.clone(\n\t\t\tprops.hack({\n\t\t\t\t'': ( node, belt )=> {\n\t\t\t\t\tconst normal = node.type.replace( /!\\w+/, '*' )\n\t\t\t\t\tif( node.type === normal ) return [ node.clone( node.hack( belt ) ) ]\n\t\t\t\t\treturn [ node.struct( normal, node.hack( belt ) ) ]\n\t\t\t\t}\n\t\t\t})\n\t\t)\n\n\t\tconst props_inner = {} as Record\n\n\t\tconst add_inner = ( prop: $mol_tree2 ) => {\n\t\t\tconst { name } = this.$mol_view_tree2_prop_parts(prop)\n\t\t\tconst prev = props_inner[name]\n\t\t\tif (prev && prev.kids[0]?.toString() !== prop.kids[0]?.toString()) {\n\t\t\t\tthis.$mol_fail(err`Need an equal default values at ${prev.span} vs ${prop.span}`)\n\t\t\t}\n\t\t\tprops_inner[name] = prop\n\t\t}\n\n\t\tconst upper = (operator: $mol_tree2, belt: $mol_tree2_belt, context: Context) => {\n\t\t\tconst prop = this.$mol_view_tree2_child( operator )\n\t\t\tconst defs = prop.hack( belt, { factory: prop } )\n\t\t\tif( defs.length ) add_inner( prop.clone( defs ) )\n\n\t\t\treturn [ operator.clone([ prop.clone([]) ]) ]\n\t\t}\n\n\t\tconst props_root = props.hack({\n\t\t\t'<=': upper,\n\n\t\t\t'<=>': upper,\n\n\t\t\t'^': ( operator, belt, context) => {\n\t\t\t\tif (operator.kids.length === 0) return [ operator ]\n\t\t\t\treturn upper(operator, belt, context)\n\t\t\t},\n\n\t\t\t'': (left, belt, context) => {\n\t\t\t\tlet right\n\t\t\t\tconst operator = left.kids[0]\n\n\t\t\t\tif (operator?.type === '=>' && context.factory) {\n\t\t\t\t\tright = operator.kids[0]\n\t\t\t\t\tif (! right) this.$mol_fail(err`Need a child ${operator.span}`)\n\t\t\t\t\tif (! context.factory) this.$mol_fail(err`Need a parent ${left.span}`)\n\n\t\t\t\t\tadd_inner(right.clone([\n\t\t\t\t\t\tright.struct('=', [\n\t\t\t\t\t\t\tcontext.factory.struct(\n\t\t\t\t\t\t\tcontext.factory.type.replace( /\\*.*/, '*' ),\n\t\t\t\t\t\t\t\t[ left.clone([]) ],\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t]),\n\t\t\t\t\t]))\n\t\t\t\t}\n\n\t\t\t\tif (right) context = { factory: right.clone([]) }\n\t\t\t\telse if( operator && ! context.factory && $mol_view_tree2_class_match( operator ) ) {\n\t\t\t\t\tcontext = { factory: left.clone([]) }\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst hacked = left.clone( left.hack( belt, context ) )\n\n\t\t\t\treturn [ hacked ]\n\t\t\t}\n\n\t\t}, { factory: undefined } as Context)\n\n\t\tfor (const prop of props_root ) add_inner(prop)\n\t\t\n\t\treturn Object.values(props_inner)\n\t}\n\n}\n","namespace $ {\n\tconst err = $mol_view_tree2_error_str\n\t\n\texport function $mol_view_tree2_value_type( this: $, val : $mol_tree2 ) {\n\t\tswitch( val.type ) {\n\t\t\tcase 'true' : return 'bool'\n\t\t\tcase 'false' : return 'bool'\n\t\t\tcase 'null' : return 'null'\n\t\t\tcase '*' : return 'dict'\n\t\t\tcase '@' : return 'locale'\n\t\t\tcase '' : return 'string'\n\t\t\tcase '<=' : return 'get'\n\t\t\tcase '<=>' : return 'bind'\n\t\t\tcase '=>' : return 'put'\n\t\t}\n\n\t\tconst first_char = val.type && val.type[0]\n\n\t\tif (first_char === '/') return 'list'\n\t\tif( Number( val.type ).toString() == val.type ) return 'number'\n\t\tif (/^[$A-Z]/.test( first_char )) return 'object'\n \n\t\treturn this.$mol_fail(\n\t\t\terr`Unknown value type ${val.type} at ${val.span}`\n\t\t)\n\t}\t\n}\n","namespace $ {\n\n\tconst err = $mol_view_tree2_error_str\n\n\texport function $mol_view_tree2_value(\n\t\tthis: $,\n\t\tvalue: $mol_tree2,\n\t) {\n\t\tconst type = value.type\n\t\tconst kids = value.kids\n\n\t\tif (type === '') {\n\t\t\tif (kids.length === 0) return value.data(JSON.stringify(value.value))\n\n\t\t\treturn value.data(JSON.stringify(kids.map(node => node.value).join('\\n')))\n\t\t}\n\n\t\tif (kids.length !== 0) return this.$mol_fail(\n\t\t\terr`Kids are not allowed at ${value.span}, use ${example}`\n\t\t)\n\n\t\tif (type === 'false' || type === 'true') return value.data(type)\n\n\t\tif (type === 'null') return value.data(type)\n\n\t\tif (Number(type).toString() === type.replace(/^\\+/, '')) return value.data(type)\n\n\t\treturn this.$mol_fail(\n\t\t\terr`Value ${value.toString()} not allowed at ${value.span}, use ${example}`\n\t\t)\n\t}\n\n\tconst example = new $mol_view_tree2_error_suggestions([\n\t\t'false',\n\t\t'true',\n\t\t'123',\n\t\t'null',\n\t\t'\\\\some'\n\t])\n}\n","namespace $ {\n\texport function $mol_view_tree2_value_number(type: string) {\n\t\treturn type.match(/[\\+\\-]*NaN/) || !Number.isNaN( Number( type ) )\n\t}\n}\n","namespace $.$$ {\n\n\texport class $hyoo_studio_type extends $.$hyoo_studio_type {\n\n\t\tbelong_to(): 'prop' | 'subprop' | 'list' | 'dict' | string {\n\t\t\treturn 'prop'\n\t\t}\n\n\t\tbind_options(): Partial<{ bind: '<=>', get: '<=', put: '=>' }> {\n\t\t\tswitch (this.belong_to()) {\n\t\t\t\tcase 'prop': return { bind: '<=>', get: '<=', put: '=>' }\n\t\t\t\tcase 'subprop': return { bind: '<=>', get: '<=', put: '=>' }\n\t\t\t\tcase 'list': return { get: '<='}\n\t\t\t\tcase 'dict': return { get: '<='}\n\t\t\t\tdefault: return { bind: '<=>', get: '<=', put: '=>' }\n\t\t\t}\n\t\t}\n\n\t\tother_options(): Partial<{ text: 'text', dict: 'dict', list: 'list' }> {\n\t\t\treturn { \n\t\t\t\ttext: 'text', dict: 'dict', \n\t\t\t\t...(this.list_type_showed() ? {} : {list: 'list'}) \n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tother_options_group(){\n\t\t\treturn [ \n\t\t\t\tthis.Other_options(),\n\t\t\t\t...(this.list_type_showed() ? [this.List_items_type()] : []),\n\t\t\t\t...(this.belong_to() === 'prop'? [this.Object_option()] : []),\n\t\t\t]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlist_type_showed() {\n\t\t\treturn this.type() === 'list' ? true : false\n\t\t}\n\n\t\tswitch_type(next?: string) {\n\t\t\treturn this.type(next)\n\t\t}\n\n\t\tdrop() {\n\t\t\tthis.type('')\n\t\t}\n\n\t\tbubble_content() {\n\t\t\treturn this.obj_select_showed()? this.Obj_bubble_content() : super.bubble_content()\n\t\t}\n\n\t\tobj_checked( next?: any ): boolean {\n\t\t\treturn this.type() === 'object'? true : false\n\t\t}\n\n\t\tbind_option_label(bind_option: keyof ReturnType<$hyoo_studio_type[\"bind_options\"]>){\n\t\t\tswitch (bind_option) {\n\t\t\t\tcase 'bind': return [ this.Take_put_hack_option() ]\n\t\t\t\tcase 'get': return [ this.Take_hack_option() ]\n\t\t\t\tcase 'put': return [ this.Alias_option() ]\n\t\t\t}\n\t\t\treturn []\n\t\t}\n\n\t\tbind_option_label_display(bind_option: keyof ReturnType<$hyoo_studio_type[\"bind_options\"]>){\n\t\t\tswitch (bind_option) {\n\t\t\t\tcase 'bind': return [ this.Take_put_hack_icon() ]\n\t\t\t\tcase 'get': return [ this.Take_hack_icon() ]\n\t\t\t\tcase 'put': return [ this.Alias_icon() ]\n\t\t\t}\n\t\t\treturn []\n\t\t}\n\n\t\ttrigger_content(){\n\t\t\tconst type = this.type()\n\n\t\t\tconst bind_option = this.bind_options()[type as keyof ReturnType<$hyoo_studio_type[\"bind_options\"]>]\n\n\t\t\treturn bind_option ? \n\t\t\t\tthis.bind_option_label_display(type as keyof ReturnType<$hyoo_studio_type[\"bind_options\"]>) : \n\t\t\t\t[ this.Value() ]\n\t\t}\n\n\t\t@ $mol_mem\n\t\ttype_display(): string {\n\t\t\tconst type = this.type()\n\n\t\t\tif (type === 'list') { \n\t\t\t\treturn `${this.list_items_type() === 'any'? '': this.list_items_type()} list` \n\t\t\t}\n\t\t\tif (type === 'object') { return this.selected_class() }\n\t\t\tif (this.unit_options()[type as keyof ReturnType<$hyoo_studio_type[\"unit_options\"]>]) \n\t\t\t\treturn this.unit_options()[type as keyof ReturnType<$hyoo_studio_type[\"unit_options\"]>]\n\t\t\tif (this.number_options()[type as keyof ReturnType<$hyoo_studio_type[\"number_options\"]>]) \n\t\t\t\treturn this.number_options()[type as keyof ReturnType<$hyoo_studio_type[\"number_options\"]>]\n\t\t\tif (this.other_options()[type as keyof ReturnType<$hyoo_studio_type[\"other_options\"]>]) \n\t\t\t\treturn this.other_options()[type as keyof ReturnType<$hyoo_studio_type[\"other_options\"]>] || ''\n\n\t\t\treturn ''\n\t\t}\n\n\n\n\t\t@ $mol_mem\n\t\ttype( next? : string ) {\n\t\t\tconst tree = this.tree()\n\t\t\tif (! tree) return ''\n\t\t\tif (next === undefined) return $hyoo_studio_type_value(tree)\n\n\t\t\tlet val\n\n\t\t\tswitch( next ) {\n\t\t\t\tcase '' : val = null; break\n\t\t\t\tcase 'null' : val = tree.struct('null'); break\n\t\t\t\tcase 'boolean_true' : val = tree.struct('true'); break\n\t\t\t\tcase 'boolean_false' : val = tree.struct('false'); break\n\t\t\t\tcase 'number': val = tree.struct('0'); break\n\t\t\t\tcase 'number_nan': val = tree.struct('+NaN'); break\n\t\t\t\tcase 'number_infinity_negative': val = tree.struct('-Infinity'); break\n\t\t\t\tcase 'number_infinity_positive': val = tree.struct('+Infinity'); break\n\t\t\t\tcase 'text': val = tree.data(''); break\n\t\t\t\tcase 'list': val = tree.struct( '/' ); break\n\t\t\t\tcase 'dict': val = tree.struct( '*' ); break\n\t\t\t\tcase 'object': val = tree.struct( '$mol_view', [ tree.kids[0] ?? tree.data( '' ) ] ); break\n\t\t\t\tcase 'bind': val = tree.struct( '<=>', [ tree.kids[0] ?? tree.struct( `undefined`, [tree.data('')] ) ] ); break\n\t\t\t\tcase 'get': val = tree.struct( '<=', [ tree.kids[0] ?? tree.struct( `undefined`, [tree.data('')] ) ] ); break\n\t\t\t\tcase 'put': val = tree.struct( '=>', [ tree.kids[0] ?? tree.struct( `undefined`, [tree.data('')] ) ] ); break\n\t\t\t}\n\n\t\t\tif (val === undefined) $mol_fail( new TypeError( `Unsupported type: ${ next }` ) )\n\n\t\t\tconst next_tree = this.tree(val)!\n\t\t\tthis.showed(false)\n\n\t\t\treturn $hyoo_studio_type_value(next_tree)\n\t\t}\n\n\t\tshow_obj_select() {\n\t\t\tthis.obj_select_showed(true)\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tselected_class(next?: string) {\n\n\t\t\tif ( next !== undefined ) {\n\t\t\t\tthis.showed(false)\n\t\t\t\treturn this.tree(this.tree()?.struct( next ))?.type ?? super.selected_class()\n\t\t\t}\n\t\t\t\n\t\t\treturn this.tree()?.type ?? super.selected_class()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tlist_items_type(next?: string) {\n\n\t\t\tif( next && /\\s/.test( next ) ) {\n\t\t\t\t$mol_fail( new SyntaxError( `Item type mustn't have any space chars` ) )\n\t\t\t}\n\t\t\t\n\t\t\tconst from_tree = this.tree(\n\t\t\t\tnext === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: this.tree()?.struct( '/' + next, this.tree()?.kids ?? []) ?? null\n\t\t\t)?.type.slice( 1 )\n\n\t\t\tconst focused = this.List_items_type().focused()\n\n\t\t\treturn (from_tree) || (focused? '' : 'any')\n\t\t}\n\n\t}\n\n\texport function $hyoo_studio_type_value(val: $mol_tree2_empty) {\n\t\tif( !val ) return ''\n\n\t\tswitch( val.type ) {\n\t\t\tcase '=': return '' //todo\n\t\t\tcase '+NaN': return 'number_nan'\n\t\t\tcase '+Infinity': return 'number_infinity_positive'\n\t\t\tcase '-Infinity': return 'number_infinity_negative'\n\t\t}\n\n\t\tconst type = $$.$mol_view_tree2_value_type( val )\n\n\t\tswitch( type ) {\n\t\t\tcase 'bool':\n\t\t\t\treturn val.type === 'true' ? 'boolean_true' : 'boolean_false'\n\t\t\t\n\t\t\tcase 'locale':\n\t\t\tcase 'string':\n\t\t\t\treturn 'text'\n\t\t}\n\t\t\n\t\treturn type\n\t}\n\n}\n","namespace $.$$ {\n\n\tconst { px } = $mol_style_unit\n\n\t$mol_style_define( $.$hyoo_studio_type, {\n\n\t\tflex: {\n\t\t\tgrow: 0,\n\t\t},\n\n\t\tOptions_content: {\n\t\t\tpadding: $mol_gap.space,\n\t\t},\n\n\t\tOther_options: {\n\t\t\tflex: 'none',\n\t\t},\n\n\t\tValue: {\n\t\t\tcolor: $mol_theme.special,\n\t\t},\n\t\tTake_put_hack_icon: {\n\t\t\tcolor: $mol_theme.special,\n\t\t},\n\t\tTake_hack_icon: {\n\t\t\tcolor: $mol_theme.special,\n\t\t},\n\t\tAlias_icon: {\n\t\t\tcolor: $mol_theme.special,\n\t\t},\n\n\t\tList_items_type: {\n\t\t\tflex: {\n\t\t\t\tgrow: 0,\n\t\t\t},\n\t\t\tView: {\n\t\t\t\tRows: {\n\t\t\t\t\tflexDirection: 'row',\n\t\t\t\t\t'::after': {\n\t\t\t\t\t\tcontent: '\"[]\"',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tEdit: {\n\t\t\t\tboxShadow: 'none',\n\t\t\t},\n\t\t\tcolor: $mol_theme.current,\n\t\t},\n\n\t\tControl: {\n\t\t\tborderTop: 'solid 1px var(--mol_theme_line)',\n\t\t}\n\n\t} )\n\n}\n","$hyoo_studio_value $mol_ghost\n\ttree? $mol_tree2_empty\n\tBound $hyoo_studio_value_bound\n\tList $hyoo_studio_value_list\n\tDict $hyoo_studio_value_dict\n\tObject $hyoo_studio_value_object\n\tString $hyoo_studio_value_string\n\tNumber $hyoo_studio_value_number\n\tUnit $hyoo_studio_value_unit\n\tvalue_tools /\n\ttype \\\n\thead /\n\tbelong_to \\prop\n\thide_tools false\n\tprops_of* $mol_tree2_empty\n\tprops_bindable $mol_tree2_empty\n\tclass_list /string\n\tBound_prop* $hyoo_studio_prop\n\n$hyoo_studio_value_unit $mol_view\n\thead /\n\tbelong_to \\prop\n\thide_tools false\n\tprops_of* $mol_tree2_empty\n\tprops_bindable $mol_tree2_empty\n\tclass_list /string\n\tBound_prop* $hyoo_studio_prop\n\tsub /\n\t\t^ head\n\t\t<= Value_tools $mol_view\n\t\t\tsub <= visible_tools <= tools /\n\t\t\t\t<= Type $hyoo_studio_type\n\t\t\t\t\ttree? <=> tree? $mol_tree2_empty\n\t\t\t\t\ttype? => type?\n\t\t\t\t\tbelong_to <= belong_to\n\t\t\t\t\tclass_list <= class_list /string\n\t\t<= Self $mol_view\n\t\t\tsub <= self /\n","namespace $.$$ {\n\t\n\texport class $hyoo_studio_value extends $.$hyoo_studio_value {\n\t\t\n\t\t@ $mol_mem\n\t\tSub() {\n\n\t\t\tlet obj = this.Unit()\n\n\t\t\tswitch( this.$.$hyoo_studio_type_value(this.tree()) ) {\n\t\t\t\tcase 'text': obj = this.String(); break;\n\t\t\t\tcase 'number': obj = this.Number(); break;\n\t\t\t\tcase 'bind': obj = this.Bound(); break;\n\t\t\t\tcase 'object': obj = this.Object(); break;\n\t\t\t\tcase 'get': obj = this.Bound(); break;\n\t\t\t\tcase 'put': obj = this.Bound(); break;\n\t\t\t\tcase 'list': obj = this.List(); break;\n\t\t\t\tcase 'dict': obj = this.Dict(); break;\n\t\t\t}\n\n\t\t\tobj.hide_tools = () => this.hide_tools()\n\t\t\tobj.belong_to = () => this.belong_to()\n\t\t\tobj.tree = (next?: any) => this.tree(next)\n\t\t\tobj.props_of = (id: any) => this.props_of(id)\n\t\t\tobj.props_bindable = () => this.props_bindable()\n\t\t\tobj.class_list = () => this.class_list()\n\t\t\tobj.Bound_prop = (id: any) => this.Bound_prop(id)\n\t\t\tobj.head = () => this.head()\n\n\t\t\treturn obj\n\t\t}\n\n\t\t@ $mol_mem\n\t\tvalue_tools(): readonly any[] {\n\t\t\treturn this.Sub().tools()\n\t\t}\n\n\t\t@ $mol_mem\n\t\ttype(): string {\n\t\t\treturn this.Sub().Type().type()\n\t\t}\n\t\t\n\t}\n\n\n\texport class $hyoo_studio_value_unit extends $.$hyoo_studio_value_unit {\n\t\t\n\t\t@ $mol_mem\n\t\tvisible_tools() {\n\t\t\treturn this.hide_tools() ? [] : this.tools()\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\n\tconst { px, rem } = $mol_style_unit\n\n\t$mol_style_define( $hyoo_studio_value, {\n\t\t\n\t\tflex: {\n\t\t\tgrow: 1,\n\t\t},\n\n\t} )\n\n}\n","$hyoo_studio_value_bound $hyoo_studio_value_unit\n\tself /\n\t\t^ head\n\t\t<= Value_tools\n\t\t<= Bound_prop_name $mol_select\n\t\t\thint @ \\Bound Property\n\t\t\tvalue? <=> bound_prop_name? null\n\t\t\toptions <= prop_name_list /string\n\t\t\tTrigger_icon null\n\t\t<= Bound_prop_expand $mol_check_expand\n\t\t\tchecked? <=> bound_expanded? false\n","namespace $.$$ {\n\t\n\texport class $hyoo_studio_value_bound extends $.$hyoo_studio_value_bound {\n\t\t\n\t\t@ $mol_mem\n\t\tguid() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tself() {\n\t\t\treturn this.bound_expanded() ? [ this.Opened_bound_prop() ] : super.self()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tbound_expanded(next?: any) {\n\t\t\treturn this.Opened_bound_prop().expanded(\n\t\t\t\tnext !== undefined ? \n\t\t\t\t\tnext : \n\t\t\t\t\tundefined\n\t\t\t)\n\t\t}\n\n\t\t@ $mol_mem\n\t\tOpened_bound_prop() {\n\t\t\tconst prop = this.Bound_prop( this.bound_prop_name() + ':' + this.guid() )\n\t\t\tprop.trigger_sub = () => []\n\t\t\tprop.label_sub = () => [\n\t\t\t\t...this.head(), this.Value_tools(), this.Bound_prop_name(), this.Bound_prop_expand(), prop.Prop_tools()\n\t\t\t]\n\t\t\treturn prop\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tprop_name_list() {\n\t\t\treturn this.props_bindable().kids.map( prop => prop.type )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tbound_prop_name( next?: string ) {\n\t\t\t\n\t\t\tconst val = this.tree()\n\t\t\t\n\t\t\tif( next === undefined ) {\n\t\t\t\tconst name = this.$.$mol_view_tree2_prop_parts( val.kids[ 0 ] ).name\n\t\t\t\treturn name == 'undefined' ? '...' : name\n\t\t\t}\n\t\t\t\n\t\t\tthis.tree(\n\t\t\t\tval.insert( val.struct( next ), null )\n\t\t\t)\n\t\t\t\n\t\t\treturn next || '...'\n\t\t}\n\t}\n\t\n}\n","namespace $.$$ {\n\n\tconst { px, rem } = $mol_style_unit\n\n\t$mol_style_define( $hyoo_studio_value_bound, {\n\n\t\tBound_prop_name: {\n\t\t\tOption_label: {\n\t\t\t\tpadding: 0,\n\t\t\t},\n\t\t\tMenu: {\n\t\t\t\tpadding: {\n\t\t\t\t\tleft: $mol_gap.block,\n\t\t\t\t\tright: $mol_gap.block,\n\t\t\t\t},\n\t\t\t},\n\t\t\tTrigger: {\n\t\t\t\tjustifyContent: 'center',\n\t\t\t}\n\t\t},\n\n\t\tSelf: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n","$hyoo_studio_value_list $hyoo_studio_value_unit\n\tself /\n\t\t<= Head $mol_view\n\t\t\tsub /\n\t\t\t\t^ head\n\t\t\t\t<= Value_tools\n\t\t<= List_values $mol_list\n\t\t\trows <= list / \n\t\t\t\t<= List_value*0 $hyoo_studio_value\n\t\t\t\t\ttree? <=> list_value*? $mol_tree2_empty\n\t\t\t\t\tbelong_to \\list\n\t\t\t\t\tprops_of* <= props_of* $mol_tree2_empty\n\t\t\t\t\tprops_bindable <= props_bindable $mol_tree2_empty\n\t\t\t\t\tclass_list <= class_list /string\n\t\t\t\t\tBound_prop* <= Bound_prop* null\n\ttools /\n\t\t<= Type\n\t\t<= List_item_add $mol_button_minor\n\t\t\thint @ \\Add Item\n\t\t\tsub /\n\t\t\t\t<= List_add_icon $mol_icon_plus\n\t\t\tclick? <=> list_item_add? null\n","namespace $.$$ {\n\t\n\texport class $hyoo_studio_value_list extends $.$hyoo_studio_value_list {\n\t\t\n\t\t@ $mol_mem\n\t\tlist() {\n\t\t\treturn this.tree().kids.map( (_,i)=> this.List_value( i ) )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tlist_value( index: number, next?: $mol_tree2 ) {\n\n\t\t\tlet tree = this.tree()\n\t\t\tif( next !== undefined ) {\n\t\t\t\ttree = this.tree( tree.insert( next, index ) )\n\t\t\t}\n\t\t\t\n\t\t\treturn tree.kids[ index ]\n\t\t}\n\t\t\n\t\tlist_item_add() {\n\t\t\tconst tree = this.tree()\n\t\t\tthis.tree(\n\t\t\t\ttree.clone([\n\t\t\t\t\t... tree.kids,\n\t\t\t\t\ttree.struct( 'null' ),\n\t\t\t\t])\n\t\t\t)\n\t\t}\n\n\t}\n\t\n}\n","namespace $.$$ {\n\n\tconst { px, rem } = $mol_style_unit\n\n\t$mol_style_define( $hyoo_studio_value_list, {\n\n\t\tList_values: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t\tgap: $mol_gap.space,\n\t\t\tmargin: {\n\t\t\t\tleft: $mol_gap.block,\n\t\t\t},\n\t\t\tpadding: {\n\t\t\t\tleft: $mol_gap.block,\n\t\t\t},\n\t\t},\n\t\t\n\t\tSelf: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t\tdirection: 'column',\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n","$hyoo_studio_value_dict $hyoo_studio_value_unit\n\tself /\n\t\t<= Head $mol_view\n\t\t\tsub /\n\t\t\t\t^ head\n\t\t\t\t<= Value_tools\n\t\t<= Key_values $mol_list\n\t\t\trows <= list /\n\t\t\t\t<= Item*0 $mol_view\n\t\t\t\t\tsub /\n\t\t\t\t\t\t<= Item_name* $mol_textarea\n\t\t\t\t\t\t\tvalue? <=> item_key*? \\\n\t\t\t\t\t\t<= Value* $hyoo_studio_value\n\t\t\t\t\t\t\ttree? <=> item_value*? $mol_tree2_empty\n\t\t\t\t\t\t\tbelong_to \\dict\n\t\t\t\t\t\t\tprops_of* <= props_of* $mol_tree2_empty\n\t\t\t\t\t\t\tprops_bindable <= props_bindable $mol_tree2_empty\n\t\t\t\t\t\t\tclass_list <= class_list /string\n\t\t\t\t\t\t\tBound_prop* <= Bound_prop* null\n\t\t\t\t\t\t\thead /\n\t\t\t\t\t\t\t\t<= Item_name*\n\ttools /\n\t\t<= Type\n\t\t<= Key_item_add $mol_button_minor\n\t\t\thint @ \\Add Key\n\t\t\tsub /\n\t\t\t\t<= Key_add_icon $mol_icon_plus\n\t\t\tclick? <=> dict_item_add? null\n","namespace $.$$ {\n\t\n\texport class $hyoo_studio_value_dict extends $.$hyoo_studio_value_dict {\n\n\t\t@ $mol_mem\n\t\tlist() {\n\t\t\treturn this.tree().kids.map( (_,i)=> this.Item( i ) )\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\titem_key( index: number, next?: string ) {\n\n\t\t\tif( next && /\\s/.test( next ) ) {\n\t\t\t\t$mol_fail( new SyntaxError( `Item key mustn't have any space chars` ) )\n\t\t\t}\n\n\t\t\tlet tree = this.tree()\n\n\t\t\tif( next !== undefined ) {\n\t\t\t\ttree = this.tree(\n\t\t\t\t\ttree.insert( tree.struct( next, tree.kids[ index ].kids ), index )\n\t\t\t\t)\n\t\t\t}\n\n\t\t\treturn tree.kids[ index ].type\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\titem_value( index: number, next?: $mol_tree2 ) {\n\n\t\t\tlet tree = this.tree()\n\t\t\t\n\t\t\tif( next !== undefined ) {\n\t\t\t\ttree = this.tree(\n\t\t\t\t\ttree.insert( next && tree.kids[ index ].clone( [ next ] ), index )\n\t\t\t\t)\n\t\t\t}\n\n\t\t\treturn tree.kids[ index ]?.kids[ 0 ]\n\t\t}\n\n\t\tdict_item_add() {\n\t\t\tconst tree = this.tree()\n\t\t\tthis.tree(\n\t\t\t\ttree.clone([\n\t\t\t\t\t... tree.kids,\n\t\t\t\t\ttree.struct('key', [tree.struct('null')]),\n\t\t\t\t])\n\t\t\t)\n\t\t}\n\t}\n\t\n}\n","namespace $.$$ {\n\n\tconst { px, rem } = $mol_style_unit\n\n\t$mol_style_define( $hyoo_studio_value_dict, {\n\n\t\tKey_values: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t\tgap: $mol_gap.space,\n\t\t\tpadding: {\n\t\t\t\tleft: $mol_gap.block,\n\t\t\t},\n\t\t},\n\n\t\tItem_name: {\n\t\t\tflex: {\n\t\t\t\tgrow: 0,\n\t\t\t},\n\t\t\tEdit: {\n\t\t\t\tboxShadow: 'none',\n\t\t\t},\n\t\t},\n\n\t\tSelf: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t\tdirection: 'column',\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n","$mol_icon_wrench $mol_icon path \\M22.7,19L13.6,9.9C14.5,7.6 14,4.9 12.1,3C10.1,1 7.1,0.6 4.7,1.7L9,6L6,9L1.6,4.7C0.4,7.1 0.9,10.1 2.9,12.1C4.8,14 7.5,14.5 9.8,13.6L18.9,22.7C19.3,23.1 19.9,23.1 20.3,22.7L22.6,20.4C23.1,20 23.1,19.3 22.7,19Z\n","$mol_icon_wrench_outline $mol_icon path \\M22.61,19L13.53,9.91C14.46,7.57 14,4.81 12.09,2.91C9.79,0.61 6.21,0.4 3.66,2.26L7.5,6.11L6.08,7.5L2.25,3.69C0.39,6.23 0.6,9.82 2.9,12.11C4.76,13.97 7.47,14.46 9.79,13.59L18.9,22.7C19.29,23.09 19.92,23.09 20.31,22.7L22.61,20.4C23,20 23,19.39 22.61,19M19.61,20.59L10.15,11.13C9.54,11.58 8.86,11.85 8.15,11.95C6.79,12.15 5.36,11.74 4.32,10.7C3.37,9.76 2.93,8.5 3,7.26L6.09,10.35L10.33,6.11L7.24,3C8.5,2.95 9.73,3.39 10.68,4.33C11.76,5.41 12.17,6.9 11.92,8.29C11.8,9 11.5,9.66 11.04,10.25L20.5,19.7L19.61,20.59Z\n","$hyoo_studio_value_object $hyoo_studio_value_dict\n\ttools /\n\t\t<= Type\n\t\t<= Over_prop_add $mol_select\n\t\t\thint @ \\Add Override\n\t\t\talign_hor \\left\n\t\t\tTrigger_icon <= Over_add_icon $mol_icon_wrench_outline\n\t\t\tvalue? <=> over_prop_add? \\\n\t\t\toptions <= over_prop_options /string\n\tItem* $mol_view\n\t\tsub /\n\t\t\t<= Over_prop_name* $mol_paragraph\n\t\t\t\ttitle <= item_key*?\n\t\t\t<= Value* $hyoo_studio_value\n\t\t\t\ttree? <=> item_value*?\n\t\t\t\tbelong_to \\subprop\n\t\t\t\tprops_of* <= props_of*\n\t\t\t\tprops_bindable <= props_bindable\n\t\t\t\tclass_list <= class_list\n\t\t\t\tBound_prop* <= Bound_prop*\n\t\t\t\thead /\n\t\t\t\t\t<= Over_prop_name*\n","namespace $.$$ {\n\t\n\texport class $hyoo_studio_value_object extends $.$hyoo_studio_value_object {\n\n\t\tover_prop_add( next: string ) {\n\t\t\t\n\t\t\tif( !next ) return ''\n\t\t\t\n\t\t\tconst tree = this.tree()\n\t\t\t\n\t\t\tthis.tree(\n\t\t\t\ttree.clone( [\n\t\t\t\t\t...tree.kids,\n\t\t\t\t\ttree.struct( next, [\n\t\t\t\t\t\ttree.struct( 'null' ),\n\t\t\t\t\t] ),\n\t\t\t\t] )\n\t\t\t)\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tover_prop_options() {\n\t\t\treturn this.props_of( this.tree().type ).kids.map( prop => prop.type )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tprop_name_list() {\n\t\t\treturn this.props_bindable().kids.map( prop => prop.type )\n\t\t}\n\t}\n\t\n}\n","namespace $.$$ {\n\n\tconst { px, rem } = $mol_style_unit\n\n\t$mol_style_define( $hyoo_studio_value_object, {\n\n\t\tOver_prop_name: {\n\t\t\talignSelf: 'center',\n\t\t\tcolor: $mol_theme.shade,\n\t\t\tpadding: {\n\t\t\t\tleft: $mol_gap.block,\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n","$mol_icon_translate $mol_icon path \\M12.87,15.07L10.33,12.56L10.36,12.53C12.1,10.59 13.34,8.36 14.07,6H17V4H10V2H8V4H1V6H12.17C11.5,7.92 10.44,9.75 9,11.35C8.07,10.32 7.3,9.19 6.69,8H4.69C5.42,9.63 6.42,11.17 7.67,12.56L2.58,17.58L4,19L9,14L12.11,17.11L12.87,15.07M18.5,10H16.5L12,22H14L15.12,19H19.87L21,22H23L18.5,10M15.88,17L17.5,12.67L19.12,17H15.88Z\n","$hyoo_studio_value_string $hyoo_studio_value_unit\n\tself /\n\t\t<= Str $mol_textarea\n\t\t\tvalue? <=> str? \\\n\ttools /\n\t\t<= Type\n\t\t<= Locale $mol_check_icon\n\t\t\thint @ \\Multilingual\n\t\t\tIcon <= Locale_icon $mol_icon_translate\n\t\t\tchecked? <=> locale? false\n","namespace $.$$ {\n\t\n\texport class $hyoo_studio_value_string extends $.$hyoo_studio_value_string {\n\n\t\t@ $mol_mem\n\t\tstr( next?: string ) {\n\t\t\t\n\t\t\tconst val = this.tree()\n\n\t\t\tif (next !== undefined){\n\t\t\t\tthis.tree( val.type == '@' ? val.struct( '@', [ val.data(next) ] ) : val.data(next) )\n\t\t\t\treturn next\n\t\t\t}\n\n\t\t\treturn val.text()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlocale( next?: boolean ) {\n\t\t\t\n\t\t\tconst val = this.tree()\n\t\t\t\n\t\t\tif( next === undefined ) return '@' === val.type\n\t\t\t\n\t\t\tthis.tree(\n\t\t\t\tnext\n\t\t\t\t\t? val.struct( '@', [\n\t\t\t\t\t\tval.data( val.text() || val.type )\n\t\t\t\t\t] )\n\t\t\t\t\t: val.data( val.text() || val.type )\n\t\t\t)\n\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tvisible_tools(){\n\t\t\treturn this.belong_to() === 'prop'? [] : [ this.Type() ]\n\t\t}\n\n\t}\n\t\n}\n","namespace $.$$ {\n\n\tconst { px, rem } = $mol_style_unit\n\n\t$mol_style_define( $hyoo_studio_value_string, {\n\t\t\n\t\tpadding: {\n\t\t\tright: $mol_gap.space,\n\t\t},\n\n\t\tValue_tools: {\n\t\t\tflex: {\n\t\t\t\tgrow: 0,\n\t\t\t},\n\t\t},\n\n\t\tSelf: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t},\n\n\t\tStr: {\n\t\t\tmaxWidth: rem(40),\n\t\t\tEdit: {\n\t\t\t\tboxShadow: 'none',\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n","$mol_icon_minus $mol_icon path \\M19,13H5V11H19V13Z\n","$mol_number $mol_view\n\tprecision_view <= precision 1\n\tprecision_change <= precision 1\n\tvalue_min -Infinity\n\tvalue_max +Infinity\n\tvalue? +NaN\n\tenabled true\n\tsub /\n\t\t<= String $mol_string\n\t\t\t- \\ we don't want native number controls in mobile devices\n\t\t\t- \\ https://stackoverflow.com/questions/3790935/can-i-hide-the-html5-number-input-s-spin-box\n\t\t\ttype <= type \\tel\n\t\t\tvalue? <=> value_string? \\\n\t\t\thint <= hint \\ \n\t\t\tenabled <= string_enabled <= enabled\n\t\t\tsubmit? <=> submit? null\n\t\t<= Dec $mol_button_minor\n\t\t\tevent_click? <=> event_dec? null\n\t\t\tenabled <= dec_enabled <= enabled\n\t\t\tsub / <= dec_icon $mol_icon_minus\n\t\t<= Inc $mol_button_minor\n\t\t\tevent_click? <=> event_inc? null\n\t\t\tenabled <= inc_enabled <= enabled\n\t\t\tsub / <= inc_icon $mol_icon_plus\n","namespace $ { $mol_style_attach( \"mol/number/number.css\",\n \"[mol_number] {\\n\\tdisplay: flex;\\n\\tflex: 0 1 auto;\\n\\tposition: relative;\\n\\talign-items: stretch;\\n\\tmax-width: 100%;\\n}\\n\\n[mol_number_string] {\\n\\tappearance: textfield;\\n\\tflex: 1 1 7rem;\\n\\twidth: 7rem;\\n}\\n\\n[mol_number_string]::-webkit-inner-spin-button {\\n\\tdisplay: none;\\n}\\n\"\n) }","namespace $.$$ {\n\n\t/**\n\t * Component for entering, incrementing and decrementing numeric values.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_number_demo\n\t */\n\texport class $mol_number extends $.$mol_number {\n\t\t\n\t\tvalue_limited( val? : number ) : number {\n\t\t\tif (Number.isNaN( val )) return this.value( val )\n\t\t\tif ( val === undefined ) return this.value()\n\n\t\t\tconst min = this.value_min()\n\t\t\tconst max = this.value_max()\n\n\t\t\tif( val < min ) return this.value( min )\n\t\t\tif( val > max ) return this.value( max )\n\t\t\t\n\t\t\treturn this.value( val )\n\t\t}\n\n\t \toverride event_dec( next? : Event ) {\n\t\t\tthis.value_limited( ( this.value_limited() || 0 ) - this.precision_change() )\n\t\t}\n\n\t\toverride event_inc( next? : Event ) {\n\t\t\tthis.value_limited( ( this.value_limited() || 0 ) + this.precision_change() )\n\t\t}\n\n\t\tround(val: number) {\n\t\t\tif (Number.isNaN(val)) return ''\n\t\t\tif( val === 0 ) return '0'\n\t\t\tif( !val ) return ''\n\n\t\t\tconst precision_view = this.precision_view()\n\n\t\t\tif (! precision_view) return val.toFixed()\n\n\t\t\tif( precision_view >= 1 ) {\n\t\t\t\treturn ( val / precision_view ).toFixed()\n\t\t\t} else {\n\t\t\t\tconst fixed_number = Math.log10( 1 / precision_view )\n\t\t\t\treturn val.toFixed( Math.ceil( fixed_number ) )\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\toverride value_string( next? : string ): string {\n\t\t\t// Вытягиваем value\n\t\t\t// Если кто-то поменяет из вне value, value_string надо обновить\n\t\t\tconst current = this.round( this.value_limited() )\n\t\t\tif (next === undefined) return current\n\n\t\t\tconst precision = this.precision_view()\n\n\t\t\t// Точку в конце поставить нельзя, если precision_view целое число > 0\n\t\t\tif ( precision - Math.floor(precision) === 0 ) next = next.replace(/[.,]/g, '')\n\n\t\t\t// Запятые меняем на точки, удаляем не-цифры и не-точки и лишние ноли в начале целой части.\n\t\t\t// Минус получится ввести только в начале.\n\t\t\tnext = (this.value_min() < 0 && next.startsWith('-') ? '-' : '')\n\t\t\t\t+ next.replace(/,/g, '.').replace(/[^\\d\\.]/g, '').replace(/^0{2,}/, '0')\n\n\t\t\tlet dot_pos = next.indexOf('.')\n\n\t\t\tif (dot_pos !== -1) {\n\t\t\t\tconst prev = $mol_wire_probe(() => this.value_string()) ?? ''\n\t\t\t\tconst dot_pos_prev = prev.indexOf('.')\n\t\t\t\t// Определяем где относительно предыдущей точки юзер поставил новую\n\t\t\t\tif (dot_pos_prev === dot_pos) dot_pos = next.lastIndexOf('.')\n\t\t\t\t\n\t\t\t\t// Из частей до и после новой точки старую точку удаляем\n\t\t\t\tconst frac = next.slice(dot_pos + 1).replace(/\\./g, '')\n\n\t\t\t\t// Если точка идет первой, перед ней пишем 0, что бы форматирование выглядело нормально в mask\n\t\t\t\tnext = (next.slice(0, dot_pos) || '0').replace(/\\./g, '') + '.' + frac\n\t\t\t}\n\n\t\t\t// Оставляем старое значение в value есть сочетание, приводящие к NaN, например -.\n\t\t\tif ( Number.isNaN(Number(next)) ) return next\n\n\t\t\tif ( next.endsWith('.') ) return next\n\t\t\tif ( next.endsWith('-') ) return next\n\n\t\t\t// Если пустая строка - сетим NaN\n\t\t\t// Применяем округления.\n\t\t\tthis.value_limited(Number(next || Number.NaN))\n\n\t\t\t// Возвращаем все-равно не нормализованное значение\n\t\t\t// Иначе нельзя ввести будет 10, если min/max 5..10\n\t\t\treturn next\n\t\t}\n\n\t\t@ $mol_mem\n\t\toverride dec_enabled() : boolean {\n\t\t\treturn this.enabled() && (\n\t\t\t\t!( ( this.value() || 0 ) <= this.value_min() )\n\t\t\t)\n\t\t}\n\n\t\t@ $mol_mem\n\t\toverride inc_enabled() : boolean {\n\t\t\treturn this.enabled() && ( \n\t\t\t\t!( ( this.value() || 0 ) >= this.value_max() )\n\t\t\t)\n\t\t}\n\n\t}\n}\n","$hyoo_studio_value_number $hyoo_studio_value_unit\n\tself /\n\t\t<= Numb $mol_number\n\t\t\tvalue? <=> numb? +NaN\n","namespace $.$$ {\n\t\n\texport class $hyoo_studio_value_number extends $.$hyoo_studio_value_number {\n\n\t\t@ $mol_mem\n\t\tnumb( next?: number ) {\n\t\t\t\n\t\t\treturn Number( this.tree(\n\t\t\t\tnext === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: this.tree().struct( String( next ) )\n\t\t\t).type )\n\t\t\t\n\t\t}\n\n\t}\n\t\n}\n","namespace $.$$ {\n\n\tconst { px, rem } = $mol_style_unit\n\n\t$mol_style_define( $hyoo_studio_value_number, {\n\t\t\n\t\tSelf: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t},\n\t\t\n\t\tNumb: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t\tString: {\n\t\t\t\tboxShadow: 'none',\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n","$hyoo_studio_prop $mol_view\n\ttree?val $mol_tree2_empty\n\tsign? \\\n\tsub /\n\t\t<= Expander $mol_expander\n\t\t\tLabel <= Label $mol_view\n\t\t\t\tsub /\n\t\t\t\t\t<= Label_content $mol_view\n\t\t\t\t\t\tsub <= label_sub /\n\t\t\t\t\t\t\t<= Trigger $mol_check_expand\n\t\t\t\t\t\t\t\tIcon => Trigger_icon\n\t\t\t\t\t\t\t\tsub <= trigger_sub /\n\t\t\t\t\t\t\t\t\t<= Expander_title $mol_paragraph\n\t\t\t\t\t\t\t\t\t\ttitle <= name \\\n\t\t\t\t\t\t\t\t\t<= Trigger_icon\n\t\t\t\t\t\t\t\tchecked? <=> expanded? false\n\t\t\t\t\t\t\t\texpandable <= expandable true\n\t\t\t\t\t\t\t<= Prop_tools\n\t\t\texpanded? <=> expanded?\n\t\t\tTools <= Prop_tools $mol_view\n\t\t\t\tsub <= prop_tools /\n\t\t\t\t\t<= Value_tools $mol_view\n\t\t\t\t\t\tsub <= value_tools\n\t\t\t\t\t<= Key $mol_check_icon\n\t\t\t\t\t\thint @ \\Multiple values by key\n\t\t\t\t\t\tIcon <= Key_icon $mol_icon_key_change\n\t\t\t\t\t\tchecked? <=> multiple? false\n\t\t\t\t\t<= Next $mol_check_icon\n\t\t\t\t\t\thint @ \\Changeable\n\t\t\t\t\t\tIcon <= Next_icon $mol_icon_atom_variant\n\t\t\t\t\t\tchecked? <=> changeable? false\n\t\t\t\t\t<= Styles $mol_check_icon\n\t\t\t\t\t\thint @ \\Styles\n\t\t\t\t\t\tIcon <= Styles_icon $mol_icon_language_css3\n\t\t\t\t\t\tchecked? <=> styles_opened? false\n\t\t\t\t\t<= Behavior $mol_check_icon\n\t\t\t\t\t\thint @ \\Behavior\n\t\t\t\t\t\tIcon <= Behavior_icon $mol_icon_language_javascript\n\t\t\t\t\t\tchecked? <=> behavior_opened? false\n\t\t\tcontent <= prop_content /\n\t\t\t\t<= Value $hyoo_studio_value\n\t\t\t\t\thide_tools true\n\t\t\t\t\tvalue_tools => value_tools\n\t\t\t\t\tbelong_to \\prop\n\t\t\t\t\ttree? <=> value? $mol_tree2_empty\n\t\t\t\t\tprops_of* <= props_of* $mol_tree2_empty\n\t\t\t\t\tprops_bindable <= props_bindable $mol_tree2_empty\n\t\t\t\t\tclass_list <= class_list /string\n\t\t\t\t\tBound_prop* <= Bound_prop* $hyoo_studio_prop\n","namespace $.$$ {\n\t\n\texport class $hyoo_studio_prop extends $.$hyoo_studio_prop {\n\n\t\t@ $mol_mem\n\t\tmultiple( next?: any ): boolean {\n\t\t\t\n\t\t\tconst sign_obj = [ ...this.sign().matchAll( $mol_view_tree2_prop_signature ) ][ 0 ]?.groups ?? {\n\t\t\t\tname: '',\n\t\t\t\tkey: '',\n\t\t\t\tnext: '',\n\t\t\t}\n\t\t\t\n\t\t\tif( next !== undefined ) {\n\t\t\t\tconst new_sign = $mol_view_tree2_prop_signature.generate( { ...sign_obj, key: next ? '*' : '' } )!\n\t\t\t\tthis.sign( new_sign )\n\t\t\t\treturn next\n\t\t\t}\n\t\t\t\n\t\t\treturn Boolean( sign_obj.key )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tchangeable( next?: any ): boolean {\n\n\t\t\tconst sign_obj = [ ...this.sign().matchAll( $mol_view_tree2_prop_signature ) ][ 0 ]?.groups ?? {\n\t\t\t\tname: '',\n\t\t\t\tkey: '',\n\t\t\t\tnext: '',\n\t\t\t}\n\n\t\t\tif( next !== undefined ) {\n\t\t\t\tconst new_sign = $mol_view_tree2_prop_signature.generate( { ...sign_obj, next: next ? '?' : '' } )!\n\t\t\t\tthis.sign( new_sign )\n\t\t\t\treturn next\n\t\t\t}\n\n\t\t\treturn Boolean( sign_obj.next )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstyles_opened( next?: boolean ) {\n\t\t\tif (next !== undefined) {\n\t\t\t\tthis.$.$mol_state_arg.value('raw', next ? '' : null)\n\t\t\t\tthis.$.$mol_state_arg.value('raw_type', next ? 'Styles' : null)\n\t\t\t\tthis.$.$mol_state_arg.value('raw_prop', next ? this.name() : null)\n\t\t\t}\n\n\t\t\treturn this.$.$mol_state_arg.value('raw_prop') === this.name() && this.$.$mol_state_arg.value('raw') === '' && this.$.$mol_state_arg.value('raw_type') === 'styles'\n\t\t}\n\n\t\t@ $mol_mem\n\t\tbehavior_opened( next?: boolean ) {\n\t\t\tif (next !== undefined) {\n\t\t\t\tthis.$.$mol_state_arg.value('raw', next ? '' : null)\n\t\t\t\tthis.$.$mol_state_arg.value('raw_type', next ? 'Behavior' : null)\n\t\t\t\tthis.$.$mol_state_arg.value('raw_prop', next ? this.name() : null)\n\t\t\t}\n\n\t\t\treturn this.$.$mol_state_arg.value('raw_prop') === this.name() && this.$.$mol_state_arg.value('raw') === '' && this.$.$mol_state_arg.value('raw_type') === 'behavior'\n\t\t}\n\n\t\t@ $mol_mem\n\t\tprop_tools() {\n\t\t\treturn [\n\t\t\t\tthis.Value_tools(),\n\t\t\t\t... this.Value().type() === 'object' ? [this.Styles()] : [],\n\t\t\t\tthis.Behavior(),\n\t\t\t\tthis.Key(),\n\t\t\t\tthis.Next(),\n\t\t\t]\n\t\t}\n\t\t\n\t\tprop_content() {\n\t\t\tswitch (this.Value().type()) {\n\t\t\t\tcase 'object':\n\t\t\t\tcase 'text':\n\t\t\t\tcase 'number':\n\t\t\t\tcase 'list':\n\t\t\t\tcase 'dict':\n\t\t\t\tcase 'bind':\n\t\t\t\tcase 'get':\n\t\t\t\tcase 'put': \n\t\t\t\t\treturn [ this.Value() ]\n\t\t\t\tdefault: \n\t\t\t\t\treturn []\n\t\t\t}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\texpandable() {\n\t\t\tswitch (this.Value().type()) {\n\t\t\t\tcase 'object':\n\t\t\t\tcase 'text':\n\t\t\t\tcase 'number':\n\t\t\t\tcase 'list':\n\t\t\t\tcase 'dict': \n\t\t\t\tcase 'bind':\n\t\t\t\tcase 'get':\n\t\t\t\tcase 'put': \n\t\t\t\t\treturn true\n\t\t\t\tdefault: \n\t\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\n\t\t\t\n\t\t@ $mol_mem\n\t\texpanded(next?: boolean): boolean {\n\n\t\t\tif ( next !== undefined ) return next as never\n\n\t\t\tlet expanded: boolean | undefined = $mol_wire_probe( () => this.expanded() )\n\n\t\t\tconst type = this.Value().type()\n\n\t\t\tif ( !expanded ) {\n\t\t\t\tswitch (type) {\n\t\t\t\t\tcase 'object': \n\t\t\t\t\tcase 'list': \n\t\t\t\t\tcase 'dict': \n\t\t\t\t\t\treturn this.value().kids.length > 0 ? false : true\n\t\t\t\t\tcase 'text': \n\t\t\t\t\t\treturn this.value().text().length > 40 ? false : true\n\t\t\t\t\tcase 'null' :\n\t\t\t\t\tcase 'boolean_true' :\n\t\t\t\t\tcase 'boolean_false' :\n\t\t\t\t\tcase 'number' :\n\t\t\t\t\tcase 'number_nan' :\n\t\t\t\t\tcase 'number_infinity_negative' :\n\t\t\t\t\tcase 'number_infinity_positive' :\n\t\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\treturn expanded\n\t\t}\n\n\t\t@ $mol_mem\n\t\tvalue( next?: $mol_tree2 ) {\n\n\t\t\tlet val = this.tree()\n\n\t\t\tif( next !== undefined ) {\n\t\t\t\tval = this.tree( next && val.clone( [ next ] ) )\n\t\t\t\tthis.expanded( true )\n\t\t\t\treturn next\n\t\t\t}\n\t\t\t\n\t\t\treturn val?.kids[ 0 ]\n\t\t}\n\t}\n}\n","namespace $.$$ {\n\n\tconst { px, rem, per } = $mol_style_unit\n\n\t$mol_style_define( $hyoo_studio_prop, {\n\n\t\tflex: {\n\t\t\tgrow: 1,\n\t\t},\n\t\tborder: {\n\t\t\tradius: $mol_gap.round,\n\t\t},\n\t\tbackground: {\n\t\t\tcolor: $mol_theme.card,\n\t\t},\n\n\t\tValue: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t\tpadding: {\n\t\t\t\tbottom: $mol_gap.space,\n\t\t\t\tleft: $mol_gap.space,\n\t\t\t},\n\t\t\tBound: {\n\t\t\t\tSelf: {\n\t\t\t\t\tpadding: {\n\t\t\t\t\t\tleft: $mol_gap.block,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\tObject: {\n\t\t\tflexDirection: 'column',\n\t\t},\n\n\t\tExpander: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t},\n\n\t\tLabel_content: {\n\t\t\tflex: {\n\t\t\t\twrap: 'wrap',\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t},\n\n\t\tTrigger: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t},\n\n\t\tExpander_title: {\n\t\t\tcolor: $mol_theme.control,\n\t\t},\n\n\t\tProp_tools: {\n\t\t\tflex: {\n\t\t\t\tshrink: 1,\n\t\t\t},\n\t\t\tmargin: {\n\t\t\t\tleft: 'auto',\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n","namespace $ {\n\n\texport class $hyoo_studio_component extends $mol_object {\n\n\t\t@ $mol_mem\n\t\tsource(next?: string) {\n\t\t\treturn next ?? ''\n\t\t}\n\n\t\t@ $mol_mem\n\t\ttree(next?: $mol_tree2_empty) {\n\t\t\tconst source = this.source( next && next.toString() ).replace( /\\n?$/, '\\n' )\n\t\t\t\n\t\t\tconst tree = this.$.$mol_view_tree2_normalize(\n\t\t\t\tthis.$.$mol_tree2_from_string( source )\n\t\t\t).kids[0]\n\t\t\t\n\t\t\treturn tree\n\t\t}\n\n\t\t@ $mol_mem\n\t\tname( next?: string ) {\n\t\t\tconst tree = this.tree()\n\t\t\tif( !next ) return tree.type\n\t\t\t\n\t\t\tthis.tree(\n\t\t\t\ttree.struct( next, tree.kids )\n\t\t\t)\n\t\t\t\n\t\t\treturn next\n\t\t}\n\n\t\t@ $mol_mem\n\t\tbase( next?: string ) {\n\t\t\tconst self = this.tree()\n\t\t\tconst base = this.$.$mol_view_tree2_class_super( self )\n\t\t\tif( !next ) return base.type\n\t\t\t\n\t\t\tthis.tree(\n\t\t\t\tself.clone([\n\t\t\t\t\tbase.struct( next, base.kids )\n\t\t\t\t])\n\t\t\t)\n\t\t\t\n\t\t\treturn next\n\t\t}\n\n\t\t@ $mol_mem\n\t\tprop_names() {\n\t\t\treturn this.$.$mol_view_tree2_class_props( this.tree() ).map( tree => this.$.$mol_view_tree2_prop_parts( tree ).name )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tprops_tree() {\n\t\t\treturn this.tree().list( this.$.$mol_view_tree2_class_props( this.tree() ) )\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tprop_fullname( name: string ) {\n\t\t\tif (name.indexOf('*') + name.indexOf('?') + name.indexOf('!') > -3) return name\n\n\t\t\tfor (const tree of this.props_tree().kids) {\n\n\t\t\t\tconst sign = tree?.type ?? ''\n\t\t\t\tconst meta = [ ... sign.matchAll( $mol_view_tree2_prop_signature ) ][0]?.groups ?? { name: '', key: '', next: '' }\n\n\t\t\t\tif (meta.name === name) return `${meta.name}${meta.key || ''}${meta.next || ''}`\n\t\t\t}\n\n\t\t\treturn ''\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tprop_tree( name: string, next?: $mol_tree2 | null ) {\n\t\t\tconst sign = this.prop_fullname(name)\n\n\t\t\tif( next !== undefined ) {\n\t\t\t\tthis.tree( this.tree().insert( next, this.base(), sign ) )\n\t\t\t\treturn next\n\t\t\t}\n\t\t\t\n\t\t\treturn this.props_tree().select( sign ).kids[0] ?? null\n\t\t}\n\n\t\t@ $mol_action\n\t\tprop_add( name: string ) {\n\t\t\tconst tree = this.tree()\n\t\t\t\n\t\t\tthis.tree(\n\t\t\t\ttree.insert(\n\t\t\t\t\ttree.struct( name, [\n\t\t\t\t\t\ttree.struct( 'null' ),\n\t\t\t\t\t] ),\n\t\t\t\t\tnull,\n\t\t\t\t\tname,\n\t\t\t\t)\n\t\t\t)\n\t\t}\n\n\t\t@ $mol_action\n\t\tprop_drop( name: string ) {\n\t\t\tthis.prop_tree( name , null )\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tproperty( name: string ) {\n\t\t\treturn $hyoo_studio_property.make({\n\t\t\t\tname: $mol_const(name),\n\t\t\t\ttree: next => this.prop_tree( name, next )!,\n\t\t\t\tcomponent: $mol_const(this),\n\t\t\t})\n\t\t}\n\n\t}\n\n}\n","$mol_tag_tree $mol_list\n\tpath /string\n\tids_tags *\n\tids /\n\ttags /string\n\tlevels_expanded 0\n\tsub /$mol_view\n\t\t^ tag_list /$mol_view\n\t\t^ item_list /$mol_view\n\ttag_name* \\\n\ttag_list /$mol_view\n\titem_list /$mol_view\n\tItem* $mol_view\n\t\tsub /\n\t\t\t<= item_title* \\\n\tTag* $mol_expander\n\t\texpandable true\n\t\texpanded? <=> tag_expanded*? false\n\t\ttitle <= tag_name* \\\n\t\tcontent / <= Tag_tree* $mol_tag_tree\n\t\t\tids_tags <= ids_tags\n\t\t\tpath <= tag_path* /string\n\t\t\tItem* <= Item*\n\t\t\titem_title* <= item_title*\n\t\t\ttag_expanded*? <=> tag_expanded*?\n\t\t\ttag_name* <= tag_name*\n","namespace $ {\n\n\texport function $mol_compare_text< Item >( item = ( item : Item )=> String( item ) ) {\n\t\t\n\t\treturn ( a : Item , b : Item )=> {\n\n\t\t\tconst text_a = item( a ).trim().toLowerCase()\n\t\t\tconst text_b = item( b ).trim().toLowerCase()\n\n\t\t\tconst parts_a = text_a.split( /(\\d+)/ )\n\t\t\tconst parts_b = text_b.split( /(\\d+)/ )\n\n\t\t\tconst count = Math.max( parts_a.length , parts_b.length )\n\t\t\t\n\t\t\tfor( let i = 0 ; i < count ; ++ i ) {\n\n\t\t\t\tconst part_a = parts_a[i] || ''\n\t\t\t\tconst part_b = parts_b[i] || ''\n\t\t\t\t\n\t\t\t\tconst diff = Number( part_a ) - Number( part_b )\n\t\t\t\tif( diff ) return diff\n\n\t\t\t\tif( part_a > part_b ) return 1\n\t\t\t\tif( part_a < part_b ) return -1\n\n\t\t\t}\n\t\t\t\n\t\t\treturn parts_a.length - parts_b.length\n\t\t}\n\n\t}\n\n}\n","namespace $.$$ {\n\n\t/**\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_tag_tree_demo\n\t */\n\texport class $mol_tag_tree extends $.$mol_tag_tree {\n\n\t\t@ $mol_mem\n\t\toverride ids() {\n\t\t\tconst prefix = this.path().join( '/' )\n\t\t\tconst ids_tags = this.ids_tags()\n\t\t\treturn Object.keys( ids_tags ).filter( id => ids_tags[ id ].some( ( tag: string )=> tag.startsWith( prefix ) ) )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\toverride item_list() {\n\t\t\tconst path = this.path()\n\t\t\tconst grouped = new Set( this.tags().flatMap( tag => this.Tag_tree( tag ).ids() ) )\n\t\t\treturn this.ids()\n\t\t\t\t.filter( id => !grouped.has( id ) )\n\t\t\t\t.sort( $mol_compare_text() )\n\t\t\t\t.map( id => this.Item([ ... path, id ]) )\n\t\t}\n\n\t\t@ $mol_mem\n\t\toverride tags() {\n\t\t\t\n\t\t\tconst stat = new Map< string, number >()\n\t\t\tconst ids_tags = this.ids_tags()\n\t\t\tconst ids = this.ids()\n\t\t\tconst prefix = this.path().join( '/' )\n\t\t\t\n\t\t\tfor( let id of ids ) {\n\t\t\t\tfor( let tag of ids_tags[ id ] ) {\n\t\t\t\t\tif( prefix && !( tag as string ).startsWith( prefix + '/' ) ) continue\n\t\t\t\t\ttag = tag.slice( prefix.length ).replace( /^\\//, '' )\n\t\t\t\t\tstat.set( tag, ( stat.get( tag ) ?? 0 ) + 1 )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tfor( let [ tag, count ] of stat ) {\n\t\t\t\tif( count < 2 ) stat.delete( tag )\n\t\t\t\tif( count > ids.length - 2 ) stat.delete( tag )\n\t\t\t}\n\t\t\t\n\t\t\tconst prefixes = [ ... new Set( [ ... stat.keys() ].map( tag => tag.replace( /\\/.*/, '' ) ) ) ].sort( $mol_compare_text() )\n\t\t\treturn prefixes\n\t\t}\n\n\t\t@ $mol_mem\n\t\toverride tag_list() {\n\t\t\treturn this.tags().map( tag => this.Tag([ tag ]))\n\t\t}\n\t\t\n\t\toverride tag_path( id: string ) {\n\t\t\treturn [ ... this.path(), id ]\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\toverride tag_expanded( id: readonly string[], next?: boolean ) {\n\t\t\treturn next ?? this.tag_expanded_default(id)\n\t\t}\n\n\t\ttag_expanded_default(id: readonly string[]) {\n\t\t\treturn this.levels_expanded() >= id.length\n\t\t}\n\n\t\toverride tag_name( id: string ) {\n\t\t\treturn id\n\t\t}\n\n\t\toverride item_title(id: readonly string[]) {\n\t\t\treturn id.at(-1)!\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/tag/tree/tree.view.css\",\n \"[mol_tag_tree_tag_content] {\\n\\tpadding-left: var(--mol_gap_block);\\n margin-left: var(--mol_gap_block);\\n box-shadow: inset 1px 0 0 0 var(--mol_theme_line);\\n}\\n\\n[mol_tag_tree_item] {\\n\\tpadding: var(--mol_gap_text);\\n\\tpadding-left: 0;\\n}\\n\\n[mol_tag_tree_tag_trigger_icon] {\\n margin-left: -1rem;\\n margin-right: -0.25rem;\\n}\\n\"\n) }","$mol_app_demo_menu $mol_page\n\tnames /string\n\twidget_tags* /string\n\twidget_aspects* /string\n\twidget_title* \\\n\tsearch_start? null\n\tbody /\n\t\t<= Filter $mol_search\n\t\t\tquery? <=> filter? \\\n\t\t\t- suggests <= filter_suggests\n\t\t<= Tree $mol_tag_tree\n\t\t\tItem* <= Option*\n\t\t\tids_tags <= ids_tags *\n\t\t\tlevels_expanded <= levels_expanded <= levels_expanded_default 0\n\tOption* $mol_link\n\t\targ <= option_arg* *\n\t\tsub /\n\t\t\t<= Option_title* $mol_dimmer\n\t\t\t\thaystack <= option_title* \\\n\t\t\t\tneedle <= filter? \\\n","namespace $.$$ {\n\t\n\t/** The component tags should be at the end of the list */\n\tconst compare_names = ( a: string, b: string )=> {\n\t\tif ( a[ 0 ] === '$' && b[ 0 ] !== '$') return 1\n\t\tif ( a[ 0 ] !== '$' && b[ 0 ] === '$' ) return -1\n\t\tif ( a > b ) return 1\n\t\tif ( a < b ) return -1\n\t\treturn 0\n\t}\n\n\texport class $mol_app_demo_menu extends $.$mol_app_demo_menu {\n\n\t\t@ $mol_mem\n\t\toverride filter( next?: string ) {\n\t\t\treturn this.$.$mol_state_session.value( 'filter' , next === '' ? null : next ) ?? super.filter() as string\n\t\t}\n\t\t\n\t\toverride option_arg( id: readonly string[] ) {\n\t\t\treturn { 'demo' : id.at(-1)?.replace(/^\\$*/, '') }\n\t\t}\n\t\t\n\t\toverride option_title( path_id: readonly string[] ) {\n\t\t\tconst id = path_id.at(-1)!\n\n\t\t\treturn id.replace( '_demo_', '/' ).replace( '_demo', '' )\n\t\t}\n\n\t\toverride search_start( event?: Event ) {\n\t\t\tthis.Filter().Query().bring()\n\t\t\tevent?.preventDefault()\n\t\t}\n\t\t\n\t\t/** Filter string not empty and ends with space */\n\t\t@ $mol_mem\n\t\tfilter_last_word_completed() {\n\t\t\treturn /[^\\s]+\\s+$/.test( this.filter() )\n\t\t}\n\n\t\t/** Filter string uniq words */\n\t\t@ $mol_mem\n\t\tfilter_words() {\n\t\t\tconst filter = this.filter().trim()\n\n\t\t\tconst words = filter !== '' ? filter.split( /\\s+/ ) : []\n\n\t\t\treturn [ ... new Set( words ) ].map( word => word.toLowerCase() )\n\t\t}\n\n\t\t@ $mol_mem\n\t\toverride ids_tags() {\n\t\t\tconst result = {} as Record\n\n\t\t\tfor (const name of this.names_filtered()) {\n\t\t\t\tlet aspects = this.widget_aspects( name )\n\t\t\t\tresult[name] = result[name] ?? []\n\n\t\t\t\tfor (const tag of aspects) {\n\t\t\t\t\tresult[name].push(tag)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn result\n\t\t}\n\n\t\t@ $mol_mem\n\t\ttags_filtered() {\n\t\t\treturn [... new Set(\n\t\t\t\tthis.names_filtered().flatMap( name => this.widget_tags( name ) )\n\t\t\t) ]\n\t\t\t\t.map( tag => tag.trim().toLowerCase() )\n\t\t\t\t.filter( tag => tag !== '')\n\t\t\t\t.sort( compare_names )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tfilter_suggests() {\n\t\t\tconst filter_words = this.filter_words()\n\n\t\t\tif( filter_words.length === 0 ) return this.tags_filtered()\n\n\t\t\tconst filtered_names = this.names_filtered()\n\n\t\t\tif( filtered_names.length <= 1 ) return []\n\n\t\t\tconst tags = this.tags_filtered()\n\n\t\t\tconst filter_last_word = filter_words.slice( -1 )[ 0 ]\n\n\t\t\tconst filter_last_word_completed = this.filter_last_word_completed()\n\t\t\t\n\t\t\t/** Tags suggests */\n\t\t\tconst suggests: string[] = []\n\n\t\t\tfor( const tag of tags ) {\n\t\t\t\tif( filter_words.includes( tag ) ) continue\n\n\t\t\t\tif ( filter_last_word_completed ) {\n\t\t\t\t\tsuggests.push(\n\t\t\t\t\t\t`${ filter_words.join( ' ' ) } ${ tag }`\n\t\t\t\t\t)\n\t\t\t\t} else if ( \n\t\t\t\t\ttag.indexOf( filter_last_word ) === 0 &&\n\t\t\t\t\t( filter_last_word.length < tag.length )\n\t\t\t\t) {\n\t\t\t\t\tsuggests.push(\n\t\t\t\t\t\t`${ filter_words.slice( 0, -1 ).join( ' ' ) } ${ tag }`\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn suggests\n\t\t}\n\n\t\tlevels_expanded() {\n\t\t\tif (this.filter_words().length) return 99\n\n\t\t\treturn super.levels_expanded()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tnames_filtered() {\n\t\t\tconst words = this.filter_words()\n\t\t\treturn this.names().filter( $mol_match_text( this.filter(), name => [\n\t\t\t\tname,\n\t\t\t\t... this.widget_aspects( name ),\n\t\t\t\t... this.widget_tags( name ),\n\t\t\t] ) )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/app/demo/menu/menu.view.css\",\n \"[mol_app_demo_menu] {\\n\\tflex: 0 0 18rem;\\n}\\n\\n[mol_app_demo_menu_selector] {\\n\\tdisplay: flex;\\n\\tflex-wrap: nowrap;\\n\\tgap: 0;\\n}\\n\\n[mol_app_demo_menu_tools] {\\n\\tpadding: 0;\\n}\\n\\n[mol_app_demo_menu_themes] {\\n\\tflex: none;\\n}\\n\\n[mol_app_demo_menu_filter] {\\n\\talign-self: stretch;\\n\\tflex-grow: 0;\\n\\tflex-shrink: 0;\\n}\\n\"\n) }","$mol_icon_forum $mol_icon path \\M17,12V3A1,1 0 0,0 16,2H3A1,1 0 0,0 2,3V17L6,13H16A1,1 0 0,0 17,12M21,6H19V15H6V17A1,1 0 0,0 7,18H18L22,22V7A1,1 0 0,0 21,6Z\n","$mol_icon_forum_outline $mol_icon path \\M15,4V11H5.17L4,12.17V4H15M16,2H3A1,1 0 0,0 2,3V17L6,13H16A1,1 0 0,0 17,12V3A1,1 0 0,0 16,2M21,6H19V15H6V17A1,1 0 0,0 7,18H18L22,22V7A1,1 0 0,0 21,6Z\n","$mol_icon_open_in_new $mol_icon path \\M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z\n","$mol_chat $mol_link\n\tseed \\\n\topened false\n\targ * mol_chat \\\n\thint <= title\n\tsub /\n\t\t<= Icon $mol_icon_forum_outline\n\tpages /\n\t\t<= Page $mol_page\n\t\t\ttitle <= title @ \\Discussion\n\t\t\ttools /\n\t\t\t\t<= Esternal $mol_link\n\t\t\t\t\turi <= standalone \\\n\t\t\t\t\tsub /\n\t\t\t\t\t\t<= Standalone_icon $mol_icon_open_in_new\n\t\t\t\t<= Close $mol_link\n\t\t\t\t\targ * mol_chat null\n\t\t\t\t\tsub /\n\t\t\t\t\t\t<= Close_icon $mol_icon_close\n\t\t\tBody <= Embed $mol_frame\n\t\t\t\turi <= embed \\\n","namespace $.$$ {\n\n\t/**\n\t * Button to open embedded chat.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_chat_demo\n\t */\n\texport class $mol_chat extends $.$mol_chat {\n\t\t\n\t\topened() {\n\t\t\treturn this.$.$mol_state_arg.value( 'mol_chat' ) !== null\n\t\t}\n\t\t\n\t\tpages() {\n\t\t\treturn this.opened() ? [ this.Page() ] : []\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstandalone() {\n\t\t\tconst seed = this.seed()\n\t\t\tconst origin = new URL( this.$.$mol_state_arg.href() ).origin\n\t\t\treturn `https://talks.hyoo.ru/#!chat=${ seed }`\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tembed() {\n\t\t\tconst seed = this.seed()\n\t\t\tconst lights = String( this.$.$mol_lights() )\n\t\t\tconst embed = this.$.$mol_state_arg.href()\n\t\t\treturn `https://talks.hyoo.ru/#!chat=${ encodeURIComponent( seed ) }/mol_lights=${ lights }`\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/chat/chat.view.css\",\n \"[mol_chat_page] {\\n\\tflex: 1 0 30rem;\\n}\\n\"\n) }","$mol_icon_settings $mol_icon path \\M12,15.5C10.07,15.5 8.5,13.93 8.5,12C8.5,10.07 10.07,8.5 12,8.5C13.93,8.5 15.5,10.07 15.5,12C15.5,13.93 13.93,15.5 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z\n","$mol_app_demo_detail $mol_page\n\tdescription \\\n\ttools /\n\t\t<= Readme $mol_check_icon\n\t\t\tchecked? <=> readme? false\n\t\t\thint @ \\Readme\n\t\t\tIcon <= readme_icon $mol_icon_information_outline\n\t\t<= Chat $mol_chat\n\t\t\tpages => chat_pages\n\t\t\tseed <= chat_seed \\0_0\n\t\t<= Edit $mol_link\n\t\t\thint <= edit_hint @ \\Edit this demo in studio\n\t\t\tsub /\n\t\t\t\t<= Edit_speck $mol_speck\n\t\t\t\t\tvalue \\β\n\t\t\t\t<= Edit_icon $mol_icon_settings\n\t\t\turi <= edit_uri \\\n\t\t<= Close $mol_link \n\t\t\thint <= close_hint @ \\Close panel\n\t\t\tsub /\n\t\t\t\t<= Close_icon $mol_icon_close\n\t\t\targ <= close_arg *\n\t\t\t\tdemo null\n\tbody /\n\t\t<= Demo $mol_view\n","$mol_example $mol_view\n\ttags /string\n\taspects /string\n","namespace $ { $mol_style_attach( \"mol/example/example.view.css\",\n \"[mol_example] {\\n\\tmax-width: 100%;\\n}\\n\"\n) }","$mol_example_small $mol_example\n","namespace $ { $mol_style_attach( \"mol/example/small/small.view.css\",\n \"[mol_example_small] {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\talign-items: flex-start;\\n\\talign-content: flex-start;\\n\\tjustify-content: flex-start;\\n\\tflex: 0 0 auto;\\n\\tbox-sizing: border-box;\\n\\tmax-width: 100%;\\n\\tgap: var(--mol_gap_block);\\n}\\n\\n[mol_example_small] > * {\\n\\tmax-width: 100%;\\n}\\n\"\n) }","$mol_example_large $mol_example\n","namespace $ { $mol_style_attach( \"mol/example/large/large.view.css\",\n \"[mol_example_large] {\\n\\tflex: 1 1 auto;\\n\\tflex-direction: column;\\n\\tbackground: var(--mol_theme_back);\\n\\tbox-shadow: 0 0 0 1px var(--mol_theme_line);\\n\\tborder-radius: var(--mol_gap_round);\\n\\tmax-width: 100%;\\n\\tmax-height: 100%;\\n\\toverflow: hidden;\\n}\\n\"\n) }","$mol_float $mol_view\n\tstyle *\n\t\t^\n\t\tminHeight \\auto\n","namespace $ { $mol_style_attach( \"mol/float/float.view.css\",\n \"[mol_float] {\\n\\tposition: sticky;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tz-index: var(--mol_layer_float);\\n\\topacity: 1;\\n\\ttransition: opacity .25s ease-in;\\n\\tdisplay: block;\\n\\tbackground: linear-gradient( var(--mol_theme_card), var(--mol_theme_card) ), var(--mol_theme_back);\\n\\tbox-shadow: 0 0 .5rem hsla(0,0%,0%,.25);\\n}\\n\\n\"\n) }","$mol_grid $mol_view\n\trow_height 32\n\trow_ids /string[]\n\trow_id* null\n\tcol_ids /\n\trecords *\n\trecord* null\n\thierarchy null\n\thierarchy_col \\\n\tminimal_width 0\n\t-\n\tsub /\n\t\t<= Head\n\t\t<= Table $mol_grid_table\n\t\t\tsub <= rows /$mol_view\n\tHead $mol_grid_row\n\t\tcells <= head_cells /$mol_view\n\tRow* $mol_grid_row\n\t\tminimal_height <= row_height\n\t\tminimal_width <= minimal_width\n\t\tcells <= cells* /$mol_view\n\t-\n\tCell* $mol_view\n\tcell* null\n\tCell_text* $mol_grid_cell\n\t\tsub <= cell_content_text* <= cell_content* /$mol_view_content\n\tCell_number* $mol_grid_number\n\t\tsub <= cell_content_number* <= cell_content* /$mol_view_content\n\tCol_head* $mol_float\n\t\tdom_name \\th\n\t\tsub <= col_head_content* /$mol_view_content\n\tCell_branch* $mol_check_expand\n\t\tlevel <= cell_level* 0\n\t\tlabel <= cell_content* /$mol_view_content\n\t\texpanded? <=> cell_expanded*? false\n\tCell_content* /\n\t\t<= Cell_dimmer* $mol_dimmer\n\t\t\tneedle <= needle \\\n\t\t\thaystack <= cell_value* \\\n\n$mol_grid_table $mol_list\n\t- dom_name \\table\n\n$mol_grid_row $mol_view\n\t- dom_name \\tr\n\tsub <= cells /$mol_view\n\n$mol_grid_cell $mol_view\n\t- dom_name \\td\n\tminimal_height 40\n\n$mol_grid_number $mol_grid_cell\n","namespace $.$$ {\n\t\n\texport interface $mol_grid_node {\n\t\tid : string\n\t\tparent : $mol_grid_node\n\t\tsub : $mol_grid_node[]\n\t}\n\t\n\texport class $mol_grid extends $.$mol_grid {\n\t\t\n\t\t@ $mol_mem\n\t\thead_cells() {\n\t\t\treturn this.col_ids().map( colId => this.Col_head( colId ) ) as readonly $mol_view[]\n\t\t}\n\t\t\n\t\tcol_head_content( colId : string ) {\n\t\t\treturn [ colId ] as readonly string[]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\trows() {\n\t\t\treturn this.row_ids().map( id => this.Row( id ) ) as readonly $mol_view[]\n\t\t}\n\t\t\n\t\tcells( row_id : string[] ) {\n\t\t\treturn this.col_ids().map( col_id => this.Cell({ row : row_id , col : col_id }) ) as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tcol_type( col_id : string ) {\n\t\t\tif( col_id === this.hierarchy_col() ) return 'branch'\n\t\t\t\n\t\t\tconst rowFirst = this.row_id( 0 )\n\t\t\tconst val = this.record( rowFirst[ rowFirst.length -1 ] )[ col_id ]\n\t\t\tif( typeof val === 'number' ) return 'number'\n\t\t\t\n\t\t\treturn 'text'\n\t\t}\n\t\t\n\t\tCell( id : { row : string[] , col : string } ) : $mol_view {\n\t\t\tswitch( this.col_type( id.col ).valueOf() ) {\n\t\t\t\tcase 'branch' : return this.Cell_branch( id )\n\t\t\t\tcase 'number' : return this.Cell_number( id )\n\t\t\t}\n\t\t\t\n\t\t\treturn this.Cell_text( id )\n\t\t}\n\t\t\n\t\tcell_content( id : { row : string[] , col : string } ) {\n\t\t\treturn [ this.record( id.row[ id.row.length - 1 ] )[ id.col ] ]\n\t\t}\n\t\t\n\t\tcell_content_text( id : { row : string[] , col : string } ) {\n\t\t\treturn this.cell_content( id ).map( val => typeof val === 'object' ? JSON.stringify( val ) : val )\n\t\t}\n\t\t\n\t\trecords() : any {\n\t\t\treturn []\n\t\t}\n\t\t\n\t\trecord( id : string ) {\n\t\t\treturn this.records()[ id ]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\trecord_ids() {\n\t\t\treturn Object.keys( this.records() )\n\t\t}\n\t\t\n\t\trow_id( index : number ) {\n\t\t\treturn ( this.row_ids().slice( index , index + 1 ).valueOf() as string[] )[0]\n\t\t}\n\n\t\tcol_ids() {\n\t\t\tconst rowFirst = this.row_id(0)\n\t\t\tif( rowFirst === void 0 ) return []\n\t\t\t\n\t\t\tconst record = this.record( rowFirst[ rowFirst.length - 1 ] )\n\t\t\tif( !record ) return []\n\t\t\t\n\t\t\treturn Object.keys( record ) as readonly string[]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\thierarchy() {\n\t\t\tconst hierarchy : { [ id : string ] : $mol_grid_node } = {}\n\t\t\tconst root = hierarchy[ '' ] = {\n\t\t\t\tid : '' ,\n\t\t\t\tparent : null as any as $mol_grid_node ,\n\t\t\t\tsub : [] as $mol_grid_node[] ,\n\t\t\t}\n\t\t\tthis.record_ids().map( id => {\n\t\t\t\troot.sub.push( hierarchy[ id ] = {\n\t\t\t\t\tid ,\n\t\t\t\t\tparent : root ,\n\t\t\t\t\tsub : [] ,\n\t\t\t\t} )\n\t\t\t} )\n\t\t\treturn hierarchy\n\t\t}\n\t\t\n\t\trow_sub_ids( row : string[] ) : string[][] {\n\t\t\treturn this.hierarchy()[ row[ row.length - 1 ] ].sub.map( child => row.concat( child.id ) )\n\t\t}\n\t\t\n\t\trow_root_id() : string[] {\n\t\t\treturn [ '' ]\n\t\t}\n\t\t\n\t\tcell_level( id : { row : string[] } ) {\n\t\t\treturn id.row.length - 1\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\trow_ids() {\n\t\t\tconst next : string[][] = []\n\t\t\t\n\t\t\tconst add = ( row : string[] )=> {\n\t\t\t\tnext.push( row )\n\t\t\t\tif( this.row_expanded( row ) ) {\n\t\t\t\t\tthis.row_sub_ids( row ).forEach( child => add( child ) )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tthis.row_sub_ids( this.row_root_id() ).forEach( child => add( child ) )\n\t\t\t\n\t\t\treturn next as readonly string[][]\n\t\t}\n\t\t\n\t\trow_expanded( row_id : string[] , next? : boolean ) {\n\t\t\tif( !this.row_sub_ids( row_id ).length ) return null\n\t\t\t\n\t\t\tconst key = `row_expanded(${ JSON.stringify( row_id ) })`\n\t\t\tconst next2 = $mol_state_session.value( key , next )\n\t\t\t\n\t\t\treturn ( next2 == null ) ? this.row_expanded_default( row_id ) : next2\n\t\t}\n\t\t\n\t\trow_expanded_default( row_id : string[] ) {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\tcell_expanded( id : { row : string[] } , next? : boolean ) {\n\t\t\treturn this.row_expanded( id.row , next )!\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/grid/grid.view.css\",\n \"[mol_grid] {\\n\\tdisplay: block;\\n\\tflex: 0 1 auto;\\n\\tposition: relative;\\n\\toverflow-x: auto;\\n}\\n\\n[mol_grid_gap] {\\n\\tposition: absolute;\\n\\tpadding: .1px;\\n\\ttop: 0;\\n\\ttransform: translateZ(0);\\n}\\n\\n[mol_grid_table] {\\n\\tborder-spacing: 0;\\n\\tdisplay: table-row-group;\\n\\tposition: relative;\\n}\\n\\n[mol_grid_table] > * {\\n\\tdisplay: table-row;\\n\\ttransition: none;\\n}\\n\\n[mol_grid_head] > *,\\n[mol_grid_table] > * > * {\\n\\tdisplay: table-cell;\\n\\tpadding: var(--mol_gap_text);\\n\\twhite-space: nowrap;\\n\\tvertical-align: middle;\\n\\tbox-shadow: inset 1px 1px 0 0 var(--mol_theme_line);\\n}\\n\\n[mol_grid_row]:where(:first-child) > * {\\n\\tbox-shadow: inset 1px 0 0 0 var(--mol_theme_line);\\n}\\n\\n[mol_grid_table] > * > *:where(:first-child) {\\n\\tbox-shadow: inset 0px 1px 0 0 var(--mol_theme_line);\\n}\\n\\n[mol_grid_head] > * {\\n\\tbox-shadow: inset 1px -1px 0 0 var(--mol_theme_line);\\n}\\n\\n[mol_grid_head] > *:where(:first-child) {\\n\\tbox-shadow: inset 0px -1px 0 0 var(--mol_theme_line);\\n}\\n\\n[mol_grid_table] > [mol_grid_row]:where(:first-child) > *:where(:first-child) {\\n\\tbox-shadow: none;\\n}\\t\\n\\n[mol_grid_head] {\\n\\tdisplay: table-row;\\n\\ttransform: none !important;\\n}\\n\\n/* [mol_grid_cell_number] {\\n\\ttext-align: right;\\n} */\\n\\n[mol_grid_col_head] {\\n\\tfont-weight: inherit;\\n\\ttext-align: inherit;\\n\\tdisplay: table-cell;\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\\n[mol_grid_cell_dimmer] {\\n\\tdisplay: inline-block;\\n\\tvertical-align: inherit;\\n}\\n\"\n) }","$mol_image $mol_view\n\tdom_name \\img\n\tfield *any\n\t\t^\n\t\tsrc <= uri \\\n\t\talt <= title\n\t\tloading <= loading \\eager\n\t\tdecoding <= decoding \\async\n\t\tcrossOrigin <= cors null\n\tattr *any\n\t\t^\n\t\twidth <= natural_width 0\n\t\theight <= natural_height 0\n\tevent *any\n\t\tload? <=> load? null\n\tminimal_width 16\n\tminimal_height 16\n","namespace $.$$ {\n\texport class $mol_image extends $.$mol_image {\n\t\t\n\t\t@ $mol_mem\n\t\tnatural_width( next?: null ) {\n\t\t\t\n\t\t\tconst dom = this.dom_node() as HTMLImageElement\n\t\t\tif( dom.naturalWidth ) return dom.naturalWidth\n\t\t\t\n\t\t\tconst found = this.uri().match( /\\bwidth=(\\d+)/ )\n\t\t\treturn found ? Number( found[1] ) : null!\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tnatural_height( next?: null ) {\n\t\t\t\n\t\t\tconst dom = this.dom_node() as HTMLImageElement\n\t\t\tif( dom.naturalHeight ) return dom.naturalHeight\n\t\t\t\n\t\t\tconst found = this.uri().match( /\\bheight=(\\d+)/ )\n\t\t\treturn found ? Number( found[1] ) : null!\n\t\t\t\n\t\t}\n\t\t\n\t\tload() {\n\t\t\tthis.natural_width( null )\n\t\t\tthis.natural_height( null )\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/image/image.view.css\",\n \"[mol_image] {\\n\\tborder-radius: var(--mol_gap_round);\\n\\toverflow: hidden;\\n\\tflex: 0 1 auto;\\n\\tmax-width: 100%;\\n\\tobject-fit: cover;\\n\\theight: fit-content;\\n}\\n\"\n) }","$mol_link_iconed $mol_link\n\tsub /\n\t\t<= Icon $mol_image\n\t\t\turi <= icon \\\n\t\t\ttitle \\\n\tcontent /\n\t\t<= title <= uri\n\thost \\\n","namespace $.$$ {\n\n\texport class $mol_link_iconed extends $.$mol_link_iconed {\n\n\t\t@ $mol_mem\n\t\ticon() {\n\t\t\treturn `https://favicon.yandex.net/favicon/${ this.host() }?color=0,0,0,0&size=32&stub=1`\n\t\t\t// return `https://api.faviconkit.com/${ this.host() }/16`\n\t\t}\n\n\t\t@ $mol_mem\n\t\thost() {\n\t\t\tconst base = this.$.$mol_state_arg.href()\n\t\t\tconst url = new URL( this.uri() , base )\n\t\t\treturn url.hostname\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttitle() {\n\t\t\tconst uri = this.uri()\n\t\t\tconst host = this.host()\n\t\t\tconst suffix = ( host ? uri.split( this.host() , 2 )[1] : uri )?.replace( /^[\\/\\?#!]+/, '' )\n\t\t\treturn decodeURIComponent( suffix || host ).replace( /^\\//, ' ' )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\t... this.host() ? [ this.Icon() ] : [],\n\t\t\t\t... this.content() ? [ ' ', ... this.content() ] : [],\n\t\t\t] as readonly any[]\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/link/iconed/iconed.view.css\",\n \"[mol_link_iconed] {\\n\\talign-items: baseline;\\n\\tdisplay: inline-flex;\\n\\tpadding: var(--mol_gap_text);\\n}\\n\\n[mol_link_iconed_icon] {\\n\\tbox-shadow: none;\\n\\theight: 1.5em;\\n\\twidth: 1em;\\n\\tflex: 0 0 auto;\\n\\tdisplay: inline-block;\\n\\talign-self: normal;\\n\\tvertical-align: top;\\n\\tborder-radius: 0;\\n\\tobject-fit: scale-down;\\n\\topacity: .75;\\n}\\n\\n[mol_theme=\\\"$mol_theme_dark\\\"] [mol_link_iconed_icon] {\\n\\tfilter: var(--mol_theme_image);\\n}\\n\"\n) }","$mol_icon_youtube $mol_icon path \\M10,15L15.19,12L10,9V15M21.56,7.17C21.69,7.64 21.78,8.27 21.84,9.07C21.91,9.87 21.94,10.56 21.94,11.16L22,12C22,14.19 21.84,15.8 21.56,16.83C21.31,17.73 20.73,18.31 19.83,18.56C19.36,18.69 18.5,18.78 17.18,18.84C15.88,18.91 14.69,18.94 13.59,18.94L12,19C7.81,19 5.2,18.84 4.17,18.56C3.27,18.31 2.69,17.73 2.44,16.83C2.31,16.36 2.22,15.73 2.16,14.93C2.09,14.13 2.06,13.44 2.06,12.84L2,12C2,9.81 2.16,8.2 2.44,7.17C2.69,6.27 3.27,5.69 4.17,5.44C4.64,5.31 5.5,5.22 6.82,5.16C8.12,5.09 9.31,5.06 10.41,5.06L12,5C16.19,5 18.8,5.16 19.83,5.44C20.73,5.69 21.31,6.27 21.56,7.17Z\n","$mol_embed_service $mol_check\n\turi \\\n\tvideo_preview \\\n\tvideo_id \\\n\tchecked? <=> active? false\n\tsub /\n\t\t<= Image $mol_image\n\t\t\ttitle <= title \\\n\t\t\turi <= video_preview \\\n\t\t<= Hint $mol_icon_youtube\n\t\t<= Frame $mol_frame\n\t\t\ttitle <= title \\\n\t\t\turi <= video_embed \\\n\n","namespace $.$$ {\n\texport class $mol_embed_service extends $.$mol_embed_service {\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\treturn this.active()\n\t\t\t\t? [ this.Frame() ]\n\t\t\t\t: [ this.Image(), this.Hint() ]\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/embed/service/service.view.css\",\n \"[mol_embed_service] {\\n\\tpadding: 0;\\n\\tmax-width: 100%;\\n}\\n\\n[mol_embed_service_image] {\\n\\tflex: auto 1 1;\\n\\twidth: 100vw;\\n}\\n\\n[mol_embed_service_frame] {\\n\\twidth: 100vw;\\n}\\n\\n[mol_embed_service_hint] {\\n\\tposition: absolute;\\n left: 50%;\\n top: 50%;\\n width: 50%;\\n height: 50%;\\n opacity: 0.3;\\n transform: translate(-50%, -50%);\\n}\\n\\n[mol_embed_service]:hover [mol_embed_service_hint] {\\n\\topacity: .6;\\n}\\n\"\n) }","$mol_embed_youtube $mol_embed_service\n","namespace $.$$ {\n\texport class $mol_embed_youtube extends $.$mol_embed_youtube {\n\t\t\n\t\t@ $mol_mem\n\t\tvideo_embed() {\n\t\t\treturn `https://www.youtube.com/embed/${ encodeURIComponent( this.video_id() ) }?autoplay=1&loop=1`\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tvideo_id() {\n\t\t\treturn this.uri().match( /^https\\:\\/\\/www\\.youtube\\.com\\/(?:embed\\/|shorts\\/|watch\\?v=)([^\\/&?#]+)/ )?.[1]\n\t\t\t\t?? this.uri().match( /^https\\:\\/\\/youtu\\.be\\/([^\\/&?#]+)/ )?.[1]\n\t\t\t\t?? 'about:blank'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tvideo_preview() {\n\t\t\treturn `https://i.ytimg.com/vi/${ this.video_id() }/sddefault.jpg`\n\t\t}\n\t\t\n\t}\n}\n","$mol_embed_rutube $mol_embed_service\n","namespace $.$$ {\n\texport class $mol_embed_rutube extends $.$mol_embed_rutube {\n\t\t\n\t\t@ $mol_mem\n\t\tvideo_embed() {\n\t\t\treturn `https://rutube.ru/play/embed/${ encodeURIComponent( this.video_id() ) }`\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tvideo_id() {\n\t\t\treturn this.uri().match( /^https:\\/\\/rutube.ru\\/video\\/([^\\/&?#]+)/ )?.[1] ?? 'about:blank'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tvideo_preview() {\n\t\t\treturn `https://rutube.ru/api/video/${ this.video_id() }/thumbnail/?redirect=1`\n\t\t}\n\t\t\n\t}\n}\n","$mol_embed_any $mol_view\n\tImage $mol_image\n\t\ttitle <= title \\\n\t\turi <= uri \\\n\tObject $mol_embed_native\n\t\ttitle <= title \\\n\t\turi <= uri \\\n\tYoutube $mol_embed_youtube\n\t\ttitle <= title \\\n\t\turi <= uri \\\n\tRutube $mol_embed_rutube\n\t\ttitle <= title \\\n\t\turi <= uri \\\n","namespace $.$$ {\n\t\n\texport class $mol_embed_any extends $.$mol_embed_any {\n\t\t\n\t\t@ $mol_mem\n\t\ttype() {\n\t\t\t\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tconst uri = this.uri()\n\t\t\t\t\n\t\t\t\tif( /\\b(png|gif|jpg|jpeg|jfif|webp|svg)\\b/.test( uri ) ) return 'image'\n\t\t\t\tif( /^https:\\/\\/www\\.youtube\\.com\\//.test( uri ) ) return 'youtube'\n\t\t\t\tif( /^https:\\/\\/youtu\\.be\\//.test( uri ) ) return 'youtube'\n\t\t\t\tif( /^https:\\/\\/rutube\\.ru\\//.test( uri ) ) return 'rutube'\n\t\t\t\t\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn 'image'\n\t\t\t}\n\t\t\t\n\t\t\treturn 'object'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\tswitch( this.type() ) {\n\t\t\t\tcase 'image': return [ this.Image() ]\n\t\t\t\tcase 'youtube': return [ this.Youtube() ]\n\t\t\t\tcase 'rutube': return [ this.Rutube() ]\n\t\t\t\tdefault: return [ this.Object() ]\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\n}\n","$mol_text $mol_list\n\turi_base \\\n\ttext \\\n\tparam \\\n\tflow_tokens /\n\tblock_text* \\\n\tauto /\n\t\t<= auto_scroll null\n\t- \\Blocks\n\tParagraph* $mol_paragraph\n\t\tsub <= block_content* /\n\tQuote* $mol_text\n\t\turi_resolve* <= uri_resolve* \\\n\t\ttext <= quote_text* \\\n\t\thighlight <= highlight \\\n\t\tauto_scroll null\n\tList* $mol_text_list\n\t\turi_resolve* <= uri_resolve* \\\n\t\ttype <= list_type* \\-\n\t\ttext <= list_text* \\\n\t\thighlight <= highlight \\\n\titem_index* 0\n\tHeader* $mol_text_header\n\t\tminimal_height 40\n\t\tlevel <= header_level* 1\n\t\tcontent <= block_content* /\n\t\targ <= header_arg* *\n\tPre* $mol_text_code\n\t\ttext <= pre_text* \\\n\t\thighlight <= highlight \\\n\t\turi_resolve* <= uri_resolve* \\\n\t\tsidebar_showed <= pre_sidebar_showed <= code_sidebar_showed true\n\tCut* $mol_view dom_name \\hr\n\t- \\Table\n\tTable* $mol_grid\n\t\thead_cells <= table_head_cells* /\n\t\trows <= table_rows* /\n\tTable_row* $mol_grid_row\n\t\tcells <= table_cells* /\n\tTable_cell* $mol_text\n\t\tauto_scroll null\n\t\thighlight <= highlight \\\n\t\turi_resolve* <= uri_resolve* \\\n\t\ttext <= table_cell_text* \\\n\t- \\Grid\n\tGrid* $mol_grid\n\t\trows <= grid_rows* /\n\tGrid_row* $mol_grid_row\n\t\tcells <= grid_cells* /\n\tGrid_cell* $mol_text\n\t\tauto_scroll null\n\t\thighlight <= highlight \\\n\t\turi_resolve* <= uri_resolve* \\\n\t\ttext <= grid_cell_text* \\\n\t- \\Lines\n\tString* $mol_dimmer\n\t\tdom_name \\span\n\t\tneedle <= highlight \\\n\t\thaystack <= line_text* \\\n\tSpan* $mol_text_span\n\t\tdom_name \\span\n\t\ttype <= line_type* \\\n\t\tsub <= line_content* /\n\tCode_line* $mol_text_code_row\n\t\tnumb_showed false\n\t\thighlight <= highlight \\\n\t\ttext <= line_text* \\\n\t\turi_resolve* <= uri_resolve* \\\n\t\tsyntax <= code_syntax null\n\tLink* $mol_link_iconed\n\t\turi <= link_uri* \\\n\t\tcontent <= line_content* /\n\tLink_http* $mol_link_iconed\n\t\turi <= link_uri* \\\n\t\tcontent / <= link_host* \\\n\tEmbed* $mol_embed_any\n\t\turi <= link_uri* \\\n\t\ttitle <= line_text* \\\n\t- \\Spoilers\n\tSpoiler* $mol_expander\n\t\tlabel /\n\t\t\t<= Spoiler_label* $mol_text\n\t\t\t\ttext <= spoiler_label* \\\n\t\tcontent /\n\t\t\t<= Spoiler_content* $mol_text\n\t\t\t\ttext <= spoiler_content* \\\n\n$mol_text_header $mol_paragraph\n\tlevel 1\n\tsub /\n\t\t<= Link $mol_link\n\t\t\targ <= arg *\n\t\t\thint @ \\Permalink to this section\n\t\t\tsub <= content /\n\n$mol_text_span $mol_paragraph\n\tdom_name \\span\n\tattr *\n\t\t^\n\t\tmol_text_type <= type \\\n","namespace $.$$ {\n\t/**\n\t * Markdown visualizer.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_text_demo\n\t */\n\texport class $mol_text extends $.$mol_text {\n\t\t\n\t\t@ $mol_mem\n\t\tflow_tokens() {\n\t\t\tconst tokens = [] as { name : string , found : string , chunks: string[] }[]\n\t\t\tthis.$.$mol_syntax2_md_flow.tokenize(\n\t\t\t\tthis.text(),\n\t\t\t\t( name , found , chunks )=> tokens.push({ name , found , chunks }),\n\t\t\t)\n\t\t\treturn tokens as Readonly< typeof tokens >\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tblock_type( index: number ) {\n\t\t\treturn this.flow_tokens()[ index ].name\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\trows() {\n\t\t\treturn this.flow_tokens().map( ( { name }, index )=> {\n\t\t\t\t\n\t\t\t\tswitch( name ) {\n\t\t\t\t\tcase 'quote': return this.Quote( index )\n\t\t\t\t\tcase 'spoiler': return this.Spoiler( index )\n\t\t\t\t\tcase 'header': return this.Header( index )\n\t\t\t\t\tcase 'list': return this.List( index )\n\t\t\t\t\tcase 'code': return this.Pre( index )\n\t\t\t\t\tcase 'code-indent': return this.Pre( index )\n\t\t\t\t\tcase 'table': return this.Table( index )\n\t\t\t\t\tcase 'grid': return this.Grid( index )\n\t\t\t\t\tcase 'cut': return this.Cut( index )\n\t\t\t\t\tdefault: return this.Paragraph( index )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tparam() {\n\t\t\treturn this.toString().replace( /^.*?[\\)>]\\./, '' ).replace( /[(<>)]/g, '' )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\theader_level( index: number ) {\n\t\t\treturn this.flow_tokens()[ index ].chunks[0].length\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\theader_arg( index: number ) {\n\t\t\treturn {\n\t\t\t\t[ this.param() ]: this.block_text( index )\n\t\t\t}\n\t\t}\n\t\t\n\t\tlist_type( index: number ) {\n\t\t\treturn this.flow_tokens()[ index ].chunks[1] ?? ''\n\t\t}\n\t\t\n\t\titem_index( index: number ) {\n\t\t\treturn this.flow_tokens().slice( 0, index ).filter( token => token.name === 'block' ).length + 1\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tpre_text( index : number ) {\n\t\t\tconst token = this.flow_tokens()[ index ]\n\t\t\treturn ( token.chunks[2] ?? token.chunks[0].replace( /^(\\t| (?:\\+\\+|--|\\*\\*| ) )/gm , '' ) ).replace( /[\\n\\r]*$/ , '' )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tquote_text( index : number ) {\n\t\t\treturn this.flow_tokens()[ index ].chunks[0].replace( /^[>\"] /mg , '' )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tlist_text( index : number ) {\n\t\t\treturn this.flow_tokens()[ index ].chunks[0].replace( /^([-*+]|(?:\\d+[\\.\\)])+) ?/mg , '' ).replace( /^ ?/mg, '' )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tcell_content( indexBlock : number ) {\n\t\t\treturn this.flow_tokens()[ indexBlock ].chunks[ 0 ]\n\t\t\t.split( /\\r?\\n/g )\n\t\t\t.filter( row => row && !/\\|--/.test( row ) )\n\t\t\t.map( ( row , rowId ) => {\n\t\t\t\treturn row.split( /\\|/g )\n\t\t\t\t.filter( cell => cell )\n\t\t\t\t.map( ( cell , cellId )=> cell.trim() )\n\t\t\t} )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttable_rows( blockId : number ) {\n\t\t\treturn this.cell_content( blockId )\n\t\t\t.slice( 1 )\n\t\t\t.map( ( row , rowId )=> this.Table_row({ block : blockId , row : rowId + 1 }) )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttable_head_cells( blockId : number ) {\n\t\t\treturn this.cell_content( blockId )[ 0 ]\n\t\t\t.map( ( cell , cellId )=> this.Table_cell({ block : blockId , row : 0 , cell : cellId }) )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttable_cells( id : { block : number , row : number } ) {\n\t\t\treturn this.cell_content( id.block )[ id.row ]\n\t\t\t.map( ( cell , cellId )=> this.Table_cell({ block : id.block , row : id.row , cell : cellId }) )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttable_cell_text( id : { block : number , row : number , cell : number } ) {\n\t\t\treturn this.cell_content( id.block )[ id.row ][ id.cell ]\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tgrid_content( indexBlock: number ) {\n\t\t\treturn [ ... this.flow_tokens()[ indexBlock ].chunks[ 0 ].match( /(?:^! .*?$\\r?\\n?)+(?:^ +! .*?$\\r?\\n?)*/gm )! ]\n\t\t\t.map( ( row , rowId ) => {\n\t\t\t\tconst cells = [] as string[]\n\t\t\t\tfor( const line of row.trim().split( /\\r?\\n/ ) ) {\n\t\t\t\t\tconst [ _, indent, content ] = /^( *)! (.*)/.exec( line )!\n\t\t\t\t\tconst col = Math.ceil( indent.length / 2 )\n\t\t\t\t\tcells[ col ] = ( cells[ col ] ? cells[ col ] + '\\n' : '' ) + content\n\t\t\t\t}\n\t\t\t\treturn cells\n\t\t\t} )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tgrid_rows( blockId: number ) {\n\t\t\treturn this.grid_content( blockId )\n\t\t\t.map( ( row, rowId )=> this.Grid_row({ block: blockId , row: rowId }) )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tgrid_cells( id: { block: number, row: number } ) {\n\t\t\treturn this.grid_content( id.block )[ id.row ]\n\t\t\t.map( ( cell , cellId )=> this.Grid_cell({ block: id.block, row: id.row, cell: cellId }) )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tgrid_cell_text( id: { block: number, row: number, cell: number } ) {\n\t\t\treturn this.grid_content( id.block )[ id.row ][ id.cell ]\n\t\t}\n\t\t\n\t\turi_base() {\n\t\t\treturn $mol_dom_context.document.location.href\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\turi_base_abs() {\n\t\t\treturn new URL( this.uri_base() , $mol_dom_context.document.location.href )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\turi_resolve( uri: string ) {\n\t\t\t\n\t\t\tif( /^(\\w+script+:)+/.test( uri ) ) return null as any as string\n\t\t\t\n\t\t\tif( /^#\\!/.test( uri ) ) {\n\t\t\t\t\n\t\t\t\tconst params: Record< string, string > = {}\n\t\t\t\n\t\t\t\tfor( const chunk of uri.slice(2).split( this.$.$mol_state_arg.separator ) ) {\n\t\t\t\t\tif( !chunk ) continue\n\t\t\t\t\tconst vals = chunk.split( '=' ).map( decodeURIComponent )\n\t\t\t\t\tparams[ vals.shift()! ] = vals.join( '=' )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn this.$.$mol_state_arg.link( params )\n\t\n\t\t\t}\n\t\t\t\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tconst url = new URL( uri , this.uri_base_abs() )\n\t\t\t\treturn url.toString()\n\t\t\t\t\n\t\t\t} catch( error ) {\n\t\t\t\t\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn null as any as string\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tcode_syntax() {\n\t\t\treturn this.$.$mol_syntax2_md_code\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tblock_text( index: number ) {\n\t\t\t\n\t\t\tconst token = this.flow_tokens()[ index ]\n\t\t\t\n\t\t\tswitch( token.name ) {\n\t\t\t\tcase 'header' : return token.chunks[2]\n\t\t\t\tdefault: return token.chunks[0]\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tblock_content( index: number ) {\n\t\t\treturn this.line_content([ index ])\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_tokens( path: readonly number[] ) {\n\t\t\t\n\t\t\tconst tokens = [] as { name : string , found : string , chunks: string[] }[]\n\t\t\t\n\t\t\tthis.$.$mol_syntax2_md_line.tokenize(\n\t\t\t\tthis.line_text( path ),\n\t\t\t\t( name , found , chunks )=> tokens.push({ name , found , chunks }),\n\t\t\t)\n\t\t\t\n\t\t\treturn tokens as Readonly< typeof tokens >\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_token( path: readonly number[] ) {\n\t\t\tconst tokens = this.line_tokens( path.slice( 0, path.length - 1 ) )\n\t\t\treturn tokens[ path[ path.length - 1 ] ]\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_type( path: readonly number[] ) {\n\t\t\treturn this.line_token( path ).name\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_text( path: readonly number[] ) {\n\t\t\t\n\t\t\tif( path.length === 1 ) return this.block_text( path[0] )\n\t\t\t\n\t\t\tconst { name, found, chunks } = this.line_token( path )\n\t\t\t\n\t\t\tswitch( name ) {\n\t\t\t\tcase 'link': return chunks[0] || chunks[1].replace( /^.*?\\/\\/|\\/.*$/g, '' )\n\t\t\t\tcase 'text-link': return chunks[0] || chunks[1].replace( /^.*?\\/\\/|\\/.*$/g, '' )\n\t\t\t\tdefault: return ( chunks[0] || chunks[1] || chunks[2] ) ?? found\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_content( path: readonly number[] ) {\n\t\t\treturn this.line_tokens( path ).map( ( { name, chunks }, index )=> {\n\t\t\t\t\n\t\t\t\tconst path2 = [ ... path, index ]\n\t\t\t\t\n\t\t\t\tswitch( name ) {\n\t\t\t\t\tcase 'embed': return this.Embed( path2 )\n\t\t\t\t\tcase 'link' : return this.Link( path2 )\n\t\t\t\t\tcase 'text-link-http': return this.Link_http( path2 )\n\t\t\t\t\tcase 'text-link' : return this.Link( path2 )\n\t\t\t\t\tcase 'image-link': return this.Embed( path2 )\n\t\t\t\t\tcase 'code': return this.Code_line( path2 )\n\t\t\t\t\tcase '': return this.String( path2 )\n\t\t\t\t\tdefault: return this.Span( path2 )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tlink_uri( path: readonly number[] ) {\n\t\t\t\n\t\t\tconst token = this.line_token( path )\n\t\t\tconst uri = this.uri_resolve( token.chunks[1] ?? token.found )\n\t\t\t\n\t\t\tif( !uri ) throw new Error( 'Bad link' )\n\t\t\treturn uri\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tlink_host( path: readonly number[] ) {\n\t\t\treturn this.link_uri( path ).replace( /^.*?\\/\\/|\\/.*$/g, '' )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tauto_scroll() {\n\t\t\tfor( const [ index, token ] of this.flow_tokens().entries() ) {\n\t\t\t\t\n\t\t\t\tif( token.name !== 'header' ) continue\n\t\t\t\t\n\t\t\t\tconst header = this.Header( index )\n\t\t\t\tif( !header.Link().current() ) continue\n\t\t\t\t\n\t\t\t\tnew $mol_after_tick(\n\t\t\t\t\t()=> this.ensure_visible( header )\n\t\t\t\t)\n\t\t\t\t\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tspoiler_rows( index: number ): string[] {\n\t\t\treturn this.flow_tokens()[ index ].chunks[0].replace( /^[\\?] /mg , '' ).split('\\n');\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tspoiler_label( index: number ): string {\n\t\t\treturn this.spoiler_rows(index)[0];\n\t\t}\n\t\n\t\t@ $mol_mem_key\n\t\tspoiler_content( index: number): string {\n\t\t\treturn this.spoiler_rows(index).slice(1).join('\\n');\n\t\t}\n\t}\n\t\n\texport class $mol_text_header extends $.$mol_text_header {\n\t\t\n\t\tdom_name() {\n\t\t\treturn 'h' + this.level()\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/text/text/text.view.css\",\n \"[mol_text] {\\n\\tline-height: 1.5em;\\n\\tbox-sizing: border-box;\\n\\tborder-radius: var(--mol_gap_round);\\n\\twhite-space: pre-line;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tflex: 0 0 auto;\\n\\ttab-size: 4;\\n}\\n\\n[mol_text_paragraph] {\\n\\tpadding: var(--mol_gap_text);\\n\\toverflow: auto;\\n\\toverflow-x: overlay;\\n\\tmax-width: 100%;\\n\\tdisplay: block;\\n\\tmax-width: 60rem;\\n}\\n\\n[mol_text_spoiler_label_paragraph] {\\n\\tpadding: 0;\\n}\\n\\n[mol_text_span] {\\n\\tdisplay: inline;\\n}\\n\\n[mol_text_string] {\\n\\tdisplay: inline;\\n\\tflex: 0 1 auto;\\n\\twhite-space: normal;\\n}\\n\\n[mol_text_quote] {\\n\\tmargin: var(--mol_gap_block);\\n\\tpadding: var(--mol_gap_block);\\n\\tbackground: var(--mol_theme_card);\\n\\tbox-shadow: 0 0 0 1px var(--mol_theme_back);\\n}\\n\\n[mol_text_header] {\\n\\tdisplay: block;\\n\\ttext-shadow: 0 0;\\n\\tfont-weight: normal;\\n}\\n\\n* + [mol_text_header] {\\n\\tmargin-top: 0.75rem;\\n}\\n\\nh1[mol_text_header] {\\n\\tfont-size: 1.5rem;\\n}\\n\\nh2[mol_text_header] {\\n\\tfont-size: 1.5rem;\\n\\tfont-style: italic;\\n}\\n\\nh3[mol_text_header] {\\n\\tfont-size: 1.25rem;\\n}\\n\\nh4[mol_text_header] {\\n\\tfont-size: 1.25em;\\n\\tfont-style: italic;\\n}\\n\\nh5[mol_text_header] {\\n\\tfont-size: 1rem;\\n}\\n\\nh6[mol_text_header] {\\n\\tfont-size: 1rem;\\n\\tfont-style: italic;\\n}\\n\\n[mol_text_header_link] {\\n\\tcolor: inherit;\\n}\\n\\n[mol_text_table_cell] {\\n\\twidth: auto;\\n\\tdisplay: table-cell;\\n\\tvertical-align: baseline;\\n\\tpadding: 0;\\n\\tborder-radius: 0;\\n}\\n\\n[mol_text_grid_cell] {\\n\\twidth: auto;\\n\\tdisplay: table-cell;\\n\\tvertical-align: top;\\n\\tpadding: 0;\\n\\tborder-radius: 0;\\n}\\n\\n[mol_text_cut] {\\n\\tborder: none;\\n\\twidth: 100%;\\n\\tbox-shadow: 0 0 0 1px var(--mol_theme_line);\\n}\\n\\n[mol_text_link_http],\\n[mol_text_link] {\\n\\tpadding: 0;\\n\\tdisplay: inline;\\n\\twhite-space: nowrap;\\n}\\n\\n[mol_text_link_icon] + [mol_text_embed] {\\n\\tmargin-left: -1.5rem;\\n}\\n\\n[mol_text_embed_youtube] {\\n\\tdisplay: inline;\\n}\\n\\n[mol_text_embed_youtube_image],\\n[mol_text_embed_youtube_frame],\\n[mol_text_embed_object] {\\n\\tobject-fit: contain;\\n\\tobject-position: center;\\n\\tdisplay: inline;\\n\\twidth: 100vw;\\n\\tmax-height: calc( 100vh - 6rem );\\n\\tvertical-align: top;\\n}\\n[mol_text_embed_object_fallback] {\\n\\tpadding: 0;\\n}\\n[mol_text_embed_image] {\\n\\tobject-fit: contain;\\n\\tobject-position: center;\\n\\tdisplay: inline;\\n\\t/* max-height: calc( 100vh - 6rem ); */\\n\\tvertical-align: top;\\n}\\n\\n[mol_text_pre] {\\n\\twhite-space: pre;\\n\\toverflow-x: auto;\\n\\toverflow-x: overlay;\\n\\ttab-size: 2;\\n}\\n\\n[mol_text_code_line] {\\n\\tdisplay: inline-block;\\n\\twhite-space: nowrap;\\n}\\n\\n[mol_text_type=\\\"strong\\\"] {\\n\\ttext-shadow: 0 0;\\n\\tfilter: contrast(1.5);\\n}\\n\\n[mol_text_type=\\\"emphasis\\\"] {\\n\\tfont-style: italic;\\n}\\n\\n[mol_text_type=\\\"insert\\\"] {\\n\\tcolor: var(--mol_theme_special);\\n}\\n\\n[mol_text_type=\\\"delete\\\"] {\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\\n[mol_text_type=\\\"remark\\\"] {\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\\n[mol_text_type=\\\"quote\\\"] {\\n\\tfont-style: italic;\\n}\\n\"\n) }","$mol_text_list $mol_text\n\tauto_scroll null\n\tattr *\n\t\t^\n\t\tmol_text_list_type <= type \\\n\tParagraph* $mol_text_list_item\n\t\tindex <= item_index*\n\t\tsub <= block_content*\n\n$mol_text_list_item $mol_paragraph\n\tattr *\n\t\t^\n\t\tmol_text_list_item_index <= index 0\n","namespace $ { $mol_style_attach( \"mol/text/list/list.view.css\",\n \"[mol_text_list] {\\r\\n\\tpadding-left: 1.75rem;\\r\\n}\\r\\n\\r\\n[mol_text_list_item] {\\r\\n\\tcontain: none;\\r\\n\\tdisplay: list-item;\\r\\n}\\r\\n\\r\\n[mol_text_list_item]::before {\\r\\n\\tcontent: attr( mol_text_list_item_index ) \\\".\\\";\\r\\n\\twidth: 1.25rem;\\r\\n\\tdisplay: inline-block;\\r\\n\\tposition: absolute;\\r\\n\\tmargin-left: -1.75rem;\\r\\n\\ttext-align: end;\\r\\n}\\r\\n\\r\\n[mol_text_list_type=\\\"-\\\"] > [mol_text_list_item]::before,\\r\\n[mol_text_list_type=\\\"*\\\"] > [mol_text_list_item]::before {\\r\\n\\tcontent: \\\"•\\\";\\r\\n}\\r\\n\"\n) }","$mol_app_demo_readme $mol_page\n\treadme_link_template \\https://raw.githubusercontent.com/{repo}/HEAD/{module}/readme.md\n\tsource_link_template \\https://github.com/{repo}/tree/HEAD/{module}\n\trepo \\\n\tmodule /string\n\ttitle @ \\Readme\n\topened? false\n\ttools /\n\t\t<= Source_link $mol_link_source\n\t\t\turi <= source_link \\\n\t\t\thint <= source_hint @ \\Source code of this demo\n\t\t<= Close $mol_button_minor\n\t\t\thint @ \\Close panel\n\t\t\tsub /\n\t\t\t\t<= Close_icon $mol_icon_close\n\t\t\tclick? <=> close? null\n\t-\n\tReadme $mol_text\n\t\ttext <= readme \\\n\t\turi_base <= uri_base? \\\n\tNot_found $mol_view sub /\n\t\t<= Not_found_caption @ \\Readme not found\n","namespace $ {\n\n\texport function $mol_dom_parse(\n\t\ttext : string ,\n\t\ttype : DOMParserSupportedType = 'application/xhtml+xml' ,\n\t) {\n\n\t\tconst parser = new $mol_dom_context.DOMParser()\n\t\tconst doc = parser.parseFromString( text , type )\n\t\t\n\t\tconst error = doc.getElementsByTagName( 'parsererror' )\n\t\tif( error.length ) throw new Error( error[0].textContent! )\n\n\t\treturn doc\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_fetch_response extends $mol_object2 {\n\n\t\tconstructor( readonly native : Response ) {\n\t\t\tsuper()\n\t\t}\n\n\t\tstatus() {\n\t\t\tconst types = [ 'unknown', 'inform', 'success', 'redirect', 'wrong', 'failed' ] as const\n\t\t\treturn types[ Math.floor( this.native.status / 100 ) ]\n\t\t}\n\t\t\n\t\tcode() {\n\t\t\treturn this.native.status\n\t\t}\n\t\t\n\t\tmessage() {\n\t\t\treturn this.native.statusText || `HTTP Error ${ this.code() }`\n\t\t}\n\n\t\theaders() {\n\t\t\treturn this.native.headers\n\t\t}\n\n\t\tmime() {\n\t\t\treturn this.headers().get( 'content-type' )\n\t\t}\n\n\t\t@ $mol_action\n\t\tstream() {\n\t\t\treturn this.native.body\n\t\t}\n\n\t\t@ $mol_action\n\t\ttext() {\n\n\t\t\tconst buffer = this.buffer()\n\n\t\t\tconst native = this.native\n\t\t\tconst mime = native.headers.get( 'content-type' ) || ''\n\t\t\tconst [,charset] = /charset=(.*)/.exec( mime ) || [, 'utf-8']\n\t\t\t\n\t\t\tconst decoder = new TextDecoder( charset )\n\t\t\treturn decoder.decode( buffer )\n\n\t\t}\t\n\n\t\tjson() {\n\t\t\treturn $mol_wire_sync( this.native ).json() as unknown\n\t\t}\t\n\n\t\tblob() {\n\t\t\treturn $mol_wire_sync( this.native ).blob()\n\t\t}\n\n\n\t\tbuffer() {\n\t\t\treturn $mol_wire_sync( this.native ).arrayBuffer()\n\t\t}\n\n\t\t@ $mol_action\n\t\txml() {\n\t\t\treturn $mol_dom_parse( this.text() , 'application/xml' )\n\t\t}\n\n\t\t@ $mol_action\n\t\txhtml() {\n\t\t\treturn $mol_dom_parse( this.text() , 'application/xhtml+xml' )\n\t\t}\n\n\t\t@ $mol_action\n\t\thtml() {\n\t\t\treturn $mol_dom_parse( this.text() , 'text/html' )\n\t\t}\n\n\t}\n\n\texport class $mol_fetch extends $mol_object2 {\n\t\t\n\t\tstatic request( input : RequestInfo , init : RequestInit = {} ) {\n\t\t\tconst native = globalThis.fetch ?? $node['undici'].fetch\n\t\t\t\n\t\t\tconst controller = new AbortController()\n\t\t\tlet done = false\n\t\t\t\n\t\t\tconst promise = native( input , {\n\t\t\t\t... init,\n\t\t\t\tsignal: controller!.signal,\n\t\t\t} ).finally( ()=> {\n\t\t\t\tdone = true\n\t\t\t} )\n\t\t\t\n\t\t\treturn Object.assign( promise, {\n\t\t\t\tdestructor: ()=> {\n\t\t\t\t\t// Abort of done request breaks response parsing\n\t\t\t\t\tif( !done && !controller.signal.aborted ) controller.abort()\n\t\t\t\t},\n\t\t\t} )\n\t\t\t\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic response( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn new $mol_fetch_response( $mol_wire_sync( this ).request( input , init ) )\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic success( input: RequestInfo, init?: RequestInit ) {\n\n\t\t\tconst response = this.response( input , init )\n\t\t\tif( response.status() === 'success' ) return response\n\t\t\t\n\t\t\tthrow new Error( response.message() )\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic stream( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).stream()\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic text( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).text()\n\t\t}\t\n\n\t\t@ $mol_action\n\t\tstatic json( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).json()\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic blob( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).blob()\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic buffer( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).buffer()\n\t\t}\t\n\n\t\t@ $mol_action\n\t\tstatic xml( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).xml()\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic xhtml( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).xhtml()\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic html( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).html()\n\t\t}\n\n\t}\n\n}\n\n","namespace $.$$ {\n\texport class $mol_app_demo_readme_not_found_error extends Error {\n\t\tconstructor( public module: readonly string[] ) {\n\t\t\tsuper( 'Readme not found' )\n\t\t}\n\t}\n\n\texport class $mol_app_demo_readme extends $.$mol_app_demo_readme {\n\t\t\n\t\tclose() {\n\t\t\tthis.opened( false )\n\t\t}\n\n\t\tlink( template: string, repo: string, module: readonly string[] ) {\n\t\t\treturn template.replace( '{repo}', repo ).replace( '{module}' , module.join('/') )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\turi_base( next = '' ) {\n\t\t\t$mol_wire_solid()\n\t\t\treturn next\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsource_link() {\n\t\t\treturn this.link( this.source_link_template(), this.repo(), this.module() )\n\t\t}\n\n\t\t@ $mol_mem\n\t\toverride readme(): string {\n\t\t\tlet module = this.module()\n\n\t\t\twhile( module.length ) {\n\t\t\t\ttry {\n\t\t\t\t\tconst link = this.link( this.readme_link_template(), this.repo(), module )\n\t\t\t\t\tconst text = this.$.$mol_fetch.text( link )\n\t\t\t\t\tthis.uri_base( this.link( this.source_link_template(), this.repo(), module ) )\n\t\t\t\t\treturn text\n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\tif( error instanceof Promise ) $mol_fail_hidden( error )\n\t\t\t\t\tmodule = module.slice( 0 , -1 )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tthrow new $mol_app_demo_readme_not_found_error( module )\n\t\t}\n\n\t\t@ $mol_mem\n\t\toverride body() {\n\t\t\ttry {\n\t\t\t\tthis.readme()\n\t\t\t\treturn [ this.Readme() ]\n\t\t\t} catch ( err ) {\n\t\t\t\tif( err instanceof Promise ) $mol_fail_hidden( err )\n\t\t\t\treturn [ this.Not_found() ]\n\t\t\t}\n\t\t}\n\t\t\n\t}\n}\n","$mol_status $mol_view\n\tstatus <= title\n\tminimal_height 24\n\tminimal_width 0\n\tsub /\n\t\t<= message \\\n","namespace $.$$ {\n\t\n\texport class $mol_status extends $.$mol_status {\n\t\t\n\t\tmessage() {\n\t\t\ttry {\n\t\t\t\treturn this.status() ?? null\n\t\t\t} catch( error: any ) {\n\t\t\t\tif( error instanceof Promise ) $mol_fail_hidden( error )\n\t\t\t\treturn error.message\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/status/status.view.css\",\n \"[mol_status] {\\n\\tpadding: var(--mol_gap_text);\\n\\tborder-radius: var(--mol_gap_round);\\n\\tdisplay: block;\\n}\\n\\n[mol_status]:not([mol_view_error=\\\"Promise\\\"]) {\\n\\tcolor: var(--mol_theme_focus);\\n}\\n\\n[mol_status]:not([mol_view_error=\\\"Promise\\\"]):empty {\\n\\tdisplay: none;\\n}\\n\"\n) }","$mol_app_demo $mol_book2\n\teditor_title <= detail_title \\$mol\n\tmeta_bundle_base \\\n\trepo_dict *\n\tplugins /\n\t\t<= Theme $mol_theme_auto\n\t\t<= Search_start $mol_hotkey\n\t\t\tkey * F? <=> search_start?\n\t\t\tmod_ctrl true\n\tdemo_block_list /\n\t\t\\$mol_example_small\n\t\t\\$mol_example_large\n\tMenu $mol_app_demo_menu\n\t\ttitle <= menu_title @ \\$mol examples\n\t\tnames <= names /string\n\t\twidget_tags* <= widget_tags* /string\n\t\twidget_aspects* <= widget_aspects* /string\n\t\twidget_title* <= widget_title* \\\n\t\tsearch_start? => search_start?\n\t\ttools <= tools /\n\t\t\t<= Sources $mol_link_source\n\t\t\t\turi <= sources_uri \\https://github.com/hyoo-ru/mam_mol/\n\t\t\t<= Lights $mol_lights_toggle\n\tDetail* $mol_app_demo_detail\n\t\tchat_seed <= chat_seed* \\p9zx0v_nsmx1d\n\t\tchat_pages => chat_pages*\n\t\ttitle <= detail_title\n\t\tdescription <= detail_description \\\n\t\tedit_uri <= edit_uri \\\n\t\treadme? <=> readme_page? false\n\t\tDemo <= Demo $mol_view\n\tReadme_page $mol_app_demo_readme\n\t\trepo <= repo \\\n\t\topened? <=> readme_page? false\n\t\tmodule <= module /string\n\tDetail_empty_message $mol_status\n\t\tsub /\n\t\t\t<= detail_empty_prefix @ \\No one demo with prefix \"\n\t\t\t<= selected \\\n\t\t\t<= detail_empty_postfix @ \\\"\n","namespace $ {\n\n\texport function $mol_func_is_class<\n\t\tFunc extends Function\n\t>(\n\t\tfunc: Func\n\t): func is Func & ( new( ...args: any[] )=> any ) {\n\t\treturn Object.getOwnPropertyDescriptor( func, 'prototype' )?.writable === false\n\t}\n\n}\n","$mol_app_demo_main $mol_page\n\tminimal_width 400\n\ttitle \\$mol libs for web ui\n\ttools /\n\t\t<= Lights $mol_lights_toggle\n\t\t<= Project $mol_link_source\n\t\t\turi <= project_uri \\https://github.com/eigenmethod/mol/tree/master/\n\tbody /\n\t\t<= Description $mol_text\n\t\t\ttext <= description \\\n\t\t\turi_base <= project_uri\n","namespace $.$$ {\n\t\n\texport class $mol_app_demo_main extends $.$mol_app_demo_main {\n\n\t\t@ $mol_mem\n\t\tdescription() {\n\t\t\treturn $mol_file.relative( 'mol/readme.md' ).text() as string\n\t\t}\n\n\t}\n\t\n}\n","namespace $.$$ {\n\t\n\texport class $mol_app_demo extends $.$mol_app_demo {\n\n\t\t@ $mol_mem_key\n\t\tcomponent_name( name: string ) {\n\t\t\treturn name.split( '_demo' )?.[ 0 ] ?? name\n\t\t}\n\t\t\n\t\toverride detail_title() {\n\t\t\tconst selected = this.selected()\n\t\t\t\n\t\t\treturn selected ? this.component_name( selected ) : super.title()\n\t\t}\n\n\t\toverride detail_description() {\n\t\t\treturn this.Demo().title()\n\t\t}\n\n\t\t@ $mol_mem\n\t\toverride names() {\n\t\t\tconst next : string[] = []\n\n\t\t\tfor( const name in this.$ ) {\n\t\t\t\tconst ctor = this.$[name as keyof $]\n\t\t\t\t\n\t\t\t\tif( typeof ctor !== 'function' ) continue\n\n\t\t\t\tif( !$mol_func_is_class( ctor ) ) continue\n\n\t\t\t\tif( !( ctor.prototype instanceof $mol_example ) ) continue\n\n\t\t\t\tif ( this.demo_block_list().includes( name ) ) continue\n\t\t\t\t\n\t\t\t\tnext.push( name )\n\t\t\t}\n\n\t\t\treturn next.sort()\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\toverride widget_tags( name: string ) {\n\t\t\tconst component_name = this.component_name( name )\n\n\t\t\tconst tags = this.Widget( name ).tags().map( tag => tag.toLowerCase() )\n\n\t\t\tif( tags.length === 0 ) {\n\n\t\t\t\tconsole.warn( `Demo widget without tags: ${ name }` )\n\n\t\t\t\treturn [ component_name ]\n\n\t\t\t} else {\n\n\t\t\t\treturn [ ...tags, component_name ]\n\n\t\t\t}\n\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\toverride widget_title( name: string ) {\n\t\t\treturn this.Widget( name ).title()\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\toverride widget_aspects( name: string ) {\n\t\t\treturn this.Widget( name ).aspects()\n\t\t}\n\n\t\toverride selected() {\n\t\t\tlet value = $mol_state_arg.value( 'demo' ) || ''\n\t\t\tif (value && ! value.startsWith('$')) value = '$' + value\n\n\t\t\treturn value\n\t\t}\n\t\t\n\t\treadme_page( next?: boolean ) {\n\t\t\treturn $mol_state_session.value( 'readme', next ) ?? false\n\t\t}\n\n\t\tselected_class_name() {\n\t\t\treturn this.selected()\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tWidget( name : string ) {\n\t\t\treturn new (this.$ as any)[name] as $mol_example\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tnames_demo() {\n\t\t\tconst selected = this.selected()\n\t\t\treturn [ selected ]\n\t\t}\n\t\t\n\t\toverride pages() {\n\t\t\tlet sub : $mol_view[] = []\n\t\t\t\n\t\t\tsub.push( this.Menu() )\n\t\t\t\n\t\t\tconst selected = this.selected()\n\t\t\tif( !selected ) return sub\n\t\t\t\n\t\t\tsub.push( this.Detail( selected ) )\n\t\t\t\n\t\t\tconst readme_page = this.readme_page()\n\t\t\tif ( readme_page ) sub.push( this.Readme_page() )\n\t\t\t\n\t\t\tsub.push( ... this.chat_pages( selected ) )\n\t\t\t\n\t\t\treturn sub\n\t\t}\n\n\t\toverride Demo() {\n\t\t\treturn this.Widget( this.selected() )\n\t\t}\n\t\t\n\t\tlogo_uri() {\n\t\t\treturn $mol_file.relative( '/mol/logo/logo.svg' ).path()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tmeta_bundle_base(){\n\t\t\treturn this.$.$mol_state_arg.make_link({})\n\t\t}\n\n\t\t@ $mol_mem\n\t\trepo_dict() {\n\t\t\tconst meta_uri = new URL( 'web.meta.tree', this.meta_bundle_base() ).toString()\n\t\t\tconst str = this.$.$mol_fetch.text( meta_uri )\n\t\t\tconst tree = this.$.$mol_tree2_from_string( str )\n\t\t\t\n\t\t\tconst dict: Record = {}\n\t\t\ttree.kids.forEach( meta => {\n\t\t\t\tconst packs = meta.select( 'pack' )\n\t\t\t\t\n\t\t\t\tpacks.kids.forEach( pack => {\n\t\t\t\t\tconst module_name = meta.value === '/' ? pack.kids[0]?.type :\n\t\t\t\t\t\t[ ...meta.value.split('/').slice( 1 ), pack.kids[0]?.type ].join('_')\n\t\t\t\t\t\n\t\t\t\t\tconst repo = pack.kids[0]?.kids[0]?.kids[0]?.value\n\t\t\t\t\t\t.split('.git')[0].split('/').slice( -2 ).join('/')\n\t\t\t\t\t\n\t\t\t\t\tif (!repo) throw new Error(`${ this }.repo_dict(): Pack node \"${ pack.toString() }\" does not contain a valid git url`)\n\t\t\t\t\t\n\t\t\t\t\tdict[module_name] = repo\n\t\t\t\t} )\n\t\t\t} )\n\t\t\t\n\t\t\treturn dict\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tname_parse( name: string ) {\n\t\t\tconst split = name.replace( /\\$/, '' ).split('_')\n\t\t\t\n\t\t\tconst repos = this.repo_dict() as Record\n\t\t\tconst keys = split.map( ( _ , index ) => split.slice( 0 , -1-index ).join('_') )\n\t\t\tconst key = keys.find( key => key in repos )\n\t\t\t\n\t\t\tif ( !key ) throw new Error(`${ this }.name_parse(\"${ name }\"): Key \"${ key }\" not found`)\n\n\t\t\tconst repo = repos[ key ]\n\t\t\tconst module = split.slice( key.split('_').length )\n\t\t\t\n\t\t\treturn { repo , module }\n\t\t}\n\t\t\n\t\toverride repo() {\n\t\t\treturn this.name_parse( $mol_state_arg.value( 'demo' )! ).repo\n\t\t}\n\t\t\n\t\toverride module() {\n\t\t\treturn this.name_parse( this.selected() ).module\n\t\t}\n\t\t\n\t\tchat_link() {\n\t\t\treturn $mol_state_arg.make_link({ demo : this.selected() })\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\toverride edit_uri() {\n\t\t\tconst source = encodeURIComponent( `$${''}my_app ${ this.selected() }` )\n\t\t\tconst pack = encodeURIComponent( this.$.$mol_state_arg.make_link({}) )\n\t\t\treturn `https://studio.hyoo.ru/#!pack=${ pack }/source=${ source }/preview`\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/app/demo/demo.view.css\",\n \"\\n[mol_app_demo_main],\\n[mol_app_demo_detail],\\n[mol_app_empty_message] {\\n\\tflex: 1000 0 40rem;\\n}\\n\\n[mol_app_demo_nav_table] {\\n\\twidth: 100%;\\n\\tbox-sizing: border-box;\\n}\\n\\n[mol_app_demo_nav_row] {\\n\\tdisplay: flex;\\n}\\n\\n[mol_app_demo_nav_option] {\\n\\tpadding: 0 .5rem 0 0;\\n\\tdisplay: flex;\\n\\tflex: 1;\\n\\talign-items: center;\\n\\tbox-shadow: none;\\n}\\n\\n[mol_app_demo_nav_expand] {\\n\\talign-self: stretch;\\n\\talign-items: center;\\n\\tpadding-right: .25rem;\\n}\\n\\n[mol_app_demo_nav_content] {\\n\\tflex-grow: 1;\\n}\\n\\n[mol_app_demo_list] {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\talign-content: flex-start;\\n\\talign-items: flex-start;\\n}\\n\\n[mol_app_demo_screen] {\\n\\tmax-height: 45%;\\n}\\n\\n[mol_app_demo_detail_body] {\\n\\tdisplay: flex;\\n\\talign-items: stretch;\\n\\tjustify-content: flex-start;\\n\\tflex-direction: column;\\n}\\n\\n[mol_app_demo_detail_list] {\\n\\tflex: 1 0 100%;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\\n[mol_app_demo_page_close] {\\n\\tcolor: inherit;\\n\\talign-items: center;\\n\\tpadding: 1rem;\\n}\\n\\n[mol_app_demo_welcome] {\\n\\tflex: 1 1 auto;\\n}\\n\\n[mol_app_demo_option_link] {\\n\\tpadding: 0;\\n}\\n\\n[mol_app_demo_sample_large] {\\n\\tbox-sizing: border-box;\\n}\\n\\n[mol_app_demo_detail_empty_message] {\\n\\tmargin: auto;\\n}\\n\\n[mol_app_demo_chat] {\\n\\tflex: none;\\n}\\n\\n[mol_app_demo_readme] {\\n\\tflex: 1 0 40rem;\\n}\\n\\n[mol_app_demo_readme_not_found] {\\n\\tdisplay: flex;\\n\\tflex: 1 0;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\tfont-size: 2rem;\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\"\n) }","$mol_row $mol_view\n","namespace $ { $mol_style_attach( \"mol/row/row.view.css\",\n \"[mol_row] {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\talign-items: flex-start;\\n\\talign-content: flex-start;\\n\\tjustify-content: flex-start;\\n\\tpadding: var(--mol_gap_block);\\n\\tgap: var(--mol_gap_block);\\n\\tflex: 0 0 auto;\\n\\tbox-sizing: border-box;\\n\\tmax-width: 100%;\\n}\\n\\n[mol_row] > * {\\n\\tmax-width: 100%;\\n}\\n\"\n) }","$mol_form $mol_list\n\tsubmit_allowed true\n\tsubmit_blocked false\n\tevent *\n\t\t^\n\t\tkeydown?event <=> keydown?event null\n\tsubmit?event null\n\trows /\n\t\t<= Body $mol_list\n\t\t\tsub <= body <= form_fields /$mol_form_field\n\t\t<= Foot $mol_row\n\t\t\tsub <= foot <= buttons /$mol_view\n","namespace $.$$ {\n\n\t/**\n\t * Form, that contains form fields and action buttons.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_form_demo\n\t */\n\texport class $mol_form extends $.$mol_form {\n\t\t\n\t\t@ $mol_mem\n\t\tform_fields() {\n\t\t\treturn [ ... this.view_find( view => view instanceof $mol_form_field ) ]\n\t\t\t\t.map( path => path[ path.length - 1 ] ) as any as readonly $mol_form_field[]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsubmit_allowed() {\n\t\t\treturn this.form_fields().every( field => !field.bid() )\n\t\t}\n\n\t\tsubmit_blocked( ) {\n\t\t\treturn !this.submit_allowed()\n\t\t}\n\t\t\n\t\tkeydown( next : KeyboardEvent ) {\n\t\t\tif( next.ctrlKey && next.keyCode === $mol_keyboard_code.enter && !this.submit_blocked() ) this.submit( event )\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/form/form.view.css\",\n \"[mol_form] {\\r\\n\\tgap: var(--mol_gap_block);\\r\\n}\\r\\n\\r\\n[mol_form_body] {\\r\\n\\tgap: var(--mol_gap_block);\\r\\n}\"\n) }","namespace $ {\n\n\texport class $hyoo_studio_property extends $mol_object {\n\n\t\tname(): string {\n\t\t\tthrow new Error('Not defined')\n\t\t}\n\n\t\tcomponent(): $hyoo_studio_component {\n\t\t\tthrow new Error('Not defined')\n\t\t}\n\n\t\ttree(next?: $mol_tree2): $mol_tree2 {\n\t\t\tthrow new Error('Not defined')\n\t\t}\n\n\n\t\tas< Prop extends typeof $hyoo_studio_property >( Prop: Prop ) {\n\t\t\treturn Prop.make( {\n\t\t\t\tname: () => this.name(),\n\t\t\t\ttree: next => this.tree(next)\n\t\t\t} as InstanceType< Prop > )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tmeta( next?: {\n\t\t\treadonly name?: string;\n\t\t\treadonly key?: string;\n\t\t\treadonly next?: string;\n\t\t} ) {\n\t\t\t\n\t\t\tconst tree = this.tree()\n\t\t\tconst sign = tree?.type ?? ''\n\t\t\t\n\t\t\tlet meta = [ ... sign.matchAll( $mol_view_tree2_prop_signature ) ][0]?.groups ?? {\n\t\t\t\tname: '',\n\t\t\t\tkey: '',\n\t\t\t\tnext: '',\n\t\t\t}\n\t\t\t\n\t\t\tif( next ) {\n\n\t\t\t\tif (next.name) {\n\t\t\t\t\tthis.name = ()=> next.name!\n\t\t\t\t\tthis.component().prop_drop( meta.name )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tmeta = {\n\t\t\t\t\t... meta,\n\t\t\t\t\t... next,\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t// const sign = $mol_view_tree2_prop_signature.generate( meta )!\n\t\t\t\tconst sign = `${meta.name}${meta.key || ''}${meta.next || ''}`\n\t\t\t\tthis.tree( tree.struct( sign, tree.kids ) )\n\t\t\t\t\n\t\t\t}\n\n\t\t\treturn meta\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttitle( next?: string ) {\n\t\t\t\n\t\t\treturn this.meta(\n\t\t\t\tnext === undefined\n\t\t\t\t? undefined\n\t\t\t\t: { name: next }\n\t\t\t).name\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tkey( next?: boolean ) {\n\t\t\t\n\t\t\treturn Boolean(\n\t\t\t\tthis.meta(\n\t\t\t\t\tnext === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: {\n\t\t\t\t\t\tkey: next ? '*' : '',\n\t\t\t\t\t}\n\t\t\t\t).key\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tnext( next?: boolean ) {\n\t\t\t\n\t\t\treturn Boolean(\n\t\t\t\tthis.meta(\n\t\t\t\t\tnext === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: {\n\t\t\t\t\t\tnext: next ? '?' : '',\n\t\t\t\t\t}\n\t\t\t\t).next\n\t\t\t)\n\t\t\t\n\t\t}\n\n\t}\n\n\texport class $hyoo_studio_property_unit extends $hyoo_studio_property {\n\n\t\t\n\n\t}\n\n}\n","$hyoo_studio $mol_book2\n\tcomp $hyoo_studio_component\n\tplugins /\n\t\t<= Theme $mol_theme_auto\n\tDemo $mol_app_demo\n\t\tReadme_page => Readme_page\n\t\tmeta_bundle_base <= pack\n\tpages /\n\t\t<= Edit $mol_page\n\t\t\ttitle @ \\$mol Studio\n\t\t\ttools /\n\t\t\t\t<= Source_link $mol_link_source\n\t\t\t\t\turi \\https://github.com/hyoo-ru/studio.hyoo.ru\n\t\t\t\t<= Lights $mol_lights_toggle\n\t\t\t\t<= Code_open $mol_check_icon\n\t\t\t\t\thint @ \\Show Editor\n\t\t\t\t\tchecked? <=> code_show? false\n\t\t\t\t\tsub /\n\t\t\t\t\t\t<= Editor_toggle_icon $mol_icon_card_text\n\t\t\t\t<= Inspector_open $mol_check_icon\n\t\t\t\t\thint @ \\Show Inspector\n\t\t\t\t\tchecked? <=> inspector_show? false\n\t\t\t\t\tsub /\n\t\t\t\t\t\t<= Inspect_open_icon $mol_icon_chart_bar\n\t\t\t\t<= Preview_open $mol_check_icon\n\t\t\t\t\thint @ \\Show Preview\n\t\t\t\t\tchecked? <=> preview_show? false\n\t\t\t\t\tsub /\n\t\t\t\t\t\t<= Preview_open_icon $mol_icon_play_circle\n\t\t\tbody /\n\t\t\t\t<= Edit_form $mol_list\n\t\t\t\t\trows <= form_sections /\n\t\t\t\t\t\t<= Pack_field $mol_form_field\n\t\t\t\t\t\t\tname @ \\Components Donor App\n\t\t\t\t\t\t\tContent <= Pack $mol_search\n\t\t\t\t\t\t\t\tquery? <=> pack? \\https://mol.hyoo.ru\n\t\t\t\t\t\t\t\tsuggests <= suggests /\n\t\t\t\t\t\t\t\t\t\\https://mol.hyoo.ru\n\t\t\t\t\t\t<= Config $mol_list\n\t\t\t\t\t\t\trows /\n\t\t\t\t\t\t\t\t<= Classes $mol_view\n\t\t\t\t\t\t\t\t\tsub /\n\t\t\t\t\t\t\t\t\t\t<= Self_field $mol_form_field\n\t\t\t\t\t\t\t\t\t\t\tname @ \\Component Name\n\t\t\t\t\t\t\t\t\t\t\tContent <= Self $mol_string\n\t\t\t\t\t\t\t\t\t\t\t\thint \\$hyoo_studio_example\n\t\t\t\t\t\t\t\t\t\t\t\tvalue? <=> self? \\\n\t\t\t\t\t\t\t\t\t\t<= Base_field $mol_form_field\n\t\t\t\t\t\t\t\t\t\t\tname @ \\Base Class\n\t\t\t\t\t\t\t\t\t\t\tContent <= Base_content $mol_view\n\t\t\t\t\t\t\t\t\t\t\t\tsub /\n\t\t\t\t\t\t\t\t\t\t\t\t\t<= Base $mol_select\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue? <=> base? \\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\toptions <= base_options /string\n\t\t\t\t\t\t\t\t\t\t\t\t\t<= Readme_open $mol_check_icon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thint @ \\Readme\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tchecked? <=> readme_show? false\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsub /\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<= Readme_toggle_icon $mol_icon_information_outline\n\t\t\t\t\t\t\t\t- <= Props_inherited_field $mol_form_field\n\t\t\t\t\t\t\t\t\tname @ \\Display inherited properties\n\t\t\t\t\t\t\t\t\tcontrol <= Props_inherited_control $mol_check_list\n\t\t\t\t\t\t\t\t\t\toption_checked*? <=> props_inherited_checked*? false\n\t\t\t\t\t\t\t\t\t\toptions <= Props_inherited *\n\t\t\t\t\t\t\t\t\t\t\ta \\A\n\t\t\t\t\t\t\t\t\t\t\tb \\B\n\t\t\t\t\t\t\t\t\t\t\tc \\C\n\t\t\t\t\t\t\t\t<= Props_controls $mol_view\n\t\t\t\t\t\t\t\t\tsub <= props_controls /\n\t\t\t\t\t\t\t\t\t\t<= Prop_filter $mol_search\n\t\t\t\t\t\t\t\t\t\t\thint @ \\Search property or Add one..\n\t\t\t\t\t\t\t\t\t\t\tquery? <=> prop_filter? \\\n\t\t\t\t\t\t\t\t\t\t<= Prop_add $mol_button_minor\n\t\t\t\t\t\t\t\t\t\t\thint @ \\Add this property\n\t\t\t\t\t\t\t\t\t\t\tclick? <=> prop_add? null\n\t\t\t\t\t\t\t\t\t\t\tsub /\n\t\t\t\t\t\t\t\t\t\t\t\t<= Prop_add_icon $mol_icon_plus\n\t\t\t\t\t\t\t\t<= Props $mol_list\n\t\t\t\t\t\t\t\t\trows <= props /$hyoo_studio_prop\n\t\t<= Readme_page\n\t\t<= Source_page $mol_page\n\t\t\ttitle @ \\Raw Code\n\t\t\tbody /\n\t\t\t\t<= Source_page_list $mol_list rows <= source_page_body /\n\t\t\t\t\t<= Source_prop_switch $mol_view\n\t\t\t\t\t\tsub /\n\t\t\t\t\t\t\t<= Source_prop_name $mol_paragraph title <= source_prop_name \\The property is editing: {prop_name}\n\t\t\t\t\t\t\t<= Source_prop_exit $mol_button_minor\n\t\t\t\t\t\t\t\ttitle @ \\Show all\n\t\t\t\t\t\t\t\tclick? <=> source_prop_exit? null\n\t\t\t\t\t<= Source_type $mol_deck\n\t\t\t\t\t\tcurrent? <=> soure_type_current? \\0\n\t\t\t\t\t\titems /\n\t\t\t\t\t\t\t<= Source $mol_textarea\n\t\t\t\t\t\t\t\ttitle \\Composition\n\t\t\t\t\t\t\t\thint \\$hyoo_studio_example $mol_view\n\t\t\t\t\t\t\t\tsidebar_showed true\n\t\t\t\t\t\t\t\tvalue? <=> source_tree? \\$hyoo_studio_example $mol_view\n\t\t\t\t\t\t\t<= Source_css $mol_textarea\n\t\t\t\t\t\t\t\ttitle \\Styles\n\t\t\t\t\t\t\t\thint \\\n\t\t\t\t\t\t\t\tsidebar_showed true\n\t\t\t\t\t\t\t\tvalue? <=> source_css_switch? <=> source_css? \\\n\t\t\t\t\t\t\t<= Source_js $mol_textarea\n\t\t\t\t\t\t\t\ttitle \\Behavior\n\t\t\t\t\t\t\t\thint \\\n\t\t\t\t\t\t\t\tsidebar_showed true\n\t\t\t\t\t\t\t\tvalue? <=> source_js_switch? <=> source_js? \\\n\t\t<= Preview $mol_frame\n\t\t\ttitle @ \\Preview\n\t\t\turi <= pack\n\t\t\thtml <= preview_html \\\n\t\t\twindow => preview_window\n\t\t<= Inspect $mol_page\n\t\t\ttitle @ \\Inspect\n\t\t\tbody /\n\t\t\t\t<= Inspect_stat $mol_chart\n\t\t\t\t\tgraphs /\n\t\t\t\t\t\t<= Inspect_depth $mol_plot_bar\n\t\t\t\t\t\t\ttitle @ \\Min Depth\n\t\t\t\t\t\t\tseries_y <= inspect_stat /number\n\t\t\t\t\t\t<= Inspect_stat_vert $mol_plot_ruler_vert\n\t\t\t\t\t\t\ttitle @ \\count\n\t\t\t\t\t\t<= Inspect_stat_hor $mol_plot_mark_hor\n\t\t\t\t\t\t\ttitle @ \\depth\n\t\t\t\t\t\t\tseries_x <= inspect_stat_depth /number\n\t\t\t\t\t\t<= Marker_cross $mol_plot_mark_cross\n\t\t\t\t\t\t\tgraphs /\n\t\t\t\t\t\t\t\t<= Inspect_depth\n\t\t\t\t<= Inspect_graph $mol_dump_value\n\t\t\t\t\tvalue <= inspect_graph null\n\tProp* $hyoo_studio_prop\n\t\tname <= prop_name* \\default\n\t\tsign? <=> prop_sign*? \\\n\t\ttree? <=> prop_tree*? $mol_tree2_empty\n\t\tprops_of* <= props_of* $mol_tree2_empty\n\t\tprops_bindable <= props_all $mol_tree2_empty\n\t\tclass_list <= class_list /string\n\t\tBound_prop* <= Bound_prop* $hyoo_studio_prop\n\tPlaceholder null\n","namespace $ {\n\n\tdeclare function requestIdleCallback( task : ()=> void , options? : { timeout : number } ) : any\n\tdeclare function cancelIdleCallback( id : any ) : void\n\n\texport class $mol_after_work extends $mol_object2 {\n\n\t\tid : any\n\n\t\tconstructor(\n\t\t\tpublic delay : number ,\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis.id = requestIdleCallback( task , { timeout : delay } )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tcancelIdleCallback( this.id )\n\t\t}\n\n\t}\n\t\n\tif( typeof requestIdleCallback !== 'function' ) {\n\t\t$.$mol_after_work = $mol_after_timeout\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_wait_rest_async( this: $ ) {\n\t\treturn new Promise( done => {\n\t\t\tnew this.$mol_after_work( 16 , ()=> done( null ) )\n\t\t} )\n\t}\n\t\n\texport function $mol_wait_rest( this: $ ) {\n\t\treturn this.$mol_wire_sync( this ).$mol_wait_rest_async()\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/**\n\t * # Generic Graph model\n\t * - Supports any type of Nodes and Edges.\n\t * - All links are ordered, but this may be ignored.\n\t * - Multigraph supported using arrays of Edges.\n\t * - Hypergraph supported by reusing same Edge on set of links.\n\t * - Ubergraph supported using Edges as Nodes to.\n\t **/\n\texport class $mol_graph< Node , Edge > {\n\t\t\n\t\t/** All registered Nodes */\n\t\tnodes = new Set< Node >()\n\t\t\n\t\t/** Edges for Nodes pairs (from-to-edge) */\n\t\tedges_out = new Map< Node , Map< Node , Edge > >()\n\t\t/** Edges for Nodes pairs (to-from-edge) */\n\t\tedges_in = new Map< Node , Map< Node , Edge > >()\n\t\t\n\t\t// LINKING NODES\n\t\t\n\t\t/** Full connect two Nodes */\n\t\tlink( from : Node , to : Node , edge : Edge ) {\n\t\t\tthis.link_out( from , to , edge )\n\t\t\tthis.link_in( to , from , edge )\n\t\t}\n\t\t\n\t\t/** Full disconnect two Nodes */\n\t\tunlink( from : Node , to : Node ) {\n\t\t\tthis.edges_in.get( to )?.delete( from )\n\t\t\tthis.edges_out.get( from )?.delete( to )\n\t\t}\n\t\t\n\t\t/** Forward connect two Nodes */\n\t\tlink_out( from : Node , to : Node , edge : Edge ) {\n\t\t\t\n\t\t\tlet pair = this.edges_out.get( from )\n\t\t\t\n\t\t\tif( !pair ) {\n\t\t\t\tpair = new Map< Node , Edge >()\n\t\t\t\tthis.edges_out.set( from , pair )\n\t\t\t\tthis.nodes.add( from )\n\t\t\t}\n\t\t\t\n\t\t\tpair.set( to , edge )\n\t\t\tthis.nodes.add( to )\n\n\t\t}\n\t\t\n\t\t/** Backward connect two Nodes */\n\t\tlink_in( to : Node , from : Node , edge : Edge ) {\n\n\t\t\tlet pair = this.edges_in.get( to )\n\t\t\t\n\t\t\tif( !pair ) {\n\t\t\t\tpair = new Map< Node , Edge >()\n\t\t\t\tthis.edges_in.set( to , pair )\n\t\t\t\tthis.nodes.add( to )\n\t\t\t}\n\t\t\t\n\t\t\tpair.set( from , edge )\n\t\t\tthis.nodes.add( to )\n\n\t\t}\n\t\t\n\t\t// GETTING EDGES\n\t\t\n\t\t/** Return any Edge for two Nodes or null */\n\t\tedge( from : Node , to : Node ) {\n\t\t\treturn this.edge_out( from, to ) ?? this.edge_in( to, from )\n\t\t}\n\t\t\n\t\t/** Return output Edge for two Nodes or null */\n\t\tedge_out( from : Node , to : Node ) {\n\t\t\treturn this.edges_out.get( from )?.get( to ) ?? null\n\t\t}\n\t\t\n\t\t/** Return input Edge for two Nodes or null */\n\t\tedge_in( to : Node , from : Node ) {\n\t\t\treturn this.edges_in.get( to )?.get( from ) ?? null\n\t\t}\n\t\t\n\t\t// MUTATIONS\n\t\t\n\t\t/** Cut cycles at lowest priority of Edges */\n\t\tacyclic( get_weight : ( edge : Edge )=> number ) {\n\t\t\t\n\t\t\tconst checked = [] as Node[]\n\t\t\t\n\t\t\tfor( const start of this.nodes ) {\n\t\t\t\t\n\t\t\t\tconst path = [] as Node[]\n\t\t\t\t\n\t\t\t\tconst visit = ( from : Node ) : number => {\n\n\t\t\t\t\tif( checked.includes( from ) ) return Number.MAX_SAFE_INTEGER\n\n\t\t\t\t\tconst index = path.lastIndexOf( from )\n\t\t\t\t\tif( index > -1 ) {\n\n\t\t\t\t\t\tconst cycle = path.slice( index )\n\n\t\t\t\t\t\treturn cycle.reduce(\n\t\t\t\t\t\t\t( weight , node , index )=> Math.min(\n\t\t\t\t\t\t\t\tweight ,\n\t\t\t\t\t\t\t\tget_weight( this.edge_out( node , cycle[ ( index + 1 ) % cycle.length ] )! ) ,\n\t\t\t\t\t\t\t) ,\n\t\t\t\t\t\t\tNumber.MAX_SAFE_INTEGER ,\n\t\t\t\t\t\t)\n\n\t\t\t\t\t}\n\n\t\t\t\t\tpath.push( from )\n\n\t\t\t\t\tdive: try {\n\n\t\t\t\t\t\tconst deps = this.edges_out.get( from )\n\t\t\t\t\t\tif( !deps ) break dive\n\n\t\t\t\t\t\tfor( const [ to , edge ] of deps ) {\n\n\t\t\t\t\t\t\tif( to === from ) {\n\t\t\t\t\t\t\t\tthis.unlink( from , to )\n\t\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst weight_out = get_weight( edge )\n\t\t\t\t\t\t\tconst min = visit( to )\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif( weight_out > min ) return min\n\t\t\t\t\t\t\tif( weight_out === min ) {\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tthis.unlink( from , to )\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif( path.length > 1 ) {\n\t\t\t\t\t\t\t\t\tconst enter = path[ path.length - 2 ]\n\t\t\t\t\t\t\t\t\tthis.link( enter , to , edge )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tpath.pop()\n\t\t\t\t\t}\n\n\t\t\t\t\tchecked.push( from )\n\n\t\t\t\t\treturn Number.MAX_SAFE_INTEGER\n\t\t\t\t}\n\n\t\t\t\tvisit( start )\n\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t// NODES SELECTION\n\t\t\n\t\t/** Topoligical ordered set of all Nodes for acyclic graph */\n\t\tget sorted() {\n\n\t\t\tconst sorted = new Set< Node >()\n\t\t\t\n\t\t\tconst visit = ( node : Node ) => {\n\t\t\t\t\n\t\t\t\tif( sorted.has( node ) ) return\n\n\t\t\t\tconst deps = this.edges_out.get( node )\n\n\t\t\t\tif( deps ) {\n\t\t\t\t\tfor( const [dep] of deps ) visit( dep )\n\t\t\t\t}\n\n\t\t\t\tsorted.add( node )\n\t\t\t}\n\t\t\t\n\t\t\tfor( const node of this.nodes ) {\n\t\t\t\tvisit( node )\n\t\t\t}\n\t\t\t\n\t\t\treturn sorted\n\t\t}\n\t\t\n\t\t/** All Nodes which don't have input Edges */\n\t\tget roots() {\n\t\t\t\n\t\t\tconst roots = [] as Node[]\n\t\t\tfor( const node of this.nodes ) {\n\t\t\t\t\n\t\t\t\tif( this.edges_in.get( node )?.size ) continue\n\t\t\t\troots.push( node )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn roots\n\t\t}\n\t\t\n\t\t// DEPTH STATS\n\t\t\n\t\t/**\n\t\t * Nodes depth statistics for acyclic graph\n\t\t * @example\n\t\t * graph.depth_stat( Math.min )\n\t\t * graph.depth_stat( Math.max )\n\t\t **/\n\t\tnodes_depth( select: ( left: number, right: number )=> number ) {\n\t\t\t\n\t\t\tconst stat = new Map< Node, number >()\n\t\t\tconst visit = ( node: Node, depth = 0 )=> {\n\t\t\t\t\n\t\t\t\tif( stat.has( node ) ) stat.set( node, select( depth, stat.get( node )! ) )\n\t\t\t\telse stat.set( node, depth )\n\t\t\t\t\n\t\t\t\tfor( const kid of this.edges_out.get( node )?.keys() ?? [] ) visit( kid, depth + 1 )\n\t\t\t\t\n\t\t\t}\n\t\t\tfor( const root of this.roots ) visit( root )\n\t\t\t\n\t\t\treturn stat\n\t\t}\n\t\t\n\t\t/**\n\t\t * Depth's Nodes statistics for acyclic graph\n\t\t * @example\n\t\t * graph.depth_nodes( Math.min )\n\t\t * graph.depth_nodes( Math.max )\n\t\t **/\n\t\tdepth_nodes( select: ( left: number, right: number )=> number ) {\n\t\t\t\n\t\t\tconst groups = [] as Node[][]\n\t\t\tfor( const [ node, depth ] of this.nodes_depth( select ).entries() ) {\n\t\t\t\t\n\t\t\t\tif( groups[ depth ] ) groups[ depth ].push( node )\n\t\t\t\telse groups[ depth ] = [ node ]\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn groups\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_wire_graph( root: $mol_wire_pub_sub ) {\n\t\t\n\t\tconst graph = new $mol_graph< $mol_wire_pub, number >()\n\t\t\n\t\tfunction visit( sub: $mol_wire_pub ) {\n\t\t\t\n\t\t\tif( 'sync' in sub ) {\n\t\t\t\t\n\t\t\t\tconst fiber = sub as $mol_wire_fiber< any, any, any >\n\t\t\t\ttry {\n\t\t\t\t\tfiber.sync()\n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\tif( 'then' in error ) $mol_fail_hidden( error )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tfor( const [ index, pub ] of fiber.pub_list.entries() ) {\n\t\t\t\t\tgraph.link( sub, pub, index )\n\t\t\t\t\tvisit( pub )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\tvisit( root )\n\t\t\n\t\treturn graph\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_tree2_text_to_string( this: $, text: $mol_tree2 ) {\n\n\t\tlet res = ''\n\t\t\n\t\tfunction visit( text: $mol_tree2, prefix: string, inline: boolean ) {\n\n\t\t\tif( text.type === 'indent' ) {\n\n\t\t\t\tif( inline ) res += '\\n'\n\t\t\t\t\n\t\t\t\tfor( let kid of text.kids ) {\n\t\t\t\t\tvisit( kid, prefix + '\\t', false )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( inline ) res += prefix\n\n\t\t\t} else if( text.type === 'line' ) {\n\t\t\t\t\n\t\t\t\tif( !inline ) res += prefix\n\t\t\t\t\n\t\t\t\tfor( let kid of text.kids ) {\n\t\t\t\t\tvisit( kid, prefix, true )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( !inline ) res += '\\n'\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tif( !inline ) res += prefix\n\t\t\t\t\n\t\t\t\tres += text.text()\n\t\t\t\t\n\t\t\t\tif( !inline ) res += '\\n'\n\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tfor( let kid of text.kids ) {\n\t\t\tvisit( kid, '', false )\n\t\t}\n\t\t\n\t\treturn res\n\t}\n\n}\n","namespace $ {\n\n\tconst alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\n\n\texport function $mol_vlq_encode( val: number ): string {\n\n\t\tconst sign = val < 0 ? 1 : 0\n\t\tif( sign ) val = -val\n\n\t\tlet index = sign | ( ( val & 0b1111 ) << 1 )\n\t\tval >>>= 4\n\t\t\n\t\tlet res = ''\n\n\t\twhile( val ) {\n\n\t\t\tindex |= 1 << 5\n\t\t\tres += alphabet[ index ]\n\t\t\t\n\t\t\tif( !val ) break\n\t\t\t\n\t\t\tindex = val & 0b11111\n\t\t\tval >>>= 5\n\t\t\t\n\t\t}\n\n\t\tres += alphabet[ index ]\n\n\t\treturn res\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_tree2_text_to_sourcemap( this: $, tree: $mol_tree2 ) {\n\n\t\tlet col = 1\n\t\tlet prev_span: $mol_span | undefined\n\t\tlet prev_index = 0\n\t\tlet prev_col = 1\n\t\tlet mappings = ''\n\t\tlet line = [] as string[]\n\n\t\tconst file_indexes = new Map< string, number >()\n\t\tconst file_sources = new Map< string, string >()\n\n\t\tfunction span2index( span: $mol_span ) {\n\t\t\tif( file_indexes.has( span.uri ) ) return file_indexes.get( span.uri )!\n\t\t\tconst index = file_indexes.size\n\t\t\tfile_indexes.set( span.uri, index )\n\t\t\tfile_sources.set( span.uri, span.source )\n\t\t\treturn index\n\t\t}\n\t\t\n\t\tfunction next_line() {\n\t\t\tif( !line.length ) return\n\t\t\tmappings += line.join(',') + ';'\n\t\t\tline = []\n\t\t\tcol = 1\n\t\t\tprev_col = 1\n\t\t}\n\t\t\n\t\tfunction visit( text: $mol_tree2, prefix: number, inline: boolean ) {\n\n\t\t\tfunction indent() {\n\t\t\t\tcol += prefix\n\t\t\t}\n\t\n\t\t\tif( inline && text.type === 'indent' ) next_line()\n\t\t\t\n\t\t\tif( prev_span !== text.span || col === 1 ) {\n\n\t\t\t\tconst index = span2index( text.span )\n\t\t\t\t\n\t\t\t\tline.push(\n\t\t\t\t\t$mol_vlq_encode( col - prev_col ) + \n\t\t\t\t\t$mol_vlq_encode( index - prev_index ) +\n\t\t\t\t\t$mol_vlq_encode( text.span.row - ( prev_span?.row ?? 1 ) ) +\n\t\t\t\t\t$mol_vlq_encode( text.span.col - ( prev_span?.col ?? 1 ) )\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tprev_col = col\n\t\t\t\tprev_span = text.span\n\t\t\t\tprev_index = index\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( text.type === 'indent' ) {\n\n\t\t\t\tfor( let kid of text.kids ) {\n\t\t\t\t\tvisit( kid, prefix + 1, false )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( inline ) next_line()\n\n\t\t\t} else if( text.type === 'line' ) {\n\t\t\t\t\n\t\t\t\tif( !inline ) indent()\n\t\t\t\t\n\t\t\t\tfor( let kid of text.kids ) {\n\t\t\t\t\tvisit( kid, prefix, true )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( !inline ) next_line()\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tif( !inline ) indent()\n\t\t\t\t\n\t\t\t\tcol += text.text().length\n\t\t\t\t\n\t\t\t\tif( !inline ) next_line()\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tfor( let kid of tree.kids ) {\n\t\t\tvisit( kid, 0, false )\n\t\t}\n\t\tnext_line()\n\t\t\n\t\tconst map: $mol_sourcemap_raw = {\n\t\t\tversion: 3,\n\t\t\tsources: [ ... file_sources.keys() ],\n\t\t\tsourcesContent: [ ... file_sources.values() ],\n\t\t\tmappings,\n\t\t}\n\n\t\treturn map\n\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_sourcemap_url(this: $, uri: string, type = 'js' as 'js' | 'css') {\n\t\tif (type === 'css') return `\\n/*# sourceMappingURL=${uri}*/`\n\t\treturn `\\n//# sourceMappingURL=${uri}`\n\t}\n\n}\n","namespace $ {\n\n\tconst prefix = '# sourceMappingURL=data:application/json,'\n\tconst end_comment = ' */'\n\n\texport function $mol_sourcemap_dataurl_decode(this: $, data: string) {\n\t\tconst index = data.lastIndexOf(prefix)\n\n\t\tif (index === -1) return undefined\n\n\t\tdata = data.substring(index + prefix.length)\n\n\t\tif (data.endsWith(end_comment)) data = data.substring(0, data.length - end_comment.length)\n\n\t\tconst decoded = this.decodeURIComponent(data)\n\n\t\ttry {\n\t\t\tconst map = JSON.parse(decoded) as $mol_sourcemap_raw | null\n\n\t\t\tif (! map) return undefined\n\n\t\t\tif (typeof map.mappings === 'string' && map.mappings.startsWith(';;')) {\n\t\t\t\tmap.mappings = map.mappings.substring(2)\n\t\t\t}\n\n\t\t\treturn map\n\t\t} catch (e) {\n\t\t\tif (e instanceof Error) e.message += ', origin=' + decoded\n\t\t\t$mol_fail_hidden(e)\n\t\t}\n\t}\n\n\texport function $mol_sourcemap_dataurl_encode(this: $, map: $mol_sourcemap_raw, type = 'js' as 'js' | 'css') {\n\t\tconst str = JSON.stringify( { ...map, mappings: ';;' + map.mappings } )\n\n\t\treturn this.$mol_sourcemap_url('data:application/json,' + this.encodeURIComponent( str ), type)\n\t}\n}\n","namespace $ {\n\n\texport function $mol_tree2_text_to_string_mapped( this: $, text: $mol_tree2, type: 'js' | 'css' ) {\n\t\t\n\t\tconst code = this.$mol_tree2_text_to_string( text )\n\t\tconst map = this.$mol_tree2_text_to_sourcemap( text )\n\n\t\tconst chunk = this.$mol_sourcemap_dataurl_encode( map, type )\n\t\treturn code + chunk\n\t}\n\n\texport function $mol_tree2_text_to_string_mapped_js( this: $, text: $mol_tree2 ) {\n\t\treturn this.$mol_tree2_text_to_string_mapped( text, 'js' )\n\t}\n\t\n\texport function $mol_tree2_text_to_string_mapped_css( this: $, text: $mol_tree2 ) {\n\t\treturn this.$mol_tree2_text_to_string_mapped( text, 'css')\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_tree2_js_to_text( this: $, js: $mol_tree2 ) {\n\n\t\tfunction sequence( open?: string, separator?: string, close?: string ) {\n\t\t\treturn ( input: $mol_tree2, belt: $mol_tree2_belt< never > )=> [\n\t\t\t\tinput.struct( 'line', [\n\t\t\t\t\t... open ? [ input.data( open ) ] : [],\n\t\t\t\t\tinput.struct( separator && input.kids.length > 2 ? 'indent' : 'line',\n\t\t\t\t\t\t( [] as $mol_tree2[] ).concat(\n\t\t\t\t\t\t\t... input.kids.map( ( kid, index ) => [\n\t\t\t\t\t\t\t\tkid.struct( 'line', [\n\t\t\t\t\t\t\t\t\t... kid.list([ kid ]).hack( belt ),\n\t\t\t\t\t\t\t\t\t... ( separator && index < input.kids.length - 1 ) ? [ input.data( separator ) ] : [],\n\t\t\t\t\t\t\t\t] ),\n\t\t\t\t\t\t\t] ),\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\t... close ? [ input.data( close ) ] : [],\n\t\t\t\t] ),\n\t\t\t]\n\t\t}\n\n\t\tfunction block( open?: string, separator?: string, close?: string ) {\n\t\t\treturn ( input: $mol_tree2, belt: $mol_tree2_belt< never > )=> [\n\t\t\t\t... open ? [ input.data( open ) ] : [],\n\t\t\t\t... input.kids.length === 0 ? [] : [ input.struct( 'indent',\n\t\t\t\t\tinput.kids.map( ( kid, index ) =>\n\t\t\t\t\t\tkid.struct( 'line', [\n\t\t\t\t\t\t\t... kid.list([ kid ]).hack( belt ),\n\t\t\t\t\t\t\t... ( separator ) ? [ input.data( separator ) ] : [],\n\t\t\t\t\t\t] ),\n\t\t\t\t\t),\n\t\t\t\t) ],\n\t\t\t\t... close ? [ input.data( close ) ] : [],\n\t\t\t]\n\t\t}\n\n\t\tfunction duplet( open?: string, separator?: string, close?: string ) {\n\t\t\treturn ( input: $mol_tree2, belt: $mol_tree2_belt< never > )=> [\n\t\t\t\tinput.struct( 'line', [\n\t\t\t\t\t... open ? [ input.data( open ) ] : [],\n\t\t\t\t\t... input.list( input.kids.slice( 0, 1 ) ).hack( belt ),\n\t\t\t\t\t... ( separator && input.kids.length > 1 ) ? [ input.data( separator ) ] : [],\n\t\t\t\t\t... input.list( input.kids.slice( 1, 2 ) ).hack( belt ),\n\t\t\t\t\t... close ? [ input.data( close ) ] : [],\n\t\t\t\t] ),\n\t\t\t]\n\t\t}\n\n\t\tfunction triplet( open?: string, separator12?: string, separator23?: string, close?: string ) {\n\t\t\treturn ( input: $mol_tree2, belt: $mol_tree2_belt< never > )=> [\n\t\t\t\tinput.struct( 'line', [\n\t\t\t\t\t... open ? [ input.data( open ) ] : [],\n\t\t\t\t\t... input.list( input.kids.slice( 0, 1 ) ).hack( belt ),\n\t\t\t\t\t... ( separator12 && input.kids.length > 1 ) ? [ input.data( separator12 ) ] : [],\n\t\t\t\t\t... input.list( input.kids.slice( 1, 2 ) ).hack( belt ),\n\t\t\t\t\t... ( separator23 && input.kids.length > 2 ) ? [ input.data( separator23 ) ] : [],\n\t\t\t\t\t... input.list( input.kids.slice( 2, 3 ) ).hack( belt ),\n\t\t\t\t\t... close ? [ input.data( close ) ] : [],\n\t\t\t\t] ),\n\t\t\t]\n\t\t}\n\n\t\treturn js.list( js.hack({\n\n\t\t\t'+': sequence( '+' ),\n\t\t\t'-': sequence( '-' ),\n\t\t\t'!': sequence( '!' ),\n\t\t\t'~': sequence( '~' ),\n\n\t\t\t'return': sequence( 'return ' ),\n\t\t\t'break': sequence( 'break ' ),\n\t\t\t'continue': sequence( 'continue ' ),\n\t\t\t'yield': sequence( 'yield ' ),\n\t\t\t'yield*': sequence( 'yield* ' ),\n\t\t\t'await': sequence( 'await ' ),\n\t\t\t'void': sequence( 'void ' ),\n\t\t\t'delete': sequence( 'delete ' ),\n\t\t\t'typeof': sequence( 'typeof ' ),\n\t\t\t'new': sequence( 'new ' ),\n\t\t\t'...': sequence( '...' ),\n\n\t\t\t'@++': sequence( '', '', '++' ),\n\t\t\t'@--': sequence( '', '', '--' ),\n\t\t\t\n\t\t\t'(in)': sequence( '(', ' in ', ')' ),\n\t\t\t'(instanceof)': sequence( '(', ' instanceof ', ')' ),\n\n\t\t\t'(+)': sequence( '(', ' + ', ')' ),\n\t\t\t'(-)': sequence( '(', ' - ', ')' ),\n\t\t\t'(*)': sequence( '(', ' * ', ')' ),\n\t\t\t'(/)': sequence( '(', ' / ', ')' ),\n\t\t\t'(%)': sequence( '(', ' % ', ')' ),\n\t\t\t'(**)': sequence( '(', ' ** ', ')' ),\n\t\t\t\n\t\t\t'(<)': sequence( '(', ' < ', ')' ),\n\t\t\t'(<=)': sequence( '(', ' <= ', ')' ),\n\t\t\t'(>)': sequence( '(', ' > ', ')' ),\n\t\t\t'(>=)': sequence( '(', ' >= ', ')' ),\n\t\t\t'(==)': sequence( '(', ' == ', ')' ),\n\t\t\t'(!=)': sequence( '(', ' != ', ')' ),\n\t\t\t'(===)': sequence( '(', ' === ', ')' ),\n\t\t\t'(!==)': sequence( '(', ' !== ', ')' ),\n\t\t\t\n\t\t\t'(<<)': sequence( '(', ' << ', ')' ),\n\t\t\t'(>>)': sequence( '(', ' >> ', ')' ),\n\t\t\t'(>>>)': sequence( '(', ' >>> ', ')' ),\n\t\t\t'(&)': sequence( '(', ' & ', ')' ),\n\t\t\t'(|)': sequence( '(', ' | ', ')' ),\n\t\t\t'(^)': sequence( '(', ' ^ ', ')' ),\n\t\t\t\n\t\t\t'(&&)': sequence( '(', ' && ', ')' ),\n\t\t\t'(||)': sequence( '(', ' || ', ')' ),\n\t\t\t'(,)': sequence( '(', ', ', ')' ),\n\t\t\t'{;}': block( '{', ';', '}' ),\n\t\t\t';': block( '', ';', '' ),\n\t\t\t'[,]': sequence( '[', ', ', ']' ),\n\t\t\t'{,}': sequence( '{', ', ', '}' ),\n\n\t\t\t'()': sequence( '(', '', ')' ),\n\t\t\t'{}': block( '{', '', '}' ),\n\t\t\t\n\t\t\t'[]': ( input, belt )=> {\n\t\t\t\tconst first = input.kids[0]\n\t\t\t\tif( first.type ) return sequence( '[', '', ']' )( input, belt )\n\t\t\t\telse return [ input.data( '.' + first.text() ) ]\n\t\t\t},\n\t\t\t\n\t\t\t'?.[]': ( input, belt )=> {\n\t\t\t\tconst first = input.kids[0]\n\t\t\t\tif( first.type ) return sequence( '?.[', '', ']' )( input, belt )\n\t\t\t\telse return [ input.data( '?.' + first.text() ) ]\n\t\t\t},\n\t\t\t\n\t\t\t':': ( input, belt )=> {\n\t\t\t\tconst first = input.kids[0]\n\t\t\t\tif( first.type ) return duplet( '[', ']: ' )( input, belt )\n\t\t\t\telse return duplet( '', ': ' )( input, belt )\n\t\t\t},\n\t\t\t\n\t\t\t'let': duplet( 'let ', ' = ' ),\n\t\t\t'const': duplet( 'const ', ' = ' ),\n\t\t\t'var': duplet( 'var ', ' = ' ),\n\n\t\t\t'=': duplet( '', ' = ' ),\n\t\t\t'+=': duplet( '', ' += ' ),\n\t\t\t'-=': duplet( '', ' -= ' ),\n\t\t\t'*=': duplet( '', ' *= ' ),\n\t\t\t'/=': duplet( '', ' /= ' ),\n\t\t\t'%=': duplet( '', ' %= ' ),\n\t\t\t'**=': duplet( '', ' **= ' ),\n\t\t\t'<<=': duplet( '', ' <<= ' ),\n\t\t\t'>>=': duplet( '', ' >>= ' ),\n\t\t\t'>>>=': duplet( '', ' >>>= ' ),\n\t\t\t'&=': duplet( '', ' &= ' ),\n\t\t\t'|=': duplet( '', ' |= ' ),\n\t\t\t'^=': duplet( '', ' ^= ' ),\n\t\t\t'&&=': duplet( '', ' &&= ' ),\n\t\t\t'||=': duplet( '', ' ||= ' ),\n\n\t\t\t'=>': duplet( '', ' => ' ),\n\t\t\t'async=>': duplet( 'async ', ' => ' ),\n\t\t\t'function': triplet( 'function ' ),\n\t\t\t'function*': triplet( 'function* ' ),\n\t\t\t'async': triplet( 'async function ' ),\n\t\t\t'async*': triplet( 'async function* ' ),\n\n\t\t\t'class': triplet( 'class ', ' ' ),\n\t\t\t'extends': sequence( 'extends ', '', ' ' ),\n\n\t\t\t'if': triplet( 'if', ' ', 'else' ),\n\t\t\t'?:': triplet( '', ' ? ', ' : ' ),\n\n\t\t\t'.': ( input, belt )=> {\n\t\t\t\tconst first = input.kids[0]\n\t\t\t\tif( first.type ) return triplet( '[', ']' )( input, belt )\n\t\t\t\telse return [\n\t\t\t\t\tinput.data( first.text() ),\n\t\t\t\t\t... input.list( input.kids.slice(1) ).hack( belt ),\n\t\t\t\t]\n\t\t\t},\n\n\t\t\t'get': triplet( 'get [', ']' ),\n\t\t\t'set': triplet( 'set [', ']' ),\n\t\t\t'static': triplet( 'static [', ']' ),\n\t\t\t\n\t\t\t'/./': sequence(),\n\t\t\t'.global': sequence( 'g' ),\n\t\t\t'.multiline': sequence( 'm' ),\n\t\t\t'.ignoreCase': sequence( 'i' ),\n\t\t\t'.source': ( input, belt )=> [\n\t\t\t\tinput.data( '/' ),\n\t\t\t\tinput.data( JSON.stringify( input.text() ).slice( 1, -1 ) ),\n\t\t\t\tinput.data( '/' ),\n\t\t\t],\n\n\t\t\t'``': ( input, belt )=> {\n\t\t\t\treturn [\n\t\t\t\t\tinput.struct( 'line', [\n\t\t\t\t\t\tinput.data( '`' ),\n\t\t\t\t\t\t... ( [] as $mol_tree2[] ).concat( ... input.kids.map( kid => {\n\t\t\t\t\t\t\tif( kid.type ) {\n\t\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\t\tkid.data( '${' ),\n\t\t\t\t\t\t\t\t\t... kid.list([ kid ]).hack( belt ),\n\t\t\t\t\t\t\t\t\tkid.data( '}' ),\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\t\tinput.data( JSON.stringify( kid.text() ).slice( 1, -1 ) ),\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} ) ),\n\t\t\t\t\t\tinput.data( '`' ),\n\t\t\t\t\t] ),\n\t\t\t\t]\n\t\t\t},\n\n\t\t\t'': ( input, belt )=> {\n\n\t\t\t\t// string\n\t\t\t\tif( !input.type ) return [\n\t\t\t\t\tinput.data( JSON.stringify( input.text() ) ),\n\t\t\t\t]\n\t\t\t\t\n\t\t\t\t// variable\n\t\t\t\tif( /^[\\w$#][\\w0-9$]*$/i.test( input.type ) ) return [\n\t\t\t\t\tinput.data( input.type ),\n\t\t\t\t\t// ... input.hack( context ),\n\t\t\t\t]\n\t\t\t\t\n\t\t\t\t// number\n\t\t\t\tif( $mol_view_tree2_value_number(input.type) ) return [\n\t\t\t\t\tinput.data( input.type )\n\t\t\t\t]\n\n\t\t\t\t$mol_fail( new SyntaxError( `Wrong node type` ) )\n\n\t\t\t},\n\n\t\t}) )\n\n\t}\n\n}\n","namespace $ {\n\texport function $mol_guard_defined(value: T): value is NonNullable {\n\t\treturn value !== null && value !== undefined\n\t}\n}\n","namespace $ {\n\n\tconst err = $mol_view_tree2_error_str\n\n\tfunction name_of(this: $, prop: $mol_tree2 ) {\n\t\treturn this.$mol_view_tree2_prop_parts(prop).name\n\t}\n\t\n\tfunction params_of( this: $, prop: $mol_tree2, bidi = true ) {\n\t\t\n\t\tconst { key, next } = this.$mol_view_tree2_prop_parts(prop)\n\n\t\treturn prop.struct( '(,)', [\n\t\t\t... key\n\t\t\t\t? [ prop.struct( 'id' ) ]\n\t\t\t\t: [],\n\t\t\t... ( bidi && next ) ? [ prop.struct( 'next' ) ] : [],\n\t\t] )\n\t\t\n\t}\n\t\n\tfunction args_of( this: $, prop: $mol_tree2, bidi = true ) {\n\t\t\n\t\tconst { key, next } = this.$mol_view_tree2_prop_parts(prop)\n\n\t\treturn prop.struct( '(,)', [\n\t\t\t... key\n\t\t\t\t? key.length > 1\n\t\t\t\t\t? [ prop.data( key.slice(1) ) ]\n\t\t\t\t\t: [ prop.struct( 'id' ) ]\n\t\t\t\t: [],\n\t\t\t... ( bidi && next ) ? [ prop.struct( 'next' ) ] : [],\n\t\t] )\n\t\t\n\t}\n\n\tfunction call_method_name(this: $, child: $mol_tree2, optional: boolean) {\n\t\treturn child.struct( optional ? '?.[]' : '[]', [\n\t\t\tchild.data( name_of.call( this, child ) )\n\t\t] )\n\t}\n\n\tfunction call_of(this: $, bind: $mol_tree2, bidi = true) {\n\t\tif( bind.kids.length === 0 ) {\n\t\t\treturn this.$mol_fail(\n\t\t\t\terr`Required one child at ${bind.span}`\n\t\t\t)\n\t\t}\n\n\t\tconst chain = [ bind.struct( 'this' ) ]\n\n\t\tfor (const child of bind.kids) {\n\t\t\tchain.push(\n\t\t\t\tcall_method_name.call(this, child, chain.length > 1),\n\t\t\t\targs_of.call(this, child, bidi),\n\t\t\t)\n\t\t}\n\n\t\treturn bind.struct( '()', chain )\n\t}\n\n\ttype Context = { chain?: string[] }\n\t\n\tconst localized_string = $$.$mol_tree2_from_string(`\n\t\t()\n\t\t\tthis\n\t\t\t[] \\\\$\n\t\t\t[] \\\\$mol_locale\n\t\t\t[] \\\\text\n\t\t\t(,) #key\n\t`, 'localized_string' )\n\n\tfunction klass_body(\n\t\tthis: $,\n\t\tacc: {\n\t\t\tklass: $mol_tree2\n\t\t\taddons: $mol_tree2[]\n\t\t\tmembers: $mol_tree2[]\n\t\t},\n\t\tprop: $mol_tree2\n\t) {\n\t\tconst { klass, members, addons } = acc\n\t\tconst { name, key, next } = this.$mol_view_tree2_prop_parts(prop)\n\n\t\tconst decorate = ()=> {\n\t\t\treturn prop.struct( '()', [\n\t\t\t\tprop.struct( key ? '$mol_mem_key' : '$mol_mem' ),\n\t\t\t\tprop.struct( '(,)', [\n\t\t\t\t\tprop.struct( '()', [\n\t\t\t\t\t\tklass.struct( '$' ),\n\t\t\t\t\t\tprop.struct( '[]', [\n\t\t\t\t\t\t\tklass.data( klass.type ),\n\t\t\t\t\t\t] ),\n\t\t\t\t\t\tprop.struct( '[]', [\n\t\t\t\t\t\t\tprop.data( 'prototype' ),\n\t\t\t\t\t\t] ),\n\t\t\t\t\t] ),\n\t\t\t\t\tprop.data( name ),\n\t\t\t\t] ),\n\t\t\t] )\n\t\t}\n\t\tconst op = prop.kids[0]\n\t\tconst is_delegate = op?.type === '<=>' || op?.type === '='\n\t\tif( ! is_delegate && next ) addons.push( decorate() )\n\t\t\n\t\tconst val = prop.hack({\n\t\t\t\n\t\t\t'@': ( locale, belt, context )=> {\n\t\t\t\tconst chain = context.chain?.join('_')\n\n\t\t\t\treturn localized_string.hack({\n\t\t\t\t\t'#key': key => [ locale.data( `${ klass.type }_${ name }${ chain ? `_${chain}` : '' }` ) ],\n\t\t\t\t})\n\t\t\t},\n\t\t\t\n\t\t\t'<=': bind => [ call_of.call(this, bind, false) ],\n\n\t\t\t'<=>': bind => [ call_of.call(this, bind, true) ],\n\t\t\t\n\t\t\t'=>': bind => [],\n\t\t\t\n\t\t\t'^': ( ref )=> [\n\t\t\t\tref.struct( '...', [\n\t\t\t\t\tref.struct( '()', [\n\t\t\t\t\t\tref.struct( ref.kids[0]?.type ? 'this' : 'super' ),\n\t\t\t\t\t\tref.struct( '[]', [\n\t\t\t\t\t\t\tref.data( ref.kids[0]?.type ? name_of.call(this, ref.kids[0]) : name ),\n\t\t\t\t\t\t] ),\n\t\t\t\t\t\tref.kids[0]?.type ? args_of.call(this, ref.kids[0]) : ref.struct( '(,)' )\n\t\t\t\t\t]),\n\t\t\t\t] ),\n\t\t\t],\n\n\t\t\t'=': bind => [ bind.struct( '()', [\n\t\t\t\tbind.struct( 'this' ),\n\t\t\t\t... bind.hack({ '': ( method, belt, ctx )=> [\n\t\t\t\t\tcall_method_name.call( this, method, (ctx.item_index++) > 0 ),\n\t\t\t\t\targs_of.call( this, method ),\n\t\t\t\t\t... method.hack( belt ),\n\t\t\t\t] }, { item_index: 0 }),\n\t\t\t] ) ],\n\t\t\t\t\n\t\t\t'': ( input, belt, context )=> {\n\n\t\t\t\tif( input.type[0] === '*' ) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\tinput.struct('{,}',\n\t\t\t\t\t\t\tinput.kids.map( field => {\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif( field.type === '^' ) return field.list([ field ]).hack( belt )[0]\n\t\t\t\t\t\t\t\tconst field_name = (field.type || field.value).replace(/\\?\\w*$/, '')\n\n\t\t\t\t\t\t\t\treturn field.struct( ':', [\n\t\t\t\t\t\t\t\t\tfield.data( field_name ),\n\t\t\t\t\t\t\t\t\tfield.kids[0].type === '<=>'\n\t\t\t\t\t\t\t\t\t\t? field.struct( '=>', [\n\t\t\t\t\t\t\t\t\t\t\tparams_of.call(this, field ),\n\t\t\t\t\t\t\t\t\t\t\t... field.hack( belt ),\n\t\t\t\t\t\t\t\t\t\t] )\n\t\t\t\t\t\t\t\t\t\t: field.hack( belt, {... context, chain: [...context.chain ?? [], field_name] })[0],\n\t\t\t\t\t\t\t\t] )\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t} ).filter( this.$mol_guard_defined )\n\t\t\t\t\t\t)\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( input.type[0] === '/' ) return [\n\t\t\t\t\tinput.struct( '[,]', input.hack( belt ) ),\n\t\t\t\t]\n\t\t\t\tif( input.type && $mol_view_tree2_value_number(input.type) ) return [\n\t\t\t\t\tinput\n\t\t\t\t]\n\n\t\t\t\tif( $mol_view_tree2_class_match( input ) ) {\n\t\t\t\t\tif( ! next ) addons.push( decorate() )\n\t\t\t\t\t\n\t\t\t\t\tconst overrides = [] as $mol_tree2[]\n\t\t\t\t\t\n\t\t\t\t\tfor( const over of input.kids ) {\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( over.type[0] === '/' ) continue\n\t\t\t\t\t\tconst bind = over.kids[0]\n\t\t\t\t\t\tif( bind.type === '=>' ) continue\n\n\t\t\t\t\t\tconst over_name = name_of.call(this, over )\n\n\t\t\t\t\t\tconst body = [\n\t\t\t\t\t\t\targs_of.call(this, over ),\n\t\t\t\t\t\t\tover.struct( '()', over.hack( belt, { chain: [ over.type ] } )),\n\t\t\t\t\t\t]\n\n\t\t\t\t\t\toverrides.push(\n\t\t\t\t\t\t\tover.struct( '=', [\n\t\t\t\t\t\t\t\tover.struct( '()', [\n\t\t\t\t\t\t\t\t\tover.struct( 'obj' ),\n\t\t\t\t\t\t\t\t\tover.struct( '[]', [\n\t\t\t\t\t\t\t\t\t\tover.data( over_name ),\n\t\t\t\t\t\t\t\t\t] ),\n\t\t\t\t\t\t\t\t] ),\n\t\t\t\t\t\t\t\tover.struct( '=>', body ),\n\t\t\t\t\t\t\t] ),\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\treturn [\n\t\t\t\t\t\tinput.struct( 'const', [\n\t\t\t\t\t\t\tinput.struct( 'obj' ),\n\t\t\t\t\t\t\tinput.struct( 'new', [\n\t\t\t\t\t\t\t\tinput.struct( 'this' ),\n\t\t\t\t\t\t\t\tinput.struct('[]', [\n\t\t\t\t\t\t\t\t\tinput.data( '$' ),\n\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t\tinput.struct('[]', [\n\t\t\t\t\t\t\t\t\tinput.data( input.type.replace(/<.+>/g, '') ),\n\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t\tinput.struct( '(,)', input.select( '/', null ).hack( belt ) ),\n\t\t\t\t\t\t\t] ),\n\t\t\t\t\t\t] ),\n\t\t\t\t\t\t... overrides,\n\t\t\t\t\t\tinput.struct( 'obj' ),\n\t\t\t\t\t]\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn [ input ]\n\t\t\t\t\n\t\t\t},\n\t\t\t\n\t\t})\n\n\t\tmembers.push(\n\t\t\tprop.struct( '.', [\n\t\t\t\tprop.data( name ),\n\t\t\t\tparams_of.call(this, prop ),\n\t\t\t\tprop.struct( '{;}', [\n\t\t\t\t\t... next && ! is_delegate ? [\n\t\t\t\t\t\tprop.struct( 'if', [\n\t\t\t\t\t\t\tprop.struct( '(!==)', [\n\t\t\t\t\t\t\t\tprop.struct( 'next' ),\n\t\t\t\t\t\t\t\tprop.struct( 'undefined' ),\n\t\t\t\t\t\t\t] ),\n\t\t\t\t\t\t\tprop.struct( 'return', [\n\t\t\t\t\t\t\t\tprop.struct( 'next' ),\n\t\t\t\t\t\t\t] ),\n\t\t\t\t\t\t] ),\n\t\t\t\t\t] : [],\n\t\t\t\t\t... val.slice( 0, -1 ),\n\t\t\t\t\tprop.struct( 'return', val.slice( -1 ) ),\n\t\t\t\t] ),\n\t\t\t] )\n\t\t)\n\n\t\treturn acc\n\t}\n\n\texport function $mol_view_tree2_to_js( this: $, descr: $mol_tree2 ) {\n\t\t\n\t\tdescr = $mol_view_tree2_classes( descr )\n\t\t\n\t\tconst definitions = [] as $mol_tree2[]\n\t\t\n\t\tfor( const klass of descr.kids ) {\n\n\t\t\tconst parent = klass.kids[0]\n\t\t\tconst props = this.$mol_view_tree2_class_props( klass )\n\t\t\tconst addons = [] as $mol_tree2[]\n\t\t\tconst members = [] as $mol_tree2[]\n\t\t\tconst acc = { klass, addons, members }\n\n\t\t\tfor( const prop of props ) {\n\t\t\t\ttry {\n\t\t\t\t\tklass_body.call( this, acc, prop )\n\t\t\t\t} catch (e: any) {\n\t\t\t\t\te.message += ` at ${prop.span}`\n\t\t\t\t\t$mol_fail_hidden(e)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tdefinitions.push(\n\t\t\t\tklass.struct( '=', [\n\t\t\t\t\tklass.struct( '()', [\n\t\t\t\t\t\tklass.struct( '$' ),\n\t\t\t\t\t\tklass.struct( '[]', [\n\t\t\t\t\t\t\tklass.data( klass.type ),\n\t\t\t\t\t\t] ),\n\t\t\t\t\t] ),\n\t\t\t\t\tklass.struct( 'class', [\n\t\t\t\t\t\tklass.struct( klass.type ),\n\t\t\t\t\t\tparent.struct( 'extends', [\n\t\t\t\t\t\t\tparent.struct( '()', [\n\t\t\t\t\t\t\t\tparent.struct( '$' ),\n\t\t\t\t\t\t\t\tparent.struct( '[]', [\n\t\t\t\t\t\t\t\t\tparent.data( parent.type ),\n\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t] ),\n\t\t\t\t\t\t] ),\n\t\t\t\t\t\tklass.struct( '{}', members ),\n\t\t\t\t\t] ),\n\t\t\t\t] ),\n\t\t\t\t... addons,\n\t\t\t)\n\t\t\t\n\t\t}\n\n\t\treturn descr.list([\n\t\t\tdescr.struct( ';', definitions )\n\t\t])\n\t\t\n\t}\n}\n","namespace $ {\n\n\texport function $mol_offline( ) {}\n\n}\n","namespace $ {\n\ttry {\n\t\t$mol_offline()\n\t} catch( error ) {\n\t\tconsole.error( error )\n\t}\n}\n","namespace $.$$ {\n\t\n\texport class $hyoo_studio extends $.$hyoo_studio {\n\t\t\n\t\tpreview_show( next?: boolean ) {\n\t\t\treturn this.$.$mol_state_arg.value( 'preview', next?.valueOf && ( next ? '' : null ) ) !== null\n\t\t}\n\t\t\n\t\tinspector_show( next?: boolean ) {\n\t\t\treturn this.$.$mol_state_arg.value( 'inspect', next?.valueOf && ( next ? '' : null ) ) !== null\n\t\t}\n\n\t\tcode_show( next?: boolean ) {\n\t\t\treturn this.$.$mol_state_arg.value( 'raw', next?.valueOf && ( next ? '' : null ) ) !== null\n\t\t}\n\n\t\treadme_show( next?: boolean ) {\n\t\t\tif ( next ) this.readme_selected( this.base() )\n\t\t\treturn this.Demo().readme_page( next )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tpages() {\n\t\t\treturn [\n\t\t\t\tthis.Edit(),\n\t\t\t\t... this.readme_show() ? [ this.Readme_page() ] : [],\n\t\t\t\t... this.code_show() ? [ this.Source_page() ] : [],\n\t\t\t\t... this.inspector_show() ? [ this.Inspect() ] : [],\n\t\t\t\t... this.preview_show() ? [ this.Preview() ] : [],\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tpack( next?: string ) {\n\t\t\treturn this.$.$mol_state_arg.value( 'pack', next ) ?? super.pack()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsource_tree( next?: string ): string {\n\t\t\treturn this.$.$mol_state_arg.value( 'source', next ) ?? super.source_tree()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsource_css( next?: string ): string {\n\t\t\treturn this.$.$mol_state_arg.value( 'source_css', next ) ?? super.source_css()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsource_js( next?: string ): string {\n\t\t\treturn this.$.$mol_state_arg.value( 'source_js', next ) ?? super.source_js()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tpreview_html() {\n\t\t\t\n\t\t\tconst self = this.self()\n\t\t\tconst script = new URL( 'web.js', this.pack() ).toString()\n\t\t\tconst theme = this.Theme().theme()\n\t\t\t\n\t\t\treturn `\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t`\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tpreview_window() {\n\t\t\tthis.$.$mol_wait_rest()\n\t\t\tthis.preview_html()\n\t\t\tthis.preview_show()\n\t\t\treturn super.preview_window()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tinspect_graph() {\n\t\t\t\n\t\t\tconst win = this.preview_window()\n\t\t\t\n\t\t\ttry {\n\t\t\t\twin['$mol_view'].autobind()\n\t\t\t\treturn $mol_wire_graph( win['$mol_view']['autobind()'] )\n\t\t\t} catch( error: any ) {\n\t\t\t\tif( 'then' in error ) return $mol_fail_hidden( new Promise( ( done, fail )=> error.then( done, fail ) ) )\n\t\t\t\t$mol_fail_hidden( new Error( error.message ) )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tinspect_stat() {\n\t\t\treturn this.inspect_graph().depth_nodes( Math.min ).map( nodes => nodes.length )\n\t\t}\n\t\t\n\t\tinspect_stat_depth() {\n\t\t\treturn Object.keys( this.inspect_stat() ).map( Number )\n\t\t}\n\t\t\n\t\treadme_selected( next?: string ) {\n\t\t\treturn $mol_state_arg.value( 'demo', next ) ?? ''\n\t\t}\n\n\t\t@ $mol_mem\n\t\tlibrary() {\n\t\t\tconst uri = new URL( 'web.view.tree', this.pack() ).toString()\n\t\t\tconst str = this.$.$mol_fetch.text( uri )\n\t\t\tconst predef = '$mol_view $mol_object\\n\\tdom_name \\\\\\n\\tstyle *\\n\\tevent *\\n\\tfield *\\n\\tattr *\\n\\tsub /\\n\\ttitle \\\\\\n'\n\t\t\tconst tree = this.$.$mol_tree2_from_string( predef + str )\n\t\t\tconst norm = this.$.$mol_view_tree2_normalize( tree )\n\t\t\treturn norm\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttree( next?: $mol_tree2 ) {\n\t\t\t\n\t\t\tconst source = this.source_tree( next && next.toString() ).replace( /\\n?$/, '\\n' )\n\t\t\t\n\t\t\tconst tree = this.$.$mol_view_tree2_normalize(\n\t\t\t\tthis.$.$mol_tree2_from_string( source )\n\t\t\t).kids[0]\n\t\t\t\n\t\t\treturn tree\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tunited() {\n\t\t\tconst lib = this.library()\n\t\t\treturn lib.clone([\n\t\t\t\t... lib.kids,\n\t\t\t\tthis.tree(),\n\t\t\t])\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tself( next?: string ) {\n\t\t\t\n\t\t\tconst tree = this.tree()\n\t\t\tif( !next ) return tree.type\n\t\t\t\n\t\t\tthis.tree(\n\t\t\t\ttree.struct( next, tree.kids )\n\t\t\t)\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tbase( next?: string ) {\n\t\t\t\n\t\t\tconst self = this.tree()\n\t\t\tconst base = this.$.$mol_view_tree2_class_super( self )\n\t\t\t\n\t\t\tif( !next ) return base.type\n\t\t\t\n\t\t\tthis.tree(\n\t\t\t\tself.clone([\n\t\t\t\t\tself.struct( next )\n\t\t\t\t])\n\t\t\t)\n\t\t\t\n\t\t\treturn this.readme_selected( next )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tself_code() {\n\t\t\t\n\t\t\tconst tree = this.tree()\n\t\t\t\n\t\t\tconst code = this.$.$mol_tree2_text_to_string_mapped_js(\n\t\t\t\tthis.$.$mol_tree2_js_to_text(\n\t\t\t\t\tthis.$.$mol_view_tree2_to_js(\n\t\t\t\t\t\ttree.list([ tree ])\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t)\n\t\t\t\n\t\t\tconst class_name = this.self()\n\t\t\treturn `\n\t\t\t\t$.$mol_wire_auto = parent.$mol_wire_auto\n\t\t\t\t$.${ class_name } = ${ code }\n\n\t\t\t\t$.${ class_name } = class ${ class_name } extends $.${ class_name } {\n\t\t\t\t\t${ this.source_js() }\n\t\t\t\t}\n\n\t\t\t\t;${ this.source_js_decorators() };\n\t\t\t\t$.$mol_style_attach(${ class_name }, ${ this.source_css() })\n\t\t\t`\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tbase_options() {\n\t\t\treturn this.library().kids.map( cl => cl.type ).reverse()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tclass_list() {\n\t\t\treturn this.library().kids.map( cl => cl.type )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tprop_sign( prop_name: string, next?: string ) {\n\t\t\tif( next !== undefined ) {\n\t\t\t\tconst tree = this.prop_tree( prop_name )\n\t\t\t\tthis.prop_tree( prop_name, tree.struct( next, tree.kids ) )\n\t\t\t\treturn next\n\t\t\t}\n\t\t\treturn this.props_map( this.self() ).get( prop_name )?.type || ''\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tprops_map( base: string ) {\n\t\t\t\n\t\t\tconst lib = this.united()\n\t\t\tconst all = new Map< string, $mol_tree2 >()\n\t\t\t\n\t\t\tconst add = ( prop: $mol_tree2 )=> {\n\t\t\t\tconst name = this.$.$mol_view_tree2_prop_parts( prop ).name\n\t\t\t\tall.set( name, prop )\n\t\t\t}\n\n\t\t\tconst collect = ( cl: string )=> {\n\t\t\t\t\n\t\t\t\tconst sup = lib.select( cl, null ).kids[0]\n\t\t\t\tif( !sup ) return\n\t\t\t\t\n\t\t\t\tcollect( sup.type )\n\t\t\t\t\n\t\t\t\tfor( const prop of sup.kids ) add( prop )\n\t\t\t\t\n\t\t\t}\n\n\t\t\tcollect( base )\n\n\t\t\treturn all\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tprops_of( base: string ) {\n\t\t\tconst lib = this.united()\n\t\t\treturn lib.list( [ ...this.props_map( base ).values() ].reverse() )\n\t\t}\n\t\t\n\t\tprops_all() {\n\t\t\treturn this.props_of( this.self() )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tprop_filtered() {\n\t\t\treturn this.props_all().kids.filter(\n\t\t\t\t$mol_match_text(\n\t\t\t\t\tthis.prop_filter(),\n\t\t\t\t\tprop => [ prop.type ],\n\t\t\t\t)\n\t\t\t)\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tprop_name( prop_name: string ) {\n\t\t\treturn prop_name\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tprops() {\n\t\t\tconst props = this.prop_filtered().flatMap( prop => {\n\t\t\t\tconst name = this.$.$mol_view_tree2_prop_parts( prop ).name\n\t\t\t\treturn name == 'undefined' ? [] : [this.Prop( name )]\n\t\t\t} )\n\t\t\treturn props\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tprop_add_allow() {\n\t\t\t\n\t\t\tconst query = this.prop_filter()\n\t\t\tif( !query.trim() ) return false\n\t\t\t\n\t\t\tconst all = this.props_all()\n\t\t\treturn all.kids.every( prop => prop.type !== query )\n\t\t\t\n\t\t}\n\t\t\n\t\tprop_add() {\n\t\t\t\n\t\t\tconst query = this.prop_filter()\n\t\t\tconst tree = this.tree()\n\t\t\t\n\t\t\tthis.tree(\n\t\t\t\ttree.insert(\n\t\t\t\t\ttree.struct( query, [\n\t\t\t\t\t\ttree.struct( 'null' ),\n\t\t\t\t\t] ),\n\t\t\t\t\tnull,\n\t\t\t\t\tquery,\n\t\t\t\t)\n\t\t\t)\n\t\t\t\n\t\t\tthis.prop_filter( '' )\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tprops_controls() {\n\t\t\treturn [\n\t\t\t\tthis.Prop_filter(),\n\t\t\t\t... this.prop_add_allow() ? [ this.Prop_add() ] : [],\n\t\t\t]\n\t\t}\n\t\t\n\t\t@$mol_mem_key\n\t\tBound_prop( id: string ) {\n\t\t\tconst name = id.split( ':' )[ 0 ]\n\t\t\tconst obj = new this.$.$hyoo_studio_prop()\n\t\t\tobj.name = () => this.prop_name( name )\n\t\t\tobj.sign = ( next?: string ) => this.prop_sign( name, next )\n\t\t\tobj.tree = ( next?: any ) => this.prop_tree( name, next )\n\t\t\tobj.props_of = ( klass: any ) => this.props_of( klass )\n\t\t\tobj.props_bindable = () => this.props_all()\n\t\t\tobj.class_list = () => this.class_list()\n\t\t\tobj.Bound_prop = ( id: any ) => this.Bound_prop( id )\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tprop_tree( prop_name: string, next?: $mol_tree2 ) {\n\t\t\t\n\t\t\tconst sign = this.prop_sign( prop_name ) || prop_name\n\t\t\t\n\t\t\tif( next !== undefined ) {\n\t\t\t\tthis.tree( this.tree().insert( next, this.base(), sign ) )\n\t\t\t\treturn next\n\t\t\t}\n\t\t\t\n\t\t\treturn this.props_all().select( sign ).kids[0] ?? null\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsoure_type_current( next?: string ) {\n\t\t\tconst options = Object.entries(this.Source_type().switch_options())\n\t\t\tif (next === undefined) {\n\t\t\t\tconst title = this.$.$mol_state_arg.value('raw_type')\n\t\t\t\tconst [value] = options.find(([value, label]) => label === title) ?? ['0']\n\t\t\t\treturn value\n\t\t\t}\n\n\t\t\tconst next_title = options[Number(next)]?.[1]\n\t\t\tthis.$.$mol_state_arg.value('raw_type', next_title ?? options[0][1])\n\t\t\treturn next\n\t\t}\n\n\t\tprops_css( class_body: string ) {\n\t\t\tconst props: Map< string/*prop name*/, string/*code*/ > = new Map\n\t\t\t\n\t\t\tlet code_start = 0\n\t\t\tlet body_start = 0\n\t\t\tlet brace_count = 0\n\t\t\tconst class_name = this.self().slice(1)\n\t\t\tfor( let i = 0; i < class_body.length; i++ ) {\n\t\t\t\tconst char = class_body[ i ]\n\n\t\t\t\tif( char == '}' ) {\n\t\t\t\t\tbrace_count--\n\t\t\t\t\tif( brace_count !== 0 ) continue\n\n\t\t\t\t\tconst attr = class_body.slice( code_start, body_start ).match( /\\[([\\w]+)\\]/ )?.[1]\n\t\t\t\t\tconst name = attr?.replace( class_name + '_', '' )\n\t\t\t\t\tif( !name ) continue\n\n\t\t\t\t\tprops.set( name, class_body.slice( code_start, i + 1 ).trim()! )\n\t\t\t\t\tcode_start = i + 1\n\t\t\t\t}\n\n\t\t\t\telse if( char == '{' ) {\n\t\t\t\t\tif( brace_count === 0 ) body_start = i\n\t\t\t\t\tbrace_count++\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tconsole.log('props', props)\n\t\t\tconsole.log('brace_count', brace_count)\n\t\t\tif( brace_count !== 0 ) throw new Error('Curly braces is not balanced')\n\t\t\treturn props\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tsource_css_prop_default( prop_name: string ) {\n\t\t\tconst class_name = this.self().slice(1)\n\t\t\treturn `[${class_name}_${prop_name.toLowerCase()}] {\\n\\t\\n}`\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tsource_css_prop( prop_name: string, next?: string ) {\n\t\t\tconst prop_name_lower = prop_name.toLowerCase()\n\t\t\ttry {\n\t\t\t\tconst props = this.props_css( this.source_css() )\n\n\t\t\t\tif( next === undefined ) {\n\t\t\t\t\tif( props.get( prop_name_lower ) ) return props.get( prop_name_lower )!\n\t\t\t\t\treturn this.source_css_prop_default( prop_name_lower )\n\t\t\t\t}\n\t\n\t\t\t\tprops.set( prop_name_lower, next )\n\t\t\t\tthis.source_css( [...props.values()].join('\\n\\n') )\n\t\t\t\t\n\t\t\t\treturn next\n\t\t\t\t\n\t\t\t} catch (error) {\n\t\t\t\tif( !this.$.$mol_promise_like( error ) ) {\n\t\t\t\t\tthis.$.$mol_fail_log( error )\n\t\t\t\t}\n\n\t\t\t\treturn this.source_css_prop_default( prop_name_lower )\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsource_css_switch( next?: string ) {\n\t\t\tconst prop_name = this.$.$mol_state_arg.value('raw_prop')\n\n\t\t\tif (!prop_name) return this.source_css(next)\n\n\t\t\treturn this.source_css_prop(prop_name, next)\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsource_js_decorators() {\n\t\t\tconst list = new Array()\n\n\t\t\tconst add = (prop_name: string, key: boolean, next: boolean) => {\n\t\t\t\tif (!key && !next) return\n\t\t\t\tif (this.source_js().includes(`/*${prop_name}*/`))\n\t\t\t\tlist.push(`($mol_mem${key ? '_key' : ''}(($.${ this.self() }.prototype), \"${ prop_name }\"));`)\n\t\t\t}\n\n\t\t\tthis.props().forEach(prop => add(prop.name(), prop.multiple(), prop.changeable()))\n\n\t\t\treturn list.join('\\n')\n\t\t}\n\n\t\tprops_js( class_body: string ) {\n\t\t\tconst props: Map< string/*prop name*/, string/*code*/ > = new Map\n\n\t\t\tlet code_start = 0\n\t\t\tlet body_start = 0\n\t\t\tlet brace_count = 0\n\t\t\tfor( let i = 0; i < class_body.length; i++ ) {\n\t\t\t\tconst char = class_body[ i ]\n\n\t\t\t\tif( char == '}' ) {\n\t\t\t\t\tbrace_count--\n\t\t\t\t\tif( brace_count !== 0 ) continue\n\n\t\t\t\t\tconst name = class_body.slice( code_start, body_start ).match( /([\\w]+)[\\s]*\\(/ )?.[1]\n\t\t\t\t\tif( !name ) continue\n\n\t\t\t\t\tprops.set( name, class_body.slice( code_start, i + 1 ).trim()! )\n\t\t\t\t\tcode_start = i + 1\n\t\t\t\t}\n\n\t\t\t\telse if( char == '{' ) {\n\t\t\t\t\tif( brace_count === 0 ) body_start = i\n\t\t\t\t\tbrace_count++\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tif( brace_count !== 0 ) throw new Error('Curly braces is not balanced')\n\t\t\treturn props\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tsource_js_prop_default( prop_name: string ) {\n\t\t\tconst multiple = this.Prop(prop_name).multiple()\n\t\t\tconst changeable = this.Prop(prop_name).changeable()\n\t\t\tconst params = [...multiple ? ['key'] : [], ...changeable ? ['next'] : []].join(', ')\n\t\t\treturn `${prop_name}( ${params} ) {\\n\\t\\n}`\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tsource_js_prop( prop_name: string, next?: string ) {\n\t\t\ttry {\n\t\t\t\tconst props = this.props_js( this.source_js() )\n\n\t\t\t\tif( next === undefined ) {\n\t\t\t\t\tif( props.get( prop_name ) ) return props.get( prop_name )!\n\t\t\t\t\treturn this.source_js_prop_default( prop_name )\n\t\t\t\t}\n\t\n\t\t\t\tprops.set( prop_name, next )\n\t\t\t\tthis.source_js( [...props.values()].join('\\n\\n') )\n\t\t\t\t\n\t\t\t\treturn next\n\t\t\t\t\n\t\t\t} catch (error) {\n\t\t\t\tif( !this.$.$mol_promise_like( error ) ) {\n\t\t\t\t\tthis.$.$mol_fail_log( error )\n\t\t\t\t}\n\n\t\t\t\treturn this.source_js_prop_default( prop_name )\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsource_js_switch( next?: string ) {\n\t\t\tconst prop_name = this.$.$mol_state_arg.value('raw_prop')\n\n\t\t\tif (!prop_name) return this.source_js(next)\n\n\t\t\treturn this.source_js_prop(prop_name, next)\n\t\t}\n\n\t\tsource_prop_name() {\n\t\t\treturn super.source_prop_name().replaceAll('{prop_name}', this.$.$mol_state_arg.value('raw_prop')!)\n\t\t}\n\n\t\t@ $mol_action\n\t\tsource_prop_exit() {\n\t\t\tthis.$.$mol_state_arg.value('raw_prop', null)\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsource_page_body() {\n\t\t\tconst show = this.$.$mol_state_arg.value('raw_prop') !== null && this.$.$mol_state_arg.value('raw_type') !== 'view.tree'\n\t\t\treturn [\n\t\t\t\t... show ? [this.Source_prop_switch()] : [],\n\t\t\t\tthis.Source_type(),\n\t\t\t]\n\t\t}\n\t}\n}\n","namespace $.$$ {\n\n\tconst { rem, per, px } = $mol_style_unit\n\n\t$mol_style_define( $hyoo_studio, {\n\n\t\tEdit: {\n\n\t\t\tflex: {\n\t\t\t\tgrow: 0,\n\t\t\t\tshrink: 0,\n\t\t\t},\n\n\t\t\tBody: {\n\t\t\t\tpadding: 0,\n\t\t\t},\n\n\t\t},\n\n\t\tEdit_form: {\n\t\t\tgap: $mol_gap.block,\n\t\t\tdisplay: 'flex',\n\t\t},\n\n\t\t$mol_form_field: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t},\n\n\t\tPack: {\n\t\t\twidth: per (100),\n\t\t},\n\n\t\tReadme_open: {\n\t\t\tmarginLeft: 'auto',\n\t\t},\n\n\t\tConfig: {\n\t\t\tgap: $mol_gap.block,\n\t\t},\n\n\t\tProps: {\n\t\t\tgap: $mol_gap.block,\n\t\t},\n\n\t\tProps_controls: {\n\t\t\tpadding: {\n\t\t\t\ttop: $mol_gap.block,\n\t\t\t\tbottom: $mol_gap.block,\n\t\t\t},\n\t\t},\n\n\t\tSource_type: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t\tSwitch: {\n\t\t\t\tflex: {\n\t\t\t\t\tgrow: 0,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\tSource_page: {\n\t\t\tflex: {\n\t\t\t\tbasis: rem( 40 ),\n\t\t\t},\n\t\t\tBody: {\n\t\t\t\tflexDirection: 'row',\n\t\t\t},\n\t\t},\n\n\t\tSource_page_list: {\n\t\t\twidth: '100%',\n\t\t},\n\n\t\tSource_prop_name: {\n\t\t\tpadding: $mol_gap.block,\n\t\t},\n\n\t\tPreview: {\n\t\t\tflex: {\n\t\t\t\tbasis: rem( 40 ),\n\t\t\t\tshrink: 0,\n\t\t\t\tgrow: 10000,\n\t\t\t},\n\t\t\tminWidth: per( 50 ),\n\t\t\tzIndex: 2,\n\t\t\tbox: {\n\t\t\t\tshadow: [ {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\tblur: 0,\n\t\t\t\t\tspread: px( 1 ),\n\t\t\t\t\tcolor: $mol_theme.line,\n\t\t\t\t} ],\n\t\t\t}\n\t\t},\n\n\t\tInspect: {\n\t\t\tflex: {\n\t\t\t\tbasis: rem( 30 ),\n\t\t\t\tshrink: 0,\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t},\n\n\t} )\n\n}\n","namespace $ {\n\n\texport function $mol_test( set : { [ name : string ] : string | ( ( context : $ )=> void ) } ) {\n\t\t\n\t\tfor( let name in set ) {\n\n\t\t\tconst code = set[ name ]\n\t\t\tconst test = ( typeof code === 'string' ) ? new Function( '' , code ) as ()=> void : code\n\t\t\t\n\t\t\t$mol_test_all.push( test )\n\t\t}\n\n\t\t$mol_test_schedule()\n\t}\n\n\texport let $mol_test_mocks = [] as Array< ( context : $ )=> void >\n\n\texport const $mol_test_all = [] as Array< ( context : $ )=> any >\n\n\texport async function $mol_test_run() {\n\n\t\tfor( var test of $mol_test_all ) {\n\n\t\t\tlet context = Object.create( $$ )\n\t\t\tfor( let mock of $mol_test_mocks ) await mock( context )\n\t\t\t\n\t\t\tconst res = test( context )\n\t\t\tif( $mol_promise_like( res ) ) {\n\t\t\t\tawait new Promise( ( done, fail )=> {\n\t\t\t\t\tres.then( done, fail )\n\t\t\t\t\tsetTimeout( ()=> fail( new Error( 'Test timeout: ' + test.name ) ), 1000 )\n\t\t\t\t} )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t$$.$mol_log3_done({\n\t\t\tplace: '$mol_test',\n\t\t\tmessage: 'All tests passed',\n\t\t\tcount: $mol_test_all.length,\n\t\t})\n\t\t\n\t}\n\t\n\tlet scheduled = false\n\texport function $mol_test_schedule() {\n\n\t\tif( scheduled ) return\n\t\tscheduled = true\n\n\t\tsetTimeout( async ()=> {\n\t\t\t\n\t\t\tscheduled = false\n \t\t\t\n\t\t\tawait $mol_test_run()\n\t\t\t$$.$mol_test_complete()\n\t\t\t\n\t\t} , 1000 )\n\t\t\n\t}\n\n\t$mol_test_mocks.push( context => {\n\t\tlet seed = 0\n\n\t\tcontext.Math = Object.create( Math )\n\t\tcontext.Math.random = ()=> Math.sin( seed++ )\n\n\t\tconst forbidden = [ 'XMLHttpRequest' , 'fetch' ] as const\n\n\t\tfor( let api of forbidden ) {\n\t\t\tcontext[ api ] = new Proxy( function(){} as any , {\n\t\t\t\tget() {\n\t\t\t\t\t$mol_fail_hidden( new Error( `${ api } is forbidden in tests` ) )\n\t\t\t\t} ,\n\t\t\t\tapply() {\n\t\t\t\t\t$mol_fail_hidden( new Error( `${ api } is forbidden in tests` ) )\n\t\t\t\t} ,\n\t\t\t} )\n\t\t}\n\t\t\n\t} )\n\n\t$mol_test({\n\n\t\t'mocked Math.random'( $ ) {\n\t\t\tconsole.assert( $.Math.random() === 0 )\n\t\t\tconsole.assert( $.Math.random() === Math.sin(1) )\n\t\t} ,\n\n\t\t'forbidden XMLHttpRequest'( $ ) {\n\t\t\ttry {\n\t\t\t\tconsole.assert( void new $.XMLHttpRequest )\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.assert( error.message === 'XMLHttpRequest is forbidden in tests' )\n\t\t\t}\n\t\t} ,\n\n\t\t'forbidden fetch'( $ ) {\n\t\t\ttry {\n\t\t\t\tconsole.assert( void $.fetch('') )\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.assert( error.message === 'fetch is forbidden in tests' )\n\t\t\t}\n\t\t} ,\n\n\t})\n\n}\n","namespace $ {\n\t\n\texport function $mol_test_complete() {\n\t\tprocess.exit(0)\n\t}\n\t\n}\n","namespace $ {\n\t$mol_test_mocks.push( $=> $.$mol_fail_log = ()=> false )\n}\n\n","namespace $ {\n\n\t$mol_test({\n\t\t\n\t\t'FQN of anon function'($) {\n\t\t\tconst $$ = Object.assign( $ , { $mol_func_name_test : ( ()=> ()=> {} )() } )\n\t\t\t$mol_assert_equal( $$.$mol_func_name_test.name , '' )\n\t\t\t$mol_assert_equal( $$.$mol_func_name( $$.$mol_func_name_test ) , '$mol_func_name_test' )\n\t\t\t$mol_assert_equal( $$.$mol_func_name_test.name , '$mol_func_name_test' )\n\t\t},\n\n\t})\n\n}\n","namespace $ {\n\t$mol_test({\n\t\t\n\t\t'auto name'() {\n\t\t\t\n\t\t\tclass Invalid extends $mol_error_mix {}\n\t\t\tconst mix = new Invalid( 'foo' )\n\t\t\t\n\t\t\t$mol_assert_equal( mix.name, 'Invalid_Error' )\n\t\t\t\n\t\t},\n\t\t\n\t\t'simpe mix'() {\n\t\t\t\n\t\t\tconst mix = new $mol_error_mix( 'foo', {},\n\t\t\t\tnew Error( 'bar' ),\n\t\t\t\tnew Error( 'lol' ),\n\t\t\t)\n\t\t\t\n\t\t\t$mol_assert_equal( mix.message, 'foo' )\n\t\t\t$mol_assert_equal( mix.errors.map( e => e.message ), [ 'bar', 'lol' ] )\n\t\t\t\n\t\t},\n\t\t\n\t\t'provide additional info'() {\n\t\t\t\n\t\t\tclass Invalid extends $mol_error_mix<{\n\t\t\t\tvalue: string,\n\t\t\t\thint: string,\n\t\t\t}> {}\n\t\t\t\n\t\t\tconst mix: unknown = new $mol_error_mix( 'Wrong password', {},\n\t\t\t\tnew Invalid( 'Too short', { value: 'p@ssw0rd', hint: '> 8 letters' } ),\n\t\t\t\tnew Invalid( 'Too simple', { value: 'p@ssw0rd', hint: 'need capital letter' } ),\n\t\t\t)\n\t\t\t\n\t\t\tconst hints = [] as string[]\n\t\t\t\n\t\t\tif( mix instanceof $mol_error_mix ) {\n\t\t\t\tfor( const er of mix.errors ) {\n\t\t\t\t\tif( er instanceof Invalid ) {\n\t\t\t\t\t\thints.push( er.cause?.hint ?? '' )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t$mol_assert_equal( hints, [ '> 8 letters', 'need capital letter' ] )\n\t\t\t\n\t\t},\n\t\t\n\t})\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_log3_come = ()=> {}\n\t\t$.$mol_log3_done = ()=> {}\n\t\t$.$mol_log3_fail = ()=> {}\n\t\t$.$mol_log3_warn = ()=> {}\n\t\t$.$mol_log3_rise = ()=> {}\n\t\t$.$mol_log3_area = ()=> ()=> {}\n\t} )\n\n}\n","namespace $ {\n\n\t$mol_test({\n\n\t\t'test types'( $ ) {\n\t\t\tclass A {\n\t\t\t\tstatic a() {\n\t\t\t\t\treturn Promise.resolve('')\n\t\t\t\t}\n\n\t\t\t\tstatic b() {\n\t\t\t\t\treturn $mol_wire_sync(this).a()\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttype Check = $mol_type_assert, string>\n\t\t},\n\n\t\tasync 'test method from host'( $ ) {\n\t\t\tlet count = 0\n\t\t\tclass A {\n\t\t\t\tstatic a() {\n\t\t\t\t\treturn $mol_wire_sync(this).b()\n\t\t\t\t}\n\n\t\t\t\tstatic b() { return Promise.resolve(++count) }\n\t\t\t}\n\n\t\t\t\n\t\t\t$mol_assert_equal(await $mol_wire_async(A).a(), 1, count)\n\n\t\t},\n\n\t\tasync 'test function'( $ ) {\n\t\t\tlet count = 0\n\t\t\tclass A {\n\t\t\t\tstatic a() {\n\t\t\t\t\treturn $mol_wire_sync(this.b)()\n\t\t\t\t}\n\n\t\t\t\tstatic b() { return Promise.resolve(++count) }\n\t\t\t}\n\n\t\t\t\n\t\t\t$mol_assert_equal(await $mol_wire_async(A).a(), 1, count)\n\n\t\t},\n\n\t\tasync 'test construct itself'( $ ) {\n\t\t\tclass A {\n\t\t\t\tstatic instances = [] as A[]\n\n\t\t\t\tstatic a() {\n\t\t\t\t\tconst a = new ($mol_wire_sync(A))()\n\t\t\t\t\tthis.instances.push( a )\n\t\t\t\t\t$mol_wire_sync(this).b()\n\t\t\t\t}\n\n\t\t\t\tstatic b() { return Promise.resolve() }\n\t\t\t}\n\n\t\t\tawait $mol_wire_async(A).a()\n\t\t\t$mol_assert_equal(A.instances.length, 2)\n\t\t\t$mol_assert_equal(A.instances[0] instanceof A)\n\n\t\t\t$mol_assert_equal(A.instances[0], A.instances[1])\n\n\t\t}\n\t})\n\n}\n\n","namespace $ {\n\t$mol_test( {\n\t\tasync 'exec timeout auto kill child process'($) {\n\t\t\tlet close_mock = () => {}\n\n\t\t\tconst context_mock = $.$mol_ambient({\n\t\t\t\t$mol_run_spawn: () => ({\n\t\t\t\t\ton(name: string, cb: () => void) {\n\t\t\t\t\t\tif (name === 'exit') close_mock = cb\n\t\t\t\t\t},\n\t\t\t\t\tkill() { close_mock() }\n\t\t\t\t} as any)\n\t\t\t})\n\t\t\t\n\t\t\tlet message = ''\n\t\t\ttry {\n\t\t\t\tconst res = await $mol_wire_async(context_mock).$mol_run({ command: 'sleep 10', dir: '.', timeout: 10, env: { 'MOL_RUN_ASYNC': '1' } })\n\t\t\t} catch (e) {\n\t\t\t\tmessage= (e as Error).message\n\t\t\t}\n\t\t\t$mol_assert_equal(message, 'Run error, timeout')\n\t\t}\n\t\t\n\t} )\n}\n","namespace $ {\n\n\texport let $mol_jsx_prefix = ''\n\texport let $mol_jsx_crumbs = ''\n\n\texport let $mol_jsx_booked = null as null | Set< string >\n\t\n\texport let $mol_jsx_document : $mol_jsx.JSX.ElementClass['ownerDocument'] = {\n\t\tgetElementById : ()=> null ,\n\t\tcreateElementNS : ( space: string, name : string )=> $mol_dom_context.document.createElementNS( space, name ) as any,\n\t\tcreateDocumentFragment : ()=> $mol_dom_context.document.createDocumentFragment(),\n\t}\n\t\n\texport const $mol_jsx_frag = ''\n\n\t/**\n\t * JSX adapter that makes DOM tree.\n\t * Generates global unique ids for every DOM-element by components tree with ids.\n\t * Ensures all local ids are unique.\n\t * Can reuse an existing nodes by GUIDs when used inside [`mol_jsx_attach`](https://github.com/hyoo-ru/mam_mol/tree/master/jsx/attach).\n\t */\n\texport function $mol_jsx<\n\t\tProps extends $mol_jsx.JSX.IntrinsicAttributes,\n\t\tChildren extends Array< Node | string >\n\t>(\n\t\tElem : string\n\t\t\t| ( ( props : Props , ... children : Children ) => Element ) ,\n\t\tprops : Props ,\n\t\t... childNodes : Children\n\t) : Element | DocumentFragment {\n\n\t\tconst id = props && props.id || ''\n\t\tconst guid = id ? $mol_jsx_prefix ? $mol_jsx_prefix + '/'+ id : id : $mol_jsx_prefix\n\t\tconst crumbs_self = id ? $mol_jsx_crumbs.replace( /(\\S+)/g, `$1_${ id.replace( /\\/.*/i, '' ) }` ) : $mol_jsx_crumbs\n\t\t\n\t\tif( Elem && $mol_jsx_booked ) {\n\t\t\tif( $mol_jsx_booked.has( id ) ) {\n\t\t\t\t$mol_fail( new Error( `JSX already has tag with id ${ JSON.stringify( guid ) }` ) )\n\t\t\t} else {\n\t\t\t\t$mol_jsx_booked.add( id )\n\t\t\t}\n\t\t}\n\n\t\tlet node: Element | DocumentFragment | null = guid ? $mol_jsx_document.getElementById( guid ) : null\n\n\t\tif( $mol_jsx_prefix ) {\n\t\t\t\n\t\t\tconst prefix_ext = $mol_jsx_prefix\n\t\t\tconst booked_ext = $mol_jsx_booked\n\t\t\tconst crumbs_ext = $mol_jsx_crumbs\n\t\t\t\n\t\t\tfor( const field in props ) {\n\t\t\t\t\n\t\t\t\tconst func = props[ field ]\n\t\t\t\tif( typeof func !== 'function' ) continue\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tconst wrapper = function( this: any, ... args: any[] ) {\n\t\t\t\t\t\n\t\t\t\t\tconst prefix = $mol_jsx_prefix\n\t\t\t\t\tconst booked = $mol_jsx_booked\n\t\t\t\t\tconst crumbs = $mol_jsx_crumbs\n\t\t\t\t\t\n\t\t\t\t\ttry {\n\t\t\n\t\t\t\t\t\t$mol_jsx_prefix = prefix_ext\n\t\t\t\t\t\t$mol_jsx_booked = booked_ext\n\t\t\t\t\t\t$mol_jsx_crumbs = crumbs_ext\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn func.call( this, ... args )\n\t\t\t\t\t\t\n\t\t\t\t\t} finally {\n\t\t\t\t\t\t\n\t\t\t\t\t\t$mol_jsx_prefix = prefix\n\t\t\t\t\t\t$mol_jsx_booked = booked\n\t\t\t\t\t\t$mol_jsx_crumbs = crumbs\n\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t$mol_func_name_from( wrapper, func )\n\t\t\t\tprops[ field ] = wrapper as any\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tif( typeof Elem !== 'string' ) {\n\n\t\t\tif( 'prototype' in Elem ) {\n\n\t\t\t\tconst view = node && (node as any)[ String(Elem) ] || new ( Elem as any )\n\t\t\t\t\n\t\t\t\tObject.assign( view , props )\n\t\t\t\tview[ Symbol.toStringTag ] = guid\n\t\t\t\t\n\t\t\t\tview.childNodes = childNodes\n\t\t\t\t\n\t\t\t\tif( !view.ownerDocument ) view.ownerDocument = $mol_jsx_document\n\t\t\t\tview.className = ( crumbs_self ? crumbs_self + ' ' : '' ) + ( Elem['name'] || Elem )\n\t\t\t\t\n\t\t\t\tnode = view.valueOf()\n\t\t\t\t\n\t\t\t\t;(node as any)![ String(Elem) ] = view\n\t\t\t\t\n\t\t\t\treturn node!\n\n\t\t\t} else {\n\n\t\t\t\tconst prefix = $mol_jsx_prefix\n\t\t\t\tconst booked = $mol_jsx_booked\n\t\t\t\tconst crumbs = $mol_jsx_crumbs\n\t\t\t\t\n\t\t\t\ttry {\n\t\n\t\t\t\t\t$mol_jsx_prefix = guid\n\t\t\t\t\t$mol_jsx_booked = new Set\n\t\t\t\t\t$mol_jsx_crumbs = ( crumbs_self ? crumbs_self + ' ' : '' ) + ( Elem['name'] || Elem )\n\t\n\t\t\t\t\treturn ( Elem as any )( props , ... childNodes )\n\t\t\t\t\t\n\t\t\t\t} finally {\n\n\t\t\t\t\t$mol_jsx_prefix = prefix\n\t\t\t\t\t$mol_jsx_booked = booked\n\t\t\t\t\t$mol_jsx_crumbs = crumbs\n\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tif( !node ) {\n\t\t\tnode = Elem\n\t\t\t\t? $mol_jsx_document.createElementNS( props?.xmlns ?? 'http://www.w3.org/1999/xhtml', Elem )\n\t\t\t\t: $mol_jsx_document.createDocumentFragment()\n\t\t}\n\n\t\t$mol_dom_render_children( node , ( [] as ( Node | string )[] ).concat( ... childNodes ) )\n\t\tif( !Elem ) return node\n\n\t\tif( guid ) ( node as Element ).id = guid\n\t\tfor( const key in props ) {\n\t\t\tif( key === 'id' ) continue\n\t\t\t\n\t\t\tif( typeof props[ key ] === 'string' ) {\n\t\t\t\t\n\t\t\t\tif( typeof (node as any)[ key ] === 'string' ) (node as any)[ key ] = props[ key ]\n\t\t\t\t;( node as Element ).setAttribute( key , (props as any)[ key ] )\n\t\t\t\t\n\t\t\t} else if(\n\t\t\t\tprops[ key ] &&\n\t\t\t\ttypeof props[ key ] === 'object' &&\n\t\t\t\tReflect.getPrototypeOf( props[ key ] as any ) === Reflect.getPrototypeOf({})\n\t\t\t) {\n\n\t\t\t\tif( typeof (node as any)[ key ] === 'object' ) {\n\t\t\t\t\tObject.assign( ( node as any )[ key ] , props[ key ] )\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\t(node as any)[ key ] = props[ key ]\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tif( $mol_jsx_crumbs ) ( node as Element ).className = ( (props as any)?.['class'] ? (props as any)['class'] + ' ' : '' ) + crumbs_self\n\n\t\treturn node\n\n\t}\n\n\texport declare namespace $mol_jsx.JSX {\n\n\t\texport interface Element extends HTMLElement {\n\t\t\tclass?: string\n\t\t}\n\t\t\n\t\texport interface ElementClass {\n\t\t\tattributes : {}\n\t\t\townerDocument : Pick< Document , 'getElementById' | 'createElementNS' | 'createDocumentFragment' >\n\t\t\tchildNodes : Array< Node | string >\n\t\t\tvalueOf() : Element\n\t\t}\n\t\t\n\t\ttype OrString< Dict > = {\n\t\t\t[ key in keyof Dict ]: Dict[ key ] | string\n\t\t}\n\t\t\n\t\t/** Props for html elements */\n\t\texport type IntrinsicElements = {\n\t\t\t[ key in keyof ElementTagNameMap ]? : $.$mol_type_partial_deep< OrString<\n\t\t\t\t& Element\n\t\t\t\t& IntrinsicAttributes\n\t\t\t\t& ElementTagNameMap[ key ]\n\t\t\t> >\n\t\t}\n\t\t\n\t\t/** Additional undeclared props */\n\t\texport interface IntrinsicAttributes {\n\t\t\tid? : string\n\t\t\txmlns? : string\n\t\t}\n\t\t\n\t\texport interface ElementAttributesProperty {\n\t\t\tattributes : {\n\t\t\t}\n\t\t}\n\t\t\n\t\t// export type IntrinsicClassAttributes< Class > = $.$mol_type_partial_deep< Omit< Class , 'valueOf' > >\n\t\t\n\t\tinterface ElementChildrenAttribute {\n\t\t}\n\t\n\t}\n\n}\n","/** @jsx $mol_jsx */\nnamespace $ {\n\t\n\t$mol_test({\n\t\t\n\t\t'Make empty div'() {\n\t\t\t$mol_assert_equal( (
).outerHTML , '
' )\n\t\t} ,\n\t\t\n\t\t'Define native field'() {\n\t\t\t\n\t\t\tconst dom = as HTMLInputElement\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML, '' )\n\t\t\t$mol_assert_equal( dom.value, '123' )\n\n\t\t} ,\n\t\t\n\t\t'Define classes'() {\n\t\t\t\n\t\t\tconst dom =
\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML, '
' )\n\n\t\t} ,\n\t\t\n\t\t'Define styles'() {\n\t\t\t\n\t\t\tconst dom =
\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML, '
' )\n\n\t\t} ,\n\t\t\n\t\t'Define dataset'() {\n\t\t\t\n\t\t\tconst dom =
\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML, '
' )\n\n\t\t} ,\n\t\t\n\t\t'Define attributes'() {\n\t\t\t\n\t\t\tconst dom =