@spikonado/sprocket 0.4.1 → 0.4.2-dev.02fc9dc2d79e46c3c09452a06a474419eaa2b309
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -11
- package/THIRD_PARTY_NOTICES.md +14 -0
- package/lib/launcher.js +96 -46
- package/lib/native.js +57 -0
- package/lib/update.js +40 -15
- package/package.json +6 -6
- package/web/_app/immutable/abap-CLvhMVsD.js.map +1 -0
- package/web/_app/immutable/actionscript-3-Cs6JJXT5.js.map +1 -0
- package/web/_app/immutable/ada-X3Y2mlq2.js.map +1 -0
- package/web/_app/immutable/ahk-DwADkxyd.js.map +1 -0
- package/web/_app/immutable/ahk2-_6rzW9BS.js.map +1 -0
- package/web/_app/immutable/{angular-html-4GjfXERL.js → angular-html-C20omHsE.js} +1 -1
- package/web/_app/immutable/angular-html-C20omHsE.js.map +1 -0
- package/web/_app/immutable/{angular-ts-CMIe06P5.js → angular-ts-DzF16VU8.js} +1 -1
- package/web/_app/immutable/angular-ts-DzF16VU8.js.map +1 -0
- package/web/_app/immutable/apache-U0d_L8uA.js.map +1 -0
- package/web/_app/immutable/apex-KFGFyKwG.js.map +1 -0
- package/web/_app/immutable/{apl-C_n2qsRM.js → apl-Bopwo-P_.js} +1 -1
- package/web/_app/immutable/apl-Bopwo-P_.js.map +1 -0
- package/web/_app/immutable/apl-vYhFydlg.js +3 -0
- package/web/_app/immutable/applescript-CCn79oCD.js.map +1 -0
- package/web/_app/immutable/ara-4CJ0cIlV.js.map +1 -0
- package/web/_app/immutable/asciiarmor-DCBYa2tp.js +3 -0
- package/web/_app/immutable/asciidoc-SCjQUq34.js.map +1 -0
- package/web/_app/immutable/asm-Cmm7eHzH.js.map +1 -0
- package/web/_app/immutable/asn1-Bas95q3J.js +3 -0
- package/web/_app/immutable/asterisk-CsJLI-NR.js +3 -0
- package/web/_app/immutable/{astro-DVbyChwj.js → astro-CYomU0N_.js} +1 -1
- package/web/_app/immutable/astro-CYomU0N_.js.map +1 -0
- package/web/_app/immutable/awk-BWXHIvNe.js.map +1 -0
- package/web/_app/immutable/ballerina-B7ZEbQpA.js.map +1 -0
- package/web/_app/immutable/bat-qdxAdBWQ.js.map +1 -0
- package/web/_app/immutable/beancount-C2IN4Vk8.js.map +1 -0
- package/web/_app/immutable/berry-DKpUyyne.js.map +1 -0
- package/web/_app/immutable/bibtex-Ci_nEsc7.js.map +1 -0
- package/web/_app/immutable/bicep-CUHmPFLl.js.map +1 -0
- package/web/_app/immutable/bird2-CYIUgYqB.js.map +1 -0
- package/web/_app/immutable/{blade-fXxNj9V7.js → blade-CHAXU93U.js} +1 -1
- package/web/_app/immutable/blade-CHAXU93U.js.map +1 -0
- package/web/_app/immutable/brainfuck-DLuLnEAh.js +3 -0
- package/web/_app/immutable/bsl-CVED6lJ1.js.map +1 -0
- package/web/_app/immutable/{c-BN2Efy0k.js → c-Vn6ejSG8.js} +1 -1
- package/web/_app/immutable/c-Vn6ejSG8.js.map +1 -0
- package/web/_app/immutable/c3-D0apG41V.js.map +1 -0
- package/web/_app/immutable/cadence-CQ2zXKGN.js.map +1 -0
- package/web/_app/immutable/cairo-DRAZz75c.js.map +1 -0
- package/web/_app/immutable/{chapel-BRkNuByD.js → chapel-DmTJmwJp.js} +1 -1
- package/web/_app/immutable/chapel-DmTJmwJp.js.map +1 -0
- package/web/_app/immutable/clarity-CtfBBspg.js.map +1 -0
- package/web/_app/immutable/clike-DzspJR9S.js +3 -0
- package/web/_app/immutable/clojure-DqKBuwfJ.js.map +1 -0
- package/web/_app/immutable/clojure-Dy37zAqd.js +3 -0
- package/web/_app/immutable/cmake-BGw5hFRZ.js +3 -0
- package/web/_app/immutable/cmake-Bj61d0ZC.js.map +1 -0
- package/web/_app/immutable/{cobol-C5lGhzFi.js → cobol-twYq0nKG.js} +1 -1
- package/web/_app/immutable/cobol-twYq0nKG.js.map +1 -0
- package/web/_app/immutable/cobol-ye9kVT0H.js +3 -0
- package/web/_app/immutable/{code-highlighting-client-Kw4BuD-0.js → code-highlighting-client-B49f6036.js} +3 -1
- package/web/_app/immutable/{code-highlighting-worker-DggeS8YA.js → code-highlighting-worker-CrdU_PI0.js} +4 -4
- package/web/_app/immutable/code-highlighting-worker-CrdU_PI0.js.map +1 -0
- package/web/_app/immutable/codeowners-C8r90Shi.js.map +1 -0
- package/web/_app/immutable/codeql-oeQT6MSM.js.map +1 -0
- package/web/_app/immutable/{coffee-B6MzRpQ_.js → coffee-CM7N7KyB.js} +1 -1
- package/web/_app/immutable/coffee-CM7N7KyB.js.map +1 -0
- package/web/_app/immutable/coffeescript-CK3UxEqD.js +3 -0
- package/web/_app/immutable/common-lisp-Cv5bFMCO.js.map +1 -0
- package/web/_app/immutable/commonlisp-BE8q3z8X.js +3 -0
- package/web/_app/immutable/coq-CGaSfhwR.js.map +1 -0
- package/web/_app/immutable/{cpp-DEVtvotx.js → cpp-Di9GpqBY.js} +1 -1
- package/web/_app/immutable/cpp-Di9GpqBY.js.map +1 -0
- package/web/_app/immutable/{crystal-DY2QsCJ5.js → crystal-8NOnHfUA.js} +1 -1
- package/web/_app/immutable/crystal-8NOnHfUA.js.map +1 -0
- package/web/_app/immutable/crystal-BDFVhi9s.js +3 -0
- package/web/_app/immutable/csharp-dmMxLVLW.js.map +1 -0
- package/web/_app/immutable/css-BCbDR73T.js +3 -0
- package/web/_app/immutable/{css-ButQfvJ9.js → css-ndguaaOL.js} +1 -1
- package/web/_app/immutable/css-ndguaaOL.js.map +1 -0
- package/web/_app/immutable/csv-Dx-8-gkx.js.map +1 -0
- package/web/_app/immutable/cue-CE9AQfxI.js.map +1 -0
- package/web/_app/immutable/cypher-ClKdZ_lG.js.map +1 -0
- package/web/_app/immutable/cypher-Dvegnmz1.js +3 -0
- package/web/_app/immutable/d-DhwqpDdf.js +3 -0
- package/web/_app/immutable/d-qD-0Kul2.js.map +1 -0
- package/web/_app/immutable/dart-CHZY9Xhz.js.map +1 -0
- package/web/_app/immutable/dax-BkyTk9wS.js.map +1 -0
- package/web/_app/immutable/desktop-Dlh5hvp9.js.map +1 -0
- package/web/_app/immutable/diff-B5Qrgcb3.js +3 -0
- package/web/_app/immutable/diff-woXpYk--.js.map +1 -0
- package/web/_app/immutable/dist--MLqQFXt.js +3 -0
- package/web/_app/immutable/dist-1yLmienu.js +3 -0
- package/web/_app/immutable/dist-78iavZk3.js +3 -0
- package/web/_app/immutable/dist-B3Fpa5Ve.js +4 -0
- package/web/_app/immutable/dist-B7VGqWK0.js +3 -0
- package/web/_app/immutable/dist-BMCTN_lK.js +3 -0
- package/web/_app/immutable/dist-BONZbstq.js +3 -0
- package/web/_app/immutable/dist-C1IPIIxn.js +3 -0
- package/web/_app/immutable/dist-C6BbBYxw.js +3 -0
- package/web/_app/immutable/dist-C6kYfwAF.js +3 -0
- package/web/_app/immutable/dist-CNyAw8fE.js +3 -0
- package/web/_app/immutable/dist-COE-3YM9.js +3 -0
- package/web/_app/immutable/dist-CWDkt__u.js +3 -0
- package/web/_app/immutable/dist-DOp_0BK2.js +3 -0
- package/web/_app/immutable/dist-DVHWauuI.js +3 -0
- package/web/_app/immutable/dist-DY4U1AfU.js +25 -0
- package/web/_app/immutable/dist-KKOKPvqO.js +3 -0
- package/web/_app/immutable/dist-Sj1KNvbj.js +11 -0
- package/web/_app/immutable/dist-TOWQsSO1.js +8 -0
- package/web/_app/immutable/dist-ketgEX4Z.js +3 -0
- package/web/_app/immutable/dist-lUfVaCXc.js +3 -0
- package/web/_app/immutable/dist-sVUcyQ5y.js +13 -0
- package/web/_app/immutable/docker-IyjqRm3v.js.map +1 -0
- package/web/_app/immutable/dockerfile-B6C8X34G.js +3 -0
- package/web/_app/immutable/dotenv-CuH5my32.js.map +1 -0
- package/web/_app/immutable/dream-maker-DW3nJb8Q.js.map +1 -0
- package/web/_app/immutable/dtd-DCJNKMPA.js +3 -0
- package/web/_app/immutable/dylan-D9EpjADR.js +3 -0
- package/web/_app/immutable/ebnf-DXPxSf-I.js +3 -0
- package/web/_app/immutable/ecl-DNNiFJuf.js +3 -0
- package/web/_app/immutable/{edge-CUJd9T1a.js → edge-CZbv_n-U.js} +1 -1
- package/web/_app/immutable/edge-CZbv_n-U.js.map +1 -0
- package/web/_app/immutable/eiffel-D6Sz7A_6.js +3 -0
- package/web/_app/immutable/{elixir-DIdSb3yA.js → elixir-Cefx1i8D.js} +1 -1
- package/web/_app/immutable/elixir-Cefx1i8D.js.map +1 -0
- package/web/_app/immutable/{elm-M8_LX84X.js → elm-CNDuIlIO.js} +1 -1
- package/web/_app/immutable/elm-CNDuIlIO.js.map +1 -0
- package/web/_app/immutable/elm-DSb2AX57.js +3 -0
- package/web/_app/immutable/emacs-lisp-DR2vtWaj.js.map +1 -0
- package/web/_app/immutable/{erb-zGFWLWtt.js → erb-Cscw6dKF.js} +1 -1
- package/web/_app/immutable/erb-Cscw6dKF.js.map +1 -0
- package/web/_app/immutable/erlang-BHgDZVdK.js +3 -0
- package/web/_app/immutable/erlang-BXdgHVfi.js.map +1 -0
- package/web/_app/immutable/factor-BSe6Tvcx.js +3 -0
- package/web/_app/immutable/fcl-BfPMbGNz.js +3 -0
- package/web/_app/immutable/fennel-DQxkIbk2.js.map +1 -0
- package/web/_app/immutable/fish-BJitypiv.js.map +1 -0
- package/web/_app/immutable/fluent-C03EYrpw.js.map +1 -0
- package/web/_app/immutable/forth-Cu0tYmRZ.js +3 -0
- package/web/_app/immutable/fortran-BoLK5P-n.js +3 -0
- package/web/_app/immutable/fortran-fixed-form-D6mN0kjy.js.map +1 -0
- package/web/_app/immutable/fortran-free-form-CYNrtFtB.js.map +1 -0
- package/web/_app/immutable/fsharp-CwoEF39o.js.map +1 -0
- package/web/_app/immutable/gas-CmEKrWji.js +3 -0
- package/web/_app/immutable/gdresource-CZkFGo3B.js.map +1 -0
- package/web/_app/immutable/gdscript-DYvRD3hg.js.map +1 -0
- package/web/_app/immutable/gdshader-CBce3t8t.js.map +1 -0
- package/web/_app/immutable/genie-CV2tkWYe.js.map +1 -0
- package/web/_app/immutable/gherkin-DExj1W_8.js.map +1 -0
- package/web/_app/immutable/gherkin-Ix-Plbio.js +3 -0
- package/web/_app/immutable/git-commit-dUGrvm6Q.js.map +1 -0
- package/web/_app/immutable/{git-rebase-CC2D0L3b.js → git-rebase-pzmKr7TV.js} +1 -1
- package/web/_app/immutable/git-rebase-pzmKr7TV.js.map +1 -0
- package/web/_app/immutable/github-dark-C-LZuMrd.js.map +1 -0
- package/web/_app/immutable/github-light-EUqPIrTm.js.map +1 -0
- package/web/_app/immutable/gleam-CSRkHgEL.js.map +1 -0
- package/web/_app/immutable/{glimmer-js-BcY5kv6g.js → glimmer-js-D70IowcQ.js} +1 -1
- package/web/_app/immutable/glimmer-js-D70IowcQ.js.map +1 -0
- package/web/_app/immutable/{glimmer-ts-Di8deFFz.js → glimmer-ts-DB1_b6V0.js} +1 -1
- package/web/_app/immutable/glimmer-ts-DB1_b6V0.js.map +1 -0
- package/web/_app/immutable/{glsl-BRJcCqLP.js → glsl-Dnd6Jfn4.js} +1 -1
- package/web/_app/immutable/glsl-Dnd6Jfn4.js.map +1 -0
- package/web/_app/immutable/gn-CAXYAgV-.js.map +1 -0
- package/web/_app/immutable/gnuplot-7GGW24-e.js.map +1 -0
- package/web/_app/immutable/go-rLFTqkRN.js.map +1 -0
- package/web/_app/immutable/{graphql-C_JO00Ae.js → graphql-Bh8CEOJ1.js} +1 -1
- package/web/_app/immutable/graphql-Bh8CEOJ1.js.map +1 -0
- package/web/_app/immutable/groovy-B6zCvYTr.js +3 -0
- package/web/_app/immutable/groovy-CacY0gHj.js.map +1 -0
- package/web/_app/immutable/{hack-G3VVQMXb.js → hack-CDyPjqmy.js} +1 -1
- package/web/_app/immutable/hack-CDyPjqmy.js.map +1 -0
- package/web/_app/immutable/{haml-D2MeFmBN.js → haml-DgPyDh2c.js} +1 -1
- package/web/_app/immutable/haml-DgPyDh2c.js.map +1 -0
- package/web/_app/immutable/{handlebars-D90wEzz2.js → handlebars-DY59w9Zt.js} +1 -1
- package/web/_app/immutable/handlebars-DY59w9Zt.js.map +1 -0
- package/web/_app/immutable/haskell-D8IpX4py.js.map +1 -0
- package/web/_app/immutable/haskell-DpWLXbve.js +3 -0
- package/web/_app/immutable/haxe-C8oCnwJJ.js.map +1 -0
- package/web/_app/immutable/haxe-CZCmwfn0.js +3 -0
- package/web/_app/immutable/hcl-Dh228itO.js.map +1 -0
- package/web/_app/immutable/hjson-CxZEssPk.js.map +1 -0
- package/web/_app/immutable/hlsl-Cvrh5tZx.js.map +1 -0
- package/web/_app/immutable/{html-Bh1WMhz0.js → html-D9VLXeeS.js} +1 -1
- package/web/_app/immutable/html-D9VLXeeS.js.map +1 -0
- package/web/_app/immutable/{html-derivative-PuQZwSU6.js → html-derivative-CoBDi6W1.js} +1 -1
- package/web/_app/immutable/html-derivative-CoBDi6W1.js.map +1 -0
- package/web/_app/immutable/{http-Ca96onGD.js → http-Bcrx42oV.js} +1 -1
- package/web/_app/immutable/http-Bcrx42oV.js.map +1 -0
- package/web/_app/immutable/http-Br4spSi3.js +3 -0
- package/web/_app/immutable/{hurl-B6pjbC8I.js → hurl-CoCTOBkn.js} +1 -1
- package/web/_app/immutable/hurl-CoCTOBkn.js.map +1 -0
- package/web/_app/immutable/hxml-D7Y24wKF.js.map +1 -0
- package/web/_app/immutable/hy-CZbG8q4J.js.map +1 -0
- package/web/_app/immutable/idl-CdnmVGIB.js +3 -0
- package/web/_app/immutable/imba-DsUTQ-LC.js.map +1 -0
- package/web/_app/immutable/index-DU_wSVkk.css +1 -0
- package/web/_app/immutable/index-DudS1yVD.js +1945 -0
- package/web/_app/immutable/ini-B5eOa1yu.js.map +1 -0
- package/web/_app/immutable/{java-arvjb7dT.js → java-DOksgUAN.js} +1 -1
- package/web/_app/immutable/java-DOksgUAN.js.map +1 -0
- package/web/_app/immutable/{javascript-BZ1jt5sy.js → javascript-B4fHYqKG.js} +1 -1
- package/web/_app/immutable/javascript-B4fHYqKG.js.map +1 -0
- package/web/_app/immutable/javascript-DHjjXwtk.js +3 -0
- package/web/_app/immutable/{jinja-CpnHkcj3.js → jinja-DlPpy45a.js} +1 -1
- package/web/_app/immutable/jinja-DlPpy45a.js.map +1 -0
- package/web/_app/immutable/{jison-BPHKadT3.js → jison-B6gNEleR.js} +1 -1
- package/web/_app/immutable/jison-B6gNEleR.js.map +1 -0
- package/web/_app/immutable/{json-DSjaFVfj.js → json-CYwPJhCu.js} +1 -1
- package/web/_app/immutable/json-CYwPJhCu.js.map +1 -0
- package/web/_app/immutable/json5-BR5RXkoi.js.map +1 -0
- package/web/_app/immutable/jsonc-CYpm1nAK.js.map +1 -0
- package/web/_app/immutable/jsonl-CmCQp5Yx.js.map +1 -0
- package/web/_app/immutable/jsonnet-CJTPZ8u_.js.map +1 -0
- package/web/_app/immutable/jssm-DXw9l8Rf.js.map +1 -0
- package/web/_app/immutable/{jsx-BUqYaOvu.js → jsx-DQ1GitDu.js} +1 -1
- package/web/_app/immutable/jsx-DQ1GitDu.js.map +1 -0
- package/web/_app/immutable/{julia-BcfWwmw0.js → julia-Cj2ISyOE.js} +1 -1
- package/web/_app/immutable/julia-Cj2ISyOE.js.map +1 -0
- package/web/_app/immutable/julia-N_wWwcMp.js +3 -0
- package/web/_app/immutable/{just-BXyEegjy.js → just-CXuOImRn.js} +1 -1
- package/web/_app/immutable/just-CXuOImRn.js.map +1 -0
- package/web/_app/immutable/kdl-CsD5j6eV.js.map +1 -0
- package/web/_app/immutable/kotlin-DhhofPvG.js.map +1 -0
- package/web/_app/immutable/kusto-C7mF5XQf.js.map +1 -0
- package/web/_app/immutable/{latex-CU7LUjt5.js → latex-C9zWpp_6.js} +1 -1
- package/web/_app/immutable/latex-C9zWpp_6.js.map +1 -0
- package/web/_app/immutable/lean-CewbzKMR.js.map +1 -0
- package/web/_app/immutable/less-DVTAwKKz.js.map +1 -0
- package/web/_app/immutable/{liquid-CRzX7bbg.js → liquid-CJws5Urp.js} +1 -1
- package/web/_app/immutable/liquid-CJws5Urp.js.map +1 -0
- package/web/_app/immutable/livescript-CQxDXUiW.js +3 -0
- package/web/_app/immutable/llvm-DqHOMS-s.js.map +1 -0
- package/web/_app/immutable/log-BNLmms1o.js.map +1 -0
- package/web/_app/immutable/logo-Cluzi2Zq.js.map +1 -0
- package/web/_app/immutable/lua-BshL7EhT.js +3 -0
- package/web/_app/immutable/{lua-BSDiLMEb.js → lua-DzECmq2B.js} +1 -1
- package/web/_app/immutable/lua-DzECmq2B.js.map +1 -0
- package/web/_app/immutable/luau-VGWVLoqX.js.map +1 -0
- package/web/_app/immutable/make-Dixweg8N.js.map +1 -0
- package/web/_app/immutable/markdown-BYOwaDjH.js.map +1 -0
- package/web/_app/immutable/{marko-DnR7eH34.js → marko-DY53VURG.js} +1 -1
- package/web/_app/immutable/marko-DY53VURG.js.map +1 -0
- package/web/_app/immutable/mathematica-M62_hiyy.js +3 -0
- package/web/_app/immutable/matlab-D7qyCx1q.js.map +1 -0
- package/web/_app/immutable/mbox-CzzAtHiR.js +3 -0
- package/web/_app/immutable/{mdc-CcZh7-T1.js → mdc-B1BZSQO7.js} +1 -1
- package/web/_app/immutable/mdc-B1BZSQO7.js.map +1 -0
- package/web/_app/immutable/mdx-DQZ5AkYe.js.map +1 -0
- package/web/_app/immutable/mermaid-BxpfTIzt.js.map +1 -0
- package/web/_app/immutable/mipsasm-BMqwQI7S.js.map +1 -0
- package/web/_app/immutable/mirc-C7NNbeXm.js +3 -0
- package/web/_app/immutable/mllike-t41NJN7_.js +3 -0
- package/web/_app/immutable/modelica-CTT25a9k.js +3 -0
- package/web/_app/immutable/mojo-fg40_ntQ.js.map +1 -0
- package/web/_app/immutable/moonbit-D9W784E_.js.map +1 -0
- package/web/_app/immutable/move-BYnGhZoM.js.map +1 -0
- package/web/_app/immutable/mscgen-6Ud9c8_b.js +3 -0
- package/web/_app/immutable/mumps-C4aH6Gvb.js +3 -0
- package/web/_app/immutable/narrat-_X_XdTYD.js.map +1 -0
- package/web/_app/immutable/nextflow-BoTnSBQ_.js.map +1 -0
- package/web/_app/immutable/nextflow-groovy-D7IRt6Pp.js.map +1 -0
- package/web/_app/immutable/{nginx-BwbdCB4h.js → nginx-JNdgK5R6.js} +1 -1
- package/web/_app/immutable/nginx-JNdgK5R6.js.map +1 -0
- package/web/_app/immutable/nginx-W2q6TRhk.js +3 -0
- package/web/_app/immutable/{nim-xocOj6ZV.js → nim-DxIQj5-c.js} +1 -1
- package/web/_app/immutable/nim-DxIQj5-c.js.map +1 -0
- package/web/_app/immutable/nix-Cl_7024t.js.map +1 -0
- package/web/_app/immutable/nsis-CjNLYCLg.js.map +1 -0
- package/web/_app/immutable/nsis-DUSZzcw2.js +3 -0
- package/web/_app/immutable/ntriples-DnXHYROm.js +3 -0
- package/web/_app/immutable/nushell--0fT3PI1.js.map +1 -0
- package/web/_app/immutable/objective-c-D1A_Heim.js.map +1 -0
- package/web/_app/immutable/objective-cpp-BsSzOQcm.js.map +1 -0
- package/web/_app/immutable/ocaml-O90oeIOV.js.map +1 -0
- package/web/_app/immutable/octave-J4i-piK1.js +3 -0
- package/web/_app/immutable/odin-B1RWQWA5.js.map +1 -0
- package/web/_app/immutable/openscad-BUDT5pXO.js.map +1 -0
- package/web/_app/immutable/{org-0-F7ov1Z.js → org-C_axAQFp.js} +1 -1
- package/web/_app/immutable/org-C_axAQFp.js.map +1 -0
- package/web/_app/immutable/oz-WSgD13HS.js +3 -0
- package/web/_app/immutable/pascal-4ZHwLPI5.js.map +1 -0
- package/web/_app/immutable/pascal-erKHw6fw.js +3 -0
- package/web/_app/immutable/perl-CKWHhdiY.js +3 -0
- package/web/_app/immutable/{perl-DeAhIPOw.js → perl-CmH3S23F.js} +1 -1
- package/web/_app/immutable/perl-CmH3S23F.js.map +1 -0
- package/web/_app/immutable/{php-kXpePHVd.js → php-CX5ZySYs.js} +1 -1
- package/web/_app/immutable/php-CX5ZySYs.js.map +1 -0
- package/web/_app/immutable/pig-33x8HcLn.js +3 -0
- package/web/_app/immutable/pkl-ot-7Btpt.js.map +1 -0
- package/web/_app/immutable/plsql-DGHpHOYJ.js.map +1 -0
- package/web/_app/immutable/po-BiJDBrnU.js.map +1 -0
- package/web/_app/immutable/polar-C7UOKdEL.js.map +1 -0
- package/web/_app/immutable/postcss-BXeXVLqQ.js.map +1 -0
- package/web/_app/immutable/powerquery-DNMTfnFr.js.map +1 -0
- package/web/_app/immutable/powershell-QtSnmXcu.js.map +1 -0
- package/web/_app/immutable/powershell-Vl-e_vNu.js +3 -0
- package/web/_app/immutable/prisma-DMgNhnYS.js.map +1 -0
- package/web/_app/immutable/prolog-iXnhIJG7.js.map +1 -0
- package/web/_app/immutable/properties-DUf4fFZf.js +3 -0
- package/web/_app/immutable/proto-DB4EqR-F.js.map +1 -0
- package/web/_app/immutable/protobuf-BUDa_vR-.js +3 -0
- package/web/_app/immutable/{pug-BYrzANIX.js → pug-Do87ZXFS.js} +1 -1
- package/web/_app/immutable/pug-Do87ZXFS.js.map +1 -0
- package/web/_app/immutable/pug-xcs5WYkx.js +3 -0
- package/web/_app/immutable/puppet-CD6CXlyD.js +3 -0
- package/web/_app/immutable/puppet-CDv2pdJW.js.map +1 -0
- package/web/_app/immutable/purescript-9MfHhQsQ.js.map +1 -0
- package/web/_app/immutable/python-CpGzXxm0.js +3 -0
- package/web/_app/immutable/python-gzcpVVnB.js.map +1 -0
- package/web/_app/immutable/q-BCVSbb1a.js +3 -0
- package/web/_app/immutable/{qml-CX-IPlpg.js → qml-PO_mFEPK.js} +1 -1
- package/web/_app/immutable/qml-PO_mFEPK.js.map +1 -0
- package/web/_app/immutable/qmldir-DCQb3MpD.js.map +1 -0
- package/web/_app/immutable/qss-Fe1Jh2GI.js.map +1 -0
- package/web/_app/immutable/{r-B6Ii5NsL.js → r-BgEOZNPk.js} +1 -1
- package/web/_app/immutable/r-BgEOZNPk.js.map +1 -0
- package/web/_app/immutable/r-C1YlgDGE.js +3 -0
- package/web/_app/immutable/racket-DcIDlBhZ.js.map +1 -0
- package/web/_app/immutable/raku-B3gFvitq.js.map +1 -0
- package/web/_app/immutable/{razor-B-rT9_rK.js → razor-RqmQ3ngM.js} +1 -1
- package/web/_app/immutable/razor-RqmQ3ngM.js.map +1 -0
- package/web/_app/immutable/rbs-C0MpOrj4.js.map +1 -0
- package/web/_app/immutable/reg-CRGYupPL.js.map +1 -0
- package/web/_app/immutable/{regexp-DTgu7pRI.js → regexp-BmtAp960.js} +1 -1
- package/web/_app/immutable/regexp-BmtAp960.js.map +1 -0
- package/web/_app/immutable/rel-BtDbiS_P.js.map +1 -0
- package/web/_app/immutable/riscv-Ckw8ddFX.js.map +1 -0
- package/web/_app/immutable/ron-VUp2lXgN.js.map +1 -0
- package/web/_app/immutable/rosmsg-CAekHB0j.js.map +1 -0
- package/web/_app/immutable/rpm-DtntOokC.js +3 -0
- package/web/_app/immutable/{rst-9klPfdbW.js → rst-D8oMEcXw.js} +1 -1
- package/web/_app/immutable/rst-D8oMEcXw.js.map +1 -0
- package/web/_app/immutable/ruby-BPd10w10.js +3 -0
- package/web/_app/immutable/{ruby-VdW5O0lU.js → ruby-OoN__8XM.js} +1 -1
- package/web/_app/immutable/ruby-OoN__8XM.js.map +1 -0
- package/web/_app/immutable/rust-DpiIf5JO.js.map +1 -0
- package/web/_app/immutable/{sas-BcoVW2jh.js → sas-Bvlb0Bob.js} +1 -1
- package/web/_app/immutable/sas-Bvlb0Bob.js.map +1 -0
- package/web/_app/immutable/sas-NAReXOrf.js +3 -0
- package/web/_app/immutable/sass-DXrisJhu.js.map +1 -0
- package/web/_app/immutable/scala-BiFt_7mu.js.map +1 -0
- package/web/_app/immutable/scheme-Cf2CRHu1.js +3 -0
- package/web/_app/immutable/scheme-DQCgrYNe.js.map +1 -0
- package/web/_app/immutable/{scss-CThZiyk2.js → scss-CVcKVU_v.js} +1 -1
- package/web/_app/immutable/scss-CVcKVU_v.js.map +1 -0
- package/web/_app/immutable/sdbl-bTVj8UrX.js.map +1 -0
- package/web/_app/immutable/shaderlab-C4rnI7x0.js.map +1 -0
- package/web/_app/immutable/shell-Prdwouv9.js +3 -0
- package/web/_app/immutable/{shellscript-kDqMi17D.js → shellscript-CweRfVvC.js} +1 -1
- package/web/_app/immutable/shellscript-CweRfVvC.js.map +1 -0
- package/web/_app/immutable/{shellsession-DhVMa4wd.js → shellsession-B6dlQfc8.js} +1 -1
- package/web/_app/immutable/shellsession-B6dlQfc8.js.map +1 -0
- package/web/_app/immutable/sieve-BH74aWuS.js +3 -0
- package/web/_app/immutable/simple-mode-DEAktJUB.js +3 -0
- package/web/_app/immutable/smalltalk-BHpQb5nM.js.map +1 -0
- package/web/_app/immutable/smalltalk-obN975Bw.js +3 -0
- package/web/_app/immutable/smithy-Dgaz7aur.js.map +1 -0
- package/web/_app/immutable/solidity-Bj7E1mRn.js.map +1 -0
- package/web/_app/immutable/solr-DAJC1hrj.js +3 -0
- package/web/_app/immutable/{soy-BRlK1riv.js → soy-BXoHw2KB.js} +1 -1
- package/web/_app/immutable/soy-BXoHw2KB.js.map +1 -0
- package/web/_app/immutable/sparql-BvbKM4zG.js +3 -0
- package/web/_app/immutable/sparql-C0ia5K60.js.map +1 -0
- package/web/_app/immutable/splunk-BC2Px7Mm.js.map +1 -0
- package/web/_app/immutable/spreadsheet-CJ-yk93H.js +3 -0
- package/web/_app/immutable/sql-Bly50R_b.js +3 -0
- package/web/_app/immutable/{sql-9_1rLYi9.js → sql-ze9wVaXg.js} +1 -1
- package/web/_app/immutable/sql-ze9wVaXg.js.map +1 -0
- package/web/_app/immutable/ssh-config-BgfXC-Er.js.map +1 -0
- package/web/_app/immutable/{stata-CvZbhBNs.js → stata-BoFbKY4D.js} +1 -1
- package/web/_app/immutable/stata-BoFbKY4D.js.map +1 -0
- package/web/_app/immutable/stex-BF34FF93.js +3 -0
- package/web/_app/immutable/stylus-B6D30XZt.js.map +1 -0
- package/web/_app/immutable/stylus-C5rqcB-v.js +3 -0
- package/web/_app/immutable/{surrealql-BLPIhFjZ.js → surrealql-dM__PJgH.js} +1 -1
- package/web/_app/immutable/surrealql-dM__PJgH.js.map +1 -0
- package/web/_app/immutable/{svelte-CXRnxaHV.js → svelte-ClSxXkyL.js} +1 -1
- package/web/_app/immutable/svelte-ClSxXkyL.js.map +1 -0
- package/web/_app/immutable/swift-BLZse608.js +3 -0
- package/web/_app/immutable/swift-CyEgAFGc.js.map +1 -0
- package/web/_app/immutable/system-verilog-Dh5ihWbf.js.map +1 -0
- package/web/_app/immutable/systemd-BxMlprV5.js.map +1 -0
- package/web/_app/immutable/talonscript-CohzipZa.js.map +1 -0
- package/web/_app/immutable/tasl-DMoTqEGO.js.map +1 -0
- package/web/_app/immutable/tcl-BWkauvXp.js +3 -0
- package/web/_app/immutable/tcl-CZd0xW_V.js.map +1 -0
- package/web/_app/immutable/{templ-BIXbEjSv.js → templ-CqzzE9WX.js} +1 -1
- package/web/_app/immutable/templ-CqzzE9WX.js.map +1 -0
- package/web/_app/immutable/terraform-DswuEJGm.js.map +1 -0
- package/web/_app/immutable/{tex-CTC47p_4.js → tex-ClJ30QU-.js} +1 -1
- package/web/_app/immutable/tex-ClJ30QU-.js.map +1 -0
- package/web/_app/immutable/textile-T6vpnw7U.js +3 -0
- package/web/_app/immutable/tiddlywiki-DVC3khkM.js +3 -0
- package/web/_app/immutable/tiki-DEhe3PjY.js +3 -0
- package/web/_app/immutable/toml-BYLe0Z2u.js +3 -0
- package/web/_app/immutable/toml-CcmNWLt0.js.map +1 -0
- package/web/_app/immutable/troff-BNPbTrbP.js +3 -0
- package/web/_app/immutable/{ts-tags-q6t1QP-k.js → ts-tags-MI0_89c8.js} +1 -1
- package/web/_app/immutable/ts-tags-MI0_89c8.js.map +1 -0
- package/web/_app/immutable/tsv-sltzmVWM.js.map +1 -0
- package/web/_app/immutable/{tsx-BACYK5_7.js → tsx-D-xUy4Xs.js} +1 -1
- package/web/_app/immutable/tsx-D-xUy4Xs.js.map +1 -0
- package/web/_app/immutable/ttcn-cfg-BhQD0pZH.js +3 -0
- package/web/_app/immutable/ttcn-nBALC3Jx.js +3 -0
- package/web/_app/immutable/turtle-A4cgc-iN.js +3 -0
- package/web/_app/immutable/turtle-ByJddavk.js.map +1 -0
- package/web/_app/immutable/{twig-du-FAu_S.js → twig-C1N-sXjS.js} +1 -1
- package/web/_app/immutable/twig-C1N-sXjS.js.map +1 -0
- package/web/_app/immutable/{typescript-UdazT59i.js → typescript-BPzkPzWf.js} +1 -1
- package/web/_app/immutable/typescript-BPzkPzWf.js.map +1 -0
- package/web/_app/immutable/typespec-BGhR2SqG.js.map +1 -0
- package/web/_app/immutable/{typst-CwQmdlPz.js → typst-BLmdxzG5.js} +1 -1
- package/web/_app/immutable/typst-BLmdxzG5.js.map +1 -0
- package/web/_app/immutable/v-DBj4K9d_.js.map +1 -0
- package/web/_app/immutable/vala-zf12oZj6.js.map +1 -0
- package/web/_app/immutable/vb-DFC-GzQb.js +3 -0
- package/web/_app/immutable/vb-DOwzaHZ0.js.map +1 -0
- package/web/_app/immutable/vbscript-CEpCFrMB.js +3 -0
- package/web/_app/immutable/velocity-riGX05b_.js +3 -0
- package/web/_app/immutable/verilog-B2gwz-sJ.js.map +1 -0
- package/web/_app/immutable/verilog-XObh9TaX.js +3 -0
- package/web/_app/immutable/vhdl-BoVv2tCy.js +3 -0
- package/web/_app/immutable/vhdl-BroJfC0k.js.map +1 -0
- package/web/_app/immutable/viml-DvXPmvsu.js.map +1 -0
- package/web/_app/immutable/{vue-Bl_ifCwv.js → vue-Cb-Oh7gL.js} +1 -1
- package/web/_app/immutable/vue-Cb-Oh7gL.js.map +1 -0
- package/web/_app/immutable/{vue-html-Jt0TggoH.js → vue-html-CokEUcEZ.js} +1 -1
- package/web/_app/immutable/vue-html-CokEUcEZ.js.map +1 -0
- package/web/_app/immutable/{vue-vine-BCOElGNY.js → vue-vine-C9qhSF4z.js} +1 -1
- package/web/_app/immutable/vue-vine-C9qhSF4z.js.map +1 -0
- package/web/_app/immutable/vyper-CgoNMtux.js.map +1 -0
- package/web/_app/immutable/wasm-ByWQv1Qj.js.map +1 -0
- package/web/_app/immutable/webidl-DGHFkOxz.js +3 -0
- package/web/_app/immutable/wenyan-C8pVoKbM.js.map +1 -0
- package/web/_app/immutable/wgsl-BsKzXJz4.js.map +1 -0
- package/web/_app/immutable/wikitext-ClFFjSW2.js.map +1 -0
- package/web/_app/immutable/wit-DdvCle-K.js.map +1 -0
- package/web/_app/immutable/wolfram-DLL8P-h_.js.map +1 -0
- package/web/_app/immutable/{xml-CwHcdUOz.js → xml-xaPpMw_l.js} +1 -1
- package/web/_app/immutable/xml-xaPpMw_l.js.map +1 -0
- package/web/_app/immutable/xquery-xVgpYI8e.js +3 -0
- package/web/_app/immutable/{xsl-CR7B95n6.js → xsl-C_0yvEBX.js} +1 -1
- package/web/_app/immutable/xsl-C_0yvEBX.js.map +1 -0
- package/web/_app/immutable/yacas-Du6vQuy6.js +3 -0
- package/web/_app/immutable/{yaml-1d7XLDFm.js → yaml-Dccr9MS0.js} +1 -1
- package/web/_app/immutable/yaml-Dccr9MS0.js.map +1 -0
- package/web/_app/immutable/z80-DR0Up5cl.js +3 -0
- package/web/_app/immutable/zenscript-BnlCZFoB.js.map +1 -0
- package/web/_app/immutable/zig-CMLA9XwU.js.map +1 -0
- package/web/apple-touch-icon.png +0 -0
- package/web/icon-512.png +0 -0
- package/web/index.html +6 -3
- package/web/logo.svg +1 -0
- package/web/manifest.webmanifest +12 -0
- package/web/_app/immutable/index-D6bVq7o9.css +0 -1
- package/web/_app/immutable/index-Dn3e-0Et.js +0 -488
- package/web/favicon.png +0 -0
- package/web/logo.png +0 -0
package/README.md
CHANGED
|
@@ -1,17 +1,10 @@
|
|
|
1
1
|
# Sprocket
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
The best AI agent for hardware and software.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Sprocket designs electronics, tests code end-to-end, and buys parts or subscriptions for your project when asked.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
- Retrieves best-in-class <ins>context from the web</ins> for everything it does, so it stays <ins>incredibly reliable</ins>.
|
|
9
|
-
- <ins>Buys anything from any website</ins> when you ask, from hardware parts to SaaS subscriptions.
|
|
10
|
-
- Makes <ins>beautifully detailed schematics</ins>, creates your <ins>BOM</ins>, and writes <ins>assembly instructions</ins>.
|
|
11
|
-
|
|
12
|
-
[Sprocket Demo](https://www.youtube.com/watch?v=E8KWO3Vh9YU)
|
|
13
|
-
|
|
14
|
-
[](https://www.youtube.com/watch?v=E8KWO3Vh9YU)
|
|
7
|
+
[](https://spikonado.com/sprocket)
|
|
15
8
|
|
|
16
9
|
## Using Sprocket
|
|
17
10
|
|
|
@@ -55,7 +48,7 @@ Update your CLI installation with `sprocket update`. Run `sprocket --help` for m
|
|
|
55
48
|
## Troubleshooting
|
|
56
49
|
|
|
57
50
|
- If `17731` is already occupied, set `SPROCKET_PORT` before launching.
|
|
58
|
-
-
|
|
51
|
+
- Sprocket uses your operating system credential service when available, and automatically falls back to an unencrypted private file when it is unavailable. Use `sprocket login --credential-store keyring` to require keyring storage, or `sprocket login --credential-store file` to require file storage.
|
|
59
52
|
- If `sprocket` opens the browser instead of the desktop app, install `sprocket-desktop` from [GitHub Releases](https://github.com/spikonado/sprocket/releases) onto `PATH`, or set `SPROCKET_DESKTOP_EXECUTABLE`.
|
|
60
53
|
- Unsigned macOS and Windows desktop builds may need a Gatekeeper / SmartScreen override the first time you open them.
|
|
61
54
|
- Contact [aarav@spikonado.com](mailto:aarav@spikonado.com) for help.
|
package/THIRD_PARTY_NOTICES.md
CHANGED
|
@@ -1 +1,15 @@
|
|
|
1
1
|
# Third-party notices
|
|
2
|
+
|
|
3
|
+
## Managed browser tools
|
|
4
|
+
|
|
5
|
+
Sprocket downloads unmodified native releases of
|
|
6
|
+
[agent-browser](https://github.com/vercel-labs/agent-browser) on demand. It is
|
|
7
|
+
copyright Vercel, Inc., and licensed under
|
|
8
|
+
[Apache-2.0](https://github.com/vercel-labs/agent-browser/blob/v0.39.1/LICENSE).
|
|
9
|
+
When serving agent-browser's dashboard, Sprocket changes its web assets to
|
|
10
|
+
offer only Chrome and hide AI chat, as listed in
|
|
11
|
+
`tools/agent-browser/dashboard-patches.json`.
|
|
12
|
+
|
|
13
|
+
Versions, release asset sizes, and SHA256 checksums are recorded in
|
|
14
|
+
`tools/agent-browser/releases.json`. Chromium downloaded by the
|
|
15
|
+
upstream installer retains its own third-party licenses and notices.
|
package/lib/launcher.js
CHANGED
|
@@ -1,50 +1,33 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { spawn } from 'node:child_process';
|
|
2
|
+
import { randomUUID } from 'node:crypto';
|
|
3
|
+
import { accessSync, chmodSync, constants, readFileSync, rmSync } from 'node:fs';
|
|
4
|
+
import { tmpdir } from 'node:os';
|
|
4
5
|
import path from 'node:path';
|
|
5
6
|
|
|
6
|
-
import {
|
|
7
|
+
import { resolveNativePackage } from './native.js';
|
|
8
|
+
import {
|
|
9
|
+
createHost,
|
|
10
|
+
PACKAGE_ROOT,
|
|
11
|
+
parseUpdateArgs,
|
|
12
|
+
runUpdateCli,
|
|
13
|
+
UPDATE_API_FILENAME
|
|
14
|
+
} from './update.js';
|
|
7
15
|
|
|
8
|
-
|
|
16
|
+
// Must match crates/sprocket-cli/src/main.rs.
|
|
17
|
+
export const RESTART_EXIT_CODE = 75;
|
|
9
18
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const
|
|
13
|
-
TARGETS.map((target) => [`${target.os}:${target.cpu}`, [target.packageName, target.executable]])
|
|
14
|
-
);
|
|
15
|
-
|
|
16
|
-
export function nativePackage(platform = process.platform, arch = process.arch) {
|
|
17
|
-
return PLATFORM_PACKAGES.get(`${platform}:${arch}`);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export function resolveNativeBinary(platform = process.platform, arch = process.arch) {
|
|
21
|
-
const target = nativePackage(platform, arch);
|
|
22
|
-
|
|
23
|
-
if (!target) {
|
|
24
|
-
throw new Error(
|
|
25
|
-
`Sprocket does not provide a binary for ${platform}/${arch}. ` +
|
|
26
|
-
'Supported targets are Linux x64/arm64, macOS x64/arm64, and Windows x64.'
|
|
27
|
-
);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
const [packageName, executable] = target;
|
|
31
|
-
let packageJson;
|
|
32
|
-
|
|
33
|
-
try {
|
|
34
|
-
packageJson = require.resolve(`${packageName}/package.json`);
|
|
35
|
-
} catch (error) {
|
|
36
|
-
if (error?.code !== 'MODULE_NOT_FOUND') {
|
|
37
|
-
throw error;
|
|
38
|
-
}
|
|
19
|
+
export function resolveNativeBinary() {
|
|
20
|
+
const native = resolveNativePackage();
|
|
21
|
+
const version = JSON.parse(readFileSync(path.join(PACKAGE_ROOT, 'package.json'), 'utf8')).version;
|
|
39
22
|
|
|
23
|
+
if (native.version !== version) {
|
|
40
24
|
throw new Error(
|
|
41
|
-
`
|
|
42
|
-
'
|
|
43
|
-
{ cause: error }
|
|
25
|
+
`Sprocket ${version} needs ${native.packageName}@${version}, but ${native.version} is ` +
|
|
26
|
+
'installed. Run `sprocket update` to repair the install.'
|
|
44
27
|
);
|
|
45
28
|
}
|
|
46
29
|
|
|
47
|
-
return
|
|
30
|
+
return native.binary;
|
|
48
31
|
}
|
|
49
32
|
|
|
50
33
|
export function ensureExecutable(binary) {
|
|
@@ -63,18 +46,49 @@ export function ensureExecutable(binary) {
|
|
|
63
46
|
}
|
|
64
47
|
}
|
|
65
48
|
|
|
66
|
-
export function run(binary, args, options = {}) {
|
|
67
|
-
const
|
|
49
|
+
export async function run(binary, args, options = {}) {
|
|
50
|
+
const child = (options.spawn ?? spawn)(binary, args, {
|
|
68
51
|
stdio: 'inherit',
|
|
69
52
|
env: options.env ?? process.env
|
|
70
53
|
});
|
|
71
54
|
|
|
72
|
-
|
|
73
|
-
|
|
55
|
+
let interrupted;
|
|
56
|
+
|
|
57
|
+
const handlers = new Map(
|
|
58
|
+
['SIGINT', 'SIGTERM'].map((signal) => [
|
|
59
|
+
signal,
|
|
60
|
+
() => {
|
|
61
|
+
interrupted ??= signal;
|
|
62
|
+
|
|
63
|
+
// Windows already sends Ctrl+C to both processes; child.kill would force termination.
|
|
64
|
+
if (process.platform !== 'win32' || signal !== 'SIGINT') {
|
|
65
|
+
child.kill(signal);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
])
|
|
69
|
+
);
|
|
70
|
+
|
|
71
|
+
for (const [signal, handler] of handlers) {
|
|
72
|
+
process.on(signal, handler);
|
|
74
73
|
}
|
|
75
74
|
|
|
76
|
-
|
|
77
|
-
|
|
75
|
+
let result;
|
|
76
|
+
|
|
77
|
+
try {
|
|
78
|
+
result = await new Promise((resolve, reject) => {
|
|
79
|
+
child.once('error', reject);
|
|
80
|
+
child.once('close', (status, signal) => resolve({ status, signal }));
|
|
81
|
+
});
|
|
82
|
+
} finally {
|
|
83
|
+
for (const [signal, handler] of handlers) {
|
|
84
|
+
process.off(signal, handler);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
const signal = result.signal ?? interrupted;
|
|
89
|
+
|
|
90
|
+
if (signal) {
|
|
91
|
+
process.kill(process.pid, signal);
|
|
78
92
|
|
|
79
93
|
return undefined;
|
|
80
94
|
}
|
|
@@ -95,6 +109,16 @@ export function nativeChildEnvironment(env, staticDir, updateNode, updateScript)
|
|
|
95
109
|
return next;
|
|
96
110
|
}
|
|
97
111
|
|
|
112
|
+
function readRestartLauncher(restartFile) {
|
|
113
|
+
try {
|
|
114
|
+
return readFileSync(restartFile, 'utf8');
|
|
115
|
+
} catch {
|
|
116
|
+
return null;
|
|
117
|
+
} finally {
|
|
118
|
+
rmSync(restartFile, { force: true });
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
98
122
|
export async function launch(args, options = {}) {
|
|
99
123
|
const env = { ...(options.env ?? process.env) };
|
|
100
124
|
delete env.SPROCKET_UPDATE_MANAGED;
|
|
@@ -112,16 +136,42 @@ export async function launch(args, options = {}) {
|
|
|
112
136
|
const staticDir = path.resolve(libDir, '../web');
|
|
113
137
|
const binary = (options.resolveBinary ?? resolveNativeBinary)();
|
|
114
138
|
(options.ensureExecutable ?? ensureExecutable)(binary);
|
|
115
|
-
|
|
139
|
+
const execPath = options.execPath ?? process.execPath;
|
|
140
|
+
// The native server clears SPROCKET_RESTARTED, so only a launcher started by a restarting
|
|
141
|
+
// launcher sees it and leaves the next restart to that parent.
|
|
142
|
+
const ownsRestart = !env.SPROCKET_RESTARTED;
|
|
143
|
+
|
|
144
|
+
if (ownsRestart) {
|
|
145
|
+
env.SPROCKET_RESTART_FILE = path.join(
|
|
146
|
+
options.tmpdir ?? tmpdir(),
|
|
147
|
+
`sprocket-restart-${randomUUID()}`
|
|
148
|
+
);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
let code = await run(binary, args, {
|
|
116
152
|
env: nativeChildEnvironment(
|
|
117
153
|
env,
|
|
118
154
|
staticDir,
|
|
119
|
-
|
|
155
|
+
execPath,
|
|
120
156
|
path.resolve(libDir, UPDATE_API_FILENAME)
|
|
121
157
|
),
|
|
122
158
|
spawn: options.spawn
|
|
123
159
|
});
|
|
124
160
|
|
|
161
|
+
if (ownsRestart) {
|
|
162
|
+
while (code === RESTART_EXIT_CODE) {
|
|
163
|
+
const launcher = readRestartLauncher(env.SPROCKET_RESTART_FILE);
|
|
164
|
+
|
|
165
|
+
if (!launcher) break;
|
|
166
|
+
code = await run(execPath, [launcher, ...args], {
|
|
167
|
+
env: { ...env, SPROCKET_RESTARTED: '1' },
|
|
168
|
+
spawn: options.spawn
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
process.exitCode = code;
|
|
174
|
+
|
|
125
175
|
return process.exitCode;
|
|
126
176
|
} catch (error) {
|
|
127
177
|
console.error(`sprocket: ${error.message}`);
|
package/lib/native.js
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { readFileSync } from 'node:fs';
|
|
2
|
+
import { createRequire } from 'node:module';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
|
|
5
|
+
const require = createRequire(import.meta.url);
|
|
6
|
+
|
|
7
|
+
const TARGETS = JSON.parse(readFileSync(path.join(import.meta.dirname, '../targets.json'), 'utf8'));
|
|
8
|
+
|
|
9
|
+
const PLATFORM_PACKAGES = new Map(
|
|
10
|
+
TARGETS.map((target) => [`${target.os}:${target.cpu}`, [target.packageName, target.executable]])
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
export function nativePackage(platform = process.platform, arch = process.arch) {
|
|
14
|
+
return PLATFORM_PACKAGES.get(`${platform}:${arch}`);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export function resolveNativePackage(platform = process.platform, arch = process.arch) {
|
|
18
|
+
const target = nativePackage(platform, arch);
|
|
19
|
+
|
|
20
|
+
if (!target) {
|
|
21
|
+
throw new Error(
|
|
22
|
+
`Sprocket does not provide a binary for ${platform}/${arch}. ` +
|
|
23
|
+
'Supported targets are Linux x64/arm64, macOS x64/arm64, and Windows x64.'
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const [packageName, executable] = target;
|
|
28
|
+
let packageJson;
|
|
29
|
+
|
|
30
|
+
try {
|
|
31
|
+
packageJson = require.resolve(`${packageName}/package.json`);
|
|
32
|
+
} catch (error) {
|
|
33
|
+
if (error?.code !== 'MODULE_NOT_FOUND') {
|
|
34
|
+
throw error;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
throw new Error(
|
|
38
|
+
`The native package ${packageName} is missing. Reinstall @spikonado/sprocket ` +
|
|
39
|
+
'without omitting optional dependencies.',
|
|
40
|
+
{ cause: error }
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return {
|
|
45
|
+
packageName,
|
|
46
|
+
version: JSON.parse(readFileSync(packageJson, 'utf8')).version,
|
|
47
|
+
binary: path.join(path.dirname(packageJson), 'bin', executable)
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export function installedNativeVersion() {
|
|
52
|
+
try {
|
|
53
|
+
return resolveNativePackage().version;
|
|
54
|
+
} catch {
|
|
55
|
+
return '';
|
|
56
|
+
}
|
|
57
|
+
}
|
package/lib/update.js
CHANGED
|
@@ -4,14 +4,15 @@ import { promises as fsPromises, readFileSync, realpathSync, statSync } from 'no
|
|
|
4
4
|
import os from 'node:os';
|
|
5
5
|
import path from 'node:path';
|
|
6
6
|
|
|
7
|
+
import { installedNativeVersion } from './native.js';
|
|
8
|
+
|
|
7
9
|
export const PACKAGE_NAME = '@spikonado/sprocket';
|
|
8
10
|
|
|
9
11
|
export const UPDATE_API_FILENAME = 'update-api.js';
|
|
10
12
|
|
|
11
13
|
export const DEFAULT_REGISTRY = 'https://registry.npmjs.org';
|
|
12
14
|
|
|
13
|
-
export const RELAUNCH_MESSAGE =
|
|
14
|
-
'Wait for active agents to finish, then stop Sprocket and launch it again.';
|
|
15
|
+
export const RELAUNCH_MESSAGE = 'Update installed. Restart Sprocket to use it.';
|
|
15
16
|
|
|
16
17
|
export const UNSUPPORTED_MESSAGE =
|
|
17
18
|
'This copy of Sprocket was not installed globally with npm, bun, pnpm, or yarn, so it cannot be updated in place.';
|
|
@@ -476,6 +477,7 @@ export function createHost(overrides = {}) {
|
|
|
476
477
|
pid: overrides.pid ?? process.pid,
|
|
477
478
|
packageRoot,
|
|
478
479
|
currentVersion: overrides.currentVersion,
|
|
480
|
+
nativeVersion: overrides.nativeVersion ?? installedNativeVersion,
|
|
479
481
|
tmpdir: overrides.tmpdir ?? (() => os.tmpdir()),
|
|
480
482
|
homedir: overrides.homedir ?? (() => os.homedir()),
|
|
481
483
|
fetch: overrides.fetch ?? globalThis.fetch.bind(globalThis),
|
|
@@ -561,15 +563,15 @@ export async function checkForUpdate(host) {
|
|
|
561
563
|
const registryVersion = await fetchChannelVersion(host, channel, currentVersion);
|
|
562
564
|
const decision = channelUpdate(currentVersion, registryVersion);
|
|
563
565
|
|
|
564
|
-
if (decision.status === '
|
|
565
|
-
return makePayload({ status: '
|
|
566
|
+
if (decision.status === 'available') {
|
|
567
|
+
return makePayload({ status: 'available', currentVersion, version: decision.version });
|
|
566
568
|
}
|
|
567
569
|
|
|
568
|
-
|
|
569
|
-
status: 'available',
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
});
|
|
570
|
+
if (host.nativeVersion() !== currentVersion) {
|
|
571
|
+
return makePayload({ status: 'available', currentVersion, version: currentVersion });
|
|
572
|
+
}
|
|
573
|
+
|
|
574
|
+
return makePayload({ status: 'idle', currentVersion });
|
|
573
575
|
}
|
|
574
576
|
|
|
575
577
|
export async function installUpdate(host) {
|
|
@@ -621,6 +623,8 @@ export async function installUpdate(host) {
|
|
|
621
623
|
throw new Error('The installation location changed during the update check. Try again.');
|
|
622
624
|
}
|
|
623
625
|
|
|
626
|
+
const restartLauncher = path.resolve(globalPackageDir(install.globalRoot), 'bin/sprocket.js');
|
|
627
|
+
|
|
624
628
|
const result = await host.runCommand(
|
|
625
629
|
install.command,
|
|
626
630
|
[...install.argsPrefix, ...install.installArgs(checked.version)],
|
|
@@ -658,13 +662,34 @@ export async function installUpdate(host) {
|
|
|
658
662
|
};
|
|
659
663
|
}
|
|
660
664
|
|
|
665
|
+
const launcherCheck = await host.runCommand(host.execPath, [restartLauncher, '--version'], {
|
|
666
|
+
cwd: host.homedir(),
|
|
667
|
+
env: host.env,
|
|
668
|
+
platform: host.platform,
|
|
669
|
+
timeout: QUERY_TIMEOUT_MS
|
|
670
|
+
});
|
|
671
|
+
|
|
672
|
+
if (launcherCheck.timedOut || (launcherCheck.status ?? 1) !== 0) {
|
|
673
|
+
return {
|
|
674
|
+
payload: makePayload({
|
|
675
|
+
status: 'error',
|
|
676
|
+
currentVersion,
|
|
677
|
+
version: checked.version,
|
|
678
|
+
error: `Sprocket ${checked.version} was installed but cannot start: ${sanitize(launcherCheck.stderr) || 'the launcher check failed'}`
|
|
679
|
+
})
|
|
680
|
+
};
|
|
681
|
+
}
|
|
682
|
+
|
|
661
683
|
return {
|
|
662
|
-
payload:
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
684
|
+
payload: {
|
|
685
|
+
...makePayload({
|
|
686
|
+
status: 'installed',
|
|
687
|
+
currentVersion,
|
|
688
|
+
version: checked.version,
|
|
689
|
+
message: RELAUNCH_MESSAGE
|
|
690
|
+
}),
|
|
691
|
+
restartLauncher
|
|
692
|
+
}
|
|
668
693
|
};
|
|
669
694
|
});
|
|
670
695
|
} catch (error) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spikonado/sprocket",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.2-dev.02fc9dc2d79e46c3c09452a06a474419eaa2b309",
|
|
4
4
|
"description": "Agentic platform for streamlining hardware and software development",
|
|
5
5
|
"license": "FSL-1.1-ALv2",
|
|
6
6
|
"type": "module",
|
|
@@ -30,10 +30,10 @@
|
|
|
30
30
|
"access": "public"
|
|
31
31
|
},
|
|
32
32
|
"optionalDependencies": {
|
|
33
|
-
"@spikonado/sprocket-linux-x64-gnu": "0.4.
|
|
34
|
-
"@spikonado/sprocket-linux-arm64-gnu": "0.4.
|
|
35
|
-
"@spikonado/sprocket-darwin-x64": "0.4.
|
|
36
|
-
"@spikonado/sprocket-darwin-arm64": "0.4.
|
|
37
|
-
"@spikonado/sprocket-win32-x64-msvc": "0.4.
|
|
33
|
+
"@spikonado/sprocket-linux-x64-gnu": "0.4.2-dev.02fc9dc2d79e46c3c09452a06a474419eaa2b309",
|
|
34
|
+
"@spikonado/sprocket-linux-arm64-gnu": "0.4.2-dev.02fc9dc2d79e46c3c09452a06a474419eaa2b309",
|
|
35
|
+
"@spikonado/sprocket-darwin-x64": "0.4.2-dev.02fc9dc2d79e46c3c09452a06a474419eaa2b309",
|
|
36
|
+
"@spikonado/sprocket-darwin-arm64": "0.4.2-dev.02fc9dc2d79e46c3c09452a06a474419eaa2b309",
|
|
37
|
+
"@spikonado/sprocket-win32-x64-msvc": "0.4.2-dev.02fc9dc2d79e46c3c09452a06a474419eaa2b309"
|
|
38
38
|
}
|
|
39
39
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abap-CLvhMVsD.js","names":["abap_default"],"sources":["../../../../../node_modules/.bun/@shikijs+langs@4.5.0/node_modules/@shikijs/langs/dist/abap.mjs"],"sourcesContent":["const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"ABAP\\\",\\\"fileTypes\\\":[\\\"abap\\\",\\\"ABAP\\\"],\\\"foldingStartMarker\\\":\\\"/\\\\\\\\*\\\\\\\\*|\\\\\\\\{\\\\\\\\s*$\\\",\\\"foldingStopMarker\\\":\\\"\\\\\\\\*\\\\\\\\*/|^\\\\\\\\s*}\\\",\\\"name\\\":\\\"abap\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.abap\\\"}},\\\"match\\\":\\\"^\\\\\\\\*.*\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.full.abap\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.abap\\\"}},\\\"match\\\":\\\"\\\\\\\".*\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.partial.abap\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\S)##.*?(?=([,.:\\\\\\\\s]))\\\",\\\"name\\\":\\\"comment.line.pragma.abap\\\"},{\\\"match\\\":\\\"(?i)(?<=[-~\\\\\\\\s])(?<=[-=]>)([/_a-z][/-9_a-z]*)(?=\\\\\\\\s+(?:|[-*+/]|&&?)=\\\\\\\\s+)\\\",\\\"name\\\":\\\"variable.other.abap\\\"},{\\\"match\\\":\\\"\\\\\\\\b[0-9]+(\\\\\\\\b|[,.])\\\",\\\"name\\\":\\\"constant.numeric.abap\\\"},{\\\"match\\\":\\\"(?i)(^|\\\\\\\\s+)((P(?:UBLIC|RIVATE|ROTECTED))\\\\\\\\sSECTION)(?=\\\\\\\\s+|[.:])\\\",\\\"name\\\":\\\"storage.modifier.class.abap\\\"},{\\\"begin\\\":\\\"(?<!\\\\\\\\\\\\\\\\)(\\\\\\\\|)(.*?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.escape.abap\\\"}},\\\"end\\\":\\\"(?<!\\\\\\\\\\\\\\\\)(\\\\\\\\||(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\|))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.escape.abap\\\"}},\\\"name\\\":\\\"string.interpolated.abap\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(\\\\\\\\{ )|( })\\\",\\\"name\\\":\\\"constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\|\\\",\\\"name\\\":\\\"constant.character.escape.abap\\\"},{\\\"match\\\":\\\"(?i)(?<=\\\\\\\\s)(align|alpha|case|country|currency|date|decimals|exponent|number|pad|sign|style|time|timestamp|timezone|width|xsd|zero)(?=\\\\\\\\s=)\\\",\\\"name\\\":\\\"entity.name.property.stringtemplate.abap\\\"},{\\\"match\\\":\\\"(?i)(?<==\\\\\\\\s)(center|engineering|environment|in|iso|left|leftplus|leftspace|lower|no|out|raw|right|rightplus|rightspace|scale_preserving|scale_preserving_scientific|scientific|scientific_with_leading_zero|sign_as_postfix|simple|space|upper|user|yes)(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"entity.value.property.stringtemplate.abap\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"end\\\":\\\"'\\\",\\\"name\\\":\\\"string.quoted.single.abap\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"''\\\",\\\"name\\\":\\\"constant.character.escape.abap\\\"}]},{\\\"begin\\\":\\\"`\\\",\\\"end\\\":\\\"`\\\",\\\"name\\\":\\\"string.quoted.single.abap\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"``\\\",\\\"name\\\":\\\"constant.character.escape.abap\\\"}]},{\\\"begin\\\":\\\"(?i)^\\\\\\\\s*(class)\\\\\\\\s([/_a-z][/-9_a-z]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.block.abap\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.block.abap\\\"}},\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\n?\\\",\\\"name\\\":\\\"meta.block.begin.implementation.abap\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(^|\\\\\\\\s+)(definition|implementation|public|inheriting\\\\\\\\s+from|final|deferred|abstract|shared\\\\\\\\s+memory\\\\\\\\s+enabled|(global|local)*\\\\\\\\s*friends|(create\\\\\\\\s+(p(?:ublic|rotected|rivate)))|for\\\\\\\\s+behavior\\\\\\\\s+of|for\\\\\\\\s+testing|risk\\\\\\\\s+level\\\\\\\\s+(critical|dangerous|harmless))|duration\\\\\\\\s(short|medium|long)(?=\\\\\\\\s+|\\\\\\\\.)\\\",\\\"name\\\":\\\"storage.modifier.class.abap\\\"},{\\\"begin\\\":\\\"(?=[A-Z_a-z][0-9A-Z_a-z]*)\\\",\\\"contentName\\\":\\\"entity.name.type.block.abap\\\",\\\"end\\\":\\\"(?![0-9A-Z_a-z])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#generic_names\\\"}]}]},{\\\"begin\\\":\\\"(?i)^\\\\\\\\s*(method)\\\\\\\\s(?:([/_a-z][/-9_a-z]*)~)?([/_a-z][/-9_a-z]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.block.abap\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.abap\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.abap\\\"}},\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\n?\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(?<=^|\\\\\\\\s)(BY(?:\\\\\\\\s+DATABASE(\\\\\\\\s+PROCEDURE|\\\\\\\\s+FUNCTION|\\\\\\\\s+GRAPH\\\\\\\\s+WORKSPACE)|\\\\\\\\s+KERNEL\\\\\\\\s+MODULE))(?=\\\\\\\\s+|\\\\\\\\.)\\\",\\\"name\\\":\\\"storage.modifier.method.abap\\\"},{\\\"match\\\":\\\"(?i)(?<=^|\\\\\\\\s)(FOR\\\\\\\\s+(HDB|LLANG))(?=\\\\\\\\s+|\\\\\\\\.)\\\",\\\"name\\\":\\\"storage.modifier.method.abap\\\"},{\\\"match\\\":\\\"(?i)(?<=\\\\\\\\s)(OPTIONS\\\\\\\\s+(READ-ONLY|DETERMINISTIC|SUPPRESS\\\\\\\\s+SYNTAX\\\\\\\\s+ERRORS))(?=\\\\\\\\s+|\\\\\\\\.)\\\",\\\"name\\\":\\\"storage.modifier.method.abap\\\"},{\\\"match\\\":\\\"(?i)(?<=^|\\\\\\\\s)(LANGUAGE\\\\\\\\s+(SQLSCRIPT|SQL|GRAPH))(?=\\\\\\\\s+|\\\\\\\\.)\\\",\\\"name\\\":\\\"storage.modifier.method.abap\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.method.abap\\\"}},\\\"match\\\":\\\"(?i)(?<=\\\\\\\\s)(USING)\\\\\\\\s+([/_a-z][/-9=>_a-z]*)+(?=\\\\\\\\s+|\\\\\\\\.)\\\"},{\\\"begin\\\":\\\"(?=[A-Z_a-z][0-9A-Z_a-z]*)\\\",\\\"end\\\":\\\"(?![0-9A-Z_a-z])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#generic_names\\\"}]}]},{\\\"begin\\\":\\\"(?i)^\\\\\\\\s*(INTERFACE)\\\\\\\\s([/_a-z][/-9_a-z]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.block.abap\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.abap\\\"}},\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\n?\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(?<=^|\\\\\\\\s)(DEFERRED|PUBLIC)(?=\\\\\\\\s+|\\\\\\\\.)\\\",\\\"name\\\":\\\"storage.modifier.method.abap\\\"}]},{\\\"begin\\\":\\\"(?i)^\\\\\\\\s*(FORM)\\\\\\\\s([/_a-z][-/-9?_a-z]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.block.abap\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.abap\\\"}},\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\n?\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(?<=^|\\\\\\\\s)(USING|TABLES|CHANGING|RAISING|IMPLEMENTATION|DEFINITION)(?=\\\\\\\\s+|\\\\\\\\.)\\\",\\\"name\\\":\\\"storage.modifier.form.abap\\\"},{\\\"include\\\":\\\"#abaptypes\\\"},{\\\"include\\\":\\\"#keywords_followed_by_braces\\\"}]},{\\\"match\\\":\\\"(?i)(end(?:class|method|form|interface))\\\",\\\"name\\\":\\\"storage.type.block.end.abap\\\"},{\\\"match\\\":\\\"(?i)(<[A-Z_a-z][0-9A-Z_a-z]*>)\\\",\\\"name\\\":\\\"variable.other.field.symbol.abap\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#abap_constants\\\"},{\\\"include\\\":\\\"#reserved_names\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#builtin_functions\\\"},{\\\"include\\\":\\\"#abaptypes\\\"},{\\\"include\\\":\\\"#system_fields\\\"},{\\\"include\\\":\\\"#sql_functions\\\"},{\\\"include\\\":\\\"#sql_types\\\"}],\\\"repository\\\":{\\\"abap_constants\\\":{\\\"match\\\":\\\"(?i)(?<=\\\\\\\\s)(initial|null|@?space|@?abap_true|@?abap_false|@?abap_undefined|table_line|%_final|%_hints|%_predefined|col_background|col_group|col_heading|col_key|col_negative|col_normal|col_positive|col_total|adabas|as400|db2|db6|hdb|oracle|sybase|mssqlnt|pos_low|pos_high)(?=[,.\\\\\\\\s])\\\",\\\"name\\\":\\\"constant.language.abap\\\"},\\\"abaptypes\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\s(abap_bool|string|xstring|any|clike|csequence|numeric|xsequence|decfloat|decfloat16|decfloat34|utclong|simple|int8|[cdfinptx])(?=[,.\\\\\\\\s])\\\",\\\"name\\\":\\\"support.type.abap\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\s(TYPE|REF|TO|LIKE|LINE|OF|STRUCTURE|STANDARD|SORTED|HASHED|INDEX|TABLE|WITH|UNIQUE|NON-UNIQUE|SECONDARY|DEFAULT|KEY)(?=[,.\\\\\\\\s])\\\",\\\"name\\\":\\\"keyword.control.simple.abap\\\"}]},\\\"arithmetic_operator\\\":{\\\"match\\\":\\\"(?i)(?<=\\\\\\\\s)([-*+]|\\\\\\\\*\\\\\\\\*|[%/]|DIV|MOD|BIT-AND|BIT-OR|BIT-XOR|BIT-NOT)(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"keyword.control.simple.abap\\\"},\\\"builtin_functions\\\":{\\\"match\\\":\\\"(?i)(?<=\\\\\\\\s)(abs|sign|ceil|floor|trunc|frac|acos|asin|atan|cos|sin|tan|cosh|sinh|tanh|exp|log|log10|sqrt|strlen|xstrlen|charlen|lines|numofchar|dbmaxlen|round|rescale|nmax|nmin|cmax|cmin|boolc|boolx|xsdbool|contains|contains_any_of|contains_any_not_of|matches|line_exists|ipow|char_off|count|count_any_of|count_any_not_of|distance|condense|concat_lines_of|escape|find|find_end|find_any_of|find_any_not_of|insert|match|repeat|replace|reverse|segment|shift_left|shift_right|substring|substring_after|substring_from|substring_before|substring_to|to_upper|to_lower|to_mixed|from_mixed|translate|bit-set|line_index)(?=\\\\\\\\()\\\",\\\"name\\\":\\\"entity.name.function.builtin.abap\\\"},\\\"comparison_operator\\\":{\\\"match\\\":\\\"(?i)(?<=\\\\\\\\s)([<>]|<=|>=|=|<>|eq|ne|lt|le|gt|ge|cs|cp|co|cn|ca|na|ns|np|byte-co|byte-cn|byte-ca|byte-na|byte-cs|byte-ns|[moz])(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"keyword.control.simple.abap\\\"},\\\"control_keywords\\\":{\\\"match\\\":\\\"(?i)(^|\\\\\\\\s)(at|case|catch|continue|do|elseif|else|endat|endcase|endcatch|enddo|endif|endloop|endon|endtry|endwhile|if|loop|on|raise|try|while)(?=[.:\\\\\\\\s])\\\",\\\"name\\\":\\\"keyword.control.flow.abap\\\"},\\\"generic_names\\\":{\\\"match\\\":\\\"[A-Z_a-z][0-9A-Z_a-z]*\\\"},\\\"keywords\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#main_keywords\\\"},{\\\"include\\\":\\\"#text_symbols\\\"},{\\\"include\\\":\\\"#control_keywords\\\"},{\\\"include\\\":\\\"#keywords_followed_by_braces\\\"}]},\\\"keywords_followed_by_braces\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.simple.abap\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.abap\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(data|value|field-symbol|final|reference|resumable)\\\\\\\\((<?[/_a-z][/-9_a-z]*>?)\\\\\\\\)\\\"},\\\"logical_operator\\\":{\\\"match\\\":\\\"(?i)(?<=\\\\\\\\s)(not|or|and)(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"keyword.control.simple.abap\\\"},\\\"main_keywords\\\":{\\\"match\\\":\\\"(?i)(?<=^|\\\\\\\\s)(abap-source|abstract|accept|accepting|access|according|action|activation|actual|add|add-corresponding|adjacent|after|alias|aliases|all|allocate|amdp|analysis|analyzer|append|appending|application|archive|area|arithmetic|as|ascending|assert|assign|assigned|assigning|association|asynchronous|at|attributes|authority|authority-check|authorization|auto|back|background|backward|badi|base|before|begin|behavior|between|binary|bit|blanks??|blocks??|bound|boundaries|bounds|boxed|break|break-point|buffer|by|bypassing|byte|byte-order|call|calling|cast|casting|cds|centered|change|changing|channels|char-to-hex|character|check|checkbox|cid|circular|class|class-data|class-events|class-methods??|class-pool|cleanup|clear|clients??|clock|clone|close|cnt|code|collect|color|column|comments??|commit|common|communication|comparing|components??|compression|compute|concatenate|cond|condense|condition|connection|constants??|contexts??|controls??|conv|conversion|convert|copy|corresponding|count|country|cover|create|currency|current|cursor|customer-function|data|database|datainfo|dataset|date|daylight|ddl|deallocate|decimals|declarations|deep|default|deferred|define|delete|deleting|demand|descending|describe|destination|detail|determine|dialog|did|directory|discarding|display|display-mode|distance|distinct|divide|divide-corresponding|dummy|duplicates??|duration|during|dynpro|edit|editor-call|empty|enabled|enabling|encoding|end|end-enhancement-section|end-of-definition|end-of-page|end-of-selection|end-test-injection|end-test-seam|endenhancement|endexec|endfunction|endian|ending|endmodule|endprovide|endselect|endwith|enhancement|enhancement-point|enhancement-section|enhancements|entities|entity|entries|entry|enum|equiv|errors|escape|escaping|events??|exact|except|exception|exception-table|exceptions|excluding|exec|execute|exists|exit|exit-command|expanding|explicit|exponent|export|exporting|extended|extension|extract|fail|failed|features|fetch|field|field-groups|field-symbols|fields|file|fill|filters??|final|find|first|first-line|fixed-point|flush|following|for|format|forward|found|frames??|free|from|full|function|function-pool|generate|get|giving|graph|groups??|handler??|hashed|having|headers??|heading|help-id|help-request|hide|hint|hold|hotspot|icon|id|identification|identifier|ignore|ignoring|immediately|implemented|implicit|import|importing|in|inactive|incl|includes??|including|increment|index|index-line|indicators|infotypes|inheriting|init|initial|initialization|inner|input|insert|instances??|intensified|interface|interface-pool|interfaces|internal|intervals|into|inverse|inverted-date|is|job|join|keep|keeping|kernel|keys??|keywords|kind|language|last|late|layout|leading|leave|left|left-justified|legacy|length|let|levels??|like|line|line-count|line-selection|line-size|linefeed|lines|link|list|list-processing|listbox|load|load-of-program|locale??|locks??|log-point|logical|lower|mapped|mapping|margin|mark|mask|match|matchcode|maximum|members|memory|mesh|message|message-id|messages|messaging|methods??|mode|modif|modifier|modify|module|move|move-corresponding|multiply|multiply-corresponding|name|nametab|native|nested|nesting|new|new-line|new-page|new-section|next|no-display|no-extension|no-gaps??|no-grouping|no-heading|no-scrolling|no-sign|no-title|no-zero|nodes|non-unicode|non-unique|number|objects??|objmgr|obligatory|occurences??|occurrences??|occurs|of|offset|on|only|open|optional|options??|order|others|out|outer|output|output-length|overflow|overlay|pack|package|padding|page|parameter|parameter-table|parameters|part|partially|pcre|perform|performing|permissions|pf-status|places|pool|position|pragmas|preceding|precompiled|preferred|preserving|primary|print|print-control|private|privileged|procedure|process|program|property|protected|provide|push|pushbutton|put|query|queue-only|queueonly|quickinfo|radiobutton|raising|ranges??|read|read-only|received??|receiving|redefinition|reduce|ref|reference|refresh|regex|reject|renaming|replace|replacement|replacing|report|reported|request|requested|required|reserve|reset|resolution|respecting|response|restore|results??|resumable|resume|retry|return|returning|right|right-justified|rollback|rows|rp-provide-from-last|run|sap|sap-spool|save|saving|scan|screen|scroll|scroll-boundary|scrolling|search|seconds|section|select|select-options|selection|selection-screen|selection-sets??|selection-table|selections|send|separated??|session|set|shared|shift|shortdump|shortdump-id|sign|simple|simulation|single|size|skip|skipping|smart|some|sort|sortable|sorted|source|specified|split|spool|spots|sql|stable|stamp|standard|start-of-selection|starting|state|statements??|statics??|statusinfo|step|step-loop|stop|structures??|style|subkey|submatches|submit|subroutine|subscreen|substring|subtract|subtract-corresponding|suffix|sum|summary|supplied|supply|suppress|switch|symbol|syntax-check|syntax-trace|system-call|system-exceptions|tab|tabbed|tables??|tableview|tabstrip|target|tasks??|test|test-injection|test-seam|testing|text|textpool|then|throw|times??|title|titlebar|to|tokens|top-lines|top-of-page|trace-file|trace-table|trailing|transaction|transfer|transformation|translate|transporting|trmac|truncate|truncation|type|type-pools??|types|uline|unassign|unbounded|under|unicode|union|unique|unit|unix|unpack|until|unwind|up|update|upper|user|user-command|using|utf-8|uuid|valid|validate|value|value-request|values|vary|varying|version|via|visible|wait|when|where|windows??|with|with-heading|with-title|without|word|work|workspace|write|xml|zone)(?=[,.:\\\\\\\\s])\\\",\\\"name\\\":\\\"keyword.control.simple.abap\\\"},\\\"operators\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#other_operator\\\"},{\\\"include\\\":\\\"#arithmetic_operator\\\"},{\\\"include\\\":\\\"#comparison_operator\\\"},{\\\"include\\\":\\\"#logical_operator\\\"}]},\\\"other_operator\\\":{\\\"match\\\":\\\"(?<=\\\\\\\\s)(&&?|\\\\\\\\?=|\\\\\\\\+=|-=|/=|\\\\\\\\*=|&&=|&=)(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"keyword.control.simple.abap\\\"},\\\"reserved_names\\\":{\\\"match\\\":\\\"(?i)(?<=\\\\\\\\s)(me|super)(?=[,.\\\\\\\\s]|->)\\\",\\\"name\\\":\\\"constant.language.abap\\\"},\\\"sql_functions\\\":{\\\"match\\\":\\\"(?i)(?<=\\\\\\\\s)(abap_system_timezone|abap_user_timezone|abs|add_days|add_months|allow_precision_loss|as_geo_json|avg|bintohex|cast|ceil|coalesce|concat_with_space|concat|corr_spearman|corr|count|currency_conversion|datn_add_days|datn_add_months|datn_days_between|dats_add_days|dats_add_months|dats_days_between|dats_from_datn|dats_is_valid|dats_tims_to_tstmp|dats_to_datn|dayname|days_between|dense_rank|division|div|extract_day|extract_hour|extract_minute|extract_month|extract_second|extract_year|first_value|floor|grouping|hextobin|initcap|instr|is_valid|lag|last_value|lead|left|length|like_regexpr|locate_regexpr_after|locate_regexpr|locate|lower|lpad|ltrim|max|median|min|mod|monthname|ntile|occurrences_regexpr|over|product|rank|replace_regexpr|replace|rigth|round|row_number|rpad|rtrim|stddev|string_agg|substring_regexpr|substring|sum|tims_from_timn|tims_is_valid|tims_to_timn|to_blob|to_clob|tstmp_add_seconds|tstmp_current_utctimestamp|tstmp_is_valid|tstmp_seconds_between|tstmp_to_dats|tstmp_to_dst|tstmp_to_tims|tstmpl_from_utcl|tstmpl_to_utcl|unit_conversion|upper|utcl_add_seconds|utcl_current|utcl_seconds_between|uuid|var|weekday)(?=\\\\\\\\()\\\",\\\"name\\\":\\\"entity.name.function.sql.abap\\\"},\\\"sql_types\\\":{\\\"match\\\":\\\"(?i)(?<=\\\\\\\\s)(char|clnt|cuky|curr|datn|dats|dec|decfloat16|decfloat34|fltp|int1|int2|int4|int8|lang|numc|quan|raw|sstring|timn|tims|unit|utclong)(?=[()\\\\\\\\s])\\\",\\\"name\\\":\\\"entity.name.type.sql.abap\\\"},\\\"system_fields\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.language.abap\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.language.abap\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(sy)-(abcde|batch|binpt|calld|callr|colno|cpage|cprog|cucol|curow|datar|datlo|datum|dayst|dbcnt|dbnam|dbsysc|dyngr|dynnr|fdayw|fdpos|host|index|langu|ldbpg|lilli|linct|linno|linsz|lisel|listi|loopc|lsind|macol|mandt|marow|modno|msgid|msgli|msgno|msgty|msgv[1-4]|opsysc|pagno|pfkey|repid|saprl|scols|slset|spono|srows|staco|staro|stepl|subrc|sysid|tabix|tcode|tfill|timlo|title|tleng|tvar[0-9]|tzone|ucomm|uline|uname|uzeit|vline|wtitl|zonlo)(?=[.\\\\\\\\s])\\\"},\\\"text_symbols\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.simple.abap\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.abap\\\"}},\\\"match\\\":\\\"(?i)(?<=^|\\\\\\\\s)(text)-([0-9A-Z]{1,3})(?=[,.:\\\\\\\\s])\\\"}},\\\"scopeName\\\":\\\"source.abap\\\"}\"))\n\nexport default [\nlang\n]\n"],"ignoreList":[0],"mappings":"AAEA,IAAAA,EAAe,CAFF,OAAO,OAAO,KAAK,MAAM,46eAAumgB,CAG7ogB,CACA,E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actionscript-3-Cs6JJXT5.js","names":["actionscript_3_default"],"sources":["../../../../../node_modules/.bun/@shikijs+langs@4.5.0/node_modules/@shikijs/langs/dist/actionscript-3.mjs"],"sourcesContent":["const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"ActionScript\\\",\\\"fileTypes\\\":[\\\"as\\\"],\\\"name\\\":\\\"actionscript-3\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#package\\\"},{\\\"include\\\":\\\"#class\\\"},{\\\"include\\\":\\\"#interface\\\"},{\\\"include\\\":\\\"#namespace_declaration\\\"},{\\\"include\\\":\\\"#import\\\"},{\\\"include\\\":\\\"#mxml\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#regexp\\\"},{\\\"include\\\":\\\"#variable_declaration\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#primitive_types\\\"},{\\\"include\\\":\\\"#primitive_error_types\\\"},{\\\"include\\\":\\\"#dynamic_type\\\"},{\\\"include\\\":\\\"#language_constants\\\"},{\\\"include\\\":\\\"#language_variables\\\"},{\\\"include\\\":\\\"#guess_type\\\"},{\\\"include\\\":\\\"#guess_constant\\\"},{\\\"include\\\":\\\"#other_operators\\\"},{\\\"include\\\":\\\"#arithmetic_operators\\\"},{\\\"include\\\":\\\"#logical_operators\\\"},{\\\"include\\\":\\\"#array_access_operators\\\"},{\\\"include\\\":\\\"#vector_creation_operators\\\"},{\\\"include\\\":\\\"#control_keywords\\\"},{\\\"include\\\":\\\"#other_keywords\\\"},{\\\"include\\\":\\\"#use_namespace\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"include\\\":\\\"#primitive_functions\\\"},{\\\"include\\\":\\\"#function_call\\\"}],\\\"repository\\\":{\\\"arithmetic_operators\\\":{\\\"match\\\":\\\"([-%+/]|(?<!:)\\\\\\\\*)\\\",\\\"name\\\":\\\"keyword.operator.actionscript.3\\\"},\\\"array_access_operators\\\":{\\\"match\\\":\\\"([]\\\\\\\\[])\\\",\\\"name\\\":\\\"keyword.operator.actionscript.3\\\"},\\\"class\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\s+|;)(\\\\\\\\b(dynamic|final|abstract)\\\\\\\\b\\\\\\\\s+)?(\\\\\\\\b(internal|public)\\\\\\\\b\\\\\\\\s+)?(\\\\\\\\b(dynamic|final|abstract)\\\\\\\\b\\\\\\\\s+)?(?=\\\\\\\\bclass\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.actionscript.3\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.modifier.actionscript.3\\\"},\\\"7\\\":{\\\"name\\\":\\\"storage.modifier.actionscript.3\\\"}},\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"meta.class.actionscript.3\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class_declaration\\\"},{\\\"include\\\":\\\"#declaration_code_block\\\"},{\\\"include\\\":\\\"#metadata\\\"},{\\\"include\\\":\\\"#method\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#regexp\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#primitive_types\\\"},{\\\"include\\\":\\\"#primitive_error_types\\\"},{\\\"include\\\":\\\"#dynamic_type\\\"},{\\\"include\\\":\\\"#language_constants\\\"},{\\\"include\\\":\\\"#language_variables\\\"},{\\\"include\\\":\\\"#other_operators\\\"},{\\\"include\\\":\\\"#other_keywords\\\"},{\\\"include\\\":\\\"#use_namespace\\\"},{\\\"include\\\":\\\"#guess_type\\\"},{\\\"include\\\":\\\"#guess_constant\\\"},{\\\"include\\\":\\\"#arithmetic_operators\\\"},{\\\"include\\\":\\\"#array_access_operators\\\"},{\\\"include\\\":\\\"#vector_creation_operators\\\"},{\\\"include\\\":\\\"#variable_declaration\\\"},{\\\"include\\\":\\\"#object_literal\\\"},{\\\"include\\\":\\\"#conditional_compilation\\\"},{\\\"include\\\":\\\"#primitive_functions\\\"},{\\\"include\\\":\\\"#function_call\\\"}]},\\\"class_declaration\\\":{\\\"begin\\\":\\\"\\\\\\\\b(class)\\\\\\\\b\\\\\\\\s+([$.0-9A-Z_a-z]+|\\\\\\\\*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.actionscript.3\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.class.actionscript.3\\\"}},\\\"end\\\":\\\"\\\\\\\\{\\\",\\\"name\\\":\\\"meta.class_declaration.actionscript.3\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#extends\\\"},{\\\"include\\\":\\\"#implements\\\"},{\\\"include\\\":\\\"#comments\\\"}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\\\\\\*(?!/)\\\",\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.documentation.actionscript.3\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"@(copy|default|eventType|example|exampleText|includeExample|inheritDoc|internal|param|private|return|see|since|throws)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.documentation.actionscript.3.asdoc\\\"}]},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.actionscript.3\\\"},{\\\"match\\\":\\\"//.*\\\",\\\"name\\\":\\\"comment.line.actionscript.3\\\"}]},\\\"conditional_compilation\\\":{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"constant.other.actionscript.3\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.other.actionscript.3\\\"}},\\\"match\\\":\\\"(^|\\\\\\\\s+|;)\\\\\\\\b(\\\\\\\\w+)\\\\\\\\b::\\\\\\\\b(\\\\\\\\w+)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.conditional.actionscript.3\\\"},\\\"control_keywords\\\":{\\\"match\\\":\\\"\\\\\\\\b(if|else|do|while|for|each|continue|return|switch|case|default|break|try|catch|finally|throw|with)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.actionscript.3\\\"},\\\"declaration_code_block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"meta.code_block.actionscript.3\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method\\\"},{\\\"include\\\":\\\"#variable_declaration\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#regexp\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#primitive_types\\\"},{\\\"include\\\":\\\"#primitive_error_types\\\"},{\\\"include\\\":\\\"#dynamic_type\\\"},{\\\"include\\\":\\\"#language_constants\\\"},{\\\"include\\\":\\\"#language_variables\\\"},{\\\"include\\\":\\\"#guess_type\\\"},{\\\"include\\\":\\\"#guess_constant\\\"},{\\\"include\\\":\\\"#other_operators\\\"},{\\\"include\\\":\\\"#arithmetic_operators\\\"},{\\\"include\\\":\\\"#logical_operators\\\"},{\\\"include\\\":\\\"#array_access_operators\\\"},{\\\"include\\\":\\\"#vector_creation_operators\\\"},{\\\"include\\\":\\\"#control_keywords\\\"},{\\\"include\\\":\\\"#other_keywords\\\"},{\\\"include\\\":\\\"#use_namespace\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"include\\\":\\\"#import\\\"},{\\\"include\\\":\\\"#primitive_functions\\\"},{\\\"include\\\":\\\"#function_call\\\"}]},\\\"dynamic_type\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.actionscript.3\\\"}},\\\"match\\\":\\\"(?<=:)\\\\\\\\s*(\\\\\\\\*)\\\"},\\\"escapes\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(x\\\\\\\\h{2}|[012][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)\\\",\\\"name\\\":\\\"constant.character.escape.actionscript.3\\\"},\\\"extends\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.actionscript.3\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.other.inherited-class.actionscript.3\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.other.inherited-class.actionscript.3\\\"}},\\\"match\\\":\\\"\\\\\\\\b(extends)\\\\\\\\b\\\\\\\\s+([$.0-9A-Z_a-z]+)\\\\\\\\s*(?:,\\\\\\\\s*([$.0-9A-Z_a-z]+))*\\\\\\\\s*\\\",\\\"name\\\":\\\"meta.extends.actionscript.3\\\"},\\\"function_arguments\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"meta.function_arguments.actionscript.3\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameters\\\"},{\\\"include\\\":\\\"#comments\\\"}]},\\\"function_call\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.actionscript.3\\\"}},\\\"match\\\":\\\"\\\\\\\\b([$0-9A-Z_a-z]+)(?=\\\\\\\\s*\\\\\\\\()\\\"},\\\"functions\\\":{\\\"begin\\\":\\\"\\\\\\\\b(function)\\\\\\\\b(?:\\\\\\\\s+\\\\\\\\b([gs]et)\\\\\\\\b\\\\\\\\s+)?\\\\\\\\s*([$0-9A-Z_a-z]+\\\\\\\\b)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.actionscript.3\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.actionscript.3\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.actionscript.3\\\"}},\\\"end\\\":\\\"($|;|(?=\\\\\\\\{))\\\",\\\"name\\\":\\\"meta.function.actionscript.3\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_arguments\\\"},{\\\"include\\\":\\\"#return_type\\\"},{\\\"include\\\":\\\"#comments\\\"}]},\\\"guess_constant\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.other.actionscript.3\\\"}},\\\"match\\\":\\\"\\\\\\\\b([$A-Z][0-9A-Z_]+)\\\\\\\\b\\\"},\\\"guess_type\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.actionscript.3\\\"}},\\\"match\\\":\\\"\\\\\\\\b((?:[$0-9A-Z_a-z]+\\\\\\\\.)*[A-Z][0-9A-Z]*[a-z]+[$0-9A-Z_a-z]*)\\\\\\\\b\\\"},\\\"implements\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.actionscript.3\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.other.inherited-class.actionscript.3\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.other.inherited-class.actionscript.3\\\"}},\\\"match\\\":\\\"\\\\\\\\b(implements)\\\\\\\\b\\\\\\\\s+([$.0-9A-Z_a-z]+)\\\\\\\\s*(?:,\\\\\\\\s*([$.0-9A-Z_a-z]+))*\\\\\\\\s*\\\",\\\"name\\\":\\\"meta.implements.actionscript.3\\\"},\\\"import\\\":{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.control.import.actionscript.3\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.type.actionscript.3\\\"}},\\\"match\\\":\\\"(^|\\\\\\\\s+|;)\\\\\\\\b(import)\\\\\\\\b\\\\\\\\s+([$.0-9A-Z_a-z]+(?:\\\\\\\\.\\\\\\\\*)?)\\\\\\\\s*(?=;|$)\\\",\\\"name\\\":\\\"meta.import.actionscript.3\\\"},\\\"interface\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\s+|;)(\\\\\\\\b(internal|public)\\\\\\\\b\\\\\\\\s+)?(?=\\\\\\\\binterface\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.actionscript.3\\\"}},\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"meta.interface.actionscript.3\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interface_declaration\\\"},{\\\"include\\\":\\\"#metadata\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"include\\\":\\\"#comments\\\"}]},\\\"interface_declaration\\\":{\\\"begin\\\":\\\"\\\\\\\\b(interface)\\\\\\\\b\\\\\\\\s+([$.0-9A-Z_a-z]+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.interface.actionscript.3\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.class.actionscript.3\\\"}},\\\"end\\\":\\\"\\\\\\\\{\\\",\\\"name\\\":\\\"meta.class_declaration.actionscript.3\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#extends\\\"},{\\\"include\\\":\\\"#comments\\\"}]},\\\"language_constants\\\":{\\\"match\\\":\\\"\\\\\\\\b(true|false|null|Infinity|-Infinity|NaN|undefined)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.actionscript.3\\\"},\\\"language_variables\\\":{\\\"match\\\":\\\"\\\\\\\\b(super|this|arguments)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.actionscript.3\\\"},\\\"local_code_block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"meta.code_block.actionscript.3\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#local_code_block\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#regexp\\\"},{\\\"include\\\":\\\"#variable_declaration\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#primitive_types\\\"},{\\\"include\\\":\\\"#primitive_error_types\\\"},{\\\"include\\\":\\\"#dynamic_type\\\"},{\\\"include\\\":\\\"#language_constants\\\"},{\\\"include\\\":\\\"#language_variables\\\"},{\\\"include\\\":\\\"#guess_type\\\"},{\\\"include\\\":\\\"#guess_constant\\\"},{\\\"include\\\":\\\"#other_operators\\\"},{\\\"include\\\":\\\"#arithmetic_operators\\\"},{\\\"include\\\":\\\"#logical_operators\\\"},{\\\"include\\\":\\\"#array_access_operators\\\"},{\\\"include\\\":\\\"#vector_creation_operators\\\"},{\\\"include\\\":\\\"#control_keywords\\\"},{\\\"include\\\":\\\"#other_keywords\\\"},{\\\"include\\\":\\\"#use_namespace\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"include\\\":\\\"#import\\\"},{\\\"include\\\":\\\"#primitive_functions\\\"},{\\\"include\\\":\\\"#function_call\\\"}]},\\\"logical_operators\\\":{\\\"match\\\":\\\"([!\\\\\\\\&<>?^|~])\\\",\\\"name\\\":\\\"keyword.operator.actionscript.3\\\"},\\\"metadata\\\":{\\\"begin\\\":\\\"(?<=(?:^|[;{}]|\\\\\\\\*/)\\\\\\\\s*)\\\\\\\\[\\\\\\\\s*\\\\\\\\b([$A-Z_a-z][$0-9A-Z_a-z]+)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.actionscript.3\\\"}},\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"meta.metadata_info.actionscript.3\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#metadata_info\\\"}]},\\\"metadata_info\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#strings\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.actionscript.3\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.actionscript.3\\\"}},\\\"match\\\":\\\"(\\\\\\\\w+)\\\\\\\\s*(=)\\\"}]},\\\"method\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\s+)((\\\\\\\\w+)\\\\\\\\s+)?((\\\\\\\\w+)\\\\\\\\s+)?((\\\\\\\\w+)\\\\\\\\s+)?((\\\\\\\\w+)\\\\\\\\s+)?(?=\\\\\\\\bfunction\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.actionscript.3\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.modifier.actionscript.3\\\"},\\\"7\\\":{\\\"name\\\":\\\"storage.modifier.actionscript.3\\\"},\\\"8\\\":{\\\"name\\\":\\\"storage.modifier.actionscript.3\\\"}},\\\"end\\\":\\\"(?<=([;}]))\\\",\\\"name\\\":\\\"meta.method.actionscript.3\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#functions\\\"},{\\\"include\\\":\\\"#local_code_block\\\"}]},\\\"mxml\\\":{\\\"begin\\\":\\\"<!\\\\\\\\[CDATA\\\\\\\\[\\\",\\\"end\\\":\\\"]]>\\\",\\\"name\\\":\\\"meta.cdata.actionscript.3\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#import\\\"},{\\\"include\\\":\\\"#metadata\\\"},{\\\"include\\\":\\\"#class\\\"},{\\\"include\\\":\\\"#namespace_declaration\\\"},{\\\"include\\\":\\\"#use_namespace\\\"},{\\\"include\\\":\\\"#class_declaration\\\"},{\\\"include\\\":\\\"#method\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#regexp\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#primitive_types\\\"},{\\\"include\\\":\\\"#primitive_error_types\\\"},{\\\"include\\\":\\\"#dynamic_type\\\"},{\\\"include\\\":\\\"#language_constants\\\"},{\\\"include\\\":\\\"#language_variables\\\"},{\\\"include\\\":\\\"#other_keywords\\\"},{\\\"include\\\":\\\"#guess_type\\\"},{\\\"include\\\":\\\"#guess_constant\\\"},{\\\"include\\\":\\\"#other_operators\\\"},{\\\"include\\\":\\\"#arithmetic_operators\\\"},{\\\"include\\\":\\\"#array_access_operators\\\"},{\\\"include\\\":\\\"#vector_creation_operators\\\"},{\\\"include\\\":\\\"#variable_declaration\\\"},{\\\"include\\\":\\\"#primitive_functions\\\"},{\\\"include\\\":\\\"#function_call\\\"}]},\\\"namespace_declaration\\\":{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.actionscript.3\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.actionscript.3\\\"}},\\\"match\\\":\\\"((\\\\\\\\w+)\\\\\\\\s+)?(namespace)\\\\\\\\s+[$0-9A-Z_a-z]+\\\",\\\"name\\\":\\\"meta.namespace_declaration.actionscript.3\\\"},\\\"numbers\\\":{\\\"match\\\":\\\"\\\\\\\\b((0([Xx])\\\\\\\\h*)|(([0-9]+\\\\\\\\.?[0-9]*)|(\\\\\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([Ll]|UL|ul|[FUfu])?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.actionscript.3\\\"},\\\"object_literal\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"meta.object_literal.actionscript.3\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object_literal\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#regexp\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#primitive_types\\\"},{\\\"include\\\":\\\"#primitive_error_types\\\"},{\\\"include\\\":\\\"#dynamic_type\\\"},{\\\"include\\\":\\\"#language_constants\\\"},{\\\"include\\\":\\\"#language_variables\\\"},{\\\"include\\\":\\\"#guess_type\\\"},{\\\"include\\\":\\\"#guess_constant\\\"},{\\\"include\\\":\\\"#array_access_operators\\\"},{\\\"include\\\":\\\"#vector_creation_operators\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"include\\\":\\\"#primitive_functions\\\"},{\\\"include\\\":\\\"#function_call\\\"}]},\\\"other_keywords\\\":{\\\"match\\\":\\\"\\\\\\\\b(as|delete|in|instanceof|is|native|new|to|typeof)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.actionscript.3\\\"},\\\"other_operators\\\":{\\\"match\\\":\\\"([.=])\\\",\\\"name\\\":\\\"keyword.operator.actionscript.3\\\"},\\\"package\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\s+)(package)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.other.actionscript.3\\\"}},\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"meta.package.actionscript.3\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#package_name\\\"},{\\\"include\\\":\\\"#variable_declaration\\\"},{\\\"include\\\":\\\"#method\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#return_type\\\"},{\\\"include\\\":\\\"#import\\\"},{\\\"include\\\":\\\"#use_namespace\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#language_constants\\\"},{\\\"include\\\":\\\"#metadata\\\"},{\\\"include\\\":\\\"#class\\\"},{\\\"include\\\":\\\"#interface\\\"},{\\\"include\\\":\\\"#namespace_declaration\\\"}]},\\\"package_name\\\":{\\\"begin\\\":\\\"(?<=package)\\\\\\\\s+([._\\\\\\\\w]*)\\\\\\\\b\\\",\\\"end\\\":\\\"\\\\\\\\{\\\",\\\"name\\\":\\\"meta.package_name.actionscript.3\\\"},\\\"parameters\\\":{\\\"begin\\\":\\\"(\\\\\\\\.\\\\\\\\.\\\\\\\\.)?\\\\\\\\s*([$A-Z_a-z][$0-9A-Z_a-z]*)(?:\\\\\\\\s*(:)\\\\\\\\s*(?:([$A-Za-z][$0-9A-Z_a-z]+(?:\\\\\\\\.[$A-Za-z][$0-9A-Z_a-z]+)*)(?:\\\\\\\\.<([$A-Za-z][$0-9A-Z_a-z]+(?:\\\\\\\\.[$A-Za-z][$0-9A-Z_a-z]+)*)>)?|(\\\\\\\\*)))?(?:\\\\\\\\s*(=))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.actionscript.3\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.actionscript.3\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.actionscript.3\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.type.actionscript.3\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.type.actionscript.3\\\"},\\\"6\\\":{\\\"name\\\":\\\"support.type.actionscript.3\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.operator.actionscript.3\\\"}},\\\"end\\\":\\\",|(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#language_constants\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#primitive_types\\\"},{\\\"include\\\":\\\"#primitive_error_types\\\"},{\\\"include\\\":\\\"#dynamic_type\\\"},{\\\"include\\\":\\\"#guess_type\\\"},{\\\"include\\\":\\\"#guess_constant\\\"}]},\\\"primitive_error_types\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.error.actionscript.3\\\"}},\\\"match\\\":\\\"\\\\\\\\b((Argument|Definition|Eval|Internal|Range|Reference|Security|Syntax|Type|URI|Verify)?Error)\\\\\\\\b\\\"},\\\"primitive_functions\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.actionscript.3\\\"}},\\\"match\\\":\\\"\\\\\\\\b(decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|escape|isFinite|isNaN|isXMLName|parseFloat|parseInt|trace|unescape)(?=\\\\\\\\s*\\\\\\\\()\\\"},\\\"primitive_types\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.builtin.actionscript.3\\\"}},\\\"match\\\":\\\"\\\\\\\\b(Array|Boolean|Class|Date|Function|int|JSON|Math|Namespace|Number|Object|QName|RegExp|String|uint|Vector|XML|XMLList|\\\\\\\\*(?<=a))\\\\\\\\b\\\"},\\\"regexp\\\":{\\\"begin\\\":\\\"(?<=[(,:=\\\\\\\\[]|^|return|&&|\\\\\\\\|\\\\\\\\||!)\\\\\\\\s*(/)(?![*+/?{}])\\\",\\\"end\\\":\\\"$|(/)[gim]*\\\",\\\"name\\\":\\\"string.regex.actionscript.3\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.actionscript.3\\\"},{\\\"match\\\":\\\"\\\\\\\\[(\\\\\\\\\\\\\\\\]|[^]])*]\\\",\\\"name\\\":\\\"constant.character.class.actionscript.3\\\"}]},\\\"return_type\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.actionscript.3\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.actionscript.3\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.type.actionscript.3\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.type.actionscript.3\\\"}},\\\"match\\\":\\\"(:)\\\\\\\\s*([$A-Za-z][$0-9A-Z_a-z]+(?:\\\\\\\\.[$A-Za-z][$0-9A-Z_a-z]+)*)(?:\\\\\\\\.<([$A-Za-z][$0-9A-Z_a-z]+(?:\\\\\\\\.[$A-Za-z][$0-9A-Z_a-z]+)*)>)?|(\\\\\\\\*)\\\"},\\\"strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"@\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.verbatim.actionscript.3\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.actionscript.3\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"end\\\":\\\"'\\\",\\\"name\\\":\\\"string.quoted.single.actionscript.3\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"}]}]},\\\"use_namespace\\\":{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.other.actionscript.3\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.actionscript.3\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.actionscript.3\\\"}},\\\"match\\\":\\\"(^|\\\\\\\\s+|;)(use\\\\\\\\s+)?(namespace)\\\\\\\\s+(\\\\\\\\w+)\\\\\\\\s*(;|$)\\\"},\\\"variable_declaration\\\":{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.actionscript.3\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.actionscript.3\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.modifier.actionscript.3\\\"},\\\"7\\\":{\\\"name\\\":\\\"storage.modifier.actionscript.3\\\"},\\\"8\\\":{\\\"name\\\":\\\"keyword.operator.actionscript.3\\\"}},\\\"match\\\":\\\"((static)\\\\\\\\s+)?((\\\\\\\\w+)\\\\\\\\s+)?((static)\\\\\\\\s+)?(const|var)\\\\\\\\s+[$0-9A-Z_a-z]+(?:\\\\\\\\s*(:))?\\\",\\\"name\\\":\\\"meta.variable_declaration.actionscript.3\\\"},\\\"vector_creation_operators\\\":{\\\"match\\\":\\\"([<>])\\\",\\\"name\\\":\\\"keyword.operator.actionscript.3\\\"}},\\\"scopeName\\\":\\\"source.actionscript.3\\\",\\\"aliases\\\":[\\\"actionscript\\\",\\\"as3\\\"]}\"))\n\nexport default [\nlang\n]\n"],"ignoreList":[0],"mappings":"AAEA,IAAAA,EAAe,CAFF,OAAO,OAAO,KAAK,MAAM,qneAA+2hB,CAGr5hB,CACA,E"}
|