diff --git a/hosts/ocaml/browser/compile-modules.js b/hosts/ocaml/browser/compile-modules.js index 4f8a9e59..7d0d4936 100644 --- a/hosts/ocaml/browser/compile-modules.js +++ b/hosts/ocaml/browser/compile-modules.js @@ -126,36 +126,102 @@ for (const file of FILES) { // --------------------------------------------------------------------------- function stripLibraryWrapper(source) { - // Line-based stripping: unwrap (define-library ... (begin BODY)), keep (import ...). - const lines = source.split('\n'); - const result = []; - let skip = false; // inside header region (define-library, export) + // Paren-aware stripping: find (begin ...) inside (define-library ...), extract body. + // Keep top-level (import ...) forms outside the define-library. - for (let i = 0; i < lines.length; i++) { - const line = lines[i]; - const trimmed = line.trim(); + // Find (define-library at the start + const dlMatch = source.match(/^[\s\S]*?\(define-library\b/); + if (!dlMatch) return source; // no define-library, return as-is - // Skip (define-library ...) header lines until (begin - if (trimmed.startsWith('(define-library ')) { skip = true; continue; } - if (skip && trimmed.startsWith('(export')) { continue; } - if (skip && trimmed.match(/^\(begin/)) { skip = false; continue; } - if (skip) continue; + // Find the (begin that opens the body — skip past (export ...) using paren counting + const afterDL = dlMatch[0].length; + let pos = afterDL; + let foundBegin = -1; - // Skip closing )) of define-library — line is just ) or )) optionally with comments - if (trimmed.match(/^\)+(\s*;.*)?$/)) { - // Check if this is the end-of-define-library closer (only `)` chars + optional comment) - // vs a regular body closer like ` )` inside a nested form - // Only skip if at column 0 (not indented = top-level closer) - if (line.match(/^\)/)) continue; + while (pos < source.length) { + // Skip whitespace and comments + while (pos < source.length && /[\s]/.test(source[pos])) pos++; + if (pos >= source.length) break; + if (source[pos] === ';') { // skip comment line + while (pos < source.length && source[pos] !== '\n') pos++; + continue; } - // Skip standalone comments that are just structural markers - if (trimmed.match(/^;;\s*(end define-library|Re-export)/)) continue; + // Check for (begin + if (source.startsWith('(begin', pos)) { + foundBegin = pos; + break; + } - result.push(line); + // Skip balanced sexp (the library name and export list) + if (source[pos] === '(') { + let depth = 1; + pos++; + while (pos < source.length && depth > 0) { + if (source[pos] === '(') depth++; + else if (source[pos] === ')') depth--; + else if (source[pos] === '"') { // skip strings + pos++; + while (pos < source.length && source[pos] !== '"') { + if (source[pos] === '\\') pos++; + pos++; + } + } else if (source[pos] === ';') { // skip comments + while (pos < source.length && source[pos] !== '\n') pos++; + continue; + } + pos++; + } + } else { + // Skip atom + while (pos < source.length && !/[\s()]/.test(source[pos])) pos++; + } } - return result.join('\n'); + if (foundBegin === -1) return source; // no (begin found + + // Find the body inside (begin ...) — skip "(begin" + optional whitespace + let bodyStart = foundBegin + 6; // len("(begin") = 6 + // Skip optional newline/whitespace after (begin + while (bodyStart < source.length && /[\s]/.test(source[bodyStart])) bodyStart++; + + // Find matching close of (begin ...) using paren counting from foundBegin + pos = foundBegin + 1; // after opening ( + let depth = 1; + while (pos < source.length && depth > 0) { + if (source[pos] === '(') depth++; + else if (source[pos] === ')') depth--; + else if (source[pos] === '"') { + pos++; + while (pos < source.length && source[pos] !== '"') { + if (source[pos] === '\\') pos++; + pos++; + } + } else if (source[pos] === ';') { + while (pos < source.length && source[pos] !== '\n') pos++; + continue; + } + if (depth > 0) pos++; + } + const beginClose = pos; // position of closing ) for (begin ...) + + // Extract body (everything between (begin and its closing paren) + const body = source.slice(bodyStart, beginClose); + + // Find any (import ...) forms AFTER the define-library + // The define-library's closing paren is right after begin's + let dlClose = beginClose + 1; + while (dlClose < source.length && source[dlClose] !== ')') { + if (source[dlClose] === ';') { + while (dlClose < source.length && source[dlClose] !== '\n') dlClose++; + } + dlClose++; + } + dlClose++; // past the closing ) + + const afterDLForm = source.slice(dlClose); + + return body + '\n' + afterDLForm; } // Compile each module (stripped of define-library/import wrappers) diff --git a/lib/compiler.sx b/lib/compiler.sx index a8aa666d..613c51e3 100644 --- a/lib/compiler.sx +++ b/lib/compiler.sx @@ -589,24 +589,64 @@ (list (list (make-symbol loop-name) lambda-expr))) (call-expr (cons (make-symbol loop-name) inits))) (compile-letrec em (list letrec-bindings call-expr) scope tail?))) - (let - ((bindings (first args)) - (body (rest args)) - (let-scope (make-scope scope))) - (dict-set! let-scope "next-slot" (get scope "next-slot")) - (for-each - (fn - (binding) - (let - ((name (if (= (type-of (first binding)) "symbol") (symbol-name (first binding)) (first binding))) - (value (nth binding 1))) - (compile-expr em value let-scope false) + (if + (dict? (first args)) + (let + ((pattern (first args)) + (source-expr (nth args 1)) + (body (slice args 2)) + (let-scope (make-scope scope))) + (dict-set! let-scope "next-slot" (get scope "next-slot")) + (compile-expr em source-expr let-scope false) + (let + ((temp-slot (scope-define-local let-scope "__dict_src"))) + (emit-op em 17) + (emit-byte em temp-slot) + (for-each + (fn + (k) + (let + ((var-name (get pattern k)) + (key-str + (if + (= (type-of k) "keyword") + (keyword-name k) + (str k)))) + (emit-op em 16) + (emit-byte em temp-slot) + (let + ((key-idx (pool-add (get em "pool") key-str))) + (emit-op em 2) + (emit-u16 em key-idx)) + (let + ((get-idx (pool-add (get em "pool") "get"))) + (emit-op em 10) + (emit-u16 em get-idx) + (emit-byte em 2)) + (let + ((slot (scope-define-local let-scope (if (= (type-of var-name) "symbol") (symbol-name var-name) var-name)))) + (emit-op em 17) + (emit-byte em slot)))) + (keys pattern)) + (compile-begin em body let-scope tail?))) + (let + ((bindings (first args)) + (body (rest args)) + (let-scope (make-scope scope))) + (dict-set! let-scope "next-slot" (get scope "next-slot")) + (for-each + (fn + (binding) (let - ((slot (scope-define-local let-scope name))) - (emit-op em 17) - (emit-byte em slot)))) - bindings) - (compile-begin em body let-scope tail?))))) + ((name (if (= (type-of (first binding)) "symbol") (first binding) (make-symbol (first binding)))) + (value (nth binding 1))) + (compile-expr em value let-scope false) + (let + ((slot (scope-define-local let-scope (symbol-name name)))) + (emit-op em 17) + (emit-byte em slot)))) + bindings) + (compile-begin em body let-scope tail?)))))) (define compile-letrec (fn diff --git a/shared/static/wasm/sx/adapter-dom.sxbc b/shared/static/wasm/sx/adapter-dom.sxbc index 9b7d61f8..5123644c 100644 --- a/shared/static/wasm/sx/adapter-dom.sxbc +++ b/shared/static/wasm/sx/adapter-dom.sxbc @@ -1,3 +1,3 @@ (sxbc 1 "afabf1ff150e452d" (code - :constants ({:library (sx dom) :op "import"} {:library (sx render) :op "import"} "SVG_NS" "http://www.w3.org/2000/svg" "MATH_NS" "http://www.w3.org/1998/Math/MathML" "island-scope?" {:upvalue-count 0 :arity 0 :constants ("not" "nil?" "scope-peek" "sx-island-scope") :bytecode (1 3 0 52 2 0 1 52 1 0 1 52 0 0 1 50)} "hydrating?" {:upvalue-count 0 :arity 0 :constants ("not" "nil?" "scope-peek" "sx-hydrating") :bytecode (1 3 0 52 2 0 1 52 1 0 1 52 0 0 1 50)} "hydrate-next-node" {:upvalue-count 0 :arity 0 :constants ("scope-peek" "sx-hydrating" "dict-get" "parent" "index" "host-call" "host-get" "childNodes" "item" "dict-set!" "+" 1) :bytecode (1 1 0 52 0 0 1 17 0 16 0 33 68 0 16 0 1 3 0 52 2 0 2 17 1 16 0 1 4 0 52 2 0 2 17 2 20 5 0 20 6 0 16 1 1 7 0 48 2 1 8 0 16 2 48 3 17 3 16 0 1 4 0 16 2 1 11 0 52 10 0 2 52 9 0 3 5 16 3 32 1 0 2 50)} "hydrate-enter-element" {:upvalue-count 0 :arity 1 :constants ("scope-push!" "sx-hydrating" "dict" "parent" "index" 0) :bytecode (1 1 0 1 3 0 16 0 1 4 0 1 5 0 52 2 0 4 52 0 0 2 50)} "hydrate-exit-element" {:upvalue-count 0 :arity 0 :constants ("scope-pop!" "sx-hydrating") :bytecode (1 1 0 52 0 0 1 50)} "*memo-cache*" "dict" "*cyst-counter*" 0 "next-cyst-id" {:upvalue-count 0 :arity 0 :constants ("+" "*cyst-counter*" 1 "str" "sx-cyst-") :bytecode (20 1 0 1 2 0 52 0 0 2 21 1 0 5 1 4 0 20 1 0 52 3 0 2 50)} "contains-deref?" {:upvalue-count 0 :arity 1 :constants ("not" "list?" "empty?" "=" "type-of" "first" "symbol" "symbol-name" "deref" "some" "contains-deref?") :bytecode (16 0 52 1 0 1 52 0 0 1 33 4 0 4 32 68 0 16 0 52 2 0 1 33 4 0 4 32 55 0 16 0 52 5 0 1 52 4 0 1 1 6 0 52 3 0 2 6 33 18 0 5 16 0 52 5 0 1 52 7 0 1 1 8 0 52 3 0 2 33 4 0 3 32 9 0 20 10 0 16 0 52 9 0 2 50)} "dom-on" {:upvalue-count 0 :arity 3 :constants ("dom-listen" "lambda?" "=" 0 "len" "lambda-params" {:upvalue-count 1 :arity 1 :constants ("trampoline" "call-lambda" "list" "run-post-render-hooks") :bytecode (18 0 52 2 0 0 52 1 0 2 52 0 0 1 5 20 3 0 49 0 50)} {:upvalue-count 1 :arity 1 :constants ("trampoline" "call-lambda" "list" "run-post-render-hooks") :bytecode (18 0 16 0 52 2 0 1 52 1 0 2 52 0 0 1 5 20 3 0 49 0 50)}) :bytecode (20 0 0 16 0 16 1 16 2 52 1 0 1 33 36 0 1 3 0 16 2 52 5 0 1 52 4 0 1 52 2 0 2 33 8 0 51 6 0 1 2 32 5 0 51 7 0 1 2 32 2 0 16 2 49 3 50)} "render-to-dom" {:upvalue-count 0 :arity 3 :constants ("set-render-active!" "type-of" "nil" "=" "create-fragment" "boolean" "raw-html" "dom-parse-html" "raw-html-content" "string" "hydrating?" "hydrate-next-node" "create-text-node" "number" "str" "symbol" "render-to-dom" "trampoline" "eval-expr" "keyword" "keyword-name" "dom-node" "spread" "not" "island-scope?" "scope-emit!" "element-attrs" "spread-attrs" "dict" "has-key?" "__host_handle" "list" "empty?" "render-dom-list" "signal?" "reactive-text" "deref") :bytecode (3 52 0 0 1 5 16 0 52 1 0 1 6 1 2 0 52 3 0 2 33 9 0 5 20 4 0 49 0 32 194 1 6 1 5 0 52 3 0 2 33 9 0 5 20 4 0 49 0 32 174 1 6 1 6 0 52 3 0 2 33 15 0 5 20 7 0 16 0 52 8 0 1 49 1 32 148 1 6 1 9 0 52 3 0 2 33 39 0 5 20 10 0 48 0 33 20 0 20 11 0 48 0 6 34 8 0 5 20 12 0 16 0 49 1 32 7 0 20 12 0 16 0 49 1 32 98 1 6 1 13 0 52 3 0 2 33 47 0 5 20 10 0 48 0 33 24 0 20 11 0 48 0 6 34 12 0 5 20 12 0 16 0 52 14 0 1 49 1 32 11 0 20 12 0 16 0 52 14 0 1 49 1 32 40 1 6 1 15 0 52 3 0 2 33 25 0 5 20 16 0 16 0 16 1 52 18 0 2 52 17 0 1 16 1 16 2 49 3 32 4 1 6 1 19 0 52 3 0 2 33 47 0 5 20 10 0 48 0 33 24 0 20 11 0 48 0 6 34 12 0 5 20 12 0 16 0 52 20 0 1 49 1 32 11 0 20 12 0 16 0 52 20 0 1 49 1 32 202 0 6 1 21 0 52 3 0 2 33 6 0 5 16 0 32 185 0 6 1 22 0 52 3 0 2 33 36 0 5 20 24 0 48 0 52 23 0 1 33 16 0 1 26 0 16 0 52 27 0 1 52 25 0 2 32 1 0 2 5 16 0 32 138 0 6 1 28 0 52 3 0 2 33 26 0 5 16 0 1 30 0 52 29 0 2 33 5 0 16 0 32 5 0 20 4 0 49 0 32 101 0 6 1 31 0 52 3 0 2 33 32 0 5 16 0 52 32 0 1 33 8 0 20 4 0 49 0 32 11 0 20 33 0 16 0 16 1 16 2 49 3 32 58 0 5 20 34 0 16 0 48 1 33 36 0 20 24 0 48 0 33 10 0 20 35 0 16 0 49 1 32 15 0 20 12 0 16 0 52 36 0 1 52 14 0 1 49 1 32 11 0 20 12 0 16 0 52 14 0 1 49 1 50)} "render-dom-list" {:upvalue-count 0 :arity 3 :constants ("first" "=" "type-of" "symbol" "symbol-name" "rest" "raw!" "render-dom-raw" "<>" "render-dom-fragment" "lake" "render-dom-lake" "marsh" "render-dom-marsh" "starts-with?" "html:" "render-dom-element" "slice" 5 "render-dom-form?" "contains?" "HTML_TAGS" ">" "len" 0 "keyword" "dispatch-render-form" "env-has?" "macro?" "env-get" "render-to-dom" "expand-macro" "~" "island?" "scope-peek" "sx-render-markers" "dom-create-element" "span" "dict" "reduce" {:upvalue-count 3 :arity 2 :constants ("get" "skip" "assoc" "i" "inc" "=" "type-of" "keyword" "<" "len" "keyword-name" "trampoline" "eval-expr" "nth" "dict-set!") :bytecode (16 0 1 1 0 52 0 0 2 17 2 16 2 33 29 0 16 0 1 1 0 4 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 145 0 16 1 52 6 0 1 1 7 0 52 5 0 2 6 33 24 0 5 16 0 1 3 0 52 0 0 2 52 4 0 1 18 0 52 9 0 1 52 8 0 2 33 79 0 16 1 52 10 0 1 17 3 18 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 13 0 2 18 1 52 12 0 2 52 11 0 1 17 4 18 2 16 3 16 4 52 14 0 3 5 16 0 1 1 0 3 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 22 0 16 0 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 3 50)} "i" "skip" "dom-set-attr" "data-sx-island" "component-name" "not" "empty-dict?" "data-sx-state" "sx-serialize" "render-dom-island" "component?" "render-dom-component" "render-dom-unknown-component" "index-of" "-" "deref" "island-scope?" "trampoline" "eval-expr" "signal?" "reactive-text" "create-text-node" "str" "contains-deref?" "computed" {:upvalue-count 2 :arity 0 :constants ("trampoline" "eval-expr") :bytecode (18 0 18 1 52 1 0 2 52 0 0 1 50)} "lambda?" "list" "create-fragment" "for-each" {:upvalue-count 3 :arity 1 :constants ("render-to-dom" "not" "spread?" "dom-append") :bytecode (20 0 0 16 0 18 0 18 1 48 3 17 1 16 1 52 2 0 1 52 1 0 1 33 12 0 20 3 0 18 2 16 1 49 2 32 1 0 2 50)}) :bytecode (16 0 52 0 0 1 17 3 16 3 52 2 0 1 1 3 0 52 1 0 2 33 52 3 16 3 52 4 0 1 17 4 16 0 52 5 0 1 17 5 16 4 1 6 0 52 1 0 2 33 12 0 20 7 0 16 5 16 1 49 2 32 9 3 16 4 1 8 0 52 1 0 2 33 14 0 20 9 0 16 5 16 1 16 2 49 3 32 239 2 16 4 1 10 0 52 1 0 2 33 14 0 20 11 0 16 5 16 1 16 2 49 3 32 213 2 16 4 1 12 0 52 1 0 2 33 14 0 20 13 0 16 5 16 1 16 2 49 3 32 187 2 16 4 1 15 0 52 14 0 2 33 23 0 20 16 0 16 4 1 18 0 52 17 0 2 16 5 16 1 16 2 49 4 32 152 2 20 19 0 16 4 48 1 33 91 0 20 21 0 16 4 52 20 0 2 6 33 43 0 5 16 5 52 23 0 1 1 24 0 52 22 0 2 6 33 18 0 5 16 5 52 0 0 1 52 2 0 1 1 25 0 52 1 0 2 6 34 3 0 5 16 2 33 16 0 20 16 0 16 4 16 5 16 1 16 2 49 4 32 13 0 20 26 0 16 4 16 0 16 1 16 2 49 4 32 51 2 16 1 16 4 52 27 0 2 6 33 13 0 5 16 1 16 4 52 29 0 2 52 28 0 1 33 28 0 20 30 0 16 1 16 4 52 29 0 2 16 5 16 1 52 31 0 3 16 1 16 2 49 3 32 251 1 20 21 0 16 4 52 20 0 2 33 16 0 20 16 0 16 4 16 5 16 1 16 2 49 4 32 223 1 16 4 1 32 0 52 14 0 2 6 33 26 0 5 16 1 16 4 52 27 0 2 6 33 13 0 5 16 1 16 4 52 29 0 2 52 33 0 1 33 145 0 1 35 0 52 34 0 1 33 113 0 16 1 16 4 52 29 0 2 17 6 20 36 0 1 37 0 2 48 2 17 7 52 38 0 0 17 8 51 40 0 1 5 1 1 1 8 1 41 0 1 24 0 1 42 0 4 52 38 0 4 16 5 52 39 0 3 5 20 43 0 16 7 1 44 0 16 6 52 45 0 1 48 3 5 16 8 52 47 0 1 52 46 0 1 33 19 0 20 43 0 16 7 1 48 0 16 8 52 49 0 1 48 3 32 1 0 2 5 16 7 32 19 0 20 50 0 16 1 16 4 52 29 0 2 16 5 16 1 16 2 49 4 32 36 1 16 4 1 32 0 52 14 0 2 33 45 0 16 1 16 4 52 29 0 2 17 6 16 6 52 51 0 1 33 16 0 20 52 0 16 6 16 5 16 1 16 2 49 4 32 7 0 20 53 0 16 4 49 1 32 235 0 16 4 1 55 0 52 54 0 2 1 24 0 52 22 0 2 6 33 36 0 5 16 5 52 23 0 1 1 24 0 52 22 0 2 6 33 18 0 5 16 5 52 0 0 1 52 2 0 1 1 25 0 52 1 0 2 33 16 0 20 16 0 16 4 16 5 16 1 16 2 49 4 32 160 0 16 2 33 16 0 20 16 0 16 4 16 5 16 1 16 2 49 4 32 139 0 16 4 1 56 0 52 1 0 2 6 33 6 0 5 20 57 0 48 0 33 56 0 16 5 52 0 0 1 16 1 52 59 0 2 52 58 0 1 17 6 20 60 0 16 6 48 1 33 10 0 20 61 0 16 6 49 1 32 15 0 20 62 0 16 6 52 56 0 1 52 63 0 1 49 1 32 61 0 20 57 0 48 0 6 33 8 0 5 20 64 0 16 0 48 1 33 20 0 20 61 0 20 65 0 51 66 0 1 0 1 1 48 1 49 1 32 21 0 20 30 0 16 0 16 1 52 59 0 2 52 58 0 1 16 1 16 2 49 3 32 76 0 16 3 52 67 0 1 6 34 14 0 5 16 3 52 2 0 1 1 68 0 52 1 0 2 33 24 0 20 30 0 16 0 16 1 52 59 0 2 52 58 0 1 16 1 16 2 49 3 32 25 0 20 69 0 48 0 17 4 51 71 0 1 1 1 2 1 4 16 0 52 70 0 2 5 16 4 50)} "render-dom-element" {:upvalue-count 0 :arity 4 :constants ("=" "svg" "SVG_NS" "math" "MATH_NS" "hydrating?" "hydrate-next-node" "lower" "host-get" "tagName" "" "hydrate-enter-element" "error" "str" "hydrate-mismatch:" "dom-create-element" "scope-push!" "element-attrs" "reduce" {:upvalue-count 5 :arity 2 :constants ("get" "skip" "assoc" "i" "inc" "=" "type-of" "keyword" "<" "len" "keyword-name" "nth" "starts-with?" "on-" "trampoline" "eval-expr" "callable?" "dom-on" "slice" 3 "bind" "signal?" "bind-input" "ref" "dict-set!" "current" "key" "dom-set-attr" "str" "island-scope?" "reactive-attr" {:upvalue-count 2 :arity 0 :constants ("trampoline" "eval-expr") :bytecode (18 0 18 1 52 1 0 2 52 0 0 1 50)} "nil?" "contains?" "BOOLEAN_ATTRS" "" "not" "VOID_ELEMENTS" "render-to-dom" "spread?" "reactive-spread" {:upvalue-count 3 :arity 0 :constants ("render-to-dom") :bytecode (20 0 0 18 0 18 1 18 2 49 3 50)} "hydrating?" "dom-parent" "dom-append") :bytecode (16 0 1 1 0 52 0 0 2 17 2 16 2 33 29 0 16 0 1 1 0 4 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 79 2 16 1 52 6 0 1 1 7 0 52 5 0 2 6 33 24 0 5 16 0 1 3 0 52 0 0 2 52 4 0 1 18 0 52 9 0 1 52 8 0 2 33 143 1 16 1 52 10 0 1 17 3 18 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 11 0 2 17 4 16 3 1 13 0 52 12 0 2 33 49 0 16 4 18 1 52 15 0 2 52 14 0 1 17 5 20 16 0 16 5 48 1 33 21 0 20 17 0 18 2 16 3 1 19 0 52 18 0 2 16 5 48 3 32 1 0 2 32 23 1 16 3 1 20 0 52 5 0 2 33 40 0 16 4 18 1 52 15 0 2 52 14 0 1 17 5 20 21 0 16 5 48 1 33 12 0 20 22 0 18 2 16 5 48 2 32 1 0 2 32 227 0 16 3 1 23 0 52 5 0 2 33 28 0 16 4 18 1 52 15 0 2 52 14 0 1 17 5 16 5 1 25 0 18 2 52 24 0 3 32 187 0 16 3 1 26 0 52 5 0 2 33 33 0 16 4 18 1 52 15 0 2 52 14 0 1 17 5 20 27 0 18 2 1 26 0 16 5 52 28 0 1 48 3 32 142 0 20 29 0 48 0 33 19 0 20 30 0 18 2 16 3 51 31 0 1 4 0 1 48 3 32 115 0 16 4 18 1 52 15 0 2 52 14 0 1 17 5 16 5 52 32 0 1 6 34 8 0 5 16 5 4 52 5 0 2 33 4 0 2 32 76 0 20 34 0 16 3 52 33 0 2 33 24 0 16 5 33 15 0 20 27 0 18 2 16 3 1 35 0 48 3 32 1 0 2 32 40 0 16 5 3 52 5 0 2 33 15 0 20 27 0 18 2 16 3 1 35 0 48 3 32 15 0 20 27 0 18 2 16 3 16 5 52 28 0 1 48 3 5 16 0 1 1 0 3 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 148 0 20 37 0 18 3 52 33 0 2 52 36 0 1 33 108 0 20 38 0 16 1 18 1 18 4 48 3 17 3 16 3 52 39 0 1 6 33 6 0 5 20 29 0 48 0 33 19 0 20 40 0 18 2 51 41 0 1 1 0 1 0 4 48 2 32 54 0 16 3 52 39 0 1 33 4 0 2 32 41 0 20 42 0 48 0 52 36 0 1 6 34 12 0 5 20 43 0 16 3 48 1 52 32 0 1 33 12 0 20 44 0 18 2 16 3 48 2 32 1 0 2 32 1 0 2 5 16 0 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 3 50)} "dict" "i" 0 "skip" "for-each" {:upvalue-count 1 :arity 1 :constants ("for-each" {:upvalue-count 2 :arity 1 :constants ("dict-get" "=" "class" "dom-get-attr" "dom-set-attr" "not" "" "str" " " "style" ";") :bytecode (18 0 16 0 52 0 0 2 17 1 16 0 1 2 0 52 1 0 2 33 64 0 20 3 0 18 1 1 2 0 48 2 17 2 20 4 0 18 1 1 2 0 16 2 6 33 14 0 5 16 2 1 6 0 52 1 0 2 52 5 0 1 33 14 0 16 2 1 8 0 16 1 52 7 0 3 32 2 0 16 1 49 3 32 91 0 16 0 1 9 0 52 1 0 2 33 64 0 20 3 0 18 1 1 9 0 48 2 17 2 20 4 0 18 1 1 9 0 16 2 6 33 14 0 5 16 2 1 6 0 52 1 0 2 52 5 0 1 33 14 0 16 2 1 10 0 16 1 52 7 0 3 32 2 0 16 1 49 3 32 15 0 20 4 0 18 1 16 0 16 1 52 7 0 1 49 3 50)} "keys") :bytecode (51 1 0 1 0 0 0 16 0 52 2 0 1 52 0 0 2 50)} "scope-emitted" "scope-pop!" "hydrate-exit-element") :bytecode (16 0 1 1 0 52 0 0 2 33 6 0 20 2 0 32 20 0 16 0 1 3 0 52 0 0 2 33 6 0 20 4 0 32 2 0 16 3 17 4 20 5 0 48 0 33 74 0 20 6 0 48 0 17 5 16 5 6 33 29 0 5 20 8 0 16 5 1 9 0 48 2 6 34 4 0 5 1 10 0 52 7 0 1 16 0 52 0 0 2 33 13 0 20 11 0 16 5 48 1 5 16 5 32 13 0 1 14 0 16 0 52 13 0 2 52 12 0 1 32 9 0 20 15 0 16 0 16 4 48 2 17 5 1 17 0 2 52 16 0 2 5 51 19 0 1 1 1 2 1 5 1 0 1 4 1 21 0 1 22 0 1 23 0 4 52 20 0 4 16 1 52 18 0 3 5 51 25 0 1 5 1 17 0 52 26 0 1 52 24 0 2 5 1 17 0 52 27 0 1 5 20 5 0 48 0 33 8 0 20 28 0 48 0 32 1 0 2 5 16 5 50)} "render-dom-component" {:upvalue-count 0 :arity 4 :constants ("dict" "list" "reduce" {:upvalue-count 4 :arity 2 :constants ("get" "skip" "assoc" "i" "inc" "=" "type-of" "keyword" "<" "len" "trampoline" "eval-expr" "nth" "dict-set!" "keyword-name" "append!") :bytecode (16 0 1 1 0 52 0 0 2 17 2 16 2 33 29 0 16 0 1 1 0 4 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 150 0 16 1 52 6 0 1 1 7 0 52 5 0 2 6 33 24 0 5 16 0 1 3 0 52 0 0 2 52 4 0 1 18 0 52 9 0 1 52 8 0 2 33 75 0 18 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 12 0 2 18 1 52 11 0 2 52 10 0 1 17 3 18 2 16 1 52 14 0 1 16 3 52 13 0 3 5 16 0 1 1 0 3 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 31 0 18 3 16 1 52 15 0 2 5 16 0 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 3 50)} "i" 0 "skip" "env-merge" "component-closure" "for-each" {:upvalue-count 2 :arity 1 :constants ("env-bind!" "dict-has?" "dict-get") :bytecode (18 0 16 0 18 1 16 0 52 1 0 2 33 11 0 18 1 16 0 52 2 0 2 32 1 0 2 52 0 0 3 50)} "component-params" "component-has-children?" "create-fragment" {:upvalue-count 3 :arity 1 :constants ("render-to-dom" "not" "spread?" "dom-append") :bytecode (20 0 0 16 0 18 0 18 1 48 3 17 1 16 1 52 2 0 1 52 1 0 1 33 12 0 20 3 0 18 2 16 1 49 2 32 1 0 2 50)} "env-bind!" "children" "render-to-dom" "component-body") :bytecode (52 0 0 0 17 4 52 1 0 0 17 5 51 3 0 1 1 1 2 1 4 1 5 1 4 0 1 5 0 1 6 0 4 52 0 0 4 16 1 52 2 0 3 5 16 0 52 8 0 1 16 2 52 7 0 2 17 6 51 10 0 1 6 1 4 16 0 52 11 0 1 52 9 0 2 5 16 0 52 12 0 1 33 37 0 20 13 0 48 0 17 7 51 14 0 1 2 1 3 1 7 16 5 52 9 0 2 5 16 6 1 16 0 16 7 52 15 0 3 32 1 0 2 5 20 17 0 16 0 52 18 0 1 16 6 16 3 49 3 50)} "render-dom-fragment" {:upvalue-count 0 :arity 3 :constants ("hydrating?" "create-fragment" "for-each" {:upvalue-count 3 :arity 1 :constants ("render-to-dom" "not" "spread?" "nil?" "dom-parent" "dom-append") :bytecode (20 0 0 16 0 18 0 18 1 48 3 17 1 16 1 52 2 0 1 52 1 0 1 6 33 12 0 5 20 4 0 16 1 48 1 52 3 0 1 33 12 0 20 5 0 18 2 16 1 49 2 32 1 0 2 50)} {:upvalue-count 3 :arity 1 :constants ("render-to-dom" "not" "spread?" "dom-append") :bytecode (20 0 0 16 0 18 0 18 1 48 3 17 1 16 1 52 2 0 1 52 1 0 1 33 12 0 20 3 0 18 2 16 1 49 2 32 1 0 2 50)}) :bytecode (20 0 0 48 0 33 28 0 20 1 0 48 0 17 3 51 3 0 1 1 1 2 1 3 16 0 52 2 0 2 5 16 3 32 25 0 20 1 0 48 0 17 3 51 4 0 1 1 1 2 1 3 16 0 52 2 0 2 5 16 3 50)} "render-dom-raw" {:upvalue-count 0 :arity 2 :constants ("create-fragment" "for-each" {:upvalue-count 2 :arity 1 :constants ("trampoline" "eval-expr" "=" "type-of" "string" "dom-append" "dom-parse-html" "dom-node" "dom-clone" "not" "nil?" "create-text-node" "str") :bytecode (16 0 18 0 52 1 0 2 52 0 0 1 17 1 16 1 52 3 0 1 1 4 0 52 2 0 2 33 17 0 20 5 0 18 1 20 6 0 16 1 48 1 49 2 32 68 0 16 1 52 3 0 1 1 7 0 52 2 0 2 33 17 0 20 5 0 18 1 20 8 0 16 1 48 1 49 2 32 35 0 16 1 52 10 0 1 52 9 0 1 33 21 0 20 5 0 18 1 20 11 0 16 1 52 12 0 1 48 1 49 2 32 1 0 2 50)}) :bytecode (20 0 0 48 0 17 2 51 2 0 1 1 1 2 16 0 52 1 0 2 5 16 2 50)} "render-dom-unknown-component" {:upvalue-count 0 :arity 1 :constants ("error" "str" "Unknown component: ") :bytecode (1 2 0 16 0 52 1 0 2 52 0 0 1 50)} "RENDER_DOM_FORMS" "list" "if" "when" "cond" "case" "let" "let*" "letrec" "begin" "do" "define" "defcomp" "defisland" "defmacro" "defstyle" "map" "map-indexed" "filter" "for-each" "portal" "error-boundary" "scope" "provide" "cyst" "render-dom-form?" {:upvalue-count 0 :arity 1 :constants ("contains?" "RENDER_DOM_FORMS") :bytecode (20 1 0 16 0 52 0 0 2 50)} "dispatch-render-form" {:upvalue-count 0 :arity 4 :constants ("=" "if" "island-scope?" "not" "hydrating?" "create-comment" "r-if" "list" "effect" {:upvalue-count 6 :arity 0 :constants ("trampoline" "eval-expr" "nth" 1 "render-to-dom" 2 ">" "len" 3 "create-fragment" "dom-parent" "for-each" {:upvalue-count 0 :arity 1 :constants ("dom-remove") :bytecode (20 0 0 16 0 49 1 50)} "dom-is-fragment?" "dom-child-nodes" "list" "dom-insert-after") :bytecode (18 0 1 3 0 52 2 0 2 18 1 52 1 0 2 52 0 0 1 17 0 16 0 33 21 0 20 4 0 18 0 1 5 0 52 2 0 2 18 1 18 2 48 3 32 42 0 18 0 52 7 0 1 1 8 0 52 6 0 2 33 21 0 20 4 0 18 0 1 8 0 52 2 0 2 18 1 18 2 48 3 32 5 0 20 9 0 48 0 17 0 20 10 0 18 3 48 1 33 51 0 51 12 0 18 4 52 11 0 2 5 20 13 0 16 0 48 1 33 10 0 20 14 0 16 0 48 1 32 6 0 16 0 52 15 0 1 19 4 5 20 16 0 18 3 16 0 49 2 32 4 0 16 0 19 5 50)} "nil?" "spread?" "dom-parent" "host-call" "insertBefore" "create-fragment" "dom-append" "dom-is-fragment?" "dom-child-nodes" "trampoline" "eval-expr" "nth" 1 "render-to-dom" 2 ">" "len" 3 "when" "r-when" {:upvalue-count 6 :arity 0 :constants ("dom-parent" "for-each" {:upvalue-count 0 :arity 1 :constants ("dom-remove") :bytecode (20 0 0 16 0 49 1 50)} "list" "trampoline" "eval-expr" "nth" 1 "create-fragment" {:upvalue-count 4 :arity 1 :constants ("dom-append" "render-to-dom" "nth") :bytecode (20 0 0 18 0 20 1 0 18 1 16 0 52 2 0 2 18 2 18 3 48 3 49 2 50)} "range" 2 "len" "dom-child-nodes" "dom-insert-after" "hydrating?" {:upvalue-count 4 :arity 1 :constants ("render-to-dom" "nth" "append!") :bytecode (20 0 0 18 0 16 0 52 1 0 2 18 1 18 2 48 3 17 1 18 3 16 1 52 2 0 2 50)} "first") :bytecode (20 0 0 18 0 48 1 33 101 0 51 2 0 18 1 52 1 0 2 5 52 3 0 0 19 1 5 18 2 1 7 0 52 6 0 2 18 3 52 5 0 2 52 4 0 1 33 58 0 20 8 0 48 0 17 0 51 9 0 1 0 0 2 0 3 0 4 1 11 0 18 2 52 12 0 1 52 10 0 2 52 1 0 2 5 20 13 0 16 0 48 1 19 1 5 20 14 0 18 0 16 0 49 2 32 1 0 2 32 135 0 18 2 1 7 0 52 6 0 2 18 3 52 5 0 2 52 4 0 1 33 112 0 20 15 0 48 0 33 51 0 52 3 0 0 17 0 51 16 0 0 2 0 3 0 4 1 0 1 11 0 18 2 52 12 0 1 52 10 0 2 52 1 0 2 5 16 0 19 1 5 16 0 52 17 0 1 19 5 32 50 0 20 8 0 48 0 17 0 51 9 0 1 0 0 2 0 3 0 4 1 11 0 18 2 52 12 0 1 52 10 0 2 52 1 0 2 5 20 13 0 16 0 48 1 19 1 5 16 0 19 5 32 1 0 2 50)} "for-each" {:upvalue-count 4 :arity 1 :constants ("dom-append" "render-to-dom" "nth") :bytecode (20 0 0 18 0 20 1 0 18 1 16 0 52 2 0 2 18 2 18 3 48 3 49 2 50)} "range" "cond" "r-cond" {:upvalue-count 6 :arity 0 :constants ("eval-cond" "rest" "dom-parent" "for-each" {:upvalue-count 0 :arity 1 :constants ("dom-remove") :bytecode (20 0 0 16 0 49 1 50)} "list" "render-to-dom" "dom-is-fragment?" "dom-child-nodes" "dom-insert-after") :bytecode (20 0 0 18 0 52 1 0 1 18 1 48 2 17 0 20 2 0 18 2 48 1 33 80 0 51 4 0 18 3 52 3 0 2 5 52 5 0 0 19 3 5 16 0 33 54 0 20 6 0 16 0 18 1 18 4 48 3 17 1 20 7 0 16 1 48 1 33 10 0 20 8 0 16 1 48 1 32 6 0 16 1 52 5 0 1 19 3 5 20 9 0 18 2 16 1 49 2 32 1 0 2 32 55 0 16 0 33 49 0 20 6 0 16 0 18 1 18 4 48 3 17 1 20 7 0 16 1 48 1 33 10 0 20 8 0 16 1 48 1 32 6 0 16 1 52 5 0 1 19 3 5 16 1 19 5 32 1 0 2 50)} "eval-cond" "rest" "case" "let" "let*" "process-bindings" {:upvalue-count 4 :arity 1 :constants ("render-to-dom" "nth" "not" "spread?" "dom-append") :bytecode (20 0 0 18 0 16 0 52 1 0 2 18 1 18 2 48 3 17 1 16 1 52 3 0 1 52 2 0 1 33 12 0 20 4 0 18 3 16 1 49 2 32 1 0 2 50)} "letrec" "slice" "env-extend" {:upvalue-count 1 :arity 1 :constants ("=" "type-of" "first" "symbol" "symbol-name" "str" "env-bind!") :bytecode (16 0 52 2 0 1 52 1 0 1 1 3 0 52 0 0 2 33 13 0 16 0 52 2 0 1 52 4 0 1 32 10 0 16 0 52 2 0 1 52 5 0 1 17 1 18 0 16 1 2 52 6 0 3 50)} {:upvalue-count 1 :arity 1 :constants ("=" "type-of" "first" "symbol" "symbol-name" "str" "env-set!" "trampoline" "eval-expr" "nth" 1) :bytecode (16 0 52 2 0 1 52 1 0 1 1 3 0 52 0 0 2 33 13 0 16 0 52 2 0 1 52 4 0 1 32 10 0 16 0 52 2 0 1 52 5 0 1 17 1 18 0 16 1 16 0 1 10 0 52 9 0 2 18 0 52 8 0 2 52 7 0 1 52 6 0 3 50)} {:upvalue-count 1 :arity 1 :constants ("trampoline" "eval-expr") :bytecode (16 0 18 0 52 1 0 2 52 0 0 1 50)} "init" "last" "begin" "do" "definition-form?" "map" "type-of" "first" "symbol" "symbol-name" "deref" "signal?" "reactive-list" {:upvalue-count 4 :arity 1 :constants ("lambda?" "render-lambda-dom" "list" "render-to-dom" "apply" "dom-append") :bytecode (18 0 52 0 0 1 33 20 0 20 1 0 18 0 16 0 52 2 0 1 18 1 18 2 48 4 32 21 0 20 3 0 18 0 16 0 52 2 0 1 52 4 0 2 18 1 18 2 48 3 17 1 20 5 0 18 3 16 1 49 2 50)} "map-indexed" "for-each-indexed" {:upvalue-count 4 :arity 2 :constants ("lambda?" "render-lambda-dom" "list" "render-to-dom" "apply" "dom-append") :bytecode (18 0 52 0 0 1 33 22 0 20 1 0 18 0 16 0 16 1 52 2 0 2 18 1 18 2 48 4 32 23 0 20 3 0 18 0 16 0 16 1 52 2 0 2 52 4 0 2 18 1 18 2 48 3 17 2 20 5 0 18 3 16 2 49 2 50)} "filter" "portal" "render-dom-portal" "error-boundary" "render-dom-error-boundary" "scope" ">=" "keyword" "keyword-name" "value" "scope-push!" {:upvalue-count 3 :arity 1 :constants ("dom-append" "render-to-dom") :bytecode (20 0 0 18 0 20 1 0 16 0 18 1 18 2 48 3 49 2 50)} "scope-pop!" "provide" "cyst" "key" "str" "next-cyst-id" "get" "*memo-cache*" "host-get" "isConnected" "dom-create-element" "div" "dom-set-attr" "data-sx-cyst" "with-island-scope" {:upvalue-count 1 :arity 1 :constants ("append!") :bytecode (18 0 16 0 52 0 0 2 50)} {:upvalue-count 3 :arity 0 :constants ("create-fragment" "for-each" {:upvalue-count 3 :arity 1 :constants ("dom-append" "render-to-dom") :bytecode (20 0 0 18 0 20 1 0 16 0 18 1 18 2 48 3 49 2 50)}) :bytecode (20 0 0 48 0 17 0 51 2 0 1 0 0 0 0 1 18 2 52 1 0 2 5 16 0 50)} "dom-set-data" "sx-disposers" "dict-set!") :bytecode (16 0 1 1 0 52 0 0 2 33 76 1 20 2 0 48 0 6 33 10 0 5 20 4 0 48 0 52 3 0 1 33 218 0 20 5 0 1 6 0 48 1 17 4 52 7 0 0 17 5 2 17 6 20 8 0 51 9 0 1 1 1 2 1 3 1 4 1 5 1 6 48 1 5 20 4 0 48 0 33 86 0 16 6 6 33 26 0 5 16 6 52 10 0 1 52 3 0 1 6 33 11 0 5 16 6 52 11 0 1 52 3 0 1 33 44 0 20 12 0 16 6 48 1 17 7 16 7 33 26 0 20 13 0 16 7 1 14 0 16 4 16 6 48 4 5 16 6 52 7 0 1 17 5 32 1 0 2 32 1 0 2 5 16 4 32 81 0 16 6 52 11 0 1 33 5 0 16 6 32 67 0 20 15 0 48 0 17 7 20 16 0 16 7 16 4 48 2 5 16 6 33 41 0 20 17 0 16 6 48 1 33 10 0 20 18 0 16 6 48 1 32 6 0 16 6 52 7 0 1 17 5 5 20 16 0 16 7 16 6 48 2 32 1 0 2 5 16 7 32 89 0 16 1 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 4 16 4 33 21 0 20 23 0 16 1 1 24 0 52 21 0 2 16 2 16 3 49 3 32 42 0 16 1 52 26 0 1 1 27 0 52 25 0 2 33 21 0 20 23 0 16 1 1 27 0 52 21 0 2 16 2 16 3 49 3 32 5 0 20 15 0 49 0 32 111 8 16 0 1 28 0 52 0 0 2 33 6 1 20 2 0 48 0 6 33 10 0 5 20 4 0 48 0 52 3 0 1 33 165 0 20 5 0 1 29 0 48 1 17 4 52 7 0 0 17 5 2 17 6 20 8 0 51 30 0 1 4 1 5 1 1 1 2 1 3 1 6 48 1 5 20 4 0 48 0 33 62 0 16 6 6 33 11 0 5 16 6 52 10 0 1 52 3 0 1 33 35 0 20 12 0 16 6 48 1 17 7 16 7 33 17 0 20 13 0 16 7 1 14 0 16 4 16 6 48 4 32 1 0 2 32 1 0 2 5 16 4 32 52 0 16 6 52 11 0 1 33 5 0 16 6 32 38 0 20 15 0 48 0 17 7 20 16 0 16 7 16 4 48 2 5 16 6 33 12 0 20 16 0 16 7 16 6 48 2 32 1 0 2 5 16 7 32 72 0 16 1 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 52 3 0 1 33 8 0 20 15 0 49 0 32 38 0 20 15 0 48 0 17 4 51 32 0 1 4 1 1 1 2 1 3 1 24 0 16 1 52 26 0 1 52 33 0 2 52 31 0 2 5 16 4 32 93 7 16 0 1 34 0 52 0 0 2 33 253 0 20 2 0 48 0 6 33 10 0 5 20 4 0 48 0 52 3 0 1 33 189 0 20 5 0 1 35 0 48 1 17 4 52 7 0 0 17 5 2 17 6 20 8 0 51 36 0 1 1 1 2 1 4 1 5 1 3 1 6 48 1 5 20 4 0 48 0 33 86 0 16 6 6 33 26 0 5 16 6 52 10 0 1 52 3 0 1 6 33 11 0 5 16 6 52 11 0 1 52 3 0 1 33 44 0 20 12 0 16 6 48 1 17 7 16 7 33 26 0 20 13 0 16 7 1 14 0 16 4 16 6 48 4 5 16 6 52 7 0 1 17 5 32 1 0 2 32 1 0 2 5 16 4 32 52 0 16 6 52 11 0 1 33 5 0 16 6 32 38 0 20 15 0 48 0 17 7 20 16 0 16 7 16 4 48 2 5 16 6 33 12 0 20 16 0 16 7 16 6 48 2 32 1 0 2 5 16 7 32 39 0 20 37 0 16 1 52 38 0 1 16 2 48 2 17 4 16 4 33 14 0 20 23 0 16 4 16 2 16 3 49 3 32 5 0 20 15 0 49 0 32 84 6 16 0 1 39 0 52 0 0 2 33 24 0 20 23 0 16 1 16 2 52 20 0 2 52 19 0 1 16 2 16 3 49 3 32 48 6 16 0 1 40 0 52 0 0 2 6 34 10 0 5 16 0 1 41 0 52 0 0 2 33 96 0 20 42 0 16 1 1 22 0 52 21 0 2 16 2 48 2 17 4 16 1 52 26 0 1 1 27 0 52 0 0 2 33 21 0 20 23 0 16 1 1 24 0 52 21 0 2 16 4 16 3 49 3 32 38 0 20 15 0 48 0 17 5 51 43 0 1 1 1 4 1 3 1 5 1 24 0 16 1 52 26 0 1 52 33 0 2 52 31 0 2 5 16 5 32 182 5 16 0 1 44 0 52 0 0 2 33 108 0 16 1 1 22 0 52 21 0 2 17 4 16 1 1 24 0 52 45 0 2 17 5 16 2 52 46 0 1 17 6 51 47 0 1 6 16 4 52 31 0 2 5 51 48 0 1 6 16 4 52 31 0 2 5 16 5 52 26 0 1 1 22 0 52 25 0 2 33 18 0 51 49 0 1 6 16 5 52 50 0 1 52 31 0 2 32 1 0 2 5 20 23 0 16 5 52 51 0 1 16 6 16 3 49 3 32 62 5 16 0 1 52 0 52 0 0 2 6 34 10 0 5 16 0 1 53 0 52 0 0 2 33 78 0 16 1 52 26 0 1 1 24 0 52 0 0 2 33 21 0 20 23 0 16 1 1 22 0 52 21 0 2 16 2 16 3 49 3 32 38 0 20 15 0 48 0 17 4 51 43 0 1 1 1 2 1 3 1 4 1 22 0 16 1 52 26 0 1 52 33 0 2 52 31 0 2 5 16 4 32 214 4 20 54 0 16 0 48 1 33 21 0 16 1 16 2 52 20 0 2 52 19 0 1 5 20 15 0 49 0 32 183 4 16 0 1 55 0 52 0 0 2 33 21 1 16 1 1 24 0 52 21 0 2 17 4 20 2 0 48 0 6 33 76 0 5 16 4 52 56 0 1 1 7 0 52 0 0 2 6 33 58 0 5 16 4 52 26 0 1 1 22 0 52 25 0 2 6 33 40 0 5 16 4 52 57 0 1 52 56 0 1 1 58 0 52 0 0 2 6 33 18 0 5 16 4 52 57 0 1 52 59 0 1 1 60 0 52 0 0 2 33 106 0 16 1 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 5 16 4 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 6 20 61 0 16 6 48 1 33 16 0 20 62 0 16 5 16 6 16 2 16 3 49 4 32 35 0 16 6 52 60 0 1 17 7 20 15 0 48 0 17 8 51 63 0 1 5 1 2 1 3 1 8 16 7 52 31 0 2 5 16 8 32 69 0 16 1 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 5 16 1 1 24 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 6 20 15 0 48 0 17 7 51 63 0 1 5 1 2 1 3 1 7 16 6 52 31 0 2 5 16 7 32 150 3 16 0 1 64 0 52 0 0 2 33 72 0 16 1 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 4 16 1 1 24 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 5 20 15 0 48 0 17 6 51 66 0 1 4 1 2 1 3 1 6 16 5 52 65 0 2 5 16 6 32 66 3 16 0 1 67 0 52 0 0 2 33 24 0 20 23 0 16 1 16 2 52 20 0 2 52 19 0 1 16 2 16 3 49 3 32 30 3 16 0 1 68 0 52 0 0 2 33 18 0 20 69 0 16 1 52 38 0 1 16 2 16 3 49 3 32 0 3 16 0 1 70 0 52 0 0 2 33 18 0 20 71 0 16 1 52 38 0 1 16 2 16 3 49 3 32 226 2 16 0 1 31 0 52 0 0 2 33 72 0 16 1 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 4 16 1 1 24 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 5 20 15 0 48 0 17 6 51 63 0 1 4 1 2 1 3 1 6 16 5 52 31 0 2 5 16 6 32 142 2 16 0 1 72 0 52 0 0 2 33 183 0 16 1 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 4 16 1 1 24 0 52 45 0 2 17 5 2 17 6 2 17 7 20 15 0 48 0 17 8 16 5 52 26 0 1 1 24 0 52 73 0 2 6 33 40 0 5 16 5 52 57 0 1 52 56 0 1 1 74 0 52 0 0 2 6 33 18 0 5 16 5 52 57 0 1 52 75 0 1 1 76 0 52 0 0 2 33 36 0 16 5 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 6 5 16 5 1 24 0 52 45 0 2 17 7 32 4 0 16 5 17 7 5 16 4 16 6 52 77 0 2 5 51 78 0 1 8 1 2 1 3 16 7 52 31 0 2 5 16 4 52 79 0 1 5 16 8 32 203 1 16 0 1 80 0 52 0 0 2 33 99 0 16 1 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 4 16 1 1 24 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 5 20 15 0 48 0 17 6 16 4 16 5 52 77 0 2 5 51 32 0 1 6 1 1 1 2 1 3 1 27 0 16 1 52 26 0 1 52 33 0 2 52 31 0 2 5 16 4 52 79 0 1 5 16 6 32 92 1 16 0 1 81 0 52 0 0 2 33 59 1 16 1 52 26 0 1 1 24 0 52 25 0 2 6 33 46 0 5 16 1 1 22 0 52 21 0 2 52 56 0 1 1 74 0 52 0 0 2 6 33 21 0 5 16 1 1 22 0 52 21 0 2 52 75 0 1 1 82 0 52 0 0 2 33 26 0 16 1 1 24 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 52 83 0 1 32 5 0 20 84 0 48 0 17 4 20 86 0 16 4 52 85 0 2 17 5 16 5 6 33 11 0 5 20 87 0 16 5 1 88 0 48 2 33 5 0 16 5 32 177 0 20 89 0 1 90 0 2 48 2 17 6 52 7 0 0 17 7 16 1 52 26 0 1 1 24 0 52 25 0 2 6 33 46 0 5 16 1 1 22 0 52 21 0 2 52 56 0 1 1 74 0 52 0 0 2 6 33 21 0 5 16 1 1 22 0 52 21 0 2 52 75 0 1 1 82 0 52 0 0 2 33 12 0 16 1 1 27 0 52 45 0 2 32 9 0 16 1 1 22 0 52 45 0 2 17 8 20 91 0 16 6 1 92 0 16 4 48 3 5 20 93 0 51 94 0 1 7 51 95 0 1 2 1 3 1 8 48 2 17 9 20 16 0 16 6 16 9 48 2 5 20 96 0 16 6 1 97 0 16 7 48 3 5 20 86 0 16 4 16 6 52 98 0 3 5 16 6 32 21 0 20 23 0 16 1 16 2 52 20 0 2 52 19 0 1 16 2 16 3 49 3 50)} "render-lambda-dom" {:upvalue-count 0 :arity 4 :constants ("env-merge" "lambda-closure" "for-each-indexed" {:upvalue-count 2 :arity 2 :constants ("env-bind!" "nth") :bytecode (18 0 16 1 18 1 16 0 52 1 0 2 52 0 0 3 50)} "lambda-params" "render-to-dom" "lambda-body") :bytecode (16 0 52 1 0 1 16 2 52 0 0 2 17 4 51 3 0 1 4 1 1 16 0 52 4 0 1 52 2 0 2 5 20 5 0 16 0 52 6 0 1 16 4 16 3 49 3 50)} "render-dom-island" {:upvalue-count 0 :arity 4 :constants ("dict" "list" "reduce" {:upvalue-count 4 :arity 2 :constants ("get" "skip" "assoc" "i" "inc" "=" "type-of" "keyword" "<" "len" "trampoline" "eval-expr" "nth" "dict-set!" "keyword-name" "append!") :bytecode (16 0 1 1 0 52 0 0 2 17 2 16 2 33 29 0 16 0 1 1 0 4 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 150 0 16 1 52 6 0 1 1 7 0 52 5 0 2 6 33 24 0 5 16 0 1 3 0 52 0 0 2 52 4 0 1 18 0 52 9 0 1 52 8 0 2 33 75 0 18 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 12 0 2 18 1 52 11 0 2 52 10 0 1 17 3 18 2 16 1 52 14 0 1 16 3 52 13 0 3 5 16 0 1 1 0 3 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 31 0 18 3 16 1 52 15 0 2 5 16 0 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 3 50)} "i" 0 "skip" "env-merge" "component-closure" "component-name" "for-each" {:upvalue-count 2 :arity 1 :constants ("env-bind!" "dict-has?" "dict-get") :bytecode (18 0 16 0 18 1 16 0 52 1 0 2 33 11 0 18 1 16 0 52 2 0 2 32 1 0 2 52 0 0 3 50)} "component-params" "component-has-children?" "create-fragment" {:upvalue-count 3 :arity 1 :constants ("dom-append" "render-to-dom") :bytecode (20 0 0 18 0 20 1 0 16 0 18 1 18 2 48 3 49 2 50)} "env-bind!" "children" "dom-create-element" "span" "dom-set-attr" "data-sx-island" "not" "empty-dict?" "data-sx-state" "sx-serialize" "mark-processed!" "island-hydrated" "with-island-scope" {:upvalue-count 1 :arity 1 :constants ("append!") :bytecode (18 0 16 0 52 0 0 2 50)} {:upvalue-count 3 :arity 0 :constants ("render-to-dom" "component-body") :bytecode (20 0 0 18 0 52 1 0 1 18 1 18 2 49 3 50)} "dom-append" "dom-set-data" "sx-disposers") :bytecode (52 0 0 0 17 4 52 1 0 0 17 5 51 3 0 1 1 1 2 1 4 1 5 1 4 0 1 5 0 1 6 0 4 52 0 0 4 16 1 52 2 0 3 5 16 0 52 8 0 1 16 2 52 7 0 2 17 6 16 0 52 9 0 1 17 7 51 11 0 1 6 1 4 16 0 52 12 0 1 52 10 0 2 5 16 0 52 13 0 1 33 37 0 20 14 0 48 0 17 8 51 15 0 1 8 1 2 1 3 16 5 52 10 0 2 5 16 6 1 17 0 16 8 52 16 0 3 32 1 0 2 5 20 18 0 1 19 0 2 48 2 17 8 52 1 0 0 17 9 20 20 0 16 8 1 21 0 16 7 48 3 5 16 4 52 23 0 1 52 22 0 1 33 19 0 20 20 0 16 8 1 24 0 16 4 52 25 0 1 48 3 32 1 0 2 5 20 26 0 16 8 1 27 0 48 2 5 20 28 0 51 29 0 1 9 51 30 0 1 0 1 6 1 3 48 2 17 10 20 31 0 16 8 16 10 48 2 5 20 32 0 16 8 1 33 0 16 9 48 3 5 16 8 50)} "render-dom-lake" {:upvalue-count 0 :arity 3 :constants ("div" "list" "reduce" {:upvalue-count 5 :arity 2 :constants ("get" "skip" "assoc" "i" "inc" "=" "type-of" "keyword" "<" "len" "keyword-name" "trampoline" "eval-expr" "nth" "id" "tag" "append!") :bytecode (16 0 1 1 0 52 0 0 2 17 2 16 2 33 29 0 16 0 1 1 0 4 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 183 0 16 1 52 6 0 1 1 7 0 52 5 0 2 6 33 24 0 5 16 0 1 3 0 52 0 0 2 52 4 0 1 18 0 52 9 0 1 52 8 0 2 33 108 0 16 1 52 10 0 1 17 3 18 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 13 0 2 18 1 52 12 0 2 52 11 0 1 17 4 16 3 1 14 0 52 5 0 2 33 7 0 16 4 19 2 32 20 0 16 3 1 15 0 52 5 0 2 33 7 0 16 4 19 3 32 1 0 2 5 16 0 1 1 0 3 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 31 0 18 4 16 1 52 16 0 2 5 16 0 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 3 50)} "dict" "i" 0 "skip" "hydrating?" "hydrate-next-node" "hydrate-enter-element" "dom-create-element" "dom-set-attr" "data-sx-lake" "" "for-each" {:upvalue-count 3 :arity 1 :constants ("render-to-dom" "not" "hydrating?" "nil?" "dom-parent" "dom-append") :bytecode (20 0 0 16 0 18 0 18 1 48 3 17 1 20 2 0 48 0 52 1 0 1 6 34 12 0 5 20 4 0 16 1 48 1 52 3 0 1 33 12 0 20 5 0 18 2 16 1 49 2 32 1 0 2 50)} "hydrate-exit-element") :bytecode (2 17 3 1 0 0 17 4 52 1 0 0 17 5 51 3 0 1 0 1 1 1 3 1 4 1 5 1 5 0 1 6 0 1 7 0 4 52 4 0 4 16 0 52 2 0 3 5 20 8 0 48 0 33 36 0 20 9 0 48 0 17 6 16 6 33 13 0 20 10 0 16 6 48 1 5 16 6 32 8 0 20 11 0 16 4 2 48 2 32 8 0 20 11 0 16 4 2 48 2 17 6 20 12 0 16 6 1 13 0 16 3 6 34 4 0 5 1 14 0 48 3 5 51 16 0 1 1 1 2 1 6 16 5 52 15 0 2 5 20 8 0 48 0 33 8 0 20 17 0 48 0 32 1 0 2 5 16 6 50)} "render-dom-marsh" {:upvalue-count 0 :arity 3 :constants ("div" "list" "reduce" {:upvalue-count 6 :arity 2 :constants ("get" "skip" "assoc" "i" "inc" "=" "type-of" "keyword" "<" "len" "keyword-name" "trampoline" "eval-expr" "nth" "id" "tag" "transform" "append!") :bytecode (16 0 1 1 0 52 0 0 2 17 2 16 2 33 29 0 16 0 1 1 0 4 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 202 0 16 1 52 6 0 1 1 7 0 52 5 0 2 6 33 24 0 5 16 0 1 3 0 52 0 0 2 52 4 0 1 18 0 52 9 0 1 52 8 0 2 33 127 0 16 1 52 10 0 1 17 3 18 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 13 0 2 18 1 52 12 0 2 52 11 0 1 17 4 16 3 1 14 0 52 5 0 2 33 7 0 16 4 19 2 32 39 0 16 3 1 15 0 52 5 0 2 33 7 0 16 4 19 3 32 20 0 16 3 1 16 0 52 5 0 2 33 7 0 16 4 19 4 32 1 0 2 5 16 0 1 1 0 3 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 31 0 18 5 16 1 52 17 0 2 5 16 0 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 3 50)} "dict" "i" 0 "skip" "hydrating?" "hydrate-next-node" "hydrate-enter-element" "dom-create-element" "dom-set-attr" "data-sx-marsh" "" "dom-set-data" "sx-marsh-transform" "sx-marsh-env" "for-each" {:upvalue-count 3 :arity 1 :constants ("render-to-dom" "not" "hydrating?" "nil?" "dom-parent" "dom-append") :bytecode (20 0 0 16 0 18 0 18 1 48 3 17 1 20 2 0 48 0 52 1 0 1 6 34 12 0 5 20 4 0 16 1 48 1 52 3 0 1 33 12 0 20 5 0 18 2 16 1 49 2 32 1 0 2 50)} "hydrate-exit-element") :bytecode (2 17 3 1 0 0 17 4 2 17 5 52 1 0 0 17 6 51 3 0 1 0 1 1 1 3 1 4 1 5 1 6 1 5 0 1 6 0 1 7 0 4 52 4 0 4 16 0 52 2 0 3 5 20 8 0 48 0 33 36 0 20 9 0 48 0 17 7 16 7 33 13 0 20 10 0 16 7 48 1 5 16 7 32 8 0 20 11 0 16 4 2 48 2 32 8 0 20 11 0 16 4 2 48 2 17 7 20 12 0 16 7 1 13 0 16 3 6 34 4 0 5 1 14 0 48 3 5 16 5 33 15 0 20 15 0 16 7 1 16 0 16 5 48 3 32 1 0 2 5 20 15 0 16 7 1 17 0 16 1 48 3 5 51 19 0 1 1 1 2 1 7 16 6 52 18 0 2 5 20 8 0 48 0 33 8 0 20 20 0 48 0 32 1 0 2 5 16 7 50)} "reactive-text" {:upvalue-count 0 :arity 1 :constants ("hydrating?" "hydrate-next-node" "create-text-node" "str" "deref" "effect" {:upvalue-count 2 :arity 0 :constants ("dom-set-text-content" "str" "deref") :bytecode (20 0 0 18 0 18 1 52 2 0 1 52 1 0 1 49 2 50)}) :bytecode (20 0 0 48 0 33 28 0 20 1 0 48 0 6 34 16 0 5 20 2 0 16 0 52 4 0 1 52 3 0 1 48 1 32 15 0 20 2 0 16 0 52 4 0 1 52 3 0 1 48 1 17 1 20 5 0 51 6 0 1 1 1 0 48 1 5 16 1 50)} "reactive-attr" {:upvalue-count 0 :arity 3 :constants ("dom-get-attr" "data-sx-reactive-attrs" "" "empty?" "str" "," "dom-set-attr" "effect" {:upvalue-count 3 :arity 0 :constants ("signal?" "deref" "nil?" "=" "dom-remove-attr" "dom-set-attr" "" "str") :bytecode (18 0 48 0 17 0 20 0 0 16 0 48 1 33 9 0 16 0 52 1 0 1 32 2 0 16 0 17 1 16 1 52 2 0 1 6 34 8 0 5 16 1 4 52 3 0 2 33 12 0 20 4 0 18 1 18 2 49 2 32 40 0 16 1 3 52 3 0 2 33 15 0 20 5 0 18 1 18 2 1 6 0 49 3 32 15 0 20 5 0 18 1 18 2 16 1 52 7 0 1 49 3 50)}) :bytecode (20 0 0 16 0 1 1 0 48 2 6 34 4 0 5 1 2 0 17 3 16 3 52 3 0 1 33 5 0 16 1 32 11 0 16 3 1 5 0 16 1 52 4 0 3 17 4 20 6 0 16 0 1 1 0 16 4 48 3 5 20 7 0 51 8 0 1 2 1 0 1 1 49 1 50)} "reactive-spread" {:upvalue-count 0 :arity 2 :constants ("list" "dom-get-attr" "data-sx-reactive-attrs" "" "dom-set-attr" "empty?" "_spread" "str" ",_spread" "effect" {:upvalue-count 4 :arity 0 :constants ("not" "empty?" "dom-get-attr" "class" "" "filter" {:upvalue-count 0 :arity 1 :constants ("not" "=" "") :bytecode (16 0 1 2 0 52 1 0 2 52 0 0 1 50)} "split" " " {:upvalue-count 1 :arity 1 :constants ("not" "some" {:upvalue-count 1 :arity 1 :constants ("=") :bytecode (16 0 18 0 52 0 0 2 50)}) :bytecode (51 2 0 1 0 18 0 52 1 0 2 52 0 0 1 50)} "dom-remove-attr" "dom-set-attr" "join" "for-each" {:upvalue-count 1 :arity 1 :constants ("dom-remove-attr") :bytecode (20 0 0 18 0 16 0 49 2 50)} "spread?" "spread-attrs" "dict-get" {:upvalue-count 0 :arity 1 :constants ("not" "=" "class") :bytecode (16 0 1 2 0 52 1 0 2 52 0 0 1 50)} "keys" "=" "str" {:upvalue-count 2 :arity 1 :constants ("dom-set-attr" "str" "dict-get") :bytecode (20 0 0 18 0 16 0 18 1 16 0 52 2 0 2 52 1 0 1 49 3 50)} "run-post-render-hooks" "list") :bytecode (18 0 52 1 0 1 52 0 0 1 33 95 0 20 2 0 18 1 1 3 0 48 2 6 34 4 0 5 1 4 0 17 0 51 6 0 16 0 1 8 0 52 7 0 2 52 5 0 2 17 1 51 9 0 0 0 16 1 52 5 0 2 17 2 16 2 52 1 0 1 33 13 0 20 10 0 18 1 1 3 0 48 2 32 19 0 20 11 0 18 1 1 3 0 1 8 0 16 2 52 12 0 2 48 3 32 1 0 2 5 51 14 0 0 1 18 2 52 13 0 2 5 18 3 48 0 17 0 16 0 52 15 0 1 33 179 0 16 0 52 16 0 1 17 1 16 1 1 3 0 52 17 0 2 6 34 4 0 5 1 4 0 17 2 51 6 0 16 2 1 8 0 52 7 0 2 52 5 0 2 17 3 51 18 0 16 1 52 19 0 1 52 5 0 2 17 4 16 3 19 0 5 16 4 19 2 5 16 3 52 1 0 1 52 0 0 1 33 72 0 20 2 0 18 1 1 3 0 48 2 6 34 4 0 5 1 4 0 17 5 20 11 0 18 1 1 3 0 16 5 6 33 14 0 5 16 5 1 4 0 52 20 0 2 52 0 0 1 33 14 0 16 5 1 8 0 16 2 52 21 0 3 32 2 0 16 2 48 3 32 1 0 2 5 51 22 0 0 1 1 1 16 4 52 13 0 2 5 20 23 0 49 0 32 13 0 52 24 0 0 19 0 5 52 24 0 0 19 2 50)}) :bytecode (52 0 0 0 17 2 52 0 0 0 17 3 20 1 0 16 0 1 2 0 48 2 6 34 4 0 5 1 3 0 17 4 20 4 0 16 0 1 2 0 16 4 52 5 0 1 33 6 0 1 6 0 32 9 0 16 4 1 8 0 52 7 0 2 48 3 5 20 9 0 51 10 0 1 2 1 0 1 3 1 1 49 1 50)} "reactive-fragment" {:upvalue-count 0 :arity 4 :constants ("create-comment" "island-fragment" "list" "effect" {:upvalue-count 4 :arity 0 :constants ("for-each" {:upvalue-count 0 :arity 1 :constants ("dom-remove") :bytecode (20 0 0 16 0 49 1 50)} "list" "dom-child-nodes" "dom-insert-after") :bytecode (51 1 0 18 0 52 0 0 2 5 52 2 0 0 19 0 5 18 1 48 0 33 28 0 18 2 48 0 17 0 20 3 0 16 0 48 1 19 0 5 20 4 0 18 3 16 0 49 2 32 1 0 2 50)}) :bytecode (20 0 0 1 1 0 48 1 17 4 52 2 0 0 17 5 20 3 0 51 4 0 1 5 1 0 1 1 1 4 48 1 5 16 4 50)} "render-list-item" {:upvalue-count 0 :arity 4 :constants ("lambda?" "render-lambda-dom" "list" "render-to-dom" "apply") :bytecode (16 0 52 0 0 1 33 20 0 20 1 0 16 0 16 1 52 2 0 1 16 2 16 3 49 4 32 21 0 20 3 0 16 0 16 1 52 2 0 1 52 4 0 2 16 2 16 3 49 3 50)} "extract-key" {:upvalue-count 0 :arity 2 :constants ("dom-get-attr" "key" "dom-remove-attr" "dom-get-data" "str" "__idx_") :bytecode (20 0 0 16 0 1 1 0 48 2 17 2 16 2 33 16 0 20 2 0 16 0 1 1 0 48 2 5 16 2 32 35 0 20 3 0 16 0 1 1 0 48 2 17 3 16 3 33 9 0 16 3 52 4 0 1 32 9 0 1 5 0 16 1 52 4 0 2 50)} "reactive-list" {:upvalue-count 0 :arity 4 :constants ("create-fragment" "create-comment" "island-list" "dict" "list" "dom-append" "effect" {:upvalue-count 8 :arity 0 :constants ("deref" "dom-parent" "dict" "list" "for-each-indexed" {:upvalue-count 7 :arity 2 :constants ("render-list-item" "extract-key" "not" "starts-with?" "__idx_" "dict-has?" "dict-set!" "dict-get" "append!") :bytecode (20 0 0 18 0 16 1 18 1 18 2 48 4 17 2 20 1 0 16 2 16 0 48 2 17 3 18 3 52 2 0 1 6 33 14 0 5 16 3 1 4 0 52 3 0 2 52 2 0 1 33 6 0 3 19 3 32 1 0 2 5 18 4 16 3 52 5 0 2 33 19 0 18 5 16 3 18 4 16 3 52 7 0 2 52 6 0 3 32 10 0 18 5 16 3 16 2 52 6 0 3 5 18 6 16 3 52 8 0 2 50)} "not" "dom-remove-children-after" "create-fragment" "for-each" {:upvalue-count 2 :arity 1 :constants ("dom-append" "dict-get") :bytecode (20 0 0 18 0 18 1 16 0 52 1 0 2 49 2 50)} "dom-insert-after" {:upvalue-count 2 :arity 1 :constants ("not" "dict-has?" "dom-remove" "dict-get") :bytecode (18 0 16 0 52 1 0 2 52 0 0 1 33 16 0 20 2 0 18 1 16 0 52 3 0 2 49 1 32 1 0 2 50)} {:upvalue-count 2 :arity 1 :constants ("dict-get" "dom-next-sibling" "not" "identical?" "dom-insert-after") :bytecode (18 0 16 0 52 0 0 2 17 1 20 1 0 18 1 48 1 17 2 16 1 16 2 52 3 0 2 52 2 0 1 33 12 0 20 4 0 18 1 16 1 48 2 32 1 0 2 5 16 1 19 1 50)} {:upvalue-count 6 :arity 2 :constants ("render-list-item" "extract-key" "dict-set!" "append!" "dom-append") :bytecode (20 0 0 18 0 16 1 18 1 18 2 48 4 17 2 20 1 0 16 2 16 0 48 2 17 3 18 3 16 3 16 2 52 2 0 3 5 18 4 16 3 52 3 0 2 5 20 4 0 18 5 16 2 49 2 50)}) :bytecode (18 0 52 0 0 1 17 0 20 1 0 18 1 48 1 33 133 0 52 2 0 0 17 1 52 3 0 0 17 2 4 17 3 51 5 0 0 2 0 3 0 4 1 3 0 5 1 1 1 2 16 0 52 4 0 2 5 16 3 52 6 0 1 33 41 0 20 7 0 18 1 48 1 5 20 8 0 48 0 17 4 51 10 0 1 4 1 1 16 2 52 9 0 2 5 20 11 0 18 1 16 4 48 2 32 31 0 51 12 0 1 1 0 5 18 6 52 9 0 2 5 18 1 17 4 51 13 0 1 1 1 4 16 2 52 9 0 2 5 16 1 19 5 5 16 2 19 6 32 21 0 51 14 0 0 2 0 3 0 4 0 5 0 6 0 7 16 0 52 4 0 2 50)}) :bytecode (20 0 0 48 0 17 4 20 1 0 1 2 0 48 1 17 5 52 3 0 0 17 6 52 4 0 0 17 7 20 5 0 16 4 16 5 48 2 5 20 6 0 51 7 0 1 1 1 5 1 0 1 2 1 3 1 6 1 7 1 4 48 1 5 16 4 50)} "bind-input" {:upvalue-count 0 :arity 2 :constants ("lower" "dom-get-attr" "type" "" "=" "checkbox" "radio" "dom-set-prop" "checked" "deref" "value" "str" "effect" {:upvalue-count 3 :arity 0 :constants ("dom-set-prop" "checked" "deref" "str" "!=" "dom-get-prop" "value") :bytecode (18 0 33 19 0 20 0 0 18 1 1 1 0 18 2 52 2 0 1 49 3 32 47 0 18 2 52 2 0 1 52 3 0 1 17 0 20 5 0 18 1 1 6 0 48 2 16 0 52 4 0 2 33 15 0 20 0 0 18 1 1 6 0 16 0 49 3 32 1 0 2 50)} "dom-on" "change" "input" {:upvalue-count 3 :arity 1 :constants ("reset!" "dom-get-prop" "checked" "value") :bytecode (18 0 33 20 0 20 0 0 18 1 20 1 0 18 2 1 2 0 48 2 49 2 32 17 0 20 0 0 18 1 20 1 0 18 2 1 3 0 48 2 49 2 50)}) :bytecode (20 1 0 16 0 1 2 0 48 2 6 34 4 0 5 1 3 0 52 0 0 1 17 2 16 2 1 5 0 52 4 0 2 6 34 10 0 5 16 2 1 6 0 52 4 0 2 17 3 16 3 33 19 0 20 7 0 16 0 1 8 0 16 1 52 9 0 1 48 3 32 20 0 20 7 0 16 0 1 10 0 16 1 52 9 0 1 52 11 0 1 48 3 5 20 12 0 51 13 0 1 3 1 0 1 1 48 1 5 20 14 0 16 0 16 3 33 6 0 1 15 0 32 3 0 1 16 0 51 17 0 1 3 1 1 1 0 49 3 50)} "*use-cek-reactive*" "enable-cek-reactive!" {:upvalue-count 0 :arity 0 :constants ("*use-cek-reactive*") :bytecode (3 21 0 0 50)} "cek-reactive-text" {:upvalue-count 0 :arity 2 :constants ("hydrating?" "hydrate-next-node" "create-text-node" "" {:upvalue-count 1 :arity 1 :constants ("dom-set-text-content" "str") :bytecode (20 0 0 18 0 16 0 52 1 0 1 49 2 50)} "cek-run" "make-cek-state" "list" "make-reactive-reset-frame" "dom-set-text-content" "str") :bytecode (20 0 0 48 0 33 21 0 20 1 0 48 0 6 34 9 0 5 20 2 0 1 3 0 48 1 32 8 0 20 2 0 1 3 0 48 1 17 2 51 4 0 1 2 17 3 20 5 0 20 6 0 16 0 16 1 20 8 0 16 1 16 3 3 48 3 52 7 0 1 48 3 48 1 17 4 20 9 0 16 2 16 4 52 10 0 1 48 2 5 16 2 50)} "cek-reactive-attr" {:upvalue-count 0 :arity 4 :constants ({:upvalue-count 2 :arity 1 :constants ("nil?" "=" "dom-remove-attr" "dom-set-attr" "" "str") :bytecode (16 0 52 0 0 1 6 34 8 0 5 16 0 4 52 1 0 2 33 12 0 20 2 0 18 0 18 1 49 2 32 40 0 16 0 3 52 1 0 2 33 15 0 20 3 0 18 0 18 1 1 4 0 49 3 32 15 0 20 3 0 18 0 18 1 16 0 52 5 0 1 49 3 50)} "dom-get-attr" "data-sx-reactive-attrs" "" "empty?" "str" "," "dom-set-attr" "cek-run" "make-cek-state" "list" "make-reactive-reset-frame" "cek-call") :bytecode (51 0 0 1 0 1 1 17 4 20 1 0 16 0 1 2 0 48 2 6 34 4 0 5 1 3 0 17 5 16 5 52 4 0 1 33 5 0 16 1 32 11 0 16 5 1 6 0 16 1 52 5 0 3 17 6 20 7 0 16 0 1 2 0 16 6 48 3 5 20 8 0 20 9 0 16 2 16 3 20 11 0 16 3 16 4 3 48 3 52 10 0 1 48 3 48 1 17 5 16 4 16 5 52 10 0 1 52 12 0 2 50)} "render-dom-portal" {:upvalue-count 0 :arity 3 :constants ("trampoline" "eval-expr" "first" "dom-query" "dom-ensure-element" "not" "create-comment" "str" "portal: " " (not found)" "create-fragment" "for-each" {:upvalue-count 3 :arity 1 :constants ("dom-append" "render-to-dom") :bytecode (20 0 0 18 0 20 1 0 16 0 18 1 18 2 48 3 49 2 50)} "rest" "dom-child-nodes" "dom-append" "register-in-scope" {:upvalue-count 1 :arity 0 :constants ("for-each" {:upvalue-count 0 :arity 1 :constants ("dom-remove") :bytecode (20 0 0 16 0 49 1 50)}) :bytecode (51 1 0 18 0 52 0 0 2 50)}) :bytecode (16 0 52 2 0 1 16 1 52 1 0 2 52 0 0 1 17 3 20 3 0 16 3 48 1 6 34 8 0 5 20 4 0 16 3 48 1 17 4 16 4 52 5 0 1 33 20 0 20 6 0 1 8 0 16 3 1 9 0 52 7 0 3 49 1 32 75 0 20 6 0 1 8 0 16 3 52 7 0 2 48 1 17 5 20 10 0 48 0 17 6 51 12 0 1 6 1 1 1 2 16 0 52 13 0 1 52 11 0 2 5 20 14 0 16 6 48 1 17 7 20 15 0 16 4 16 6 48 2 5 20 16 0 51 17 0 1 7 48 1 5 16 5 50)} "render-dom-error-boundary" {:upvalue-count 0 :arity 3 :constants (">" "len" 1 "first" "rest" "dom-create-element" "div" "signal" 0 "dom-set-attr" "data-sx-boundary" "true" "effect" {:upvalue-count 6 :arity 0 :constants ("deref" "dom-set-prop" "innerHTML" "" "scope-push!" "sx-island-scope" "try-catch" {:upvalue-count 4 :arity 0 :constants ("create-fragment" "for-each" {:upvalue-count 3 :arity 1 :constants ("dom-append" "render-to-dom") :bytecode (20 0 0 18 0 20 1 0 16 0 18 1 18 2 48 3 49 2 50)} "dom-append" "scope-pop!" "sx-island-scope") :bytecode (20 0 0 48 0 17 0 51 2 0 1 0 0 0 0 1 18 2 52 1 0 2 5 20 3 0 18 3 16 0 48 2 5 1 5 0 52 4 0 1 50)} {:upvalue-count 5 :arity 1 :constants ("scope-pop!" "sx-island-scope" "trampoline" "eval-expr" {:upvalue-count 1 :arity 0 :constants ("swap!" {:upvalue-count 0 :arity 1 :constants ("+" 1) :bytecode (16 0 1 1 0 52 0 0 2 50)}) :bytecode (20 0 0 18 0 51 1 0 49 2 50)} "nil?" "dom-create-element" "div" "dom-set-attr" "class" "sx-render-error" "style" "color:red;font-size:0.875rem;padding:0.5rem;border:1px solid red;border-radius:0.25rem;margin:0.5rem 0;" "dom-set-text-content" "str" "Render error: " "lambda?" "render-lambda-dom" "list" "render-to-dom" "apply" "dom-append") :bytecode (1 1 0 52 0 0 1 5 18 0 18 1 52 3 0 2 52 2 0 1 17 1 51 4 0 0 2 17 2 16 1 52 5 0 1 33 61 0 20 6 0 1 7 0 2 48 2 17 3 20 8 0 16 3 1 9 0 1 10 0 48 3 5 20 8 0 16 3 1 11 0 1 12 0 48 3 5 20 13 0 16 3 1 15 0 16 0 52 14 0 2 48 2 5 16 3 32 54 0 16 1 52 16 0 1 33 22 0 20 17 0 16 1 16 0 16 2 52 18 0 2 18 1 18 3 48 4 32 23 0 20 19 0 16 1 16 0 16 2 52 18 0 2 52 20 0 2 18 1 18 3 48 3 17 3 20 21 0 18 4 16 3 49 2 50)}) :bytecode (18 0 52 0 0 1 5 20 1 0 18 1 1 2 0 1 3 0 48 3 5 1 5 0 2 52 4 0 2 5 51 7 0 0 2 0 3 0 4 0 1 51 8 0 0 5 0 2 0 0 0 3 0 1 52 6 0 2 50)}) :bytecode (16 0 52 1 0 1 1 2 0 52 0 0 2 33 9 0 16 0 52 3 0 1 32 1 0 2 17 3 16 0 52 1 0 1 1 2 0 52 0 0 2 33 9 0 16 0 52 4 0 1 32 2 0 16 0 17 4 20 5 0 1 6 0 2 48 2 17 5 20 7 0 1 8 0 48 1 17 6 20 9 0 16 5 1 10 0 1 11 0 48 3 5 20 12 0 51 13 0 1 6 1 5 1 1 1 2 1 4 1 3 48 1 5 16 5 50)} {:library (web adapter-dom) :op "import"}) :bytecode (1 0 0 112 5 1 1 0 112 5 1 3 0 128 2 0 5 1 5 0 128 4 0 5 51 7 0 128 6 0 5 51 9 0 128 8 0 5 51 11 0 128 10 0 5 51 13 0 128 12 0 5 51 15 0 128 14 0 5 52 17 0 0 128 16 0 5 1 19 0 128 18 0 5 51 21 0 128 20 0 5 51 23 0 128 22 0 5 51 25 0 128 24 0 5 51 27 0 128 26 0 5 51 29 0 128 28 0 5 51 31 0 128 30 0 5 51 33 0 128 32 0 5 51 35 0 128 34 0 5 51 37 0 128 36 0 5 51 39 0 128 38 0 5 1 42 0 1 43 0 1 44 0 1 45 0 1 46 0 1 47 0 1 48 0 1 49 0 1 50 0 1 51 0 1 52 0 1 53 0 1 54 0 1 55 0 1 56 0 1 57 0 1 58 0 1 59 0 1 60 0 1 61 0 1 62 0 1 63 0 1 64 0 52 41 0 23 128 40 0 5 51 66 0 128 65 0 5 51 68 0 128 67 0 5 51 70 0 128 69 0 5 51 72 0 128 71 0 5 51 74 0 128 73 0 5 51 76 0 128 75 0 5 51 78 0 128 77 0 5 51 80 0 128 79 0 5 51 82 0 128 81 0 5 51 84 0 128 83 0 5 51 86 0 128 85 0 5 51 88 0 128 87 0 5 51 90 0 128 89 0 5 51 92 0 128 91 0 5 3 128 93 0 5 51 95 0 128 94 0 5 51 97 0 128 96 0 5 51 99 0 128 98 0 5 51 101 0 128 100 0 5 51 103 0 128 102 0 5 1 104 0 112 50))) + :constants ("SVG_NS" "http://www.w3.org/2000/svg" "MATH_NS" "http://www.w3.org/1998/Math/MathML" "island-scope?" {:upvalue-count 0 :arity 0 :constants ("not" "nil?" "scope-peek" "sx-island-scope") :bytecode (1 3 0 52 2 0 1 52 1 0 1 52 0 0 1 50)} "hydrating?" {:upvalue-count 0 :arity 0 :constants ("not" "nil?" "scope-peek" "sx-hydrating") :bytecode (1 3 0 52 2 0 1 52 1 0 1 52 0 0 1 50)} "hydrate-next-node" {:upvalue-count 0 :arity 0 :constants ("scope-peek" "sx-hydrating" "dict-get" "parent" "index" "host-call" "host-get" "childNodes" "item" "dict-set!" "+" 1) :bytecode (1 1 0 52 0 0 1 17 0 16 0 33 68 0 16 0 1 3 0 52 2 0 2 17 1 16 0 1 4 0 52 2 0 2 17 2 20 5 0 20 6 0 16 1 1 7 0 48 2 1 8 0 16 2 48 3 17 3 16 0 1 4 0 16 2 1 11 0 52 10 0 2 52 9 0 3 5 16 3 32 1 0 2 50)} "hydrate-enter-element" {:upvalue-count 0 :arity 1 :constants ("scope-push!" "sx-hydrating" "dict" "parent" "index" 0) :bytecode (1 1 0 1 3 0 16 0 1 4 0 1 5 0 52 2 0 4 52 0 0 2 50)} "hydrate-exit-element" {:upvalue-count 0 :arity 0 :constants ("scope-pop!" "sx-hydrating") :bytecode (1 1 0 52 0 0 1 50)} "*memo-cache*" "dict" "*cyst-counter*" 0 "next-cyst-id" {:upvalue-count 0 :arity 0 :constants ("+" "*cyst-counter*" 1 "str" "sx-cyst-") :bytecode (20 1 0 1 2 0 52 0 0 2 21 1 0 5 1 4 0 20 1 0 52 3 0 2 50)} "contains-deref?" {:upvalue-count 0 :arity 1 :constants ("not" "list?" "empty?" "=" "type-of" "first" "symbol" "symbol-name" "deref" "some" "contains-deref?") :bytecode (16 0 52 1 0 1 52 0 0 1 33 4 0 4 32 68 0 16 0 52 2 0 1 33 4 0 4 32 55 0 16 0 52 5 0 1 52 4 0 1 1 6 0 52 3 0 2 6 33 18 0 5 16 0 52 5 0 1 52 7 0 1 1 8 0 52 3 0 2 33 4 0 3 32 9 0 20 10 0 16 0 52 9 0 2 50)} "dom-on" {:upvalue-count 0 :arity 3 :constants ("dom-listen" "lambda?" "=" 0 "len" "lambda-params" {:upvalue-count 1 :arity 1 :constants ("trampoline" "call-lambda" "list" "run-post-render-hooks") :bytecode (18 0 52 2 0 0 52 1 0 2 52 0 0 1 5 20 3 0 49 0 50)} {:upvalue-count 1 :arity 1 :constants ("trampoline" "call-lambda" "list" "run-post-render-hooks") :bytecode (18 0 16 0 52 2 0 1 52 1 0 2 52 0 0 1 5 20 3 0 49 0 50)}) :bytecode (20 0 0 16 0 16 1 16 2 52 1 0 1 33 36 0 1 3 0 16 2 52 5 0 1 52 4 0 1 52 2 0 2 33 8 0 51 6 0 1 2 32 5 0 51 7 0 1 2 32 2 0 16 2 49 3 50)} "render-to-dom" {:upvalue-count 0 :arity 3 :constants ("set-render-active!" "type-of" "nil" "=" "create-fragment" "boolean" "raw-html" "dom-parse-html" "raw-html-content" "string" "hydrating?" "hydrate-next-node" "create-text-node" "number" "str" "symbol" "render-to-dom" "trampoline" "eval-expr" "keyword" "keyword-name" "dom-node" "spread" "not" "island-scope?" "scope-emit!" "element-attrs" "spread-attrs" "dict" "has-key?" "__host_handle" "list" "empty?" "render-dom-list" "signal?" "reactive-text" "deref") :bytecode (3 52 0 0 1 5 16 0 52 1 0 1 6 1 2 0 52 3 0 2 33 9 0 5 20 4 0 49 0 32 194 1 6 1 5 0 52 3 0 2 33 9 0 5 20 4 0 49 0 32 174 1 6 1 6 0 52 3 0 2 33 15 0 5 20 7 0 16 0 52 8 0 1 49 1 32 148 1 6 1 9 0 52 3 0 2 33 39 0 5 20 10 0 48 0 33 20 0 20 11 0 48 0 6 34 8 0 5 20 12 0 16 0 49 1 32 7 0 20 12 0 16 0 49 1 32 98 1 6 1 13 0 52 3 0 2 33 47 0 5 20 10 0 48 0 33 24 0 20 11 0 48 0 6 34 12 0 5 20 12 0 16 0 52 14 0 1 49 1 32 11 0 20 12 0 16 0 52 14 0 1 49 1 32 40 1 6 1 15 0 52 3 0 2 33 25 0 5 20 16 0 16 0 16 1 52 18 0 2 52 17 0 1 16 1 16 2 49 3 32 4 1 6 1 19 0 52 3 0 2 33 47 0 5 20 10 0 48 0 33 24 0 20 11 0 48 0 6 34 12 0 5 20 12 0 16 0 52 20 0 1 49 1 32 11 0 20 12 0 16 0 52 20 0 1 49 1 32 202 0 6 1 21 0 52 3 0 2 33 6 0 5 16 0 32 185 0 6 1 22 0 52 3 0 2 33 36 0 5 20 24 0 48 0 52 23 0 1 33 16 0 1 26 0 16 0 52 27 0 1 52 25 0 2 32 1 0 2 5 16 0 32 138 0 6 1 28 0 52 3 0 2 33 26 0 5 16 0 1 30 0 52 29 0 2 33 5 0 16 0 32 5 0 20 4 0 49 0 32 101 0 6 1 31 0 52 3 0 2 33 32 0 5 16 0 52 32 0 1 33 8 0 20 4 0 49 0 32 11 0 20 33 0 16 0 16 1 16 2 49 3 32 58 0 5 20 34 0 16 0 48 1 33 36 0 20 24 0 48 0 33 10 0 20 35 0 16 0 49 1 32 15 0 20 12 0 16 0 52 36 0 1 52 14 0 1 49 1 32 11 0 20 12 0 16 0 52 14 0 1 49 1 50)} "render-dom-list" {:upvalue-count 0 :arity 3 :constants ("first" "=" "type-of" "symbol" "symbol-name" "rest" "raw!" "render-dom-raw" "<>" "render-dom-fragment" "lake" "render-dom-lake" "marsh" "render-dom-marsh" "starts-with?" "html:" "render-dom-element" "slice" 5 "render-dom-form?" "contains?" "HTML_TAGS" ">" "len" 0 "keyword" "dispatch-render-form" "env-has?" "macro?" "env-get" "render-to-dom" "expand-macro" "~" "island?" "scope-peek" "sx-render-markers" "dom-create-element" "span" "dict" "reduce" {:upvalue-count 3 :arity 2 :constants ("get" "skip" "assoc" "i" "inc" "=" "type-of" "keyword" "<" "len" "keyword-name" "trampoline" "eval-expr" "nth" "dict-set!") :bytecode (16 0 1 1 0 52 0 0 2 17 2 16 2 33 29 0 16 0 1 1 0 4 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 145 0 16 1 52 6 0 1 1 7 0 52 5 0 2 6 33 24 0 5 16 0 1 3 0 52 0 0 2 52 4 0 1 18 0 52 9 0 1 52 8 0 2 33 79 0 16 1 52 10 0 1 17 3 18 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 13 0 2 18 1 52 12 0 2 52 11 0 1 17 4 18 2 16 3 16 4 52 14 0 3 5 16 0 1 1 0 3 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 22 0 16 0 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 3 50)} "i" "skip" "dom-set-attr" "data-sx-island" "component-name" "not" "empty-dict?" "data-sx-state" "sx-serialize" "render-dom-island" "component?" "render-dom-component" "render-dom-unknown-component" "index-of" "-" "deref" "island-scope?" "trampoline" "eval-expr" "signal?" "reactive-text" "create-text-node" "str" "contains-deref?" "computed" {:upvalue-count 2 :arity 0 :constants ("trampoline" "eval-expr") :bytecode (18 0 18 1 52 1 0 2 52 0 0 1 50)} "lambda?" "list" "create-fragment" "for-each" {:upvalue-count 3 :arity 1 :constants ("render-to-dom" "not" "spread?" "dom-append") :bytecode (20 0 0 16 0 18 0 18 1 48 3 17 1 16 1 52 2 0 1 52 1 0 1 33 12 0 20 3 0 18 2 16 1 49 2 32 1 0 2 50)}) :bytecode (16 0 52 0 0 1 17 3 16 3 52 2 0 1 1 3 0 52 1 0 2 33 52 3 16 3 52 4 0 1 17 4 16 0 52 5 0 1 17 5 16 4 1 6 0 52 1 0 2 33 12 0 20 7 0 16 5 16 1 49 2 32 9 3 16 4 1 8 0 52 1 0 2 33 14 0 20 9 0 16 5 16 1 16 2 49 3 32 239 2 16 4 1 10 0 52 1 0 2 33 14 0 20 11 0 16 5 16 1 16 2 49 3 32 213 2 16 4 1 12 0 52 1 0 2 33 14 0 20 13 0 16 5 16 1 16 2 49 3 32 187 2 16 4 1 15 0 52 14 0 2 33 23 0 20 16 0 16 4 1 18 0 52 17 0 2 16 5 16 1 16 2 49 4 32 152 2 20 19 0 16 4 48 1 33 91 0 20 21 0 16 4 52 20 0 2 6 33 43 0 5 16 5 52 23 0 1 1 24 0 52 22 0 2 6 33 18 0 5 16 5 52 0 0 1 52 2 0 1 1 25 0 52 1 0 2 6 34 3 0 5 16 2 33 16 0 20 16 0 16 4 16 5 16 1 16 2 49 4 32 13 0 20 26 0 16 4 16 0 16 1 16 2 49 4 32 51 2 16 1 16 4 52 27 0 2 6 33 13 0 5 16 1 16 4 52 29 0 2 52 28 0 1 33 28 0 20 30 0 16 1 16 4 52 29 0 2 16 5 16 1 52 31 0 3 16 1 16 2 49 3 32 251 1 20 21 0 16 4 52 20 0 2 33 16 0 20 16 0 16 4 16 5 16 1 16 2 49 4 32 223 1 16 4 1 32 0 52 14 0 2 6 33 26 0 5 16 1 16 4 52 27 0 2 6 33 13 0 5 16 1 16 4 52 29 0 2 52 33 0 1 33 145 0 1 35 0 52 34 0 1 33 113 0 16 1 16 4 52 29 0 2 17 6 20 36 0 1 37 0 2 48 2 17 7 52 38 0 0 17 8 51 40 0 1 5 1 1 1 8 1 41 0 1 24 0 1 42 0 4 52 38 0 4 16 5 52 39 0 3 5 20 43 0 16 7 1 44 0 16 6 52 45 0 1 48 3 5 16 8 52 47 0 1 52 46 0 1 33 19 0 20 43 0 16 7 1 48 0 16 8 52 49 0 1 48 3 32 1 0 2 5 16 7 32 19 0 20 50 0 16 1 16 4 52 29 0 2 16 5 16 1 16 2 49 4 32 36 1 16 4 1 32 0 52 14 0 2 33 45 0 16 1 16 4 52 29 0 2 17 6 16 6 52 51 0 1 33 16 0 20 52 0 16 6 16 5 16 1 16 2 49 4 32 7 0 20 53 0 16 4 49 1 32 235 0 16 4 1 55 0 52 54 0 2 1 24 0 52 22 0 2 6 33 36 0 5 16 5 52 23 0 1 1 24 0 52 22 0 2 6 33 18 0 5 16 5 52 0 0 1 52 2 0 1 1 25 0 52 1 0 2 33 16 0 20 16 0 16 4 16 5 16 1 16 2 49 4 32 160 0 16 2 33 16 0 20 16 0 16 4 16 5 16 1 16 2 49 4 32 139 0 16 4 1 56 0 52 1 0 2 6 33 6 0 5 20 57 0 48 0 33 56 0 16 5 52 0 0 1 16 1 52 59 0 2 52 58 0 1 17 6 20 60 0 16 6 48 1 33 10 0 20 61 0 16 6 49 1 32 15 0 20 62 0 16 6 52 56 0 1 52 63 0 1 49 1 32 61 0 20 57 0 48 0 6 33 8 0 5 20 64 0 16 0 48 1 33 20 0 20 61 0 20 65 0 51 66 0 1 0 1 1 48 1 49 1 32 21 0 20 30 0 16 0 16 1 52 59 0 2 52 58 0 1 16 1 16 2 49 3 32 76 0 16 3 52 67 0 1 6 34 14 0 5 16 3 52 2 0 1 1 68 0 52 1 0 2 33 24 0 20 30 0 16 0 16 1 52 59 0 2 52 58 0 1 16 1 16 2 49 3 32 25 0 20 69 0 48 0 17 4 51 71 0 1 1 1 2 1 4 16 0 52 70 0 2 5 16 4 50)} "render-dom-element" {:upvalue-count 0 :arity 4 :constants ("=" "svg" "SVG_NS" "math" "MATH_NS" "hydrating?" "hydrate-next-node" "lower" "host-get" "tagName" "" "hydrate-enter-element" "error" "str" "hydrate-mismatch:" "dom-create-element" "scope-push!" "element-attrs" "reduce" {:upvalue-count 5 :arity 2 :constants ("get" "skip" "assoc" "i" "inc" "=" "type-of" "keyword" "<" "len" "keyword-name" "nth" "starts-with?" "on-" "trampoline" "eval-expr" "callable?" "dom-on" "slice" 3 "bind" "signal?" "bind-input" "ref" "dict-set!" "current" "key" "dom-set-attr" "str" "island-scope?" "reactive-attr" {:upvalue-count 2 :arity 0 :constants ("trampoline" "eval-expr") :bytecode (18 0 18 1 52 1 0 2 52 0 0 1 50)} "nil?" "contains?" "BOOLEAN_ATTRS" "" "not" "VOID_ELEMENTS" "render-to-dom" "spread?" "reactive-spread" {:upvalue-count 3 :arity 0 :constants ("render-to-dom") :bytecode (20 0 0 18 0 18 1 18 2 49 3 50)} "hydrating?" "dom-parent" "dom-append") :bytecode (16 0 1 1 0 52 0 0 2 17 2 16 2 33 29 0 16 0 1 1 0 4 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 79 2 16 1 52 6 0 1 1 7 0 52 5 0 2 6 33 24 0 5 16 0 1 3 0 52 0 0 2 52 4 0 1 18 0 52 9 0 1 52 8 0 2 33 143 1 16 1 52 10 0 1 17 3 18 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 11 0 2 17 4 16 3 1 13 0 52 12 0 2 33 49 0 16 4 18 1 52 15 0 2 52 14 0 1 17 5 20 16 0 16 5 48 1 33 21 0 20 17 0 18 2 16 3 1 19 0 52 18 0 2 16 5 48 3 32 1 0 2 32 23 1 16 3 1 20 0 52 5 0 2 33 40 0 16 4 18 1 52 15 0 2 52 14 0 1 17 5 20 21 0 16 5 48 1 33 12 0 20 22 0 18 2 16 5 48 2 32 1 0 2 32 227 0 16 3 1 23 0 52 5 0 2 33 28 0 16 4 18 1 52 15 0 2 52 14 0 1 17 5 16 5 1 25 0 18 2 52 24 0 3 32 187 0 16 3 1 26 0 52 5 0 2 33 33 0 16 4 18 1 52 15 0 2 52 14 0 1 17 5 20 27 0 18 2 1 26 0 16 5 52 28 0 1 48 3 32 142 0 20 29 0 48 0 33 19 0 20 30 0 18 2 16 3 51 31 0 1 4 0 1 48 3 32 115 0 16 4 18 1 52 15 0 2 52 14 0 1 17 5 16 5 52 32 0 1 6 34 8 0 5 16 5 4 52 5 0 2 33 4 0 2 32 76 0 20 34 0 16 3 52 33 0 2 33 24 0 16 5 33 15 0 20 27 0 18 2 16 3 1 35 0 48 3 32 1 0 2 32 40 0 16 5 3 52 5 0 2 33 15 0 20 27 0 18 2 16 3 1 35 0 48 3 32 15 0 20 27 0 18 2 16 3 16 5 52 28 0 1 48 3 5 16 0 1 1 0 3 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 148 0 20 37 0 18 3 52 33 0 2 52 36 0 1 33 108 0 20 38 0 16 1 18 1 18 4 48 3 17 3 16 3 52 39 0 1 6 33 6 0 5 20 29 0 48 0 33 19 0 20 40 0 18 2 51 41 0 1 1 0 1 0 4 48 2 32 54 0 16 3 52 39 0 1 33 4 0 2 32 41 0 20 42 0 48 0 52 36 0 1 6 34 12 0 5 20 43 0 16 3 48 1 52 32 0 1 33 12 0 20 44 0 18 2 16 3 48 2 32 1 0 2 32 1 0 2 5 16 0 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 3 50)} "dict" "i" 0 "skip" "for-each" {:upvalue-count 1 :arity 1 :constants ("for-each" {:upvalue-count 2 :arity 1 :constants ("dict-get" "=" "class" "dom-get-attr" "dom-set-attr" "not" "" "str" " " "style" ";") :bytecode (18 0 16 0 52 0 0 2 17 1 16 0 1 2 0 52 1 0 2 33 64 0 20 3 0 18 1 1 2 0 48 2 17 2 20 4 0 18 1 1 2 0 16 2 6 33 14 0 5 16 2 1 6 0 52 1 0 2 52 5 0 1 33 14 0 16 2 1 8 0 16 1 52 7 0 3 32 2 0 16 1 49 3 32 91 0 16 0 1 9 0 52 1 0 2 33 64 0 20 3 0 18 1 1 9 0 48 2 17 2 20 4 0 18 1 1 9 0 16 2 6 33 14 0 5 16 2 1 6 0 52 1 0 2 52 5 0 1 33 14 0 16 2 1 10 0 16 1 52 7 0 3 32 2 0 16 1 49 3 32 15 0 20 4 0 18 1 16 0 16 1 52 7 0 1 49 3 50)} "keys") :bytecode (51 1 0 1 0 0 0 16 0 52 2 0 1 52 0 0 2 50)} "scope-emitted" "scope-pop!" "hydrate-exit-element") :bytecode (16 0 1 1 0 52 0 0 2 33 6 0 20 2 0 32 20 0 16 0 1 3 0 52 0 0 2 33 6 0 20 4 0 32 2 0 16 3 17 4 20 5 0 48 0 33 74 0 20 6 0 48 0 17 5 16 5 6 33 29 0 5 20 8 0 16 5 1 9 0 48 2 6 34 4 0 5 1 10 0 52 7 0 1 16 0 52 0 0 2 33 13 0 20 11 0 16 5 48 1 5 16 5 32 13 0 1 14 0 16 0 52 13 0 2 52 12 0 1 32 9 0 20 15 0 16 0 16 4 48 2 17 5 1 17 0 2 52 16 0 2 5 51 19 0 1 1 1 2 1 5 1 0 1 4 1 21 0 1 22 0 1 23 0 4 52 20 0 4 16 1 52 18 0 3 5 51 25 0 1 5 1 17 0 52 26 0 1 52 24 0 2 5 1 17 0 52 27 0 1 5 20 5 0 48 0 33 8 0 20 28 0 48 0 32 1 0 2 5 16 5 50)} "render-dom-component" {:upvalue-count 0 :arity 4 :constants ("dict" "list" "reduce" {:upvalue-count 4 :arity 2 :constants ("get" "skip" "assoc" "i" "inc" "=" "type-of" "keyword" "<" "len" "trampoline" "eval-expr" "nth" "dict-set!" "keyword-name" "append!") :bytecode (16 0 1 1 0 52 0 0 2 17 2 16 2 33 29 0 16 0 1 1 0 4 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 150 0 16 1 52 6 0 1 1 7 0 52 5 0 2 6 33 24 0 5 16 0 1 3 0 52 0 0 2 52 4 0 1 18 0 52 9 0 1 52 8 0 2 33 75 0 18 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 12 0 2 18 1 52 11 0 2 52 10 0 1 17 3 18 2 16 1 52 14 0 1 16 3 52 13 0 3 5 16 0 1 1 0 3 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 31 0 18 3 16 1 52 15 0 2 5 16 0 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 3 50)} "i" 0 "skip" "env-merge" "component-closure" "for-each" {:upvalue-count 2 :arity 1 :constants ("env-bind!" "dict-has?" "dict-get") :bytecode (18 0 16 0 18 1 16 0 52 1 0 2 33 11 0 18 1 16 0 52 2 0 2 32 1 0 2 52 0 0 3 50)} "component-params" "component-has-children?" "create-fragment" {:upvalue-count 3 :arity 1 :constants ("render-to-dom" "not" "spread?" "dom-append") :bytecode (20 0 0 16 0 18 0 18 1 48 3 17 1 16 1 52 2 0 1 52 1 0 1 33 12 0 20 3 0 18 2 16 1 49 2 32 1 0 2 50)} "env-bind!" "children" "render-to-dom" "component-body") :bytecode (52 0 0 0 17 4 52 1 0 0 17 5 51 3 0 1 1 1 2 1 4 1 5 1 4 0 1 5 0 1 6 0 4 52 0 0 4 16 1 52 2 0 3 5 16 0 52 8 0 1 16 2 52 7 0 2 17 6 51 10 0 1 6 1 4 16 0 52 11 0 1 52 9 0 2 5 16 0 52 12 0 1 33 37 0 20 13 0 48 0 17 7 51 14 0 1 2 1 3 1 7 16 5 52 9 0 2 5 16 6 1 16 0 16 7 52 15 0 3 32 1 0 2 5 20 17 0 16 0 52 18 0 1 16 6 16 3 49 3 50)} "render-dom-fragment" {:upvalue-count 0 :arity 3 :constants ("hydrating?" "create-fragment" "for-each" {:upvalue-count 3 :arity 1 :constants ("render-to-dom" "not" "spread?" "nil?" "dom-parent" "dom-append") :bytecode (20 0 0 16 0 18 0 18 1 48 3 17 1 16 1 52 2 0 1 52 1 0 1 6 33 12 0 5 20 4 0 16 1 48 1 52 3 0 1 33 12 0 20 5 0 18 2 16 1 49 2 32 1 0 2 50)} {:upvalue-count 3 :arity 1 :constants ("render-to-dom" "not" "spread?" "dom-append") :bytecode (20 0 0 16 0 18 0 18 1 48 3 17 1 16 1 52 2 0 1 52 1 0 1 33 12 0 20 3 0 18 2 16 1 49 2 32 1 0 2 50)}) :bytecode (20 0 0 48 0 33 28 0 20 1 0 48 0 17 3 51 3 0 1 1 1 2 1 3 16 0 52 2 0 2 5 16 3 32 25 0 20 1 0 48 0 17 3 51 4 0 1 1 1 2 1 3 16 0 52 2 0 2 5 16 3 50)} "render-dom-raw" {:upvalue-count 0 :arity 2 :constants ("create-fragment" "for-each" {:upvalue-count 2 :arity 1 :constants ("trampoline" "eval-expr" "=" "type-of" "string" "dom-append" "dom-parse-html" "dom-node" "dom-clone" "not" "nil?" "create-text-node" "str") :bytecode (16 0 18 0 52 1 0 2 52 0 0 1 17 1 16 1 52 3 0 1 1 4 0 52 2 0 2 33 17 0 20 5 0 18 1 20 6 0 16 1 48 1 49 2 32 68 0 16 1 52 3 0 1 1 7 0 52 2 0 2 33 17 0 20 5 0 18 1 20 8 0 16 1 48 1 49 2 32 35 0 16 1 52 10 0 1 52 9 0 1 33 21 0 20 5 0 18 1 20 11 0 16 1 52 12 0 1 48 1 49 2 32 1 0 2 50)}) :bytecode (20 0 0 48 0 17 2 51 2 0 1 1 1 2 16 0 52 1 0 2 5 16 2 50)} "render-dom-unknown-component" {:upvalue-count 0 :arity 1 :constants ("error" "str" "Unknown component: ") :bytecode (1 2 0 16 0 52 1 0 2 52 0 0 1 50)} "RENDER_DOM_FORMS" "list" "if" "when" "cond" "case" "let" "let*" "letrec" "begin" "do" "define" "defcomp" "defisland" "defmacro" "defstyle" "map" "map-indexed" "filter" "for-each" "portal" "error-boundary" "scope" "provide" "cyst" "render-dom-form?" {:upvalue-count 0 :arity 1 :constants ("contains?" "RENDER_DOM_FORMS") :bytecode (20 1 0 16 0 52 0 0 2 50)} "dispatch-render-form" {:upvalue-count 0 :arity 4 :constants ("=" "if" "island-scope?" "not" "hydrating?" "create-comment" "r-if" "list" "effect" {:upvalue-count 6 :arity 0 :constants ("trampoline" "eval-expr" "nth" 1 "render-to-dom" 2 ">" "len" 3 "create-fragment" "dom-parent" "for-each" {:upvalue-count 0 :arity 1 :constants ("dom-remove") :bytecode (20 0 0 16 0 49 1 50)} "dom-is-fragment?" "dom-child-nodes" "list" "dom-insert-after") :bytecode (18 0 1 3 0 52 2 0 2 18 1 52 1 0 2 52 0 0 1 17 0 16 0 33 21 0 20 4 0 18 0 1 5 0 52 2 0 2 18 1 18 2 48 3 32 42 0 18 0 52 7 0 1 1 8 0 52 6 0 2 33 21 0 20 4 0 18 0 1 8 0 52 2 0 2 18 1 18 2 48 3 32 5 0 20 9 0 48 0 17 0 20 10 0 18 3 48 1 33 51 0 51 12 0 18 4 52 11 0 2 5 20 13 0 16 0 48 1 33 10 0 20 14 0 16 0 48 1 32 6 0 16 0 52 15 0 1 19 4 5 20 16 0 18 3 16 0 49 2 32 4 0 16 0 19 5 50)} "nil?" "spread?" "dom-parent" "host-call" "insertBefore" "create-fragment" "dom-append" "dom-is-fragment?" "dom-child-nodes" "trampoline" "eval-expr" "nth" 1 "render-to-dom" 2 ">" "len" 3 "when" "r-when" {:upvalue-count 6 :arity 0 :constants ("dom-parent" "for-each" {:upvalue-count 0 :arity 1 :constants ("dom-remove") :bytecode (20 0 0 16 0 49 1 50)} "list" "trampoline" "eval-expr" "nth" 1 "create-fragment" {:upvalue-count 4 :arity 1 :constants ("dom-append" "render-to-dom" "nth") :bytecode (20 0 0 18 0 20 1 0 18 1 16 0 52 2 0 2 18 2 18 3 48 3 49 2 50)} "range" 2 "len" "dom-child-nodes" "dom-insert-after" "hydrating?" {:upvalue-count 4 :arity 1 :constants ("render-to-dom" "nth" "append!") :bytecode (20 0 0 18 0 16 0 52 1 0 2 18 1 18 2 48 3 17 1 18 3 16 1 52 2 0 2 50)} "first") :bytecode (20 0 0 18 0 48 1 33 101 0 51 2 0 18 1 52 1 0 2 5 52 3 0 0 19 1 5 18 2 1 7 0 52 6 0 2 18 3 52 5 0 2 52 4 0 1 33 58 0 20 8 0 48 0 17 0 51 9 0 1 0 0 2 0 3 0 4 1 11 0 18 2 52 12 0 1 52 10 0 2 52 1 0 2 5 20 13 0 16 0 48 1 19 1 5 20 14 0 18 0 16 0 49 2 32 1 0 2 32 135 0 18 2 1 7 0 52 6 0 2 18 3 52 5 0 2 52 4 0 1 33 112 0 20 15 0 48 0 33 51 0 52 3 0 0 17 0 51 16 0 0 2 0 3 0 4 1 0 1 11 0 18 2 52 12 0 1 52 10 0 2 52 1 0 2 5 16 0 19 1 5 16 0 52 17 0 1 19 5 32 50 0 20 8 0 48 0 17 0 51 9 0 1 0 0 2 0 3 0 4 1 11 0 18 2 52 12 0 1 52 10 0 2 52 1 0 2 5 20 13 0 16 0 48 1 19 1 5 16 0 19 5 32 1 0 2 50)} "for-each" {:upvalue-count 4 :arity 1 :constants ("dom-append" "render-to-dom" "nth") :bytecode (20 0 0 18 0 20 1 0 18 1 16 0 52 2 0 2 18 2 18 3 48 3 49 2 50)} "range" "cond" "r-cond" {:upvalue-count 6 :arity 0 :constants ("eval-cond" "rest" "dom-parent" "for-each" {:upvalue-count 0 :arity 1 :constants ("dom-remove") :bytecode (20 0 0 16 0 49 1 50)} "list" "render-to-dom" "dom-is-fragment?" "dom-child-nodes" "dom-insert-after") :bytecode (20 0 0 18 0 52 1 0 1 18 1 48 2 17 0 20 2 0 18 2 48 1 33 80 0 51 4 0 18 3 52 3 0 2 5 52 5 0 0 19 3 5 16 0 33 54 0 20 6 0 16 0 18 1 18 4 48 3 17 1 20 7 0 16 1 48 1 33 10 0 20 8 0 16 1 48 1 32 6 0 16 1 52 5 0 1 19 3 5 20 9 0 18 2 16 1 49 2 32 1 0 2 32 55 0 16 0 33 49 0 20 6 0 16 0 18 1 18 4 48 3 17 1 20 7 0 16 1 48 1 33 10 0 20 8 0 16 1 48 1 32 6 0 16 1 52 5 0 1 19 3 5 16 1 19 5 32 1 0 2 50)} "eval-cond" "rest" "case" "let" "let*" "process-bindings" {:upvalue-count 4 :arity 1 :constants ("render-to-dom" "nth" "not" "spread?" "dom-append") :bytecode (20 0 0 18 0 16 0 52 1 0 2 18 1 18 2 48 3 17 1 16 1 52 3 0 1 52 2 0 1 33 12 0 20 4 0 18 3 16 1 49 2 32 1 0 2 50)} "letrec" "slice" "env-extend" {:upvalue-count 1 :arity 1 :constants ("=" "type-of" "first" "symbol" "symbol-name" "str" "env-bind!") :bytecode (16 0 52 2 0 1 52 1 0 1 1 3 0 52 0 0 2 33 13 0 16 0 52 2 0 1 52 4 0 1 32 10 0 16 0 52 2 0 1 52 5 0 1 17 1 18 0 16 1 2 52 6 0 3 50)} {:upvalue-count 1 :arity 1 :constants ("=" "type-of" "first" "symbol" "symbol-name" "str" "env-set!" "trampoline" "eval-expr" "nth" 1) :bytecode (16 0 52 2 0 1 52 1 0 1 1 3 0 52 0 0 2 33 13 0 16 0 52 2 0 1 52 4 0 1 32 10 0 16 0 52 2 0 1 52 5 0 1 17 1 18 0 16 1 16 0 1 10 0 52 9 0 2 18 0 52 8 0 2 52 7 0 1 52 6 0 3 50)} {:upvalue-count 1 :arity 1 :constants ("trampoline" "eval-expr") :bytecode (16 0 18 0 52 1 0 2 52 0 0 1 50)} "init" "last" "begin" "do" "definition-form?" "map" "type-of" "first" "symbol" "symbol-name" "deref" "signal?" "reactive-list" {:upvalue-count 4 :arity 1 :constants ("lambda?" "render-lambda-dom" "list" "render-to-dom" "apply" "dom-append") :bytecode (18 0 52 0 0 1 33 20 0 20 1 0 18 0 16 0 52 2 0 1 18 1 18 2 48 4 32 21 0 20 3 0 18 0 16 0 52 2 0 1 52 4 0 2 18 1 18 2 48 3 17 1 20 5 0 18 3 16 1 49 2 50)} "map-indexed" "for-each-indexed" {:upvalue-count 4 :arity 2 :constants ("lambda?" "render-lambda-dom" "list" "render-to-dom" "apply" "dom-append") :bytecode (18 0 52 0 0 1 33 22 0 20 1 0 18 0 16 0 16 1 52 2 0 2 18 1 18 2 48 4 32 23 0 20 3 0 18 0 16 0 16 1 52 2 0 2 52 4 0 2 18 1 18 2 48 3 17 2 20 5 0 18 3 16 2 49 2 50)} "filter" "portal" "render-dom-portal" "error-boundary" "render-dom-error-boundary" "scope" ">=" "keyword" "keyword-name" "value" "scope-push!" {:upvalue-count 3 :arity 1 :constants ("dom-append" "render-to-dom") :bytecode (20 0 0 18 0 20 1 0 16 0 18 1 18 2 48 3 49 2 50)} "scope-pop!" "provide" "cyst" "key" "str" "next-cyst-id" "get" "*memo-cache*" "host-get" "isConnected" "dom-create-element" "div" "dom-set-attr" "data-sx-cyst" "with-island-scope" {:upvalue-count 1 :arity 1 :constants ("append!") :bytecode (18 0 16 0 52 0 0 2 50)} {:upvalue-count 3 :arity 0 :constants ("create-fragment" "for-each" {:upvalue-count 3 :arity 1 :constants ("dom-append" "render-to-dom") :bytecode (20 0 0 18 0 20 1 0 16 0 18 1 18 2 48 3 49 2 50)}) :bytecode (20 0 0 48 0 17 0 51 2 0 1 0 0 0 0 1 18 2 52 1 0 2 5 16 0 50)} "dom-set-data" "sx-disposers" "dict-set!") :bytecode (16 0 1 1 0 52 0 0 2 33 76 1 20 2 0 48 0 6 33 10 0 5 20 4 0 48 0 52 3 0 1 33 218 0 20 5 0 1 6 0 48 1 17 4 52 7 0 0 17 5 2 17 6 20 8 0 51 9 0 1 1 1 2 1 3 1 4 1 5 1 6 48 1 5 20 4 0 48 0 33 86 0 16 6 6 33 26 0 5 16 6 52 10 0 1 52 3 0 1 6 33 11 0 5 16 6 52 11 0 1 52 3 0 1 33 44 0 20 12 0 16 6 48 1 17 7 16 7 33 26 0 20 13 0 16 7 1 14 0 16 4 16 6 48 4 5 16 6 52 7 0 1 17 5 32 1 0 2 32 1 0 2 5 16 4 32 81 0 16 6 52 11 0 1 33 5 0 16 6 32 67 0 20 15 0 48 0 17 7 20 16 0 16 7 16 4 48 2 5 16 6 33 41 0 20 17 0 16 6 48 1 33 10 0 20 18 0 16 6 48 1 32 6 0 16 6 52 7 0 1 17 5 5 20 16 0 16 7 16 6 48 2 32 1 0 2 5 16 7 32 89 0 16 1 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 4 16 4 33 21 0 20 23 0 16 1 1 24 0 52 21 0 2 16 2 16 3 49 3 32 42 0 16 1 52 26 0 1 1 27 0 52 25 0 2 33 21 0 20 23 0 16 1 1 27 0 52 21 0 2 16 2 16 3 49 3 32 5 0 20 15 0 49 0 32 111 8 16 0 1 28 0 52 0 0 2 33 6 1 20 2 0 48 0 6 33 10 0 5 20 4 0 48 0 52 3 0 1 33 165 0 20 5 0 1 29 0 48 1 17 4 52 7 0 0 17 5 2 17 6 20 8 0 51 30 0 1 4 1 5 1 1 1 2 1 3 1 6 48 1 5 20 4 0 48 0 33 62 0 16 6 6 33 11 0 5 16 6 52 10 0 1 52 3 0 1 33 35 0 20 12 0 16 6 48 1 17 7 16 7 33 17 0 20 13 0 16 7 1 14 0 16 4 16 6 48 4 32 1 0 2 32 1 0 2 5 16 4 32 52 0 16 6 52 11 0 1 33 5 0 16 6 32 38 0 20 15 0 48 0 17 7 20 16 0 16 7 16 4 48 2 5 16 6 33 12 0 20 16 0 16 7 16 6 48 2 32 1 0 2 5 16 7 32 72 0 16 1 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 52 3 0 1 33 8 0 20 15 0 49 0 32 38 0 20 15 0 48 0 17 4 51 32 0 1 4 1 1 1 2 1 3 1 24 0 16 1 52 26 0 1 52 33 0 2 52 31 0 2 5 16 4 32 93 7 16 0 1 34 0 52 0 0 2 33 253 0 20 2 0 48 0 6 33 10 0 5 20 4 0 48 0 52 3 0 1 33 189 0 20 5 0 1 35 0 48 1 17 4 52 7 0 0 17 5 2 17 6 20 8 0 51 36 0 1 1 1 2 1 4 1 5 1 3 1 6 48 1 5 20 4 0 48 0 33 86 0 16 6 6 33 26 0 5 16 6 52 10 0 1 52 3 0 1 6 33 11 0 5 16 6 52 11 0 1 52 3 0 1 33 44 0 20 12 0 16 6 48 1 17 7 16 7 33 26 0 20 13 0 16 7 1 14 0 16 4 16 6 48 4 5 16 6 52 7 0 1 17 5 32 1 0 2 32 1 0 2 5 16 4 32 52 0 16 6 52 11 0 1 33 5 0 16 6 32 38 0 20 15 0 48 0 17 7 20 16 0 16 7 16 4 48 2 5 16 6 33 12 0 20 16 0 16 7 16 6 48 2 32 1 0 2 5 16 7 32 39 0 20 37 0 16 1 52 38 0 1 16 2 48 2 17 4 16 4 33 14 0 20 23 0 16 4 16 2 16 3 49 3 32 5 0 20 15 0 49 0 32 84 6 16 0 1 39 0 52 0 0 2 33 24 0 20 23 0 16 1 16 2 52 20 0 2 52 19 0 1 16 2 16 3 49 3 32 48 6 16 0 1 40 0 52 0 0 2 6 34 10 0 5 16 0 1 41 0 52 0 0 2 33 96 0 20 42 0 16 1 1 22 0 52 21 0 2 16 2 48 2 17 4 16 1 52 26 0 1 1 27 0 52 0 0 2 33 21 0 20 23 0 16 1 1 24 0 52 21 0 2 16 4 16 3 49 3 32 38 0 20 15 0 48 0 17 5 51 43 0 1 1 1 4 1 3 1 5 1 24 0 16 1 52 26 0 1 52 33 0 2 52 31 0 2 5 16 5 32 182 5 16 0 1 44 0 52 0 0 2 33 108 0 16 1 1 22 0 52 21 0 2 17 4 16 1 1 24 0 52 45 0 2 17 5 16 2 52 46 0 1 17 6 51 47 0 1 6 16 4 52 31 0 2 5 51 48 0 1 6 16 4 52 31 0 2 5 16 5 52 26 0 1 1 22 0 52 25 0 2 33 18 0 51 49 0 1 6 16 5 52 50 0 1 52 31 0 2 32 1 0 2 5 20 23 0 16 5 52 51 0 1 16 6 16 3 49 3 32 62 5 16 0 1 52 0 52 0 0 2 6 34 10 0 5 16 0 1 53 0 52 0 0 2 33 78 0 16 1 52 26 0 1 1 24 0 52 0 0 2 33 21 0 20 23 0 16 1 1 22 0 52 21 0 2 16 2 16 3 49 3 32 38 0 20 15 0 48 0 17 4 51 43 0 1 1 1 2 1 3 1 4 1 22 0 16 1 52 26 0 1 52 33 0 2 52 31 0 2 5 16 4 32 214 4 20 54 0 16 0 48 1 33 21 0 16 1 16 2 52 20 0 2 52 19 0 1 5 20 15 0 49 0 32 183 4 16 0 1 55 0 52 0 0 2 33 21 1 16 1 1 24 0 52 21 0 2 17 4 20 2 0 48 0 6 33 76 0 5 16 4 52 56 0 1 1 7 0 52 0 0 2 6 33 58 0 5 16 4 52 26 0 1 1 22 0 52 25 0 2 6 33 40 0 5 16 4 52 57 0 1 52 56 0 1 1 58 0 52 0 0 2 6 33 18 0 5 16 4 52 57 0 1 52 59 0 1 1 60 0 52 0 0 2 33 106 0 16 1 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 5 16 4 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 6 20 61 0 16 6 48 1 33 16 0 20 62 0 16 5 16 6 16 2 16 3 49 4 32 35 0 16 6 52 60 0 1 17 7 20 15 0 48 0 17 8 51 63 0 1 5 1 2 1 3 1 8 16 7 52 31 0 2 5 16 8 32 69 0 16 1 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 5 16 1 1 24 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 6 20 15 0 48 0 17 7 51 63 0 1 5 1 2 1 3 1 7 16 6 52 31 0 2 5 16 7 32 150 3 16 0 1 64 0 52 0 0 2 33 72 0 16 1 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 4 16 1 1 24 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 5 20 15 0 48 0 17 6 51 66 0 1 4 1 2 1 3 1 6 16 5 52 65 0 2 5 16 6 32 66 3 16 0 1 67 0 52 0 0 2 33 24 0 20 23 0 16 1 16 2 52 20 0 2 52 19 0 1 16 2 16 3 49 3 32 30 3 16 0 1 68 0 52 0 0 2 33 18 0 20 69 0 16 1 52 38 0 1 16 2 16 3 49 3 32 0 3 16 0 1 70 0 52 0 0 2 33 18 0 20 71 0 16 1 52 38 0 1 16 2 16 3 49 3 32 226 2 16 0 1 31 0 52 0 0 2 33 72 0 16 1 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 4 16 1 1 24 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 5 20 15 0 48 0 17 6 51 63 0 1 4 1 2 1 3 1 6 16 5 52 31 0 2 5 16 6 32 142 2 16 0 1 72 0 52 0 0 2 33 183 0 16 1 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 4 16 1 1 24 0 52 45 0 2 17 5 2 17 6 2 17 7 20 15 0 48 0 17 8 16 5 52 26 0 1 1 24 0 52 73 0 2 6 33 40 0 5 16 5 52 57 0 1 52 56 0 1 1 74 0 52 0 0 2 6 33 18 0 5 16 5 52 57 0 1 52 75 0 1 1 76 0 52 0 0 2 33 36 0 16 5 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 6 5 16 5 1 24 0 52 45 0 2 17 7 32 4 0 16 5 17 7 5 16 4 16 6 52 77 0 2 5 51 78 0 1 8 1 2 1 3 16 7 52 31 0 2 5 16 4 52 79 0 1 5 16 8 32 203 1 16 0 1 80 0 52 0 0 2 33 99 0 16 1 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 4 16 1 1 24 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 5 20 15 0 48 0 17 6 16 4 16 5 52 77 0 2 5 51 32 0 1 6 1 1 1 2 1 3 1 27 0 16 1 52 26 0 1 52 33 0 2 52 31 0 2 5 16 4 52 79 0 1 5 16 6 32 92 1 16 0 1 81 0 52 0 0 2 33 59 1 16 1 52 26 0 1 1 24 0 52 25 0 2 6 33 46 0 5 16 1 1 22 0 52 21 0 2 52 56 0 1 1 74 0 52 0 0 2 6 33 21 0 5 16 1 1 22 0 52 21 0 2 52 75 0 1 1 82 0 52 0 0 2 33 26 0 16 1 1 24 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 52 83 0 1 32 5 0 20 84 0 48 0 17 4 20 86 0 16 4 52 85 0 2 17 5 16 5 6 33 11 0 5 20 87 0 16 5 1 88 0 48 2 33 5 0 16 5 32 177 0 20 89 0 1 90 0 2 48 2 17 6 52 7 0 0 17 7 16 1 52 26 0 1 1 24 0 52 25 0 2 6 33 46 0 5 16 1 1 22 0 52 21 0 2 52 56 0 1 1 74 0 52 0 0 2 6 33 21 0 5 16 1 1 22 0 52 21 0 2 52 75 0 1 1 82 0 52 0 0 2 33 12 0 16 1 1 27 0 52 45 0 2 32 9 0 16 1 1 22 0 52 45 0 2 17 8 20 91 0 16 6 1 92 0 16 4 48 3 5 20 93 0 51 94 0 1 7 51 95 0 1 2 1 3 1 8 48 2 17 9 20 16 0 16 6 16 9 48 2 5 20 96 0 16 6 1 97 0 16 7 48 3 5 20 86 0 16 4 16 6 52 98 0 3 5 16 6 32 21 0 20 23 0 16 1 16 2 52 20 0 2 52 19 0 1 16 2 16 3 49 3 50)} "render-lambda-dom" {:upvalue-count 0 :arity 4 :constants ("env-merge" "lambda-closure" "for-each-indexed" {:upvalue-count 2 :arity 2 :constants ("env-bind!" "nth") :bytecode (18 0 16 1 18 1 16 0 52 1 0 2 52 0 0 3 50)} "lambda-params" "render-to-dom" "lambda-body") :bytecode (16 0 52 1 0 1 16 2 52 0 0 2 17 4 51 3 0 1 4 1 1 16 0 52 4 0 1 52 2 0 2 5 20 5 0 16 0 52 6 0 1 16 4 16 3 49 3 50)} "render-dom-island" {:upvalue-count 0 :arity 4 :constants ("dict" "list" "reduce" {:upvalue-count 4 :arity 2 :constants ("get" "skip" "assoc" "i" "inc" "=" "type-of" "keyword" "<" "len" "trampoline" "eval-expr" "nth" "dict-set!" "keyword-name" "append!") :bytecode (16 0 1 1 0 52 0 0 2 17 2 16 2 33 29 0 16 0 1 1 0 4 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 150 0 16 1 52 6 0 1 1 7 0 52 5 0 2 6 33 24 0 5 16 0 1 3 0 52 0 0 2 52 4 0 1 18 0 52 9 0 1 52 8 0 2 33 75 0 18 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 12 0 2 18 1 52 11 0 2 52 10 0 1 17 3 18 2 16 1 52 14 0 1 16 3 52 13 0 3 5 16 0 1 1 0 3 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 31 0 18 3 16 1 52 15 0 2 5 16 0 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 3 50)} "i" 0 "skip" "env-merge" "component-closure" "component-name" "for-each" {:upvalue-count 2 :arity 1 :constants ("env-bind!" "dict-has?" "dict-get") :bytecode (18 0 16 0 18 1 16 0 52 1 0 2 33 11 0 18 1 16 0 52 2 0 2 32 1 0 2 52 0 0 3 50)} "component-params" "component-has-children?" "create-fragment" {:upvalue-count 3 :arity 1 :constants ("dom-append" "render-to-dom") :bytecode (20 0 0 18 0 20 1 0 16 0 18 1 18 2 48 3 49 2 50)} "env-bind!" "children" "dom-create-element" "span" "dom-set-attr" "data-sx-island" "not" "empty-dict?" "data-sx-state" "sx-serialize" "mark-processed!" "island-hydrated" "with-island-scope" {:upvalue-count 1 :arity 1 :constants ("append!") :bytecode (18 0 16 0 52 0 0 2 50)} {:upvalue-count 3 :arity 0 :constants ("render-to-dom" "component-body") :bytecode (20 0 0 18 0 52 1 0 1 18 1 18 2 49 3 50)} "dom-append" "dom-set-data" "sx-disposers") :bytecode (52 0 0 0 17 4 52 1 0 0 17 5 51 3 0 1 1 1 2 1 4 1 5 1 4 0 1 5 0 1 6 0 4 52 0 0 4 16 1 52 2 0 3 5 16 0 52 8 0 1 16 2 52 7 0 2 17 6 16 0 52 9 0 1 17 7 51 11 0 1 6 1 4 16 0 52 12 0 1 52 10 0 2 5 16 0 52 13 0 1 33 37 0 20 14 0 48 0 17 8 51 15 0 1 8 1 2 1 3 16 5 52 10 0 2 5 16 6 1 17 0 16 8 52 16 0 3 32 1 0 2 5 20 18 0 1 19 0 2 48 2 17 8 52 1 0 0 17 9 20 20 0 16 8 1 21 0 16 7 48 3 5 16 4 52 23 0 1 52 22 0 1 33 19 0 20 20 0 16 8 1 24 0 16 4 52 25 0 1 48 3 32 1 0 2 5 20 26 0 16 8 1 27 0 48 2 5 20 28 0 51 29 0 1 9 51 30 0 1 0 1 6 1 3 48 2 17 10 20 31 0 16 8 16 10 48 2 5 20 32 0 16 8 1 33 0 16 9 48 3 5 16 8 50)} "render-dom-lake" {:upvalue-count 0 :arity 3 :constants ("div" "list" "reduce" {:upvalue-count 5 :arity 2 :constants ("get" "skip" "assoc" "i" "inc" "=" "type-of" "keyword" "<" "len" "keyword-name" "trampoline" "eval-expr" "nth" "id" "tag" "append!") :bytecode (16 0 1 1 0 52 0 0 2 17 2 16 2 33 29 0 16 0 1 1 0 4 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 183 0 16 1 52 6 0 1 1 7 0 52 5 0 2 6 33 24 0 5 16 0 1 3 0 52 0 0 2 52 4 0 1 18 0 52 9 0 1 52 8 0 2 33 108 0 16 1 52 10 0 1 17 3 18 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 13 0 2 18 1 52 12 0 2 52 11 0 1 17 4 16 3 1 14 0 52 5 0 2 33 7 0 16 4 19 2 32 20 0 16 3 1 15 0 52 5 0 2 33 7 0 16 4 19 3 32 1 0 2 5 16 0 1 1 0 3 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 31 0 18 4 16 1 52 16 0 2 5 16 0 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 3 50)} "dict" "i" 0 "skip" "hydrating?" "hydrate-next-node" "hydrate-enter-element" "dom-create-element" "dom-set-attr" "data-sx-lake" "" "for-each" {:upvalue-count 3 :arity 1 :constants ("render-to-dom" "not" "hydrating?" "nil?" "dom-parent" "dom-append") :bytecode (20 0 0 16 0 18 0 18 1 48 3 17 1 20 2 0 48 0 52 1 0 1 6 34 12 0 5 20 4 0 16 1 48 1 52 3 0 1 33 12 0 20 5 0 18 2 16 1 49 2 32 1 0 2 50)} "hydrate-exit-element") :bytecode (2 17 3 1 0 0 17 4 52 1 0 0 17 5 51 3 0 1 0 1 1 1 3 1 4 1 5 1 5 0 1 6 0 1 7 0 4 52 4 0 4 16 0 52 2 0 3 5 20 8 0 48 0 33 36 0 20 9 0 48 0 17 6 16 6 33 13 0 20 10 0 16 6 48 1 5 16 6 32 8 0 20 11 0 16 4 2 48 2 32 8 0 20 11 0 16 4 2 48 2 17 6 20 12 0 16 6 1 13 0 16 3 6 34 4 0 5 1 14 0 48 3 5 51 16 0 1 1 1 2 1 6 16 5 52 15 0 2 5 20 8 0 48 0 33 8 0 20 17 0 48 0 32 1 0 2 5 16 6 50)} "render-dom-marsh" {:upvalue-count 0 :arity 3 :constants ("div" "list" "reduce" {:upvalue-count 6 :arity 2 :constants ("get" "skip" "assoc" "i" "inc" "=" "type-of" "keyword" "<" "len" "keyword-name" "trampoline" "eval-expr" "nth" "id" "tag" "transform" "append!") :bytecode (16 0 1 1 0 52 0 0 2 17 2 16 2 33 29 0 16 0 1 1 0 4 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 202 0 16 1 52 6 0 1 1 7 0 52 5 0 2 6 33 24 0 5 16 0 1 3 0 52 0 0 2 52 4 0 1 18 0 52 9 0 1 52 8 0 2 33 127 0 16 1 52 10 0 1 17 3 18 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 13 0 2 18 1 52 12 0 2 52 11 0 1 17 4 16 3 1 14 0 52 5 0 2 33 7 0 16 4 19 2 32 39 0 16 3 1 15 0 52 5 0 2 33 7 0 16 4 19 3 32 20 0 16 3 1 16 0 52 5 0 2 33 7 0 16 4 19 4 32 1 0 2 5 16 0 1 1 0 3 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 31 0 18 5 16 1 52 17 0 2 5 16 0 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 3 50)} "dict" "i" 0 "skip" "hydrating?" "hydrate-next-node" "hydrate-enter-element" "dom-create-element" "dom-set-attr" "data-sx-marsh" "" "dom-set-data" "sx-marsh-transform" "sx-marsh-env" "for-each" {:upvalue-count 3 :arity 1 :constants ("render-to-dom" "not" "hydrating?" "nil?" "dom-parent" "dom-append") :bytecode (20 0 0 16 0 18 0 18 1 48 3 17 1 20 2 0 48 0 52 1 0 1 6 34 12 0 5 20 4 0 16 1 48 1 52 3 0 1 33 12 0 20 5 0 18 2 16 1 49 2 32 1 0 2 50)} "hydrate-exit-element") :bytecode (2 17 3 1 0 0 17 4 2 17 5 52 1 0 0 17 6 51 3 0 1 0 1 1 1 3 1 4 1 5 1 6 1 5 0 1 6 0 1 7 0 4 52 4 0 4 16 0 52 2 0 3 5 20 8 0 48 0 33 36 0 20 9 0 48 0 17 7 16 7 33 13 0 20 10 0 16 7 48 1 5 16 7 32 8 0 20 11 0 16 4 2 48 2 32 8 0 20 11 0 16 4 2 48 2 17 7 20 12 0 16 7 1 13 0 16 3 6 34 4 0 5 1 14 0 48 3 5 16 5 33 15 0 20 15 0 16 7 1 16 0 16 5 48 3 32 1 0 2 5 20 15 0 16 7 1 17 0 16 1 48 3 5 51 19 0 1 1 1 2 1 7 16 6 52 18 0 2 5 20 8 0 48 0 33 8 0 20 20 0 48 0 32 1 0 2 5 16 7 50)} "reactive-text" {:upvalue-count 0 :arity 1 :constants ("hydrating?" "hydrate-next-node" "create-text-node" "str" "deref" "effect" {:upvalue-count 2 :arity 0 :constants ("dom-set-text-content" "str" "deref") :bytecode (20 0 0 18 0 18 1 52 2 0 1 52 1 0 1 49 2 50)}) :bytecode (20 0 0 48 0 33 28 0 20 1 0 48 0 6 34 16 0 5 20 2 0 16 0 52 4 0 1 52 3 0 1 48 1 32 15 0 20 2 0 16 0 52 4 0 1 52 3 0 1 48 1 17 1 20 5 0 51 6 0 1 1 1 0 48 1 5 16 1 50)} "reactive-attr" {:upvalue-count 0 :arity 3 :constants ("dom-get-attr" "data-sx-reactive-attrs" "" "empty?" "str" "," "dom-set-attr" "effect" {:upvalue-count 3 :arity 0 :constants ("signal?" "deref" "nil?" "=" "dom-remove-attr" "dom-set-attr" "" "str") :bytecode (18 0 48 0 17 0 20 0 0 16 0 48 1 33 9 0 16 0 52 1 0 1 32 2 0 16 0 17 1 16 1 52 2 0 1 6 34 8 0 5 16 1 4 52 3 0 2 33 12 0 20 4 0 18 1 18 2 49 2 32 40 0 16 1 3 52 3 0 2 33 15 0 20 5 0 18 1 18 2 1 6 0 49 3 32 15 0 20 5 0 18 1 18 2 16 1 52 7 0 1 49 3 50)}) :bytecode (20 0 0 16 0 1 1 0 48 2 6 34 4 0 5 1 2 0 17 3 16 3 52 3 0 1 33 5 0 16 1 32 11 0 16 3 1 5 0 16 1 52 4 0 3 17 4 20 6 0 16 0 1 1 0 16 4 48 3 5 20 7 0 51 8 0 1 2 1 0 1 1 49 1 50)} "reactive-spread" {:upvalue-count 0 :arity 2 :constants ("list" "dom-get-attr" "data-sx-reactive-attrs" "" "dom-set-attr" "empty?" "_spread" "str" ",_spread" "effect" {:upvalue-count 4 :arity 0 :constants ("not" "empty?" "dom-get-attr" "class" "" "filter" {:upvalue-count 0 :arity 1 :constants ("not" "=" "") :bytecode (16 0 1 2 0 52 1 0 2 52 0 0 1 50)} "split" " " {:upvalue-count 1 :arity 1 :constants ("not" "some" {:upvalue-count 1 :arity 1 :constants ("=") :bytecode (16 0 18 0 52 0 0 2 50)}) :bytecode (51 2 0 1 0 18 0 52 1 0 2 52 0 0 1 50)} "dom-remove-attr" "dom-set-attr" "join" "for-each" {:upvalue-count 1 :arity 1 :constants ("dom-remove-attr") :bytecode (20 0 0 18 0 16 0 49 2 50)} "spread?" "spread-attrs" "dict-get" {:upvalue-count 0 :arity 1 :constants ("not" "=" "class") :bytecode (16 0 1 2 0 52 1 0 2 52 0 0 1 50)} "keys" "=" "str" {:upvalue-count 2 :arity 1 :constants ("dom-set-attr" "str" "dict-get") :bytecode (20 0 0 18 0 16 0 18 1 16 0 52 2 0 2 52 1 0 1 49 3 50)} "run-post-render-hooks" "list") :bytecode (18 0 52 1 0 1 52 0 0 1 33 95 0 20 2 0 18 1 1 3 0 48 2 6 34 4 0 5 1 4 0 17 0 51 6 0 16 0 1 8 0 52 7 0 2 52 5 0 2 17 1 51 9 0 0 0 16 1 52 5 0 2 17 2 16 2 52 1 0 1 33 13 0 20 10 0 18 1 1 3 0 48 2 32 19 0 20 11 0 18 1 1 3 0 1 8 0 16 2 52 12 0 2 48 3 32 1 0 2 5 51 14 0 0 1 18 2 52 13 0 2 5 18 3 48 0 17 0 16 0 52 15 0 1 33 179 0 16 0 52 16 0 1 17 1 16 1 1 3 0 52 17 0 2 6 34 4 0 5 1 4 0 17 2 51 6 0 16 2 1 8 0 52 7 0 2 52 5 0 2 17 3 51 18 0 16 1 52 19 0 1 52 5 0 2 17 4 16 3 19 0 5 16 4 19 2 5 16 3 52 1 0 1 52 0 0 1 33 72 0 20 2 0 18 1 1 3 0 48 2 6 34 4 0 5 1 4 0 17 5 20 11 0 18 1 1 3 0 16 5 6 33 14 0 5 16 5 1 4 0 52 20 0 2 52 0 0 1 33 14 0 16 5 1 8 0 16 2 52 21 0 3 32 2 0 16 2 48 3 32 1 0 2 5 51 22 0 0 1 1 1 16 4 52 13 0 2 5 20 23 0 49 0 32 13 0 52 24 0 0 19 0 5 52 24 0 0 19 2 50)}) :bytecode (52 0 0 0 17 2 52 0 0 0 17 3 20 1 0 16 0 1 2 0 48 2 6 34 4 0 5 1 3 0 17 4 20 4 0 16 0 1 2 0 16 4 52 5 0 1 33 6 0 1 6 0 32 9 0 16 4 1 8 0 52 7 0 2 48 3 5 20 9 0 51 10 0 1 2 1 0 1 3 1 1 49 1 50)} "reactive-fragment" {:upvalue-count 0 :arity 4 :constants ("create-comment" "island-fragment" "list" "effect" {:upvalue-count 4 :arity 0 :constants ("for-each" {:upvalue-count 0 :arity 1 :constants ("dom-remove") :bytecode (20 0 0 16 0 49 1 50)} "list" "dom-child-nodes" "dom-insert-after") :bytecode (51 1 0 18 0 52 0 0 2 5 52 2 0 0 19 0 5 18 1 48 0 33 28 0 18 2 48 0 17 0 20 3 0 16 0 48 1 19 0 5 20 4 0 18 3 16 0 49 2 32 1 0 2 50)}) :bytecode (20 0 0 1 1 0 48 1 17 4 52 2 0 0 17 5 20 3 0 51 4 0 1 5 1 0 1 1 1 4 48 1 5 16 4 50)} "render-list-item" {:upvalue-count 0 :arity 4 :constants ("lambda?" "render-lambda-dom" "list" "render-to-dom" "apply") :bytecode (16 0 52 0 0 1 33 20 0 20 1 0 16 0 16 1 52 2 0 1 16 2 16 3 49 4 32 21 0 20 3 0 16 0 16 1 52 2 0 1 52 4 0 2 16 2 16 3 49 3 50)} "extract-key" {:upvalue-count 0 :arity 2 :constants ("dom-get-attr" "key" "dom-remove-attr" "dom-get-data" "str" "__idx_") :bytecode (20 0 0 16 0 1 1 0 48 2 17 2 16 2 33 16 0 20 2 0 16 0 1 1 0 48 2 5 16 2 32 35 0 20 3 0 16 0 1 1 0 48 2 17 3 16 3 33 9 0 16 3 52 4 0 1 32 9 0 1 5 0 16 1 52 4 0 2 50)} "reactive-list" {:upvalue-count 0 :arity 4 :constants ("create-fragment" "create-comment" "island-list" "dict" "list" "dom-append" "effect" {:upvalue-count 8 :arity 0 :constants ("deref" "dom-parent" "dict" "list" "for-each-indexed" {:upvalue-count 7 :arity 2 :constants ("render-list-item" "extract-key" "not" "starts-with?" "__idx_" "dict-has?" "dict-set!" "dict-get" "append!") :bytecode (20 0 0 18 0 16 1 18 1 18 2 48 4 17 2 20 1 0 16 2 16 0 48 2 17 3 18 3 52 2 0 1 6 33 14 0 5 16 3 1 4 0 52 3 0 2 52 2 0 1 33 6 0 3 19 3 32 1 0 2 5 18 4 16 3 52 5 0 2 33 19 0 18 5 16 3 18 4 16 3 52 7 0 2 52 6 0 3 32 10 0 18 5 16 3 16 2 52 6 0 3 5 18 6 16 3 52 8 0 2 50)} "not" "dom-remove-children-after" "create-fragment" "for-each" {:upvalue-count 2 :arity 1 :constants ("dom-append" "dict-get") :bytecode (20 0 0 18 0 18 1 16 0 52 1 0 2 49 2 50)} "dom-insert-after" {:upvalue-count 2 :arity 1 :constants ("not" "dict-has?" "dom-remove" "dict-get") :bytecode (18 0 16 0 52 1 0 2 52 0 0 1 33 16 0 20 2 0 18 1 16 0 52 3 0 2 49 1 32 1 0 2 50)} {:upvalue-count 2 :arity 1 :constants ("dict-get" "dom-next-sibling" "not" "identical?" "dom-insert-after") :bytecode (18 0 16 0 52 0 0 2 17 1 20 1 0 18 1 48 1 17 2 16 1 16 2 52 3 0 2 52 2 0 1 33 12 0 20 4 0 18 1 16 1 48 2 32 1 0 2 5 16 1 19 1 50)} {:upvalue-count 6 :arity 2 :constants ("render-list-item" "extract-key" "dict-set!" "append!" "dom-append") :bytecode (20 0 0 18 0 16 1 18 1 18 2 48 4 17 2 20 1 0 16 2 16 0 48 2 17 3 18 3 16 3 16 2 52 2 0 3 5 18 4 16 3 52 3 0 2 5 20 4 0 18 5 16 2 49 2 50)}) :bytecode (18 0 52 0 0 1 17 0 20 1 0 18 1 48 1 33 133 0 52 2 0 0 17 1 52 3 0 0 17 2 4 17 3 51 5 0 0 2 0 3 0 4 1 3 0 5 1 1 1 2 16 0 52 4 0 2 5 16 3 52 6 0 1 33 41 0 20 7 0 18 1 48 1 5 20 8 0 48 0 17 4 51 10 0 1 4 1 1 16 2 52 9 0 2 5 20 11 0 18 1 16 4 48 2 32 31 0 51 12 0 1 1 0 5 18 6 52 9 0 2 5 18 1 17 4 51 13 0 1 1 1 4 16 2 52 9 0 2 5 16 1 19 5 5 16 2 19 6 32 21 0 51 14 0 0 2 0 3 0 4 0 5 0 6 0 7 16 0 52 4 0 2 50)}) :bytecode (20 0 0 48 0 17 4 20 1 0 1 2 0 48 1 17 5 52 3 0 0 17 6 52 4 0 0 17 7 20 5 0 16 4 16 5 48 2 5 20 6 0 51 7 0 1 1 1 5 1 0 1 2 1 3 1 6 1 7 1 4 48 1 5 16 4 50)} "bind-input" {:upvalue-count 0 :arity 2 :constants ("lower" "dom-get-attr" "type" "" "=" "checkbox" "radio" "dom-set-prop" "checked" "deref" "value" "str" "effect" {:upvalue-count 3 :arity 0 :constants ("dom-set-prop" "checked" "deref" "str" "!=" "dom-get-prop" "value") :bytecode (18 0 33 19 0 20 0 0 18 1 1 1 0 18 2 52 2 0 1 49 3 32 47 0 18 2 52 2 0 1 52 3 0 1 17 0 20 5 0 18 1 1 6 0 48 2 16 0 52 4 0 2 33 15 0 20 0 0 18 1 1 6 0 16 0 49 3 32 1 0 2 50)} "dom-on" "change" "input" {:upvalue-count 3 :arity 1 :constants ("reset!" "dom-get-prop" "checked" "value") :bytecode (18 0 33 20 0 20 0 0 18 1 20 1 0 18 2 1 2 0 48 2 49 2 32 17 0 20 0 0 18 1 20 1 0 18 2 1 3 0 48 2 49 2 50)}) :bytecode (20 1 0 16 0 1 2 0 48 2 6 34 4 0 5 1 3 0 52 0 0 1 17 2 16 2 1 5 0 52 4 0 2 6 34 10 0 5 16 2 1 6 0 52 4 0 2 17 3 16 3 33 19 0 20 7 0 16 0 1 8 0 16 1 52 9 0 1 48 3 32 20 0 20 7 0 16 0 1 10 0 16 1 52 9 0 1 52 11 0 1 48 3 5 20 12 0 51 13 0 1 3 1 0 1 1 48 1 5 20 14 0 16 0 16 3 33 6 0 1 15 0 32 3 0 1 16 0 51 17 0 1 3 1 1 1 0 49 3 50)} "*use-cek-reactive*" "enable-cek-reactive!" {:upvalue-count 0 :arity 0 :constants ("*use-cek-reactive*") :bytecode (3 21 0 0 50)} "cek-reactive-text" {:upvalue-count 0 :arity 2 :constants ("hydrating?" "hydrate-next-node" "create-text-node" "" {:upvalue-count 1 :arity 1 :constants ("dom-set-text-content" "str") :bytecode (20 0 0 18 0 16 0 52 1 0 1 49 2 50)} "cek-run" "make-cek-state" "list" "make-reactive-reset-frame" "dom-set-text-content" "str") :bytecode (20 0 0 48 0 33 21 0 20 1 0 48 0 6 34 9 0 5 20 2 0 1 3 0 48 1 32 8 0 20 2 0 1 3 0 48 1 17 2 51 4 0 1 2 17 3 20 5 0 20 6 0 16 0 16 1 20 8 0 16 1 16 3 3 48 3 52 7 0 1 48 3 48 1 17 4 20 9 0 16 2 16 4 52 10 0 1 48 2 5 16 2 50)} "cek-reactive-attr" {:upvalue-count 0 :arity 4 :constants ({:upvalue-count 2 :arity 1 :constants ("nil?" "=" "dom-remove-attr" "dom-set-attr" "" "str") :bytecode (16 0 52 0 0 1 6 34 8 0 5 16 0 4 52 1 0 2 33 12 0 20 2 0 18 0 18 1 49 2 32 40 0 16 0 3 52 1 0 2 33 15 0 20 3 0 18 0 18 1 1 4 0 49 3 32 15 0 20 3 0 18 0 18 1 16 0 52 5 0 1 49 3 50)} "dom-get-attr" "data-sx-reactive-attrs" "" "empty?" "str" "," "dom-set-attr" "cek-run" "make-cek-state" "list" "make-reactive-reset-frame" "cek-call") :bytecode (51 0 0 1 0 1 1 17 4 20 1 0 16 0 1 2 0 48 2 6 34 4 0 5 1 3 0 17 5 16 5 52 4 0 1 33 5 0 16 1 32 11 0 16 5 1 6 0 16 1 52 5 0 3 17 6 20 7 0 16 0 1 2 0 16 6 48 3 5 20 8 0 20 9 0 16 2 16 3 20 11 0 16 3 16 4 3 48 3 52 10 0 1 48 3 48 1 17 5 16 4 16 5 52 10 0 1 52 12 0 2 50)} "render-dom-portal" {:upvalue-count 0 :arity 3 :constants ("trampoline" "eval-expr" "first" "dom-query" "dom-ensure-element" "not" "create-comment" "str" "portal: " " (not found)" "create-fragment" "for-each" {:upvalue-count 3 :arity 1 :constants ("dom-append" "render-to-dom") :bytecode (20 0 0 18 0 20 1 0 16 0 18 1 18 2 48 3 49 2 50)} "rest" "dom-child-nodes" "dom-append" "register-in-scope" {:upvalue-count 1 :arity 0 :constants ("for-each" {:upvalue-count 0 :arity 1 :constants ("dom-remove") :bytecode (20 0 0 16 0 49 1 50)}) :bytecode (51 1 0 18 0 52 0 0 2 50)}) :bytecode (16 0 52 2 0 1 16 1 52 1 0 2 52 0 0 1 17 3 20 3 0 16 3 48 1 6 34 8 0 5 20 4 0 16 3 48 1 17 4 16 4 52 5 0 1 33 20 0 20 6 0 1 8 0 16 3 1 9 0 52 7 0 3 49 1 32 75 0 20 6 0 1 8 0 16 3 52 7 0 2 48 1 17 5 20 10 0 48 0 17 6 51 12 0 1 6 1 1 1 2 16 0 52 13 0 1 52 11 0 2 5 20 14 0 16 6 48 1 17 7 20 15 0 16 4 16 6 48 2 5 20 16 0 51 17 0 1 7 48 1 5 16 5 50)} "render-dom-error-boundary" {:upvalue-count 0 :arity 3 :constants (">" "len" 1 "first" "rest" "dom-create-element" "div" "signal" 0 "dom-set-attr" "data-sx-boundary" "true" "effect" {:upvalue-count 6 :arity 0 :constants ("deref" "dom-set-prop" "innerHTML" "" "scope-push!" "sx-island-scope" "try-catch" {:upvalue-count 4 :arity 0 :constants ("create-fragment" "for-each" {:upvalue-count 3 :arity 1 :constants ("dom-append" "render-to-dom") :bytecode (20 0 0 18 0 20 1 0 16 0 18 1 18 2 48 3 49 2 50)} "dom-append" "scope-pop!" "sx-island-scope") :bytecode (20 0 0 48 0 17 0 51 2 0 1 0 0 0 0 1 18 2 52 1 0 2 5 20 3 0 18 3 16 0 48 2 5 1 5 0 52 4 0 1 50)} {:upvalue-count 5 :arity 1 :constants ("scope-pop!" "sx-island-scope" "trampoline" "eval-expr" {:upvalue-count 1 :arity 0 :constants ("swap!" {:upvalue-count 0 :arity 1 :constants ("+" 1) :bytecode (16 0 1 1 0 52 0 0 2 50)}) :bytecode (20 0 0 18 0 51 1 0 49 2 50)} "nil?" "dom-create-element" "div" "dom-set-attr" "class" "sx-render-error" "style" "color:red;font-size:0.875rem;padding:0.5rem;border:1px solid red;border-radius:0.25rem;margin:0.5rem 0;" "dom-set-text-content" "str" "Render error: " "lambda?" "render-lambda-dom" "list" "render-to-dom" "apply" "dom-append") :bytecode (1 1 0 52 0 0 1 5 18 0 18 1 52 3 0 2 52 2 0 1 17 1 51 4 0 0 2 17 2 16 1 52 5 0 1 33 61 0 20 6 0 1 7 0 2 48 2 17 3 20 8 0 16 3 1 9 0 1 10 0 48 3 5 20 8 0 16 3 1 11 0 1 12 0 48 3 5 20 13 0 16 3 1 15 0 16 0 52 14 0 2 48 2 5 16 3 32 54 0 16 1 52 16 0 1 33 22 0 20 17 0 16 1 16 0 16 2 52 18 0 2 18 1 18 3 48 4 32 23 0 20 19 0 16 1 16 0 16 2 52 18 0 2 52 20 0 2 18 1 18 3 48 3 17 3 20 21 0 18 4 16 3 49 2 50)}) :bytecode (18 0 52 0 0 1 5 20 1 0 18 1 1 2 0 1 3 0 48 3 5 1 5 0 2 52 4 0 2 5 51 7 0 0 2 0 3 0 4 0 1 51 8 0 0 5 0 2 0 0 0 3 0 1 52 6 0 2 50)}) :bytecode (16 0 52 1 0 1 1 2 0 52 0 0 2 33 9 0 16 0 52 3 0 1 32 1 0 2 17 3 16 0 52 1 0 1 1 2 0 52 0 0 2 33 9 0 16 0 52 4 0 1 32 2 0 16 0 17 4 20 5 0 1 6 0 2 48 2 17 5 20 7 0 1 8 0 48 1 17 6 20 9 0 16 5 1 10 0 1 11 0 48 3 5 20 12 0 51 13 0 1 6 1 5 1 1 1 2 1 4 1 3 48 1 5 16 5 50)} {:library (web adapter-dom) :op "import"}) :bytecode (1 1 0 128 0 0 5 1 3 0 128 2 0 5 51 5 0 128 4 0 5 51 7 0 128 6 0 5 51 9 0 128 8 0 5 51 11 0 128 10 0 5 51 13 0 128 12 0 5 52 15 0 0 128 14 0 5 1 17 0 128 16 0 5 51 19 0 128 18 0 5 51 21 0 128 20 0 5 51 23 0 128 22 0 5 51 25 0 128 24 0 5 51 27 0 128 26 0 5 51 29 0 128 28 0 5 51 31 0 128 30 0 5 51 33 0 128 32 0 5 51 35 0 128 34 0 5 51 37 0 128 36 0 5 1 40 0 1 41 0 1 42 0 1 43 0 1 44 0 1 45 0 1 46 0 1 47 0 1 48 0 1 49 0 1 50 0 1 51 0 1 52 0 1 53 0 1 54 0 1 55 0 1 56 0 1 57 0 1 58 0 1 59 0 1 60 0 1 61 0 1 62 0 52 39 0 23 128 38 0 5 51 64 0 128 63 0 5 51 66 0 128 65 0 5 51 68 0 128 67 0 5 51 70 0 128 69 0 5 51 72 0 128 71 0 5 51 74 0 128 73 0 5 51 76 0 128 75 0 5 51 78 0 128 77 0 5 51 80 0 128 79 0 5 51 82 0 128 81 0 5 51 84 0 128 83 0 5 51 86 0 128 85 0 5 51 88 0 128 87 0 5 51 90 0 128 89 0 5 3 128 91 0 5 51 93 0 128 92 0 5 51 95 0 128 94 0 5 51 97 0 128 96 0 5 51 99 0 128 98 0 5 51 101 0 128 100 0 5 1 102 0 112 50))) diff --git a/shared/static/wasm/sx/adapter-html.sxbc b/shared/static/wasm/sx/adapter-html.sxbc index 2d878979..dfa19d75 100644 --- a/shared/static/wasm/sx/adapter-html.sxbc +++ b/shared/static/wasm/sx/adapter-html.sxbc @@ -1,3 +1,3 @@ (sxbc 1 "f9327868ed83a255" (code - :constants ({:library (sx render) :op "import"} "render-to-html" {:upvalue-count 0 :arity 2 :constants ("set-render-active!" "type-of" "nil" "=" "" "string" "escape-html" "number" "str" "boolean" "true" "false" "list" "empty?" "render-list-to-html" "symbol" "render-value-to-html" "trampoline" "eval-expr" "keyword" "keyword-name" "raw-html" "raw-html-content" "spread" "scope-emit!" "element-attrs" "spread-attrs" "thunk" "render-to-html" "thunk-expr" "thunk-env") :bytecode (3 52 0 0 1 5 16 0 52 1 0 1 6 1 2 0 52 3 0 2 33 7 0 5 1 4 0 32 20 1 6 1 5 0 52 3 0 2 33 11 0 5 20 6 0 16 0 49 1 32 254 0 6 1 7 0 52 3 0 2 33 10 0 5 16 0 52 8 0 1 32 233 0 6 1 9 0 52 3 0 2 33 18 0 5 16 0 33 6 0 1 10 0 32 3 0 1 11 0 32 204 0 6 1 12 0 52 3 0 2 33 28 0 5 16 0 52 13 0 1 33 6 0 1 4 0 32 9 0 20 14 0 16 0 16 1 49 2 32 165 0 6 1 15 0 52 3 0 2 33 23 0 5 20 16 0 16 0 16 1 52 18 0 2 52 17 0 1 16 1 49 2 32 131 0 6 1 19 0 52 3 0 2 33 15 0 5 20 6 0 16 0 52 20 0 1 49 1 32 105 0 6 1 21 0 52 3 0 2 33 10 0 5 16 0 52 22 0 1 32 84 0 6 1 23 0 52 3 0 2 33 21 0 5 1 25 0 16 0 52 26 0 1 52 24 0 2 5 1 4 0 32 52 0 6 1 27 0 52 3 0 2 33 21 0 5 20 28 0 16 0 52 29 0 1 16 0 52 30 0 1 49 2 32 20 0 5 20 16 0 16 0 16 1 52 18 0 2 52 17 0 1 16 1 49 2 50)} "render-value-to-html" {:upvalue-count 0 :arity 2 :constants ("type-of" "nil" "=" "" "string" "escape-html" "number" "str" "boolean" "true" "false" "list" "render-list-to-html" "raw-html" "raw-html-content" "spread" "scope-emit!" "element-attrs" "spread-attrs" "thunk" "render-to-html" "thunk-expr" "thunk-env") :bytecode (16 0 52 0 0 1 6 1 1 0 52 2 0 2 33 7 0 5 1 3 0 32 193 0 6 1 4 0 52 2 0 2 33 11 0 5 20 5 0 16 0 49 1 32 171 0 6 1 6 0 52 2 0 2 33 10 0 5 16 0 52 7 0 1 32 150 0 6 1 8 0 52 2 0 2 33 18 0 5 16 0 33 6 0 1 9 0 32 3 0 1 10 0 32 121 0 6 1 11 0 52 2 0 2 33 13 0 5 20 12 0 16 0 16 1 49 2 32 97 0 6 1 13 0 52 2 0 2 33 10 0 5 16 0 52 14 0 1 32 76 0 6 1 15 0 52 2 0 2 33 21 0 5 1 17 0 16 0 52 18 0 1 52 16 0 2 5 1 3 0 32 44 0 6 1 19 0 52 2 0 2 33 21 0 5 20 20 0 16 0 52 21 0 1 16 0 52 22 0 1 49 2 32 12 0 5 20 5 0 16 0 52 7 0 1 49 1 50)} "RENDER_HTML_FORMS" "list" "if" "when" "cond" "case" "let" "let*" "letrec" "begin" "do" "define" "defcomp" "defisland" "defmacro" "defstyle" "deftype" "defeffect" "map" "map-indexed" "filter" "for-each" "scope" "provide" "render-html-form?" {:upvalue-count 0 :arity 1 :constants ("contains?" "RENDER_HTML_FORMS") :bytecode (20 1 0 16 0 52 0 0 2 50)} "render-list-to-html" {:upvalue-count 0 :arity 2 :constants ("empty?" "" "first" "not" "=" "type-of" "symbol" "join" "map" {:upvalue-count 1 :arity 1 :constants ("render-value-to-html") :bytecode (20 0 0 16 0 18 0 49 2 50)} "symbol-name" "rest" "<>" {:upvalue-count 1 :arity 1 :constants ("render-to-html") :bytecode (20 0 0 16 0 18 0 49 2 50)} "raw!" {:upvalue-count 1 :arity 1 :constants ("str" "trampoline" "eval-expr") :bytecode (16 0 18 0 52 2 0 2 52 1 0 1 52 0 0 1 50)} "lake" "render-html-lake" "marsh" "render-html-marsh" "error-boundary" ">" "len" 1 "str" "